After several requests I finally got around to finish documenting an old project from the fall 2017. The ancient computer in our Solid State Logic SL4064G+ console uses a lot of 4116 D Ram which are known to go bad. Therefor I needed a way to check which IC is bad when I see a graphic error on the SSL computer screen. I looked around on the internet and found this post on a project designing a D ram tester for a different kind of D ram. Based on this design a made a version for the 4116 type D ram and reused most of the arduino code.
Please let me know if you find any errors in these attachements, thanks!
UPDATE 3: Thanks to Sleepwalker3 again for making comments about another bug. I have uploaded af fixed version of the code ei. version 3.
UPDATE 2: Thanks to Rauno and Sleepwalker3 for making comments about a very seriously bug which meant only RAM address 0 was checked. I have uploaded af fixed version of the code ei. version 2.
UPDATE: The initial schematic had errors in the inverting circuit for the -5vdc. Sorry. Below is a link to the corrected rev2 version:
Download the rev2 schematic here: 4116_tester_schematic
Download the arduino version 2 code here: 4116_tester_ulh.ino
14 thoughts on “4116 D Ram tester with schematics and code”
Like!! Thank you for publishing this awesome article.
it’s a beautiful project and I’d like to make it happen, but I’m not an arduino expert; please tell me which software should i download to program arduino nano? thank you so much
you need the Arduino IDE from here:
After installing the development environment you need to choose your own type of Arduino. Further info are available on the page.
First of all, I want to congratulate you on the 4116 memory tester you designed.
I need to test 10 Chips 93422PC memories – SRAM 256×4 – 45 ns. Will it be possible to adapt your 4116 tester to this 93422PC – SRAM 256×4 – 45 ns? Sorry, but I don’t know anything about programming but I have experience in electronic assemblies. Regards
Dear Heitor Lima,
as I see your chip has different implementation then the 4116. No multiplexed data expected on its data bus and even data input and output are different. You need a completely different implementation, both in software and hardware.
Hello. Is this part of code bug?
digitalWrite(a_bus[i], a % 1);
maybe should be like thihs:
digitalWrite(a_bus[i], a & 1);
i found that here: https://forum.defence-force.org/viewtopic.php?p=15035&sid=17bf402b9c2fd97c8779668b8dde2044%5B/url
Thanks Rauno. Yes you are right. I have edited the code and updated the post. Thanks a lot for letting me know!
Not sure if you know about this, or whether it affects your code or not, but it has recently (Sept-Oct 2020) been a post about a rather nasty bug in the original code that effectively renders the results useless, as it’s always checking location zero. It may not affect your code, I haven’t gone through it all, but just letting you know.
You are totally correct. Just checked and flashed the edited code to my hardware and it now detected an error on a 4116 ic which did not show up with the old code. I have edited the post. Thanks a lot.
Looks as if the link to the code is missing.
Could you repost it?
Sorry. Link is now fixed. Thanks for letting me know.
You’re very welcome, though I didn’t notice Rauno’s post, so you’d already been advised!
You may also want to check out this project
Well there’s been some more developments where some further problems with the DF code have been shown up, so you it would be worthwhile taking a look at that again.
Thanks! I have updated the post and code 🙂
Comments are closed.