Abandonsocios > Tutoriales

Tutorial MAME

(1/38) > >>

Neville:



Introducción.

Ficheros indispensables.

Ficheros no tan indispensables.

MAME como emulador de consolas y ordenadores.

Primeros pasos.

MAME: Controles básicos.

Actualizar las ROMs de MAME.

Alternativas a MAME.

Optimizando MAME y juegos con pantalla dual.


Introducción.

MAME es un emulador de máquinas recreativas, y lleva dando guerra desde 1997, cuando Nicola Salmoria, uno de los padres del proyecto, lanzó la primera versión. Actualmente es un proyecto open source muy grande, con montones de colaboradores y contribuyentes, y aparece una nueva versión cada mes aproximadamente.

MAME se diferencia de otros emuladores de recreativas en su óptica conservadora, su amplitud de miras y su rigor. Su meta principal es documentar el hardware que emplean las recreativas, y el poder jugarlas se considera un "efecto secundario" positivo. Se intenta documentar todas las variantes de cada juego y emularlo lo más fielmente posible, a poder ser sin usar emulación de alto nivel (HLE).

MAME es mejor que otros emuladores porque...

- Está disponible para casi todas las plataformas.

- Emula más juegos que ningún otro emulador de recreativas, y en bastantes casos es el único en emular ciertos juegos.

- La emulación es tan fiel como es posible en cada momento.

- Además de recreativas emula videoconsolas, portátiles, ordenadores, máquinas de pinball, juegos de apuestas...

- Se actualiza regularmente.

- El proyecto es de naturaleza cooperativa, por lo que es muy difícil que se abandone.


MAME es peor que otros emuladores en que...

- La emulación requiere un hardware más potente que sus alternativas.

- Las actualizaciones de ROMs son constantes y algo farragosas.

- Es demasiado grande. Las ROMs arcade ocupan más de 65 Gb., más otras 500 Gb. en CHDs. Y eso sin contar el software para las distintas videoconsolas y ordenadores, que serían varios TeraBytes.

- Soporta CPUs multi-núcleo, pero no aceleración 3D.

- Está detrás en emulación de muchos sistemas que emuladores dedicados, sobretodo en juegos 3D.

- Los bugs pueden tardar más tiempo en corregirse.


Ficheros indispensables.

MAME, obviamente. Hay versiones para Windows, Linux y Mac, con o sin interfaz gráfica, además de multitud de variantes que añaden funciones extra. En esta guía utilizaremos MAMEUI64 para Windows, una versión oficial con interfaz propia.

BIOS. A menudo los fabricantes de recreativas empleaban el mismo equipo para una familia de juegos. Al software en común de todos ellos lo conocemos como BIOS, y es esencial para poder utilizar los juegos. Un ejemplo típico son las recreativas de Neo Geo, que no funcionan sin el archivo neogeo.zip.

Pondremos todas las BIOS que tengamos en la carpeta MAME\ROMs.

ROMs. La mayoría de las recreativas constan de una placa de chips. Las "ROMs" son el contenido de esos chips convertidos en archivos y a su vez empaquetados en un archivo comprimido. MAME distingue entre el "juego principal" y los "clones", las variantes (regionales o no) de cada juego. Los "clones" no funcionarán si no tenemos también el "juego principal", porque solamente incluyen los archivos que difieren del "juego principal".

Pondremos todas las ROMs que tengamos en la carpeta MAME\ROMs.

CHDs. Además de su placa de chips, muchas recreativas emplean otros dispositivos de almacenamiento: discos ópticos, Laser Disc, discos duros... MAME los ha unificado a todos con el formato CHD.

Pondremos todos los CHDs que tengamos en la carpeta MAME\ROMs. Cada uno debe estar descomprimido en una carpeta con el nombre que MAME le dé al juego. ¿Confundidos? Es fácil. Pongamos como ejemplo el juego "Killer Instinct": consta de un archivo kinst.zip (las ROMs) más una carpeta kinst con el archivo kinst.chd dentro.

El mejor sitio que conzco para descargar BIOS, ROMs y CHDs para MAME es Pleasuredome Tracker. Proporcionan archivos actualizados para MAME a través de torrents. La mayoría se pueden descargar desde el primer momento, mientras que para otros habrá que subir un ratio determinado antes de desbloquearlos.


Ficheros no tan indispensables.

Samples. MAME no emula correctamente el sonido de todos los juegos. Las "samples" son grabaciones de la recreativa original que MAME hace sonar en el momento adecuado. No todos los juegos las necesitan, y en los que sí cabe esperar que MAME termine emulando el sonido tarde o temprano.

Las "samples" suelen venir en archivos individuales para cada juego. Pondremos todas las que tengamos en la carpeta MAME\Samples, sin descomprimir.

DATs. Los DATs son ficheros mantenidos por terceros que añaden información sobre cada juego. En MAMEUI esta información se muestra bajo las capturas de pantalla.

History.dat nos explica la historia del juego, mientras que Mameinfo.dat contiene notas sobre el estado de la emulación, bugs conocidos, etc.

Otros DATs interesantes son Hiscore.dat, que guarda las puntuaciones del jugador, Cheat.dat, que nos permite emplear trucos, o GameInit.dat, que nos explica cómo iniciar las recreativas más complejas.

Pondremos todos los DATs que tengamos en la carpeta MAME\DATs, excepto los que especifiquen que deben ir en la carpeta principal.

Snaps. En un emulador que soporta literalmente miles de juegos, es bueno saber qué aspecto tiene cada uno. Algunas webs ofrecen colecciones de capturas que se muestran desde la interfaz al seleccionar cada juego.

Pondremos todas las snaps que tengamos en la carpeta MAME\Snaps. Pueden ir sueltas o bien comprimidas en un archivo Snap.zip o Snap.7z. También podemos crearlas desde MAME pulsando F12 durante la partida, pero si tenemos muchos juegos es un proceso bastante lento.

Artwork. Ilustraciones que emplean algunos juegos. Hasta donde yo sé, solamente son indispensables en el caso de las maquinitas Hanheld o Game & Watch, porque sin estos archivos no podremos ver el fondo de la pantalla, que solía ser una ilustración.



Los "Game & Watch" y algunos otros juegos solamente son jugables con su "artwork" correspondiente.

En otros juegos imitan el área que rodea la pantalla y a veces traen instrucciones del juego. Mejoran la inmersión del jugador pero a cambio nos hacen jugar en una pantalla algo más pequeña:



Street Fighter II con su respectivo "artwork".

El Artwork suele venir en ZIPs individuales para cada juego. Pondremos todos los que tengamos en la carpeta MAME\Artwork.

Cabinets, Flyers y demás. Se trata de imágenes de la propia recreativa, de su propaganda o de las pegatinas que la acompañaban. Se muestran desde la interfaz principal:



Pondremos estos archivos en las carpetas MAME\Cabinets, MAME\Flyers y demás. Si MAME no los detecta automáticamente, habrá que configurar las rutas desde la opción Options --> Directories... de MAMEUI.

Un buen sitio para hacernos con colecciones de snaps, artwork y demás es la web italiana Progetto-Snaps.


MAME como emulador de consolas y ordenadores.

Además de recreativas, MAME emula una amplia variedad de "dispositivos": máquinas de pinball, máquinas de apuestas, videoconsolas y ordenadores. Los motivos son dos:

1) Las recreativas a menudo tienen hardware en común con videoconsolas u ordenadores de la misma época. Emular unos puede ayudar a emular los otros. O simplemente, ya puestos...

2) Hasta 2015, estos aparatos formaban parte de otro proyecto paralelo llamado MESS. Desde entonces MAME y MESS han empezado a fundirse, para regocijo de algunos y desesperación de otros.

No es muy recomendable emplear MAME para emular ordenadores o consolas, al menos si hay otros emuladores dedicados. Si emulamos alguna de estas máquinas con MAME es probable que el resultado sea incompleto, lento o incómodo.

Así pues, ¿qué consolas / ordenadores funcionan en MAME? Pues ahora mismo, yo diría que:

- Ordenadores de 8 bits.

- Consolas y portátiles de 8 y 16 bits.

Podéis consultar una lista (incompleta) al respecto en este enlace.

Para emular una videoconsola / ordenador con MAME necesitamos dos cosas:

- Las ROMs del aparato, copiadas a la carpeta MAME\ROMs.

- Programas / juegos para el aparato. Deben ir en la carpeta MAME\ROMs\<Nombre que MAME da al aparato>.

Por ejemplo, para emular una consola Sega Mega Drive, necesitamos el archivo Genesis.zip (que irá en MAME\Roms) y pondremos los juegos en MAME\ROMs\Genesis.

Los programas / juegos pueden conseguirse de dos maneras:

1) Descargando la "software list" del sistema de turno. Esta consiste de los juegos que el equipo de MAME considera que funcionan correctamente. Y también están renombrados a su manera.



Explorando la "software list" de nuestro Amstrad CPC6128Plus desde MAMEUI.

2) La segunda es "lanzar" el sistema de turno desde MAME, sin ningún juego seleccionado, y usar la opción "File Manager" que aparece en el menú interno pulsando TAB. De esta forma podremos cargar cualquier archivo de nuestra propia colección.





Como véis, las consolas / ordenadores también pueden usar su propio "artwork".


Empezando a usar MAME.

Una vez copiados todos los archivos a sus respectivas carpetas, solamente necesitamos dos pasos antes de ponernos a jugar:

1) Pedimos a MAME que muestre solamente los juegos disponibles, haciendo clic sobre Folder List --> Available:



Después podemos esconder estas opciones desde View --> Folder List, porque no las usaremos más.

2) Pedir a MAME que "audite" nuestras roms. MAME examinará nuestros archivos y los comparará con su base de datos interna. Tardará un buen rato, pero después la lista de juegos disponibles será mucho más fiable y veremos menos mensajes de error.




MAME: Controles básicos.

A partir de ahora, MAME ya podrá ejecutar todos los juegos de la lista principal. Tened en cuenta estos controles básicos:

1 - Empezar partida Jugador 1

5 - Insertar moneda Jugador 1

Cursores - Movimiento Jugador 1

CTRL Izq., ALT izq. y Espacio - Botones 1, 2 y 3 para el Jugador 1.

ESC - Salir del juego.

TAB - Opciones avanzadas de cada juego. Aquí hay un poco de todo. Podemos personalizar los controles generales de MAME, del juego en concreto, toquetear los valores de sonido y vídeo o los dip-switches, los interruptores que controlan valores como la dificultad o las monedas que pide el juego antes de empezar a jugar.



El menú interno de MAME.


PRÓXIMAMENTE: Actualizar las ROMs de MAME.

koke_ween:
:aplauso: :aplauso: :aplauso:

Hace años que tengo una recreativa con Mame en el garaje y desde hace unos meses me ronda la idea de hacerle una actualización completa de sofware y ponerle un disco SSD

Neville:
¡Oh, catástrofe! ¡Oh, infortunio! :'(

Ha salido una nueva versión de MAME y ahora algunos de mis juegos ya no funcionan. ¿Qué hago yo ahora? :rolleyes:

Pues ante todo, mucha calma. Son gajes del proyecto que nos ocupa y su voluntad historicista. Con cada nueva versión de MAME, hay nuevos juegos que funcionan, unos pocos que pueden dejar de funcionar y multitud de nuevas variantes de juegos de las que no se tenía constancia.

Así que toca actualizar nuestra colección de ROMs de MAME.


Actualizar las ROMs de MAME.

Esto se suele hacer con dos programillas, ClrMAMEPro o RomCenter. En esta guía emplearemos la última beta de RomCenter, la v4.0.0rc4. Si la encontráis más reciente, emplead siempre la versión más nueva.

1) Nuestro primer paso va a ser crear una base de datos actualizada. Vamos a "New" y en la primera casilla, la de Select source datafile, ponemos la ruta a nuestro ejecutable de MAME. En nuestro caso, es MAME\MAMEUI64.EXE.



Podemos darle sin más al botón de Create the database, pero si queremos una colección pequeña vale la pena darle antes a Set Filters. Esta opción nos permite eliminar diferentes tipos de juegos (mecánicos, apuestas, todavía sin emular) o quedarnos solamente con una "región" determinada, evitando por ejemplo los clones japoneses.



Al terminar, hacemos clic sobre Create the database. RomCenter se tomará su tiempo en crearla, no lo dudéis.


2) Finalmente, RomCenter cargará la nueva base de datos. Nuestro primer paso debería ser darle al botón Settings y tomar algunas decisiones.



En ROM merge mode, Merged significa que todas las variantes del juego terminarán en el mismo ZIP. Esto facilita las operaciones de copiado y borrado de juegos, pero suele llevar su tiempo.

Split es como suelen tener las ROMs en las webs de emulación, con un ZIP para el "juego principal" y otros más pequeños para cada "clon" del juego.

Un-merged copiará los archivos necesarios a los clones para que puedan funcionar sin la ROM principal. No es recomendable porque multiplica el tamaño de nuestro set.

Finalmente, en Sample merge mode nos ofrecen la opción de copiar las "samples" del juego (si las tiene) en el mismo ZIP que el "juego principal".

A MAME le va dar igual cómo tengamos las ROMs. Mientras sean correctas las detectará sin errores.


3) Ahora toca añadir las rutas de las ROMs. Normalmente va a ser dos, la carpeta MAME\ROMs y donde hayamos descargado la remesa de nuevas roms, que en nuestro caso va a ser MAME\Update.

Respecto a dónde descargar estas actualizaciones de ROMs, os remito de nuevo a Pleasuredome Tracker. El archivo que necesitáis se llama MAME vXX Update Roms, siendo XX el número de la nueva versión de MAME.


Explorando las carpetas, vamos a ver archivos de diferentes coloringos, siguiendo esta clave:

Archivos en verde: ROMs que no han cambiado desde la última versión y que funcionan sin problemas.

Archivos en amarillo, que tienen problemas pero pueden arreglarse.

Archivos en rojo, para los que de momento no hay solución.

Archivos en gris, que no necesitamos y se pueden borrar.



Como mi cole está actualizada no hay ficheros amarillos. Pero pongamos que los hay.


Por el momento, dejaremos los archivos en verde y rojo en paz, y nos centraremos en los amarillos. Uno a uno, o bien seleccionándolos todos a la vez, haremos aparecer el menú contextual con el botón derecho del ratón.



...Y hacemos clic en la opción Fix items. RomCenter empezará a actualizar las ROMs de la carpeta MAME\ROMs con los archivos de MAME\Update.

No interrumpamos el proceso por nada del mundo o corromperemos los archivos.

Al terminar, podemos borrar los archivos de la carpeta MAME\Update porque ya no los necesitamos. El borrado lo podemos hacer desde RomCenter o desde el Explorador de Windows, da lo mismo.

Desde RomCenter también tenemos otras opciones para las carpetas con el menú contextual. "Close" sirve para descartarlas, mientras que "Reload" o "Refresh" sirven para comprobar los nuevos archivos que vayamos copiando en ellas. Nunca apretéis Supr. con una carpeta seleccionada porque será borrada sin contemplaciones.

4) Una vez hechas todas las operaciones, volvemos a MAMEUI64 y volvemos a "auditar" nuestras ROMs. Cuando termine el proceso, todos los juegos de la lista deberían poder cargarse sin problemas.

5) Si después de todo esto seguimos teniendo archivos en rojo, toca averiguar qué ROMs concretas nos faltan. Vamos a la sección Database --> All Games de RomCenter, arriba a la derecha, y repasamos las columnas hasta localizar los archivos que nos faltan:



Aquí vemos bajo la columna File name que nos falta el archivo 1943mii.zip, y este es el que tendremos que buscar en webs de emulación que ofrezcan los juegos de MAME en archivos sueltos, como RetroRoms.

Una vez lo tengamos, lo ponemos en la carpeta MAME\Update y volvemos a cargar la carpeta (botón derecho del ratón y opción Refresh) para que RomCenter nos diga si es bueno.

Y así con todos los archivos que aún estén en rojo.

Danfielding:
- Yo soy uno de esos usuarios de Mame chapuceros, con varias versiones de Mame instaladas a la vez, con muchas roms que no van, otras repetidas... supongo que debe ser lo más habitual; al menos para la Raspberry me bajé una imagen de Recalbox con todas las roms ya comprobaditas, menos mal. Si tuviese algo de tiempo hacía limpieza y me las ordenaba, pero es que son miles... a lo mejor lo dejo para verano (de algún año). Sigo pensando que, aunque se entiende que Mame es un proyecto serio, histórico, etc., el sistema de actualización es una m..rd., nada fácil ni intuitivo; siempre tuve la esperanza de que saldría algún lanzador potente que las ordenase, las actualizase, etc. casi automáticamente pero, que yo sepa, nunca ha salido algo asíde completo, ¿no?

Danfielding

Neville:
No que yo sepa. Lo de actualizar los juegos es lo más farragoso, pero no se puede automatizar por el tema de que el equipo detrás está en contra de que se distribuya junto a roms.

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa