PC emulator comparisons

Main article: POS (Pong Consoles) CPUs and Other Chips#x86 CPUs
For emulators that run on DOS, see Emulators on legacy Microsoft products#DOS.
For emulators that run on Windows 3.x, see Emulators on legacy Microsoft products#Windows 3.x.
For emulators that run on Windows 9x, see Emulators on legacy Microsoft products#Windows 9x.
For emulators that run on Windows 2000, Windows XP and Windows Vista, see Emulators on legacy Microsoft products#Windows NT.

The PC architecture originates from the 1981, IBM PC / model 5150. Due to being designed with off-the-shelf hardware, clone manufacturers could produce compatible hardware and was only limited by the copyright on the PC's BIOS. To circumvent this, competitors such as Compaq created their own compatible BIOSes using clean-room reverse engineering. See, Compaq reverse engineered patented IBM BIOS code.

IBM PC is also the basis for the IBM PC compatible de facto standard. IBM PC compatible computers are technically similar to the original IBM PC, XT, and AT, all from computer giant IBM, that are able to use the same software and expansion cards. Such computers were referred to as PC clones, IBM clones or IBM PC clones. The term "IBM PC compatible" is now a historical description only, since IBM no longer sells personal computers after it sold its personal computer division in 2005 to Chinese technology company Lenovo. The designation "PC", as used in much of personal computer history, has not meant "personal computer" generally, but rather an x86 computer capable of running the same software that a contemporary IBM PC could. The term was initially in contrast to the variety of home computer systems available in the early 1980s, such as the Apple II, TRS-80, and Commodore 64. Later, the term was primarily used in contrast to Apple's Macintosh computers. During the 1990s, IBM's influence on PC architecture started to decline. "IBM PC compatible" becomes "Standard PC" in 1990s, and later "ACPI PC" in 2000s. An IBM-brand PC became the exception rather than the rule. Instead of placing importance on compatibility with the IBM PC, vendors began to emphasize compatibility with Windows.[1]

While the PC is technically capable of running many different operating systems, most of the emulators on this page are intended for x86 computers running DOS software, some kind of DOS-based Windows and Windows 9x (see operating systems section). If you wish to run software intended for Windows 2000 and Windows XP or even a newer version of Windows it is suggested to use a "recommended solution" mentioned in their dedicated pages. Most emulators on this page requires an operating system to run, exceptions to this are DOSBox forks and DREAMM, with the former having its own DOS implementation and the latter implementing both DOS and Win32 APIs. If you want to run Windows software in DOSBox fork you still need a Windows install though.

Keep in mind that due to DOS and Windows running on a range of different hardware, cycle accuracy is less crucial than for most systems covered by this wiki, as software could not rely on cycle timing of a particular chip without excluding a large part of the market.

Emulators

Tons of non-active obsolete DOSBox forks for Android exists, see this page for that.
See Category:x86-based page for other x86 based systems software emulation.
Name Platform(s) Latest version Enhancements Hardware support, features
and peripherals
Operating systems
support
License Active Recommended
x86
86Box       Dev
6.0
PCBox fork
~ MS-DOS
Windows 1.0~2000 and later[N 1]
GPLv2 (Copyleft)
PCem       v17
git
git (macos)
~ MS-DOS
Windows 1.0~2000 and later[N 1]
GPLv2 (Copyleft)
DOSBox
and forks
        2026.08.02 (DOSBox-X)
0.83.0 (DOSBox Staging)
1.0 preview 6 (DOSBox Pure)
git (DOSBox-core)
0.74-3 (DOSBox) (obsolete)
~ ~ MS-DOS
Windows 1.0~3.11 (Staging)
Windows 1.0~ME (DOSBox forks)
GPLv2 (Copyleft) ~[N 2]
DREAMM       4.0.0 ~* ~* Proprietary ~*
MartyPC  
    *
v0.4.1 ~ ~ MS-DOS
Windows 1.0~3.0
MIT (Permissive) ~
UniPCemu   2023/04/11
git
? ~ GPLv3 (Copyleft) ~
VARCem       Builds
git
? ~* BSD-3-Clause
GPLv2
~ ~
MAME         git artifacts[N 3]
0.289
libretro core
~ ~ GPLv2
BSD-3-Clause
~
PCjs   git ~* MIT (Permissive)
QEMU       11.1.0 GPLv2 (Copyleft)
Bochs               3.0 LGPLv2.1 (Copyleft)
ARM
DOSBox Pure     libretro core ~ ~ MS-DOS
Windows 1.0~ME
GPLv2 (Copyleft)
DREAMM   4.0.0 ~* ~* Proprietary ~*
UniPCemu   2023/04/11 ? ~ GPLv3 (Copyleft) ~
Magic DOSBox   1.0.84 ? ~* Proprietary
Limbo     6.0.1
WinMobile build
GPLv2 (Copyleft) ~
DOSBoxPPC   0.63 ? ~* Proprietary
Bochs   2.6.11
git
LGPLv2.1 (Copyleft)
Consoles
DOSBox Pure     UWP libretro core ~ ~ MS-DOS
Windows 1.0~ME
GPLv2 (Copyleft)
UniPCemu       2023/04/11 ? ~ GPLv3 (Copyleft) ~
Bochs   2.3.5 LGPLv2.1 (Copyleft)
  1. 1.0 1.1 Windows XP, Windows Vista and Windows 7 will install and run in 86Box (XP also supported on PCem), but is discouraged due to poor performance on the emulated hardware, see emulation issues section and references.
  2. DOSBox-X, DOSBox Staging, DOSBox Pure and DOSBox-core forks are still active.
  3. CI-Windows CI-Linux CI-Macos

Descriptions

PCem/86Box/PCBox/VARCem:

These emulators provides an excellent compatibility and hardware and peripheral support for DOS-based operating systems such as Windows 3.x, Windows ME/98/95 (and even NT-based XP, Vista or Windows 7 supported but not recommended) that is beyond what "DOSBox forks" can offer but unlike "DOSBox forks" these emulators usually requires modest to top-notch single thread performance of CPUs. As of June 14, 2021, PCem's original developer, Sarah Walker, has stopped working on the project. It has now been taken over on December 18, 2021, by a new maintainer, Michael Manley. 86Box (formerly known as PCem-X) is a fork of PCem which is developed more actively, while PCBox and VARCem are forks of 86Box.

One aspect commonly used to compare PCem and 86Box is the emulation performance. PCem v15 introduced a rewritten dynamic recompiler, which was primarily aimed at improving emulation performance in games; however, it also caused minor to severe performance regressions in other applications. 86Box uses the previous recompiler from PCem versions before v15, with optimizations performed by devs, as they have determined that the new one causes too many regressions to be adopted as a sensible default. There is a way for you to try out the new recompiler on 86Box, though. PCem’s emulation of some core system components, such as the Programmable Interval Timer (PIT), takes a few shortcuts to improve performance. These shortcuts are perfectly fine for games, which is what PCem targets; although, they have caused issues with the software preservation side of things. In addition to taking fewer shortcuts, 86Box also tries to follow the specifications of these components, rather than implement the minimum viable feature set, which is - once again - good enough for games, but not good enough for some other applications. Generally speaking, the more accurate a component’s emulation is made, the more host CPU horsepower it will require. In addition to taking fewer shortcuts, 86Box also tries to follow the specifications of these components, rather than implement the minimum viable feature set, which is - once again - good enough for games, but not good enough for some other applications. See this guide for more information.
DOSBox-X/DOSBox Pure/DOSBox-core/DOSBox Staging:
DOSBox is another option for emulating many older computer games specially for pretty good performance with low-end computers but compatibility, accuracy and hardware support aren't as good as PCem or 86Box. DOSBox is no longer updated but it has many "DOSBox forks" over the years. Windows 95/98/ME can be installed in "DOSBox forks" and also supports 3DFX Voodoo emulation. Even more forks are listed in the "DOSBox forks" page of DOSBox Staging's GitHub wiki or here.
DOSBox-X is vastly different from other "DOSBox forks" in that it aims to be a complete emulation package that covers all pre-2000 DOS and Windows 9x based hardware scenarios. It features more flexibility by way of config options and an accompanying frontend to customize the DOS VM further, and beyond games it also supports standard software for DOS, as well as DOS-based Windows including Windows 3.x and 9x/ME with 3D acceleration via 3dfx emulation. The project also has its own wiki which contains extensive documentation on DOSBox-X, and a summary of notable added features can be seen here. While DOSBox-X currently supports emulation of IBM PC/XT/AT, Toshiba AX/J3100, IBM PCjr/Tandy, and NEC PC-9800 series architecture, the maintainer, Jonathan Campbell, does not plan to add any other MS-DOS system. This limitation is mainly done to prevent bloating of the codebase, keeping it at a manageable level for himself while also staying organized. However, the codebase does contain stubbed source files for FM Towns emulation in the event that other programmers want to add that functionality.
DOSBox Pure is a new DOSBox fork specifically built for RetroArch/Libretro. According to its project description it aims for simplicity and ease of use just like DOSBox Staging. On top of that it has an advantage over other "DOSBox forks" because of libretro features (  EmuVR support, Shader presets/Overlays and configs etc). Some of the other advantages are save-states, wider platform support (including Switch and Vita) and input auto-configuration fetched from the game database. It's good for users who want to experience their DOS games without too much hassle with settings, in a simple way akin to how console emulators deal with ROMs.
[  0.9.5 version brings 3dfx emulation support.
0.9.8 version brings further improvements to the ATAPI CD-ROM emulation for Windows 9x games with CD copy protection, add support for uncompressed CHD version 5 CD images and add netplay for multiplayer games that used IPX, Ethernet or a modem over the internet.
DOSBox-core is an alternative core for RetroArch/Libretro, which focuses on being as close in use as upstream DOSBox. Its advantages include using .conf files to run games, ability to use external MIDI synths (like the Roland Sound Canvas VA, the Yamaha S-YXG50, or whatever else) so that you can get much higher quality MIDI music in dosbox-core, and has more configuration options befitting more advanced users. Its disadvantages are slightly worse input lag (like half a frame), lack of save-states and runs on less platforms (Windows, Linux, macOS and Android; consoles like Vita and Switch are unavailable)
DOSBox Staging is a DOSBox fork that focuses on ease of use, modern technology and best practices. 3dfx emulation is supported with the latest releases.
DREAMM is a new emulator that targets specific games rather than the PC platform in general. Notable features include reconstructing missing EXE and index files from digital releases, automated installation from disk images, GUI-based configuration of video and sound hardware, and when running games that originally had manual or codewheel based copy protection DREAMM provides the correct answers for the user. Games run in the emulator's built in implementations of DOS, Win32 and FM Towns OS.
UniPCemu
The UniPCemu (Universal PC emulator) emulator, originally made to play games on the PSP, now built for Android, Windows, PSP, Nintendo Switch and PS Vita! Play your old classic PC games on Android! It's a cycle-accurate x86 emulator (previously called x86EMU before the rename, This isn't based on the other cpu-emulator called x86emu (lower case)). It's a 8086(IBM PC) up to Pentium II (Compaq Deskpro 386, Compaq Deskpro 386 with PS/2 mouse (adds PS/2 mouse to the Compaq Deskpro 386 chipset, optional BIOS ROM replacement (loading it instead, alternatively a i430fx Pentium or i440fx/i450gx Pentium Pro/Pentium II chipset with PS/2 mouse. A 85c496/7 chipset is also supported.) and seperate CMOS settings like the other architectures) emulator(with various, configurable hardware), with up to 80386 timings (80486SX and Pentium using 80386 timings or 1 cycle for newer/unknown timings/instructions, both having no floating point unit)).
 In basic CPU's, all generations in between are supported (8086/8088, 80186/80188, 80286, 80386sx/dx, 80486, Pentium, Pentium Pro and Pentium II. All without FPU emulated, other than software FPU emulation support using drivers).
 It can run many IBM PC XT games, and also various 286(*) up to Pentium II games. Support for ATAPI CD-ROM (using VIDE-CDD.SYS, OAKCDROM.SYS or compatible ATAPI drivers) also works. Many graphics cards and sound cards can be used (MIDI using a Soundfont renderer inside UniPCemu (recordable by UniPCemu's sound recording functionality) or passthrough(passthrough on Windows only, which is not recordable by the emulator's own recording functionality)), from PC speaker up to Sound Blaster 2.0 and from IBM Monochrome Display Adapter up to ET4000/W32 SVGA(up to 16M colors (in True Color mode) using it's SC15025 DAC)!
 EMS is available using the Lo-tech 2MB EMS board on the XT and various EMM emulation software(e.g. JEMM386, EMM386) on IBM AT and up. For more information about UniPCemu use this link.
MartyPC:

It's an open source emulator written in rust that aims to be cycle accurate for IBM PCs. Compared to other (also great) PC emulators like PCem/86box/DOSbox forks etc, MartyPC focuses on ultra accurate CGA and DMA emulation. It requires pixel perfect and cycle accurate CGA emulation as well as emulation of CRT properties like overscan.[2] Developer "Glorious_Cow" said;

 Of course my next target is the 286, I think it would be interesting to try to make a cycle-accurate 286. The biggest challenge is the microcode for 286 hasn't been decoded yet, but there is a high resolution 286 die shot I'd love to get my hands on... My hope is that the 286 is a more 'regular' chip than the 8088. The 8088 turned out to have a lot of odd, poorly documented behavior. I guess we'll find out.
 386 is sort of a long-term goal. I'll get there when I get there, but it might take another year for 286 I estimate before I tackle it. Now that I've accomplished Area 5150 I don't really have a "goal target" in mind other than running DOOM :) My 386 will not be slavishly cycle-accurate, after all, there were many variations of the 386 and clones, so which one would be accurate to? Besides the fact it's hard to write a cycle-accurate CPU at 40MHz...
 At that point I think MartyPC will be done chasing the hardware, I have no interest in following the CPU generations up into the Pentiums - that's probably best left to 86box - and I think I will probably turn my eye just to seeing what kind of interesting debugging features I can add. Save states and rewinding, an inline assembler or scripting language would be cool.
 With most end-users probably best served by using 86box, I figure my best niche going forward is being a 'retro-developer's' emulator of choice, so I am motivated to add any debug features people might request.[3]
MAME:

The emulation of various CPU types seen here regarding MAME are all over the place in the changelogs and seem confusing. However, MAME has preliminary support for the families of 286, 386/i386, 486/i486, and almost the entire range of Pentium CPUs. However, only the 286/386/486 emulation is acceptable at the moment. According to ProjectMESS, many IBM PC/AT 5170 family PCs running the 286 CPU have preliminary support. MAME 0.146u3 (Jul 2012) added CPU types for Pentium MMX, Pentium Pro, Pentium II, Pentium III, and Pentium 4, but don't expect miracles.

- MAME compat list showing the sector for several IBM-type PC systems - most of which may work fine.
- wiki.mamedev.org's search results for Pentium (e.g. 0.100u4, 0.103u4, 0.146u3, 0.148, 0.152, 0.156)
- wiki.mamedev.org's list for MACHINE_NOT_WORKING (Few systems based on a Pentium CPU)
- wiki.mamedev.org's list for MACHINE_IS_SKELETON drivers (Several PCs/systems based on a Pentium CPU)
Bochs:

A full x86 PC emulator with a focus on development and test operating systems and other low-level software. Its lack of proper timing emulation makes it not useful, and it is often too slow for newer systems to be playable. It is thus not recommended to use Bochs. Bochs is not timing but functional emulator, it's emulates time in very trivial way - one guest instruction emulated equal to one guest cycle. By tuning "IPS" setting you not anything in the way it emulates time - in opposite, you only giving a hint about emulation speed to Bochs which helps it to emulate devices like mouse or keyboard.

QEMU

Similar to Bochs, QEMU may not be the perfect x86 emulator, but its versatility, hypervisor capabilities, and vast platform support make it a powerful tool for anyone interested in exploring the world of virtualization. Its commitment to open-source development and its vibrant community ensure its continued evolution and relevance in the ever-changing world of computing. While QEMU is versatile and great for virtualization/VMs, if your focus is precise, reasonable and compatible x86 emulation, use alternatives like 86Box, PCem or even DOSBox forks.

Enhancements

Side note: Please don't bump/spam GitHub threads/issues and feature request pages.

Name 86Box PCem DOSBox Pure DOSBox-X DOSBox Staging MartyPC UniPCemu MAME
Performance Preload optical disc image to RAM
For users with sluggish multi-platter HDDs or plagued by horrible seek times, this enhancement might offer smoother experience, potentially reduced power consumption; it also shines when disc images reside on a network drive. Although keep in mind that preloading image would take some time, and it will require additional amount of RAM capacity.
? ? ? ? ? ? ? ?
Overclock, Turbo button and Underclock
Changing DRAM timings or CPU core frequency and CPU ring ratio using emulated BIOS just like using the real hardware or from GUI.
?
Post-Processing Post-rendering AA
(FXAA, TXAA and MLAA/SMAA)
? ? ? ? ? ? ?
Post-rendering scaling
(Sharp bilinear, Lanczos and FSR 1)
? ? ? ? ? ? ?
Filters ? * ?
AI-powered filter compatible
(Freestyle)
? ? ? ? ? ? ? ?
Shader Chain roadmap
Inverse tone mapping compatible ? ? ? ? ? ? ? ?
TAS features Macros/Scripts/Lua ? ? ? ? ? ? ? ?
Rewind
Fast-Forward/Turbo Speed
Savestates
Movie recording/playback
Controls Input lag-mitigating technique
Turbo button ? ? ? ? ? ? ? ?
Real peripheral support (Passthrough)
Ability to passthrough USB HID devices or Bluetooth adapter for emulated system.
? ? ? ? ? ? ? ?
Disguise peripheral support through Passthrough
Tricking the software into think that the original controller was connected even those identify themselves with different device IDs. When a game tries to identify a connected 'nearly the same internally' controller, emulator will tell it that the equivalent original controller is connected instead, allowing it to work.
? ? ? ? ? ? ? ?
Quality of life Pause/Resume Emulation * ? ? ? ?
Built-in Custom resolution/CRTSwitchRes
For using this on Windows OS you need CRT Emudriver.
Another option is using EDID editor tool such as "Custom Resolution Utility".
Exclusive to libretro cores and GroovyMAME at the moment.
Streamable compression format ? ?
Capable image format support [4] ? ? ? ? ? ?
Command Line Options ?
On-Screen Display
Showcases messages, controller input state which is useful for speedrunners, performance data, active settings, and various notifications.
? ? ? ? ? ? ?
Big Picture Mode
File Sharing
Similar to "Shared Folder" enhancement for Type-2 hypervisors.
* ? ? ? ? ? ? ?
Automatic Updater ~[N1 1] ? ? ? ? ? ? ?
Portable and Stealth
Useful enhancement feature for non-personal computer use or plug-and-play scenarios. However, it still requires necessary prerequisites and dependencies for your operating system.
? ? ? ? ? ?
Misc RetroAchievements *
EmuVR support Exclusive to libretro cores at the moment, this means that only DOSBox Pure supported.
(  Demonstration)
AI Service
With the help of OCR and other techniques, the AI service can provide a live translation of a game, or text-to-speech capabilities for the visually impaired among other things, either on demand or automatically.
Exclusive to libretro cores at the moment.
Debug Features ? ? ? ? ? * ? ?
  1. Inclued in the Avalonia 86 manager.

Operating systems

For virtualization of these legacy operating systems, see Windows NT 5.x emulators#Hypervisors.
For extensive list of OS support solely for 86Box emulator, see 86Box#OS_support.
Name 86Box PCem DOSBox Pure DOSBox-X DOSBox Staging MartyPC UniPCemu MAME
OS/2
OS/2 1.0 ? ?
OS/2 v1.1 / v1.2 / v1.3 ? ?
OS/2 v2.0 / v2.1 ? ?
OS/2 Warp 3 ? ?
OS/2 Warp 4 ? ?
eComStation ? ? ?
ArcaOS ? ? ?
DOS-based
MS-DOS ?
Windows 1.0x ?
Windows 2.0 / 2.1 ?
Windows 3.0 ?
Windows 3.1 ?
Windows 9x series ?
Windows NT
Windows NT 3.1 ? ~* ? ? ?
Windows NT 3.5 ? ? ? ?
Windows NT 3.51 ? * ? ? ?
Windows NT 4.0 ? * ? ? ?
Windows NT 5.x ~[N 1] ~[N 1] [N 2] ~[N 2] [N 2]
Windows NT 6.x ? ?
Linux
Debian ? ? ? ? ? ? ? ?
Other x86 Operating Systems
Coherent ? ? ? ? ? ? ? ?
CP/M-86 ? ? ? ? ? ? ? ?
Inferno ? ? ? ? ? ? ? ?
PC/GEOS ? ? ? ? ? ? ?
NetWare ? ? ? ? ? ? ? ?
Solaris ? ? ? ? ? ? ? ?
Xenix ? ? ? ? ? ? ? ?

Hardware & Peripheral Support

For software that can run hardware features designed for PC-9800 system, see NEC PC-9800 series#Hardware features and peripherals.
For extensive list of hardware support solely for 86Box emulator, see 86Box#Hardware support.
For extensive list of hardware support solely for PCem emulator, see PCem#Hardware support.

Side note: Please don't bump/spam GitHub threads/issues and feature request pages. This list only includes parts and accessories that can be possible to emulated through software or will be possible in the near future. Including everything would result in an endless list.

x86 CPU's

  • CMOV(Conditional Move): Critical for software post-1995 (e.g., Windows NT 4.0, games using optimized compilers). Emulators like 86Box and PCem support CMOV for Pentium Pro and later CPUs (e.g., Pentium II), but DOSBox forks (Pure, X, Staging) often lack full CMOV support, as they prioritize performance over accuracy (see our table’s footnote on DOSBoxForksCPU). This can cause compatibility issues with CMOV-dependent software.
  • CX8(CMPXCHG8B): Essential for multitasking OSes like Windows 95/NT and multithreaded applications. Supported by most emulators for 486 and later CPUs (e.g., 86Box, PCem, UniPCemu, MAME), but DOSBox forks may simplify its implementation, risking compatibility with niche software.
  • MMX and 3DNow!: Key for 1990s multimedia and games. DOSBox Pure lacks MMX support, limiting compatibility, while DOSBox-X and Staging offer partial support. 86Box and PCem handle MMX and 3DNow! well.
  • SSE, SSE2, SSE3: Relevant for late 1990s to early 2000s software (e.g., DirectX 7/8/9.0c games). PCBox has partial SSE support for Pentium III, but others don’t, as shown in the table (CPU emulation support). SSE2/SSE3, unsupported by most emulators (if not all) due to their focus on earlier CPUs.
  • PAE: Supported by 86Box and PCem for Pentium Pro and Pentium II. DOSBox forks may not fully emulate PAE due to their simplified CPU emulation.
Name 86Box PCem DOSBox Pure DOSBox-X DOSBox Staging MartyPC UniPCemu MAME
AMD
Am286 ? ? ? ? ? ?
Am386 ? ? ? ? ? ?
Am486 ? ? ? ? ? ?
Am5x86
K5
K6 ?
K6-II ?
K6-III
K6-III+
K6-2+
?
Athlon Classic [N 3] [N 3] [N 4] ~[N 4] ~[N 4] ?[N 5]
Athlon XP [N 3] [N 3] [N 4] [N 4] [N 4]
Auctor
Maple ? ? ? ? ? ?
Advantech
EVA-X4150 ? ? ? ? ? ?
EVA-X4300 ? ? ? ? ? ?
Centaur Technology
Winchip C6 ? ? ? ? ? ?
Winchip 2 ? ? ? ? ? ?
Winchip 2A ? ? ? ? ? ?
Winchip 2B ? ? ? ? ? ?
Winchip 3 ? ? ? ? ? ?
Chips and Technologies
Super386 ? ? ? ? ? ?
Cyrix
Cx486SLC ? ? ? ? ? ?
Cx486SRx2 ? ? ? ? ? ?
Cx486DLC ? ? ? ? ? ?
Cx486DRx2 ? ? ? ? ? ?
Cx486 ? ? ? ? ? ?
5x86
MediaGX ? ? ? ? ? ?
6x86
Cyrix III ?
DM&P Electronics
M6117D ? ? ? ? ? ?
Vortex86 ? ? ? ? ? ?
Intel
8086 ~[N 4] ~[N 4] ~[N 4] [4]
80286 ~[N 4] ~[N 4] ~[N 4] [N 6] [5]
386 ~[N 4] ~[N 4] ~[N 4] [N 6] [6]
486 ~[N 4] ~[N 4] ~[N 4] [N 6] [7]
RapidCAD ~[N 4] ~[N 4] ~[N 4] [N 6] [8]
Pentium
Pentium MMX
~[N 4]
(no MMX)
~[N 4] ~[N 4] [N 5]
Pentium Pro [9] [N 5]
Pentium II [N 4] ~[N 4] ~[N 4] [N 5]
Celeron (P6) ?
Pentium III ~[N 3] [N 3] [N 4] ~[N 4] [N 5]
Pentium 4 [N 3] [N 3] [N 4] [N 4] [N 5]
Kombinat Mikroelektronik Erfurt
U80601 ? ? ? ? ? ?
NEC
V20 ? ? ? ? ?
V30 ? ? ? ? ? ?
V40 ? ? ? ? ? ?
V50 ? ? ? ? ? ?
NexGen
Nx586 ? ? ? ? ? ?
Rise Technology
mP6 ? ? ? ? ? ?
Transmeta
Crusoe ? ? ? ? ? ?
Efficeon ? ? ? ? ? ?
UMC
Green CPU ? ? ? ? ? ?
Unknown
K1810VM86 ? ? ? ? ? ?
VIA Technologies
VIA C3 ? ? ? ? ? ?
VIA C7 ? ? ? ? ? ?
VIA CoreFusion ? ? ? ? ? ?
VIA Eden ? ? ? ? ? ?
ZF Micro
ZFx86 ? ? ? ? ? ?

Graphics Cards & GPU's

This table includes graphics cards and GPUs, as well as graphics chips used by third-party manufacturers who produced cards based on these chips. OpenGL 1.3 to 2.0, DirectX 7 and DirectX 8.1 T&L capable hardware will not be included (even though it is significant for late Windows 9x era) until significant advancements in IBM-PC emulation. Furthermore, DirectX 9.0a, 9.0b, 9.0c and shader model 3.0 hardware are critical for the Windows XP era, with DirectX 10.0, 10.1 and shader model 4.1 vital for Vista. However, given the current challenges with SSE, SSE2 and SSE3 CPU hardware emulation (see x86 CPUs section) and the seemingly unattainable goal of DirectX 7 GPU emulation via LLE method, progress remains limited. Future developments, as discussed in the #Emulation issues and #References sections, may provide alternative methods to make this possible.

wip, any volunteer?
Name Released Glide DirectX OpenGL Other APIs MPEG-2 INPR 86Box PCem DOSBox
Pure
DOSBox-X DOSBox
Staging
MartyPC UniPCemu MAME
3Dfx
Voodoo Graphics 1996 5.0 1.1 N/A $299 ($614 in 2026) [10] ?
Voodoo 2 1998 6.0 1.1 N/A $300 ($593 in 2026) [11] ?
Voodoo 3 1999 6.0 1.1 N/A ~ $130 ($251 in 2026) ~[12] ~[12] ?
Voodoo 4 2000 6.0 1.1 N/A ~ $150 ($281 in 2026) [13] [14] [15]
Voodoo 5 2000 6.0 1.1 N/A ~ $300 ($561 in 2026) [13] [16]
Voodoo Banshee 1998 6.0 1.1 N/A ~ ~[12] ~[12] ?
Voodoo Rush 1997 N/A N/A N/A $299 ($600 in 2026) ? ? ? ? ? ? ?
3Dlabs
3Dlabs GameGlint / 3D Blaster (Creative Labs) 1995 ? 1.0 N/A $349 ($738 in 2026) ? ? ? ? ? ? ?
3Dlabs Permedia / C3000 (PowerColor) 1996 5.0 1.1 N/A $195 ($401 in 2026) ? ? ? ? ? ? ?
3Dlabs Permedia 1996 5.0 1.1 N/A $200 ($411 in 2026) ? ? ? ? ? ? ? ?
3Dlabs Permedia 2 / AccelSTAR II (AccelGraphics) 1997 5.0 1.1 N/A ? ? ? ? ? ? ?
3Dlabs Permedia 2 / Fire GL 1000 PRO (Diamond Multimedia) 1997 5.0 1.1 N/A $299.95 ($602 in 2026) ? ? ? ? ? ? ?
3Dlabs Permedia 2 / GLoria Synergy (ELSA) 1997 5.0 1.1 N/A ? ? ? ? ? ? ?
3Dlabs Permedia 2 / Graphics Blaster Exxtreme (Creative Labs) 2000 5.0 1.1 N/A ? ? ? ? ? ? ?
3Dlabs Permedia 2 / Winner 2000/Office (ELSA) 1997 5.0 1.1 N/A ? ? ? ? ? ? ?
ELSA GLoria-4 / GLINT 300SX 1995 1.0 N/A ? ? ? ? ? ? ? ?
Diamond Fire GL 3000 / GLINT 500TX 1996 5.0 1.1 N/A ? ? ? ? ? ? ? ?
Alliance Semiconductor
ProMotion 3210 1994 2D ? ? ? ? ? ? ?
ProMotion 6410 1995 2D ? ? ? ? ? ? ?
ProMotion aT24 1996 Unknown Unknown Unknown Unknown ? ? ? ? ? ? ? ?
ProMotion aT3D 1997 Unknown Unknown Unknown Unknown ? ? ? ? ? ? ? ?
ATI
3D Rage / Mach64 GT 1995 5.0 N/A ATI3DCIF MPEG-1 $250 ($529 in 2026) ? ? ? ? ? ? ? ?
3D Rage II / Mach64 GT-B 1996 5.0 N/A ATI3DCIF MPEG-1 $200 ($411 in 2026) ? ? ? ? ? ? ? ?
3D Rage II+ DVD / Mach64 GT-B 1996 5.0 N/A ATI3DCIF $200 ($411 in 2026) ? ? ? ? ? ? ? ?
Rage 128 1998 6.0 1.2 N/A $150 ($296 in 2026) ? ? ? ? ? ? ? ?
ATI Graphics / Mach64 GX 1994 2D ? ? ? ? ? ? ? ?
ATI Win / Mach64 CT 1995 2D ? ? ? ? ? ? ? ?
Diamond Multimedia
Diamond Edge 3D / nVidia NV1 1995 N/A NVlib MPEG-1 $249 ($526 in 2026) [17] [18]
Hercules Computer Technology
Hercules Text Card (WMA) 1987 2D ? ? ? ? ?
Hercules Graphics Card (HGC) 1982 2D $499 ($1666 in 2026) ? ? ? ? ?
Hercules Graphics Card Plus 1986 2D $299 ($879 in 2026) ? ? ? ? ?
Network Card Plus (HNC) 1988 2D ? ? ? ? ?
Color Card 1985 2D $245 ($734 in 2026) ? ? ? ? ?
InColor Card 1987 2D $299 ($848 in 2026) ? ? ? ? ?
IBM
Monochrome Display Adapter (MDA) 1981 2D ? ? ? ? ?
Color Graphics Adapter (CGA) 1981 2D ? ? ? ? ?
Enhanced Graphics Adapter (EGA) 1984 2D $524 ($1625 in 2026) ? ? ? ? ?
Multi-Color Graphics Array (MCGA) 1987 2D ? ? ? ? ? ? ?
Professional Graphics Controller (PGC) 1984 2D $2995 ($9288 in 2026) ? ? ? ? ?
Video Graphics Array (VGA) 1987 2D
8514 1987 2D $1290 ($3658 in 2026) ? ? ? ? ? ? ? ?
InteGraphics Systems
IGA 1680_A 1994 2D ? ? ? ? ? ? ?
Intel Corporation
i750 1991 2D ? ? ? ? ?
i740 1998 5.0 N/A N/A $289 ($571 in 2026) ? ? ? ? ? ?
Kama SX094 1987 2D ? ? ? ? ? ? ?
810 1999 6.0 N/A N/A ? ? ? ? ? ?
Matrox Graphics
Impression 1993 2D $999 ($2228 in 2026)
Impression Pro 1993 2D $1699 ($3789 in 2026)
Impression Plus / Matrox IS-ATHENA 1994 RenderWare $599 ($1302 in 2026)
Millennium 1995 2D MPEG-1 $339 ($717 in 2026)
Millennium II 1997 5.0 Supported N/A ? $299 ($600 in 2026)
Millennium G200 1998 6.0 Supported N/A $248 ($490 in 2026) ? ? ? ? ? ? ?
Millennium G400 1999 6.0 Supported N/A $149 ($288 in 2026) ? ? ? ? ? ? ?
Mystique 1996 5.0 Supported MSI $179 ($368 in 2026)
Productiva G100 1998 5.0 Supported N/A MPEG-1 $99 ($196 in 2026) ? ? ? ? ? ? ?
Productiva G100-Quad 1998 5.0 Supported N/A MPEG-1 $699 ($1381 in 2026) ? ? ? ? ? ? ?
NEC
PC-FX GA Unknown Unknown Unknown Unknown ? ? ? ? ? ?
TE5L 2002 Unknown Unknown Unknown Unknown ? ? ? ? ? ? ? ?
μPD7220 1982 2D ? ? ? ? ?
NeoMagic
MagicGraph128 1997 Unknown Unknown Unknown Unknown ? ? ? ? ? ? ? ?
MagicGraph256 1998 Unknown Unknown Unknown Unknown ? ? ? ? ? ? ? ?
NVIDIA
Riva 128 1997 5.0 1.0 N/A ~ $150 ($301 in 2026) WIP[19]
Riva TNT 1998 5.0 1.2 N/A $250 ($494 in 2026)
Riva TNT2 1999 6.0 1.2 N/A $299 ($578 in 2026)
Orchid Technology
Orchid Graphics Adapter 1982 2D ? ? ? ? ? ?
Paradise Computers
Modular Graphics Card (MGC) 2D ? ? ? ? ? ?
Autoswitch EGA 2D ? ? ? ? ? ?
PVGA Plus 2D ? ? ? ? ? ?
PVGA 1A 2D ? ? ? ? ? ?
Tasmania 3D 1995 ? RenderWare
BRender
RenderMorphics
$250 ($529 in 2026)
Plantronics
Colorplus 2D ? ? ? ? ? ?
PowerVR
Kyro II 2001 6.0 N/A PowerSGL $150 ($273 in 2026) ? ? ? ? ? ? ? ?
PCX1 1996 N/A N/A PowerSGL ? ? ? ? ? ? ? ?
PCX2 1997 N/A N/A PowerSGL ? ? ? ? ? ? ? ?
Quadram Corporation
Quadcolor I 2D ? ? ? ? ? ?
Quadcolor II 2D ? ? ? ? ? ?
Rendition
Vérité V1000 1996 5.0 Speedy3D
RRedline
MPEG-1 ? ? ? ? ? ? ? ?
Vérité V2100 1997 5.0 1.1 Speedy3D
RRedline
? ? ? ? ? ? ? ?
Vérité V2200 1998 5.0 1.1 Speedy3D
RRedline
$200 ($395 in 2026) ? ? ? ? ? ? ? ?
S3
S3 86C911 1991 2D ? ? ? ? ? ? ?
S3 Vision864 1994 2D ? ? ? ? ? ? ?
S3 Vision868 1994 2D ? ? ? ? ? ? ?
S3 Trio32 1994 2D ? ? ? ? ? ? ?
S3 Trio64 1994 2D ? ? ? ? ? ? ?
S3 Trio64V+ 1995 2D ? ? ? ? ? ? ?
Savage4 1999 6.0 N/A S3d $100 ($193 in 2026) ? ? ? ? ? ? ? ?
Texas Instruments
Tigastar Unknown Unknown Unknown Unknown ? ? ? ? ? ? ? ?
Tigacard 1991 2D ? ? ? ? ? ? ?
Trident
3DImage 9750 1997 Unknown Unknown Unknown Unknown ? $129 ($259 in 2026) ? ? ? ? ? ? ?
Blade 3D 1999 Unknown 6.0 1.1 Unknown ? ? ? ? ? ? ?
Cyber9320 1994 2D ? ? ? ? ? ? ?
Cyber9397 1997 Unknown Unknown Unknown Unknown ? ? ? ? ? ? ? ?
CyberBlade XP 2000 ? 6.0 1.1 ? ? ? ? ? ? ? ?
ProVidia9685 1996 ? ? ? ? $99 ($203 in 2026) ? ? ? ? ? ? ?
TGUI9420 1994 2D ? ? ? ? ? ? ?
TGUI9600 1995 2D ? ? ? ? ? ? ?
TVGA8200 2D ? ? ? ? ? ? ?
TVGA8800 1988 2D ? ? ? ? ? ? ?
TVGA8900 1990 2D ? ? ? ? ? ? ?
UDL
UDL C3 / EGA 1024 (Nel Electronics) Unknown Unknown Unknown Unknown ? ? ? ? ? ? ? ?
UDL C3 / Q1 90 (Unique) Unknown Unknown Unknown Unknown ? ? ? ? ? ? ? ?
Weitek
Weitek Power 9000 / P9000/VLB (Oak Technology) 1993 Unknown Unknown Unknown Unknown ? ? ? ? ? ? ? ?
Weitek Power 9000 / Viper VLB (Diamond Multimedia) 1993 Unknown Unknown Unknown Unknown ? ? ? ? ? ? ? ?
Weitek Power 9000 / Viper PCI (Diamond Multimedia) Unknown Unknown Unknown Unknown ? ? ? ? ? ? ? ?
Weitek Power 9100 / f/64 (Sigma Designs) Unknown Unknown Unknown Unknown ? ? ? ? ? ? ? ?
Weitek Power 9100 / G91 (Intergraph) Unknown Unknown Unknown Unknown ? ? ? ? ? ? ? ?
Weitek Power 9100 / PCIMovie (Videologic) Unknown Unknown Unknown Unknown ? ? ? ? ? ? ? ?
Weitek Power 9100 / V7-Storm Pro (Spea) Unknown Unknown Unknown Unknown ? ? ? ? ? ? ? ?
Weitek W5186 / SG-260V (Unisys) Unknown Unknown Unknown Unknown ? ? ? ? ? ? ? ?
Winbond
Winbond W9970CF / ZL-V2W1 (Great Wall Technology) Unknown Unknown Unknown Unknown ? ? ? ? ? ? ? ?
VideoLogic
Neon 250 1999 ? 6.0 PowerSGL $169 ($327 in 2026) ? ? ? ? ? ? ?

Sound Cards

Also see Shaders and filters#MIDI, soundfonts and software synth solutions
Name 86Box PCem DOSBox Pure DOSBox-X DOSBox Staging MartyPC UniPCemu MAME
? ? ? ? ? ? ? ?

Network Cards

Using proxy projects for retro web browsing experience is recommended.
Name 86Box PCem DOSBox Pure DOSBox-X DOSBox Staging MartyPC UniPCemu MAME
? ? ? ? ? ? ? ?

MPEG hardware decoders

placeholder text https://www.vogons.org/viewtopic.php?f=46&t=34225&hilit=dvd+accelerators https://en.wikipedia.org/wiki/RealMagic

Mainboards

Name 86Box PCem DOSBox Pure DOSBox-X DOSBox Staging MartyPC UniPCemu MAME
440BX ABit AB-BF6 ? ? ? ?
ABit AB-BH6 ? ? ? ? ?
ABit AB-BP6 ? ? ? ? ?
Intel 815E ABit AB-SH6 ? ? ? ? ?

Human Interface Device (HID)

Mouse

Recommended to overclock the PS/2 interrupt frequency to slightly higher value if you're emulating PS/2 device for pointing device on top of higher display refresh rate from emulated guest operating system. Use 86Box's new recompiler, OGL renderer, fullscreen it, set guest to 100hz so it runs in VRR in your host's higher refresh rate mode, install a logitech PS2 driver (or Logitech MouseWare) in guest that allows you to disable mouse acceleration and use a 100hz poll rate. Also see Input lag section and 86Box Docs: Input.

Gamepads
Name 86Box PCem DOSBox Pure DOSBox-X DOSBox Staging MartyPC UniPCemu MAME
Gravis PC Gamepad ? ? ? ? ? ? ? ?
Microsoft Sidewinder ? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ?

Floppy & CD-ROM drives

Storage

  • 86Box supports speed profiles for hard disk (only IDE and ESDI) images. Speed emulation takes the rotation speed, physical layout and cache size of an average period-correct drive into account. The RAM Disk profile runs the drive as fast as the host can manage.

Emulation issues

A low-level approach seems to be impossible for DirectX 8/9, SSE/2/3/4 emulation from the Windows XP era. QEMU TCG approach (kind of like Xemu) maybe with the help of SoftGPU, virtio-gpu, VirGL virtual adapter, compatibility layers and wrappers, or even an API passthrough approach similar to QEMU 3dfx may be chosen by the developers in the future.

For more information about PC emulation and reverse engineering;

Other projects and emulated systems that may potentially help PC emulators in the future;
Main article: MiSTer

References

  1. 1.0 1.1 86Box, PCem and PCBox supports these OS'es but even these actively maintained advanced emulators have limited #x86 CPU's, Graphic Cards and #Mainboards support especially for more demanding NT-based operating systems, performance will be unbearable anyway. Recommended to use "recommended available solutions" for these OS'es mentioned in Windows XP page.
  2. 2.0 2.1 2.2 NT-Based OSes unsupported on most of the DOSBox forks at the moment. But it is possible to implement specific techniques to these emulators for achieving and improving Windows NT-based operating system emulation experience. See DOSBox-X: KVM and Hyper-V issue page, also DOSBox-X: 3D Graphics cards feature request page. There are other related things such as: adding softgpu driver compatibility for Windows XP guest.[1][2] So in summary, lots of work already done for this which is promising for the future of Windows XP emulation.[3]
  3. 3.0 3.1 3.2 3.3 3.4 3.5 3.6 3.7 Pentium III emulation only available with PCBox fork, but do not expect miracles. Currently there is no processor available on the market that would be able to handle Pentium III or Athlon Classic emulation, considering that even the latest top-tier processors struggle with emulating fastest Pentium II/Celeron P6 processors. For more information about Pentium III emulation; 86Box - Why Not Pentium III?. Also see   Core i9-14900K CPU benchmark with Celeron 300A-500MHz emulation on 86Box,   Overclocked Ryzen 9 9950X3D emulating Pentium II 450MHz & AMD K6-III 400MHz on 86Box and   Stock Ryzen 9 9950X3D emulating Celeron 533MHz on 86Box videos.
  4. 4.00 4.01 4.02 4.03 4.04 4.05 4.06 4.07 4.08 4.09 4.10 4.11 4.12 4.13 4.14 4.15 4.16 4.17 4.18 4.19 4.20 4.21 4.22 4.23 4.24 4.25 4.26 4.27 4.28 4.29 4.30
    Unlike emulators like 86Box or PCem which aim for accurate execution, DOSBox forks prioritize performance by emulating one instruction per emulated-cycle. This approach simplifies internal CPU mechanics and ignores real clock frequency or FLOPs of the emulated system. While this sacrifices accuracy, it leads to significantly faster emulation and still has broader software compatibility compared to obsolete emulators like Bochs. However, some niche software may still encounter compatibility limitations. Also, if MMX instruction set is required by the game you need to use a supported DOSBox fork to play it such as DOSBox-staging or DOSBox-X, see MMX Instruction Set Support feature request for DOSBox Pure. Therefore, active DOSBox forks remain a powerful option for casual users and performance-intensive tasks, offering a balance between compatibility and speed. See #Descriptions section for more information.
  5. 5.0 5.1 5.2 5.3 5.4 5.5 Only the 286/386/486 emulation is acceptable at the moment. See Descriptions section. (i386.cpp) and (athlon.cpp).
  6. 6.0 6.1 6.2 6.3 Future goal, for more information see Descriptions section.