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.
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)
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