Ciao a tutti,
ultimamente ho visto nel forum un paio di post riguardanti effetti molto belli scritti rimanendo dentro il limite dei 64 bytes.
Questo è il mio piccolo contributo: uno sprite che viene creato e mosso in 64 bytes.
Niente di speciale... Avevo solo voglia di vedere se dopo quasi vent'anni riuscivo ancora a scrivere qualche riga in assembly.
*=$820
SEI ; No interrupt
LDA #$01
STA $D015; Abilito il primo sprite
LDA #$A0
STA $07F8; Fisso il puntatore sprite a $2800
STA $D000; Setto la posizione X dello sprite
START LDA #$33; Abilito la lettura della CHAR ROM
STA $01
COPYLOOP
LDA $D1AF,X; Copio i caratteri 6 e 4 dalla CHAR ROM
STA $2800,Y; Al buffer dello sprite
LDA $D19F,X
STA $2801,Y
INY
INY
INY
INX
CPX #$08
BNE COPYLOOP
LDA #$37; Spengo la lettura alla CHAR rom
STA $01
LOOP LDA $D012; Loop di wait basato sul raster
CMP #$7F
BNE LOOP
MOD INC $D001; Modifico la posizione Y dello sprite
BNE LOOP
LDA MOD; Ad ogni passaggio cambio la direzione
EOR #32; Y dello sprite modificando l'opcode
STA MOD; della riga "MOD" da INC a DEC e viceversa
BNE LOOP; C64 Forever