Banked RAM board

This is a banked RAM board for the Planck 6502 computer.

3D View

When active, it gives access to a bank or RAM in the $8000-$BFFF address space.

To activate, store a byte with it’s high bit set to the first register of the slot where it is placed.

For example

lda #$80
sta $FFD0

will activate bank 0

There are 32 banks. You can choose which one is active by setting the first 5 bits of the data when storing to the first register. There is no way to get the currently active bank.

When the RAM card is active, it will respond to requests in the $8000 to $BFFF range instead of the ROM

lda #$8E
sta $FFD0

will activate the 14th bank

Setting the high bit to 0 will deactivate the banked RAM

For example the following code will deactivate the banked RAM and restore the ROM :

lda #0
sta $FFD0

To use the RAM expansion from forth, two words are provided for convenience the first one expad sets the expansion card address.

For example, if it placed in slot 0, run the following:

hex ff80 expad

then to activate it and change banks, use the following:

80 bank \ Activates bank 0
81 bank \ Activates bank 1
82 bank \ Activates bank 2
9F bank \ Activates bank 31

0 bank  \ Deactivates RAM expansion and restores ROM

Slot placement

You can place the card in any slot, as long as your code knows where it is.