Legacy - Technical

Legacy is an emulator of the 8086-based IBM PC architecture. It is developed in C++ and has been ported at certain stages of development to Win32/DirectX (thanks to TinyPTC), Pocket PC (PocketFrog and EasyCE) and Linux (TinyPTC)

Legacy implements a subset of the 8086 architecture as follows. The links point to more information on the implementation of each feature:

  • 8086 CPU - mostly complete interpretive emulation of real mode 8086 instruction set. No 286 instruction support.
  • BIOS - high-level equivalents of many BIOS functions written in native code.
  • Video - high-level implementation of some CGA and VGA text and graphics modes.
  • Floppy - high-level emulation of interrupt 13h through the use of disk images.
  • PIT - Simple triggering of int 8h at hardcoded instruction intervals.
  • Keyboard - Partial emulation of int 16h. I'd appreciate help from anybody with sufficient understanding of int 9h and int 16h to get this aspect of the emulator working.
  • Mouse, PIC, PC Speaker, Serial, Parallel - unemulated

Although the list above suggests an early stage of development, Legacy is able to boot a surprising number of games from floppy images, especially with the help of per-image source code adjustments. This practice, sometimes known as "patching", is common in high-level emulation - UltraHLE being a prime example. See the compatibility list for details of specific image compatibility.

Note: There is no working keyboard emulation in this software. You will, at best, be able to view a game in "demonstration mode" rather than actually play it.

Deverse - Internet software solutions