Skate trick mükemmel şekilde çalışıyor. Eline sağlık. Kodun çalışan halinide buraya paste ediyorum ki ileride belki birilerinin işine yarar yada ilgisini çeker.
!to"irq0c.prg",cbm
;Ekran ayarları
ekran0=87 ;2 ila 87 pixeller arası 0.ekran
ekran1=ekran0+21+1 ;buna 21 pixellik sprite uzunluğunu ve 1 pixel fazlalık ilave ettik
ykor0=ekran0-20 ; üst sıradaki spriteların y koordinatı
ykor1=(ykor0+21); alt sıradaki spriteların y koordinatı
* = $0801 ;autorun
!byte $0c, $08, $00, $00, $9e, $32, $30, $36, $31, $00, $00, $00
*=$080d
;$3800'deki ekranı temizle
ldx#0
lda#$20
sta$3840,x
inx
bne *-4
;Ekran rengi siyah
ldx#$00
stx$d020
stx$d021
;ekran siliniyor tüm spritelar açılıyor
jsr$e544
lda#$ff
sta$d015
;x koordinatında $55 'ten başlayıp 24 pixel arayla spritelar diziliyor
ldx#$00
lda#$55
sta$d000,x
clc
adc#24
inx
inx
cpx#16
bne *-10
;interrupt rutini
sei
lda #$7f
sta $dc0d
lda $d01a
ora #$01
sta $d01a
lda $d011
and #$7f
sta $d011
lda #$2
sta $d012
lda #sta $0314
lda #>irq1
sta $0315
cli
jmp*
irq1:
;ekran normal $0400'de
lda #$14
sta $d018
;spritelar y koordinatında diziliyor
ldy# ykor0
sty$d001
sty$d003
sty$d005
sty$d007
sty$d009
sty$d00b
sty$d00d
sty$d00f
;üst spritelar için $c0x$40=$3000 den data alıyoruz
ldx #$00
lda #$c0
sta $07f8,x
inx
cpx #8
bne *-6
;ekran0 ın değeri ile ekranı bölüp diğer irq ya atlıyoruz
lda #sta $0314
lda #>irq2
sta $0315
lda #ekran0
sta $d012
lda#$01
sta$d019
jmp $ea7e
;Alt sıradaki spritelar ile ilgili bölüm
irq2:
ldy# ykor1
sty$d001
sty$d003
sty$d005
sty$d007
sty$d009
sty$d00b
sty$d00d
sty$d00f
;Ekran $3800'de
lda #$e4
sta $d018
;Spritelarda $3c00'da
ldx #$00
lda #$f0
sta $3bf8,x
inx
cpx #8
bne *-6
lda #sta $0314
lda #>irq1
sta $0315
lda #ekran1
sta $d012
lda#$01
sta$d019
jmp $ea7e
* = $3000
!byte %11111111,%11111111,%11111111
!byte %00000000,%00000000,%00000000
!byte %11111111,%11111111,%11111111
!byte %00000000,%00000000,%00000000
!byte %11111111,%11111111,%11111111
!byte %00000000,%00000000,%00000000
!byte %11111111,%11111111,%11111111
!byte %00000000,%00000000,%00000000
!byte %11111111,%11111111,%11111111
!byte %00000000,%00000000,%00000000
!byte %11111111,%11111111,%11111111
!byte %00000000,%00000000,%00000000
!byte %11111111,%11111111,%11111111
!byte %00000000,%00000000,%00000000
!byte %11111111,%11111111,%11111111
!byte %00000000,%00000000,%00000000
!byte %11111111,%11111111,%11111111
!byte %00000000,%00000000,%00000000
!byte %11111111,%11111111,%11111111
!byte %00000000,%00000000,%00000000
!byte %11111111,%11111111,%11111111
*=$3c00
!byte %11111111,%11111111,%11111111
!byte %10011001,%10011001,%10011001
!byte %10011001,%10011001,%10011001
!byte %10011001,%10011001,%10011001
!byte %10011001,%10011001,%10011001
!byte %10011001,%10011001,%10011001
!byte %10011001,%10011001,%10011001
!byte %10011001,%10011001,%10011001
!byte %10011001,%10011001,%10011001
!byte %10011001,%10011001,%10011001
!byte %10011001,%10011001,%10011001
!byte %10011001,%10011001,%10011001
!byte %10011001,%10011001,%10011001
!byte %10011001,%10011001,%10011001
!byte %10011001,%10011001,%10011001
!byte %10011001,%10011001,%10011001
!byte %10011001,%10011001,%10011001
!byte %10011001,%10011001,%10011001
!byte %10011001,%10011001,%10011001
!byte %11111111,%11111111,%11111111