domingo, 15 de marzo de 2015

ROMs: Explicación y Tipos


Esta primera entrada va dirigida a explicar que son las ROMs exactamente, los diferentes tipos que existen y como escoger las ROMs que queramos de forma que funcionen correctamente.

¿Qué es una ROM?


Las ROMs son archivos informáticos que contienen la información copiada de un chip de memoria, en el caso que nos ocupa de los juegos que vamos a emular. En el caso de MAME, un solo juego puede estar formado de uno o más archivos ROM, lo que se denomina ROMSET. Si abrimos cualquier .zip de una ROM de MAME podremos ver los diferentes archivos que componen el ROMSET.

Parte del ROMSET del juego Three Wonders

Todas estas ROMs se obtienen mediante el proceso conocido como dumping en inglés. Este proceso no es sencillo, por lo que no es raro que si se encuentra una mejor forma de "dumpear" la placa, cambie el ROMSET de esa rom, necesitando descargar la nueva ROM para que nos pueda funcionar. Esa es la explicación del del por qué para diferentes versiones de MAME hay ROMs que pueden dejar de funcionar.

Tipos de ROMs

Dicho todo esto, muchas veces la única diferencia de entre ROMs se trata del idioma, o de ciertos textos. En estos casos, la gran mayoría de archivos del ROMSET son iguales, solo variando algunas de las ROMs. Estas ROMs se dividen en dos tipos:
  • Parent ROMs: Son el ROMSET original.
  • Clone  ROMs: Distintas versiones del ROMSET original.
También nos podemos encontrar con hacks de diferentes ROMs, que tienen modificaciones hechas a la ROM original, que pueden ir desde trucos como cambiar el número de vidas inicial hasta cambiar totalmente la estructura del juego.

Organización de las ROMs en MAME

Existen 3 formas de organizar las ROMs de MAME, que es capaz de leer cualquiera de estas formas. Cada una tiene sus ventajas y sus desventajas, así que vamos a hablar de cada una de ellas comentando sus características.

  • Merged: En un solo archivo .zip se encuentran todas las ROMs de un juego, es decir, el parent y los diferentes clones. Ocupan menos y tienes menos archivos, pero si quieres borrar un clon tienes que saber que archivos internos la componen, lo que es bastante más complicado.
  • Non-Merged: Las ROMs parent y clone estan separadas entre sí, cada una con su ROMSET completo dentro del zip. Ocupa más espacio por que las ROMs comunes están repetidas en los clones, pero a cambio permite a cada ROM funcionar por separado sin depender del parent.
  • Split: Las ROMs están separadas como en el Non-Merged, pero las clone solo contienen los archivos que no son comunes al parent, evitando que se dupliquen los archivos y ahorrando espacio. Sin embargo esto causa de que las roms clone necesiten del parent para poder funcionar correctamente.



La opción más usada suele ser Split, aunque si quizás vas a hacer una selección de ROMs te convenga más usar Non-Merged. En mi caso, ya que el ir bajando las diferentes ROMs para cierta versión de MAME lleva bastante tiempo; he optado por bajar el set de ROMs completos de la versión de MAME 0.151 e ir seleccionando de ahí las ROMs que quiero coger. Sigue siendo un método largo, que ademas ocupa bastante (El Fullset de MAME 0.151 son unos 42GB) pero no tienes que ir buscando los enlaces de cada ROM asegurándote de que son de la versión correcta.

Por suerte, existe programas que nos lista las ROMs que tenemos y detectan si les faltan ROMs dentro del ROMSET para que funcionen en la versión de MAME que seleccionemos. En la siguiente entrada explicare como usar CLRMame para organizar nuestran ROMs como más nos interese.