Demo G-Zero: una demostración del modo 7 en la Megadrive
El conocido usuario Gasega68k ha lanzado una ROM con la demo de G-Zero, un juego de carreras futurista estilo F-Zero que funciona en la Megadrive emulando el famoso Modo 7.
El "Modo 7" para Mega Drive creado por gasega68k: Rotación y Escalado a lo Super Nintendo
El desarrollador gasega68k presentó una impresionante demostración técnica para Mega Drive que reproduce efectos visuales similares al famoso "Mode 7" de Super Nintendo, mediante un sistema de rotación y escalado muy eficiente.
Este motor utiliza 64 KB de SRAM externa en modo Word, funcionando como un mapa virtual de 256 x 256 píxeles (con 8 bits por píxel, simulando 256 colores como en Wolfenstein 3D). A medida que el jugador se desplaza por el mapa, se cargan nuevos tiles de 8x8 píxeles (64 bytes por tile), de forma similar al scroll tradicional basado en tiles.
⚠️ Nota importante: Este método no funciona en la mayoría de flashcarts, ya que estos no soportan acceso Word en la SRAM. Aun así, se ha confirmado compatibilidad con el Mega Everdrive, donde el sistema funciona correctamente.
Actualmente, la demo ocupa unos 45 KB en ROM, incluyendo:
- Un mapa de 128 x 128 tiles (1024 x 1024 píxeles) que consume unos 16 KB.
- Un conjunto de 171 tiles, que ocupan alrededor de 11 KB.
El motor permite crear mapas de casi cualquier tamaño. Por ahora, el tilemap está implementado en formato byte, lo que permite un máximo de 256 tiles únicos. Sin embargo, puede modificarse para funcionar en formato word, permitiendo hasta 65.536 tiles distintos.
Rendimiento y Resolución
La resolución actual del área "Mode 7" es de 256 x 96 píxeles, con la vertical duplicada para dar sensación de profundidad. Aunque la demo es preliminar y aún no está optimizada, ya ofrece un rendimiento suficientemente fluido para desarrollar juegos sobre ella.
Además, el desarrollador menciona que podría ampliarse el uso de memoria hasta 256 KB, aunque por compatibilidad con emuladores ha optado por mantener los 64 KB como base.
Mejoras futuras y scroll completo
En versiones posteriores, gasega68k ha añadido un scroll multidireccional totalmente funcional, mejorando notablemente la sensación de movimiento en la pista. Incluso se plantea alcanzar 30 FPS estables mediante optimizaciones y uso de tablas de apoyo para los cálculos.
También se valoraron otras ideas interesantes, como:
- Utilizar la RAM del Z80 para almacenar datos si se detiene su funcionamiento.
- Aplicar técnicas de LOD (Level of Detail) para reducir el uso de memoria, mostrando texturas más detalladas cerca del jugador y menos detalladas en el horizonte.
- Adaptar el motor a SRAM byte-wide mediante instrucciones como
MOVEP
para hacerlo compatible con más flashcarts.
¿F-Zero en la Sega Mega Drive?
Usando el comentado motor de Modo 7 compatible con la Megadrive, Gasega68k se propuso crear un título demostrativo, basándose en el estilo de juego del mismísimo F-Zero para la Super Nintendo, un título primerizo del sistema que servía justamente de base técnica para mostrar las bondades de dicho modo 7, exclusivo en SNES... hasta ahora.
El juego en cuestión se llama "G-Zero" y es una demo que lleva años en desarrollo, y acaba de ser liberada una nueva ROM con la última actualización para poder probarlo. Os recomendamos seguir en "x" a Gasega68k para ver sus últimas actualizaciones.