13

Inspired by this question about the C64, I was curious if the Apple //e (and I suppose //c and IIgs, though not sure of ][+) somehow had a similar behavior. In short, we know that the Apple ROMs start at some location ($D000, I think) and are not modifiable. On the C64, you can flip a soft switch to bank out the ROMs and instead point to RAM mapped to the same location; this works because the C64 actually has 64KB of RAM despite the 8 or 16KB of ROM installed.

I was always under the impression that the //e shipped with 64KB on the motherboard. If you couldn't bank out the ROMs, this would mean that the upper 16KB effectively was wasted, no? Or is this functionality simply what the language card was doing to support Integer/AppleSoft BASIC switching?

1 Answer 1

17

The original Apple II has up to 48K of RAM from $0000 to $BFFF and 10K of ROM between $C000 and $FFFF except for a hole between $D800 and $DFFF. You can get a language card which puts 16K of RAM under the ROM space.

The Apple IIe has a full bank of 64K of RAM, just like the Apple II with the language card installed. The 128K models have an additional 64K bank of RAM called Aux RAM. This Aux RAM comes on the 80 column card because the way they expanded the Apple II from 40 columns to 80 columns (and hi-res from 280 pixels wide to 560) was to double the screen RAM by adding the bank of Aux RAM.

This slide show has some diagrams of the Apple II, Apple II with the 16K language card, and of an Apple IIe with Aux RAM: http://www.slideshare.net/mattjenkins355/a-trip-down-memory-lane

1
  • 1
    It's shown on the linked slides but for completeness the language card (which the //e emulates) provides two 4K banks at $D000 and one 8K bank at $E000 so on a //e the whole of the 64K is available. As an aside expansion roms>256 bytes (the per slot space at $Cx00) were banked in at $C800-$CFFF with a scheme documented in the technical reference to say which slot was currently in control of the space.
    – PeterI
    Jul 20, 2016 at 10:47

You must log in to answer this question.

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