💾 Archived View for mirrors.apple2.org.za › archive › ground.icaen.uiowa.edu › MiscInfo › Programmin… captured on 2024-07-09 at 03:31:09.

View Raw

More Information

⬅️ Previous capture (2023-01-29)

-=-=-=-=-=-=-


$0000 - $00FF (0 - 255): Zero Page
$0100 - $01FF (256 - 511): 6502 Processor Stack
$0200 - $02FF (512 - 767): Applesoft BASIC Input Buffer
$0300 - $03CF (768 - 975): Free Space for Machine Language, Shape Table, etc.
$03D0 - $03FF (976 - 1023): DOS, ProDOS, and Interrupt Vectors
$0400 - $07FF (1024 - 2047): Text Video Page and Peripheral Screenholes
$0800 - $0BFF (2048 - 3071): Text Video Page 2 and Applesoft Program
$0C00 - $1FFF (3072 - 8191): Free Space for Machine Language, Shape Table, etc.
$2000 - $3FFF (8192 - 16383): High Resolution Graphics Page 1
$4000 - $5FFF (16384 - 24575): High Resolution Graphics Page 2
$6000 - $95FF (24576 - 38399): Free Space for Machine Language, Shapes, etc.
$9600 - $9CFF (38400 - 40191): DOS and ProDOS Disk I/O Buffers
$9D00 - $BFFF (40192 - 49151): DOS or ProDOS Routines
$C000 - $C0FF (49152 - 49407): Soft Switches and Status Locations

$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 

$D000 - $F7FF (53248 - 63487): Applesoft Interpreter
$F800 - $FFFF (63488 - 65535): System Monitor
-- or --
$D000 - $DFFF (53248 - 57343): Bank-Switched RAM
$E000 - $FFFF (57344 - 65535): More RAM

-- 
/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/
jonrelay@napanet.net                        dimension18.cjb.net
An Apple II fanatic since 1998!     S0.5 LIS+++! Suzy+++! M1987
A Macintosh fanatic since 1996?       OM0.1 OZY++ MIL+++! M1987
An Ozy & Millie fanatic since 2000. MC1.0 CHL+++! TAM+++! M1987
"Remember, if it's not a secure web server, it's an _insecure_
web server!"                                              -- Me

 *_     Syntax Error: an error on a criminal's tax record.
   |    Bad Subscript: a criminal reading a book on a subway.
  ---   Unimplemented Trap: when a bear trap isn't set up 
 |' ,|  properly and thus does not work.
  ---   Overflow: too many ice cubes.      <Can't Restart>

          Don't forget: Tammy Day on February 15th!
Please remove capital letters from my e-mail address to respond.



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