Salut à tous'
Voilà, j'aimerais bien me faire un petit Daimakaimura (Ghouls'n Ghosts) sur CPS1.
Mais je n'ai que de "sacrificielle" une PCB de "Quiz: Tonosama no Yabō 2" sur une B board 90629B-3.
Normalement pour faire cette conversion, il aurait fallu une B board de SF2 de type 91634B-2.
Je sais, vous allez dire, si ça marche pas, c'est normal, t'as pas la bonne, mais bon, en parcourant un peu le net, je suis tombé sur un forum US qui parlait d'une convert faite à partir d'un king of dragon (et donc de la même B board que moi)
Exemple de ma b board :
Comme la B board est différente, le GAL n'est donc pas compatible (en vérifiant sur un SF, j'ai suivi les pistes de CE et OE des Proms et sur la mienne tout n'est pas câblé)
Je me suis donc dit d'utiliser la GAL de Quiz.
En parcourant les sources de Mame, on tombe sur des choses intéressantes :
"Quiz: Tonosama no Yabō 2"
ROM_REGION( 0x400000, "gfx", 0 )
ROMX_LOAD( "tn2-02m.4a", 0x000000, 0x80000, CRC(f2016a34) SHA1(3862960fa14742547f6a6deacf0b9f409d08fee8) , ROM_GROUPWORD | ROM_SKIP(6) )
ROMX_LOAD( "tn2-04m.6a", 0x000002, 0x80000, CRC(094e0fb1) SHA1(7c9a9a7d03e226109002dd389c872e3d4be43287) , ROM_GROUPWORD | ROM_SKIP(6) )
ROMX_LOAD( "tn2-01m.3a", 0x000004, 0x80000, CRC(cb950cf9) SHA1(8337a500141c1aec82b6636ad79ecafbdbebd691) , ROM_GROUPWORD | ROM_SKIP(6) )
ROMX_LOAD( "tn2-03m.5a", 0x000006, 0x80000, CRC(18a5bf59) SHA1(afbfcb28c40551747bb5276aac2b9c15a24328e1) , ROM_GROUPWORD | ROM_SKIP(6) )
ROMX_LOAD( "tn2-11m.4c", 0x200000, 0x80000, CRC(d0edd30b) SHA1(a76d7f134f9e52f79a485402d17dcc7a1fe99f29) , ROM_GROUPWORD | ROM_SKIP(6) )
ROMX_LOAD( "tn2-13m.6c", 0x200002, 0x80000, CRC(426621c3) SHA1(89156bc9d585f546cd619db419dd1f4d9871d930) , ROM_GROUPWORD | ROM_SKIP(6) )
ROMX_LOAD( "tn2-10m.3c", 0x200004, 0x80000, CRC(a34ece70) SHA1(15864d6b280f624245add8a611f1699da570392b) , ROM_GROUPWORD | ROM_SKIP(6) )
ROMX_LOAD( "tn2-12m.5c", 0x200006, 0x80000, CRC(e04ff2f4) SHA1(774c19909a2ae2c691f5d3f15b6e19cc94baf799) , ROM_GROUPWORD | ROM_SKIP(6) )
"Daimakaimura (Ghouls'n Ghosts)"
ROM_REGION( 0x400000, "gfx", 0 )
ROMX_LOAD( "dam_01.3a", 0x000000, 0x80000, CRC(0ba9c0b0) SHA1(c4945b603115f32b7346d72426571dc2d361159f) , ROM_GROUPWORD | ROM_SKIP(6) ) // == dm-05.3a
ROMX_LOAD( "dam_02.4a", 0x000002, 0x80000, CRC(5d760ab9) SHA1(212176947933fcfef991bc80ad5bd91718689ffe) , ROM_GROUPWORD | ROM_SKIP(6) ) // == dm-07.3f
ROMX_LOAD( "dam_03.5a", 0x000004, 0x80000, CRC(4ba90b59) SHA1(35bc9dec5ddbf064c30c951627581c16764456ac) , ROM_GROUPWORD | ROM_SKIP(6) ) // == dm-06.3c
ROMX_LOAD( "dam_04.6a", 0x000006, 0x80000, CRC(4bdee9de) SHA1(7d0c4736f16577afe9966447a18f039728f6fbdf) , ROM_GROUPWORD | ROM_SKIP(6) ) // == dm-08.3g
ROMX_LOAD( "dam_05.7a", 0x200000, 0x80000, CRC(7dc61b94) SHA1(7796bae7555c541b3c80aacfa24788aeb2ccdfd5) , ROM_GROUPWORD | ROM_SKIP(6) )
ROMX_LOAD( "dam_06.8a", 0x200002, 0x80000, CRC(fde89758) SHA1(9a6192f629cd1e74e225ef7426338c2816c6b977) , ROM_GROUPWORD | ROM_SKIP(6) )
ROMX_LOAD( "dam_07.9a", 0x200004, 0x80000, CRC(ec351d78) SHA1(1005a83be4b5577612143ae7f64ca4a08aae7959) , ROM_GROUPWORD | ROM_SKIP(6) )
ROMX_LOAD( "dam_08.10a", 0x200006, 0x80000, CRC(ee2acc1e) SHA1(4628a9b2447266349d97132003992a21e2bb423a) , ROM_GROUPWORD | ROM_SKIP(6) )
On peut constater que les deux utilisent la même région de base pour les graphismes (0x400000) et aussi des offsets communs : 0x000000 / 0x000002 / 0x000004 / 0x000006 / 0x200000 / 0x200002 / 0x200004 / 0x200006
Par contre, on constate que les PROMS ne sont pas dans le même ordre,
"Quiz: Tonosama no Yabō 2"
PROM 2 en 0x400000 + 0x000000
PROM 4 en 0x400000 + 0x000002
PROM 1 en 0x400000 + 0x000004
PROM 3 en 0x400000 + 0x000006
PROM 11 en 0x400000 + 0x200000
PROM 13 en 0x400000 + 0x200002
PROM 10 en 0x400000 + 0x200004
PROM 12 en 0x400000 + 0x200006
"Daimakaimura (Ghouls'n Ghosts)"
PROM 1 en 0x400000 + 0x000000
PROM 2 en 0x400000 + 0x000002
PROM 3 en 0x400000 + 0x000004
PROM 4 en 0x400000 + 0x000006
PROM 5 en 0x400000 + 0x200000
PROM 6 en 0x400000 + 0x200002
PROM 7 en 0x400000 + 0x200004
PROM 8 en 0x400000 + 0x200006
Il m'a suffit de "mixer" tout ça en mettant :
Daimakaimura PROM 1 -> Quiz position 2
Daimakaimura PROM 2 -> Quiz position 4
Daimakaimura PROM 3 -> Quiz position 1
Daimakaimura PROM 4 -> Quiz position 3
Daimakaimura PROM 5 -> Quiz position 11
Daimakaimura PROM 6 -> Quiz position 13
Daimakaimura PROM 7 -> Quiz position 10
Daimakaimura PROM 8 -> Quiz position 12
J'utilise des 27C4096, je place donc aux endroits adéquat (la 1 en PROM correspond à la 5 en EPROM, etc)
Daimakaimura PROM 1 -> Quiz position 6
Daimakaimura PROM 2 -> Quiz position 8
Daimakaimura PROM 3 -> Quiz position 5
Daimakaimura PROM 4 -> Quiz position 7
Daimakaimura PROM 5 -> Quiz position 15
Daimakaimura PROM 6 -> Quiz position 17
Daimakaimura PROM 7 -> Quiz position 14
Daimakaimura PROM 8 -> Quiz position 16
Jusque là, vous me suivez j'espère
Bref, EPROM son au bon endroit, EPROM code aussi, je démarre, et....
Ca marchotte...
J'ai des soucis au niveau des sprites de la démo (la princesse, les coeurs qui s'envolent, les dragons, le cheval qui traverse, les paysans morts, etc...)
Par contre, le premier niveau est quasiment parfait, juste le sprite quand on meurt qui ne fonctionne pas.
Quelqu'un a t il déjà tenté l'expérience sur ce type de PCB ?
Est-ce comme sur MVS où le code microprocesseur n'est écrit que pour certaine type de cartouches (la CHA de supersidekicks 1 par exemple) ?
A bientôt