Show pageOld revisionsBacklinksExport to PDFBack to top This page is read only. You can view the source, but not change it. Ask your administrator if you think this is wrong. ====== Advanced arcade emulation on Batocera ====== <WRAP center round tip> If new to arcade emulation, it is recommended to read the [[:arcade|arcade guide]] first before reading this one. </WRAP> <WRAP center round todo> 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> ===== All the arcade emulators on Batocera ===== <WRAP center round todo> Too many columns. Information is not accurate. For the actual information here, can it be merged with the table on the regular guide? </WRAP> ^ 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 | |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/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/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/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| |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).]] | ===== 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?) You can use this system to visually separate the NeoGeo games from the other arcade games, they will appear as a dedicated system in EmulationStation. It uses the same romset as the FBNeo emulator. ===== 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: <code xml> Dial : AZERTY keyboard: "^" (between "P" and "Enter") -- QWERTY keyboard: "[" (leftbracket) Dial : AZERTY keyboard: "$" (between "P" and "Enter") -- QWERTY keyboard: "]" (rightbracket) Dial 2 : AZERTY keyboard: "*" (between "m" and "Enter") -- QWERTY keyboard: "/" (slash) Dial 2 : AZERTY keyboard: "!" (between "m" and Right) -- QWERTY keyboard: "\" (backslash) </code> You must launch your game, open the //Retroarch menu// [[basic_commands|with Hotkey + B]], go to **Input Interface** and activate the option **Simultaneous**. Then you can use your joystick and keyboard keys at the same time. ===== 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 : * For FBNeo : ''/userdata/bios/fbneo'' * For mame2003plus : ''/userdata/saves/mame/mame2003-plus/hi'' * For mame2010: ''/userdata/saves/mame/mame2010/hi'' * 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 ===== 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]'') {{::configuration_01.png?nolink&400|}} {{::configuration_02.png?nolink&400|}} {{::configuration_03.png?nolink&400|}} {{::configuration_04.png?nolink&400|}} {{::configuration_05.png?nolink&400|}} {{::configuration_06.png?nolink&400|}} {{::configuration_07.png?nolink&400|}} **For MAME,** the default combo is pushing in ''[L3]'' + ''[R3]'' (old versions (FIXME what older versions? Be specific. I also don't think this was even removed, ie. you can still press Tab on the keyboard to access the dip switch menu): ''[Tab]'' on the keyboard) {{::mame_dipswitches_01.png?nolink&400|}} {{::mame_dipswitches_02.png?nolink&400|}} {{::mame_dipswitches_03.png?nolink&400|}} **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 universal BIOS: * At the boot screen, the default combo is holding down {{:wiki:west.png?nolink&20|West button (Y SNES)}} + {{:wiki:south.png?nolink&20|South button (B SNES)}} + {{:wiki:east.png?nolink&20|East button (A SNES)}} * During gameplay, the default combo is holding down ''[START]'' + ''[SELECT]'' or holding down ''[START]'' + {{:wiki:west.png?nolink&20|West button (Y SNES)}} + {{:wiki:south.png?nolink&20|South button (B SNES)}} + {{:wiki:east.png?nolink&20|East button (A SNES)}} {{::neogeo_dipswitches_01.png?400|}} {{::neogeo_dipswitches_02.png?400|}} {{::neogeo_dipswitches_03.png?400|}} {{::neogeo_dipswitches_04.png?400|}} {{::neogeo_dipswitches_05.png?400|}} Setup a new shortcut via RetroArch: ''[HOTKEY]'' + {{:wiki:south.png?nolink&20|South button (B SNES)}} -> **Quick Access** -> **Options** -> **Diagnostic Input** {{::fb_dipswitches_01.png?400|}} {{::mame_diagnostic_input_01.png?400|}} {{::mame_diagnostic_input_02.png?400|}} Setup DIP Switches via RetroArch: ''[HOTKEY]'' + {{:wiki:south.png?nolink&20|South button (B SNES)}} -> **Quick Access** -> **Options** -> **Dip Switches** {{::fb_dipswitches_01.png?400|}} {{::fb_dipswitches_02.png?400|}} {{::fb_dipswitches_03.png?400|}} {{::fb_dipswitches_04.png?400|}} Setup NEO-GEO BIOS via RetroArch: ''[HOTKEY]'' + {{:wiki:south.png?nolink&20|South button (B SNES)}} -> **Quick Access** -> **Options** -> **SPECIFIC NEO GEO BIOS** -> **UNIBIOS** or **SPECIFIC BY DIP SWITCHES** (UNIBIOS) {{::fb_dipswitches_01.png?nolink&400|}} {{::fb_dipswitches_02.png?nolink&400|}} {{::neogeo_bios_01.png?nolink&400|}} {{::neogeo_bios_02.png?nolink&400|}} {{::fb_dipswitches_01.png?nolink&400|}} {{::fb_dipswitches_02.png?nolink&400|}} {{::fb_dipswitches_03.png?nolink&400|}} {{::fb_dipswitches_04.png?nolink&400|}}{{::neogeo_bios_03.png?nolink&400|}} <WRAP center round help> Not all games have a dip switch menu, and may crash when using these commands. </WRAP> <WRAP tip> Here you can change number of players, get more lives, switch for arcade or console mode, setup subtitles, or even active the free mode!</WRAP> --> Options available (Defaults)# * Diagnostic Input (shortcut combination): * ''None'' * ''Hold Start'' * ''Start + A + B'' * ''Hold Start + A + B'' * **''Start + L + R''** (Default) * ''Hold Start + L + R'' * ''Hold Select'' * ''Select + A + B'' * ''Hold Select + A + B'' * ''Select + L + R'' * ''Hold Select + L + R'' * DIP Switches (settings) - may differ from game to game: * Autofire: Off* or On * Coin Mode: Mode 1*, Mode 2 * Coin A / Coin B | Coinage | Coin setting : 4 Coins 3 Credit, 2 Coins 1 Credit, 1 Coin 1 Credit*, 1 Coin 2 Credits, 1 Coin 3 Credits, 1 Coin 4 Credits, 1 Coin 6 Credits, Free to Play * 2C to Start, 1 to Continue: Yes or No* | Starting Coin: Normal, 2x * Difficulty: 1 (Easiest), 2, 3, 4 (Normal)*, 5, 6, 7, 8 (Hardest) * Difficulty 2: Easy, Normal*, Hard, Hardest * Bonus Life: 100K*, 200K, 100K and every 200K, None * Number of Players: 1, 2*, 3, 4 * Change Lives: 1, 2*, 3, 4, 5 * Free to play: Yes or No* * Freeze: : Yes or No* * Flip: Yes or No* * Demo Sound | Attractive: Yes* or No * Allow Continue: Yes* or No * Game Mode: Game* or Test * Sound Output: Mono or Stereo * Unknown: Off* or On * Region: Europe, USA or Japan * Mode: ARCADE or CONSOLE-AES * Subtitles: English, Japanese, Korean or Portuguese * Jukebox <-- ===== MAME standalone input remap files ===== <WRAP center round tip> For libretro MAME, it is recommended to [[:remapping_controls_per_emulator#libretro_cores|use RetroArch's remapping instead]]. </WRAP> 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" 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]]. advanced_arcade.txt Last modified: 19 months agoby atari