VirtualXT is a Turbo PC/XT emulator that runs on modern hardware and operating systems. It is designed to be simple and lightweight yet still capable enough to run a large library of old application and games.
Browser version is avalible here.
The emulator is written in C11 and can be compiled with most modern C compilers. In order to generate a Makefile you need to install Premake. You also need to have SDL2 installed on your system or pass --sdl-path=<path to lib>
to the premake script.
git clone https://github.com/andreas-jonsson/virtualxt.git
cd virtualxt
premake5 gmake
make sdl2-frontend
You can download pre-built binaries from itch.io.
If you want to embed the emulator or create a custom frontend you can find libvxt API documentation here.
VirtualXT supports ISA passthrough using Arstech USB2ISA adapter or the CH367 development board. It should be noted that DMA currently not supported and the CH367 board is VERY limited in it's capabilities.
A hardware validator was developed to ensure proper CPU behaviour. Some additional information about that can be found here. This talk by Daniel Balsom describes the process in details.
Friends, contributors and sources of inspiration!