C64 Türkiye sayı 7, sayfa 18

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 18

C64 TÜRKİYE #7 18 sta delay ;gecikme sayacına yaz. ldx cnt ;tablo sayacının al cpx #$20 ;$20 (32) oldumu? bne cont ;olmadıysa sıçra. ldx #$08 ;evet olmuş. Tablo sayacının başlangıç stx cnt ;değerini tablo sayacına yaz. cont ldy #$00 ;Y=0 sprite koordinat sayacı loop1 lda table,x ;tablo sayacına göre tablodan o anki byte’ı oku sta $d001,y ;o anki sprite’in Y koordinat adresine yaz. inx ;X registerini 1 arttır iny ;Y registerini 1 arttır iny ;Y registerini 1 arttır cpy #$10 ;Y $10 (16) oldumu? bne loop1 ;Olmadıysa işlemleri tekrarla inc cnt ;Tablo sayacını 1 arttır exit dec delay ;gecikme sayacını 1 azalt jmp $febc ;Kontrolu işletim sistemine devret cnt .byte 0 ;tablo sayacı delay .byte 0 ;gecikme sayacı *=$08c0 ;spriteların şekil datalarının başlangıç adresi sdata .byte $00,$55,$00,$01,$77,$40,$05,$dd .byte $d0,$07,$7f,$b0,$15,$ee,$e4,$17 .byte $fb,$bc,$1d,$ee,$ac,$57,$fa,$a9 .byte $5d,$ea,$ab,$77,$ba,$ab,$5f,$ea .byte $ab,$77,$ba,$ab,$5d,$ea,$ab,$57 .byte $fa,$a9,$15,$ea,$a8,$17,$fa,$ac .byte $15,$ee,$e4,$07,$7b,$b0,$05,$ff .byte $d0,$01,$77,$40,$00,$55,$00,$00 koor .byte $3c,$b0,$5c,$b0,$7c,$b0,$9c,$b0 ;spriteların başlangıç .byte $bc,$b0,$dc,$b0,$fc,$b0,$1c,$b0 ;koordinat değerleri table .byte $b0,$b0,$b0,$b0,$b0,$b0,$b0,$b0 ;tablo sayacına göre .byte $b8,$c0,$c8,$d0,$d8,$e0,$d8,$d0 ;spriteların Y koordinat .byte $c8,$c0,$b8,$b0,$b8,$c0,$c8,$d0 ;değerleri .byte $d8,$e0,$d8,$d0,$c8,$c0,$b8,$b0 .byte $b8,$c0,$c8,$d0,$d8,$e0,$d8,$d0 .end ;programın sonu

Zıplayan toplarımızın ekran görüntüsü.

Klavyeyle gezinmek için ← ve → tuşları.