Michael Moffitt's Website

I like projects!

Fixing a CPS-1 Board with fried video output

Written 4/24/2012

I got an untested Street Fighter II PCB - well really, an untested CPS1 A board and a Street Fighter 2 B and C board set.

Upon receiving it, the C-board's sticker indicates it's actually Street Fighter II', or "Champion Edition". Neat! Even better.

I grabbed a little edge-card connector and hooked up power and a speaker. I coined it up and heard sounds, ad got a game started! "How nice," I thought, glad that I had nabbed a working board. I then got to soldering the video connections to my edge-card connector. No video. After checking my connections a few times, it became clear I definitely had no video. Hmm.

I popped the B-board off of the A-board and looked around for problems. No gauges, no popped up chips, no pins bent into each other... I don't see the pro-WHOAMYGODWHATISTHAT

That's a burnt mess! One resistor network is missing and there's burning everywhere. Nasty!

If I know anything about retro game hardware it's that I'm looking at the DAC area for the video, probably 2 networks per each line (R, G, B). Looking up the nearby LS07 chips revealed that they are hex buffers. Well, that tells us that it's probably 12-bit digital RGB being put out by the CPS. Nearby towards the left of the picture are two LS273 chips, which are octo D flip flops.

A little bit of probing around found me that these are indeed digital RGB pins; I would get a monochrome but stable image, and it became clear which was the most significant and least significant bit of each line. I mapped them out here:

I don't really have the parts to fix the original DAC right now, so my workaround to confirm that my board at least works and my ROMS are intact is to build a little DAC and hook it up to video. I didn't have the time or a big enough breadboard to make one for each channel, so here I've just hooked up the red channel to a monitor in greyscale mode:

It looks like it is indeed working, and I also learned with clear video that I in fact have a board that's been upgraded to Hyper Fighting. Awesome!

I hope to replace the fried LS07 chip and the resistor network soon so I can have a 100% working board.

I made 3 4-bit DACs today to get it all up and running:

After all this, I've learned a few things:

  • The CPS-1 (and maybe CPS-2) implements those fades between titles, round endings, cutscenes, etc. using a fourth 4-bit "fade" channel. I did not implement this and thus have no fades between scenes. Maybe these bits are to be ANDed with the RGB channels?

  • This fade channel is likely how Capcom claims a full palette of 2^16 colors, while 2^12 are visible on-screen at a given time.

  • The fade channel seems entirely unused aside from fades.

  • This may explain why it seems to "jump" so far in emulators (it appears to fade to 50% then go to black in MAME and Final Burn Alpha).

  • The red outputs ~1px before the green, and the blue outputs ~1px after the green. This was only apparent at the very edge of the CRT screen and using my projector; I don't know if all CPS-1 machines are like this but I know the CPS-2 is not as I've used a proper one on an LCD and my projector before. In an actual arcade environment this would not be verynoticeableif at all using an arcade CRT.

Here's a video of it working (and me trying to play without any controller)

Back to main index

This website was generated using MicroLog.