Ripristinare mame0139 in batocera 41

Tags: 

In batocera V41 è stato rimosso "mame0139", evvero il "Mame 2010" con il supporto del romset 0.139. E' una versione di mame molto versatile, con un romset consolidato, e quindi potrebbe essere utile reinserirla (in particolare se si vuole aggiornare alla V41 senza dover aggiornare per forza tutto il romset).

Una soluzione veloce è quella presentata da "80 voglia di arcade" in questo video:
https://www.youtube.com/watch?v=FrXPup-pp2E
Il file con il pacchetto da scaricare è questo: https://www.strananet.it/Mame0139Pack.zip

Per una spiegazione più esaustiva, e poter ripetere le operazioni anche in versioni future, occorre per prima cosa scaricare l'ultima versione di "mame2010" dal repository dei core libretro:
https://buildbot.libretro.com/nightly/linux/x86_64/latest/ 

Unzippiamo il file e otteniamo un file .so, che possiamo rinominare come vogliamo (ad esempio "mame0139_libretro.so" per mantenere la nomenclatura standard batocera) e copiare dentro /usr/lib/libretro/. Sarà poi necessario generare un file descrittore in /usr/share/libretro/info, con lo stesso nome ma estensione .info, ad esempio "mame0139_libretro.info".
Il contenuto del file possiamo prenderlo da un altro file .info riferito a mame, sostituendo i riferimenti per andare sulla libreria mame0139.
Questo ad esempio il contenuto di mame0139_libretro.info del mio sistema:

# Software Information
display_name = "Arcade (MAME 2010)"
authors = "MAMEdev"
supported_extensions = "zip|7z|chd"
corename = "MAME 2010 (0.139)"
license = "MAME"
permissions = ""
display_version = "0.139"
categories = "Emulator"
 
# Hardware Information
manufacturer = "Various"
systemname = "Arcade (various)"
systemid = "mame"
 
# Libretro Features
supports_no_game = "false"
database = "MAME 2010"
savestate = "false"
savestate_features = "null"
cheats = "false"
input_descriptors = "false"
memory_descriptors = "false"
libretro_saves = "false"
core_options = "true"
core_options_version = "1.0"
hw_render = "false"
disk_control = "false"
notes = "(!) The BIOS files must be inside the ROM directory.|"
 
description = "Based on a snapshot of the MAME codebase circa 2010, 'MAME 2010' is compatible with the MAME 0.139 ROM set, which was used in the popular MAME4droid port. If your device can run the up-to-date MAME - Current core (or any other newer snapshot) at full speed, most users will have a better experience with that core, while FBNeo is typically a better choice for speed vs accuracy, as long as it supports the game(s) in question. This core is mainly notable for using a very common ROM set that will never change."

Fatto tutto questo è necessario modificare la configurazione del sistema "mame" per dirgli che esiste anche il core "mame0139". Tutte le configurazioni sono dentro /usr/share/emulationstation/es_systems.cfg. Il file è molto semplice: cerchiamo la configurazione di <fullname>Mame</fullname> , copiamo tutta la configurazione, quindi creiamo un nuovo file dentro /userdata/system/configs/emulationstation, chiamato es_systems_mame.cfg che ci permetterà di avere una nostra configurazione che copre quella base.
Il contenuto del file sarà dato dalla configurazione originale copiata prima, alla quale aggiungeremo la possibilità di scegliere il core mame0139. Questo il mio file (da notare che intanto che c'ero ho anche aggiunto il core di fbneo, per quando voglio provare a lanciare un gioco presente nella cartella di mame ma con fbneo):

<?xml version="1.0"?>
<systemList>
  <system>
        <fullname>Mame</fullname>
        <name>mame</name>
        <manufacturer>Arcade</manufacturer>
        <release>1997</release>
        <hardware>arcade</hardware>
        <path>/userdata/roms/mame</path>
        <extension>.zip .7z</extension>
        <command>emulatorlauncher %CONTROLLERSCONFIG% -system %SYSTEM% -rom %ROM% -gameinfoxml %GAMEINFOXML% -systemname %SYSTEMNAME%</command>
        <platform>arcade</platform>
        <theme>mame</theme>
        <emulators>
            <emulator name="libretro">
                <cores>
                    <core>mame</core>
                    <core default="true">mame078plus</core>
                     <core>mame0139</core>
                     <core>fbneo</core>
                </cores>
            </emulator>
            <emulator name="mame">
                <cores>
                    <core>mame</core>
                </cores>
            </emulator>
        </emulators>
  </system>
</systemList>

La configurazione è completa, ora lanciamo il comando: "batocera-save-overlay" e viene tutto persistito (il comando serve per i primi file .so e .info, le altre cose sono in /userdata/ e quindi sono in area modificabile a piacere).
Possiamo riavviare la macchina per prendere le configurazioni nuove, o eseguire da riga di comando "batocera-es-swissknife --restart".

NOTA: Al prossimo upgrade di batocera i file verranno rimossi. Potremo presumibilmente semplicemente rifare questa procedura.

Vedi anche: https://wiki.batocera.org/emulationstation:customize_systems

Aggiungi un commento

Scrivi la risposta in lettere (ad esempio "tre" e non "3")