Jump to content

Ptchnk

Membre
  • Content Count

    75
  • Joined

  • Last visited

  • Days Won

    2

Ptchnk last won the day on June 12

Ptchnk had the most liked content!

Community Reputation

1 Neutre

About Ptchnk

  • Rank
    Membre
  • Birthday 06/25/1978

Profile Information

  • Genre
    Male
  • Localisation
    Condate

Recent Profile Visitors

157 profile views
  1. Ayant eu besoin de vérifier quelques maskroms (V et S1 notamment) pour la réparation de Metal Slug, je mets ici les procédures pour lire les TC5332204AP, TC5364205AP et TC531000. 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 bits 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 bits 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 bits impairs et split2 seulement des 00/FF) - 'romwak_x64.exe /b even.bin split3 split4' (split3 contient les bits pairs et split4 seulement des 00/FF) 4- utiliser un programme pour reconstruire la rom à partir des fichiers contenant les bits pairs et impairs ci-dessus: - 'romwak_x64.exe /m split3 split1 fullrom.bin.' Alternative: Créer 2 fichiers bits pairs et bits 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 bits pairs et un 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' [Pour lire les TC531000 (28 pins) utilisées pour les roms S1: 1- Prendre le modèle d'eprom 27C301 (32 pins) comme "device" 2- relever le pin 28 (Vcc) et le relier avec un fil là où la pin 32 de la 27C301 est attendue sur le support du programmateur (+5V) 3- lire en tant que 27C301.
  2. Petit comm' sur ta config. On vient de me demander un NITD et je l'ai monté sur le combo PROGSM/CHA256. Pour les C1/C2 de 8Mo, ils s'avèrent que la 2nde moitié des roms est vide... enfin presque, sur la rom original, il y a à la toute fin le logo du FBI avec le fameux "winners don't use drugs" qui est dispensable ;). Par contre, sur la rom décryptée, c'est bien totalement vide. Le jeu tourne parfaitement avec seulement la 1ère moitié des C1/C2 montée sur des 27C322. D'ailleurs au vu de ta config de jumpers, le système ne lit même pas les C3/C4 car pas de jumper au niveau de la paire JG2/J10 associée au C3/C4. De plus, vu que tu as monté de C de 4Mo, il faudrait J5+J6=ON et J7+J8=OFF et JG1+JG2=ON et J9+J10=OFF. Je suis surpris que le jeu le tourne correctement.
  3. Je dois avouer que l'aspect bricole m'intéresse limite plus que de jouer. Dans la cas présent, je n'avais surtout pas le courage de re-dessouder les 7 eproms. Puis j'ai appris pas mal de trucs et j'ai mis à profit ce que j'ai appris en cartographiant les CHA256 et CHA512 :D Sinon, effectivement joli challenge de faire tourner un jeu sur une PROG qui ne prend de des 27C800 en taille max (bon y a moyen d'ajouter un LS08 pour mettre un 27C160 sur une V) et une CHA qui ne prend sue de 27C322 en taille mini . T'as pas du utiliser beaucoup de slots C sur le 512!
  4. En fait, j'ai dit en partie un connerie. P14/P15 n'ont rien à voir avec les pins de la rom P1 mais avec le P bus sur le CM entre la cartouche et les chips vidéos. neo geo dev wiki Reste que le programme du jeu doit quand même avoir son mot à dire la dedans pour s'adapter à la CHA board affecté au jeu.
  5. Voilà cela fonctionne Comme l'inversion sur les pin 45/46 du neo-273 inversait également les pins A2(10) et A4(8) de S1 car elles partagent les mêmes pistes entre le neo-273 et le peigne de la cartouche, j'ai remis les continuités d'origine à ce niveau et fait l'inversion au niveau des pins 45/46 du NEO-273. Pour rappel: Sur une CHA42G-2: la pin 45 = A19 (1) des C, et les pins 46&47 servent d'inverseur CE&/CE avec 46 = /E (11) de C1/C2 et 47 = /E(11) de C3/C4. Les pins /G (32) des C en high (Vcc) Sur une CHA42G-3: la pin 45 = A19 (1) des C, et les pins 46 = 1A (2) LS139 et 47 = NC. Le LS139 est connecté aux pins /E (11) des couples C1/C2, C3/C4, C5/C6 et C7/C8. La pin 1B (3) du LS139 est connectée au LS74. Les pins /G (32) des C en high (Vcc) Sur une CHA256: la pin 45 = A19 (1) des C, et les pins 46 = 1A (2) LS139 et 47 = NC. Le LS139 est connecté aux pins /G (32) des couples C1/C2, C3/C4, C5/C6 et C7/C8. La pin 1B (3) du LS139 est connectée au LS74. Les pins /E (11) des C en low (GND). Comme sur la 42G-2, les pins 54/55 du NEO-273 sont inversées, au lieu de les inverser sur la 42G-3 et du coup inverser aussi A2/A4 de S1, j'ai simplement inversé les pins 45/46 en mettant 46 = A19 (1) des C et 45 = 1A (2) LS139. Cela m'a permis de récupérer les tuiles de background mais ces dernières et les sprites étaient bugués (lignes de pixel multiples (doublées ou quadruplées)). Le souci est résolu en mettant la pin 1B (3) du LS139 à la masse. C'est pas super propre mais ça fait le job. Au final, cela fait 3 shunts à faire. Je ne sais pas si la manip est jouable sur le CHA256. Aussi splitter les C1/C2 en 2 pour avoir C1(2Mo)=C1(1Mo)+C3(1Mo) et C2(2Mo)=C2(1Mo)+C4(1Mo) permettrait normalement de faire tourner le jeu aussi bien sur CHA42G-3 que CHA256 dans faire de modifs sur les cartes. Reste la question de la possibilité de modifier P pour gérer l'inversion P14/P15 au niveau du soft?
  6. Petit update: J'ai fait l'inversion entre P14/P15 et les pins 54/55 du NEO-273 et bingo, je retrouve mes tuiles de background... par contre comme attendu, cela fout le bordel dans les textes car cela crée une inversion entre les pins A2(10) et A4(8) de S1 vis à vis de P14/P15. Donc il faudra aussi croiser ses 2 lignes par rapport au pin 50/51 du NEO-273. Donc 4 shunts à mettre en tout. Ce semble confirmer que le programme des jeux qui tournent sur les cartes CH42G, 42G-1 & 42G-2 est spécifique à ces cartes. D'où ma question, est-ce envisageable de modifier P1 et S1 pour intervertir les secteurs associés à P14/P15 et A2/A4 respectivement pour remplacer les shunts harware?
  7. La CHA42G-3 étant déjà montée et ayant déjà été torturée, je ferai un modif du hard en premier pour inverser les pins du peigne (P14 & P15) qui sont associées sur le NEO-273 respectivement à A19 (45) et 1A-LS139 (46) pour la 42G-3, et respectivement aux /CE des C (/CE C1/C2 sur pin 46 et /CE C3/C4 sur pin 47) et A19 (pin 45) sur le 42-G2. Sur la 42G-2, le programme va donc d'abord titiller le /CE (P14) avant de regarder A19 (P15) si qui peut expliquer la lecture inhabituelle des C roms sur cette carte. En transposant tout sur la 42G-3, cela bugue forcement car P14 se retrouve alors classiquement associé à à A19 et P15 à 1A-LS139.
  8. Salut Red, merci pour la proposition mais je sais que cela marche avec le set de Mame si on utilise une CHA42G-1 (ou 42G ou 42G-2) qui sont routées spécifiquement. Pour la PROG, les G2, 4096, GSC, TOP et BK1 font l'affaire normalement. Il me semble comprendre d'après la page wiki, que si utilisation de rom de 2Mo, le programme lit d'abord la première moitié de chaque C, puis seulement après avoir lu le début de C3/C4, va lire la seconde moitié des C. Comme si la seconde moitié de C était vu comme des 1Mo sur des emplacement C5/6 et C7/8. D'où la reconstruction nécessaire si on met un autre jeu sur une CHA42G ou -1 ou -2. Sur la CHA42G-3, j'ai l'impression que si on utilise les C1/C2 de Viewpoint telles quelles sur des 2Mo, le programme lit bien la 1ère moitié des 2 C (j'ai tous les sprites notamment) et ensuite, au lieu d'allée chercher les backgrounds dans la seconde moitié des C, il regarde le début d'une éventuelle C3/C4 même si il n'y en a pas. J'ai tous les textes donc S1 est OK. A priori, pas de pb si seulement des 1Mo sont utilisées. Dès que j'ai des 27C800 sous le coude, j'en rajouterai sur le CHA déjà montée avec la deuxième moitié des C1/2 dessus tout en gardant les C1/C2 de base sur des 2Mo. Si cela règle le pb, cela confirma l'ordre de lecture attendu par le programme ou bien que je raconte beaucoup de conneries (c'est aussi fortement probable). Restera à voir si l'inversion sur les pins de S1 crée des glitches ou pas.
  9. J'ai récupéré un boot MVS de Puzzle de Pon il y a quelque temps. Quelques maskorms sur la CHA board, inquide que le donneur était un World Heroes 2 (PROG4096B et CHA42G-3). La CHA board avait été un peu modifiée également avec un shunt entre le LS139 (pin1/GND) et la pin 1 (A18) de la C6 (maskrom résiduelle), et également un autre au dos mettant la pin 3 du LS139 et le pin 9 du LS74 à la masse. Mon idée était d'en faire un Viewpoint qui d'origine est monté à partir de PROG4096/CHA42G-2 ou de PROG-G2/CHA42G-1. Après viré les shunts et mis les eproms qui vont bien: 27C160 pour V1&2 et C1&2, 27C800 pour P1 et 27C1001/27C1000 pour M1/C1. Le jeu démarre bien mais présente des bugs graphiques (en gros il manque des tuiles dont celle du background). J'ai essayé avec une CHA256 et après avoir vérifié les eproms, même résultat. Le pb ne vient pas de la PROG board, car testée ok avec un autre Viewpoint sur CHA42G-2. Après il s'avère que pour les CHA42G, G-1 et G-2, il y a quelques différences par rapport aux autres CHA boards comme précisé ici pour la CHA42G avec un inversion entre les pins du peigne de la cartouche et les celles du NEO-273 pour A19 (pin45) et A20 (pin46), de même entre S1 (A2/pin10 & A4/pin8) et le NEO-273 pour (pin 50 & 51). Après vérifiaction, la CHA42G-3, elle, est routée comme la CHA256 pour les points ci-dessus. La page du dev wiki indique que si utilisation de rom de 2Mo, il faut les reconstruire comme suit: C1 = First 1MiB of C1 + First 1MiB of C3 C2 = First 1MiB of C2 + First 1MiB of C4 C3 = Second 1MiB of C1 + Second 1MiB of C3 C4 = Second 1MiB of C2 + Second 1MiB of C4 Donc à priori, pas de pb pour le faire en sens inverse pour faire tourner le jeu sur une CHA board "classique" si utilisation de 4 roms de 2Mo. Par contre dans le cas d'un jeu avec seulement 2 roms C1 & C2 de 2Mo comme Viewpoint, cela signifierai de le répartir sur 4 eproms de 1Mo à priori. Pas pu tester pour l'instant car pas suffisamment de 27C800 sous le coude. Pour garder les C sur seulement 2 eproms de 2Mo sans couper de pistes et faire des shunts sur la CHA board et comme le jeu semblant être programmé pour tourner seulement sur des CHA42G, G-1 ou G2, serait-il, d'après vous, possible de modifier le programme sur P1 pour changer les adressages pour les tuiles graphiques? Cela serait l'occasion de voir un peu comment tout ça fonctionne.
  10. @ichigobankai: Cool! merci. Du coup, j'ai MAJ les images car il restait qq coquilles
  11. MAJ ajout de la CHA512. C'était plus rapide que prévu car très peu de changement finalement par rapport à la CHA256.
  12. 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à.
  13. 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. 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)
  14. Pour le bug graphique, le souci vient à priori de la config de jumper pour les C7/C8. Il faudrait le jumper ON sur J14 et non R4 car roms de 32Mo à ces emplacements
  15. Petit déterrage car je tombe sur ce post par hasard. Pour avec cette config d'eprom (4x32Mo): - J2/J3 = ON OK (config de la M1) - Par contre, les paires J9/JG1, J10/JG2, J11/JG3 et J12/JG4 définissent la taille des eproms respectivement sur pour les paires C1/C2, C3/4, C5/6 et C7/8. Avec J9-12 = ON si 64Mo et JG1-4 = ON si 32Mo ou moins. Un peu comme sur les CHA256 et CHA256B pour différencier les 32Mo et les 16Mo et moins. Donc ici, cela serait plutôt: JG1/JG2/JG3 = ON - Reste les jumpers J5/J6/J7/J8? Possiblement la taille max des eproms. Apparement J7/J8 = ON si au moins une paire de C de 64Mo (comme sur les CHA256 et CHA256B avec les différencier les tailles max de 8Mo (ou moins)/16Mo et 32Mo). Comme dans le cas présent, taille max de 32Mo, config à changer ici probablement également. Sur mvs-scans, on ne voit que la config J7/J8 = ON qui correspondrait à un taille max de 64Mo car peu d'intéret d'utiliser cette version de CHA si pas de C de 64Mo. Après en concaténant C1+C3 et C2+C4 sur les emplacements C1 et C2 respectivement pour avoir 2 C de 64Mo, cela devrait marcher avec J2/J3/JJ7/J8/J9 = ON à priori Enfin, t'as probablement eu ta réponse depuis le temps
×
×
  • Create New...