Hi, This is about a little library to interface 30-pin SIMM RAM modules using atmega328p on Arduino. https://github.com/zrafa/30pin-simm-ram-arduino. It gives to Arduino projects extra RAM to store and restore dynamic data in sketches.
It was inspired in the great hack of "Linux on 8bit ATMEGA168", by Dmitry Grinberg. But, the work of Dmitry is not easy to use as it is. In fact, it does not work with Arduino, for several reasons. atmega328p and atmega168 are different. Arduino has several less pins than Dmitry's project, and Arduino UNO is slower (just 16Mhz). Just to mention some of them.
So it was a nightmare to find the proper timings to initialize the SIMM RAM properly, and refresh it. After reading the old RAM chip datasheets and souce code everywhere, we were able to use SIMM RAM modules with Arduinos. The github code is the release code, so others can use it easily, and it is free software (under GPL v2).
SIMM RAMs were used in AT (286), 386, 486, Macintosh Plus, Macintosh II, Quadra, Atari STE and Wang VS systems, so It is still ok to find spare 30-bit SIMM RAM around, so we find useful to have learnt how to operate them with Arduino. Maybe this could be useful for others, that is why I am sharing here this little project.
I attach just few pics about how to connect the SIMM RAM pins with your Arduino. And you can get all the information at the beta githup repo code : https://github.com/zrafa/30pin-simm-ram-arduino.
We also added a link for this code at : http://playground.arduino.cc/Main/InterfacingWithHardware#Storage
Have fun!, Rafa