Los sprites, además de ser monocolor, también pueden ser multicolor.
En este último caso los bits/pixels se agrupan de dos en dos en sentido horizontal y, a cada una de las cuatro combinaciones posibles, le corresponde un color:
- %00: Color transparente, es decir, el color del fondo de pantalla.
- %01: Color multicolor número 1 (valor del registro $d025).
- %10: Color del sprite (valor del registro $d027 – $d02e, según el número de sprite).
- %11: Color multicolor número 2 (valor del registro $d026).
De lo anterior se deducen varias cosas:
- Unos sprites pueden ser monocolor y otros multicolor.
- Los sprites multicolor tienen menos resolución, ya que los pixels se agrupan de dos en dos en sentido horizontal. Y cada pareja tiene un color.
- Los dos colores extra del sistema multicolor (valores de los registros $d025 y $d026) son compartidos entre todos los sprites multicolor. Aun así, los sprites multicolor conservan un color exclusivo (valores de los registros $d027 – $d02e).
Por último, queda especificar si un sprite es monocolor o multicolor. Esto se hace actuando sobre el registro $d01c, que tiene un bit para cada uno de los 8 sprites. Si el bit está a uno, el sprite es multicolor; si está a cero, el sprite es monocolor.
Las herramientas de diseño de sprites, como “Sprite Editor” de CBM prg Studio, permiten definir sprites monocolor y multicolor:
Programa de ejemplo: Prog32