ARCADE FOREVER

[TUTORIAL] Las ROMS de MAME, ese gran desconocido...

« Older   Newer »
  Share  
.shark.
view post Posted on 21/7/2009, 20:39     +1   +1   -1




NOTA: He tratado de recopilar toda la información posible sobre las ROMs que he visto por internet. Se trata de un tutorial de los categorizados como 'Infumables' pero que seguro te ayudarán a comprender este maravilloso mundo en el que estamos metidos: la emulación arcade.
He cogido un poquito de aquí y otro de allá, en especial me he apoyado en un tutorial que ya existe en retrovicio, creación de GT_Manoruo y Macarro.

Espero que os guste y os ayude a seguir enganchados en el mundillo.


Introducción, ¿qué son las ROM?

Algo imprescindible cuando configuramos un sistema de emulación arcade (o consolas) son las ROM. Si estas picado por el gusanillo de tener una recreativa en casa, o simplemente quieres disfrutar de aquel juego del bar de la esquina donde gastabas la ‘paga’, ya habrás empezado a ver por ahí el concepto de ROM…

Administrar las ROM correctamente puede ser una tarea horrible si no tenemos claro que son y de dónde vienen.

ROM (según wikipedia): Siglas de read-only memory, que significa ‘memoria de solo lectura’: una memoria de semiconductor destinada a ser leída y no destructible, es decir, que no se puede escribir sobre ella y que conserva intacta la información almacenada, incluso en el caso de que se interrumpa la corriente (memoría no volátil). La ROM suele almacenar la configuración del sistema o el programa de arranque de la computadora.

El concepto de ROM hace referencia al área de memoria física de sólo lectura como hemos visto en la definición, pero también se utiliza para referirse al contenido de la misma.

Bien, según esto podemos decir que las ROM son la esencia del juego, el juego en sí almacenado en placas hardware especificas según fabricante, y que permitían o mejor dicho, ejecutaban el código en una máquina recreativa.
Por si nunca te lo has planteado, para conseguir una reproducción fiel de cada uno de todos los juegos en MAME, es necesario tener accesible en nuestro ordenador el código ó ROM genuino, el juego autentico grabado en aquellas placas. Es aquí donde entra en escena la labor de muchísimos aficionados, los cuales trabajan duro para extraerlas de TODOS los juegos que han pasado por la historia de las máquinas recreativas, con el objetivo de preservarlas en el continuo espacio-tiempo…
Este laborioso proceso se conoce como ‘Dumping’ para el cual es necesario material específico (y bastante caro), además de conocimientos avanzados. Muchas ROMs solían estar protegidas por diferentes sistemas de seguridad, los cuales hay que sortear para conseguir un correcto backup de la ROM. Lamentablemente, no todos los juegos son ‘Dumpeados’ o extraídos correctamente precisamente por esto, las medidas de seguridad.
Si tienes curiosidad del proceso te adjunto un link (en inglés) donde explica un poco más en detalle el proceso de ‘Dumping’:
http://en.wikipedia.org/wiki/ROM_image

Pero… si son cientos de ellas! ¿Cómo las voy a conseguir todas? Ocuparan muchísimo!

Ante todo, dejar bien claro que el objetivo de este documento no es decir donde o cómo conseguir las ROM, simplemente qué son y como manipularlas. Ahí tendrás que buscarte la vida.

Bien, aclarado esto… seguimos!

¿Cuántos juegos arcade recuerdas de tu infancia? Unos cuantos ¿verdad?, y si le preguntas a cualquiera de tus amigos, probablemente te dirá alguno más que ni recordabas, o incluso que ni conocías! Es inevitable sacar una sonrisilla durante el flash back…

Hay cientos de juegos arcade, algunos miles en todo el mundo. Solo un proyecto como MAME se atrevería a emularlos todos, con el trabajo desinteresado de muchísima gente que poco a poco va extrayendo las ROM de todas y cada una de las placas que caen por sus manos. Es un proyecto ambicioso a largo plazo que por supuesto seguiremos de cerca.

Algunas ROMs por ejemplo, no son correctamente emuladas, otras no están bien Dumpeadas, otras se desechan con la evolución de MAME. Se van reparando estas ‘faltas’ con el transcurso del tiempo y por consiguiente, con la siguiente versión de MAME.

Imaginaros, en la versión actual de MAME son reconocidos más de 6000 juegos, cada juego esta formado por una o más ROMs. Si ponemos una media de 15 ROMs (1 ROM = 1 Archivo) por juego nos puede salir la friolera de 90.000 archivos!!!

Precisamente por esto, existen varias técnicas para su almacenaje y aplicaciones de terceros orientadas a su gestión.

Tecnicismos de las ROMs

Creo que el concepto de ROM queda bastante claro...

Como decíamos anteriormente, durante el proceso ‘Dumping’ de uno sólo de los juegos pueden surgir una o varias ROMs. ¿Por qué? Es posible que exista más de un chip físico, separados cómo áreas independientes de almacenaje en una misma placa, bien por motivos de limites de capacidad (la zona de almacenaje ROM es más pequeña de lo que pueda ocupar el código del juego) o simplemente hay diferentes áreas ROM para códigos funcionalmente distintos.

Al conjunto de todas las ROMs de un solo juego se le denomina SET ó ROMSET. La diferencia (si es que la hay) de estos dos conceptos en Internet es un poco confusa. Por ejemplo, ROMSET se utiliza mucho para referirse al catalogo completo de todos los juegos emulados de una determinada versión de MAME con todas sus ROMs. En teoría esta bien dicho, y aquí vamos a ser un poco quisquillosos y separaremos los dos conceptos para nuestro entendimiento:

Set: Utilizaremos Set para referirnos al conjunto de ROMs de un juego.
RomSet: Utilizaremos RomSet para referirnos a todos los Set de ROMs que forman una versión determinada de MAME. Más adelante lo veremos en detalle.

En la mayoría de los casos, cuando un fabricante lanzaba un juego al mercado, solía ser adaptado a varios idiomas, o simplemente, según el país de lanzamiento se le añadía un Disclaimer legal, o sacaban versión de 2 ó 4 jugadores. Pequeñas variantes de un juego, que a los efectos, se consideran juegos ‘distintos’.

Todas las variantes de un mismo juego son Dumpeadas, de tal manera, que podemos encontrar diferentes clones de un juego principal denominado Parent:

• Parent ó Main: MAME denomina parent ó main al primer juego lanzado, a la primera versión, independientemente del país o idioma.
• Clon: MAME denomina clon, a la siguiente/s versiones/variantes de un mismo juego.

En combinación de set/parent-main/Clon podemos encontrar los siguientes terminos:
• Main Set/Parent Set: Conjunto de ROMs de la versión principal/primera de un juego
• Clon Set: Conjunto de ROMs de las versiones siguientes de un Juego.

Almacenaje de las ROM

Después de conocer que son los set, los parent y los clones estamos en disposición de conocer como se estructuran y almacenan.

El principal problema que aparece, es la cantidad de espacio que puede ocupar un RomSet. Por esto mismo, todas las ROM de un mismo juego son ‘empaquetadas’ y comprimidas en un archivo ZIP: por un lado reducimos la cantidad de archivos ‘visibles’ y por otro, reducimos el tamaño.

Los desarrolladores de MAME utilizan un tipo de nomenclatura especifica para cada juego, un nombre de 8 caracteres que hace alusión a un parent o un clon, no tiene por que ser un nombre claramente identificativo aunque en algunos casos sí que lo es. Este nombre es el que tendrá el archivo ZIP con las ROM extraídas de la placa original.

Cuando sale una versión de MAME, el propio emulador tiene una base de datos de todos los juegos para los que ha sido diseñada dicha versión, de tal manera, que cuando lanzamos un juego, MAME comprobará que existen todas sus ROMS y que son las correctas.

Lo primero que podemos pensar, es que siendo tan pequeña la diferencia entre un parent y un clon… sus roms serán prácticamente iguales…

… y así es, si un determinado parent tiene 6 ROMs, por ejemplo, un clon puede tener en común con él 4 completamente iguales. Es algo muy interesante y muy útil para su administración.

Existen tres maneras de almacenar las rom de un parent y sus clones, combinadas (merged), no combinadas (non merged) y divididas (Split).

Non Merged: Los set de cada juego (parent o clon) estan completos. En un mismo fichero zip están todas las ROMS, tanto las comunes entre un parent y su clon como las que difieren entre uno y otro. Es el modo que más volumen en disco ocupa porque tenemos información repetida. La ventaja que tiene este tipo de almacenaje es, que cualquier set que tengamos es completo, no hay ningún tipo de dependencia con el set parent como veremos en los otros dos ejemplos.

Merged: Un parent y sus clones son almacenados en un solo fichero zip. Estarán las ROMS en común, y las que difieren entre un juego y otro en el mismo zip, es decir, todas las versiones de un juego en un mismo fichero. Reducimos muchísimo el espacio en disco porque no repetimos información, además de la cantidad total de ficheros visibles en el explorador de archivos siendo más ágil la supervisión de la carpeta donde estén almacenados. Sin embargo, el inconveniente que tiene, es que si solo quieres una determinada versión de todas las que puedan existir de un mismo juego, tendrás que llevártelas todas, por estar en el mismo comprimido. En este caso, sí que haremos un uso desproporcionado de nuestro disco porque tendremos más cosas de las que realmente queremos.

Split: Es el método más utilizado. Por un lado, encontraremos el parent almacenado en un solo fichero zip independiente. Las ROMs que son diferentes para cada clon, van en un fichero zip a parte, tantos como clones haya. Es la manera más efectiva para almacenar los ROMSET: no duplicamos información y si quieres una determinado clon, solo tendrás esa versión y no todas las demás (fichero del parent + fichero del clon).

¿Y ya está? Pero también he leído algo de ‘samples’, ‘BIOS’, ‘CHDs’…

Es cierto, hay más cosas que las ROMs, y tambien tienen su importancia. De los tres elementos, yo solo daria verdadera importancia a los ‘samples’ y las ‘BIOS’.

BIOS: Tal vez te suene este concepto de otro mundo como es el de los ordenadores. Realmente es lo mismo, pero aplicado en las placas de juegos arcade:

BIOS (Según Wikipedia): El sistema Básico de entrada/salida Basic Input-Output System (BIOS) Es un código de interfaz que localiza y carga el sistema operativo en la RAM; es un software muy básico instalado en la placa base que permite que ésta cumpla su cometido. Proporciona la comunicación de bajo nivel, el funcionamiento y configuración del hardware del sistema que, como mínimo, maneja el teclado y proporciona salida básica (emitiendo pitidos normalizados por el altavoz de la computadora si se producen fallos) durante el arranque. El BIOS usualmente está escrito en lenguaje ensamblador. El primer término BIOS apareció en el sistema operativo CP/M, y describe la parte de CP/M que se ejecutaba durante el arranque y que iba unida directamente al hardware (las máquinas de CP/M usualmente tenían un simple cargador arrancable en la ROM, y nada más). La mayoría de las versiones de MS-DOS tienen un archivo llamado "IBMBIO.COM" o "IO.SYS" que es análogo al CP/M BIOS.

Las placas de juego arcade también necesitaban de una BIOS como nexo de unión entre hardware y software. Esta hace posible la carga de juego y la interacción con el mismo a través de todos los elementos físicos, dígase mandos, video, audio, monedero…
No hay una BIOS específica para cada juego, sino por sistema/plataforma/fabricante. Uno de los ejemplos mas conocidos es NEO GEO. Como las ROMs que tenemos son las originales, están también necesitarán de su BIOS original. El proceso de extracción es prácticamente el mismo que las ROMs. Debemos guardarlas en el mismo lugar donde tengamos nuestro ROMSET y sin ellas los juegos que estén asociados no funcionarán.

Samples: En algunos juegos antiguos (solo una pequeña parte de los actualmente emulados) los medios digitales no eran capaces de conseguir una reproducción digital del sonido deseado. Lo que se hacía era recurrir a reproducciones analogicas, y eso no es posible conseguirlo con el proceso ‘dumping’.
El proceso es tan simple como grabarlos y digitalizarlos para almacenarlos de la misma manera que las roms.

CHD’s: El mercado de las recreativas empezó a crecer, a ser competitivo y exigente obligando a las empresas del sector y desarrolladores a programar juegos de máxima calidad. Esto principalmente se refleja en la necesidad de mucho espacio para almacenar el código. Por desgracia, las ROM’s (en referencia al continente) tienen un espacio limitado, así que se empezaron a utilizar discos duros y soportes ópticos.
Hay una gran cantidad de juegos cuya información esta en CHD’s, pero muchos de ellos no son correctamente emulados y ocupan una cantidad bestial de espacio en disco. Normalmente los RomSet no los incluyen, y se han de localizar por separado.
Definitivamente no son la estrella de la emulación en MAME así que exclusivamente nos centraremos en las ROMs.

Me pierdo! Es mucha información!,… ¿qué es lo que necesito exactamente?

Lo primero que tienes que pensar es, que con cada paso que avanza el proyecto de MAME, y por consecuencia, sus sucesivas versiones, la capacidad del ordenador que utilices tiene que ser mayor. Piensa que cuanto más antigua es una versión de MAME, son menos ROMs las que soporta, esta menos depurado pero por la contra… funcionará mucho mejor en un equipo viejo!

Independientemente de la versión que elijas, siempre has de buscar el RomSet adecuado para la misma. En él deberían ir incluidas las BIOS, y por otro lado deberás buscar el pack de los samples. Si ya estas experimentado en el mundo de la emulación MAME, te darás cuenta que lo que acabo de decir es muy bonito pero prácticamente imposible…

… me explico: es muy difícil encontrar el RomSet de una versión muy antigua de MAME, solo encontraras el de la versión actual o a lo sumo, un par de versiones o tres hacia atrás…

‘Todo está pensado’ y gracias a los ‘RollBack’ podremos tener completo cualquier RomSet de la historia de MAME.

Consigue el último de los RomSet.

Una vez lo tengas, es posible que este mal actualizado, nombres de ROMs incorrectas, mal estructurado, que te falte alguna BIOS…

No te preocupes, hasta aquí el aprendizaje básico de las ROMs, entraremos en otro documento a lo que te hará un machote en la emulación MAME… el uso del CLRMame Pro para organizar tus ROMs.
 
Top
view post Posted on 21/7/2009, 22:09     +1   -1
Avatar

V.I.P.

Group:
Member
Posts:
4,080
Reputation:
+3
Location:
Valterna (Valencia)

Status:


Magnífico!
 
Top
.Sheymoor.
view post Posted on 24/7/2009, 22:10     +1   -1




Que bueno que eres Shark , esto es la sipnosis del mame

APORTAZO

Un abrazote
 
Top
DavidSG
view post Posted on 25/7/2009, 08:55     +1   -1




Es curioso poder leer toda esta información junta, sobre todo para usuarios que tengan su primer contacto con mame.

Un Saludo!!
 
Top
view post Posted on 27/7/2009, 23:44     +1   -1
Avatar

Reparando mi TZ

Group:
Usuarios AFFA
Posts:
363
Reputation:
0
Location:
Zaragoza

Status:


QUOTE (DavidSG @ 25/7/2009, 09:55)
Es curioso poder leer toda esta información junta, sobre todo para usuarios que tengan su primer contacto con mame.

Un Saludo!!

Y además muy "clarito" lo que ayuda bastante.

Un Saludo
 
Top
-babalot-
view post Posted on 28/7/2009, 12:34     +1   -1




Excelente Shark ,solo una cosilla podrias haberle metido un par de fotos (aunque sean de juegos) que asusta ver tanta letra junta jejejeje por lo menos a mi ;)

Saludos.
 
Top
.shark.
view post Posted on 28/7/2009, 17:49     +1   -1




Jejeje... si babalot, tienes razón, más que todo para que la lectura sea amena.

A ver si busco alguna imagen que le pegue y lo voy mejorando.

Gracias por los comentarios... ;)
 
Top
lenny40
view post Posted on 10/4/2013, 23:24     +1   -1




muy claro
 
Top
Jordi Lopez
view post Posted on 15/12/2017, 14:51     +1   -1




Yo tengo una consulta, aunq nose si iria aqui pero, que sistemas es acapaz de aguantar Mame? graicas
 
Top
criheres
view post Posted on 17/12/2017, 14:39     +1   -1




Todo ok para un buen comienzo en este mundillo
 
Top
view post Posted on 17/12/2017, 20:52     +1   -1

V.I.P.

Group:
Usuarios AFFA
Posts:
6,076
Reputation:
+55

Status:


QUOTE (Jordi Lopez @ 15/12/2017, 14:51) 
Yo tengo una consulta, aunq nose si iria aqui pero, que sistemas es acapaz de aguantar Mame? graicas

Hasta hace poco, sólo era para máquinas arcades. A partir de ahí, ya lo emula TODO. Cualquier cacharro que tenga una ROM, ahí está el MAME. P.ej. las máquinas de tabaco: "Su tabaco, gracias"
 
Top
10 replies since 21/7/2009, 20:39   11317 views
  Share