For the Apple //e, it was very common to have an extended 80-column card installed which brought the machine up to 128KB of RAM via 2 banks of 64KB each. There are soft switches in the $C0xx space which allow you to specify which bank is in use.

The thing is, it seems that the built in support for additional memory was limited only to the two banks and thus going beyond 128KB was not really in the design.

How did programs access the banks beyond the 128KB limit?

  • I replaced memory chips of my Pravetz 8A (sort of //e clone) AUX card, which was also sort of 80-column clone card with higher capacity memory chips that I got from one 16-bit module computer (Izot 1036C). In this way my memory card increased from 128K to 1024K and it was fully recognized by some programs like Locksmith 6.0/6.1. Actually I had 1080K computer - 64K onboard (48K + 16K onboard implemented on Pravetz 8A, using slot 0 for ][+ compatibility) + 1024K on AUX (slot 3 address space). It should be 1088K but 8K were lost somewhere, I got over this anyway :) Basically I had more than 1 MB
    – SEGStriker
    Feb 14, 2020 at 11:08

3 Answers 3



The thing is, it seems that the built in support for additional memory was limited only to the two banks and thus going beyond 128KB was not really in the design.

Jup. It was on purpose intended to not have any banks beyond 128k.

How did programs access the banks beyond the 128KB limit?

No banks, no access mechanism needed. Third party memory cards used different schemes - like emulating language cards (as on the II+), or switching 2 KiB blocks into the I/O ROM area.

When Apple realized that the Apple III wasn't the instant success as expected, the LCA (Low Cost Apple) project, on hold for some time, was (re)started. They still believed that the III would take off eventually, so the major goal was a cost-reduced Apple II design that could extend the profitability for a year or two even though sales prices were expected to drop. While the LCA should have 64KiB (to reduce chip cost) and maybe 80 column display (which was originally a reserved feature for the professional III), its memory capabilities should stay for sure below what the Apple III offered - which started originally at 128 KiB (III+ started at 256 KiB) and was expandable to 512 KiB.

When Walt Broedner, the main designer for the LCA, came up with the idea for using a 1k RAM and bank switching to implement the 80 column display, he also realized that this was a way to expand the II series to 128 KiB without adding any cost, as the few needed gates would slip into the custom MMU (one of the two custom ASICs of the LCA, the other being the IOU) anyway. Management let them go thru as this solution wasn't in any way extendable beyond 128 KiB, thus keeping the Apple III's superiority.

At that time many third party companies offered RAM cards to expand way beyond 128k, by extending the language card logic (Saturn most prominent). This design allowed next to infinite memory (ok, in reality anything beyond 2 MiB would have needed an extended approach), and an implementation as part of the LCA wouldn't have been a big deal, but not in line with what Apple envisioned at that time.

Edit: As usual when it comes to Apple II development, Steven Weyhrich's Apple II History provides a great read, even with a Woz citation describing the mindset that lead to this rather limited bank switching scheme.

Don't get me wrong, being able to switch a large chunk of memory in at once was handy for an overlay-like program structure, but the huge bank size killed any other effect. And for data, more but smaller chunks would have been favourable.

  • 1
    Apple did similar things to the IIgs line. Keeping it slow with little memory so that it wouldn't compete with the Mac. A IIgs running at 8 MHz and 1 MiB RAM would blow the doors of the original Mac. :-)
    – cbmeeks
    Sep 7, 2017 at 18:01
  • That should have been "off" not "of". :-/
    – cbmeeks
    Sep 7, 2017 at 18:11
  • Now, the GS memory map was from the begining on designed to have up to 8MiB of RAM. Third party cards offered up to 12 MiB. And quite frankly, a 2.8 MHz IIgs did run circles aroudn most Macs at the time :)) Also, unlike the 68k with it'S rather long memory cycles, the IIgs did need 100ns RAMs, as the 65816, like the 6502 does only utilize half of a bus cycle for access, thus needing twice as fast memory.
    – Raffzahn
    Sep 7, 2017 at 18:12
  • Yeah, the IIgs was such an underrated computer. The 65C816 (or even the non-CMOS 65816) could address up to 16 MiB of RAM without any special tricks in hardware. It has a 24bit multiplexed address bus (8 bits shared from data bus). Plus, it can run at 14 MHz without overclocking. Imagine if Apple had embraced that. 4096 colors. 32 channel sound. The Mac would have been a footnote like the Lisa and Apple III.
    – cbmeeks
    Sep 7, 2017 at 18:27
  • 2
    @cbmeeks Well, with 120ns RAM a 6502 or 816 can only run at 4 MHz at max, due the access timing used. The 68k has a way slower timing in relation to processing speed. Also the 6502 ISA is designed toward cloesed, embedded systems. A usage as PC was never intended and is rather cumbersome (read slow). The 65816 didn't realy change this. We need to be objective here, no matter how much I love the 6502.
    – Raffzahn
    Sep 8, 2017 at 13:23

Depends on the type of card. By the late '80s, two main standards had emerged.

First was the RamWorks-type card, named for the first product of its type, the RamWorks from Applied Engineering. This installed in the aux slot and behaved exactly like multiple extended 80-column cards, with an additional softswitch that let you choose which 64K bank you wanted to address in the usual extended-80-column-card way. Numerous clones copied AE's technique and there were compatible cards for the Apple IIc as well (which you installed by pulling the CPU and MMU chips, plugging the memory card into the empty sockets, and then installing the CPU and MMU on the memory card... not for the faint of heart). You could install a driver that would let ProDOS use this memory as a RAM disk, and most such cards included utilities to let you split the memory on the card between a RAM disk and direct use (e.g. by AppleWorks). The Laser 128 EX had its extended memory configured in RamWorks fashion.

The other major type was the Slinky-type card, which was the code name for Apple's own memory card. This could be installed in any slot and was compatible with the II+ as well as the IIe and IIgs, where multiple such cards could be installed. It was seen as a SmartPort device by ProDOS and was automatically configured as a RAM disk, though it could also be accessed directly, for example by AppleWorks. The Slinky did not use bank-switching but rather a peephole technique. Its softswitches included a handful to set the address of a byte of memory on the card you were interested in, and then you would read from or write to a different softswitch to access that byte. Reading or writing the card automatically advanced the "peephole" to the next byte, which meant that transferring memory between the card and main memory could actually be faster than transferring it between two locations in main memory! But you couldn't actually run code on the card, like you could with a RamWorks-style card. Other manufacturers (including Applied Engineering) offered clones of this card and Apple offered a revision of the Apple IIc motherboard that supported a Slinky-style card. (With a little creative soldering and case modification, you could actually install both a RamWorks-style card on top of the IIc logic board, and a Slinky card underneath!) The extended memory in the Apple IIc+ was configured as a Slinky card.

Before the IIe came out there were numerous other proprietary schemes which I could not tell you much about.


Accessing the additional banks was simply a matter of accessing the appropriate soft-switch to enable a 64kb window in the auxiliary bank, and then using it directly. After selecting the window, the interface is the same as for regular auxiliary access, including the language-card bank-switching mechanism to reach all 64kb.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.