Another Operation Wolf repair!
This one belongs to Frothmeister on UKVAC.
Again, we have a nice little fault label
So to start with there was no sound. I did a couple of signal checks to see if commands were being written to various IC’s but saw none of them so I just removed the RAM which of course failed.
Fitting a new RAM brought the sounds back but the samples were garbage
Samples are all stored in the 40 pin MASKROM.
I attempted to read the MASKROM as a 27C400 EPROM in my programmer but it gave me errors
As I had a scrap sound board here I swapped this ROM out and retested.
Samples were now restored but I had the same issue as in a previous repair where the sounds started playing and never stopped.
Time to check out the comparators.
I quickly found the comparator with a stuck output at location IC18
Replacing this fixed my faulty sample playback for this one but I found another by playing sample 2E.
Using the same technique I found another dead 688 at IC39.
To determine which channel the game uses for various samples I use the wonderful MAME debugger.
If you look at the memory map for the sound CPU in the MAME source you can see the addresses that get written to to set the START and STOP values.
Address ranges $B000 – $B006, $C000 – $C006, $D000 – $D006 & $E000 – $E006 are what we are concerned with so set some breakpoints in the debugger and fire up the Operation Wolf test menu (dont forget to set the debugger focus onto the sound CPU).
Play the sounds that cause issues and see which address gets written to.
Now look at the schematics
From here we need to work out with signal is address $C000.
A15 & A14 give us an address of $C000. the 74LS138 at location IC14 gives us the enable line for the channel. A15 enables the 138 itself and A14 selects the relevant output, in this case its input C which enables (active LOW) pin 11. This in turn enables IC54 which as you can see from the signal names is channel B.
Following the schematics further we find the 74LS688 comparators responsible for this
Probing the only output on those comparators (pin 19) and playing the sample shows me which one isn’t toggling. In this case it was IC39.
All fixed