Windows Presentation Manager Documentation

The OS/2 Museum just posted a three-volume set of draft Windows Presentation Manager reference documentation. This refers to the OS/2 Presentation Manager GUI but highlights the story Microsoft pushed in 1987: Windows and OS/2 both used the same graphical user interface called “Windows Presentation Manager”.

Microsoft Windows 2.03, 1987, 3.5" DD media

By the time OS/2 1.1 was released, the “Windows” part was dropped and the GUI was called simply Presentation Manager. And conversely Windows dropped the “Presentation Manager” moniker again and went back to being simply Windows. Continue reading

Posted in Documentation, Microsoft, OS/2 | 5 Comments

OS/2 Programmer’s Toolkit

For those wishing to write OS/2 1.x programs, the complete Microsoft OS/2 Programmer’s Toolkit documentation is now online. This is Microsoft’s programming documentation for OS/2 1.0 programming.

It is worth noting that IBM’s programming documentation was different; worse yet, IBM’s headers and libraries were different, and source code written for OS/2 1.0 is not necessarily portable between IBM’s and Microsoft’s tools! The reason for this appears to be that IBM published OS/2 tools relatively far in advance of Microsoft, and Microsoft’s Toolkit reflects a newer style (for example, including os2.h instead of doscalls.h). IBM released its C/2 compiler (roughly rebranded Microsoft C 5.0 with OS/2 support) in November 1987 and the headers and libraries used by IBM were probably finalized around August or September. Microsoft’s contemporary C 5.0 did not support OS/2 yet; that only came in MS C 5.1, released in March 1988, more or less six months later. Continue reading

Posted in Development, Documentation, Microsoft, OS/2 | 2 Comments

Weekend Reading, OS/2 and Windows

In a recent post I mentioned that the OS/2 Museum’s stack of PC Tech Journal issues ironically does not include the first PCTJ issue devoted to OS/2. Thanks to, the October 1987 issue of PCTJ can now be read online. It’s interesting to read what computer professionals thought about the future in OS/2 back before it was released. Not surprisingly, the issue also includes screenshots and a detailed description of a mid-1987 OS/2 beta build available in the MS OS/2 SDK. It looks like the 1.01 SDK from the screen captures.

But there’s more. The OS/2 issue of MSJ (Microsoft Systems Journal) from May 1987 is now also available thanks to This may have been the first in-depth information about OS/2 publicly available after the initial announcements in April 1987. The interview with Gordon Letwin is one of the more interesting items.

The Evolution and History of MS-DOS article in this MSJ issue may also be of interest, even if it probably doesn’t present any new information. Continue reading

Posted in Documentation, Microsoft, OS/2, Windows | 3 Comments

Careful with that Buffer…

Last week I was sorting through several sets of Microsoft C 5.1 disks from 1988  (more about that later). While I was comparing the disk images to see whether the disks were the same or not, despite different labels and part numbers, I did a double take when I realized that a file with random e-mail fragments was, in fact, a MS C 5.1 disk:

nts to the beginning of an _iob structure within the _iob array.
But that's not very likely.
What usually happens is people passing in NULL or some random

From davewe Wed Nov 11 11:10:28 1987
To: jeffrob stevesa
Subject: stream validation
Cc: barrymc billjo dougbo gregf
Date: We

It’s not clear on which host OS the MS C 5.1 disks were created and how (copying files to a floppy vs. creating disk images on a hard disk). But it is certain that the software involved did not sanitize the buffers and random fragments of data stored in the host system’s memory ended up in the final sectors of numerous files. Continue reading

Posted in Microsoft, Security | 6 Comments

S3 Fraternal Twins

Sometimes identifying old hardware is a bit tricky. Consider these two graphics cards:

S3 Graphics Card #1

S3 Graphics Card #2The PCB is the same, the BIOS chips look the same, the DAC is slightly different but an 80 MHz part in both cases, memory is the same… but wait—the graphics controller is different! The top specimen is equipped with the original S3 86C911 accelerator, while the bottom one uses the newer and improved S3 86C924 with added 24-bit true color acceleration. Continue reading

Posted in Graphics, PC hardware, S3 | Leave a comment

Intel 287XL… From 1986? Or 1996?

Many or most readers of this site probably know that most chips (and PCBs) have the date of manufacture stamped on them, almost always indicating the year and week (usually not the actual date) they were made.

Especially with PCBs, there is no standard for whether the year or week comes first. For pre-millenial hardware that’s not a problem, because it’s unambiguous what’s the year and what’s the week. It’s a bit tricker when something like 0403 is stamped on a PCB—is that week 3 of 2004 or week 4 of 2003? In such cases, both might be plausible and one has to look further.

Intel A80502-90

Chips more or less universally use the year/week convention, but some manufacturers label their products with a two-digit year and others only use a single digit. Intel is of course in the latter category. The above image shows a typical vintage Intel chip with a date code stamped on the bottom side of a chip and etched on the top (a 90 MHz Pentium, manufactured in week 15 of 1995). Note that there are actually three date codes, 515 on top, and 501/515 on the bottom of the chip. Intel makes things slightly difficult by often embedding the date code in a longer string, with the three-digit date code starting at the second position (the first might be a digit or a letter).

Most of the time, it’s easy to tell whether a date code like 927 means week 27 of 1979, 1989, 1999, or 2009. But sometimes the answer is not so obvious. Continue reading

Posted in Intel, PC history | 11 Comments

Floppy Capacity Math

After more or less accidentally coming across a BBS listing of various high-capacity floppy formatting programs, I began wondering: How much data can really be stored on a diskette in a PC floppy drive? And what’s the relationship between formatted and unformatted capacity? When I started doing the math, I realized that the problem is both simpler and more complex than I had thought. And that one megabyte is not like another.

Note: This discussion is limited to 3½” high-density floppies, by far the most common format, unless otherwise noted.

2.0 MB Unformatted Capacity

Since floppies store essentially analog signals, how is their theoretical capacity calculated? There are no addressable memory cells like those in RAM chips, so how does one arrive at 2 MB? The math is actually remarkably straightforward and has little to do with the medium and everything to do with the floppy controller (FDC) and drive. Continue reading

Posted in Floppies, PC hardware | 17 Comments


An interesting question recently popped up: How exactly did IBM build the ROM BIOS for the IBM PC? Knowing what tools were used should make it possible to use the ROM listing published in the IBM PC Technical Reference and reproduce the ROM image.

Only one thing was clear—the PC BIOS wasn’t developed on a PC. With later IBM PC/AT and XT/286 ROMs, the situation is simple because the published listings identify IBM Macro Assembler 2.00 as the tool used. With the PC BIOS (and early AT BIOS), there’s no such identification.

The PC BIOS source code is remarkably straightforward. It is a single source file which does not use any macros. The one telltale marker is a $TITLE directive at the very beginning. No known version of MASM accepts this syntax… but at least one other assembler does. Continue reading

Posted in BIOS, IBM, Intel, PC history | 7 Comments

PC Tech Journal

One of the better PC magazines back in the day (that is, in the 1980s) was PC Tech Journal (or PCTJ for short), a sister periodical of PC Magazine published by Ziff-Davis. While PC Magazine was targeted at the general computer-buying public, the PC Tech Journal‘s audience were computer professionals—software developers and information systems managers.

PCTJ 1.4

PCTJ had a fairly high content to advertising ratio and the issues ran to around 200 pages rather than 300+ of the more ad-heavy magazines. Every issue contained several in-depth technical articles, as well as product reviews and product comparisons. Among the focus areas were development tools (assemblers, C/Fortran/Pascal/Basic etc. compilers), database managers, and networking software. Continue reading

Posted in PC history, PC press | 4 Comments

IBM Power Series Exotica

One might think that for example a ThinkPad Power Series 850 is an uncommon system, but such things are relative. The OS/2 Museum recently learned of not just one but two very rare Power Series systems, one of which is virtually a complete unknown. Both now live in the UK and both had been manufactured there (in Greenock, Scotland). The machines are a Power Series 800 and a Power Series 600.

6030 Front, Open

In 1994, IBM started producing several PowerPC systems on a small scale and distributed  them to software developers as part of the PowerPC development program. The most common was the Power Series 440 (6015) aka Sandalfoot, a desktop machine equipped with an early 66 MHz PowerPC 601. Operating system developers however also needed a portable in order to develop support for PCMCIA, LCD screens, and so on. That was the Power Series 800. What exactly the Power Series 600 was is less than obvious, but the system will be described in detail below.

Continue reading

Posted in IBM, PowerPC | 5 Comments