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:

  1. 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.
  2. 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

SDLmame Aremored Warrior 01


SDLmame Aremored Warrior 02

SDLmame Capitan Comando

SDLmame Marvel vs Capcom

SDLmame Souledge

SDLmame Souledge menu

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:

http://www.rom-world.com/

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

Valid XHTML 1.0 Transitional

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.”

6 Responses to “SDLmame, MAME para Linux.”

  1. Migue Says:

    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

  2. ariel Says:

    Hola!
    No hay una opcion para agregarlo en los repositorios , sin necesidad de compilarlo?
    Asi de esta manera estaria siempre actualizado?
    Saludos

  3. Migue Says:

    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!

  4. Sebastian Emilio Narvaez Says:

    @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.

  5. DOSBOX - Programas y juegos de MS-DOS en Linux LIBERTAD DIGITAL Says:

    [...] El articulo sobre MAME en Linux [...]

  6. Andrés Says:

    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

Leave a Reply