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:
Emulation of common chips is a big part of emulating consoles and computers, this page covers all these well known parts.
+
{{Consoles}}
 
+
{{WIP}}
=x86 CPUs=
+
Emulation of common chips is a big part of emulating consoles and computers, this page covers all these well known parts
:''This part is about software that emulate x86 CPUs, '''and also other related PC parts'''.
 
The PC platform is an open architecture system that IBM initially designed in 1980. IBM's PC 5150 is the progenitor (though in no way representative of iterative designs like the desktops and laptops you may be familiar with today).
 
 
 
The history of the PC is comprehensive, but a good summary is that almost every component of the 5150 was <abbr title="existing tech IBM neither made in-house or signed an exclusivity agreement on">off-the-shelf</abbr>. IBM hoped that if clones popped up, they could sue them for using the firmware in the BIOS, which they had [[Licensing|copyright]] over as established by [[wikipedia:Apple_Computer,_Inc._v._Franklin_Computer_Corp.|a lawsuit between Apple and Franklin]].<ref>https://www.courtlistener.com/opinion/423653/apple-computer-inc-a-california-corporation-v-franklin-computer/ Apple v. Franklin. (1983)</ref> However, [[wikipedia:Phoenix_Technologies|Phoenix]] designed a clean-room replacement firmware based solely on IBM's own public documentation.<ref>https://books.google.com/books?id=Bwng8NJ5fesC&pg=PA56 Phoenix Says Its BIOS May Foil IBM's Lawsuits. PC Mag. (1984)</ref> As a result, IBM never challenged clones that used it and promptly lost control over the platform.{{Cite}} Intel would later take up the next major iteration in 1995, called ATX.
 
 
 
Sometime in the 90s, a speedup was found in PC emulation that could run software near-natively; this became the basis for [[hypervisors]], which are different from conventional emulators listed here since they require the host architecture to be at the very least x86-compatible.
 
 
 
*Also tons of non-active obsolete DOSBox forks for Android exists, see [https://emulation.gametechwiki.com/index.php?title=POS_(Pong_Consoles)_CPUs_and_Other_Chips&diff=70741&oldid=70740#x86_CPUs this page] for that.
 
*See also [[:Category:x86-based]] for other x86 based systems software emulation or [[Windows_2000/XP/Vista_emulators|Windows XP/Vista]] and [[Windows_95/98/ME_emulators|Windows 9x]] for virtualization of these operating systems.
 
 
 
<div style="max-width:100%; overflow:auto;">
 
{| class="wikitable" style="text-align:center;"
 
! scope="col"|Name
 
! scope="col"|Platform(s)
 
! scope="col"|Latest version
 
! scope="col"|<small>[[PC_Emulator_Comparisons#Enhancements|Enhancements]]</small>
 
! scope="col"|<small>[[PC_Emulator_Comparisons#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"|Active
 
! scope="col"|[[Recommended emulators|Recommended]]
 
|-
 
!colspan="8"|PC / x86
 
|-
 
|[[86Box]]
 
|align=left|{{Icon|Windows|Linux|Mac}}
 
|[http://ci.86box.net/job/86Box Dev]<br/>[https://github.com/86Box/86Box/releases {{86BoxVer}}]<br/>[https://github.com/PCBox/PCBox/actions PCBox fork]
 
|{{~}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}}
 
|-
 
|[[PCem]]
 
|align=left|{{Icon|Windows|Linux|Mac}}
 
|[http://pcem-emulator.co.uk {{PCemVer}}]<br/>[https://github.com/sarah-walker-pcem/pcem/actions git]<br/>[https://github.com/PCemOnMac/PCemV17macOS/releases git] <small>(macos)</small>
 
|{{~}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}}
 
|-
 
|[[DOSBox]]<br/>[[DOSBox#Forks|and forks]]
 
|align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}
 
|[https://github.com/joncampbell123/dosbox-x/releases {{DOSBox-XVer}}] (DOSBox-X)<br/>[https://dosbox-staging.github.io {{DOSBoxStagingVer}}] (DOSBox Staging)<br/>[https://github.com/schellingb/dosbox-pure/releases {{DOSBox PureVer}}] (DOSBox Pure)<br/>[https://github.com/realnc/dosbox-core git] (DOSBox-core)<br/><small>''<abbr title="We recommend DOSBox forks instead of DOSBox for advanced users or those seeking specific functionalities, more feature support and modern
 
enhancements.">[http://www.dosbox.com/download.php?main=1 0.74-3] (DOSBox)</abbr>''</small>
 
|{{~}} ||{{~}} ||{{✓}} ||{{~}}<ref group=N>[[DOSBox#Forks|DOSBox-X]], [[DOSBox#Forks|DOSBox Staging]], [[DOSBox#Forks|DOSBox Pure]] and [[DOSBox#Forks|DOSBox-core]] forks are still active.</ref> ||{{✓}}
 
|-
 
|[[DREAMM]]
 
|align=left|{{Icon|Windows|Linux|macOS}}
 
|[https://aarongiles.com/dreamm {{DREAMMVer}}]
 
|{{~}}<abbr title="EPx filtering, Copy protection answer look-ups">*</abbr> ||{{~}}<abbr title="Direct3D emulation, DOS/Win32 implementation">*</abbr> ||{{✗}} ||{{✓}} ||{{~}}<abbr title="Compatibility is limited to select games">*</abbr>
 
|-
 
|[https://github.com/dbalsom/martypc MartyPC]
 
|align=left|{{Icon|Windows}}<br/>{{Icon|Linux|macOS}}<abbr title="It should build on Linux and MacOS (Including M1) but no release builds for these platforms at the moment.">*</abbr>
 
|[https://github.com/dbalsom/martypc/releases {{MartyPCVer}}]
 
|{{?}} ||{{~}} ||{{✓}} ||{{✓}} ||{{~}}
 
|-
 
|UniPCemu
 
|align=left|{{Icon|Windows}}
 
|[https://superfury.itch.io/unipcemu/devlog 2023/04/11]
 
|{{?}} ||{{~}} ||{{✓}} ||{{✓}} ||{{~}}
 
|-
 
|[https://www.varcem.com VARCem]
 
|align=left|{{Icon|Windows|Linux|Mac}}
 
|[https://www.varcem.com/?page=dl Builds]
 
|{{?}} ||{{~}}<abbr title="8086, 80286, 386, 486, Pentium">*</abbr> ||{{✓}} ||{{~}} ||{{~}}
 
|-
 
|[[MAME]]
 
|align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}
 
|<abbr title="Latest development version">git artifacts</abbr><ref group=N>[https://nightly.link/mamedev/mame/workflows/ci-windows/master CI-Windows] [https://nightly.link/mamedev/mame/workflows/ci-linux/master CI-Linux] [https://nightly.link/mamedev/mame/workflows/ci-macos/master CI-Macos]</ref></br>[http://www.mamedev.org/release.html {{MAMEVer}}]<br/>[https://buildbot.libretro.com/nightly/ libretro core]
 
|{{~}} ||{{~}} ||{{✓}} ||{{✓}} ||{{~}}
 
|-
 
|[https://www.pcjs.org/ PCjs]
 
|align=left|{{Icon|Web}}
 
|[https://github.com/jeffpar/pcjs git]
 
|{{✗}} ||{{~}}<abbr title="8086, 80286, 386">*</abbr> ||{{✓}} ||{{✓}} ||{{✗}}
 
|-
 
|[[QEMU]]
 
|align=left|{{Icon|Windows|Linux|macOS}}
 
|[https://www.qemu.org/download/ {{QEMUVer}}]
 
|{{✗}} ||{{✗}} ||{{✓}} ||{{✓}} ||{{✗}}
 
|-
 
|[[Bochs]]
 
|align=left|{{Icon|Windows|Linux|FreeBSD|BeOS|OS2|AmigaOS|MorphOS}}
 
|[https://sourceforge.net/projects/bochs/files/bochs {{BochsVer}}]
 
|{{✗}} ||{{✗}} ||{{✓}} ||{{✗}} ||{{✗}}
 
|-
 
!colspan="8"|Mobile / ARM
 
|-
 
|[[DOSBox#Forks|DOSBox Pure]]
 
|align=left|{{Icon|Android|iOS}}
 
|[https://buildbot.libretro.com/nightly/ libretro core]
 
|{{~}} ||{{~}} ||{{✓}} ||{{✓}} ||{{✓}}
 
|-
 
|UniPCemu
 
|align=left|{{Icon|Android}}
 
|[https://superfury.itch.io/unipcemu/devlog 2023/04/11]
 
|{{?}} ||{{~}} ||{{✓}} ||{{✓}} ||{{~}}
 
|-
 
|Magic DOSBox
 
|align=left|{{Icon|Android}}
 
|[https://play.google.com/store/apps/details?id=bruenor.magicbox 1.0.84]
 
|{{?}} ||{{~}}<abbr title="80286, 386">*</abbr> ||{{✗}} ||{{✓}} ||{{✗}}
 
|-
 
|[[QEMU|Limbo]]
 
|align=left|{{Icon|Android|WinMobile}}
 
|[https://virtualmachinery.weebly.com/limbo-downloads.html 6.0.1] <br>[https://forum.xda-developers.com/attachments/qemu-7z.475570 WinMobile build]
 
|{{✗}} ||{{✗}} ||{{✓}} ||{{~}} ||{{✗}}
 
|-
 
|DOSBoxPPC
 
|align=left|{{Icon|WinMobile}}
 
|[http://www.freewarepocketpc.net/ppc-download-dosboxppc-v0-63.html 0.63]
 
|{{?}} ||{{~}}<abbr title="80286, 386">*</abbr> ||{{✗}} ||{{✗}} ||{{✗}}
 
|-
 
|[[Bochs]]
 
|align=left|{{Icon|Android}}
 
|[https://play.google.com/store/apps/details?id=net.sourceforge.bochs&hl=en_US&gl=US 2.6.11] <br>[https://github.com/lubomyr/bochs git]
 
|{{✗}} ||{{✗}} ||{{✓}} ||{{✗}} ||{{✗}}
 
|-
 
!colspan="8"|Consoles
 
|-
 
|[[DOSBox#Forks|DOSBox Pure]]
 
|align=left|{{Icon|XboxOne|SXS}}
 
|[https://buildbot.libretro.com/stable/ UWP libretro core]
 
|{{~}} ||{{~}} ||{{✓}} ||{{✓}} ||{{✓}}
 
|-
 
|UniPCemu
 
|align=left|{{Icon|PSP|Switch|Vita}}
 
|[https://superfury.itch.io/unipcemu/devlog 2023/04/11]
 
|{{?}} ||{{~}} ||{{✓}} ||{{✓}} ||{{~}}
 
|-
 
|[[Bochs]]
 
|align=left|{{Icon|PS2}}
 
|[http://www.ps2dev.karashome.pl 2.3.5]
 
|{{✗}} ||{{✗}} ||{{✓}} ||{{✗}} ||{{✗}}
 
|}
 
</div>
 
<references group=N />
 
 
 
===Descriptions===
 
{| class="mw-collapsible mw-collapsed wikitable" style="text-align:left;"
 
! scope="col"|
 
|-
 
|[[PCem]]/[[86Box]]/[https://pcbox-emu.xyz/ PCBox]/[https://www.varcem.com/ VARCem]:
 
These emulators provides an excellent compatibility and [[#Hardware_features_and_peripherals|hardware and peripheral support]] for DOS-based operating systems such as [[POS_(Pong_Consoles)_CPUs_and_Other_Chips#x86_CPUs|Windows 3.x]], [[Windows_95/98/ME_emulators|Windows ME/98/95]] (and even NT-based [[Windows_2000/XP/Vista_emulators|XP/Vista]],Win7 supported but not recommended) that is beyond what "DOSBox forks" can offer but unlike "DOSBox forks" these emulators usually requires modest to top-notch [https://www.cpubenchmark.net/singleThread.html single thread performance of CPUs]. As of June 14, 2021, PCem's original developer, Sarah Walker, has stopped working on the project. It has now been taken over on December 18, 2021, by a new maintainer, Michael Manley. 86Box is a fork of PCem which is [https://github.com/86Box/86Box/issues/3577 developed more actively], while PCBox and VARCem are forks of 86Box.
 
:: One aspect commonly used to compare PCem and 86Box is the emulation performance. PCem v15 introduced a rewritten dynamic recompiler, which was primarily aimed at improving emulation performance in games; however, it also caused minor to severe performance regressions in other applications. 86Box uses the previous recompiler from PCem versions before v15, with optimizations performed by devs, as they have determined that the new one causes too many regressions to be adopted as a sensible default. There is a way for you to try out the new recompiler on 86Box, though. PCem’s emulation of some core system components, such as the Programmable Interval Timer (PIT), takes a few shortcuts to improve performance. These shortcuts are perfectly fine for games, which is what PCem targets; although, they have caused issues with the software preservation side of things. In addition to taking fewer shortcuts, 86Box also tries to follow the specifications of these components, rather than implement the minimum viable feature set, which is - once again - good enough for games, but not good enough for some other applications. Generally speaking, the more accurate a component’s emulation is made, the more host CPU horsepower it will require. In addition to taking fewer shortcuts, 86Box also tries to follow the specifications of these components, rather than implement the minimum viable feature set, which is - once again - good enough for games, but not good enough for some other applications. [https://86box.net/2022/01/07/pcem-migration-guide.html See this guide for more information].
 
|-
 
|[https://dosbox-x.com/ DOSBox-X]/[https://docs.libretro.com/library/dosbox_pure/ DOSBox Pure]/[https://github.com/realnc/dosbox-core DOSBox-core]/[https://dosbox-staging.github.io/ DOSBox Staging]:
 
:[[DOSBox]] is another option for emulating many older computer games specially for pretty good performance with low-end computers but compatibility, accuracy and [[#Hardware_features_and_peripherals|hardware support]] aren't as good as [[PCem]] or [[86Box]]. [[DOSBox]] is no longer updated but it has many "DOSBox forks" over the years. Windows 95/98/ME can be installed in "DOSBox forks" and also supports 3DFX Voodoo emulation. Even more forks are listed in the [https://github.com/dosbox-staging/dosbox-staging/wiki/DOSBox-forks "DOSBox forks" page of DOSBox Staging's GitHub wiki] or [[DOSBox#Forks|here]].
 
::'''[https://dosbox-x.com/ DOSBox-X]''' is vastly different from other "DOSBox forks" in that it aims to be a complete emulation package that covers all pre-2000 DOS and Windows 9x based hardware scenarios. It features more flexibility by way of config options and an accompanying frontend to customize the DOS VM further, and beyond games it also supports standard software for DOS, as well as DOS-based Windows including Windows 3.x and 9x/ME with 3D acceleration via 3dfx emulation. The project also has its own [https://dosbox-x.com/wiki wiki] which contains extensive documentation on DOSBox-X, and a summary of notable added features can be seen [https://dosbox-x.com/wiki/DOSBox%E2%80%90X%E2%80%99s-Feature-Highlights here]. While DOSBox-X currently supports emulation of [[#Intel_CPUs|IBM PC/XT/AT]], Toshiba AX/J3100, IBM PCjr/Tandy, and [https://emulation.gametechwiki.com/index.php/NEC_PC-9800_series NEC PC-9800 series] architecture, the maintainer, Jonathan Campbell, does not plan to add any other MS-DOS system. This limitation is mainly done to prevent bloating of the codebase, keeping it at a manageable level for himself while also staying organized. However, the codebase does contain stubbed source files for [https://emulation.gametechwiki.com/index.php/FM_Towns_emulators FM Towns] emulation in the event that other programmers want to add that functionality.<br/>
 
::'''[https://docs.libretro.com/library/dosbox_pure/ DOSBox Pure]''' is a new DOSBox fork specifically built for RetroArch/Libretro. According to its project description it aims for simplicity and ease of use just like DOSBox Staging. On top of that it has an advantage over other "DOSBox forks" because of libretro features ([https://www.youtube.com/watch?v=W8zCEf9prmQ EmuVR support], [[Shader_Presets#RetroArch.2FLibretro|Shader presets/Overlays]] and configs etc). Some of the other advantages are save-states, wider platform support (including Switch and Vita) and input auto-configuration fetched from the game database. It's good for users who want to experience their DOS games without too much hassle with settings, in a simple way akin to how console emulators deal with ROMs.
 
:::[https://www.youtube.com/watch?v=fA5SaT9uDa4 0.9.5 version] brings 3dfx emulation support.
 
:::[https://old.reddit.com/r/emulation/comments/18ctij3/dosbox_pure_098_released/ 0.9.8 version] brings further improvements to the ATAPI CD-ROM emulation for Windows 9x games with CD copy protection, add support for uncompressed CHD version 5 CD images and [https://www.libretro.com/index.php/retroarch-1-17-new-netplay-features/ add netplay] for multiplayer games that used IPX, Ethernet or a modem over the internet.
 
::'''[https://github.com/realnc/dosbox-core DOSBox-core]''' is an alternative core for RetroArch/Libretro, which focuses on being as close in use as upstream DOSBox. Its advantages include using .conf files to run games, ability to use external MIDI synths (like the Roland Sound Canvas VA, the Yamaha S-YXG50, or whatever else) so that you can get much higher quality MIDI music in dosbox-core, and has more configuration options befitting more advanced users. Its disadvantages are slightly worse input lag (like half a frame), lack of save-states and runs on less platforms (Windows, Linux, macOS and Android; consoles like Vita and Switch are unavailable)
 
::'''[https://dosbox-staging.github.io/ DOSBox Staging]''' is a DOSBox fork that focuses on ease of use, modern technology and best practices. [https://github.com/dosbox-staging/dosbox-staging/issues/339 3dfx emulation is supported] with the latest releases.
 
|-
 
|[[DREAMM]] is a new emulator that targets specific games rather than the PC platform in general. As a Quality of Life feature, when running games that originally had manual or codewheel based copy protection DREAMM provides the correct answers for the user. Games run in the emulator's built in implementations of DOS, Win32 and FM Towns OS.
 
|-
 
|[https://superfury.itch.io/unipcemu UniPCemu]
 
:The UniPCemu (Universal PC emulator) emulator, originally made to play games on the PSP, now built for Android, Windows, PSP, Nintendo Switch and PS Vita! Play your old classic PC games on Android! It's a cycle-accurate x86 emulator (previously called x86EMU before the rename, This isn't based on the other cpu-emulator called x86emu (lower case)). It's a 8086(IBM PC) up to Pentium II (Compaq Deskpro 386, Compaq Deskpro 386 with PS/2 mouse (adds PS/2 mouse to the Compaq Deskpro 386 chipset, optional BIOS ROM replacement (loading it instead, alternatively a i430fx Pentium or i440fx/i450gx Pentium Pro/Pentium II chipset with PS/2 mouse. A 85c496/7 chipset is also supported.) and seperate CMOS settings like the other architectures) emulator(with various, configurable hardware), with up to 80386 timings (80486SX and Pentium using 80386 timings or 1 cycle for newer/unknown timings/instructions, both having no floating point unit)).
 
  In basic CPU's, all generations in between are supported (8086/8088, 80186/80188, 80286, 80386sx/dx, 80486, Pentium, Pentium Pro and Pentium II. All without FPU emulated, other than software FPU emulation support using drivers).
 
  It can run many IBM PC XT games, and also various 286(*) up to Pentium II games. Support for ATAPI CD-ROM (using VIDE-CDD.SYS, OAKCDROM.SYS or compatible ATAPI drivers) also works. Many graphics cards and sound cards can be used (MIDI using a Soundfont renderer inside UniPCemu (recordable by UniPCemu's sound recording functionality) or passthrough(passthrough on Windows only, which is not recordable by the emulator's own recording functionality)), from PC speaker up to Sound Blaster 2.0 and from IBM Monochrome Display Adapter up to ET4000/W32 SVGA(up to 16M colors (in True Color mode) using it's SC15025 DAC)!
 
  EMS is available using the Lo-tech 2MB EMS board on the XT and various EMM emulation software(e.g. JEMM386, EMM386) on IBM AT and up. For more information about UniPCemu [https://superfury.itch.io/unipcemu use this link].
 
|-
 
|[https://github.com/dbalsom/martypc MartyPC]:
 
It's an open source emulator written in rust that aims to be cycle accurate for IBM PCs. Compared to other (also great) PC emulators like PCem/86box/DOSbox forks etc, MartyPC focuses on ultra accurate CGA and DMA emulation. It requires pixel perfect and cycle accurate CGA emulation as well as emulation of CRT properties like overscan.<ref>[https://int10h.org/blog/2023/07/martypc-pc-xt-emulator-raising-the-bar Raising the Bar for IBM PC/XT Emulation: MartyPC]</ref> Developer "[https://old.reddit.com/user/Glorious_Cow Glorious_Cow]" said;
 
  Of course my next target is the 286, I think it would be interesting to try to make a cycle-accurate 286. The biggest challenge is the microcode for 286 hasn't been decoded yet, but there is a high resolution 286 die shot I'd love to get my hands on... My hope is that the 286 is a more 'regular' chip than the 8088. The 8088 turned out to have a lot of odd, poorly documented behavior. I guess we'll find out.
 
  386 is sort of a long-term goal. I'll get there when I get there, but it might take another year for 286 I estimate before I tackle it. Now that I've accomplished Area 5150 I don't really have a "goal target" in mind other than running DOOM :) My 386 will not be slavishly cycle-accurate, after all, there were many variations of the 386 and clones, so which one would be accurate to? Besides the fact it's hard to write a cycle-accurate CPU at 40MHz...
 
  At that point I think MartyPC will be done chasing the hardware, I have no interest in following the CPU generations up into the Pentiums - that's probably best left to 86box - and I think I will probably turn my eye just to seeing what kind of interesting debugging features I can add. Save states and rewinding, an inline assembler or scripting language would be cool.
 
  With most end-users probably best served by using 86box, I figure my best niche going forward is being a 'retro-developer's' emulator of choice, so I am motivated to add any debug features people might request.<ref>[https://old.reddit.com/r/emulation/comments/14sb24i/raising_the_bar_for_ibm_pcxt_emulation_martypc/jr10nya/ Glorious_Cow's comment about MartyPC emulator].</ref>
 
|-
 
|[[MAME]]:
 
The emulation of various CPU types seen here regarding MAME are all over the place in the changelogs and seem confusing. However, MAME has preliminary support for the families of 286, 386/i386, 486/i486, and almost the entire range of Pentium CPUs. However, only the 286/386/486 emulation is acceptable at the moment. According to [http://www.progettoemma.net/mess/sysset.php ProjectMESS], many [http://www.progettoemma.net/mess/system.php?machine=ibm5170 IBM PC/AT 5170] family PCs running the 286 CPU have preliminary support. MAME [https://wiki.mamedev.org/index.php/MAME_0.146u3 0.146u3] (Jul 2012) added CPU types for Pentium MMX, Pentium Pro, Pentium II, Pentium III, and Pentium 4, but don't expect miracles.
 
::- [[MAME_compatibility_list#IBM|MAME compat list]] showing the sector for several IBM-type PC systems - most of which may work fine.
 
::- [https://wiki.mamedev.org/index.php?title=Special:Search&limit=500&offset=0&profile=default&search=pentium wiki.mamedev.org's search results for Pentium] (e.g. 0.100u4, 0.103u4, 0.146u3, 0.148, 0.152, 0.156)
 
::- [https://wiki.mamedev.org/index.php/MNW wiki.mamedev.org's list] for MACHINE_NOT_WORKING (Few systems based on a Pentium CPU)
 
::- [https://wiki.mamedev.org/index.php/MIS wiki.mamedev.org's list] for MACHINE_IS_SKELETON drivers (Several PCs/systems based on a Pentium CPU)
 
|-
 
|[[Bochs]]:
 
A full x86 PC emulator with a focus on development and test operating systems and other low-level software. Its lack of proper timing emulation makes it not useful, and it is often too slow for newer systems to be playable. It is thus not recommended to use Bochs. [https://sourceforge.net/p/bochs/discussion/39592/thread/17049d4e/#6bdd Bochs is not timing but functional emulator, it's emulates time in very trivial way] - one guest instruction emulated equal to one guest cycle. By tuning "IPS" setting you not anything in the way it emulates time - in opposite, you only giving a hint about emulation speed to Bochs which helps it to emulate devices like mouse or keyboard.
 
|-
 
|[[QEMU]]
 
Similar to Bochs, QEMU may not be the perfect x86 emulator, but its versatility, [[Hypervisors|hypervisor]] capabilities, and vast platform support make it a powerful tool for anyone interested in exploring the world of [[Hypervisors|virtualization]]. Its commitment to open-source development and its vibrant community ensure its continued evolution and relevance in the ever-changing world of computing. While QEMU is versatile and great for [[Hypervisors|virtualization/VMs]], if your focus is precise, reasonable and compatible x86 emulation, '''use alternatives like 86Box, PCem or even DOSBox forks'''.
 
|}
 
 
 
==Comparisons==
 
To see comparisons of what each emulator provides in terms of Enhancements and Hardware \ Peripheral support, Check the page linked below
 
{{main|PC Emulator Comparisons}}
 
 
 
=68k CPUs=
 
:[[Wikipedia:Motorola_68000]]
 
See [[:Category:68000-based]] page for m68k-based systems software emulation.
 
  
=PPC CPUs=
+
= SOC's (System On A Chip) =
:[[Wikipedia:PowerPC]]
 
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)=
 
 
<div style="max-width:100%; overflow:auto;">
 
<div style="max-width:100%; overflow:auto;">
 
{| class="mw-collapsible mw-collapsed wikitable" style="text-align:left;"
 
{| class="mw-collapsible mw-collapsed wikitable" style="text-align:left;"
Line 283: Line 83:
 
!  
 
!  
 
|-
 
|-
|80286
+
|286
 
|Intel
 
|Intel
 
|1982
 
|1982
 
|style="background:gainsboro;"|None
 
|style="background:gainsboro;"|None
|The 80286 CPU was released on February 1, 1982, with a clock speed of 4 MHz, but it soon changed to 6 MHz. After that, it had a max clock speed of 25 MHz.  
+
|The 286 CPU was released on February 1, 1982, with a clock speed of 4 MHz, but it soon changed to 6 MHz. After that, it had a max clock speed of 25 MHz.  
 
|-
 
|-
 
|386DX
 
|386DX
Line 523: Line 323:
 
|The last 8086 CPU released was the I8086 in May/June of 1980.
 
|The last 8086 CPU released was the I8086 in May/June of 1980.
 
|-
 
|-
|Itanium 2
+
|Itanium
 
|Intel/HP
 
|Intel/HP
|2002
+
|2001
 
|style="background:gainsboro;"|None
 
|style="background:gainsboro;"|None
|IA-64 instruction set simulator [http://ski.sourceforge.net/] [https://github.com/trofi/ski], executable toolkit [http://www.irisa.fr/caps/projects/ArchiCompil/iato/]
+
|IA-64 instruction set simulator [http://ski.sourceforge.net/] [https://github.com/trofi/ski]
 
|-
 
|-
 
|MC14500B
 
|MC14500B
Line 590: Line 390:
 
|}
 
|}
 
</div>
 
</div>
 +
==x86 CPUs==
 +
:''This part is about software that emulate x86 CPUs, and for some also other PC parts.
 +
The PC platform is an open architecture system that IBM initially designed in 1980. IBM's PC 5150 is the progenitor (though in no way representative of iterative designs like the desktops and laptops you may be familiar with today).
 +
 +
The history of the PC is comprehensive, but a good summary is that almost every component of the 5150 was <abbr title="existing tech IBM neither made in-house or signed an exclusivity agreement on">off-the-shelf</abbr>. IBM hoped that if clones popped up, they could sue them for using the firmware in the BIOS, which they had [[Licensing|copyright]] over as established by [[wikipedia:Apple_Computer,_Inc._v._Franklin_Computer_Corp.|a lawsuit between Apple and Franklin]].<ref>https://www.courtlistener.com/opinion/423653/apple-computer-inc-a-california-corporation-v-franklin-computer/ Apple v. Franklin. (1983)</ref> However, [[wikipedia:Phoenix_Technologies|Phoenix]] designed a clean-room replacement firmware based solely on IBM's own public documentation.<ref>https://books.google.com/books?id=Bwng8NJ5fesC&pg=PA56 Phoenix Says Its BIOS May Foil IBM's Lawsuits. PC Mag. (1984)</ref> As a result, IBM never challenged clones that used it and promptly lost control over the platform. Intel would later take up the next major iteration in 1995, called ATX.
 +
 +
Sometime in the 90s, a speedup was found in PC emulation that could run software near-natively; this became the basis for [[hypervisors]], which are different from conventional emulators listed here since they require the host architecture to be at the very least x86-compatible.
 +
 +
<div style="max-width:100%; overflow:auto;">
 +
{| class="wikitable" style="text-align:center;"
 +
! scope="col"|Name
 +
! scope="col"|Platform(s)
 +
! scope="col"|Latest version
 +
! scope="col"|8086<nowiki>*¹</nowiki>
 +
! scope="col"|286
 +
! scope="col"|386<nowiki>*²</nowiki>
 +
! scope="col"|486<nowiki>*³</nowiki>
 +
! scope="col"|<small>Pentium<nowiki>*⁴</nowiki></small>
 +
! scope="col"|<small>Pentium II<nowiki>*⁵</nowiki></small>
 +
! scope="col"|<small>Celeron<nowiki>*⁶</nowiki></small>
 +
! scope="col"|<small>Pentium III<nowiki>*⁷</nowiki></small>
 +
! scope="col"|<small>Pentium 4<nowiki>*⁸</nowiki></small>
 +
! scope="col"|<abbr title="Free/Libre and Open-Source Software">FLOSS</abbr>
 +
! scope="col"|Active
 +
! scope="col"|[[Recommended emulators|Recommended]]
 +
|-
 +
!colspan="16"|PC / x86
 +
|-
 +
|[[86Box]]
 +
|align=left|{{Icon|Windows|Linux|Mac}}
 +
|[http://ci.86box.net/job/86Box Dev]<br/>[https://github.com/86Box/86Box/releases {{86BoxVer}}]<br/>[https://github.com/PCBox/PCBox/actions/workflows/cmake.yml git]
 +
|{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✗}} ||{{✗}} ||{{✓}} ||{{✓}} ||{{✓}}
 +
|-
 +
|[[PCBox]]
 +
|align=left|{{Icon|Windows|Linux}}
 +
|[https://github.com/PCBox/PCBox/ git]
 +
|{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✗}} ||{{✓}} ||{{✓}} ||{{✓}}
 +
|-
 +
|[[PCem]]
 +
|align=left|{{Icon|Windows|Linux|Mac}}
 +
|[http://pcem-emulator.co.uk {{PCemVer}}]<br/>[https://github.com/sarah-walker-pcem/pcem/actions git]<br/>[https://github.com/PCemOnMac/PCemV17macOS/releases git] <small>(macos)</small>
 +
|{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✗}} ||{{✗}} ||{{✓}} ||{{✓}} ||{{✓}}
 +
|-
 +
|[[DOSBox]]
 +
|align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}
 +
|[https://github.com/joncampbell123/dosbox-x/releases {{DOSBox-XVer}}] (DOSBox-X)<br/>[https://github.com/schellingb/dosbox-pure/releases 0.9.7] (DOSBox Pure)<br/>[https://yesterplay.net/dosboxece/ r4481] (DOSBox ECE)<br/>[https://dosbox-staging.github.io {{DOSBoxStagingVer}}] (DOSBox Staging)<br/>[http://www.dosbox.com/download.php?main=1 0.74-3] (DOSBox)
 +
|{{~}}<ref group=N name=OnlyForks>Available exclusively on DOSBox-X, DOSBox Pure and DOSBox Staging.</ref> ||{{✓}} ||{{✓}} ||{{~}}<ref group=N name=OnlyForks></ref> ||{{~}}<ref group=N name=OnlyForks></ref> ||{{~}}<ref group=N name=OnlyForks></ref> ||{{✗}} ||{{~}}<ref group=N>Available exclusively on DOSBox-X and DOSBox Pure.</ref> ||{{✗}} ||{{✓}} ||{{~}}<ref group=N>[[DOSBox#Forks|DOSBox-X]], [[DOSBox#Forks|DOSBox ECE]], [[DOSBox#Forks|DOSBox Pure]] and [[DOSBox#Forks|DOSBox Staging]] forks are still active.</ref> ||{{✓}}
 +
|-
 +
|UniPCemu
 +
|align=left|{{Icon|Windows}}
 +
|[https://superfury.itch.io/unipcemu itch.io]
 +
|{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✓}} ||{{✓}} ||{{TBD}}
 +
|-
 +
|[[Bochs]]
 +
|align=left|{{Icon|Windows|Linux|FreeBSD|BeOS|OS2|AmigaOS|MorphOS}}
 +
|[https://sourceforge.net/projects/bochs/files/bochs {{BochsVer}}]
 +
|{{✗}} ||{{✗}} ||{{✓}} ||{{✓}} ||{{✓}}<ref group=N name=BochsCPUID>[https://bochs.sourceforge.io/doc/docbook/user/cpu-models.html If Bochs is compiled with cpu level 5 or higher the CPUID opcode is supported and it can return some information about the cpu model and it's features. When using a pre-defined CPU model in Bochs the features reported by CPUID are set up according to the model's specification. The amount of choices depends on the CPU features enabled at compile time.]</ref> ||{{✓}}<ref group=N name=BochsCPUID></ref> ||{{✓}}<ref group=N name=BochsCPUID></ref> ||{{✓}}<ref group=N name=BochsCPUID></ref> ||{{✓}}<ref group=N name=BochsCPUID></ref> ||{{✓}} ||{{✗}} ||{{✗}}
 +
|-
 +
|[https://www.varcem.com VARCem]
 +
|align=left|{{Icon|Windows|Linux|Mac}}
 +
|[https://www.varcem.com/?page=dl Builds]
 +
|{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{~}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✓}} ||{{✗}} ||{{✗}}
 +
|-
 +
|[https://www.pcjs.org/ PCjs]
 +
|align=left|{{Icon|Web}}
 +
|[https://github.com/jeffpar/pcjs git]
 +
|{{✓}} ||{{✓}} ||{{✓}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✓}} ||{{✓}} ||{{✗}}
 +
|-
 +
|[[MAME]]
 +
|align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}
 +
|[http://www.mamedev.org/release.html {{MAMEVer}}]
 +
|{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{~}} ||{{~}} ||{{~}} ||{{~}} ||{{~}} ||{{✓}} ||{{✓}} ||{{✗}}
 +
|-
 +
|[[QEMU]]
 +
|align=left|{{Icon|Windows|Linux|macOS}}
 +
|[https://www.qemu.org/download/ {{QEMUVer}}]
 +
|{{✗}} ||{{✗}} ||{{✗}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}}<ref group=N name=conroe>Supports the [[wikipedia:Conroe_(microprocessor)|Conroe]] model.</ref> ||{{✓}} ||{{✗}} ||{{✓}} ||{{✓}} ||{{✗}}
 +
|-
 +
!colspan="16"|Mobile / ARM
 +
|-
 +
|[[DOSBox#Forks|DOSBox Pure]]
 +
|align=left|{{Icon|Android|iOS}}
 +
|[https://buildbot.libretro.com/nightly/ libretro core]
 +
|{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✗}} ||{{✓}} ||{{✗}} ||{{✓}} ||{{✓}} ||{{✓}}
 +
|-
 +
|UniPCemu
 +
|align=left|{{Icon|Android}}
 +
|[https://superfury.itch.io/unipcemu itch.io]
 +
|{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✓}} ||{{✓}} ||{{TBD}}
 +
|-
 +
|Magic DOSBox
 +
|align=left|{{Icon|Android}}
 +
|[https://play.google.com/store/apps/details?id=bruenor.magicbox 1.0.84]
 +
|{{✗}} ||{{✓}} ||{{✓}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✓}} ||{{~}}
 +
|-
 +
|[[QEMU|Limbo]]
 +
|align=left|{{Icon|Android|WinMobile}}
 +
|[https://virtualmachinery.weebly.com/limbo-downloads.html 6.0.1] <br>[https://forum.xda-developers.com/attachments/qemu-7z.475570 WinMobile build]
 +
|{{✗}} ||{{✗}} ||{{✗}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}}<ref group=N name=conroe /> ||{{✓}} ||{{✗}} ||{{✓}} ||{{✓}} ||{{✗}}
 +
|-
 +
|[[Bochs]]
 +
|align=left|{{Icon|Android}}
 +
|[https://play.google.com/store/apps/details?id=net.sourceforge.bochs&hl=en_US&gl=US 2.6.11] <br>[https://github.com/lubomyr/bochs git]
 +
|{{✗}} ||{{✗}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✗}} ||{{✗}}
 +
|-
 +
|DOSBox Turbo
 +
|align=left|{{Icon|Android}}
 +
|[https://play.google.com/store/apps/details?id=com.fishstix.dosbox 2.2.0]
 +
|{{✗}} ||{{✓}} ||{{✓}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}}
 +
|-
 +
|gDOSBox
 +
|align=left|{{Icon|Android}}
 +
|[https://m.apkpure.com/gdosbox-dosbox-for-android/org.gemesys.android.dosbox 0.7.5.5]
 +
|{{✗}} ||{{✓}} ||{{✓}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}}
 +
|-
 +
|aDOSBox
 +
|align=left|{{Icon|Android}}
 +
|[https://f-droid.org/en/packages/org.hystudio.android.dosbox/ 0.2.5]
 +
|{{✗}} ||{{✓}} ||{{✓}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✓}} ||{{✗}} ||{{✗}}
 +
|-
 +
|DOSBoxPPC
 +
|align=left|{{Icon|WinMobile}}
 +
|[http://www.freewarepocketpc.net/ppc-download-dosboxppc-v0-63.html 0.63]
 +
|{{✗}} ||{{✓}} ||{{✓}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}}
 +
|-
 +
!colspan="16"|Consoles
 +
|-
 +
|[[DOSBox#Forks|DOSBox Pure]]
 +
|align=left|{{Icon|XboxOne|SXS}}
 +
|[https://buildbot.libretro.com/stable/ UWP libretro core]
 +
|{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✗}} ||{{✓}} ||{{✗}} ||{{✓}} ||{{✓}} ||{{✓}}
 +
|-
 +
|UniPCemu
 +
|align=left|{{Icon|PSP|Switch|Vita}}
 +
|[https://superfury.itch.io/unipcemu itch.io]
 +
|{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✓}} ||{{✓}} ||{{TBD}}
 +
|-
 +
|[[Bochs]]
 +
|align=left|{{Icon|PS2}}
 +
|[http://www.ps2dev.karashome.pl 2.3.5]
 +
|{{✗}} ||{{✗}} ||{{✓}} ||{{✓}} ||{{✓}} ||? ||? ||{{✗}} ||{{✗}} ||{{✓}} ||{{✗}} ||{{✗}}
 +
|}
 +
</div>
 +
<nowiki>*¹</nowiki>8086 emulation includes the 8088 CPU. <nowiki>*²</nowiki>386 emulation includes the SX and SL. <nowiki>*³</nowiki>486 emulation includes variants. <nowiki>*⁴</nowiki>Pentium emulation includes variants <nowiki>*⁵</nowiki>Pentium II emulation includes variants. <nowiki>*⁶</nowiki>Celeron emulation includes variants. <nowiki>*⁷</nowiki>Pentium III emulation includes variants. <nowiki>*⁸</nowiki>Pentium 4 emulation includes variants.
 +
<references group=N />
 +
 +
===Notes===
 +
{| class="mw-collapsible mw-collapsed wikitable" style="text-align:left;"
 +
! scope="col"|
 +
|-
 +
|[[PCem]]/[[86Box]]/[https://pcbox-emu.xyz/ PCBox]/[https://www.varcem.com/ VARCem]:
 +
These emulators provides an excellent compatibility with MS-DOS, Windows 3.11 and Windows98/95 that is beyond what "DOSBox forks" can offer. 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, while PCBox and VARCem are forks of 86Box, with PCBox being the most fully-featured of the four.
 +
:: 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
 +
|-
 +
|[https://dosbox-x.com/ DOSBox-X]/[https://docs.libretro.com/library/dosbox_pure/ DOSBox Pure]/[https://dosbox-staging.github.io/ DOSBox Staging]/[https://yesterplay.net/dosboxece/ DOSBox ECE]:
 +
:[[DOSBox]] is another option for emulating many older computer games specially for pretty good performance with low-end computers unlike [[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 but compatibility and accuracy aren't as good as PCem or 86Box. 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 just like DOSBox Pure. 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.), with [https://www.youtube.com/watch?v=fA5SaT9uDa4 version 0.9.5] 3dfx emulation supported.<br/>
 +
::'''[https://yesterplay.net/dosboxece/ DOSBox ECE]''' is another active DOSBox fork. It is based on DOSBox SVN commits but with some additional patches such as MT32, FluidSynth and contains numerous patches with improvements that have been created by various users in the [https://www.vogons.org/viewforum.php?f=53 DOSBox forums on vogons.org]. Because of that it's called "Enhanced Community Edition", ECE for short. DOSBox ECE supports emulation of a 3dfx Voodoo card via internal (software or OpenGL) wrapper.
 +
::'''[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 work-in-progress at the moment.]
 +
|-
 +
|[[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, the color, sound, and graphics emulation for various CPUs and PCs based on the 286/386/486 architecture is acceptable. According to [http://www.progettoemma.net/mess/sysset.php ProjectMESS], many [http://www.progettoemma.net/mess/system.php?machine=ibm5170 IBM PC/AT 5170] family PCs running the 286 CPU have preliminary support. MAME [https://wiki.mamedev.org/index.php/MAME_0.146u3 0.146u3] (Jul 2012) added CPU types for Pentium MMX, Pentium Pro, Pentium II, Pentium III, and Pentium 4.
 +
::- [[MAME_compatibility_list#IBM|MAME compat list]] showing the sector for several IBM-type PC systems - most of which may work fine.
 +
::- [https://wiki.mamedev.org/index.php?title=Special:Search&limit=500&offset=0&profile=default&search=pentium wiki.mamedev.org's search results for Pentium] (e.g. 0.100u4, 0.103u4, 0.146u3, 0.148, 0.152, 0.156)
 +
::- [https://wiki.mamedev.org/index.php/MNW wiki.mamedev.org's list] for MACHINE_NOT_WORKING (Few systems based on a Pentium CPU)
 +
::- [https://wiki.mamedev.org/index.php/MIS wiki.mamedev.org's list] for MACHINE_IS_SKELETON drivers (Several PCs/systems based on a Pentium CPU)
 +
|-
 +
|[[Bochs]]:
 +
A full x86 PC emulator with a focus on accuracy, that is typically used to develop and test operating systems and other low-level software. Its lack of proper timing emulation makes it not useful for anything pre-Pentium, and it is often too slow for newer systems to be playable. It is thus not recommended to use Bochs for gaming.
 +
|-
 +
|}
  
 
= Pong Consoles (Pong In A Chip) =
 
= Pong Consoles (Pong In A Chip) =
Line 1,005: Line 977:
 
|
 
|
 
|
 
|
 +
|
 +
|}
 +
</div>
 +
==Notable Consoles==
 +
On vary rare occasions, some consoles are more notable and should be treated like any other console on this site
 +
<div style="max-width:100%; overflow:auto;">
 +
{| class="mw-collapsible mw-collapsed wikitable" style="text-align:left;"
 +
! scope="col"|Model
 +
! scope="col"|[[MAME]] support
 +
! scope="col"|No-intro collection
 +
! Internet Archive
 +
! scope="col"|Other support
 +
! scope="col"|Latest version
 +
! scope="col"|Description
 +
!
 +
|-
 +
|[[Color TV-Game emulators|Color TV-Game]]
 +
|style="background:gainsboro;"|None
 +
|No
 +
|No
 +
|style="background: LightGreen;"|Pong Consoles Simulation
 +
|[https://github.com/ThomasVisvader/Pong git]
 
|
 
|
 
|}
 
|}
  
=External links=
+
==References==
* [https://tvtropes.org/pmwiki/pmwiki.php/UsefulNotes/IBMPersonalComputer IBM Personal Computer] at TVTropes.
 
* [https://betawiki.net/wiki/Windows_8_build_7700 Windows 8 build 7700] Info about the earliest Windows build to be unbootable in 86Box.
 
* [https://www.vogons.org VOGONS]
 
  
----
+
[[Category:Hardware]]
{{NEL}}
 
[[Category:Computer emulators]]
 
[[Category:X86-based|*]]
 
[[Category:Various Emulation]]
 
[[Category:Microcontrollers|*]]
 
{{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)