Descripción del concepto de VDP
- Vdp
- " V ideo D isplay P rocessor"
- Chip de controlador de video que trata con gráficos de mosaico, planos de desplazamiento y sprites Genesis. En realidad no es un procesador.
- VRAM
- " V ideo RAM "
- RAM (RAM) utilizada por VDP
- Contiene mosaicos (imágenes de 8x8 píxeles)
- Los dos tipos principales de consolas.
- Consolas NTSC
- Sega Genesis, 60 máquinas Hertz, distribuidas principalmente en los EE. UU.
- Permisos
- Modo H 40 - 320x224 píxeles ( 40 x28 mosaicos). El modo de resolución más común.
- Modo H 32 - 256x224 píxeles ( 32 x28 mosaicos). Modo de resolución menos popular
- Nuestro estudio Mega Cat lanza juegos NTSC , ¡así que usa estos permisos!
- Consolas PAL
- Sega Mega Drive, 50 coches Hertz vendidos en todo el mundo
- Permiso
- Modo H 40 : 320 x 240 píxeles ( 40 x 30 mosaicos). El modo de resolución más común.
- Modo H 32 : 256x240 píxeles ( 32 x30 mosaicos). Modo de resolución menos popular
Izquierda: NTSC Model 2 Sega Genesis, derecha: PAL Model 2 Mega Drive (europeo) 3 gráficos planos
2 planos de desplazamientoEl plano B es el plano de fondo. Muestra gráficos de mosaico utilizando mapas de mosaico.
El plano A es el plano de primer plano. Muestra gráficos de mosaico utilizando mapas de mosaico. Subplano de ventana: un subplano para el Plano A, cuyos gráficos no se desplazan con el resto del plano.
Cada fila de mosaicos se representa columna por columna. Las baldosas en cada plano pueden tener prioridad: alta o baja.
Azulejos para sprite renderizados en el formato regular (azulejos 4x4)1 plano de spriteDibuja gráficos de mosaico de sprites.
Dentro de la consola, los sprites se representan en orden inverso, es decir cada columna de mosaico se representa fila por fila.
Los sprites se encuentran en el espacio virtual de 512x512 píxeles, donde las coordenadas (128,128) coinciden con la esquina superior izquierda de la pantalla del televisor.
Genesis puede mostrar simultáneamente hasta 80 sprites de hardware en la pantalla; Genesis puede mostrar unos 20 sprites en una línea de trama, con un mayor número de problemas hay problemas con los sprites desbordados y dejan de mostrarse.
Para los sprites de hardware, los tamaños son limitados (wxh), donde w es el ancho, h es la altura, tomando valores de 1-4 mosaicos.
Se pueden obtener sprites más grandes que los de hardware con algunos sprites.
Al igual que con los aviones, los mosaicos para sprites pueden tener baja o alta prioridad. Los sprites de baja prioridad se muestran debajo de los mosaicos de alta prioridad de otras capas. (De hecho, todo es un poco más complicado, pero en general el concepto es el siguiente).
Los mosaicos para sprite dentro de la consola se representan en formato sprite (movidos y 4x4 en tamaño)Representación visual de la prioridad de las capas planas.Fuente: Manual de software GenesisVDP CRAM ("
C olor
RAM" - "color RAM")
4 hileras de paletas, cada una con 16 colores.
Cada color tiene una profundidad de 4
bpp (4 bits por píxel)
El primer color es el color transparente de los gráficos de mosaico.
Las líneas de paleta pueden renderizarse en colores ligeramente más claros u oscuros cuando
se activan las
luces o las
sombras .
Fondos
Sega Genesis tiene 2 planos de mapas de mosaico: el plano de fondo ("Plano B") y el plano de primer plano ("Plano A"). Según el tipo de máquina (NTSC o PAL) y el modo de video utilizado (H40 o H32), una tarjeta de mosaico de pantalla completa tendrá 32 o 40 mosaicos de ancho y 28 o 30 mosaicos de alto. Cada mosaico consta de una imagen de 8x8 píxeles, y cada píxel corresponde a un índice de color (0-15). Estrictamente hablando, un plano de ventana es un subplano del Plano A; sus gráficos no se desplazarán con el resto del plano A. Los planos se pueden usar de muchas maneras diferentes, por ejemplo, para capas de primer plano y fondo de pantalla completa, o para la técnica por la que muchos juegos de Sega Genesis:
desplazamiento de paralaje son famosos. Al desplazar líneas individuales de mosaicos en planos con diferentes velocidades, puede crear la ilusión de profundidad. Las fichas en las fichas de diferentes planos pueden tener un parámetro de prioridad: alto o bajo. Este parámetro determina dónde deben mostrarse los sprites (que también tienen prioridad alta o baja), debajo del mosaico o encima de él.
VSRAM (
V ideo
S croll
RAM - desplazamiento de memoria de video)Las capas Plano A y Plano B pueden tener mapas de mosaico de planos de desplazamiento de tamaño (wxh), donde w es el ancho en mosaicos, h es la altura en mosaicos. Cada uno de los tamaños puede ser igual solo a 32, 64 o 128 mosaicos. Estos planos de desplazamiento "se desplazan hacia adentro / hacia afuera" de la resolución de pantalla activa (el tamaño está determinado por el tipo de máquina y el modo H32 / H40). Los planos de desplazamiento de tamaño 128x64 / 64x128 y 128x128 no están permitidos. Por defecto, las partes VRAM en las direcciones VRAM estándar 0xC000 y 0xE000 se muestran como "mosaicos basura", pero de hecho cada píxel en estos "mosaicos basura" codifica un mapa de mosaicos VSRAM de forma compacta. El usuario nunca debe escribir mosaicos reales en estos "mosaicos de basura", de lo contrario, se producirán extraños errores gráficos / bloqueos, se ralentizarán o los mosaicos de basura comenzarán a aparecer en los planos de desplazamiento. Los aviones pueden usar 1 de 3 modos de desplazamiento: por línea de trama, por mosaico o por bloque (secciones de mosaicos de 2x2). Cada plano puede desplazarse simultáneamente horizontal y verticalmente.
Color
Los mosaicos solo pueden usar 1 de 4 líneas de paletas a la vez. Cada línea de la paleta contiene 16 colores. El primer color está reservado para un color transparente, que se recomienda que se haga rosa (255,0,255) (RGB). Para mantener la integridad del estilo en el juego, se pueden seleccionar 1 o 2 paletas para elementos individuales. Por ejemplo, la línea de paleta 1 se puede usar para el personaje de un jugador, y la línea de paleta 2 se puede usar para elementos de la interfaz de usuario. Puedes usar varias paletas para dibujar enemigos, fondos y otros elementos cambiantes.

Para un uso óptimo del color, esta paleta usa dos paletas, una para cada capa del plano del mapa de mosaico. Las dos primeras imágenes son capas separadas (Plano B y Plano A), y la tercera es una imagen de pantalla completa terminada en la que se combinan ambos planos. Dado que cada mosaico puede usar colores indexados de una sola línea de la paleta al mismo tiempo, usar un esquema de imagen con dos planos le permite garantizar la cantidad de colores que no está disponible para una imagen con un plano.
Existen dos técnicas populares para trabajar con paletas: el
cambio cíclico de paletas (ciclo de paleta) y
los efectos de trama (efectos de trama) . Al cambiar el color de ciertos elementos en una línea separada de la paleta, cada pocos cuadros puede implementar efectos como una cascada, iluminación pulsante, etc.
Un ejemplo del efecto del cambio cíclico de paletas para el parpadeo de rayas Berserk en la Liga de Fútbol Zombie
Los efectos ráster reemplazan todos o algunos de los colores en una línea de paleta después de una línea ráster específica. No consideraremos esta técnica en detalle, pero en esencia consiste en reemplazar una parte de todos los colores CRAM después de pasar a través del haz de electrones del televisor de una determinada línea de exploración horizontal. Esta técnica es útil para implementar cambios de paleta para objetos bajo el agua. En particular, se usa para colores subacuáticos del nivel de la zona del laberinto en
Sonic the Hedgehog .
Sprites
Sprite posa a Ashley de Crisis del caféLos sprites en Sega Genesis se definen como imágenes con un tamaño de (
w x
h ), donde
w es el ancho en los mosaicos
yh es la altura en los mosaicos, que pueden tomar valores de 1-4 mosaicos. Cada sprite puede usar solo una línea de la paleta a la vez. Los sprites de hardware pueden tener un tamaño máximo de 4x4 fichas. Sega Genesis puede manejar hasta 80 sprites de pantalla, 20 sprites por línea de trama, sin embargo, para evitar frenos, es mejor no alcanzar este límite. Para evitar la limitación en el tamaño de los sprites de hardware, muchos juegos usan varios sprites, recolectando de ellos un personaje / objeto. El principio de crear pixel art clásico es elegir una resolución suficientemente grande para proporcionar los detalles necesarios y la legibilidad de la imagen, pero lo suficientemente pequeña como para que pueda ser animada fácilmente. Todos los gráficos de mosaico de Sega Genesis siempre deben dividirse entre 8 píxeles para adaptarse a los tamaños de mosaico. Los sprites se pueden voltear horizontalmente ("hflip") y / o verticalmente ("vflip"), y también tienen un indicador de prioridad alta o baja. Este parámetro determina si el sprite debe mostrarse debajo o encima de los mosaicos de otros planos (que también tienen un parámetro de prioridad alta o baja). Los sprites de hardware también pueden tener un valor de enlace; Cada sprite debe tener su propio valor de enlace único. Entre otras cosas, afecta el renderizado: los sprites con valores de enlace bajos se dibujan sobre sprites con valores de enlace altos.
Animación
Ejecutando el jugador de fútbol blindado Minotauro de Zombie Football LeagueEn la mayoría de los juegos, los gráficos son animados, en lugar de ser simples sprites estáticos. Al cambiar gradualmente los marcos de los sprites, puede crear la ilusión de movimiento y usarla para mostrar caminatas, ataques, etc. Los diseñadores de juegos para Sega Genesis necesitaban recordar la cantidad de sprites y fichas de cada animación para que demasiados no frenaron el juego. Crear animaciones de sprites a menudo se convierte en un compromiso entre luchar por un bajo número de sprites y crear un movimiento convincente; Esto es especialmente cierto para las animaciones en Sega Genesis.
Hoy, entre los desarrolladores de ROM hacks Sonic the Hedgehog, una técnica llamada "
D ynamic
P attern
L oad
C ues" (DPLC) es común. Consiste en cargar dinámicamente mosaicos para sprites en VRAM sobre la marcha en lugar de almacenar todos los mosaicos para marcos de sprites en VRAM al mismo tiempo. Muy a menudo, los sprites detallados (por ejemplo, los sprites del protagonista) ocupan demasiados mosaicos en VRAM utilizados para los marcos de sprites. Si carga en la memoria de video solo los mosaicos que son necesarios para el marco de sprite renderizado actual, puede guardar VRAM limitado y ocuparlo con diferentes gráficos de mosaico. Desafortunadamente, los mosaicos utilizados para DPLC deben descomprimirse en ROM para que la carga en VRAM sea rápida y no ralentice el juego. (El desempaquetado de gráficos comprimidos consume recursos de la CPU y toma demasiados ciclos). Las funciones del motor de sprites SGDK (en el archivo de encabezado <sprite_eng.h>) generalmente usan técnicas DPLC para cortar mosaicos no utilizados.
Depuración recomendada y herramientas gráficas
Encontrar un buen software para crear gráficos retro, dividir el pixel art en mosaicos y reducir la cantidad de colores a 4bpp puede ser un desafío. A continuación se muestra una lista de software recomendado para crear gráficos retro, así como emuladores especializados que permiten al usuario examinar el contenido de VRAM y planos.
Software de gráficos:- RetroGraphicsToolkit
- Una gran herramienta para dividir gráficos en mosaicos, crear mapas de mosaicos optimizados y reducir los colores de las imágenes.
- Trabaja en Truecolor, software libre, código abierto
- Scripting en Lua
- Kit de herramientas gráficas multiplataforma
- Sega Genesis, Sega Master System, Game Gear
- NES
- Enlaces de información
- Irfanview
- Aplicación general para ver / editar imágenes, tiene complementos y un amplio soporte para muchos tipos de archivos de imagen
- Puede editar, exportar e importar paletas, así como aumentar / disminuir el número de colores de imagen y mostrar este número. Útil para preparar archivos gráficos para trabajar con el motor rescomp SGDK
- Software libre y de código abierto
- Tiene un complemento PNG para cambiar la profundidad de color mientras se preserva el orden de los colores en la paleta
- Enlaces de información
- Pcxpal
- Software útil que le permite convertir entre varios formatos de paleta diferentes.
- Útil para convertir de / a las paletas Megadrive .bin y el formato de paleta Irfanview JASC
- Importar formatos
- Imágenes BMP, GIF, PCX
- Preservación de emuladores de Génesis: GGD, GS *, MSD
- Archivos de paleta Jasc, Megadrive, MS RIFF, Tile Layer Pro
- Formatos de exportación
- Paletas de Jasc, Megadrive y Tile Layer Pro
- Enlaces de información
Emuladores especializados recomendados para la depuración de VDP- Tutorial sobre el uso de páginas de depuración en el emulador Gens y sus derivados (Gens v2.11 +)
- Gens v11a re-grabación
- Una versión modificada del famoso emulador Gens escrito por Stef
- Tiene la capacidad de cambiar capas y reemplazar capas de sprites
- Gens depurador página de visualización estándar VDP
- Grabar video en AVI
- Enlaces de información
- Gens kmod
- Una versión modificada del emulador Gens con ventanas avanzadas de depuración. Escrito por KanedaFR de Spritesmind
- Ver VRAM en tiempo real
- Ver sprites en tiempo real
- Ver aviones en tiempo real
- Ver registros VDP en tiempo real
- Interruptor de capa
- Enlaces de información
- Emulador Éxodo
- Un simulador de bucle preciso para depuración y desarrollo. Creado por Nemesis, conocido por la piratería de ROM por Sonic y Spritesmind. Real Rolls-Royce Emulation Genesis.
- Puede ser útil para depurar retrasos que ocurren solo en equipos reales.
- Puede crear una carga bastante seria en el sistema , y se requiere una máquina muy potente para trabajar con una velocidad de fotogramas conveniente
- Ver VDP VRAM, CRAM
- Ver sprites
- Ver registros VDP
- Enlaces de información
Juegos para SEGA GENESIS que vale la pena explorar
Hay muchos juegos hermosos para Sega Genesis, de los cuales puedes aprender una variedad de técnicas y efectos especiales. Incluyendo:
- Serie Calles de ira
- Sonic the Hedgehog Series
- Efectos raster de la paleta de agua.
- Prioridad de sprite / mosaico (especialmente bucles y un sistema de fragmentos de dos capas en Sonic 2 y Sonic 3 / Knuckles)
- Motor de juego de alto rendimiento, rápido y de muy alta calidad.
- Sprite DPLC
- Diseño de gran nivel y estilos gráficos (especialmente en Sonic 3 / Knuckles)
- Efectos del cambio de paleta cíclica
- Efectos de paralaje
- Las aventuras de batman y robin
- Un montón de efectos gráficos complejos
- Linajes de Castlevania
- Aladdin
- Earthworm Jim Series
- Phantasy Star Series
- Zona roja
- Video en blanco y negro suave de 1 bit en la pantalla de inicio
- ¡Simulación de software de rotación de sprites y mapas de mosaico!
- Gráficos isométricos / Vista superior
- Panorama Cotton (Jap) , Street Racer
- Gráficos que recuerdan al modo 7 de SNES, desplazamiento de línea muy sofisticado y efectos gráficos
- Hard Drivin ' y Race Drivin'
- 3D, representación de software de gráficos poligonales
- Tolerancia cero y más allá de tolerancia cero (no publicado)
- Software raycaster parecido a DOOM
- Toy story
- Efectos de paleta ráster que le permiten superar la cantidad de colores CRAM en imágenes estáticas de salvapantallas
- DOOM Raycaster Nivel Primera Persona
- Efectos de paralaje para geometría de nivel de nivel 1 con Woody
- Crucero Estelar (Jap)
- 3D, representación de software de gráficos poligonales
- Contra: cuerpo duro
- El robot gigante de mini-jefe en el primer nivel es una carta de fichas con rotación simulada de cartas de fichas / sprites
- Un gran juego de rol casero llamado Pier Solar
- Excelentes gráficos
- Unos años creados por un equipo de fanáticos, gurús y desarrolladores de homebrew Genesis
- Enorme cartucho de 64 MB
Observe cómo los diferentes juegos usan las limitaciones de hardware de Genesis y cómo algunos juegos exprimen al máximo el hierro. En Streets of Rage y Batman se muestran de manera excelente las duras ubicaciones urbanas. En los juegos de Sonic, hay colores muy brillantes y contrastantes que te permiten reconocer el entorno incluso a pesar de la alta velocidad de Sonic. Aladdin y Earthworm Jim tienen animaciones suaves y divertidas que enfatizan el personaje del personaje.
Referencias y lecturas adicionales