GENS4ALL
From EmuForge
Contents |
[edit] GENS4ALL:: Emulador de Sega Genesis/Mega Drive.
[edit] ¿Qué emula?
GENS4ALL es un emulador de la videoconsola Sega Genesis (en Europa y Japón se la conoce como la Sega Mega Drive).
Este emulador se basa en el excelente emulador GENS (Genesis Emulator) pero mejorándolo en muchos aspectos y a la vez haciéndolo multiplataforma (Windows, Linux, PSP y Dreamcast).
Fox68k y Chui mantienen y mejoran este emulador, meintras que Indiket y Neoblast se encargan de probarlo y detectar el mayor número posible de errores.
[edit] Características generales
- Muy buena compatibilidad con el catálogo de juegos.
- Núcleo FAME Motorola 68000 escrito en ensamblador (x86, SH4) por Fox68k (Fast and Accurate Motorola Emulator).
- Núcleo RAZE Zilog Z80 escrito en ensamblador (x86, SH4) basado en la version x86 por Richard Mitton.
- Visual Display Processor (VDP) escrito en ensamblador (sólo SH4, todavía en desarrollo).
- Emulación del sonido FM (Yamaha YM2612) por Eke-Eke basado en la implementación de MAME.
- Emulación del sonido PSG de Maxim's (más precisa que la de GENS).
- Implementación con las SDL por Chui (Multiplataforma Win, Linux, PSP, DC).
- Emulación del pad de 3 y de 6 botones.
- Explorador de ficheros con acceso a subdirectorios.
- Soporta roms .bin y .smd
- Permite cargar roms comprimidas en formato GZip, Zip y 7-Zip.
- Menú principal completo: frameskip control, region selector, hardware reset, cartridge info...
- Interfaz multidioma (i18n): Inglés y Español incluídos.
- Posibilidad de usar códigos GAME GENIE y/o ACTION REPLAY.
- Soporte de la VMU (Dreamcast) para poder guardar partidas (SRAM) y estados de juego.
- Soporte de VGA Box con selector 50/60Hz (Dreamcast).
- Soporte para arcade stick (Dreamcast).
[edit] Ficheros de entrada
GENS4ALL dispone de varios ficheros XML que se puede modificar para añadir nuevas características y mejorar su funcionalidad. Todos ellos se encuentran dentro de la carpeta data/cartridge:
- ggenie.xml: Este fichero permite añadir códigos del GAME GENIE y/o ACTION REPLAY y usarlos en los juegos. Cada juego está en un <gamecode>, y dentro de este se definen los campos <game>, <checksum> y < code>
Ejemplo de tipo de juego usando GGENIE:
<gamecode> <game>Megadrive name</game> <checksum>e231</checksum> < code description="MASTER CODE">AB1D-A123< /code> ... </gamecode>
Estructura de los códigos:
GAMEGENIE: XXXX-XXXX
ACTIONREPLAY:ABCDEF01:2345
Nota: El checksum es un código de comprobación de datos que identifica al juego, y se utiliza el del DATA. Para obtenerlo, se puede ver en Miscelánea > Trucado de juegos.
- cartridge.xml: Además de los juegos oficiales, han ido apareciendo otros juegos no licenciados (desde hacks a lo cutre a auténticas obras de programación, pasando por simples ports desde otras plataformas) como bootlegs o juegos chinos.
GENS4ALL puede emular estos juegos, pero debido a sus características es necesario definir unas propiedades para cada juego en el fichero XML.
Un ejemplo de un juego no licenciado:
<cartridge> <game>Barver Battle Saga - The Space Fighter</game> <checksum> <header>30b9</header> <data>1b8a</data> </checksum> <area mode="r">400000</area> </cartridge>
Game: El nombre del juego a añadir.
Checksum: Hay que poner tanto el del header como el del data.
Area mode: Indica a partir de qué dirección se encuentran los datos de la rom. Dentro de cada área puede ser necesario definir las direcciones dónde están los registros (register).
- eeprom.xml: Algunos juegos, además de llevar una SRAM para almacenar las partidas, incluyeron un chip EEPROM extra para hacer estas funciones.
GENS4ALL también soporta este tipo de memorias, pero debido a sus características especiales, es necesario que estén definidas manualmente en este fichero XML.
Ejemplo de EEPROM:
<eeprom size="256" bitwidth="8"> <ref>24C02</ref> <company>Acclaim</company> <cartridge id="T-081326"> <game region="UE">NBA Jam</game> </cartridge> <cartridge id="T-81033"> <game region="J">NBA Jam</game> </cartridge> <sdain bitshift="0">200001</sdain> <sdaout bitshift="1">200001</sdaout> <scl bitshift="1">200001</scl> </eeprom>
La primera línea define el tipo de eeprom (según el tipo de eeprom le corresponde a una referencia).
Una vez definida, se indican en cuáles cartuchos está incluída.
Finalmente, se le indica las propiedades sdain, sdaout y scl.
[edit] Screenshots
