This is an old revision of the document!


Memory Map

Start - End Purposes
0000 - DFFF 56K NVRAM
x000 - x3FF Main Bus Select 0 1K
x400 - x7FF Main Bus Select 1 1K
x800 - xAFF unassigned
xB00 - xBFF ACIA Select 256b
xC00 - xEFF unassigned
xF00 - xFFF Memory Latch Select 256b
F000 - FFFF EEPROM 4K

x is the J3 select jumper for 8xxx - Exxx address ranges

The 2.0 board is hard wired “x” = “E” in the map above.

The subsequent version has jumpers to locate the I/O block

The memory decode maps any 32k page of the 512k into $0000-$7FFF.

The region from $8000-$DFFF is not affected by the paging register contents.

So you can run paging code resident there.

For that reason, it's also recommended to put any ISR's there.

The lowest 4 paging bits control RAM, bits 4-6 select one of 8 EEPROM pages of 4k each.

Bit 7 controls the “stat” LED

56K NVRAM

:!: Coming as I learn more

Main Bus Select 0 1K

:!: Coming as I learn more

Main Bus Select 1 1K

:!: Coming as I learn more

ACIA Select 256b

:!: Coming as I learn more

Memory Latch Select 256b

The paging latch.

Writing to it selects different blocks from the 512k to appear in the main map.

E.g. if you write a 1 to EF00 it will duplicate the upper bank in the lower bank.

The M command is RMW and the latch is not qualified with R/W.

The CPU can write it but if you try doing it manually with the monitor, it will write garbage into the latch.

If you store in a $80 it should change the status LED

To be more specific, $80 turns the LED off and $00 turns it on as it is a pulldown and should be on at reset.

The logic fixes ROM and I/O in place.

When you map page 1 to page 0, only the RAM is relocated.

So, the RAM that is hidden “under” ROM and I/O becomes visible that way.

EEPROM 4K

:!: Coming as I learn more

Return to SST-6809