Editing POS (Pong Consoles) CPUs and Other Chips

Jump to navigation Jump to search

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision Your text
Line 1: Line 1:
 +
{{WIP}}
 
Emulation of common chips is a big part of emulating consoles and computers, this page covers all these well known parts.
 
Emulation of common chips is a big part of emulating consoles and computers, this page covers all these well known parts.
  
Line 10: Line 11:
  
 
*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.
 
*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.
+
*See also [[:Category:x86-based|*]] page for other x86 based systems software emulation.
  
 
<div style="max-width:100%; overflow:auto;">
 
<div style="max-width:100%; overflow:auto;">
Line 17: Line 18:
 
! scope="col"|Platform(s)
 
! scope="col"|Platform(s)
 
! scope="col"|Latest version
 
! scope="col"|Latest version
! scope="col"|<small>[[PC_Emulator_Comparisons#Enhancements|Enhancements]]</small>
+
! scope="col"|<small>[[#Enhancements|Enhancements]]</small>
! scope="col"|<small>[[PC_Emulator_Comparisons#Hardware_support.2C_features_and_peripherals|Hardware support, features<br/>and peripherals]]</small>
+
! scope="col"|<small>[[#Hardware_support.2C_features_and_peripherals|Hardware support, features<br/>and peripherals]]</small>
 
! scope="col"|<abbr title="Free/Libre and Open-Source Software">FLOSS</abbr>
 
! scope="col"|<abbr title="Free/Libre and Open-Source Software">FLOSS</abbr>
 
! scope="col"|Active
 
! scope="col"|Active
Line 37: Line 38:
 
|[[DOSBox]]<br/>[[DOSBox#Forks|and forks]]
 
|[[DOSBox]]<br/>[[DOSBox#Forks|and forks]]
 
|align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}
 
|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
+
|[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 0.9.9] (DOSBox Pure)<br/>[https://github.com/realnc/dosbox-core git] (DOSBox-core)<br/><small>[http://www.dosbox.com/download.php?main=1 0.74-3] (DOSBox)</small>
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> ||{{~}}
|{{~}} ||{{~}} ||{{✓}} ||{{~}}<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]]
 
|[[DREAMM]]
Line 48: Line 48:
 
|[https://github.com/dbalsom/martypc MartyPC]
 
|[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>
 
|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 0.1.3]
 
|{{?}} ||{{~}} ||{{✓}} ||{{✓}} ||{{~}}
 
|{{?}} ||{{~}} ||{{✓}} ||{{✓}} ||{{~}}
 
|-
 
|-
Line 64: Line 64:
 
|align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}
 
|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]
 
|<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://github.com/mamedev/mame/blob/master/src/devices/cpu/i386/i386.cpp#L8 *]
 
|-
 
|-
 
|[https://www.pcjs.org/ PCjs]
 
|[https://www.pcjs.org/ PCjs]
Line 133: Line 133:
 
<references group=N />
 
<references group=N />
  
===Descriptions===
+
===Comparisons===
 
{| class="mw-collapsible mw-collapsed wikitable" style="text-align:left;"
 
{| class="mw-collapsible mw-collapsed wikitable" style="text-align:left;"
 
! scope="col"|
 
! scope="col"|
 
|-
 
|-
 
|[[PCem]]/[[86Box]]/[https://pcbox-emu.xyz/ PCBox]/[https://www.varcem.com/ VARCem]:
 
|[[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.
+
These emulators provides an excellent compatibility and [[#Hardware_features_and_peripherals|hardware and peripheral support]] for MS-DOS, Windows 3.11, Windows ME/98/95 (and even [[Windows_2000/XP/Vista_emulators#Hardware_emulation|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].
 
:: 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]:
+
|[https://dosbox-x.com/ DOSBox-X]/[https://docs.libretro.com/library/dosbox_pure/ DOSBox Pure]/[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]].
 
:[[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://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://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).
 
:::[https://www.youtube.com/watch?v=fA5SaT9uDa4 0.9.5 version] brings 3dfx emulation support.
 
:::[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://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 add libretro multiplayer with emulation and tunneling of various interfaces 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.
 
::'''[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.
 
|-
 
|-
Line 176: Line 175:
 
|-
 
|-
 
|[[QEMU]]
 
|[[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'''.
+
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 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.
 
|}
 
|}
  
==Comparisons==
+
==Enhancements==
To see comparisons of what each emulator provides in terms of Enhancements and Hardware \ Peripheral support, Check the page linked below
+
''Side note: Please don't bump/spam GitHub threads/issues and feature request pages.''
{{main|PC Emulator Comparisons}}
+
{|class="wikitable" style="text-align:center; vertical-align:middle;"
 +
|- style="font-weight:bold;"
 +
! colspan=2 | Name
 +
! 86Box
 +
! PCem
 +
! DOSBox Pure
 +
! DOSBox-X
 +
! DOSBox Staging
 +
! MartyPC
 +
! UniPCemu
 +
! MAME
 +
|-
 +
| rowspan=1 | 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.<br/>Although keep in mind that preloading image would take some time, and it will require additional amount of RAM capacity.</small>
 +
| ?
 +
| ?
 +
| ?
 +
| ?
 +
| ?
 +
| ?
 +
| ?
 +
| ?
 +
|-
 +
| rowspan=4 | Post-Processing
 +
| [[Wikipedia:Category:Anti-aliasing_algorithms|Post-rendering AA]]<br/><small>(FXAA, TXAA and MLAA/SMAA)</small>
 +
| ?
 +
| ?
 +
| {{Y}}
 +
| ?
 +
| ?
 +
| ?
 +
| ?
 +
| ?
 +
|-
 +
| [[Wikipedia:Comparison_gallery_of_image_scaling_algorithms|Post-rendering scaling]]<br/><small>(Sharp bilinear, Lanczos and FSR 1)</small>
 +
| ?
 +
| ?
 +
| {{Y}}
 +
| ?
 +
| ?
 +
| ?
 +
| ?
 +
| ?
 +
|-
 +
| [[Shaders_and_filters|Filters]]
 +
| {{Y}}
 +
| {{Y}}
 +
| {{Y}}
 +
| ?
 +
| ?
 +
| ?
 +
| ?
 +
| {{Y}}
 +
|-
 +
| [[Shader_Presets|Shader Chain]]
 +
| {{N}}
 +
| {{N}}
 +
| {{Y}}
 +
| {{N}}
 +
| {{N}}
 +
| {{N}}
 +
| {{N}}
 +
| {{Y}}
 +
|-
 +
| rowspan=5 | [https://tasvideos.org/Emulatorresources/Features TAS features]
 +
| [[Wikipedia:Macro_(computer_science)|Macros/Scripts]]/[https://tasvideos.org/LuaScripting Lua]
 +
| ?
 +
| ?
 +
| ?
 +
| ?
 +
| ?
 +
| ?
 +
| ?
 +
| ?
 +
|-
 +
| Rewind
 +
| {{N}}
 +
| {{N}}
 +
| {{N}}
 +
| {{N}}
 +
| {{N}}
 +
| {{N}}
 +
| {{N}}
 +
| {{N}}
 +
|-
 +
| Fast-Forward/Turbo Speed
 +
| {{N}}
 +
| {{N}}
 +
| {{N}}
 +
| {{N}}
 +
| {{N}}
 +
| {{N}}
 +
| {{N}}
 +
| {{N}}
 +
|-
 +
| Savestates
 +
| {{N}}
 +
| {{N}}
 +
| {{N}}
 +
| {{N}}
 +
| {{N}}
 +
| {{N}}
 +
| {{N}}
 +
| {{N}}
 +
|-
 +
| [https://tasvideos.org/Movies Movie recording/playback]
 +
| {{N}}
 +
| {{N}}
 +
| {{N}}
 +
| {{N}}
 +
| {{N}}
 +
| {{N}}
 +
| {{N}}
 +
| {{N}}
 +
|-
 +
| rowspan=1 | Controls
 +
| [[Input_lag|Input lag-mitigating technique]]
 +
| {{N}}
 +
| {{N}}
 +
| {{N}}
 +
| {{N}}
 +
| {{N}}
 +
| {{N}}
 +
| {{N}}
 +
| {{N}}
 +
|-
 +
| rowspan=5 | Quality of life
 +
| Built-in [http://forum.arcadecontrols.com/index.php/topic,106405 Custom resolution/CRTSwitchRes]<br/><small>For using this on Windows OS you need [http://geedorah.com/eiusdemmodi/forum/viewtopic.php?pid=1009#p1009 CRT Emudriver].<br/>Another option is using EDID editor tool such as "Custom Resolution Utility".</small>
 +
| colspan=8 | Exclusive to [https://docs.libretro.com/guides/crtswitchres/ libretro cores] and [[GroovyMAME]] at the moment.
 +
|-
 +
| [[Save_disk_space_for_ISOs|Streamable compression format]]
 +
| {{Y}}
 +
| {{Y}}
 +
| {{Y}}
 +
| {{Y}}
 +
| {{Y}}
 +
| ?
 +
| ?
 +
| {{Y}}
 +
|-
 +
| Command Line Options
 +
| {{Y}}
 +
| {{Y}}
 +
| {{Y}}
 +
| {{Y}}
 +
| {{Y}}
 +
| ?
 +
| ?
 +
| {{Y}}
 +
|-
 +
| On-Screen Display<br/><small>Showcases messages, controller input state which is useful for speedrunners, performance data, active settings, and various notifications.</small>
 +
| ?
 +
| ?
 +
| {{Y}}
 +
| ?
 +
| ?
 +
| ?
 +
| ?
 +
| ?
 +
|-
 +
| Big Picture Mode
 +
| {{N}}
 +
| {{N}}
 +
| {{Y}}
 +
| {{N}}
 +
| {{N}}
 +
| {{N}}
 +
| {{N}}
 +
| {{Y}}
 +
|-
 +
| rowspan=3 | Misc
 +
| [https://retroachievements.org/gameList.php?c=26 RetroAchievements]
 +
| {{N}}
 +
| {{N}}
 +
| {{N}}
 +
| {{N}}
 +
| {{N}}
 +
| {{N}}
 +
| {{N}}
 +
| {{N}}
 +
|-
 +
| [[Virtual_reality#VR_game_room_simulations|EmuVR support]]
 +
| colspan=8 |  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])
 +
|-
 +
| [[Wikipedia:Category:Debugging|Debug Features]]
 +
| ?
 +
| ?
 +
| ?
 +
| ?
 +
| ?
 +
| ?
 +
| ?
 +
| ?
 +
|}
 +
 
 +
==Hardware support, features and peripherals==
 +
''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.''
 +
{|class="wikitable" style="text-align:center; vertical-align:middle;"
 +
|- style="font-weight:bold;"
 +
! Name
 +
! 86Box
 +
! PCem
 +
! DOSBox Pure
 +
! DOSBox-X
 +
! DOSBox Staging
 +
! MartyPC
 +
! UniPCemu
 +
! MAME
 +
|-
 +
! colspan=10 | Hardware features
 +
|-
 +
| [[Overclocking|Overclock]]<br/><small>Overclocking DRAM timings or CPU core frequency and CPU ring ratio from BIOS like using the real hardware.</small>
 +
| {{Y}}
 +
| ?
 +
| {{N}}
 +
| {{N}}
 +
| {{N}}
 +
| {{N}}
 +
| {{N}}
 +
| {{N}}
 +
|-
 +
! colspan=10 | x86 CPUs
 +
|-
 +
| [[Wikipedia:8086|8086]]
 +
| {{Y}}
 +
| {{Y}}
 +
| {{~}}<ref group=N3 name=DOSBoxForksCPU>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 [[#Comparisons|comparisons]] section for more information.</ref>
 +
| {{~}}<ref group=N3 name=DOSBoxForksCPU></ref>
 +
| {{~}}<ref group=N3 name=DOSBoxForksCPU></ref>
 +
| {{Y}}
 +
| {{Y}}
 +
| {{Y}}[https://github.com/mamedev/mame/blob/master/src/devices/cpu/i86/i86.cpp *]
 +
|-
 +
| [[Wikipedia:Intel_80286|80286]]
 +
| {{Y}}
 +
| {{Y}}
 +
| {{~}}<ref group=N3 name=DOSBoxForksCPU></ref>
 +
| {{~}}<ref group=N3 name=DOSBoxForksCPU></ref>
 +
| {{~}}<ref group=N3 name=DOSBoxForksCPU></ref>
 +
| {{N}}<ref group=N3 name=MartyPCCPU>Future goal, for more information see [[#Comparisons|comparisons]] section.</ref>
 +
| {{Y}}
 +
| {{Y}}[https://github.com/mamedev/mame/blob/master/src/devices/cpu/i86/i286.cpp *]
 +
|-
 +
| [[Wikipedia:I386|386]]
 +
| {{Y}}
 +
| {{Y}}
 +
| {{~}}<ref group=N3 name=DOSBoxForksCPU></ref>
 +
| {{~}}<ref group=N3 name=DOSBoxForksCPU></ref>
 +
| {{~}}<ref group=N3 name=DOSBoxForksCPU></ref>
 +
| {{N}}<ref group=N3 name=MartyPCCPU></ref>
 +
| {{Y}}
 +
| {{Y}}[https://github.com/mamedev/mame/blob/master/src/devices/cpu/i386/i386.cpp *]
 +
|-
 +
| [[Wikipedia:I486|486]]
 +
| {{Y}}
 +
| {{Y}}
 +
| {{~}}<ref group=N3 name=DOSBoxForksCPU></ref>
 +
| {{~}}<ref group=N3 name=DOSBoxForksCPU></ref>
 +
| {{~}}<ref group=N3 name=DOSBoxForksCPU></ref>
 +
| {{N}}<ref group=N3 name=MartyPCCPU></ref>
 +
| {{Y}}
 +
| {{Y}}[https://github.com/mamedev/mame/blob/master/src/devices/cpu/i386/i386.cpp *]
 +
|-
 +
| [[Wikipedia:Am5x86|Am5x86]]
 +
| {{Y}}
 +
| {{Y}}
 +
| {{N}}
 +
| {{N}}
 +
| {{N}}
 +
| {{N}}
 +
| {{N}}
 +
| {{N}}
 +
|-
 +
| [[Wikipedia:Cyrix_5x86|Cyrix 5x86]]
 +
| {{Y}}
 +
| {{Y}}
 +
| {{N}}
 +
| {{N}}
 +
| {{N}}
 +
| {{N}}
 +
| {{N}}
 +
| {{N}}
 +
|-
 +
| [[Wikipedia:AMD_K5|K5]]
 +
| {{Y}}
 +
| {{Y}}
 +
| {{N}}
 +
| {{N}}
 +
| {{N}}
 +
| {{N}}
 +
| {{N}}
 +
| {{N}}
 +
|-
 +
| [[Wikipedia:Cyrix_6x86|Cyrix 6x86]]
 +
| {{Y}}
 +
| {{Y}}
 +
| {{N}}
 +
| {{N}}
 +
| {{N}}
 +
| {{N}}
 +
| {{N}}
 +
| {{N}}
 +
|-
 +
| [[Wikipedia:AMD_K6|K6]]
 +
| {{Y}}
 +
| {{Y}}
 +
| {{N}}
 +
| {{N}}
 +
| {{N}}
 +
| {{N}}
 +
| {{N}}
 +
| {{?}}
 +
|-
 +
| [[Wikipedia:AMD_K6-2|K6-II]]
 +
| {{Y}}
 +
| {{Y}}
 +
| {{N}}
 +
| {{N}}
 +
| {{N}}
 +
| {{N}}
 +
| {{N}}
 +
| {{?}}
 +
|-
 +
| [[Wikipedia:AMD_K6-III|K6-III<br/>K6-III+<br/>K6-2+]]
 +
| {{Y}}
 +
| {{Y}}
 +
| {{N}}
 +
| {{N}}
 +
| {{N}}
 +
| {{N}}
 +
| {{N}}
 +
| {{?}}
 +
|-
 +
| [[Wikipedia:Pentium_(original)|Pentium<br/>Pentium MMX]]
 +
| {{Y}}
 +
| {{Y}}
 +
| {{~}}<ref group=N3 name=DOSBoxForksCPU></ref>
 +
| {{~}}<ref group=N3 name=DOSBoxForksCPU></ref>
 +
| {{~}}<ref group=N3 name=DOSBoxForksCPU></ref>
 +
| {{N}}
 +
| {{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>
 +
|-
 +
| [[Wikipedia:Pentium_Pro|Pentium Pro]]
 +
| {{Y}}
 +
| {{Y}}
 +
| {{N}}
 +
| {{N}}
 +
| {{N}}
 +
| {{N}}
 +
| {{Y}}
 +
| {{~}}<ref group=N3 name=MAMEPentium></ref>
 +
|-
 +
| [[Wikipedia:Pentium_II|Pentium II]]
 +
| {{Y}}
 +
| {{Y}}
 +
| {{~}}<ref group=N3 name=DOSBoxForksCPU></ref>
 +
| {{~}}<ref group=N3 name=DOSBoxForksCPU></ref>
 +
| {{~}}<ref group=N3 name=DOSBoxForksCPU></ref>
 +
| {{N}}
 +
| {{Y}}
 +
| {{~}}<ref group=N3 name=MAMEPentium></ref>
 +
|-
 +
| [[Wikipedia:Celeron#P6-based_Celerons|Celeron (P6)]]
 +
| {{Y}}
 +
| {{Y}}
 +
| {{N}}
 +
| {{N}}
 +
| {{N}}
 +
| {{N}}
 +
| {{?}}
 +
| {{N}}
 +
|-
 +
| [[Wikipedia:Cyrix_III|Cyrix III]]
 +
| {{Y}}
 +
| {{Y}}
 +
| {{N}}
 +
| {{N}}
 +
| {{N}}
 +
| {{N}}
 +
| {{?}}
 +
| {{N}}
 +
|-
 +
| [[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=N3 name=PentiumIIIandAthlon></ref>
 +
| {{~}}<ref group=N3 name=DOSBoxForksCPU></ref>
 +
| {{~}}<ref group=N3 name=DOSBoxForksCPU></ref>
 +
| {{~}}<ref group=N3 name=DOSBoxForksCPU></ref>
 +
| {{N}}
 +
| {{N}}
 +
| ?
 +
|-
 +
| [[Wikipedia:Pentium_III|Pentium III]]
 +
| {{~}}<ref group=N3 name=PentiumIIIandAthlon></ref>
 +
| {{N}}<ref group=N3 name=PentiumIIIandAthlon></ref>
 +
| {{~}}<ref group=N3 name=DOSBoxForksCPU></ref>
 +
| {{~}}<ref group=N3 name=DOSBoxForksCPU></ref>
 +
| {{N}}
 +
| {{N}}
 +
| {{N}}
 +
| {{~}}<ref group=N3 name=MAMEPentium></ref>
 +
|-
 +
! colspan=10 | 3D accelerators<ref group=N3>[https://pcem-emulator.co.uk/phpBB3/viewtopic.php?t=3499 PCem thread: Future graphics card emulation], [[86Box#Hardware_support]]</ref>
 +
|-
 +
| [https://www.vogons.org/viewtopic.php?t=534 3Dfx Voodoo]
 +
| {{Y}}
 +
| {{Y}}
 +
| {{Y}}
 +
| {{Y}}
 +
| {{Y}}[https://github.com/dosbox-staging/dosbox-staging/issues/339 *]
 +
| {{N}}
 +
| {{N}}
 +
| ?
 +
|-
 +
| [https://www.vogons.org/viewtopic.php?t=534 3Dfx Voodoo 2/3/Banshee]
 +
| {{Y}}
 +
| {{Y}}
 +
| {{N}}
 +
| {{N}}
 +
| {{N}}[https://github.com/dosbox-staging/dosbox-staging/issues/3115 *]
 +
| {{N}}
 +
| {{N}}
 +
| ?
 +
|-
 +
| [https://www.vogons.org/viewtopic.php?t=534 3Dfx Voodoo 4/5]
 +
| {{N}}[https://github.com/86Box/86Box/discussions/2909 *]
 +
| {{N}}[https://pcem-emulator.co.uk/phpBB3/viewtopic.php?t=3496 *]
 +
| {{N}}[https://github.com/joncampbell123/dosbox-x/issues/3959#issuecomment-1400282345 *]
 +
| {{N}}
 +
| {{N}}[https://github.com/dosbox-staging/dosbox-staging/issues/3115 *]
 +
| {{N}}
 +
| {{N}}
 +
| ?
 +
|-
 +
| [https://www.vogons.org/viewtopic.php?t=20665 Diamond Edge 3D/nVidia NV1]
 +
| {{N}}[https://github.com/86Box/86Box/issues/2431 *]
 +
| {{N}}[https://github.com/sarah-walker-pcem/pcem/issues/205 *]
 +
| {{N}}
 +
| {{N}}
 +
| {{N}}
 +
| {{N}}
 +
| {{N}}
 +
| {{N}}
 +
|-
 +
! colspan=10 | Mainboards<ref group=N3>[https://github.com/86Box/86Box/issues/3577 Machine addition requests for 86Box], [[86Box#Hardware_support]]</ref>
 +
|-
 +
|
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
|-
 +
! colspan=10 | Sound cards
 +
|-
 +
|
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
|-
 +
! colspan=10 | Network cards<ref group=N3>You can simulate retro web browsing using [[Preservation_projects#Proxy_Projects_for_Retro_Web_Browsing|these Proxy projects]] with some of these emulators.</ref>
 +
|-
 +
|
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
| {{?}}
 +
|}
 +
<references group=N3/>
  
 
=68k CPUs=
 
=68k CPUs=
Line 190: Line 670:
 
:[[Wikipedia:PowerPC]]
 
:[[Wikipedia:PowerPC]]
 
See [[:Category:PowerPC-based]] page for PPC-based systems software emulation.
 
See [[:Category:PowerPC-based]] page for PPC-based systems software emulation.
 
=ARM CPUs=
 
:[[Wikipedia:ARM_architecture_family]]
 
See [[:Category:ARM-based]] page for ARM-based systems software emulation.
 
 
=MIPS CPUs=
 
:[[Wikipedia:MIPS_architecture]]
 
See [[:Category:MIPS-based]] page for MIPS-based systems software emulation.
 
 
=8-bit CPUs=
 
*See [[:Category:Z80-based]] page for Z80-based systems software emulation.
 
*See [[:Category:6502-based]] page for 6502-based systems software emulation.
 
  
 
=SOC's (System On A Chip)=
 
=SOC's (System On A Chip)=
Line 1,006: Line 1,474:
 
|
 
|
 
|
 
|
 +
|}
 +
 +
=[[wikipedia:Signetics 2650|Signetics 2650]]=
 +
The Signetics 2650 was an 8-bit microprocessor at 1.2 MHz introduced in July 1975.
 +
 +
See [[Emerson_Arcadia_2001_emulators]] for Signetics 2650-based chips software emulation.
 +
 +
{|class="mw-collapsible mw-collapsed wikitable" style="text-align:left;"
 +
!scope="col"|Machine
 +
!scope="col"|Developer
 +
!scope="col"|Type
 +
!scope="col"|Year
 +
|-
 +
|PIPBUG- and BINBUG-based
 +
|Signetics
 +
|Computer
 +
|1977
 +
|-
 +
|Central Data 2650
 +
|
 +
|Computer
 +
|1977
 +
|-
 +
|Dolphin
 +
|
 +
|Computer
 +
|1977
 +
|-
 +
|Instructor 50
 +
|Signetics
 +
|Computer
 +
|1978
 +
|-
 +
|MIKIT 2650
 +
|
 +
|Computer
 +
|1978
 +
|-
 +
|[[wikipedia:Interton VC 4000|VC 4000]]
 +
|Interton
 +
|Console
 +
|1978
 +
|-
 +
|[[wikipedia:Elektor TV Games Computer|TV Games Computer]]
 +
|Elektor
 +
|Computer
 +
|1979
 +
|-
 +
|[https://www.gamesdatabase.org/game/arcade/galaxia Galaxia]
 +
|Zaccaria
 +
|Arcade
 +
|1979
 +
|-
 +
|[https://www.gamesdatabase.org/game/arcade/astro-wars Astro Wars]
 +
|Zaccaria
 +
|Arcade
 +
|1980
 +
|-
 +
|PHUNSY
 +
|
 +
|Computer
 +
|1980
 +
|-
 +
|[https://www.gamesdatabase.org/game/arcade/laser-battle Laser Battle]
 +
|Zaccaria
 +
|Arcade
 +
|1981
 +
|-
 +
|[https://www.gamesdatabase.org/game/arcade/lazarian Lazarian]
 +
|Zaccaria
 +
|Arcade
 +
|1981
 +
|-
 +
|[https://www.gamesdatabase.org/game/arcade/malzak Malzak]
 +
|Kitronix
 +
|Arcade
 +
|1981
 +
|-
 +
|[https://www.gamesdatabase.org/game/arcade/malzak-ii Malzak II]
 +
|Kitronix
 +
|Arcade
 +
|1981
 +
|-
 +
|[[wikipedia:Arcadia 2001|Arcadia 2001]]
 +
|Emerson
 +
|Console
 +
|1982
 +
|-
 +
|Chaos 2
 +
|
 +
|Computer
 +
|1983
 +
|-
 +
|Selbstbaucomputer <br> (2650 Minimal Computer)
 +
|Ravensburger
 +
|Computer
 +
|1984
 +
|-
 +
|Type-right machine
 +
|VTech
 +
|Computer
 +
|1985
 
|}
 
|}
  
Line 1,013: Line 1,583:
 
* [https://www.vogons.org VOGONS]
 
* [https://www.vogons.org VOGONS]
  
----
+
=References=
{{NEL}}
+
[[Category:Hardware]]
 
[[Category:Computer emulators]]
 
[[Category:Computer emulators]]
[[Category:X86-based|*]]
+
[[Category:Hardware Emulation lists]]
[[Category:Various Emulation]]
 
[[Category:Microcontrollers|*]]
 
 
{{Consoles}}
 
{{Consoles}}

Please note that all contributions to Emulation General Wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see Emulation General Wiki:Copyrights for details). Do not submit copyrighted work without permission!

To edit this page, please answer the question that appears below (more info):

Cancel Editing help (opens in new window)