Home Up Site Map Links Wish List Search

MOS Kim-1

I am no longer active in this hobby for the foreseeable future. 
I will no longer maintain or update the website, but I will leave it accessible to the web for as long as possible (years).

 

Mark-8 Minicomputer
Apple-1
MOS Kim-1
V C F
Imsai 8080
Kenbak-1
TV Typewriter
LSI ADM-3A
ASR-33
The Digital Group

My Collection
HP-01
Test Equipment
Model Rocketry

 

 

kim-1_001.jpg (102199 bytes)
My Kim-1 Running a Clock Program
 

The Kim-1 single board microcomputer

The Kim-1 single board computer was introduced in 1976 by MOS Technology. The first ad appeared in Byte magazine in April, and it was an instant success.

The Kim-1 was based on the MOS6502 processor, which was similar to the Motorola 6800 and with a nearly identical pin-out. This was no coincidence as the 6502 was designed by a former Motorola engineer named Chuck Peddle, the same man responsible for the 6800. The 6502 was a re-design of the MOS6501, which was a clone of the 6800, but had static rather than dynamic core--useful for things like pausing or single stepping the processor. Motorola sued MOS over this, and MOS discontinued the 6501 out of fear of the giant. The 6502 was the answer, with a re-designed instruction set and a few hardware improvements like a built-in clock source. The difference was enough to avoid the whole Motorola thing. Another major difference was price, The MOS6502 debuted at about $20 when other processors, like the 6800 and the 8080, were in the $200 range. 

The Kim-1 Gained an almost immediate following because it was cheap, fully assembled, and contained a large operating system in ROM. The operating system allowed users to connect the Kim-1 directly to a Teletype such as the ASR-33, or to a terminal such as the ADM-3 with nothing more than a few wires. It also contained a fully on board implemented cassette load and save interface. Kim-1 users could do more in a few minutes with under $300 than an Altair user could in an hour for three times the price. (Of course, Altair users were doing it a year sooner!!)

When introduced, and up until chips with date codes from the 26th week of 1976, the 6502 contained internal errors. This prevented correct operation of the ROR command and one of the jump commands. This also effected the operation of the Kim-1, preventing the cassette ...or was it the TTY?... code from working properly. I have never tested which routine fails.

MOS Technology was purchased by Commodore not too long after the introduction of the Kim, and as a result, the prized "MOS" version became considerably more rare. Mine is an early MOS version, with chip date codes ranging from the 15th to the 24th week of 1976. 

I use my Kim-1 as a wall clock, running a program from a listing in Kilobaud Magazine, February 1977, page 80. The full listing is provided below for those who may have a Kim-1 and wish to give it a try.

I removed my Kim-1 from a cabinet that housed a dual 8" floppy drive system complete with keyboard and video. I like it best as it is now: mounted in a frame of my own making, with a vintage switching supply and battery backup. The Kim-1 hangs on the wall of my family room, where I keep several of my other old machines. It never fails to draw attention from guests.

Check out the documentation links below!!

kim_ad.jpg (164452 bytes)
First ad to appear in Byte, April 1976

 

 6502_chip.jpg (229117 bytes)
6502 Chip Design--ultra cool!
 

6501-pins.jpg (90096 bytes)
Pin-out of the 6501 (& 6800)
 

6502-pins.jpg (78395 bytes)
Pin-out of the 6502
 

 
Kim-1 Documentation

Over the years I have collected, and have been sent many Kim-1 document files that have been scanned by others. Thanks to all, I wish I could remember everyone to thank!

Well, here you go:

6500-10A_MCS6500hwMan_Jan76.pdf - MOS Microcomputers Hardware Manual (8.2 Meg)
6500-50A_MCS6500pgmManJan76.pdf - MOS Microcomputers Programming Manual (10.7 Meg)
kim_hints.pdf - MOS Microcomputers Kim Hints (5.2 Meg)
tfbok.pdf - The First Book of Kim (12.2 Meg)

 

KIM-1 CLOCK LISTING BY LINDSAY MILLER, KILOBAUD MAGAZINE, FEB 1977 PG 80

 
 
0200 A2 EA    LDX SET NO. OF LOOPS FOR 1 SECOND
   2 CA       DEX
   3 A5 60    LDA STORE HOURS IN Fb
   5 85 Fb    STA
   7 A5 61    LDA STORE MIN'S IN FA
   9 85 FA    STA
   b A5 62    LDA STORE SEC'S IN F9
   d 85 F9    STA
   F 86 63    STX SAVE X
  11 84 64    STY (NOT NECESSARY, FILLER)      HR    MIN    SEC
  13 20 1F 1F "SCANDS" (DISPLAY TIME)         1 0    1 0    0 1
  16 A6 63    LDX                              Fb     FA     F9
  18 A4 64    LDY                            (0060) (0061) (0062)
  1A E0 00    CPX TO LOOP (TO 0202)
  1C d0 E4    BNE
  1E F8       SED SET DECIMAL MODE TO AVOID HEX DIGITS             -|
  1F 38       SEC SET CARRY                                         |
  20 A9 00    LDA                                                   |
  22 65 62    ADC ADD A+C+M-->A (0+1+SEC-->ACC.)                    |_ COUNT
  24 85 62    STA STORE IN 62 (SEC) (ACC--> 62)                     |  SECONDS
  26 d8       CLD CLEAR DECIMAL MODE FOR "SCANDS"                   |
  27 C9 60    CMP TO LOOP (TO 0200) (RESETTING LOOP FOR NEW SECOND) |
  29 d0 d5    BNE                                                  -|
  2b F8       SED                                                  -|
  2C 38       SEC SAME AS SECONDS                                   |
  2d A9 00    LDA                                                   |
  2F 85 62    STA RESET SEC TO 00                                   |
  31 65 61    ADC ADD 0+1+MIN-->ACC                                 |_ COUNT
  33 85 61    STA STORE IN 61 (MIN) (ACC-->61)                      |  MINUTES 
  35 d8       CLD                                                   |
  36 C9 60    CMP TO LOOP (TO 0200)                                 |
  38 d0 C6    BNE                                                  -|
  3A F8       SED SAME AS MINUTES                                  -|
  3b 38       SEC                                                   |
  3C A9 00    LDA                                                   |
  3E 85 62    STA RESET SEC TO 00                                   |_ COUNT
  40 85 61    STA RESET MIN TO 00                                   |  HOURS
  42 65 60    ADC ADD 0+1+HRS-->ACC                                 |
  44 85 60    STA                                                   |
  46 d8       CLD                         FOR 24 HR CLOCK           |
  47 C9 13    CMP                           47 C9, 24               |
  49 d0 b5    BNE                           4b A9, 00              -|
  4b A9 01    LDA WHEN HOURS REACH 13,      4F C9, 00
  4d 85 60    STA RESET HOURS TO 1
  4F C9 01    CMP TO LOOF (TO 0200) 
  51 F0 AD    BEQ
0253 20 5C 18 DISPLAY 0000 

Clock Displays HHMMSS.
Key in hours at OO60, minutes at 0061, seconds at 0062.
Key in 0200, then GO.
 
Accuracy of the clock is pretty good as far as a total software clock goes. It runs fast by a few seconds a day. I haven't tried to tinker with the timing; If you do, and come up with more accuracy, let me know!
 


wordpress visitor

 
Unique Visitors Since 02/04

Copyright 2008 Bryan's Old Computers
Last modified:
October 16, 2009