Author Archives: Michal Necasek

Where Did CP852 Come From Again?

An earlier article explored the history of codepage 852 (Latin-2 PC codepage) in released and pre-release versions of DOS and OS/2. At the time of this writing (June 2025), the earliest OS/2 build with some form of CP852 support including … Continue reading

Posted in DOS, I18N, IBM, PC history | 14 Comments

Learn Something Old Every Day, Part XV: KEYB Is Half of Keyboard BIOS

Recently I had an opportunity to reacquaint myself with the DOS KEYB utility. KEYB is interesting in that it is designed primarily for international users, but one can also run KEYB US to load KEYB with standard US layout. It … Continue reading

Posted in BIOS, DOS, IBM, Keyboard | 10 Comments

1989 Networking: 3+Open LAN Manager 1.1

The previously mentioned warez dump on archive.org contains a lot of little gems that would have been otherwise lost. One of those might be 3Com’s networking package from 1989, the 3+Open LAN Manager version 1.1. The software was released in … Continue reading

Posted in 386MAX, 3Com, DOS, LAN Manager, Microsoft, Networking, OS/2 | 15 Comments

AI Responses May Include Mistakes

The other day I wanted to look up a specific IBM PS/2 model, a circa 1992 PS/2 Server system. So I punched the model into Google, and got this: That did not look quite right, since the machine I was … Continue reading

Posted in IBM, PS/2 | 26 Comments

Compaq EXTDISK.SYS

This is a follow-up to a previous post about the curious driver in Microsoft OS/2 1.21. After initially writing the article, additional information came to light, explaining why the code was there. In summer 1988, Compaq released the Deskpro 386/25, … Continue reading

Posted in Bugs, Compaq, DOS, PC history, Storage | 32 Comments

The Strange MS OS/2 1.21 Disk Driver

Attempting to install Microsoft OS/2 1.21 will fail on many systems with the following scary looking error: Pressing Enter as directed shows the following more detailed error message: The initial boot phase, as well as the installation stage immediately before … Continue reading

Posted in Bugs, Microsoft, OS/2, PC history | 43 Comments

ESDI Adventures

At long last, I got hold of a decently well functioning ESDI drive. From my earlier adventures, I had a WD1007V-SE2 controller, as well as an older WD1007A. The WD1007A (Compaq branded) used to live in a Hyundai 286 machine … Continue reading

Posted in ESDI, PC hardware, PC history, Seagate | 34 Comments

Time Trouble

Last Friday I had a moment of panic. While investigating why different run-time libraries might interpret file timestamps differently, I noticed that even Windows doesn’t always agree with itself. When was dos4gw.exe last modified, at 10:14 PM or 9:14 PM? … Continue reading

Posted in Bugs, Development, Microsoft | 20 Comments

Learn Something Old Every Day, Part XIV: read() Return Value May Surprise

Last week I amused myself by porting some source code from Watcom C to Microsoft C. In general that is not difficult, because Watcom C was intended to achieve a high degree of compatibility with Microsoft’s C dialect. Yet one … Continue reading

Posted in C, Development | 11 Comments

Learn Something Old Every Day, Part XIII: InDOS Is Not Enough

The other day I spent a while trying to understand the purpose of a rather strange looking piece of code inside Borland’s THELP.COM utility shipped with Turbo Pascal 6.0 (THELP.COM was misbehaving under emulated DOS). The THELP utility performs the … Continue reading

Posted in DOS, PC history, Undocumented | 14 Comments