Author Archives: Michal Necasek

WordStar needs address wraparound?

The CP/M compatible interface in DOS was initially documented, later forgotten, and then re-discovered every once in a while. In 1989, John Switzer described parts of the CALL 5 system call interface mechanism in a slightly hysterical article as a “back … Continue reading

Posted in DOS, PC architecture, WordStar | 11 Comments

Who needs the address wraparound, anyway?

The infamous A20 gate is well known and documented in hair-raising detail. What’s much less well documented is the real purpose of the A20 gate, that is, who actually needs the 8086 address wrap-around to be emulated in the first … Continue reading

Posted in DOS, PC architecture | 4 Comments

IBM DOS 5.0 QBASIC hangs on non-IBM systems

Much like its predecessors, IBM DOS 5.0 has no trouble running on clone systems, as long as they’re sufficiently compatible. That includes virtual machines. However, the QBASIC.EXE (and consequently EDIT.COM) program dated May 9, 1991 consistently hangs on any non-IBM … Continue reading

Posted in BIOS, DOS, PC history | 20 Comments

Hang with early DOS boot sector

While installing various versions of DOS for the DOS history series of articles, I was faced with a mysterious problem: Some versions of DOS would hang right away when booting from fixed disk, but not from floppy. I already knew … Continue reading

Posted in DOS | 32 Comments

Happy 30th Birthday!

In honor of the thirtieth anniversary of the IBM Personal Computer, the OS/2 museum started a new series of articles, this time dealing with the history of DOS—the predecessor of OS/2 and the first OS developed by Microsoft in cooperation … Continue reading

Posted in DOS, PC history | Leave a comment

The Danger of Knowing Too Much

A few days ago I had to look a little closer at Microsoft’s KEYB.COM because it was misbehaving in a virtualized environment. As a reminder for those readers who perhaps forgot, KEYB.COM was the DOS keyboard “driver” with support for … Continue reading

Posted in DOS, PC architecture | Leave a comment

IBM PC/AT 8042 Keyboard Controller Commands

Anyone trying to use the classic 8042-style keyboard controller (KBC) found in the IBM PC/AT and nearly all later PCs typically runs into a problem with lack of accurate documentation. The 8042 (or 8742, or any number of compatible parts … Continue reading

Posted in PC architecture | 22 Comments

Detecting floppy drive presence and type

Detecting floppy drives is surprisingly tricky and poorly understood. The difficulty lies mainly in the interface between the floppy disk controller (FDC) and the actual drive(s). The interface isn’t particularly complex, but it isn’t straightforward, and it does not follow … Continue reading

Posted in BIOS, PC architecture | 1 Comment

DOS boot sector, BPB, and the media descriptor byte

All DOS programmers know that DOS storage media (floppies, fixed disks, even RAM drives) have a BPB (BIOS Parameter Block) which describes the basic layout of the storage medium. All DOS programmers also know that every DOS disk contains a … Continue reading

Posted in DOS | 1 Comment

Windows/386 2.01

The OS/2 museum recently obtained a boxed copy of the original Microsoft Windows/386. That is, version 2.01 of Windows/386 from September 1987. Windows/386 was Microsoft’s first product utilizing the 386 hardware in the DOS world. Microsoft was involved in the … Continue reading

Posted in PC history, Windows | 48 Comments