1 Mar 2017

Conversion SF2' to Ghouls'n'Ghosts (World, not resale) CPS1

On CPS1 it's possible to convert any game to run with any B-board and with any C-board.

To use a different C-board:
- program ROMs have to be modified according to the tables of the C-board used

To use a different B-board:
- the graphic PAL has to be modified to handle graohic ROMs addressing
- ROMs have to be splitted/merged depending of the initial B-board and the conversion B-board

The conversion of SF2' to Daimakaimura is well know online, and there's a reason for it, it requires only ROM and PAL swap.
But I'm not happy with this conversion, as everyone outside of Japan I grew up on Ghouls'n'Ghosts not Daimakaimura (and I love the bat style title screen).
The conversion I propose is to convert a SF2' game using a 91634B-2 (EPROM) or 91635B-2 (mask ROM) B-board and a C-board with CPS-B-21 chip to the World (Export) version of Ghouls'n'Ghosts originally using a 88620B B-board with embedded CPS-B-01 chip (no C-board on this early CPS1 game).
The link to the files is available at the end of this post.

For the C-board there isn't any problem as the CPS-B-21 chip is a CPS-B-01 with volatile registers. If no suicide battery is used it's identical to the CPS-B-01 therefore no program modification is needed.

3.2) B-board conversion

3.2.1) Graphic PAL

For the B-board the job has already been done for the PAL: we can use the DAM63B file used for Daimakaimura to replace the S963B PAL present on the SF2' B-board.

The goal of the conversion is to obtain graphic ROMs at positions 01 to 08, audio ROM at position 09 and program ROMs at positions 22 & 23.

dm-05.3a corresponds to ROM at position 01.
dm-06.3c corresponds to ROM at position 02.
dm-07.3f corresponds to ROM at position 03.
dm-08.3g corresponds to ROM at position 04.

It's a bit more complicated for ROM at position 05: early CPS1 games use four 128kb * 8 bit ROMs instad of big 256kb * 16 bit ROMs.
Four files have to be merged: 09.4a (LSB LOW), 18.7a (MSB LOW), 10.4b (LSB HIGH) and 19.7b (MSB HIGH). The file we obtain is only 256kb so we can leave the other half of the ROM blanked (filled with $FF just like in the Daimakaimura resale version) or we can double the file which is what I did.

46 comments:

Do you think this is possible for a Pang 3 B Board?I want to try but am not sure I can combine all the gfx roms into the 2 16MBit 16bit chips that Pang has and if this would require different PAL data.

Congratulations, excellent work. With your files and method, I tried to do this conversion on a B-board 91634B-2 and a board-C 92641C-1 (which used to have suicide battery and was removed following the instructions suggested at http://www.arcadecollecting.com/dead/). But I can not make it look right. I can only see half of the information interrupted by vertical lines on the screen. I tried to change the EPROMS of their place and noticed that if I remove some EPROMs (positions 1,2, 5 and 6) I get exactly the same screen(https://drive.google.com/file/d/0B2lmEZO-KSbpS1YxSXh2bHhNVTQ/view?usp=sharing). What can I do to make it work properly? Thank you in advance for your attention and comments. Greetings.

Thanks.have you tried to swap EPROMs 2/3 and 6/7?Have you replaced the PAL?Are you sure the C-board is fully functional?From my experience at least half of the 'suicided' boards I bring back to life have faults. This is understandable: game developed a fault and was put aside. Then after few years battery died.

I already made the suggested change and it did not work(swapping ROMS and PAL replaced). The vertical lines are still visible. Regarding the C card I think it works well, since the game I had previously worked fine. Or at least he did not have the problem of vertical lines. I thought the problem is in the circuit that enables the ROMS since half of them are not being selected and therefore the image is not seen correctly. I can mention that when removing half of the EPROMS the image still looks the same. So I think they are not being selected correctly. Any idea how to solve the problem? Greetings.

Half of his graphics chips aren't being read. With the cps1 every group of four graphics chips makes one every other row of graphics. When only half of your graphics chips are being read you'll over see every other row of graphics creating these "vertical lines" of missing graphics. You need to burn a compatible pal and/or move the graphics chips that aren't displaying into sockets that your existing pal chip reads from.

From my experience the "circuit that enables the roms" is controlled by the pal chip in socket 1a. When I was converting king of dragons and I had the wrong pal chip in socket 1a I had the same thing happen, only half of the graphics chips were being read and only every other vertical row of graphics was being displayed.

Hi I recently converted my sf2ce boards into king of dragons. Since I have an over-abundance of 27c4096 chips, a shortage of 27c010s, and I like a good challenge, I want to combine the program roms into 512k chips that go into sockets 22 and 23.

In my attempt I interleaved two sets of two 128k roms and then appended the second interleaved set after the first one to make a 512k file. After looking how roms in the past were combined and how mame loads the roms of this game I came up with the following order to interleave the roms: first half of rom 22: kde_37a.11f (odd number bytes such as 1, 3, 5 etc) kde_30a.11e (even number bytes). I did the same sort of combining for the 23 rom.

The game runs this way, but incorrectly. The way my board is setup I can use a combination of four 128k chips and one 512k chip. When I use the original 128 chips for slot 23 and my combined rom for slot 22 the game runs, however, in the attract mode all of the characters walk in the wrong direction. When I use 128k chips for slot 22 and my combined rom in slot 23 the game runs but there's no bg graphics (only sprites), in the title screen when every letter finishes scrolling it plays a sfx, and after the title screen I just get a black screen.

The original King Of Dragons uses a suicide battery so the desuicided set must be used on a SF2CE board.Appart from that as long as you use a compatible C-board no modifications are needed in the code ROMs.However if you use a different B-board you may need to move jumpers or hand craft a new graphic PAL.

Thanks for letting me know that it's possible. My main board I'm using for conversions is a 91634B-2, the sf2CE jedec eprom type b board. My c board is a cps-b-21 since this was originally a Japanese sf2ce.

The OG strider pal chips are in different locations, I think the OC prg pal goes in 11e instead of 11d. On this pcb revision I can use a prg pal dump from the original strider?

I'm looking at the OG strider dump. I tried burning this a few times and it had no life on my pcb. I just burned the five program roms (one 512k chip and four 128k chips) and reprogrammed a gal16v8 in socket 1a with something that runs 8 maskroms for gfx. For the prg pal I tried bprg1, I can't recall if I tried lwio.11e but I don't see why I wouldn't have tried that.

Doing this should give me garbled gfx but the location and animation of the gfx should match strider just to prove that the program roms are working before I spend time burning all of the graphics roms. I didn't get that though, I just got even tiles across the screen with no animation.

For the conversion you must use the st24m1 file included in the MAME romset. It goes in position 1A.ROM at position 22 simply corresponds to ROM st-14.8h in the original romset.For ROM 23 you must interleave 35 & 30 for the first half and 36 & and 31 for the second half.All the other ROMs can be taken from the Japanese resale version.

So the only way I get any signs of life on this pcb with strider is by using sth63b.1a pal found with the japan resale version dump. With that pal I get the black outline of text on the ram test screen during bootup, followed by a black screen. I combined the roms of three different versions of strider and burned them all and they all do the same thing as the japan resale version 23 rom, black outline of the ram test screen followed by a black screen.

So it seems what was stopping me from getting some games running before was just the stupid dip switches. I completely forgot cps1 pcbs are so old that they use dip switches and I also forgot that there's a dip switch to freeze the game. Why they'd include a dip switch that freezes the game I'd really like to know, as that created a lot of confusion and made me think I did something else wrong. I'm too used to pcbs having their settings in a service menu and saving the setup to an eeprom or some form of battery backed memory.

After all of this tinkering, I discovered that I love strider a lot more than I expected I would. I've decided that I enjoy strider so much that I'm going to hold onto one cps1 pcb just to play strider.

I really want to thank you for the helpful input and taking the time to do this work which inspired me to do similar projects. If it wasn't for your posts, I probably would have sold this pcb off, but thanks to you I instead now have a strider pcb that I absolutely love playing.

Since I'm holding onto one pcb, it looks as if some day I'll get my chance to try out final fight on the original hardware. Even if it turns out I don't enjoy the game (which is most likely what will happen), just getting the experience of credit feeding my way through this classic game on the original pcb once is totally worth the effort.

I really look forward to seeing your work getting final fight to work. I'd love to see what's involved and maybe take a crack at converting other great games like 1941: counter attack to work with more common pcbs. Thanks again for all this highly inspiring work and replies.

Thanks for the kind words.Actually I do like Final Fight but no as much as Cadillacs & Dinosaurs. The atmosphere of this beat-them-up is so unique and awesome in my opinion. Have a try (if you don't own a CPS dash system you can make a conversion for non Q-sound hardware, see article on my blog).

I recently was handed a Varth pcb from a friend that had the sound roms burned improperly and the jumpers for the sound chips in the wrong spots (presumably in an attempt to make the sound chips work again). What was interesting about this board is it's running a world version of varth that runs on a cps-b-21 without the suicide circuit. Apparently only the Japanese version of varth runs on a suicide version of the cps-b-21, so maybe someone used the desuicided code from the Japanese dump to patch the world version of varth.

I recently watched youtube videos on the reverse engineering of the cps-b-21. From my understanding, the information that the cps-b-21 suicide circuit contains basically turns the cps-b-21 into a different revision cpu.

So my question is, are the "desuicide" patches on the dead battery society just patches that convert the game code from running on one ppu revision into a version of the game that runs on the cps-b-01?

Yes exactly, desuicided code is patched to run with a B-01. Also when pins 44 and 45 are connected to +5V on a B-21 chip it makes it equivalent to the B-01.Some CPS1 games just need few bytes to be modified to change their region so maybe they used the Japanese desuicided set and did so.

Thanks to this amazing stuff I converted my two street fighter 2 champion edition pcbs into games I really enjoy (strider and varth). I was planning on selling these pcbs, but now I like these games so much I'm holding onto them. Thank you so much for inspiring me to give new life to my cps1 boards

This worked great, thanks for the info and files. I'm curious if the game Pnickies could also be made to run on a 91635B-2. I would think the file merging is similar to what you did here, but the PAL isn't dumped for that game :( Any ideas? Cheers.

Yes Pnickies can be run on a 91635B-2 (or 91634B-2) by just merging ROMS and handcrafting a new PAL (details of the mapper PKB10B are in MAME). Anyway any CPS1 game can be run with any C-board and on any B-board with the appropriate modifications (see Carrier Air Wing article for more information).