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:
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:
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 :
Got this orginal Hellfire PCB (by Toaplan) for a repair:
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’ :
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:
Chip failed once tested out-of-circuit:
But still no big improvements.Testing TTLs with my logic comparator I found a 74ALS169 counter @3N with bad outputs:
Its output pin 15 was almost shorted to VCC (only 7.9 Ohm measured)
Once removed, the chip failed miserably :
Finally the sprites were correctly drawn but blocky :
I noticed that, if I pressed down the ROM 9 @4E, sprites were 100% restored:
Removing the EPROM revealed oxidation on socket pins:
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:
Once powered it up I was greeted by this static garbage screen:
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:
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:
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 :
This was due two broken traces on solderside which I promptly patched:
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 :
Probing this static RAM (actually a Sanyo LC3517BSL compatible with 6116) revealed weak signals on its address bus:
Once removed the chip, it failed when tested out-of-circuit:
With a good RAM chip all the sprites were correctly 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:
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 :
and put back a good one:
This restored ADPCM samples.Board 100% fixed and board trilogy complete!
PCB Repair LogsComments Off on 1943: The Battle of Midway Mark II repair log
Jul092016
I received this 1943: The Battle of Midway Mark II in the past days for dumping and repair :
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)
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:
Once removed it, I had confirm of his increased ESR, besides also capacitance was half of its declared value:
Replacing the capacitor with a good one fixed the game completely.
Received this Night Slashers PCB (DE-0395-1 hardware revision) for a repair:
Board was in good condition but showed severe corrosion on two ’52’ custom sprite generators, one of them were missing some pins too:
Obviously due this, once powered up the board there were several problems mainly sprites related:
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:
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) :
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)
A dirty quick fix with some camouflaged AWG30 wire restored connections and fixed game completely.End of job.