Skip to content

Vuelve a tu infancia con MAME

26/noviembre/2007

Si tienes añoranza por los juegos de antaño y quieres volver a jugarlos, prueba Multiple Arcade Machine Emulator (MAME), un emulador libre que permite recrear el funcionamiento de los antiguos sistemas de juegos arcade. A pesar de estar desarrollado para Winbugs, es posible ejecutarlo bajo Linux.

MAME produce una emulación de audio y video muy bien lograda de cada componente de los juegos arcade originales. Puesto que los juegos emulados son generalmente muy viejos, los cuales funcionaban originalmente en CPUs de 8 o 16-bit de velocidades muy reducidas (para los estándares de hoy), un Pentium de 1GHz es suficientemente rápido para ejecutar MAME, aunque siempre desearás una máquina más rápida para los juegos actuales.

MAME fue liberado por primera vez en Febrero de 1997 y actualmente se encuentra en la versión 0.121, liberada bajo una licencia especial (y no GPL). Puede correr cerca de 4.000 diferentes juegos y se encuentra con un activo desarrollo.

Ejecutar MAME en Linux

Varios proyectos portaron MAME a Linux, pero solo uno continua activo. SDLMAME, basado en el código para Windows, permite correr MAME con unos pocos cambios lo que posibilita a este poder seguir los nuevos lanzamientos de MAME más rápidamente. Corre en Linux (32- y 64-bit), FreeBSD, y Mac OS X. Incluso soporta Windows, aunque tendría poco sentido correr SDLMAME en vez del MAME original.

sdl.png

Para instalar SDLMAME, descarga la última versión disponible sdlmame0121u.zip. Debes tener instalados los paquetes SDL y SDL-devel; puedes obtenerlos con Smart, YaST, yum, o el administraor de paquetes que tu distribución utilice. Descomprime los archivos y cambiate al directorio creado. Edita el archivo makefile para configurar las opciones a tu tipo de CPU, entonces ejecuta make para crear el archivo ejecutabla mame.

compilando-mame.png

Si las descargas de imagenes ROM no están prohibidas en tu país, una simple búsqueda en Internet puede darte resultados. Almacena las imagenes (y no las descomprimas!) en el directorio $HOME/Desktop/sdlmame0121u1/roms. Para jugar, escribe ./mame el-juego-en-rom-que-quieres-jugar. (Para equipos con procesadores Athlon, el comando es mameat, para I686 (Pentium Pro) es mamepp). El resto es automático.

Si deseas configurar algunas opciones, como jugar el juego a pantalla completa o en una ventana, puedes usar el comando ./mame -showusage para aprender los posibles parametros, y entonces crear un archivo mame.ini con esos ajustes, así no tendrás que escribirlos cada vez que quieras jugar.

Resumen para instalar MAME en tu equipo:

unzip sdlmame0121u1.zip
cd sdlmame0121u1
vi makefile
make

Resumen para jugar algun juego:

cd sdlmame0121u1
./mame 1942 -window

mame-1942.png

Algunas teclas que puedes utilizar durante la ejecución de MAME:

* Tab: Mostrar el menu de MAME.
* Escape: Para volver o terminar el juego.
* 5: Inserta una “ficha”.
* 1: Comenzar un juego para un solo jugador.

mame-aerofighter.pngSi deseas optimizar la utilización de CPU, especificamente puedes descomentar (quitar el # al principio de la línea) una de las siguientes líneas dependiendo de tu procesador:

# ATHLON = 1
I686 = 1
# P4 = 1
# PM = 1
# CORE2 = 1
# AMD64 = 1
# G3 = 1
# G4 = 1
# G5 = 1
# CELL = 1

Más información en: Play Pac-man (and more!) on your PC.

Nota: Si has optimizado la compilación, el comando para ejecutar dependerá de la arquitectura seleccionada, en mi caso, seleccione I686 y el comando es mamepp.

Me entusiasme, y me he puesto a probar varios juegos que he descargado desde ROM World.

Anuncios
3 comentarios
  1. Alex permalink*
    12/diciembre/2007 2:21 pm

    Ejemplo de mame.ini


    ### mame.ini ###

    ### Frontend Related ###
    clones 1

    ### Windows path and directory options ###
    rompath roms
    samplepath samples
    # inipath (not set)
    cfg_directory cfg
    nvram_directory nvram
    memcard_directory memcard
    input_directory inp
    hiscore_directory hi
    state_directory sta
    artwork_directory artwork
    snapshot_directory snap
    diff_directory diff
    ctrlr_directory ctrlr
    cheat_file cheat.dat
    history_file history.dat
    mameinfo_file mameinfo.dat

    ### Windows video options ###
    autoframeskip 1
    frameskip 0
    waitvsync 0
    triplebuffer 0
    window 0
    ddraw 1
    direct3d 0
    hwstretch 1
    cleanstretch auto
    resolution auto
    refresh 0
    scanlines 0
    switchres 1
    switchbpp 1
    maximize 1
    keepaspect 1
    matchrefresh 0
    syncrefresh 0
    throttle 1
    full_screen_brightness 0.000000
    frames_to_run 0
    effect none
    screen_aspect 4:3

    ### Windows Direct3D 2D video options ###
    zoom 2
    d3dtexmanage 1
    d3dfilter 1
    d3dfeedback 0
    d3dscan 100
    d3deffectrotate 1
    d3dprescale auto
    d3deffect none
    # d3dcustom (not set)
    # d3dexpert (not set)

    ### Windows misc options ###
    sleep 1
    rdtsc 0
    high_priority 0

    ### Windows sound options ###
    audio_latency 1
    # wavwrite (not set)

    ### Input device options ###
    mouse 0
    joystick 0
    lightgun 0
    dual_lightgun 0
    offscreen_reload 0
    steadykey 0
    keyboard_leds 1
    led_mode ps/2
    a2d_deadzone 0.300000
    # ctrlr (not set)
    paddle_device keyboard
    adstick_device keyboard
    pedal_device keyboard
    dial_device keyboard
    trackball_device keyboard
    lightgun_device keyboard
    digital none

    ### Mame CORE video options ###
    norotate 0
    ror 0
    rol 0
    autoror 0
    autorol 0
    flipx 0
    flipy 0
    debug_resolution auto
    gamma 1.000000
    brightness 1.000000
    pause_brightness 0.650000

    ### Mame CORE vector game options ###
    antialias 1
    translucency 1
    beam 1.000000
    flicker 0.000000
    intensity 1.500000

    ### Mame CORE sound options ###
    samplerate 44100
    samples 1
    resamplefilter 1
    sound 1
    volume 0

    ### Mame CORE misc options ###
    artwork 1
    use_backdrops 1
    use_overlays 1
    use_bezels 1
    artwork_crop 0
    artwork_resolution 0
    cheat 0
    debug 0
    # playback (not set)
    # record (not set)
    log 0
    maxlogsize 10000
    oslog 0
    skip_disclaimer 0
    skip_gameinfo 0
    skip_validitychecks 0
    crconly 0
    bios default
    # state (not set)

    ### Configuration options ###
    readconfig 1
    verbose 0

Trackbacks

  1. Volviendo a jugar en la SuperNES « MicroTeknologias
  2. Instalar SDLmame en openSUSE 11.0 « MicroTeknologias

Los comentarios están cerrados.

A %d blogueros les gusta esto: