Author Archives: Michal Necasek

Retro-Porting to OS/2 1.0

A few weeks ago I embarked on a somewhat crazy side project: Make the Open Watcom debugger work on OS/2 1.0. This project was not entirely successful, but I learned a couple of things along the way. The Open Watcom … Continue reading

Posted in Development, IBM, Microsoft, OS/2, Watcom | 10 Comments

Failing to Fail

The other day I was going over various versions of the venerable DOS/16M DOS extender from Rational Systems (later Tenberry Software). The DOS/16M development kit comes with a utility called PMINFO.EXE which is meant to give the user some idea … Continue reading

Posted in Bugs, Intel, PC architecture, x87 | 11 Comments

Unintended Side Effects

I’ve been lately trying to understand and improve the idling behavior of DOS programs and one of my guinea pigs has been the Open Watcom vi editor. While the 16-bit real-mode DOS variant of the editor idles nicely, the 32-bit … Continue reading

Posted in Development, DOS Extenders | 1 Comment

IDLE DR-DOS

I have a laptop. Sometimes I run VMs on it, and some of those VMs run DOS. When a DOS VM does not have any power management, the laptop quickly lets me know by kicking up the fan speed. It … Continue reading

Posted in Computing History, Development, Digital Research | 11 Comments

Tracking Down a Bug

When I first encountered the Unix vi editor many years ago, I recoiled in horror. It was nothing like the editors I was used to—Borland IDEs, DOS 5.0/6.x EDIT, or OS/2 and Windows editors. But over the years, I learned … Continue reading

Posted in Debugging, Development, DOS, Watcom | 14 Comments

First ROM Shadowing

The other day I was asked an interesting question: What was the first BIOS with support for ROM shadowing? In the 1990s, ROM shadowing was common, at first as a pure performance enhancement and later as a functional requirement; newer … Continue reading

Posted in C&T, Compaq, IBM, PC architecture, PC history | 55 Comments

A wunderBAR Story

Or, what should be broken became solid, and what should be solid became broken. While searching for something completely different, I came across a fascinating story of the “wunderBAR”. Since the story is very short, I’ll quote it here in … Continue reading

Posted in Computing History, Corrections | 21 Comments

Hash Tables FTW

Over the last few weeks I did a bit of tinkering on a hobby software project. The code was written by two other people during the last several years and I finally managed to find some time to fix a … Continue reading

Posted in Development | 4 Comments

Windows 3.x VDDVGA

While working on my Windows 3.x display driver, I ran into a vexing problem. In Windows 3.1 running in Enhanced 386 mode, I could start a DOS session and switch it to a window. But an attempt to set a … Continue reading

Posted in 386, Development, Documentation, Graphics, PC history, Windows | 59 Comments

Learn Something Old Every Day, Part VII: 8087 Intricacies

The other day I investigated a report that a C runtime library modification causes programs to hang on a classic IBM 5150 PC with no math coprocessor. The runtime originally contained two separate routines, one to detect the presence of … Continue reading

Posted in 8086/8088, Development, IBM, Intel, PC history, x87 | 10 Comments