Comic Bakery

Una panaderia de 92 columnas que cambia de maquinas de una fase a otra, una jornada de ocho minutos, y los mapaches que el listado llamaba carros, dibujados desde la ROM.

Konami - (c) Konami 1984 - Cartucho RC-714, 16 KB - MSX1 - pagina 1 - Volcado 089e6cd7...

Aqui no hay ninguna captura. Todas las imagenes estan dibujadas desde los bytes de la ROM: las pantallas y la panaderia con la cadena de montaje del cartucho escrita en Python, y el panadero y los mapaches con sus tablas de poses y pasos, cotejado contra openMSX a cero bytes. 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
535rutinas con nombre
46,9 %del listado comentado
8.097bytes de codigo
8.287bytes de datos
0bytes sin identificar

Lo que aparecio al desmontarlo

Los carros eran mapaches

El listado llamaba carros a lo que el panadero dispara y lo que le quita una vida. Dibujados desde la ROM son los mapaches: dos sprites en fila, el segundo dieciseis pixeles a la derecha, en gris, amarillo y rojo (0x51B2).

Dos panaderias

La panaderia es una sola, las 92 columnas de 0x7604, pero el montaje de la fase elige sus bloques graficos con (0xE051): maquinas verdes en las fases 1, 2, 4, 6... y azules en las 3, 5, 7... Cotejadas contra openMSX a 0 bytes.

Los sprites no los monta la pantalla

Los 64 patrones de sprite los carga 0x70D6: tres bloques comprimidos y, encima, sus reflejos -cada byte con los bits del reves y las dos mitades cambiadas-, para tener cada figura mirando a los dos lados sin guardarla dos veces.

La demostracion se juega con un guion

Mientras se esta en el menu, la lectura del mando no viene del mando: viene de 80 bytes grabados en 0x6001, que el cartucho va sirviendo como si alguien pulsara.

Una jornada de ocho minutos

El reloj de 0x4614 cuenta segundos en BCD hasta 60 y sube un minuto; al llegar al minuto ocho levanta la senal de fin de fase. Ninguno de sus dos hermanos de tanda lo tiene.

El visor que se quedo dentro

0x60B0 llena las 768 celdas con los indices 0, 1, 2... para ver todos los patrones de golpe y se queda en un jr $. Nadie la llama: es la herramienta de quien hizo el juego, olvidada en la ROM.

Lo que el cartucho dibuja

Debajo de cada imagen esta de donde sale y que se esta viendo.

El panadero en sus catorce poses: cuatro sprites cada una, desde las tablas de 0x7124 y 0x7096.
El panadero en sus catorce poses: cuatro sprites cada una, desde las tablas de 0x7124 y 0x7096.
Los tres mapaches, en sus tres pasos hacia cada lado (0x51D9).
Los tres mapaches, en sus tres pasos hacia cada lado (0x51D9).
La panaderia de las fases 1, 2, 4, 6...: las 92 columnas de 0x7604.
La panaderia de las fases 1, 2, 4, 6...: las 92 columnas de 0x7604.
La de las fases 3, 5, 7...: el mismo mapa con los otros bloques.
La de las fases 3, 5, 7...: el mismo mapa con los otros bloques.
La pantalla de la casa, montada desde la ROM y cotejada a 0 bytes.
La pantalla de la casa, montada desde la ROM y cotejada a 0 bytes.
La de titulo, montada igual y cotejada a 0 bytes.
La de titulo, montada igual y cotejada a 0 bytes.
Los 64 patrones de sprite, como los deja 0x70D6.
Los 64 patrones de sprite, como los deja 0x70D6.
Los patrones del primer tercio de la pantalla.
Los patrones del primer tercio de la pantalla.