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

Re: Expanded memory in ProDOS



Tail Kinker <tailkinker@home.com> wrote:

> Hi!  Can anyone send me some info on how to use the extended memory on
> an Apple 2e/c/GS?

It depends what sort of memory you're talking about.

There are three major types of memory expansion:

- IIe auxiliary slot, including the second 64K in a IIc and cards such
as the RamWorks.

- Standard slot RAM cards, such as Apple's ones for the IIe and IIc, and
the RamFactor.

- IIgs memory expansion slot.

All of these are accessed by the computer in completely different ways.

Auxiliary slot cards work by bank switching: most of the computers
memory is switched out and replaced with a correspondingly sized memory
area from the card.

Standard slot cards work by providing a very small window into a memory
area which is effectively outside the computer's address space.  They
can only be used by copying data in and out of normal memory.

The IIgs memory expansion slot relies on the extended addressing range
of the 65816 processor to allow direct addressing of additional RAM.


In all cases, it is very difficult to use the extended memory directly
from BASIC.  The easiest method by far is to set up the extended memory
(any of the three types) as a RAM disk, and use ProDOS commands to load
and save data in and out of them as files.

I believe there is at least one product which might be more direct help:
there is a Beagle Bros program called "Extra K" which allows you to use
128K from BASIC in a IIe, IIc or IIgs in some manner (I've never used
it).

Other than that, you are looking at having to write machine code to
support the additional memory.

If you aren't using the extended memory as a RAM disk, you need to be
aware of various conventions that have been established for allocating
memory outside the base 64K.  Some examples:

- For an auxiliary slot card, you have to locate and disable the RAM
disk driver, then your application has full control over the single
auxiliary bank (or multiple banks for a RamWorks or similar).

- I'm not sure what conventions there are for using a standard slot RAM
card as direct storage instead of a RAM disk.  The SmartPort firmware
interface is used for transferring data directly in and out of the card.

- For the IIgs (under ProDOS-8), you need to use the Memory Manager
toolset to allocate memory outside the first 128K, so that you don't
step on anything else which is using memory.  Under GS/OS, you also have
to use the Memory Manager to allocate memory in the first 128K.

-- 
David Empson
dempson@actrix.gen.nz
Snail mail: P O Box 27-103, Wellington, New Zealand