ONYX

An i486-class PC emulator built around an Am5x86 CPU with real, protected, and virtual-8086 modes, paging, and an x87 FPU. Onyx boots a real FreeDOS from a disk image on top of a high-level-emulated BIOS, and covers text, CGA, EGA, VGA Mode 13h, unchained Mode X, and VESA SVGA over a PCI linear framebuffer.

The sound card is a Sound Blaster 16 with OPL3 FM synthesis, joined by the PC speaker, CD audio, and General MIDI on an MPU-401 interface. The synth covers all sixteen channels with percussion, program and bank changes, pitch bend, and the General MIDI controllers (volume, pan, expression, sustain, mod wheel, and reverb and chorus depth). Its channel state is captured in save states, so a restored game picks up mid-score with the right instruments. Every source has its own volume control.

The memory services come with the machine: LIM EMS 4.0 expanded memory backed by an 8 MB pool, and XMS 2.0 extended memory including the high memory area for DOS=HIGH and upper memory blocks for loading drivers and TSRs high. A Microsoft-compatible mouse, a two-stick game port, and an ISO 9660 CD-ROM driver for MSCDEX complete the peripherals, DOS extenders such as DOS/4GW run through DPMI, and a folder on your own machine can be mounted as a drive letter inside the guest.

Available on Windows, Linux, macOS, Android, iOS, and WebAssembly. Onyx is plain, portable C11 with no exotic dependencies, so a port to video game consoles is well within reach. Contact us if that is of interest.

Retro City Skyline

Onyx in Action

Commercial games running unmodified on Onyx, shown to demonstrate compatibility.

Doom running on Onyx
Doom © 1993 id Software
Indiana Jones and the Fate of Atlantis running on Onyx
Indiana Jones and the Fate of Atlantis © 1992 LucasArts Entertainment Company
Prince of Persia running on Onyx
Prince of Persia © 1990 Broderbund Software
Quake running on Onyx
Quake © 1996 id Software

Onyx Options

Third-Party Software