User Tools

Site Tools


content:retrocomputing:sprite

This is an old revision of the document!


Sprite

Intro

Gli sprite nel C64 sono degli oggetti grafici facilmente programmabili, utili per creare giochi. Sono gestiti via hardware dal chip grafico VIC-II, tramite una serie di registri.

Registri

Attivazione

Per attivare gli sprite c'è il registro 53269 ($D015); ciascuno degli 8 bit attiva uno sprite:

bit 0sprite 0
bit 1sprite 1
bit 2sprite 2

bit 7sprite 7

In Basic si può quindi usare:

POKE 53269,3  : REM ATTIVA GLI SPRITE 0 e 1
POKE 53269,255: REM ATTIVA TUTTI E 8 GLI SPRITE
Il 53269 è perciò di un registro valido per tutti gli sprite

Posizionamento

I registri da 53248 ($D000) a 53263 ($D00F) controllano il posizionamento X,Y, rispetto all'angolo in alto a sinistra. Ciascun registro controlla una coordinata per ciascuno sprite:

RegistroDescrizione
53248 sprite 0 X
53249 sprite 0 Y
53250 sprite 1 X
53251 sprite 1 Y

I valori possibili sono quindi 0-255. Mentre la coordinata Y copre tutti i valori visibili a schermo, la coordinata X viene anche gestita dal registro 53264 ($D010) (valido per tutti gli sprite) che consente di estendere gli sprite oltre la coordinata X 255 (visibile a video solo fino al 343).

Colore

Gli sprite possono essere monocolore (risoluzione max 24×21) oppure multicolore (risoluzione max 12×21).

La modalità multicolore prevede, oltre al colore principale dello sprite, anche due colori aggiuntivi, condivisi da tutti gli sprite. Si usano i registri 53285, 53286 e 53276:

POKE 53285,1: REM MULTICOLOR 1 (BIANCO) X TUTTI GLI SPRITE
POKE 53286,0: REM MULTICOLOR 2 (NERO) X TUTTI GLI SPRITE

POKE 53276,3: REM MULTICOLOR X SPRITE 0 E 1
content/retrocomputing/sprite.1660667001.txt.gz · Last modified: 2022/08/16 18:23 by admin