Aller au contenu

Ptchnk

Membre
  • Compteur de contenus

    124
  • Inscription

  • Dernière visite

  • Jours gagnés

    8

Tout ce qui a été posté par Ptchnk

  1. J'ai pu avancer sur l'adaptateur 16bit pour le GQ-4X avec quelques twists. 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 bytes 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 la programmateur. Plus besoin de s'emmerder avec les shunts etc... Il fait que je vois si il n'y pas moyen de créer le modèle de "device"qui va bien pour le GQ-4X pour lire directement la totalité des TC5364205AP en une fois. Pareil pour la lecture des TC5332204AP en mode 8bit. Il y aurait juste 2 affection de pin de jumpers à revoir sur la carte.
  2. Sinon j'ai commencé à faire une version épurée et upgradée de l'adaptateur ADP-054 pour le GQ-4X en ne conservant que les supports des eproms DIP et en ajoutant les 3 jumpers de la plaque ci-dessus. Il reste 2/3 trucs à vérifier avant de faire le PCB. L'idée est d'avoir un adaptateur qui permettent de programmer les 27C1024/27C4096/27C400/27C800/27C160/27C322 et qui permettent de lire les TC533204AD et TC536405AD sans faire d'empilage d'adaptateurs. En gros le truc pour vérifier et réparer (en partie) ces jeux Neo Geo avec le GQ4X.
  3. C'est dispo ici J'ai légèrement modifié le design pour supprimer un jumper. Le même jumper pour sélectionner GND ou +5V sert pour les 2 types de maskroms en fonction de la config des jumpers Crom et Vrom qui devront toujours être en configuration inversée. YES/NO ou NO/YES
  4. J'ai 4 de chaque en rab. Par contre, je me suis un peu foiré sur celle pour les maskroms TC5332204AP et des TC5364205AP. Je n'ai pas pris la bonne empreinte pour l'emplacement des barrettes de pins qui vont sur le programmateur. Les trous sont un poil petit et il faudrait les repercer à 8mm (pas de pb de continuité car toutes les pistes sont sur la même face). Mon plus petit foret étant du 1mm, je n'ai pas tenté le coup car cela reduirait trop la pastille? Faut je regarde ce que l'on a au taf. Du coup, pour celui que j'ai monté, j'ai rentré les barrettes en force en tapotant avec un maillet et ça l'a fait. Aussi, le pas pour les jumpers est un peu grand (3mm au lieu de 2,54). Une fois testée, je corrigerai le fichier (diamètre trous et pas jumpers) et mettrait à disposition. Pour l'autre carte, aucun pb Si toutefois, ça t'intéresses tout de même, au prix coûtant ça donnerait de 1,80€ fpdin pour la carte, 2,50€ fdpin si tu veux la paire.
  5. Pour faciliter la vérification des TC5332204AP et des TC5364205AP je me suis fais un petit adaptateur avec des jumpers. En gros, on choisit le type de maskroms, et en fonction du choix, on peut soit mettre la pin 30 au GND ou au 5V pour lire les bytes pairs ou impairs seulement sur les TC5332204AP, ou faire le même chose sur la pin 11 pour lire les TC5364205AP en deux fois comme si c'était des M27C322. J'en ai profité pour faire un plaque pour lire et graver les S rom en 28 ou 32 pins.
  6. Cool si ton jeu refonctionne correctement Je ne vois pas trop le souci de config. Le seul exemple que j'ai vu de la CHA512 montée avec des roms de 4Mo est le set de Blazing Star sur la page du Wiki Neodev. Si t'as l'occasion de poster une photo de ta carte. Peut-être que le fait d'avoir des roms en C3/C4 alors que les jumpers J10/JG2 ne sont pas configurés perturbe le fonctionnement de la carte. Mais le plus important est que le jeu tourne. T'as pu le tester jqau bout pour voir que tout tournait comme il faut?
  7. Etonnant. t'as bien modifié J5 et J6 aussi? Je pense qu'avec l'ancienne config, cela fonctionnait car le programme n'allait pas chercher dans les C3/C4 car la totalité des sprites tiennent dans 2 C de 4Mo (C1 et C2). Donc même si, la carte était configurée pour des C de 8Mo en C1/C2 seulement, cela fonctionnait pareil avec des 2 C1/C2 de 4Mo car le programme y trouvait tout ce qu'il cherchait. Pour tes pbs de scores, cela viendrait plutôt de la "fix layer" et donc de ta S1.
  8. 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.
  9. FYI, j'ai mis les cartes à disposition sur easyEDA également. Cartes contrôles PC-Engine 1P & 2P
  10. 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 bytes 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 bytes 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 bytes impairs et split2 seulement des 00/FF) - 'romwak_x64.exe /b even.bin split3 split4' (split3 contient les bytes 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 bytes pairs et bytes 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 bytes 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' UPDATE 15/02/2021: 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"; [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.
  11. 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.
  12. 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!
  13. 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.
  14. 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?
  15. 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?
  16. 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.
  17. 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.
  18. 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.
  19. @ichigobankai: Cool! merci. Du coup, j'ai MAJ les images car il restait qq coquilles
  20. MAJ ajout de la CHA512. C'était plus rapide que prévu car très peu de changement finalement par rapport à la CHA256.
  21. 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à.
  22. 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)
  23. 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
  24. 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
  25. Il y un ampli vidéo THS7374 sur celui dispo sur Oshpark qui absent sur la version chinoise.
×
×
  • Créer...