antxiko/

Binarios viejos de 8 bits desmontados byte a byte y comentados, con las herramientas para volver a montarlos: no se afirma nada que el binario no enseñe, y el código fuente tiene que devolver el original, byte a byte. Ahora mismo son 64 juegos de MSX.

64 juegos1983-1989MSX8 cintas · 56 cartuchos

Los desensamblados

64 juegos de MSX, 8 de cinta de cassette y 56 de cartucho, desmontados byte a byte y comentados. 64 están terminados: cada byte explicado y el código fuente devolviendo el original byte a byte. Los que siguen en marcha lo dicen.

La serie en cifras

64juegos desmontados
64terminados al 100 %
64con web publicada
8cintas de cassette
56cartuchos
3compilaciones de Antarctic Adventure

Konami 48 cartuchos

Athletic Land 1984

Konami · MSX · cartucho de 16 KB · RC-700

El primer cartucho de Konami para MSX. El juego es una tabla de treinta y dos pantallas, no un mapa, y lo que te mata no es la altura a la que caes, sino la altura desde la que caíste. La liana son nueve dibujos, cada uno con tres bytes al final que dicen dónde está su punta.

16.384 bytes · 0 sin explicar · reensambla byte a byte · 7.448 de código, 8.936 de datos · 513 rutinas · comentado al 29,7 %

RepositorioWeb

Antarctic Adventure 1984

Konami · MSX · cartucho de 16 KB · RC-701

Aquí se desmontan tres compilaciones distintas del cartucho, cada una en su carpeta, y las tres reensamblan byte a byte. La demostración va grabada: 64 bytes con los bits del propio joystick, leídos uno cada 32 fotogramas. Y NEW ZEALAND está escrito dentro para una base a la que no se llega nunca.

16.384 bytes · 0 sin explicar · tres compilaciones, las tres byte a byte · listado principal: 5.947 de código, 10.437 de datos · comentado al 24,0 %

RepositorioWebcuál es cuál no está cerrado

Monkey Academy 1984

Konami · MSX · cartucho de 16 KB · RC-702

El cartucho de aritmética de Konami. Los cinco niveles son cinco guiones de tres a cinco bytes, la cifra que se tapa depende de la que se ve, y las frutas se las tiran unos a otros el mono y los cangrejos.

16.384 bytes · 0 sin explicar · reensambla byte a byte · 8.962 de código, 7.422 de datos · 498 rutinas · comentado al 25,9 %

RepositorioWeb

Time Pilot 1983

Konami · MSX · cartucho de 16 KB · RC-703

El avión no se mueve: gira, un paso cada vez entre dieciséis direcciones, y en la memoria de vídeo solo está el dibujo que toca. Los disparos y el bicho del final de época no son sprites, son caracteres de la pantalla que leen la casilla antes de escribirse en ella. Y la demo vuela leyendo el propio código del cartucho.

16.384 bytes · 0 sin explicar · reensambla byte a byte · 8.911 de código, 7.473 de datos · 593 rutinas · comentado al 23,4 % · medido en openMSX: la interrupción se come el 50,1 % del cuadro

RepositorioWeb

Frogger 1983

Konami · MSX · cartucho de 8 KB · RC-704

La mitad de grande que cualquier otro Konami de aquí, y lleva dentro el mismo reproductor de sonido que Time Pilot: 163 bytes con solo tres distintos. Los troncos y los coches no gastan un solo sprite —cuatro versiones pregeneradas de cada dibujo, de dos en dos píxeles— y la demo entera cabe en quince bytes.

8.192 bytes · 0 sin explicar · reensambla byte a byte · 4.880 de código, 3.312 de datos · 314 rutinas · comentado al 25,6 %

RepositorioWeb

Super Cobra 1983

Konami · MSX · cartucho de 8 KB · RC-705

El hilo principal no hace nada: engancha la interrupción y se queda en un jr $ para siempre, así que el juego entero corre dentro del gancho de vídeo. Comparte 400 bytes con Athletic Land y ni un byte seguido con Frogger, del mismo año y de los mismos 8 KB. Y las letras ni siquiera están en el cartucho: se copian de la ROM del BASIC.

8.192 bytes · 0 sin explicar · reensambla byte a byte · 5.783 de código, 2.409 de datos · 407 rutinas · comentado al 24,2 %

RepositorioWeb

Konami’s Billiards 1984

Konami · MSX · cartucho de 16 KB · RC-706

Una física de choques en los ocho kilobytes que ocupa el juego: trigonometría por pendiente, una raíz cuadrada de doce bytes que redondea, y rebotes a 45° resueltos intercambiando las dos componentes de la velocidad, sin una sola multiplicación. Solo hay siete bolas —la octava entrada es el punto al que se apunta— y el attract juega escribiendo el botón de tiro en las mismas variables donde caen las teclas del jugador.

16.384 bytes · 0 sin explicar · reensambla byte a byte · 5.343 de código, 11.041 de datos · 333 rutinas · comentado al 39,3 %

RepositorioWeb

Konami’s Mahjong Dojo 1984

Konami · MSX · cartucho de 32 KB · RC-707

El juego entero corre dentro de la interrupción —el reparto, el recuento, las pantallas— mientras el programa principal es un ei / jr $ que no recupera el control nunca. Y el ordenador no juega al mahjong: sus trece fichas están escritas en el cartucho a una de completarse, y la que suelta la sortea del muro y luego la filtra para que parezca un descarte humano. Hasta el hueco vacío de su mano boca abajo es teatro.

32.768 bytes · 0 sin explicar · reensambla byte a byte · 15.432 de código, 17.336 de datos · 1.001 rutinas · comentado al 30,7 %

RepositorioWeb

Hyper Olympic 1 1984

Konami · MSX · cartucho de 16 KB · RC-710

Aquí casi nada está dibujado: las pantallas son guiones que se interpretan, y las letras grandes se fabrican estirando las pequeñas. Los 400 metros no existen en el arcade —son el rótulo de los 100 con un glifo cambiado—. Y el cronómetro está calculado para 60 Hz, así que en Europa un «12,00» son 14,4 segundos de verdad.

16.384 bytes · 0 sin explicar · reensambla byte a byte · 9.335 de código, 7.049 de datos · 569 rutinas · comentado al 33,4 %

RepositorioWeb

Hyper Olympic 2 1984

Konami · MSX · cartucho de 16 KB · RC-711

Cuatro pruebas nuevas sobre el programa del cartucho anterior: el 83,4 % de sus instrucciones están aquí, y el motor que allí hacía girar el martillo es el que aquí levanta al saltador de altura. Lo propio de éste cabe en 1.519 bytes —y en el rótulo de la primera prueba, que dice 110 HURDLERS, con la errata escrita en la ROM.

16.384 bytes · 0 sin explicar · reensambla byte a byte · 9.872 de código, 6.512 de datos · 647 rutinas · comentado al 29,9 %

RepositorioWeb

Circus Charlie 1984

Konami · MSX · cartucho de 16 KB · RC-712

El juego entero vive en la interrupción: INIT engancha H.KEYI y se queda para siempre en un jr $. Cinco números de circo repartidos por un solo byte, y la pista dibujada desde las tablas del cartucho, cuadro a cuadro, sin un byte distinto del emulador.

16.384 bytes · 0 sin explicar · reensambla byte a byte · 7.894 de código, 8.490 de datos · 576 rutinas · comentado al 47,1 %

RepositorioWebLos cinco números dibujados desde las tablas del cartucho, con Charlie y los obstáculos: 0 bytes distintos de openMSX.

Magical Tree 1984

Konami · MSX · cartucho de 16 KB · RC-713

El nivel vive en la VRAM: el guion de cada fase sube a 0x3B80, detrás de los atributos de los sprites, y la pantalla hace de mapa. Nueve fases dibujadas desde las tablas del cartucho sin una celda distinta del emulador.

16.384 bytes · 0 sin explicar · reensambla byte a byte · 8.537 de código, 7.847 de datos · 628 rutinas · comentado al 47,4 %

RepositorioWebLas nueve fases del árbol, enteras, dibujadas desde el guion de cada fase: 0 celdas distintas de openMSX en 156 volcados.

Comic Bakery 1984

Konami · MSX · cartucho de 16 KB · RC-714

Una panadería de 92 columnas que cambia de máquinas de una fase a otra, una jornada de ocho minutos, y los mapaches que el listado llamaba carros, dibujados desde la ROM sin un byte distinto del emulador.

16.384 bytes · 0 sin explicar · reensambla byte a byte · 8.097 de código, 8.287 de datos · 535 rutinas · comentado al 46,9 %

RepositorioWebEl panadero en sus catorce poses, los tres mapaches y la panadería de cada fase, dibujados desde la ROM: 0 bytes distintos de openMSX en 16 volcados.

Hyper Sports 1 1984

Konami · MSX · cartucho de 16 KB · RC-715

Sus cuatro pruebas están escritas en la ROM como texto llano — DIVING, TRAMPOLINE, LONG HORSE, HORIZONTAL BAR — y dos jugadores se turnan intercambiando el bloque entero de estado. A diferencia de sus hermanos Hyper Olympic, no lleva marca oculta de Konami.

16.384 bytes · 0 sin explicar · reensambla byte a byte · 5.953 de código, 10.431 de datos · 386 rutinas · comentado al 25,1 %

RepositorioWeb

Cabbage Patch Kids 1984

Konami · MSX · cartucho de 16 KB · RC-716

Antes de jugar te hace dos preguntas: qué muñeco quieres y cómo se llama —diez letras que de fábrica dicen ANNA LEE, escritas junto a las tres vidas—. Es otro cartucho de Konami recompilado, y todavía arrastra 439 bytes de decorado suyo que aquí no lee nadie.

16.384 bytes · 0 sin explicar · reensambla byte a byte · 7.981 de código, 8.403 de datos · 562 rutinas · comentado al 24,5 %

RepositorioWeb

Hyper Sports 2 1984

Konami · MSX · cartucho de 16 KB · RC-717

Tiro al plato, tiro con arco y halterofilia. El arco acierta con Pitágoras y sin raíz cuadrada, contra radios de anillo ya elevados al cuadrado; los platos no salen al azar, sino leídos bit a bit de dos tablas; y un levantamiento solo vale cuando se encienden las tres luces del jurado, una cada 0x20 cuadros.

16.384 bytes · 0 sin explicar · reensambla byte a byte · 6.956 de código, 9.428 de datos · 500 rutinas · comentado al 22,7 %

RepositorioWeb

Hyper Rally 1985

Konami · MSX · cartucho de 16 KB · RC-718

La carretera es pseudo-3D sin 3D: cada franja se saca de una tabla de formas indexada por la curva que viene. Y escondida al final de la ROM, en katakana, está la marca de la casa de Konami — RC-718 —, la firma que encontró Manuel Pazos.

16.384 bytes · 0 sin explicar · reensambla byte a byte · 6.446 de código, 9.938 de datos · 428 rutinas · comentado al 22,8 %

RepositorioWeb

Konami's Tennis 1984

Konami · MSX · cartucho de 16 KB · RC-720

Los tres tercios de la pantalla pintados con un solo bucle que se lee a sí mismo, la tabla de colores debajo de la de patrones, y cada tenista montado con cinco sprites apilados. El juez de silla tiene tres caras para seguir la pelota con los ojos.

16.384 bytes · 0 sin explicar · reensambla byte a byte · 7.882 de código, 8.502 de datos · 492 rutinas · comentado al 32,4 %

RepositorioWeb

Sky Jaguar 1984

Konami · MSX · cartucho de 16 KB · RC-721

No hay niveles: una sola fase de 1.920 filas que se repite. Y el desplazamiento fino no se calcula, está guardado — cada tira del paisaje se guarda en ocho versiones, la misma empezada de cero a siete filas más abajo. Al enemigo gigante tampoco le dibujan sprites el cuerpo: se lo pinta el fondo.

16.384 bytes · 0 sin explicar · reensambla byte a byte · 7.086 de código, 9.298 de datos · 461 rutinas · comentado al 32,1 %

RepositorioWeb

Konami's Golf 1985

Konami · MSX · cartucho de 16 KB · RC-723

Nueve hoyos en 16 KB, y cada uno guardado una sola vez: los mismos bytes se leen como guion de VRAM para pintar el plano y como datos para armar la rejilla que sabe dónde está la calle y dónde el búnker. El viento se sortea con el registro de refresco de la memoria, y la altura de la bola no se guarda en ninguna parte — es la distancia entre sus dos sprites.

16.384 bytes · 0 sin explicar · reensambla byte a byte · 8.665 de código, 7.719 de datos · 558 rutinas · comentado al 35,4 %

RepositorioWeb

Konami's Baseball 1984

Konami · MSX · cartucho de 16 KB · RC-724

La dirección del guion escrita detrás del propio CALL, los doce equipos de la liga japonesa de 1984 escondidos en doce letras, y una máquina que juega escribiendo en el hueco del mando. La demostración del menú se juega sola, y es muda a propósito.

16.384 bytes · 0 sin explicar · reensambla byte a byte · 9.618 de código, 6.766 de datos · 629 rutinas · comentado al 44,5 %

RepositorioWeb

Yie Ar Kung-Fu 1985

Konami · MSX · cartucho de 16 KB · RC-725

Las dos compilaciones del cartucho cotejadas instrucción a instrucción: difieren en el 95 % de los bytes y coinciden en el 97 % de las instrucciones. Lo que cambia de verdad es una máscara que la difícil hace depender del nivel —y que solo esa lleva la marca oculta de Konami.

16.384 bytes · 0 sin explicar · reensambla byte a byte · 7.494 de código, 8.890 de datos · 568 rutinas · comentado al 44,0 %

RepositorioWeb

King's Valley 1985

Konami · MSX · cartucho de 16 KB · RC-727

La tabla de colores debajo de la de patrones, la posición del explorador en veinticuatro bits, y ochenta y siete bytes de código escondidos detrás de un push. El parpadeo de los sprites está repartido a propósito, y la piedra cambia de color cada cuatro salas.

16.384 bytes · 0 sin explicar · reensambla byte a byte · 9.803 de código, 6.581 de datos · 651 rutinas · comentado al 45,5 %

RepositorioWeb

Mopi Ranger 1985

Konami · MSX · cartucho de 16 KB · RC-728

El premio secreto de la casa —5730 puntos, que en japonés se leen go-na-mi—, una demostración que no es inteligencia sino una partida grabada de 77 pulsaciones, y un juego que no guarda mapa de colisiones: lee la pantalla para saber por dónde se puede pasar.

16.384 bytes · 0 sin explicar · reensambla byte a byte · 7.789 de código, 8.595 de datos · 512 rutinas · comentado al 53,0 %

RepositorioWeb

Pippols 1985

Konami · MSX · cartucho de 16 KB · RC-729

Se desplaza de pixel en pixel en un modo de vídeo que no tiene registro de desplazamiento: el fondo está ocho veces en la memoria de vídeo, cada copia bajada un pixel más, y la pantalla entera se reescribe cada fotograma. Eso cuesta tres cuartas partes del tiempo de la máquina, medido en el emulador, y el camino de todas las fases cabe en 328 bytes.

16.384 bytes · 0 sin explicar · reensambla byte a byte · 9.099 de código, 7.285 de datos · 675 rutinas · comentado al 23,1 %

RepositorioWeb

Road Fighter 1985

Konami · MSX · cartucho de 16 KB · RC-730

Un juego que no guarda por dónde va la carretera —la lee de la pantalla—, una rutina escondida dentro de su propia tabla de punteros, y dos compilaciones que se diferencian en un solo byte.

16.384 bytes · 0 sin explicar · reensambla byte a byte · 7.797 de código, 8.587 de datos · 482 rutinas · comentado al 55,1 %

RepositorioWeb

Konami's Ping Pong 1985

Konami · MSX · cartucho de 16 KB · RC-731

Una mesa cuya mitad derecha no está guardada —se dibuja reflejando la izquierda byte a byte—, cuarenta fotogramas que llevan pegado detrás el puntero a sus propios patrones, y el reglamento del tenis de mesa entero escrito en BCD.

16.384 bytes · 0 sin explicar · reensambla byte a byte · 7.676 de código, 8.708 de datos · 548 rutinas · comentado al 64,3 %

RepositorioWebEl listado más denso de la serie.

Konami’s Soccer 1985

Konami · MSX · cartucho de 32 KB · RC-732

Un fútbol de 1985 que pita el fuera de juego —y sólo del nivel 3 en adelante contra la máquina—, doce jugadores que no son sprites sino parches de 3x3 casillas sobre un campo de ochenta columnas guardado en la RAM, y una puntería que no se calcula: se consulta en dos tablas.

32.768 bytes · 0 sin explicar · reensambla byte a byte · 20.116 de código, 12.652 de datos · 1.213 rutinas · comentado al 36,5 %

RepositorioWebEl mismo cartucho salió también como Konami’s Football: cambia una instrucción de 9.755.

Hyper Sports 3 1985

Konami · MSX · cartucho de 32 KB · RC-733

Cuatro pruebas y cuatro maneras distintas de mover la pantalla: un circuito que no está en la VRAM sino en dos ventanas de la RAM, una pista guardada dos veces para moverse medio tile cada vez, medio campo de hielo espejado a mano y un ciclista que no es un sprite sino cuatro casillas con ocho copias corridas un píxel. Y una demostración que no la juega nadie: está grabada.

32.768 bytes · 0 sin explicar · reensambla byte a byte · 14.410 de código, 18.358 de datos · 931 rutinas · comentado al 34,5 %

RepositorioWebLos récords del mundo viven en la RAM, porque el juego los sobrescribe.

The Goonies 1986

Konami · MSX · cartucho de 32 KB · RC-734

Cien salas y ninguna se repite, en 32 KB, y ni una está dibujada: cada sala son ochenta bytes que apuntan a bloques de 8x4 casillas, y esos bloques comparten cola y se piden espejados. Y el nombre de cada ronda es a la vez su contraseña: los mismos bytes que pintan el rótulo son los que se teclean para llegar allí.

32.768 bytes · 0 sin explicar · reensambla byte a byte · 17.422 de código, 15.346 de datos · 1.176 rutinas · comentado al 36,9 %

RepositorioWebLas cien salas dibujadas desde la ROM, y 64.000 casillas en 2.983 bytes.

Konami’s Game Master 1986

Konami · MSX · cartucho de 16 KB · RC-735

No es un juego: es el cartucho de trucos. Se enchufa junto a otro, averigua qué juego es sumando 256 bytes de su ROM, y le parchea el arranque en la RAM para quedarse con su interrupción. Su aviso de truco activo es el LED de CAPS.

16.384 bytes · 0 sin explicar · reensambla byte a byte · 10.522 de código, 5.862 de datos · 663 rutinas · comentado al 22,1 %

RepositorioWebEl único cartucho comercial de MSX cuyo trabajo entero consiste en leer y modificar otro cartucho. Reconoce 28 juegos.

Konami's Boxing 1985

Konami · MSX · cartucho de 32 KB · RC-736

Seis rivales de tres archivos de figuras, y aun así seis caras. Los nombres son seis en la tabla de 0x5661 y las figuras salen de una tabla de tres palabras, pero cada figura de rival esconde una pieza de más que solo pinta la segunda vuelta: el pelo largo de SANCHESS, la coleta de CHINA KHAN, la cara de MOAI Jr. —y solo el moai cambia de color. Y la puntuación se lleva al revés —va sumando faltas y al final hace 10 - faltas, que es el sistema de los diez puntos del boxeo de verdad.

32.768 bytes · 0 sin explicar · reensambla byte a byte · 6.932 de código, 25.836 de datos · 475 rutinas · comentado al 52,6 %

RepositorioWeb

Yie Ar Kung-Fu II 1985

Konami · MSX · cartucho de 32 KB · RC-737

Busca a su primera parte en la ranura de al lado. Antes de instalar el gancho de interrupción rastrea las cuatro ranuras y toma dos sumas de 16 bytes, y distingue las dos compilaciones del Yie Ar Kung-Fu (RC-725). Dentro, media pantalla: el decorado se dibuja solo por la izquierda y la derecha son los mismos patrones con los ocho bits del revés.

32.768 bytes · 0 sin explicar · reensambla byte a byte · 13.725 de código, 19.043 de datos · 1.027 rutinas · comentado al 40,9 %

RepositorioWeb

Knightmare 1986

Konami · MSX · cartucho de 32 KB · RC-739

Konami dejó dos erratas en sus tablas de coseno. Un cuadrante de coseno solo puede bajar; estos dos suben una vez cada uno, y el valor que sube es justo el único que se aparta de la función. Dentro hay además un truco que pide izquierda y derecha a la vez —imposible en un joystick— y regala veintiséis vidas.

32.768 bytes · 0 sin explicar · reensambla byte a byte · 15.233 de código, 17.535 de datos · 985 rutinas · comentado al 22,4 %

RepositorioWeb

Twin Bee 1986

Konami · MSX · cartucho de 32 KB · RC-740

En la ROM solo está media nave. De cada patrón de sprite se guarda la mitad izquierda; la derecha la calcula el cartucho invirtiendo cada byte bit a bit, y por eso todo lo que vuela en este juego es simétrico. Y la demostración es una partida grabada: veintiocho lecturas de mando metidas por la puerta del jugador, con el registro R del Z80 puesto a cero para que el azar salga siempre igual.

32.768 bytes · 0 sin explicar · reensambla byte a byte · 14.406 de código, 18.362 de datos · 1.000 rutinas · comentado al 41,4 %

RepositorioWeb

Konami's Synthesizer 1986

Konami · MSX · cartucho de 32 KB con DAC · RC-741

No es un juego: un sintetizador que calcula cada nota muestra a muestra en el Z80 y la toca por un DAC de 8 bits. Las siete pantallas, los dieciséis TONE EDIT y las catorce ondas, dibujados desde la ROM y cotejados contra openMSX a cero; el motor escrito de nuevo da los dieciséis timbres byte a byte, y lo que llega al DAC también está cotejado. Y la altura de la nota, que es un bucle de ciclos con trece rellenos, el ruido que sale de la BIOS y la cinta de siete SAMP que venía con el cartucho.

32.768 bytes · 0 sin explicar · reensambla byte a byte · 16.229 de código, 16.539 de datos · 1.187 rutinas · comentado al 43,6 %, ninguna por debajo del 10 %

RepositorioWeb

Nemesis / Gradius 1986

Konami · MSX · MegaROM de 128 KB · RC-742

Doce fases de Gradius en un MegaROM de 128 KB, y el terreno no está en la memoria de vídeo: son 22 filas de 32 casillas en la RAM, que se corren una columna a la izquierda a mano en cada paso de scroll con 22 ldir. Eso es lo que permite que los doce mapas de la web estén dibujados desde la ROM y comprobados contra el cartucho corriendo. En los 128 KB no hay ni un generador de azar: las estrellas, la lluvia de piedras y el parpadeo a destiempo salen todos del registro R del Z80.

131.072 bytes · 0 sin explicar · reensambla byte a byte · 25.471 de código, 105.601 de datos · 1.540 rutinas · comentado al 23,4 % · 12 mapas

RepositorioWeb

Penguin Adventure 1986

Konami · MSX · cartucho de 128 KB · RC-743

Dos claves de teclado escondidas: NORIKO y KAZUMI. Encienden un CONTINUE que sin ellas no existe, y la prueba está en el propio vigilante: las nueve teclas que mira son exactamente las letras que hacen falta para escribir esos dos nombres y ninguna más. Y la máquina de apostar es una tragaperras de verdad — la cereza ocupa cinco de las dieciséis casillas y es el único símbolo que paga suelto. Y el final bueno o el malo —la princesa viva o muerta— no depende de cómo juegues: depende de cuántas veces pauses, hallazgo de Manuel Pazos que aquí se localiza en el binario.

131.072 bytes · 0 sin explicar · reensambla byte a byte · 32.317 de código, 98.755 de datos · 1.526 rutinas · comentado al 44,7 %

RepositorioWeb

Vampire Killer 1986

Konami · MSX2 · cartucho de 128 KB · RC-744

El primer MSX2 de la serie: el castillo de Drácula entero, dibujado desde la ROM. Las 156 habitaciones con lo que esconde cada una, Simon, los enemigos y los seis jefes, cotejados contra openMSX a cero bytes. Hay 33 vendedores escondidos que no siempre venden: lo que pasa depende de cuántas veces se les pega. Y Drácula es medio sprite y medio dibujo: el cuerpo lo copia el VDP.

131.072 bytes · 0 sin explicar · reensambla byte a byte · 29.786 de código, 101.286 de datos · 1.909 rutinas · comentado al 49,4 %

RepositorioWeb

King Kong 2: Yomigaeru Densetsu 1986

Konami · MSX2 · cartucho de 128 KB · RC-745

Una isla de 140 pantallas, dibujada desde la ROM, con lo que esconde cada una: 15 pasadizos, 37 cosas de decorado que se quitan, los objetos y quién habla. Mitchel, los 55 enemigos con nombre y cinco jefes que no son sprites, pintados por el VDP y cotejados contra openMSX a cero bytes. Tres finales que dependen de los días y de las veces que continúas, y un hacha que solo sirve contra un enemigo.

131.072 bytes · 0 sin explicar · reensambla byte a byte · 37.983 de código, 93.089 de datos · 2.414 rutinas · comentado al 40,1 %

RepositorioWeb

Q*bert 1986

Konami · MSX · cartucho de 32 KB · RC-746

Los cubos ruedan como dados: cada uno es uno de los 24 giros de un cubo, y la fase se acaba con cinco acabados en línea, no pintando la pirámide. Las 50 fases, la bonificación y el duelo dibujados desde la ROM y cotejados contra openMSX a cero bytes. Un duelo de dos que se desempata a piedra, papel o tijera, una vida escondida y un moái.

32.768 bytes · 0 sin explicar · reensambla byte a byte · 11.743 de código, 21.025 de datos · 788 rutinas · comentado al 78,1 %

RepositorioWeb

Hinotori 1987

Konami · MSX2 · cartucho de 128 KB · RC-747

Con King Kong 2 al lado, arranca King Kong 2 y le graba la partida en cinta con F4. Diecisiete contraseñas de truco, una con el apodo de un diseñador de los créditos y otra en minúsculas que no se puede escribir nunca. Las seis fases, sus salas y las 18 puertas que las unen dibujadas desde la ROM y cotejadas contra openMSX.

131.072 bytes · 0 sin explicar · reensambla byte a byte · 32.229 de código, 98.843 de datos · 1.944 rutinas · comentado al 40,4 %

RepositorioWeb

Ganbare Goemon! Karakuri Dōchū 1987

Konami · MSX2 · cartucho de 128 KB · RC-748

Siete fases de siete zonas, 124 pantallas, dibujadas desde la ROM calle a calle. Los 21 interiores con sus precios, Goemon, Ebisumaru y 30 tipos de enemigo, y los 42 pasadizos secretos que se recorren en primera persona, todo cotejado contra openMSX a cero. Y cuatro claves en la contraseña, dos palabras para teclear en la pausa, un menú de fases con Q*bert o el Game Master al lado, y la marca oculta de Konami escrita en el hiragana del propio juego.

131.072 bytes · 0 sin explicar · reensambla byte a byte · 28.724 de código, 102.348 de datos · 1.678 rutinas · comentado al 42,5 %, ninguna por debajo del 10 %

RepositorioWeb

The Maze of Galious 1987

Konami · MSX · cartucho de 128 KB · RC-749

El castillo y diez mundos, las 321 salas, dibujadas desde la ROM y colocadas por sus vecinas. Popolon y Afrodita, los juegos de sprites, los diez jefes (mosaicos de caracteres, no sprites), los 47 objetos y las tiendas, todo cotejado contra openMSX a cero. Y las salas negras que resultan ser pistas y tiendas, ZEUS en la pausa para continuar, el personaje sentado en una taza con F2 y lo que da Q*bert al lado.

131.072 bytes · 0 sin explicar · reensambla byte a byte · 53.613 de código, 77.459 de datos · 3.423 rutinas · comentado al 40,1 %, ninguna por debajo del 10 %

RepositorioWeb

Metal Gear 1987

Konami · MSX2 · cartucho de 128 KB · RC-750

Outer Heaven entero desde sus tablas: 235 salas en 9 zonas, unidas por sus ascensores, 154 puertas, 64 tipos de actor, Metal Gear y el Hind D, dibujados desde la ROM. Las salas casan punto por punto con las imágenes de referencia de Manuel Pazos (gracias, Manuel); el cotejo contra openMSX está pendiente. Y cinco claves en la pausa, la cinta con F5, lo que hace cada objeto y Metal Gear, que solo cae con dieciséis bombas en orden.

131.072 bytes · 0 sin explicar · reensambla byte a byte · 35.620 de código, 95.452 de datos · 2.190 rutinas · comentado al 46,8 %, ninguna por debajo del 10 %

RepositorioWeb

Nemesis 2 1987

Konami · MSX · cartucho de 128 KB con SCC · RC-751

Las doce fases montadas desde sus mapas, los cinco jefes desde sus fichas, los 65 tipos de enemigo, la nave con sus armas y las siete que se capturan, todo dibujado desde la ROM. Y lo que cambia según el cartucho del otro slot: tres palabras en la pausa con Q*bert al lado, el equipo guardado con The Maze of Galious, la nave hecha pingüino con Penguin Adventure. Además, tres fases secretas y la vuelta por los planetas.

131.072 bytes · 0 sin explicar · reensambla byte a byte · 41.242 de código, 89.830 de datos · 2.630 rutinas · comentado al 43,4 %, ninguna por debajo del 10 %

RepositorioWeb

F-1 Spirit — The Way to Formula 1 1987

Konami · MSX · MegaROM de 128 KB · RC-752

El primer MegaROM de la serie, con mapper Konami SCC y chip de sonido SCC: dieciséis páginas de 8 KB que el juego va metiendo y sacando, así que aquí no hay un listado sino dieciséis. La profundidad de la carretera no es perspectiva: en SCREEN 2 hay tres bancos de patrones, uno por tercio de pantalla, y el cartucho carga dibujos distintos bajo el mismo índice arriba y abajo. Y sus 21 circuitos son listas de piezas que se pueden reescribir: hay un editor para hacerlo, y funciona en el navegador.

131.072 bytes · 100 % explicado · reensambla byte a byte · 31.591 de código, 99.481 de datos · 1.953 rutinas · comentado al 24,2 % · 21 circuitos

RepositorioWeb

The Treasure of Usas 1987

Konami · MSX2 · cartucho de 128 KB · RC-753

Las cinco ruinas desde sus tablas: las 20 fases con lo que hay en cada pantalla, las antesalas, el mapa de fuera, los jefes de fase, los enemigos, y Wit y Cles con sus cuatro estados de ánimo, todo dibujado desde la ROM. Y lo que cambia cada estado: el doble salto, andar sobre el vacío, otro disparo u otro golpe. Además, lo que dan cuatro cartuchos de Konami en el otro slot y los textos en japonés y en inglés.

131.072 bytes · 0 sin explicar · reensambla byte a byte · 41.458 de código, 89.614 de datos · 2.536 rutinas · comentado al 40,1 %, ninguna por debajo del 10 %

RepositorioWeb

Exclusivos de MSX 11 juegos

3D Golf Simulation 1983

T&E Soft · MSX · cartucho de 16 KB

Un cartucho sin una sola instrucción Z80: dentro hay un programa MSX-BASIC de 246 líneas que el intérprete ejecuta directamente desde la ROM, y el truco del arranque es que el cartucho lleva pegada la tabla de variables de una partida de verdad. Los nueve hoyos caben en 4.000 bytes de coordenadas, y el juego no tiene mapa de terreno: le pregunta a la pantalla de qué color está pintado el suelo bajo la bola.

16.384 bytes · 0 sin identificar · retokeniza byte a byte · 9.041 de programa BASIC, 4.000 de campo · 246 líneas · 100 % comentadas

RepositorioWeblos nueve hoyos de su web están dibujados desde la ROM ejecutando en Python las propias subrutinas de dibujo del programa

Bomber Man 1983

Hudson Soft · MSX · cartucho de 8 KB

El cartucho más pequeño de esta serie, y el juego entero cabe dentro sin un solo sprite: el bombero, los bichos, las bombas y las llamas son casillas de la tabla de nombres. Tampoco hay una estructura de datos del mapa —el juego lee el número de casilla, y tres comparaciones sostienen todo lo demás—. Su cabecera de cartucho es código: INIT apunta a 0x4004, donde deberían estar STATEMENT, DEVICE y TEXT.

8.192 bytes · 0 sin explicar · reensambla byte a byte · 3.557 de código, 4.635 de datos · 200 rutinas, ninguna por debajo del 10 % · comentado al 50,2 %

RepositorioWebcada cuatro fases el juego pone las bombas solo —y esconde otro premio debajo de los ladrillos, elegido con la misma máscara—

Hole in One 1984

HAL Laboratory · MSX · cartucho de 16 KB

Un campo de dieciocho hoyos, par 72 y 6.430 metros, en 16 KB: un hoyo cabe en trescientos bytes porque su cabecera es su paleta —la tabla empieza tres bytes antes para que el nibble del propio opcode caiga encima—. El cartucho monta tres tablas de trigonometria en RAM al arrancar, y el rotulo se carga llamando a mitad de una instruccion, donde el operando se ejecuta como xor a.

16.384 bytes · 0 sin explicar · reensambla byte a byte · 6.065 de codigo, 10.319 de datos · 358 rutinas · comentado al 42,0 %, ninguna por debajo del 10 %

RepositorioWeb

Dunk Shot 1986

HAL Laboratory · MSX · cartucho de 32 KB

Baloncesto de tres contra tres en una pista de 56 columnas vista por una ventana de 32, sin scroll por hardware. Cada jugador son cuatro sprites (pelo, piel, camiseta, piel) y el parpadeo está programado: siete grupos ordenados por profundidad, del derecho y del revés en cuadros alternos. Los equipos de la máquina se fabrican por nivel, los equipos se graban en cinta como un BSAVE, y la pista entera, las 160 poses y seis pantallas están dibujadas desde la ROM y cotejadas contra openMSX a cero bytes.

32.768 bytes · 0 sin explicar · reensambla byte a byte · 20.642 de código, 12.126 de datos · 1.289 rutinas · comentado al 43,2 %, ninguna por debajo del 10 %

RepositorioWeb

Hole in One Professional 1986

HAL Laboratory · MSX · cartucho de 32 KB

Dos campos de dieciocho hoyos, treinta y cinco profesionales reales y un editor de campos completo, en 32 KB. El rival no calcula el golpe: lo ensaya con la fisica de verdad y lo repite hasta que le sale. El terreno se decide por el pixel, leido de la propia VRAM. Y lo que graba el editor es el fichero del cartucho de 1984, byte a byte.

32.768 bytes · 0 sin explicar · reensambla byte a byte · 14.186 de codigo, 18.582 de datos · 903 rutinas · comentado al 44,4 %, ninguna por debajo del 10 %

RepositorioWeb

Casio World Open 1985

Casio · MSX · cartucho de 32 KB

Dieciocho hoyos guardados como diez trazados: ocho se usan dos veces, uno de ellos espejado, y la marca es el bit 7 del mismo byte cuyo nibble bajo es el par. Lo que parecen sprites no lo son —del VDP solo hay diez, y cinco son la bola a cinco tamanos—: todo lo demas son indices de tile, descomprimidos, separados y luego sumados en cadena a 16 bits.

32.768 bytes · 0 sin explicar · reensambla byte a byte · 8.185 de codigo, 24.583 de datos · 435 rutinas · comentado al 37,0 %, ninguna por debajo del 10 %

RepositorioWebsu pantalla de titulo sale sin el texto, y no es un fallo: el texto lo pone la fuente de la propia maquina

Demonia 1986

Microids · MSX · cinta de 58.334 bytes

No cabe en la RAM que ve un MSX arrancado desde BASIC, así que esconde veintiséis kilobytes debajo de la ROM del BASIC. Y dentro viaja, de polizón, un monitor de código máquina de 1984 del mismo autor: con su puerta trasera todavía enchufada al CTRL+STOP, sus órdenes tapadas por las fichas de pantalla del juego, y en el búfer del paso a paso la última instrucción que ejecutó antes de que alguien grabara la cinta.

58.334 bytes · 0 sin explicar · reensambla byte a byte · 20.299 de código, 37.597 de datos · 1.308 rutinas · comentado al 33,0 %, ninguna rutina por debajo del 10 %

RepositorioWebLas 26 pantallas de su web no son capturas: están dibujadas desde los propios bytes de la cinta.

Colt 36 1987

Topo Soft · MSX · cinta de cassette

El juego resultó estar escrito en BASIC: un programa MSX-BASIC tokenizado de 63 líneas, con 45 bytes de Z80 al final para arrancar el intérprete, y un motor de scroll de diecisiete bytes. De los 34.239 bytes de la cinta hay 1.566 cuyo contenido nadie ha identificado, publicados como un cartel de SE BUSCA con todas las medidas al lado.

34.239 bytes · 100 % explicado · reensamblado y retokenizado byte a byte · solo 997 bytes de código máquina, comentado al 37,7 % · 1.566 bytes sin identificar

RepositorioWeb

Temptations 1988

Topo Soft · MSX · cinta de cassette

El castigo por hacer trampas no salta nunca, y no porque lo quisieran así: se olvidaron de inicializar la bandera que lo dispara, la única variable del juego que se lee y nunca se escribe. Y el único truco publicado del juego, de un libro de 1988, tiene una errata —B4CC por 84CC— comprobada en el emulador.

40.449 bytes · 100 % explicado · reensambla byte a byte · 553 rutinas, 73 bloques de datos · comentado al 35,8 % · 29 pantallas dibujadas desde el binario

RepositorioWeb

Ale Hop! 1988

Topo Soft · MSX · cinta de cassette

El juego carga encima de la ROM: los 42.645 bytes van a la página 0, donde vive la BIOS del MSX, y los 35 KB de gráficos y mapas se quedan escondidos debajo, al descubierto solo un instante cada vez que carga un nivel. Esa decisión es la razón de que este desensamblado sean varios listados y no uno. 135 bytes no se ejecutan nunca.

42.645 bytes en el bloque del juego · 0 sin explicar · los módulos reensamblan byte a byte y la cinta regenerada tiene el mismo sha256 · 4.588 de código, 38.057 de datos · comentado al 32,7 %

RepositorioWeb

El Descubrimiento de América 1987

Gema / OMK Software · MSX · cinta de 66.371 bytes

La cinta no trae un programa sino dos, y los dos viven en las mismas direcciones —por eso son cinco listados y no uno—. La BIOS no los lee: los saca de la cinta a mano un cargador de 88 instrucciones que sobrevive a las dos mitades, y los dos bytes de 0xD300 no son código sino un puntero de vuelta a él. La segunda parte transcurre dentro de un plano de la carabela de 128×52 baldosas, con la carga que compraste dibujada estibada en la bodega.

66.016 bytes · 0 sin explicar · cinco listados, la cinta entera byte a byte · 15.504 de código, 50.512 de datos · 733 rutinas · comentado al 26,7 %, ninguna rutina por debajo del 10 %

RepositorioWeb7.564 bytes de esta cinta no los lee nadie: los bloques son de tamaño fijo, así que detrás del programa se grabó lo que hubiera en memoria.

Conversiones 5 juegos

Pitfall! 1984

Activision · MSX · cartucho de 16 KB

Dentro no hay ni un mapa guardado: las 255 pantallas de la selva salen de un registro de desplazamiento de ocho bits, y los 32 tesoros son exactamente las 32 escenas de un tipo. La liana se dibuja fotograma a fotograma en un bitmap en RAM: la cuerda que se ve es aritmética, no un gráfico.

16.384 bytes · 0 sin explicar · reensambla byte a byte · 9.467 de código, 6.917 de datos · 337 rutinas · comentado al 24,5 %

RepositorioWeb

Trailblazer 1986

Gremlin Graphics · MSX · cinta de cassette

Una pista en perspectiva que no está dibujada en ninguna parte: la rutina que la pinta se reescribe a sí misma cada fila con los píxeles que le tocan, y lo que hay guardado son catorce listas de índices a una tabla de filas. Cinco bandas repintadas a cinco ritmos distintos hacen la profundidad —sin división, sin tabla y sin una sola multiplicación—.

38.299 bytes · 0 sin explicar · la cinta reensambla byte a byte · 6.556 de código, 31.743 de datos · 355 rutinas · comentado al 30,8 %

RepositorioWebEl cargador no lee la cinta: monta un puente en la pila y se lo reescribe tres veces.

Stardust 1987

Topo Soft · MSX · cinta de cassette

Una conversión del ZX Spectrum que se trajo el sistema de cinta del Spectrum, no solo los gráficos: bloques del Spectrum en vez de los del MSX, un cargador que reimplementa LD-BYTES con el mismo interfaz de registros, y RAM mapeada en las páginas 1 y 2 para tener los 48K planos que el Spectrum da de serie. Y es multicarga: dos programas distintos en un mismo cassette.

93.861 bytes · 100 % explicado · cinco listados, todos byte a byte · 1.148 rutinas · comentado al 31,2 %

RepositorioWeb

Rastan Saga 1988

Taito · MSX2 · cartucho de 256 KB

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. En la cabecera, un truco de pruebas: el byte 0x4010 a 1 y la tecla 7 pasa de fase.

262.144 bytes · 0 sin explicar · reensambla byte a byte · 29.820 de código, 232.324 de datos · 1.406 rutinas · comentado al 46,1 %, ninguna por debajo del 10 %

RepositorioWeb

War in Middle Earth 1989

Melbourne House / Dro Soft · MSX · cinta de 62.261 bytes

Una conversión del ZX Spectrum que se trajo el sistema de cinta entero —bloques del Spectrum, un LD-BYTES escrito a mano— y el atributo de color pegado detrás de cada tile del mapa, que por eso ocupan nueve bytes y no ocho. Se trajo hasta el motor de sonido del altavoz, y luego no lo llama nadie: los cuatro sitios que piden un efecto acaban en un ret pelado, y del PSG del MSX solo se escriben los dos registros del joystick. El juego es mudo.

62.261 bytes · 0 sin explicar · cinco listados, todos byte a byte · 11.814 de código, 50.191 de datos · 766 rutinas · comentado al 29,7 %, ninguna rutina por debajo del 10 %

RepositorioWebla pantalla de carga de su web no es una captura: está dibujada desde la cinta, con sus créditos y todo

Cómo están hechos

Todos los proyectos siguen la misma regla: no se afirma nada que el binario no enseñe. make extrae el juego de la cinta o del cartucho, traza el código desde sus puntos de entrada de verdad, genera los listados comentados y luego los reensambla y exige que vuelva a salir el original, byte a byte.

Esa prueba decide si un listado es de fiar, pero no si es correcto: si unos gráficos se leen como instrucciones, los bytes salen idénticos igual y lo único que miente es el listado. Por eso cada proyecto lleva una segunda comprobación, distinta —un presupuesto en el que cada byte tiene que ser o código al que el trazador llega de verdad, o un rango de datos con nombre y explicación—, más unos tests que cotejan contra el binario lo que dice la documentación.

Los comentarios viven aparte de los listados, anclados a la dirección que describen, así que sobreviven a un reanálisis del binario. Y buena parte de lo que se afirma no se dedujo leyendo, sino midiendo con el emulador openMSX: watchpoints en memoria para ver qué código toca cada variable, y muestreo del contador de programa mientras se juega para saber qué se ejecuta de verdad.

En ninguno de estos repositorios se distribuye la cinta ni la imagen del cartucho. Para reconstruir un proyecto hace falta una copia propia del juego; cada repositorio dice el sha256 que espera.

La serie por dentro 1 cartucho

Esto no es un juego: son las medidas. Lo que se ve en los desensamblados cuando se ponen todos uno al lado del otro y se vuelve a medir en vez de fiarse de lo que cada uno dice de sí mismo —que es como se descubre que la misma rutina lleva doce nombres, y que cuatro cifras publicadas se habían quedado viejas sin que nadie se enterara—.

La base de datos de la serie 2026

49 proyectos · medido, no copiado · 28 pruebas

Lo que sale de mirarlos todos a la vez. Cada cifra está medida otra vez sobre los listados que los repositorios publican hoy, nunca copiada de un README —y sólo con eso aparecieron cuatro fichas que publican una densidad que su propio listado ya no da—. También enseña que la lectura de mandos son treinta y seis bytes idénticos en dieciocho cartuchos con doce nombres distintos, y que diecisiete cartuchos llevan la marca oculta de Konami, los diecisiete con el número de catálogo que publica su ficha.

249.851 instrucciones · 81.234 comentarios · 32,5 % en toda la serie · 0 rutinas por debajo del 10 % · 1.465.115 bytes de binario

RepositorioWeb