Mode 7 no dibuja 3D: rota una capa, y el horizonte lo pone el H-DMA
Es el modo de fondo número 7 de los ocho del Super Nintendo, y lo único que hace es rotar y escalar una capa. La perspectiva que todo el mundo recuerda la pone otro componente, línea por línea.
Mode 7 es, literalmente, el modo de fondo número 7 de los ocho que ofrece el procesador gráfico del Super Nintendo: dibuja una sola capa de 256 colores a la que el hardware aplica una matriz de 2×2 para rotarla, ampliarla o reducirla. Eso es todo. El manual de Nintendo lo despacha en una frase —«Mode-7 is a screen, which can rotate, enlarge or reduce»— y titula el capítulo entero «Rotation/Enlargement/Reduction». La palabra 3D no aparece.
El error: el modo no es el efecto
Lo que casi todo el mundo llama Mode 7 —la pista que se estrecha hacia el horizonte en F-Zero, el suelo inclinado de Pilotwings— no lo produce Mode 7 por sí solo. La transformación del chip es afín: rota, escala, sesga y voltea, pero deja paralelas las líneas paralelas. Una perspectiva hace lo contrario: converge. La matriz no tiene dónde guardar esa convergencia: sus cuatro parámetros son senos, cosenos y factores de reducción.
El horizonte se fabrica cambiando la matriz en cada línea de barrido, y de eso se encarga otro componente: el H-DMA, una transferencia sincronizada con el H-Blank que, dice el manual, hace que «the S-PPU settings can be varied by each horizontal scan line». El juego precalcula una tabla con una escala por línea, más comprimida cuanto más lejos, y la deja corriendo por un canal de DMA. La profundidad está en la tabla. El chip sólo encadena 224 rotaciones planas.
Por qué se propagó
Porque el nombre del modo se volvió el nombre del efecto, y saltó a máquinas que no lo tienen. El Mega Drive lo imitó por software, sin hardware equivalente, en la misma guerra comercial que produjo el «blast processing» de Sega y que del lado del sonido enfrentó la síntesis FM contra las muestras. Y en Game Boy Advance la etiqueta pegó tanto que la documentación de desarrollo la usa a regañadientes: «The GBA only has modes 0-5. So technically "GBA Mode 7" is a yet another misnomer», avisa Tonc, la referencia estándar para programarla. Sus fondos con rotación viven en los modos 1 y 2.
Es el mismo error de categoría que convierte una etiqueta técnica en un género musical cuando se habla de «música de 8 bits».
Un ejemplo que lo fija
Dos pantallas de la misma consola. El mapa del mundo de Final Fantasy VI gira y se acerca sin horizonte: Mode 7 con la matriz quieta durante todo el cuadro. La pista de F-Zero sí tiene horizonte: Mode 7 más una tabla de H-DMA. Hay un tercer escalón: Pilotwings y Super Mario Kart llevan en el cartucho un coprocesador, el DSP-1, que calcula senos, cosenos, inversas y rotaciones de coordenadas. En los dos juegos que más se citan como prueba del «3D del Super Nintendo», parte de las cuentas no las hace la consola.
Y la rotación es una función de fondo: los sprites quedan fuera. Los karts de Super Mario Kart son dibujos planos sobre un plano girado. Un motor que calculara de verdad un mundo tridimensional llegó por otro lado: Quake, en 1996.
[ Fuentes ]
- SNES Development Manual, Book I — cap. 3 «There are 8 kinds of BG mode» y «Mode-7 is a screen, which can rotate, enlarge or reduce»; cap. 5 «Rotation/Enlargement/Reduction»; cap. 17.2 H-DMA; registros M7A-M7D (211B-211E) · Nintendo of America / Internet Archive
- Background modes — tabla de los modos 0 a 7; Mode 7: una capa 8bpp, tilemap de 128×128 y 256 tiles · SNESdev Wiki
- Mode 7 transform — matriz M7A/M7B/M7C/M7D en coma fija 8.8 y «the affine transformation can be changed every scanline via HDMA» · SNESdev Wiki
- Tonc, cap. 21 «Mode 7» — «The GBA only has modes 0-5. So technically ‘GBA Mode 7’ is a yet another misnomer» · Jasper Vijn (Cearn), coranac.com
- DSP-1 — juego de comandos: multiplicación de 16 bits, inversa, seno/coseno y rotación de coordenadas 2D y 3D · SNESdev Wiki
- DSP Expansion — lista de cartuchos con DSP-1, incluidos Pilotwings y Super Mario Kart · SNESdev Wiki
- Super Nintendo Architecture — Mode 7 como capa única 8bpp y la perspectiva de F-Zero por ajuste de la matriz en cada llamada de HDMA · Rodrigo Copetti
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.