This page is at least 13 years old !
Architecture et Memory Map |
Toutes les versions de la NeoGeo sont basées sur un processeur
Motorola 68000 (68K), et un Zilog Z80 comme processeur auxiliaire,
s'occupant uniquement du son.
Elles possèdent toutes un System ROM (BIOS), avec des fonctions différentes
mais compatibles entre versions.
La synthèse sonore est assurée par un YM2610 couplé
à un convertisseur numérique/analogique YM3016 (physiquement groupés
avec le Z80 dans la NeoGeo CDZ).
Sans bankswitching, les cartouches peuvent contenir:
- 2Mo de programme 68K
- 48ko de programme Z80
- 64Mo de tiles pour les sprites
- 128ko de tiles pour le fix
- 32Mo de samples PCM
La NeoGeo CD possède seulement 7Mo de DRAM pour
charger les informations depuis le CD.
Elle est capable de lire des pistes audio CDDA mais intègre toujours
le synthé YM2610.
Les GPUs sont sensiblement les mêmes dans toutes les versions.
Watchdog |
![]() |
Les versions cartouche de la NeoGeo (version CD à
vérifier) possèdent un watchdog, dont
le but est de redémarrer la console si le jeu plante. Dans le programme 68K, il faut donc régulièrement
dire au watchdog de remettre son compteur à sa plus grande valeur,
pour éviter qu'il ne redémarre la console sans qu'on le
veuille. Je n'ai pas mesuré la durée maximum avant que le compteur expire, mais elle devrait pas excéder 1 seconde. Le plus souvent, les jeux effectuent cette opération
dans l'interruption VBlank (environ 60 fois par seconde, largement suffisant). |
Memory Map du 68K |
"Mirrored" veut dire que les contenus sont répétés
pour remplir l'espace attribué.
Par exemple, la RAM ne fait que 64ko, mais elle se repète 16 fois
entre $100000 et $1FFFFF. Elle s'arrête réellement
à $10FFFF.
On retrouve donc les mêmes données à $100000, $110000, $120000...
Début
|
Fin des données
|
Fin du segment
|
Taille
|
Description | |
$000000
|
$0FFFFF
|
$0FFFFF
|
1Mo
|
ROM P1 | |
$100000
|
$10FFFF
|
$1FFFFF
|
64ko
|
RAM (Les adresses supérieures à $10F300 sont réservées pour le BIOS) (Mirrored) | |
$200000
|
$2FFFFF
|
$2FFFFF
|
1Mo
|
ROM P2 (Les adresses $2FFFF0 à $2FFFFF servent pour le bankswitching sur les versions cartouche) | |
$300000
|
$3FFFFF
|
.
|
Registres RAM | ||
$400000
|
$401FFF
|
$7FFFFF
|
8ko
|
Palettes (Indépendantes de la VRAM) (Mirrored) | |
$800000
|
$BFFFFF
|
8ko
?
|
Memory Card (ou SRAM interne sur les versions CD) | ||
$C00000
|
$C1FFFF
$C7FFFF |
$CFFFFF
|
128ko
512ko |
BIOS
Version cartouche (Mirrored) BIOS Version CD |
|
$D00000
|
$DFFFFF
|
64ko
|
Mémoire interne (Mirrored) | ||
$E00000
|
$E3FFFF
|
$EFFFFF
|
256ko
|
NeoGeo CD uniquement: Zone d'upload, utilisée par le BIOS (byte access seulement en lecture, byte/word/long en écriture d'après NeoCD) | |
$F00000
|
?
|
$FFFFFF
|
?
|
NeoGeo CD uniquement: Accès au controleur CD et au gestionnaire de périphériques, utilisé par le BIOS |
Architecture des versions cartouche (AES, MVS) |
![]() |
Le 68K peut "voir" tout son programme, bien
sûr (ROMs P), sa propre RAM, les registres et le BIOS. Les ROMs C et S1 (données graphiques), sont seulement
visibles par le GPU, qui ira directement chercher les données dedans
selon les données en VRAM. Il est donc impossible de génerer des graphismes au pixel près. L'accès à la carte mémoire (AES) ou la mémoire de sauvegarde interne (MVS) se fait également à travers des registres. Seul le Z80 a accès à son programme (ROM
M1), à sa propre RAM et au YM2610 par le biais de ses ports. Il est donc impossible de générer des samples. Il peut y avoir une liaison bidirectionelle sur un octet entre le 68K et le Z80 (qui reçoit une interruption à chaque écriture). |
A la différence de nombreuses autres consoles à cartouche, les jeux NeoGeo ont des ROMs et des bus séparés pour chaque type de données.
Architecture des versions CD (Top et Front loading, CDZ) |
![]() |
|
Schéma initialement réalisé par Progfr, avec quelques modifications. Les données chargées depuis le CD sont
stockées dans 7Mo de DRAM (2Mo de programme 68K, 4Mo de sprites,
et 1Mo de programme Z80, les 128ko de fix ne comptent pas). La NeoGeo CD utilise un gestionnaire de périphériques
(Sanyo LC8953) très peu documenté. Il gère le DMA
et les interruptions. Le code, les graphismes et les sons du BIOS sont physiquement
contenus dans le même ROM de 512ko. Le BIOS possède les mêmes fonctions que les versions cartouche, mais avec celles concernant le chargement de fichiers et le DMA en plus. TC9296 ou IX2423 selon les modèles de blocs CD:
s'occupent de l'optique et de fournir des données brutes issues
du CD. Indépendant du reste de la console. |