Difference between revisions of "Intel CPUs"

From Emulation General Wiki
Jump to navigation Jump to search
(I included the 86Box Jenkins page.)
(46 intermediate revisions by 17 users not shown)
Line 1: Line 1:
The PC platform is an open architecture system that was originally designed by IBM 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 success of the PC architecture in the 1980s prompted Intel to iterate on its x86 processors, which is why this page is called '''Intel CPUs'''.
+
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 massive success of the PC architecture prompted Intel to iterate on its x86 processors, which is why this page is called '''Intel CPUs'''.
  
The history of the PC is comprehensive, but a good summary is that almost every component of the 5150 was off-the-shelf (i.e. parts that IBM didn't make themselves or sign an exclusivity agreement for others to use). IBM hoped that if clones popped up, they could sue them using the firmware in the BIOS, which they had [[Licensing|copyright]] over. However, Compaq came up with a replacement firmware based solely on documentation from IBM that they made publicly available, which they defended as a clean-room reimplementation. As a result, IBM lost control over the platform. The next major iteration would come from Intel in 1995 called ATX.
+
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.
+
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.
  
 
==Emulators==
 
==Emulators==
 
+
<div style="max-width:100%; overflow:auto;">
 
{| class="wikitable" style="text-align:center;"
 
{| class="wikitable" style="text-align:center;"
 
! scope="col"|Name
 
! scope="col"|Name
 
! scope="col"|Platform(s)
 
! scope="col"|Platform(s)
! scope="col"|Latest Version
+
! scope="col"|Latest version
 
! scope="col"|8086<nowiki>*¹</nowiki>
 
! scope="col"|8086<nowiki>*¹</nowiki>
 
! scope="col"|286
 
! scope="col"|286
Line 18: Line 18:
 
! scope="col"|Pentium II<nowiki>*⁵</nowiki>
 
! scope="col"|Pentium II<nowiki>*⁵</nowiki>
 
! scope="col"|Celeron<nowiki>*⁶</nowiki>
 
! scope="col"|Celeron<nowiki>*⁶</nowiki>
 +
! scope="col"|Pentium III<nowiki>*⁷</nowiki>
 +
! scope="col"|Pentium 4<nowiki>*⁸</nowiki>
 
! 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
! scope="col"|[[Recommended Emulators|Recommended]]
+
! scope="col"|[[Recommended emulators|Recommended]]
 
|-
 
|-
!colspan="13"|PC / x86
+
!colspan="16"|PC / x86
 
|-
 
|-
 
|[[86Box]]
 
|[[86Box]]
|align=left|{{Icon|Windows}}
+
|align=left|{{Icon|Windows|Linux|Mac}}
|[https://github.com/86Box/86Box Git]
+
|[https://github.com/86Box/86Box {{86BoxVer}}]<br/>[http://ci.86box.net/job/86Box Dev]  
|{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}}
+
|{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✗}} ||{{✗}} ||{{✓}} ||{{✓}} ||{{✓}}
 
|-
 
|-
 
|[[PCem]]
 
|[[PCem]]
 
|align=left|{{Icon|Windows|Linux|Mac}}
 
|align=left|{{Icon|Windows|Linux|Mac}}
|[http://pcem-emulator.co.uk {{PCemVer}}] [https://github.com/PCemOnMac/PCemV14MacOSX/releases Uo mac 14]
+
|[http://pcem-emulator.co.uk {{PCemVer}}]<br/>[https://github.com/PCemOnMac/PCemV17macOS/releases git] <small>(macos)</small>
|{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{}} ||{{✓}}
+
|{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✗}} ||{{✗}} ||{{✓}} ||{{}} ||{{✓}}
 
|-
 
|-
|[[DOSBox#DOSBox-X|DOSBox-X]]
+
|[[DOSBox#Forks|DOSBox-X]]
 
|align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}
 
|align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}
 
|[https://github.com/joncampbell123/dosbox-x/releases {{DOSBox-XVer}}]
 
|[https://github.com/joncampbell123/dosbox-x/releases {{DOSBox-XVer}}]
|{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✗}} ||{{✗}} ||{{✓}} ||{{✓}} ||{{✓}}
+
|{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✗}} ||{{✓}} ||{{✗}} ||{{✓}} ||{{✓}} ||{{✓}}
 
|-
 
|-
 
|[[DOSBox]]
 
|[[DOSBox]]
 
|align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}
 
|align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}
 
|[http://www.dosbox.com/download.php?main=1 0.74-3] <br /> [http://www.dosbox.com/wiki/SVN_Builds#List_of_SVN_Builds SVN]
 
|[http://www.dosbox.com/download.php?main=1 0.74-3] <br /> [http://www.dosbox.com/wiki/SVN_Builds#List_of_SVN_Builds SVN]
|{{✗}} ||{{✓}} ||{{✓}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✓}} ||{{✓}} ||{{✓}}
+
|{{✗}} ||{{✓}} ||{{✓}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✓}} ||{{✓}} ||{{✓}}
 +
|-
 +
|UniPCemu
 +
|align=left|{{Icon|Windows}}
 +
|[https://superfury.itch.io/unipcemu itch.io]
 +
|{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✓}} ||{{✓}} ||{{TBD}}
 +
|-
 +
|[https://pcbox.github.io/ PCBox]
 +
|align=left|{{Icon|Windows|Linux}}
 +
|[https://github.com/PCBox/PCBox git]
 +
|{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{~}} ||{{✓}} ||{{✓}} ||{{~}}
 +
|-
 +
|[https://www.varcem.com VARCem]
 +
|align=left|{{Icon|Windows|Linux|Mac}}
 +
|[https://www.varcem.com/?page=dl Builds]
 +
|{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{~}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✓}} ||{{✗}} ||{{✗}}
 
|-
 
|-
 
|[[Bochs]]
 
|[[Bochs]]
|align=left|{{Icon|Windows|Linux|FreeBSD|BeOS}}<br>{{Icon|OS2|AmigaOS|MorphOS}}
+
|align=left|{{Icon|Windows|Linux|FreeBSD|BeOS|OS2|AmigaOS|MorphOS}}
|[https://sourceforge.net/projects/bochs/files/bochs/ {{BochsVer}}]
+
|[https://sourceforge.net/projects/bochs/files/bochs {{BochsVer}}]
|{{✗}} ||{{✗}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✗}}
+
|{{✗}} ||{{✗}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✗}} ||{{✗}}
 
|-
 
|-
|PCjs
+
|[https://www.pcjs.org/ PCjs]
 
|align=left|{{Icon|Web}}
 
|align=left|{{Icon|Web}}
|[https://github.com/jeffpar/pcjs Git]
+
|[https://github.com/jeffpar/pcjs git]
|{{✓}} ||{{✓}} ||{{✓}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✓}} ||{{✓}} ||{{✗}}
+
|{{✓}} ||{{✓}} ||{{✓}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✓}} ||{{✓}} ||{{✗}}
 
|-
 
|-
 
|[[MAME]]
 
|[[MAME]]
 
|align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}
 
|align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}
 
|[http://www.mamedev.org/release.html {{MAMEVer}}]
 
|[http://www.mamedev.org/release.html {{MAMEVer}}]
|{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{~}} ||{{~}} ||{{~}} ||{{✓}} ||{{✓}} ||{{✗}}
+
|{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{~}} ||{{~}} ||{{~}} ||{{~}} ||{{~}} ||{{✓}} ||{{✓}} ||{{✗}}
 
|-
 
|-
 
|[[QEMU]]
 
|[[QEMU]]
 
|align=left|{{Icon|Windows|Linux|macOS}}
 
|align=left|{{Icon|Windows|Linux|macOS}}
 
|[https://www.qemu.org/download/ {{QEMUVer}}]
 
|[https://www.qemu.org/download/ {{QEMUVer}}]
|{{✗}} ||{{✗}} ||{{✗}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}}<ref group=N name=conroe>Supports the [[wikipedia:Conroe_(microprocessor)|Conroe]] model.</ref> ||{{✓}} ||{{✓}} ||{{✗}}
+
|{{✗}} ||{{✗}} ||{{✗}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}}<ref group=N name=conroe>Supports the [[wikipedia:Conroe_(microprocessor)|Conroe]] model.</ref> ||{{✓}} ||{{✗}} ||{{✓}} ||{{✓}} ||{{✗}}
 
|-
 
|-
!colspan="13"|Mobile / ARM
+
!colspan="16"|Mobile / ARM
 
|-
 
|-
|[[QEMU]]
+
|Magic DOSBox
|align=left|{{Icon|Android|WinMobile}}
+
|align=left|{{Icon|Android}}
|[https://github.com/limboemu/limbo/wiki {{QEMUVer}}]
+
|[https://play.google.com/store/apps/details?id=bruenor.magicbox 1.0.84]
[https://forum.xda-developers.com/attachments/qemu-7z.475570 WinMobile build]
+
|{{✗}} ||{{✓}} ||{{✓}} ||{{✗}} ||{{✗}} ||{{}} ||{{}} ||{{}} ||{{}} ||{{}} ||{{✓}} ||{{✓}}
|{{✗}} ||{{✗}} ||{{✗}} ||{{}} ||{{}} ||{{}} ||{{}}<ref group=N name=conroe /> ||{{}} ||{{✓}} ||{{✓}}
 
 
|-
 
|-
|[[Bochs]]
+
|UniPCemu
 
|align=left|{{Icon|Android}}
 
|align=left|{{Icon|Android}}
|[https://sourceforge.net/projects/bochs/files/bochs/ {{BochsVer}}]
+
|[https://superfury.itch.io/unipcemu itch.io]
|{{}} ||{{}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{}} ||{{}} ||{{✓}} ||{{✓}} ||{{}}
+
|{{}} ||{{}} ||{{}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✗}} ||{{✗}} ||{{}} ||{{✓}} ||{{✓}} ||{{TBD}}
 
|-
 
|-
|aDOSBox
+
|[[QEMU|Limbo]]
|align=left|{{Icon|Android}}
+
|align=left|{{Icon|Android|WinMobile}}
|0.2.5
+
|[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 /> ||{{}} ||{{✗}} ||{{✓}} ||{{}} ||{{✗}}
 
|-
 
|-
|AnDOSBox
+
|[[Bochs]]
 
|align=left|{{Icon|Android}}
 
|align=left|{{Icon|Android}}
|[https://play.google.com/store/apps/details?id=com.locnet.dosbox 1.2.8]
+
|[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
+
|DOSBox Turbo
 
|align=left|{{Icon|Android}}
 
|align=left|{{Icon|Android}}
 
|[https://play.google.com/store/apps/details?id=com.fishstix.dosbox 2.2.0]
 
|[https://play.google.com/store/apps/details?id=com.fishstix.dosbox 2.2.0]
|{{✗}} ||{{✓}} ||{{✓}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||? ||{{✗}} ||{{✗}}
+
|{{✗}} ||{{✓}} ||{{✓}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}}
 
|-
 
|-
|gDosBox
+
|gDOSBox
 
|align=left|{{Icon|Android}}
 
|align=left|{{Icon|Android}}
|[https://play.google.com/store/apps/details?id=org.gemesys.android.dosbox 0.7.5.5]
+
|[https://m.apkpure.com/gdosbox-dosbox-for-android/org.gemesys.android.dosbox 0.7.5.5]
|{{✗}} ||{{✓}} ||{{✓}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||? ||{{}} ||{{✗}}
+
|{{✗}} ||{{✓}} ||{{✓}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{}} ||{{✗}}
 
|-
 
|-
|Magic DosBox
+
|aDOSBox
 
|align=left|{{Icon|Android}}
 
|align=left|{{Icon|Android}}
|[https://play.google.com/store/apps/details?id=bruenor.magicbox 1.0.72]
+
|[https://f-droid.org/en/packages/org.hystudio.android.dosbox/ 0.2.5]
|{{✗}} ||{{✓}} ||{{✓}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||? ||{{✓}} ||{{✗}}
+
|{{✗}} ||{{✓}} ||{{✓}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✓}} ||{{✗}} ||{{✗}}
 
|-
 
|-
 
|DOSBoxPPC
 
|DOSBoxPPC
 
|align=left|{{Icon|WinMobile}}
 
|align=left|{{Icon|WinMobile}}
 
|[http://www.freewarepocketpc.net/ppc-download-dosboxppc-v0-63.html 0.63]
 
|[http://www.freewarepocketpc.net/ppc-download-dosboxppc-v0-63.html 0.63]
|{{✗}} ||{{✓}} ||{{✓}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||? ||{{✗}} ||{{✗}}
+
|{{✗}} ||{{✓}} ||{{✓}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✗}}
 
|-
 
|-
!colspan="13"|Consoles
+
!colspan="16"|Consoles
 +
|-
 +
|UniPCemu
 +
|align=left|{{Icon|PSP|Switch|Vita}}
 +
|[https://superfury.itch.io/unipcemu itch.io]
 +
|{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✗}} ||{{✗}} ||{{✗}} ||{{✓}} ||{{✓}} ||{{TBD}}
 
|-
 
|-
 
|[[Bochs]]
 
|[[Bochs]]
 
|align=left|{{Icon|PS2}}
 
|align=left|{{Icon|PS2}}
|[http://ps2dev.karashome.tk 2.3.5]
+
|[http://www.ps2dev.karashome.pl 2.3.5]
|{{✗}} ||{{✗}} ||{{✓}} ||{{✓}} ||{{✓}} ||? ||? ||? ||{{✓}} ||{{✗}}
+
|{{✗}} ||{{✗}} ||{{✓}} ||{{✓}} ||{{✓}} ||? ||? ||{{✗}} ||{{✗}} ||{{✓}} ||{{✗}} ||{{✗}}
|-
 
 
|}
 
|}
 +
</div>
 
<nowiki>*¹</nowiki>8086 emulation includes the 8088 CPU.
 
<nowiki>*¹</nowiki>8086 emulation includes the 8088 CPU.
 
<nowiki>*²</nowiki>386 emulation includes the SX and SL.
 
<nowiki>*²</nowiki>386 emulation includes the SX and SL.
Line 121: Line 142:
 
<nowiki>*⁵</nowiki>Pentium II emulation includes variants.
 
<nowiki>*⁵</nowiki>Pentium II emulation includes variants.
 
<nowiki>*⁶</nowiki>Celeron 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 />
 
<references group=N />
  
 
==Notes==
 
==Notes==
;[[DOSBox|DOSBox-X]]:The Git readme file (Under the ''Comments on what DOSBox-X is lacking'') for DOSBox-X states that "''DOSBox-X contains code only to emulate the 8088 through the Pentium Pro. If Pentium II or higher emulation is desired, consider using Bochs or QEMU instead. DOSBox-X may eventually develop Pentium II emulation...''" if the user demand is there.
+
;[[DOSBox#Forks|DOSBox-X]]:The Git readme file (Under the ''Comments on what DOSBox-X is lacking'') for DOSBox-X states that "''DOSBox-X contains code only to emulate the 8088 through the Pentium Pro. If Pentium II or higher emulation is desired, consider using Bochs or QEMU instead. DOSBox-X may eventually develop Pentium II emulation...''" if the user demand is there.
;[[MAME]]:The emulation of various CPU types seen here regarding MAME are all over the place in the change logs and seem to be confusing. But MAME has preliminary support for the families of 286, 386/i386, 486/i486 and almost the entire range of the Pentium CPUs. But the emulation of color, sound and graphics for various CPUs and PC's based on the 286/386/486 architecture are good. 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 PC's 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]]: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 the Pentium CPUs. However, the emulation of color, sound, and graphics 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.
+
::- [[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?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/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 PC's/systems based on a Pentium CPU)
 
::- [https://wiki.mamedev.org/index.php/MIS wiki.mamedev.org's list] for MACHINE_IS_SKELETON drivers (Several PC's/systems based on a Pentium CPU)
;[[PCem]]:As of 14th June 2021, PCem's original developer, Sarah Walker, has stopped working on the project. They are offering transfer of the project and github repo to another developer if interested.  
+
;[[PCem]]: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.
  
 
==CPUs==
 
==CPUs==
Line 138: Line 161:
  
 
* [[wikipedia:Intel_8086#List_of_Intel_8086|Intel 8086-1]]
 
* [[wikipedia:Intel_8086#List_of_Intel_8086|Intel 8086-1]]
After the original launch, Intel released the 8086-1 which had a clock speed of 10MHz.
+
After the original launch, Intel released the 8086-1, which had a clock speed of 10MHz.
  
 
* [[wikipedia:Intel_8086#List_of_Intel_8086|Intel 8086-2]]
 
* [[wikipedia:Intel_8086#List_of_Intel_8086|Intel 8086-2]]
Line 144: Line 167:
  
 
* [[wikipedia:Intel_8086#List_of_Intel_8086|Intel 8086-4]]
 
* [[wikipedia:Intel_8086#List_of_Intel_8086|Intel 8086-4]]
The 8086-4 CPU came after the 8086-2 CPU completely skipping 8086-3, it was clocked at 4 MHz.
+
The 8086-4 CPU came after the 8086-2 CPU, completely skipping 8086-3; it was clocked at 4 MHz.
  
 
* [[wikipedia:Intel_8086#List_of_Intel_8086|Intel I8086]]
 
* [[wikipedia:Intel_8086#List_of_Intel_8086|Intel I8086]]
Line 153: Line 176:
  
 
* [[wikipedia:Intel_80286|Intel 286]]
 
* [[wikipedia:Intel_80286|Intel 286]]
The 286 CPU was released on February 1, 1982, and had a clock speed of 4 MHz for a while then was changed to 6 MHz. 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 soon changed to 6 MHz. After that, it had a max clock speed of 25 MHz.
  
 
* [[wikipedia:Intel_80386|Intel 386DX]]
 
* [[wikipedia:Intel_80386|Intel 386DX]]
The 386DX CPU was released in October of 1985 with a clock speed of 12 MHz. The max clock speed was 33 MHz. The 386DX was supposed to be introduced at 16 MHz, but for technical reasons, they had to settle for 12 MHz.
+
The 386DX CPU was released in October of 1985 with a clock speed of 12 MHz. The max clock speed was 33 MHz. The 386DX was supposed to be introduced at 16 MHz, but they had to settle for 12 MHz for technical reasons.
  
 
* [[wikipedia:Intel_80386#The_80386SX_variant|Intel 386SX]]
 
* [[wikipedia:Intel_80386#The_80386SX_variant|Intel 386SX]]
The 386SX was released in 1988 and was intended for lower-cost PCs at the home. It has the same clock speeds as the 386DX.
+
The 386SX was released in 1988 and was intended for lower-cost PCs at homes. It has the same clock speeds as the 386DX.
  
 
* [[wikipedia:Intel_80386#The_i386SL_variant|Intel i386SL]]
 
* [[wikipedia:Intel_80386#The_i386SL_variant|Intel i386SL]]
The i386SL was released for use in portable computers around that time and had a clock speed of 20 MHz. Its max clock speed is 25 MHz.
+
The i386SL was released for use in portable computers and had a clock speed of 20 MHz. Its max clock speed is 25 MHz.
  
 
* [[wikipedia:Intel_80486|Intel i486]]
 
* [[wikipedia:Intel_80486|Intel i486]]
Line 220: Line 243:
  
 
* [[wikipedia:List_of_Intel_Pentium_microprocessors#P5_based_Pentiums|Pentium 60]]
 
* [[wikipedia:List_of_Intel_Pentium_microprocessors#P5_based_Pentiums|Pentium 60]]
The Pentium 60 CPU was released the same time as the Pentium 50 was and had a clock speed of 60 MHz.
+
The Pentium 60 CPU was released simultaneously as the Pentium 50 was and had a clock speed of 60 MHz.
  
 
* [[wikipedia:List_of_Intel_Pentium_microprocessors#P5_based_Pentiums|Pentium 66]]
 
* [[wikipedia:List_of_Intel_Pentium_microprocessors#P5_based_Pentiums|Pentium 66]]
The Pentium 66 CPU was released the same time as the Pentium 50 and 60. It had a clock speed of 67 MHz and not 66.
+
The Pentium 66 CPU was released simultaneously as the Pentium 50 and 60. However, it had a clock speed of 67 MHz and not 66.
  
 
* [[wikipedia:List_of_Intel_Pentium_microprocessors#P5_based_Pentiums|Pentium 75]]
 
* [[wikipedia:List_of_Intel_Pentium_microprocessors#P5_based_Pentiums|Pentium 75]]
Line 235: Line 258:
  
 
* [[wikipedia:List_of_Intel_Pentium_microprocessors#P5_based_Pentiums|Embedded Pentium 100]]
 
* [[wikipedia:List_of_Intel_Pentium_microprocessors#P5_based_Pentiums|Embedded Pentium 100]]
The Embedded Pentium 100 was released for computers that were not meant to be able to have different components and was clocked at 100 MHz.
+
The Embedded Pentium 100 was released for computers that were not meant to have different components and were clocked at 100 MHz.
  
 
* [[wikipedia:List_of_Intel_Pentium_microprocessors#P5_based_Pentiums|Pentium 120]]
 
* [[wikipedia:List_of_Intel_Pentium_microprocessors#P5_based_Pentiums|Pentium 120]]
Line 247: Line 270:
  
 
* [[wikipedia:List_of_Intel_Pentium_microprocessors#P5_based_Pentiums|Pentium 166]]
 
* [[wikipedia:List_of_Intel_Pentium_microprocessors#P5_based_Pentiums|Pentium 166]]
The Pentium 166 CPU was released on January 4, 1996, and had a clock speed of 167 MHz and not 166 as the name implies.
+
As the name implies, the Pentium 166 CPU was released on January 4, 1996, and had a clock speed of 167 MHz and not 166.
  
 
* [[wikipedia:List_of_Intel_Pentium_microprocessors#P5_based_Pentiums|Pentium 200]]
 
* [[wikipedia:List_of_Intel_Pentium_microprocessors#P5_based_Pentiums|Pentium 200]]
Line 256: Line 279:
  
 
* [[wikipedia:List_of_Intel_Pentium_microprocessors#P5_based_Pentiums|Embedded Pentium 133 with VRE]]
 
* [[wikipedia:List_of_Intel_Pentium_microprocessors#P5_based_Pentiums|Embedded Pentium 133 with VRE]]
It's the exact same as the Embedded Pentium 133, but with VRE.
+
It is identical with the Embedded Pentium 133 but with VRE.
  
 
* [[wikipedia:List_of_Intel_Pentium_microprocessors#P5_based_Pentiums|Embedded Pentium 166]]
 
* [[wikipedia:List_of_Intel_Pentium_microprocessors#P5_based_Pentiums|Embedded Pentium 166]]
The Embedded Pentium 166 CPU was released for computer with non-changeable parts.
+
The Embedded Pentium 166 CPU was released for computers with non-changeable parts.
  
 
</div></div>
 
</div></div>
Line 277: Line 300:
  
 
* [[wikipedia:List_of_Intel_Pentium_microprocessors#P5_based_Pentiums|Embedded Pentium MMX 200]]
 
* [[wikipedia:List_of_Intel_Pentium_microprocessors#P5_based_Pentiums|Embedded Pentium MMX 200]]
The Embedded Pentium MMX 200 CPU was released on September 29, 1997 and had a clock speed of 200 MHz. It was for computers with non-removable compents.
+
The Embedded Pentium MMX 200 CPU was released on September 29, 1997, and had a clock speed of 200 MHz. It was for computers with non-removable components.
  
 
* [[wikipedia:List_of_Intel_Pentium_microprocessors#P5_based_Pentiums|Embedded Pentium MMX 233]]
 
* [[wikipedia:List_of_Intel_Pentium_microprocessors#P5_based_Pentiums|Embedded Pentium MMX 233]]
Line 391: Line 414:
  
 
</div></div>
 
</div></div>
 +
 +
==References==
 +
{{reflist}}
  
 
==External links==
 
==External links==
 
* [https://tvtropes.org/pmwiki/pmwiki.php/UsefulNotes/IBMPersonalComputer IBM Personal Computer] at TVTropes.
 
* [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.
  
 
[[Category:Computers]]
 
[[Category:Computers]]
[[Category:Computers' emulators|*]]
+
[[Category:Computer emulators|*]]

Revision as of 22:55, 27 September 2022

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 massive success of the PC architecture prompted Intel to iterate on its x86 processors, which is why this page is called Intel CPUs.

The history of the PC is comprehensive, but a good summary is that almost every component of the 5150 was off-the-shelf. IBM hoped that if clones popped up, they could sue them for using the firmware in the BIOS, which they had copyright over as established by a lawsuit between Apple and Franklin.[1] However, Phoenix designed a clean-room replacement firmware based solely on IBM's own public documentation.[2] 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.

Emulators

Name Platform(s) Latest version 8086*¹ 286 386*² 486*³ Pentium*⁴ Pentium II*⁵ Celeron*⁶ Pentium III*⁷ Pentium 4*⁸ FLOSS Active Recommended
PC / x86
86Box Windows Linux macOS 4.1.1
Dev
PCem Windows Linux macOS v17
git (macos)
DOSBox-X Windows Linux macOS FreeBSD 2024.03.01
DOSBox Windows Linux macOS FreeBSD 0.74-3
SVN
UniPCemu Windows itch.io TBD
PCBox Windows Linux git ~ ~
VARCem Windows Linux macOS Builds ~
Bochs Windows Linux FreeBSD BeOS OS/2 AmigaOS 2.8
PCjs Web git
MAME Windows Linux macOS FreeBSD 0.264 ~ ~ ~ ~ ~
QEMU Windows Linux macOS 8.2.0 [N 1]
Mobile / ARM
Magic DOSBox Android 1.0.84
UniPCemu Android itch.io TBD
Limbo Android Windows Mobile 6.0.1
WinMobile build
[N 1]
Bochs Android 2.6.11
git
DOSBox Turbo Android 2.2.0
gDOSBox Android 0.7.5.5
aDOSBox Android 0.2.5
DOSBoxPPC Windows Mobile 0.63
Consoles
UniPCemu PSP Switch Vita itch.io TBD
Bochs PlayStation 2 2.3.5 ? ?

*¹8086 emulation includes the 8088 CPU. *²386 emulation includes the SX and SL. *³486 emulation includes variants. *⁴Pentium emulation includes variants. *⁵Pentium II emulation includes variants. *⁶Celeron emulation includes variants. *⁷Pentium III emulation includes variants. *⁸Pentium 4 emulation includes variants.

  1. 1.0 1.1 Supports the Conroe model.

Notes

DOSBox-X
The Git readme file (Under the Comments on what DOSBox-X is lacking) for DOSBox-X states that "DOSBox-X contains code only to emulate the 8088 through the Pentium Pro. If Pentium II or higher emulation is desired, consider using Bochs or QEMU instead. DOSBox-X may eventually develop Pentium II emulation..." if the user demand is there.
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 the Pentium CPUs. However, the emulation of color, sound, and graphics for various CPUs and PCs based on the 286/386/486 architecture is acceptable. 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.
- MAME compat list showing the sector for several IBM-type PC systems - most of which may work fine.
- wiki.mamedev.org's search results for Pentium (e.g. 0.100u4, 0.103u4, 0.146u3, 0.148, 0.152, 0.156)
- wiki.mamedev.org's list for MACHINE_NOT_WORKING (Few systems based on a Pentium CPU)
- wiki.mamedev.org's list for MACHINE_IS_SKELETON drivers (Several PC's/systems based on a Pentium CPU)
PCem
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.

CPUs

The 8086 CPU was released on June 8, 1978, at 5 MHz and had a max clock speed of 10 MHz.

After the original launch, Intel released the 8086-1, which had a clock speed of 10MHz.

In May/June of 1980, the 8086-2 at 8 MHz was released.

The 8086-4 CPU came after the 8086-2 CPU, completely skipping 8086-3; it was clocked at 4 MHz.

The last 8086 CPU to be released was the I8086 in May/June of 1980.

The 8088 CPU was released on July 1, 1979, and had a default clock speed of 4.77 MHz and a max clock speed of 10 MHz.

The 286 CPU was released on February 1, 1982, with a clock speed of 4 MHz, but soon changed to 6 MHz. After that, it had a max clock speed of 25 MHz.

The 386DX CPU was released in October of 1985 with a clock speed of 12 MHz. The max clock speed was 33 MHz. The 386DX was supposed to be introduced at 16 MHz, but they had to settle for 12 MHz for technical reasons.

The 386SX was released in 1988 and was intended for lower-cost PCs at homes. It has the same clock speeds as the 386DX.

The i386SL was released for use in portable computers and had a clock speed of 20 MHz. Its max clock speed is 25 MHz.

Full list of i486 CPUs

The i486DX CPU was released in 1989 and had a minimum clock speed of 20 MHz and a max clock speed of 50 MHz.

The i486SX CPU was released in September of 1991 and had a clock speed of 16 MHz. It has a max clock speed of 33 MHz.

The i486DX2 CPU was released in March of '92 and had a clock speed of 40/20 MHz. It had a max clock speed of 66/33 MHz.

The i486SL CPU was released in November of 1992 and was used for portable computers. It had a minimum clock speed of 20 MHz and a max clock speed of 33 MHz.

The i486DX2 CPU was released in June of '93 and had a clock speed of 33 MHz. Its max speed is 55 MHz.

The i486DX2-S CPU was released in June of '93 and had a clock speed of 40/20 MHz and later had a clock speed of 66/33 MHz.

The i486SX-S CPU was released in June of '93 and had a clock speed of 25 MHz. Its max clock speed was 33 MHz.

The i486SX2 was released in March of 1994 and had a clock speed of 50/25 MHz. It had a max of 66/33 MHz.

The IntelDX4 CPU was released in March of '94 and had a whopping clock speed of 75/25 MHz. It even had a more blazing clock speed of 100/33 MHz.

The i486DX2WB CPU was released in October of '94 and had a clock speed of 50/25 MHz. It also eventually had a clock speed of 66/33 MHz.

The IntelDX4WB CPU was released in October of '94 and had a whopping clock speed of 100/33 MHz.

The i486DX (P24LM) CPU was released in 1994 and had a clock speed of 90/30 MHz. Its highest clock speed is 100/33 MHz.

The i486GX CPU was released in 1994 and had a clock speed up to 33 MHz. The reason for this is for smaller portable computers.

The i486 Overdrive CPUs were meant to upgrade computers and had a clock speed of 40 MHz. It had a max clock speed of 100 MHz.

Full list of Pentium CPUs

The Pentium 50 CPU was released on March 22, 1993, and had a clock speed of 50 MHz, as the name "Pentium 50" hints.

The Pentium 60 CPU was released simultaneously as the Pentium 50 was and had a clock speed of 60 MHz.

The Pentium 66 CPU was released simultaneously as the Pentium 50 and 60. However, it had a clock speed of 67 MHz and not 66.

The Pentium 75 CPU was released on October 10, 1994, and was clocked at 75 MHz.

The Pentium 90 CPU was released on March 7, 1994, and had a clock speed of 90 MHz.

The Pentium 100 CPU was released on March 7, 1994, and had a clock speed of 100 MHz.

The Embedded Pentium 100 was released for computers that were not meant to have different components and were clocked at 100 MHz.

The Pentium 120 was released on March 27, 1995, and had a clock speed of 120 MHz.

The Pentium 133 CPU was released on June 1, 1995, and had a clock speed of 133 MHz.

The Pentium 150 CPU was released on January 4, 1996, and had a clock speed of 150 MHz.

As the name implies, the Pentium 166 CPU was released on January 4, 1996, and had a clock speed of 167 MHz and not 166.

The Pentium 200 CPU was released on June 10, 1996, and had a clock speed of 200.

The Embedded Pentium 133 CPU was released for computers that were not supposed to have changeable components. It had a clock speed of 133 MHz.

It is identical with the Embedded Pentium 133 but with VRE.

The Embedded Pentium 166 CPU was released for computers with non-changeable parts.

Full list of Pentium MMX CPUs

The Pentium MMX 166 was released on January 8, 1997, and had a clock speed of 167 MHz.

The Pentium MMX 200 was released on January 8, 1997, and had a clock speed of 200 MHz.

The Pentium MMX 233 CPU was released on June 2, 1997, and had a clock speed of 233 MHz.

The Embedded Pentium MMX 200 CPU was released on September 29, 1997, and had a clock speed of 200 MHz. It was for computers with non-removable components.

The Embedded Pentium MMX 233 CPU was released for computers with non-removable parts. It had a clock speed of 233 MHz.

Full list of Pentium Pro CPUs

The Pentium Pro 150 CPU was released on November 1, 1995, and had a clock speed of 150 MHz.

The Pentium Pro 166 CPU was released on November 1, 1995, and had a clock speed of 167 MHz.

The Pentium Pro 180 CPU was released on November 1, 1995, and had a clock speed of 180 MHz.

The Pentium Pro 200 CPU was released on November 1, 1995, and had a clock speed of 200 MHz.

Full list of Pentium II CPUs

The Pentium II 233 CPU was released on May 7, 1997, and had a clock speed of 233 MHz.

The Pentium II 266 CPU was released on May 7, 1997, and had a clock speed of 167 MHz.

The Pentium II 300 CPU was released on May 7, 1997, and had a clock speed of 300 MHz.

The Pentium II 333 CPU was released on January 26, 1998, and had a clock speed of 333 MHz.

The Pentium II Overdrive was an upgrade for computers with weaker CPUs. It was released on August 10, 1998. It had a clock speed of 333 MHz, the same as the Pentium II 333.

The Pentium II 350 was released on April 15, 1998, and had a clock speed of 350 MHz.

The Pentium II 400 was released on April 15, 1998, and had a clock speed of 400 MHz.

The Pentium II 450 was released on August 24, 1998, and had a clock speed of 450 MHz.

The Mobile Pentium II 233 was released on April 2, 1998, and had a clock speed of 233 MHz.

The Mobile Pentium II 266 was released on April 2, 1998, and had a clock speed of 266 MHz.

The Mobile Pentium II 300 CPU was released on September 9, 1998, and had a clock speed of 300 MHz.

The Mobile Pentium II 266PE was released on January 9, 1999, and had a clock speed of 267 MHz.

The Mobile Pentium II 300PE was released on January 25, 1999, and had a clock speed of 300 MHz.

The Mobile Pentium II 333 was released on January 25, 1999, and had a clock speed of 333 MHz.

The Mobile Pentium II 366 was released on January 25, 1999, and had a clock speed of 367 MHz.

The Mobile Pentium II 400 CPU was released on June 14, 1999, and had a clock speed of 400 MHz.

Full list of Celeron CPUs

The Celeron 266 CPU was released on April 15, 1998, and had a clock speed of 266 MHz.

The Celeron 300 CPU was released on June 8, 1998, and had a clock speed of 300 MHz.

The Celeron 300A CPU was released on August 24, 1998, and had a clock speed of 300 MHz.

The Celeron 333 CPU was released on August 24, 1998, and had a clock speed of 333 MHz.

The Celeron 366 CPU was released on January 4, 1999, and had a clock speed of 366 MHz.

The Celeron 400 CPU was released on January 4, 1999, and had a clock speed of 400 MHz.

The Celeron 433 CPU was released on March 22, 1999, and had a clock speed of 433 MHz.

The Celeron 466 CPU was released on April 26, 1999, and had a clock speed of 466 MHz.

The Celeron 500 CPU was released on August 2, 1999, and had a clock speed of 500 MHz.

The Celeron 533 CPU was released on January 4, 2000, and had a clock speed of 533 MHz.

References

External links