Jump to content
Ptchnk

Cartographie CHA256 et CHA512 (MVS) - Neo Geo

Recommended Posts

Par curiosité, pour comprendre comment ça marche et pour faciliter les vérifications de continuité, j'ai pris le temps de faire une cartographie de la CHA256 et CHA512 des MVS. Il manque encore 2/3 trucs mais j'ai pensé que cela pouvait déjà être utile à d'autres.

plan_CHA256.thumb.png.cf4f3b1a93e7ca721bdc18c651b752c1.pngplan_CHA512.thumb.png.50b2db1ff679fcad25148f88e1c6324d.png

 

Pour le CHA256B, c'est normalement la même chose que pour le CHA256. Les jumpers J15 à J18 de la CHA256B sont équivalents aux jumpers R1 à R4 de la CHA256.

Je ferai également la PROGBK1 quand j'aurai un peu de temps.

EDIT:

Je rajoute le pinout pour les C roms qui permet de comprendre le rôle des jumpers J5-J14 / R1-R4 (CHA256) et J5-J12 / JG1-JG4 (CHA512)

pinout13.thumb.png.4be4c08dfae9a2ffb28bfff9b164b26d.png

 

  • Like 2

Share this post


Link to post
Share on other sites

Cela m'a pris qq heures effectivement mais c'était très instructif pour comprendre l'architecture.

La CHA512 est au final très similaire à la CHA256 (#256B). Certains jumpers ont été "figés" par rapport à la CHA256 ce qui fait que la carte ne peut pas lire les roms < 32Mo il me semble. J'ai juste regarder très rapidement. Aussi le LS74 est remplacé par un LS174 pour avoir une porte logique en plus. Les configs de jumpers ont assez simple également pour choisir entre 32Mo et 64Mo pour les C.

Quelques pins supplémentaires du peigne sont également utilisées.

Faut que je regarde ça plus en détail ce WE pour la gestion de A21 sur les roms de 64Mo.

Pour tout décortiquer, il resterait à voir l'architecture du ZMC et du NEO273 mais cela doit traîner quelque déjà.

Share this post


Link to post
Share on other sites

Salut Ptchnk,

Bon je vais peut être passer pour un con mais, n'y a t il pas une anomalie ici, ne serait ce pas J11 et non J1 :

image.png

 

Ça serait logique par rapport à mon futsal, sur lequel j'ai des 27c322 en C1-C2, avec le j11 on et le r1 off, et des 27c160 en C3-c4 avec le j12 en off et le r2 en ON ?

 

Share this post


Link to post
Share on other sites
Il y a 20 heures, killerklown a dit :

Salut Ptchnk,

Bon je vais peut être passer pour un con mais, n'y a t il pas une anomalie ici, ne serait ce pas J11 et non J1 :

Yep tu as raison, je n'avais pas vu cette typo. Il s'agit bien de J11. Merci pour le retour. J1 ne concerne que la config de la M1

Il s'agit de la conf possible pour le paire de jumpers J11/R1. La même chose s"applique bien sur pour J12/R2, JJ13/R3 et J14/R4.

Share this post


Link to post
Share on other sites

Je profite du post pour poser une question:

Si je souhaite récupérer un PCB d'un MVS pour sauver un autre jeu (par exemple un progbk1) j'ai vu qu'il fallait set les jumpers comme sur le jeu qu'on veut sauver.

Donc si j'ai bien compris, les petites résistances montées en CMS sur lesquelles il y a écris "000" ont peut les remplacer par un simple pont de soudure?

Share this post


Link to post
Share on other sites
Il y a 7 heures, Ens a dit :

Donc si j'ai bien compris, les petites résistances montées en CMS sur lesquelles il y a écris "000" ont peut les remplacer par un simple pont de soudure?

Si c'est pour sauver une jeu avec des maskroms d'origine, tu peux récupérer les jumpers (R0) de la PCB fautive, cela fera plus propre. Cela se dessoude et ressoude très facilement avec un peu de flux.

Share this post


Link to post
Share on other sites
Le 06/02/2021 à 21:01, killerklown a dit :

Salut Ptchnk,

Bon je vais peut être passer pour un con mais, n'y a t il pas une anomalie ici, ne serait ce pas J11 et non J1 :

image.png

 

Ça serait logique par rapport à mon futsal, sur lequel j'ai des 27c322 en C1-C2, avec le j11 on et le r1 off, et des 27c160 en C3-c4 avec le j12 en off et le r2 en ON ?

 

Typo corrigée et premier post MAJ

Share this post


Link to post
Share on other sites

Petit update car j'ai commencé à bosser sur une PCB de CHA board. L'idée est d'avoir une solution de réparation sans sacrifier un autre jeu. J'ai récemment eu un jeu avec les peignes rincés.

Mais cela reste surtout pour le fun.

CHA512_repair3.thumb.png.dde9cbb93111b71853870c71b360676d.png

 

 

Le but est de combiner les capacités de la CHA256 et la CH512 de façon à avoir une carte unique qui accepte les C-ROM de 4Mb à 64Mb. Il manque encore le LS139 et le LS174 ainsi que les jumpers.

 

Je pense que je tenterai ensuite une carte à base de MX26L128 pour faire une CHA1024 même si cela n'a aucun intérêt.

Aussi un PROG board simplifiée.

  • Like 1

Share this post


Link to post
Share on other sites
Il y a 5 heures, ichigobankai a dit :

pourquoi tu te fais chier avec du DIP ?
pour le 5v je suppose ?

M'est d'avis passe direct à du SOP ou du TSOP en 3,3v avec des 74lvc245 pour l'adapation de tension.
le pcb sera ± 50% moins haut et bcp (bcp) moins lourd.

Cette version est pour remplacer une carte d'origine et donc retransplanter les maskroms.

Je pense faire aussi une carte pour en CMS seulement et 3.3ev pour les les eproms.

  • Like 1

Share this post


Link to post
Share on other sites

J'ai un peu avancé sur la carte. Il reste à router la partie driver audio et mettre les jumpers.

En gros, il y aura 3 jumpers pour définir la taille max des C-Roms (<16Mo / 16Mo / 32Mo /64Mo). Possibilité de monter jqa 128Mo avec des MX26L128 par exemple.

Et 2 séries de jumpers pour définir la taille des C-Roms pour les paires C1/C2, C3/C4, etc... (<32Mo / 32Mo / 64Mo) . Cette partie ne sert qu'à réassigner les pins C32(BYTE/A20) et C11(G/A21) du fait du pinout différérents pour les les maskroms de 32Mo et 64Mo. Dans le cas de roms de type MX26LXXXX, cela ne serait plus nécessaire.

Sinon, je commence à regarder pour les CPLDs pour remplacer les composants logiques et simplifier le routage.

  • Like 1

Share this post


Link to post
Share on other sites

La première version de la carte CHA est terminée.

CHA512_repair4.thumb.png.ef26792cee1190982cc63a953442b4db.png

 

Je vais commencer à regarder les CPLDs pour limiter le nombre de composants et simplifier le routage. J'en aurais besoin de toute façon pour la carte PROG.

  • Like 1

Share this post


Link to post
Share on other sites

J'essaie de voir pour inclure tous les composants logiques dans un unique CPLD mais je bloque sur le NEO-ZMC qui est une puce à façon pour l'interface entre le Z80 et le driver son (M1)

Il y a très peu d'info dessus en dehors de la page wiki.negogeodev.org

wiki NEO-ZMC

 

Share this post


Link to post
Share on other sites

Furrtek a déjà fait un très gros taf pour la conversion FPGA/Verilog des différents composants logiques de la neo: neogeodev / NeoGeoFPGA-sim

Notamment le NEO-273 et la version distribuée pour la puce de remplacement pour le PCM

Pour le NEO-ZMC, il a commencé à regarder.

 

Pour le NEO-273, ce sont juste des bascules avec 2 horloges pour gérer les adresses de roms C (pck1b) et de la S (pck2b). Les LS74 (CHA256) et LS174 (CHA512) sont aussi des bascules gérées par pck1b. Donc assez simples à transcrire en verilog. Le LS139 aussi.

Dans un premier temps, il faut que je détermine le nombre de pins nécessaires pour les I/O, notamment pour celles associées aux jumpers pour configurer la carte, afin de déterminer le CPLD le plus adapté.

Cela permettrait de déjà router la carte en prévoyant un port JTAG pour (re)programmer le CPLD une fois monté pour faire des tests.

 

 

  • Like 1

Share this post


Link to post
Share on other sites

Pour garder tous les jumpers de configs et inclure le NEO-ZMC dans le CPLD, il faut 87 pins I/O disponibles donc cela ne passera pas sur un boiter QFP100.

Donc 2 options: 1 CPLD QPF100 + NEO-ZMC (cela se trouve encore facilement) OU 1 CPLD QFP144

Share this post


Link to post
Share on other sites

J'ai fait un essai de routage avec CPLD QFP144 3.3V pour voir comment organiser au mieux la carte.

CHA512_repair_CPLD.thumb.png.4fa548c1dcc1deb9b5d7745b1fb4a055.png

 

Il reste encore M1 + inputs ZMC, et les jumpers à connecter ainsi que la connecteur pour le JTAG   [EDIT]

  • Like 1

Share this post


Link to post
Share on other sites

×
×
  • Create New...