Z80 port map
Infos from User:kyuusaku
Number | Read | Write |
$00 | Read sound code from 68k, acknowledge NMI | Clear sound code from 68k to 0 |
$04~$07 | YM2610 I/O | |
$08 | Set $F000~$F7FF bank | Enable NMI |
$09 | Set $E000~$EFFF bank | |
$0A | Set $C000~$DFFF bank | |
$0B | Set $8000~$BFFF bank | |
$0C | Reply to 68k | |
$18 | Disable NMI |
Bank selection is made by reading ports. SNK used an obscure feature of the Z80: when accessing ports, the entire address bus is set, not only the lower 8 bits.
The banks can then be chosen by putting the bank number in B, the port number in C and doing IN A,(C). Or by putting the bank number in A and doing IN A,(Port). (to verify)