Memory mapped registers
Address | Name | Size | Read | Write | ||||||||||||||||||
$300000 | REG_P1CNT | Byte | Player 1 controls (active low)
|
? | ||||||||||||||||||
$300001 | REG_DIPSW | Byte | Dipswitches (active low)
|
Kick watchdog | ||||||||||||||||||
$300081 | ? | Byte? | ? | ? | ||||||||||||||||||
$320000 | REG_SOUND | Byte | Out to Z80 | In from Z80 | ||||||||||||||||||
$320001 | REG_STATUS_A | Byte |
|
? | ||||||||||||||||||
$340000 | REG_P2CNT | Byte | Player 2 controls (active low)
|
? | ||||||||||||||||||
$380000 | REG_STATUS_B | Byte |
|
? | ||||||||||||||||||
$380000 | ? | Byte | ? | MAME select_controller | ||||||||||||||||||
$380030 | ? | Byte | ? | MAME set_output_latch | ||||||||||||||||||
$380040 | ? | Byte | ? | MAME set_output_data | ||||||||||||||||||
$380050 | ? | Byte | ? | MAME upd4990a_control_16_w | ||||||||||||||||||
$380001 | ? | Byte | ? | Joypad ports outputs
|
Address | Name | Size | Read | Write |
$3A0001 | REG_DISPENABL | Byte | Invalid | Normal video output |
$3A0011 | REG_DISPDSABL | Byte | Invalid | Darken video output |
$3A0003 | ? | Byte | Invalid | Use the BIOS vector table |
$3A0013 | REG_SWPROM | Byte | Invalid | Use the cart's vector table |
See ASM Defines. | ||||
$3A000B | REG_BRDFIX | Byte | Invalid | Use the embeded fix tileset (SFIX) |
$3A001B | REG_CRTFIX | Byte | Invalid | Use the cart's fix tileset |
$3A000D | REG_SRAMLOCK | Byte | Invalid | Write-protects the SRAM (MVS) |
$3A001D | REG_SRAMULOCK | Byte | Invalid | Unprotects SRAM (MVS) |
$3A000F | REG_PALBANK1 | Byte | Invalid | Use palette bank 1 |
$3A001F | REG_PALBANK0 | Byte | Invalid | Use palette bank 0 |
Needs translation:
Address | Name | Size | Read | Write |
$3C0000 | REG_VRAMADDR | Word | Read VRAM (address isn't changed) | Sets VRAM address |
$3C0002 | REG_VRAMRW | Word | Read VRAM (address isn't changed) | Write VRAM |
$3C0004 | Word | REG_VRAMINC | Reads VRAM address modulo | Sets VRAM address modulo (signed) |
$3C0006 | Word | REG_HBLANKCNT | 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Compteur de ligne vidéo (format ?) ? 1:50Hz 0:60Hz Compteur d'animation auto $00F8-$00FF : Vertical sync $0100-$010F : Top border $0110-$01EF : Active display $01F0-$01FF : Bottom border Voir ce diagramme. |
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Vitesse de l'animation auto Recharger à chaque HBlank Recharger à chaque VBlank Prochaine interruption HBlank dans x lignes Int.HBlank activée Désactiver l'animation automatique ? |
$3C0008 | Word | REG_HBLANKPOS | Invalid | Position (pixels) à laquelle l'interruption HBlank sera déclenchée (MSB) |
$3C000A | ? | Word | Invalid | Position (pixels) à laquelle l'interruption HBlank sera déclenchée (LSB) |
$3C000C | REG_IRQACK | Byte | Invalid | Interrupt Acknowledge.
Obligatoire, sert de prévention anti-nesting. Toujours répondre correctement à la fin d'un interruption. 7 6 5 4 3 2 1 0 ACK VBlank ACK HBlank ACK IRQ3 |
$3C000E
$3C000F |
? | ? | Certains émulateurs traitent cette adresse de la même façon que $3C000A.
MAME ne s'en occupe pas. Aucun jeu n'en dépend. |
La même chose. |
NeoGeo CD only (from NeoCD's source):
$FF011C (word): read: return 0xff | (region_code << 8); $FF0002 (word) $FF007E,$FF008f (word) dma_mode $FF0105 (byte) upload_type_w $FF0111 (byte) spr_disable $FF0115 (byte) fix_disable $FF0119 (byte) video_enable $FF016F (byte) disable_irq_w $FF0183 (byte) z80_enable