Category Archives: Documentation

Programming NetBIOS on OS/2

Recently I spent some time trying to understand a piece of networking code, and it turned out to be far more difficult than it should have been. The code in question is the NetBIOS interface of C-Kermit and was originally … Continue reading

Posted in Development, Documentation, IBM, Microsoft, Novell, OS/2 | 12 Comments

Digging Into OS/2 2.0

The other day I had a “pressing” need to obtain the list of modules loaded in an OS/2 VM by examining the VM’s memory and CPU state. I was able to use existing code that worked on OS/2 V3.0 (Warp) … Continue reading

Posted in Debugging, Documentation, IBM, OS/2 | 21 Comments

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 | 29 Comments

VDS: Borne out of Necessity

In July 1990, Microsoft released a specification for Virtual DMA Services, or VDS. This happened soon after the release of Windows 3.0, one of the first (though not the first) providers of VDS. The VDS specification was designed for writers … Continue reading

Posted in 386, Documentation, Microsoft, PC history, Windows | 10 Comments

Learn Something Old Every Day, Part VIII: RTFM

In my quest to understand the intricacies of x87 behavior and especially floating-point exceptions, I pulled out my trusty old Alaris Cougar board. The system board had a 100 MHz Intel OverDrive 486 DX4 plugged in and worked quite well. … Continue reading

Posted in 486, Documentation, Intel, PC hardware, x87 | 9 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

Undefined Isn’t Unpredictable

The other day I discovered that 32-bit FreeBSD 11.2 has strange trouble running in an emulated environment. Utilities like ping or top would just hang when trying to print floating-point numbers through printf(). The dtoa() library routine was getting stuck … Continue reading

Posted in AMD, Development, Documentation, Intel | 22 Comments

Compaq EGA Technical Reference Guide

A rater nice Compaq EGA Tech Ref recently turned up on archive.org, under the title COMPAQ Enhanced Color Graphics Board Technical Reference Guide. It’s from December 1986, relatively late in EGA’s life (given that it was about to be obsoleted … Continue reading

Posted in Compaq, Documentation, PC history | Leave a comment

Page Too Big

The other day I was able to look at an IBM OS/2 pre-release CD-ROM from early 1992. The CD-ROM appears to have been produced by IBM UK under the DAP (Developer Assistance Program) umbrella. The CD-ROM contains about 250 MB … Continue reading

Posted in Documentation, IBM, OS/2, PC history | 4 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 | 32 Comments