In Praise of the KIM-1

I had to return a hockey parent's call tonight, and recalled the phone number without the aid of a roster or Palm lookup. The last four digits - 6502 - reminded me of my first home computer, a trusty KIM-1 powered by the MOS 6502 Microprocessor. "Trusty" is perhaps an exaggeration. The highlight of programming proficiency was making the bars in the 7-digit LED displays dance; making the KIM-1 do anything remotely interesting required soldering irons, cable, and external peripherals. Pre-dating "plug and play" was "plug and spark" along with "smoke and play" (which is distinctly not a rap reference, music fans).

Buried in a box of books that's been moved through the complete history of dorm rooms, labs, apartments, and offices, I uncovered the MOS scripture itself, a programming guide for the KIM-1 processor. It's funny reading, nearly 30 years after its publication, with an emphasis on using a full 16-bit address space, and using indirect addressing methods when 8-bit offsets didn't cover the full data range required. Working on the KIM-1 gave me an appreciation for systems at their most primitive level. Handling I/O on the single board involved a lot of "eye" and a lot of "oh", usually preceeding some expletive in the event of the afore-mentioned smoke or sparks. At the same time, working with an OS that fit into a few kilobytes of memory, getting code out of hobby magazines (the closest thing to open source at the time), and doing stupid board tricks cemented my fate as an EE/CS major years later.

What's the big deal? High-level operating systems, even higher level languages, compilers, interactive coding and debugging environments, and inspection tools like Dtrace, should relegate the monkish fascination with old and tiny environments to literary devices in William Gibson cyberpunk. But that's computing in the very large speaking. I'm surrounded, as I write this, by computing in the very small: a Palm pilot, a cell phone, a Sony underwater digital camera (which snapped the MOS guide portrait), an Airport Express, an iPod, and probably some RFID tags on my newest office floor covering, a collection of expedited delivery packages that announce the holiday season. I want all of these devices to be reliable, fast, and stingy with their power consumption. Many lessons to be learned from the MOS Def (and yes, that is a rap reference) 6502 world of the 70s.

What next for the yellowing manual of my programming pubescence? Unbeknownst to her, I'm giving it to MaryMary upon her return from Prague in exchange for whatever Patrik Elias swag she brings home.

Comments:

Post a Comment:
Comments are closed for this entry.
About

Hal Stern's thoughts on software, services, cloud computing, security, privacy, and data management

Search

Archives
« April 2014
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today