[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Apple IIe Memory Map
On Sat, 5 Nov 2005, simcop2387 wrote:
After finding a copy listing of the memory map of the Apple IIe I've begun
implementing it and all related hardware (I still don't have the core yet,
that'll take another weekend probably)
If you don't need the //e features it might be easier to start with the
][+ which is much simpler.
I've been looking at the source code to YAE and SDDApple and it would seem
this is the memory map for $C000-$C07F (i'd like to know if i have this
correct)
All the $C000-C0FF area is "softswitches", i.e., memory-mapped i/o.
$C000-$C00F Keyboard Input
$C010-$C01F Keyboard Strobe/SoftSwitches? (i need to read more on this)
The key hit appears in $C00x with its high bit set, until you hit $C01x,
which resets the high bit in $C00x.
$C020-$C02F Tape Output?
You can prolly ignore that.
$C030-$C03F Speaker Output (appears to be toggle based)
It is.
$C050-$C057 Video Routines? (clear screen, and a few others?)
Yeah, there's mode changes (lo-res, hi-res, page 1, page 2, graphics,
text, etc) there.
$C060-$C060 Tape IN?
You can prolly ignore that too.
$C061-$C067 Buttons and Paddles
$C070-$C07D (bit confused on this one) but it appears to trigger the
paddles
I'm not sure how to handle that either, except the buttons and Open
Apple/Solid Apple are mapped to the same addresses.
$C07E-$C07F would appear to be something to do with what YAE calls IOUDIS?
and possibly HiRes?
That's //e-specific stuff and you can do a ][+ without it if you want.
$C080-$C0FF appear to be related to slot cards (address>>4 & 7 gives you
the slot)
Yeah. $C09x = slot 1, $C0Ax = slot 2, etc. I think $C08x might control
the top 12K of the memory map which is switchable between RAM and ROM.
(You'll need that for Oregon Trail.)
-uso.