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 (headed by Paul Friedl), 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 president (John Opel) gave the green light to develop the idea into a commercial product, which became the IBM 5100. But with one technical caveat based on feedback from the prototype development: in addition to APL, the system had to also be capable of supporting the BASIC programming language.

The SCAMP prototype used the APL implementation found in the IBM 1130, a “desktop sized” computing system from the mid-1960s. To leverage the more complete APL implemented for the IBM System/360 Model 50, as well as BASIC from the IBM System/3 Model 6, the IBM engineers used “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 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 1970), 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.

Bibliography and Reference

Paul Freidl credits the following for the development of SCAMP:

SCAMP Contributors:
Paul Friedl      Mgr, SCAMP Project   (d. 2016)
Joe George       SCAMP Hardware Team Leader
Patrick Smith    SCAMP Software Team Leader

Horace Flatt     Mgr Plao Alto Scientific Center
John Eklund      Curator, Smithsonian Institute
Lou Stevens      Mgr, IBM ASD Los Gatos Lab
Roy Harper       IBM Fellow
George Marenin   Los Gatos ASD Consulting Engineer (Roy Harper Fellow Program)
Doug Dean        Los Gatos ASD Designer
Joe Myers        Black Belt APL Programmer
Jack Rogers      President IBM General Systems Division 

Roger Abernathy        GSD Boca Raton, FL; Manager of the PALM Development Group and later the Engineering Manager for the IBM System/23 (5120 follow-on business computer)  (d. 2007)
Warren Christopherson  Roy Harper Fellow Program
(Paul) Ed Finnegan     Roy Harper Fellow Program  (d. 2020)
Dell Hollenbach        GSD Atlanta staffer with direct connection to the program
Paul Hodges
Jerry Jarvis           ASDD, Los Gatos; Industrial Designer who developed the SCAMP Industrial Design
Phil LaVeau
Joe Ma                 Advanced Systems Development Division (ASDD), Los Gatos, Head of Engineering
Art McCarthy
John McPherson         (d. 1999)
Kitty Stark Price
Dennis Roberson        Roy Harper Fellow Program for SCAMP and Lead Engineer for IBM 5100
John Rood/Rudd         GSD Division Director (Atlanta) and strong supporter for the program
Dave Slattery          GSD VP (Atlanta) and Patron Saint for the 5100 program
Lou Stevens            Advance Systems Development Division, Los Gatos Lab Director   (d. 2009)
Greg Tobin
Bill Tutt
Warren Christopherson  Roy Harper Fellow Program
Dick Flagg
Jerry Garvis
Alvin(Al) Ginsberg     GSD Atlanta staffer (worked with Dell and John Rudd) supporting the program
John Greenfield
Dave Nielsen
John Rood
Virgil Wyatt

IBM 5100:
Pat Rickard      (Rochester Team Lead)
Blayne Maring    (hardware engineering manager)

SCAMP Components
See page 50. This appears to be an article published to PC Magazine
November 1983, Volume 2 Number 6

  • a 5-inch CRT from Ball Brothers, Inc.
  • Norelco audio tape cassette recorder as a secondary storage device,
  • keyboard from IBM in Raleigh, NC
  • 16 Kbyte memory cards from IBM in Germany
  • PALM (Put All Logic in Microcode) microprocessor from IBM in Boca Raton, FL.
  • IBM 1130 emulator in PALM microcode

See also

%d bloggers like this: