Skip to content

A portable, lightweight Turbo PC/XT emulator written in C.

License

Notifications You must be signed in to change notification settings

hollisticgit/virtualxt_OS

 
 

Repository files navigation

VirtualXT

Build Codecov Packages Forum Support

VirtualXT is a Turbo PC/XT (8088/V20) 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.

Features

  • Intel 8088 or NEC V20 CPU
  • Hardware CPU validator
  • VGA and CGA compatible graphics
  • GLaBIOS or Turbo XT BIOS 3.1 with extensions
  • Keyboard controller with 83-key XT-style keyboard
  • Serial port with Microsoft 2-button mouse
  • Floppy and hard disk controller
  • ISA passthrough​ using Arstech USB2ISA adapter
  • Direct file share with host
  • Flexible module system
  • Integerated GDB server
  • AdLib music synthesizer
  • EMS memory expansion
  • Ethernet adapter
  • and more...

Screenshots

freedos screenshot

win30setup screenshot

monkey screenshot

Build

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 --modules 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.

ISA Passthrough​

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.

isa passthrough screenshot​

Hardware Validation

A hardware validator was developed to ensure proper CPU behaviour. Some additional information about that can be found here.

validator screenshot

Shout-out

Friends, contributors and sources of inspiration!

  • gloriouscow
  • homebrew8088
  • fmahnke
  • adriancable
  • mikechambers84
  • trylle
  • 640-KB

About

A portable, lightweight Turbo PC/XT emulator written in C.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 54.4%
  • HTML 25.1%
  • Assembly 10.3%
  • C++ 4.0%
  • JavaScript 1.9%
  • TypeScript 1.4%
  • Other 2.9%