I recently got a few boxes non working pcbs from a friend of mine and decided to start looking at them.
This is the first one, an original Capcom 1942 pcb.
It came with a jamma adapter so I was happy I didn’t have to spend time making one.
Upon starting the board, it came up as evident why it had been marked as non working
No Background layer instead showing some corrupted background
Some sprites were showing up incorrectly and only half the sprites was visible on screen
Luckily the sound was all working… for now.
Since the board was very dusty, I went ahead and cleaned it and checked all the eproms in mame.
When putting the boards back together I quickly discovered the board ribbon connectors were corroded.
I changed those and gave the sockets and clean and now the board was booting to a much more acceptable state
The background layer was restored but the sprites were still “halved” and showing halved white lines across the screen.
I first thought I’d address the halved sprite data.
The schematics show that they are processed by two parallel identical circuits (page 16 / OBJ LINE BUFFER)
I started probing around the RAM at J4 and found Pin 15 and 14 of J6 (74ls163) were set high.
Comparing the readings from the other half of the sprite processing at F4 gave a different reading.
I tried to piggy back a known working ls163 and it completely restored the sprites and removed the vertical lines .
Time to remove it and socket a nice new IC. ( btw, this was a Fujitsu IC, what a surprise)
Nice ! Now to address the other sprite issue with incorrect sprites being displayed in specific segment.
The eproms had checked fine so I reasoned this was an issue at the addressing level.I assumed that a problem on the data bus would give us random or consistently corrupted data, but here we have very valid data being used in the wrong spot.
So I thought I’d start looking at the LS153 at M3 and N3. Indeed pins 7 and 9 of N3 were floating.
Replacing it completely restored all our sprites… BUT
I’ve just lost all sounds!! The entire board when silent.
While I’m full aware this can happen with boards it doesn’t mean it’s not 100% heartbreaking, especially when you thought you’d completely fixed the board.
sooo looking at the schematics for the sound system at page 3 I can see this is generated by two AY-3-8910 square wave generators.
The output of both chips on pins 3,4 and 38 were completely silent. So I went ahead and re-checked the eprom first and it check fine. Looking at the data lines I could see a sort of “compressed signal” so I was wondering if sth on the data bus was causing the data levels to be that way and was preventing the sound chips from toggling high and low and thus generating the signal … maybe ?
I went ahead and removed the z80 and ram at E11 and C10 respectively but nope, they checked fine. I did the same thing with the ls374 flip-flops at C8 and D8 since these drive the sound generating events. No luck. I went on many wild goose chases with this issue and still couldn’t find anything wrong. A quick chat with Porchy and his advice was to get some sleep and leave it alone for a few days…
So I did that.
Picking this back after a week or so, I used a wire connected to ground, and driving the OE line on the ram with it, I was able to hear some sounds and music at random intervals, this meant the data lines were ok and could trigger the sound ICs. So I moved away from the Z80 section of the circuit and that the issue was most likely with the chip enabling section of the circuit so I started looking at the ICs driving the enable lines.
I checked D9, C9 and B9 but all the signals seemed healthy on the scope. Comparing this with a known working board I couldn’t seen anything jumping out at me. This is where I wish I had a proper logic analyser but at least I felt I was on the right path. But still I had a feeling I was looking at the right area, I started removing and testing D9, C9 (mental note: invest in a logic comparator) and then finally B9 which tested faulty
The last IC on that entire sound circuit !!
Looking back at the circuit it makes sense, this IC enables the output control of the LS374 driving the event data into the sound circuit. Without this, the sound circuit doesn’t “know” it’s supposed to generate a sound.
Replacing it restored all the sound circuit .
Board all fixed, and lessons learned:
- Sometimes getting some sleep and leaving a board alone for a while is best
- Always check the enable lines first
- … and start looking into getting a logic analyser.
And for those who enjoy a repair in video form :