Moon Patrol no tuvo tres capas independientes: colinas y ciudad comparten un registro
La fama de sus tres capas de parallax se matiza al leer el código que emula su placa: colinas y ciudad de Moon Patrol comparten el mismo registro de desplazamiento y nunca se dibujan a la vez.
Moon Patrol (Irem, arcade, 1982) es uno de los ejemplos a los que se recurre para explicar el parallax de varias capas, y la cuenta de cuántas movía de verdad está en el código que emula su placa. El del driver de MAME que emula la placa Irem M52 —escrito originalmente por Nicola Salmoria— anota que dos de esas tres imágenes de fondo, colinas y ciudad, comparten un único par de registros de desplazamiento: nunca aparecen a la vez y nunca se mueven por separado, porque es el mismo valor el que arrastra a una o a la otra según cuál esté activa en ese momento. El suelo, además, no usa ese mecanismo en absoluto: lo mueve un único registro de X leído a través de una puerta NAND sobre las líneas de temporización V64 y V128, que decide en qué cuarto de la pantalla se aplica el valor real y en cuáles se fija en 255.
Irem publicó Moon Patrol en Japón en junio de 1982, según la cronología de Masumi Akagi (Arcade TV Game List, 2005), que registra la entrada bajo la propia Irem. La versión para Estados Unidos, con otro reparto de vidas por moneda, salió en agosto de ese mismo año bajo licencia de Williams Electronics: lo confirma esa misma cronología y, por separado, el propio conjunto de ROM que MAME distingue como «mpatrolw» con la etiqueta «Irem (Williams license)». Corrió sobre la placa Irem M52, con un Z80 como CPU principal.
Por qué importó
Moon Patrol tenía registros de hardware dedicados para desplazar imágenes de fondo a distinta velocidad: dos pares de registros de posición X/Y para fondos que no eran tiles sino imágenes completas, que el programa escribe en los puertos de E/S 0x40 y 0x80. El comentario del driver lo dice sin rodeos sobre el segundo par: «only one of these be drawn at once (they share the same scroll register)» —solo una se dibuja a la vez, porque comparten el mismo registro de desplazamiento—. Las colinas y la ciudad, en otras palabras, no son dos capas que avanzan cada una a su ritmo: son dos dibujos que se turnan sobre el mismo movimiento, seleccionados por dos bits del registro de control (0x02 apaga las colinas, 0x04 apaga la ciudad).
El suelo —la franja donde corren el vehículo, los cráteres y las minas— usa una tercera vía, y es la más peculiar de las tres. El comentario del driver explica: «there is only one video register that holds the X scroll value with a NAND gate on the V64 and V128 lines to control when it's read, and when 255 (via 8 pull up resistors) is used». En la práctica, la pantalla se reparte en cuatro cuartos verticales y solo el último —donde vive la carretera— recibe el valor real de desplazamiento; los otros tres quedan fijos en 255 por la propia electrónica del tablero, sin que el programa tenga que escribir nada. Es el mismo hallazgo que ya documentó este catálogo al explicar de dónde sale el parallax: no son las capas de dibujo las que cuentan, son los registros que la máquina puede sostener por separado, y Moon Patrol sostenía menos de los que su fama sugiere.
Qué envejeció
Lo que no envejeció es el efecto tal como lo ve quien juega: como colinas y ciudad jamás comparten pantalla, nadie nota en la máquina que son la misma señal moviendo dos dibujos distintos. La ilusión de profundidad —montañas lejanas fijas en su propio ritmo, un segundo plano cambiante más cerca, el suelo corriendo debajo— funciona igual de bien hoy que en 1982, y no depende de que las tres piezas sean independientes entre sí; en eso se parece a el sprite scaling de la misma década, otro truco de la época para fingir profundidad. Lo que sí conviene revisar es la cuenta: el código que la matiza es público en el propio proyecto MAME, y dice que Moon Patrol tenía hardware real para mover fondos por separado, pero no tres planos independientes a la vez.
Dónde jugarlo hoy
Arcade Archives MOON PATROL, de Hamster, se anunció el 20 de marzo de 2018 para salir dos días después, el 22 de marzo, en Nintendo Switch y PlayStation 4: lo dice el propio comunicado de la empresa, que fija el precio de lista en Japón en 823 yenes con impuesto incluido.
[ Fuentes ]
- Driver de MAME para la placa Irem M52 (Moon Patrol): comentarios 'only one of these be drawn at once (they share the same scroll register)' sobre colinas/ciudad y 'a NAND gate on the V64 and V128 lines' sobre el registro de scroll del suelo; funciones draw_background, scroll_w y las líneas GAME() para mpatrol/mpatrolw · Proyecto MAME (driver original de Nicola Salmoria) · 2024
- Akagi, Masumi -- アーケードTVゲームリスト国内・海外編(1971-2005): entradas '82/06 ムーンパトロール' bajo Irem (Japón) y '82/08 Moon Patrol (via Williams)' bajo Irem America (edición estadounidense) · Amusement News Agency · 2005
- Moon Patrol -- ficha del ítem emulado: 'by: Irem (Williams license)', 'Published by: Williams Electronics, Inc.' · Internet Archive / Internet Arcade · 1982
- Moon Patrol -- flyer publicitario original, autoría 'Williams ; Irem', publicado 1982 · Williams Electronics / Internet Archive Arcade Flyers Collection (fuente: flyerfever.com) · 1982
- PS4/Nintendo Switch版「アーケードアーカイブス ムーンパトロール」が3月22日に配信 -- reproduce íntegro el comunicado de Hamster: fecha de lanzamiento 2018年3月22日 y precio 販売価格 823円(消費税込) · 4Gamer.net (comunicado de Hamster Co.) · 2018-03-20
Lo que importó de verdad
Un correo por semana con las 5 noticias que mueven la industria y el mejor video vertical. Nada de refritos de notas de prensa.
[ Síguenos donde leas ]
Sin algoritmo que decida por ti: el correo y el RSS llegan enteros. En las redes publicamos los cortes.