[comp.sys.atari.8bit] BASIC and RAM

larryw@dasys1.UUCP (Winston Lawrence) (08/24/88)

se excuse this repost. The first one is garbled/missing lines
for some reason, and I don't know how to 'kill' something after its
posted.
.
> From lackey@Alliant.COM (Stan Lackey)
>It is my understanding that the old 800 has 8K of RAM which is somehow
>switched out when a cartridge (esp. the BASIC cartridge) is installed.
>Is there any way to get temporary access to that RAM while the cartridge
>is plugged in?
.
I don't have my manuals in front of me, but basically the answer is no.
The standard 800 has four slots one, the slot closest to the back of the
800 is for the operating system rom. The other three slots allowed  3-16
ram carts to be inserted, giving the 800 its 48k ram complement.
The operating system rom occupied 10k, plus 2k of ram and about 4k
of the address space unused (and unuseable by Atari hardware anyway.)
from about C000 to CFFF. The left cartridge slot (where BASIC e.t.c
would go), disabled RAM from A000 to BFFF if I remember correctly.
The right cartridge slot (if used) disabled ram from 8000 to 9FFF.
The ram was actually disabled by the insertion of the cartridge so
that the rom cartridges could use this address space.
  A company named Axlon came out with a scheme originally for the
Apple I believe and then for the Atari 800 to allow bank selection.
A 16k page from 6000-7FFF I think was bank selectable by writing
a number 0 for page 0, 1 for page 1, ----, 7, for page 7. Your
program wrote this number anywhere in the C000-CFFF range (which
as I said before was unused by the Atari O/S or hardware up to now).
Anyway 8 pages times 16k per page gave the old 800 128K of additional
memory which was used by most programs as a ramdisk. This bank
switching technique was later used by the xe/xl line to allow a
full 64k of ram to be addressed although the address used to effect
the switch has changed to an address that used to be one of the
four joystick ports on the 800. Programs which make use of the
Axlon technique do not work on the XL/XE, and programs which work
on the XL/XE technique do not work with the Axlon. Axlon was first
(for the Atari) and its a shame that Atari took a different (and
incompatible) tack later on. I found Axlon to be a very good
company producing an excellent product, when I ran into problems
writing a DOS to use the Axlon board, they sent me printed source
listings for the 'hooks' that they put into DOS 2.0 and the code
to handle the bank switching and disk emulation. Needles to say
that solved all of the problems that I had encountered.
Anyway, I hope this answers your question.


-- 
Winston Lawrence                 {allegra,philabs,cmcl2}!phri\
Big Electric Cat Public Unix           {bellcore,cmcl2}!cucard!dasys1!larryw
New York, NY, USA                               {sun}!hoptoad/