Varios MAMEs para Raspberry Pi (Zup)

Foro dedicado a sistemas varios: juguetes programables, calculadoras, agendas electrónicas, traductoras, y cualquier otro sistema de la época.
Avatar de Usuario
TITAN
Administrador del Sitio
Administrador del Sitio
Mensajes: 34
Registrado: 03 Nov 2011, 16:40
Sistema Favorito: Amstrad CPC
primer_sistema: Amstrad CPC

Varios MAMEs para Raspberry Pi (Zup)

Mensajepor TITAN » 14 Jul 2012, 06:33

(ZUP)

Aquí dejo 3 opciones para poner a funcionar MAME en el Raspberry Pi, por si queréis hacer pruebas. Atentos a los diferentes sets de roms, en especial a las de Neo Geo...

(SDL)(X)MAME 0.106
En esta página explican cómo se deben modificar los fuentes del MAME 0.106 para hacerlos compilar y funcionar en la Raspberry Pi. El autor propone una descarga para el fuente de MAME, pero funciona igual de bien si se usa el archivo fuente de Debian. NOTA: No olvidéis modificar a vuestro antojo el archivo Makefile. Por defecto compila un MAME para X Windows, mi recomendación es que hagáis que compile para SDL.

AdvanceMAME 0.106:
Parecido a la anterior, incluso hay archivos binarios publicados. En esencia es un procedimiento muy parecido, pero supuestamente debería ir mejor con monitores de tubo (no estoy seguro, pero me da a mi que HDMI no va a poder sacar imágen RGB analógica en la vida).

MAME4ALL: Basado en MAME 0.37b5, va más rápido en consolas poco potentes. El proyecto original funcionaba en Linux, Windows, Dreamcast, PSP y GP2X... ahora tiene un target más.

Lo primero de todo es conseguirse el código fuente de la página de Chui, y el parche que he creado. Copiamos los archivos a /usr/src.

Descomprimimos el fuente y le aplicamos el parche (como administrador):

Código: Seleccionar todo

cd /usr/src
tar -jxvf mame4all-beta2-src.tar.bz2
unzip mame4all.zip
cd mame4all
patch -p1 < ../mame4all.diff


Después editamos el fichero Makefile.pi. Aquí hay dos líneas importantes:
- Si quitamos el comentario a la que dice HARDFLOAT = 1, mame4all compilará con soporte hard-float. Eso significa que funcionará sólo en Raspbian y alguna otra distribución que lo soporte. Si compilas para Debian, Fedora o alguna otra, no toques esta línea.
- Si quitamos el comentario a la que dice RASPBERRY_DRZ80 =1, mame4all usará el core DRZ80. Este core es más rápido, pero algunos juegos no funcionan con él. Mi recomendación es compilar una versión sin DRZ80, limpiar y después compilar otra con este core. De esta manera tendrás dos ejecutables, y si un juego casca en uno siempre puedes usar el otro.

Lo último ya es darle una make -f Makefile.pi y ver lo que pasa. Si algo va mal, o quieres cambiar de opciones de compilación, ejecuta estas líneas:

Código: Seleccionar todo

make -f Makefile.pi clean
make -f Makefile.pi clean-all


Como veis, sólo he estado hablando de compilar fuentes... ¿por qué? [d]Porque yo lo valgo[/d] Porque yo estoy usando en mi Raspberry Pi la distribución Raspbian. Esta distribución es de las pocas que usan librerías de coma flotante por hardware, lo que hace que el software compilado en ella no ejecute en otras distribuciones (p.ej.: Debian) pero que en aplicaciones de cálculo intensivo (Quake 3) se consiga mayor velocidad.

Si alguien compila desde el código fuente, los ejecutables generados funcionarán bien en su distribución y no tendrá más problemas; si se distribuyen binarios puede haber algún tema.

Avatar de Usuario
zup
Amiga 2500
Amiga 2500
Mensajes: 2971
Registrado: 04 Sep 2009, 20:07
Sistema Favorito: Spectrum 16Kb/48Kb
primer_sistema: Spectrum 16Kb/48Kb
consola_favorita: Nintendo DS/3DS
Primera consola: Nintendo GameBoy
Ubicación: Navarra
Gracias dadas: 68 veces
Gracias recibidas: 326 veces
Contactar:

Re: Varios MAMEs para Raspberry Pi (Zup)

Mensajepor zup » 17 Jul 2012, 19:48

Tan solo decir que he puesto el procedimiento del Mame4all (no sé si mejor o peor explicado) en ese desastre que a veces llamo blog. Los enlaces al parche del post anterior son válidos (por ahora), y cuando tenga un rato intentaré subir binarios para Raspbian (si alguien puede, que los compile también para Debian, aunque creo que hay un pequeño y evidente error en el parche).

Otro temita es que no está del todo terminado (y para esto creo que puedo necesitar ayuda), ya que falla la redimensión por dos partes:
- Este mame4all utiliza resolución de 320x240. SDL elige (correctamente) la siguiente resolución disponible (640x480), pero no redimensiona la ventana de juego.
- Algunos juegos (CPS1) no caben en la ventana de juego, y tampoco redimensionan para caber (se salen por los bordes). Curiosamente en el mame4all para Nintendo DS sí que redimensionan bien, pero no tengo los fuentes.

Al margen de estos dos detalles, para tener el auténtico MQTC (MAME-que-te-cagas) para Raspberry Pi, habría que robar el soporte de OpenGLES que tiene el iMame4all... por ahí se dice que acelera "algo" las cosas. No espero una ganancia de rendimiento brutal, pero sí lo suficiente para que algunos juegos dejen de hacer "saltitos".

De hecho, creo que lo mejor hubiera sido empezar con imame4all, pero es que con mis habilidades no tengo ni repajolera idea de por dónde agarrarlo.

-- 21 Jul 2012, 19:27 --

Adjunto dos cosillas para los interesados...

- Parche para aplicar al código fuente del mame4all de Chui. Espero no haber metido mucho la zarpa al hacerlo.
- Binarios fresquitos para aquellos que usen Raspbian (por ahora no puedo compilar para Debian).

Espero que os sirva de algo.
I have traveled across the universe and through the years to find Her. Sometimes going all the way is just a start.
Además vendo cosas!


Volver a “Sistemas Varios”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 2 invitados