Skip to content

Commit 4bee6d6

Browse files
authored
Merge pull request #1052 from barbudreadmon/patch-3
arcade: some updates and clarifications
2 parents a4ceea8 + 18fe46d commit 4bee6d6

File tree

1 file changed

+14
-10
lines changed

1 file changed

+14
-10
lines changed

docs/guides/arcade-getting-started.md

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -19,14 +19,14 @@ The libretro core ecosystem includes a variety of arcade emulators, each with sp
1919
* **Dump**: A dump is the digital representation of 1 chip present on a game board/cartridge.
2020
* **Rom**: A rom refers to 1 file containing 1 single dump or several dumps concatenated together.
2121
* **Romset**: Literally "rom set", meaning a set of roms. A romset is an archive containing one or several individual rom(s), **arcade emulators expect this game format**.
22-
* **Romset version**: It's not unusual for a specific romset to exist in different versions. The reason for this is that sometimes the attempts at digitalizing chips failed, and instead of having a game totally unavailable due to a romset being only 90% complete, it was decided to implement workarounds in the emulator's code to make the game somehow playable. Every time one of those chips finally gets a proper dump, which can happen decades later, ongoing arcade emulators will update their code by removing the workarounds and loading the correct dump, hence why multiple versions can exist.
22+
* **Romset version**: It's not unusual for a specific romset to exist in different versions. The reason for this is that sometimes the attempts at digitalizing chips failed, and instead of having a game totally unavailable due to a romset being only 90% complete, it was decided to implement workarounds in the emulator's code to make the game somehow playable. Every time one of those chips finally gets a proper dump, which can happen decades later, ongoing arcade emulators will update their code by removing the workarounds and loading the correct dump, hence why multiple romset versions can exist.
2323
* **Samples**: Sometimes, instead of emulating the sound coming from the actual board of a game, an emulator will use recorded sounds. There can be several reasons for this : the chips weren't dumped, the emulator doesn't emulate that sound board (yet), or the emulator allows as an alternative to replace that emulation by high quality sound coming from another source (OST, ...).
2424
* **CHD**: Some arcade games require data from an internal hard drive, CD-ROM, laserdisk, or other media in order to be emulated -- those forms of media are packaged as CHD files. CHD files should be copied to subfolders (going by the name of the romset) within the folder where the arcade romset has been installed.
2525

2626
Additionally, there exist different kind of romsets :
2727

2828
* **Bios romset**: A romset containing bioses required to run an arcade system. For example, the `neogeo` romset contains the bioses required to run SNK's NeoGeo cartridge system.
29-
* **Parent romset**: There can be multiple revisions of an arcade cabinet, the romset dumped from the one believed to be the most recent is the parent romset. Parent romsets might require a bios romset to work.
29+
* **Parent romset**: There can be multiple revisions of an arcade cabinet, the parent romset is usually the one dumped from the arcade cabinet which is believed to be the most recent revision, which is often a world or europe version. Parent romsets might require a bios romset to work.
3030
* **Clone romset**: Either dumped from arcade cabinet revisions believed to be older, or unofficial revisions of that arcade cabinet (bootlegs, hacks). Clone romsets might require a parent to work.
3131
* **Full non-merged romset**: The romset can be used standalone because the archive contains all the files required to run that romset, including any roms from its parent and bios romsets.
3232
* **Non-merged romset**: The romset can be used standalone because the archive contains all the files required to run that game, including any roms from its parent romset. With this format, a separate bios romset might be needed to run the romset.
@@ -55,10 +55,10 @@ A better integration allows for more features to be available from the frontend
5555
Theoretically, more recent version of the emulators should always be more accurate, which means the graphics, sound and gameplay of the games are more likely to be faithful to the original cabinet. In reality, for vintaged MAME cores, with fixes being backported to some vintages and not some others, the situation is not so predictable.
5656

5757
#### Input lag
58-
Accuracy improvements can add or remove frames of input lag. It is believed that **FinalBurn Neo** and **MAME (current)** have the lowest input lag on average. Also note that **FinalBurn Neo** has virtually 0 frames of input lag since it has full support for the runahead and pre-emptive frames feature. Runahead is also partially available in multiple MAME cores (MAME-Current, MAME2003-Plus, ...), with second instance being recommended.
58+
Accuracy improvements can add or remove frames of input lag. It is believed that **FinalBurn Neo** and **MAME (current)** have the lowest input lag on average. Also note that **FinalBurn Neo** has virtually 0 frames of input lag since it has full support for the runahead and pre-emptive frames feature. MAME also partially supports those features, with runahead second instance being recommended.
5959

6060
#### Performance
61-
Being more accurate usually means the emulation will be more taxing on your cpu, so older versions of emulators will usually perform better at the cost of accuracy and are worth trying if you have performance issues with more recent versions. Accuracy is not the only reason for performance regression though, the emulator framework has an impact too, this is especially noticeable on MAME which had its framework constantly updated over the years.
61+
Being more accurate usually means the emulation will be more taxing on your cpu, so older versions of emulators will usually perform better at the cost of accuracy, and are worth trying if you have performance issues with more recent versions. Accuracy is not the only reason for performance regression though, the emulator framework has an impact too, this is especially noticeable on MAME which had its framework constantly updated over the years.
6262

6363
#### Supported games
6464
Arcade emulators keep adding support for new machines over the years, so the more recent versions support more games. This is a double-edged sword as far as performance is concerned, because it can require updates to already emulated components, to add previously unemulated/unnecessary feature of the component, which might impact its emulation performance even for the machines that didn't need this feature.
@@ -67,7 +67,7 @@ Arcade emulators keep adding support for new machines over the years, so the mor
6767
MAME's goal is to emulate every existing machines, including machines unrelated to gaming (it can emulate printers, vending machines, ...), the most accurately possible, while documenting them thoroughly. FinalBurn's goal is mainly to offer a comfortable experience for the end-user as a gaming software, and can include optional features that didn't exist on original cabinet (alternate controls for a better experience with modern controllers, alternate high-quality music, ...). MAME 2003-Plus has pretty much the same goal as FinalBurn, with both emulators actually sharing a few contributors.
6868

6969
#### Support team
70-
Last but not least, most of the arcade cores have no real maintainer and are mostly there as a frozen-in-time alternative if the cores that have a support team can't play properly the game you want. **FinalBurn Neo** and **MAME 2003-Plus** have a support team (please note that MAME 2003-Plus is a hard fork which isn't written by the MAME team). **MAME (current)** gets regular bumps but doesn't have a regular maintainer to take care of known issues. We don't recommend you try getting help from the MAME team for any of the MAME cores we provide, because you won't get any.
70+
Last but not least, most of the arcade cores have no real maintainer and are mostly there as a frozen-in-time alternative if the cores that have a support team can't play properly the game you want. **FinalBurn Neo** and **MAME 2003-Plus** have a support team (please note that MAME 2003-Plus is a hard fork which isn't written by the MAME team). **MAME (current)** gets regular bumps and has a regular maintainer to take care of issues related to its libretro integration. We don't recommend you try getting help from the MAME team for any of the MAME cores we provide, because you won't get any.
7171

7272
### Quick tour of every available core
7373

@@ -81,7 +81,6 @@ Last but not least, most of the arcade cores have no real maintainer and are mos
8181
* keeps adding support for new games, including a lot of hacks and homebrews
8282

8383
#### MAME 2003-Plus
84-
* has the second tightest integration within the libretro ecosystem
8584
* while originally forked from MAME 2003, can be fairly accurate on some games since it incorporates some emulation fixes from recent versions of MAME
8685
* is quite fast, this fork was originally meant by the author to run on a pentium III @ 733mhz (Xbox OG)
8786
* doesn't have fixed romsets, doesn't always use latest known good romsets either
@@ -91,6 +90,7 @@ Last but not least, most of the arcade cores have no real maintainer and are mos
9190

9291
#### MAME (current)
9392
* is usually the slowest core and the one that consumes the most memory
93+
* has a few dynamic recompilers for emulating more demanding systems, which can dramatically increase performance emulating those systems on supported cpus (x86_32, x86_64, and arm64 since 0.274)
9494
* is usually the most accurate
9595
* uses the latest known good romsets
9696
* has the widest range of emulated machines
@@ -121,24 +121,28 @@ Last but not least, most of the arcade cores have no real maintainer and are mos
121121
* is more accurate than MAME 2003
122122
* has fixed romsets
123123
* support more games than MAME 2003
124+
* is missing support for basic libretro api features (savestates, ...)
124125
* probably shouldn't be used at all, most of the interesting things it has to offer were backported to MAME 2003-Plus, including lots of game additions
125126

126127
#### MAME 2015
127128
* is slower than MAME 2010
128129
* is more accurate than MAME 2010
129130
* has fixed romsets
130131
* support more games than MAME 2010
132+
* is missing support for basic libretro api features (savestates, ...)
133+
* probably shouldn't be used at all, the performance gap with MAME (current) is usually small and can be in favor of the later, which also has a better libretro integration
131134

132135
#### MAME 2016
133136
* is slower than MAME 2015
134137
* is more accurate than MAME 2015
135138
* has fixed romsets
136139
* support more games than MAME 2015
137-
* has the same shallow libretro implementation than MAME (current)
140+
* is missing support for basic libretro api features (rotation, ...)
141+
* probably shouldn't be used at all, the performance gap with MAME (current) is usually small and can be in favor of the later, which also has a better libretro integration
138142

139143
#### Flycast
140-
* support arcade hardware based on Sega Dreamcast (NAOMI, NAOMI 2 and AtomisWave)
141-
* is the only libretro core available for those 3 systems
144+
* support arcade hardware based on Sega Dreamcast (NAOMI, NAOMI 2, AtomisWave and Sega System SP)
145+
* is the only working libretro core for those 4 systems
142146

143147
#### Kronos
144148
* support arcade hardware based on Sega Saturn (ST-V)
@@ -161,7 +165,7 @@ Each file within a romset is the dump of a chip with a specific purpose (program
161165
When using romsets for the latest version of MAME or FBNeo, you should first make sure your version of those cores aren't outdated.
162166

163167
!!! tip
164-
In general, you will get better results with a full collection of romsets for your chosen emulator. Starting with individual arcade romsets is less likely to work because you generally won't know which emulator they target, or if they contain every required files to run the game (bios, parent). Full Non-Merged romsets are widely available for all of the "historic" MAME cores. **Full Non-Merged romsets are the simplest romset format to get started with because each romset zip contains all necessary files for one game.**
168+
In general, you will get better results with a full collection of romsets for your chosen emulator. Starting with individual arcade romsets is less likely to work because you generally won't know which emulator they target, or if they contain every required files to run the game (bios, parent). Full Non-Merged romsets are widely available for all of the "historic" MAME cores. **Full Non-Merged romsets are the simplest romset format to get started with because each romset archive contains all necessary files for emulating one game.**
165169

166170
| Emulator | Required ROM Version | ClrMamePro dat file |
167171
| :---: | :---: | :---: |

0 commit comments

Comments
 (0)