Professional software development, amateur BMW tinkering, old arcade game stuff


Technos Double Dragon arcade pcb repair

Board played but no sound at all.

First thing was to check the amplifier – there was a faint humming sound from the speaker and the hum changed as the volume control was moved, so the power amp part at least seemed to be working.

Next thing is to check the digital side – a logic probe showed the sound CPU pulsing as well as the ROM and various address and data pins, so it was definitely executing code.  A good trick here and on similar games is to check if the YM2151 IRQ pin is pulsing – this is because the YM2151 will only send out interrupt requests if the Z80 correctly programs it.  If the CPU is just executing garbage then it’s unlikely the YM2151 will get the correct setup commands.

In this case – the logic probe showed the IRQ pin was stuck high.  More probing showed the RAM chip enable (CE) pin never pulsed either.  So it seemed the CPU program had probably crashed because it could not access the RAM.  Schematics showed CE is driven from the LS138 at IC79 and indeed amongst the dirt there seemed to be some water damage/corrosion!

The LS138 turned out to be fine though a logic probe showed pin 1 wasn’t connected to anything.  Schematics show it should connect to the Z80 address bus – in fact this trace had corroded so I soldered a patch wire on the board underside.  The YM2151 IRQ started pulsing and music worked!


Footstep samples however just played a loud static noise – this game has two MSM5205 sample players.  These take 4 bit data, so a pair of LS157 multiplexers convert the 8 bit ROM data into two 4 bit halves to feed the sample player chip.  One of the LS157 output lines also went through the corroded area which meant a dead input into the MSM5205.  The line was patched and all sounds worked again.




Leave a Reply