Al final he decidit fer-me el meu propi front-end per a la màquina arcade que m’estic construïnt, basada en PiMAME / PiPLAY. La història és molt llarga, i ara no és temps d’explicar-la. El cas és que AdvMENU, que és el front-end proposat en el projecte PiMAME, a mi no em funciona amb la meva configuració de tecles i la interfície de joystick que em vaig fabricar en el meu dia, basat en V-USB. El cas és que no sóc la primera persona a la qual li és impossible la configuració correcta dels botons. Resumint, una qüestió que hauria de ser fàcil de resoldre es converteix en un problema irresoluble. Després de desestimar AdvMENU (i després de compilar des de les fonts la versió 2.7 i de modificar i modificar el fitxer advmenu.rc) vaig considerar la possibilitat d’instal·lar un altre front-end per a emuladors Arcade que es pogués instal·lar bé en la Raspberry Pi. Els requisits havien de ser que funcionés sota Linux/Raspberry Pi, i que no necessités el servidor X de la RPi (la qual cosa desestima el popular front-end Wahcade). Després d’analitzar les diferents solucions, la notícia dolenta va ser que vaig arribar a la conclusió de què hauria de programar el meu propi front-end… la qual cosa esdevé al final una notícia bona, doncs per fi tindria un front-end simple i eficient, amb només les funcionalitats que necessito, que funcioni amb la meva configuració dels botons, i que s’adapti al disseny i filtres de ROMs del meu gust.
El resultat és un codi C++ de 700 línies, que utiltiza SDL de forma nadiua, igual de bé en el portàtil que en la Raspberry Pi, on no necessita arrencar les X. Es pot navegar de forma fàcil per la classificació dels jocs (All Favourites, Bad, Good, Very good, Prefered), i per les categories dels jocs (Platform, Shooter, Gallery,…). El fitxer de configuració és molt simple, resources/romlist.txt, amb una línia per cada ROM. S’ha programat a raig, bastant ràpid, segur que hi ha coses a millorar, però la llista TODO ha quedat realment molt petita. Aquest emulador només està pensat per als jocs de MAME (mame4all), per tant algú que el vulgui utiltizar trobarà a faltar canviar d’emulador. De totes maneres, seria fàcil fer l’adaptació i disposar d’un botó per al canvi d’emulador.
Tanmateix, el bartop que estic construint es basa en la simplicitat (un sol joystick i només sis botons, que estan mapejats a les tecles ‘0’,…, ‘5’). I aquesta simplicitat queda reflexada en el codi font. Això fa que llençar una ROM i tornar al front-end sigui molt ràpid (molt més ràpid que amb AdvMenu), amb una millor experiència d’usuari. També s’ha aconseguit una solució elegant per anar a la consola de Linux, o per apagar la Raspberry Pi de forma correcta abans d’apagar l’interruptor.
En resum, un front-end per a MAME molt simple però amb un disseny correcte, que no té ni de bon tros totes les opcions del projecte AdvMENU, però que tampoc es troben a faltar.
Pots descarregar-te el codi font de:
http://wiki.joanillo.org/index.php/Fitxer:Joanillo_arcade_frontend.zip
I aquí tens un video demostratiu de com funciona el front-end i de les seves opcions bàsiques: