BryanMcPhail.com

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

By

Konami Track & Field arcade pcb repair #2

Game booted to a solid purple screen with no sounds so it seemed the game was not running as well as likely graphics problems (with graphics working and dead CPU the game should show character tiles garbage).

IMG_6699

Usual checks with a logic probe didn’t show anything obviously wrong – CPU lines were pulsing away as were ROM and RAM. I started by trying to debug the character display part of the board to see why no tiles were displaying. Again, nothing seemed wrong here – graphics ROMs were pulsing away – both data and address lines – so data was coming out but where was it going?

I traced back to a LS157 chip – this is a multiplexor that selects between 2 four-bit sources. One source is the tiles, one is the sprites – so this is really what handles the priority between sprites & tiles in the game. When I used the logic probe to short some of the pins on this chip – tiles appeared! In fact they were proper game tiles so the CPU program was clearly running. The main fault on the board was now clear – the sprite output was jammed on for every pixel – so the priority selection always chose the sprites which gave the solid purple screen – the tiles and CPU program were actually running fine underneath the solid output.

IMG_6708

IMG_6727

So I traced the LS157 sprite input back looking for dead chips – in fact I traced back about 10 linked chips without finding anything before giving up and starting again at the other side of the chain – the sprite RAM. On that address lines were pulsing but data pins were not – so nothing was being written into the RAM. Traced back to a Fujitsu LS244 latch.. dead :( Replaced that and graphics worked!

Weirdly though – the game was running at least double speed. This game, like many, regulates speed through periodic vertical blank interrupts – 60 a second give or take. The logic probe showed the IRQ pin on the CPU was stuck low – this traced back to another Fujitsu LS244 – dead. When replaced game speed was correct.

IMG_6735

However, still no sounds – I spent quite some time debugging the sound (top) board but nothing seemed wrong – the IRQ pin on the sound CPU pulsed whenever a sound was requested by the main CPU. Eventually I went back to the main board looking for where the main CPU writes the sound command data to the audio board – a Fujitsu LS245 with dead outputs.

With all that done a new battery was installed and high scores cleared to fix the bad score graphics and the game good to go.

IMG_6738

IMG_6739

By

Technos Double Dragon 2 arcade repair log #2

Owner of this board reported it would crash going into attract mode or when you inserted a coin. However when first wired up I couldn’t get past a screen full of garbage tiles. Logic probe didn’t show any problems, but piggy backing known good RAM onto the 6264 main RAM chip @ IC20 made the game boot to the title screen. However it did indeed still crash on coin up or attract mode giving a static corrupt screen.

IMG_6816

IMG_6821 IMG_6832

As the CPU was obviously running to get that far and nothing seemed wrong this was a head-scratcher for a while… I used MAME to try some things out – when I disabled the second CPU in the emulation I could mimic the board problems exactly. (DD2 is a 3 CPU game – master CPU, sub CPU and audio CPU). It turned out the sub CPU RAM @ IC24 was bad as well – when replaced the game ran and played fine but sound effects were very quiet and music very loud.

Audio

There’s not much to the sound section on this board – music comes from the YM2151 synth chip through a DAC, and sound effects come the Oki sampler player. Both go through some pre-amp stages before being combined and hitting the main amplifier. To debug things I used the trick of connecting some powered speakers to each of the preamp input pins. The two MB3615 preamps have four channels each – but it’s not split between music and sfx – for whatever reason the music uses 6 preamp stages, but SFX only two. Listening to the individual channels through the speakers confirmed the SFX were clear and correct but the music was distorted and corrupt at every stage. So I replaced the DAC – but no change, replaced the capacitors used – no change, then eventually the preamps themselves with replacements from a Wrestlefest board. The preamp at IC87 was indeed bad – sound & music were now perfect.

IMG_6838

Sprites

But this became the repair from hell as now sprites were corrupt. Very weird as all the other work I done was on the top board and this was a new fault on the bottom board that I had barely touched.

IMG_6893 IMG_6935

Every 16 pixels or so across the screen there were corrupt lines – but only on alternate scanlines. Like many other games Double Dragon 2 uses a double scanline buffer system where sprites are written to a pair of RAM chips which alternate every line (one is written to by the video system, as one is read out to the screen). Because the fault was consistently every 16 pixels I suspected a horizontal counter had gone wrong somewhere. But because it only affected one of the scanline buffers it had to be after the chunk of logic that decodes the sprite list and reads the ROM data.

The Double Dragon schematics show the scanline buffer area – there are really two copies of this circuit on the board. A bunch of LS163 counter chips are used to count the horizontal pixels – these go through a further buffer before going to the line buffer RAM chip.  If I used a logic probe to short out the LS163 timing chips in one area then I could get a perfect sprite display on even scanlines, if shorted out in the other I get a garbage display on odd scanlines.

schem

However, having narrowed the fault down this far there wasn’t much progress – logic probe showed everything working ok, digital oscilloscope didn’t show any ‘noisy lines’, shorting pins together didn’t reveal any clues and piggy backing known good IC’s for every chip in this page made no difference.

After many hours I had to resort to using a heat gun to remove all the IC’s in this area to test them off the board – and… bad RAM :( Not bad enough that it was fully dead, just bad enough that one of the address input pins clearly wasn’t working properly and data was being randomly diverted to weird addresses every 16 pixels or so.

New 6116 RAM installed and finally the game perfect again.

IMG_6953 IMG_6956

By

Technos Double Dragon arcade pcb repair #2

The game would boot up with no errors on the self test, but then reset when you inserted a coin or shortly into the attract mode.

A couple of the main CPU program eproms initially gave slightly inconsistent results when read in an external programmer (different CRC’s each read) though when I tried again the next day they were 100% consistent. What was soon clear though was that using program eproms from a known working board made this board 100% reliable so new ones were burned and installed and everything fixed.

Quite an unusual fault to see original eproms from that era fail like this but they were definitely the problem.

IMG_6810

By

Midway Space Invaders arcade pcb

Can’t call this one a repair as such as a non-booting original Space Invaders was made to boot just by reseating the CPU. Although this is a classic black and white game, you can make it run with a regular switching PSU that supplies +5V,-5V and 12V and a monitor capable of composite video input (as opposed to regular arcade RGB + sync).  Notice the unusual ‘L shaped’ design with the sound board at a right angle to the main board.

IMG_7136 IMG_7143 IMG_7312