[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Jon Relay's Apple II Info Archives: Memory Area Summary
Jon Bettencourt <jonINTERNETrelayCHAT@napaVALLEYnet.CLARInet> wrote:
> $0200 - $02FF (512 - 767): Applesoft BASIC Input Buffer
This is the input buffer for more than just Applesoft BASIC. It is
actually the buffer for the monitor's GETLN subroutine, which is used by
both Applesoft and Integer BASIC as well as the monitor itself (and the
Mini-Assembler). There are other programs which use this routine as
well.
> $9600 - $9CFF (38400 - 40191): DOS and ProDOS Disk I/O Buffers
Both DOS 3.3 and ProDOS can use memory below $9600 for buffers. This is
controlled by the MAXFILES command in DOS, and by the number of open
files in ProDOS (actually BASIC.SYSTEM, not the ProDOS kernel).
The BASIC.SYSTEM I/O buffers end at $99FF, with code starting at $9A00.
> $9D00 - $BFFF (40192 - 49151): DOS or ProDOS Routines
$9A00 - $BEFF Is BASIC.SYSTEM (not present if you are writing a ProDOS
SYS application). $BF00-$BFFF is the ProDOS kernel's global page.
> $C100 - $C7FF (49408 - 51199): Peripheral Card Memory
> $C800 - $CFFF (51200 - 53247): Extended Memory for Peripheral Card in Use
> -- or --
> $C100 - $C2FF (49408 - 49919): Extensions to System Monitor
> $C300 - $C3FF (49920 - 50175): 80-Column Display Routines
> $C400 - $C7FF (50176 - 51199): Self-Test Routines
> $C800 - $CFFF (51200 - 53247): More 80-Column Display Routines
These descriptions apply mainly to the IIe. The IIc may have a slightly
different arrangement, and I'm sure the IIgs does. None of this exists
on the ][ or ][+.
> $D000 - $F7FF (53248 - 63487): Applesoft Interpreter
> $F800 - $FFFF (63488 - 65535): System Monitor
Also note $E000-$F7FF are Integer BASIC and miscellaneous support
routines (including the Mini-Assembler and Sweet-16 interpreter) on an
original Apple ][ (or a ][+ with an Integer BASIC ROM card, or under
Integer BASIC loaded into RAM in DOS 3.3). $D000-$D7FF is usually the
"Programmer's Aid #1" ROM in this configuration. I'm not sure what goes
in $D800-$DFFF in the RAM-based INTBASIC. (It is usually an empty
socket in a ][ or an Integer BASIC ROM card.)
> $D000 - $DFFF (53248 - 57343): Bank-Switched RAM
> $E000 - $FFFF (57344 - 65535): More RAM
The whole $D000-$FFFF area is called "Bank-switched RAM" in the IIe and
later machines. There are two 4K banks at $D000-$DFFF, and a further 8K
shared between the banks at $E000-$FFFF.
In the ][ or ][+, this memory area only exists if a "language card" is
installed in slot 0. We old timers tend to call this area the "language
card" even in the IIe and later machines.
--
David Empson
dempson@actrix.gen.nz
Snail mail: P O Box 27-103, Wellington, New Zealand