Último episodio publicado: 2 de julio de 2024


5 de marzo de 2012

retroMac. MAME en tu MAC de última generación

Tras haber echado un vistazo a la situación actual en ordenadores Mac del abandonware de juegos para MS-DOS y Windows, comenzamos también a repasar los principales emuladores existentes para el sistema de Apple. Emuladores de Super Nintendo, Megadrive, Pc-Engine, GameBoy, Commodore 64, Amiga… los más usuales pasaron por nuestra web al mismo tiempo que explicábamos un poco por encima las mejores opciones y sus opciones de configuración. Sin embargo nos dejamos para un capítulo aparte el caso MAME, ya que creemos que este pedazo de emulador multisistema se merecía un artículo por si mismo. ¿Te interesa? ¡Pues entonces sigue leyendo!


Pac-Man, uno de los primeros juegos
emulados en MAME.




MAME (Multiple Arcade Machine Emulator) es un emulador multisistema que nació a principios de 1997 por obra y gracia de Nicola Salmoria, toda una institución en el mundo de los emuladores por su contribución con el susodicho programa. MAME comenzó emulando sólo un puñado de roms arcade en las que el propio Nicola estaba interesado jugar, para tras el paso de los años convertirse en todo monstruo que soporta más de 4.000 juegos diferentes y cientos de placas arcade distintas. Precisamente quizás el mayor problema de MAME es que debido a ese interés casi fundamental de emular cuantas más placas distintas mejor, se deja de lado el interés por pulir el código fuente del programa, desaprovechando de este modo las CPUs de los ordenadores y quedando por debajo en velocidad por ejemplo de otros emuladores dedicados únicamente a una placa arcade determinado. Esto ocurre por ejemplo con Final Burn, Raine o Modeler que emulan mucho mejor los juegos CPS2 de Capcom, placas de Taito, NeoGeo, etc. llegando incluso a la situación de que en MAME algunos juegos son simplemente injugables y se han añadido sus correspondientes ‘drivers’ a modo de documentación general más que por recuperar la experiencia jugable.

En la gráfica se aprecia la evolución temporal de juegos emulados por MAME. Imagen: Mamedev

En fin, con todo, no deja de ser un hito muy importante en la historia de los emuladores desde hace más de 15 años, cuando aparecía aquella primera versión. A lo largo de sus diferentes lanzamientos se han ido añadiendo nuevos títulos de forma continua, se han desencriptado chips de sonido y gráficos, se hizo pedazos la protección CPS2 y CPS3 (aunque esto más bien provino de otros ámbitos), portándose a multitud de sistemas diferentes (incluso cámaras de fotos digitales Kodak), etc. convirtiéndose por derecho propio en el emulador arcade multisistema por definición.

¿Cody o Guy? ¿Con cuál te quedas?

En la actualidad las versiones de MAME para el sistema operativo OSX oscilan entre la facilidad de uso y la desactualización. Es imposible tener las dos cosas. O bien utilizamos un binario de MAME que esté prácticamente a la par con la ‘release’ de Windows y que se controle mediante complejos comandos, o bien nos tenemos que conformar con versiones compiladas de MAME muy al estilo de lo que está acostumbrado un usuario medio de Mac, pero que no ha sido actualizado desde hace más de un año, con el consecuente problema de encontrarse con juegos que si están soportados en Windows y no en Mac. En RetroManiac vamos a revisar las tres opciones que tenemos a nuestro alcance, explicando los pros y los contras de cada una y de paso te echaremos una manita configurándolos.


Primeros pasos, creando una carpeta para MAME
Lo primero que debéis hacer es crear una carpeta en vuestro disco duro donde iremos dejando las diferentes versiones de Mame, los front-ends (una especie de programas que os ayudarán a la hora de organizar y ejecutar los juegos para MAME), las roms que tengáis, etc. Dentro de esa carpeta, que nosotros llamaremos ‘MAME’ simplemente, vamos a crear otro directorio con el nombre ‘roms’, que será donde copiemos los juegos comprimidos en ZIP que dispongamos para tenerlos así más controladitos. Recordad que para los títulos de NeoGeo Arcade, el sistema MVS, necesitaréis también un pack con las roms de la bios de la placa de SNK. MAME no soporta (en teoría) los juegos AES, es decir, la consola doméstica NeoGeo.

Last Resort de SNK

La estructura de carpetas que os proponemos en realidad no tiene porque ser así, pero dejando los juegos en esa carpeta ‘roms’ dentro de otra llamada ‘mame’, hará que nos evitemos un montón de quebraderos de cabeza. Pasemos ahora a los emuladores propiamente dichos:

MacMAME
El más desactualizado de todos, de hecho la última compilación disponible en la web oficial es la 0.103u2 de principios de 2006, es decir, un MAME de hace más de 6 años atrás. Lo importante es que el emulador funciona, aunque es un poco tosco y su uso deriva de su nacimiento en OS8. Es muy sencillo de configurar pero nos obligará a cambiar de sitio nuestras roms. Cuando ejecutemos por primera vez MacMAME, el emulador creará una serie de carpetas dentro de nuestra estructura de usuario. Para encontrarla tendréis que navegar por vuestro disco duro hasta su ubicación en: ‘nombre de usuario/Documentos/MacMAME User Data’. ‘Nombre de usuario’ se cambia por el nombre que tenga vuestra cuenta actual en OSX. Dentro de esa estructura localizaréis fácilmente otra carpeta que se llama ‘ROMs’, pues es ahí donde tenéis que copiar vuestros juegos.

En esta ventana desactivamos el horrible efecto de suavizado
que viene activado por defecto en MAME
Una vez hecho podéis volver a arrancar MacMAME y ya veréis como en la parte izquierda de la ventana aparece el listado con los títulos disponibles. Antes de ejecutar alguno para probarlo, os recomendamos cambiar un par de opciones. En primer lugar en la pestaña ‘Vídeo’ activar la opción ‘Full Screen’ para activar el modo en pantalla completa, justo en el desplegable de arriba seleccionar ‘Actual Size’. Luego pinchad en el botón de ‘Opciones’ situado en la parte inferior de la pantalla, y aseguraos que la opción de ‘Renderizado’ está activada en ‘OpenGL'. Pinchad en el botón de ‘configuración’ y desactivad ahora la opción ‘Smoothing’ y aseguraos que está activa la de ‘Sync’.

Una vez hecho ya podéis aceptar todas las ventanas para volver al menú principal de MacMAME y arrancar alguno de los juegos pinchando dos veces sobre él o en el botón ‘Play’ situado a la derecha en la parte inferior de la ventana.


La ventana principal de MacMAME

Cuando arranque el juego primero os aparecerá una ventana general de información del título en vuestión con datos tales como el nombre interno, la resolución en pantalla, el chip de sonido, etc. En MacMAME bastará con presionar una tecla para continuar. Luego si todo está bien y la rom no tiene fallos, el emulador arrancará el juego (a veces después de un pequeño testeo interno del propio juego). Al ser una recreativa debéis saber que para empezar a jugar los juegos antes hay que 'meter' monedas, así que con la tecla ‘5’ de nuestro teclado simularemos la introducción de una moneda. Con ‘1’ es como si apretáramos el botón de Un jugador, y con ‘2’ el del segundo jugador. Las teclas las podéis redefinir pulsando en ‘TAB’ y luego en ‘Input General’ -> ‘Player 1 Controls’, etc. Para salir podéis pulsar en ‘ESC’ y luego seleccionar del menú desplegable de la parte superior en ‘File’->’Quit’ o directamente la combinación de teclas ‘CMD+Q’.

La pantalla para redefinir teclas dentro de MAME. Tecla 'TAB'

MacMAME está bien como primer acercamiento a la emulación Mame en el Mac, y puede que sea tu única opción si tienes un procesador pre-Intel, pero no es la mejor opción de lejos, así que pasemos a nuestra siguiente opción, MAME OS X.

MAME OS X
Nuestra opción predilecta si no fuera por que por desgracia la última versión data de finales de 2009 y se corresponde con la versión oficial de MAME 0.135. Ya se sabe, en esto de la tecnología, unos años es un mundo… De todas formas, se integra perfectamente con nuestro front-end preferido, EMUlaunch, y si no os importa estar un poco por detrás de las versiones Windows quizás también se convierta en vuestra elección preferente.

La pantalla principal de MAME OS X. A la izquierda el navegador de juegos

Vamos con las opciones de configuración recomendada. Pulsad ‘CMD+;’ en vuestro teclado o desde el menú principal de MAME OS X seleccionad la opción de ‘preferencias’ y en la nueva ventana que aparece cercioraos que el directorio de las roms apunta exactamente a donde se encuentren vuestros ficheros. Si no es así seleccionadlo desde el menú desplegable. Luego id a la pestaña ‘Video’ y desactivad la opción ‘Enable linear filtering’, activad ‘Synchronize to monitor refresh’ para evitar molestos defectos gráficos en los scrolles y ‘Preserve game aspect ratio’ para que sobre todo los juegos verticales no aparezcan deformados en la pantalla. También es interesante activar la opción “Start in full screen’ un poco más abajo para que los juegos carguen a pantalla completa. En la pestaña ‘Inputs’ os puede venir bien tener activa la opción ‘Enable joystick’, ya que MAME soporta de forma nativa los mandos de control que tengáis instalados en vuestro Mac, ya sea un mando Logitech, el pad de Xbox 360 (ya veremos como se instala) o u Wiimote por ejemplo.

Las opciones que hemos escogido
Con todo esto hecho, ya no tenéis más que seleccionar algún juego que tengáis en la columna izquierda de MAME OS X y pinchad en ‘Play’. Si todo va bien, la rom es correcta, no está corrupta, etc., el juego cargará sin problemas. Podéis aseguraros que tenéis las sets de las roms correctas auditándolas. Para ello seleccionad la opción desde el menú ‘File’->’Audit all games’. Este es un proceso largo que efectúa cualquier versión de MAME y que básicamente va comprobando uno a uno los ZIP que tengamos en nuestro poder de la carpeta ‘roms’ para ver si efectivamente están bien. Si dejamos que el proceso termine podremos filtrar los juegos con el conjunto de tres botones que aparecen en la parte superior de la pantalla, a la derecha del icono del corazón. Al apretar en ‘Good’ el listado sólo mostrará aquellos juegos que estén ok, obviando el resto.

Aseguraos que las carpetas están correctamente seleccionadas

Una vez con un juego cargado podemos volver a redefinir nuestras teclas como en el caso de MacMAME, aunque los menús son un poco diferentes debido a que se trata en realidad de una versión posterior del emulador. Es muy sencillo y sólo os llevará un rato. Si tenéis un joystick al redefinir las teclas sólo tenéis que mover la palanca en la dirección deseada o apretar el botón que queráis del mando.

Super Street Fighter II 'rulando' en MAME OS X

MAME OS X también nos permite seleccionar una serie de filtros gráficos para lograr que nuestra experiencia con el emulador sea más cercana a la que tuvimos en su momento con la máquina arcade real. Hay varias formas de activar estos filtros, aunque la más sencilla es salir del modo de pantalla completa en el caso de que la tengamos activada mediante la combinación de teclas ‘CMD+F’ y activar el ‘cajón’ de efectos mediante ‘MAY+CMD+E’. Ahora aparecerá un pequeño cajoncito en la parte iferior de la pantalla desde la que seleccionar un filtro gráfico. Nuestros preferidos son los ‘Aperture’ debido a que imita un monitor arcade de los 90. ¡Genial! Una vez que estéis satisfechos con algunos en particular podéis volver al modo de pantalla completa pulsando nuevamente ‘CMD+F’.

Quizás no se aprecie demasiado bien, pero tenemos activo
uno de los filtros gráficos tipo 'Aperture'

También podréis seleccionar filtros sonoros (realmente los propios del sistema interno de Apple), con los que obtener asimismo unos resultados realmente curiosos. Para ello pulsad la combinación de teclas ‘MAY+CMD+A’ y luego en el menú ‘Effects’ de MAME seleccionad ‘Audio Effects Info’ para cambiar entre diferentes filtros, modificar sus valores, etc. Con esto podréis incluso asemejar más al tipo de sonido de unos altavoces ‘cascados’ de un mueble recreativa, o por el contrario, mejorar la experiencia subiendo graves, etc.

Con la tecla ‘ESC’ podremos volver nuevamente al listado de juegos y seleccionar otro si tenemos más ganas de ‘repartir leña’ en Final Fight :)

En la próxima entrega de retroMac utilizaremos MAME OS X como emulador arcade en nuestro sistema especialmente preparado para jugar con emuladores en un Mac Mini y bajo EMUlaunch, el front-end que hemos escogido por su interfaz sencilla, modo de pantalla completa y posibilidad de controlarlo con joysticks fácilmente.

SDL MAME
Llegamos a la última opción, la más actualizada, y también la más compleja de utilizar debido a su filosofía por ‘comandos’, carencia de interfaz gráfico y a la necesidad de instalar las librerías SDL. La última opción disponible para ordenadores Mac es la 0.145u3, la última disponible para Windows a fecha de 26 de febrero de 2012. Esto ya es otra cosa, ¿verdad? Lo malo es que su uso nos recuerda a los inicios de MAME en MS-DOS, cuando todo se controlaba desde la línea de comandos y ejecutar los juegos era un poco más farragoso. En realidad en cuanto le cojas el truco la complicación es mínima, y por otro lado existen esos front-ends de los que hablamos continuamente que nos facilitarán el trabajo, pero como todo en este mundo nada es perfecto, y la integración de SDL MAME con dichos front-ends está lejos de ser perfecta, así que a pesar de su actualidad, SDL MAME no será nuestra elección a la hora de ‘construir’ un ordenador Mac para emuladores como comentábamos anteriormente, y lo reservamos en el caso de que queramos probar algún título no emulado en MAME OS X.

SDL MAME en Wii. Imagen: gbatemp

Pero vayamos por partes… SDL MAME nació por la necesidad de portar fácilmente MAME a otros sistemas operativos que no fueran Windows aprovechando para ello las SDL, una librerías multimedia diseñadas para proporcionar acceso de bajo nivel a dispositivos de entrada como teclados o joysticks, al hardware gráfico, sonoro, etc. Y todo ello soportando múltiples plataformas, desde Linux hasta AmigaOS, pasando por Wii, Dreamcast o, claro está OSX. SDL MAME se distribuye en código fuente en un principio, por lo que si no tenéis mucha idea de cómo compilar en OSX, lo mejor es encontrar un binario ya hecho, y esto es lo que precisamente tenemos en:  http://sdlmame.parodius.com/

Antes de nada tendremos que instalar las dichosas librerías SDL. Para ello dirigíos a http://www.libsdl.org/download-1.2.php y seleccionad el fichero SDL-1.2.15.dmg (Intel 10.5+) para descargar. SDL MAME sólo es compatible con OS 10.6 en adelante. Una vez descargado abrid la imagen de disco y copiad la carpeta ‘SDL.framework’ que encontraréis en dicha imagen a vuestra carpeta Frameworks en el disco duro del Mac. La encontraréis dentro de ‘/Librería/Frameworks’. Recordad que NO es la carpeta ‘Librería’ de vuestro nombre de usuario, si no la que encontráis en el raíz del sistema operativo.

Terminal de OSX (bash) mostrando la carpeta donde tenemos instalado SDL MAME

Ahora cojamos el toro por los cuernos y vamos a explicar lo básico del uso de SDL MAME sin utilizar un front-end, ‘a pelo’, como los campeones… Una vez instaladas las librerías es el momento de descomprimir MAME. Hacedlo por ejemplo en la carpeta que os decíamos al principio del artículo. Tras la descompresión os encontraréis una nueva carpeta y dentro de la misma está lo realmente importante. Moved estos ficheros fuera, a la carpeta principal ‘Mame’ para que podáis cargar los juegos sin muchos quebraderos de cabeza. De todos esos ficheros y carpetas extras el más importante es el fichero ‘mame64’, nuestro ejecutable tipo Unix. ¿Cómo cargar correctamente este tipo de fichero? No es desde luego una aplicación ‘normal’ a la que estamos acostumbrados en Mac. Tendréis que entrar en el ‘Terminal’ (aquí encontraréis un breve tutorial de su uso si andáis muy perdidos) de OSX y navegar hasta vuestra carpeta mediante el uso de comandos y una vez en la carpeta correspondiente ejecutarlo de este modo: ‘./mame 64 nemesis’ donde ‘nemesis’ es el nombre del juego que queremos cargar.

¡Ya está cargado! El intemporal Gradius :) Foto: Classic Retro Games

¡Funciona! Sí, desde luego, pero tenemos algunos problemas. El primero es, ¿cómo narices saber los nombres de todos los juegos? Lo cierto es que es muy incómodo, ¿verdad?, y lo segundo es la configuración que SDL MAME utiliza por defecto al arrancar, aplicando el filtro de suavizado tan horrible y tan distinto al aspecto de los juegos arcade de los 90. Las últimas versiones de MAME incorporan un sistema de navegación por archivos algo rudimentario pero funcional que veremos unas líneas más abajo, pero me temo que todavía nos queda algo de trabajo por delante.

Tenemos que generar un archivo de configuración de MAME, el famoso ‘mame.ini’, un fichero de texto que podemos editar y modificar algunas opciones interesantes a la hora de cargar los programas. El mismo efecto lo causaríamos al incorporar parámetros cuando ejecutamos SDL MAME, pero creemos que es más efectivo modificar el fichero INI y olvidarnos de los parámetros. ¿Cómo se genera el archivo? Muy sencillo, escribiendo en la línea de comandos del Terminal de OSX lo siguiente: ‘./mame64 –createconfig’. Una vez hecho veremos como MAME ha generado un archivo llamado ‘mame.ini’ en su misma carpeta que podemos abrir con cualquier editor de texto plano (Textedit o Smultron en OSX por ejemplo) y cambiar algunas cosillas. Dentro del apartado ‘VIDEO OPTIONS’, buscad la línea ‘video’ y aseguraos que el parámetro que aparece a su derecha es ‘opengl’. En ‘waitsync’ y ‘syncrefresh’ comprobad que el parámetro es ‘1’. ‘Window’ ponedlo en ‘0’. Finalmente en ‘scalemode’ escribid a su derecha ‘none’ si no lo está ya.

Editando el fichero MAME.INI una vez generado

Ahora, en el apartado ‘OpenGL-SPECIFIC OPTIONS’ poned a ‘0’ el ítem ‘filter’ para deshaceros del indeseable efecto de suavizado. En ‘FULL SCREEN OPTIONS’, aseguraos que ‘switchres’ está a ‘0’. También puede ser interesante modificar en ‘CORE SEARCH PATH OPTIONS’ las opciones de las carpetas donde se ubican las roms mediante el parámetro ‘rompath’, pero podéis dejarlo así.

Guardad el archivo y volved a cargar SDL MAME: ‘./mame64’. Veréis ahora el navegador de archivos limitados que comentábamos un par de párrafos más arriba. SDL MAME presenta una serie de juegos escogidos al azar, pero si escribís las primeras letras del juego, por ejemplo ‘PAC’ veréis como el navegador filtra para mostraros lo que se corresponda con esas letras. Pulsad ‘enter’ sobre el juego y listo, ya no hay efectos extraños de suavizado, todo aparece cristalino, tenemos sincronismo con la frecuencia del monitor, etc. Podemos pasar a redefinir las teclas como explicamos en el apartado dedicado a MAME OS X.

Los front-ends
¡Listo! Ya tenéis funcionando la versión más actual de MAME en vuestro Mac. Sin embargo, y como no es muy funcional que digamos, vamos ahora a repasar con los front-ends dedicados expresamente a emuladores tipo SDL MAME que carecen de interfaz gráfica. Un front-end es básicamente un programa que os ayudará mediante su interfaz de ventanas y menús a desenvolvernos mejor en esos emuladores que funcionan tan sólo por medio de comandos. Su instalación suele ser muy sencilla, la misma que si estuvierais instalando algún otro programa típico en vuestro Mac.

En primer lugar nos gustaría destacar a Mamepgui, una utilidad discontinuada por momentos y que es difícil de descargar (de hecho el enlace que encontraréis en los foros de Bannister es probable que de error), pero que en su momento supuso toda una revolución en la escena del ordenador de Apple. Con todo, y si conseguís encontrarlo, la verdad es que tenemos mejores opciones. Además, junto a las últimas versiones de SDL MAME, este Mamepgui tiene un bug y es probable que 'casque' al crear la lista de juegos compatibles. Para evitarlo tendréis que editar de nuevo a mano el fichero MAME.INI, navegar hasta la sección 'PERFORMANCE OPTIONS' y modificar el valor de la línea 'numprocessors' por 'auto' o en su defecto por el número de procesadores que posee vuestra máquina (CORE DUO = 2 por ejemplo). Una vez arrancado sólo tenéis que configurar las opciones según vuestro gusto (podéis tomar como referencia las que hemos ido comentando en este artículo).

La ventana principal, con los juegos ya detectados, de MamepGui


MacMAMEinfoX es algo más tosco y su funcionamiento realmente se concibió para MacMAME, algo que no entendemos muy bien porque ya hemos visto que este port del emulador para Mac posee su propia interfaz gráfica. MacMAMEinfoX nos permitirá sin embargo seleccionar a SDL MAME como emulador a utilizar. Para ello sólo tenemos que entrar en el menú de preferencias y en la pestaña 'General' seleccionar en el desplegable 'Launch games using' la opción 'SDLMAME' como es obvio. Si pinchamos en esta misma ventana en 'Options' podremos configurar el resto de opciones con las que ya estamos familiarizadas. Es importante tener en cuenta que en la pestaña 'General' suele estar marcada la opción 'Load configurations files'. Esto provoca que SDL MAME ignore el fichero MAME.INI que por ejemplo habíamos creado nosotros, y que utilice sin embargo los parámetros que le indiquemos desde MacMAMEInfoX.


Aquí tenemos MacMAMEInfoX

MAME Tunes es un proyecto 'vivo' japonés que más o menos actualiza de vez en cuando el programa. Su aspecto y utilización trata de imitar a los del famoso iTunes de Apple (de ahí el nombre), y su principal handicap es que en ocasiones es un poco lento, sobre todo si tenemos un buen número de roms instaladas en nuestro disco duro. Lo bueno es que funciona también para MAME OS X y MacMAME, y que podemos configurar cada uno de ellos por separado.

MAME Tunes en todo su 'esplendor'. Estaría más bonito con capturas de pantalla
para cada juego, ¿verdad?

Por último nos detendremos en MAME Catalog, nuestro preferido en este tipo de front-ends, aunque también es algo lento en según que tareas. MAME Catalog es un proyecto multiplataforma (existen versiones para Linux, Windows y por supuesto OSX) que proviene del fantástico y 'salvavidas' QMamecat de UNIX. Existe una versión además para MESS que simplifica asimismo mucho el uso de este otro emulador multiarcade. La instalación de MAME Catalog se hace mediante un instalador de paquetes. Una vez en vuestro disco duro lo podréis encontrar en la carpeta '/Aplicaciones/qmc2'.

MAME Catalog. Merece la pena que le echéis un vistazo. La ayuda
y los textos a modo de manual que lo acompañan son bastante completos

Al cargarlo tendréis primero que configurar las opciones ya habituales pinchando en el botón de la llave inglesa que encontrareis en la parte superior de la pantalla. En la ventana 'Emulator' de las opciones podéis modificar los valores de MAME.INI a los que ya estamos acostumbrados pero de una forma un poco más intuitiva. Acordaos de seleccionar la carpeta donde tengáis las roms, la ruta de SDL MAME y es interesante que al menos una vez ejecutéis el comprobador de roms que encontraréis en el menú 'Tools'.

Dejaremos EMUlaunch para la siguiente entrega de retroMac, cuando hablemos de ControlMate y la instalación de diferentes mandos de control en vuestro ordenador. Por ahora creemos que tenemos suficiente habiendo metido cabeza en el impresionante mundo de MAME y sus múltiples configuraciones. ¡Mucha suerte y si tenéis dudas dejadnos un mensaje en los comentarios!

1 comentario:

  1. Bueno, soy seguidor de MAME desde aquellas versiones 0.36 y miembro activo de la comunidad desde entonces. Pero desde que me compré un iMac el año pasado, que había dado por perdido el tema de la emulación en OSX.

    Desde luego, mira que sois una joyita de revista y de web.

    Muchas gracias por todo. Mira que siempre he querido colaborar con algún medio como el vuestro, pero no se me da nada bien la redacción ni el compromiso.

    Un abrazo bien fuerte a todos!

    ResponderEliminar

Nota: solo los miembros de este blog pueden publicar comentarios.

¿Es el Spectrum Next la evolución que esperabas del <i>Speccy</i>? Tim Gilberts nos muestra en exclusiva la esperada máquina

Los pasados 27 y 28 de octubre tuvo lugar la Play Expo Blackpool 2018 , un encuentro retro en la ciudad costera británica cerca de Mán...