Autore Topic: Effetto Sprite In Movimento (in 64 Bytes)  (Letto 2629 volte)

Jotaro

  • Neo-iscritto
  • *
  • Post: 8
  • Gioco Preferito: Forbidden Forest
Effetto Sprite In Movimento (in 64 Bytes)
« il: 05 Novembre 2010, 23:35:57 »
 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.

Codice: [Seleziona]
*=$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

 

Freshness79

  • Utente
  • **
  • Post: 128
  • Gioco Preferito: Dizzy collection
Effetto Sprite In Movimento (in 64 Bytes)
« Risposta #1 il: 08 Novembre 2010, 02:11:21 »
 Molto carino, complimenti!
Direi che il tuo asm 6510 é tuttaltro che arrugginito...!
Attendiamo altri pezzi di codice!

NB:
... c'é spazio per ottimizzare e farci stare anche la "C"!

Jotaro

  • Neo-iscritto
  • *
  • Post: 8
  • Gioco Preferito: Forbidden Forest
Effetto Sprite In Movimento (in 64 Bytes)
« Risposta #2 il: 09 Novembre 2010, 19:42:52 »
 Ciao Freshness, grazie mille per i complimenti (complimenti ancor di più apprezzati perché provengono da un programmatore estremamente capace e preparato).
Il tempo è sempre tiranno (purtroppo), se avrò qualche istante da dedicare a qualche altro effetto non mancherò di postare immediatamente (la sfida dei 64 bytes è molto stimolante!).