The Atari 800 is still my all-time
favorite computer and I have several of them. There is something pure
about having complete control of a computer.
So one weekend a very long
time ago, I designed a 512K RAM Card with battery backup for the Atari
800.
How it works...
Well the Atari 800 uses an 8-bit 6502 as it's main processor, so it can only access a total of 64K
at one time. Normally in an Atari 800, the lower 48K is RAM ($0000- $BFFF) and the upper 16K is ROM space($C000-$FFFF).
The Atari 800 512K RAM Card uses the second 16K block of memory as a window to thirty two 16K memory banks. This 16K window ($4000-$7FFF) is great to use because it is well above RAM used for Atari OS & DOS and well below the RAM used for screen memory & display lists.
When the Atari 800 is turned on the RAM Bank #31 (0-31) is used as the normal 16K memory board. The other 16K RAM banks can be used for holding DOS menus, RAM Disks, etc...
You can easily select the desired RAM bank by writing any value
to ROM memory locations $E000-$E01F (57344-57375 (Dec)). For example to select RAM Bank #2 (Banks # from
0-31) in BASIC then type the command:
Poke 57346,0
The Atari 512K RAM Card uses a 512K Static RAM chip which has
a very low-power data retention mode. The on-board Lithium battery (CR2032) will preserve the contents
of RAM banks #0-30 when the computer is turned off. The OS wipes RAM bank #31 when the computer starts
up, this bank is used to emulate the normal 16K memory board.