SDLmame, MAME para Linux.
Que es SDLmame?
SDLMAME es un port del popular MAME.
En ese articulo, cuento como lo compilarlo, instalarlo y de donde descargar las roms para empezar a jugar.
Palabras textuales de los desarrolladores:
Hay algunos principios que guian este desarrollo:
- correr en Linux/Unix, Mac OS X, y otros sistemas operativos que soporten SDL con tan pocos cambios como sea posible al codigo de base Win32. Esto significa que podemos ubicar cambios mas rapido que los mas grandes y mas convencionales ports tales como MacMAME, y tambien mantenemos lo que llamo “compatibilidad Firefox” donde aprender una aplicacion principal solo necesita ser hecho una vez por aplicacion, y esto luego se aplica a varios sistemas operativos. Si puedes usar el MAME de linea de comandos para Win32, ya estas preparado para usar SDLMAME en cualquier plataforma que puedas encontrar.
- los desarrolladores MAME son importantes. Manteniendonos rapidamente al dia, hacemos que sea facil para genteen plataformas no Windows realizar y enviar cambios al codigo MAME central.
Enlaces patrocinados
Screenshots






Descarga SDLmame
http://rbelmont.mameworld.info/?page_id=163
http://rbelmont.mameworld.info/sdlmame0120a.zip
Enlaces patrocinados
Genial, como lo compilo ?
Las instrucciones completas estan en el archivo SDLMAME.txt adentro del .zip.
Para poder compilarlo, se necesita instalar las librerias de desarrollo de SDL:
Simple DirectMedia Layer development files
Para saber si estan instaladas, ejecuta el sig. comando:
$ dpkg -l libsdl*dev | grep ^ii ii libsdl1.2-dev 1.2.11-8 Simple DirectMedia Layer development files
El cual nos devuelve una linea indicando que las librerias estan instaladas.
Ademas de las librerias de desarrollo, debemos tener instalada la propia liberia SDL.
$ dpkg -l libsdl* | grep ^ii ii libsdl-gfx1.2-4 2.0.13-2+b1 drawing and graphical effects extension for ii libsdl-image1.2 1.2.5-2+b1 image loading library for Simple DirectMedia ii libsdl-mixer1.2 1.2.6-1.1+b2 mixer library for Simple DirectMedia Layer 1 ii libsdl-net1.2 1.2.5-7+b1 network library for Simple DirectMedia Layer ii libsdl-sound1.2 1.0.1-11 Decoder of several sound file formats for SD ii libsdl-ttf2.0-0 2.0.8-3+b1 ttf library for Simple DirectMedia Layer wit ii libsdl1.2-dev 1.2.11-8 Simple DirectMedia Layer development files ii libsdl1.2debian 1.2.11-8 Simple DirectMedia Layer ii libsdl1.2debian-alsa 1.2.11-8 Simple DirectMedia Layer (with X11 and ALSA
Compilando SDLmame
$ unzip sdlmame0120a.zip
$ cd sdlmame0120a
$ make
Al terminar la compilacion, aparecen varios nuevos archivos, entre los cuales esta el ejecutable: mame
De Donde descargar las ROMS ?
Para poder jugar, necesitas primero descargar las ROMS de los juegos originales.
Un sitio muy completo de donde descargar las ROMS:
Para los juegos de NeoGeo, se necesitan las BIOS ROMS de NeoGeo.
Se pueden descargar de aca:
http://server2.rom-world.com/3856720361/MAME/neogeo.zip
Las ROMS descargadas se pueden ubicar en el directorio
~/sdlmame0120a/roms
Let’s Play !!!
Para ver una larga lista de todas las opciones disponibles:
./mame -showusage | pager
Para cargar una ROM llamada ~/sdlmame0120a/roms/armwar.zip
escribimos lo siguiente:
./mame -rompath ~/sdlmame0120a/roms/ -video opengl -keepaspect -window armwar
donde
-rompath elpathdelasroms
indica donde se encuentran las ROMS.
-video opengl
indica que utilice la aceleracion 3D por hardware.
si no se posee aceleracion 3D por hardware, es mejor usar la opcion -video soft.
-keepaspect
Mantiene el aspect ratio original al agrandar o achicar la ventana.
Notar que al invocar el comando, no se agrega el .zip al final del nombre de la ROM.
Para ingresar al menu de mame ingresamos todas las opciones menos el parametro que indica la ROM a cargar.
De esta forma, mame nos mostrara un menu con los juegos que haya encontrado en el rompath.
Problemas con Xmame o SDLmame
NOTA!: En xmame, los nombres de las roms .zip deben estar
en minuscula para que los tome sin problemas.
NOTA!: En ningun momento hace falta descomprimir los archivos .zip con las ROMS. El programa mame se encarga de descomprimir y buscar automaticamente las ROMS.
Faltan BIOS ROMS
Si al ejecutar el mame, nos de errores de este estilo:
lo-000.bin NOT FOUND
mvce.03 NOT FOUND
mvce.04 NOT FOUND
mvc.05 NOT FOUND
mvc.06 NOT FOUND
ERROR: required files are missing, the game cannot be run.
eso significa que hay bios roms que nos estan faltando.
Las bios roms son archivos zip como las roms normales,
pero que implementan alguna BIOS de arcade de alguna empresa
especifica, por ejemplo para emular juegos de NeoGeo.
Para solucionar el problema hay que descargar las bios-roms necesarias y simplemente copiarlas en la misma carpeta donde se encuentran las roms comunes.
Por ejemplo, copiar neogeo.zip dentro de la carpeta roms para poder tener emulacion para juegos de Neo-Geo.
ROMS VIEJAS
Algunas versiones de roms viejas
parecen no funcionar con las versiones
mas nuevas de MAME.
Por ejemplo, parece que hay roms especificamente
diseñadas para algunas versiones de MAME, por ejemplo
la version MAME 0.37b que es bastante vieja.
En estos casos hay que bajar las roms de nuevo.
Por ejemplo, 1942 al bajar la rom nueva
funciona en xmame. Pero la rom vieja no.
Contenidos de algunas BIOS
A continuacion listo el contenidos de algunas ROMS de bios para que puedan buscar cual BIOS les hace falta para correr un determinado juego. Simplemente observar el error de cuales son los archivos no encontrados (NOT FOUND) y buscarlos.
~/s/xmameroms$ unzip -l ar_bios.zip
Archive: ar_bios.zip
Length Date Time Name
-------- ---- ---- ----
65536 12-17-04 23:52 scpav3_0.1l
65536 12-17-04 23:52 scpav3_0.1h
65536 12-17-04 23:52 scpa211l
65536 12-17-04 23:52 scpa211h
262144 12-18-04 00:00 kick13.rom
65536 01-15-05 23:13 gcp-1-hi
65536 01-15-05 23:14 gcp-1-lo
65536 01-15-05 23:15 gcp-2-hi
65536 01-15-05 23:16 gcp-2-lo
65536 01-15-05 23:17 gcp-3-hi
65536 01-15-05 23:17 gcp-3-lo
-------- -------
917504 11 files
~/s/xmameroms$ unzip -l neogeo.zip
Archive: neogeo.zip
Length Date Time Name
-------- ---- ---- ----
131072 12-03-97 15:54 sp-s2.sp1
65536 11-02-01 03:05 000-lo.lo
131072 03-06-98 16:21 sfix.sfx
131072 10-28-98 22:58 sm1.sm1
131072 04-17-03 17:14 sp-e.sp1
131072 03-01-00 21:17 sp-j2.rom
131072 07-17-00 17:23 sp-s.sp1
131072 11-22-95 00:44 vs-bios.rom
131072 05-18-03 22:28 usa_2slt.bin
131072 05-20-03 05:37 asia-s3.rom
131072 01-17-05 23:13 sp1.jipan.1024
-------- -------
1376256 11 files
seba@snarvaez:~/s/xmameroms$ unzip -l crysbios.zip
Archive: crysbios.zip
Length Date Time Name
-------- ---- ---- ----
131072 09-29-04 11:56 mx27l1000.u14
-------- -------
131072 1 file
seba@snarvaez:~/s/xmameroms$ unzip -l macsbios.zip
Archive: macsbios.zip
Length Date Time Name
-------- ---- ---- ----
524288 04-28-04 11:06 macsos_l.u43
524288 04-28-04 11:06 macsos_h.u44
-------- -------
1048576 2 files
seba@snarvaez:~/s/xmameroms$ unzip -l stvbios.zip
Archive: stvbios.zip
Length Date Time Name
-------- ---- ---- ----
524288 01-13-03 17:55 mp17952a.s
524288 01-13-03 17:55 mp17951a.s
524288 01-13-03 17:55 epr19730.ic8
524288 01-10-03 01:48 20091.bin
524288 09-04-03 17:43 mp17953a.ic8
524288 09-25-02 18:38 mp17954a.s
524288 03-07-04 09:35 stv110.bin
-------- -------
3670016 7 files
Si tienes alguna pregunta, consejo (o simplemente quieres saludar) por favor deja un comentario de esta nota.
Copyright: http://snarvaez.com.ar Sebastián Narváez
este documento ha sido publicado bajo la siguiente licencia: “Verbatim copying and distribution of this entire article are permitted in any medium provided this notice is preserved.”
November 24th, 2007 at 12:16 am
Sebass….como andás kpo?
Te cuento que me bajé la versión sdlmame0121a, que es la ultima estable.
Después ejecuté el comando dpkg -l libsdl*dev | grep ^ii y me tiró que no tenía instalada esa libreria.
Así que tuve que hacer lo siguiente:
sudo apt-get install libsdl1.2-dev
Eso me instaló la “Simple DirectMedia Layer development files”.
Despues le hice el “make” y ahí me tiró este error:
/usr/bin/ld: cannot find -lXinerama
Ese error me lo tiró al finalizar el make….luego ejecuté ./mame y me tiró un error, se ve que no está compilado correctamente.
Tenés idea que puedo hacer??
Quiero jugar loco!!
gracias
1 abrazo
November 24th, 2007 at 6:27 pm
Hola!
No hay una opcion para agregarlo en los repositorios , sin necesidad de compilarlo?
Asi de esta manera estaria siempre actualizado?
Saludos
November 25th, 2007 at 5:12 pm
Seba, al final me anduvo!!!
Me faltaba instalarme estas librerias del xinerama:
sudo apt-get install libxinerama-dev
Despues compilé nuevamente y todo anduvo perfect!!
Saludos!
November 26th, 2007 at 10:32 pm
@Migue:
Que grande Migue !!!
Buen dato lo de las librerias xinerama.
Ahora solo falta investiagar a ver como hacemos para jugarnos unas partiditas al MAME por internet
PD: Estaria bueno ir armando una lista con los juegos favoritos y/o recomendados, o que cada uno postee su lista. Por lo pronto voy a ir armando mi lista.
Salu2 !!
@Ariel:
Estuve mirando en mi instalacion de Ubuntu 7.10 Gutsy Gibbon, y encontre que el xmame ya se encuentra en los repositorios. Igual tene en cuenta que el desarrollo de xmame por ahora se encuentra detenido y parece que el sucesor del xmame es sdlmame. Por ejemplo, el sdlmame soporta algunos juegos mas nuevos que el xmame todavia no. Si bien, segun mi experiencia en una maquina sin aceleradora 3D, el xmame tiene mas performance.
Simplemente tenes que
1) configurar el archivo “/etc/apt/sources.list”
y descomentar las lineas de los repositorios universe y multiverse.
2) Actualizar la lista de paquetes con “aptitude update” o “apt-get update”
3) buscar los nuevos paquetes relacionados con xmame:
apt-cache search mame
kamefu - KDE All Machine Emulator Frontend for Unix - binary files
kamefu-data - Data files for Kamefu
libkamefu-dev - Development headers for Kamefu
libkamefu0 - Libraries for Kamefu
kxmame - A KDE frontend for xmame emulator
xmame-common - Multiple Arcade Machine Emulator
xmame-gl - dummy package
xmame-sdl - SDL binaries for the Multiple Arcade Machine Emulator
xmame-svga - SVGALIB binaries for the Multiple Arcade Machine Emulator
xmame-tools - Tools for xmame and xmess
xmame-x - X binaries for the Multiple Arcade Machine Emulator
xmess-common - Support files for the Multi Emulator Super System
xmess-sdl - SDL binaries for the Multi Emulator Super System
xmess-x - X binaries for the Multi Emulator Super System
4) Si usas KDE instala el kxmame.
Sino, podes instalarte el xmame-x o el xmame-sdl
Bueno, espero que lo instales y despues contanos como te fue, y a que juegos estas jugando.
July 1st, 2008 at 7:03 pm
[...] El articulo sobre MAME en Linux [...]
January 21st, 2009 at 4:45 am
Greetings!
Sabes?
Me dice ’segmentation fault’ cuando corro el rom que tengo en root/sdlmame0120a/rom (uso tu instrucción de comando para cargar el mslug5.zip) ¿cuál es el problema?
saludos Andrés