ArdIAC – Arduino Illustrative Aid to Computation

Way back in high school, I received a copy of the CardIAC computer simulator (https://en.wikipedia.org/wiki/CARDboard … omputation, there is also a great description with programs and an emulator: https://www.cs.drexel.edu/~bls96/museum/cardiac.html) from my math teacher. The CardIAC is Bell Lab’s Cardboard Illustrative Aid to Computation, a great introduction to how computers operate on a very low level.  Earlier I had been introduced to the school district’s (School District 214, in North-Western Chicagoland) HP-2000 computer and taken to it like a duck to water. In learning HP’s TSB (Time Share BASIC) I wrote my first emulator, a CardIAC emulator. Unfortunately, I have no memory of the user interface, only the background. Over the past several years, I have wanted to recreate my emulator, but in hardware.

A while back, I ran across the Kim-Uno (a 6502-based KIM computer simulator: http://obsolescenceguaranteed.blogspot. … o-uno.html) which stirred my creativity. I recently ordered an Arduino Nano (http://www.banggood.com/ATmega328P-Ardu … 59231.html) and several Nokia 5110 LCD modules (http://www.banggood.com/5Pcs-LCD-Module … 45893.html.) Time to play.

Prototype001

Here is my prototype as of this point
(note that I have not done the initial wiring yet.)

I prefer to do my prototyping off of a CAD drawing, and then when everything works, it already matches up and so I can just have some boards manufactured.  So, this is what the ArdIAC drawing looks like to this point.

Simduino-001

The ArdIAC, so far. The bottom portion is an existing hex keypad, that I designed for my store.

The next step is to get the prototype LCD wired up, and then load some testing code to display something on the LCD.

Since the CardIAC only has 100 words of memory, and the Arduino Uno has 2K bytes of RAM, this will be enough to simulate the CardIAC.  However, I am thinking of adding an external serial RAM, so that this thing can simulate/emulate more complex systems.

Ideas? Question? Suggestions?