KIM-1
KIM-1

snap
Images



  
Size

-
Info
   
Setname:  kim1   
Year: 1975
Manufacturer: MOS Technologies
Status: good  works
Type: Training Board
Emulation info
   
Overall emulation:  good   
Color emulation:  good  
Sound emulation:  good  
Graphics emulation:  good  
Savestates:  supported   

Tech info
Chips
M6502 ("maincpu")cpu 1000000 Hz
Speaker ("mono")audio
DAC ("dac")audio
Media devices
cassette ("cassette") cassette cass wav, kim, kim1


Show detailed info about 'DipSwitches' of this system
DipSwitches

NameValue
sw3: SS single step
 run

Romset info
ROM NameSizeCRC32SHA1Dump StateBIOS option
6530-003.bin1024 a2a5650260b6e48f35fe4899e29166641bac3e81e3b9d220good
6530-002.bin1024 2b08e923054f7f6989af3a59462ffb0372b6f56f307b5362good
Sysinfo



Features


* CPU: 6502 1 MHz
* RAM: 1152 bytes
* ROM: 2 KB (assembler)
* Text Modes: 6 digits LED screen
* Graphic Modes: None
* Colors: No
* Sound: Various square wave frequencies could be produced by software
* I/O Ports: tape interface, bus expansion, serial (to connect to a terminal)
* Keyboard: Hexadecimal keyboard, calculator type


Usage


MESS supports emulation of kim1 with a "cassette" (cass) device. The cassette images can be regular .wav files or binary files in .kim format. In MESS 0.128 support was added for clickable artwork.


Keyboard

This system requires full keyboard emulation to work correctly. At startup, full keyboard emulation mode is enabled by default. Whilst in full keyboard emulation mode, some key associated functionality may be disabled (like the ESC key for EXIT). The keyboard emulation mode is toggled using the "Scroll Lock" key (by default).

Kim-1 has 23 keys to enter programs. 16 keys represent the hex digits, 7 keys are functions keys. MESS maps these keys in the following way (key=MESS key, name=original key)

^ key ^ name ^ description ^
| F1 | AD | address mode |
| F2 | DA | data mode |
| F3 | RS | reset |
| F5 | GO | execute from address |
| F6 | PC | program counter (hmm.. whatever) |
| F7 | ST | step (note: NMI handling for K7 missing) |
| ENTER| + | increase address |
| 0-F | hex | hex digits |


A sample program

The following example program will add 2 bytes and display the low byte of the result in the address led displays.


POINTL = $FA
POINTH = $FB
START = $1C4F
0000 VAL1
0001 VAL2
0002 18 PROG CLC
0003 A5 00 LDA VAL1
0005 65 01 ADC VAL2
0007 85 FA STA POINTL
0009 A9 00 LDA #00
000B 85 FB STA POINTH
000D 4C 4F 1C JMP START


This program can be entered by pressing the following sequence of keys:

* AD
* 0 0 0 2
* DA
* 1 8
* +
* A 5
* +
* 0 0
* +
* 6 5
* +
* 0 1
* +
* 8 5
* +
* F A
* +
* A 9
* +
* 0 0
* +
* 8 5
* +
* F B
* +
* 4 C
* +
* 4 F
* +
* 1 C

To use this program to add 2 and 3 press the following keys:

* AD
* 0 0 0 0
* DA
* 0 2
* +
* 0 3
* +
* GO

Now the address led displays will display 0005.


Cassette

When writing to tape the system must be provided a file ID, a starting address and a length. The file ID must be written to address 0x17F9; the starting address is written to 0x17F5 (low byte) and 0x17F6 (high byte); the length is written to 0x17F7 (low byte) and 0x17F8 (high byte). The tape writing routine is located at 0x1800.


To write 16 bytes of data starting from address 0x0000 as file ID 0x01 the following sequence of keys must be pressed:

* AD
* 0 0 F 1
* DA
* 0 0
* AD
* 1 7 F 5
* DA
* 0 0
* +
* 0 0
* +
* 1 0
* +
* 0 0
* +
* 0 1
* AD
* 1 8 0 0
* GO


When reading from tape first a file ID must be specified. The file ID must be written to address 0x17F9 and then the tape reading routine at 0x1873 must be started. If you do not know the file ID but just want to load the next file from a cassette then supply a file ID of 0x00.

To load data from file ID the following sequence of keys must be pressed:

* RS
* AD
* 0 0 F 1
* DA
* 0 0
* AD
* 1 7 F 9
* DA
* 0 1
* AD
* 1 8 7 3
* GO


Known Issues


This driver supports the backdrop image of the KIM-1, and code images in .kim format.

The reading of cassette images has been broken when the core cassette code was upgraded to a mame device.


History and Trivia


This prehistoric computer has no "real" keyboard and no video output, program are entered by the small hexadecimal keyboard (located in the lower right part of the picture) and results are displayed on the small LED "screen" (it can display only 6 digits). It has a simple monitor that allows one to examine & modify memory, load and save paper tape, load and save cassette tape, run and debug programs through a 'single step' mode. The monitor works with the built in keypad and LEDs, or a terminal like the Teletype ASR33.

It is possible to connect the KIM to a terminal via a dedicated serial port.

Soon after release, Commodore Business Machines would buy out MOS Technologies and distribute the KIM-1 with a Commodore name on it.

Additional Info

(Info from Bob Leedom): The KIM-1 had "no video output", you say? And the "small LED screen...can only display 6 digits"? Not quite. The software could address each segment of the 7-segment displays in the "LED screen". As a result, tremendous ingenuity was unleashed by the KIM-1 User's Group, and the display was used for many clever things. The editors published my version of the artificial intelligence board game (in which the computer learns which moves lose, and never makes those moves again, until it's eventually unbeatable), my baseball game (two-player or you vs computer, six kinds of pitches possible, scoreboard, men-on-base display, lots more), and my semi-successful commercial entry called KIM-venture (a tiny version of Adventure, with XYZZY-type secret word, monsters, treasures, 26 rooms, and more). It was an amazing little computer. Mine still works!

(info from old-computers.com)


Links


* The KIM-1 Enthusiasts Page -- http://www.kim-1.com/
* Kim-1 at Ruud's Commodore Page -- http://www.baltissen.org/newhtm/kim.htm
* Tech Infos -- http://www.zimmers.net/anonftp/pub/cbm/schematics/kim-1/index.html
* KIM-1 at old-computers.com -- http://old-computers.com/museum/computer.asp?c=149



Edit the History info for this game.

Permalink

Back to Home Page