CROM 16bits & VROM 8bits 64Mb replacement for Neo Geo AES/MVS Games TC5364205

Publié le par illusionrip

CROM 16bits & VROM 8bits 64Mb replacement for Neo Geo AES/MVS Games TC5364205

J’ai rencontré un problème ces derniers temps dans mes réparations avec trois jeux :

1. Last Blade 2, avec une VROM son défectueuse de 16Mb.

2. Metal Slug 3, également avec une VROM son défectueuse de 16Mb.

3. Et surtout Shock Troopers 2, avec une CROM graphique défectueuse de 64Mb (coucou Fred :D).

 

En bref, des ROMs de cartouches sons (VROM) et graphiques (CROM) de haute capacité qui lâchent.

 

Pour les capacités de 32Mb ou 64Mb, je n’ai pas trouvé d’équivalent en EPROM classique.

Même en cherchant sur Internet, je n’ai rien trouvé… peut-être ai-je mal cherché.

 

Toujours est-il que j’ai décidé de m’attaquer au prototype d’une EPROM programmable et effaçable électriquement.

 

Plusieurs défis à relever :

Trouver une EPROM de bonne capacité, capable de transmettre ses données aussi bien en 8 bits qu’en 16 bits.

Concevoir un PCB à 6 couches.

Faire tenir tout cela sur une surface limitée.

 

---------------------------------------------------------------------------------------

 

I’ve encountered a problem recently in my repairs with three games:

1. Last Blade 2, with a defective 16Mb sound VROM.

2. Metal Slug 3, also with a defective 16Mb sound VROM.

3. And most notably Shock Troopers 2, with a defective 64Mb graphics CROM (hello Fred :D).

 

In short, high-capacity ROMs for sound (VROM) and graphics (CROM) cartridges are failing.

 

For capacities of 32Mb or 64Mb, I haven’t found any equivalent in standard EPROMs.

Even searching online, I couldn’t find anything… maybe I didn’t search well enough.

 

In any case, I’ve decided to tackle the prototype of an electrically programmable and erasable EPROM.

 

Several challenges to address:

Find a high-capacity EPROM that can transmit data in both 8-bit and 16-bit modes.

Design a 6-layer PCB.

Fit everything into a limited space.

 

 

CROM 16bits & VROM 8bits 64Mb replacement for Neo Geo AES/MVS Games TC5364205

Le but est de remplacer les TC5364205 et TC5332205.

 

Première difficulté : les niveaux de signaux.

Nos bonnes vieilles Neo Geo, qui ont maintenant 30 ans, utilisent une technologie qui communique avec des signaux numériques carrés prenant deux états : 0 et 1, avec des tensions de 0V et 5V.

 

Le problème, c’est que les puces moyennement récentes embarquent une technologie différente, qui utilise des signaux allant de 0V à 3.3V.

 

Or, si on utilise ces puces telles quelles, on risque d’avoir des problèmes de bugs, mais surtout de détruire notre EPROM. Heureusement, il existe de petits circuits qui changent les niveaux entre 3.3V et 5V (level shifters).

 

La puce en question a 48 broches, mais seulement 42 seront utilisées (S29GL064N04).

 

Pour cela, j’utilise de petits circuits YF08E de Texas Instruments, et il faudra que j’en place 5 sur le PCB pour gérer tous les signaux nécessaires.

 

À cela s’ajoutent :

12 condensateurs de découplage,

5 résistances de pull-down,

Un switch à 3 positions pour gérer la sortie des données en 8 ou 16 bits,

Un régulateur de tension pour convertir l’alimentation de base de 5V en 3.3V, nécessaire pour alimenter mon EPROM et mes YF08E.

 

---------------------------------------------------------------------------------------

 

The goal is to replace the TC5364205 and TC5332205.

 

First challenge: signal levels.

Our good old Neo Geo systems, now 30 years old, use a technology that communicates with square digital signals in two states: 0 and 1, with voltages of 0V and 5V.

 

The problem is that more recent chips use a different technology, with signals ranging from 0V to 3.3V.

 

If we use these chips as is, we risk encountering bugs and, more importantly, damaging our EPROM. Fortunately, there are small chips that handle the level shifting between 3.3V and 5V.

 

The chip in question has 48 pins, but only 42 will be used (S29GL064N04).

 

To do this, I’m using small YF08E circuits from Texas Instruments, and I’ll need to place 5 of them on the PCB to handle all the required signals.

 

Additionally, I’ll include:

12 decoupling capacitors,

5 pull-down resistors,

A 3-position switch to manage the data output between 8 and 16 bits,

A voltage regulator to convert the base 5V supply into 3.3V, which is needed to power the EPROM and the YF08E circuits.

CROM 16bits & VROM 8bits 64Mb replacement for Neo Geo AES/MVS Games TC5364205
CROM 16bits & VROM 8bits 64Mb replacement for Neo Geo AES/MVS Games TC5364205

Je vous passe les détails, mais deux prototypes ont été réalisés avant celui-ci.

 

Les deux premiers, parce que je ne maîtrisais pas encore les prototypes multicouches, ont été bricolés avec du double couche sur deux plaques… mais ça n’a pas fonctionné.

 

Heureusement, j’ai eu l’aide d’Aurélien la Bricole, qui m’a formé à l’art d’utiliser différentes couches de cuivre.

 

La PCB que vous voyez n’est pas encore la version définitive, car il s’est avéré, au montage, que j’avais fait quelques erreurs de conception, que j’ai toutefois réussi à corriger sur ces EPROMs de test.

 

Un petit conseil : lisez bien les datasheets quand vous travaillez sur quelque chose.

 

En général, dans les puces, pour activer une broche, on la met à l’état bas. On dit qu’elle est LOW ACTIVE.

Par exemple, si vous voulez activer une puce, vous reliez sa broche OE (Output Enable) à la masse (GND), et elle fonctionne.

 

Je suis donc parti bille en tête avec cette certitude en concevant le prototype. Mais bien sûr, ici, la puce s’active quand la broche OE est HIGH ACTIVE… comme par hasard 😅

 

J’ai donc dû patcher physiquement les 5 YF08E pour que cela fonctionne.

 

---------------------------------------------------------------------------------------

 

I’ll spare you the details, but two prototypes were made before this one.

 

The first two didn’t work because I wasn’t yet skilled with multilayer prototypes, so I tried to tinker with double-layer designs on two boards… but it didn’t work.

 

Fortunately, I had the help of Aurélien la Bricole, who taught me the art of using multiple copper layers.

 

The PCB you see here is not yet the final version, as it turned out during assembly that I had made some design errors. However, I managed to patch them on these test EPROMs.

 

A little advice: always read the datasheets carefully when working on something.

 

Usually, in chips, to activate a pin, you set it to a low state. This is called LOW ACTIVE.

For example, if you want to activate a chip, you connect its OE pin (Output Enable) to ground (GND), and it works.

 

So, I went ahead with this certainty when designing the prototype. But, of course, in this case, the chip activates when the OE pin is HIGH ACTIVE… just my luck 😅

 

As a result, I had to physically patch the 5 YF08E chips to make it work.

 

CROM 16bits & VROM 8bits 64Mb replacement for Neo Geo AES/MVS Games TC5364205

L’inconvénient de cette méthode est qu’il faut d’abord programmer notre EPROM avant de la souder sur la PCB finale.

 

Cependant, en général, on ne remplace pas l’EPROM une fois qu’elle est conçue pour résoudre un problème de son ou graphique.

 

---------------------------------------------------------------------------------------

 

The drawback of this method is that we need to program the EPROM first before soldering it onto the final PCB.

 

However, generally speaking, the EPROM is not replaced once it has been created to fix a sound or graphical issue.

CROM 16bits & VROM 8bits 64Mb replacement for Neo Geo AES/MVS Games TC5364205

Donc, en gros, voici ce que nous avions à l’image.

 

---------------------------------------------------------------------------------------

 

So basically, here’s what we had in the picture.

CROM 16bits & VROM 8bits 64Mb replacement for Neo Geo AES/MVS Games TC5364205
CROM 16bits & VROM 8bits 64Mb replacement for Neo Geo AES/MVS Games TC5364205

Après avoir patché mes 5 level shifters, l’EPROM s’active, et c’est presque mieux.

 

Mais j’ai des artefacts qui apparaissent environ tous les 8 pixels.

 

Fichtre !!! Diantre !!! Fais chier !!!!!

 

---------------------------------------------------------------------------------------

 

After patching my 5 level shifters, the EPROM activates, and it’s almost better.

 

But I’m seeing artifacts appearing roughly every 8 pixels.

 

Damn it!!! Blast it!!! Mo**** F$@§"R !!!!!

CROM 16bits & VROM 8bits 64Mb replacement for Neo Geo AES/MVS Games TC5364205
CROM 16bits & VROM 8bits 64Mb replacement for Neo Geo AES/MVS Games TC5364205

Et me voilà parti pour un debug physique de l’EPROM.

 

Je dois tester tous les signaux de ma puce…

 

Problème : la CROM est en dessous, et je n’y ai pas accès.

 

Je décide donc de dessouder un connecteur de cartouche d’un vieux slot pour le souder sur l’un de mes PCB de test de port cartouche.

 

Ainsi, la première plaque est positionnée à 90 degrés (l’angle, pas la température 😉), ce qui me permet d’avoir accès à l’arrière de ma PCB.

 

 

---------------------------------------------------------------------------------------

 

And here I am, starting a physical debug of the EPROM.

 

I need to test all the signals of my chip…

 

Problem: the CROM is underneath, and I don’t have access to it.

 

So, I decide to desolder a cartridge connector from an old slot and solder it onto one of my cartridge port test PCBs.

 

This way, the first board is positioned at a 90-degree angle, giving me access to the back of my PCB.

 

CROM 16bits & VROM 8bits 64Mb replacement for Neo Geo AES/MVS Games TC5364205
CROM 16bits & VROM 8bits 64Mb replacement for Neo Geo AES/MVS Games TC5364205
CROM 16bits & VROM 8bits 64Mb replacement for Neo Geo AES/MVS Games TC5364205
CROM 16bits & VROM 8bits 64Mb replacement for Neo Geo AES/MVS Games TC5364205

Je teste à l’oscilloscope, et deux signaux attirent mon attention.

 

Les pins de données Q7 et Q15, qui sont côte à côte sur la puce.

 

Je vous ai dit plus haut que les signaux devaient être carrés, à 0V et 5V.

 

Ici, on voit bien que quelque chose perturbe le signal.

 

Et effectivement, il y a une erreur de conception : ces deux signaux sont reliés ensemble à un certain endroit de la PCB, ce qui ne devrait pas être le cas.

 

---------------------------------------------------------------------------------------

 

I’m testing with the oscilloscope, and two signals catch my attention.

 

The data pins Q7 and Q15, which are next to each other on the chip.

 

I mentioned earlier that the signals should be square, at 0V and 5V.

 

Here, it’s clear that something is disrupting the signal.

 

And indeed, there’s a design error: these two signals are connected together at some point on the PCB, which shouldn’t be the case.

CROM 16bits & VROM 8bits 64Mb replacement for Neo Geo AES/MVS Games TC5364205
CROM 16bits & VROM 8bits 64Mb replacement for Neo Geo AES/MVS Games TC5364205
CROM 16bits & VROM 8bits 64Mb replacement for Neo Geo AES/MVS Games TC5364205

Je patch physiquement ces deux pistes, et miracle, ça marche !!!

 

Y’en a un qui va être content 😘.

 

---------------------------------------------------------------------------------------

 

I physically patch these two traces, and miracle, it works!!!

 

Someone’s going to be happy 😘.

 

CROM 16bits & VROM 8bits 64Mb replacement for Neo Geo AES/MVS Games TC5364205
CROM 16bits & VROM 8bits 64Mb replacement for Neo Geo AES/MVS Games TC5364205

Prochain test pour valider à 100% ce prototype : un Metal Slug 3 avec un problème de sons.

 

J’ai déjà monté la PCB, il ne reste plus qu’à programmer l’EPROM et la souder.

 

---------------------------------------------------------------------------------------

 

Next test to validate this prototype 100%: a Metal Slug 3 with a sound issue.

 

I’ve already assembled the PCB; now I just need to program the EPROM and solder it.

CROM 16bits & VROM 8bits 64Mb replacement for Neo Geo AES/MVS Games TC5364205
Pour être informé des derniers articles, inscrivez vous :
Commenter cet article
F
Excellent !!
Répondre
F
Tu es au top... vivement de recevoir mon shock trooper
Répondre