IBM ThinkPad 755CD

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.

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

Posted in IBM, ThinkPad | 12 Comments

Dongle Bungle

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

Posted in Networking, PC hardware | 11 Comments

Cracking a ThinkPad 755C

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:

ThinkPad POP/PAPThe 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

Posted in IBM, PC hardware, ThinkPad | 16 Comments

Don’t Let This Happen to You

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:

Corroded EMI shield

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

Posted in PC hardware, ThinkPad | 10 Comments

More on LOADALL and OS/2

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

Posted in IBM, Intel, Microsoft | 31 Comments

The Carolina Mystery

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.

Carolina Credits

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

Posted in IBM, PowerPC | 6 Comments

LOADALL Strikes Again

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

Posted in IBM, Intel, Microsoft, OS/2, x86 | 11 Comments

IBM ThinkPad Power Series 850

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.

PowerPC Logo

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

Posted in IBM, PowerPC | 41 Comments

Ctrl-Alt-Del Myths

In a recent interview at Harvard University, Bill Gates claimed (around 16:35 mark) that Windows uses Ctrl-Alt-Del as a logon key combination because “IBM didn’t want to give [Microsoft] a single button”. This statement is curious because it takes several facts and mixes them into something that is not even remotely true. It may be that Bill Gates never understood the technical details, or it may be that he simply forgot—after all, those decisions had been made 20-30+ years ago. Even otherwise intelligent and knowledgeable people sometimes have bizarre misconceptions about Ctrl-Alt-Del, so let’s attempt to set the record straight. Continue reading

Posted in Microsoft, PC hardware | 8 Comments

Taking Screenshots of OS/2 on ThinkPad 850

An article about OS/2 on a PowerPC-based ThinkPad 850 needed a few screenshots for illustration. Once an OS is installed and running a GUI, it’s typically possible to run a screen grab utility and capture screenshots digitally. But that’s not an option when an OS is being installed or when it is not running a windowing system. There’s of course the good old digital camera. It’s possible to take acceptable photos of a computer screen, but even with specialized equipment it’s impossible to get a perfect shot.

OS/2 PowerPC desktop

For a long time, photos seemed to be the only practical solution, but then Antoni Sawicki suggested a KVM-over-IP alternative: a Lantronix Spider, though other similar products exist. The Spider can be easily attached to the ThinkPad’s external VGA output. From a remote console it’s then trivial to take screenshots. Indeed taking screenshots of the ThinkPad 850 firmware worked beautifully. Then the OS/2 installer booted up and there was… nothing. The video signal was garbage. What a letdown! But that’s not the end of the story.

Continue reading

Posted in OS/2, PowerPC | 4 Comments