SBC 6502
6502 information
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:
As you can see from the photographs above, I have received this professional machine. 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.
See the KIM-1 resource page and the KIM-1 Info page for more KIM-1 info and programs.
My first impressions
After receiving the Micro-KIM I have tested several programs, available on this page. More test work to do, like getting MicroAde to work).
KB-9 stands for Kim-Basic
with 9 digits precision. Runs fine. |
||
Focal V3d |
The Focal programming language Version 3d for the KIM-1
A small interpreter (about 5K) for a
convenient interpreted language. Disassembled source by Paul R. Santa-Maria |
|
Micro-ADE
assembler/editor |
Micro-ADE was the working
horse for many KIM-1 users, the small and powerfull
assembler/editor written by Peter Jennings. Source in scanned format
(from a bad photocopy): Also this program was
enhanced by the KIM Club, resulting in version 9.0,
present in the program archive. |
|
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.
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.
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 !!
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
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!
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.
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 micro-KIM triggered me to modernize my conversion utility to for MOS Technology papertape format. Well, not too modern, it has become a Freepascal commandline utility. Runs fine in a commandline window, also when 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