| Both sides previous revision Previous revision Next revision | Previous revision |
| advanced_arcade [2022/09/06 08:13] – link to remapping page atari | advanced_arcade [2025/05/12 19:06] (current) – [Table] Add DICE mittonk |
|---|
| ===== Advanced arcade emulation on Batocera ===== | ====== Advanced arcade emulation on Batocera ====== |
| |
| <WRAP center round tip> | <WRAP center round tip> |
| <WRAP center round todo> | <WRAP center round todo> |
| This section could probably do with an overhaul of its headers. | This section could probably do with an overhaul of its headers. |
| | </WRAP> |
| | |
| | ===== Cleaning the ROMset ===== |
| | |
| | Often times, ROMsets will include all known releases. You may not have interest in copying over every known arcade game onto your Batocera. |
| | |
| | There are two sorts of tools to help out with this. First, getting a full set in the first place can be made easier with the use of a ROM manager, but isn't strictly required if you have a full ROMset all ready to go. |
| | |
| | <WRAP center round tip> |
| | You can create your own custom set of filters using [[http://adb.arcadeitalia.net/lista_mame.php|Arcade Italia's search tool]]. When you're done setting your filters, click **Options** -> **Export the results** (most managers will accept the MAME XML format). |
| | </WRAP> |
| | |
| | ROM Managers: |
| | * **[[#romvault|RomVault]]**: Multi-dat manager. Can consolidate ROMs from any set into any working set. Useful to those who randomly grab ROM files from all over the joint without regard to acquiring full sets. |
| | * **[[#romcenter|RomCenter]]**: A more powerful but slightly more difficult to use multi-dat manager. Useful to those that need to maintain multiple sets at once. |
| | * **[[#clrmamepro|ClrMAMEPro]]**: The big daddy. The "everything and the kitchen sink" approach. It is the hardest to use, but also the most powerful. |
| | |
| | Once you have a full set, use of a filtering tool can remove clones, non-games, non-working, etc. files from the set. Some ROM Managers also include filtering tools, but dedicated filtering tools are usually better. |
| | |
| | ROM filterers: |
| | * **[[#arcade_manager|Arcade manager]]**: A simple UI-driven filter. Easiest to use, but is focused on Recalbox/RetroPie. |
| | * **[[#bestarcade|BestArcade]]**: A Python script focused on filtering down the non-merged reference ROMsets (fbneo, mame2003, mame2003plus and mame2010). |
| | * **[[#romlister|ROMLister]]**: A simple tool which filters down a given ROMset based on defined attributes. |
| | |
| | <WRAP center round todo> |
| | Step-by-step of how to use these tools. Under construction. |
| | </WRAP> |
| | |
| | ==== Managers ==== |
| | |
| | === RomVault === |
| | |
| | [[https://romvault.com/|RomVault]]. If not able to run, may require the installation of [[https://support.microsoft.com/en-au/topic/microsoft-net-framework-4-7-2-offline-installer-for-windows-05a72734-2127-a15d-50cf-daf56d5faec2|.NET 4.7.2]]. |
| | |
| | <WRAP center round todo> |
| | Works by using a simple three folder system: DatRoot, RomRoot and ToSort. Put the Roms from an unknown set into the ToSort folder and RomVault will organise everything it knows (dat files from the DatRoot folder) into the RomRoot folder. |
| | </WRAP> |
| | |
| | Crash course on how to use RomVault: [[https://wiki.romvault.com/doku.php?id=install_and_setup]] |
| | |
| | === RomCenter === |
| | |
| | [[https://www.romcenter.com/|RomCenter]]. |
| | |
| | <WRAP center round todo> |
| | Each database requires its own dat file, but any amount of folders can be assigned to it. There is no distinction between unsorted and sorted ROMs, RomCenter will simply attempt to organise the current working ROM folder. For this reason, it is recommended to back up your ROMs first in case RomCenter or your configuration gets it wrong. |
| | </WRAP> |
| | |
| | [[https://www.romcenter.com/wiki/doku.php?id=getstart:menu|RomCenter Getting Started guide.]] |
| | |
| | === ClrMamePro === |
| | |
| | <WRAP center round todo> |
| | To Do |
| | </WRAP> |
| | |
| | [[https://mamedev.emulab.it/clrmamepro/|ClrMamePro]]. |
| | |
| | Crash course on how to use ClrMamePro: [[http://mame.3feetunder.com/clrmamepro-quick-start-guide/]] |
| | |
| | Just note that you'd want to set the ROMset type to "Non-Merged Sets" and also probably want to click **Advanced** and turn off **Separate BIOS sets** (the equivalent of a "full" non-merged set). |
| | |
| | For more in-depth option explanations, refer to [[https://mamedev.emulab.it/clrmamepro/docs/|the ClrMAMEPro manual]]. |
| | |
| | ==== Filters ==== |
| | |
| | === Arcade manager === |
| | |
| | [[https://cosmo0.github.io/arcade-manager/|Arcade manager]]. |
| | |
| | Was designed for Recalbox and Retropie, thus it's focused on the low powered SBCs like Raspberry Pi. Still a pretty useful tool for understanding conceptually what's going on and a very good filter. |
| | |
| | === BestArcade === |
| | |
| | [[https://github.com/Voljega/BestArcade|BestArcade]]. |
| | |
| | <WRAP center round todo> |
| | Requires a non-merged set. Acts as a filter which uses a smart score system to decide which ROMs to keep when there are multiple matches for a single game. Somewhat simple to use, but does require Python. |
| | </WRAP> |
| | |
| | === ROMLister === |
| | |
| | [[https://www.waste.org/~winkles/ROMLister/|ROMLister]]. |
| | |
| | <WRAP center round todo> |
| | To Do |
| | |
| | This tool is no longer maintained. |
| </WRAP> | </WRAP> |
| | |
| === All the arcade emulators on Batocera === | ===== All the arcade emulators on Batocera ===== |
| |
| <WRAP center round todo> | <WRAP center round todo> |
| </WRAP> | </WRAP> |
| |
| ^ Arcade emulator ^ Alternative name ^ Romset ^ Roms folder ^ Default on hardware ^ Purpose ^ Extras ^ Notes^ | ^ Arcade emulator ^ Alternative name ^ Romset ^ Roms folder ^ Default on hardware ^ Purpose ^ Extras ^ Notes ^ |
| |MAME (standalone) | Mame | Latest | mame | PC | All arcade hardware | highscores, samples, overlays | The latest and greatest, usually the hardest to run | | | MAME (standalone) | Mame | Latest | mame | PC | All arcade hardware | highscores, samples, overlays | The latest and greatest, usually the hardest to run | |
| |libretro/mame | Mame | [[#default_emulators|Latest]] | mame | PC | All arcade hardware | highscores, samples, overlays | Batocera for PC is shipped with the latest stable MAME version available at the time of release, see table up there| | | libretro/mame | Mame | [[#default_emulators|Latest]] | mame | PC | All arcade hardware | highscores, samples, overlays | Batocera for PC is shipped with the latest stable MAME version available at the time of release, see table up there | |
| |libretro/imame4all | iMame4All | 0.37b5 | mame | RPi0 (<**v30**) | All arcade hardware | highscores, samples, overlays | Very old version, good for lower devices like pi0, but not many games supported | | | libretro/imame4all | iMame4All | 0.37b5 | mame | RPi0 (<**v30**) | All arcade hardware | highscores, samples, overlays | Very old version, good for lower devices like pi0, but not many games supported | |
| |libretro/mame0139 | Mame2010 | 0.139| mame | PC | All arcade hardware | highscores, samples, overlays | Good core for medium powerful boards like Pi3 | | | libretro/mame0139 | Mame2010 | 0.139 | mame | PC | All arcade hardware | highscores, samples, overlays | Good core for medium powerful boards like Pi3 | |
| |libretro/mame078plus | Mame2003Plus | 0.78+| mame | PC | All arcade hardware | highscores, samples, overlays | Good port for less powerful boards with back porting of more recent developments\\ Romset is a bit specific, it's not the same as standard 0.78 | | | libretro/mame078plus | Mame2003Plus | 0.78+ | mame | PC | All arcade hardware | highscores, samples, overlays | Good port for less powerful boards with back porting of more recent developments\\ Romset is a bit specific, it's not the same as standard 0.78 | |
| |libretro/fbneo | Final Burn Neo | Latest | fbneo | All | All 2D arcade hardware | highscores | 1.0.0.X romset is always evolving, it is mostly base on MAME 0.187 romset, but some ROMs are different | | | libretro/fbneo | Final Burn Neo | Latest | fbneo | All | All 2D arcade hardware | highscores | 1.0.0.X romset is always evolving, it is mostly base on MAME 0.187 romset, but some ROMs are different | |
| |libretro/neogeo | Neo Geo | Latest | fbneo | All | All 2D arcade hardware | highscores | can also set to use mame emulators, but fbneo is the recommanded way to go | | | libretro/neogeo | Neo Geo | Latest | fbneo | All | All 2D arcade hardware | highscores | can also set to use mame emulators, but fbneo is the recommanded way to go | |
| |libretro/flycast | Flycast | Latest | atomiswave| All | Atomiswave arcade hardware | | [[http://www.progettoemma.net/gioco.php?game=awbios|AtomisWave]] roms can be picked from the latest mame romset| | | libretro/flycast | Flycast | Latest | atomiswave | All | Atomiswave arcade hardware | | [[http://www.progettoemma.net/gioco.php?game=awbios|AtomisWave]] roms can be picked from the latest mame romset | |
| |libretro/flycast | Flycast| Latest | naomi | All | Naomi arcade hardware | | [[http://www.progettoemma.net/gioco.php?game=naomi|Naomi]] roms and CHD can be picked from the latest mame romset| | | libretro/flycast | Flycast | Latest | naomi | All | Naomi arcade hardware | | [[http://www.progettoemma.net/gioco.php?game=naomi|Naomi]] roms and CHD can be picked from the latest mame romset | |
| |Hypseus | Daphne | Specific | daphne | All | Daphne arcade hardware | | Emulator for laserdisc arcade games like Dragon's Lair, uses a very specific non-mame based romset | | | Hypseus | Daphne | Specific | daphne | All | Daphne arcade hardware | | Emulator for laserdisc arcade games like Dragon's Lair, uses a very specific non-mame based romset | |
| |libretro/fbalpha2012 | Final Burn Alpha | FB Alpha 0.2.97.29 | fbneo / neogeo | RPi0 (>**v31**) | All 2D arcade hardware | | Emulator that performs well on low-power boards. [[https://retropietest.readthedocs.io/en/latest/FinalBurn-Alpha/|Retropietest's excellent page on it (note we aren't using the same romset version).]] | | | libretro/fbalpha2012 | Final Burn Alpha | FB Alpha 0.2.97.29 | fbneo / neogeo | RPi0 (>**v31**) | All 2D arcade hardware | | Emulator that performs well on low-power boards. [[https://retropietest.readthedocs.io/en/latest/FinalBurn-Alpha/|Retropietest's excellent page on it (note we aren't using the same romset version).]] | |
| | | libretro/dice | DICE | DICE v0.3.0 | dice | All | Arcade hardware with no CPU | | Emulator for early machines with no CPU | |
| |
| === NeoGeo system === | ===== NeoGeo system ===== |
| |
| The NeoGeo system is not an emulator itself, but uses the FBNeo emulator. (FIXME Why do we have this? This doesn't work like this for any other system. This section is also confusing, are we no longer defining systems by their folder? Are settings retained from the general mame and fbneo folder?) | The NeoGeo system is not an emulator itself, but uses the FBNeo emulator. (FIXME Why do we have this? This doesn't work like this for any other system. This section is also confusing, are we no longer defining systems by their folder? Are settings retained from the general mame and fbneo folder?) |
| It uses the same romset as the FBNeo emulator. | It uses the same romset as the FBNeo emulator. |
| |
| === Setting a Rotary Joystick with libretro mame2003plus === | ===== Setting a Rotary Joystick with libretro mame2003plus ===== |
| |
| If you have a special stick like the [[https://www.retroblast.com/reviews/joysticks/happrotary.html|Happ Rotary Arcade]] you need to configure both joystick and keyboard at same time: | If you have a special stick like the [[https://www.retroblast.com/reviews/joysticks/happrotary.html|Happ Rotary Arcade]] you need to configure both joystick and keyboard at same time: |
| Then you can use your joystick and keyboard keys at the same time. | Then you can use your joystick and keyboard keys at the same time. |
| |
| === Highscores === | ===== Highscores ===== |
| |
| Highscores can be tracked and kept throughthe use of `highscore.dat` which mus be in the right version for each emulator / emulator version, they can be found or must be placed here : | Highscores can be tracked and kept throughthe use of `highscore.dat` which mus be in the right version for each emulator / emulator version, they can be found or must be placed here : |
| * For mame: see temporary solution in following [[https://forum.batocera.org/d/4083-how-to-save-hi-scores-in-mame-0220-solution-i-guess|post]] | * For mame: see temporary solution in following [[https://forum.batocera.org/d/4083-how-to-save-hi-scores-in-mame-0220-solution-i-guess|post]] |
| |
| === Configuration menus === | ===== Configuration menus ===== |
| |
| This is the per-game menu for accessing the machine's advanced configuration such as its dip switches, service mode and diagnostic input. | This is the per-game menu for accessing the machine's advanced configuration such as its dip switches, service mode and diagnostic input. |
| | |
| | <WRAP center round todo 60%> |
| | FB Neo's one is actually for the game's service menu, which not all games have. |
| | |
| | Per-game dipswitch configuration can be accessed via RetroArch's Quick Menu. While in-game, press ''[HOTKEY]'' + {{:wiki:south.png?nolink&20|South button (B SNES)}}, then go to **Options** -> **Dip switch settings**. |
| | </WRAP> |
| | |
| |
| **For FB NEO,** the default combo is ''[START]'' + ''[L1]'' + ''[R1]'' (old versions (FIXME what older versions? Be specific): Hold ''[START]'') | **For FB NEO,** the default combo is ''[START]'' + ''[L1]'' + ''[R1]'' (old versions (FIXME what older versions? Be specific): Hold ''[START]'') |
| |
| **For NEOGEO:** | **For NEOGEO:** |
| | <WRAP center round todo> |
| | Is this actually the per-game service menu and not the dip switch settings provided by the core? |
| | </WRAP> |
| * For the default (FIXME factory?) NEOGEO BIOS, the default combo is ''[START]'' + ''[L1]'' + ''[R1]'' (old versions (FIXME what older versions? Be specific): Hold ''[START]'') | * For the default (FIXME factory?) NEOGEO BIOS, the default combo is ''[START]'' + ''[L1]'' + ''[R1]'' (old versions (FIXME what older versions? Be specific): Hold ''[START]'') |
| * For the universal BIOS: | * For the universal BIOS: |
| <-- | <-- |
| |
| === MAME input remap files === | ===== MAME standalone input remap files ===== |
| |
| MAME machines can be remapped in-game by pressing ''[L3] + [R3]'' (old versions: ''[Tab]'') to open the MAME configuration screen, then go to "Input for this game". Press ''[Enter]'' or {{:wiki:south.png?nolink&20|South button (B SNES)}}. Inputs can be cleared by double-tapping ''[Enter]''/{{:wiki:south.png?nolink&20|South button (B SNES)}} instead. | <WRAP center round tip> |
| | For libretro MAME, it is recommended to [[:remapping_controls_per_emulator#libretro_cores|use RetroArch's remapping instead]]. |
| | </WRAP> |
| |
| Remap configuration files are stored at ''\userdata\saves\mame\mame(version)\cfg\''. More info at [[:remapping_controls_per_emulator#mame|the remapping page]]. | In MAME standalone, machines can be remapped using the built-in MAME menu. |
| | - Launch the machine in question. |
| | - While in-game, push in ''[L3]'' + ''[R3]'' at the same time (keyboard alternative: ''[Tab]'') to open the MAME menu |
| | - Go to "Input for this game" |
| |
| === Automatic Controller Mapping === | Press {{:wiki:south.png?nolink&20|South button (B SNES)}} (keyboard alternative: ''[Enter]'') to confirm. Inputs can be cleared by double-tapping {{:wiki:south.png?nolink&20|South button (B SNES)}}/''[Enter]'' while hovering over the input. |
| | |
| | Remap configuration files are stored at ''\userdata\saves\mame\mame\cfg\''. More info at [[:remapping_controls_per_emulator#mame|the remapping page]]. |
| | |
| | ===== Automatic Controller Mapping ===== |
| |
| Standalone MAME and libretro/MAME have options to automatically map the controls for certain games and controller types. For more information, see [[:automatic_controller_layouts|Automatic Controller Layouts]]. | Standalone MAME and libretro/MAME have options to automatically map the controls for certain games and controller types. For more information, see [[:automatic_controller_layouts|Automatic Controller Layouts]]. |
| | |