Posted on

Using KIM Clone I/O Pins

There are 16 digital I/O pins on the top edge of the KIM Clone board that can be used for all kinds of experiments.  The original KIM-1 also has digital I/O lines but most people don’t want to use them anymore for fear of damaging either of the 6530 chips which have not been made in many decades.  The nice thing about using a KIM Clone is that replacement 6532s are readily available.

I had been working on simplifying the address decode logic for an experimental board and decided it would be easy to simulate the address lines and evaluate the output from the decoder using a small 6502 program.  So it seemed like a good idea to write up a web page showing how to use the I/O lines:

Using KIM Clone I/O Pins

 

Posted on

What I Do with a KIM Clone

The KIM Clone and the 6530 replacement boards both use a 6532 to replace the non-existent 6530-2 and 6530-3 chips that were used on the original KIM-1.  These chips haven’t been made by any reputable source in decades, so everyone ends up buying from unknown sources on the internet, usually floor sweepings from China.  It takes about 10 minutes to thoroughly test a single chip, so I was looking for a fully automated way to do the testing for me.

Given the expansion bus on the KIM Clone, I designed a really simple little board that takes 256 bytes of otherwise unused memory and maps in a known good 68B21 PIA, a 68B21 under test and a 6532 under test.  Add a bit of clever software and all pieces of either the 6832 or 6532 can be tested in a matter of seconds!

This is revision 1 of the board:

It uses one chip to decode the address to see if the address is for this board or not, then another chip to decode which chip on the board is being addressed.  As you can see, a third chip was tacked on once it was obvious I had missed something.  The lowest chip is the known good 68B21.  The empty socket is for a 6821 being tested, and the top socket is a 6532 being tested.  The two test sockets were supposed to be ZIF (Zero Insertion Force) sockets but I didn’t make the holes large enough and was forced to use standard 40 pin IC sockets.  Both the missing chip and the wrong size holes have been fixed on the rev 2 boards.

There is a separate power switch for the board so I can turn it off and swap chips for testing.

The code is very simple and is just over 1K in size.  It tests the RAM and I/O ports fairly well, but the timer section is a bit weak and needs more work.  I’m a software person by profession, so once the hardware is solid I can spend an infinite amount of time putzing around optimizing the software.

Let me talk about adding I/O devices that don’t need much address space.  On the KIM-1, the space from 1400-17FF is grouped into the K0 block but only 17xx are used, leaving 1400-16FF open for use.  To decode that range into four blocks of 256 bytes is easy using a single chip and a few signals from the KIM Clone expansion bus:

Everyone has a 74LS138 in their parts collection, so just connect a few signals from the expansion bus and use one of the three signals from the 138 to decode which block you want to use.  Use the A0-A7 address lines to decode into smaller pieces.