> While Warcraft was a DOS “Protected Mode” game, the modem driver could be called from both Protected Mode and Real Mode due to quirks in the DOS operating system and the 80386 chip-architecture it ran on [...]
Could someone provide more information on this? I'm guessing it had to do with the fact the serial interrupt could occur while some DOS system call was executing 16 bit code (or perhaps BIOS code)?
When running in real mode, if an interrupt arrived the processor would switch to protected mode, handle the interrupt, and return to real mode.
This real->protected->real switching process was so slow on the computers of the day that it was possible to lose data, so it was necessary to write both real and protected mode interrupt handlers to grab data off the serial port.
You can imagine how much fun this type of code would be to write without any debugging tools or an Internet filled with code-samples.
Could someone provide more information on this? I'm guessing it had to do with the fact the serial interrupt could occur while some DOS system call was executing 16 bit code (or perhaps BIOS code)?