The story of the KIM-1 (from Ch.1.5 of “On the Edge: the Spectacular Rise and Fall of Commodore”)
MOS Technology developed a second system concurrently with the TIM. This computer was slightly more user friendly – at least by 1975 standards. Rather than a chip and some instructions, this system arrived fully assembled, except for the power supply. It was a true development system.
The inspiration for the new computer came from Don McLaughlin, MOS Technology founder and engineering manager of the project. Peddle recalls, “McLaughlin said, ‘Listen, I think this is a product that will help sell the [6502]’. They thought it was a good idea because they were calculator guys.” Peddle and a programming manager named Bob Winterhalt agreed with the idea and the three men began the design.
According to MOS Technology employee Al Charpentier, his friend and fellow engineer performed the actual hands-on design work of the system. “That was done by a guy by the name of John May,” recalls Charpentier. “He was sort of the primary mover on that project.”
At this early stage in microcomputer development, user-friendly personal computers were barely on the horizon. Niceties like a video monitor, keyboard, software, power supply, or an enclosure were not part of most designs. The recently released Altair relied on switches for input and blinking lights for output. Any other interfaces had to be added by the user. By today’s standards, it was comically impossible for most people to contemplate using these machines.
This new sibling of TIM would share similarities, but differ in a few areas. As with the TIM, this unit would contain a 6502 processor running at one megahertz. However, McLaughlin advanced TIM’s basic design slightly, branching out in a unique direction. Instead of reading data from a row of flashing lights, the new computer would contain a six-digit display. Each digit in the display had seven segments, which could display numbers and letters. The primitive display was a step up from tiny lights representing binary digits used on most other systems. McLaughlin also improved on the basic input method for personal computers at the time. Rather than a row of switches for binary input, McLaughlin specified a keypad. John May eventually selected a black keypad with 23-buttons. This was a remarkable improvement over other microcomputers of the time, allowing users to enter code more easily.
Both the keypad and the LED display reside directly on the surface of the printed circuit board (PCB), along with over a hundred precariously exposed components. The lack of a case or a power supply for the new computer clearly indicated MOS Technology was not targeting the machine for the mass market. A careless user could easily damage the machine..
Little TIM provided a paltry 256 bytes of memory, hardly enough to store three lines of characters on an 80-character computer display. TIM’s bigger brother would contain a full kilobyte of memory, comprised of eight MOS Technology 6102 memory chips. At the time, 1024 bytes was a generous amount. There was even room for expansion. Two 44-pin edge connectors made data and control signals available to the builder for additional functionality.
Prototype KIM-1
On team6502 I found a photo of a prototype KIM-1 at MOS Technologies, Terry Holdt has this in his office.
The layout is different from the final product, everything seems to be present on this prototype.
Although the two development teams were separate, they shared as much code as possible. To support a teletype machine, John May used the code from the TIM system. The 2-kilobyte program, also named TIM, contained the code to operate a cassette tape unit for storage, drive the alphanumeric display, and accept input from the 23 keys of the keypad. It also contained a monitor program, which allowed users to view memory contents and change code. A tiny bootstrap program would automatically start the monitor on reset. This was the pinnacle of user friendliness in 1975.
The name for this new computer followed the tradition set by TIM. The TIM allowed input from a terminal, hence Terminal Input Monitor. The new system allowed input from a tiny black keyboard, so McLaughlin dubbed it the Keyboard Input Monitor, or KIM. They also added a number after the computer name, a practice later continued by Commodore. It contained one kilobyte of memory, hence KIM-1. 2
Former MOS Technology engineer Robert Yannes owns the first KIM-1. “I have a very rare thing that I scavenged out of scrap heap at MOS Technology: the original prototype KIM-1, and it still works. It’s a little bit different than what went into production,” he says.
In the middle of 1975, MOS Technology began selling the KIM-1. Buyers who sent away for their KIM-1 were pleasantly surprised to have a rectangular cardboard box arrive from “MOS Microcomputers”, a short-lived division of MOS Technology. The KIM-1 circuit board arrived sealed in a black static-proof bag, surrounded by thick foam padding with manuals and documentation on top. The documentation included with the KIM-1 went beyond other computers of the day. There were three manuals – a 200-page 6502 programming manual (written by Peddle under duress), a 100-page KIM-1 user manual, and a 150-page hardware manual. The writing was friendly, concise, and detailed. Most importantly, it did not assume the user knew everything about computers already. The KIM-1 user manual promised, “You should be able to achieve initial operation of your KIM-1 module within a few minutes.” Of course, this assumed you had access to a 5 volt, 1.5 ampere power supply. A 12 volt supply was required if the cassette tape was to be used. For those in doubt, the manual contained complete instructions and a parts list for building a power supply. Once the power supply dilemma was solved, the user hit the RS (reset) key to start using the system. This started the TIM monitor program running from ROM, which displayed numbers and accepted input from the keypad. Unlike today’s systems, the KIM-1 contained no on-off switch.
Users then began the exacting process of entering code into the machine in order to make KIM do something. After entering all the data, it was simple to run the program – just set the computer to the address where the program began and hit the GO button. If the program misbehaved, the KIM-1 also had a switch on the keypad labeled SST (single step). This would cause the computer to execute the program one instruction at a time. Users appreciated this important feature, which greatly assisted in debugging.
The built in cassette-tape interface of the KIM-1 proved indispensable for early hobbyists because it allowed them to save and load their work. In contrast, users of the MITS Altair had no way to save programs with their basic system. They would sit in front of their machine, laboriously flipping switches to enter their program into memory. If someone happened to trip on the power cord, the programmer had to start all over again.
The tape-interface alone made many KIM-1 owners fall in love with the computer, and many praised it for its reliability. Tape storage was the perfect medium for a 1-kilobyte computer. Programs loaded and saved rapidly, and dozens of programs fit onto a single cassette. Of course, a cassette recorder was not included with the KIM-1, so it was up to the user to find one. It was also up to the user to connect it to the KIM-1 by interfacing the microphone input and speaker output jacks to the gold-plated IO pins of the KIM-1.
Another advanced feature of the KIM-1 was its ability to connect directly to a Teletype machine or computer terminal through a built-in serial interface. Teletype machines were large electromechanical devices with the ability to enter data through a keyboard, print hard copy, and load and save data via punched paper tape. A noteworthy feature of the KIM-1 was its ability to automatically adjust to the speed of the teletype connected to it. People were amazed to see the tiny KIM-1 operating a massive piece of hardware normally connected to minicomputers or mainframes. This helped to convince skeptics that microcomputers were true computers. As it turned out, however, many people preferred using the LED display and keypad to the noisy, messy, and costly teletype machines.
The KIM-1 debuted during Wescon in Chuck Peddle’s hotel suite, along with the 6502 and other development systems. Users received the small computer enthusiastically. Al Charpentier recalls, “They sold a lot of those. It was sort of the first fully packaged microcomputer that you could take out of the box, throw a power supply on, and do something with. It was hell, but it educated people on the processor.”
Engineer Robert Yannes recalls KIM-1 engineer John May showing the machine at his college. “I had a lot of familiarity with the KIM-1,” says Yannes. “The guy who designed that was actually a friend of Al Charpentier’s, and he was a Villanova graduate too. He had brought it to Villanova University when it first came out and I had gone to that presentation. They had KIM-1’s at Villanova too, so I ended up playing with them.”
“The KIM-1 had one characteristic that everybody always commented on,” says Peddle. “It was a packaged, complete, plug-it-in-and-start-using-it product. You could sit down and learn to program using my manuals.”
Early Competition
In December 1975, the coveted inside front cover of BYTE magazine contained a two-page advertisement for ‘the world’s lowest cost computer system’. Though it contained a 6502 microprocessor, it was not the KIM-1. It was the Jolt computer, sold by Microcomputer Associates either as a kit for $249 or fully assembled and tested for $348. Jolt, named after Rod Holt who helped develop the TIM and KIM-1 code, was technically similar to the TIM computer. Although Jolt competed with the KIM-1, Peddle did not object. “Manny just said, ‘We want to do this board of our own’, and I said ‘great’”, explains Peddle. “I was looking for anything that would help customers design with the [6502] product. We gave these guys the license.” Nonetheless, Jolt did not have lasting popularity with the hobbyist market. Jolt’s most notable achievement lies in its use as the platform for the Atari 2600 VCS prototype system.
The Jolt advertisement in Byte did much to influence MOS Technology. A few months later, in the April 1976 issue of BYTE Magazine, a new product announcement appeared for the KIM-1 titled, ‘What’s New, KIM-o-sabee?’ There was also an advertisement from MOS Technology itself. The low-key ad, stating the features in KIM-1 in point form, included a clip-out order form for a $245 KIM-1 microcomputer system. Anyone who understood computers recognized the potential immediately.
The advertisement in BYTE caught the attention of the hobbyist market. A month later, BYTE ran a feature article titled, ‘A Date with KIM’. Byte contributor Richard Simpson gushed about the low price and quality of the feature-packed KIM-1. He accurately identified it as the ideal system for anyone who did not want to assemble a kit. The KIM-1 subsequently became a favorite of BYTE and other popular homebrew publications, such as Dr. Dobbs Journal, Kilobaud, and Interface Age. Articles and projects appeared in these magazines well into 1979.
MOS Technology released the KIM-1 in 1975, the same year as the Altair 8800 computer. The Altair has come to be known as the first computer system in North America to herald the new microcomputer revolution. The differences between the KIM-1 and the Altair computer illustrate a split in design philosophy within the computer world. The KIM-1 was a single-board computer, with all components mounted on a single printed-circuit board. It had room for expansion, but there were no slots to insert adapter cards. This design philosophy reduced production costs and thus gave the KIM-1 a major pricing advantage over the Altair. Commodore computers would follow this tradition of containing everything on a single board, with specialized user ports for peripherals. The Altair 8800 used an Intel 8080 chip, which retailed for $360, but Ed Roberts was able to negotiate the price down to $75 each in bulk. Still, he needed to sell his computers for $439 in kit form, and $621 assembled to make a profit. MOS Technology was able to profitably sell KIM-1 systems for $245.
Though it was not a true personal computer, MOS Technology soon discovered the KIM-1 had a large market. “That was one of the things that took MOS by surprise,” recalls Bob Yannes. “Throughout the early days of computers, one of the most successful computers introduced in that timeframe was the KIM-1.
“They had developed the KIM-1 as a sort of sales tool for the 6502 processor. They would say, ‘Here’s a development system for you, you can design your own computer system and develop your software on the KIM-1 and help understand the hardware architecture and so forth.’ And people would use them and say, ‘Why do we want to design our own computer? We have one right here and it’s only [$245], which is cheaper than we can build it for.’ They would just buy KIM-1’s and bury them in their products.”
Hobbyists began enthusiastically calling and writing for the kit. Though the goal had been to drum up interest in the 6502 chip, it soon became apparent that microcomputers would also be a valuable source of revenue for the company. According to Kilobaud magazine, MOS Technology sold over seven thousand KIM-1 computers by June 1977. At $245 each, revenue was in the millions, which helped MOS pull through a tough financial period. “They sold a lot,” says Charpentier. “By God, they sold thousands of them – ten thousand or something like that. It was a big number of processors back then.” There was an obvious demand for computers.
The appeal of the KIM-1 was not lost on Chuck Peddle. “It was a complete package, and there are a lot of people who bought it just for that reason and learned something, and then said ‘Okay, that’s all I can do.’ But we were seeing those people and talking to them and getting feedback.”
The Seeds of the Software Industry
While the early microcomputer industry focused on hardware, very few people focused on software, with the notable exception of Bill Gates. As a result, there was a conspicuous absence of quality microcomputer software. Byte magazine noted this in December 1975, describing the situation as a “software vacuum”.
But when it came to software, the KIM-1 had an advantage over other microcomputers. The single board design resulted in a homogenous population of computers, which guaranteed programs would work from one system to the next. The simple operating system put all KIM-1 users on equal footing, so programmers knew their programs would run on all standard KIM-1 computers. Distributing the programs was also easy due to the standard tape-interface. Soon, programmers began copying and distributing their code on low cost audio tapes.
MOS Technology sold one of the earliest KIM-1 software packages at a time when no one knew what might appeal to users. One obvious application was number crunching. The 6502, like all chips at the time, could not perform many mathematical functions – it could add and subtract numbers; all other operations were iterations of these two functions and had to be coded by the developer. MOS Technology developed a program called KIMATH, which effectively transformed the KIM-1 into a full-function calculator. KIMATH also added the capability to handle decimal numbers with high precision. As usual, the MOS Technology documentation included with the software was outstanding, complete with a manual and assembler source code.
Another early favorite of development was music. Since the KIM-1 did not contain a native sound device, users connected a small piezoelectric speaker to a few pins on the IO port. Other hackers found a way to play music by recording beeps to the cassette tape. Once they recorded the music, they ejected the tape and played it back in an audio cassette player.
The seventies was the age of hardware hacking (hacking is used here in its original positive sense – describing experimentation in the pure spirit of inquiry), and hardware projects proved popular among KIM-1 users. One gifted 12-year-old hacker, Tod Loofbourrow, created a 70 pound, six foot tall robot using the KIM-1. Hayden Publishing approached Loofbourrow to write a book about his robot, which he subsequently wrote on yellow-lined paper. He titled his book, How to Build a Computer Controlled Robot, and it went on to become a successful publication.3
The calculator-like KIM display would seem to be a poor candidate for playing games, but games were among the most popular programs for the KIM-1. Most game adaptations were simple pen and paper mind-challenges, which ranged from the well known (Tic-Tac-Toe, Hangman, Mastermind, Maze) to the obscure (Hunt the Wumpus, NIM, Shooting Stars).
Programmers had to design their games for the minimal KIM-1 display which meant that they often had to rely on the imagination of the player. In Maze, the player could only see the walls directly surrounding the small blinking avatar. Hunt the Wumpus required the player to use a pencil and paper for working out a strategy. With such concessions, most mind games were easily adapted.
Gambling and card games were also especially well suited to the limited display. Programmers learning their craft created Blackjack, Craps, Bandit (Slot Machines), and a horseracing game.
Surprisingly, programmers even tried action games. These primitive games went by such names as Duel, Farmer Brown, Ping-Pong, and Asteroid. Duel was notable as being one of the earliest two-player games on a microcomputer. It was a simple but fun reflex game where each player watched the display and tried to hit their button first when a character appeared.
No one attempted to sell any of this early software. Programmers shared their games, copied them to tape, and widely distributed them to whoever wanted a copy. They saw games as a way to learn about programming while creating something fun. Most of these early games lived on in more advanced computers years later.
One of the earliest KIM-1 users enjoying these primitive games was Chris Crawford. Crawford delighted in the choices these games allowed and eventually programmed his first computer game using a KIM-1. Years later, Crawford developed famous games for Atari and became influential in game design theory.
Another early programmer who would gain recognition in the industry was Jim Butterfield. For Butterfield, using a KIM-1 was an adventure in exploration. His goal was to uncover the hidden secrets of the KIM-1 and pass that knowledge on to other users. Jim has the rare ability to understand complex subjects and describe them in simple terms. One of the biggest barriers to learning about microcomputers in those days was the problem of communicating knowledge since the average hacker seemed to be speaking a different language. Butterfield allowed those on the outside to enter the world of programming in comfort.
At gatherings with other KIM-1 users in his native city of Toronto, Butterfield presented his new finds to an attentive audience seeking to unlock the mysteries of the computer. One of his most popular programs was a game. The Apollo moon missions had always been closely associated with computers and the vivid pictures were still in Jim’s mind in the mid-seventies. This inspired him to write Lunar Lander, a simulation of landing on the moon. The game started with the user at the controls of a lunar module 4500 feet above the moon’s surface, and slowly descending. Players used the number keys to control the throttle. To add a sense of urgency, there were only 500 units of fuel to expend. If a player set the throttle too high, the rocket soon used all its fuel and crashed into the surface..
Rather than try to represent the scenario graphically, Jim chose to display the altitude, fuel, and rate of decent as numbers. Anyone playing would have to imagine himself huddled in a capsule with only the instrument readings to guide him. Four glowing red LED digits displayed the altitude and the right two digits represented the rate of descent.
Lunar Lander might seem primitive by today’s standards, but back in 1975 board games were the most popular games available. Snakes and Ladders, Monopoly, and Checkers were the pinnacle of gaming, so something like Lunar Lander was futuristic by comparison. Lunar Lander was a hit at conventions and gatherings, where it fascinated hobbyists. Part of the appeal was the adventure element. Individual landings could last five minutes or more, so players could become deeply engaged in a single game. For a grueling stretch while the lander descended, a player would intently study the rate of decent versus the altitude, and occasionally glimpse the fuel gauge. After four minutes, the lander would be close to the surface, and tension began to mount. If everything went just right, the player was rewarded with a SAFE message. More often, fuel ran out and the module went crashing into the lunar surface as the dreaded DEAD message flashed onto the screen.4
Jim Butterfield also created a small utility called Hypertape, which had an impact on the KIM-1 user community. Butterfield was having lunch with a friend who also owned a KIM-1, and mentioned that the unusual circuitry of the KIM-1’s cassette tape input would make it possible to enhance the speed of tape reading. “You don’t need all those 1’s and 0’s written on the tape,” he said. The friend, Julien Dubé, asked how that could be accomplished and Jim outlined his approach. The next day, Julien reported a speedup of three times. Feeling that this was a challenge, Jim looked more closely at the code, and found extra ways to accelerate the format. The final version of the program allowed data to be written six times faster. A full one-kilobyte program now only took 20 seconds to load with the standard KIM-1 system, as opposed to the regular two minutes.