Difference between revisions of "PC Emulator Comparisons"

From Emulation General Wiki
Jump to navigation Jump to search
(Graphics Cards & GPU's)
 
(46 intermediate revisions by 4 users not shown)
Line 1: Line 1:
This page compares [[POS_(Pong_Consoles)_CPUs_and_Other_Chips#x86_CPUs|emulators of PC hardware]] against each other and shows what they can and can't do
+
{{main|POS_(Pong_Consoles)_CPUs_and_Other_Chips#x86_CPUs}}
 +
The PC architecture originates from the 1981 IBM PC 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.[https://emulation.gametechwiki.com/index.php/Legal_Status_of_Emulation#Avoiding]
 +
 
 +
While the PC is technically capable of running many different operating systems, most of the emulators on this page are intended for running DOS software or some kind of DOS-based Windows (versions preceding Windows 2000 and XP), if you wish to run software intended for a NT-based version of Windows it is suggested to use a [[compatibility layer]] or [[hypervisor]] instead, see also [[Windows 95/98/ME emulators]] and [[Windows 2000/XP/Vista emulators]] pages.
 +
 
 +
Most emulators on this page requires an operating system to run, exceptions to this are DosBox 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 you still need a Windows install.
 +
 
 +
Keep in mind that due to DOS and Windows software having to be designed to support a range of different hardware accuracy is far less crucial than for most systems covered by this wiki.
 +
 
 +
 
 +
=Emulators=
 +
{{main|POS_(Pong_Consoles)_CPUs_and_Other_Chips#x86_CPUs}}
 
''{{for|software that can run hardware features designed for PC-9800 system|NEC PC-9800 series#Hardware features and peripherals}}''
 
''{{for|software that can run hardware features designed for PC-9800 system|NEC PC-9800 series#Hardware features and peripherals}}''
 +
*Also tons of non-active obsolete DOSBox forks for Android exists, see [https://emulation.gametechwiki.com/index.php?title=POS_(Pong_Consoles)_CPUs_and_Other_Chips&diff=70741&oldid=70740#x86_CPUs this page] for that.
 +
*See also [[:Category:x86-based]] for other x86 based systems software emulation or [[Windows_2000/XP/Vista_emulators|Windows XP/Vista]] and [[Windows_95/98/ME_emulators|Windows 9x]] for virtualization of these operating systems.
 +
 +
<div style="max-width:100%; overflow:auto;">
 +
{| class="wikitable" style="text-align:center;"
 +
! scope="col"|Name
 +
! scope="col"|Platform(s)
 +
! scope="col"|Latest version
 +
! scope="col"|<small>[[#Enhancements|Enhancements]]</small>
 +
! scope="col"|<small>[[#Hardware_.26_Peripheral_Support|Hardware support, features<br/>and peripherals]]</small>
 +
! scope="col"|<abbr title="Free/Libre and Open-Source Software">FLOSS</abbr>
 +
! scope="col"|Active
 +
! scope="col"|[[Recommended emulators|Recommended]]
 +
|-
 +
!colspan="8"|PC / x86
 +
|-
 +
|[[86Box]]
 +
|align=left|{{Icon|Windows|Linux|Mac}}
 +
|[http://ci.86box.net/job/86Box Dev]<br/>[https://github.com/86Box/86Box/releases {{86BoxVer}}]<br/>[https://github.com/PCBox/PCBox/actions PCBox fork]
 +
|{{~}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}}
 +
|-
 +
|[[PCem]]
 +
|align=left|{{Icon|Windows|Linux|Mac}}
 +
|[http://pcem-emulator.co.uk {{PCemVer}}]<br/>[https://github.com/sarah-walker-pcem/pcem/actions git]<br/>[https://github.com/PCemOnMac/PCemV17macOS/releases git] <small>(macos)</small>
 +
|{{~}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}}
 +
|-
 +
|[[DOSBox]]<br/>[[DOSBox#Forks|and forks]]
 +
|align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}
 +
|[https://github.com/joncampbell123/dosbox-x/releases {{DOSBox-XVer}}] (DOSBox-X)<br/>[https://dosbox-staging.github.io {{DOSBoxStagingVer}}] (DOSBox Staging)<br/>[https://github.com/schellingb/dosbox-pure/releases {{DOSBox PureVer}}] (DOSBox Pure)<br/>[https://github.com/realnc/dosbox-core git] (DOSBox-core)<br/><small>''<abbr title="We recommend DOSBox forks instead of DOSBox for advanced users or those seeking specific functionalities, more feature support and modern
 +
enhancements.">[http://www.dosbox.com/download.php?main=1 0.74-3] (DOSBox)</abbr>''</small>
 +
|{{~}} ||{{~}} ||{{✓}} ||{{~}}<ref group=N>[[DOSBox#Forks|DOSBox-X]], [[DOSBox#Forks|DOSBox Staging]], [[DOSBox#Forks|DOSBox Pure]] and [[DOSBox#Forks|DOSBox-core]] forks are still active.</ref> ||{{✓}}
 +
|-
 +
|[[DREAMM]]
 +
|align=left|{{Icon|Windows|Linux|macOS}}
 +
|[https://aarongiles.com/dreamm {{DREAMMVer}}]
 +
|{{~}}<abbr title="EPx filtering, Copy protection answer look-ups">*</abbr> ||{{~}}<abbr title="Direct3D emulation, DOS/Win32 implementation">*</abbr> ||{{✗}} ||{{✓}} ||{{~}}<abbr title="Compatibility is limited to select games">*</abbr>
 +
|-
 +
|[https://github.com/dbalsom/martypc MartyPC]
 +
|align=left|{{Icon|Windows}}<br/>{{Icon|Linux|macOS}}<abbr title="It should build on Linux and MacOS (Including M1) but no release builds for these platforms at the moment.">*</abbr>
 +
|[https://github.com/dbalsom/martypc/releases {{MartyPCVer}}]
 +
|{{?}} ||{{~}} ||{{✓}} ||{{✓}} ||{{~}}
 +
|-
 +
|UniPCemu
 +
|align=left|{{Icon|Windows}}
 +
|[https://superfury.itch.io/unipcemu/devlog 2023/04/11]
 +
|{{?}} ||{{~}} ||{{✓}} ||{{✓}} ||{{~}}
 +
|-
 +
|[https://www.varcem.com VARCem]
 +
|align=left|{{Icon|Windows|Linux|Mac}}
 +
|[https://www.varcem.com/?page=dl Builds]
 +
|{{?}} ||{{~}}<abbr title="8086, 80286, 386, 486, Pentium">*</abbr> ||{{✓}} ||{{~}} ||{{~}}
 +
|-
 +
|[[MAME]]
 +
|align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}
 +
|<abbr title="Latest development version">git artifacts</abbr><ref group=N>[https://nightly.link/mamedev/mame/workflows/ci-windows/master CI-Windows] [https://nightly.link/mamedev/mame/workflows/ci-linux/master CI-Linux] [https://nightly.link/mamedev/mame/workflows/ci-macos/master CI-Macos]</ref></br>[http://www.mamedev.org/release.html {{MAMEVer}}]<br/>[https://buildbot.libretro.com/nightly/ libretro core]
 +
|{{~}} ||{{~}} ||{{✓}} ||{{✓}} ||{{~}}
 +
|-
 +
|[https://www.pcjs.org/ PCjs]
 +
|align=left|{{Icon|Web}}
 +
|[https://github.com/jeffpar/pcjs git]
 +
|{{✗}} ||{{~}}<abbr title="8086, 80286, 386">*</abbr> ||{{✓}} ||{{✓}} ||{{✗}}
 +
|-
 +
|[[QEMU]]
 +
|align=left|{{Icon|Windows|Linux|macOS}}
 +
|[https://www.qemu.org/download/ {{QEMUVer}}]
 +
|{{✗}} ||{{✗}} ||{{✓}} ||{{✓}} ||{{✗}}
 +
|-
 +
|[[Bochs]]
 +
|align=left|{{Icon|Windows|Linux|FreeBSD|BeOS|OS2|AmigaOS|MorphOS}}
 +
|[https://sourceforge.net/projects/bochs/files/bochs {{BochsVer}}]
 +
|{{✗}} ||{{✗}} ||{{✓}} ||{{✗}} ||{{✗}}
 +
|-
 +
!colspan="8"|Mobile / ARM
 +
|-
 +
|[[DOSBox#Forks|DOSBox Pure]]
 +
|align=left|{{Icon|Android|iOS}}
 +
|[https://buildbot.libretro.com/nightly/ libretro core]
 +
|{{~}} ||{{~}} ||{{✓}} ||{{✓}} ||{{✓}}
 +
|-
 +
|UniPCemu
 +
|align=left|{{Icon|Android}}
 +
|[https://superfury.itch.io/unipcemu/devlog 2023/04/11]
 +
|{{?}} ||{{~}} ||{{✓}} ||{{✓}} ||{{~}}
 +
|-
 +
|Magic DOSBox
 +
|align=left|{{Icon|Android}}
 +
|[https://play.google.com/store/apps/details?id=bruenor.magicbox 1.0.84]
 +
|{{?}} ||{{~}}<abbr title="80286, 386">*</abbr> ||{{✗}} ||{{✓}} ||{{✗}}
 +
|-
 +
|[[QEMU|Limbo]]
 +
|align=left|{{Icon|Android|WinMobile}}
 +
|[https://virtualmachinery.weebly.com/limbo-downloads.html 6.0.1] <br>[https://forum.xda-developers.com/attachments/qemu-7z.475570 WinMobile build]
 +
|{{✗}} ||{{✗}} ||{{✓}} ||{{~}} ||{{✗}}
 +
|-
 +
|DOSBoxPPC
 +
|align=left|{{Icon|WinMobile}}
 +
|[http://www.freewarepocketpc.net/ppc-download-dosboxppc-v0-63.html 0.63]
 +
|{{?}} ||{{~}}<abbr title="80286, 386">*</abbr> ||{{✗}} ||{{✗}} ||{{✗}}
 +
|-
 +
|[[Bochs]]
 +
|align=left|{{Icon|Android}}
 +
|[https://play.google.com/store/apps/details?id=net.sourceforge.bochs&hl=en_US&gl=US 2.6.11] <br>[https://github.com/lubomyr/bochs git]
 +
|{{✗}} ||{{✗}} ||{{✓}} ||{{✗}} ||{{✗}}
 +
|-
 +
!colspan="8"|Consoles
 +
|-
 +
|[[DOSBox#Forks|DOSBox Pure]]
 +
|align=left|{{Icon|XboxOne|SXS}}
 +
|[https://buildbot.libretro.com/stable/ UWP libretro core]
 +
|{{~}} ||{{~}} ||{{✓}} ||{{✓}} ||{{✓}}
 +
|-
 +
|UniPCemu
 +
|align=left|{{Icon|PSP|Switch|Vita}}
 +
|[https://superfury.itch.io/unipcemu/devlog 2023/04/11]
 +
|{{?}} ||{{~}} ||{{✓}} ||{{✓}} ||{{~}}
 +
|-
 +
|[[Bochs]]
 +
|align=left|{{Icon|PS2}}
 +
|[http://www.ps2dev.karashome.pl 2.3.5]
 +
|{{✗}} ||{{✗}} ||{{✓}} ||{{✗}} ||{{✗}}
 +
|}
 +
</div>
 +
<references group=N />
 +
 +
===Descriptions===
 +
{| class="mw-collapsible mw-collapsed wikitable" style="text-align:left;"
 +
! scope="col"|
 +
|-
 +
|[[PCem]]/[[86Box]]/[https://pcbox-emu.xyz/ PCBox]/[https://www.varcem.com/ VARCem]:
 +
These emulators provides an excellent compatibility and [[#Hardware_features_and_peripherals|hardware and peripheral support]] for DOS-based operating systems such as [[POS_(Pong_Consoles)_CPUs_and_Other_Chips#x86_CPUs|Windows 3.x]], [[Windows_95/98/ME_emulators|Windows ME/98/95]] (and even NT-based [[Windows_2000/XP/Vista_emulators|XP/Vista]],Win7 supported but not recommended) that is beyond what "DOSBox forks" can offer but unlike "DOSBox forks" these emulators usually requires modest to top-notch [https://www.cpubenchmark.net/singleThread.html 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 is a fork of PCem which is [https://github.com/86Box/86Box/issues/3577 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. [https://86box.net/2022/01/07/pcem-migration-guide.html See this guide for more information].
 +
|-
 +
|[https://dosbox-x.com/ DOSBox-X]/[https://docs.libretro.com/library/dosbox_pure/ DOSBox Pure]/[https://github.com/realnc/dosbox-core DOSBox-core]/[https://dosbox-staging.github.io/ 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_features_and_peripherals|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 [https://github.com/dosbox-staging/dosbox-staging/wiki/DOSBox-forks "DOSBox forks" page of DOSBox Staging's GitHub wiki] or [[DOSBox#Forks|here]].
 +
::'''[https://dosbox-x.com/ 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 [https://dosbox-x.com/wiki wiki] which contains extensive documentation on DOSBox-X, and a summary of notable added features can be seen [https://dosbox-x.com/wiki/DOSBox%E2%80%90X%E2%80%99s-Feature-Highlights here]. While DOSBox-X currently supports emulation of [[#Intel_CPUs|IBM PC/XT/AT]], Toshiba AX/J3100, IBM PCjr/Tandy, and [https://emulation.gametechwiki.com/index.php/NEC_PC-9800_series 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 [https://emulation.gametechwiki.com/index.php/FM_Towns_emulators FM Towns] emulation in the event that other programmers want to add that functionality.<br/>
 +
::'''[https://docs.libretro.com/library/dosbox_pure/ 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 ([https://www.youtube.com/watch?v=W8zCEf9prmQ EmuVR support], [[Shader_Presets#RetroArch.2FLibretro|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.
 +
:::[https://www.youtube.com/watch?v=fA5SaT9uDa4 0.9.5 version] brings 3dfx emulation support.
 +
:::[https://old.reddit.com/r/emulation/comments/18ctij3/dosbox_pure_098_released/ 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 [https://www.libretro.com/index.php/retroarch-1-17-new-netplay-features/ add netplay] for multiplayer games that used IPX, Ethernet or a modem over the internet.
 +
::'''[https://github.com/realnc/dosbox-core 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)
 +
::'''[https://dosbox-staging.github.io/ DOSBox Staging]''' is a DOSBox fork that focuses on ease of use, modern technology and best practices. [https://github.com/dosbox-staging/dosbox-staging/issues/339 3dfx emulation is supported] with the latest releases.
 +
|-
 +
|[[DREAMM]] is a new emulator that targets specific games rather than the PC platform in general. As a Quality of Life feature, 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.
 +
|-
 +
|[https://superfury.itch.io/unipcemu 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 [https://superfury.itch.io/unipcemu use this link].
 +
|-
 +
|[https://github.com/dbalsom/martypc 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.<ref>[https://int10h.org/blog/2023/07/martypc-pc-xt-emulator-raising-the-bar Raising the Bar for IBM PC/XT Emulation: MartyPC]</ref> Developer "[https://old.reddit.com/user/Glorious_Cow 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.<ref>[https://old.reddit.com/r/emulation/comments/14sb24i/raising_the_bar_for_ibm_pcxt_emulation_martypc/jr10nya/ Glorious_Cow's comment about MartyPC emulator].</ref>
 +
|-
 +
|[[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 [http://www.progettoemma.net/mess/sysset.php ProjectMESS], many [http://www.progettoemma.net/mess/system.php?machine=ibm5170 IBM PC/AT 5170] family PCs running the 286 CPU have preliminary support. MAME [https://wiki.mamedev.org/index.php/MAME_0.146u3 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_compatibility_list#IBM|MAME compat list]] showing the sector for several IBM-type PC systems - most of which may work fine.
 +
::- [https://wiki.mamedev.org/index.php?title=Special:Search&limit=500&offset=0&profile=default&search=pentium wiki.mamedev.org's search results for Pentium] (e.g. 0.100u4, 0.103u4, 0.146u3, 0.148, 0.152, 0.156)
 +
::- [https://wiki.mamedev.org/index.php/MNW wiki.mamedev.org's list] for MACHINE_NOT_WORKING (Few systems based on a Pentium CPU)
 +
::- [https://wiki.mamedev.org/index.php/MIS 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. [https://sourceforge.net/p/bochs/discussion/39592/thread/17049d4e/#6bdd 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, [[Hypervisors|hypervisor]] capabilities, and vast platform support make it a powerful tool for anyone interested in exploring the world of [[Hypervisors|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 [[Hypervisors|virtualization/VMs]], if your focus is precise, reasonable and compatible x86 emulation, '''use alternatives like 86Box, PCem or even DOSBox forks'''.
 +
|}
 +
 
==Enhancements==
 
==Enhancements==
 
''Side note: Please don't bump/spam GitHub threads/issues and feature request pages.''
 
''Side note: Please don't bump/spam GitHub threads/issues and feature request pages.''
Line 39: Line 220:
 
| {{N}}
 
| {{N}}
 
|-
 
|-
| rowspan=4 | Post-Processing
+
| rowspan=6 | Post-Processing
 
| [[Wikipedia:Category:Anti-aliasing_algorithms|Post-rendering AA]]<br/><small>(FXAA, TXAA and MLAA/SMAA)</small>
 
| [[Wikipedia:Category:Anti-aliasing_algorithms|Post-rendering AA]]<br/><small>(FXAA, TXAA and MLAA/SMAA)</small>
 
| {{Unknown}}
 
| {{Unknown}}
Line 51: Line 232:
 
| {{Unknown}}
 
| {{Unknown}}
 
|-
 
|-
| [[Wikipedia:Comparison_gallery_of_image_scaling_algorithms|Post-rendering scaling]]<br/><small>(Sharp bilinear, Lanczos and FSR 1)</small>
+
| [[Wikipedia:Comparison_gallery_of_image_scaling_algorithms|Post-rendering scaling]]<br/><small>(Sharp bilinear, Lanczos and [[Wikipedia:GPUOpen#FidelityFX_Super_Resolution|FSR 1]])</small>
 
| {{Unknown}}
 
| {{Unknown}}
 
| {{Unknown}}
 
| {{Unknown}}
Line 62: Line 243:
 
| {{Unknown}}
 
| {{Unknown}}
 
|-
 
|-
| [[Shaders_and_filters|Filters]]<br/><small>[[Shaders_and_filters#NTSC_Filters|NTSC filters]], [[Shaders_and_filters#Tonemapping|HDR tonemapping]] etc.</small>
+
| [[Shaders_and_filters|Filters]]
 
| {{Y}}
 
| {{Y}}
 
| {{Y}}
 
| {{Y}}
Line 72: Line 253:
 
| {{Unknown}}
 
| {{Unknown}}
 
| {{Y}}
 
| {{Y}}
 +
|-
 +
|[[Shaders_and_filters#AI-powered filters|AI-powered filter compatible]]<br/><small>([https://www.nvidia.com/en-us/geforce/news/gfecnt/nvidia-freestyle-ansel-enhancements-geforce-experience-article/ Freestyle])</small>
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 
|-
 
|-
 
| [[Shader_Presets|Shader Chain]]
 
| [[Shader_Presets|Shader Chain]]
Line 83: Line 275:
 
| {{N}}
 
| {{N}}
 
| {{Y}}
 
| {{Y}}
 +
|-
 +
|[[High_dynamic_range#Inverse_tone_mapping|Inverse tone mapping compatible]]
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 
|-
 
|-
 
| rowspan=5 | [https://tasvideos.org/Emulatorresources/Features TAS features]
 
| rowspan=5 | [https://tasvideos.org/Emulatorresources/Features TAS features]
Line 200: Line 403:
 
| {{Y}}
 
| {{Y}}
 
|-
 
|-
| rowspan=3 | Misc
+
| rowspan=4 | Misc
 
| [https://retroachievements.org/gameList.php?c=26 RetroAchievements]
 
| [https://retroachievements.org/gameList.php?c=26 RetroAchievements]
 
| {{N}}
 
| {{N}}
Line 214: Line 417:
 
| [[Virtual_reality#VR_game_room_simulations|EmuVR support]]
 
| [[Virtual_reality#VR_game_room_simulations|EmuVR support]]
 
| colspan=9 |  Exclusive to [https://www.emuvr.net/wiki/Installation_Guide#Downloads libretro cores] at the moment, this means that only DOSBox Pure supported.<br/>([https://youtu.be/snBg45ES-II?t=232 Demonstration])
 
| colspan=9 |  Exclusive to [https://www.emuvr.net/wiki/Installation_Guide#Downloads libretro cores] at the moment, this means that only DOSBox Pure supported.<br/>([https://youtu.be/snBg45ES-II?t=232 Demonstration])
 +
|-
 +
| AI Service<br/><small>With the help of <abbr title="optical character recognition">OCR</abbr> 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.</small>
 +
| colspan=11 | Exclusive to [https://docs.libretro.com/guides/ai-service/ libretro cores] at the moment.
 
|-
 
|-
 
| [[Wikipedia:Category:Debugging|Debug Features]]
 
| [[Wikipedia:Category:Debugging|Debug Features]]
Line 227: Line 433:
 
|}
 
|}
  
==Hardware support, features and peripherals==
+
==Operating systems==
 +
{{for|emulator software that can run on legacy operating systems|Emulators on Legacy systems}}
 +
:''See [[Windows_2000/XP/Vista_emulators|Windows XP/Vista]] and [[Windows_95/98/ME_emulators|Windows 9x]] pages for virtualization of these legacy operating systems.''
 +
{|class="wikitable" style="text-align:left; vertical-align:middle;"
 +
|- style="font-weight:bold;"
 +
! Name
 +
! 86Box
 +
! PCem
 +
! PCBox
 +
! DOSBox Pure
 +
! DOSBox-X
 +
! DOSBox Staging
 +
! MartyPC
 +
! UniPCemu
 +
! MAME
 +
|-
 +
! colspan=11 |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
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
|-
 +
! colspan=11 | DOS-based
 +
|-
 +
| MS-DOS
 +
| {{Y}}
 +
| {{Y}}
 +
| {{Y}}
 +
| {{Y}}
 +
| {{Y}}
 +
| {{Y}}
 +
| {{?}}
 +
| {{?}}
 +
| {{Y}}
 +
|-
 +
| Windows 1.0x
 +
| {{Y}}
 +
| {{Y}}
 +
| {{Y}}
 +
| {{Y}}
 +
| {{Y}}
 +
| {{Y}}
 +
| {{?}}
 +
| {{?}}
 +
| {{Y}}
 +
|-
 +
| Windows 2.0 / 2.1
 +
| {{Y}}
 +
| {{Y}}
 +
| {{Y}}
 +
| {{Y}}
 +
| {{Y}}
 +
| {{Y}}
 +
| {{?}}
 +
| {{?}}
 +
| {{Y}}
 +
|-
 +
| Windows 3.0 / 3.1
 +
| {{Y}}
 +
| {{Y}}
 +
| {{Y}}
 +
| {{Y}}
 +
| {{Y}}
 +
| {{Y}}
 +
| {{?}}
 +
| {{?}}
 +
| {{Y}}
 +
|-
 +
| [[Windows_95/98/ME_emulators|Windows 9x series]]
 +
| {{Y}}
 +
| {{Y}}
 +
| {{Y}}
 +
| {{Y}}
 +
| {{Y}}
 +
| {{Y}}
 +
| {{N}}
 +
| {{?}}
 +
| {{Y}}
 +
|-
 +
! colspan=11 |Windows NT
 +
|-
 +
| Windows NT 3.1
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
|-
 +
| Windows NT 3.5
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
|-
 +
| Windows NT 3.51
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
|-
 +
| Windows NT 4.0
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
|-
 +
| [[Windows_2000/XP/Vista_emulators|NT-based]]
 +
| {{Y}}<ref group=N name=86BoxandPCemNT>86Box, PCem and PCBox supports these OS'es but even these emulators have limited [[#x86 CPU's]], [[#Graphics_Cards_.26_GPU.27s]] and [[#Mainboards]] support for more demanding NT-based operating systems, performance will be unbearable anyway. Recommended to use hypervisor solution for these OS'es (See [[Windows_2000/XP/Vista_emulators|Windows XP/Vista]] and [[Windows_95/98/ME_emulators|Windows 9x]] pages).</ref>
 +
| {{~}}<ref group=N name=86BoxandPCemNT></ref>
 +
| {{~}}<ref group=N name=86BoxandPCemNT></ref>
 +
| {{N}}<ref group=N name=DOSBoxandForksNT>[https://github.com/joncampbell123/dosbox-x/issues/3538 NT-Based OSes unsupported by DOSBox forks at the moment]. It is likely possible to implement specific techniques to [[POS_(Pong_Consoles)_CPUs_and_Other_Chips#x86_CPUs|software emulators]] for achieving and improving Windows NT-based operating system emulation experience. See DOSBox-X: [https://github.com/joncampbell123/dosbox-x/issues/1089 KVM and Hyper-V] issue page. See also DOSBox-X: virtual GPU adapters such as [https://github.com/joncampbell123/dosbox-x/issues/3405 VMware SVGA/SVGA II, VBoxVGA] issue page. There are issue pages for adding softgpu driver compatibility with Windows XP, see: [https://github.com/JHRobotics/softgpu/issues/22][https://github.com/JHRobotics/softgpu/issues/12] issue pages. So in summary, [https://github.com/JHRobotics/softgpu/issues/12#issuecomment-2008143305 lots of elements already available] for this job.</ref>
 +
| {{N}}<ref group=N name=DOSBoxandForksNT></ref>
 +
| {{N}}<ref group=N name=DOSBoxandForksNT></ref>
 +
| {{N}}
 +
| {{N}}
 +
| {{N}}
 +
|-
 +
! colspan=11 |Other x86 Operating Systems
 +
|-
 +
| [[wikipedia:Coherent (operating system)|Coherent]]
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
|-
 +
| [[wikipedia:CP/M-86|CP/M-86]]
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
|-
 +
| [[wikipedia:Inferno (operating system)|Inferno]]
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
|-
 +
| [[wikipedia:GEOS (16-bit operating system)|PC/GEOS]]
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
|-
 +
| [[wikipedia:NetWare|NetWare]]
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
|-
 +
| [[wikipedia:Xenix|Xenix]]
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
|}
 +
 
 +
==Hardware & Peripheral 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.''
 
''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.''
  
Line 269: Line 753:
 
|-
 
|-
 
| Am486
 
| Am486
| {{Unknown}}
+
| {{Y}}
| {{Unknown}}
+
| {{Y}}
 
| {{Unknown}}
 
| {{Unknown}}
 
| {{Unknown}}
 
| {{Unknown}}
Line 335: Line 819:
 
|-
 
|-
 
| [[Wikipedia:Athlon#Athlon_Classic_(1999)|Athlon Classic]]
 
| [[Wikipedia:Athlon#Athlon_Classic_(1999)|Athlon Classic]]
| {{N}}<ref group=N3 name=PentiumIIIandAthlon>Pentium III emulation only available with [https://github.com/PCBox/PCBox/ 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; [https://86box.net/2022/03/21/why-not-p3.html 86Box - Why Not Pentium III?].</ref>
+
| {{N}}<ref group=N name=PentiumIIIandAthlon>Pentium III emulation only available with [https://github.com/PCBox/PCBox/ 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; [https://86box.net/2022/03/21/why-not-p3.html 86Box - Why Not Pentium III?].</ref>
| {{N}}<ref group=N3 name=PentiumIIIandAthlon></ref>
+
| {{N}}<ref group=N name=PentiumIIIandAthlon></ref>
 
| {{Unknown}}
 
| {{Unknown}}
| {{~}}<ref group=N3 name=DOSBoxForksCPU></ref>
+
| {{~}}<ref group=N name=DOSBoxForksCPU></ref>
| {{~}}<ref group=N3 name=DOSBoxForksCPU></ref>
+
| {{~}}<ref group=N name=DOSBoxForksCPU></ref>
| {{~}}<ref group=N3 name=DOSBoxForksCPU></ref>
+
| {{~}}<ref group=N name=DOSBoxForksCPU></ref>
 
| {{N}}
 
| {{N}}
 
| {{N}}
 
| {{N}}
 +
| {{Unknown}}
 +
|-
 +
! colspan=11 | Auctor
 +
|-
 +
| Maple
 +
| {{N}}
 +
| {{N}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
|-
 +
! colspan=11 | Advantech
 +
|-
 +
| EVA-X4150
 +
| {{N}}
 +
| {{N}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
|-
 +
| EVA-X4300
 +
| {{N}}
 +
| {{N}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 
| {{Unknown}}
 
| {{Unknown}}
 
|-
 
|-
Line 348: Line 869:
 
|-
 
|-
 
| Winchip C6
 
| Winchip C6
| {{Unknown}}
+
| {{N}}
 
| {{Y}}
 
| {{Y}}
 
| {{Unknown}}
 
| {{Unknown}}
Line 392: Line 913:
 
|-
 
|-
 
| Winchip 3
 
| Winchip 3
 +
| {{N}}
 +
| {{N}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
|-
 +
! colspan=11 |Chips and Technologies
 +
|-
 +
| Super386
 
| {{N}}
 
| {{N}}
 
| {{N}}
 
| {{N}}
Line 406: Line 940:
 
| [[Wikipedia:Cyrix Cx486SLC|Cx486SLC]]
 
| [[Wikipedia:Cyrix Cx486SLC|Cx486SLC]]
 
| {{Y}}
 
| {{Y}}
| {{Unknown}}
+
| {{N}}
 
| {{Unknown}}
 
| {{Unknown}}
 
| {{Unknown}}
 
| {{Unknown}}
Line 417: Line 951:
 
| [[Wikipedia:Cyrix_Cx486SLC#Cx486SRx2|Cx486SRx2]]
 
| [[Wikipedia:Cyrix_Cx486SLC#Cx486SRx2|Cx486SRx2]]
 
| {{Y}}
 
| {{Y}}
| {{Unknown}}
+
| {{N}}
 
| {{Unknown}}
 
| {{Unknown}}
 
| {{Unknown}}
 
| {{Unknown}}
Line 428: Line 962:
 
| [[Wikipedia:Cyrix Cx486DLC|Cx486DLC]]
 
| [[Wikipedia:Cyrix Cx486DLC|Cx486DLC]]
 
| {{Y}}
 
| {{Y}}
| {{Unknown}}
+
| {{N}}
 
| {{Unknown}}
 
| {{Unknown}}
 
| {{Unknown}}
 
| {{Unknown}}
Line 439: Line 973:
 
| [[Wikipedia:Cyrix_Cx486DLC#Cx486DRx2|Cx486DRx2]]
 
| [[Wikipedia:Cyrix_Cx486DLC#Cx486DRx2|Cx486DRx2]]
 
| {{Y}}
 
| {{Y}}
| {{Unknown}}
+
| {{N}}
 
| {{Unknown}}
 
| {{Unknown}}
 
| {{Unknown}}
 
| {{Unknown}}
Line 450: Line 984:
 
| [[Wikipedia:Cyrix Cx486|Cx486]]
 
| [[Wikipedia:Cyrix Cx486|Cx486]]
 
| {{Y}}
 
| {{Y}}
| {{Unknown}}
+
| {{Y}}
 
| {{Unknown}}
 
| {{Unknown}}
 
| {{Unknown}}
 
| {{Unknown}}
Line 503: Line 1,037:
 
| {{N}}
 
| {{N}}
 
|-
 
|-
! colspan=11 | Intel
+
! colspan=11 | DM&P Electronics
 +
|-
 +
|M6117D
 +
| {{N}}
 +
| {{N}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
|-
 +
|Vortex86
 +
| {{N}}
 +
| {{N}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
|-
 +
! colspan=11 | Intel  
 
|-
 
|-
 
| [[Wikipedia:8086|8086]]
 
| [[Wikipedia:8086|8086]]
Line 509: Line 1,067:
 
| {{Y}}
 
| {{Y}}
 
| {{Unknown}}
 
| {{Unknown}}
| {{~}}<ref group=N3 name=DOSBoxForksCPU><br/>Unlike emulators like 86Box or PCem which aim for accurate execution, DOSBox forks prioritize performance by [https://github.com/joncampbell123/dosbox-x/wiki/Guide:CPU-settings-in-DOSBox%E2%80%90X/d4205d856c3da5787fc39f845452d184fbcb8ec4#is-dosbox-x-cycle-accurate 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 perfect accuracy, it leads to significantly faster emulation and still has broader software compatibility compared to other emulators like QEMU or Bochs. However, some niche software may still encounter compatibility limitations. Therefore, DOSBox forks remain a powerful option for casual users and performance-intensive tasks, offering a balance between compatibility and speed. See DOSBox Pure: [https://github.com/schellingb/dosbox-pure/issues/301 MMX Instruction Set Support] issue page and [[POS_(Pong_Consoles)_CPUs_and_Other_Chips#Descriptions]] section for more information.</ref>
+
| {{~}}<ref group=N name=DOSBoxForksCPU><br/>Unlike emulators like 86Box or PCem which aim for accurate execution, DOSBox forks prioritize performance by [https://github.com/joncampbell123/dosbox-x/wiki/Guide:CPU-settings-in-DOSBox%E2%80%90X/d4205d856c3da5787fc39f845452d184fbcb8ec4#is-dosbox-x-cycle-accurate 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 perfect accuracy, it leads to significantly faster emulation and still has broader software compatibility compared to other emulators like QEMU or Bochs. However, some niche software may still encounter compatibility limitations. Therefore, DOSBox forks remain a powerful option for casual users and performance-intensive tasks, offering a balance between compatibility and speed. See DOSBox Pure: [https://github.com/schellingb/dosbox-pure/issues/301 MMX Instruction Set Support] issue page and [[POS_(Pong_Consoles)_CPUs_and_Other_Chips#Descriptions]] section for more information.</ref>
| {{~}}<ref group=N3 name=DOSBoxForksCPU></ref>
+
| {{~}}<ref group=N name=DOSBoxForksCPU></ref>
| {{~}}<ref group=N3 name=DOSBoxForksCPU></ref>
+
| {{~}}<ref group=N name=DOSBoxForksCPU></ref>
 
| {{Y}}
 
| {{Y}}
 
| {{Y}}
 
| {{Y}}
| {{Y}}[https://github.com/mamedev/mame/blob/master/src/devices/cpu/i86/i86.cpp *]
+
| {{Y}}<ref>https://github.com/mamedev/mame/blob/master/src/devices/cpu/i86/i86.cpp</ref>
 
|-
 
|-
 
| [[Wikipedia:Intel_80286|80286]]
 
| [[Wikipedia:Intel_80286|80286]]
Line 520: Line 1,078:
 
| {{Y}}
 
| {{Y}}
 
| {{Unknown}}
 
| {{Unknown}}
| {{~}}<ref group=N3 name=DOSBoxForksCPU></ref>
+
| {{~}}<ref group=N name=DOSBoxForksCPU></ref>
| {{~}}<ref group=N3 name=DOSBoxForksCPU></ref>
+
| {{~}}<ref group=N name=DOSBoxForksCPU></ref>
| {{~}}<ref group=N3 name=DOSBoxForksCPU></ref>
+
| {{~}}<ref group=N name=DOSBoxForksCPU></ref>
| {{N}}<ref group=N3 name=MartyPCCPU>Future goal, for more information see [[#Comparisons|comparisons]] section.</ref>
+
| {{N}}<ref group=N name=MartyPCCPU>Future goal, for more information see [[#Comparisons|comparisons]] section.</ref>
 
| {{Y}}
 
| {{Y}}
| {{Y}}[https://github.com/mamedev/mame/blob/master/src/devices/cpu/i86/i286.cpp *]
+
| {{Y}}<ref>https://github.com/mamedev/mame/blob/master/src/devices/cpu/i86/i286.cpp</ref>
 
|-
 
|-
 
| [[Wikipedia:I386|386]]
 
| [[Wikipedia:I386|386]]
Line 531: Line 1,089:
 
| {{Y}}
 
| {{Y}}
 
| {{Unknown}}
 
| {{Unknown}}
| {{~}}<ref group=N3 name=DOSBoxForksCPU></ref>
+
| {{~}}<ref group=N name=DOSBoxForksCPU></ref>
| {{~}}<ref group=N3 name=DOSBoxForksCPU></ref>
+
| {{~}}<ref group=N name=DOSBoxForksCPU></ref>
| {{~}}<ref group=N3 name=DOSBoxForksCPU></ref>
+
| {{~}}<ref group=N name=DOSBoxForksCPU></ref>
| {{N}}<ref group=N3 name=MartyPCCPU></ref>
+
| {{N}}<ref group=N name=MartyPCCPU></ref>
 
| {{Y}}
 
| {{Y}}
| {{Y}}[https://github.com/mamedev/mame/blob/master/src/devices/cpu/i386/i386.cpp *]
+
| {{Y}}<ref>https://github.com/mamedev/mame/blob/master/src/devices/cpu/i386/i386.cpp</ref>
 
|-
 
|-
 
| [[Wikipedia:RapidCAD|RapidCAD]]
 
| [[Wikipedia:RapidCAD|RapidCAD]]
Line 542: Line 1,100:
 
| {{Y}}
 
| {{Y}}
 
| {{Unknown}}
 
| {{Unknown}}
| {{~}}<ref group=N3 name=DOSBoxForksCPU></ref>
+
| {{~}}<ref group=N name=DOSBoxForksCPU></ref>
| {{~}}<ref group=N3 name=DOSBoxForksCPU></ref>
+
| {{~}}<ref group=N name=DOSBoxForksCPU></ref>
| {{~}}<ref group=N3 name=DOSBoxForksCPU></ref>
+
| {{~}}<ref group=N name=DOSBoxForksCPU></ref>
| {{N}}<ref group=N3 name=MartyPCCPU></ref>
+
| {{N}}<ref group=N name=MartyPCCPU></ref>
 
| {{Y}}
 
| {{Y}}
| {{Y}}[https://github.com/mamedev/mame/blob/master/src/devices/cpu/i386/i386.cpp *]
+
| {{Y}}<ref>https://github.com/mamedev/mame/blob/master/src/devices/cpu/i386/i386.cpp</ref>
 
|-
 
|-
 
| [[Wikipedia:Pentium_(original)|Pentium<br/>Pentium MMX]]
 
| [[Wikipedia:Pentium_(original)|Pentium<br/>Pentium MMX]]
 
| {{Y}}
 
| {{Y}}
 
| {{Y}}
 
| {{Y}}
| {{Unknown}}
+
| {{Y}}
| {{~}}<ref group=N3 name=DOSBoxForksCPU></ref>
+
| {{~}}<ref group=N name=DOSBoxForksCPU></ref>
| {{~}}<ref group=N3 name=DOSBoxForksCPU></ref>
+
| {{~}}<ref group=N name=DOSBoxForksCPU></ref>
| {{~}}<ref group=N3 name=DOSBoxForksCPU></ref>
+
| {{~}}<ref group=N name=DOSBoxForksCPU></ref>
 
| {{N}}
 
| {{N}}
 
| {{Y}}
 
| {{Y}}
| {{~}}<ref group=N3 name=MAMEPentium>Only the 286/386/486 emulation is acceptable at the moment. See [[#Comparisons|comparisons]] section. [https://github.com/mamedev/mame/blob/master/src/devices/cpu/i386/i386.cpp (i386.cpp)]</ref>
+
| {{~}}<ref group=N name=MAMEPentium>Only the 286/386/486 emulation is acceptable at the moment. See [[#Comparisons|comparisons]] section. [https://github.com/mamedev/mame/blob/master/src/devices/cpu/i386/i386.cpp (i386.cpp)]</ref>
 
|-
 
|-
 
| [[Wikipedia:Pentium_Pro|Pentium Pro]]
 
| [[Wikipedia:Pentium_Pro|Pentium Pro]]
 
| {{Y}}
 
| {{Y}}
 
| {{Y}}
 
| {{Y}}
| {{Unknown}}
+
| {{Y}}
| {{N}}[https://github.com/schellingb/dosbox-pure/issues/300 *]
+
| {{N}}<ref>https://github.com/schellingb/dosbox-pure/issues/300</ref>
 
| {{N}}
 
| {{N}}
 
| {{N}}
 
| {{N}}
 
| {{N}}
 
| {{N}}
 
| {{Y}}
 
| {{Y}}
| {{~}}<ref group=N3 name=MAMEPentium></ref>
+
| {{~}}<ref group=N name=MAMEPentium></ref>
 
|-
 
|-
 
| [[Wikipedia:Pentium_II|Pentium II]]
 
| [[Wikipedia:Pentium_II|Pentium II]]
 
| {{Y}}
 
| {{Y}}
 
| {{Y}}
 
| {{Y}}
| {{Unknown}}
+
| {{Y}}
| {{~}}<ref group=N3 name=DOSBoxForksCPU></ref>
+
| {{~}}<ref group=N name=DOSBoxForksCPU></ref>
| {{~}}<ref group=N3 name=DOSBoxForksCPU></ref>
+
| {{~}}<ref group=N name=DOSBoxForksCPU></ref>
| {{~}}<ref group=N3 name=DOSBoxForksCPU></ref>
+
| {{~}}<ref group=N name=DOSBoxForksCPU></ref>
 
| {{N}}
 
| {{N}}
 
| {{Y}}
 
| {{Y}}
| {{~}}<ref group=N3 name=MAMEPentium></ref>
+
| {{~}}<ref group=N name=MAMEPentium></ref>
 
|-
 
|-
 
| [[Wikipedia:Celeron#P6-based_Celerons|Celeron (P6)]]
 
| [[Wikipedia:Celeron#P6-based_Celerons|Celeron (P6)]]
 
| {{Y}}
 
| {{Y}}
 
| {{Y}}
 
| {{Y}}
| {{Unknown}}
+
| {{Y}}
 
| {{N}}
 
| {{N}}
 
| {{N}}
 
| {{N}}
Line 594: Line 1,152:
 
|-
 
|-
 
| [[Wikipedia:Pentium_III|Pentium III]]
 
| [[Wikipedia:Pentium_III|Pentium III]]
| {{N}}<ref group=N3 name=PentiumIIIandAthlon></ref>
+
| {{N}}<ref group=N name=PentiumIIIandAthlon></ref>
| {{N}}<ref group=N3 name=PentiumIIIandAthlon></ref>
+
| {{N}}<ref group=N name=PentiumIIIandAthlon></ref>
| {{Unknown}}
+
| {{Y}}
| {{~}}<ref group=N3 name=DOSBoxForksCPU></ref>
+
| {{~}}<ref group=N name=DOSBoxForksCPU></ref>
| {{~}}<ref group=N3 name=DOSBoxForksCPU></ref>
+
| {{~}}<ref group=N name=DOSBoxForksCPU></ref>
 
| {{N}}
 
| {{N}}
 
| {{N}}
 
| {{N}}
 
| {{N}}
 
| {{N}}
| {{~}}<ref group=N3 name=MAMEPentium></ref>
+
| {{~}}<ref group=N name=MAMEPentium></ref>
 +
|-
 +
! colspan=11 | Kombinat Mikroelektronik Erfurt
 +
|-
 +
| [[Wikipedia:U80601|U80601]]
 +
| {{N}}
 +
| {{N}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 
|-
 
|-
 
! colspan=11 | NEC
 
! colspan=11 | NEC
Line 650: Line 1,221:
 
| {{Unknown}}
 
| {{Unknown}}
 
|-
 
|-
! colspan=11 | Transmeta
+
! colspan=11 | NexGen
 
|-
 
|-
| [[Wikipedia:Transmeta Crusoe|Crusoe]]
+
| [https://cpumuseum.jimdofree.com/museum/nexgen/nx586/ Nx586]
 
| {{N}}
 
| {{N}}
 
| {{N}}
 
| {{N}}
Line 663: Line 1,234:
 
| {{Unknown}}
 
| {{Unknown}}
 
|-
 
|-
| [[Wikipedia:Transmeta Efficeon|Efficeon]]
+
! colspan=11 | Rise Technology
 +
|-
 +
| [[Wikipedia:mP6|mP6]]
 
| {{N}}
 
| {{N}}
 
| {{N}}
 
| {{N}}
Line 674: Line 1,247:
 
| {{Unknown}}
 
| {{Unknown}}
 
|-
 
|-
! colspan=11 | VIA Technologies
+
! colspan=11 | Transmeta
 
|-
 
|-
| [[Wikipedia:VIA C3|VIA C3]]
+
| [[Wikipedia:Transmeta Crusoe|Crusoe]]
 
| {{N}}
 
| {{N}}
 
| {{N}}
 
| {{N}}
Line 687: Line 1,260:
 
| {{Unknown}}
 
| {{Unknown}}
 
|-
 
|-
| [[Wikipedia:VIA C7|VIA C7]]
+
| [[Wikipedia:Transmeta Efficeon|Efficeon]]
 
| {{N}}
 
| {{N}}
 
| {{N}}
 
| {{N}}
Line 698: Line 1,271:
 
| {{Unknown}}
 
| {{Unknown}}
 
|-
 
|-
| [[Wikipedia:VIA CoreFusion|VIA CoreFusion]]
+
! colspan=11 | UMC
 +
|-
 +
| [[Wikipedia:UMC Green CPU|Green CPU]]
 
| {{N}}
 
| {{N}}
 
| {{N}}
 
| {{N}}
Line 709: Line 1,284:
 
| {{Unknown}}
 
| {{Unknown}}
 
|-
 
|-
| [[Wikipedia:VIA Eden|VIA Eden]]
+
! colspan=11 | Unknown
 +
|-
 +
| [[Wikipedia:K1810VM86|K1810VM86]]
 
| {{N}}
 
| {{N}}
 
| {{N}}
 
| {{N}}
Line 719: Line 1,296:
 
| {{Unknown}}
 
| {{Unknown}}
 
| {{Unknown}}
 
| {{Unknown}}
|}
 
 
 
====Miscellaneous x86 CPU's====
 
{|class="wikitable" style="text-align:left; vertical-align:middle;"
 
|- style="font-weight:bold;"
 
! Name
 
! Manufacturer
 
! 86Box
 
! PCem
 
! PCBox
 
! DOSBox Pure
 
! DOSBox-X
 
! DOSBox Staging
 
! MartyPC
 
! UniPCemu
 
! MAME
 
 
|-
 
|-
! colspan=12 |
+
! colspan=11 | VIA Technologies
 
|-
 
|-
| [[Wikipedia:UMC Green CPU|Green CPU]]
+
| [[Wikipedia:VIA C3|VIA C3]]
| UMC
 
 
| {{N}}
 
| {{N}}
 
| {{N}}
 
| {{N}}
Line 751: Line 1,310:
 
| {{Unknown}}
 
| {{Unknown}}
 
|-
 
|-
| [[Wikipedia:K1810VM86|K1810VM86]]
+
| [[Wikipedia:VIA C7|VIA C7]]
| {{Unknown}}
 
 
| {{N}}
 
| {{N}}
 
| {{N}}
 
| {{N}}
Line 763: Line 1,321:
 
| {{Unknown}}
 
| {{Unknown}}
 
|-
 
|-
| [[Wikipedia:mP6|mP6]]
+
| [[Wikipedia:VIA CoreFusion|VIA CoreFusion]]
| Rise Technology
 
 
| {{N}}
 
| {{N}}
 
| {{N}}
 
| {{N}}
Line 775: Line 1,332:
 
| {{Unknown}}
 
| {{Unknown}}
 
|-
 
|-
| Nx586
+
| [[Wikipedia:VIA Eden|VIA Eden]]
| NexGen
 
 
| {{N}}
 
| {{N}}
 
| {{N}}
 
| {{N}}
Line 786: Line 1,342:
 
| {{Unknown}}
 
| {{Unknown}}
 
| {{Unknown}}
 
| {{Unknown}}
 +
 
|-
 
|-
| Super386
+
! colspan=11 | ZF Micro
| [[Wikipedia:Chips and Technologies|C&T]]
+
|-
 +
| ZFx86
 
| {{N}}
 
| {{N}}
 
| {{N}}
 
| {{N}}
Line 801: Line 1,359:
  
 
===Graphics Cards & GPU's===
 
===Graphics Cards & GPU's===
{|class="wikitable" style="text-align:center; vertical-align:middle;"
+
{|class="wikitable" style="text-align:left; vertical-align:middle;"
 
|- style="font-weight:bold;"
 
|- style="font-weight:bold;"
 
! Name
 
! Name
Line 814: Line 1,372:
 
! MAME
 
! MAME
 
|-
 
|-
! colspan=11 |  
+
! colspan=11 | 3Dfx
 
|-
 
|-
| [[Wikipedia:PC-FX#PC-FX_GA|PC-FX GA]]<br/><small>Unlike [[NEC_PC-9800_series#Hardware_features_and_peripherals|PC-9800 variant]], DOS/V variant uses a single ISA card and integrate an additional 3D chipset (Kubota/Hudson HuC6273) over the regular [[PC-FX]].
+
| Voodoo
 +
| {{Y}}
 +
| {{Y}}
 
| {{Unknown}}
 
| {{Unknown}}
 +
| {{Y}}
 +
| {{Y}}
 +
| {{Y}}<ref>https://github.com/dosbox-staging/dosbox-staging/issues/339</ref>
 +
| {{N}}
 +
| {{N}}
 
| {{Unknown}}
 
| {{Unknown}}
 +
|-
 +
| Voodoo 2
 +
| {{Y}}
 +
| {{Y}}
 
| {{Unknown}}
 
| {{Unknown}}
 +
| {{N}}
 +
| {{N}}
 +
| {{N}}<ref>https://github.com/dosbox-staging/dosbox-staging/issues/3115</ref>
 +
| {{N}}
 +
| {{N}}
 
| {{Unknown}}
 
| {{Unknown}}
 +
|-
 +
| Voodoo 3
 +
| {{Y}}
 +
| {{Y}}
 
| {{Unknown}}
 
| {{Unknown}}
 +
| {{N}}
 +
| {{N}}
 +
| {{N}}
 +
| {{N}}
 +
| {{N}}
 
| {{Unknown}}
 
| {{Unknown}}
 +
|-
 +
| Voodoo 4
 +
| {{N}}<ref name=86boxVoodoo45>https://github.com/86Box/86Box/discussions/2909</ref>
 +
| {{N}}
 +
| {{N}}
 +
| {{N}}<ref>https://github.com/joncampbell123/dosbox-x/issues/3959#issuecomment-1400282345</ref>
 +
| {{N}}
 +
| {{N}}<ref>https://github.com/dosbox-staging/dosbox-staging/issues/3115</ref>
 +
| {{N}}
 +
| {{N}}
 +
| {{N}}
 +
|-
 +
| Voodoo 5
 +
| {{N}}<ref name=86boxVoodoo45></ref>
 +
| {{N}}<ref>https://pcem-emulator.co.uk/phpBB3/viewtopic.php?t=3496</ref>
 +
| {{N}}
 +
| {{N}}
 +
| {{N}}
 +
| {{N}}
 +
| {{N}}
 
| {{N}}
 
| {{N}}
 
| {{N}}
 
| {{N}}
| {{Unknown}}
 
 
|-
 
|-
Impression emulation is crucial for RenderWare 3D accelerated games[https://www.vogons.org/viewtopic.php?p=279817] compatibility and [[Preservation projects|preservation]].</small>
+
| Voodoo Banshee
 +
| {{Y}}
 +
| {{Y}}
 
| {{Unknown}}
 
| {{Unknown}}
 +
| {{N}}
 +
| {{N}}
 +
| {{N}}
 +
| {{N}}
 +
| {{N}}
 
| {{Unknown}}
 
| {{Unknown}}
 +
|-
 +
! colspan=11 | Diamond Multimedia
 +
|-
 +
| Diamond Edge 3D / <br>nVidia NV1
 +
| {{N}}<ref>https://github.com/86Box/86Box/issues/2431</ref>
 +
| {{N}}<ref>https://github.com/sarah-walker-pcem/pcem/issues/205</ref>
 
| {{Unknown}}
 
| {{Unknown}}
 
| {{N}}
 
| {{N}}
Line 838: Line 1,453:
 
| {{N}}
 
| {{N}}
 
|-
 
|-
| Matrox Impression Plus<br/><small>Impression emulation is crucial for RenderWare 3D accelerated games[https://www.vogons.org/viewtopic.php?p=279817] compatibility and [[Preservation projects|preservation]].</small>
+
! colspan=11 | Hercules Computer Technology
 +
|-
 +
| Hercules Text Card
 +
| {{N}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
|-
 +
| Hercules Graphics <br> Card (HGC)
 +
| {{Y}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
|-
 +
| Hercules Graphics <br> Card Plus
 +
| {{Y}}
 
| {{Unknown}}
 
| {{Unknown}}
 
| {{Unknown}}
 
| {{Unknown}}
 
| {{Unknown}}
 
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
|-
 +
| Network Card Plus
 
| {{N}}
 
| {{N}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
|-
 +
| Color Card
 
| {{N}}
 
| {{N}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
|-
 +
| InColor Card
 +
| {{Y}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
|-
 +
! colspan=11 | IBM
 +
|-
 +
| Monochrome Display <br> Adapter (MDA)
 +
| {{Y}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
|-
 +
| Color Graphics <br> Adapter (CGA)
 +
| {{Y}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
|-
 +
| Enhanced Graphics <br> Adapter (EGA)
 +
| {{Y}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
|-
 +
| Professional Graphics <br> Controller (PGC)
 +
| {{Y}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
|-
 +
! colspan=11 | Intel Corporation
 +
|-
 +
| i750
 
| {{N}}
 
| {{N}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
|-
 +
| i740
 
| {{N}}
 
| {{N}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
|-
 +
| 810
 
| {{N}}
 
| {{N}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
|-
 +
! colspan=11 | Matrox Graphics
 +
|-
 +
| Impression Plus
 
| {{N}}
 
| {{N}}
|-
 
| Matrox Millennium and Millennium II<br/><small>Millennium emulation is crucial for supported 3D accelerated games[https://www.vogons.org/viewtopic.php?p=279817] with enhanced visuals and [[Preservation projects|preservation]].</small>
 
| {{Y}}[https://86box.net/2024/02/21/86box-v4-1.html *]
 
 
| {{Unknown}}
 
| {{Unknown}}
 
| {{Unknown}}
 
| {{Unknown}}
Line 860: Line 1,615:
 
| {{N}}
 
| {{N}}
 
|-
 
|-
| Matrox Mystique<br/><small>Mystique emulation is crucial for supported MSI API 3D accelerated games[https://www.vogons.org/viewtopic.php?p=279817] compatibility and [[Preservation projects|preservation]].</small>
+
| Millennium
| {{Y}}[https://86box.net/2024/02/21/86box-v4-1.html *]
+
| {{Y}}
 
| {{Unknown}}
 
| {{Unknown}}
 
| {{Unknown}}
 
| {{Unknown}}
Line 871: Line 1,626:
 
| {{N}}
 
| {{N}}
 
|-
 
|-
| 3Dfx Voodoo<br/><small>Voodoo emulation is crucial for [https://www.vogons.org/viewtopic.php?t=534 Windows Glide] and [https://www.vogons.org/viewtopic.php?t=886 DOS Glide] games compatibility and [[Preservation projects|preservation]].</small>
+
| Millennium II
| {{Y}}
 
 
| {{Y}}
 
| {{Y}}
 
| {{Unknown}}
 
| {{Unknown}}
| {{Y}}
+
| {{Unknown}}
| {{Y}}
+
| {{N}}
| {{Y}}[https://github.com/dosbox-staging/dosbox-staging/issues/339 *]
+
| {{N}}
 +
| {{N}}
 +
| {{N}}
 
| {{N}}
 
| {{N}}
 
| {{N}}
 
| {{N}}
| {{Unknown}}
 
 
|-
 
|-
| 3Dfx Voodoo 2/3/Banshee
+
| Mystique
| {{Y}}
 
 
| {{Y}}
 
| {{Y}}
 
| {{Unknown}}
 
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{N}}
 +
| {{N}}
 +
| {{N}}
 
| {{N}}
 
| {{N}}
 
| {{N}}
 
| {{N}}
| {{N}}[https://github.com/dosbox-staging/dosbox-staging/issues/3115 *]
 
 
| {{N}}
 
| {{N}}
 +
|-
 +
! colspan=11 | NEC
 +
|-
 +
| PC-FX GA
 
| {{N}}
 
| {{N}}
 
| {{Unknown}}
 
| {{Unknown}}
|-
 
| 3Dfx Voodoo 4/5<br/><small>It's quite possible to run early [[Windows_2000/XP/Vista_emulators|XP]] 3D games thanks to it's performance and also compatibility with D3D7[https://www.pcgamingwiki.com/wiki/List_of_Direct3D_2-7_games][https://en.wikipedia.org/wiki/Direct3D#Direct3D_7.0] (pushing T&L to CPU via driver).[https://www.vogons.org/viewtopic.php?t=61580][https://youtu.be/uu8uE2KRDGM]</small>
 
| {{N}}[https://github.com/86Box/86Box/discussions/2909 *]
 
| {{N}}[https://pcem-emulator.co.uk/phpBB3/viewtopic.php?t=3496 *]
 
 
| {{Unknown}}
 
| {{Unknown}}
| {{N}}[https://github.com/joncampbell123/dosbox-x/issues/3959#issuecomment-1400282345 *]
+
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 
| {{N}}
 
| {{N}}
| {{N}}[https://github.com/dosbox-staging/dosbox-staging/issues/3115 *]
+
| {{Unknown}}
 +
| {{Unknown}}
 +
|-
 +
| μPD7220
 
| {{N}}
 
| {{N}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
|-
 +
! colspan=11 | Orchid Technology
 +
|-
 +
| Orchid Graphics <br> Adapter
 
| {{N}}
 
| {{N}}
 
| {{Unknown}}
 
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
|-
 +
! colspan=11 | Plantronics
 
|-
 
|-
| Diamond Edge 3D/nVidia NV1<br/><small>NV1 emulation is crucial for NV1 3D accelerated games[https://www.vogons.org/viewtopic.php?p=279817][https://www.vogons.org/viewtopic.php?f=46&t=30017] compatibility and [[Preservation projects|preservation]].</small>
+
| Colorplus
| {{N}}[https://github.com/86Box/86Box/issues/2431 *]
+
| {{Y}}
| {{N}}[https://github.com/sarah-walker-pcem/pcem/issues/205 *]
+
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 
| {{Unknown}}
 
| {{Unknown}}
 +
|-
 +
! colspan=11 | Quadram Corporation
 +
|-
 +
| Quadcolor I
 
| {{N}}
 
| {{N}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
|-
 +
| Quadcolor II
 
| {{N}}
 
| {{N}}
| {{N}}
+
| {{Unknown}}
| {{N}}
+
| {{Unknown}}
| {{N}}
+
| {{Unknown}}
| {{N}}
+
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
| {{Unknown}}
 +
|}
 +
 
 +
====Notes====
 +
{| class="mw-collapsible mw-collapsed wikitable" style="text-align:left;"
 +
! scope="col"|
 +
|-
 +
! colspan=1 |PC-FX GA
 +
|-
 +
|Unlike [[NEC_PC-9800_series#Hardware_features_and_peripherals|PC-9800 variant]], this DOS/V variant[https://youtu.be/JM04vH2et5A] uses a single ISA card and both variants integrate an additional 3D chipset <br> (Kubota/Hudson HuC6273) over the regular [[PC-FX]]
 +
|-
 +
! colspan=1 |Matrox Impression Plus
 +
|-
 +
|Impression emulation is crucial for RenderWare 3D accelerated games <ref>https://www.vogons.org/viewtopic.php?p=279817</ref> compatibility and [[Preservation projects|preservation]].
 +
|-
 +
! colspan=1 |Matrox Mystique, Millennium and Millennium II <ref>https://86box.net/2024/02/21/86box-v4-1.html</ref>
 +
|-
 +
|The emulation of these three cards is crucial for supported 3D accelerated games enhanced visuals and [[Preservation projects|preservation]]
 +
|-
 +
! colspan=1 |3Dfx Voodoo
 +
|-
 +
|Voodoo emulation is crucial for Windows Glide<ref>https://www.vogons.org/viewtopic.php?t=534</ref> and DOS Glide<ref>https://www.vogons.org/viewtopic.php?t=886</ref> games compatibility and [[Preservation projects|preservation]].
 +
|-
 +
! colspan=1 |3Dfx Voodoo 4/5
 +
|-
 +
|It's quite possible to run early [[Windows_2000/XP/Vista_emulators|XP]] 3D games thanks to it's performance and also compatibility with D3D7<ref>https://www.pcgamingwiki.com/wiki/List_of_Direct3D_2-7_games</ref><ref>https://en.wikipedia.org/wiki/Direct3D#Direct3D_7.0</ref> (pushing T&L to CPU via driver).<ref>https://www.vogons.org/viewtopic.php?t=61580</ref><ref>https://youtu.be/uu8uE2KRDGM</ref>
 +
|-
 +
! colspan=1 |Diamond Edge 3D
 +
|-
 +
|NV1 emulation is crucial for NV1 3D accelerated games<ref>https://www.vogons.org/viewtopic.php?f=46&t=30017</ref> compatibility and [[Preservation projects|preservation]].
 
|}
 
|}
  
Line 945: Line 1,781:
  
 
===Network Cards===
 
===Network Cards===
 +
;Using [[Preservation_projects#Proxy_Projects_for_Retro_Web_Browsing|proxy projects for retro web browsing]] experience is recommended.
 +
 
{|class="wikitable" style="text-align:center; vertical-align:middle;"
 
{|class="wikitable" style="text-align:center; vertical-align:middle;"
 
|- style="font-weight:bold;"
 
|- style="font-weight:bold;"
Line 1,084: Line 1,922:
 
| {{Unknown}}
 
| {{Unknown}}
 
|}
 
|}
 +
 +
===Floppy & CD-ROM drives===
 +
* See [https://86box.readthedocs.io/en/latest/settings/floppycdrom.html this documentation] for 86Box. There is no optical drive passthrough support for 86Box at the moment[https://github.com/86Box/86Box/issues/730], so your only choice is using disc images.
 +
* See [[Copy protection#Emulation]] section for middleware or disc-check emulation software tools.
  
 
==References==
 
==References==
<references group=N3/>
+
<references group="N"/>
 +
===Reference Links===
 +
{{reflist}}
 
----
 
----
 
{{NEL}}
 
{{NEL}}

Latest revision as of 09:41, 4 June 2024

Main article: POS_(Pong_Consoles)_CPUs_and_Other_Chips#x86_CPUs

The PC architecture originates from the 1981 IBM PC 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.[3]

While the PC is technically capable of running many different operating systems, most of the emulators on this page are intended for running DOS software or some kind of DOS-based Windows (versions preceding Windows 2000 and XP), if you wish to run software intended for a NT-based version of Windows it is suggested to use a compatibility layer or hypervisor instead, see also Windows 95/98/ME emulators and Windows 2000/XP/Vista emulators pages.

Most emulators on this page requires an operating system to run, exceptions to this are DosBox 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 you still need a Windows install.

Keep in mind that due to DOS and Windows software having to be designed to support a range of different hardware accuracy is far less crucial than for most systems covered by this wiki.


Emulators[edit]

Main article: POS_(Pong_Consoles)_CPUs_and_Other_Chips#x86_CPUs

For software that can run hardware features designed for PC-9800 system, see NEC PC-9800 series#Hardware features and peripherals.
Name Platform(s) Latest version Enhancements Hardware support, features
and peripherals
FLOSS Active Recommended
PC / x86
86Box Windows Linux macOS Dev
4.1.1
PCBox fork
~
PCem Windows Linux macOS v17
git
git (macos)
~
DOSBox
and forks
Windows Linux macOS FreeBSD 2024.03.01 (DOSBox-X)
0.80.1 (DOSBox Staging)
0.9.9 (DOSBox Pure)
git (DOSBox-core)
0.74-3 (DOSBox)
~ ~ ~[N 1]
DREAMM Windows Linux macOS 2.1.2 ~* ~* ~*
MartyPC Windows
Linux macOS *
v0.2.0 ? ~ ~
UniPCemu Windows 2023/04/11 ? ~ ~
VARCem Windows Linux macOS Builds ? ~* ~ ~
MAME Windows Linux macOS FreeBSD git artifacts[N 2]
0.266
libretro core
~ ~ ~
PCjs Web git ~*
QEMU Windows Linux macOS 9.0.0
Bochs Windows Linux FreeBSD BeOS OS/2 AmigaOS 2.8
Mobile / ARM
DOSBox Pure Android iOS libretro core ~ ~
UniPCemu Android 2023/04/11 ? ~ ~
Magic DOSBox Android 1.0.84 ? ~*
Limbo Android Windows Mobile 6.0.1
WinMobile build
~
DOSBoxPPC Windows Mobile 0.63 ? ~*
Bochs Android 2.6.11
git
Consoles
DOSBox Pure Xbox One Xbox Series X/S UWP libretro core ~ ~
UniPCemu PSP Switch Vita 2023/04/11 ? ~ ~
Bochs PlayStation 2 2.3.5

Descriptions[edit]

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,Win7 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 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. As a Quality of Life feature, 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.[1] 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.[2]
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[edit]

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

Name 86Box PCem PCBox 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
Overclocking DRAM timings or CPU core frequency and CPU ring ratio using emulated BIOS just like using the real hardware.
? ?
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 ?
Inverse tone mapping compatible ? ? ? ? ? ? ? ? ?
TAS features Macros/Scripts/Lua ? ? ? ? ? ? ? ? ?
Rewind ?
Fast-Forward/Turbo Speed ?
Savestates ?
Movie recording/playback ?
Controls Input lag-mitigating technique ?
Quality of life 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 ? ? ?
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 ?
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 ? ? ? ? ? ? ? ? ?

Operating systems[edit]

For emulator software that can run on legacy operating systems, see Emulators on Legacy systems.
See Windows XP/Vista and Windows 9x pages for virtualization of these legacy operating systems.
Name 86Box PCem PCBox 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 / 3.1 ? ?
Windows 9x series ?
Windows NT
Windows NT 3.1 ? ? ? ? ? ? ? ? ?
Windows NT 3.5 ? ? ? ? ? ? ? ? ?
Windows NT 3.51 ? ? ? ? ? ? ? ? ?
Windows NT 4.0 ? ? ? ? ? ? ? ? ?
NT-based [N 1] ~[N 1] ~[N 1] [N 2] [N 2] [N 2]
Other x86 Operating Systems
Coherent ? ? ? ? ? ? ? ? ?
CP/M-86 ? ? ? ? ? ? ? ? ?
Inferno ? ? ? ? ? ? ? ? ?
PC/GEOS ? ? ? ? ? ? ? ? ?
NetWare ? ? ? ? ? ? ? ? ?
Xenix ? ? ? ? ? ? ? ? ?

Hardware & Peripheral Support[edit]

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[edit]

Name 86Box PCem PCBox 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] ?
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] [3]
80286 ? ~[N 4] ~[N 4] ~[N 4] [N 5] [4]
386 ? ~[N 4] ~[N 4] ~[N 4] [N 5] [5]
RapidCAD ? ~[N 4] ~[N 4] ~[N 4] [N 5] [6]
Pentium
Pentium MMX
~[N 4] ~[N 4] ~[N 4] ~[N 6]
Pentium Pro [7] ~[N 6]
Pentium II ~[N 4] ~[N 4] ~[N 4] ~[N 6]
Celeron (P6) ?
Pentium III [N 3] [N 3] ~[N 4] ~[N 4] ~[N 6]
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[edit]

Name 86Box PCem PCBox DOSBox Pure DOSBox-X DOSBox Staging MartyPC UniPCemu MAME
3Dfx
Voodoo ? [8] ?
Voodoo 2 ? [9] ?
Voodoo 3 ? ?
Voodoo 4 [10] [11] [12]
Voodoo 5 [10] [13]
Voodoo Banshee ? ?
Diamond Multimedia
Diamond Edge 3D /
nVidia NV1
[14] [15] ?
Hercules Computer Technology
Hercules Text Card ? ? ? ? ? ? ? ?
Hercules Graphics
Card (HGC)
? ? ? ? ? ? ? ?
Hercules Graphics
Card Plus
? ? ? ? ? ? ? ?
Network Card Plus ? ? ? ? ? ? ? ?
Color Card ? ? ? ? ? ? ? ?
InColor Card ? ? ? ? ? ? ? ?
IBM
Monochrome Display
Adapter (MDA)
? ? ? ? ? ? ? ?
Color Graphics
Adapter (CGA)
? ? ? ? ? ? ? ?
Enhanced Graphics
Adapter (EGA)
? ? ? ? ? ? ? ?
Professional Graphics
Controller (PGC)
? ? ? ? ? ? ? ?
Intel Corporation
i750 ? ? ? ? ? ? ? ?
i740 ? ? ? ? ? ? ? ?
810 ? ? ? ? ? ? ? ?
Matrox Graphics
Impression Plus ? ?
Millennium ? ?
Millennium II ? ?
Mystique ? ?
NEC
PC-FX GA ? ? ? ? ? ? ?
μPD7220 ? ? ? ? ? ? ? ?
Orchid Technology
Orchid Graphics
Adapter
? ? ? ? ? ? ? ?
Plantronics
Colorplus ? ? ? ? ? ? ? ?
Quadram Corporation
Quadcolor I ? ? ? ? ? ? ? ?
Quadcolor II ? ? ? ? ? ? ? ?

Notes[edit]

PC-FX GA
Unlike PC-9800 variant, this DOS/V variant[4] uses a single ISA card and both variants integrate an additional 3D chipset
(Kubota/Hudson HuC6273) over the regular PC-FX
Matrox Impression Plus
Impression emulation is crucial for RenderWare 3D accelerated games [16] compatibility and preservation.
Matrox Mystique, Millennium and Millennium II [17]
The emulation of these three cards is crucial for supported 3D accelerated games enhanced visuals and preservation
3Dfx Voodoo
Voodoo emulation is crucial for Windows Glide[18] and DOS Glide[19] games compatibility and preservation.
3Dfx Voodoo 4/5
It's quite possible to run early XP 3D games thanks to it's performance and also compatibility with D3D7[20][21] (pushing T&L to CPU via driver).[22][23]
Diamond Edge 3D
NV1 emulation is crucial for NV1 3D accelerated games[24] compatibility and preservation.

Sound Cards[edit]

Name 86Box PCem PCBox DOSBox Pure DOSBox-X DOSBox Staging MartyPC UniPCemu MAME
? ? ? ? ? ? ? ? ?

Network Cards[edit]

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

Mainboards[edit]

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

Gamepads[edit]

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

Floppy & CD-ROM drives[edit]

  • See this documentation for 86Box. There is no optical drive passthrough support for 86Box at the moment[5], so your only choice is using disc images.
  • See Copy protection#Emulation section for middleware or disc-check emulation software tools.

References[edit]

  1. 1.0 1.1 1.2 86Box, PCem and PCBox supports these OS'es but even these emulators have limited #x86 CPU's, #Graphics_Cards_.26_GPU.27s and #Mainboards support for more demanding NT-based operating systems, performance will be unbearable anyway. Recommended to use hypervisor solution for these OS'es (See Windows XP/Vista and Windows 9x pages).
  2. 2.0 2.1 2.2 NT-Based OSes unsupported by DOSBox forks at the moment. It is likely possible to implement specific techniques to software emulators for achieving and improving Windows NT-based operating system emulation experience. See DOSBox-X: KVM and Hyper-V issue page. See also DOSBox-X: virtual GPU adapters such as VMware SVGA/SVGA II, VBoxVGA issue page. There are issue pages for adding softgpu driver compatibility with Windows XP, see: [1][2] issue pages. So in summary, lots of elements already available for this job.
  3. 3.0 3.1 3.2 3.3 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?.
  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
    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 perfect accuracy, it leads to significantly faster emulation and still has broader software compatibility compared to other emulators like QEMU or Bochs. However, some niche software may still encounter compatibility limitations. Therefore, DOSBox forks remain a powerful option for casual users and performance-intensive tasks, offering a balance between compatibility and speed. See DOSBox Pure: MMX Instruction Set Support issue page and POS_(Pong_Consoles)_CPUs_and_Other_Chips#Descriptions section for more information.
  5. 5.0 5.1 5.2 Future goal, for more information see comparisons section.
  6. 6.0 6.1 6.2 6.3 Only the 286/386/486 emulation is acceptable at the moment. See comparisons section. (i386.cpp)

Reference Links[edit]