Print this page

Micro-KIM

See my 6502 related sales 6502! Junior, KIM-1, 6502 books, OSI DOS65, Elektuur cards here

Micro-KIM
Now everybody can own a KIM-1 at a very reasonable price! Vince Briel is selling the micro-KIM,
with nearly identical specifications. As a kit and as an assembled working unit.

Specifications

  • 6502 CPU running at 1Mhz
  • 2K EPROM replacing built in ROM on 6530's
  • 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.
Micro-KIM

 

Note that when receiving this in Europe you will have to pay taxes to the customs, 30 euro for the Netherlands, and it will take at least three weeks to receive.
See the KIM-1 page for more KIM-1 info and programs.

First impressions

  • 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 MicroAde will not have much sense. The first extension to be made, Vnce Briel is already working on that.
  • 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.

Tested programs

Micro-KIM I tested programs are available on this page. All work like on the KIM-1. Of course not the ones requiring the missing second 6532 and cassette interface.

 

Microsoft KB-9 Basic, dated 1977

KB-9 stands for Kim-Basic with 9 digits precision. Runs fine.

Scanned manual

The original KB9 and Version 3.0

Focal V3d

The program in binary format

The Focal programming language Version 3d for the KIM-1

A small interpreter (about 5K) for a convenient interpreted language.
Requires memory from $2000 and up. Has some terminal echo problems.

The scanned manual

Disassembled source by Paul R. Santa-Maria

KIM-1

Micro-ADE assembler/editor

Micro-Ade program
Original Micro-Ade program in Papertape format, ready for the Micro-KIM Requires 32K RAM ex[pansion and the three! fixes for the decode problem of 6530 RAM areas.

Micro-ADE was the working horse for many KIM-1 users, the small and powerfull assembler/editor written by Peter Jennings.
Manual and program are placed here with permission by Peter Jennings (thank you Peter for this and for a great program!).

Scanned manual

Source in scanned format (from a bad photocopy):
- editor
- assembler
- i/o
The frontpage is shown on the right.

Also this program was enhanced by the KIM Club, resulting in version 9.0, present in the program archive.
Page 1 and 2 of the command summary.
Read here in the future the source of the enhancements (text by S.T. Woldringh).

KIM-1

KIM-1

 

Not tested are: the CWMoser asm/ted program. Tiny Basic works, but has some character display problems.

TSC Games

See the KIM resource page for the complete scan of the TSC book with KIM terminal games.

Hangman
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.

Hangman in Papertape format

Hurkle

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 10x10 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 !!

Hurkle in Papertape format

Mastermind

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 user's 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!

Mastermind in Papertape format

Acey Ducey

Acey-Ducy in Papertape format

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.

Switch

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!

Switch in Papertape format

h2>Useful utilities

KIMTAPE

The binary files in the KIM-1 program archives below have been reproduced, from the original cassette recordings, with the tool KIMTAPE on a PC in a DOS box. See Ed's 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
infile: qchess.wav
outfile: qchess.BIN
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:

C:\kimtape
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.

The Micro-KIM triggered me to modernize my conversion utility to for MOS Technology papertape format.

KIMPAPER for Windows

A program for Windows to convert between papertape and binary format.

Windows installable program KIMPAPER
Sources (Delphi)

KIMPAPER V1.1 for DOS

Not too modern, but handy, a commandline utility. Does exactly the same as the Windows program KIMPAPER. Runs fine in a commandline window. Can also be compiled for Linux with Freepascal. In the KIMPAPER archive the program, source and information on the program and papertape format can be found.

C:\MICROKIM>kimpaper
KIM-1 Mos Technology BIN - papertape format conversion utility, Hans Otten, 2007 v1.1

Syntax is:
KIMPAPER [-[b|p] filename [startaddress]
C:\MICROKIM>kimpaper -h
KIM-1 Mos Technology BIN - papertape format conversion utility, Hans Otten, 2007 v1.1
Syntax is: KIMPAPER [-[b|p|h] filename [startaddress] first parameter switches
-h help
-p convert to papertape
-b convert to binary
second parameter (first if no parameters, assumed binary to papertape)
name of file to convert
.BIN for binary, forces conversion to PAPertape
.PAP for papertape, forces conversion to BINary
third parameter (assumed 0000 if not present)
startaddress for BIN to papertape conversion
Files of type .BIN wil force conversion to papertape.PAP
Files of type .PAP wil force conversion to binary .BIN

Examples:

C:\MICROKIM>kimpaper mastermind.bin 0200
KIM-1 Mos Technology BIN - papertape format conversion utility, Hans Otten, 2007 v1.1

C:\MICROKIM>kimpaper mastermind.pap
KIM-1 Mos Technology BIN - papertape format conversion utility, Hans Otten, 2007 v1.1
Start address 0200 in file mastermind.BIN
Start address 03CB in file mastermind.BIN


Previous page: KIM-1
Next page: Elektor/Elektuur Junior


© Copyright Hans Otten, 2007,2012
This site is powered by CMS Made Simple