Registres RAM |
Infos vérifiées plusieurs fois avec la source de MAME et de Raine.
Les bits marqués comme "?" sont soit inutilisés, soit
sans importance pour que les jeux fonctionnent.
Il faut toujours attendre un peu avant de lire la VRAM après avoir fixé
une nouvelle adresse, ou lors de nombreuses écritures séquentielles.
"Invalide" fait soit rien, soit redémarrer la console.
Adresse
|
Nom
|
Lecture
|
Écriture
|
||||||||||||||||
$300000 (octet) | REG_P1CNT |
Etat des touches du joystick 1 (inversé)
|
?
|
||||||||||||||||
$300001 (octet) | REG_DIPSW |
Dipswitches, AES et MVS (inversé)
|
Remet le Watchdog à
zéro.
La plupart des jeux écrivent D0 dans ce registre à chaque VBlank. |
||||||||||||||||
$300081 (octet) | ? |
Le bit 7 indique une demande d'accès au menu du BIOS |
Remet le Watchdog à
zéro ?
|
||||||||||||||||
$320000 (octet) | REG_SOUND |
Lecture Z80 |
Commande audio (écriture vers le Z80). |
||||||||||||||||
$320001 |
REG_STATUS_A |
Status hardware (inversé)
|
Aucun effet ?
|
||||||||||||||||
$340000 (octet) | REG_P2CNT |
Etat des touches du joystick 2 (inversé)
|
Aucun effet ?
|
||||||||||||||||
$380000 (octet) | REG_STATUS_B |
Etat des touches et de la carte mémoire (inversé)
|
MAME: "io_control_w" $380000 select_controller |
||||||||||||||||
$380001 | ? |
?
|
Sortie ports joysticks (inversé)
|
$3A0001 | REG_DISPENABL |
Invalide
|
Activation de la sortie
vidéo (activée par le BIOS)
|
$3A0011 | REG_DISPDSABL |
Invalide
|
Désactivation
de la sortie vidéo
|
$3A0003 | ? |
Invalide
|
Utiliser la table de
vecteurs du BIOS
|
$3A0013 | REG_SWPROM |
Invalide
|
Utiliser la table de
vecteurs de la cartouche (par défaut)
|
$3A000B | REG_BRDFIX |
Invalide
|
Utiliser le tileset
fix de la console
|
$3A001B | REG_CRTFIX |
Invalide
|
Utiliser le tileset
fix de la cartouche (par défaut)
|
$3A000D | REG_SRAMLOCK |
Invalide
|
Protéger la SRAM
en écriture
|
$3A001D | REG_SRAMULOCK |
Invalide
|
Permettre l'écriture
en SRAM
|
$3A000F | REG_PALBANK1 |
Invalide
|
Utiliser la banque de
palettes 1
|
$3A001F | REG_PALBANK0 |
Invalide
|
Utiliser la banque de
palettes 0 (par défaut)
|
$3C0000 (word) | REG_VRAMADDR |
Lecture VRAM (pas d'auto-incrémentation)
|
Adressage VRAM
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
$3C0002 (word) | REG_VRAMRW |
Lecture VRAM (pas d'auto-incrémentation)
|
Écriture VRAM
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
$3C0004 (word) | REG_VRAMINC |
Lecture de la valeur
d'auto-incrémentation de l'adresse VRAM
|
Réglage de la
valeur d'auto-incrémentation de l'adresse VRAM (signé)
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
$3C0006 (word) | REG_HBLANKCNT |
$0100-$010F : Top border $0110-$01EF : Active display $01F0-$01FF : Bottom border Voir ce diagramme. |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
$3C0008 (word) | REG_HBLANKPOS |
Invalide
|
Position (pixels) à laquelle l'interruption HBlank sera déclenchée (MSB) |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
$3C000A (word) |
Invalide
|
Position (pixels) à laquelle l'interruption HBlank sera déclenchée (LSB) |
$3C000C (octet) | REG_IRQACK |
Invalide
|
Interrupt Acknowledge.
|
||||||||||||||||
$3C000E |
? |
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.
|
Sur NeoGeo CD uniquement (notes prises depuis la source de NeoCD):
Pratiquement tout l'espace mémoire qui commence à $FF0000 n'est
pas documenté et concerne le bloc CD ou le DMA...
Adresse | Lecture | Écriture |
$ff011c (word) | return 0xff | (region_code << 8); | |
0xff0002 (word) |
load_files: Si commande = $0550: x0115A06: [0] à [15]: Nom du fichier terminé
par 0x00 ou ";". Offset.l = 0x10f6a0 (?) |
|
0xff0061 (byte) |
upload_cmd_w Si commande = $40: Si size =0: |
|
0xff0064 0xff0071 (word) |
upload_param (que les premiers 16 octets d'utilisés ?) [0]: source (long), [12]: longueur (long), [8]: fill (word) |
|
0xff007e 0xff008f (word) | dma_mode | |
0xff0105 (byte) | upload_type_w | |
0xff0111 (byte) | spr_disable | |
0xff0115 (byte) | fix_disable | |
0xff0119 (byte) | video_enable | |
0xff016f (byte) | disable_irq_w | |
0xff0183 (byte) |
z80_enable |