FPGA Catbox and Defender

jcosper

Member

Donor 4 years: 2022-2025
Joined
Oct 3, 2022
Messages
77
Reaction score
29
Location
California
Hello. I am working on a Defender that has a RAM error of some kind. I re-socketed all the 4116s and tested them in the RCT (two bad).

The game plays, but has random "sprinkles". Running the built-in RAM test, I get random failed positions. My best guess is that there is a faulty mux in the data/address path for the RAM, or a component with marginal timing.
1730695063875.png
But I have the FPGA Catbox and want to use it to diagnose this issue (since the built-in RAM test isn't so helpful). The ROM test passes perfectly, but the RAM test throws a fairly consistent fail. Occasionally, I see a bit pass but nothing to give me much confidence that I configured it correctly, am using it correctly, or it is even working as it should. I also ran the entire Signature Analysis on each DIN and DOUT for all 24 RAM and it checked out. But I can't run Signature Analysis through the muxes (at least as I understand it).
rom_test.png

The config I am loading is "DefenderNewLes.ini" because why not. It works for ROMs, Signature Analysis, and IO.
choose_config.png
As I said, the game runs aside from the artifacts, so the RAM is mostly working regardless of what the tool is telling me. I definitely have a RAM issue of some kind, but would hope that the FPGA Catbox could report more.
ram_test_failed.png

For those FPGA Catbox and WIlliams/Defender users, how do I know which config is correct? What's the difference? Do the RAM tests work? Does the test type make a difference for particular boards, as in works on some but not others? Is there 4116 timing considerations that need to be adjusted for specifically for my boardset?

I want to solve the problem, but I also want to understand more about how to properly use the tool and configs. I think I got the basics...

As always, thanks for the insight.
 
And to clarify, when I said "re-socketed", I replaced the sockets on the 24 4116 RAM locations.
 
Well I'm not the Williams expert (I'll defer to Brad - braedel) but in my experience the RAM and ROM tests worked well on the Williams boards (Defender, Robotron, Joust). That being said I'm not certain which Defender config I was using at that time.

I know Brad is in the process of cleaning up his Williams configs for all the various ROM versions.

However the current CatBox configs test only the CPU side, configs for testing between the RAM and display have yet to be developed.
 
PS - try using the "repeat" option to run the ram test continuously and look for failure patterns. Running the different RAM tests could also provide insight (Sequential, 00-ff, ff-00)
 
Well I'm not the Williams expert (I'll defer to Brad - braedel) but in my experience the RAM and ROM tests worked well on the Williams boards (Defender, Robotron, Joust). That being said I'm not certain which Defender config I was using at that time.

I know Brad is in the process of cleaning up his Williams configs for all the various ROM versions.

However the current CatBox configs test only the CPU side, configs for testing between the RAM and display have yet to be developed.
I ran Robotron.ini with Robotron. the ram is perfectly fine on the MPU I'm using and the ram tests will come up all good or they will say banks 2 and 3 are bad. uncertain what that's about. I haven't tried it on a Defender yet.
 
PS - try using the "repeat" option to run the ram test continuously and look for failure patterns. Running the different RAM tests could also provide insight (Sequential, 00-ff, ff-00)
I had the same thought and tried repeat, but didn't note a pattern. I also tried different sequences. Interestingly, the _first_ time I run 00-FF or FF-00, it passes. After that, straight fails. This is part of the reason that I am unsure about using this tool.
 
Is the DRAM (4116) new, or original? Can you post a video of the 'Sprinkles'?

~Brad
The 4116s are a mix now since two of them were bad. I tested them all externally (in a chip tester). The originals were all the same HM4716. The two I replaced were MCM4116 I got from Twisty Wrist. If I needed to replace them all, I would go with the 4164 conversion. I am not there yet.
1730779904796.png
 
Last edited:
Has anything else been replaced on the CPU board?
I replaced the HC6809 socket, had a bad 74LS153 (3G) that was my initial RAM failure, and did some work on the reset/powerup circuitry that was damaged from the leaking batteries (most of row 7). That's it aside from the 4116 socket replacements I mentioned previously.

The ROM board tests good. The Interface board had a bad PIO that I replaced. I have this on the bench and powering it off the bench supply (the normal power supply works but is in the cabinet).
 
I ran Robotron.ini with Robotron. the ram is perfectly fine on the MPU I'm using and the ram tests will come up all good or they will say banks 2 and 3 are bad. uncertain what that's about. I haven't tried it on a Defender yet.
So you are getting erroneous failures? For every bit on the bank?
 
Is the DRAM (4116) new, or original? Can you post a video of the 'Sprinkles'?

~Brad
Here's a link to a video of the artifacts. Usually dots or short horizontal lines best seen on the title screen since there are no background stars.

 
Was it an actual LS part in there or was it a 74153 and that is that what you replaced it with? I've had a board in the past where the LS part wasn't fast enough and I saw sparkles in the video.
Yes I replaced it with a LS because that was what I had (and forgot about it). Thanks! I will order the correct ones and re-test. I could see how the two address lines could cause a mass RAM test failure for the FPGA Catbox.
 
Using the LS for the 153 is most likely the issue. As for the RAM, I've seen where others have replaced all the DRAM with new (from some well known vendors) that have caused this issue.
Was it an actual LS part in there or was it a 74153 and that is that what you replaced it with? I've had a board in the past where the LS part wasn't fast enough and I saw sparkles in the video.
 
As for the RAM, I've seen where others have replaced all the DRAM with new (from some well known vendors) that have caused this issue.
It occurred to me that the new RAM might be a problem (mixed-matched manufacturers), so I moved the two new ICs around to see if I could get a change in the error signature. I did not notice a difference. A matching set is preferred but I didn't want to start there.
 
contrary to whatever collectors want to believe, 4116 ram isn't the problem. rams were exchanged between games constantly in the 80s. it's like never rotating the tires on your car, they wear uneven. I've seen more bad 4164s than 4116s. buying new anything now is a crapshoot.
 
contrary to whatever collectors want to believe, 4116 ram isn't the problem. rams were exchanged between games constantly in the 80s. it's like never rotating the tires on your car, they wear uneven. I've seen more bad 4164s than 4116s. buying new anything now is a crapshoot.
Understood. I was more concerned about timing margins than anything else. The reason to use 4164 was for cost/availability, but I never considered reliability in that. Something to consider. Swapping was the _last_ thing I wanted to do.
 
A quick comment on why the 74ls153 didn't work but the 74153 did. LS stands for Low Power Schottky. And LS parts tend to have an allowable fanout (how many things they can drive) of 5 or so. Beyond that they can't be guaranteed to provide enough current to the downstream parts.

The original 74153 (and 74S) parts have a fan out in the range of 20. In the circuit that 74153 at 3G is driving MA2 and MA3 which go to the entire set of ram, so you were driving 24 chips from a part that is only rated for 5. The fact it worked at all is amazing.

The rated output current for the 74153 when driving low is 60ma maximum, the 74ls153 is 10ma (from the TI datasheet).
 
Back
Top Bottom