Generador de sprites para Sega Master System

Posted on Dec 13, 2009

Estos dias he estado trasteando un poco con sistemas basados en z80 (calculadora Texas Instruments Ti-83+, MSX, Sega Master System…), y con ello ha surgido un pequeño proyecto (bueno, no tan pequeño) para la Master System, que iré publicando cuando esté el tema más maduro. Pero de momento he empezado a programar un poco para ella, leerme documentación, etc, y bueno, cuando he empezado con el tema gráfico, crear los bloques (tiles y sprites) gráficos no es una tarea sencilla. Resulta que le SMS usa un sistema «planar» para guardar los sprites (4 bytes por linea de 8 pixeles, 4 bits de color por pixel, donde el bit cero del primer byte, es el bit cero de color del primer pixel, el bit uno es el bit cero de color del segundo pixel… etc, hasta el bit siete del cuarto byte, que es el bit tres de color del octavo pixel, creo que se entiende).

Asi que para agilizar esto, que sería tedioso hacerlo a mano, me puse a hacer una pequeña aplicación para poder dibujar los sprites y que me generara los gráficos automáticamente, y para matar dos pájaros de un tiro, me planteé hacerla en javascript, que nunca me ponía a aprenderlo.

El resultado:

Al final le añadí también la capacidad de trabajar con sprites de 8×8 y 8×16 pixeles y de generar los datos de paleta y personalizarla a partir de los 64 colores hardware de la SMS.

Podeis usar la aplicación en: http://ladecadence.net/smssprite/smssprite.html

PD: Los datos los genera en notación para usarlos con un ensamblador de z80 (yo uso el wla-dx).