Difference between revisions of "PC Emulator Comparisons"
(→Enhancements: - MartyPC supports built-in CRT shaders, 'Turbo' overclocking of the 8088 CPU, command-line options and has an integrated GUI debugger) |
|||
(6 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
− | |||
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] | 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] | ||
Line 52: | Line 51: | ||
|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> | |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}}] | |[https://github.com/dbalsom/martypc/releases {{MartyPCVer}}] | ||
− | |{{ | + | |{{~}} ||{{~}} ||{{✓}} ||{{✓}} ||{{~}} |
|- | |- | ||
|UniPCemu | |UniPCemu | ||
Line 189: | Line 188: | ||
! 86Box | ! 86Box | ||
! PCem | ! PCem | ||
− | |||
! DOSBox Pure | ! DOSBox Pure | ||
! DOSBox-X | ! DOSBox-X | ||
Line 199: | Line 197: | ||
| rowspan=2 | Performance | | rowspan=2 | Performance | ||
| Preload [[Wikipedia:Template:Disk_images|optical disc image]] to RAM<br/><small>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.</small> | | Preload [[Wikipedia:Template:Disk_images|optical disc image]] to RAM<br/><small>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.</small> | ||
− | |||
| {{Unknown}} | | {{Unknown}} | ||
| {{Unknown}} | | {{Unknown}} | ||
Line 209: | Line 206: | ||
| {{Unknown}} | | {{Unknown}} | ||
|- | |- | ||
− | | [[Overclocking|Overclock]]<br/><small>Overclocking DRAM timings or CPU core frequency and CPU ring ratio using emulated BIOS just like using the real hardware.</small> | + | | [[Overclocking|Overclock]]<br/><small>Overclocking DRAM timings or CPU core frequency and CPU ring ratio '''using emulated BIOS just like using the real hardware'''.</small> |
| {{✓}} | | {{✓}} | ||
− | |||
| {{Unknown}} | | {{Unknown}} | ||
| {{✗}} | | {{✗}} | ||
Line 222: | Line 218: | ||
| rowspan=6 | 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}} | ||
| {{Unknown}} | | {{Unknown}} | ||
Line 233: | Line 228: | ||
|- | |- | ||
| [[Wikipedia:Comparison_gallery_of_image_scaling_algorithms|Post-rendering scaling]]<br/><small>(Sharp bilinear, Lanczos and [[Wikipedia:GPUOpen#FidelityFX_Super_Resolution|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 246: | Line 240: | ||
| {{✓}} | | {{✓}} | ||
| {{✓}} | | {{✓}} | ||
− | |||
| {{✓}} | | {{✓}} | ||
| {{Unknown}} | | {{Unknown}} | ||
Line 255: | Line 248: | ||
|- | |- | ||
|[[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> | |[[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> | ||
− | |||
| {{?}} | | {{?}} | ||
| {{?}} | | {{?}} | ||
Line 268: | Line 260: | ||
| {{✗}} | | {{✗}} | ||
| {{✗}} | | {{✗}} | ||
− | |||
| {{✓}} | | {{✓}} | ||
| {{✗}} | | {{✗}} | ||
Line 277: | Line 268: | ||
|- | |- | ||
|[[High_dynamic_range#Inverse_tone_mapping|Inverse tone mapping compatible]] | |[[High_dynamic_range#Inverse_tone_mapping|Inverse tone mapping compatible]] | ||
− | |||
| {{?}} | | {{?}} | ||
| {{?}} | | {{?}} | ||
Line 289: | Line 279: | ||
| rowspan=5 | [https://tasvideos.org/Emulatorresources/Features TAS features] | | rowspan=5 | [https://tasvideos.org/Emulatorresources/Features TAS features] | ||
| [[Wikipedia:Macro_(computer_science)|Macros/Scripts]]/[https://tasvideos.org/LuaScripting Lua] | | [[Wikipedia:Macro_(computer_science)|Macros/Scripts]]/[https://tasvideos.org/LuaScripting Lua] | ||
− | |||
| {{Unknown}} | | {{Unknown}} | ||
| {{Unknown}} | | {{Unknown}} | ||
Line 302: | Line 291: | ||
| {{✗}} | | {{✗}} | ||
| {{✗}} | | {{✗}} | ||
− | |||
| {{✗}} | | {{✗}} | ||
| {{✗}} | | {{✗}} | ||
Line 313: | Line 301: | ||
| {{✗}} | | {{✗}} | ||
| {{✗}} | | {{✗}} | ||
− | |||
| {{✗}} | | {{✗}} | ||
| {{✗}} | | {{✗}} | ||
Line 324: | Line 311: | ||
| {{✗}} | | {{✗}} | ||
| {{✗}} | | {{✗}} | ||
− | |||
| {{✗}} | | {{✗}} | ||
| {{✗}} | | {{✗}} | ||
Line 335: | Line 321: | ||
| {{✗}} | | {{✗}} | ||
| {{✗}} | | {{✗}} | ||
− | |||
| {{✗}} | | {{✗}} | ||
| {{✗}} | | {{✗}} | ||
Line 347: | Line 332: | ||
| {{✗}} | | {{✗}} | ||
| {{✗}} | | {{✗}} | ||
− | |||
| {{✗}} | | {{✗}} | ||
| {{✗}} | | {{✗}} | ||
Line 362: | Line 346: | ||
| {{✓}} | | {{✓}} | ||
| {{✓}} | | {{✓}} | ||
− | |||
| {{✓}} | | {{✓}} | ||
| {{✓}} | | {{✓}} | ||
Line 373: | Line 356: | ||
| {{✓}} | | {{✓}} | ||
| {{✓}} | | {{✓}} | ||
− | |||
| {{✓}} | | {{✓}} | ||
| {{✓}} | | {{✓}} | ||
Line 382: | Line 364: | ||
|- | |- | ||
| On-Screen Display<br/><small>Showcases messages, controller input state which is useful for speedrunners, performance data, active settings, and various notifications.</small> | | On-Screen Display<br/><small>Showcases messages, controller input state which is useful for speedrunners, performance data, active settings, and various notifications.</small> | ||
− | |||
| {{Unknown}} | | {{Unknown}} | ||
| {{Unknown}} | | {{Unknown}} | ||
Line 395: | Line 376: | ||
| {{✗}} | | {{✗}} | ||
| {{✗}} | | {{✗}} | ||
− | |||
| {{✓}} | | {{✓}} | ||
| {{✗}} | | {{✗}} | ||
Line 407: | Line 387: | ||
| {{✗}} | | {{✗}} | ||
| {{✗}} | | {{✗}} | ||
− | |||
| {{✗}} | | {{✗}} | ||
| {{✗}} | | {{✗}} | ||
Line 422: | Line 401: | ||
|- | |- | ||
| [[Wikipedia:Category:Debugging|Debug Features]] | | [[Wikipedia:Category:Debugging|Debug Features]] | ||
− | |||
| {{Unknown}} | | {{Unknown}} | ||
| {{Unknown}} | | {{Unknown}} | ||
Line 441: | Line 419: | ||
! 86Box | ! 86Box | ||
! PCem | ! PCem | ||
− | |||
! DOSBox Pure | ! DOSBox Pure | ||
! DOSBox-X | ! DOSBox-X | ||
Line 452: | Line 429: | ||
|- | |- | ||
| OS/2 1.0 | | OS/2 1.0 | ||
− | |||
| {{?}} | | {{?}} | ||
| {{?}} | | {{?}} | ||
Line 463: | Line 439: | ||
|- | |- | ||
| OS/2 v1.1 / v1.2 / v1.3 | | OS/2 v1.1 / v1.2 / v1.3 | ||
− | |||
| {{?}} | | {{?}} | ||
| {{?}} | | {{?}} | ||
Line 474: | Line 449: | ||
|- | |- | ||
| OS/2 v2.0 / v2.1 | | OS/2 v2.0 / v2.1 | ||
− | |||
| {{?}} | | {{?}} | ||
| {{?}} | | {{?}} | ||
Line 485: | Line 459: | ||
|- | |- | ||
| OS/2 Warp 3 | | OS/2 Warp 3 | ||
− | |||
| {{?}} | | {{?}} | ||
| {{?}} | | {{?}} | ||
Line 496: | Line 469: | ||
|- | |- | ||
| OS/2 Warp 4 | | OS/2 Warp 4 | ||
− | |||
| {{?}} | | {{?}} | ||
| {{?}} | | {{?}} | ||
Line 507: | Line 479: | ||
|- | |- | ||
| eComStation | | eComStation | ||
− | |||
| {{?}} | | {{?}} | ||
| {{?}} | | {{?}} | ||
Line 518: | Line 489: | ||
|- | |- | ||
| ArcaOS | | ArcaOS | ||
− | |||
| {{?}} | | {{?}} | ||
| {{?}} | | {{?}} | ||
Line 531: | Line 501: | ||
|- | |- | ||
| MS-DOS | | MS-DOS | ||
− | |||
| {{✓}} | | {{✓}} | ||
| {{✓}} | | {{✓}} | ||
Line 542: | Line 511: | ||
|- | |- | ||
| Windows 1.0x | | Windows 1.0x | ||
− | |||
| {{✓}} | | {{✓}} | ||
| {{✓}} | | {{✓}} | ||
Line 553: | Line 521: | ||
|- | |- | ||
| Windows 2.0 / 2.1 | | Windows 2.0 / 2.1 | ||
− | |||
| {{✓}} | | {{✓}} | ||
| {{✓}} | | {{✓}} | ||
Line 564: | Line 531: | ||
|- | |- | ||
| Windows 3.0 / 3.1 | | Windows 3.0 / 3.1 | ||
− | |||
| {{✓}} | | {{✓}} | ||
| {{✓}} | | {{✓}} | ||
Line 575: | Line 541: | ||
|- | |- | ||
| [[Windows_95/98/ME_emulators|Windows 9x series]] | | [[Windows_95/98/ME_emulators|Windows 9x series]] | ||
− | |||
| {{✓}} | | {{✓}} | ||
| {{✓}} | | {{✓}} | ||
Line 588: | Line 553: | ||
|- | |- | ||
| Windows NT 3.1 | | Windows NT 3.1 | ||
− | |||
| {{?}} | | {{?}} | ||
| {{?}} | | {{?}} | ||
Line 599: | Line 563: | ||
|- | |- | ||
| Windows NT 3.5 | | Windows NT 3.5 | ||
− | |||
| {{?}} | | {{?}} | ||
| {{?}} | | {{?}} | ||
Line 610: | Line 573: | ||
|- | |- | ||
| Windows NT 3.51 | | Windows NT 3.51 | ||
− | |||
| {{?}} | | {{?}} | ||
| {{?}} | | {{?}} | ||
Line 621: | Line 583: | ||
|- | |- | ||
| Windows NT 4.0 | | Windows NT 4.0 | ||
− | |||
| {{?}} | | {{?}} | ||
| {{?}} | | {{?}} | ||
Line 632: | Line 593: | ||
|- | |- | ||
| [[Windows_2000/XP/Vista_emulators|NT-based]] | | [[Windows_2000/XP/Vista_emulators|NT-based]] | ||
− | | {{ | + | | {{~}}<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> | ||
| {{✗}}<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> | | {{✗}}<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> | ||
Line 645: | Line 605: | ||
|- | |- | ||
| [[wikipedia:Coherent (operating system)|Coherent]] | | [[wikipedia:Coherent (operating system)|Coherent]] | ||
− | |||
| {{?}} | | {{?}} | ||
| {{?}} | | {{?}} | ||
Line 656: | Line 615: | ||
|- | |- | ||
| [[wikipedia:CP/M-86|CP/M-86]] | | [[wikipedia:CP/M-86|CP/M-86]] | ||
− | |||
| {{?}} | | {{?}} | ||
| {{?}} | | {{?}} | ||
Line 667: | Line 625: | ||
|- | |- | ||
| [[wikipedia:Inferno (operating system)|Inferno]] | | [[wikipedia:Inferno (operating system)|Inferno]] | ||
− | |||
| {{?}} | | {{?}} | ||
| {{?}} | | {{?}} | ||
Line 678: | Line 635: | ||
|- | |- | ||
| [[wikipedia:GEOS (16-bit operating system)|PC/GEOS]] | | [[wikipedia:GEOS (16-bit operating system)|PC/GEOS]] | ||
− | |||
| {{?}} | | {{?}} | ||
| {{?}} | | {{?}} | ||
Line 689: | Line 645: | ||
|- | |- | ||
| [[wikipedia:NetWare|NetWare]] | | [[wikipedia:NetWare|NetWare]] | ||
− | |||
| {{?}} | | {{?}} | ||
| {{?}} | | {{?}} | ||
Line 700: | Line 655: | ||
|- | |- | ||
| [[wikipedia:Xenix|Xenix]] | | [[wikipedia:Xenix|Xenix]] | ||
− | |||
| {{?}} | | {{?}} | ||
| {{?}} | | {{?}} | ||
Line 711: | Line 665: | ||
|- | |- | ||
| [[wikipedia:Debian|Debian Linux]] | | [[wikipedia:Debian|Debian Linux]] | ||
− | |||
| {{?}} | | {{?}} | ||
| {{?}} | | {{?}} | ||
Line 731: | Line 684: | ||
! 86Box | ! 86Box | ||
! PCem | ! PCem | ||
− | |||
! DOSBox Pure | ! DOSBox Pure | ||
! DOSBox-X | ! DOSBox-X | ||
Line 744: | Line 696: | ||
| {{✗}} | | {{✗}} | ||
| {{✓}} | | {{✓}} | ||
− | |||
| {{Unknown}} | | {{Unknown}} | ||
| {{Unknown}} | | {{Unknown}} | ||
Line 755: | Line 706: | ||
| {{✓}} | | {{✓}} | ||
| {{✓}} | | {{✓}} | ||
− | |||
| {{Unknown}} | | {{Unknown}} | ||
| {{Unknown}} | | {{Unknown}} | ||
Line 766: | Line 716: | ||
| {{✓}} | | {{✓}} | ||
| {{✓}} | | {{✓}} | ||
− | |||
| {{Unknown}} | | {{Unknown}} | ||
| {{Unknown}} | | {{Unknown}} | ||
Line 777: | Line 726: | ||
| {{✓}} | | {{✓}} | ||
| {{✓}} | | {{✓}} | ||
− | |||
| {{✗}} | | {{✗}} | ||
| {{✗}} | | {{✗}} | ||
Line 788: | Line 736: | ||
| {{✓}} | | {{✓}} | ||
| {{✓}} | | {{✓}} | ||
− | |||
| {{✗}} | | {{✗}} | ||
| {{✗}} | | {{✗}} | ||
Line 799: | Line 746: | ||
| {{✓}} | | {{✓}} | ||
| {{✓}} | | {{✓}} | ||
− | |||
| {{✗}} | | {{✗}} | ||
| {{✗}} | | {{✗}} | ||
Line 810: | Line 756: | ||
| {{✓}} | | {{✓}} | ||
| {{✓}} | | {{✓}} | ||
− | |||
| {{✗}} | | {{✗}} | ||
| {{✗}} | | {{✗}} | ||
Line 821: | Line 766: | ||
| {{✓}} | | {{✓}} | ||
| {{✓}} | | {{✓}} | ||
− | |||
| {{✗}} | | {{✗}} | ||
| {{✗}} | | {{✗}} | ||
Line 832: | Line 776: | ||
| {{✗}}<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> | | {{✗}}<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> | ||
| {{✗}}<ref group=N name=PentiumIIIandAthlon></ref> | | {{✗}}<ref group=N name=PentiumIIIandAthlon></ref> | ||
− | |||
| {{~}}<ref group=N name=DOSBoxForksCPU></ref> | | {{~}}<ref group=N name=DOSBoxForksCPU></ref> | ||
| {{~}}<ref group=N name=DOSBoxForksCPU></ref> | | {{~}}<ref group=N name=DOSBoxForksCPU></ref> | ||
Line 845: | Line 788: | ||
| {{✗}} | | {{✗}} | ||
| {{✗}} | | {{✗}} | ||
− | |||
| {{Unknown}} | | {{Unknown}} | ||
| {{Unknown}} | | {{Unknown}} | ||
Line 858: | Line 800: | ||
| {{✗}} | | {{✗}} | ||
| {{✗}} | | {{✗}} | ||
− | |||
| {{Unknown}} | | {{Unknown}} | ||
| {{Unknown}} | | {{Unknown}} | ||
Line 869: | Line 810: | ||
| {{✗}} | | {{✗}} | ||
| {{✗}} | | {{✗}} | ||
− | |||
| {{Unknown}} | | {{Unknown}} | ||
| {{Unknown}} | | {{Unknown}} | ||
Line 882: | Line 822: | ||
| {{✗}} | | {{✗}} | ||
| {{✓}} | | {{✓}} | ||
− | |||
| {{Unknown}} | | {{Unknown}} | ||
| {{Unknown}} | | {{Unknown}} | ||
Line 893: | Line 832: | ||
| {{✓}} | | {{✓}} | ||
| {{✓}} | | {{✓}} | ||
− | |||
| {{Unknown}} | | {{Unknown}} | ||
| {{Unknown}} | | {{Unknown}} | ||
Line 904: | Line 842: | ||
| {{✓}} | | {{✓}} | ||
| {{✓}} | | {{✓}} | ||
− | |||
| {{Unknown}} | | {{Unknown}} | ||
| {{Unknown}} | | {{Unknown}} | ||
Line 915: | Line 852: | ||
| {{✗}} | | {{✗}} | ||
| {{✗}} | | {{✗}} | ||
− | |||
| {{Unknown}} | | {{Unknown}} | ||
| {{Unknown}} | | {{Unknown}} | ||
Line 926: | Line 862: | ||
| {{✗}} | | {{✗}} | ||
| {{✗}} | | {{✗}} | ||
− | |||
| {{Unknown}} | | {{Unknown}} | ||
| {{Unknown}} | | {{Unknown}} | ||
Line 939: | Line 874: | ||
| {{✗}} | | {{✗}} | ||
| {{✗}} | | {{✗}} | ||
− | |||
| {{Unknown}} | | {{Unknown}} | ||
| {{Unknown}} | | {{Unknown}} | ||
Line 952: | Line 886: | ||
| {{✓}} | | {{✓}} | ||
| {{✗}} | | {{✗}} | ||
− | |||
| {{Unknown}} | | {{Unknown}} | ||
| {{Unknown}} | | {{Unknown}} | ||
Line 963: | Line 896: | ||
| {{✓}} | | {{✓}} | ||
| {{✗}} | | {{✗}} | ||
− | |||
| {{Unknown}} | | {{Unknown}} | ||
| {{Unknown}} | | {{Unknown}} | ||
Line 974: | Line 906: | ||
| {{✓}} | | {{✓}} | ||
| {{✗}} | | {{✗}} | ||
− | |||
| {{Unknown}} | | {{Unknown}} | ||
| {{Unknown}} | | {{Unknown}} | ||
Line 985: | Line 916: | ||
| {{✓}} | | {{✓}} | ||
| {{✗}} | | {{✗}} | ||
− | |||
| {{Unknown}} | | {{Unknown}} | ||
| {{Unknown}} | | {{Unknown}} | ||
Line 996: | Line 926: | ||
| {{✓}} | | {{✓}} | ||
| {{✓}} | | {{✓}} | ||
− | |||
| {{Unknown}} | | {{Unknown}} | ||
| {{Unknown}} | | {{Unknown}} | ||
Line 1,007: | Line 936: | ||
| {{✓}} | | {{✓}} | ||
| {{✓}} | | {{✓}} | ||
− | |||
| {{✗}} | | {{✗}} | ||
| {{✗}} | | {{✗}} | ||
Line 1,018: | Line 946: | ||
| {{✗}} | | {{✗}} | ||
| {{✗}} | | {{✗}} | ||
− | |||
| {{Unknown}} | | {{Unknown}} | ||
| {{Unknown}} | | {{Unknown}} | ||
Line 1,029: | Line 956: | ||
| {{✓}} | | {{✓}} | ||
| {{✓}} | | {{✓}} | ||
− | |||
| {{✗}} | | {{✗}} | ||
| {{✗}} | | {{✗}} | ||
Line 1,040: | Line 966: | ||
| {{✓}} | | {{✓}} | ||
| {{✓}} | | {{✓}} | ||
− | |||
| {{✗}} | | {{✗}} | ||
| {{✗}} | | {{✗}} | ||
Line 1,053: | Line 978: | ||
| {{✗}} | | {{✗}} | ||
| {{✗}} | | {{✗}} | ||
− | |||
| {{Unknown}} | | {{Unknown}} | ||
| {{Unknown}} | | {{Unknown}} | ||
Line 1,064: | Line 988: | ||
| {{✗}} | | {{✗}} | ||
| {{✗}} | | {{✗}} | ||
− | |||
| {{Unknown}} | | {{Unknown}} | ||
| {{Unknown}} | | {{Unknown}} | ||
Line 1,077: | Line 1,000: | ||
| {{✓}} | | {{✓}} | ||
| {{✓}} | | {{✓}} | ||
− | + | | {{~}}<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 [[#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 [[ | ||
| {{~}}<ref group=N name=DOSBoxForksCPU></ref> | | {{~}}<ref group=N name=DOSBoxForksCPU></ref> | ||
| {{~}}<ref group=N name=DOSBoxForksCPU></ref> | | {{~}}<ref group=N name=DOSBoxForksCPU></ref> | ||
Line 1,088: | Line 1,010: | ||
| {{✓}} | | {{✓}} | ||
| {{✓}} | | {{✓}} | ||
− | |||
| {{~}}<ref group=N name=DOSBoxForksCPU></ref> | | {{~}}<ref group=N name=DOSBoxForksCPU></ref> | ||
| {{~}}<ref group=N name=DOSBoxForksCPU></ref> | | {{~}}<ref group=N name=DOSBoxForksCPU></ref> | ||
| {{~}}<ref group=N name=DOSBoxForksCPU></ref> | | {{~}}<ref group=N name=DOSBoxForksCPU></ref> | ||
− | | {{✗}}<ref group=N name=MartyPCCPU>Future goal, for more information see [[# | + | | {{✗}}<ref group=N name=MartyPCCPU>Future goal, for more information see [[#Descriptions|Descriptions]] section.</ref> |
| {{✓}} | | {{✓}} | ||
| {{✓}}<ref>https://github.com/mamedev/mame/blob/master/src/devices/cpu/i86/i286.cpp</ref> | | {{✓}}<ref>https://github.com/mamedev/mame/blob/master/src/devices/cpu/i86/i286.cpp</ref> | ||
Line 1,099: | Line 1,020: | ||
| {{✓}} | | {{✓}} | ||
| {{✓}} | | {{✓}} | ||
− | |||
| {{~}}<ref group=N name=DOSBoxForksCPU></ref> | | {{~}}<ref group=N name=DOSBoxForksCPU></ref> | ||
| {{~}}<ref group=N name=DOSBoxForksCPU></ref> | | {{~}}<ref group=N name=DOSBoxForksCPU></ref> | ||
Line 1,110: | Line 1,030: | ||
| {{✓}} | | {{✓}} | ||
| {{✓}} | | {{✓}} | ||
− | |||
| {{~}}<ref group=N name=DOSBoxForksCPU></ref> | | {{~}}<ref group=N name=DOSBoxForksCPU></ref> | ||
| {{~}}<ref group=N name=DOSBoxForksCPU></ref> | | {{~}}<ref group=N name=DOSBoxForksCPU></ref> | ||
Line 1,121: | Line 1,040: | ||
| {{✓}} | | {{✓}} | ||
| {{✓}} | | {{✓}} | ||
− | |||
| {{~}}<ref group=N name=DOSBoxForksCPU></ref> | | {{~}}<ref group=N name=DOSBoxForksCPU></ref> | ||
| {{~}}<ref group=N name=DOSBoxForksCPU></ref> | | {{~}}<ref group=N name=DOSBoxForksCPU></ref> | ||
Line 1,130: | Line 1,048: | ||
|- | |- | ||
| [[Wikipedia:Pentium_(original)|Pentium<br/>Pentium MMX]] | | [[Wikipedia:Pentium_(original)|Pentium<br/>Pentium MMX]] | ||
− | |||
| {{✓}} | | {{✓}} | ||
| {{✓}} | | {{✓}} | ||
Line 1,141: | Line 1,058: | ||
|- | |- | ||
| [[Wikipedia:Pentium_Pro|Pentium Pro]] | | [[Wikipedia:Pentium_Pro|Pentium Pro]] | ||
− | |||
| {{✓}} | | {{✓}} | ||
| {{✓}} | | {{✓}} | ||
Line 1,152: | Line 1,068: | ||
|- | |- | ||
| [[Wikipedia:Pentium_II|Pentium II]] | | [[Wikipedia:Pentium_II|Pentium II]] | ||
− | |||
| {{✓}} | | {{✓}} | ||
| {{✓}} | | {{✓}} | ||
Line 1,163: | Line 1,078: | ||
|- | |- | ||
| [[Wikipedia:Celeron#P6-based_Celerons|Celeron (P6)]] | | [[Wikipedia:Celeron#P6-based_Celerons|Celeron (P6)]] | ||
− | |||
| {{✓}} | | {{✓}} | ||
| {{✓}} | | {{✓}} | ||
Line 1,174: | Line 1,088: | ||
|- | |- | ||
| [[Wikipedia:Pentium_III|Pentium III]] | | [[Wikipedia:Pentium_III|Pentium III]] | ||
+ | | {{~}}<ref group=N name=PentiumIIIandAthlon></ref> | ||
| {{✗}}<ref group=N name=PentiumIIIandAthlon></ref> | | {{✗}}<ref group=N name=PentiumIIIandAthlon></ref> | ||
− | |||
− | |||
| {{~}}<ref group=N name=DOSBoxForksCPU></ref> | | {{~}}<ref group=N name=DOSBoxForksCPU></ref> | ||
| {{~}}<ref group=N name=DOSBoxForksCPU></ref> | | {{~}}<ref group=N name=DOSBoxForksCPU></ref> | ||
Line 1,189: | Line 1,102: | ||
| {{✗}} | | {{✗}} | ||
| {{✗}} | | {{✗}} | ||
− | |||
| {{Unknown}} | | {{Unknown}} | ||
| {{Unknown}} | | {{Unknown}} | ||
Line 1,202: | Line 1,114: | ||
| {{✓}} | | {{✓}} | ||
| {{✗}} | | {{✗}} | ||
− | |||
| {{Unknown}} | | {{Unknown}} | ||
| {{Unknown}} | | {{Unknown}} | ||
Line 1,213: | Line 1,124: | ||
| {{✓}} | | {{✓}} | ||
| {{✗}} | | {{✗}} | ||
− | |||
| {{Unknown}} | | {{Unknown}} | ||
| {{Unknown}} | | {{Unknown}} | ||
Line 1,224: | Line 1,134: | ||
| {{✗}} | | {{✗}} | ||
| {{✗}} | | {{✗}} | ||
− | |||
| {{Unknown}} | | {{Unknown}} | ||
| {{Unknown}} | | {{Unknown}} | ||
Line 1,235: | Line 1,144: | ||
| {{✗}} | | {{✗}} | ||
| {{✗}} | | {{✗}} | ||
− | |||
| {{Unknown}} | | {{Unknown}} | ||
| {{Unknown}} | | {{Unknown}} | ||
Line 1,248: | Line 1,156: | ||
| {{✗}} | | {{✗}} | ||
| {{✗}} | | {{✗}} | ||
− | |||
| {{Unknown}} | | {{Unknown}} | ||
| {{Unknown}} | | {{Unknown}} | ||
Line 1,261: | Line 1,168: | ||
| {{✗}} | | {{✗}} | ||
| {{✗}} | | {{✗}} | ||
− | |||
| {{Unknown}} | | {{Unknown}} | ||
| {{Unknown}} | | {{Unknown}} | ||
Line 1,274: | Line 1,180: | ||
| {{✗}} | | {{✗}} | ||
| {{✗}} | | {{✗}} | ||
− | |||
| {{Unknown}} | | {{Unknown}} | ||
| {{Unknown}} | | {{Unknown}} | ||
Line 1,285: | Line 1,190: | ||
| {{✗}} | | {{✗}} | ||
| {{✗}} | | {{✗}} | ||
− | |||
| {{Unknown}} | | {{Unknown}} | ||
| {{Unknown}} | | {{Unknown}} | ||
Line 1,298: | Line 1,202: | ||
| {{✗}} | | {{✗}} | ||
| {{✗}} | | {{✗}} | ||
− | |||
| {{Unknown}} | | {{Unknown}} | ||
| {{Unknown}} | | {{Unknown}} | ||
Line 1,311: | Line 1,214: | ||
| {{✗}} | | {{✗}} | ||
| {{✗}} | | {{✗}} | ||
− | |||
| {{Unknown}} | | {{Unknown}} | ||
| {{Unknown}} | | {{Unknown}} | ||
Line 1,324: | Line 1,226: | ||
| {{✗}} | | {{✗}} | ||
| {{✗}} | | {{✗}} | ||
− | |||
| {{Unknown}} | | {{Unknown}} | ||
| {{Unknown}} | | {{Unknown}} | ||
Line 1,335: | Line 1,236: | ||
| {{✗}} | | {{✗}} | ||
| {{✗}} | | {{✗}} | ||
− | |||
| {{Unknown}} | | {{Unknown}} | ||
| {{Unknown}} | | {{Unknown}} | ||
Line 1,346: | Line 1,246: | ||
| {{✗}} | | {{✗}} | ||
| {{✗}} | | {{✗}} | ||
− | |||
| {{Unknown}} | | {{Unknown}} | ||
| {{Unknown}} | | {{Unknown}} | ||
Line 1,357: | Line 1,256: | ||
| {{✗}} | | {{✗}} | ||
| {{✗}} | | {{✗}} | ||
− | |||
| {{Unknown}} | | {{Unknown}} | ||
| {{Unknown}} | | {{Unknown}} | ||
Line 1,371: | Line 1,269: | ||
| {{✗}} | | {{✗}} | ||
| {{✗}} | | {{✗}} | ||
− | |||
| {{Unknown}} | | {{Unknown}} | ||
| {{Unknown}} | | {{Unknown}} | ||
Line 1,386: | Line 1,283: | ||
! 86Box | ! 86Box | ||
! PCem | ! PCem | ||
− | |||
! DOSBox Pure | ! DOSBox Pure | ||
! DOSBox-X | ! DOSBox-X | ||
Line 1,399: | Line 1,295: | ||
| {{✓}} | | {{✓}} | ||
| {{✓}} | | {{✓}} | ||
− | |||
| {{✓}} | | {{✓}} | ||
| {{✓}} | | {{✓}} | ||
Line 1,410: | Line 1,305: | ||
| {{✓}} | | {{✓}} | ||
| {{✓}} | | {{✓}} | ||
− | |||
| {{✗}} | | {{✗}} | ||
| {{✗}} | | {{✗}} | ||
Line 1,421: | Line 1,315: | ||
| {{✓}} | | {{✓}} | ||
| {{✓}} | | {{✓}} | ||
− | |||
| {{✗}} | | {{✗}} | ||
| {{✗}} | | {{✗}} | ||
Line 1,431: | Line 1,324: | ||
| Voodoo 4 | | Voodoo 4 | ||
| {{✗}}<ref name=86boxVoodoo45>https://github.com/86Box/86Box/discussions/2909</ref> | | {{✗}}<ref name=86boxVoodoo45>https://github.com/86Box/86Box/discussions/2909</ref> | ||
− | |||
| {{✗}} | | {{✗}} | ||
| {{✗}}<ref>https://github.com/joncampbell123/dosbox-x/issues/3959#issuecomment-1400282345</ref> | | {{✗}}<ref>https://github.com/joncampbell123/dosbox-x/issues/3959#issuecomment-1400282345</ref> | ||
Line 1,443: | Line 1,335: | ||
| {{✗}}<ref name=86boxVoodoo45></ref> | | {{✗}}<ref name=86boxVoodoo45></ref> | ||
| {{✗}}<ref>https://pcem-emulator.co.uk/phpBB3/viewtopic.php?t=3496</ref> | | {{✗}}<ref>https://pcem-emulator.co.uk/phpBB3/viewtopic.php?t=3496</ref> | ||
− | |||
| {{✗}} | | {{✗}} | ||
| {{✗}} | | {{✗}} | ||
Line 1,454: | Line 1,345: | ||
| {{✓}} | | {{✓}} | ||
| {{✓}} | | {{✓}} | ||
− | |||
| {{✗}} | | {{✗}} | ||
| {{✗}} | | {{✗}} | ||
Line 1,467: | Line 1,357: | ||
| {{✗}}<ref>https://github.com/86Box/86Box/issues/2431</ref> | | {{✗}}<ref>https://github.com/86Box/86Box/issues/2431</ref> | ||
| {{✗}}<ref>https://github.com/sarah-walker-pcem/pcem/issues/205</ref> | | {{✗}}<ref>https://github.com/sarah-walker-pcem/pcem/issues/205</ref> | ||
− | |||
| {{✗}} | | {{✗}} | ||
| {{✗}} | | {{✗}} | ||
Line 1,480: | Line 1,369: | ||
| {{✗}} | | {{✗}} | ||
| {{✗}} | | {{✗}} | ||
− | |||
| {{Unknown}} | | {{Unknown}} | ||
| {{Unknown}} | | {{Unknown}} | ||
Line 1,491: | Line 1,379: | ||
| {{✓}} | | {{✓}} | ||
| {{✓}} | | {{✓}} | ||
− | |||
| {{Unknown}} | | {{Unknown}} | ||
| {{Unknown}} | | {{Unknown}} | ||
Line 1,502: | Line 1,389: | ||
| {{✓}} | | {{✓}} | ||
| {{✗}} | | {{✗}} | ||
− | |||
| {{Unknown}} | | {{Unknown}} | ||
| {{Unknown}} | | {{Unknown}} | ||
Line 1,513: | Line 1,399: | ||
| {{✗}} | | {{✗}} | ||
| {{✗}} | | {{✗}} | ||
− | |||
| {{Unknown}} | | {{Unknown}} | ||
| {{Unknown}} | | {{Unknown}} | ||
Line 1,524: | Line 1,409: | ||
| {{✗}} | | {{✗}} | ||
| {{✗}} | | {{✗}} | ||
− | |||
| {{Unknown}} | | {{Unknown}} | ||
| {{Unknown}} | | {{Unknown}} | ||
Line 1,535: | Line 1,419: | ||
| {{✓}} | | {{✓}} | ||
| {{✓}} | | {{✓}} | ||
− | |||
| {{Unknown}} | | {{Unknown}} | ||
| {{Unknown}} | | {{Unknown}} | ||
Line 1,548: | Line 1,431: | ||
| {{✓}} | | {{✓}} | ||
| {{✓}} | | {{✓}} | ||
− | |||
| {{Unknown}} | | {{Unknown}} | ||
| {{Unknown}} | | {{Unknown}} | ||
Line 1,559: | Line 1,441: | ||
| {{✓}} | | {{✓}} | ||
| {{✓}} | | {{✓}} | ||
− | |||
| {{Unknown}} | | {{Unknown}} | ||
| {{Unknown}} | | {{Unknown}} | ||
Line 1,570: | Line 1,451: | ||
| {{✓}} | | {{✓}} | ||
| {{✓}} | | {{✓}} | ||
− | |||
| {{Unknown}} | | {{Unknown}} | ||
| {{Unknown}} | | {{Unknown}} | ||
Line 1,581: | Line 1,461: | ||
| {{✓}} | | {{✓}} | ||
| {{✗}} | | {{✗}} | ||
− | |||
| {{Unknown}} | | {{Unknown}} | ||
| {{Unknown}} | | {{Unknown}} | ||
Line 1,594: | Line 1,473: | ||
| {{✗}} | | {{✗}} | ||
| {{✗}} | | {{✗}} | ||
− | |||
| {{Unknown}} | | {{Unknown}} | ||
| {{Unknown}} | | {{Unknown}} | ||
Line 1,605: | Line 1,483: | ||
| {{✗}} | | {{✗}} | ||
| {{✗}} | | {{✗}} | ||
− | |||
| {{Unknown}} | | {{Unknown}} | ||
| {{Unknown}} | | {{Unknown}} | ||
Line 1,616: | Line 1,493: | ||
| {{✗}} | | {{✗}} | ||
| {{✗}} | | {{✗}} | ||
− | |||
| {{Unknown}} | | {{Unknown}} | ||
| {{Unknown}} | | {{Unknown}} | ||
Line 1,629: | Line 1,505: | ||
| {{✗}} | | {{✗}} | ||
| {{✗}} | | {{✗}} | ||
− | |||
| {{✗}} | | {{✗}} | ||
| {{✗}} | | {{✗}} | ||
Line 1,640: | Line 1,515: | ||
| {{✓}} | | {{✓}} | ||
| {{✗}} | | {{✗}} | ||
− | |||
| {{✗}} | | {{✗}} | ||
| {{✗}} | | {{✗}} | ||
Line 1,651: | Line 1,525: | ||
| {{✓}} | | {{✓}} | ||
| {{✗}} | | {{✗}} | ||
− | |||
| {{✗}} | | {{✗}} | ||
| {{✗}} | | {{✗}} | ||
Line 1,662: | Line 1,535: | ||
| {{✓}} | | {{✓}} | ||
| {{✗}} | | {{✗}} | ||
− | |||
| {{✗}} | | {{✗}} | ||
| {{✗}} | | {{✗}} | ||
Line 1,675: | Line 1,547: | ||
| {{✗}} | | {{✗}} | ||
| {{✗}} | | {{✗}} | ||
− | |||
| {{Unknown}} | | {{Unknown}} | ||
| {{Unknown}} | | {{Unknown}} | ||
Line 1,686: | Line 1,557: | ||
| {{✗}} | | {{✗}} | ||
| {{✗}} | | {{✗}} | ||
− | |||
| {{Unknown}} | | {{Unknown}} | ||
| {{Unknown}} | | {{Unknown}} | ||
Line 1,699: | Line 1,569: | ||
| {{✗}} | | {{✗}} | ||
| {{✗}} | | {{✗}} | ||
− | |||
| {{Unknown}} | | {{Unknown}} | ||
| {{Unknown}} | | {{Unknown}} | ||
Line 1,712: | Line 1,581: | ||
| {{✗}} | | {{✗}} | ||
| {{✗}} | | {{✗}} | ||
− | |||
| {{Unknown}} | | {{Unknown}} | ||
| {{Unknown}} | | {{Unknown}} | ||
Line 1,723: | Line 1,591: | ||
| {{✗}} | | {{✗}} | ||
| {{✗}} | | {{✗}} | ||
− | |||
| {{Unknown}} | | {{Unknown}} | ||
| {{Unknown}} | | {{Unknown}} | ||
Line 1,734: | Line 1,601: | ||
| {{✗}} | | {{✗}} | ||
| {{✗}} | | {{✗}} | ||
− | |||
| {{Unknown}} | | {{Unknown}} | ||
| {{Unknown}} | | {{Unknown}} | ||
Line 1,745: | Line 1,611: | ||
| {{✓}} | | {{✓}} | ||
| {{✗}} | | {{✗}} | ||
− | |||
| {{Unknown}} | | {{Unknown}} | ||
| {{Unknown}} | | {{Unknown}} | ||
Line 1,758: | Line 1,623: | ||
| {{✗}} | | {{✗}} | ||
| {{✗}} | | {{✗}} | ||
− | |||
| {{Unknown}} | | {{Unknown}} | ||
| {{Unknown}} | | {{Unknown}} | ||
Line 1,771: | Line 1,635: | ||
| {{✗}} | | {{✗}} | ||
| {{✗}} | | {{✗}} | ||
− | |||
| {{Unknown}} | | {{Unknown}} | ||
| {{Unknown}} | | {{Unknown}} | ||
Line 1,782: | Line 1,645: | ||
| {{✗}} | | {{✗}} | ||
| {{✗}} | | {{✗}} | ||
− | |||
| {{Unknown}} | | {{Unknown}} | ||
| {{Unknown}} | | {{Unknown}} | ||
Line 1,795: | Line 1,657: | ||
| {{✗}} | | {{✗}} | ||
| {{✗}} | | {{✗}} | ||
− | |||
| {{Unknown}} | | {{Unknown}} | ||
| {{Unknown}} | | {{Unknown}} | ||
Line 1,806: | Line 1,667: | ||
| {{✗}} | | {{✗}} | ||
| {{✗}} | | {{✗}} | ||
− | |||
| {{Unknown}} | | {{Unknown}} | ||
| {{Unknown}} | | {{Unknown}} | ||
Line 1,817: | Line 1,677: | ||
| {{✗}} | | {{✗}} | ||
| {{✗}} | | {{✗}} | ||
− | |||
| {{Unknown}} | | {{Unknown}} | ||
| {{Unknown}} | | {{Unknown}} | ||
Line 1,828: | Line 1,687: | ||
| {{✗}} | | {{✗}} | ||
| {{✗}} | | {{✗}} | ||
− | |||
| {{Unknown}} | | {{Unknown}} | ||
| {{Unknown}} | | {{Unknown}} | ||
Line 1,839: | Line 1,697: | ||
| {{✓}} | | {{✓}} | ||
| {{✗}} | | {{✗}} | ||
− | |||
| {{Unknown}} | | {{Unknown}} | ||
| {{Unknown}} | | {{Unknown}} | ||
Line 1,850: | Line 1,707: | ||
| {{✓}} | | {{✓}} | ||
| {{✗}} | | {{✗}} | ||
− | |||
| {{Unknown}} | | {{Unknown}} | ||
| {{Unknown}} | | {{Unknown}} | ||
Line 1,861: | Line 1,717: | ||
| {{✓}} | | {{✓}} | ||
| {{✓}} | | {{✓}} | ||
− | |||
| {{Unknown}} | | {{Unknown}} | ||
| {{Unknown}} | | {{Unknown}} | ||
Line 1,872: | Line 1,727: | ||
| {{✓}} | | {{✓}} | ||
| {{✗}} | | {{✗}} | ||
− | |||
| {{Unknown}} | | {{Unknown}} | ||
| {{Unknown}} | | {{Unknown}} | ||
Line 1,883: | Line 1,737: | ||
| {{✓}} | | {{✓}} | ||
| {{✗}} | | {{✗}} | ||
− | |||
| {{Unknown}} | | {{Unknown}} | ||
| {{Unknown}} | | {{Unknown}} | ||
Line 1,894: | Line 1,747: | ||
| {{✓}} | | {{✓}} | ||
| {{✗}} | | {{✗}} | ||
− | |||
| {{Unknown}} | | {{Unknown}} | ||
| {{Unknown}} | | {{Unknown}} | ||
Line 1,905: | Line 1,757: | ||
| {{✗}} | | {{✗}} | ||
| {{✗}} | | {{✗}} | ||
− | |||
| {{Unknown}} | | {{Unknown}} | ||
| {{Unknown}} | | {{Unknown}} | ||
Line 1,916: | Line 1,767: | ||
| {{✗}} | | {{✗}} | ||
| {{✗}} | | {{✗}} | ||
− | |||
| {{Unknown}} | | {{Unknown}} | ||
| {{Unknown}} | | {{Unknown}} | ||
Line 1,927: | Line 1,777: | ||
| {{✗}} | | {{✗}} | ||
| {{✗}} | | {{✗}} | ||
− | |||
| {{Unknown}} | | {{Unknown}} | ||
| {{Unknown}} | | {{Unknown}} | ||
Line 1,940: | Line 1,789: | ||
| {{✓}} | | {{✓}} | ||
| {{✗}} | | {{✗}} | ||
− | |||
| {{Unknown}} | | {{Unknown}} | ||
| {{Unknown}} | | {{Unknown}} | ||
Line 1,951: | Line 1,799: | ||
| {{✓}} | | {{✓}} | ||
| {{✗}} | | {{✗}} | ||
− | |||
| {{Unknown}} | | {{Unknown}} | ||
| {{Unknown}} | | {{Unknown}} | ||
Line 1,962: | Line 1,809: | ||
| {{✗}} | | {{✗}} | ||
| {{✗}} | | {{✗}} | ||
− | |||
| {{Unknown}} | | {{Unknown}} | ||
| {{Unknown}} | | {{Unknown}} | ||
Line 1,973: | Line 1,819: | ||
| {{✗}} | | {{✗}} | ||
| {{✗}} | | {{✗}} | ||
− | |||
| {{Unknown}} | | {{Unknown}} | ||
| {{Unknown}} | | {{Unknown}} | ||
Line 1,984: | Line 1,829: | ||
| {{✗}} | | {{✗}} | ||
| {{✗}} | | {{✗}} | ||
− | |||
| {{Unknown}} | | {{Unknown}} | ||
| {{Unknown}} | | {{Unknown}} | ||
Line 1,995: | Line 1,839: | ||
| {{✗}} | | {{✗}} | ||
| {{✗}} | | {{✗}} | ||
− | |||
| {{Unknown}} | | {{Unknown}} | ||
| {{Unknown}} | | {{Unknown}} | ||
Line 2,006: | Line 1,849: | ||
| {{✗}} | | {{✗}} | ||
| {{✗}} | | {{✗}} | ||
− | |||
| {{Unknown}} | | {{Unknown}} | ||
| {{Unknown}} | | {{Unknown}} | ||
Line 2,050: | Line 1,892: | ||
! 86Box | ! 86Box | ||
! PCem | ! PCem | ||
− | |||
! DOSBox Pure | ! DOSBox Pure | ||
! DOSBox-X | ! DOSBox-X | ||
Line 2,061: | Line 1,902: | ||
|- | |- | ||
| | | | ||
− | |||
| {{Unknown}} | | {{Unknown}} | ||
| {{Unknown}} | | {{Unknown}} | ||
Line 2,080: | Line 1,920: | ||
! 86Box | ! 86Box | ||
! PCem | ! PCem | ||
− | |||
! DOSBox Pure | ! DOSBox Pure | ||
! DOSBox-X | ! DOSBox-X | ||
Line 2,091: | Line 1,930: | ||
|- | |- | ||
| | | | ||
− | |||
| {{Unknown}} | | {{Unknown}} | ||
| {{Unknown}} | | {{Unknown}} | ||
Line 2,108: | Line 1,946: | ||
! 86Box | ! 86Box | ||
! PCem | ! PCem | ||
− | |||
! DOSBox Pure | ! DOSBox Pure | ||
! DOSBox-X | ! DOSBox-X | ||
Line 2,121: | Line 1,958: | ||
| [https://theretroweb.com/motherboards/s/abit-ab-bf6 ABit AB-BF6] | | [https://theretroweb.com/motherboards/s/abit-ab-bf6 ABit AB-BF6] | ||
| {{✓}} | | {{✓}} | ||
− | |||
| {{Unknown}} | | {{Unknown}} | ||
| {{✗}} | | {{✗}} | ||
Line 2,131: | Line 1,967: | ||
|- | |- | ||
| [https://theretroweb.com/motherboards/s/abit-ab-bh6-rev.-1.1 ABit AB-BH6] | | [https://theretroweb.com/motherboards/s/abit-ab-bh6-rev.-1.1 ABit AB-BH6] | ||
− | |||
| {{Unknown}} | | {{Unknown}} | ||
| {{Unknown}} | | {{Unknown}} | ||
Line 2,142: | Line 1,977: | ||
|- | |- | ||
| [https://theretroweb.com/motherboards/s/abit-ab-bp6 ABit AB-BP6] | | [https://theretroweb.com/motherboards/s/abit-ab-bp6 ABit AB-BP6] | ||
− | |||
| {{Unknown}} | | {{Unknown}} | ||
| {{Unknown}} | | {{Unknown}} | ||
Line 2,154: | Line 1,988: | ||
|rowspan=1 | Intel 815E | |rowspan=1 | Intel 815E | ||
| [https://theretroweb.com/motherboards/s/abit-ab-sh6 ABit AB-SH6] | | [https://theretroweb.com/motherboards/s/abit-ab-sh6 ABit AB-SH6] | ||
− | |||
| {{Unknown}} | | {{Unknown}} | ||
| {{Unknown}} | | {{Unknown}} | ||
Line 2,171: | Line 2,004: | ||
! 86Box | ! 86Box | ||
! PCem | ! PCem | ||
− | |||
! DOSBox Pure | ! DOSBox Pure | ||
! DOSBox-X | ! DOSBox-X | ||
Line 2,182: | Line 2,014: | ||
|- | |- | ||
| Gravis PC Gamepad | | Gravis PC Gamepad | ||
− | |||
| {{Unknown}} | | {{Unknown}} | ||
| {{Unknown}} | | {{Unknown}} | ||
Line 2,193: | Line 2,024: | ||
|- | |- | ||
| Microsoft Sidewinder | | Microsoft Sidewinder | ||
− | |||
| {{Unknown}} | | {{Unknown}} | ||
| {{Unknown}} | | {{Unknown}} | ||
Line 2,204: | Line 2,034: | ||
|- | |- | ||
| | | | ||
− | |||
| {{Unknown}} | | {{Unknown}} | ||
| {{Unknown}} | | {{Unknown}} | ||
Line 2,218: | Line 2,047: | ||
* 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 [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. | * See [[Copy protection#Emulation]] section for middleware or disc-check emulation software tools. | ||
+ | |||
+ | ==External links== | ||
+ | *[https://youtu.be/qND3Eb0dI0E Tech Tangents: 86Box - An Introduction to PC Emulation] | ||
==References== | ==References== |
Revision as of 17:33, 23 June 2024
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.
Contents
Emulators
- 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.
- Also tons of non-active obsolete DOSBox forks for Android exists, see this page for that.
- See also Category:x86-based for other x86 based systems software emulation or Windows XP/Vista and Windows 9x for virtualization of these operating systems.
Name | Platform(s) | Latest version | Enhancements | Hardware support, features and peripherals |
FLOSS | Active | Recommended |
---|---|---|---|---|---|---|---|
PC / x86 | |||||||
86Box | Dev 4.1.1 PCBox fork |
~ | ✓ | ✓ | ✓ | ✓ | |
PCem | v17 git git (macos) |
~ | ✓ | ✓ | ✓ | ✓ | |
DOSBox and forks |
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 | 2.1.2 | ~* | ~* | ✗ | ✓ | ~* | |
MartyPC | * |
v0.2.2 | ~ | ~ | ✓ | ✓ | ~ |
UniPCemu | 2023/04/11 | ? | ~ | ✓ | ✓ | ~ | |
VARCem | Builds | ? | ~* | ✓ | ~ | ~ | |
MAME | git artifacts[N 2] 0.267 libretro core |
~ | ~ | ✓ | ✓ | ~ | |
PCjs | git | ✗ | ~* | ✓ | ✓ | ✗ | |
QEMU | 9.0.0 | ✗ | ✗ | ✓ | ✓ | ✗ | |
Bochs | 2.8 | ✗ | ✗ | ✓ | ✗ | ✗ | |
Mobile / ARM | |||||||
DOSBox Pure | libretro core | ~ | ~ | ✓ | ✓ | ✓ | |
UniPCemu | 2023/04/11 | ? | ~ | ✓ | ✓ | ~ | |
Magic DOSBox | 1.0.84 | ? | ~* | ✗ | ✓ | ✗ | |
Limbo | 6.0.1 WinMobile build |
✗ | ✗ | ✓ | ~ | ✗ | |
DOSBoxPPC | 0.63 | ? | ~* | ✗ | ✗ | ✗ | |
Bochs | 2.6.11 git |
✗ | ✗ | ✓ | ✗ | ✗ | |
Consoles | |||||||
DOSBox Pure | UWP libretro core | ~ | ~ | ✓ | ✓ | ✓ | |
UniPCemu | 2023/04/11 | ? | ~ | ✓ | ✓ | ~ | |
Bochs | 2.3.5 | ✗ | ✗ | ✓ | ✗ | ✗ |
- ↑ DOSBox-X, DOSBox Staging, DOSBox Pure and DOSBox-core forks are still active.
- ↑ 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,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.
|
DOSBox-X/DOSBox Pure/DOSBox-core/DOSBox Staging:
|
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
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.
|
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 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
- 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 | 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 2] | ✗[N 2] | ✗[N 2] | ✗ | ✗ | ✗ | ||
Other x86 Operating Systems | ||||||||||
Coherent | ? | ? | ? | ? | ? | ? | ? | ? | ||
CP/M-86 | ? | ? | ? | ? | ? | ? | ? | ? | ||
Inferno | ? | ? | ? | ? | ? | ? | ? | ? | ||
PC/GEOS | ? | ? | ? | ? | ? | ✓ | ? | ? | ||
NetWare | ? | ? | ? | ? | ? | ? | ? | ? | ||
Xenix | ? | ? | ? | ? | ? | ? | ? | ? | ||
Debian Linux | ? | ? | ? | ? | ? | ? | ? | ? |
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.
x86 CPU's
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] | ✗ | ✗ | ? | ||
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] | ||
486 | ✓ | ✓ | ~[N 4] | ~[N 4] | ~[N 4] | ✗[N 5] | ✓ | ✓[6] | ||
RapidCAD | ✓ | ✓ | ~[N 4] | ~[N 4] | ~[N 4] | ✗[N 5] | ✓ | ✓[7] | ||
Pentium Pentium MMX |
✓ | ✓ | ~[N 4] | ~[N 4] | ~[N 4] | ✗ | ✓ | ~[N 6] | ||
Pentium Pro | ✓ | ✓ | ✗[8] | ✗ | ✗ | ✗ | ✓ | ~[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
Name | 86Box | PCem | DOSBox Pure | DOSBox-X | DOSBox Staging | MartyPC | UniPCemu | MAME | ||
---|---|---|---|---|---|---|---|---|---|---|
3Dfx | ||||||||||
Voodoo | ✓ | ✓ | ✓ | ✓ | ✓[9] | ✗ | ✗ | ? | ||
Voodoo 2 | ✓ | ✓ | ✗ | ✗ | ✗[10] | ✗ | ✗ | ? | ||
Voodoo 3 | ✓ | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ? | ||
Voodoo 4 | ✗[11] | ✗ | ✗[12] | ✗ | ✗[13] | ✗ | ✗ | ✗ | ||
Voodoo 5 | ✗[11] | ✗[14] | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ||
Voodoo Banshee | ✓ | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ? | ||
Diamond Multimedia | ||||||||||
Diamond Edge 3D / nVidia NV1 |
✗[15] | ✗[16] | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ||
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 |
✗ | ✗ | ? | ? | ? | ? | ? | ? | ||
Paradise Computers | ||||||||||
Modular Graphics Card (MGC) | ✗ | ✗ | ? | ? | ? | ? | ? | ? | ||
Autoswitch EGA | ✗ | ✗ | ? | ? | ? | ? | ? | ? | ||
PVGA Plus | ✗ | ✗ | ? | ? | ? | ? | ? | ? | ||
PVGA 1A | ✓ | ✗ | ? | ? | ? | ? | ? | ? | ||
Plantronics | ||||||||||
Colorplus | ✗ | ✗ | ? | ? | ? | ? | ? | ? | ||
Quadram Corporation | ||||||||||
Quadcolor I | ✗ | ✗ | ? | ? | ? | ? | ? | ? | ||
Quadcolor II | ✗ | ✗ | ? | ? | ? | ? | ? | ? | ||
Tseng Labs | ||||||||||
UltraPAK | ✗ | ✗ | ? | ? | ? | ? | ? | ? | ||
ET-1000 | ✗ | ✗ | ? | ? | ? | ? | ? | ? | ||
ET-1000 | ✗ | ✗ | ? | ? | ? | ? | ? | ? | ||
ColorPAK | ✗ | ✗ | ? | ? | ? | ? | ? | ? | ||
ET-2000 | ✓ | ✗ | ? | ? | ? | ? | ? | ? | ||
ET-3000 | ✓ | ✗ | ? | ? | ? | ? | ? | ? | ||
ET-4000AX | ✓ | ✓ | ? | ? | ? | ? | ? | ? | ||
ET-4000/W32 | ✓ | ✗ | ? | ? | ? | ? | ? | ? | ||
ET-4000/W32i | ✓ | ✗ | ? | ? | ? | ? | ? | ? | ||
ET-4000/W32p | ✓ | ✗ | ? | ? | ? | ? | ? | ? | ||
Viper | ✗ | ✗ | ? | ? | ? | ? | ? | ? | ||
Viper f/x | ✗ | ✗ | ? | ? | ? | ? | ? | ? | ||
ET-6000 | ✗ | ✗ | ? | ? | ? | ? | ? | ? | ||
Western Digital | ||||||||||
WD90C11 | ✓ | ✗ | ? | ? | ? | ? | ? | ? | ||
WD90C30 | ✓ | ✗ | ? | ? | ? | ? | ? | ? | ||
WD90C31 | ✗ | ✗ | ? | ? | ? | ? | ? | ? | ||
WD90C33 | ✗ | ✗ | ? | ? | ? | ? | ? | ? | ||
WD90C24 | ✗ | ✗ | ? | ? | ? | ? | ? | ? | ||
WD9710-MZ | ✗ | ✗ | ? | ? | ? | ? | ? | ? | ||
Tasmania 3D | ✗ | ✗ | ? | ? | ? | ? | ? | ? |
Notes
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 [17] compatibility and preservation. |
Matrox Mystique, Millennium and Millennium II [18] |
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[19] and DOS Glide[20] 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[21][22] (pushing T&L to CPU via driver).[23][24] |
Diamond Edge 3D |
NV1 emulation is crucial for NV1 3D accelerated games[25] compatibility and preservation. |
Sound Cards
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 | ||
---|---|---|---|---|---|---|---|---|---|---|
? | ? | ? | ? | ? | ? | ? | ? |
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 | ? | ? | ✗ | ✗ | ✗ | ? | ? | ? |
Gamepads
Name | 86Box | PCem | DOSBox Pure | DOSBox-X | DOSBox Staging | MartyPC | UniPCemu | MAME | ||
---|---|---|---|---|---|---|---|---|---|---|
Gravis PC Gamepad | ? | ? | ? | ? | ? | ? | ? | ? | ||
Microsoft Sidewinder | ? | ? | ? | ? | ? | ? | ? | ? | ||
? | ? | ? | ? | ? | ? | ? | ? |
Floppy & CD-ROM drives
- 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.
External links
References
- ↑ 1.0 1.1 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.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.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.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
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 #Descriptions section for more information. - ↑ 5.0 5.1 5.2 5.3 Future goal, for more information see Descriptions section.
- ↑ 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
- ↑ Raising the Bar for IBM PC/XT Emulation: MartyPC
- ↑ Glorious_Cow's comment about MartyPC emulator.
- ↑ https://github.com/mamedev/mame/blob/master/src/devices/cpu/i86/i86.cpp
- ↑ https://github.com/mamedev/mame/blob/master/src/devices/cpu/i86/i286.cpp
- ↑ https://github.com/mamedev/mame/blob/master/src/devices/cpu/i386/i386.cpp
- ↑ https://github.com/mamedev/mame/blob/master/src/devices/cpu/i386/i386.cpp
- ↑ https://github.com/mamedev/mame/blob/master/src/devices/cpu/i386/i386.cpp
- ↑ https://github.com/schellingb/dosbox-pure/issues/300
- ↑ https://github.com/dosbox-staging/dosbox-staging/issues/339
- ↑ https://github.com/dosbox-staging/dosbox-staging/issues/3115
- ↑ 11.0 11.1 https://github.com/86Box/86Box/discussions/2909
- ↑ https://github.com/joncampbell123/dosbox-x/issues/3959#issuecomment-1400282345
- ↑ https://github.com/dosbox-staging/dosbox-staging/issues/3115
- ↑ https://pcem-emulator.co.uk/phpBB3/viewtopic.php?t=3496
- ↑ https://github.com/86Box/86Box/issues/2431
- ↑ https://github.com/sarah-walker-pcem/pcem/issues/205
- ↑ https://www.vogons.org/viewtopic.php?p=279817
- ↑ https://86box.net/2024/02/21/86box-v4-1.html
- ↑ https://www.vogons.org/viewtopic.php?t=534
- ↑ https://www.vogons.org/viewtopic.php?t=886
- ↑ https://www.pcgamingwiki.com/wiki/List_of_Direct3D_2-7_games
- ↑ https://en.wikipedia.org/wiki/Direct3D#Direct3D_7.0
- ↑ https://www.vogons.org/viewtopic.php?t=61580
- ↑ https://youtu.be/uu8uE2KRDGM
- ↑ https://www.vogons.org/viewtopic.php?f=46&t=30017