IBM 5100

The IBM 5100 Portable Computer is a portable computer (one of the first) introduced in September 1975, six years before the IBM Personal Computer. It was the evolution of a prototype called the SCAMP (Special Computer APL Machine Portable) that was developed at the IBM Palo Alto Scientific Center in 1973. In January 1978, IBM announced the IBM 5110, its larger cousin, and in February 1980 IBM announced the IBM 5120. The 5100 was withdrawn in March 1982.
When the IBM PC was introduced in 1981, it was originally designated as the IBM 5150, putting it in the "5100" series, though its architecture was unrelated to the IBM 5100's.
SCAMP, the prototype.
In 1973, Bill Lowe was instrumental in fostering an engineering prototype called SCAMP (Special Computer APL Machine Portable) created by Dr. Paul Friedl and a team at the IBM Los Gatos Scientific Center. SCAMP has been dubbed in "PC Magazine" as "the world's first personal computer". The IBM Los Gatos engineering prototype and a design model by IBM Industrial designer Tom Hardy, were utilized internally by Lowe in his early efforts to demonstrate the viability of creating a single-user computer.
Description.
The IBM 5100 is based on a 16-bit processor module called PALM (Put All Logic in Microcode). The IBM 5100 Maintenance Information Manual also referred to the PALM module as the "controller". The PALM could directly address 64 KiB of memory. Some configurations of the IBM 5100 had Executable ROS (ROM) and RAM memory totalling more than 64 KiB, so a simple bank switching scheme was used. The actual APL and BASIC interpreters were stored in a separate "Language ROS" address space which the PALM treats as a peripheral device. Prices ranged from $11,000 (16k model) to $20,000 (64k).
Portable personal computer.
"BYTE" in December 1975 stated "Welcome, IBM, to personal computing". Describing the 5100 as "a 50-lb package of interactive personal computing", the magazine stated that with the company's announcement "personal computing gains an entry from the industry's production and service giant", albeit "at a premium price". A single integrated unit provided the keyboard, five-inch CRT display, tape drive, processor, several hundred KiB of read-only memory containing system software, and up to 64 KiB of RAM. It was the size of a small suitcase, weighed about 55 lb (25 kg), and could be transported in an optional carrying case, hence the "portable" designation.
In 1975, it was an amazing technical accomplishment to package a complete computer with a large amount of ROM and RAM, CRT display, and a tape drive into a machine that small; it was two more years before the similar but much cheaper Commodore PET was released - and it was not portable. Earlier desktop computers of approximately the same size, such as the HP 9830, did not include a CRT nor nearly as much memory.
Display.
The 5100 has an internal CRT (5-inch diagonal) and displays 16 lines of 64 characters. IBM provided an option switch to allow the user to display all 64 characters of each line, or only the left or right 32 characters (interspersed with spaces). Also there was a switch to display the first 512 bytes of main memory in hexadecimal for diagnostic purposes.
Mass storage.
Mass storage was provided by removable quarter-inch cartridge (QIC) magnetic tape drives that use standard DC300 cartridges to store 204 Kbytes. One drive was installed in the machine and a second (Model 5106) could be added in an attached box. The data format included several types and were written in 512 byte records.
External monitor.
An external video monitor (or modified television receiver) could be connected to the IBM 5100 via a BNC connector on the back panel. While the 5100 had a front panel switch to select between white on black or black on white for the internal display, this switch did not affect the external monitor, which only offered bright characters on a black background. The vertical scan rate was fixed at 60 Hz.
Communications adapter.
Also in September 1975, IBM announced the IBM 5100 Communications Adapter, that allowed the 5100 to transmit data to and receive data from a remote system. It made the 5100 appear the same as an IBM 2741 Communications Terminal and was designed to be able to communicate with IBM 2741 compatible machines in start-stop mode using the "EBCD" (Extended Binary Coded Decimal) notation. EBCD was similar to the more common IBM EBCDIC code, but not identical.
Serial I/O adapter.
A feature that does not appear in any advertisement for this computer is an optional Serial I/O port. In order to access the port extensions needed to be loaded from tape for the APL and BASIC programming languages. Unlike the Communications Adapter which could only be used to connect devices that supported the IBM 2741 Communications Terminal, this feature allowed you to connect and code for any device that used a standard Serial I/O port, including devices not made by IBM.
Research Device Coupler.
In Volume 16, Number 1, Page 41 (1977) of the IBM Systems Journal the article "The IBM 5100 and the Research Device Coupler — A personal laboratory automation system" read: "A small laboratory automation system has been developed by using the IBM 5100 Portable Computer in conjunction with the Research Device Coupler. This compact system provides a dedicated, high-level-language computer and a versatile data acquisition and control interface for experiments in which data rates do not exceed 9600 baud. Two experiments exemplify the use of the system. The Research Device Coupler described in this paper is a prototype of the IBM 7406 Device Coupler."
Different models.
Available with 16 KB, 32 KB, 48 KB or 64 KB of main storage, the 5100 sold for between $8,975 and $19,975 (between c. $ and $ in today's dollars).
Programming languages.
The 5100 was available with APL, BASIC, or both programming languages. At the time of introduction, APL was generally available only on mainframe computers, and most desktop sized computers such as the Wang 2200 or HP 9830 offered only BASIC.
Machines that supported both languages provided a toggle switch on the front panel to select the language. When the engineers at IBM asked one beta tester, Donald Polonis, for his analysis, he commented that if folks had to learn APL to use it, the IBM 5100 would not make it as a personal computer. He tried to impress the fact that a personal computer had to be easy to use to be accepted. Presumably, the special APL character set and APL keyboard were the primary obstacles to newcomers learning APL easily. APL had powerful features for manipulating data as vectors and matrices, while the competing HP 9830 had to offer language extensions on an add-on ROM for matrix operations.
Although not meant for regular users, the maintenance manual described a keyboard sequence to switch the 5100 into a maintenance mode. In this mode it was possible to read and write directly in RAM memory, video memory, CPU registers, interrupt vectors, clock counter, etc, using hexadecimal codes equivalent to assembly language. This allowed writing sophisticated programs directly into RAM. As this mode was a single-user system effectively running without an operating system, a determined user could manage the memory space and write stable multi-tasking programs using interrupts.
Problem-solver libraries.
IBM offered three problem-solver libraries, contained in magnetic tape cartridges, with the IBM 5100 to provide more than 1000 interactive routines applicable to mathematical problems, statistical techniques and financial analyses.
Emulator in microcode.
The 5100 was based on IBM's innovative concept that, using an emulator written in microcode, a small and relatively cheap computer could run programs already written for much larger, and much more expensive, existing computers, without the time and expense of writing and debugging new programs.
Two such programs were included: a slightly modified version of APLSV, IBM's APL interpreter for its System/370 mainframes, and the BASIC interpreter used on IBM's System/3 minicomputer. Consequently, the 5100's microcode was written to emulate most of the functionality of both a System/370 and a System/3.
IBM later used the same approach for its 1983 introduction of the XT/370 model of the IBM PC, which was a standard IBM PC XT with the addition of a System/370 emulator card.