Jump to content

IBM 5100: Difference between revisions

From RetroTechCollection
Deep technical pre-PC IBM page with verified sources (Bitsavers MIM/MAP, Wikipedia, IBM Archives) — honest gap disclosure where IBM did not publish per-board cap values
 
Point the documentation list at IBM 5100 Maintenance Analysis Procedures
 
(5 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{Infobox computer
{{Infobox computer
| name          = IBM 5100 Portable Computer
| name          = IBM 5100 Portable Computer
| image        = [[File:IBM 5100 overhead view.jpg|260px]]
| image        = [[File:IBM 5100 overhead view.jpg|260px|frameless]]
| caption      = IBM 5100 Portable Computer (1975) — integrated 5-inch CRT, keyboard, and DC300 cartridge tape drive
| caption      = IBM 5100 with its built-in display, keyboard and tape drive
| developer    = IBM 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
| developer    = IBM General Systems Division
| manufacturer  = IBM
| manufacturer  = IBM
| type          = Desktop "portable" personal computer
| type          = Portable desktop computer
| release date  = 9 September 1975
| release date  = Announced 9 September 1975; available worldwide April 1976
| discontinued  = 31 March 1982 (withdrawn from marketing)
| price        = US$8,975 to US$19,975 (1975)
| cpu          = IBM '''PALM''' ("Put All Logic in Microcode") — 16-bit board-level processor, 1.9 MHz, 530 ns per 2-byte cycle. 13 bipolar gate arrays in metal cans + 3 TTL DIPs + 1 round metal-can device on a single PCB
| cpu          = IBM controller card (G2), 15.1 MHz oscillator; known as [[IBM PALM processor|PALM]]
| memory        = '''RWS (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
| memory        = 16, 32, 48 or 64 KB read/write storage; executable ROS and language ROS
| storage      = 1 × DC300 1/4-inch cartridge tape drive built-in (204 KB per cartridge); optional second external drive via IBM 5106 Auxiliary Tape Unit
| storage      = Built-in DC300-type tape cartridge drive, 204K bytes per cartridge; optional IBM 5106 Auxiliary Tape Unit
| display      = Internal 5-inch CRT, 16 lines × 64 characters; 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)
| display      = Built-in 5-inch CRT, 16 lines of 64 characters; external video output for a monitor
| sound        = None
| sound        = None
| dimensions    = ~610 mm wide × ~440 mm deep × ~240 mm high
| dimensions    = 445 × 610 × 203 mm (17.5 × 24.0 × 8.0 in), width × depth × height
| weight        = ~25 kg (55 lb) — IBM marketed it as "approximately 50 pounds"
| weight        = 24 kg (50 lb)
| os            = APL 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
| power        = 0.4 kVA at 100, 115, 220 or 235 V AC
| os            = APL, BASIC or both, in ROS
| predecessor  = SCAMP prototype (1973)
| predecessor  = SCAMP prototype (1973)
| successor    = [[IBM 5110]] (1978), [[IBM 5120]] (1980)
| successor    = [[IBM 5110]]
| model        = 5100
| model        = 5100
}}
}}


The '''IBM 5100 Portable Computer''' is a desktop computer announced by IBM General Systems Division on '''9 September 1975''' and withdrawn from marketing on '''31 March 1982'''.<ref>https://en.wikipedia.org/wiki/IBM_5100</ref><ref>https://ibmhursleymuseum.info/docs/hardware_list_to_1987.pdf</ref> 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.<ref>https://en.wikipedia.org/wiki/IBM_5100</ref><ref>https://books.google.com/books?id=q8fwTt09_MEC&pg=RA5-PA6</ref> The SCAMP prototype is preserved at the Smithsonian National Museum of American History.<ref>http://www.si.edu/object/nmah_334628</ref>
The '''IBM 5100 Portable Computer''' is a desktop computer made by IBM's General Systems Division. IBM announced it in a press release dated 9 September 1975,<ref name="byte75">"Welcome, IBM, to personal computing", ''BYTE'', vol. 1 no. 4, December 1975, p. 90. [https://archive.org/details/byte-magazine-1975-12 Archive.org scan]. Announcement date, prices, memory and language options, display format, cartridge capacity, and the 5103, 5106 and communications options.</ref> and it became available worldwide in April 1976.<ref name="d52">Cubbon, A. J., "The IBM 5100 Portable Computer Design", ''APL ITL Symposium, Endicott, N.Y., January 11–13, 1977'', vol. 2 (IBM Internal Use Only), p. 52. Hosted as [[IBM 5100 Portable Computer Design (1977)]].</ref> It has a built-in 5-inch display, keyboard and tape cartridge drive in one case, weighs 24 kg, and runs APL, BASIC or both directly from read-only storage (ROS).<ref name="mimB1">IBM, ''IBM 5100 Maintenance Information Manual'', SY31-0405-3 (October 1979), Appendix B, p. B-1, "IBM 5100 Portable Computer Specifications". Hosted as [[IBM 5100 Maintenance Information Manual]].</ref><ref name="byte75" />


PC Magazine in November 1983 retroactively called SCAMP "the world's first personal computer" — five years before the [[IBM PC (5150)]].<ref>https://books.google.com/books?id=q8fwTt09_MEC&pg=RA5-PA6</ref> 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 5100 grew out of a prototype that ran the IBM 1130 version of APL and stored data on an audio-type cassette. IBM formed a 5100 development team in late 1973; it added BASIC, replaced the cassette with the data cartridge, and switched the APL to APLSV from the System/370.<ref name="d52" /> The prototype was SCAMP (Special Computer APL Machine Portable), built in 1973 by a team led by Paul Friedl, who described it in ''PC Magazine'' in 1983.<ref name="friedl83">Friedl, P. J., "SCAMP: The Missing Link in the PC's Past?", ''PC Magazine'' vol. 2 no. 6, November 1983, pp. 190–197.</ref> SCAMP is in the collection of the Smithsonian National Museum of American History.<ref name="si">Smithsonian National Museum of American History, [https://americanhistory.si.edu/collections/object/nmah_334628 "IBM SCAMP Microcomputer"], catalogue record nmah_334628.</ref>


[[File:IBM SCAMP at Smithsonian.jpg|right|thumb|320px|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)]]
[[File:IBM SCAMP at Smithsonian.jpg|right|thumb|320px|The 1973 SCAMP prototype at the Smithsonian National Museum of American History (Wikimedia Commons, CC BY-SA 2.0)]]


== Launch Pricing and Reception ==
== Launch and configurations ==


The 5100 launched at US$8,975 to US$19,975 depending on configuration ('''approximately $54,000 to $120,000 in 2024 dollars''') — entry-level computing at workstation prices.<ref>https://en.wikipedia.org/wiki/IBM_5100</ref><ref>https://archive.org/stream/byte-magazine-1975-12</ref> Twelve catalogued configurations were available — '''APL only, BASIC only, or both''', each in 16 / 32 / 48 / 64 KB RAM trims.
IBM's press release priced the 5100 at US$8,975 to US$19,975, depending on memory (16K, 32K, 48K or 64K bytes) and language (APL, BASIC or both). The 5103 printer cost US$3,675 and the 5106 Auxiliary Tape Unit US$2,300.<ref name="byte75" /> ''BYTE'' described the machine as "a very professional package at a premium price".<ref name="byte75" />
 
''BYTE'' magazine in December 1975 wrote "Welcome, IBM, to personal computing… a 50-lb package of interactive personal computing… at a premium price."<ref>https://archive.org/stream/byte-magazine-1975-12</ref> 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.<ref>https://books.google.com/books?id=lB4PAwAAQBAJ&pg=PA39</ref>


== Architecture ==
== Architecture ==


=== PALM Processor ===
=== Processor ===


The 5100's central processor is the '''IBM PALM''' (officially "Put All Logic in Microcode"; some internal documents expand it as "Program All Logic in Microcode") — a 16-bit '''board-level''' processor, not a single-chip microprocessor. The PALM board carries '''13 bipolar gate arrays in square metal-can packages, 3 TTL DIPs, and 1 round metal-can device'''.<ref>https://en.wikipedia.org/wiki/IBM_PALM_processor</ref> The data bus is 16 bits + 2 parity bits, and the PALM directly addresses 64 KB of memory; ROS larger than 64 KB is accessed via bank switching.
IBM's service manuals call the processor the controller, and define it as "the microinstruction processor within the 5100 Portable Computer".<ref name="mimD1">IBM, ''IBM 5100 Maintenance Information Manual'', SY31-0405-3, Appendix D (Glossary), p. D-1.</ref> It is the controller card in A1 board position G2.<ref name="mim416">IBM, ''IBM 5100 Maintenance Information Manual'', SY31-0405-3, p. 4-16, "5100 Controller Description".</ref> The name PALM does not appear in the 5100 service manuals; see [[IBM PALM processor]].


The PALM cycle time is '''530 ns per 2-byte access''' and the clock runs at '''1.9 MHz'''.<ref>https://en.wikipedia.org/wiki/IBM_5100</ref> IBM called PALM a "microprocessor" only in the sense that it executes '''microcode to implement a higher-level instruction set''' — namely a subset of the IBM System/370 and System/3 instruction sets, just enough to run the unmodified APLSV and System/3 BASIC interpreters in their original object code.
The controller uses a 15.1 MHz oscillator to generate 66.2 ns clock pulses, which IBM calls multiclock cycle (MCC) pulses. Each machine cycle has an I phase of three I cycles (3, 8 and 3 MCC) and an E phase of one to five E cycles of 3 or 8 MCC each, so an E phase lasts 3 to 40 MCC depending on the op code.<ref name="mim417">IBM, ''IBM 5100 Maintenance Information Manual'', SY31-0405-3, p. 4-17, "Oscillators/Clocks", "Machine Cycles" and "Interrupts".</ref> The 1.9 MHz clock figure found in secondary sources matches the length of one 8-MCC cycle (about 530 ns), not IBM's oscillator frequency.<ref name="mim417" />


=== Memory Organisation ===
There are four program levels: level 0 for normal operation, level 1 for the serial I/O and asynchronous communications adapters, level 2 for tape and printer, and level 3 for the keyboard. Each level has sixteen 2-byte registers, which sit on the controller card and are addressed as the lowest 128 bytes of read/write storage. Register 0 of each level is its instruction address register.<ref name="mim417" />


The 5100 separates memory into three regions:
The storage read and write buses are 18 bits wide (two bytes plus parity), and the data buses to and from the base I/O card are 9 bits wide (one byte plus parity). The storage address bus is 16 bits wide and addresses read/write storage or executable ROS.<ref name="mim416" /> IBM's 1977 design paper describes the processor as "a fast two-chip 8-bit processor" with 49 16-bit microinstructions and four interrupt levels.<ref name="d55">Cubbon, "The IBM 5100 Portable Computer Design", p. 55.</ref>


* '''Executable ROS''' — directly addressable by PALM in its 64 KB address space; holds the monitor program and microcode that controls the rest of the system.
=== Memory ===
* '''Language ROS''' — a separate ROS address space treated by PALM as a peripheral device. Holds the APL interpreter (a slightly modified APLSV from System/370) and / or the BASIC interpreter (a port of the System/3 BASIC). Several hundred KB total.<ref>https://en.wikipedia.org/wiki/IBM_5100</ref>
* '''RWS (Read-Write Storage)''' — main RAM, 16 / 32 / 48 / 64 KB user-installable.


== Form Factor and Physical Design ==
The 5100 has three kinds of storage, all MOSFET LSI: read/write storage, and two kinds of ROM.<ref name="d54">Cubbon, "The IBM 5100 Portable Computer Design", p. 54.</ref>


The 5100 occupies a '''small-suitcase form factor''' — roughly 610 mm wide × 440 mm deep × 240 mm high — and weighs '''~25 kg (55 lb)'''.<ref>https://en.wikipedia.org/wiki/IBM_5100</ref> IBM marketed it as portable in an optional carrying case, but it requires mains power (no battery) and is heavy enough that "portable" in practice means "movable between desks, not between cities".
* Executable ROS holds the microcode the controller runs directly: the APL and BASIC emulators, device support and the I/O supervisor. It is on cards H2 (BASIC, I/O and diagnostics) and H4 (APL supervisor).<ref name="d55" /><ref name="mim215">IBM, ''IBM 5100 Maintenance Information Manual'', SY31-0405-3, p. 2-15, item 209 "A1 Board (Card Locations)".</ref>
* Nonexecutable ROS holds the APL and BASIC interpreters in an intermediate language (System/370-like instructions in the case of APL). It uses a 48K-bit-per-chip FET ROM and is attached through the I/O adapter, so the controller reads it with a GET microinstruction as if it were a device, not through the storage address register.<ref name="d54" /><ref name="d55" /> It is on cards C2, C4, D2 and D4.<ref name="mim215" />
* Read/write storage is the user memory and also holds the controller's registers. It is on up to eight cards in positions K2 to N4.<ref name="mim215" /><ref name="d54" />


* '''Integrated 5-inch CRT''' — 16 lines × 64 characters. Front-panel switches:
The design paper gives the machine a maximum capacity of 248K of memory.<ref name="d52" />
:: '''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.


[[File:IBM 5100 I197706.jpg|center|thumb|480px|IBM 5100 Portable Computer — front view showing the integrated 5-inch CRT, APL keyboard, and DC300 tape drive. (Image: Wikimedia Commons, Public domain)]]
== Physical design ==


== Storage ==
IBM's specification is 17.5 in (445 mm) across the front, 24.0 in (609.6 mm) along the side and 8.0 in (203 mm) high, with a weight of 50 lb (24 kg). Heat output is 780 Btu per hour, and the machine draws 0.4 kVA at 100 V 50 Hz, 100 V 60 Hz, 115 V 60 Hz, 220 V 50 Hz or 235 V 50 Hz.<ref name="mimB1" /> The machine is deeper than it is wide.


The 5100 supports two storage devices:
The control panel has a BRIGHTNESS control and switches for L32-64-R32 (show the left 32, all 64, or the right 32 character positions), REVERSE DISPLAY, BASIC-APL (on dual-language machines only), RESTART and DISPLAY REGISTERS. In the DISPLAY REGISTERS position the screen shows the first 512 bytes of storage in hexadecimal.<ref name="mim49">IBM, ''IBM 5100 Maintenance Information Manual'', SY31-0405-3, pp. 4-9 and 4-10, "Switches and Controls".</ref> The machine is ready about 25 seconds after power-on, and IBM's instruction is to wait five seconds after switching off before switching on again.<ref name="mim49" />


* '''Built-in DC300 1/4-inch cartridge tape drive''' — '''204 KB per cartridge'''. Records are 512 bytes; the format supports both sequential and named-file organisations. The DC300 is a magnetic-tape cartridge originally developed by 3M.<ref>https://en.wikipedia.org/wiki/IBM_5100</ref>
[[File:IBM 5100 I197706.jpg|center|thumb|480px|IBM 5100 front view with the display, keyboard and tape drive (Wikimedia Commons, public domain)]]
* '''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.
== Storage ==
 
== 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 (''Datamation'', May 1976, p. 212).<ref>http://www.bitsavers.org/magazines/Datamation/197605.pdf</ref>
* '''IBM 5100 Communications Adapter''' (SA21-9215-0) — emulates an IBM 2741 terminal using PTTC/EBCD start-stop transmission for connection to host mainframes.<ref>http://www.bitsavers.org/pdf/ibm/5100/SA21-9215-0_IBM_5100_Communications_Reference_Manual_Sep1975.pdf</ref>
* '''IBM 5100 Serial I/O Adapter''' (SA21-9239-1) — generic RS-232 serial port; drivers loaded from tape.<ref>http://www.bitsavers.org/pdf/ibm/5100/SA21-9239-1_IBM_5100_Serial_IO_Adapter_Feature_Users_Manual_Jan1977.pdf</ref>
* '''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. The PALM microcode emulates the System/370 instruction subset needed to run the APLSV object code without porting it.<ref>https://en.wikipedia.org/wiki/IBM_5100</ref>
 
'''BASIC''' on the 5100 is a port of IBM's System/3 BASIC.
 
== Service Documents ==


The complete IBM service documentation set for the 5100 is preserved on the [[bitsavers.org]] archive at http://bitsavers.org/pdf/ibm/5100/:
The built-in tape unit takes a data cartridge. IBM states that all tapes have 204K bytes of storage and that each new file needs a further 0.5K bytes for its header.<ref name="mim392">IBM, ''IBM 5100 Maintenance Information Manual'', SY31-0405-3, p. 3-92, Intermittent Failures Troubleshooting Guide.</ref> The IBM 5106 Auxiliary Tape Unit adds a second drive using the same cartridge.<ref name="mim43">IBM, ''IBM 5100 Maintenance Information Manual'', SY31-0405-3, p. 4-3, "Introduction".</ref> The 5100 has no diskette support; diskettes arrived with the [[IBM 5110]].


* '''SY31-0405-3''' — IBM 5100 Maintenance Information Manual (MIM), October 1979. The comprehensive CE document; covers theory of operation, PALM microcode appendix, diagnostic procedures.
== Peripherals and interfaces ==
* '''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.
* '''S131-0599-3''' — IBM 5100 Portable Computer Parts Catalog, November 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 IBM 5103 Printer is an 80 characters-per-second, 132-column dot matrix printer.<ref name="byte75" />
* The IBM 5106 Auxiliary Tape Unit is a second tape drive.<ref name="byte75" />
* The Communications Adapter makes the 5100 emulate an IBM 2741 terminal.<ref name="byte75" />
* The Serial I/O Adapter is an RS-232C serial channel whose line rate, parity and code the user can set, for plotters, displays, card readers and printers.<ref name="d56">Cubbon, "The IBM 5100 Portable Computer Design", p. 56.</ref>
* A video output drives an external monitor. IBM warns that a modified domestic television used as a monitor must be isolated from the mains by a transformer, because an unmodified set can put line voltage on the coaxial cable and the 5100 frame.<ref name="mim394">IBM, ''IBM 5100 Maintenance Information Manual'', SY31-0405-3, pp. 3-94 and 3-97, "5100 Service Tips" and "Attachment of a TV Monitor".</ref>
* The Tycom 5100 was a third-party adapter that drove an IBM Selectric typewriter from the 5100 at up to 15.5 characters per second, priced at US$2,495.<ref name="datamation76">''Datamation'', May 1976, p. 212, new products. [http://bitsavers.org/magazines/Datamation/197605.pdf bitsavers scan].</ref>


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


# RAM clear.
APL and BASIC are the operating environment; there is no separate operating system. On machines with both, the BASIC-APL switch selects the language at power-on or when RESTART is pressed.<ref name="mim49" />
# Executable ROS self-test.
# Language interpreter loaded from Language ROS.
# Language banner displayed on the 5-inch CRT (e.g. "BASIC READY").


A '''diagnostic ROS''' is enterable via a keyboard sequence at power-on; in this mode the operator can read and write RAM, video memory, PALM registers, interrupt vectors and the clock counter in hex — effectively assembly-language access without an OS.<ref>https://en.wikipedia.org/wiki/IBM_5100</ref> The front-panel "Display Registers / RAM Hex" switch shows the first 512 bytes of RAM live for a quick health check.
The APL is APLSV from the System/370, run under an emulator. The team rejected two IBM 1130 APL implementations, whose overlay paging cost too much time and user storage, and adopted APLSV in late June 1974. APLSV gave 15 digits of numerical precision against six on the 1130 versions. The emulator, a supervisor, a command processor and an I/O processor were written in about six months, and the finished emulator uses less than 10K of ROM.<ref name="d53">Cubbon, "The IBM 5100 Portable Computer Design", pp. 53–54.</ref>


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


== Common Faults ==
At power-on, and whenever RESTART is pressed, the bring up diagnostic in executable ROS (card H2) tests the controller, storage, ROS, keyboard and display. If it completes, LOAD0 (BASIC) or CLEAR WS (APL) appears after about 25 seconds. A failure lights PROCESS CHECK or leaves a string of letters from A to K on the screen, which identifies the failing area.<ref name="mim39">IBM, ''IBM 5100 Maintenance Information Manual'', SY31-0405-3, p. 3-9, "Bring Up Diagnostic".</ref> Diagnostic Control Program 1 (DCP1), loaded from the keyboard with CMD, HOLD and the numeric minus key, displays and alters any read/write storage location.<ref name="mim317">IBM, ''IBM 5100 Maintenance Information Manual'', SY31-0405-3, pp. 3-17 and 3-18, "Diagnostic Control Program 1 (DCP1)".</ref>


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:
The power supply is a transistor switching regulator producing +5, −5, +8.5, +12 and −12 V, with overvoltage, undervoltage and overcurrent shutdown.<ref name="mim451">IBM, ''IBM 5100 Maintenance Information Manual'', SY31-0405-3, p. 4-51, "Power Supply PC Board" and "Power Supply Protection".</ref> IBM's intermittent-failures guide lists the faults its engineers met in the field, including a badly formed clamp that lets the Y1 power plug fall out, a failing POWER ON/OFF switch, dirty flyplates in the keyboard, glazed tape spindles and worn spindle or jackshaft bearings.<ref name="mim390">IBM, ''IBM 5100 Maintenance Information Manual'', SY31-0405-3, pp. 3-90 to 3-93, "5100 Symptom Index".</ref> Some A1 board cards, including the controller card, have jumpers set differently for the 5100 and the 5110, so check them on a card taken from a donor machine.<ref name="mim216">IBM, ''IBM 5100 Maintenance Information Manual'', SY31-0405-3, p. 2-16, item 209 "A1 Board (Card Jumpers)".</ref>


* '''PALM gate-array failures''' — the 13 bipolar gate-array metal cans on the PALM board are '''unobtainium'''. A dead PALM is effectively unrepairable without donor cards. Diagnostic ROS will halt with specific check-stop codes.
See the [[IBM 5100 Troubleshooting Guide]], [[IBM 5100 Maintenance Guide]] and [[IBM 5100 Capacitor Replacement Guide]].
* '''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.
* '''DC300 tape drive''' — urethane drive belt perishes; capstan rubber goes glassy; head alignment drift. Belt replacements are still obtainable from the QIC community.
* '''Power supply electrolytic capacitor aging''' — linear PSU (50/60 Hz transformer + bridge + linear regulators); bulk filter caps after the bridge are the most common failure, followed by smaller electrolytics around the series-pass regulators. After 45+ years all PSU electrolytics should be considered out of spec.
* '''Keyboard switch contamination''' — IBM beam-spring switches with foam-pad degradation in some early units.


== In Popular Culture: The John Titor Story ==
== Documentation ==


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).<ref>https://en.wikipedia.org/wiki/John_Titor</ref>
* [[IBM 5100 Maintenance Information Manual]], SY31-0405-3, October 1979: locations, service checks, adjustments, diagnostics, theory of operation, logic diagrams, microinstructions and specifications.
* ''IBM 5100 Maintenance Analysis Procedures'', part number 1608314, March 1976: the MAPs the maintenance manual is used with, and the logic card part numbers ([[IBM 5100 Maintenance Analysis Procedures|PDF]]).<ref name="map">IBM, ''IBM 5100 Maintenance Analysis Procedures'', PN 1608314, second edition, March 1976. Hosted as [[:File:IBM 5100 Maintenance Analysis Procedures 1608314.pdf]].</ref>
* [[IBM 5100 Portable Computer Parts Catalog]], S131-0599-3, November 1976.
* [[IBM 5100 Portable Computer Design (1977)]], A. J. Cubbon's paper for an IBM internal symposium.


'''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.<ref>https://en.wikipedia.org/wiki/IBM_PALM_processor</ref>
Other 5100 manuals are on [http://bitsavers.org/pdf/ibm/5100/ bitsavers]: the Communications/Serial I/O Maintenance Information Manual (SY31-0429-2), the APL and BASIC introductions and reference manuals, the Communications Reference Manual (SA21-9215-0) and the Serial I/O Adapter Feature User's Manual (SA21-9239-1).


'''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.<ref>https://en.wikipedia.org/wiki/John_Titor</ref>
== In popular culture ==


The machine also appears as the '''"IBN 5100"''' plot device in the 2009 visual novel and 2011 anime ''Steins;Gate''.<ref>https://en.wikipedia.org/wiki/IBM_5100</ref>
The 5100 is the machine named in the John Titor internet hoax of 2000–2001, in which a poster claiming to be a time traveller from 2036 said he had come back for an IBM 5100 because it could run IBM mainframe code.<ref name="titor">Wikipedia, [https://en.wikipedia.org/wiki/John_Titor "John Titor"].</ref> The APL in the 5100 does run System/370 code, under the emulator described in IBM's design paper.<ref name="d53" /> The machine also appears as the "IBN 5100" in the 2009 visual novel and 2011 anime ''Steins;Gate''.<ref name="steins">Wikipedia, [https://en.wikipedia.org/wiki/IBM_5100 "IBM 5100"], section "In popular culture".</ref>


== Gallery ==
== Gallery ==


<gallery widths="220" heights="160" mode="packed">
<gallery widths="220" heights="160" mode="packed">
File:IBM 5100.jpg|IBM 5100 Portable Computer (front)
File:IBM 5100.jpg|IBM 5100, front
File:IBM 5100 overhead view.jpg|5100 overhead view — integrated CRT, keyboard, DC300 tape
File:IBM 5100 overhead view.jpg|IBM 5100 from above
File:IBM 5100 MfK Bern.jpg|IBM 5100 at the Museum für Kommunikation Bern
File:IBM 5100 MfK Bern.jpg|IBM 5100 at the Museum für Kommunikation, Bern
File:IBM 5100 I197706.jpg|IBM 5100 — different configuration
File:IBM 5100 I197706.jpg|IBM 5100, front view
File:IBM SCAMP at Smithsonian.jpg|SCAMP prototype at Smithsonian
File:IBM SCAMP at Smithsonian.jpg|SCAMP prototype at the Smithsonian
</gallery>
</gallery>


== Related Pages ==
== Related pages ==


* [[IBM 5100 Maintenance Guide]]
* [[IBM 5100 Maintenance Guide]]
* [[IBM 5100 Troubleshooting Guide]]
* [[IBM 5100 Troubleshooting Guide]]
* [[IBM 5100 Capacitor Replacement Guide]]
* [[IBM 5100 Capacitor Replacement Guide]]
* [[IBM 5110]] — 1978 successor
* [[IBM 5110]], the 1978 successor with diskette support
* [[IBM 5120]] — 1980 desktop sibling (IBM 5110 Model 3)
* [[IBM 5120]]
* [[IBM PC (5150)]] — 1981 PC line, designed by Bill Lowe's team (Lowe had championed SCAMP)
* [[IBM PALM processor]]
* [[Capacitor Failure Symptoms]]
* [[IBM PC (5150)]]


== References ==
== References ==


* [https://en.wikipedia.org/wiki/IBM_5100 IBM 5100 — Wikipedia]. Authoritative reference for dates, configurations, design history.
<references />
* [https://en.wikipedia.org/wiki/IBM_PALM_processor IBM PALM processor — Wikipedia]. PALM board architecture and gate-array detail.
 
* [https://en.wikipedia.org/wiki/John_Titor John Titor — Wikipedia]. Internet hoax history; 5110 vs 5100 IRC log discrepancy.
=== Further reading ===
* [http://bitsavers.org/pdf/ibm/5100/ Bitsavers — IBM 5100 documents]. Complete CE manuals, MAPs, Parts Catalog, language references.
 
* [https://ibmhursleymuseum.info/docs/hardware_list_to_1987.pdf IBM Hursley Museum — Hardware Announcements to 1987]. Withdrawal dates.
* [http://dunfield.classiccmp.org/ibm5100/index.htm Dave Dunfield, "IBM 5100"], restoration notes and photographs.
* [https://web.archive.org/web/20181225172459/https://www.ibm.com/ibm/history/exhibits/pc/pc_2.html IBM Archives — 5100 Portable Computer].
* [https://www.computerhistory.org/collections/catalog/102636445 Computer History Museum, "IBM 5100 Portable Computer", catalogue 102636445].
* [https://www.nytimes.com/1975/09/10/archives/ibm-corp-introduces-a-50pound-computer.html NYT, 10 September 1975 — "IBM Corp Introduces a 50-Pound Computer"].
* [https://archive.org/stream/byte-magazine-1975-12 BYTE December 1975 — "Welcome, IBM, to personal computing"].
* [https://books.google.com/books?id=q8fwTt09_MEC&pg=RA5-PA6 Friedl, "SCAMP: The Missing Link In The PC's Past?", PC Magazine November 1983].
* [http://dunfield.classiccmp.org/ibm5100/index.htm Dave Dunfield's IBM 5100 collection page]. Community restoration reference.
* [https://www.computerhistory.org/collections/catalog/102636445 Computer History Museum — IBM 5100 entry].


{{Navbox-IBMComputers|state=collapsed}}
{{Navbox-IBMComputers|state=collapsed}}


[[Category:IBM]]
[[Category:IBM]]
[[Category:Pre-PC IBM Computers]]

Latest revision as of 18:19, 1 October 2026

IBM 5100 Portable Computer
IBM 5100 with its built-in display, keyboard and tape drive
Specifications
DeveloperIBM General Systems Division
ManufacturerIBM
TypePortable desktop computer
ReleasedAnnounced 9 September 1975; available worldwide April 1976
Intro priceUS$8,975 to US$19,975 (1975)
CPUIBM controller card (G2), 15.1 MHz oscillator; known as PALM
Memory16, 32, 48 or 64 KB read/write storage; executable ROS and language ROS
StorageBuilt-in DC300-type tape cartridge drive, 204K bytes per cartridge; optional IBM 5106 Auxiliary Tape Unit
DisplayBuilt-in 5-inch CRT, 16 lines of 64 characters; external video output for a monitor
SoundNone
Power0.4 kVA at 100, 115, 220 or 235 V AC
Dimensions445 × 610 × 203 mm (17.5 × 24.0 × 8.0 in), width × depth × height
Weight24 kg (50 lb)
OS / FirmwareAPL, BASIC or both, in ROS
PredecessorSCAMP prototype (1973)
SuccessorIBM 5110
Model no.5100

The IBM 5100 Portable Computer is a desktop computer made by IBM's General Systems Division. IBM announced it in a press release dated 9 September 1975,[1] and it became available worldwide in April 1976.[2] It has a built-in 5-inch display, keyboard and tape cartridge drive in one case, weighs 24 kg, and runs APL, BASIC or both directly from read-only storage (ROS).[3][1]

The 5100 grew out of a prototype that ran the IBM 1130 version of APL and stored data on an audio-type cassette. IBM formed a 5100 development team in late 1973; it added BASIC, replaced the cassette with the data cartridge, and switched the APL to APLSV from the System/370.[2] The prototype was SCAMP (Special Computer APL Machine Portable), built in 1973 by a team led by Paul Friedl, who described it in PC Magazine in 1983.[4] SCAMP is in the collection of the Smithsonian National Museum of American History.[5]

The 1973 SCAMP prototype at the Smithsonian National Museum of American History (Wikimedia Commons, CC BY-SA 2.0)

Launch and configurations

[edit | edit source]

IBM's press release priced the 5100 at US$8,975 to US$19,975, depending on memory (16K, 32K, 48K or 64K bytes) and language (APL, BASIC or both). The 5103 printer cost US$3,675 and the 5106 Auxiliary Tape Unit US$2,300.[1] BYTE described the machine as "a very professional package at a premium price".[1]

Architecture

[edit | edit source]

Processor

[edit | edit source]

IBM's service manuals call the processor the controller, and define it as "the microinstruction processor within the 5100 Portable Computer".[6] It is the controller card in A1 board position G2.[7] The name PALM does not appear in the 5100 service manuals; see IBM PALM processor.

The controller uses a 15.1 MHz oscillator to generate 66.2 ns clock pulses, which IBM calls multiclock cycle (MCC) pulses. Each machine cycle has an I phase of three I cycles (3, 8 and 3 MCC) and an E phase of one to five E cycles of 3 or 8 MCC each, so an E phase lasts 3 to 40 MCC depending on the op code.[8] The 1.9 MHz clock figure found in secondary sources matches the length of one 8-MCC cycle (about 530 ns), not IBM's oscillator frequency.[8]

There are four program levels: level 0 for normal operation, level 1 for the serial I/O and asynchronous communications adapters, level 2 for tape and printer, and level 3 for the keyboard. Each level has sixteen 2-byte registers, which sit on the controller card and are addressed as the lowest 128 bytes of read/write storage. Register 0 of each level is its instruction address register.[8]

The storage read and write buses are 18 bits wide (two bytes plus parity), and the data buses to and from the base I/O card are 9 bits wide (one byte plus parity). The storage address bus is 16 bits wide and addresses read/write storage or executable ROS.[7] IBM's 1977 design paper describes the processor as "a fast two-chip 8-bit processor" with 49 16-bit microinstructions and four interrupt levels.[9]

Memory

[edit | edit source]

The 5100 has three kinds of storage, all MOSFET LSI: read/write storage, and two kinds of ROM.[10]

  • Executable ROS holds the microcode the controller runs directly: the APL and BASIC emulators, device support and the I/O supervisor. It is on cards H2 (BASIC, I/O and diagnostics) and H4 (APL supervisor).[9][11]
  • Nonexecutable ROS holds the APL and BASIC interpreters in an intermediate language (System/370-like instructions in the case of APL). It uses a 48K-bit-per-chip FET ROM and is attached through the I/O adapter, so the controller reads it with a GET microinstruction as if it were a device, not through the storage address register.[10][9] It is on cards C2, C4, D2 and D4.[11]
  • Read/write storage is the user memory and also holds the controller's registers. It is on up to eight cards in positions K2 to N4.[11][10]

The design paper gives the machine a maximum capacity of 248K of memory.[2]

Physical design

[edit | edit source]

IBM's specification is 17.5 in (445 mm) across the front, 24.0 in (609.6 mm) along the side and 8.0 in (203 mm) high, with a weight of 50 lb (24 kg). Heat output is 780 Btu per hour, and the machine draws 0.4 kVA at 100 V 50 Hz, 100 V 60 Hz, 115 V 60 Hz, 220 V 50 Hz or 235 V 50 Hz.[3] The machine is deeper than it is wide.

The control panel has a BRIGHTNESS control and switches for L32-64-R32 (show the left 32, all 64, or the right 32 character positions), REVERSE DISPLAY, BASIC-APL (on dual-language machines only), RESTART and DISPLAY REGISTERS. In the DISPLAY REGISTERS position the screen shows the first 512 bytes of storage in hexadecimal.[12] The machine is ready about 25 seconds after power-on, and IBM's instruction is to wait five seconds after switching off before switching on again.[12]

IBM 5100 front view with the display, keyboard and tape drive (Wikimedia Commons, public domain)

Storage

[edit | edit source]

The built-in tape unit takes a data cartridge. IBM states that all tapes have 204K bytes of storage and that each new file needs a further 0.5K bytes for its header.[13] The IBM 5106 Auxiliary Tape Unit adds a second drive using the same cartridge.[14] The 5100 has no diskette support; diskettes arrived with the IBM 5110.

Peripherals and interfaces

[edit | edit source]
  • The IBM 5103 Printer is an 80 characters-per-second, 132-column dot matrix printer.[1]
  • The IBM 5106 Auxiliary Tape Unit is a second tape drive.[1]
  • The Communications Adapter makes the 5100 emulate an IBM 2741 terminal.[1]
  • The Serial I/O Adapter is an RS-232C serial channel whose line rate, parity and code the user can set, for plotters, displays, card readers and printers.[15]
  • A video output drives an external monitor. IBM warns that a modified domestic television used as a monitor must be isolated from the mains by a transformer, because an unmodified set can put line voltage on the coaxial cable and the 5100 frame.[16]
  • The Tycom 5100 was a third-party adapter that drove an IBM Selectric typewriter from the 5100 at up to 15.5 characters per second, priced at US$2,495.[17]

Languages

[edit | edit source]

APL and BASIC are the operating environment; there is no separate operating system. On machines with both, the BASIC-APL switch selects the language at power-on or when RESTART is pressed.[12]

The APL is APLSV from the System/370, run under an emulator. The team rejected two IBM 1130 APL implementations, whose overlay paging cost too much time and user storage, and adopted APLSV in late June 1974. APLSV gave 15 digits of numerical precision against six on the 1130 versions. The emulator, a supervisor, a command processor and an I/O processor were written in about six months, and the finished emulator uses less than 10K of ROM.[18]

Diagnostics and faults

[edit | edit source]

At power-on, and whenever RESTART is pressed, the bring up diagnostic in executable ROS (card H2) tests the controller, storage, ROS, keyboard and display. If it completes, LOAD0 (BASIC) or CLEAR WS (APL) appears after about 25 seconds. A failure lights PROCESS CHECK or leaves a string of letters from A to K on the screen, which identifies the failing area.[19] Diagnostic Control Program 1 (DCP1), loaded from the keyboard with CMD, HOLD and the numeric minus key, displays and alters any read/write storage location.[20]

The power supply is a transistor switching regulator producing +5, −5, +8.5, +12 and −12 V, with overvoltage, undervoltage and overcurrent shutdown.[21] IBM's intermittent-failures guide lists the faults its engineers met in the field, including a badly formed clamp that lets the Y1 power plug fall out, a failing POWER ON/OFF switch, dirty flyplates in the keyboard, glazed tape spindles and worn spindle or jackshaft bearings.[22] Some A1 board cards, including the controller card, have jumpers set differently for the 5100 and the 5110, so check them on a card taken from a donor machine.[23]

See the IBM 5100 Troubleshooting Guide, IBM 5100 Maintenance Guide and IBM 5100 Capacitor Replacement Guide.

Documentation

[edit | edit source]

Other 5100 manuals are on bitsavers: the Communications/Serial I/O Maintenance Information Manual (SY31-0429-2), the APL and BASIC introductions and reference manuals, the Communications Reference Manual (SA21-9215-0) and the Serial I/O Adapter Feature User's Manual (SA21-9239-1).

[edit | edit source]

The 5100 is the machine named in the John Titor internet hoax of 2000–2001, in which a poster claiming to be a time traveller from 2036 said he had come back for an IBM 5100 because it could run IBM mainframe code.[25] The APL in the 5100 does run System/370 code, under the emulator described in IBM's design paper.[18] The machine also appears as the "IBN 5100" in the 2009 visual novel and 2011 anime Steins;Gate.[26]

[edit | edit source]
[edit | edit source]

References

[edit | edit source]
  1. ↑ 1.0 1.1 1.2 1.3 1.4 1.5 1.6 "Welcome, IBM, to personal computing", BYTE, vol. 1 no. 4, December 1975, p. 90. Archive.org scan. Announcement date, prices, memory and language options, display format, cartridge capacity, and the 5103, 5106 and communications options.
  2. ↑ 2.0 2.1 2.2 Cubbon, A. J., "The IBM 5100 Portable Computer Design", APL ITL Symposium, Endicott, N.Y., January 11–13, 1977, vol. 2 (IBM Internal Use Only), p. 52. Hosted as IBM 5100 Portable Computer Design (1977).
  3. ↑ 3.0 3.1 IBM, IBM 5100 Maintenance Information Manual, SY31-0405-3 (October 1979), Appendix B, p. B-1, "IBM 5100 Portable Computer Specifications". Hosted as IBM 5100 Maintenance Information Manual.
  4. ↑ Friedl, P. J., "SCAMP: The Missing Link in the PC's Past?", PC Magazine vol. 2 no. 6, November 1983, pp. 190–197.
  5. ↑ Smithsonian National Museum of American History, "IBM SCAMP Microcomputer", catalogue record nmah_334628.
  6. ↑ IBM, IBM 5100 Maintenance Information Manual, SY31-0405-3, Appendix D (Glossary), p. D-1.
  7. ↑ 7.0 7.1 IBM, IBM 5100 Maintenance Information Manual, SY31-0405-3, p. 4-16, "5100 Controller Description".
  8. ↑ 8.0 8.1 8.2 IBM, IBM 5100 Maintenance Information Manual, SY31-0405-3, p. 4-17, "Oscillators/Clocks", "Machine Cycles" and "Interrupts".
  9. ↑ 9.0 9.1 9.2 Cubbon, "The IBM 5100 Portable Computer Design", p. 55.
  10. ↑ 10.0 10.1 10.2 Cubbon, "The IBM 5100 Portable Computer Design", p. 54.
  11. ↑ 11.0 11.1 11.2 IBM, IBM 5100 Maintenance Information Manual, SY31-0405-3, p. 2-15, item 209 "A1 Board (Card Locations)".
  12. ↑ 12.0 12.1 12.2 IBM, IBM 5100 Maintenance Information Manual, SY31-0405-3, pp. 4-9 and 4-10, "Switches and Controls".
  13. ↑ IBM, IBM 5100 Maintenance Information Manual, SY31-0405-3, p. 3-92, Intermittent Failures Troubleshooting Guide.
  14. ↑ IBM, IBM 5100 Maintenance Information Manual, SY31-0405-3, p. 4-3, "Introduction".
  15. ↑ Cubbon, "The IBM 5100 Portable Computer Design", p. 56.
  16. ↑ IBM, IBM 5100 Maintenance Information Manual, SY31-0405-3, pp. 3-94 and 3-97, "5100 Service Tips" and "Attachment of a TV Monitor".
  17. ↑ Datamation, May 1976, p. 212, new products. bitsavers scan.
  18. ↑ 18.0 18.1 Cubbon, "The IBM 5100 Portable Computer Design", pp. 53–54.
  19. ↑ IBM, IBM 5100 Maintenance Information Manual, SY31-0405-3, p. 3-9, "Bring Up Diagnostic".
  20. ↑ IBM, IBM 5100 Maintenance Information Manual, SY31-0405-3, pp. 3-17 and 3-18, "Diagnostic Control Program 1 (DCP1)".
  21. ↑ IBM, IBM 5100 Maintenance Information Manual, SY31-0405-3, p. 4-51, "Power Supply PC Board" and "Power Supply Protection".
  22. ↑ IBM, IBM 5100 Maintenance Information Manual, SY31-0405-3, pp. 3-90 to 3-93, "5100 Symptom Index".
  23. ↑ IBM, IBM 5100 Maintenance Information Manual, SY31-0405-3, p. 2-16, item 209 "A1 Board (Card Jumpers)".
  24. ↑ IBM, IBM 5100 Maintenance Analysis Procedures, PN 1608314, second edition, March 1976. Hosted as File:IBM 5100 Maintenance Analysis Procedures 1608314.pdf.
  25. ↑ Wikipedia, "John Titor".
  26. ↑ Wikipedia, "IBM 5100", section "In popular culture".

Further reading

[edit | edit source]