まこと の ブログ

MaKoTo no burogu — Journal de bord…

Aller au contenu | Aller au menu | Aller à la recherche

IQS−PGM - Cartouche de jeu DIY N°2

Suite de l'aventure précédente :

  • On reprend le travail, ici avec le jeu Dodonpachi Dai-ou-jou, appelé aussi Dodonpachi 3.

Ce jeu a la particularité, comme d'autre jeux édités par CAVE d'exister en deux versions. L'habitude chez cet éditeur c'est qu'à la sortie d'un jeu, il s'appelle simplement par son nom, et quelques temps plus tard il peut arriver que le jeu ressorte en version « Black Label ». Celle-ci venant améliorer le gameplay et en revoir la difficulté par exemple. La version du jeu précédente est alors re-nommée « White Label ».

Nous allons construire la version du jeu qui contient la White et la Black label, nommés simplement « Version-A (Old) » et « Version-B (New) » depuis le tableau d'accueil proposé dans la rom spécifique.

Mais d'abord, il faut souder les 2 cartes ! Cette fois-ci j'ai quelques photos…

  • La carte program:


  • La carte character :



La programmation :

1 − Extraire les binaires pour les EEPROM 27c322 :
Télécharger sur le net la rom mame avec la mention « BL », ici : ddpdojblkbl.zip
À priori celle-ci devrait peser 19,3 Mio (20323962 octets)

  • À l'aide du script python rom_gen.py qu'on aura pris soins d'extraire préalablement, exécuter :
python3 rom_gen.py ddpdojblkbl.zip

Qui va générer le dossier « ddp3_rg » contenant les binaires à flasher sur les puces. (le dossier « bios_rg » n'est pas utile)

  • Exécuter ensuite :
python3 rom_gen.py -b pgm_bios_single_pcb_vxxxJP.u42 PGM\ Program\ Files.zip


Qui va générer dans le dossier « ddp3_rg » les fichiers « ddp3_p1_bl_qb.bin » et « ddp3_p1_dual_qb.bin ».
Utiliser le fichier « ddp3_p1_dual_qb.bin » à la place du fichier « ddp3_p1_amb.bin » précédemment généré par la rom, permet d'obtenir le tableau de choix de la version (old = White, new = Black).
Pour info, le jeu démarre directement sur ce tableau après avoir brièvement affiché la date du jour.

2 − Programmer les EEPROM 27c322 :
Se référer au billet précédent pour plus de détails sur la procédure de programmation et obtenir l'archive de scripts.

3 − Placer les EEPROM 27c322 sur les PCB :
Se référer pour cela aux sérigraphies, et faire attention au sens d'orientation des puces !

4 − Programmer la GAL : ATF16V8B qui va en position U6 :
Écrire le fichier PGM-RG-U6.jed.

5 − Programmer la GAL : ATF16V8B qui va en position U5 :
Écrire le fichier PGM_RG_U5_QB.jed.

NB : Dans le cas de ce jeu, les jumpers ne servent à rien.

Mise en cartouche et tests :

Le jeu fonctionne, mais j'ai parfois rencontré des problèmes d'erreurs CRC après avoir sélectionné la version White du jeu.
Si on laisse dérouler la démo, le jeu plante. Mais si on met un crédit, le jeu fonctionne. En cas de Game Over, le jeu plante.

  • Comme montré dans cette vidéo :

Lorsqu'on sélectionne la version Black, aucun problème.
Comportement erratique dont on peut fort bien s'accommoder, ou bien prendre la solution apportée sur le forum, en utilisant un binaire de remplacement, proposé par IQ 132 sur cette page, et disponible en annexe à ce billet.

− Il faut donc effacer la puce 27c233 qu'on avait en P1 et écrire dessus le fichier « ddp_j.bin » contenu dans l'archive.
− Il faut aussi effacer la puce ATF16V8B située en U5 et lui écrire le fichier « PGM_RG_U5_DDP.jed » disponible depuis l’archive principale.

  • Cette fois le jeu démarre en montrant le bios du slot IGS-PGM, puis ensuite tout fonctionne parfaitement.


À suivre…

Annexes

Ajouter un commentaire

Le code HTML est affiché comme du texte et les adresses web sont automatiquement transformées.

Fil des commentaires de ce billet