Chase HQ(s)

John Bennett

Senior Member
vacBacker
Feedback
10 (100%)
Credits
4,988CR
So, a (very) long time ago I offered to look at a pair of Chase HQ boardsets. Seemed a bit of fun – I thought I could do a bit of board swapping, score an easy fix and feel chuffed with myself.

IMG_8024b.jpg


Nope.

One boardset wouldn’t boot.

The other booted with a sound CPU ‘stop’ fault, the colours were wrong and the sprites were all messed up.

Swapping the video PCB over presented even more sprite faults.

So that’s 4/4 duff PCBs
smiley6.gif


I looked at the non-booting board first. I checked the 68K reset line and I could see it was low. Whilst there is a typical reset IC, it passes through a custom – presumably for a watchdog or something. It didn’t seem to be getting out the other end.

IMG_8018a.jpg


So I bypassed it
smiley36.gif
. Naughty, perhaps, but I’m sure the owner can flip the mains if the game ever crashes.

Next, the lack of colours was simply a broken pin from the RGB DAC custom (that’s often snapped off completely, so watch for that if buying an ‘untested’ PCB).

IMG_8017a.jpg


After that, the CPU board worked great – sound, colours, the lot.

25% fixed…

Video PCB #1 next (dodgy sprites).

IMG_3251a.jpg


I stuck the scope on the address lines for the mask ROMs related to the sprites and I could see dead address lines. Looking at the board, there was noticeable track-rot. With two dead tracks linked, the sprites were fixed.

IMG_8023a.jpg


IMG_3245a.jpg


50% fixed...

Next, the other video PCB. This was intermittent – the object layer corrupting itself over time.

IMG_3913.JPG


I looked again at the object ROM address lines on the scope. When zoomed out to a long timebase, even though it was a blur of activity, I could see the underlying data starting to change as the intermittent fault appeared. The next job was to trace back to the source, which involved looking at outputs vs inputs of ICs – I think I went back through 5 pages of schematics before I arrived at a bad counter IC (not totally dead either, just to add confusion).

IMG_8020a.jpg


75% Fixed.

Finally – the Sound Stop Error. This is where I gave up for a year
smiley36.gif


IMG_8016a.jpg


Anyway, at bootup, the master CPU talks to the sound Z80 to check it’s alive. This is done via the SYT custom IC. It’s not the easiest thing to debug as the main CPU sends a sound code occasionally and then otherwise the link is very busy sending FIFO checks, plus both sides are on CPU buses, so it requires a bit of triggering and bus deciphering (MAME helps).

IMG_8019a.jpg


bus.jpg


Anyway, probing the Z80, it could be observed that the addresses were just cycling in an upwards-counting manner, so it wasn’t working right. No interrupts were occurring either (the YM2610 will send these once running).

The SYT custom handles the addressing for the Z80, allowing it to select ROM, RAM, YM2610 or cross-comms by accessing upper address locations on the memory bus. After a lot of probing I found that three address lines were broken from the Z80 to the IC and also to the RAM/ROM.

With these fixed, the Sound Stop error was gone and I could see far more normal activity (random-looking address accesses, interrupts firing from the YM and outputs from the YM).

But still no sound.

After far too many mis-steps (staring at the cross-comms, thinking no sound codes were going across the link), I realised that the OPO line was live from the YM2610 IC to the YM3016 DAC and there was an output, it was just rather small. The TL074 Op-amp afterwards was stuck at -5V for the two audio output channels. With this fixed, success!

IMG_8021a.jpg


4/4 boards fixed.

And 1 lesson learned – don’t fix boards for other people as it’s never as easy as you hope
smiley36.gif


But, to add one more, I bought myself a triple 68k proto Chase HQ (to try to emulate), which arrived with a video fault, however that was just a bad interconnect. But that's not relevant to normal boards as as the proto has DIP socket to ribbon cable adaptors everywhere as there's no mask ROMS, but dozens of EPROMs.

IMG_4217.jpg


Anyway, might be something of interest. Such an ordeal, I had to post about it
smiley36.gif


John Bennett2020-11-07 23:58:10
 

TheDaddy

Senior Member
vacBacker
Feedback
14 (93%)
Credits
6,994CR
Thanks for sharing John , i have 2 to fix myself i have had for ages. Hopefully get on them one day and once i am feelimg better.

Dave.
 

John Bennett

Senior Member
vacBacker
Feedback
10 (100%)
Credits
4,988CR
Thanks. Yeah, I can’t actually play the PCB here, but very fond memories of the game (was in our local ‘swimming baths‘).
I’d love to see the DLX ride-in variant in the metal one day. It looks brilliantly absurd.
 

biglouie

Active member
vacBacker
Credits
83CR
John, maybe I should ask this question elsewhere, but with the scope output, what are we looking at. Each of the address lines being monitored and you want them all matching their pulse, so things happen at the same time?
 

John Bennett

Senior Member
vacBacker
Feedback
10 (100%)
Credits
4,988CR
Actually it was fairly basic.
Graphics hardware is really 'acceleration' on most arcade stuff. So the CPU doesn't access the address bus of the graphics ICs (or indeed the graphics ROMs).

The CPU dumps codes into graphics RAM and the hardware/customs takes care of cycling the address lines of the graphics ROMs and taking the data out and putting it into the next custom (e.g. the layer mixer hardware). Ghosts and Goblins does all this too, just with discrete components.

Without that, the CPU would be reading a ROM and plotting a pixel and you'd get about one frame a second.

So, anyway... the graphics ROMs will be busy all the time and the lower address pins should all have activity if it's running a game and sticking tiles/sprites on the screen. So it was really just finding the address lines that were dead on a ROM IC that I knew was involved with sprites. So something you could do with a logic probe (for the dead tracks anyway - you'd struggle to see the fault I saw with the malfunctioning counter IC without putting a scope on the count lines out and watching them distort as the picture on the screen changed).

With a crashed CPU, you have to go a level further and look at the address lines to see what address it's getting to, which you can then use the memory map to help work out what it's trying to read from when it goes screwy.
 

terriblefire

Newbie
Credits
15CR
John Bennett said:
But still no sound.

After far too many mis-steps (staring at the cross-comms, thinking no sound codes were going across the link), I realised that the OPO line was live from the YM2610 IC to the YM3016 DAC and there was an output, it was just rather small. The TL074 Op-amp afterwards was stuck at -5V for the two audio output channels. With this fixed, success!

I have this exact issue but its unclear (at least to me) what you did to correct it. Was it the OP amps the dac or some other line that you fixed.
 

John Bennett

Senior Member
vacBacker
Feedback
10 (100%)
Credits
4,988CR
Heh, it’s not clear for me either reading it back.

Pretty sure it was the opamp in the above case - I didn’t need anything exotic that wasn’t off the shelf for any of it.
 
Top