I recently tried to revive an old ThinkPad 600 (with a 300 MHz mobile Pentium II processor). The system wouldn’t boot up and reported errors (173, 163) which are usually a good indication of a dead CMOS battery. In a 15-year old system, that’s not particularly surprising.
So I opened the memory cover on the bottom of the laptop, removed the CMOS battery from its housing, and pulled on the cable… only to break off the connector from the board instead of just unplugging the wires.
Unfortunately the CMOS battery connector is located right under the shell and can’t be re-attached without more or less completely dismantling the entire laptop, which I proceeded to do. Continue reading
Ars Technica today published an article titled “Half an operating system: The triumph and tragedy of OS/2“. Although very interesting, unfortunately the article to a significant extent engages in what can best be called fantasy history, which causes the text to contradict itself. And while it attempts to present a coherent view of the history of OS/2, the article is more a hodgepodge of facts/products/trends (PS/2, NT, PowerPC) picked at random to support an argument.
It also presents the old “geniuses at Microsoft vs. dumb IBM” story which is increasingly difficult to justify as time marches on. IBM is the bad guy, overly bureaucratic and incompetent. Yet listening to old IBMers a somewhat different picture emerges, with Microsoft being a disorganized, sloppy company producing poorly documented and buggy software. As always, there’s some truth to both sides of the story.
Let’s start with some of the inaccuracies. When OS/2 was conceived and designed, it wasn’t called OS/2 at all. In fact there is no known evidence that the name OS/2 existed before 1987. The name OS/2 had a lot to do with PS/2, but the OS itself not so much. Continue reading
An earlier article about PowerPC-based ThinkPad 850 mentioned that the 850 was a close cousin of x86-based ThinkPads of the era. The OS/2 Museum now takes a look at one of those laptops, and interesting laptop in its own right: the ThinkPad 755CD.
The 755CD’s claim to fame is the fact that it was the first-ever laptop equipped with a built-in CD-ROM drive. In October 1994, a CD-ROM reader was common but not quite standard equipment for desktop computers, and portables by definition only came with a floppy drive. The 755CD flipped things around and came only with a built-in CD-ROM drive, although it could be swapped out for a floppy drive which used the same UltraBay connector. Continue reading
A few weeks ago I needed a 3Com 3C589 PCMCIA network card to run Solaris on a ThinkPad Power Series 850. The Solaris PowerPC HCL only listed 3C589 and 3C589B as supported models (and no other network adapters were listed at all), so I went looking for one of those old cards.
Of course eBay was full of newer 3C589D and 3C589E (Megahertz) variants, but I wasn’t sure those would work with Solaris. In the end I found a 3C589B with manual, driver floppy, and whopping two dongles. What could possibly go wrong?
Once the package arrived, I discovered that while the PMCIA adapter appeared to be working fine, neither of the dongles did. It was possible to plug the dongles into the card and some LEDs might blink, but no link was ever detected. Both dongles were also suspiciously loose. The short story was that while Solaris detected and initialized the card just fine, I was no closer to having a functioning network connection. Continue reading
Note: Most of the following information does not apply to any Lenovo-made ThinkPads or even IBM-made ThinkPads manufactured after circa 1999. If you have one of those laptops protected with an unknown password, please look elsewhere.
Imagine you bought, found, or were given an old ThinkPad. The hardware has very little value as such, but for anyone interested in the history of PC computing, it may be a valuable system nonetheless. These systems tend to have been reasonably well built and are fairly likely to function more or less 100% even after all this time.
If the system is 15-20 years old, chances are the CMOS battery is dead. That would normally not pose any serious difficulty, unless the previous owner was slightly paranoid and set a supervisor password, also called Privileged Access Password or PAP. You will only get as far as this:
The PAP is bad news for two reasons: The original owner probably forgot the password or cannot be contacted at all (might easily be dead!), and the IBM engineers weren’t stupid when they designed the PAP. Continue reading
I recently got an old ThinkPad on eBay for a modest price. The seller marked it as defective, with absolutely no warranty. Since the ThinkPad came with a port replicator (the kind with two PCMICA slots) and an external 2.88MB floppy drive, I figured that even if the laptop is completely dead, the accessories are worth it (those 2.88MB drives aren’t easy to find!). The laptop itself seemed in decent enough shape, at least from the outside.
When the laptop arrived and I looked inside, it was obvious what’s wrong with it:
There had clearly been a nasty leak. Probably both the main battery as well as the small standby battery (both Ni-MH) had some leakage. Based on the location, it seemed like the standby battery caused most of the damage. Continue reading
As previously mentioned, IBM’s OS/2 1.0 and 1.1 used the 286 LOADALL instruction, even on 386 and later processors which do not support it. This was typically solved by BIOS emulation. Now there’s more information about how OS/2 uses LOADALL.
Tracing OS/2 showed that LOADALL was used to implement the PhysToVirt DevHlp (Device Helper) API. The PhysToVirt function was documented in the OS/2 DDK; its function was to create a virtual address mapping for a (contiguous) buffer in physical memory.
PhysToVirt was used by device drivers when they needed to map physical memory. This might be memory on a device or a buffer in system memory provided by caller. Since the driver might execute in the context of any process, it was not necessarily able to use “normal” pointers. PhysToVirt created a temporary mapping (selector) pointing to the given physical memory. The documentation naturally made no mention of LOADALL, but it provided a very clear hint. The relevant paragraph is worth quoting in full: Continue reading
On the weekend I decided to examine my old PowerPC 604 system. The case is from a RS/6000 type 7248, but the actual system board is from a Power Series 830. This is the famous Carolina board (or “planar” in IBM-speak), which was shared by RS/6000 43P (7248) workstations and Personal Power Series 830/850 desktops (type 6050/6070). The only significant difference was that the RS/6000 boards included a SCSI controller and the Power Series boards did not.
The differences between the Power Series 830 and 850 models were again small. The 850 system case was larger (with more slots and bays, 5/5 vs. 3/3), and the 830 was only sold as a 100MHz version while the 850 was additionally available in 120 and 133MHz variants. The system board was in all cases essentially the same except for the CPU (which is soldered to the board) and L2 cache (256K on 100/120MHz models, 512K on 133MHz models, always separate module in its own socket). Continue reading
A minor mystery recently popped up while running IBM’s OS/2 1.1 (1988), the first OS/2 version with the Presentation Manager GUI. While Microsoft’s and IBM’s releases of OS/2 were fully compatible from application perspective, there were differences in the drivers supplied and the kernel itself was slightly different.
One of the differences was that while all Microsoft’s OS/2 kernels (starting with the May 1987 beta) detected a 386 CPU and used 386-specific instructions to switch from protected back to real mode, IBM’s OS/2 1.0 and 1.1 kernels did not. IBM only used the 286-specific method (which MS’s OS/2 kernels also used, but only on 286s) of mode switching: triple fault the CPU, trigger a shutdown cycle, let the motherboard reset the CPU, and ask the BIOS to skip the POST code and jump to a specified address soon after the CPU restarts execution.
This method is not supported by most virtualization products (Virtual PC, VMware) and may not work with some recent BIOSes. But that’s not the interesting part. The really interesting part is that when running a DOS box and hence executing in real mode, IBM OS/2 1.0 and 1.1 in some cases executes the infamous 286 LOADALL instruction. In OS/2 1.0 this appears to be fairly rare, in version 1.1 LOADALL is typically executed within seconds of switching to the DOS box. Continue reading
In the mid-1990s, IBM and Motorola unsuccessfully tried to create a new personal computer platform built around PowerPC RISC processors. Apple was initially a member of the alliance called AIM (Apple/IBM/Motorola) and used PowerPC processors in its own Macintosh systems for over 10 years.
IBM’s line of machines was called Personal Power Series (PPS) and included several desktop models as well as portables sold under the ThinkPad brand. There was a very close link between the PPS machines and specific RS/6000 models. Continue reading