Rastan Saga

Las siete rondas, 255 pantallas montadas desde sus mapas con sus enemigos y sus jefes, Rastan en sus tres capas, la fase del dragón que el juego se salta y un final que no pinta, todo dibujado desde la ROM.

Taito - (c) Taito 1988 - MegaROM de 256 KB (ASCII8) - MSX2 - Volcado 03fa40fa...

Aquí no hay ninguna captura. Todas las imágenes están dibujadas desde los bytes de la ROM: el título, las 257 pantallas de las 24 fases, Rastan, los 37 tipos de actor y los jefes, con las tablas del cartucho, y cotejadas contra openMSX en un MSX2 japonés: el título y 256 pantallas, sin una diferencia; las figuras, ficha a ficha. El listado y las cifras se reproducen con make, y el reensamblado devuelve la ROM byte a byte.

El cartucho en cifras

100 %del binario explicado
1.406rutinas con nombre
46,1 %del listado comentado
29.820bytes de código
232.324bytes de datos
0bytes sin identificar

Lo que apareció al desmontarlo

La fase del dragón que se salta

La fase 0x11 tiene su ficha, su paleta y su pantalla: un dragón alado sobre el mar, con 130 tiles que no usa ninguna otra. p00:5318 la salta: de la 0x10 se pasa a la 0x12.

Montada desde la ROM.

Un truco de pruebas en la cabecera

El byte 0x4010 vale 0. Puesto a 1, la tecla 7 pasa a la fase siguiente, la 6 a la anterior y BS acaba la partida (p00:5321, p00:5349); en la presentación, 4 y 5 cambian la página de VRAM que se ve (p00:4E41).

Medido en openMSX con una copia de la ROM con ese byte a 1.

Un trono sin colocar

95 tiles del banco 0x19 forman un hombre sentado en un trono. No hay tabla que los coloque ni rutina localizada que los pinte.

La colocación es la de la lámina de The Cutting Room Floor, cotejada tile a tile.

Un final sin pintar

El bárbaro mirando al horizonte, con los bloques 0x2A-0x57 de la tabla del título. La tabla se corta en 0x6000, al final del banco 0, y las dos últimas filas de tiles se quedan fuera de ella. Ninguna rutina localizada lo pinta, y sus bloques no se leen en el recorrido de las 257 pantallas.

La paleta no está en la ROM: es la de The Cutting Room Floor.

La ronda 6 no tiene jefe

Las rondas salen de la fase (p00:566C: fase / 3 + 1). A la 6 le tocan la 0x0F, la 0x10 y la 0x11, y la 0x11 es la que se salta: dos fases y ninguna sala de jefe. La 0x11 ocupa el sitio de esa sala y, como las cinco salas de jefe, es de una sola pantalla.

Leído en el código.

El último byte de cada 16 KB

Los tiles se copian a la VRAM de 16 KB en 16 KB con LDIRVM de 0x3FFF bytes (p01:6077): el último byte de cada trozo se queda a 0.

Cotejado contra la VRAM de openMSX.

Lo que el cartucho dibuja

Debajo de cada imagen está de dónde sale y qué se está viendo.

La pantalla de título, montada desde la ROM: coincide con la VRAM de openMSX byte a byte (coteja_titulo.py).
La pantalla de título, montada desde la ROM: coincide con la VRAM de openMSX byte a byte (coteja_titulo.py).
La ronda 1: el exterior, el castillo y la sala del jefe, con los enemigos donde salen (p00:58F9), el jefe donde lo pone su rutina (p04:8016) y Rastan en la pantalla de salida, recuadrada.
La ronda 1: el exterior, el castillo y la sala del jefe, con los enemigos donde salen (p00:58F9), el jefe donde lo pone su rutina (p04:8016) y Rastan en la pantalla de salida, recuadrada.
La ronda 7: cinco fases que repiten los cinco jefes, cada uno en una pantalla concreta (p04:8BF4).
La ronda 7: cinco fases que repiten los cinco jefes, cada uno en una pantalla concreta (p04:8BF4).
Rastan: las 48 combinaciones distintas de sus tres capas (p06:639F, p06:64B3 y el arma) en sus 92 poses, cotejadas ficha a ficha contra openMSX.
Rastan: las 48 combinaciones distintas de sus tres capas (p06:639F, p06:64B3 y el arma) en sus 92 poses, cotejadas ficha a ficha contra openMSX.
Los 37 tipos de actor, una pose por figura (p00:4C68), con la paleta de la primera fase en que salen.
Los 37 tipos de actor, una pose por figura (p00:4C68), con la paleta de la primera fase en que salen.
Los cinco jefes (p03:7F76, banco 8) y la muerte.
Los cinco jefes (p03:7F76, banco 8) y la muerte.
La fase 0x11, la del dragón, que el juego se salta.
La fase 0x11, la del dragón, que el juego se salta.
La cabeza del dragón: bloques 0x60-0x77 de la tabla de la fase 0x11, que su mapa no usa.
La cabeza del dragón: bloques 0x60-0x77 de la tabla de la fase 0x11, que su mapa no usa.
El trono: 95 tiles sin tabla, colocados como en la lámina de The Cutting Room Floor.
El trono: 95 tiles sin tabla, colocados como en la lámina de The Cutting Room Floor.
El final: el bárbaro mirando al horizonte.
El final: el bárbaro mirando al horizonte.
El texto del final (p04:8D01) con la fuente del cartucho.
El texto del final (p04:8D01) con la fuente del cartucho.