Difference between revisions of "POS (Pong Consoles) CPUs and Other Chips"

From Emulation General Wiki
Jump to navigation Jump to search
m
(x86 CPUs: dosbox-core is alternative highly accurate retroarch core notable enough to be included: https://forums.libretro.com/t/which-are-the-differences-between-dosbox-core-and-svn/37552/5)
(Tags: Mobile edit, Mobile web edit)
(2 intermediate revisions by the same user not shown)
Line 420: Line 420:
 
|[[86Box]]
 
|[[86Box]]
 
|align=left|{{Icon|Windows|Linux|Mac}}
 
|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] ([http://pcbox-emu.xyz/ PCBox])
+
|[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]
|{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{~}}<ref group=N name=PIII+>Pentium III emulation exclusive to [http://pcbox-emu.xyz/ PCBox] emulator (Pentium 4 emulation WIP at the moment). [https://86box.net/2022/03/21/why-not-p3.html 86Box: Why Not Pentium III?]</ref> ||{{✗}}<ref group=N name=PIII+></ref> ||{{✓}} ||{{✓}} ||{{✓}}
+
|{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✗}} ||{{✗}} ||{{✓}} ||{{✓}} ||{{✓}}
 +
|-
 +
|[[PCBox]]
 +
|align=left|{{Icon|Windows|Linux}}
 +
|[https://github.com/PCBox/PCBox/ git]
 +
|{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✓}} ||{{✗}} ||{{✓}} ||{{✓}} ||{{✓}}
 
|-
 
|-
 
|[[PCem]]
 
|[[PCem]]
Line 430: Line 435:
 
|[[DOSBox]]
 
|[[DOSBox]]
 
|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://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)
+
|[http://www.dosbox.com/download.php?main=1 0.74-3] (DOSBox)<br/>[https://github.com/joncampbell123/dosbox-x/releases {{DOSBox-XVer}}] (DOSBox-X)<br/>[https://dosbox-staging.github.io {{DOSBoxStagingVer}}] (DOSBox Staging)<br/>[https://yesterplay.net/dosboxece/ r4482] (DOSBox ECE)<br/>[https://github.com/schellingb/dosbox-pure/releases 0.9.7] (DOSBox Pure)<br/>[https://github.com/realnc/dosbox-core git] (DOSBox-core)
|{{~}}<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> ||{{✓}}
+
|{{~}}<ref group=N name=OnlyForks>Available exclusively on DOSBox-X, DOSBox Staging and DOSBox Pure.</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 Staging]], [[DOSBox#Forks|DOSBox ECE]], [[DOSBox#Forks|DOSBox Pure]] and [[DOSBox#Forks|DOSBox-core]] forks are still active.</ref> ||{{✓}}
 
|-
 
|-
 
|UniPCemu
 
|UniPCemu

Revision as of 03:52, 30 May 2023

Emulation of common chips is a big part of emulating consoles and computers, this page covers all these well known parts

SOC's (System On A Chip)

Model Manufacturer MAME support Emulators / Description
Elan Unknown Decent Designed and Manufactured by an unknown Chinese or Taiwanese company, Elan is one of the older SOC still used in Chinese products, dating back to around the late 90s to early 2000s. Elan is usually used in bootleg or original plug and play games / systems.
SPG243 Sunplus None
SPG250 Sunplus None
SPG288 Sunplus None
SPG289 Sunplus None
SPG293 Sunplus None
VT01 V.R. Technology None NOAC (NES-On-A-Chip) with the ability to drive an STN display directly using a modified palette.
VT02 V.R. Technology None NOAC (NES-On-A-Chip) with major enhancements compared to regular NES. What's new
VT09 V.R. Technology None NOAC (NES-On-A-Chip), a low-cost replacement for VT03.
VT168 V.R. Technology None A MOS6502-based SoC inspired by the NES but unlike NOACs, major differences made it no longer fully backward compatible with NES.
VT268 V.R. Technology None Enhanced VT168.
VT368 V.R. Technology None

CPU's & MP's (Microprocessors)

Model Manufacturer Year MAME support Emulators / Description
286 Intel 1982 None 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 Intel 1985 None 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
386SX Intel 1988 None The 386SX was released in 1988 and was intended for lower-cost home PCs. It has the same clock speeds as the 386DX.
4004 Intel 1971 None The first commercially produced microprocessor.
4040 Intel 1974 None
6800 Motorola 1974 None
68008 Motorola 1979 None
68010 Motorola 1982 None Pin-compatible with the 68000, but not 100% software compatible.
68012 Motorola 1985 None
68020 Motorola 1984 None 32-bit internal and external data and address buses, and natively 32-bit ALU.
68030 Motorola 1987 None 68020 with a memory management unit (MMU) and instruction and data caches of 256 bytes each.
68040 Motorola 1990 None First 680x0 family member with an on-chip Floating-Point Unit (FPU).
68060 Motorola 1994 None Last product in 680x0 family.
8008 Intel 1972 None
80186 Intel 1982 None
80188 Intel 1982 None
80286 Intel 1982 None First x86 processor with memory management and wide protection abilities.
80376 Intel 1989 None
80386 Intel 1985 None First 32-bit x86 processor.
80386DX Intel 1988 None The same as original 80386, just renamed.
80386EX Intel 1994 None
80386SL Intel 1990 None Power efficient version of 80386 for laptops.
80386SX Intel 1988 None Cut down version of 80386 with 16-bit data bus.
8080 Intel 1974 None
8085 Intel 1977 None
8086 Intel 1978 None The 8086 CPU was released on June 8, 1978, at 5 MHz and had a max clock speed of 10 MHz. It was also the beginning of the x86 architecture.
8086-1 Intel 1978 None After the original launch, Intel released the 8086-1, which had a clock speed of 10MHz.
8086-2 Intel 1980 None In May/June of 1980, the 8086-2 at 8 MHz was released.
8086-4 Intel 1978 None The 8086-4 CPU came after the 8086-2 CPU, completely skipping 8086-3; it was clocked at 4 MHz.
8088 Intel 1979 None 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.
AM2900 AMD 1975 None
AM29000 AMD 1975 None
COP400 National Semiconductor 1975 None
i386SL Intel 1990 None The i386SL was released for use in portable computers and had a clock speed of 20 MHz. Its max clock speed is 25 MHz.
i486 Intel 1989 None First x86 chip to include more than one million transistors.
i486DX Intel 1989 None The original i486 without clock multiplier.
i486GX Intel 1994 None Embedded ultra-low-power CPU with all features of the i486SX and 16-bit external data bus.
i486SL Intel 1992 None Low-power version of the i486DX, for laptops.
i486SX Intel 1991 None i486 without FPU.
I8086 Intel 1980 None The last 8086 CPU released was the I8086 in May/June of 1980.
Itanium Intel/HP 2001 None IA-64 instruction set simulator [1] [2]
MC14500B Motorola 1977 None
MC88100 Motorola 1988 None
Pentium Intel 1993 (Original)
1995 (P6)
1997 (MMX)
NA
PIC General Instrument \ Microchip 1975 NA
PowerPC AIM Alliance 1993 NA
RISC IBM 1975 NA
TMS1000 Texas Instruments 1974 None
Z80 Zilog 1976 None
Z8000 Zilog 1979 None
Z80000 Zilog 1986 None

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 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.

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 Dev
4.1.1
git
PCBox Windows Linux git
PCem Windows Linux macOS v17
git
git (macos)
DOSBox Windows Linux macOS FreeBSD 0.74-3 (DOSBox)
2024.03.01 (DOSBox-X)
0.80.1 (DOSBox Staging)
r4482 (DOSBox ECE)
0.9.7 (DOSBox Pure)
git (DOSBox-core)
~[N 1] ~[N 1] ~[N 1] ~[N 1] ~[N 2] ~[N 3]
UniPCemu Windows itch.io TBD
Bochs Windows Linux FreeBSD BeOS OS/2 AmigaOS 2.8 [N 4] [N 4] [N 4] [N 4] [N 4]
VARCem Windows Linux macOS Builds ~
PCjs Web git
MAME Windows Linux macOS FreeBSD 0.264 ~ ~ ~ ~ ~
QEMU Windows Linux macOS 8.2.0 [N 5]
Mobile / ARM
DOSBox Pure Android iOS libretro core
UniPCemu Android itch.io TBD
Magic DOSBox Android 1.0.84 ~
Limbo Android Windows Mobile 6.0.1
WinMobile build
[N 5]
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
DOSBox Pure Xbox One Xbox Series X/S UWP libretro core
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.

Notes

PCem/86Box/PCBox/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 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
DOSBox-X/DOSBox Pure/DOSBox Staging/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 "DOSBox forks" page of DOSBox Staging's GitHub wiki or here.
DOSBox-X is vastly different from other "DOSBox forks" in that it aims to be a complete emulation package that covers all pre-2000 DOS and Windows 9x based hardware scenarios. It features more flexibility by way of config options and an accompanying frontend to customize the DOS VM further, and beyond games it also supports standard software for DOS, as well as DOS-based Windows including Windows 3.x and 9x/ME with 3D acceleration via 3dfx emulation just like DOSBox Pure. The project also has its own wiki which contains extensive documentation on DOSBox-X, and a summary of notable added features can be seen here. While DOSBox-X currently supports emulation of IBM PC/XT/AT, Toshiba AX/J3100, IBM PCjr/Tandy, and NEC PC-9800 series architecture, the maintainer, Jonathan Campbell, does not plan to add any other MS-DOS system. This limitation is mainly done to prevent bloating of the codebase, keeping it at a manageable level for himself while also staying organized. However, the codebase does contain stubbed source files for FM Towns emulation in the event that other programmers want to add that functionality.
DOSBox Pure is a new DOSBox fork specifically built for RetroArch/Libretro. According to its project description it aims for simplicity and ease of use just like DOSBox Staging. On top of that it has an advantage over other "DOSBox forks" because of libretro features (EmuVR support, Shader presets/Overlays and configs etc.), with version 0.9.5 3dfx emulation supported.
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 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.
DOSBox Staging is a DOSBox fork that focuses on ease of use, modern technology and best practices. 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 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 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)

Popular for a few years during the 70s, they came in many kinds of cases, controls, and under many brands but all used a POC (Pong In A Chip) which are chips that contain all and only essential components to run the game of Pong and their variations. And because of this, these chips are emulated rather than individual systems.

Model Year Manufacturer Games/Modes MAME support Other support Latest version ROMs Description
3659-1C/C2566 1975 Atari Pong (Two Player) None Pong Consoles Simulation git
3659-3 1975 Atari Pong (Four Player) None None
AY-3-8500 1976 General Instruments Pong (Four Modes)
Light Gun (Two Modes)
None WinArcadia / AmiArcadia and Pong Consoles Simulation 31.0 git
AY-3-8510 1978 General Instruments NA None WinArcadia / AmiArcadia 31.0 Improved version of the AY-3-8500, games are now in colour
AY-3-8512 1978 General Instruments NA None WinArcadia / AmiArcadia 31.0 Improved version of the AY-3-8510.
AY-3-8550 1976 General Instruments NA None WinArcadia / AmiArcadia 31.0 Improved AY-3-8500 with horizontal player motion
AY-3-8600 1977 General Instruments Pong (Eight Modes) None WinArcadia / AmiArcadia 31.0
AY-3-8601 (Square Off) 1976 General Instruments Combat Squares
Racing Squares
Shooting Squares
Jungle Games (Two Modes)
None There is a possibly that this chip was never released
AY-3-8602 (Volleyball Plus) 1976 General Instruments Volleyball
Protection
Hazard
None There is a possibly that this chip was never released
AY-3-8603 (Roadrace) 1976 General Instruments Racing (Two Modes) None
AY-3-8604 (Barricade) NA General Instruments Snakes None This game is made for two players
AY-3-8605 1977 General Instruments Submarine (Three Modes) None
AY-3-8606 1977 General Instruments Breakout (Ten Modes) None
AY-3-8607 1977 General Instruments Light Gun None
AY-3-8610 1977 General Instruments Pong (Eight Modes)
Light Gun
None Improved version of the AY-3-8600
AY-3-8700 1976 General Instruments Tank Battle None
AY-3-8710 1976 General Instruments Tank Battle None
AY-3-8760 1976 General Instruments Motor Cycle (Four Modes) None
AY-3-8765 1976 General Instruments Motor Cycle (Four Modes) None
AY-3-8800 1976 General Instruments Black Jack
Draw Poker
Acey/Ducey
War
None
AY-3-8888 (Vegas) 1976 General Instruments Black Jack
Slot Machine
None
AY-3-8889 1976 General Instruments Tic-Tac-Toe
LEM (Lunar Landing Module)
None
C010073-01/C2607 1976 Atari Pong (Ten Modes) None
C010073-3 1976 Atari Pong (Four Modes) None Pong Consoles Simulation git
C010765 1977 Atari Pong (Thirty-Two Modes) None
C011500-11 / C011512-05 1977 Atari Pinball/Breakout (Seven Modes) None
CR861 (MUGS) 1977 Signetics Pong
Tank
Helicopter
None There is a possibly that this chip was never released
F4301 1976 Universal
Research Labs
Pong (Two Modes)
Racing (Two Modes)
None
K145ИК17 1980 Angstrem Unknown None A Russian POC, its likely a clone of the AY-3-8500 series. a lot of the IC's made in during the Soviet Union were clones.
M-588135 1982 Motorola None A clone of the Mitsubishi M-588135
M58816P 1977 Mitsubishi / Nintendo None Pong Consoles Simulation git M58816P is a custom chip made by Mitsubishi Electronics for Nintendo, it was used in there Color TV-Game line of console.


this console line was launched in 1977 with the release of the Color TV-Game 6, Nintendo's first console

MM-57100N 1976 National Semiconductor Pong (Three Modes) None This is the NTSC version of the chip.
MM-57105N 1976 National Semiconductor Pong (Three Modes) None This is the PAL version of the chip.
MM-57106N 1977 National Semiconductor Unknown None This is the NTSC version of the chip. There is a possibly that this chip was never released.
MM-57186N 1978 National Semiconductor Unknown None This is the PAL version of the chip. There is a possibly that this chip was never released.
MPS 7600-001 1977 Mostek Pong (Four Modes) None This is the NTSC version of the chip. the games are made for two or four players.
MPS 7601-001 1977 Mostek Pong (Four Modes) None This is the PAL version of the chip. the games are made for two or four players.
SN-76410N 1976 Texas Instruments Pong (Six Modes) None
TMS-1955 1976 Texas Instruments Pong (Four Modes) None
TMS-1965 1976 Texas Instruments Pong (Six Modes) None

Notable Consoles

On vary rare occasions, some consoles are more notable and should be treated like any other console on this site

Model MAME support No-intro collection Internet Archive Other support Latest version Description
Color TV-Game None No No Pong Consoles Simulation git

References