Banked RAM board
This is a banked RAM board for the Planck 6502 computer.
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.
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:
hex 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
You can place the card in any slot, as long as your code knows where it is.