Friday, April 15, 2016

Micro-KIM Tutorial: Getting Started

Perhaps reminiscing the past is a sign of getting older, but I cannot help but look back fondly at the times I learned programming machine code on the Commodore 64 in the eighties. Therefore, it is probably no surprise I still occasionally enjoy programming 6502 on the Micro-KIM, which is a modern replica of the seventies KIM1 microcomputer, made available by the well-known retro computer kits provider Briel Computers.

In fact, I am having so much fun with this board, I decided to write a series of tutorials on operating and programming the Micro-KIM. In this series, I assume you have already some experience with the Micro-KIM and 6502 machine code, and have read the basic documentation that is shipped with the kit. Other than that, I hope to give additional information on various topics, such as developing assembly programs, programming the display, using the RS232 port or keypad, setting up timer-based interrupts, using a cross-assembler to generate programs in paper tape format, and uploading these to the kit.

Note that the original KIM1 featured a 6502 microprocessor, 1K of static RAM, two 6530 RRIOT IC's, and a 6 character hexadecimal LED diplay. Even though the Micro-KIM is a surprisingly accurate clone, it features a single 6532 RIOT, 2K EPROM for the monitor program, and 5K RAM. Please keep these differences in mind while reading the tutorial, since not all examples that work on the Micro-KIM will also work on the original KIM1.

Let's get started by uploading a simple demo to the Micro-KIM. In following tutorials, I plan to delve into the details of the demo itself. For now, I simply give the demo in paper tape format.

;180200A97F8D4117A93F8D4317A90A85E7A200A0098C4217BD4802094C
;1802188D4017203F02E8C8C8E007D0EDC6E7D0E5A200BD48029D470C82
;18023002E8E007D0F5AD47028D4E024C0A0298A0C888D0FDA860080B70
;0702480840014008080800F2
;0000040004

First, connect the Micro-KIM through a serial cable with your computer, make sure the jumper JP2 is in the ON position to enable RS232 input in the monitor program, and switch the kit on. Next, start a terminal program on your computer, such as HyperTerminal or PuTTY, which I assume you have set up already as described in the basic documentation. Last, press the RS key on the kit and hit ENTER in the terminal program. If all goes well, the Micro-KIM greets you with a prompt that looks something like this.

Micro-KIM Prompt
Then copy the paper tape format code above into the clipboard, press L in the terminal, and then paste from the clipboard. Again, if all goes well, eventually the Micro-KIM answers with the prompt again. Then press 0200 SPACE  and G to start the program. Alternatively, you can remove the jumper, press 0200 on the keypad on the kit and GO to start this program. Both ways will work for this particular demo, which looks as follows.

Wave Demo on the Micro-KIM
In the next tutorial, I will introduce cross-assemblers and start exploring how to program the display.

If you enjoy this series so far, please let me know by liking this posting. Or leave a comment. Suggestions for new topics are also welcome!