Skip to content

Portable, lightweight Turbo PC/XT emulator written in Odin.

License

Notifications You must be signed in to change notification settings

virtualxt/virtualxt

Repository files navigation

VirtualXT

Build Chat

VirtualXT is a Turbo PC/XT emulator for libretro that runs on modern hardware, operating systems and bare-metal ARM SBCs. 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 286 processor
  • PC/XT chipset
  • Hardware CPU validator
  • CGA or VGA compatible graphics
  • EMS and UMA memory
  • AdLib music synthesizer
  • Serial UARTs
  • Ethernet adapter
  • Runs on bare-metal ARM
  • Direct file share with host
  • ISA passthrough​ using Arstech USB2ISA adapter
  • GLaBIOS or Turbo XT BIOS 3.1 with extensions
  • Integerated GDB server
  • Flexible module system
  • and more...

Screenshots

freedos screenshot

win30setup screenshot

monkey screenshot

Build

The emulator is written in Odin and can be compiled using the included GNU Makefile.

git clone https://github.com/virtualxt/virtualxt.git
cd virtualxt
make release
# Or if you have RetroArch installed.
make run

You can download pre-built binaries from itch.io.

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. This talk by Daniel Balsom describes the process in details.

validator screenshot

Shout-out

Friends, contributors and sources of inspiration!

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