PDA

View Full Version : Raiden DX Repair Log



Womble
10th May 2009, 06:19 PM
Short version - open circuit track between 74LS373 at 10C and pin 37 on the four 44 pin mask roms in the middle of the board - address lines are tied together on all 4 chips and then go to the LS373s in the top right corner. One of the address lines was no longer connected, break is probably underneath a chip.

Not so short version -

Noisuf rocked up to the Womble's lair yesterday with an unwell Raiden DX board, to be honest I had never heard of the game but it seems to be very well regarded in the shmup scene. It also seems to be a bloody expensive game board, perhaps coz its still out in wild earning money, this is probably the game that's running at my local video store - the intro seems familiar.

Anyway - the last time he played it all was well, it went back in its box, only to do this the next time he got it out for a blast.

Most of the sprites were a mess even tho the backgrounds were perfect.

http://i40.photobucket.com/albums/e230/Womble76/dx2.jpg

When there are a lot of objects on the screen it looks horrible.

http://i40.photobucket.com/albums/e230/Womble76/dx3.jpg

The intro where the jet fighter rises out of the cherry trees was a wreck, had no idea they were trees at this stage.

http://i40.photobucket.com/albums/e230/Womble76/dx4.jpg

Other than that the game runs happily and is playable.

And the jet trail of the fighter is scrambled along with the sky.

http://i40.photobucket.com/albums/e230/Womble76/dx1.jpg

This smelt like a RAM fault, not just because RAM is the most common failure on old boards, but because the game was throwing the graphics elements around the screen correctly, they were just garbled.

So we spent an afternoon going over the board, Noisuf had tracked down some good info on the shmups forum from another DX fan as to which parts of the board did what using the following photo.

http://img100.imageshack.us/img100/9907/dsc00809large.jpg

So I started off hitting the sprite RAM with a logic probe, thought I had hit gold as the lower chip in the Yellow #3 circle (which is the Sprite RAM) had stuck address lines. What was not good was that all the tracks coming out of that section went straight into the fat custom chip (Red 8). The info on the address, and I/O lines looked fine, but to rule them out I desoldered them and put them through my SRAM tester. They all passed fine, while they were out of the board I powered it up again and the game ran - all the mangled sprites were missing, actually all the sprites were missing, so its clear that this was the Sprite RAM. It seems the stuck address lines are permanently tied low anyway by the board - this board has tiny tracks and most are under the chip itself. Faced with a dead end I soldered them back in, thats the great thing about board repair - you dont have to waste time validating the design of the board, obviously it worked once so anything weird but intentional cannot be a fault.

So moved my focus to the fat custom IC (red 8), gently ran over all the legs with an old ROM chip body that has no legs, something hard and non-conductive to check for any lifted pins, didn't change anything and a good eyeball with a magnifying glass didn't show any legs that were any different from any of the others.


So we had to move on, custom chips are a pain in the arse, you have no idea what they do, there are no datasheets, you cant even tell which pins are inputs or outputs or bidirectional. All you can do is rule out everything else except the custom, at which point the board becomes scrap if you cant find any other fault.

So went over the whole board starting at the sprite corner with the scope looking for problems, and didn't find anything, everything looked normal. Interrupting clocks around the place allowed me to prove which areas of the board were doing what, everything pointed back to the sprite corner. The LS373s were clearly involved as shorting out the clock signal replaced all sprites with blocks of coloured noise, but every pin looked healthy and busy on the scope.

Basically we burnt a lot of time checking and rechecking things, replaced one of the 74ls373 chips in the hope of proving a point, but it didn't improve anything and its activity looked identical to that of its peer. I had hoped I could get the chip off the board to test it externally but I could not clear any of legs and ended up cutting it off.

That's pretty much where we left it, I was 75% sure it was the custom that was at fault as when we hit it with freeze spray some of the sprites came good briefly, mainly because I couldn't find anything else. The odd thing was that throughout the afternoon some of the issues got better, but after the freeze spray things seemed to get worse again, back to the original level of faultiness.

This was a good example of what happens when you spend too long on a fault, you tend to get tunnel vision and end up fixated on one area. The next morning after some sleep, it occurred to me that I had only given the mask roms a cursory glance, a once over with the scope looking for bad pins or anything out of the ordinary. So I fired up the game and went round the 4 mask roms in the middle of the board. As there are some parts of the attract mode cycle which had no problems, clearly it is possible that any issue visible on the board could show up when the board is throwing sprites around.

Took me about 30 seconds to spot something nasty, pin 36 was not well on one mask rom, most of the time it was healthy looking, regular pulses, but when the crap was on the screen it had a lot of noise on it, spikes that didn't get anywhere near half way between logic 0 and 1. So went round the board with the continuity beeper to find where it connected to - other than pin 36 of the other 3 mask roms it seemed to go nowhere.

Mask roms often have strange pinouts, thankfully these didn't, and they were actually labelled with what the chips were as well as the SEIBU proprietary markings. They are TC5316200P chips, which after a bit of searching have the following pinout.

TC5316200P

A18 1 +-v-+ 42 A19
A17 2 | | 41 A8
A7 3 | | 40 A9
A6 4 | | 39 A10
A5 5 | | 38 A11
A4 6 | | 37 A12
A3 7 | | 36 A13
A2 8 | | 35 A14
A1 9 | | 34 A15
A0 10 | | 33 A16
CE/ 11 | | 32 BYTE
GND 12 | | 31 GND
OE/ 13 | | 30 D15
D0 14 | | 29 D7
D8 15 | | 28 D14
D1 16 | | 27 D6
D9 17 | | 26 D13
D2 18 | | 25 D5
D10 19 | | 24 D12
D3 20 | | 23 D4
D11 21 +---+ 22 Vdd

Pin 36 is Address line 13 (A13) so it HAS to go somewhere, finding chips with the highest address line tied low is not that uncommon but an address line in the middle of them has to go somewhere.

So I hit the other address lines and found that they connected back to the LS373 I had replaced and the one below. There was a gap in the A lines, and that gap was A13 on the roms and D0(pin 3) on the 373 at 10C, 16 address lines, 2 LS373s with 8 input pins each - found the bugger!

When the two pins were temporarily joined all the faults vanished, everything was perfect.

http://i40.photobucket.com/albums/e230/Womble76/dx5.jpg

http://i40.photobucket.com/albums/e230/Womble76/dx6.jpg

http://i40.photobucket.com/albums/e230/Womble76/dx7.jpg

http://i40.photobucket.com/albums/e230/Womble76/dx8.jpg

I did wonder if I had damaged the track while desoldering the chip but I hadn't. On the underside there is a short link track to a via and the pin to the via connectivity is good. On the upper side there is a track that I could eyeball all the way, and it goes to the custom IC and nowhere else, which explains why the input pin on the 373 was showing up as busy, it was busy but was only getting one of the inputs. In order to find the break I would have to take about a dozen chips off to follow it through by eye and there isn't much point. Somewhere there is a rotten track, it might be a one off, or there might be others that are not in the best health. One section of the board (nowhere near the sprite area) has black dots on the tracks under the laquer. One track clearly has just oxidised through, nothing could be done to stop it. I doubt even shaking the board about would have cause it, the areas of rot are minute and must weigh fractions of a 1000th of a mg.

So I fitted a length of hookup wire between the two pins, running under chips wherever possible to make the repair neat enough that it cant get snagged on things.

http://i40.photobucket.com/albums/e230/Womble76/dx9.jpg
PS - the "Korea" chip was just something dark to cover up the crystal can as it keep reflecting the flash back on this shot.

http://i40.photobucket.com/albums/e230/Womble76/dx10.jpg

Soldered to the mask rom pin, wire on the inside - fiddly but its out of the way now.

http://i40.photobucket.com/albums/e230/Womble76/dx11.jpg

Spot the red wire running up under the LS245s and the 373!

Game has been running like a charm for the past hour and hasnt missed a beat. Think I will stick it my lowboy for a blast now.

By the way..

at this point I would like to submit my application for the award of the bodgiest electronics diagnostic tool ever. I needed to temporarily join the mask rom pin to the 373 to prove the fault, and I keep meaning (and forgetting) to make a lead with a probe at each end. So I did this.. :lol

http://i40.photobucket.com/albums/e230/Womble76/dx12.jpg

Hey it works, god knows what the resistance between the tips is tho :)

Davefjedi
10th May 2009, 06:37 PM
Nice log
great job on the repair
I love reading repair logs

DKong
10th May 2009, 07:14 PM
Nice log
great job on the repair
I love reading repair logs

Agree but do you really understand the whole thing I got lost about here

"So I started off hitting the sprite RAM with a logic probe, thought I had hit gold as the lower chip in the Yellow #3 circle (which is the Sprite RAM) had stuck address lines. What was not good was that all the tracks coming out of that section went straight into the fat custom chip (Red 8). The info on the address, and I/O lines looked fine, but to rule them out I desoldered them and put them through my SRAM tester. They all passed fine, while they were out of the board I powered it up again and the game ran - all the mangled sprites were missing, actually all the sprites were missing, so its clear that this was the Sprite RAM. It seems the stuck address lines are permanently tied low anyway by the board - this board has tiny tracks and most are under the chip itself. Faced with a dead end I soldered them back in, thats the great thing about board repair - you dont have to waste time validating the design of the board, obviously it worked once so anything weird but intentional cannot be a fault."

:lol Great to have people on here than can nut these things out, another asset to AA the guys that can do the board work:023: great stuff!

VectorGlow
10th May 2009, 07:30 PM
Nice work on this Womble, very impressive. :D

noisuf
10th May 2009, 07:47 PM
I can definitely say that I am personally very grateful we have Womble available to us.

Can believe it ended up being track rot!!!!!

My beloved Raiden DX is back to it's old self again...thanks Womble!!!!!!!!!!

I love reading this log...as it makes most sense as I'm familiar with the board. Other logs just go whoosh...

And yes, apart from speechless...very impressed too.

VectorGlow
10th May 2009, 07:57 PM
I love reading this log...as it makes most sense as I'm familiar with the board. Other logs just go whoosh...

Then stop using them as frisbees. ;)

Womble is indeed a star, it's also nice to see repair logs with pictures (afraid that all of mine are text only, must see if I can post some of them soon though).

noisuf
10th May 2009, 08:15 PM
Talking about frisbees, I'm going to protect this board much much more... I'm getting paranoid I know...but want them to last as long as they can...

I have a few more bare boards coming my way and they're all going to get the wood on both sides with spacers so the pcb and chips don't touch anything and won't warp.

VectorGlow
10th May 2009, 08:19 PM
Very sensible - also, if they're in storage, use proper anti-static bags and/or anti-static bubble wrap (the pink one). Also store them vertically, not horizontally. Keep inside your house in a room that's reasonably warm and dry. Pop one of those mositure absorbing gel bags in with it it too (but separate from the PCB itself).

noisuf
10th May 2009, 08:34 PM
Thanks for the advice on storing vertically and not horizontally, have to remember that one. Warm and dry...I will try...especially considering I now know what happens when tracks rot!!!

VectorGlow
10th May 2009, 08:38 PM
Doesn't have to be too warm, just don't put it/them anywhere that gets too cold at night as that causes condensation to form if the bag/packing isn't sealed (and if it is sealed, any trapped air will have some moisture in it to condense).

Womble
11th May 2009, 09:35 AM
Yup - time spent in damp garage or shed over winter can really let the rot take hold.

TheGuru
11th May 2009, 10:19 PM
actually in my years of repairing PCBs, I've found it doesn't matter how well you keep a board packed up and wrapped, or on wood with nice feet or whatever. All boards will die a death on their own, even if not powered up for years. I've done it many times where I repaired something and then went back 2-3 years later to look at it and it didn't work and no one touched it for that time. If you look at the later arcade games that are in metal boxes, many of those have faults too and they are in METAL boxes with cooling fans. Admittedly a lot of those are damaged from corrosion and crap getting into the box from the fan intakes but a lot are very clean and are dead. It's pretty sad, but all arcade games will die on their own eventually.
But of course that's why I spent the last 10 years getting that stuff into MAME :D

VectorGlow
11th May 2009, 10:26 PM
Tell me about it, even if stored well boards will still fail when unused and unattended, you just need to try and give them the best possible chances of survival by treating them well. :)