Category Archives: Development

Antique Display Driving

Here’s a preview of something I’ve been slowly working on, bit by bit: That screenshot surely looks a little funny. That’s because it is Windows 1.04 running with a heavily modified 256-color Windows 3.x display driver, using resources from a … Continue reading

Posted in Development, Microsoft, Windows | 26 Comments

Learn Something Old Every Day, Part VI: Backward Buffer Overwrite

A few days ago I spent far too much time debugging a largish piece of 16-bit Windows code written in assembler. I found a scenario where (fortunately fairly reproducibly) Windows crashed because the internal state of a DLL got corrupted. … Continue reading

Posted in Bugs, Development, Windows | 24 Comments

Windows 9x Video Minidriver Source Code

As promised, here is the source code for the Windows 9x VirtualBox display minidriver. For discussion of the source code, see the included readdev.txt file. The code was developed on a Windows 10 host system. For extra credit, I attempted … Continue reading

Posted in Development, Source code, VirtualBox, Watcom, Windows 95 | 13 Comments

Windows 9x Video Minidriver HD+

The OS/2 Museum has made available the first version of a display driver disk for Windows 9x running on VirtualBox. The driver uses a linear framebuffer and supports 8/16/24/32bpp modes with resolutions up to 1920×1200 pixels (see more below). The … Continue reading

Posted in Development, VirtualBox, Watcom, Windows 95 | 49 Comments

The Strange Case of GetEnvironmentStringsA

It was recently pointed out to me that a simple “hello world” style application built with Open Watcom C/C++ 1.9 does not run on Win32s version 1.30, even though the same executable runs just fine on Windows NT 3.51, Windows … Continue reading

Posted in Development, NT, Watcom | 17 Comments

Reconstructing the EGA BIOS

A few weeks ago I had a sudden need to understand certain finer points of the operation of EGA/VGA BIOS. I found common reference materials to be inadequate—they tend to do a good job of documenting the data structures the … Continue reading

Posted in BIOS, Development, Documentation, Graphics, IBM, PC history | 26 Comments

XMVM Surgery

Last week I was prompted to take a look at the Intel Code Builder compiler from 1991, a 32-bit compiler targeting 386 extended DOS and shipping with its own DOS extender. It is what one might call an extremely obscure … Continue reading

Posted in 386, Development, Intel, PC history, Software Hacks | 10 Comments

Unidentified PC DOS 1.1 Boot Sector Junk Identified

Anyone trying to disassemble the PC DOS 1.1 boot sector soon notices that at offsets 1A3h through 1BEh there is a byte sequence that just does not belong. It appears to be a fragment of code, but it has no … Continue reading

Posted in Development, DOS, PC history | 23 Comments

DOS 2.11 From Scratch

Warning: Long post! After having good luck with rebuilding core PC DOS 1.1 from source code, I thought I’d do the same with the DOS 2.11 source code released by the CHM. What follows is largely a collection of notes … Continue reading

Posted in Development, DOS, Microsoft, PC history | 26 Comments

PC DOS 1.1 From Scratch

A number of years ago, the Computer History Museum together with Microsoft released the source code for MS-DOS 1.25 (very close to PC DOS 1.1) and MS-DOS 2.11. I never did anything with it beyond glancing at the code, in … Continue reading

Posted in Development, DOS, Microsoft, PC history | 20 Comments