Page 2 of 3
The hardware side of Project Chess was something of an anti- climax. On the other hand it would have been easy for the IBM team to produce something that was either so over engineered that it was too expensive and difficult to use or something so under powered as to be ridiculous. Remember IBM sold a lot of mainframes and had no wish to damage that particular source of cash.
IBM chose the new Intel 8088 processor, the 8-bit variant of the full 16-bit 8086 processor. It seems strange now that they were worried that the 8086 might be too powerful! IBM thought about using the Motorola 68000 processor - a much neater and more logical device altogether. It is fun to speculate on what the world would be like if they had gone with it rather than the 8088 - Motorola would have played the role of Intel but who would have been Microsoft?
The architecture of the 8088 determined the architecture for the rest of the system. The address space was 1MByte but no-one at IBM could believe that any user would ever need that much in a personal computer and so they made the decision to divide the space up into 604KBytes of user space and 384KBytes for the system. Now, of course, we all know that this was a mistake. The system area was filled with 40KBytes of ROM and the video RAM. If you think that 40KBytes of ROM is a lot you are forgetting that back then it was the tradition to have Basic in ROM and this took 32KBytes leaving 8KBytes for the BIOS.
The motherboard was designed to hold 64KBytes of RAM but 16KBytes was all that was expected to be fitted initially. Industry standard 16K DRAMs were used and one of the channels of a three-channel timer was used to generate the refresh signal. The other two channels were used to make the speaker beep and to build an audio cassette interface - yes an audio cassette interface! In those days disk drives were rare and expensive things but most users still bought the disk version of the machine and the cassette interface was soon forgotten.
The IBM PC system
They did build in an expansion bus though - the 8-bit ISA bus. Five expansion slot connectors were designed into the original motherboard and these soon proved inadequate. Although IBM was planning to use an open architecture policy for the PC, they never expected so many people to manufacture add-on cards. The early expansion cards only bothered to decode eight address bits and so claimed large chunks of I/O space without really needing to!
Another design legacy that is still with us is the very few interrupt numbers that were available for use. This caused trouble finding a suitable allocation for address, interrupt and DMA channel for expansion cards.
Little about the design was remarkable and almost any engineer could have put a similar machine together using just the Intel design sheets of the time. The incorporation of parity checking, i.e. the inclusion of a ninth bit in every memory location to detect errors, was unique. In practice parity checking isn't that useful but it did give the machine an air of seriousness. Experts, mostly mainframe and mini experts, were able to say that the PC had parity checked memory and so was a real machine. It also made use of 11% more memory chips than it really needed!
Another typically IBM design decision was not to build any sort of graphics into the machine. The machine was aimed at the small business and the home market. For business it needed an 25 line by 80 column text-only display and for the home a 320x200 colour display was appropriate. So the whole idea of video display adapters and jargon like MDA (Monochrome Display Adapter) and CGA (Colour Graphics Adapter) was born. Both display designs were poor. The MDA flickered so badly that it had to be used with a long persistence monitor to reduce the flickering. The trouble was when the screen scrolled it left an after-image. The CGA was intended to be used with a standard TV set and so it had a very low resolution 320x200 mode. To use it in the 80x25 text mode and at 640x200 in two colours you needed a monitor. Most users bought a monitor!
The whole design was prototyped using a wire wrap board, a method of construction where thin wire is wrapped around metal pins by a small hand gun. In theory the force of the wrapping welds the metal together but it doesn't always work that well. Two wire wraps were built and one was shipped off to Microsoft so that they could get on with developing the software. The trouble was that as the prototype heated up the wire wraps became loose and the board malfunctioned. Not the best way to try to develop software.