KIM-1 6502-based Single Board Computer


This is a Commodore KIM-1, Rev G. It's not as sought after as the original MOS KIM-1's but is nonetheless a fine computer to own and operate. It was given to me by Joe Glatz and had been owned by him from the time of its original purchase in 1978.

To the right of the KIM-1 is an HP 1631D logic analyzer. Here's why.

Initial Bringup

After inspecting the board visually for bent pins/shorts and for shorted capacitors, two points on the board were chosen for supplying power. The board will operate on a single rail +5V supply at 1.1A, with 12V only being needed for the cassette interface circuit. Power was applied and the RS (reset) button pressed, but the board did not respond. The three socketed devices were reseated but this did not make any differences.

After repeated presses of the RS key, one segment of the display would occasionally light, unpredictably.

Power-On Reset Analysis

Scoping the address and data lines revealed activity when reset was pressed. The two clock phases were present.

The 6502 follows a specific sequence of events when its RST signal is pulled low. The RST sequence is well documented in the KIM-1 Hardware Manual. The 6502 reads values from ROM locations $FFFC and $FFFD, interpreting them as a 16-bit start address. The combined value is transferred to the program counter and execution begins at that PC value. In the KIM-1, the RESET vector is ROM address $1C22. The logic analyzer was connected to address lines 0 through 15, and clock L was connected to the SYNC pin on the 6502 which is asserted whenever an op code fetch is in progress. The presence of $1C22 on the address bus was verified. You can see it is the first address executed on the logic analyzer screen.

Referring to the monitor program listing in the KIM-1 manual, it was possible to trace the monitor execution through the changing state of the address bus. The address lines correctly tracked all instruction activity in the code until the first instance of an RTS was encountered, at which point an incorrect return address was used. Improper execution followed the incorrect return address and the program eventually 'went off into the weeds'. The expected value in this case should have been $1C2A, but execution resumed at $1C2E.

Since the return address is pushed onto the stack prior to executing the JSR, and the stack is held in RAM, this suggested a single bit RAM chip error, in this case in bit 2, the third bit from the LSB. The KIM-1 memory is organized as 1K x 8 static RAM, with 8 2102s providing 1Kbits each.

In order to confirm a memory error, I removed the two RRIOT devices (U2 and U3) and scoped the memory chip output (pin 12). The device was not producing its full output, falling off at around 2V.

I found a bag of old 2102s I'd bought at a hamfest, in case of a rainy day, so I replaced the suspect chip, taking care to socket it rather than soldering it directly.

On the subsequent power up, the symptom cleared and I was able to run a simple test program and to verify that the basic features of the monitor were working.

I hope to be able to demonstrate the KIM-1 at the forthcoming 2013 Trenton Computer Festival as part of the MARCH exhibit. The theme this year is Homebrew Era Computing. Details to follow. Now that the machine appears to be basically working I would like to demo either an RTTY decoding application (found one in the September 1977 edition of 73 magazine) or possibly some simple vector graphics on a scope using a couple of DACs hanging off the KIM-1's expansion connector. I was able to locate 22/44 pin edge connectors, .156" pitch at, and I ordered a handful for possible future KIM-1 projects.

While I was poking around in the basement looking for the 2102s, I found a handful of 6116 2Kx8bit static RAMS that would make a decent memory expansion board for the KIM-1. On the other hand, I have a plurality of 2102s that could be pressed into service for an additional 1 or 2K. Have to see.

Update 4/8/2013

Here's a picture of me hexing a program into the KIM-1 at the MARCH homebrew-era computing exhibit at the Trenton Computer Festival, March 2013. Taken by Herb Johnson. More information about the MARCH 2013 TCF exhibit here.



Approximate Year