logo

Ces pages ne sont plus mises à jour !

Mais restent ici quand même. Attention: tout est vieux, et parfois faux. Tout se passe maintenant sur la wiki NeoGeo Development Wiki

Préface et documents
Architecture
Spécifications résumées
Architecture, Memory Map
BIOS
Structure des ROMs
Structure des CDs
Registres RAM
Vidéo
Système vidéo
Les palettes
Le fix
Les sprites
Audio
Système audio
Communication Z80
YM2610: ADPCM et SSG
Les pistes CDDA
Developpement
L'ASM 68K
Outils
Devkit ASM
Erreurs courantes
Portage MVS / NGCD
Electronique
Electronique
Cartouche flash MVS
Problèmes de lecteur CD
Productions
Astrosmash
Unleashed
Knackiballs
Bootloader et cable NGCD

Test MVS #01

Distribution du signal d'horloge

Composants principaux (NEO-AES3-4):

Sony CXK58257 "43256": RAM 32Ko (VRAM, RAM de travail...)
Toshiba TC531000 "531000": EPROM 128Ko (BIOS Fix ?)
Toshiba TC531024 "531024": EPROM 128Ko (BIOS)
74LS244 "LS244": Octuple buffer à sorties tristate
74AS04 "AS04": Sextuple inverseur
Sony CXK5814/63 "5863": RAM 2Ko haute vitesse (sprite RAM)
Sony CXK5864 "4364": RAM 8Ko haute vitesse (color RAM)
Sony CXA1145 "CXA1145P": Encodeur RGB vers PAL/NTSC
74LS273 "LS273": Octuple bascule D
74LS05 "LS05": Sextuple inverseur
74HC04 "HC04": Sextuple inverseur
Yamaha YM3016 "YM3016": DAC Stereo
Yamaha YM2610 "YM2610": Processeur son
Toshiba 68HC000 "68000-12": 68K
ST Z8400B "Z80B": Z80
74HC32 "HC32": Quadrule porte OU à deux entrées
74HC259 "HC259": Latch adressable 8 bits
BA4558 "4558": Double AOP
74LS06 "LS06": Sextuple buffer de sortie à collecteur ouvert
JRC 2066D "2066D": Double AOP bas bruit
NEO-xx: Customs SNK, pas la peine d'en chercher.

 

Vu la taille des données, on peut comprendre pourquoi les cartouches sont si grosses.
Les PROMS cms n'étaient pas si courants à l'époque.
On peut trouver des "bootlegs" (cartouches pirate) contenant des ROMs sous forme d'adaptateurs SSOP vers DIP.

Ces photos viennent de la version MVS de Metal Slug 2.
Les cartouches sont composées de deux circuits imprimés: le "CHA" (ROMs S, M et C) et le "PRG" (ROMs V et P).

Architecture de la NGCD 1

 

TODO

 


PCB Joysticks NGCD 1

Schéma presque complet de la carte fille qui s'occupe des ports joystick.

(Cliquer pour agrandir).

 

ASIC NEO-BUF

Comme SNK avaient régulièrement besoin de fabriquer des ASICs pour leurs machines, ils en ont aussi profité pour réduire les coûts de leur "glue logic" en mettant plusieurs circuits intégrés dans un seul package. Le gain de place est pas forcément conséquent, mais ça peut simplifier le routage et faire douter si on veut copier le matériel.

Les plus courants sont les "NEO-373" (quadruple 74HC373), qu'on retrouve dans plusieurs cartouches et qui a été documenté il y a longtemps par des forumistes Américains.
Et les "NEO-BUF", qu'on retrouve 5 fois dans les NeoGeo CD.
Bien qu'il soit évident qu'il serve de BUFfer, son brochage reste mysterieux.

 

Quelques suivis de pistes et de tests au multimètre montrent que "NEO-BUF" pourrait ressembler beaucoup à deux 74HC241. Il permetterait entre-autres de laisser passer ou non des données sur un bus.

Son brochage est assez symétrique et certaines broches restent non connectées sur le circuit imprimé des joysticks.

Il reste une question: qu'est ce qu'il y a dans les réseaux CRE401 ? Des résistances, mais dans quel ordre ? Impossible de trouver comment elles sont organisées pour l'instant (+5V et masse, 8 ponts, avec des valeurs de 1K et 300Ohms). Ils servent de pull-up, c'est sûr, mais pourquoi une broche à la masse ?

 

Exemple avec les ports joystick de la NeoGeo CD 1:

Un NEO-BUF est utilisé pour les haut/bas/gauche/droite/A/B/C/D des deux ports, et un second sert pour les Start/Select et le code de nationalisation.

Le premier est utilisé comme un commutateur entre le port 1 et le port 2. Ses sorties sont reliées entre elles (OUTA0 sur OUTB0, OUTA1 sur OUTB1...) puis connectées à la nappe qui relie le circuit imprimé à la carte mère. Deux circuits sur celle-ci permettent de choisir quelles entrées choisir.
Si on veut lire le port 1, CTRL A sera mis à l'état haut et CTRL B à l'état bas. Ceci mettera INA* sur les sorties.
Et inversement, si on veut lire le port 2, CTRL A sera mis à l'état bas et CTRL B à l'état haut, pour choisir INB* à la place.

Bien sûr, dans ce cas, CTRL A et CTRL B ne peuvent pas être tous les deux à l'état haut, sinon les sorties seraient mélangées (INA* OR INB*).

footer
symbol symbol symbol symbol symbol