Category Archives: Development

Learn Something Old Every Day, Part XII: Strange File Resizing on DOS

Someone recently asked an interesting question: Why do Microsoft C and compatible DOS compilers have no truncate() and/or ftruncate() library functions? And how does one resize files on DOS? OK, that’s actually two questions. The first one is easy enough … Continue reading

Posted in Computing History, CP/M, Development, Documentation, DOS, Microsoft | 27 Comments

Learn Something Old Every Day, Part XI: DOS Directory Searches are Bizarre

A while ago I started playing with EMU2, a piece of software which calls itself “A simple text-mode x86 + DOS emulator”. It is indeed relatively simple, only emulating an 8086 (or maybe 80186, with little bits of 80286 here … Continue reading

Posted in Development, DOS, Undocumented | 52 Comments

How Not To Release Historic Source Code

This is how to not do it: GitHub Don’t get me wrong, it’s absolutely brilliant that Microsoft was able to release a fairly complete (minus DOSSHELL) source code for MS-DOS 4.00 or 4.01 (see below). As much as it was … Continue reading

Posted in Development, DOS, Source code | 81 Comments

Tarbell to Cromemco

While playing around with old versions of 86-DOS, I came across a disk image of 86-DOS 1.14. I ran the older 86-DOS versions in the SIMH simulator which can emulate the Cromemco disk controller supported by 86-DOS. Unfortunately the 86-DOS … Continue reading

Posted in Development, DOS, PC history | 16 Comments

From the Annals of Preprocessor Hackery

Over the last few days I’ve been slowly attacking the source code for 386MAX, trying to build the entire product. One of the many problems I ran into turned out to be quite interesting. There are several (16-bit) Windows components … Continue reading

Posted in 386MAX, C, Development, Microsoft | 25 Comments

Retro-Porting to NT 3.1

In another useless project, I decided to find out why even trivial programs created with the Open Watcom compiler refuse to run on Windows NT 3.1. Attempting to start an executable failed with foo.exe is not a valid Windows NT … Continue reading

Posted in Development, Microsoft, NT, Watcom | 12 Comments

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

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 | 9 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