Cok basit ama mantIgI kapmak icin yazmayI denedigim bir sinus caLI$masI... HatIrlarsInIz Nightlord VIC tutoriaLInIn icerisinde raster barLarI hareket ettirmek icin kuLLanmI$tI. Oradaki raster zamanlamalarInIn arasInda kafam karI$masIn diye ayrI caLI$mI$tIm.Belki yararI oLur payLa$ayIm. $u 2 editorde ho$uma gitti dataLarI acme'ye txt oLarak aLabiLiyorsunuz. Sprite editorde import yok yanLIz, direkt ciziyorsunuz...
Acme icin Sprite Editor:
http://noname.c64.org/csdb/release/?id=26944 Acme icin Sinus Tablosu Uretici:
http://noname.c64.org/csdb/release/?id=38353 SYS8192---$2000
!to"sindeneme.prg",cbm
*=$2000 ;sys8192
jsr$e544
lda#$00
sta$d020
sta$d021
sta$0286
;spr yarat
lda#$01
sta$d015
lda #$c0 ; $3000 'den sprite datasi al
sta $07f8
lda#$a0
;sacede x koordinati($d000) onemli
;y koordinati($d001) sinus tablosundan okunacak
sta$d000
;interrupt
sei
lda#$7f
sta$dc0d
lda$d01a
ora#$01
sta$d01a
lda$d011
and#$7f
sta$d011
lda#$80
sta$d012
lda#
sta$0314
lda#>int
sta$0315
cli
rts
int:
inc$d019
jsr sprite
jmp$ea81
sprite:
ldx indeks
ldy sintablo,x
sty$d001
inc indeks
rts
indeks:
!byte $00 ;sinus tablosunda kacinci degerde oldugumuz
;bu byte ta saklaniyor
!align 255,0
sintablo:
; ($d001)'e her seferinde # olarak sirayla veriliyor
!byte 80,80,80,80,80,80,80,80,80,80,80,80,80,81,81,81
!byte 81,81,81,82,82,82,82,83,83,83,83,84,84,84,85,85
!byte 85,86,86,86,87,87,88,88,88,89,89,90,90,91,91,91
!byte 92,92,93,93,94,94,95,95,96,96,97,97,98,98,99,99
!byte 100,100,101,101,102,102,103,103,104,104,104,105
!byte 105,106,106,107
!byte 107,108,108,109,109,110,110,110,111,111,112,112
!byte 112,113,113,113
!byte 114,114,114,115,115,115,116,116,116,117,117,117
!byte 117,117,118,118
!byte 118,118,118,119,119,119,119,119,119,119,119,119
!byte 119,119,119,119
!byte 119,119,119,119,119,119,119,119,119,119,119,119
!byte 119,118,118,118
!byte 118,118,117,117,117,117,117,116,116,116,115,115
!byte 115,114,114,114
!byte 113,113,113,112,112,112,111,111,110,110,110
!byte 109,109,108,108,107
!byte 107,106,106,105,105,104,104,104,103,103,102,102
!byte 101,101,100,100
!byte 99,99,98,98,97,97,96,96,95,95,94,94,93,93,92,92
!byte 91,91,91,90,90,89,89,88,88,88,87,87,86,86,86,85
!byte 85,85,84,84,84,83,83,83,83,82,82,82,82,81,81,81
!byte 81,81,81,80,80,80,80,80,80,80,80,80,80,80,80,80
*=$3000
spritedata:
!byte 0,0,0,0,0,0,0,120,0,0,204,0,0,207,0,0,192,0,0,207
!byte 0,0,204,0,0,120,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
!byte 120,12,204,204,28,216,192,60,240,248,204,224
!byte 196,254,240,196,12,216,120,12,204