IBM 5100 discussion at VCF SW 2023

I’ll be talking about the IBM 5100 series at VCF Southwest coming up Sunday June 25th 2023 (currently scheduled at Noon CST/Central – I think that’s UTC-5).

I won’t be bringing the physical system (but I will have an exhibit showing a couple other systems).

I’m already over 60 slides, trying to prune it back. My original focus was on the PALM instruction set itself - but other aspects will be some Q&A I’ve had with some still surviving developers of the system, and the accessories made for it by CORE. Another is some new aspects we’ve unraveled about the instruction set.

3 Likes

If there’s any chance to view this remote (e.g., if there’s a video), please let us know!

1 Like

VCFSW folks are preparing a video (of all the weekend talks, so may be a few days to a week still)

I have notes on my VCFSW experience here:
VCF Southwest 2023 — voidstar

And, the specific presentation is available at these two links (in either PPT or PDF):

PowerPoint: Box
PDF: Box

I was limited to ~45 minutes, so I put the “extra” slides that I couldn’t cover in time in the Additional Resources section.

Slide 70 has a red fish as a reference to the concept of a “red herring” (it is a phrase we use in North America, not sure if over in Europe has the same concept). It is basically the idea of something that was proposed that ends up being a distraction to the real issue or solution.

In the presentation I focused more on technicals rather than other lore related to the system.

One main take-away: I am still looking for a copy of PC-51, the alleged IBM 5110 BASIC emulator that ran under MS-DOS 2.0 and made by CORE international around 1984.

2 Likes

Presentation is up:
Exploring IBM 5100 P.A.L.M. with Steve Lewis - YouTube

A few technical nits:

12:33 I meant 300 Kbyte (not 300 byte) [really it’s closer to 200KB]
26:46 I meant someone put the “5100 display card into a 5110” (missed the word 5100)
28:06 I’m meaning “RISC” and “CISC” (not “risk”) throughout that
44:52 misspoke, the line (on the diagram) is actually all correct
45:21 “all” meant just a portion in the “lower half” of the table [didn’t realize that the video wasn’t capturing mouse movement]
47:25 misspoke, I meant “C2” not “72”
49:14 I hesitated here because I had a brain freeze on what the S on “SZ” was… that S means “SKIP” (in addition to Branch, PALM has this concept of “Skip the next instruction if somecondition happens”).
53:10 I meant “5100 works differently” (misspoke and said 5110 at that moment), to clarify why we don’t have a 5100 emulator yet (but the 5110 one is fully working)
56:54 I was rushing myself here, but forgot to mention the hard part of the serial/keyboard adaptation was resolving IBM’s use of parity (they had included parity-checking even in their keyboard interface)

3 Likes

Thanks particularly for sharing your presentation as PDF!

Great and comprehensive talk (and so much more than I ever could have hoped for to find out on my own) – thank you!

1 Like

It’s really too bad that IBM kept the PALM instruction set a trade secret when the 5100 came out. IMO, making it a published feature would’ve made it a more interesting machine at the time. Instead, when I was first introduced to it in the '90s, the way it was marketed as a “portable” was seen as a joke, since it was large and heavy (it really needed a desk). There was also the fact that it cost about $9,000. It was presented as sort of a novelty, “IBM’s first PC,” and “a dud.”

I didn’t learn about PALM until about 5 years ago.

Well it’s odd that the IBM 5100 MIM manual has Appendix C that describes the instruction set - but then that appendix got removed from the subsequent IBM 5110. Not expanded upon or clarified, but completely removed. Maybe it got moved to a different document (that “Chapter 2” as mentioned) and just no longer a standard part of the provided documentation - but you’re right, why so secret? The S/360 and S/3 both had published instruction sets from years earlier. [ however, note that I think there came about Russian clones of S/360 – I’ve never looked into if there were foreign clones of the 5100/5110 ]

But since this was part of the original 5100’s Appendix C – it always bugged me on why the DCP and PALM is never mentioned in the famous Harry Katzan IBM 5100 book from the 1970s. It is so completely comprehensive about everything else. Thing is, Harry is still publishing books on Amazon as recently as 2019 - but I’ve yet to be able to contact him and ask about this. Did he just not know about it, or did IBM “request” him not to talk about it? Or at 500+ pages already, maybe just not enough room to elaborate on it.

Two aspects I didn’t get time to cover: (1) the ITC tax credit: Although the systems were expensive, business could get a tax credit on these systems – similar to how businesses even today can take some equipment expenses to get a tax reduction (but I think the 5100/5110 was a larger than normal credit, because the government and industry was interested back then to find out what small/medium business would even do with a computer - so they were trying to offer an incentive for businsses to get these systems). All that’s to say, from a business perspective, they weren’t as expensive as they seem. (2) I came across an article that suggested that, given the antitrust trial against IBM by the government all throughout the 1970s, IBM used high prices to deliberately try to reduce their market share as a strategy to win the trial (or at least, not lose). It sounds a little silly, but I think it actually is plausible. The government had to prove that IBMs practices were creating a non-competitive business environment - and IBM could show that HP, DEC, all the “7 dwarves” were gaining a meaningful percentage of the market.

Yeah, the portability is a stretch. Inside is a large “horn” blower with dividers for each internal card – I’m not sure if heat itself was a concern (granted many offices back then maybe didn’t have constant AC that we tend to have today). I think the concern was more about dust, and having the system robust enough to be used outside – and some of IBM commercials depict that (like used in a job site). Definitely “portable” enough to be used in a commercial plane or boat. Briefly in Friedl’s article, he implies that the SCAMP was part of the exhibition of Nixon’s tour to China (but I was never able to confirm that - but all I had to go on was old photos of there “technology exhibit” discussions, never came across any official manifest of items).

I can say, IBM sure did make nice keyboards! and the 5100 is no exception about that. If I don’t use my Commodore PET for a few months, I always have to correct a few keys to “wake it back up.” The 5100’s keys have never had any issues for me – all crisp.

3 Likes

Okay, didn’t know the history to that detail (ie. yes for the 5100, but not for the 5110). I just read somewhere that IBM didn’t publish a description of PALM.

Since they published the instruction set, though briefly, was there a known way for a user to load microcode, and create their own executable (ie. create a microcode “header,” and then assemble their own executable to go with it)?

Re. the rationale for the price

I could believe it. I remember back in the 2000s someone asking why Microsoft put a price on Visual Studio, Visual Basic, and Visual C++; why not give them away, to expand the developer base? The answer I heard was Microsoft worried that giving away their dev. platform would be seen as anticompetitive against other developer packages for Windows.

This is getting off the subject, but I know Microsoft has since released all their dev. tools for free. My guess is that could be because the market for Windows dev. tools changed. My memory is that by the 1990s, Borland was the only major competitor in that space, and they faded away from it in the 2000s.

I’ve lost track since the mid-2000s, but are there any commercial competitors in the Windows dev. tools space? I think they’re all open source now.

The built in DCP (diagnostic control program) is described fairly well in the IBM MIM (maintenance manual) of both the 5100 and 5110. Except to note, it is referred to as a “diagnostic” utility - giving the impression that it only used to test or fix some issue about the system. But part of the utility is also being able to edit memory - and then also be able to load/save portions of memory to file. So it is a little obscure that the DCP has this feature - on top of that, most end users would be focused on the BASIC or APL manuals rather than the Maintenance manual. (IBM referred to some of these binary programs as IMF - internal machine fix)

So yes, I’d say there was a “known way” (to use the DCP) - two examples are IBM’s own terminal program that came on one of the tapes (to access the async card), and then Hal Prewitt’s CORE work where he figured out enough PALM to be able to build an external hard drive interface to the system.

The main “value” of the IBM 5100/5110 was that IBM had a fairly extensive ready suite of software for it (moreso for the 5110, but the 5100 came with an extensive “Solver Library” tape – which is one of the tapes I’m trying to recover now). And IBM was quickly able to do that by borrowing existing S/3 or S/360 software work. (this is mostly accounting and payroll type software - in the 5120 I got, it has this lengthy “bibliography of software”, including a price list of that software ranging from $300 to $200,000 {yes $200k} – I’ll try to get that digitized/scanned and share it, many of the packages also work on the 5110).

1 Like

Regarding Appendix C: How accessible was the maintenance manual? Was this strictly internal to IBM and (maybe) licensed contractors or would this have been public (e.g., general available on request)?

Regarding Harry Katzan Jr, the book is really all about the user’s perspective and how to operate the machine with hardware mentioned only as far as it concerns normal operations. This could have been due to some kind of non-disclosure agreement, but, on the other hand, there isn’t really any “need to know” due to to how the book addresses its subject in general.

(Personally, I’m speculating that IBM was kind of ashamed of the PALM processor, as this may have been perceived as some kind of taint of a subpar, cost-cutting engineering solution — while it was indeed an ingenious abstraction. It may have also been that there hadn’t been any definitive business decision regarding whether or not to open this to 3rd parties. So better don’t talk about this…)

*) Edit: Regarding IBM being ashamed, I find the story of the IBM Aquarius, one of IBM’s several attempts/concepts towards a personal or home computer in the 1970s, quite fascinating: This concept had proceeded to a series of fully designed and functional engineering prototypes and relied on a software ecosystem that would have come in ROS on bubble memory cards. Last minute, concerns about rare failures of bubble memory had been raised and the project was subsequently canceled. Nowadays, this would have been a non-issue for a consumer product: just exchange the few faulty cards and everything is fine. However, the mere idea of having an unreliable product (and should it be unreliable just in theory) seems to have been perceived as an unbearable taint on the engineering reputation… We may consider that anything personal computing was still more like an experiment, not worth endangering the core business in any way. I guess, the same is generally true for 5100. (So, “let’s do this but don’t talk about it”, may have well been a possible scenario.)

Of the four systems I have, 3 of them included manuals - each of those included a printed copy of the MIM (maintenance manual) in addition to the BASIC (mine are BASIC models, so no APL manual). I think that’s evidence that the MIM was fairly accessible. [ edit: that’s for the 5110’s, perhaps might not apply to the 5100 ]

IBM did try to sell “maintenance agreements” or lease options on these systems - but in the 5110 receipt that I have, there is a letter from IBM with a “strong reminder” that basically says “you’ve bought this and are responsible for setting it up.” (edit: exact term was “purchase basis”, basically reminding this isn’t a lease and no formal on-site IBM tech support is included).

And true - in later microcomputers, it was normal to have two categories of books: general BASIC programming books, and then whole separate books about more “system level programming” (re: machine language). So you’re right, Harry maybe just considered it not “need to know” as you say. He was probably near 20 at the time, and now over 80, so hard to say if he has solid recollection about it.

I’m not sure about IBM being “ashamed” of the instruction set. I recall in the S/360 they had built a 1401 emulator also - so they were very keen on the idea of using some new/current instruction set and retaining backwards compatibility with some older instruction set. But there was some internal IBM department struggles about the development - Alvin Ginsburg (one of the SCAMP prototype developers) wrote a letter on 2013 (posted at one of the Wang websites), he described IBM had a thing where one department could write a kind of “stop work order” against another department, claiming some aspect of the product competed with an existing product (in more modern times, Apple and others calls this concept “cannibalizing” existing product lines). My point is, the department involved maybe just wasn’t inclined to really say the specifics of how the system worked - lots of other folks in IBM still wanted to sell the more expensive systems (I’m meaning $100k systems vs $10k systems here). However, it’s not like the 5100 had a full 100% S/360 emulation - from the opcode vector table, we see only about 80% of the instruction set has jump table entries (presumably, they just emulated what they needed to get APL to work).

Dennis did relay to me a story that when the IBM PC came out, IBM did not expect it to be successful at all - and that low expectation was directly related to their experience with the 5100. So IBM had some quite small number of IBM PCs initially in 1981, but quickly had to ramp up production. I wonder if IBM maybe misread the situation – the 5100 may have been more successful than they realized - not in the product itself, but in spreading the idea of how useful such a thing was for even small/medium business, or even just more casual home usage. (I recall reading articles about Altair’s and early Commodore being notorious for somewhat poor quality control - people often had to exchange/return or swap some component {RAM?} about them due to some failure, whereas IBM did maintain a decent quality - and reputation just followed them with the later IBM PC, e.g. they had parity checking even in the keyboard, all the RAM, etc {in the 5100, not so in the IBM PC} – note today that server class IBMs still have ECC memory, or also higher end HP servers too with Xeons).

1 Like

This is something, I always found somewhat strange: When I grew up, we had a bunch of IBM promotional brochures at home (my dad had been involved in the acquisition of an IBM machine, prob. some S/370 model, on the management side of things) and emulation was quite a proud topic. (If I recall this correctly, they defined an entire generation of computers by microcode and emulation.) The PALM processor, on the other hand, always seems ideologically compartmentalized from this. While, in the end, it’s yet another emulation, with the difference of there being no native code target, at all. (At least, as I understand it.) It seems to be much for this “ideological gap” that there is this special PALM mystique…

Regarding quality/reliability and possible impact on reputation: I guess, this is very much why all-microprocessor (and all-RAM-chips) home computers were pioneered by start-ups and not by established industry leaders.

I tried to find evidence of PALM being used in other actual industrial computers, and just never found anything definitive.

The closest I came is that in those tall IBM 9-track tape machines, if you crack open the manuals to those, they actually describe their own instruction set. I forget the specific model (some late 60s stuff), and I thought that’s interesting since that is actually an example of an industrial machine (well, sort of) - and interesting that the manual for a “tape cabinet” was inclined to describe an entire instruction set (I can’t say it was PALM, but it wasn’t S/360 either - even though the “tape cabinet” was intended for use on the S/360). [anyhow, it may be an example of specialized processors, and perhaps PALM was used in something similar – recall the early CBM/Commodore disk drives, those large boxes were essentially entire computers themselves]

But to clarify… PALM itself is a native code target (IMO, at least). PALM instructions are written to emulate opcodes of other systems. One thing I didn’t show is C.Corti provides a very annotated copy of the APL ROS of the 5110 (it’s embedded in his copy of the PALM emulator he wrote - it was over 10 years ago, but I’m still not sure why he hides it on an obscure ftp server rather than github). But like the S/360 has various floating point instructions, and he has annotated notes/comments inline with the PALM disassembly to describe how the 10-20 PALM instructions emulate each of those (and the opcode vector table now helps find those, for both APL and BASIC).

I’m still not sure how to refer to the IBM 5100’s “microcode” hardware technology… There is an old article that straight up just calls it MOSFET (but the article is like a review of the system, not from IBM itself), and there is some debate that this isn’t accurate (i.e. to refer to it as MOSFET - since MOSFET itself is an individual transistor technology?). The RWS/RAM is derived from the S/360 SLT (and denser versions of that), but the PALM microcode itself I think is using something different. I happen to have a PALM processor that isn’t working anymore, so I’m very tempted to “de-lid” (open the tops) of the silver cans and see if a visual inspection clarifies about this. Not a rush project - I’m first making sure this is a dead processor, but also someone suggest that inside the can might be a mess of resin and be futile to answer the question (I’m assuming the “de-lib” would be destructive and no undo about it).

1 Like

Earlier I mentioned some “expensive IBM 5120” software costing over $100k. I’ve started a discussion about it over here:
Insight into IBM software (5110/5120 by the mid-1980s) | Vintage Computer Federation Forums (vcfed.org)

1 Like

Posts starting with, “I recently came across an IBM 5120”, ought to come with a jealousy trigger warning… :wink:

Well, there appears to be a working Wang 2200MVP on eBay at the moment. I’m very tempted - but that beast of a 5120 and its printer are taking quite a bit of real estate, I really have to pause any more accumulations for a while.

But also, the 5120 I got wasn’t quite in pristine shape. The exterior is clean and all, but the system overall had some issues. It’s kind of a long story - I think problems started when the seller first shipped it across country. The buyer misunderstood about something and refused the delivery. And I think it was during this crisscrossing, the system developed a couple cracks in the case (not super major, but a sign of some rough handling overall). All I know is those cracks weren’t there when this seller presented the system months ago.

But bottom line is the printer isn’t working, disk drives aren’t working, and I have to borrow a card from the 5110 to get this 5120 working (specifically, the original 5120 Common and Language ROS isn’t passing the CRC checks on startup - but the one from the 5110 works with it). So it was only lucky I had spare parts from the 5110. The only things really working really well on this 5120 are its keyboard and the CRT (well, and the RWS/RAM card - which I can use in the 5110 to get it to a full 64K, but it does take noticeably longer to complete the startup memory checks when doing that).

I have some notes about that 5120 here (specifically at the end are notes on where I got it from)

IBM 5120 (aka IBM 5110-3) — voidstar

2 Likes

Regarding cracks and deterioration, I suspect some of those may be due to the items coming out of storage and experiencing a change in climate and then the dynamics of transport, which may speed up decay dramatically.
(I once acquired an Olivetti golf ball typewriter, which had been demonstrated working, and when I got it finally home, the internal rubber supports had turned into the dreaded goo, and, of course, the machine wasn’t working anymore. As this was a pickup, I can rule out any physical shock or the like during transport.)