Z80 port map: Difference between revisions
Jump to navigation
Jump to search
mNo edit summary |
mNo edit summary |
||
Line 1: | Line 1: | ||
Infos from [[User:kyuusaku]] | |||
{| class="regdef" | {| class="regdef" | ||
|'''Number''' | |'''Number''' | ||
Line 5: | Line 7: | ||
|- | |- | ||
|$00 | |$00 | ||
|Read sound code from 68k | |Read sound code from 68k, acknowledge NMI | ||
|Clear sound code | |Clear sound code from 68k to 0 | ||
|- | |- | ||
|$04~$07 | |$04~$07 |
Revision as of 16:33, 20 December 2013
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)