Developer Docs, 80s-style

Developer Docs, 80s-style

One of the constants of software development is the need for reference documentation, where programmers can look up the details of their craft. These days, that documentation is on the web, and programmers typically find it with a search engine. But it wasn't always so.

IBM PC Technical Reference

In the 1980s, nearly all documentation for programmers was distributed in printed form. A typical example was the IBM PC Technical Reference, which came in a 5.5"x8.5" 3-ring binder in a cloth-covered slipcase.

IBM PC Technical Reference

As an assembly language programmer, I spent many hour studying SECTION 3: ROM and SYSTEM USAGE as well as Appendix A: ROM BIOS Listing, which contained a printout of the entire 5000+ lines of 8086 assembly language code that made up the PC's BIOS.

It was fascinating and instructive to see exactly what was going on inside those BIOS chips. For example, here's the the BIOS code that ran whenever you pressed a key on the PC:

Source code for the keyboard interrupt handler routine in Version 1 of the IBM PC BIOS, dated 4/24/1981. Syntax highlighting provided by a Visual Studio Code extension 38 years later!
A historical footnote: the fact IBM published the entire BIOS source code was one of the things that launched the PC-compatible "clone" hardware industry. Engineers at companies like Compaq, Phoenix, and AMI studied the details and then wrote their own BIOS code that could run MS-DOS or PC-DOS.

Moving printed docs to the screen

Looking up various details in printed documentation was tedious, and after a couple of years of working in 8086 assembly language I wrote a utility program for my own use, to put key documentation right where I needed it: on my PC's screen.

I packaged up these docs in a TSR (Terminate and Stay Resident) program – a program that resided in the PC's memory space and was always available at the click of a user-definable keystroke combination. Writing well-behaved TSRs was something of a black art: you had to modify the BIOS's interrupt vector table to loop in a handler to check for your hot key, manually save and restore the screen contents behind the pop-up application, and deal will a variety of low-level details that modern operating systems handle for developers.

The reward for handling all of those details correctly was that I could be writing assembly language code and just press Alt-F1, and the right half of my screen would display a directory of useful reference documentation.

Productizing my tools: the Instant Help series

After a couple of programmer friends asked for a copy of my reference docs utility, I decided to make it into a shrink-wrap product. My small business Second City Software was already selling SCS-Draw via mail order ads in computer magazines, so I already had the infrastructure in place: an 800 number, a shrink-wrap machine in the garage, and a regularly scheduled daily UPS pickup at my house.

I put together some basic packaging and released my utility as Instant Help for MS-DOS Programmers. There were far more BASIC programmers than assembly language programmers, so shortly afterward I also created Instant Help for BASIC Programmers.

the Instant Help series
back cover of Instant Help for MS-DOS Programmers
back cover of Instant Help for BASIC Programmers

These days, programmers have all sorts of syntax help built right into the editors they use, but back then there was no concept of autocomplete or IntelliSense. The ability to look up basic syntax details on the screen, without cracking open a book, felt like a big step forward! Keep in mind this was long before the internet – most programmers didn't even own a modem.

The InfoWorld review

In the spring of 1987, I attended the Comdex Spring trade show in Atlanta, where I met an InfoWorld reporter named Jeff Angus. I told him about the Instant Help programs, and when he had a business trip to Chicago a few months later we arranged to meet so that I could give him some copies. I was forthright about the fact Second City Software was a small company and I was working out of my home, so we arranged to meet at a McDonald's on Rand Road in the Chicago suburb of Mount Prospect. As a result of that meeting, he wrote a nice little article about Instant Help that appeared in InfoWorld.

I did a search on Google Books this morning, and was pleasantly surprised to find a scanned copy of that 10/5/1987 issue of InfoWorld. The article on page 23 described my Instant Help products as well as Peter Norton's On-Line Programmer's Guides. The cover story was about the upcoming release of Microsoft Excel, the successor to MultiPlan that was expected to be a strong competitor to Lotus 1-2-3.

I sold a few hundred copies of Instant Help, mostly through Programmer's Connection, a big mail order distributor of programming tools located in Massachusetts.

InfoWorld, October 5, 1987