Apple MultiRam C Computer Hardware User Manual


 
Chapter 8
AUXILIARY MEMORY MANAGEMENT
--------------------------------------------------------------------------------
The MultiRam C Card can contain up to 512K of memory. The Apple //c’s 65C02
processor can use this memory as eight banks of ordinary 64K auxiliary memory.
How to use these different memory banks from within control by machine language
routines is the subject of this chapter.
This chapter should be read by programmers who intend to write assembly language
programs using the MultiRam C Card’s memory or assembly language subroutines
that can be called by higher level languages.
SELECTING AUXILIARY MEMORY BANKS
Because the Apple’s 65C02 processor is an 8 bit processor, it can directly
address only 64K of memory. The Apple addresses the 64K memory in a standard
auxiliary bank by “hank switching” using software controlled switches. These
soft switches cause different memory areas to be switched into the address range
the Apple can read and write to and are discussed in Chapter 7.
Each of MultiRam C’s eight possible 641 memory banks can be moved into the
address area reserved for normal auxiliary memory by writing the number of the
desired 64K auxiliary bank —— $1 to $8 —— into a soft switch located at $C07X (X
is any hexadecimal number $0 to $F). The Apple then can use this memory bank as
it normally would use auxiliary memory. See “Softawitch Selection” in the
following section for more information on use of the soft switch.
MultiRam C’s eight auxiliary banks are associated with fixed RAM Bank locations
on the card. As Table 9.1 shows, Banks A and B have four 64K auxiliary memory
banks associated with each of them. Four auxiliary banks can be associated with
each RAM Bank as a set of 256K RAM chips can be placed into a RAM Bank and a set
of 256K RAM chips is the equivalent of four 64K banks.
Table 9.1 Auxiliary Memory Bank Location (Hex notation)
-------------------------------------------------------
MultiRam C MultiRam C 64K
RAM Bank Aux. Bank Number
---------- -----------------
A 1, 2. 3. 4
B 5, 6, 7, 8
-------------------------------------------------------------------------------------------------------------