Translations of this page:

CBM / MOS Kim-1 (1975)

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

sysinfo/kim1.txt · Last modified: 2008/09/24 22:51 by wilbert
Except where otherwise noted, content on this wiki is licensed under the following license:CC Attribution-Noncommercial-Share Alike 3.0 Unported