Category Archives: 386

Xenix 2.2 vs. VGA

The other day I started wondering why certain old versions of 286 and 386 XENIX look a bit weird in emulation: The characters are cut off, because XENIX sets up an EGA text mode with 8×14 character matrix but uses … Continue reading

Posted in 286, 386, PC architecture, PC history, VGA, Xenix | 10 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

386 Cache Coherency

I’ve been slowly chewing my way through U.S. Patent 5,724,549, titled Cache Coherency without Bus Arbitration Signals, initially filed by Cyrix Corporation in 1992 and published in 1998 (when it was utterly irrelevant, but such is the life of patents). … Continue reading

Posted in 386, Cyrix, PC architecture, PC history | 15 Comments

A Piece of History

A few months ago I received a well-used but not abused copy of Rakesh K. Agarwal’s book 80×86 Architecture and Programming (Volume II): Architecture Reference, published by Prentice Hall in 1991. This is an unusually well-informed book, no doubt because … Continue reading

Posted in 386, Books, Cyrix, Intel, PC architecture, PC history | 6 Comments

The History of a Security Hole

Warning: If you do not care for the finer points of x86 architecture, please stop reading right now—in the interest of your own sanity. A while ago I was made aware of a strange problem causing a normal user process … Continue reading

Posted in 386, BSD, Bugs, Documentation, PC history | 44 Comments

A Brief History of Unreal Mode

After a run-in with a particularly crazy manifestation of unreal mode (Flat Assembler, or fasm), I decided to dig deeper into the history of this undocumented yet very widely used feature of 32-bit x86 processors. For the purposes of this … Continue reading

Posted in 386, Corrections, Microsoft, PC history, Undocumented | 45 Comments

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