Ayant quelques jeux MVS à réparer, j'ai besoin de tester les maskroms Toshiba TC5332024AP et TC5364205AP qui n'ont pas d'équivalent en eproms DIP42.
J'avais trouvé sur le net les procédures pour lire ces maskroms en plusieurs fois avec mon valeureux GQ-4X. C'est fastidieux mais ça fait le job.
EDIT: je remets ci-dessous les procédures trouvées sur le net pour la lecture indirecte des TC5332204AP et TC5364205AP
Pour lire les TC5332204AP (cf pinout de la TC5332205AP ci-dessous qui est identique):
1- Relever la pin 30 (Q15) et la relier avec un fil au +5V (pin 22). Lire en tant que M27C322 et sauvergarder en tant que odd.bin. (lecture des octets impairs seulement)
2- Relier la pin 30 (Q15) avec un fil au GND (pin 12 ou 31). Lire en tant que M27C322 et sauvergarder en tant que even.bin. (lecture des octets pairs seulement)
3- utiliser un programme pour éliminer les 00/FF des 2 fichiers, ici romwak:
- 'romwak_x64.exe /b odd.bin split1 split2' (split1 contient les octets impairs et split2 seulement des 00/FF)
- 'romwak_x64.exe /b even.bin split3 split4' (split3 contient les octets pairs et split4 seulement des 00/FF)
4- utiliser un programme pour reconstruire la rom à partir des fichiers contenant les octets pairs et impairs ci-dessus:
- 'romwak_x64.exe /m split3 split1 fullrom.bin'
Alternative: Créer 2 fichiers octets pairs et octets impairs à partir du romset du jeu pour vérifier directement les maskroms sur le programmateur:
1- Utiliser romwak sur une rom V pour séparer les octets pairs et impairs:
- 'romwak_x64.exe /b NGH-Vx.Vx even.bin odd.bin.'
2- Insérer un bit vide 00/FF pour compléter les fichiers à 4Mo. Ici, le fichier blank-2Mo.bin ne contient que des FF.
- 'romwak_x64.exe /m even.bin blank-2Mo.bin Vx-even.bin'
- 'romwak_x64.exe /m odd.bin blank-2Mo.bin Vx-odd.bin'
3- Relever la pin 30 (Q15) et la relier avec un fil au +5V (pin 22). Lire en tant que M27C322 et vérifier le contenu avec le fichier Vx-odd.bin.
4- Relier la pin 30 (Q15) avec un fil au GND (pin 12 ou 31). Lire en tant que M27C322 et vérifier le contenu avec le fichier Vx-odd.bin.
Pour lire les TC5364205AP (cf pinout ci-dessous):
1- Relever la pin 11 (A21) et la relier avec un fil au GND (pins 12 ou 31) et lire en tant que 27C322.
2- Puis, relier la pin 11 (A21) au +5V (pin 22) et lire en tant que 27C322.
3- Puis concaténer les deux moitiés en utilisant le commande 'copy /b read1.bin + read2.bin read.bin'
Mais c'est le bordel pour faire les shunts quand il y a plusieurs maskrom à tester.
Du coup j'ai commencé à bosser sur un adaptateur 16bit incluant les shunts en question sous forme de jumpers pour lire les TC5364205AP et les TC5332204AP
Le but est de pouvoir lire et programmer les 27C1024/4096/400/800/160/322 et Maskroms équivalentes comme sur l'adaptateur ADP-054 classique.
Puis en jouant sur les jumpers, on peut lire les bits pairs ou impairs sur les TC5332204AP (8bit - 32Mo) utilisées pour les V-roms ou encore lire les TC5364205AP (16bit - 64Mo) en 2 fois (1ère et 2ème moitié) en utilisant une 27C322 comme modèle sur le programmateur. Plus besoin de s'emmerder avec les shunts etc...
Donc voici la v1.0 du NEO-DOCTOR pour GQ-4X. Pour les Willem et GQ-2X/3X, il suffit de monter les 8 pins du haut au niveau du connecteur qui va sur la programmateur afin de pouvoir raccorder les pins au BUS du programmateur
Le fichier est dispo ici
Je suis en train de regarder pour améliorer un peu le truc. Je pense avoir trouvé pour lire en une seule fois les TC5364205AP et je cherche pour voir si c'est possible de la faire pour les TC5332204AP (plus galère).
Enfin, je voudrais aussi ajouter la possibilité de programmer de PSOP44 type MX29L3211 ou équivalent en 64Mo montée du adaptateur DIP44 pour les réparation sans avoir à investir dans de multiples adaptateurs. Surtout qu'il n'en existe pas pour les 64Mo pour le GQ-4X même si il doit pouvoir le faire d'après les specs.
EDIT: La lecture des TC5364205AP est assez simple en fait sur le GQ-4X. Je viens de faire un test sur mon vieil adaptateur 16bit. En relevant la pin 11 et en la renvoyant sur le pin A22 du ZIF du programmateur. C'est à priori valable aussi pour les Willem et GQ-2X/3X via le BUS du programmateur sur lequel sont déjà renvoyés A19 et A20 pour l'adaptateur 16bit
Pour le "device", il suffit de créer un nouveau modèle sur la base de celui pour les 27C322 et de juste doubler la taille de la rom comme si dessous.
Name="27C322",ID="XXXX",Class="27C322",Category="EPROM",MFG="ALL(Generic)",CodeSize="4194304",Adapter="ADP-054, ADP-055 16 BIT EPROM ADAPTER";
Name="TC5364205AP",ID="XXXX",Class="27C322",Category="EPROM",MFG="ALL(Generic)",CodeSize="8388608",Adapter="ADP-054, ADP-055 16 BIT EPROM ADAPTER";
La modif est déjà faite sur la v1.5 de la carte en cours
J'avais trouvé sur le net les procédures pour lire ces maskroms en plusieurs fois avec mon valeureux GQ-4X. C'est fastidieux mais ça fait le job.
EDIT: je remets ci-dessous les procédures trouvées sur le net pour la lecture indirecte des TC5332204AP et TC5364205AP
Pour lire les TC5332204AP (cf pinout de la TC5332205AP ci-dessous qui est identique):
1- Relever la pin 30 (Q15) et la relier avec un fil au +5V (pin 22). Lire en tant que M27C322 et sauvergarder en tant que odd.bin. (lecture des octets impairs seulement)
2- Relier la pin 30 (Q15) avec un fil au GND (pin 12 ou 31). Lire en tant que M27C322 et sauvergarder en tant que even.bin. (lecture des octets pairs seulement)
3- utiliser un programme pour éliminer les 00/FF des 2 fichiers, ici romwak:
- 'romwak_x64.exe /b odd.bin split1 split2' (split1 contient les octets impairs et split2 seulement des 00/FF)
- 'romwak_x64.exe /b even.bin split3 split4' (split3 contient les octets pairs et split4 seulement des 00/FF)
4- utiliser un programme pour reconstruire la rom à partir des fichiers contenant les octets pairs et impairs ci-dessus:
- 'romwak_x64.exe /m split3 split1 fullrom.bin'
Alternative: Créer 2 fichiers octets pairs et octets impairs à partir du romset du jeu pour vérifier directement les maskroms sur le programmateur:
1- Utiliser romwak sur une rom V pour séparer les octets pairs et impairs:
- 'romwak_x64.exe /b NGH-Vx.Vx even.bin odd.bin.'
2- Insérer un bit vide 00/FF pour compléter les fichiers à 4Mo. Ici, le fichier blank-2Mo.bin ne contient que des FF.
- 'romwak_x64.exe /m even.bin blank-2Mo.bin Vx-even.bin'
- 'romwak_x64.exe /m odd.bin blank-2Mo.bin Vx-odd.bin'
3- Relever la pin 30 (Q15) et la relier avec un fil au +5V (pin 22). Lire en tant que M27C322 et vérifier le contenu avec le fichier Vx-odd.bin.
4- Relier la pin 30 (Q15) avec un fil au GND (pin 12 ou 31). Lire en tant que M27C322 et vérifier le contenu avec le fichier Vx-odd.bin.
Pour lire les TC5364205AP (cf pinout ci-dessous):
1- Relever la pin 11 (A21) et la relier avec un fil au GND (pins 12 ou 31) et lire en tant que 27C322.
2- Puis, relier la pin 11 (A21) au +5V (pin 22) et lire en tant que 27C322.
3- Puis concaténer les deux moitiés en utilisant le commande 'copy /b read1.bin + read2.bin read.bin'
Mais c'est le bordel pour faire les shunts quand il y a plusieurs maskrom à tester.
Du coup j'ai commencé à bosser sur un adaptateur 16bit incluant les shunts en question sous forme de jumpers pour lire les TC5364205AP et les TC5332204AP
Le but est de pouvoir lire et programmer les 27C1024/4096/400/800/160/322 et Maskroms équivalentes comme sur l'adaptateur ADP-054 classique.
Puis en jouant sur les jumpers, on peut lire les bits pairs ou impairs sur les TC5332204AP (8bit - 32Mo) utilisées pour les V-roms ou encore lire les TC5364205AP (16bit - 64Mo) en 2 fois (1ère et 2ème moitié) en utilisant une 27C322 comme modèle sur le programmateur. Plus besoin de s'emmerder avec les shunts etc...
Donc voici la v1.0 du NEO-DOCTOR pour GQ-4X. Pour les Willem et GQ-2X/3X, il suffit de monter les 8 pins du haut au niveau du connecteur qui va sur la programmateur afin de pouvoir raccorder les pins au BUS du programmateur
Le fichier est dispo ici
Je suis en train de regarder pour améliorer un peu le truc. Je pense avoir trouvé pour lire en une seule fois les TC5364205AP et je cherche pour voir si c'est possible de la faire pour les TC5332204AP (plus galère).
Enfin, je voudrais aussi ajouter la possibilité de programmer de PSOP44 type MX29L3211 ou équivalent en 64Mo montée du adaptateur DIP44 pour les réparation sans avoir à investir dans de multiples adaptateurs. Surtout qu'il n'en existe pas pour les 64Mo pour le GQ-4X même si il doit pouvoir le faire d'après les specs.
EDIT: La lecture des TC5364205AP est assez simple en fait sur le GQ-4X. Je viens de faire un test sur mon vieil adaptateur 16bit. En relevant la pin 11 et en la renvoyant sur le pin A22 du ZIF du programmateur. C'est à priori valable aussi pour les Willem et GQ-2X/3X via le BUS du programmateur sur lequel sont déjà renvoyés A19 et A20 pour l'adaptateur 16bit
Pour le "device", il suffit de créer un nouveau modèle sur la base de celui pour les 27C322 et de juste doubler la taille de la rom comme si dessous.
Name="27C322",ID="XXXX",Class="27C322",Category="EPROM",MFG="ALL(Generic)",CodeSize="4194304",Adapter="ADP-054, ADP-055 16 BIT EPROM ADAPTER";
Name="TC5364205AP",ID="XXXX",Class="27C322",Category="EPROM",MFG="ALL(Generic)",CodeSize="8388608",Adapter="ADP-054, ADP-055 16 BIT EPROM ADAPTER";
La modif est déjà faite sur la v1.5 de la carte en cours