IBM 5100
The IBM 5100 Portable Computer is a portable computer introduced in September 1975, six years before the IBM Personal Computer. It was the evolution of a prototype called the SCAMP 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 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. 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 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 to $20,000.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, 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. Earlier desktop computers of approximately the same size, such as the HP 9830, did not include a CRT nor nearly as much memory. An equivalent late 1960s IBM computer would have been nearly as large as two desks and would have weighed about half a ton.
Display
The 5100 has an internal CRT 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. 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 magnetic tape drives that use standard DC300 cartridges to store 204 Kbytes. One drive was installed in the machine and a second 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 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 notation. EBCD was similar to the more common IBM EBCDIC code, but not identical.Research Device Coupler
In Volume 16, Number 1, Page 41 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.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.