IBM 5100 Origin Story


The IBM 5100 is the most compact IBM minicomputer. The project started in 1973, after a Wang 2200 system was rolled into an IBM managers (Dave Slattery) office by an engineer (Alvin Ginsburg) who wanted to show that a portable computer was possible (see article posted here). An IBM team was then tasked to assemble a prototype of this concept of a portable computer, which became to be called SCAMP, under the slogan of “wouldn’t that be something?

After a successful demonstration of this prototype (in 1973), IBM executives gave the green light to develop the idea into a commercial product, which became the IBM 5100. But with one caveat: in addition to APL, the system had to also be capable of supporting the BASIC programming language.

To leveraged the existing APL implemented for the IBM System/360 Model 50, as well as BASIC from the IBM System/3 Model 6, the IBM engineers developed “PALM” (Put All Logic in Microcode) to be the systems native “microcode” instruction set. ROS (ROM) code was then written in PALM, to parse System/360 or System/3 “non-executive” code (depending on the Language Switch setting) and interpret the execution of those non-native instructions in terms of PALM instructions.

IBM 5110 TYPE 2 (1978) INTERIOR (5100 has the same arrangement)

The IBM S/360 and S/3, like most computers at that time, had no “screen.” To see the output of a program, or observe the state of the system, the pre-1970s computers used either a grid of LED lights to indicate a single-bit state, or a line printer (see here). You could only print-forward, there was no concept of “clearing the screen” or writing to specific locations of the screen (because there was no screen).

An “Executive ROS” was developed to adapt the existing legacy capability to a (then modern) CRT monitor. This was a key change to enabling the IBM 5100 to be a portable system: existing software could be used on a “programmable screen” that can depict infinite sheets of paper. Adding the CRT to the IBM 5100 was like a kind of reusable-electronic-programmable paper, where you could scroll both up and down, and interactively conduct work without needing a “screaming” printer (or ink).

While IBM didn’t originate the idea of a CRT or the idea of coordinated character-generator to render a consistent multi-row text-screen (see Datapoint 2200 from 1972), the inclusion of this capability in the IBM 5100 helped evolve the thinking that this should be a standard component of a personal computer. The Common ROS (ROM) helped manage two key aspects: (1) How the results of the emulated S/360 or S/3 that were suited to go to a printer, would instead be routed to the CRT screen. (2) Coordinate how SAVE/LOAD features of both APL and BASIC would be adapted to the onboard tape-storage hardware.

Since neither S/360 or S/3 had the concept of clearing the screen or writing to arbitrary positions of the screen, these actions can’t be performed in APL or BASIC on the IBM 5100 (because the systems they are emulating can’t do these functions). That is, there is no “CLS” command in the IBM 5100 BASIC to simply clear the screen. But the system does have a concept of Devices, and the Executive ROS (a kind of early ROM BIOS) has a feature to interactively Alter addresses and enter PALM machine code directly into RWS (RAM). Using this, users could invoke commands (in machine code) to program the system and use built-in Executive ROS code to save and load their work to tape.

%d bloggers like this: