9

The original Atari 800 could have up to 48K of RAM installed through the use of memory cards. When the 800XL came out, it was now possible to have up to 64K of RAM by disabling the BASIC ROM.

After reading this response about bank switching in the Atari 8-bit era, it led me to dig a bit and realize that the 800XL bank switched the BASIC ROM in or out of the "left and right cartridge" space of RAM (each "side" was 8K thus 16K total). On the original Atari 400/800, BASIC was not a built in ROM but rather a (left) cartridge you would put in. So when you booted an 800XL with BASIC disabled, it was equivalent to booting a 400/800 without the BASIC cartridge.

So given that you could boot an 800 without the BASIC cartridge, I'm wondering if there was ever a RAM card (either expansion under the hood or as a "left and right cartridge") that allowed you to have that extra usable 16K in an Atari 800 when not using BASIC?

I'm guessing it would come down to either the 800's RAM card cage not having enough lines or the cartridge ports not having a R/W signal, but either way - it something I'd never thought of in the last 40 years :-)

1
  • 1
    IIRC, the cartridges in the 800 actually overlap/replace a portion of the 48kB RAM area. So, there really isn't any area freed when the cart is removed.
    – Brian H
    Jul 19, 2023 at 19:02

2 Answers 2

6

It seems worth addressing the question in your title,

Was it possible to give an Atari 800 (not XL) 64KB of RAM?

Technically, it is possible to give a plain Atari 800 64KiB of RAM, and in fact quite a bit more than that. However it isn’t possible to map 64KiB of RAM into the 6502’s address space on the Atari 800, because as Raffzahn explains, the OS ROM can’t be “unmapped”.

One early example of a 64KiB expansion is the Mosaic 64K RAM card (also available for the Atari 400). This replaces all the memory in the 800, and requires some soldering (in the version described in the review). In the absence of cartridges, this provides 52KiB of contiguous RAM in the 6502’s address space; the top 4KiB are bank-switched to provide access to the full 64KiB of RAM. Three such RAM cards can be installed in an 800, providing 192KiB of RAM in total (most of which is only accessible as 4KiB pages through bank-switching). When a cartridge is present, the 4KiB above 48KiB still serve as the page frame.

Other similar systems provided even more memory; the somewhat popular Axlon range could (theoretically) support up to 4128KiB of RAM, 4080KiB bank-switched in addition to the base 48KiB. This modern implementation provides 1056KiB using the first two memory slots, with no hardware modification. See the Atari memory upgrade FAQ for more examples.

The original Atari 800 could have up to 48K of RAM installed through the use of memory cards. When the 800XL came out, it was now possible to have up to 64K of RAM by disabling the BASIC ROM.

This isn’t quite accurate. The Atari 800 could have 48KiB of RAM installed using official Atari hardware, but the BASIC cartridge was mapped over the top 8KiB of that RAM, so an Atari 800 with BASIC only had 40KiB of usable RAM. On the XL, the full 64KiB was made available by disabling both BASIC and the OS ROMs.

11
  • All true. Adding a bankable memory is even possible without any hardware modification. A left cartridge can overlap $8000..$BFFF as two 8 KiB regions thus it can as well map in multiples there of. RAM slot#3 (back) adds even more as it provides selection for I/O regions $D6xx and $D7xx, perfect to be used for memory management hardware. That way next to an infinit amount of memory can be mapped into S4 or S5. But all of that isn't what the OP was looking for - he expected to find a C64 like scheme where upper ROM (he simply calls BASIC) can be disabled at whole.
    – Raffzahn
    Jul 20, 2023 at 10:57
  • 3
    Why in Holy Heck would you add 4MB of RAM to an 8-bit Atari?
    – RonJohn
    Jul 20, 2023 at 16:04
  • 2
    @RonJohn for the lulz
    – user213769
    Jul 20, 2023 at 16:39
  • 1
    @spamove there's a substantive difference between building a computer literally from scratch (or building Babbage's Analytical Engine) "for science" and shoving 4MB RAM in an Atari 800.
    – RonJohn
    Jul 20, 2023 at 16:50
  • 1
    @spamove we (the general public) learn something when a nerd builds a giant computer with a giant LED display, or builds an adder from dominoes.
    – RonJohn
    Jul 20, 2023 at 19:12
7

TL;DR: NO.

Memory structure of the original 400/800 was based on 8 KiB chunks managed by 8 select lines, S0..S7:

Sel Addr Usage
S0 $0000..$1FFF 8 KiB RAM
S1 $2000..$3FFF 8 KiB RAM
S2 $4000..$5FFF 8 KiB RAM (only 800)
S3 $6000..$7FFF 8 KiB RAM (only 800)
S4 $8000..$9FFF 8 KiB RAM or L or R cart
S5 $A000..$BFFF 8 KiB RAM or L cart (BASIC)
S6 $C000..$DFFF 8 KiB 6 KiB I/O + 2 KiB OS-ROM at $D800
S7 $E000..$FFFF 8 KiB OS-ROM

The map shows that cartridges and thus BASIC wasn't somewhere in the upper 16 KiB ($C000..$FFFF) but parallel to RAM at $A000..$BFFF, managed by the S4/S5 select signals. Only that area could be changed between RAM and ROM. The OS region (S6/S7) was always mapped in.

A 48 KiB Atari 800 with BASIC had 'only' 40 KiB of continuous RAM available, while BAIC plugged had 48 KiB, but still 16 KiB of I/O and OS ROM fixed at $C000..$FFFF.

While the cartridge slot did carry R/W, allowing to have RAM or memory mapped I/O (*1), it did not carry the upper two address bits, so any decoding was always restricted to a 16 KiB block. Neither were disable signals provided to suppress selection of the top 16 KiB.

Deselecting the top 16 KiB address space was only added with the XL line.


*1 - I/O was the reason to add R/W, as it allowed to use the slot not just for RAM but for adding new/other devices as well - after all, there was no expansion bus on either machine. That was only added with the XL series.

2
  • Given that you can still buy Axlon-compatible plug-in memory expansion cards for the 800 that boost it to 1056 kBytes, this doesn't seem to be the appropriate answer. You can't "fill" the full address space of the 6502 with RAM, that's true, however.
    – tofro
    Jul 20, 2023 at 6:35
  • 2
    @tofro and that's what the OP asks for, not at least marked by comparing it with the XL's ability "by disabling the BASIC ROM". He obviously is still learning about the 800 series, visible by not knowing that BASIC is layered over RAM. Not distinguishing between BASIC and OS ROM is thus not surprising and should not be used to make a pedantic answer that won't explain him to understand what he's researching.
    – Raffzahn
    Jul 20, 2023 at 10:43

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .