Category Archives: LSOED

Learn Something Old Every Day, Part XX: 8087 Emulation on 8086 Systems

Not too long ago I had a need and an opportunity to re-acquaint myself with the mechanism used for software emulation of the 8087 FPU on 8086/8088 machines. As mentioned elsewhere, the 8086 CPU (1978) had a generic co-processor interface … Continue reading

Posted in 8086/8088, Development, Intel, LSOED, Microsoft, x87 | 10 Comments

Learn Something Old Every Day, Part XIX: Athlon XP May Be Athlon MP

Quite a while ago, I acquired a dual-socket (Socket 462 aka Socket A) board for the Athlon MP, AMD’s first entry into the multi-processor/multi-socket market. Over the course of several years, I spent quite some time searching for the board … Continue reading

Posted in AMD, K7, LSOED, PC hardware, PC history | 8 Comments

Learn Something Old Every Day, Part XVIII: How Does FPU Detection Work?

This post ended up being much longer than originally intended because halfway into writing it, I found that 286 and later CPUs don’t behave the way I had assumed they would… While investigating a bug related to a program using … Continue reading

Posted in 286, 8086/8088, LSOED, x86, x87 | 39 Comments

Learn Something Old Every Day, Part XVII: DHCP and ARP Don’t Mix in WSA SMP

I just spent an inordinate amount of time debugging a VM running OS/2 Warp Server Advanced SMP (WSA SMP). The VM was working fine (except for sometimes hanging very early during boot, a known issue with the SMP kernel), but … Continue reading

Posted in Bugs, IBM, LSOED, Networking, OS/2, TCP/IP | 3 Comments

Learn Something Old Every Day, Part XVI: DOS 4.0 SELECT Is Too Clever

A while ago I discovered an antique pirated copy of IBM DOS 4.00 on 5.25″ media, which was something that was missing in my archive. And by antique I mean from August 1988, when DOS 4.0 was practically brand new. … Continue reading

Posted in Archiving, DOS, IBM, LSOED, PC history | 17 Comments

Learn Something Old Every Day, Part XV: KEYB Is Half of Keyboard BIOS

Recently I had an opportunity to reacquaint myself with the DOS KEYB utility. KEYB is interesting in that it is designed primarily for international users, but one can also run KEYB US to load KEYB with standard US layout. It … Continue reading

Posted in BIOS, DOS, IBM, Keyboard, LSOED | 16 Comments

Learn Something Old Every Day, Part XIV: read() Return Value May Surprise

Last week I amused myself by porting some source code from Watcom C to Microsoft C. In general that is not difficult, because Watcom C was intended to achieve a high degree of compatibility with Microsoft’s C dialect. Yet one … Continue reading

Posted in C, Development, LSOED | 11 Comments

Learn Something Old Every Day, Part XIII: InDOS Is Not Enough

The other day I spent a while trying to understand the purpose of a rather strange looking piece of code inside Borland’s THELP.COM utility shipped with Turbo Pascal 6.0 (THELP.COM was misbehaving under emulated DOS). The THELP utility performs the … Continue reading

Posted in DOS, LSOED, PC history, Undocumented | 14 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, LSOED, Microsoft | 29 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, LSOED, Undocumented | 53 Comments