only 12K ($D000-$FFFF) of address space is available for 16K RAM. Using the control addresses to switch between the two 4K banks allows you to address 8K RAM with only 4K of address space.

The remainder of the RAMCard RAM ($E000-$FFFF) is directly addressable.

Control addresses are entered either in hexadecimal, for assembly language programs, or in decimal, for BASIC programs. Hexadecimal addresses begin with the dollar sign ($).

All of the hexadecimal control addresses have the form $C08x. x is any of the hexadecimal digits 0-3,8-9,A-B. The value of x determines the bank and which functions are selected. When the value of x is converted to binary, then the functions associated with the bit positions can be seen more clearly.

The hexadecimal digits 0-3,8-9,A-B convert to binary as follows:

HEX BINARY

00 0 00

10 0 01

20 0 10

30 0 11

81 0 00

91 0 01

A1 0 10

B1 0 11

Bits 0 and 1 (the two right columns of each binary number) are read together to select the functions. As you can see there are only four selections — 00, 01, 10, 11. These selections are repeated.

Bits 0 and 1 together select the following functions:

00 Selects RAMCard RAM read and RAM write-protect.

01Selects on-board ROM read. Two or more successive reads to the address write-enables RAMCard RAM.

2 3