Category Archives: 386

ICEBP Finally Documented

After more than 30 years, Intel finally documented the INT1 instruction, also known as ICEBP (opcode F1h), in the latest (May 2018, -067) edition of the SDM. This was probably forced by security concerns, because from a security standpoint, having … Continue reading

Posted in 386, Documentation, Intel, Undocumented | 14 Comments

PC-MOS/386 Source Code

I missed this when it was initially announced. The source code for PC-MOS/386 version 5.01 is now available on github under the GPLv3 license. It requires the user to supply Borland C++ 3.1 in order to build, but there are … Continue reading

Posted in 386, DOS, Source code | 8 Comments

SGDT/SIDT Fiction and Reality

PSA: Actual hardware behavior takes precedence over vendor documentation. Or, as they say… trust but verify. A reader recently complained how Intel and AMD do not implement the SGDT and SIDT instructions the same way. AMD documentation states that these … Continue reading

Posted in 286, 386, AMD, Documentation, Intel | 39 Comments

OS/2 2.0, Xmas ’91 Edition

After reviewing the OS/2 2.0 level 6.605 pre-release, another re-discovery is the “Limited Availability” (LA) level 6.177 from December 1991. This was the last OS/2 2.0 pre-release of 1991 and also the last one using the 6.1xx numbering; the next pre-release was … Continue reading

Posted in 386, IBM, OS/2, PC history | 16 Comments

OS/2 2.0, Summer ’91 Edition

In a fascinating example of poor timing, disk images of OS/2 2.0 pre-release level 6.605 from July/September 1991 were missing for over 25 years, only to show up literally one day after after the 25th anniversary of the OS/2 2.0 release … Continue reading

Posted in 386, IBM, OS/2, PC history | 37 Comments

OS/2 2.0 at 25

Twenty-five years ago, on March 31st, 1992, IBM released OS/2 2.0, the first mass-market 32-bit PC operating system. The road to OS/2 2.0 was quite long and winding, and the OS was a proud member of the vaporware club (just like, … Continue reading

Posted in 386, IBM, Microsoft, OS/2 | 34 Comments

There’s More to the 286 XENIX Story

It turns out that there is a rather interesting story behind the 286 XENIX incompatibility with 386 and later processors. Here’s roughly what happened in chronological order. In 1982, Intel released the iAPX 286 processor, later known as the 80286 or simply 286. This … Continue reading

Posted in 286, 386, Intel, Microsoft | 42 Comments

Oldest Surviving 386 PC OS?

Four years ago, the Xenix 2.2.3 mystery cropped up (twice). The issue has been revisited and thanks to Michael Casadevall, an enthusiastic reader, came to a happy conclusion: 386 Xenix version 2.2.3 was finalized in late June 1988 (the newest … Continue reading

Posted in 386, Microsoft, SCO, UNIX, Xenix | 24 Comments

Booting Is Hard

So I had this brilliant idea of using SCSI drives with old 286/386/486 boards which have old BIOSes that can’t handle IDE drives bigger than 500-ish megabytes. The SCSI HBA is the first one I happened to grab, an Adaptec 1542C … Continue reading

Posted in 386, BIOS, CompactFlash, DOS, SCSI | 21 Comments

IBM XENIX 1.0 Incompatibility Details

Some time ago I wrote about IBM PC XENIX 1.0 and why it won’t work on 386 and later processors. Thanks to a kind reader, I’ve been able to analyze the object files used to link the kernel, and I believe … Continue reading

Posted in 286, 386, Microsoft, Xenix | 21 Comments