{"id":234,"date":"2014-07-24T23:27:49","date_gmt":"2014-07-24T21:27:49","guid":{"rendered":"http:\/\/www.joanillo.org\/?p=234"},"modified":"2020-09-16T12:30:14","modified_gmt":"2020-09-16T10:30:14","slug":"joanillo-arcade-frontend-un-simple-frontend-para-pimame-piplay","status":"publish","type":"post","link":"https:\/\/www.joanillo.org\/?p=234&lang=es","title":{"rendered":"Joanillo Arcade Frontend. Un simple frontend para PiMAME\/PiPLAY"},"content":{"rendered":"<p><a href=\"http:\/\/www.joanillo.org\/wp-content\/uploads\/2014\/07\/jaf.jpg\"><img src=\"http:\/\/www.joanillo.org\/wp-content\/uploads\/2014\/07\/jaf.jpg\" alt=\"Joanillo Arcade Frontend\" title=\"Joanillo Arcade Frontend\" width=\"300\" class=\"alignright size-full wp-image-877\"><\/a>Al final he decidido hacerme mi propio front-end para la m\u00e1quina <strong>arcade<\/strong> que me estoy construyendo, basada en <strong>PiMAME \/ PiPLAY<\/strong>. La historia es muy larga, y ahora no es el momento de explicarla. El caso es que AdvMENU, que es el front-end propuesto en el proyecto PiMAME, a mi no me funciona con mi configuraci\u00f3n de teclas y la interficie de joystick que me fabriqu\u00e9 en su d\u00eda, basado en <strong><a href=\"http:\/\/www.obdev.at\/products\/vusb\/index.html\" title=\"V-USB\" target=\"_blank\" rel=\"noopener noreferrer\">V-USB<\/a><\/strong>. El caso es que no soy la primera persona que tiene problemas con la configuraci\u00f3n de AdvMenu. Resumiendo, una cuesti\u00f3n que tendr\u00eda que ser f\u00e1cil de resolver se convierte en un problema irresoluble. Despu\u00e9s de desestimar AdvMENU (y despu\u00e9s de compilar desde las fuentes la versi\u00f3n 2.7 y de modificar y modificar el fichero <em>advmenu.rc<\/em>) consider\u00e9 la posibilidad de instalar otro front-end para emuladores Arcade que se pudiese instalar bien en la Raspberry Pi. Los requisitos eran que funcionase bajo Linux\/Raspberry Pi, y que no necesitase el servidor X de la RPi (lo que desestima el popular front-end <em>Wahcade<\/em>). Despu\u00e9s de analizar las diferentes soluciones, la noticia mala fue que llegu\u00e9 a la conclusi\u00f3n de que ten\u00eda que programar mi propio front-end&#8230; que al final es una noticia buena, pues por fin tendr\u00eda un front-end simple y eficiente, con tan s\u00f3lo las funcionalidades que necesito, que funciona con mi configuraci\u00f3n de botones, y que se adapta al dise\u00f1o y filtros de ROMs a mi gusto.<\/p>\n<p>El resultado es un c\u00f3digo <strong>C++<\/strong> de 700 l\u00edneas, que utiliza <strong>SDL<\/strong> de forma nativa, igual de bien en el port\u00e1til que en la Raspberry Pi, donde no hay que arrancar el entorno gr\u00e1fico. Se puede navegar de forma f\u00e1cil por la clasificaci\u00f3n de los juegos (<em>All Favourites, Bad, Good, Very good, Prefered<\/em>), y por las categor\u00edas de los juegos (<em>Platform, Shooter, Gallery,&#8230;<\/em>). El fichero de configuraci\u00f3n es muy simple, <em>resources\/romlist.txt<\/em>, con una l\u00ednea para cada ROM. Se ha programado a chorro, en muy poco tiempo, seguro que hay cosas a mejorar, pero la lista <em>TODO<\/em> ha quedado realmente peque\u00f1a. Este front-end s\u00f3lo est\u00e1 pensado para los juegos de <strong>MAME<\/strong> (<em>mame4all<\/em>), por tanto si alguien lo quiere utilizar encontrar\u00e1 a faltar cambiar a otros emuladores. De todas formas, ser\u00eda f\u00e1cil hacer la adaptaci\u00f3n y disponer de un bot\u00f3n para el cambio de emulador.<\/p>\n<p>Sin embargo, el <strong>bartop<\/strong> que estoy construyendo se basa en la simplicidad (un solo joystick y tan solo seis botones, que est\u00e1n mapeados a las teclas &#8216;0&#8217;,&#8230;, &#8216;5&#8217;). Y esta simplicidad queda reflejada en el c\u00f3digo fuente. Esto hace que lanzar una ROM y volver al front-end sea mucho m\u00e1s r\u00e1pido (mucho m\u00e1s r\u00e1pido que con AdvMenu), con una mejor experiencia de usuario. Tambi\u00e9n se ha conseguido una soluci\u00f3n elegante para ir a la consola de Linux, o para apagar la Raspberry Pi de forma correcta antes de apagar el interruptor.<\/p>\n<p>En resumen, un front-end para MAME muy simple pero con un dise\u00f1o correcto, que no tiene ni de largo todas las opciones del proyecto AdvMENU, pero que tampoco se encuentran a faltar.<\/p>\n<p>Puedes descargarte el c\u00f3digo fuente de:<br \/>\n<a href=\"http:\/\/wiki.joanillo.org\/index.php\/Fitxer:Joanillo_arcade_frontend.zip\">http:\/\/wiki.joanillo.org\/index.php\/Fitxer:Joanillo_arcade_frontend.zip<\/a><\/p>\n<p>Y aqu\u00ed tienes un v\u00eddeo demostrativo de c\u00f3mo funciona el front-end y de sus opciones b\u00e1sicas:<\/p>\n<p><iframe width=\"640\" height=\"360\" src=\"\/\/www.youtube.com\/embed\/A03xoSMrxPM?feature=player_detailpage\" frameborder=\"0\" allowfullscreen=\"\"><\/iframe><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Al final he decidido hacerme mi propio front-end para la m\u00e1quina arcade que me estoy construyendo, basada en PiMAME \/ PiPLAY. La historia es muy larga, y ahora no es el momento de explicarla. El caso es que AdvMENU, que es el front-end propuesto en el proyecto PiMAME, a mi no me funciona con mi [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[290,324,320,348],"tags":[270],"_links":{"self":[{"href":"https:\/\/www.joanillo.org\/index.php?rest_route=\/wp\/v2\/posts\/234"}],"collection":[{"href":"https:\/\/www.joanillo.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.joanillo.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.joanillo.org\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.joanillo.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=234"}],"version-history":[{"count":1,"href":"https:\/\/www.joanillo.org\/index.php?rest_route=\/wp\/v2\/posts\/234\/revisions"}],"predecessor-version":[{"id":235,"href":"https:\/\/www.joanillo.org\/index.php?rest_route=\/wp\/v2\/posts\/234\/revisions\/235"}],"wp:attachment":[{"href":"https:\/\/www.joanillo.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=234"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.joanillo.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=234"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.joanillo.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=234"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}