Dig dug double/triple images

fcjim

Well-known member
Joined
Jan 11, 2013
Messages
2,929
Reaction score
1,099
Location
Fort Collins, Colorado
I will lead off with the request before the explanation for it: Could somebody with a Dig Dug Rev B (the one with the three Z80s all along one edge) please take a couple close ups of the board in the area of 3H and 3J?



Now the backstory: I've been working on repairing this DD board. It would boot up and run the attract screen, but with a lot of graphics errors, including a double/ghost image vertically on sprites and characters. Looking over the board, I noticed that there was what looked like heat damage in the area of 3H and 3J, and it had been repaired with a messy bit of wires soldered to various spots. Since this was the only spot on the board with obvious physical damage, I decided to redo this area a bit neater to see if it had anything to do with the problem. Unfortunately I didn't snap a photo of the arrangement of these wired-in traces before I started removing everything, only after everything had been removed.

I removed the chips and the hacked-in trace repairs, installed new sockets, and jumpered everything up according to the schematic. Installed two new LS367s and fired it up, and now it doesn't boot at all. It displays a messed-up RAM error and continually resets, the primary CPU is getting a reset signal that toggles back and forth a few times a second. Considering that I didn't touch any other area of the board, and it was working better than this before I started futzing with this area, I'm assuming I have connected something wrong, but can't figure out what. That's where the close-up comes in, I would like to be able to compare mine to what a good board looks like so I can see exactly where my missing traces were supposed to look like. I realize I won't be able to see the traces as they run below where the chips should be, but even seeing the areas surrounding the chips would be helpful.

Thanks!
 

Attachments

  • 20180517_165736.jpg
    20180517_165736.jpg
    417.7 KB · Views: 17
Last edited:
If you haven't already installed a socket, you should really instead install a STRIP socket. This will allow you to solder both sides of the strip pin (on the component side of the board as well) to make sure the under-IC tracks are connecting to the pin. (or add jumpers; yuck)

SockStrips.jpg


If the damage to the traces was less, then OK, add a normal DIP socket.

In either case, make sure all pin connections have correct continuity afterwards (and no shorts).

(YMMV)
 
You're in luck ! I have 2 unhappy Dig Dug's on the bench right now...

Looks like a few traces need to be rebuilt there :(
 

Attachments

  • dd_3h3j_close.jpg
    dd_3h3j_close.jpg
    381.4 KB · Views: 54
  • dd_3h3j_topview.jpg
    dd_3h3j_topview.jpg
    336.2 KB · Views: 45
Thanks to the pics provided by jrok I was able to track down the problem, two problems actually. I had overlooked one trace entirely, and there was a short between two of the pins that was preventing the game from loading and booting. Tracked down the short, verified all other connections, and now I've got a booting board again! Also thanks vectorcollector for the recommendation for sockets for use with double-sided boards, it was too late to use them for this board but will definitely remember those for future use.

Before I redid the traces for those two ICs, I had garbled/double characters as well as double/triple sprites with vertical lines through them. The repair seems to have taken care of the characters, but I still have an issue with the sprites, they are drawn in two or three spots on the screen. (note: the dig dug logo is missing because I have removed one of the eproms. The problem is exactly the same if I have that eprom installed, except the logo is present where the pink square is).

Since the playfield and characters look correct, I'm guessing this problem is somewhere in the motion object circuitry, but I'm not certain about that. I did replace some ram in the motion object area and piggybacked some more, with no change. I have a logic probe and a scope, but nothing I've probed is jumping out as a problem. Any pointers on where to focus for this sort of problem would be appreciated!



 

Attachments

  • 20180519_120604.jpg
    20180519_120604.jpg
    522.2 KB · Views: 23
  • 20180519_125902.jpg
    20180519_125902.jpg
    334.7 KB · Views: 21
Offand.. that looks like one of the pairs of the 74LS161 is a problem, could also be one of the 2148s SRAMs. I'd lean towards the 74LS161s.

Also check for any trace breaks between 7B/8A outputs and 7A, and 8B/9A outputs and 9B. Plus the H0 to H7 inputs to both pairs of 74LS161s.
 
Offand.. that looks like one of the pairs of the 74LS161 is a problem, could also be one of the 2148s SRAMs. I'd lean towards the 74LS161s.

Also check for any trace breaks between 7B/8A outputs and 7A, and 8B/9A outputs and 9B. Plus the H0 to H7 inputs to both pairs of 74LS161s.

Thanks again for the advice! I had already replaced the 2148s at 7A and 9B. I checked all the traces you mentioned and all are good. I probed all the LS161s with a logic probe and there was not anything obviously wrong or different with any of them... nothing was floating or stuck high or low, and most of the pins seemed to be active at different rates depending on what was happening on screen. In fact, all the pins I probed in the motion object generator circuit seemed to be doing something at least similar to what they are doing on the working DD board I used as a reference. For somebody who is just learning how to ID bad chips on a board, do you have any pointers on what to look for when using a probe or a scope?

The one thing that I found that was odd was the 6mhz signal going to the motion object ram LS377 at 7F was really weak on the logic probe... the light on the probe barely lit, and the beep was weak and warbly, or entirely absent. I traced it back to its source (the ls368 at 4E) and it was really weak there, too... but the same 6mhz signal goes to the LS161s and there, it was a nice strong beep and light on the probe. I thought it odd that it seemed stronger at a destination than it was at its source... I think that means something, but I have no idea what!
 
Last edited:
I made a video of the problem with this Dig Dug to see if anybody has seen it before and can help me out. I don't want to just shotgun and replace everything on this board, I would much rather learn how this circuit works and also learn to find the chip or chips that are causing the problem. But this thing is a pain in my ass... I've probed just about everything in the motion generator circuit, including the LS161s, with a logic probe and can't find a chip that is obviously misbehaving... but again, I'm not entirely sure what I should be looking for. All the pins are active that look like they should be.



I replaced the missing eprom and sorted out the issue with the 6mhz signal, and the logic probe now displays a nice strong signal at all the ICs that are supposed to receive it, but it didn't have an effect on the problem, so that was a good bit of effort with no result. I did learn something interesting however: if I remove the 2148 at 7A, leaving only the one at 9B, there is no change to the image. But if I switch that around and run it with just the one at 7A, there are no sprites displayed... just the background with no lines or other errors, but no motion sprites on the screen at all.

This makes me wonder if the problem is in the motion object generator section at all... on another DD board I have, removing either 2148 leaves half the image. So it's puzzling to me how one half of the circuit would display all sorts of wonky crap, and the other half would display absolutely nothing.
 
Last edited:
I did learn something interesting however: if I remove the 2148 at 7A, leaving only the one at 9B, there is no change to the image. But if I switch that around and run it with just the one at 7A, there are no sprites displayed... just the background with no lines or other errors, but no motion sprites on the screen at all.

There are two parallel circuits in the motion object generator one for odd display lines and one for even lines. If one line is fully working you can be pretty confident that the setup circuity in front of it is working, as both parts share it.

So if removing RAM 7A and there's no change, you're getting a problem with that half of the motion object system ( even lines ). 7B, 8A, 8C.

It looks like it's drawing the sprites into the RAM so the pic data and the erase would appear to be working. So it's really looking likely to be the counters, possibly the counter LD from the LS365 at 8C, check the resistor R42 is intact. That'd generate more junk with random triggering if it was bad. Also check continuity between the 7B, 8A LD input tests to 8C.

As the sprites look like the low bits are getting drawn ok but the high bits are flaking out, I'd just swap out 8A, that's the high address bits of the count. That's if H0 to H7 inputs all pass continuity test correctly.
 
Last edited:
Thanks again jrok for the detailed response! Insight into how it all is supposed to work is exactly what I was looking for... I'm at a point in my knowledge where I can read a schematic but I have no clue what it says, if that makes sense. I will check out the even line side of things as you suggest.

There are two parallel circuits in the motion object generator one for odd display lines and one for even lines. If one line is fully working you can be pretty confident that the setup circuity in front of it is working, as both parts share it.

OK, but it appears to me that neither line is fully working, so I want to make sure I'm reading it right: the 9B side is displaying everything that we see, and the 7A side is displaying nothing at all. If one side displayed half the sprites properly and the other side displayed its half all jumbled up, that would make sense to me, but the fact that one side is jumbled and the other seems to be absent is confusing. So initially I interpreted that as a problem upstream, in the setup circuitry, as it seemed unlikely to me that both sides would be failing but in different ways. Are you saying that the odd side may be working like it's supposed to, even though it appears to be displaying nothing?

edit: I checked continuity on all the LD lines, and all is good. Checked R42 (and its corresponding resistor in the other half of the circuit) and they check out also. Replaced both 8A and 9A and problem persists. I have now replaced 3 of the 4 LS161s with no improvement... 7B is the only original one left. I assume that if they had been the issue, at least the 8B/9A/9B half would be operational now.
 
Last edited:
The sprites hardware works on a per-video line basis, each half of the circuit draws 1 line of the sprite each. So if one half is working every other sprite line would be drawn correctly, which is what it looks like you're seeing in the video. Half of the sprite as drawn is in the correct correct positions and the correct character.

So just to be clear when you removed 7A the display remained exactly as is with all the whacky sprite effects ?

Because... if the display remains the same then it's almost certainly the 74LS298 mux at 8D being 'stuck' on one side. Make sure pin 10 is pulsing, pin 10 selects which of the sprite RAM lines outputs is selected. If it's pulsing then swap it out.
 
So just to be clear when you removed 7A the display remained exactly as is with all the whacky sprite effects ?

That's exactly right. With 7A removed, the screen looks exactly the same as with it in: half the lines of the sprites are drawn in their correct places and move around the way they are supposed to, but the other half of each sprite's lines are drawn in odd places and move around in a weird way. I'd say a random way, but it's definitely not random, it's just not where they should be. With 9B removed instead and 7A back in place, it displays the background and the text properly, but there are no sprites at all. So it does appear that the entire sprite is being sent to one side of the circuit, and it knows what to do with half of it but scrambles up the other half.

I checked the LS298 at 8D and pin 10 is pulsing, on my logic probe the high and low lights are both lit bright and the beep is a steady pulse about twice a second. So that means it's receiving the correct select signal but not processing it correctly, and needs to be replaced, yes?
 
Last edited:
I checked the LS298 at 8D and pin 10 is pulsing, on my logic probe the high and low lights are both lit bright and the beep is a steady pulse about twice a second. So that means it's receiving the correct select signal but not processing it correctly, and needs to be replaced, yes?

Yes, replace it.
 
Success! I wanted to post the solution here for anybody who finds this thread in the future, and again give big props to jrok for your assistance and knowledge on this problem. Replacing the LS298 at 8D fixed the issue and Dig Dug and his friends now look as they should.
 
Success! I wanted to post the solution here for anybody who finds this thread in the future, and again give big props to jrok for your assistance and knowledge on this problem. Replacing the LS298 at 8D fixed the issue and Dig Dug and his friends now look as they should.

Cool! Way to keep after it. Over the many years I have come across relevant repair threads that just end with no resolution so a big thanks for finishing out the thread. Awesomeness.
-Commander Dave
 
Back
Top Bottom