Aquí no hay ni una captura de pantalla. Las imágenes están dibujadas repitiendo lo que hace el cartucho: se sube a la memoria de vídeo lo mismo que sube él, con sus mismas direcciones, y se monta la pantalla con sus mismas listas. Lo demás —el listado y las cifras— sale del binario y se reproduce con make.
Los cinco años que pinta el marcador están en 0x4E7C, cuatro caracteres cada uno: 1910, 1940, 1970, 1984 y 2001. En el salón recreativo esa cuarta época es 1982, el año del original; esta conversión la cambió, aunque el propio cartucho firma ©KONAMI 1983.
Cuando el juego se queda solo, el joystick no sale de ningún generador de números. 0x546B coge el registro R —el del refresco de la memoria— y con él elige un byte del código a partir de 0x5399; ese byte se mete tal cual en 0xE009 como si viniera del mando.
O sea que la demo vuela leyendo el programa que la está moviendo.
El MSX solo puede enseñar cuatro sprites en una línea, así que Time Pilot deja los sprites para los aviones y dibuja los ocho disparos en la tabla de nombres. Cada ficha son cuatro bytes (0xE230): la casilla, la dirección y el carácter.
Antes de pintarse, cada disparo lee la casilla a la que va (0x557B): si lo que hay no es cielo, no se dibuja. Con eso ni se pisan entre ellos ni tapan el decorado.
El mando dice a cuál de las dieciséis direcciones se quiere ir (0x545B), y el avión va girando un paso cada vez hasta llegar, siempre por el lado corto (0x53CE). Cada dirección tiene sus 32 bytes de dibujo en 0x6F2B, y solo el que toca está en la memoria de vídeo: se sube en cuanto cambia.
0xE01F cuenta de 0 a 5 y una tabla de seis entradas (0x4118) dice qué toca: en uno los disparos, las nubes y el avión; en otro el fondo; en otro el bicho grande; y en los tres restantes, los enemigos. Repartir así es lo que le deja mover tantas cosas en un MSX1.
Los bytes de 0x798B en adelante se suben a dos juegos de caracteres distintos, uno para el menú y otro para la fuente. Como en SCREEN 2 el color va por carácter, tener el mismo dibujo con dos números es lo que permite el mismo alfabeto en dos colores, sin gastar el doble de cartucho. Con las cifras (0x79D3) pasa igual.
Para callar el canal 2 de golpe, 0x5C8F no toca el PSG: le apunta el puntero al 0xFF que cierra el programa de 0x7E40. El canal lee el final y se calla él solo, por el camino de siempre.
Cada época sube los patrones de sus enemigos, y el biplano, el caza y el reactor traen ocho rotaciones cada uno. El helicóptero de la época 3 trae 96 bytes: tres dibujos (0x75F2).
Y a esa época le tocan justo los comportamientos 5, 6 y 7, que son los tres únicos que no giran. Los comportamientos están repartidos según los dibujos que hay.
Medido en openMSX sobre una partida grabada: 50,11 % del cuadro, 10,09 ms de 20,1, con dos métodos independientes que dan lo mismo. Y el reparto en seis fases sale parejo, de 8,81 a 11,10 ms.
Con la demo en marcha, que dispara sin parar, sube al 71,32 %.
Otros cartuchos de la casa esconden al final de la ROM su número de catálogo y el título en katakana, un detalle que documentó Manuel Pazos. Aquí no hay nada: de 0x7F1E hasta el último byte solo hay 226 bytes de relleno, todos 0xFF.
Cada una de estas imágenes es el cartucho repetido fuera de él: los caracteres se suben como los sube la ROM, con sus colores, y la pantalla se monta con las mismas listas de rótulos. Debajo de cada pie está la dirección de donde sale.