• Please review our updated Terms and Rules here

KIM Uno: a KIM-1 emulator on an Arduino Uno

Oscar

Experienced Member
Joined
Sep 11, 2003
Messages
206
Location
Switzerland
Hi,

I just finished a KIM-1 emulator that runs on the Arduino Uno. I could not come up with a more creative name than KIM Uno, for which I apologise...

But although I'm planning to add some more functionality in the coming weeks, the current version seems to work well. It only requires a basic Arduino Uno using its serial port, but also supports an add-on shield with LEDs and keyboard for that all-important retro feeling.

I found the 6502 emulating code in a post of Miker00lz on the Arduino forum, so all I did was to implement the KIM-1 on top of that. I/O through the 6530 RIOTs is not seriously supported yet, other than to support the LEDs and keyboard.

Plans still to be implemented: use the on-board EEPROM for storage, devise a friendly way to up/download from a PC, store some classic KIM software in the Arduino Flash. Maybe also hook up the Arduino's IO pins to the emulated 6530 IO.

The beta version and a description are here:
http://obsolescenceguaranteed.blogspot.ch/2014/06/kim-uno-kim-i-emulator-on-arduino-uno.html

Also, using the same engine, I cooked up a dedicated chess game for the Arduino. It runs the venerable 6502 Microchess code originally written by Peter Jennings for the KIM-1 with some added comfort (load/save games etc) in the emulation engine. I've had a long fascination with Microchess:
http://obsolescenceguaranteed.blogspot.ch/2014/06/6502-microchess-on-arduino.html

It's work in progress, but comments and suggestions are welcome! As Arduino Uno's have come down in price to $13 or so, it's a very cheap way of owning a KIM :)

Regards,

Oscar.
 
Funny is I started writing a 6502 emulation core for the Arduino sometime back.
I had about 1/3 of the instructions finished and it running some code and I gave up on it
 
Funny is I started writing a 6502 emulation core for the Arduino sometime back.
I had about 1/3 of the instructions finished and it running some code and I gave up on it

Actualy I used an existing 6502 emulator from a post by Miker00lz on the Arduino forum. Afterwards I discovered there's two other cores as well. That, admittedly, was the hard work done for me... there is not that much to support inside the KIM's ROM.

It's a fun little project because with 2K RAM and 32K ROM, the Arduino Uno (or rather atMega328 ) is just about large enough to do this emulation in one single chip. At the moment I'm pondering whether or not to make a small board with 23 keys and 6 LED digits. If I keep the to original schematics of the KIM keyboard/LEDs, it would be a right proper KIM derivative, for parts cost of maybe <$15.

Regards,

Oscar.
 
Hi,

I decided to take my "Arduino-based KIM-1" project one step further and develop a PCB for it - so now it should be a full stand-alone KIM-1 replica:

KIM Uno board populated front.jpg KIM Uno board populated back.jpg


The cool thing is, the total cost (PCB and parts) for this pocket KIM-1 will be less than $10. Amazing how cheap electronics has become, I bought Arduino Pro Mini's for $2.59...

The uncool thing is that I have to wait another 3 weeks for the PCBs to come back from the factory... and that I just have to hope I did not mess up my first attempt at PCB design in Kicad.

Regards,

Oscar.
 
Incredible really.. but I like the idea of making the emulator into an almost-clone version. I think I want one.

-Tor
 
Heather, Tor, MikeS,

Thanks for the encouragement:)
So the boards came back from the factory and - yes! - it works. As shown below:

KIM Uno.jpg KIM Uno back with Arduino Pro Mini.jpg

The KIM-1 emulation works fine.

But I believe that the novelty of just a KIM-1 wears off quickly, so I'll spend the next few weeks putting in Microchess, a 6502 (programmable?) calculator and some utility software to make the little thing more useful (useful is to be interpreted lightly here). There's plenty of space for emulated ROM in the atMega. Just no more RAM...

But yes, the main goal is achieved. The board costs about $5 in small volumes (only $2 for volumes of 100+, but I doubt there's global demand anywhere near that...) and the other parts are about $5. So around $10 in total, which was the challenge I set myself.

I'll update this thread as I stumble along.

Regards,

Oscar.
 
Back
Top