Barry Dorrans made a comment on Monday’s blog post that reminded me of the old IBM PC technical reference manual.
In my opinion, this document is the only reason that we’re all using wintel computers these days (as opposed to Apple MacIntoshs or Commadore Amiga’s).
You see, when IBM first developed the IBM PC, they entrusted the project to a visionary named Don Estridge. Don’s vision was to produce a platform whose design was closed but whose architecture was totally open. When IBM first shipped the PC, they also made available a reference manual for the PC. This reference manual included EVERYTHING about the PC’s hardware. The pin-outs on the cards. The source code to the System ROMs. And most importantly, they even included the schematics of the original PC.
They continued this tradition throughout the original IBM PC line – for every major revision of the original PC line, there was a technical reference manual that accompanied the product. The XT, AT and network cards all got their own technical reference manuals.
This was an EXTRAORDINARY admission. For most of the other PC manufacturers, their schematics and ROM source code were tightly held secrets. They didn’t want people designing hardware for their platforms or messing with their system ROMs, because then 3rd parties could produce replacement parts for their PCs and undercut their hardware business. For instance, the original Mac didn’t even have an expansion ability – you could plug a keyboard, a mouse and a power cord into it and that was about it.
For whatever reason, Don Estridge decided that IBM should have a more open policy, and so he published EVERYTHING about the IBM PC. The ROM sources were copyrighted, but other than that, everything was fully documented – Everything, from the pin-outs and timing diagrams on the parallel interface, to the chip specifications of the various processors used on the motherboard. As a result, a thriving 3rd party hardware market ensued providing a diverse hardware platform far beyond what was available on other platforms. In addition, they licensed MS-DOS and published full documentation for it as well. When I was writing the BIOS for MS-DOS 4.0, I had a copy of the Intel components data catalog and a ream of chip spec sheets on my desk at all times so I could look up the detailed specifications for the system. I used the timing diagrams in the system to debug a bunch of problems with the printer drivers, for example (there was a bug in the printer hardware on the original IBM PC that prevented using the printer interrupt to allow interrupt driven printing – IIRC, the INTR line was raised before the “data ready” line was raised, which meant that the printer interrupt would be generated before the printer was actually ready to accept the next byte of data – they later fixed this on the PC/AT machines).
As a result, a confluence of documented hardware and software platforms existed which allowed software developers to take full advantage of the hardware platform, and the IBM PC platform grew and flourished. When IBM didn’t provide graphics support for their monochrome monitors, then an OEM, Hercules stepped up and provided it. When IBM/Microsoft didn’t provide spreadsheet support, then an ISV, Lotus stepped up and provided it.
But it was the synergy of open hardware and open software that made all the magic come together. None of the other PC manufacturers provided that level of openness at the time.
This openness wasn’t always to IBM’s advantage – it also allowed OEM’s like Compaq to clone the IBM hardware and produce their own interoperable IBM clone machines, but it did allow the platform to thrive and succeed.
In my honest opinion, THIS is the reason that the IBM PC architecture (ISA, later called Wintel) succeeded. It was because IBM and Microsoft let anyone produce products for their platform and NOT because of any marketing genius on IBM’s (or Microsoft’s) part.