Tutorial sobre las ROMs

#2793

Introducción

Leed este documento, os lo recomienda el profesor Hubert Farnsworth.

En este tutorial voy a intentará explicar de un modo rápido qué son las famosas ROMs, cómo podemos usarlas en MAME y, además, cómo evitar los problemas más típicos.

La lectura no va a ser muy ligera, pero tú verás qué te conviene más: dedicarle treinta minutos a la lectura de este texto y olvidarte para siempre de los problemas o seguir descargando un mismo juego de veinte sitios diferentes con la esperanza de que alguna de las veces te funcione.

¿Qué es una ROM? ¿Y un SAMPLE?

foto2.jpg

Son las siglas en inglés de Read Only Memory. A grandes trazos una ROM es un dispositivo de memoria que contiene el código de un programa. (Def: Dispositivo normalmente en estado sólido para almacenamiento permanente de información).

Es decir, que normalmente una ROM es lo que contiene un chip u otro dispositivo de solo lectura, CD-ROM por ejemplo, aunque esto lo veremos un poco más adelante.

En cuanto a los SAMPLES, son ficheros de sonido, ni más ni menos. En las primeras máquinas recreativas, la tecnología era pobre, por lo que para reproducir sonidos se utilizaban circuitos analógicos. Y dichos sonidos, por lo tanto no pueden ser emulados de forma digital dentro de un ordenador. Así pues, el único modo de disfrutar de estos sonidos en MAME consiste en grabarlos directamente con un micrófono en las placas originales y luego reproducirlos en el emulador.

¿De dónde salen todas estas ROMs del MAME?

foto3.jpg

En las máquinas recreativas estas ROMs están contenidas en los chips dispuestos en la placa que contiene toda la información del juego. Así, toda esa información se ha 'volcado' a un soporte de almacenamiento más manejable mediante un proceso llamado dumping.

Ese soporte más manejable no es ni más ni menos que un fichero de ordenador que podemos tener en nuestro disco duro, grabado en un CD, en nuestro pendrive o lo que queramos.

Sí, sí, pero... ¿qué es concretamente el DUMPING?

Uno de los equipos utilizados por The Guru para realizar sus dumpeos.

Dumping quiere decir 'volcado' y es la lectura de información que se hace desde los chips de la placa de la máquina recreativa (o dispositivo similar) a un sistema de almacenamiento informático estándar a través de un dispositivo que permite al ordenador leer la información contenida en dicha placa.

Es decir, que básicamente, para 'Dumpear' juegos hace falta un ordenador y unos lectores de chips. Pero todos los chips no son iguales... así que el equipo necesario es muy caro y el proceso largo y complicado.

Para colmo de males, muchos de los juegos originales ya no se encuentran, otros están en mal estado, el resto cuestan dinero, etc...

Y ¿cómo es posible que podamos disfrutar de las ROMs? pues gracias a gente como El Guru que se dedican a 'Dumpear' todo lo que cae en sus manos. Así que ya sabéis, si queréis colaborar con el proyecto MAME y tenéis algún juego raro del que no existan ROMs, enviadle vuestras placas. Si queréis también podéis hacer donativos económicos puesto que El Guru muchas veces compra placas en subastas y tiene que actualizar sus equipos de 'Dumpeado'.

¿Qué es un ROMSET?

Romset de 3stooges.zip

Un ROMSET es un conjunto de ROMs que contienen toda la información de un juego. En las placas de juegos, la gran mayoría de las veces, no existe un solo chip que contenga toda la información, hay muchos. Por ejemplo un chip para los sonidos, otro para los gráficos, etc...

Por ejemplo, en el juego 1942 de CAPCOM está contenido en un ROMSET llamado 1942.zip que contiene una serie de archivos (1-n3a.bin, 1-n4.bin, 1-n5.bin, etc). Cada uno de ellos es una ROM en particular...

Versiones de los juegos

Clon hackeado de un juego de la saga KOF.

En muchos casos, de un mismo juego existían varias versiones. Esto ocurría, por ejemplo con las traducciones. También había otros casos de diferencias mínimas como ocurre con los lanzamientos de un juego en distintas regiones (Japón, Usa, etc...) donde solo cambia el aviso legal del principio. Evidentemente, las placas de estos juegos eran muy similares y la única diferencia estaba en algunas de sus ROMs, NO EN TODAS.

A raíz de estas diferencias, se definen en MAME dos términos:

  • Parent ROM (ROM Padre): Es el ROMSET del juego original. ¿Cuál es el original? pues normalmente se toma como original la primera versión en ser publicada, sea de la región que sea.
  • Clon: Cada una de las versiones que existen de un juego.

Es decir, que para un mismo juego habría varios ROMSETs que contendrían algunas ROMs en común y algunas otras que serían diferentes en cada ROMSET.

Además de los clones a secas también encontraremos los "hacks" y los "bootleg". En el primer caso se trata de versiones "pirata" de los juegos que añaden modificaciones al juego original como más vidas, mayor dificultad... Los "bootleg" no son más que versiones pirata a las que se les ha eliminado el aviso legal que se muestra al inicio del juego.

Organización de los "Parents" y Clones

Como ya he dicho, dos ROMSETs de un mismo juego, tendrán gran parte de sus contenidos en común. Es decir, que estaremos desperdiciando mucho espacio en el disco duro al tener información duplicada. Para evitar eso, MAME permite organizar los parents y clones de tres modos distintos:

  • Non-Merged: Tendremos los ROMSETs totalmente completos, de modo que tendremos información duplicada y por lo tanto estaremos desperdiciando disco duro.
  • Merged: Se unirán en una única carpeta o en un único fichero .zip TODAS las ROMs de un mismo juego. Es decir, que en un único fichero estarán presentes TODAS las versiones que existan de un determinado juego.
  • Split: Suele ser el método más habitual de almacenar las ROMs. Por un lado estará el ROMSET PARENT al completo y por otro los ROMSETs de los clones solamente con sus ROMs diferentes.

En este esquema se intenta mostrar un ejemplo sobre lo dicho:

Los tres tipos de organización de roms que permite utilizar MAME.

Como ya he dicho, en la inmensa mayoría de los casos, las ROMs se encuentran en la forma 'Split'. Y viendo el esquema adjunto, resulta fácil entender que en dicho caso es necesario tener el ROMSET principal, el PARENT, para que funcionen los clones.

Personalmente, recomiendo tener las ROMs en Split ya que ocuparán muchísimo menos que en Non-Merged y además tendremos mucha facilidad para eliminar versiones no deseadas de los juegos.

Los ficheros CHD

Todos estos CDs acabarán siendo ficheros .CHD.

El tiempo avanzó en las máquinas recreativas y los chips de memoria empezaron a no ser rentables económicamente para almacenar todos los datos de los juegos. Así que se recurrió a ideas "prestadas" de las consolas y los ordenadores: Los discos duros y los CD-ROM.

Para almacenar esta información en nuestros ordenadores se recurrió al uso de los ficheros CHD, (Compressed Hard Disk, debido a que primero se utilizaron para almacenar información de discos duros, aunque posteriormente se ha seguido usando el mismo nombre para los datos provenientes de CD-ROMs).

Los ficheros BIOS

foto9.jpg

La bios esta en la propia placa y, lógicamente, es común a todos los juego que funcionen en dicha placa (por ejemplo todos los juegos de neo-geo). En realidad son una serie de utilidades para acceder al hardware y que están presentes en la placa y no en los juegos en si.

Así que con vistas a no desperdiciar disco duro (y por facilidad de manejo), lo que se hace es guardar en un fichero aparte las ROMS que pertenecen a un determinado sistema y no a los juegos. Esto es lo que se conoce como fichero BIOS.

Estamos en un caso parecido al de las ROMs PARENT con los juegos en Split, sin fichero BIOS los juegos no están completos y por lo tanto no podremos utilizarlos en MAME.

En resumidas cuentas, ¿qué ficheros componen los juegos de MAME?

Es decir, que un juego completo PUEDE estar formado por todos los elementos ya descritos. Lógicamente, si la placa original no utilizaba disco duro o CD, no tendremos CHD, si el juego es un juego original, no existirán ROMSET clon, etc...

Elementos que pueden formar un juego al completo.

NOTA: Es posible, eligiendo las opciones adecuadas en CLRMAMEPRO, tener en un único archivo .zip (o carpeta) TODAS las ROMs necesarias para un juego: ROMSET del juego original, ROMs específicas de los clones e incluso las ROMs de la BIOS. Pero lo más común es tener las tres cosas por separado (Split con BIOS en ficheros aparte).

Evolución de las ROMs

foto11.gif

Dumpear ROMs no es algo tan sencillo como meter un CD en un CD-ROM y hacer una copia del mismo. Todos los chips no son iguales, algunos utilizan medidas de seguridad como la encriptación, otros tienen las patillas muy pequeñas, etc... por todo ello, se producen los "BAD DUMPS". Son ROMs que han sido mal leídas y por lo tanto, el fichero que se posee de ellas no es 100% correcto.

El proyecto MAME tiene como una de sus máximas prioridades la fidelidad total a los originales. Esto significa que siempre están muy pendientes de que su emulador funcione lo mejor posible Y CON LAS ROMs EN MEJOR ESTADO POSIBLE. Por ello, de versión en versión se producen cambios en las ROMs que utiliza el emulador. Algunas veces son solo simples cambios de nombre en las ROMs o ROMSETs, pero en otros casos se sustituyen ROMs por mejores dumpeos o se incluyen ROMs nuevas.

Por ello, nunca nos funcionarán el 100% de nuestras ROMs viejas al actualizar MAME.

Involución de las ROMs, los "Rollback"

Evolucionar o no evolucionar, esa es la cuestión...

Como ya se ha dicho, hay ROMs que quedan anticuados al actualizar la versión de MAME. En ocasiones, querremos utilizar una versión antigua de MAME, básicamente por razones de rendimiento ya que con el tiempo MAME consume más recursos (esto no es del todo cierto, pero bueno...).

Y si conseguir un MAME antiguo es algo complicado, encontrar un paquete de ROMs para dicha versión es casi imposible. La solución está en los "Rollback".

Un Rollback es un paquete en el que se almacenan todas las ROMs que han ido quedando obsoletas a lo largo del tiempo. Es decir, que con un paquete de ROMs para la última versión de MAME junto a un Rollback podremos reconstruir las ROMs de MAME para cualquier versión anterior del emulador.

Mantenimiento de las ROMs

CLRMAMEPRO en acción.

Ya hemos visto un poco por encima qué son las ROMs y como deben ser manejadas. Pero ahora surge el gran problema... ¡para MAME existe decenas de miles de ROMs!. Y, lógicamente, mantenerlas en buen estado de forma manual es imposible.

Para mantener en buen estado nuestras ROMs no tenemos más remedio que utilizar un gestor de ROMs. Actualmente los más conocidos y utilizados son CLRMAMEPRO y ROMCENTER. Estos dos programas nos permitirán efectuar todas las operaciones que necesitemos para que nuestras ROMs estén en perfecto estado y que por lo tanto funcionen adecuadamente con nuestra versión de MAME.

Y si no quieres utilizar un gestor de ROMs, no te queda más remedio que conseguir ROMs nuevas para cada versión que salga de MAME. Aunque también puedes pasar de actualizar MAME... eso es decisión de cada uno.

Usando, por fin, las ROMs en MAME

Ventana principal de MAME Plus 32

UNA VEZ TENGAMOS LAS ROMS EN BUEN ESTADO PARA EL MAME QUE VAYAMOS A UTILIZAR, viene la parte divertida del asunto, jugar. Lo más común, al menos cuando nos iniciamos en el mundillo, es usar un MAME con interfaz gráfico para windows ya incorporado (MAME32 o MAMEPLUS32, generalmente).

La cosa es sencilla y tenemos dos opciones: Copiamos las ROMs dentro de la carpeta por defecto que trae MAME32 (o plus), y que se llama "ROMs" o ponemos las ROMs donde nos de la gana y luego dentro de las opciones de MAME seleccionamos dicha carpeta.

Ya solo hace falta indicarle a MAME que busque nuestras ROMs para que nos indique qué juegos tenemos y cuáles no. Esto se puede hacer de dos modos diferentes. Seleccionando "Audit All Games" en el menú "File" o directamente presionando F5 mientras estamos en la ventana principal del programa.

Mensajes de error durante el escaneo de ROMs

Una vez que le demos al escaneo de ROMs, se nos abrirá una ventana similar a la que pongo aquí y empezarán a salir un montón de mensajes de error. ¡calma! que es normal. Lo que interesa es que en los dos círculos marcados en rojo aparezca que el número de ROMS y SAMPLES incorrectos sea cero.

Mensajes de error de MAME tras escanear las roms.

Los mensajes de error inevitables son:

  • ROM NEEDS REDUMP, significa que se ha encontrado una ROM que se sabe que está mal, pero de momento no hay dumpeo bueno, así que de momento se sigue usando una ROM mala.
  • FOUND BUT NO GOOD DUMP KNOWN, significa que se ha encontrado una ROM de la que no existe un dumpeo bueno. Por la definición, es lo mismo que en el primer caso, pero en realidad ahora se trata de ROMs que no existen. ¿Y cómo es posible que tengamos una ROM que no se ha dumpeado? pues muy fácil, porque CLRMAMEPRO es capaz de crear archivos vacíos con el nombre correcto simplemente para que nuestros ROMSETs estén visualmente más completos (aunque esto no sirva para nada).

En ambos casos, dichos errores pueden provocar un ligero fallo en el juego (que el color de un enemigo no sea el correcto, por ejemplo) o algo más grave y que haga que el juego sea totalmente injugable. La única solución a esto está en esperar a que pase el tiempo y a que se corrijan los fallos.

Sin embargo, las ROMs o SAMPLES incorrectos si que se pueden (Y SE DEBEN) corregir. Para ello, se debe usar CLRMAMEPRO o ROMCENTER, como ya dije antes.

Listos, ¡ a jugar !

Mensajes de error de MAME tras escanear las roms. Mensajes de error de MAME tras escanear las roms.

Pues si todo se ha realizado del modo correcto, ya solo queda hacer doble click sobre el juego deseado para empezar a viciarnos al juego que deseemos. Sin embargo, nada en la vida es perfecto, así que hay un par de cosas que debes tener en cuenta:

  • Olvídate de disfrutar gran parte de los juegos en 3D, MAME no utiliza la aceleración 3D de nuestras tarjetas gráficas de PC (hay varias razones de peso para que esto sea así) y se estima que para que algunos juegos funcionasen al 100% de su velocidad sería necesario un procesador a 10Ghz utilizando la tecnología actual. Algunos si que funcionan (como Strider 2), pero son muy pocos. Si deseas jugar a juegos arcade 3D la mejor opción es utilizar Zinc o buscar las conversiones para Playstation (por ejemplo) que se han hecho de varios de ellos.
  • Olvídate de disfrutar de gran parte de los juegos con CHD. El manejo que hace MAME de los ficheros CHD no es muy eficiente y hace que dichos juegos vayan muy lentos aún siendo en 2D. Algunos, como "Killer Instinct" y "Killer Instinct 2" si que funcionan en ordenadores potentes. Además, los juegos con CHD ocupan muchos megas, por lo que debes disponer de un buen disco duro.
  • MAME es gratuito, así que antes de decir que tal o cuál cosa es una m*** párate a pensar si tú mismo serías capaz de hacerlo mejor o de si hay en el "mercado" otro emulador mejor.
  • MAME está en evolución constante, los juegos parcialmente emulados o los que no funcionan en absoluto, tal vez sean plenamente jugables en las próximas versiones. Intenta estar al tanto de las novedades y no olvides que tus ROMs deben ser actualizadas cada vez que actualices el emulador.
  • MAME busca el 100% de fidelidad en la emulación, así que es posible que con el tiempo, algunos juegos requieran un mejor ordenador para ser jugables. Tú eliges qué es lo que prefieres velocidad e imprecisión o fidelidad a costa de mejor ordenador. Esto ha ocurrido por ejemplo con juegos como 'Out run' o 'After Burner'.

MAMEs no oficiales

Advance Menu, el front-end para Advance MAME.

Además del MAME oficial, existen ciertas modificaciones (Mods) al programa base. Algunos de estos "Mods" son muy populares, como pueden ser:

  • MAME32
  • MAME Plus
  • Advance MAME
  • ...

Estas modificaciones permiten opciones extra con respecto al emulador original. Por ejemplo, en el caso de Advance MAME, podemos obtener modos de vídeo de 15.7khz directamente, sin necesidad de una tarjeta gráfica especial o software extra.

En algunos casos, los 'Mods' reconocen ROMs extras. Un ejemplo de esto sería MAME Plus.

ROMs más allá de MAME

ZSNES, emulador de Super Nintendo.

Además de MAME, existen otros muchos emuladores. Básicamente lo que se ha contado aquí sigue siendo válido, sin embargo existen algunas diferencias importantes:

  • Los juegos de consola están formados por una ÚNICA ROM.
  • Al contrario que MAME, otros emuladores no suelen incluir la función de comprobar qué ROMs son correctas y cuáles no. Así que en ellos es todavía más importante el hecho de utilizar un gestor de ROMs. Además, el fichero .dat para utilizar con nuestro gestor de ROMs debemos descargarlo de alguna web, no siendo creado éste desde el ejecutable del emulador como ocurre con MAME.
  • Las ROMs de MAME tienen como nombre una combinación de letras y números de hasta 8 caracteres (normalmente son el nombre abreviado del juego). Sin embargo, las ROMs de consolas suelen tener nombres largos e incluir información extra en él; por ejemplo, la región a la que pertenece dicho juego (Europa (E), USA (U) o Japón (J).

Dumpeador de cartuchos de SNES directamente a floppy de 3.5"

Esto se va un poco del tema, pero creo que es necesario explicarlo para dar un poco más de luz al tema de las ROMs de consola.

Como ya dije al principio, el dumpeo de placas base de recreativas es algo que requiere mucho esfuerzo material, económico y que además exige a veces conocimientos electrónicos avanzados. Por ello, el dumpeo de placas solo ha estado al alcance de unos pocos. Esto ha hecho que dichos dumpeos hayan sido de calidad y únicos: los realizan solo unas cuantas personas a lo largo y ancho del mundo, teniendo amplios conocimientos y asegurándose de que su trabajo haya sido perfecto. Versión tras versión de MAME se le da soporte a los nuevos (y mejores) dumpeos, dejando de lado a los viejos.

Sin embargo, el mundillo de ROMs de consolas es muy diferente. Los aparatos para realizar el dumpeo de cartuchos son fáciles de adquirir y a un precio razonable, con lo que cualquiera puede hacer copias de seguridad de sus cartuchos. Así que por internet acabaron esparcidas múltiples copias de un mismo juego, no estando garantizado en casi ninguna de ellas el buen dumpeo.

Goodtools, los primeros catalogadores para ROMs de consolas

Logotipo de las Goodtools.

...pasó el tiempo y surgieron las Goodtools, un conjunto de utilidades para catalogar y organizar nuestras ROMs de consolas. Su filosofía de trabajo, sencilla, identificar TODAS las ROMs de consolas existentes. De ese modo, en su catálogo incluyen los malos dumpeos, los hacks caseros (juegos modificados para añadir vidas infinitas, por ejemplo), traducciones caseras, etc, etc, etc...

Una locura, porque si bien lo catalogan todo, la cantidad de "basura" catalogada es muy superior a la de buenos dumpeos. Yo diría que menos de un 10% de lo que tienen catalogado son ROMs en buen estado correspondientes a juegos realmente publicados. Por ejemplo, en Sega Megadrive, para unos 1500 cartuchos publicados, en la versión 2.05 de GoodGen tenían catalogadas más de 5400 ROMs...

Surge la lógica, el proyecto No-Intro

El proyecto No-Intro no tiene logo oficial.

En algún momento tenía que aparecer la lógica y así se creó el proyecto No-Intro, dedicado a la catalogación de ROMs para consolas publicadas y en perfecto estado (exclusivamente): Adiós a los hacks, malos dumpeos, traducciones caseras, etc... Y como dichas ROMs en muchos casos no existían, son ellos mismos los encargados de hacer los nuevos dumpeos, comprobando siempre su fidelidad al original.

En el proyecto No-Intro han tenido muy claro cuál es su objetivo, por lo que, al contrario que ocurre con las Goodtools, no poseen catalogador propio, sino que utilizan los dos predominantes, CLRMAMEPRO y ROMCENTER y sólamente publican los ficheros DAT.

Su web oficial es esta y en ella podéis descargar las últimas versiones de sus ficheros .dat.

Goodtools Vs No-Intro

Goodtools Vs No-Intro.

La pregunta que uno se hace llegados a este punto es ¿Qué ROMs de consola me interesan más? Y la respuesta, como casi todo en la vida, depende de nuestras preferencias personales.

Si estamos interesados en material original, en perfecto estado e inalterado, deberíamos asegurarnos de que nuestras ROMs son reconocidas por los .dat del proyecto No-Intro.

Por el contrario, si queremos disfrutar de traducciones caseras, hacks, etc... Las ROMs reconocidas por las GoodTools serán las que elijamos.

Conclusión

Al final, me he alargado un poco más de lo que tenía pensado pero creo que se resuelven la gran mayoría de las dudas con respecto a las ROMs. Espero que esto ayude a solucionar el que quizás sea uno de los grandes escollos con los que nos encontramos a la hora de poner a punto nuestra recreativa.

GT_Manoruo, Macarro

Publicidad