- 6502 CPU running at 1Mhz
- 2K EPROM replacing built in ROM on 6530s
- 5K RAM using the KIM-1 memory map
- RS232 interface made to work with TIM built in KIM-1
- Single-Step mode for debugging
- debounced RESET and STEP switches
- 40 pin header for future expansion
- 32K RAM card available
- The I/O of the 6 digit display and keyboard are memory mapped exactly like the KIM-1 for full program compatibility.
- It really feels like a KIM-1. Smaller, but just as simple to operate. Easy to connect a serial cable and connect to a terminal program like Hyperterminal.
- No cassette port. This means the programs with real nostalgic value like the editor/assembler Micro Ade will not have much sense.
- No second 6532 (though the 6530-002 and 003 ROM is present!). So no funny I/O experiments yet.
- 32K RAM extension! Yes, this makes the machine worthwhile! Now I can run Microsoft Basic and MicroAde and try to get the Mpascal compiler working again.
- Some small mistakes are on the version 1 board, fixed in the current version, and this needs three hardware fixes to be made, so I have to get the soldering iron into action.Simple fixes and it lets MicroAde run!. Great support by Vince!
- Loading programs via the serial interface is slow. But it works! Fun to test all those KIM-1 programs. KIMTAPE and KIMPAPER help a lot here.
Micro-KIM I tested programs are available on this site. All work like on the KIM-1. Of course not the ones requiring the missing second 6532 and cassette interface.
Not tested are: the CWMoser asm/ted program. Tiny Basic works, but has some character display problems.
See the KIM resource page for the complete scan of the TSC book with KIM terminal games.
Copyright (c) 1976 by Technical systems consultants box 2574 w. Lafayette in 47906
This program implements the word guessing game hangman for 6502 based computers. The object of this game is to guess the word selected from the supplied list. This is done by entering a letter (A-Z) in response to the prompt guess? . If that letter is in the selected word the computer will print the word showing the location of that letter. Letters not yet guessed will be indicated by -. If more than one of that particular letter is in the word only the first occurence of the letter is displayed. For each incor¬rect guess the computer will display one more letter of the word hangman. When the word hangman appears completely you lose and the word is then revealed. You are then asked to Play again?. The appropriate responses are y or n. If n is typed control will be transferred to your monitor. The word list supplied can be easily modified to suit your needs. The list starts at wrdlst (0397) and each word is preceeded and followed by hex code 04. Each word can be up to 9 letters long with one ascii character in each byte. If the number of words is changed (listing is supplied with 16) the value of wrdcnt must also be changed. That is, you must change the contents of location 025A to reflect the number of words (in hex) in the list. After any word is used it is marked to preclude the possibility of it occuring more than once in a particular game. When all words have been used the computer will appear to hang just before printing the number of letters in the word. This your indication that it is all done. To play again you must then reload the word list or the whole program. To disable the marking of the used words change location 0278 to EA (nop), before starting this program you must be certain that not both bytes rndm and rndm+1 are zero. If so, set one or both to some non-zero value. The starting address of this program is 0200.
This game is adapted for the 6502 from the version released by the Peoples Computer Company. The object of the game is to find the hiding hurkle. He will be hiding on a 1010 grid with o,o being the southwest corner of the playing field. You will have three guesses to find him! To start the game, start execution at hex location 0200. You will then be asked for an initial guess. If you didnt find him the computer will give you a clue, telling you which direction you need to go to find him. For example, if you guessed 2,3 and the hurkle was hiding at 6,6 you would be told to go north east. The first number entered moves you north or south (increasing values move you north) and the 2nd number moves you east or west (increasing numbers move you east). If you cant find him in 3 guesses, you will be told where he was hiding. Happy hurkle hunting !!
This program implements the popular Mastermind. The object of this game is to guess a sequence of 4 letters in the range of A-F that the computer-has selected. The computer will give you clues as to the accuracy of your guess as follows. One black marker for each letter guessed in the correct position. One white marker for each letter guessed in the sequence but not in the correct position. The total number of markers (black + white) will never exceed 4 because the computer will award at most one marker for each position of the users guess. When you receive 4 black markers you have guessed the sequence and the computer will inform you as to how many tries you needed. If you give up, you may type a G as one of of your guesses and the computer will tell you what the sequence was. Caution must be excercised so that not both bytes rndm and rndm+1 are zero. If this is the case, change one or both bytes to some value (non-zero) before you begin running the program. The starting address of this program is 0200. Have fun!
This program implements the popular card game Acey-Ducey. The object of this game is to place bets on the relative probability of the occurence of a particular card. The computer deals you your first two cards and you place a bet on the third card being between the first two. The low card is 2 while ace (a) is the high card. The third card must not be equal to either of the first two cards or you lose. When you accumulate $2000 you win or when you lose all your money you lose. Dollar amounts are entered for the bets and must be less than or equal to the money you presently have. Bets are terminated with a carriage return. Only the last 4 digits typed remain as the bet. (leading zeros not required). Before running Acey-Ducey you must be certain that rnsm anb rnsm+1 are not both zero. If so, set one or both to some zero value. The starting address of this program is 0200.
This program implements a game of skill and logic called Switch for the 6502 computer. The object of this game is to rearrange a random sequence of the numbers 1 to 9 to numerical order left to right. This is done by reversing the sequence of the first n numbers where n is the response to the prompt SWITCH? by reversing sequences of appropriate length (in the proper order) the re-ordering can be achieved in a maximum of 15 moves regardless of the initial randomness. Before starting the program you must be certain that not both bytes rndm and rndm+1 are zero, if so, set one or both to some non-zero value. The starting address of this program is 0200. Good luck!
The binary files in the KIM-1 program archives have been reproduced, from the original cassette recordings, with the tool KIMTAPE on a PC in a DOS box. See Eds DX-Forth and Utilities Page for this and other nice programs.
This program also makes it possible to reproduce the original cassette recordings that can be read by a KIM-1.
The files were made as follows: The KIM-1 cassette audio was connected to the PC audio input and (with Cooledit) recorded as a wave file.
For example: qchess.wav
The wave file was then converted with KIMTAPE to a binary file (the exact content of of the KIM-1 memory when recorded).
And the KIMTAPE utility then displays load address (for example and tape ID
c:\kimtape qchess.wav qchess.bin
KIMTAPE version 0.5 17-May-04
Program 01 address 0200 checksum OK xxxx bytes done
This .bin file (any extension is fine!) is NOT a wave file! It contains the exact content of the KIM-1 memory when recorded. The size is exactly the number of bytes as stored in the memory of the KIM-1 and much smaller than the wave file. This binary file can be converted back to a wave file with KIMTAPE or converted to a papertape file with KIMPAPER:
C:\kimtape -M -A0200 -D01 -B2 qchess.bin qchess.wav
As you can see: you have to specify the load address and the program ID. The B parameter indicates hypertape speed (2 here, slow)
The resulting wav file should be acceptable for the KIM-1. It is (as I have tested) acceptable as input for KIMTAPE!
All command parameters can be seen by typing KIMTAPE without parameters:
KIMTAPE version 0.5 17-May-04
Use: KIMTAPE [options] infile[.typ] [outfile[.typ]]
-C console output
-M make wavefile
-Bn HYPERTAPE speed 2x 3x 6x
-I invert wavefile
-U SYM-1 high speed format
-V VOC wavefile
-Fn offset -127 to 127
-R RAW wavefile
-Hn hysteresis 0 to 127
-Ln leader (sec)
-Gn timing -2 to 2
-T sine tone
-An load address (hex)
-Dn prog ID (hex)
default: decode WAV file, KIM-1 format
load address=0200, file ID=00
Conversion utility for KIM-1 and SYM-1 format audio tapes.
Input/output is an 8-bit mono WAV, VOC or RAW wavefile recorded at 22,050 samples per second.
KIMPAPER KIM-1 papertape conversion
When you attach a serial device like the teletype or a modern PC with Hyperterminal you can use the TIM monitor of the KIM-1. One of the functions is loading from and saving to a papertape device on the teletype. Now since this is a way to load and save data as a textfile this is in fact usefull.
See the KIM PC utilities page for papertape and other conversion utilities.
(information and design by Norbert).
Cassette interface for theMicro-KIM. With small changes he took the circuit described in the 3rd book of Elektor Junior computer. The +12 V problem he solved taking a LT1073 dc/dc converter to generate this voltage. Everything is working fine: Micro-KIM is connected to the soundcard of my computer to store and reload programs.
N39 is needed because there is not a port present or reachable on the Micro-KIM board, so it takes 1/4 74LS01. With a pullup resistor of 3k9 connect the unused inputs to +5V, so the whole thing will not oscillate.
For the +12 V generation a LT1073 CN8-5 was used. The diagram is shown on page 12 of http://www.datasheetcatalog.com/datasheets_pdf/L/T/1/0/LT1073.shtml (5V to 15V Step-Up Converter). It is important to use exactly the values of the resistors (metal oxid series) shown there. The LT1073 CN8-5 is presently still available for 4,20? at www.reichelt.de . They also have got the LT1073 CN8, but it did not work in this context. The no-load voltage measured at the output of the LT1073 is much higher (arround +40V) than the desired +12V. But with load it reduces to about +11.8 V and remains constant there. A 12V/1W zener diode protects the 12V output of the LT1073.