Buscar

MAMEmania, Capítulo I: ¿Qué es MAME?

Bajo el nombre de MAMEmania publicaremos una serie de artículos en los que comentaremos los juegos más destacados para el archiconocido emulador MAME, cada uno de ellos centrado en algún tema o género en concreto. Pero antes de meternos en los juegos, quizá algún despistado se pregunte, ¿qué es MAME?

Un poco de historia

MAME Logo

MAME significa Multiple Arcade Machine Emulator y su objetivo es el de reproducir de la manera más fiel posible una multitud de juegos arcade en sistemas más modernos de propósito general — como puede ser un PC. En la actualidad, MAME puede emular miles de juegos de recreativa, desde los más antiguos con una CPU simple hasta los más actuales que muestran gráficos en 3D.

El propósito principal de MAME es el de preservar décadas de historia de los videojuegos, evitando que muchos juegos retro se pierdan y olviden — de hecho, la posibilidad de jugar es vista como sus desarrolladores como ‘un agradable efecto secundario’. Esto se consigue documentando el hardware y su funcionamiento; el propio código fuente de MAME es dicha documentación. Esto tiene otra implicación: MAME ahora es el ‘hardware’ sobre el que funcionan estos juegos. No se trata de ports, ni versiones, son exactamente los mismos juegos de recreativa con todos sus bugs, ralentizaciones y peculiaridades del original.

El proyecto MAME nace un 5 de febrero de 1997, cuando el desarrollador italiano Nicola Salmoria decide liberar la versión 0.1 de este emulador. En el readme adjunto se podían conocer los juegos soportados y su nivel de emulación:

Game Playable? Accurate colors? Sound?
Pac Man Yes Yes Yes
Ms Pac Man (bootleg) Yes Yes Yes
Crush Roller Yes No Yes
Pengo Yes Yes Yes
Lady Bug Yes Yes Partial

Eso es, cinco juegos, todos ellos basados en el mítico procesador Z80 de Zilog, lo cual facilitaba la emulación de estas y otras placas arcade similares. A partir de ahí, más desarrolladores se fueron incorporando al proyecto, posibilitando la documentación y soporte de una mayor cantidad de hardware (y por tanto de juegos), añadiendo nuevas características al emulador y expandiendo el proyecto MAME en general. Algunas fechas importantes, extraídas del ‘MAME Project Timeline’:

  • 18 de febrero de 1997: primera versión de MacMAME liberada (versión 0.4 de MAME). Hasta entonces, MAME solo corría en PCs bajo DOS.
  • 20 de abril de 1997: se hace check-in de la primera versión de XMAME (0.18), funcionando desde este momento en sistemas con soporte X11, como Unix (y Linux posteriormente).
  • 3 de mayo de 1998: empieza la política de betas públicas; anteriormente los usuarios tenían que esperar meses entre versiones (0.33b1)
  • 16 de agosto de 1998: primera aparición de juegos de Neo Geo, hecho de gran controversia (0.34b1)
  • 6 de noviembre de 2000: se añade soporte a la primera CPU de 32-bits (68EC020) (0.37b9)
  • 24 de mayo de 2001: Windows sustituye a DOS como plataforma primaria de desarrollo (0.37b15)
  • 6 de abril de 2003: se añade el primer núcleo con recompilación dinámica (MIPS3) (0.67)
  • 11 de noviembre de 2003: se añade la emulación de 3DFX Voodoo (0.77)
  • 7 de abril de 2005: nace mamedev.org, web oficial del equipo de desarrollo de MAME.
  • 5 de febrero de 2007: se implementa por completo el descifrado de CPS2 (0.112).

En el siguiente gráfico (click para ampliar) se puede comprobar como el proyecto MAME ha crecido hasta convertirse en el más importante en el ámbito de la emulación: de los 5 juegos soportados en la versión 0.1 se ha llegado a más de 4000 títulos únicos en la actualidad.

MAME Num Juegos

¿Qué necesito para usar MAME?

El primer ingrediente obvio es… el propio MAME. Los binarios oficiales están compilados para ser ejecutados en PCs con Windows. Según sus desarrolladores, los requisitos mínimos son:

  • Procesador Intel o AMD con soporte MMX (se recomienda Pentium III o superior)
  • Windows 98 o superior (mejor a partir de Windows 2000)
  • DirectX 5.0 o superior.
  • Tarjeta gráfica compatible con DirectDraw o Direct3D.
  • Tarjeta de sonido compatible con DirectSound.

Es decir, cualquier PC de este siglo sirve perfectamente :] Hay que aclarar que, dado que estos requisitos son mínimos, no cualquier juego va a funcionar a la velocidad original en cualquier ordenador. Esto es especialmente cierto en los títulos más recientes con gráficos 3D o varias CPUs. Recordemos que el objetivo del proyecto MAME es documentar y preservar juegos arcade de la forma más fiel posible; esto implica emular toda función de la CPU original, hardware de video, audio y cualquier otra cosa presente en la placa original — algo imposible de hacer con alta calidad y rápidamente al mismo tiempo. Debido a su filosofía, MAME no tiene hacks en su código, ya que si bien acelerarían la ejecución de algunos juegos, lo harían inmantenible para los desarrolladores e inútil en su propósito de ‘guardián del hardware original’.

Aparte del MAME oficial para Windows, existen algunos ports para otros sistemas operativos con una buena frecuencia de actualización.

  • SDLMAME: un port basado en SDL que puede funcionar en Linux, MacOS X y otras plataformas (actualmente no existe un proyecto SDL separado, sino que forma parte del MAME oficial)
  • MAME OS X: un port nativo de MAME para MacOS X.

Además, existen otros ports más exóticos de MAME que funcionan en teléfonos móviles o consolas.

Aparte del propio MAME, para jugar necesitamos juegos, por supuesto. Dado que se obtienen volcando la información de los chips ROM presentes en las placas arcade, reciben comunmente el nombre de ROMs. Existen diferentes formas de obtener estas ROMs:

  • Unas pocas ROMs están disponibles con permiso de los propietarios del copyright en mamedev.org. También se puede descargar con permiso de Gaelco su World Rally.
  • Puedes comprar tu propia placa arcade (en eBay por ejemplo) y un lector de ROMs y volcar su contenido para tu uso personal.
  • La que todos estáis pensando :P Que será parte del contenido en próximas entregas.

Para algunos juegos, además de las propias ROMs, necesitaremos la BIOS de la placa sobre la que funciona; este es el caso, por ejemplo, de Neo Geo.

Vale, ¿pero a qué voy a poder jugar?

Como hemos dicho, en números brutos MAME soporta actualmente unos 4000 juegos únicos, aproximadamente 9000 si se tienen en cuenta las distintas versiones existentes para cada uno de ellos. Esto en la práctica se traduce en que MAME soporta y hace funcionar casi cualquier ‘clásico’ arcade (de antes del 2000, digamos), mientras que los títulos más recientes o ni están soportados, o lo están pero no funcionan o lo hacen con lentitud y/o errores. Incluso, algunos juegos más antiguos puede que tampoco funcionen (o lo hagan incorrectamente o de forma limitada), debido a ciertas dificultades en la emulación de su circuitería analógica. Aunque lo parezca, el panorama no es para nada desolador: estos son algunos de los juegos que funcionan perfectamente, tal y como fueron concebidos, en MAME:

MAMEmania Episodio 1: ¿Qué es MAME? from NAND Magazine on Vimeo.

EscritorArxel - Categoría Emulación| ComentariosSin comentarios » | Fecha 04/11/2010

GXGeo: Neo Geo en tu Wii

Neo Geo logo

GXGeo es un emulador de Neo Geo AES/MVS para Wii de reciente aparición, tras mucho tiempo esperando por que la consola de SNK hiciese aparición en la scene de la sobremesa de Nintendo. Para usarlo necesitáis tener el Homebrew Channel en vuestra consola (o usar cualquier otro método de carga de homebrew). Si no tenéis el HBC, echad un vistazo a este tutorial. Los ingredientes que necesitáis son: el propio emulador, que lo podéis descargar desde aquí; los archivos de la BIOS, incluídos en este ZIP que debéis descomprimir en la carpeta /gxgeo/roms/ y por supuesto, las ROMs de los juegos ;)

El funcionamiento del emulador, a pesar de estar en su primera versión, es bastante aceptable; la mayoría de los juegos funcionan a una velocidad adecuada y el sonido no está demasiado mal aunque tiene algunos fallos. Soporta el control mediante Wii Remote, Wii Remote + Nunchuk, Classic Controller y mando de GameCube, siendo éste último el que mejor funciona de todos. Entre las pegas que tiene (en esta versión) se pueden citar: no emula raster effects, con lo cual juegos como Neo Turf Masters o Super Sidekicks 2 no se verán adecuadamente; ROMs muy grandes como Metal Slug 2 no funcionan y que carece de una interfaz decente con opciones adicionales (por ejemplo, si estamos jugando a un juego y queremos cambiar a otro tendremos que volver a cargar el emulador).

EscritorArxel - Categoría Emulación, Wii| ComentariosSin comentarios » | Fecha 28/11/2008

Canal homebrew y Twilight Hack

Introducción

Desde hace pocos meses existe una forma relativamente sencilla de ejecutar aplicaciones caseras (homebrew), hechas por aficionados, en nuestra Wii, sin necesidad de ponerle chip alguno o modificarla. Nos bastará con tener una tarjeta SD, el juego de Wii The Legend of Zelda: Twilight Princess y, obviamente, una Wii :-)

La fórmula de la felicidad

Twilight Hack

Así se conoce al aprovechamiento de un “fallo” en el juego de Wii The Legend of Zelda: Twilight Princess. Poniendo un nombre lo suficientemente largo al caballo Epona, se consigue un desbordamiento de búfer y esto ha permitido que ciertos hackers consiguiesen ejecutar código desde una tarjeta SD. De esta manera, podemos ejecutar software casero donde encontraremos desde un clon de Tetris hasta ¡el Monkey Island!

The Homebrew Channel

Hasta la aparición de este “canal”, si queríamos ejecutar programas caseros en la Wii necesitábamos realizar el Twilight Hack cada vez. Un fastidio. Eso se acabó :-) Gracias a este canal, sólo tendremos que hacer el hack una vez y devolver el juego del Zelda a nuestro amigo/videoclub :-P El canal Homebrew se instala como un canal más en la Wii (como el del tiempo, el de opiniones, etc.) y desde él podemos acceder al contenido de la tarjeta SD y lanzar los programas contenidos en ella.

Manos a la obra

Necesitamos descargar:

Nos hace falta una tarjeta SD (no valen las SDHC, así que estamos limitados a las de 2GB como mucho). Hay que formatearlas en FAT. Muchas ya vienen así, pero si no es el caso, podemos usar el GParted (en GNU/Linux) o, en Windows, pulsar con el botón derecho sobre el icono de la tarjeta y seleccionar Formatear. En MacOS X podemos usar la Utilidad de discos (Aplicaciones → Utilidades → Utilidad de discos). ¿Algún sistema operativo más? :-P

En la raíz de la SD incluimos:

  • La carpeta private (contenida en el Twilight Hack)
  • El archivo boot.elf y la carpeta wiiload (contenidas en el archivo del Homebrew Channel)

Manos a la Wii

Importante: Si tenías una partida guardada del Zelda, querrás seguir conservándola, ¿verdad? Ya que al copiar el Twilight Hack la sobreescribirá. Para hacer copia de tu partida en la Wii a otra SD:

Introducir tarjeta SD en la Wii

  • Encender Wii
  • Opciones de Wii → Gestión de Datos → Datos guardados → Wii
  • Seleccionamos con el botón A nuestra partida
  • Copiar -> Sí
  • Volvemos al menú

Bien, ahora metemos la tarjeta SD en la que habíamos introducido los archivos de más arriba. Procedemos a copiar el Twilight Hack a la memoria de la Wii:

  • Opciones de Wii → Gestión de Datos → Datos guardados → Wii → Tarjeta SD
  • Seleccionamos con el botón A el archivo que necesitemos dependiendo de la versión del Twilight Princess que tengamos (europea, americana, japonesa).
  • Copiar → Sí
  • Volvemos al menú

Puede que sea necesario reiniciar la consola.

Con la SD insertada, metemos el Twilight Princess original (si tenéis la consola con chip, os vale también una copia del juego). Hay que asegurarse de tener enchufado el Nunchuk al Remote durante este proceso. Y lo lanzamos como si fuéramos a jugar. Seleccionamos un “diario de viaje”, el llamado “Twilight Hack”.

Bien, estamos en el juego. Tenemos a un hombre delante de nosotros. Para activar el hack tenemos dos opciones: hablar con ese hombre o caminar en dirección contraria (tardas menos en hacer esto último). Y… ¡magia! Aparecerá un texto que va pasando y finalmente nos pedirá confirmación para instalar el Homebrew Channel. Basta con pulsar el botón 1 del mando las veces necesarias para aceptar. Al terminar, y volver al menú de Wii, tendremos un nuevo canal: el Homebrew Channel. Ya no necesitaremos el Zelda nunca más :-)

Ejecutar programas desde el Homebrew Channel

En esta web tenemos un montón de aplicaciones (emuladores, reproductores de audio y vídeo, juegos…). Sólo tenemos que meter cada aplicación dentro de la carpeta apps (que tenemos que crear dentro de la SD) y listo. Por ejemplo, si queremos instalar la aplicación MplayerWii, descargaremos el archivo, lo meteremos dentro de la carpeta apps dándole algún nombre, por ejemplo MPlayerWii, así tendríamos /apps/MPlayerWii/, y dentro de esta última carpeta tendremos los ejecutables, que son archivos *.dol o *.elf. Es importante que se llamen boot.dol o boot.elf, si no, el canal no lo verá. Al entrar de nuevo en el Homebrew Channel lo tendremos accesible.

¿Qué juegos/aplicaciones interesantes nos podemos encontrar? Una pequeña muestra:

  • Emulador de Mega Drive
  • Emulador de SNES
  • Emulador de NES
  • Reproductores de música y vídeo
  • Emulador de MAME (probadlo sólo si tenéis muuucha paciencia)
  • Servidor de FTP
  • Examinador de archivos
  • etc.

Hablaremos de aplicaciones interesantes en futuros artículos :-)

Enlaces relacionados

nullDC en GNU/Linux con WINE

Dreamcast es una de las consolas a las que más cariño tengo. Todavía la conservo, pero el lector ya está en las últimas y cuesta un mundo que lea algún juego. Desde hace tiempo le sigo la pista a la emulación de Dreamcast, pero todo lo que salía era para Windows. Desde hace no mucho, tenemos un prometedor emulador para GNU/Linux, lxdream, pero está en fase muy temprana de desarrollo y la lista de compatibilidad es muy reducida.

Como estos días ando probando bastante WINE para poder abandonar Cedega a la hora de jugar a videojuegos de Windows en GNU/Linux, me pregunté: hey, ¿y si probamos nullDC con WINE? Pues lee, lee, que funciona :-)

nullDC: El emulador

Se trata de un emulador gratuito para Windows que tiene poco más de un año de vida. La lista de compatibilidad es bastante grande, casi como la del Chankast (emulador de Dreamcast también para Windows) aunque la emulación parece más conseguida.

Podemos descargarlo desde aquí. Lo que está escrito en este artículo ha sido probado con la versión 1.0.0 beta 1.6.

Lo descomprimimos donde queramos (debemos tener instalado el paquete unrar).

Necesitamos la bios de la Dreamcast que podéis descargar desde aquí [ ZIP - 1 MB ]. Debemos meter los dos archivos (dc_bios.bin y dc_flash.bin) en la carpeta Data.

Una copa de vino

La instalación de Wine desde repositorios es muy sencilla. Si tienes la suerte de tener instalada alguna distribución basada en Debian, te basta con escribir en un terminal: # apt-get install wine.

Ahora necesitaremos varias bibliotecas que usa nullDC. Las últimas de Visual C++ (msvcp80.dll y msvcr80.dll) y de DirectX 9 (d3dx9_35.dll). Podéis buscarlas por la red y luego colocarlas en ~/.wine/drive_c/windows/system32. Pero hay una forma más fácil y automática de hacer todo eso: winetricks. Se trata de un script que se ocupa de descargar y configurar las bibliotecas más populares necesarias para la ejecución de ciertos programas de Windows en GNU/Linux con WINE.

Nos colocamos en un directorio que queramos y, desde un terminal, descargamos el script mediante: $ wget http://www.kegel.com/wine/winetricks. Y ahora lo ejecutamos (hay que tener conexión a Internet, obviamente) pasándole los paquetes que necesitamos: $ sh winetricks directx9 vcrun2005. Lo próximo que hay que hacer es aceptar en las ventanas que se abran y listo, quedará todo instalado y configurado :-)

WINE + nullDC

Abrimos un terminal y, en la carpeta donde hemos descomprimido nullDC, escribimos: $ wine nullDC_100b1_6.exe. ¿Esperabas algo más? :-)

Puedes descargarte juegos para Dreamcast hechos por fans desde esta web. Para juegos comerciales, redes P2P. Que sí, que funcionan:

Daytona USA 2001

Soul Calibur

Sonic Adventure

Texturas de alta resolución en Mupen64Plus

Mupen64Plus es un emulador de la consola Nintendo64 para GNU/Linux. Basado en parte del código original de Mupen64 (otro emulador para Linux, pero sin actualizaciones desde 2005), pero con varias mejoras y buen ritmo de desarrollo. Entre las últimas características, destaca la posibilidad de cargar texturas de alta resolución con el plugin de vídeo de Rice (Rice’s video plugin).

Los packs de texturas de alta resolución son una colección de imágenes de mayor calidad que permite mejorar el aspecto del juego o incluso realizar cambios de aspecto en el juego original (como veremos a lo largo del artículo). Es una labor desinteresada de fans por lo que no esperéis encontrar siempre gran calidad, acabado o para todos los juegos.

El emulador lo podemos descargar desde su web oficial. Podemos bajar los binarios (ejecutables) o el código fuente para compilarlo, pero esto último será carne de un nuevo artículo. Probad con los binarios. Descomprimimos su contenido:
$unzip Mupen64Plus-1-4-bin-32.zip. Y obtendremos una carpeta con una serie de ficheros:

$ ls
config/  fonts/  install.sh  LICENCE.TXT  plugins/  RELEASE
doc/     icons/  lang/        mupen64plus  README   uninstall.sh

mupen64plus es el archivo ejecutable, el emulador en cuestión. Podemos ejecutarlo desde consola, en ese mismo directorio, con $ ./mupen64plus.

Configurando el plugin de vídeo de Rice

En la ventana del emulador, vamos a Options → Configure. En la ventana de configuración, vamos a la pestaña Plugins y en los plugins de vídeo (arriba del todo) elegimos Rice’s Video Plugin.

Ventana de configuración de plugins de Mupen64Plus

Luego pulsamos el botón Config y marcamos la opción Load hi-res textures if available. Y OK, OK.

Ventana de configuración del plugin de vídeo de Rice, en Mupen64Plus

Guardando las texturas

Buscando por internet encontraréis varios packs. Os pongo aquí una web (cortesía de Arxel) donde encontraréis unas cuantas. Mupen64Plus, al lanzarlo por primera vez, creará un directorio oculto llamado mupen64plus en el home del usuario donde se guarda la configuración de los plugins, emulador, capturas, etc. Aquí tenemos que crear un directorio llamado hires_texture ($mkdir ~/.mupen64plus/hires_texture/) y dentro de él crearemos un directorio por cada juego del que dispongamos el pack de texturas.

Seguro que os he liado, así que vamos con un caso concreto. Si ejecutamos el emulador desde la terminal y lanzamos alguna rom, veremos en el terminal cierta información. Entre todo el texto, está el nombre del juego. Exactamente ese nombre es el que tiene que tener la carpeta donde almacenaremos sus texturas de alta resolución.

Mensajes en la terminal del Mupen64Plus

Bajamos el pack de texturas retro de Super Mario 64 desde aquí. Creamos la carpeta SUPER MARIO 64 dentro de .mupen64plus, de tal modo que la ruta absoluta sería: /home/usuario/.mupen64plus/hires_texture/SUPER MARIO 64/ Allí descomprimimos el archivo que nos acabamos de bajar.

Ahora lanzamos de nuevo el Super Mario 64 y veremos cómo se van cargando las nuevas texturas:

Antes:

Super Mario 64 en Mupen64Plus con el plugin de vídeo de Rice

Después:

Super Mario 64 en Mupen64Plus con el plugin de vídeo de Rice y texturas retro de Risio

En próximos días añadiremos enlaces a varios packs de texturas. ¡Permanezcan atentos a sus pantallas!

EscritorTempWin - Categoría Emulación, GNU/Linux| ComentariosSin comentarios » | Fecha 02/07/2008

¿Qué es esto?
Ayuda

Umm... es difícil explicarlo en pocas palabras, así que lo haremos en 20: estás en un weblog donde leerás algunos apuntes, notas, tutoriales de las cosas que nos gustan, tecnología, internet, emulación, ocio...


NAND Pack of the Month

Atemporal Mix - Sesion by Arxel

Atemporal Mix




Suscríbete