Arcade emulators

From Emulation General Wiki
Revision as of 21:28, 14 March 2024 by Chipsum (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
Example of a Ms. Pac-Man arcade cabinet.

Arcades were venues in which many games were played at, often containing thousands of games. Arcades often got their revenue from players who paid to play games. Most arcade emulators focus on emulating many systems in one program, the scope of which varies between projects.

Emulators[edit]

Name Platform(s) Latest Version # of Emulated systems Libretro Retro
Achievements
FLOSS Active Recommended
PC / x86
MAME Windows Linux macOS FreeBSD git artifacts[N 1]
0.265
0.265 (GroovyMAME)
0.265 (HBMAME)
Thousands[1] [N 2]
FinalBurn Neo Windows macOS libretro core
nightly
stable
Hundreds[2] [N 3] NC
Hypseus Singe Windows Linux macOS 2.11.2 1
(LaserDisc)
TeknoParrot Windows TPBootstrapper
1.0.0.140
20
(PC based)
[N 4]
Model 2 Emulator Windows 1.1a 1
(Sega Model 2)
Supermodel Windows Linux macOS model3emu-code-sinden
0.3a git
SVN
1
(Sega Model 3)
~ (WIP)
DEmul Windows 0.7 Build 180428 6
(Sega NAOMI and variants)
Visual Pinball
with
Visual PinMAME/vPinMAME
Windows Linux macOS VPX installer 10.7.2
Visual PinballX Standalone
vPinMAME 3.5
68
(Pinball)
~
DICE Windows Linux macOS 0.9 20
(Discrete circuitry-based)
Flycast Windows Linux macOS CI Builds
libretro core[N 5]
Flycast Dojo (Flycast道場)
nightly (Flathub)
2.3 (Stable)
3
(Sega NAOMI and variants)
~[N 6] ~
RAINE Windows Linux macOS 0.96.7 1063 ?
FinalBurn Alpha Windows 0.2.97.43 Hundreds[3] NC
DirkSimple Windows Linux macOS libretro core 1
(LaserDisc)
?
DAPHNE Windows Linux macOS 1.0.12 1
(LaserDisc)
~ (WIP) [N 7]
ZiNc Windows Linux 1.1 3
(ZN-1, ZN-2, Namco System 11)
*
Calice Windows 0.6.4 6
(Capcom, Sega, SNK, Gaelco)
Kawaks Windows 1.65 3
(Neo Geo, CPS1, CPS2)
CPS3 Emulator Windows 1.0a 1
(CPS3)
VivaNonno Windows 22.0.3 1
(Namco System 22)
Callus95 Windows 0.42(official)
0.42 Patch 2.4(unoficial)
1
(Capcom System 1)
Kronos Windows Linux 2.6.1 1
(STV)
~[N 6]
Nova Windows 0.6 1
(STV)
Name Platform(s) Latest Version # of Emulated systems ROM Set Libretro Retro
Achievements
FLOSS Active Recommended
Mobile / ARM
FinalBurn Neo Android iOS libretro core Hundreds[2] 1.0.0.2 NC
MAME Android iOS libretro core[N 8] Thousands[1] 0.265
MAME4droid 2024 (0.262) Android 1.12.1 git Thousands[1] MAME 0.262
MAME4droid (0.139u1) Android 1.16.9git Thousands[1] MAME 0.139u1
(mame2010)
MAME4droid (MAME4All) (0.37b5) Android 1.5.3git Thousands[1] MAME 0.37b5
(mame2000)
FinalBurn Alpha Android SVN Hundreds[3] FBA 0.2.97.42
(based on MAME 0.187)
NC
Consoles
MAME4All Nintendo DS Dreamcast GCWZero Gizmondo 1.0
?
git
0.3.0
Thousands[1] MAME 0.37b5 NC
FinalBurn Neo Xbox Saturn
PlayStation 3 Xbox 360
Wii Dingoo
libretro core Hundreds[2] 1.0.0.2 NC
Virtual Console Wii ? Various[N 9] ?
pFBN Switch Vita git 47 1.0.0.2
NJEMU PSP 2.3.5 4
(CPS1, CPS2, Neo Geo, Neo Geo CD)
MAME 0.152
Unofficial Mod PSP 2.3.1[N 10] 4
(CPS1, CPS2, Neo Geo, Neo Geo CD)
MAME 0.120 ?
FBA4PSP PSP v12.4.0 1
(CPS1)
MAME 0.141
  1. CI-Windows CI-Linux CI-Macos
  2. RetroArch cores: mame (latest), mame2016 (0.174), mame2014 (0.159), mame2010 (0.139), mame2003 (0.78), mame2000 aka mame4all (0.37b5)
  3. Exclusive to libretro core.
  4. OpenParrot - new open-source core distinct from TeknoParrot.
  5. This build using upstream repo for libretro from now on.
  6. 6.0 6.1 Exclusive to libretro cores. Only home console systems supported, there is no "ST-V" or "Sega NAOMI and variants" support at the moment.
  7. Open-Source DAPHNE - new fork with an open-source frontend for 64-bit Linux.
  8. As "mamearcade_libretro and mame_libretro_ios.dylib", 0.139 (2010), 0.78 (2003), 0.37b5 (2000)
  9. Includes games from publishers such as Namco, Sega, Tecmo and Capcom, also Neo Geo
  10. Generate cache with included romcnv utility.

Comparisons[edit]

MAME
Very extensive in scope, with the majority of arcade system boards from the 1970's, 1980's and early 1990's supported, with a minor amount of games from the 2000s being bootable and another minority of thise being playable, but buggy. Do not expect support for more recent boards, such as Atomiswave. MAME focuses on accuracy and preservation, meaning usability comes second for the end user. Only the most up to date ROM dumps will work in the latest MAME.
FinalBurn Neo
A fork of the now-inactive FinalBurn Alpha. Supports many boards, such as Neo Geo, Capcom CPS1-3, and others. It is very good for the boards it supports. The Neo Geo X system, in fact, uses FBA. It offers much better speeds on lower-end hardware than MAME and has been ported to many different devices. It has a smaller ROMset than MAME, but the ROMs are identical for the machines they share. If you have a system that is incapable of running the newest version of MAME, it is generally recommended to use FinalBurn Neo instead of a very old version of MAME.
Visual PinMAME

An emulator for the electronics of pinball systems. The simulation of most modern pinball machines (especially those made after 1992, using large portions of DMD animations and digital sound samples) require the PinMAME (sometimes referred to as VPinMAME or VPM) program in order to behave as close to the physical machine as possible. PinMAME is a fork from old MAME code and can be loaded as a DLL in Visual Pinball. MAME can emulate the electronics for quite a few pinball systems aswell but doesn’t include physics simulation for the pinball table part and no simulator supports using MAME for emulation.

DICE
Emulates old arcade machines from the early 1970's at a very high level of accuracy. Since these machines had no CPU, the emulator instead emulates discrete logic components in the circuit board. This method is very system-intensive, and getting full speed requires at least a mid-range gaming PC along with the 64-bit version of the emulator. Due to incompatibility with the newest Windows, the program will need to be run in compatibility mode or else it would crash when attempting to run a game.
Supermodel
Emulates Sega's Model 3 arcade platform focusing on accuracy. Presently, Supermodel is in a very early "alpha" stage of development, meaning it lacks many planned features. It does not yet have a user-friendly graphical interface, and all CPUs are emulated using straightforward (and slow) interpretation rather than fast just-in-time translation. Game compatibility is quite good. It has an experimental multi-player network build.
Model 2 Emulator
Emulates, as per its name, Sega's Model 2 arcade platform with a focus on speed over accuracy. Despite this, however, it still manages to play games for that hardware with far higher accuracy than MAME currently can.
Virtual Console
Emulates Sega, Namco, Capcom and Tecmo arcade games, as well as the Neo Geo. It is a viable method for official emulation, but forces you to play like you would on a real arcade machine.
Arcade Archives
Emulates Namco, Tecmo, Konami, and Taito arcade games, as well as the Neo Geo. It is a viable method for official emulation, but forces you to play like you would on a real arcade machine.

Machines[edit]

Machines often varied by their design and, unlike consoles, were often tailored to just one game. Games were designed to eat as many quarters as possible, which is emulated with the "Coin" key. Some games have a service mode (mapped to F2 in MAME) with menus meant for the arcade owner to set dipswitches for difficulty, censorship, language, and most importantly a "Free Play" mode that allows players to continue as many as they want without requesting more coins. Sometimes, similar menus meant for developers (labeled debug or test usually, sometimes requiring a developer BIOS like with some Neo Geo games) are left in the game too.

Discrete circuitry-based[edit]

The earliest arcade games lacked any type of CPU, consisting only of discrete logic components. The first arcade video game, as well as the first commercial game, released was Computer Space in 1971.

Comparisons[edit]

DICE
The emulator works by simulating each logic chip on the board individually.
MAME
As of version .208, Breakout, Galaxy Game, Pong, Pong Doubles, and Rebound are working in MAME.
HBMAME
HBMAME is a derivative of MAME, and contains various hacks and homebrews. It is based on the latest MAME source at the time of release. Has support for a remake of Monaco G.P. which was Sega's final game to rely primarily upon discrete analog circuitry - an oddity for a game made in 1979, some three years after microprocessors were introduced to the market. As this was among the most complex games of its kind, don't bet on seeing it working in MAME anytime soon.

Emulators[edit]

Main article: Arcade emulators#Emulators

Arcade Original Hardware[edit]

Hardware made specifically for the arcade to provide for graphics and performance unseen on home consoles. Extremely common in the golden age of arcades but became much less frequent as companies used modified existing hardware instead to save on R&D costs and easier cross-platform development, or tried to differentiate between the home and arcade experience with control scheme gimmicks instead.

MAME's purpose is to cover most of these. Older arcades as well as select popular arcade machines, the Neo Geo and Capcom's CPS series, in particular, received their own standalone emulators. Sometimes, they received their own console versions but those are mostly ports, not emulation, with very few exceptions.

Emulators[edit]

Main article: #Emulators

Converted Home Console Hardware[edit]

Those arcade boards share most of the hardware specifications with existing home consoles, with the addition of a coin slot and occasionally DRM and some changes. While MAME supports most of those, standalone emulators for the base home console are more mature and often (but not always) support the arcade variants.

Main article: [System16's arcade museum] (See more examples here)
Original Developer System
Nintendo NES/Famicom
VS. System
PlayChoice 10
Super Nintendo/Super Famicom
Super System
Nintendo 64
Seta Aleck 64
Nintendo GameCube
Namco
Sega
Nintendo
Triforce
Wii
Capcom
Eighting
Tatsunoko vs. Capcom
Sega SG-1000
Master System
Shooting Zone
System E
Sega Genesis/Mega Drive
Mega-Tech/Mega Play
System C
System C2
Sega Saturn
Sega Titan Video
Dreamcast
NAOMI
NAOMI GD-ROM
NAOMI Multiboard
NAOMI Satellite Terminal
Hikaru
NAOMI 2
NAOMI 2 GD-ROM
NAOMI 2 Satellite Terminal
System SP
Sammy Atomiswave
The 3DO Company 3DO Interactive Multiplayer
Atari
Panasonic M2
Konami Konami M2
Atari Atari Jaguar
CoJag
Sony PlayStation
Capcom
Sony
ZN-1
ZN-2
Namco System 10
System 11
System 12
Taito FX-1A System
FX-1B System
G-NET System
Konami GQ System
GV System
System 573
System 573 Satellite Terminal
Benami System 573 Analog
Benami System 573 Digital
Benami Twinkle
Benami Karaoke
PlayStation 2
Namco System 147
System 246
System 256
System Super 256
Konami Python
Python Satellite Terminal
Python 2
Benami Python
Benami Python 2
PlayStation 3
Namco System 357
PlayStation 4
Square Enix
Koei Tecmo
Dissidia Final Fantasy
Microsoft Xbox
Sega Chihiro
Chihiro Satellite Terminal

Converted PC Hardware[edit]

Based on normal PC architecture with a variation of Windows 7 Embedded or Linux installed and tons of DRM and custom drivers. These can still be run on computers using the right launchers (Game loader All RH, SpiceTools, idmacx tools, TeknoParrot...) but most of them likely won't be emulated by MAME anytime soon, and not just because of their policies on what hardware is too recently commercialized to cover.

Main article: [System16's arcade museum] (See more examples here)
Original Developer System
Microsoft MS-DOS
Taito Wolf System
Windows 98
Midway Quicksilver II
Windows 2000
Midway Quicksilver II
Graphite
Windows XP
Taito Type X/X+
Type X7
Type X2
Type X2 Satellite Terminal
Type X3
Konami PC Based
Bemani PC
Examu eX-Board
Sega Lindbergh Blue
Windows Embedded Standard 2009
Sega RingEdge
RingWide
RingEdge 2
Windows 7
Taito Type X Zero
Type X3
Type X4
Konami Bemani PC
Namco System ES1(A2)
System ES2 PLUS
System ES3
System ES4
Windows 8
Taito Type X4
Sega Nu
Nu 1.1
Nu 2
Windows 10
Konami Bemani PC
Namco System BNA1
Sega ALLS
Unknown
Raw Thrills
Linux Linux (32-bit) (Debian based)
Namco System N2
System N2 Satellite Terminal
Arcade Linux (32-bit) (Debian 4.0 based)
Namco System ES1
Montavista Linux
Sega Lindbergh
Lindbergh Red (EX)
Ubuntu Linux
Raw Thrills (Repurposed prebuilt PCs)

Emulation[edit]

Main article: TeknoParrot

The games first need to run on an operating system equivalent to that of the machine, which may imply Wine use on Linux or having to upgrade to 64-bit editions. Some GPUs or wrappers may be required. Additionally, the following need to be installed:

  • Microsoft Visual C++ Runtimes: A one-in-all link for all editions from 2005 to 2015 may be found here.
  • Microsoft .NET Frameworks: Any version from 1.0 to 4.8.1 may be required, the newer, the better.
  • Microsoft DirectX 9.0: Offline installer here.
  • PC Video Codecs: Grabbing the standard K Lite Codec pack from here is recommended.

Remember to backup data from the downloaded scene release before trying to fix it to run.

  • Launcher: The game needs this to work at all. There are many: Jconfig, TeknoParrot... and each game requires a specific launcher. If you got the dump from elsewhere, not in a clean state that doesn't work, it may be because of conflicting launchers and you will have to delete all of them (typically Detoured.dll, Game loader Rh.exe, Typex_config.exe, Typex_loader.exe, TTXconfig 2.0, TTX-moniter.dll...)
  • iDmacDrv32.dll: Needed in Nesica games. If present, do not delete it, copy Jconfig.exe and the replacement iDmacDrv32.dll from the Jconfig package, then double-click NesicaXlive.reg to import keys to your registry, and use the game executable to run the game. If not present, copy Jconfig.exe, JVSemu.dll, and jvs_loader.exe from the Jconfig package, and use jvs_loader.exe to run the game.
  • Save Fixes: Some games can't save scores and data at all. For a bunch of machines, there are fixes (called "loaders pack") that enable that, but some machines (nesica) handle saving purely using official servers in which case there's not much (yet) to do about it.
  • Unpacked exe/dll Files: Some games, especially SEGA games, can't be executed on regular PCs as their game logic is wrapped in dlls (htsysmnt.dll etc.) in the operating system comes with the arcade hardware. Unpacked exe/dll files unwrapped such game logic so they can be executed properly. Just drop these files to where the original exe/dll is located and execute/load these files in loaders to start the game.
  • Local Server: Some games, especially recent Konami and SEGA games, require network service provided by manufacture in order to save progress, unlock game contents, or even start the game itself. Local server programs (Asphyxia, Minime, Aqua, etc.) emulate such network service on the local computer which makes games bootable and network-related functionalities work. These tools have to be started before starting the game, and kept running during the game session, and game launchers have to be configured to make games communicate with them. Notice that not all functionalities (especially corner case ones such as e-cash, player camera, etc.) in every version of every game work, and some games would require extra fixes to properly communicate with the local server. Check readme files provided by developers or game scenes for more information.
  • Extra Fixes: Varies per game. Check the readme with the game scene release.

You can set your controls in Jconfig.exe, and it's recommended to disable Dsound and D3D Wrapper.

Some games can have DirectX related problems. For some, deleting the existing d3d9.dll or opengl.dll files can help. For others, they expect the older D3D8 codec and have bugs (crashes, uneven speed) that can be fixed with Reshade's d3d8to9 plugin.

LaserDisc[edit]

Main article: Arcade LaserDisc emulators

Pinball[edit]

Main article: Pinball

See also[edit]

References[edit]