IBM 5100

Revision as of 21:47, 24 September 2026 by Josh (talk | contribs) (De-link four red links (bitsavers.org, IBM 1130, IBM 5114 Diskette Unit, IBM Datamaster) to existing pages or plain text)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

The IBM 5100 Portable Computer is a desktop computer announced by IBM General Systems Division in September 1975 and made available worldwide in April 1976.[1] IBM withdrew it from marketing on 31 March 1982.[2] It is the first commercial implementation of the work begun in 1973 by Dr. Paul J. Friedl and his team at the IBM Los Gatos Scientific Center as the SCAMP (Special Computer APL Machine Portable) project — a self-contained computer that could run the APL programming environment from the IBM 1130 minicomputer.[3] The SCAMP prototype is preserved at the Smithsonian National Museum of American History.[4]

IBM 5100 Portable Computer
IBM 5100 Portable Computer (1975) — integrated 5-inch CRT, keyboard, and DC300 cartridge tape drive
Specifications
DeveloperIBM General Systems Division; SCAMP prototype by Dr. Paul J. Friedl, IBM Los Gatos Scientific Center (1973). Industrial design by Tom Hardy; programme championed by Bill Lowe
ManufacturerIBM
TypeDesktop "portable" personal computer
Released9 September 1975
Discontinued31 March 1982 (withdrawn from marketing)
CPUIBM's own manuals call it the controller — the microinstruction processor on Card G2. 15.1 MHz oscillator producing 66.2 ns clock pulses; four program levels. Widely known by the internal IBM name PALM, which IBM never uses in the 5100 service documentation
MemoryRWS (RAM) 16 / 32 / 48 / 64 KB user-installable. Executable ROS (microcode + monitor) directly addressable in 64 KB. Language ROS (APL and/or BASIC interpreters) in a separate ROS address space accessed by PALM as a peripheral
Storage1 × DC300 1/4-inch cartridge tape drive built-in (204 KB per cartridge); optional second external drive via IBM 5106 Auxiliary Tape Unit
DisplayInternal 5-inch CRT, 1,024 characters — 16 lines × 64; front-panel switches for full / half view, Reverse Display, and "Display Registers / RAM Hex" (shows first 512 bytes of RAM live). Rear-panel BNC video out (60 Hz vertical, white-on-black only)
SoundNone
Dimensions445 mm wide × 610 mm deep × 203 mm high (17.5 × 24.0 × 8.0 in, IBM's figures)
Weight50 lb (24 kg). Heat output 780 Btu/h; 0.4 kVA at 100, 115, 220 or 235 V
OS / FirmwareAPL and / or BASIC interpreter as operating environment (no separate OS); PALM microcode includes IBM System/370 and System/3 instruction-subset emulators to run the unmodified APLSV and System/3 BASIC interpreters
PredecessorSCAMP prototype (1973)
SuccessorIBM 5110 (1978), IBM 5120 (1980)
Model no.5100

PC Magazine in November 1983 retroactively called SCAMP "the world's first personal computer" — five years before the IBM PC (5150).[3] The 5100 was the production realisation of that prototype, marketed as a portable desktop computer for scientific and engineering use, weighing approximately 25 kg in a small-suitcase form factor.

The 1973 SCAMP prototype at the Smithsonian National Museum of American History. SCAMP was the direct ancestor of the IBM 5100. (Image: Wikimedia Commons, CC BY-SA 2.0)

Launch Pricing and Reception

The 5100 launched at US$8,975 to US$19,975 depending on configuration — entry-level computing at workstation prices.[2] Twelve catalogued configurations were available — APL only, BASIC only, or both, each in 16 / 32 / 48 / 64 KB RAM trims.

BYTE magazine in December 1975 wrote "Welcome, IBM, to personal computing… a 50-lb package of interactive personal computing… at a premium price."[5] Beta tester Donald Polonis warned IBM the APL learning curve would limit the machine's appeal as a personal computer — a prediction borne out in the field.[6]

Architecture

The Processor

IBM does not use the name "PALM" anywhere in the 5100 service documentation. The maintenance manual calls the part in slot G2 the controller card, and IBM's glossary defines "controller" as "the microinstruction processor within the 5100 Portable Computer".[7] "PALM" is an IBM internal name that reached the public through the trade press and through IBM's own conference papers; both expansions in circulation — "Put All Logic in Microcode" and "Program All Logic in Microcode" — are attested, and the argument over them is set out on the IBM PALM processor page.

What IBM does publish about it:[7]

  • A 15.1 MHz oscillator generating 66.2 ns multiclock-cycle (MCC) pulses.
  • Every machine cycle is an I phase followed by an E phase. The I phase is always three I cycles — 3, 8 and 3 MCC pulses, so 14 MCC. The E phase is one to five E cycles of 3 or 8 MCC each, from 3 to 40 MCC depending on the op code.
  • Four program levels, each with sixteen two-byte registers that live physically on the processor card and are addressable as the lowest 128 bytes of read/write storage. Register 0 of each level is that level's instruction address register.
  • Microinstructions are halfwords — two bytes — with the op code in the first four bits.

The often-quoted "1.9 MHz, 530 ns cycle" is not an IBM figure and is not a clock rate: 530 ns is eight MCC pulses (8 × 66.2 = 529.6 ns), which is the length of one 8-MCC cycle, not of a machine cycle. A complete microinstruction takes at least 14 + 3 = 17 MCC, or 1.13 µs.

IBM's own 1977 design paper describes the same processor as "a fast two-chip 8-bit processor" with 49 16-bit microinstructions and four interrupt levels.[1] That does not sit comfortably with the thirteen bipolar gate arrays visible on a real controller card, and the two accounts have not been reconciled; see IBM PALM processor for the evidence on both sides. The data path between the processor and storage is 16 bits plus 2 parity bits; the I/O path is 8 bits plus 1 parity bit.[1]

The processor directly addresses 64 KB through the storage address bus. The nonexecutable ROS is not in that address space at all — IBM attaches it through the I/O adapter, so it is read with a GET microinstruction as though it were a peripheral.[1] That is why the language interpreters cannot be entered by a jump.

Memory Organisation

The 5100 separates memory into three regions:

  • Executable ROS — directly addressable in the 64 KB storage address space, on cards H2 and H4; holds the microcode the controller executes.[7]
  • Language ROS (IBM: nonexecutable ROS) — reached through the I/O adapter as a peripheral, not through the storage address bus. Holds the APL interpreter (APLSV, from System/370) and / or the BASIC interpreter (a port of System/3 BASIC). IBM's design paper gives the machine a maximum capacity of 248K bytes of storage, using a then-new 48K-bit-per-chip FET ROM.[1]
  • RWS (Read-Write Storage) — main RAM, 16 / 32 / 48 / 64 KB user-installable.

Form Factor and Physical Design

IBM's own specification, from Appendix B of the maintenance manual, is 17.5 in front × 24.0 in side × 8.0 in high — 445 × 610 × 203 mm — and 50 pounds (24 kg). Heat output is 780 Btu/h and the machine draws 0.4 kVA on any of its five supported mains configurations (100 V 50 Hz, 100 V 60 Hz, 115 V 60 Hz, 220 V 50 Hz, 235 V 50 Hz).[7] It is portable in an optional carrying case, but it needs mains power and weighs what a small suitcase of books weighs: movable between desks, not between cities.

Note that the machine is deeper than it is wide. Descriptions giving it as roughly 610 mm wide are quoting IBM's side dimension as the width.

  • Integrated 5-inch CRT — 16 lines × 64 characters. Front-panel switches:
Display All 64 / Left 32 / Right 32 — view the full 64-character line or half of it.
Display Registers / RAM Hex — diagnostic mode; first 512 bytes of RAM shown live in hex.
Reverse Display — inverts the internal CRT (the external BNC video output remains white-on-black).
APL / BASIC — language toggle (only on dual-language configurations).
  • Integrated keyboard with APL or BASIC keytops (or dual-language with mode switch).
  • Integrated DC300 cartridge tape drive on the front panel.
  • Rear-panel BNC video out — 60 Hz vertical, white-on-black only.
  • Option panel for the Communications Adapter or Serial I/O Adapter.
 
IBM 5100 Portable Computer — front view showing the integrated 5-inch CRT, APL keyboard, and DC300 tape drive. (Image: Wikimedia Commons, Public domain)

Storage

The 5100 supports two storage devices:

  • Built-in 1/4-inch cartridge tape drive — IBM states flatly that "all tapes have 204K bytes storage", and that each new file costs a further 0.5K bytes for its header.[7] A complaint that "different tapes hold different amounts" is file-header arithmetic, not a drive fault. The cartridge is the 3M-originated DC300.
  • IBM 5106 Auxiliary Tape Unit — optional external second DC300 drive in a matching enclosure.

The 5100 has no floppy disk support — floppy drives arrived with the IBM 5110 in 1978.

I/O and Peripherals

  • IBM 5103 Printer — bidirectional dot-matrix line printer, the standard hardcopy device for the 5100.
  • IBM 5106 Auxiliary Tape Unit — external DC300 second drive.
  • Tycom 5100 — third-party IBM Selectric typewriter adapter at 15.5 cps.[8]
  • IBM 5100 Communications Adapter (SA21-9215-0) — emulates an IBM 2741 terminal for connection to host mainframes.[9] IBM's maintenance manual treats the Communications Adapter and the Serial I/O Adapter as one "expansion feature" sharing device address 8.[7]
  • IBM 5100 Serial I/O Adapter (SA21-9239-1) — a standard RS-232C serial channel whose line rate, parity and code the user can configure to suit the attached device — plotters, displays, card readers and printers.[1][10]
  • Rear-panel BNC composite video — for external monitor.

Languages: APL and BASIC

The 5100 supports two programming environments — APL (the original target language) and BASIC (added for broader market appeal). Both run as the operating environment: there is no separate operating system. The language is selected at power-on via a front-panel toggle on dual-language machines.

APL on the 5100 is APLSV — IBM's System/370 APL implementation — slightly modified for the 5100. IBM's design paper records how that came about: two IBM 1130 APL implementations were evaluated and rejected, and in late June 1974 the team took APLSV from System/370 instead — fifteen digits of numerical precision against the 1130's six — and wrote an emulator plus three interface routines (a supervisor, a command processor and an I/O processor) in six months. The finished emulator occupies less than 10K of ROM.[1]

BASIC on the 5100 is a port of IBM's System/3 BASIC.

Service Documents

Three of these are hosted on this wiki and should be your first stop:

The rest of the set is on bitsavers.org at bitsavers.org/pdf/ibm/5100/:

  • 1608314 — IBM 5100 Maintenance Analysis Procedures (MAP), March 1976. Per-symptom troubleshooting decision tree.
  • SY31-0429-2 — IBM 5100 Communications / Serial I/O Maintenance Information Manual, October 1976.
  • SA21-9213-2 — APL Reference Manual, May 1976.
  • SA21-9217-3 — BASIC Reference Manual, July 1977.
  • SA21-9212-1 — APL Introduction, December 1975.
  • SA21-9216-1 — BASIC Introduction, December 1975.
  • SA21-9215-0 — Communications Reference Manual, September 1975.
  • SA21-9239-1 — Serial I/O Adapter User's Manual, January 1977.

Diagnostic / POST

The 5100 has no PC-style POST display. The power-on sequence is:

  1. RAM clear.
  2. Executable ROS self-test.
  3. Language interpreter loaded from Language ROS.
  4. Language banner displayed on the 5-inch CRT (e.g. "BASIC READY").

A Diagnostic Control Program is enterable from the keyboard; in this mode the operator can display and alter read/write storage directly in hex.[7] The front-panel "Display Registers / RAM Hex" switch shows the first 512 bytes of RAM live for a quick health check.

A Customer Acceptance Test is documented in MIM SY31-0405; it uses a customer test tape cartridge.

Common Faults

Community restoration documentation for the 5100 is significantly thinner than for PS/2-era machines. The recurring failure modes reported by collectors and in the MIM are:

  • Controller card (G2) failures — the gate arrays in metal cans on the controller card are unobtainable, and a dead controller needs a donor card. Before condemning one, reseat it: an oxidised card edge produces the same symptom. Check the card jumpers — some A1 cards carry jumpers that select 5100 or 5110 operation, and a card pulled from a 5110 donor will be jumpered wrongly.[7]
  • Executable ROS / Language ROS module failures — large MOS ROM modules. Faults usually present as failure to complete the BASIC / APL self-test or as garbled language banners.
  • 5-inch CRT — standard raster CRT (not a Tektronix storage tube). Standard vintage CRT failure modes: weak emission from the cathode, focus drift, flyback insulation breakdown.
  • Tape drive — belt-driven, with a jackshaft and a capstan, so it has consumable parts and IBM publishes service checks with real tolerances for all of them (jackshaft housing, cartridge stops, motor pulley). A perished belt is the single most likely reason a mechanically intact 5100 will not read tape. IBM's own diagnosis for a noisy drive is the spindle or jackshaft bearings.[7]
  • Power supply — this is not a linear supply. IBM describes the DC board as "a small, high power, high frequency transistor switching regulator (TSR) supply", so it has a rectified-mains reservoir on its primary side and should be treated as live until a meter says otherwise.[7] It produces five rails — +5, −5, +8.5, +12 and −12 V — and the +8.5 V rail is the one that catches people out: nothing in the later IBM PC family has it, and a supply that comes up on +5 V and +12 V but not +8.5 V leaves the machine dead with a healthy-looking logic rail. The supply shuts itself down rather than blowing output fuses, so after any shutdown leave it off for at least five seconds before trying again — IBM's instruction, not a rule of thumb.[7] Full rail tolerances are on the IBM 5100 Maintenance Guide.
  • Keyboard — a capacitive design using flyplates, not a contact keyboard; it is the standard IBM solid-state keyboard already used on the System/32 and the 3740.[1] A dead or unreliable key is usually the flyplate, and IBM documents replacing it as a field operation.[7]

In Popular Culture: The John Titor Story

The 5100 is tied to the John Titor Internet hoax (2000–2001), in which an anonymous poster claiming to be a US military time-traveller from 2036 said he was sent back to 1975 to retrieve an IBM 5100 — because it could emulate IBM System/360 and System/370 instructions, a capability he claimed was needed to debug legacy systems in 2036 (a likely allusion to the Unix Year 2038 problem).[12]

What is true: The 5100's PALM microcode does contain a substantial IBM System/360-family emulator subset, sufficient to run a slightly modified APLSV (originally for System/370) and a port of the System/3 BASIC interpreter. IBM did not advertise this in consumer literature; it is documented in the MIM appendix and was confirmed by engineers who worked on the machine. Some commentators concluded the hoaxer had insider knowledge of the architecture.[13]

What is myth: Everything else — the time machine, the predicted 2015 nuclear war, the civil-war predictions. A 2009 investigation by Italian TV programme Voyager pointed to Florida attorney Larry Haber (and his computer-scientist brother) as the likely originator. The Titor first IRC mention (14 October 2000) named the 5110, not the 5100; the poster switched to "5100" by 2 November with no acknowledgment of the discrepancy.[12]

The machine also appears as the "IBN 5100" plot device in the 2009 visual novel and 2011 anime Steins;Gate.[2]

References

  1. ↑ 1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 Cubbon, A. J., "The IBM 5100 Portable Computer Design", APL ITL Symposium, Endicott, New York, 11–13 January 1977, Volume 2 (IBM Internal Use Only), pages 52–56 — hosted on this wiki as IBM 5100 Portable Computer Design (1977). IBM's own engineering account of the machine: the processor described as "a fast two-chip 8-bit processor" with 49 16-bit microinstructions and four interrupt levels; the interrupt priority order; the 48K-bit FET ROM and the 248K-byte maximum storage capacity; the statement that the only hardware specially designed for the 5100 was the power supply and the covers; the APL decision history and the choice of APLSV; the nonexecutable ROS attached through the I/O adapter; and worldwide availability in April 1976.
  2. ↑ 2.0 2.1 2.2 Wikipedia, "IBM 5100". Used here only for the marketing and withdrawal chronology, the configuration list and the launch prices. This is a tertiary source: the announcement and withdrawal dates on it are sourced to the IBM Hursley Museum's Hardware Announcements to 1987 list, and that PDF no longer serves — the URL now redirects to the museum's home page — so the underlying document could not be checked during verification. Treat the exact withdrawal dates as unconfirmed.
  3. ↑ 3.0 3.1 Friedl, P. J., "SCAMP: The Missing Link In The PC's Past?", PC Magazine 2(6), November 1983, pages 190–197. Friedl led the SCAMP project; this is his own retrospective account, and the source of the "world's first personal computer" description.
  4. ↑ Smithsonian National Museum of American History, object record nmah_334628 — the SCAMP prototype. Establishes only that the object is in the collection.
  5. ↑ BYTE magazine, December 1975, editorial comment on the 5100 announcement. Archived at archive.org as byte-magazine-1975-12.
  6. ↑ Reported in Bagnall, B., Commodore: A Company on the Edge, page 39 (Google Books lB4PAwAAQBAJ). Secondary; supports only Polonis's warning to IBM about the APL learning curve.
  7. ↑ 7.00 7.01 7.02 7.03 7.04 7.05 7.06 7.07 7.08 7.09 7.10 7.11 7.12 IBM, IBM 5100 Maintenance Information Manual, SY31-0405-3, October 1979 — hosted on this wiki as IBM 5100 Maintenance Information Manual. Section 2 item 209 (A1 board card locations and the 5100/5110 card jumpers); item 272 (Y1 socket pin assignments and the DC rail tolerance table). Section 4 "Theory" — Controller (15.1 MHz oscillator, 66.2 ns MCC pulses, I phase of three I cycles, E phase of one to five E cycles, the four program levels and their devices, sixteen two-byte registers per level addressable as the lowest 128 bytes of read/write storage) and Power (the supply described as a transistor switching regulator, its five DC rails, the overvoltage, undervoltage and overcurrent trip points, the +6 Vdc meter reference and the five-second restart rule). Section 5 "Circuits" logics 501 to 561, which name every A1 card by slot. Appendix B, 5100 specifications (dimensions, weight, heat output and power requirements). Appendix C, Microinstructions (the microinstruction set, the formats chart and the Control Command Data Table listing the 5100's I/O device addresses). Appendix D, Glossary.
  8. ↑ Datamation, May 1976, page 212, at bitsavers.org/magazines/Datamation/197605.pdf. Supports the existence and the 15.5 cps rating of the Tycom Selectric adapter only.
  9. ↑ IBM, IBM 5100 Communications Reference Manual, SA21-9215-0, September 1975, at bitsavers.org/pdf/ibm/5100/.
  10. ↑ IBM, IBM 5100 Serial I/O Adapter Feature User's Manual, SA21-9239-1, January 1977, at bitsavers.org/pdf/ibm/5100/.
  11. ↑ IBM, IBM 5100 Portable Computer Parts Catalog, S131-0599-3, November 1976 — hosted on this wiki as IBM 5100 Portable Computer Parts Catalog. IBM part numbers for every assembly, including the AC box capacitors and the tape drive motor run capacitor. No electrical values are given for any of them.
  12. ↑ 12.0 12.1 Wikipedia, "John Titor". Tertiary; used only for the chronology of the hoax and the 5110-before-5100 discrepancy in the IRC logs.
  13. ↑ Wikipedia, "IBM PALM processor". Tertiary; see IBM PALM processor for the primary and reverse-engineering sources.

Further reading