Bueno, pues lo dejo por aquí. Versión Europea y EEUU. Creo que, en principio, da igual la versión del juego si es 1.0, 1.1 o 1.2.
Respecto al save en sí, a grandes rasgos, tiene un tamaño de 1Mb (0x1FFFF) (128KB) y se estructura en 30 secciones de tamaño 4096 bytes (0xFFF), salvo 2 que son de 8192 bytes (0x1FFF). La estructura es prácticamente idéntica para todas las regiones.
- Sección 0x00000 a 0x00FFF: Datos generales del juego. Máxima puntuación, máximo nivel del Mario Bros, Mundo actual, datos generales del mundo-e, etc etc. En el offset 0x1A, substituyendo el valor 0 por 1, mágicamente activamos el mundo-e. En un save sin inicializar (primera ejecución del juego), este offset aparece resaltado por sendos valores FF en 0x19 y 0x1B. ¿Casualidad? Lo dudo...
- Sección 0x01000 a 0x03FFF: Datos de guardado del juego principal. Cada sección de 0xFFF corresponde a los datos de guardado de cada slot.
- Sección 0x04000 a 0x05FFF: Información sobre las monedas e, referidas a los niveles e de las siguientes secciones.
- Sección 0x06000 a 0x0FFFF: Información y almacenamiento de los niveles e. Aquí se almacenan los escaneos realizados con el e-reader, de ahí que pese "tanto" el archivo .sav
- Sección 0x10000 a 0x10FFF: Backup de los datos almacenados en la primera sección. Si el juego se corrompe, intenta copiar esta sección a la anterior antes de dar el juego por perdido.
- Sección 0x11000 a 0x13FFF: Igual que lo anterior, estas 3 secciones almacenan un respaldo de la sección 0x01000 a 0x03FFF.
- Sección 0x14000 a 0x15FFF: Información sobre las monedas e, referidas a los niveles e de las siguientes secciones.
- Sección 0x16000 a 0x1BFFF: Información y almacenamiento de más niveles e.
- Sección 0x1C000 a 0x1FFFF: Datos de repetición. 2 secciones y 2 más de respaldo. No me acuerdo en qué orden.
Sin entrar en pormenorizaciones, sabiendo qué modificar, se pueden cambiar fácilmente los datos de máxima puntuación, vidas, etc... Para trasladar los datos y modificar las pantallas-e hace falta ser un poco más cuidadoso, ya que las distintas secciones están protegidas con un cheksum-16 Little Endian.
Y del archivo de texto que adjunto, proviniente del Solar Magic Advance se puede extraer mucha de la información. Las herramientas del mismo programa son también muy útiles para regenerar el save y recomprobar los checksums.