Defender
Harry Hurst is working on this dig.
Code Links
- Main Board RAM Use
- Main Board Hardware
- Bank 1 Code
- Bank 2 Code
- Bank 3 Code
- Bank 7 Code
- Fixed ROM Code
- Sound Board Code
- Sound Board RAM Use
- Sound Board Hardware Info
Memory and ROM Banks
Memory $D000 - $FFFF is always ROM. The 6809 vectors are at the end of the map from $FFF0 - $FFFF. All the vectors point to the RESET address except for the IRQ vector.
Memory $0000 - $BFFF is always RAM. The screen memory consumes 0000 - $9FFF. The remainder $A000 - $BFFF is general purpose RAM. The stack pointer is initialized to BFFF.
Memory $C000 - $CFFF is bank switched by writing the bank number to ROM address $D000.
Bank 0 is the I/O space and CMOS RAM (high score table). Banks 1, 2, and 3 are full 4K banks of code and data. Banks 4, 5, and 6 have no chips to back them. Bank 7 is a small 2K bank.
The RESET vector points to $F61F (in fixed ROM). This is where Defender begins at power up.