Recovering a dead CPS2 board – Street Fighter Zero 2 (Brazil)

My weekend at the hackerspace was fun indeed. I spent the whole Saturday (March 5th, 2016) afternoon and night (up to Sunday 4am) trying to resuscitate a dead CAPCOM CPS2 arcade board. The game used to be Street Fighter Zero 2 (Brazil). But as the suicide battery was dead, it means the board lost the crypto key that it typically stores in an internal static RAM backed by the battery. So, without the correct key, the CPU can’t run the encrypted ROM code any more.

Luckily, years ago people figured out that the crypto-CPUs from CPS2 boards behave as a normal CPU capable of running unencrypted code when the battery is dead. So all we need to do to restore this arcade board is to replace the ROMs in it with a set of decrypted ones. Some people such as the CPS2 ROM Decryption Effort have put the effort to manually decrypt the ROMs of several CPS2 games. It is a time consuming task, so not all games are already decrypted. That’s the case for the game I had in my CPS2 board.

But there’s a similar game, a variant of it called Street Fighter Zero 2 Alpha (Brazil), which is already decrypted. And it uses the same graphics and sound assets (which were already originally unencrypted memory chips), so there’s no need for me to change all those chips, but only a few code EPROMs (6 in total). So I did it and after some struggling, which included instaling a “CPS2 suicide test” ROM developed by Razoola, I finally got the board to boot. Everything works nicely except the video. I can see the intro of the game, the music and sound effects are perfect, but the graphics are partially corrupted.

The current state is that 50% of the screen (every odd vertical strip of tiles) displays good graphics while the other 50% is corrupted. I could not yet figure out what’s wrong, but I could verify that the graphics assets ROM contents are perfect, so it must be some issue with the addressing circuitry to select those ROM chips. I think the culprit may be the BGS-B3D PAL16L8 chip in the B-Board.

I was too tired to continue, so I packed things and went home. I’ll have to resume the investigation another day. But it sure was fun and I almost got it working perfectly.

[[ This is a quick posting. I may tweak it in the future and add photos or other aspects of the ongoing effort. So be sure to revisit it from time to time 😀 ]]