[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Extra RAM in a IIe?



mojoehand <mojoehand@gmail.com> wrote:

> OK, putting large amounts of RAM in a IIgs makes perfect sense, as GS/
> OS will use it. What use is a large RAM card (beyond the standard 64K,
> 80 Column card) in a IIe? Using it as a printer buffer is the obvious
> answer, but one that I wouldn't find personally useful.

First, some background.

There are two common types of large memory expansion card which can be
used in a IIe:

(a) Auxiliary slot

These operate by replacing auxiliary memory with multiple 64K banks,
using a register in the $C07x area to select the bank.

(b) Standard slot

These operate as a data storage device, with an three byte address
register and single byte window into a large memory buffer. The address
register is automatically incremented each time a byte is read or
written, hency the moniker "slinky".

Tradeoffs:

- Code can be executed directly from an auxiliary slot RAM card, but
code in the memory of a standard slot RAM card it must be loaded into
main/aux memory before it can be executed.

- Copying blocks of data to/from main memory is slightly faster with a
standard slot RAM card than an auxiliary slot RAM card. Copying data
between two banks of an auxiliary slot RAM card is much slower due to
needing to double-buffer everything.

- The computer can boot from a standard slot RAM card (assuming the
card's firmware is set up appropriately), but not from an auxiliary slot
RAM card.

- Memory management is somewhat trickier with an auxiliary slot RAM
card, due to the memory map being split along the lines of auxiliary
memory, with zero page/stack and the bank-switched language card area
controlled by one set of soft-switches (plus internal bank swithing in
the language card area), and the remaining 47.5 KB controlled by another
set of soft switches. Firmware memory copy routines can only deal with
the 47.5 KB area, so you typically need to have support code copied into
every bank in the auxiliary memory card to deal with it. This uses up
some memory in each bank. It isn't possible to use all of the zero page
and stack area for data storage, but most of it could be used, with
caution.

- Executing code in an auxiliary slot RAM card has some additional
complications to do with accessing the operating system and display,
since they can only be used from main memoroy.

Getting back to your question:

The main uses for large memory cards in a IIe are:

1. RAM disk. (Orders of magnitude faster than a floppy, probably faster
than anything other than a DMA-capable SCSI card at its peak
performance.)

2. Standard slot RAM cards can be used to boot the computer. If they
have memory backup they can be a persistent bootable device. Not such an
issue these days with cards like the CFFA, or if you have a SCSI card
and hard drive.

3. Applications such as AppleWorks can use a large memory card to hold
open documents or as a cache for software modules that aren't currently
in use.

4. Some applications can load additional code or data into auxiliary
slot RAM cards to execute a lot more code or deal with more data than
would fit in a 128K IIe. A standard slot card could similarly be used
for dealing with a large amount of data (preferably which was to be
accessed linearly or in moderate sized blocks).

5. Auxiliary slot RAM cards could be used by a multi-tasking system,
where each application has a 64K bank to itself.

6. Printer buffer.

-- 
David Empson
dempson@actrix.gen.nz