Jon Relay's Apple II Info Archives

Descriptions of Memory Areas

All Apple II Computers

$0000 - $00FF (0 - 255): Zero Page
$0100 - $01FF (256 - 511): 6502 Processor Stack
$0200 - $02FF (512 - 767): GETLN Line 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 or Applesoft Program and Variables
$0C00 - $1FFF (3072 - 8191): Free Space for Machine Language, Shapes, etc.
(might be overwritten if you use a lot of variables or BASIC program is long)
$2000 - $3FFF (8192 - 16383): High Resolution Graphics Page 1
$4000 - $5FFF (16384 - 24575): High Resolution Graphics Page 2
$6000 - $95FF (24576 - 38399): Applesoft String Data
(may have a little space free)
(some BASIC programs move the variables all the way up to $4000 or even $6000)

DOS 3.2 / 3.3 and Custom DOSes

$9600 - $9CFF (38400 - 40191): Disk I/O Buffers
$9D00 - $BFFF (40192 - 49151): DOS Routines
(memory below $9600 can also be used for disk buffers via MAXFILES command)

ProDOS

$9600 - $99FF (38400 - 39423): BASIC.SYSTEM I/O Buffers
$9A00 - $BEFF (39424 - 48895): Currently running SYS file
$BF00 - $BFFF (48896 - 49151): ProDOS Kernel Global Page
(memory below $9600 can also be used for disk buffers by opening more files)

All Apple II Computers

$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

Apple IIe

$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

Apple IIc and sometimes IIgs

$C100 - $C2FF (49408 - 49919): Serial Firmware
$C300 - $C3FF (49920 - 50175): 80-Column Firmware
$C400 - $C4FF (50176 - 50431): Mouse Firmware
$C500 - $C6FF (50432 - 50943): Floppy Disk Drive Firmware
$C700 - $C7FF (50944 - 51199): AppleTalk Firmware
$C800 - $CFFF (51200 - 53247): Extended Memory for Periph Card

Apple IIe, IIc, IIgs, and II+ with Applesoft ROM Language Card

$D000 - $F7FF (53248 - 63487): Applesoft Interpreter
$F800 - $FFFF (63488 - 65535): System Monitor

Apple II and II+ with Integer ROM Language Card

$D000 - $D7FF (53248 - 55040): Programmer's Aid #1 ROM
$D800 - $DFFF (55041 - 57343): Empty (No RAM or ROM)
$E000 - $F7FF (57344 - 63487): Integer BASIC / Mini-Assembler / Sweet16
$F800 - $FFFF (63488 - 65535): System Monitor

Apple IIe, IIc, and IIgs

$D000 - $DFFF (53248 - 57343): Bank-Switched RAM (2 Banks RAM, 1 Bank ROM)
$E000 - $FFFF (57344 - 65535): Bank-Switched RAM (1 Bank RAM, 1 Bank ROM)

Return to Index