I have gathered up some notes about the IBM 5100/5110 that I’ve collected over the past year. They are available at:
Some topic highlights:
- how to replace the PSU with modern components
- how to substitute the keyboard with a Bluetooth interface (or serial connection)
- how to use the built-in DCP to directly program the system in PALM machine code
- notes on using the modern assembler to produce PALM machine code
- dusted off the 5110 PALM emulator (can script inputs and has integrated disassembler)
- a video on how the tape-file-system operation works, see:
IBM 5100 Tape Usage Demonstration (internal and external IBM 5106) - YouTube
Some remaining goals:
-
I was able to get ahold of Hal Prewitt of Core, who shared some of the early 1980s CORE newsletters. However (Hal is busy dealing with Florida hurricane after effects), I haven’t yet been able to work out getting a runnable copy of the PC51 program. If anyone has any info about CORE and/or CoreNET, would like to hear about it.
-
I haven’t yet been able to get ahold of Harry Katzan (the author of THE 500+pg IBM 5100 Portable Book); I believe he is still alive in Europe, because as recently as 2019 he has published some fiction-books on Amazon (the one I read is a fictional story that is fairly obviously a kind of opinion about Megan Markle)
-
Need help in getting the IBM 5100 emulator running (the executive to language hand-off works differently than on the 5110)
-
Possibly doing a C compiler (just to show C ported to a pre-microprocessor system, but also to help motivate and see what kind of creative software the native PALM instruction set could do – demoscene type stuff)
-
I think with IOCB’s, it may be possible to interface with a WiModem232 using the external I/O pins! (now that we have a modern assembler, that’ll help write the software)
There are many “nuance” topics about the IBM 5100, such as:
- the (competitive) relationship between SCAMP and the Wang 2200
- the technical aspects of those “tin can” static memory chips (was it SLT, MOSFET?) Did the Executive ROS technically use different internal hardware than the non-executive ROS? Are the two “large chips” on the IBM 5100 processor a 128-byte register file?
- did NASA/Apollo actually use PALM on anything?
- many people seem unaware of the external monitor support of the IBM 5100 (I show it in the QIC tape usage demo video)
- 8bit/16bit hybrid systems (8-bit ALU, 16-bit address space and registers); is it an 8-bit system?
- why does Katzan’s extensive IBM 5100 book omit any details about the DCP and PALM? (the “microinstructions” are described in Appendix C of the 1975 MIM, but the earliest use of the term PALM I’ve found is from 1977)
- some technical differences between the IBM 5100 and the Datapoint 2200 (e.g. 64x16 CRT versus 80x16; DP2200 maxed 8KB, the 5100 was min 16KB – the original DP2200 had no built in ROM software, though that was rectified later in follow up models, around the time as SCAMP; the 5100 certainly had a more reliable power supply)
- the ITC tax credit may have made the IBM 5100 less expensive than it appears (for businesses)
- the System/3, IBM 1130, and System/360 relationship (my review of the annotated APL disassembly so far hasn’t shown any S/370 specific opcodes - but there is obvious handling of many S/360 opcodes)
- in a PC Magazine article (1983), Friedl claims the 5100 was used on an oceanography research ship, and was part of the technology demonstration shared during Nixon’s famous visit to PRC (but still don’t have verification of that)
The main interesting things to me about the IBM 5100:
-
Definitive “proof” that BASIC was a thing “long before” Microsoft (not that anyone really doubts that – but it questions what Bill Gates was talking about in his open letter; he “bummed” BASIC from a mainframe that he had been gifted time on and trimmed it down to fit on the Altair, so was it really his to sell? to be fair, there was some technical talent involved in making a viable BASIC fit in 4K {or was it 2KB originally, the MS BASIC 1.0 loaded from the paper tape?})
-
the IBM 5100 BASIC includes floating point (I think 13 digit), matrix operations, function key macros, and various “advanced” features (the ROS for IBM’s BASIC is over 32K) - but despite all that, it doesn’t have a “clear screen” command! (but think about why that is: it is emulating a line printer system that would have no concept of clearing a screen)
-
the QIC file system is a curious thing (it is much better than the later audio tapes as data tapes experience)
-
if you power on a 1981 IBM PC 5150 (with no disk), it boots to BASIC and you can save stuff to a tape. Go back to 1975 and you essentially get exactly that same experience on the 5100 (that you turn it on, “boot” to BASIC, and have a minimum of 16KB of RAM to work with) - but they’re both based on fairly different hardware technologies.
(but the main “fault” of the IBM 5100 is lack of a proper expansion bus; the Altair had S-100 {which had some power issues} and Datamaster/32 introduced ISA in 1981 – the IBM 5110 did have some IEEE-488 support on its parallel card expansion; this lack of bus does kind of put the DP2200/Wang/5100 in the category of glorified-multi-line programmable calculators, as opposed to a system that could at least kind of organically grow in capability over time – which is, to me, what the hallmark of the IBM PC was really about; still, being able to store megabytes of data to tape did make the 5100 a useful record keeping system, terminal emulation capabilities, and of course the robust CRT-based editing capabilities and legendary typewriter-inspired keyboard!)
Lastly, should anyone happen to have “spare parts” for an IBM 5110 – I have a “half complete” IBM 5110 that is need of some parts (but its case it is in fairly pristine condition).