Changes

Jump to navigation Jump to search

Compatibility layers

8,178 bytes removed, 06:38, 21 September 2021
Compatibility layers
While not strictly emulation ''per se'' (hence why [[File:1676971-ms_pac_man_arcade_machine.jpg|thumb|156px|Example of Wine]] stands for "Wine Is Not an Emulator"), '''compatibility layers''' allow software written for one operating system to run on a Msdifferent OS, often by translating API and system calls made by an application to their equivalent calls in the host operating system. PacIn theory, this should allow for near-Man arcade cabinet.native performance since no processor emulation takes place, but in practice some software such as games will tend to run a bit slower due to other bottlenecks that occur as a result of [[Emulation Accuracy|replicating the correct behavior]]Arcades were venues in which many games were played at, often containing thousands of gamessuch as accounting for graphics APIs like Direct3D that aren't supported on non-Microsoft platforms. Arcades often got their revenue from players who paid Additionally, compatibility layers may also use emulation in order to play games. Most arcade emulators focus on emulating many systems in one program, the scope of which varies between projectsrun software built for a different architecture.
== Machines ==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. Three main types of arcade machines can be distinguished: ===Arcade Original Hardware===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. ===Converted Home Console Hardware===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|http://www.system16.com/base.php System16's arcade museum}} ''(See more examples here)''* '''[[Nintendo Entertainment System emulators|NES]]:''' Nintendo PlayChoice-10 ([[FCEUX]], [[Mesen]]), Nintendo VS System* '''[[Super Nintendo emulators|SNES]]:''' Nintendo Super System* '''[[Nintendo 64 emulators|N64]]:''' Aleck-64 ([[Project64]] + modded images)* '''[[GameCube emulators|GameCube]]:''' Triforce ([[Dolphin]] fork)* '''[[Sega Saturn emulators|Saturn]]:''' STV ([[SSF]])* '''[[Sega Dreamcast emulators|Dreamcast]]:''' Atomiswave ([[DEmul]]), Naomi 1/2 ([[DEmul]])* '''[[Xbox emulators|Xbox]]:''' Chihiro ([[Cxbx-Reloaded]], [[XQEMU]] <small>(WIP)</small>)* '''[[PlayStation emulators|PlayStation]]:''' Konami System 573, Namco System 10/11/12, Sony ZN-1/ZN-2* '''[[PlayStation 2 emulators|PlayStation 2]]:''' Namco System 246/256/Super System 256* '''[[PlayStation 3 emulators|PlayStation 3]]:''' Namco System 357/369 ===Converted PC Hardware===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, TekParrot...) but most 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|http://www.system16.com/base.php#11 System16's arcade museum}} (See more examples here) * '''Windows XP Embedded:''' [[wikipedia:Taito_Type_X#Taito_Type_X.2FX.2B|Taito Type X/X+]], [[wikipedia:Taito_Type_X#Taito_Type_X7|Taito Type X7]], [[wikipedia:Taito_Type_X#Taito_Type_X.C2.B2|Taito Type X²]]* '''Windows 7 Embedded:''' [[wikipedia:Taito_Type_X#Taito_Type_X_Zero|Taito Type X Zero]], Namco System ES2 PLUS, Namco System ES3* '''Windows 7 Embedded (64-bit):''' [[wikipedia:Taito_Type_X#Taito_Type_X.C2.B3|Taito Type X³]]* '''Linux Debian 4.0''': Namco System N2 ("Linux 32-bit"), Namco System ES1 ("arcadelinux 32-bit") ====Emulation====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 [https://www.sereby.org/site/All%20in%20One%20Runtimes here].* '''Microsoft .NET Frameworks:''' Any version from 1.0 to 4.5 may be required, the newer, the better.* '''Microsoft DirectX 9.0:''' Offline installer [https://www.microsoft.com/en-us/download/details.aspx?id=8109 here].* '''PC Video Codecs:''' Grabbing the standard K Lite Codec pack from [https://www.codecguide.com/download_kl.htm 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 <code>Detoured.dll, Game loader Rh.exe, Typex_config.exe, Typex_loader.exe, TTXconfig 2.0, TTX-moniter.dll</code>...)* '''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.* '''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. == Emulators Compatibility layers==
{| class="wikitable" style="text-align:center;"
|-
! scope="col"|Name
! scope="col"|Operating System(s)
! scope="col"|Latest Version
! scope="col"|# of Emulated systems! scope<abbr title="col"|Free/Libre and Open-Source! scope="colSoftware"|[[libretro|Libretro Core]]>FLOSS</abbr>
! scope="col"|Active
! scope="col"|[[Recommended Emulators|Recommended]]
! scope="col"|Runs the following software
|-
!colspan="7"|PC / x86
|-
!colspan="8"|PC|-|[[MAMEWine]]|Multi-platformalign=left|[http://www.mamedev.org/release.html {{MAMEVer}}]Icon|Linux|Thousands of electronics<ref>http://mamedb.com/history</ref>macOS|{{✓FreeBSD}}|{{✓}}<ref group=N name=MAMEVer>RetroArch cores: [https://github.com/libretro/mame mame] (latest), [https://githubwiki.com/libretro/mame2016-libretro mame2016] (0winehq.174), [https://github.com/libretro/mame2014-libretro mame2014] (0.159), [https://github.com/libretro/mame2010-libretro mame2010] (0.139), [https://github.com/libretroorg/mame2003-libretro mame2003] (0.78), [https://github.com/libretro/mame2000-libretro mame2000 aka mame4all] (0.37b5)</ref>|Download {{WineVer}}|<br />(Dev: {{WineDevVer}}|-|[[FinalBurn Neo]]|Windows|[https://github.com/finalburnneo/FBNeo GitHub)]|Hundreds|{{✓}}||{{✓}}|{{✓}}|{{✓}}|-|[[FinalBurn Alpha]]|Windows|[http://www.fbalpha.com/downloads/ 0.2.97.43]|Hundreds|{{✓}}|{{✓}}|{{✗}}|{{✓}}applications and games
|-
|[[DICEProton]]|Windows, Linux, macOS|[http://sourceforge.net/projects/dice/files/DICE/ 0.9]|20|{{✓}}align=left|{{✗}}Icon|{{✗Linux}}|{{✓}}|-|[[DAPHNE]]|Windows, Linux, macOS|[httphttps://wwwstore.daphne-emusteampowered.com/ 1.0.12]|1 <br about/><small>([[Arcade LaserDisc emulators|LaserDisc]])</small>|{{ProtonVer}}<ref group=N name=OpenDaphne>[https://github.com/DavidGriffith/daphne Open-Source DAPHNE] - new fork with an open-source frontend for 64-bit Linux.</ref>|{{~}} <small>(WIP)</small>||{{}}||{{✓}}|Windows games
|-
|[[TeknoParrot]]
|Windowsalign=left|{{TeknoVerIcon|Windows}}|7 <br /><small>(PC based)</small>|{{✓}}<ref group=N name=OpenParrot>[https://githubteknoparrot.com/teknogods/OpenParrot OpenParrotdownload {{TeknoVer}}] - new open-source core distinct from TeknoParrot.</ref>|{{✗}}||{{✓}}||{{✓}}|PC-based arcade games
|-
|[[ZiNc]]CrossOver|Windows, align=left|{{Icon|Linux|macOS|ChromeOS}}|[httphttps://www.1emulationcodeweavers.com/forums/files/file/37-zinc/ 1products 20.0.10]|3 <br /><small>(ZN-1, ZN-2, Namco System 11)</small>|{{✗}}||{{}}||{{}}|{{✓}}Windows applications and games
|-
|[http://calice.emuunlim.com/ Calice[Anbox]]|Windowsalign=left|{{Icon|Linux}}|[httphttps://wwwdocs.emulator-zoneanbox.comio/doc.php/arcadeuserguide/caliceinstall.html 0.6.4git]|6 <br /><small>(Capcom, Sega, SNK, Gaelco)</small>|{{}}||{{}}||{{✗}}|{{✓}}Android software
|-
|[[RAINEDarling]]|Windows, align=left|{{Icon|Linux, macOS}}|[httphttps://raine.1emulationgithub.com/downloaddarlinghq/latest.html 0.64.15darling git]|1063|{{✓}}|{{✗}}|{{✓}}||{{✗}}<small>(WIP)</small>|macOS software
|-
|[[KawaksWineVDM]]|align=left|{{Icon|Windows}}|[httphttps://cps2shockgithub.emu-france.infocom/otya128/winevdm/download.html 1.65releases git]|3 <br /><small>([[Neo Geo emulators|Neo Geohttps://ci.appveyor.com/project/otya128/winevdm/ Dev]], CPS1, CPS2)</small>|{{}}||{{}}||{{✗}}|{{✗}}16-bit Windows apps and games
|-
|CPS3 Emulator[[Wineskin]]|Windowsalign=left|{{Icon|macOS}}|[http://nebulawineskin.emulatroniaurgesoftware.com/descargastiki-index.php ?page=Downloads 1.0a7]|1 <br /><small>(CPS3)</small>|{{}}||{{✗}}||{{✗}}|{{✗}}Windows applications and games
|-
|[https://mamemaniaforever.forumfree.it/?tWineBottler|align=64082339 VivaNonno]left|{{Icon|WindowsmacOS}}|[https://vivanonnowinebottler.vg-networkkronenberg.comorg/ 224.0.31.1 Dev]|1 <br /><small>(Namco System 22)</small>|{{}}||{{✗}}||{{✗}}|{{✗}}Windows applications and games
|-
!colspan|[[WoW]]|align="8"left|{{Icon|Windows}}|?|{{✗}} ||{{✗}} ||{{✗}}|Sega-onlyWindows 9x apps and games
|-
|Model 2 Emulator|Windows|[http://nebula.emulatronia.com/descargas.php 1.1a]|1 <br /><small>([[Sega Model 2Win3mu]])</small>|align=left|{{Icon|Windows}}|?|{{}}||{{✗}}||{{}}|Windows 3.x apps and games
|-
|[[SupermodelNTVDMx64]]|align=left|{{Icon|Windows, Linux, macOS}}|[http://supermodel3.com/Download.html 0.2a]<br />[httphttps://www.emucrgithub.com/searchleecher1337/label/Supermodel SVNntvdmx64]|1 <br /><small>([[Sega Model 3]])</small>|{{✓}}||{{~}} <small>(WIP)</small>||{{}}|{{✓}}DOS applications and games
|-
|[[DEmulArdi Executor]]|align=left|{{Icon|Windows|Linux|DOS}}|[https://web.archive.org/web/20080404193445/http://forumwww.emu-russiaardi.netcom/viewtopicardi.php?p=26178&sid=9d186ca9c444883bceeed6f185ed3fa9#p26178 02.1.7 Build 18042817]|6 <br /><small>([[Sega NAOMI and variants]])</small>|{{}}||{{✗}}||{{}}|{{✓}}Classic Mac OS software up to System 6
|-
|[[Yabause|Kronos]http://dosemu.sourceforge.net/ DOSEmu]|Windows, align=left|{{Icon|Linux}}|[httphttps://www.emutalksourceforge.net/forumsprojects/56-Sega-Saturn-Emulation {{KronosVer}}]|1 <br dosemu/><small>(STV)<files/small>1.4.0]|{{✓}}||{{}}||{{}}|{{~}}DOS software
|-
|[[Nova]http://dosemu2.github.io/dosemu2/ DOSEmu2]|Windowsalign=left|{{Icon|Linux}}|[https://www.patreongithub.com/nova_emudosemu2/posts 0.4dosemu2 git]|1 <br /><small>(STV)</small>|{{}}|{{✗}}|{{✓}}||{{✗}}|} {| class="wikitable sortable" style="text-align:center;"! scope="col"|Name! scope="col"|Operating System(s)! scope="col"|Latest Version! scope="col"|# of Emulated systems! scope="col"|ROM Set! scope="col"|[[libretro|Libretro Core]]! scope="col"|Active! scope="col"|[[Recommended Emulators|Recommended]]DOS software
|-
!colspan="87"|ConsolesMobile / ARM
|-
|[[Virtual ConsoleWine]]|[[Wii emulatorsalign=left|Wii]]{{Icon|?Android}}|Various<ref group=N>Includes games from publishers such as Namco, Sega, Tecmo and Capcom, also Neo Geo<[https://wiki.winehq.org/ref>|?Download {{WineDevVer}}]|{{}}||{{✓}}||{{}}<small>(WIP)</small>|Windows applications and games
|-
|NJEMU[https://github.com/AndreRH/hangover Hangover]|[[PlayStation Portable emulatorsalign=left|{{Icon|Android|PlayStation Portable]]LinuxARM}}|[https://github.com/phoe-nixAndreRH/NJEMU 2.3.5hangover/releases git]|4 <br /><small>(CPS1, CPS2, Neo Geo, Neo Geo CD)</small>{{✓}} |MAME 0.152|{{}}||{{✗}}|{{✓}}Windows applications and games
|-
|Unofficial Mod|[[PlayStation Portable emulators|PlayStation PortableAnbox]]|align=left|{{Icon|LinuxARM}}|[httphttps://wololodocs.netanbox.io/talkuserguide/viewtopic.php?t=27733 2.3install.1html git]<ref group=N name=cache>Generate cache with included <code>romcnv</code> utility.</ref>|4 <br /><small>(CPS1, CPS2, Neo Geo, Neo Geo CD)</small>{{✓}} |MAME 0.120|{{}}||{{✗}}|{{✓}}Android software
|-
!colspan="9"|FBA4PSP|[[PlayStation Portable emulators|PlayStation Portable]]|[[sourceforge:projects/fba4psp/files/FBA4PSP_Formal/|v12.4.0]]|1 <br /><small>(CPS1)</small>|MAME 0.141|{{✗}}|{{✗}}|{{✓}}Console
|-
!colspan="8"|Mobile|-|[[MAME]]|[[Android emulators|AndroidNintendont]]|[http://www.mamedev.org/release.html {{MAMEVer}}]<ref groupalign=N name=libretro>Only available on mobile as a libretro core (e.g. [[RetroArch]]).</ref>|Countless|Depends on coreleft|{{✓}}<ref group=N name=MAMEVer />Icon|{{✓}}Wii|{{✓WiiU}}|-|MAME4droid (0.139u1)|[[Android emulators|Android]]|[https://play.googlegithub.com/storeFIX94/apps/details?id=com.seleuco.mame4droid 1.Nintendont 2021-07-12]|Countless|MAME 0.139u1|{{✓}} <br /><small>(mame2010)</small>|{{✓}}|{{✓}}|-|MAME4droid (0.37b5)|[[Android emulators|Android]]|[https://play.google.com/store/apps/details?id=com.seleuco.mame4all 1.5.3]|Countless|MAME 0.37b5|{{✓}} <br /><small>(mame2000)</small>|{{✗}}|{{✓}}|-|[[FinalBurn Alpha]]|[[Android emulators|Android]]|[http://buildbot.libretro.com/nightly/android/latest/ SVN]|Hundreds|FBA 0.2.97.42 <br /><small>(based on MAME 0.187)</small>|{{✓}}|{{✓}} <small>([[libretro]])</small>|{{✓}}GameCube games
|}
<references group=N /> === Comparisons === ;*[[MAMEWine]]:Very extensive is a free and open-source compatibility layer that aims to allow computer programs (application software and computer games) developed for Microsoft Windows to run on Unix-like operating systems, primarily Linux and macOS. Since late 2017 there is also an experimental build for Android. Wine is almost as old as the Linux project, starting in scope, with the majority summer of arcade system boards from the 19701993. Today it'swidely used, 1980's very popular and early 1990's supported. Do not expect support for more recent boards, sponsored by companies such as AtomiswaveCodeWeavers and Valve. MAME focuses on [[Emulation Accuracy|accuracy]] and preservation, meaning usability comes second for The core Wine development aims at a correct implementation of the end userWindows API as a whole. Only the most up In this regard it's similar to date ROM dumps will work in the latest MAME. ;[[FinalBurn AlphaMAME]]:Supports many boards, such as [[Neo Geo emulators|Neo Geo]], Capcom CPS1-3, and others. It is very good for the boards it supports. The Neo Geo X system, project in fact, uses FBAits focus on correctness over usability. It offers much better speeds on lower-end hardware than MAME and has been ported to many There are a lot of versions/forks of Wine which focus of different devicesgoals, such as [[PlayStation 3 emulators|PlayStation 3]]usability, [[Xbox emulators|Xbox]]compatibility, [[Xbox 360 emulators|Xbox 360]]gaming, [[Sega Saturn emulators|Sega Saturn]]office applications, [[Android emulators|Android]]etc. A few are listed below, Wikipedia has [[Wii emulatorswikipedia:Wine_(software)#Other_versions_of_Wine|Wiia more complete list]], Dingoo, and many others;**[[DICEProton]]:Emulates old arcade machines from the early 1970is Valve's <!one--(including Coleco Telstar Arcade)--> at click solution to play Windows games on Linux. It's included in the Steam Linux client by default. Simply click on a very high level of accuracy. Since these machines had no CPUwhitelisted game and it will launch without any configuration, the emulator instead emulates discrete logic components or enable it for all games in the circuit boardsettings. This method Proton is very system-intensive, based on a fork of Wine in combination with other components such as DXVK (explained below) and getting full speed requires at least FAudio.**[https://www.codeweavers.com/products/ CrossOver] is a mid-range gaming PC along with the 64-bit commercialized, supported version of Wine from CodeWeavers. It uses additional patches on top of Wine to make it easy to use. They contribute all of their work on CrossOvers back to Wine and make up about two thirds of the emulatorcommits made to Wine. CrossOver is available on macOS, Linux and Chrome OS;**[[SupermodelWineskin]]:Emulates [[Sega Model 3|Sega's Model 3]] arcade platform focusing on accuracyis an open-source compatibility layer which allows users to easily convert Windows software to macOS. Presently, Supermodel is The ports are in a very early "alpha" stage the form of development, meaning it lacks many planned featuresMac . It does not yet have app bundles with a userself-friendly graphical interface, and all CPUs contained Wine instance which are emulated using straightforward (and slow) interpretation rather than fast justwrapped around the application to be converted. * [[TeknoParrot]] is a compatibility layer for Windows PCs to run games originally made for Windows-in-time translationbased arcade systems. Game compatibility is quite goodHas since version 1. It has an experimental multi51 also support for some games from the Linux-player network buildbased Sega Lindbergh arcade board;Model 2 Emulator:Emulates, as per its name, * [[Sega Model 2|Sega's Model 2Darling]] arcade platform with is a focus translation layer that allows you to run unmodified macOS binaries on speed over accuracyLinux. Despite this, howeverIn its nature, it still manages is similar to play games for that hardware the well-known [[Wine]] project. At this point, does not yet run macOS application with far higher accuracy than MAME currently cana GUI.
;[[Virtual Console]]:Emulates Sega==Wrappers==Compatibility layers may also make use of '''wrappers''', Namco, Capcom and Tecmo arcade games, in addition which translate a specific graphics API to Neo Geoanother. It is a viable method for official emulation, How the user sets up the wrapper varies between each project but forces you to play like you would on most involve a real arcade machinedrop-in replacement of the original libraries.
== References ==<references/>{{Main|Wrappers}}
[[Category:ConsolesCompatibility layers]][[Category:Arcade Not really emulators|*]]
10
edits

Navigation menu