Z80 port map: Difference between revisions

From NeoGeo Development Wiki
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 buffer
|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)