The IBM 5100 Portable Computer was a portable computer introduced in September 1975, six years before the IBM PC. 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.
|Release date||September 1975|
|Introductory price||From $8,975 (BASIC with 16KB) to $19,975 (BASIC+APLwith 64KB)|
|CPU||IBM PALM processor clocked at 1.9MHz|
|Memory||16KB to 64KB RAM (with 16KB iterations), 32KB to 64KB ROM|
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 not directly descended from the IBM 5100.
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 KB of memory. Some configurations of the IBM 5100 had Executable ROS (ROM) and RAM memory totalling more than 64 KB, so a simple bank switching scheme was used. The actual APL and/or 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).
The Portable Computer
A single integrated unit provided the keyboard, five-inch CRT display, tape drive, processor, several hundred kilobytes of read only memory containing system software, and up to 64 KB of random access memory. 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.
While the IBM 5100 seems large today, 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 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.
The 5100 has an internal CRT (5″ 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 switch to display the first 512 bytes of main memory in hexadecimal for diagnostic purposes.
IBM’s solution was provided by 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.
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.
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.
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.”
Available in 12 models providing 16 KB, 32 KB, 48 KB or 64 KB of main storage, the 5100 sold for between $8,975 and $19,975 (between $38.8 thousand and $86.3 thousand in today’s dollars).
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.
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 APL.SV, 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.