Out Zone repair log #3

 PCB Repair Logs  Comments Off on Out Zone repair log #3
Jul 182016
 

Received this Out Zone PCB for a repair:

DSCN3862

Actually board was a factory conversion from a Zero Wing board (hardware revision ‘TP-015’).When I powered it up, I got nothing of screen, neither the  black and white wavy lines sign of the system being initialized like it happens in this Toaplan hardware :

Probing the 68000 main CPU releaved it properly received /RESET signal as well as clock was present.As usual I did my check on CPU/RAM/ROM data/address bus and all was fine.But I went to check the clock signal of the Z80 it was stuck high:

Z80_clock_probing

The clock is generated by a 28MHz oscillator then divided by a 74F163 and inverted by a 74LS04 before reaching pin 6 of Z80 with a frequency of 3.5 MHz:

sound_system

On this kind of Toaplan hardware the Z80 commands not only the sound system but also the I/O, this would explain why the whole system didn’t get initalized since the 68000 could not find the Z80 running.Confident I went to remove the 28MHz oscillator :

DSCN3871

Fitted a good one and :

DSCN3872

Board risen from its grave!Mission accomplished.

 Posted by at 1:05 pm
Jul 162016
 

Got this orginal Hellfire PCB (by Toaplan) for a repair:

DSCN3844

After some initial problem due dirty sockets of program ROMs and oxidized JAMMA edge connector which caused missing boots, I was greeted by this scenario:

Sprites were wrong, garbled and stretched all over the screen.This part of graphics is generated by the custom ASIC ‘FCU’ :

FCU_ASIC

I did a reflow of it but this didn’t lead to any improvement.Probing around I found a 6116 SRAM with some data lines stuck low:

DSCN3847

Chip failed once tested out-of-circuit:

6116@2W_failed

But still no big improvements.Testing TTLs with my logic comparator I found a 74ALS169 counter @3N with bad outputs:

DSCN3849

Its output pin 15 was almost shorted to VCC (only 7.9 Ohm measured)

DSCN3850

Once removed, the chip failed miserably :

74ALS169@3N_reworking

 

Finally the sprites were correctly drawn but blocky :

DSCN3853

I noticed that, if I pressed down the ROM 9 @4E, sprites were 100% restored:

DSCN3856

Removing the EPROM revealed oxidation on socket pins:

RSCN3858

So I replaced it:

DSCN3860

Installing a new socket fixed game completely.

 Posted by at 6:28 pm
Jul 122016
 

Had this original Double Dragon II – The Revenge in my faulty boards pile so I deciced to take a look it hoping to fix it and complete the trilogy in my collection:

DSCN3795

Once powered it up I was greeted by this static garbage screen:DSCN3797

A static screen is a clear sign of some trouble in the main code execution.So, for first, I went to dump the program ROMs and found a bad device which game me different checksum at each reading.Since my ROM set was an undumped japanese one, I was forced to convert my board into the US set which is available.This did not lead to any improvement so further investigation was needed.When I removed the EPROMs, I noticed that the socket @IC63 (the one of the bad EPROM) was oxidized:

DSCN3798

I decided to replace it.When , before installing the new one, I was checking all the connections, I found an eaten trace underneath which should have tied pin 2 of the 74LS138 @IC64 (which generates the /CE signals for program ROMs) to pin 9 of a 74LS273 @IC71:

broken_trace_IC63_

Once restored the connection board finally booted up but with severe sprites issues and corrupted/missing sound FXs:

Probing RAMs on video board I found some data lines stuck low on a TMM2015 @IC83 :

DSCN3816

This was due two broken traces on solderside which I promptly patched:

broken_trace_IC83

This improved a little the issue giving back the missing lines to sprites but they were still wrong and garbled.Looking at MAME source, I could figured out that one of the two Z80 (the one @IC50) on top board is used as sprites CPU which takes data from a 27512 EPROM @IC37 and write/read them on a 6116 SRAM @IC24 :

srpites_CPU_circuitry

Probing this static RAM (actually a Sanyo LC3517BSL compatible with 6116) revealed weak signals on its address bus:

DSCN3819

Once removed the chip, it failed when tested out-of-circuit:

TMM2015@IC24_reworking

With a good RAM chip all the sprites were correctly restored :

sprites_restored

So I moved to troubleshoot the sound FXs issue.Samples are played by an OKI MSM6295 @IC74 with takes data from two 28 pin 1Mbit MASK ROMs @IC39 and IC40:

ADPCM_circuitry

Probing the two MASK ROMs revealed that data came out when requested so the problem had to be in the OKI MSM6295 chip which played them badly.I removed it :

DSCN3831

and put back a good one:

RSCN3833 This restored ADPCM samples.Board 100% fixed and board trilogy complete!

 Posted by at 7:21 pm  Tagged with:

1943: The Battle of Midway Mark II repair log

 PCB Repair Logs  Comments Off on 1943: The Battle of Midway Mark II repair log
Jul 092016
 

I received this 1943: The Battle of Midway Mark II in the past days for dumping and repair :

DSCN3532

Game is an unofficial US version of the 1943 Kai, probably an hack where airplane sprites are from 1943 Kai but the background is from 1943.I obviously dumped it and it has been already emulated in latest MAME 0.175 release:

The board was in good shape despite its age, it booted up too but crashed or freezed after few seconds of attract mode or after started a new play:

In the beginning I tought about some problem in code execution so I replaced the WORK RAM as well as suspicious ICs involved in Z80 address/data bus but this didn’t lead to any improvement.Testing the board with a logic probe, a logic comparator and a scope gave me the feeling like it was some kind of disturb on the board which afftected timing causing freezes and crashes.In the below video you can see how the HP10529A logic comparator detected a glitch pulse in the exact moment when the game crashes :

Also probing the clock signal of Z80 with a scope revealed some interferences in the waveform.

From my experience often a capacitor with increased ESR can inject disturb in the whole board since it can no longer filter ripple current.So I went to test the electrolytic capacitors in circuit with my ESR meter, they were all OK except the one @CC18 (9.2 Ohm measured against a typical value of 2 Ohm for a 47uF 16V)

47uF16@CC18_measuring

Among other things, this capacitor is vital for main Z80 /RESET signal generation since it’s part of the typical circuit made along with a voltage monitor like the PST518 IC adopted on this board:

RESET_citcuit

Once removed it, I had confirm of his increased ESR, besides also capacitance was half of its declared value:

CC18_out_of_circuit_measurement

Replacing the capacitor with a good one fixed the game completely.

 Posted by at 7:28 pm

Night Slashers repair log #1

 PCB Repair Logs, Repair Logs  Comments Off on Night Slashers repair log #1
Jul 062016
 

Received this Night Slashers PCB (DE-0395-1 hardware revision) for a repair:

DSCN3692

Board was in good condition but showed severe corrosion on two ’52’ custom sprite generators, one of them were missing some pins too:

DSCN3697

RSCN3705

Obviously due this, once powered up the board there were several problems mainly sprites related:

DSCN3695

Besides, there was also a strange horizontal scrolling issue,were the bad sprites were moving in the opposite direction to the given input :

So, I rolled up my sleeves and replaced the most corroded of the two custom ’52’ taking a good chip from a Mutant Fighter donor PCB:

52_reworking

This restored the all the sprites but the scrolling issue was still there (although intermittently since sometimes the board played perfectly)

I decided to replace also the other custom ’52’ but this didn’t led to any improvement.I was pretty sure the issue was due corrosion in the same area of replaced customs, most likely a trace or via was eaten  but, without schematics, it was like looking for a needle in a haystack. I was nearly to give up when, probing the connections between the two ’52’ customs, I came across a loose contact (measured 43Ohm of resistance point to point, signal could not propagate well due this poor contact) :

DSCN3733

Following the trace, this ended underneath the first replaced custom but, without removing it again and with help of some pictures I took, I could find the exact point of interruption (actually two were the bad traces)

fixed

DSCN3737

A dirty quick fix with some camouflaged AWG30 wire restored connections and fixed game completely.End of job.

 Posted by at 10:36 pm