Jump to content
xrbrevin

DRAMARDUINO - Dram tester with Arduino

Recommended Posts

I just made this arduino-based DRAM tester and it works great so i thought i'd post a topic on it in case other people have a use for it:

http://forum.defence-force.org/viewtopic.php?t=1699

 

i had to change the LED resistor values as my LEDs were not bright enough but other than that it works fine and is very convenient!

  • Like 5

Share this post


Link to post
Share on other sites

I just made this arduino-based DRAM tester and it works great so i thought i'd post a topic on it in case other people have a use for it:

http://forum.defence-force.org/viewtopic.php?t=1699

 

i had to change the LED resistor values as my LEDs were not bright enough but other than that it works fine and is very convenient!

Great minds think alike, I also found this project and built one of them a couple of months ago :) This is something I've wanted to do for a long time. I intended to add an additional +- power supply to also enable testing 4116 RAM with -5 @ pin 1 and +12 @ pin 8 but I had a short somewhere after building the power supply kit and need to look into it. I did the usual careful visual inspection of my soldering work before powering it on the and all looked good, the XL6008E1 DC/DC Converter was very hot to the touch and none of the output voltages were correct with the exception of the +5v which was showing 4.97.

post-4724-0-78241500-1553153778.jpg

Edited by Tezz

Share this post


Link to post
Share on other sites

crikey, something sounds amiss - hope you get it sorted :)

 

the tester showed me that all 8 MT chips are dead (v.likely) but also that 5 of my siemens ones were too!

At least 11 are good so ive enough to mod my 65xe board

 

now where did i put that GAL chip... :)

post-38211-0-55644400-1553189061_thumb.jpg

  • Like 2

Share this post


Link to post
Share on other sites

The fun with DRAM is that you have to read your values back from any location within the refresh window, or your read value will degrade. Have you checked that your program manages to make the refresh window? Ideally, you'd want to hit the refresh window on the dot for the chip's guaranteed refresh time. This could require that you test the RAM in sections in case you can't get back to the first location in time.

 

Also, do you check the DRAM refresh cycle too? It doesn't look like it from the source.

 

One more item of note: Even though the AVR Dudes will scream and holler about portability if you don't use the official calls, individually programming port bits is extremely slow. You could improve performance a lot by using the PORTx, DDRx, and PINx variables directly.

  • Like 2

Share this post


Link to post
Share on other sites

I just made this arduino-based DRAM tester and it works great so i thought i'd post a topic on it in case other people have a use for it:

http://forum.defence-force.org/viewtopic.php?t=1699

 

i had to change the LED resistor values as my LEDs were not bright enough but other than that it works fine and is very convenient!

 

This sounds interesting however not having any luck with the link. Any chance this can be updated?

Share this post


Link to post
Share on other sites

 

This sounds interesting however not having any luck with the link. Any chance this can be updated?

i dont know why its not working but i still have the page open so here it is:

 

 

Testing is not too fast but acceptable - 4 different passes are performed in about 80 seconds total.

Results are 100% reliable only if the test FAILS - you can throw away the chip without fear.

If the test passes, this doesn't certainly mean that it will work in Oric, because as you know Oric's are very 'sensitive' to DRAM.

Actually this was my goal exactly - to sort out the working chips from about 200 before I'm get bored icon_smile.gif.

 

Working with the tool is easy: place the chip in the ZIF socket, press small reset button, wait until GREEN LED blinks,

if it remains permanently on - chip is OK, if the chip is bad - RED LED lights.

If USB is connected, status is reported in your serial console. This helped me to detect some 'lazy' chips - they failed in

different, on every next test, growing addresses but when they become 'hot' test passes always.

IIRC such fail to boot Oric was reported somewhere in this forum...

 

 

post-38211-0-74636000-1553329631.png

post-38211-0-06534400-1553329636_thumb.jpg

dramarduino.ino.zip

Edited by xrbrevin
  • Like 3

Share this post


Link to post
Share on other sites

just thought i would update this topic.

i tried the chips that failed the DRAM Arduino test in a real 130XE with SYS-Check II, xram and shortest.

3x of the MT chips appeared to work fully but when i ran a 128k game it failed.

All of the Siemens 41256 chips passed the test and the 130XE works just fine.

 

So the DRAM Arduino certainly isnt the final word in DRAM testing - the Atari is!

The designer did design this device for an Oric computer so maybe that is a factor? i dont know

 

At least it wasnt expensive!!

Share this post


Link to post
Share on other sites
14 hours ago, Mike Harris said:

Will this work with 4164's?

yes - the jumper selects between 4164 and 41256

 

10 hours ago, candle said:

how about 4464 and 44256?

 

i dont believe so, there was no mention of it in the original source guide

maybe the code can be tweaked by someone who is fluent?

Share this post


Link to post
Share on other sites

I did everything according to the schematics and uploaded the INO to my MEGA 2560.
I get nothing but 1 quick flash and then red with a failure 64k $1 in my serial shell.
ALL of my 4164's act this way.

I have no 100% positive 4164 chips to check to see if it is the tester or I was taken for a ride by a Chinese distributor that gets 100% ratings on EBAY.
 

Edited by Mike Harris

Share this post


Link to post
Share on other sites

I built one (well actually two) of the DRAM Arduino testers xrbrevin posted about above.  I thought others might enjoy my little adventure, so I took a few pictures and here we are.  I don't have a youtube channel or anything but I've been trying to fix a number of sick A8s recently, and bad memory is apparently the number one cause of various ailments.  So I thought it was worth the effort to gain the capability to test DRAMs in the comfort of my home, and that others might be interested in the results.

 

The first build used an Arduino UNO and a breadboard.  It works fine and I still have it set up for now, but will at some point tear it down to reclaim the ZIF socket.

945442071_breadboardversionworking.jpg.b85a0666dc36e2aa15cd49011e685261.jpg26647297_breadboardversionshowingbadchiplameswitchsituation.jpg.60dbc79d5c7274f1caccbd33de28c8f6.jpg

Both images show a test of a bad 41256 chip.  It was identified as being bad using this very tester.  This came out because I bought a used 800XL with a RAMBO 256K upgrade that was reporting errors, and I kind of got obsessed.  Anyway, you get a green light blinking while testing.  If the test passes without errors, it turns solid green.  If any errors are found, it turns solid red.  The wire I'm holding is what I'm using to switch between 4164 and 41256 mode - I have to close a circuit to put it in 4164 mode.  I didn't have an appropriate switch when I started this project.

 

Also you can see that my fingers are about the size and shape of moderate-sized sausages.  This made the second build far more challenging than originally expected.  Now I know better, and hope to never attempt such a thing again.

 

The second build used an Arduino UNO and a Gikfun prototype board.  So now I have an Arduino shield that tests Atari RAM.  Woo hoo!

 

2130918383_shieldversionworking.jpg.4bb48ffe15eea92c08e27e949916a664.jpg

This image shows the shield version testing the same chip.  Note that it is lying!  This chip is known bad!  What happened is that I wired in a switch to select 4164 or 41256 mode, as selected by the original creator of the tester.  Up is 4164, down is 41256.  If you test a 256K chip using 64K mode, it only checks the first 64K...  So here is truth:

1296791864_shieldversionshowingbadchip-noteuseofactualswitch.jpg.d67e668544e8499395986bccb427ff9e.jpg

Note that switch is properly set now.

 

The other thing I wanted to show, in case you may be thinking of making one of these, is this:

857568436_shieldversionshowingresultsofmajorsolderingproject.jpg.5843d0fbb68a0dfd1a893ca3f61c9794.jpg

Oh My God it was painful to make this!  I'm sure at least part of that is due to my inexperience at soldering in close quarters like this, and part of it is certainly due to my fat fingers, but still, you have to get a lot of wires and a few components just right.  This is not the most elegant proto board job ever, I'm sure.  You can zoom in on the other pics to see the other side of the board.  I imagine some of the pros are laughing at me right now.  :)

 

It probably took a half hour or so to wire up the breadboard version.  It's really not bad at all if you have the parts.  I got it working without the ZIF socket initially because mine were on order, and it worked fine that way, but I hate socketing/removing chips like that - too risky.

 

Making the shield version took hours.  I found it quite stressful.  If you are a lot more experienced with this, maybe it won't be so bad for you?  I've done a lot of casual soldering and built some kits and such, but there is a vast difference between sticking components in clearly labeled holes with the appropriate ground and power buses already set up and all the vias already in the right places and no extra stuff in the way, and this.  I bet I spent over an hour just agonizing over how I wanted to handle the switch!

 

Still, it was worth it.  The shield version should be a lot more robust, and I expect it will get plenty of use over time.

 

The pictures were resized to 10% because my phone produces these beautiful 6MB pictures and I didn't want to blow up the forum.  Hopefully this was an okay balance between size and visibility of detail.  I'm sure someone will tell me if they were too big, or I did something wrong with forum etiquette, or whatever.  :)

 

 

  • Like 2

Share this post


Link to post
Share on other sites
22 minutes ago, Dr Memory said:

I built one (well actually two) of the DRAM Arduino testers xrbrevin posted about above.  I thought others might enjoy my little adventure, so I took a few pictures and here we are.

I've been thinking of building one of these myself but never really had a pressing need, just an interest. Fantastic to see someone here did it and that it works as advertised. Thanks for sharing your build and all your experiences using it. 

Share this post


Link to post
Share on other sites

Hi all...

 

Just built the DRAM tester... My tester seems to test the chip in way less than 80 sec quoted above.. Also after the test if the chip is good should the green LED blink or be steady?

 

thanks for the help in advance

 

Tom

Share this post


Link to post
Share on other sites

For the reset switch, I just used the one on the Arduino.  There is a spot on the protoboard I used where I could have extended it, but I just stick my finger in between the board and the shield and hit the switch and it works fine.

 

If the chip was not found to be bad, the green light should be steady.  That's how you know the test is done - it blinks during the test but ends up solid red or solid green.

 

Make sure you've got the right chip selected - the test for the 4164 executes way faster than the test for the 41256 because it is only checking the first 64 kbits of memory.

 

You could probably make a version that auto-detected the chip size but the original creator didn't do that and neither did I.  I have a little list of possible enhancements for this thing that I haven't gotten around to - add some extra tests, make sure it supports 4464 and 44256 and fix it if not, that sort of thing, but I have too many projects and too little time.

Share this post


Link to post
Share on other sites

I built an EPROM Programmer using a Raspberry Pi, as a side effect I built a small adaptor board so I could test the RAM chips

in a 1050, both the standard chip and the one in a Happy drive.

 

Had no issues with the 8 bit RAM chips, but if I do, another adaptor board and add the code to test and it should be possible.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...