Operating system zero-page. The entire first half of page zero is
reserved for the operating system.
Free zero-page. The top half of page zero is free if BASIC is
disabled. BASIC uses all but $CB-$D1. The floating point math
routines use $D4-$FF. If the floating point arithmetic package is not
used this memory is free.
This is the 6502 stack. The stack pointer initialized to $1FF and
moves downward as the stack is filled.
This area is used for operating system database variables. Parts
which are not used in some particular programs, such as the cassette
buffer or printer buffer, may then be used for other purposes. See
the O.S. equate listing for these locations.
$480-$57D ($480-$6FF if no floating point)
This is called the user work space. It is free to be used by
programs. If the floating point arithmetic package is not used the
user work space extends to $6FF. This area is used by BASIC.
This area is used by the floating point arithmetic package. It is
free if the package is not used.
Atari has solemnly sworn never to put anything in this page of
Page 7-the screen region
This is called the boot region. Most machine language programs which
don't use DOS load at this address. DOS extends from $700-$1CFB.
The address pointed to by the O.S. database variable MEMLO [$02E7,2
(743)] is the first byte of free memory. This pointer is usually
changed by any program's initialization routine. For example, upon
power-up, MEMLO points to $700. When DOS loads in, DOS changes MEMLO
to point to $2A80. If an AUTORUN.SYS program then loads in just above
DOS, such as DISKIO, it will usually change MEMLO to point above
itself. One important reason for this is to protect the program from
BASIC. BASIC uses memory starting at MEMLO.
MEMTOP [$2E5,2 (741)] is set by the O.S. whenever a graphics mode is
entered. The graphics region is at the very top of ram and extends
downward. The address MEMTOP points to depends on how much memory the
screen region uses.
APPMHI [$0E,2 (14)] should be set by any program to point to the
highest address required by the program. If the O.S. cannot set up a
screen without going below APPMHI it will return a
The cartridge slots
This is the beginning of the 8K bytes used by the right cartridge slot
of the 800. This is also where 16K cartridges begin. If there is no
cartridge here it is ram.
This is the beginning of the left cartridge of the 800 or the only
cartridge slot on all other models. This is where the BASIC ROM
resides in the XL/XE models. This area is RAM is there is no
cartridge or BASIC is disabled on XL/XE models.
above the cartridges
This area is empty on the 800. Sometimes special ROM chips, such as
Omnimon are wired in here. On the XL/XE models $C000-C7FF is free ram
if there are no cartridges. On XL/XE models, the O.S. ROM starts at
This area is taken up by the hardware chips. The chips actually take
only a fraction of this space. If these addresses are further decoded
there is space for many, many more hardware chips. For example, The
PIA chip uses 256 bytes of memory but needs only 4 bytes. There is
room for 64 PIA chips in this reserved memory.
This is the location of the ATASCII character set.
This is the operating system ROM
These last 8 bytes contain the addresses of the interrupt vectors.
Upon power up the 6502 gets a reset pulse and looks up the reset