Game PCB: Battlantis
Symptom: Game was constantly resetting on boot up. Some garbled image could be briefly seen before reset.
Bought this game knowing it wasn't booting up but the board was really clean looking and the price was right so thought that I could do with a challenge.
Started with the easiest part of checking all the socketed ROMs and all read fine and matched with MAME.
Decided to check voltages from JAMMA edge and some IC on the board and all were seemingly normal.
Found out that there are two pads marked JP near the JAMMA edge which when connected prevents watchdog circuit from resetting the board on error. For some reason I had tough time soldering there so I traced the pads to the long resistor array looking IC next to it and connected the circuit there. The board was no longer resetting but the game didn't go further from the garbled image. Didn't really spot any difference with IC signals around the board.
With no real leads took out the
logic probe to check what was high (5v), what was low (0v), what was pulsating and if I'm lucky find pins that are none of the above which might mean that something wrong there.
Decided to hone in around the main CPU (63C09E) and some 74-series next to it. Found several pins that showed no activity.
- The main CPU (63C09E) had pins 17 (Address bus 9) and 32 (Read / Write output) silent. The pin 17 was going to the ROM at 8E described as program code.
- Data selector/multiplexer (LS157) had multiple pins not having any signal. The 'c' and 'd' inputs and output were silent
- Octal Bus Transceivers (LS245) had one pin either 19 (O/E) or 18 (Channel 1, b-side) that was not giving any activity.
Dreading that I would have to de-solder a 40-pin main CPU I decided to try out the the smaller logic IC first. Examining the LS157 closer it seemed that the pins that showed no activity might not actually be used or connect to anything. There have been instances where the pins connect under the IC and then continue either to the solder side or the trace comes out between some other leg. After I got the LS157 there was no mistaking it the legs that were not giving any signal were not connected to anything else on the board so this was checked off as a possible culprit.
Time to move on the second smallest LS245. With this I found continuity to another IC on the leg so I figured that it should probably be either high or low. After de-soldering, installing a socket and swapping between the original and an another the leg that previously gave no signal for the logic probe suddenly there was activity even with the old LS245. So either I fixed a cold solder joint when installing the socket or I just didn't get a proper reading the first time. Anyway this didn't help with the reset problem either.
So it was down to the main CPU (63C09E). Now that I had a warmed up on removing the smaller IC I was ready for the big one. The de-soldering process was pretty painless but one of the solder pads on component side came loose. Luckily it didn't tear so I was able to solder it back on before installing a socket on top of it. When soldering the socket I started with the leg that had the pad tearing and checked continuity before proceeding with rest of the legs.
With the new CPU in place in the socket it was time to test it out. On power up I was greeted with a familiar garbled image and was already feeling a bit deflated about another defeat, but a moment later the image changed and after ROM check giving all OKs the game booted up. It lives again!
On a side note I actually did the initial troubleshooting and bough the replacement CPU a year ago but decided I wasn't ready for de-soldering 40-pins without breaking something
. Now with a bit more experience and better tools I had more confidence to attempt the repair. Year ago I was using a manual solder sucker but now with HAKKO FR-301 even the bigger de-soldering jobs are not so time consuming.
Picture of the whole board:
Close-up of the repaired area
Snippet of the 63C09 datasheet