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
Like!! Thank you for publishing this awesome article.
Hi,
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
Bruno
Hi Bruno,
you need the Arduino IDE from here:
https://www.arduino.cc/en/Main/Software
After installing the development environment you need to choose your own type of Arduino. Further info are available on the page.
Hello.
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
Heitor Lima
heitorlima@yahoo.com
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.
https://forum.defence-force.org/viewtopic.php?p=15035&sid=17bf402b9c2fd97c8779668b8dde2044
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
http://www.ukvac.com/forum/cheap-arduino-ram-tester-cart-join-in_topic356093_page1.html
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 🙂