Bu sayfadaki yazılar
Sayfanın metni
Sayfa 15
jsr common spritex2 cpx #$02 bcs error cpx #$01 beq onspr offspr ldx sprnum lda off,x rts onspr ldx sprnum lda on,x sec rts ;--------------------------------------------------------------------- comspr jsr $b79b cpx #$08 bcs error stx sprnum rts ;--------------------------------------------------------------------- common jsr $aefd jsr $b79e rts ;--------------------------------------------------------------------- spry .byte 0 sprnum .byte 0 on .byte 1,2,4,8,16,32,64,128 off .byte 254,253,251,247,239,223,191,127 line .byte 0 column .byte 0 .end
C64 BASIC KOMUTLARI HADES BASIC KOMUTLARI 10 PRINT CHR$(147):REM EKRANI SIL 15 POKE 53280,6:POKE 53281,0:POKE 646,1 20 PRINT:PRINT REM KURSORU 2 SATIR ASAGI AL. (KURSOR 4.SATIRDA) 25 PRINT “ C64’TE SPRITE KULLANMAK.” 30 FOR F=0 TO 64:POKE 832+F,255:NEXT 40 POKE 2040,13:REM 632/64 50 POKE 53264,0 60 POKE 53287,7 70 POKE 53269,1 80 X=24:Y=50 90 POKE 53249,Y 100 X=X+1:IF X<256 THEN POKE 53248,X: GOTO 90 110 POKE 53264,1:X=24 120 POKE 53248,X 130 X=X+1:IF X<90 THEN 120 140 GOTO 50
10 SYS 58692:REM CLS KOMUTU 15 POKE 53280,6:POKE53281,0:POKE 646 ,1:REM BORDER 6:REM PAPER 0:REM INK 1 20 CURSOR 3,8: REM KURSOR 4. SATIRDA 25 PRINT “C64’TE SPRITE KULLANMAK.” 30 FOR F=0 TO 64:POKE 832+F,255:NEXT 40 SPRPNT 0,13 50 REM 60 SPRCOL 0,7 70 SPRITE 0,1 80 X=24:Y=50 90 SPRPOS 0,X,Y 100 X=X+1:IF X<346 THEN 90 110 GOTO 80
Gördüğünüz gibi program hem kısalmakta hem de basitleşmektedir. C64’ün BASIC komutlarında bir sürü adres bilmeniz gerekirken yeni komutlarda bunlara gerek kalmamaktadır. Bu arada zaman yetersizliğinden dolayı assembler listesinde açıklama yapamadım. Anlamadığınız yerler olursa foruma yazabilirsiniz.
Klavyeyle gezinmek için ← ve → tuşları.
Sayfa 14
jsr common jsr spritex2 bcs sprey and $d017 jmp cont4 sprey ora $d017 cont4 sta $d017 jmp $a7ae ;--------------------------------------------------------------------- sprmul jsr spritex bcs multi and $d01c jmp cont5 multi ora $d01c cont5 sta $d01c jmp $a7ae ;--------------------------------------------------------------------- sprmcl jsr $b79b stx $d025 jsr common stx $d026 jmp $a7ae ;--------------------------------------------------------------------- sprcol jsr comspr jsr common txa ldx sprnum sta $d027,x jmp $a7ae ;--------------------------------------------------------------------- sprior jsr spritex bcs pri and $d01b jmp cont6 pri ora $d01b cont6 sta $d01b jmp $a7ae ;--------------------------------------------------------------------- sprall jsr $b79b jsr spritex2 bcs allon lda #$00 .byte $2c allon lda #$ff jmp cont1 ;--------------------------------------------------------------------- cursor jsr $b79b cpx #$19 bcs error stx line jsr common cpx #$28 bcs error stx column ldx line ldy column jsr $e50c jmp $a7ae error jmp $b248 ;--------------------------------------------------------------------- spritex jsr comspr