Ufak bir noter yazIyorum.
Muzik vs de ekleyecegim icin interrupt kuLLanIyorum.
Sorun $u ki sayfaLar space tu$uyLa gecilecek...
Fakat space 'e basar basmaz hIzdan doLaYI 2-3 sayfa birden atLIyor.
HIzdan doLayI oLdugunu nerden biliyorum? Vice'da hIzI %20 ye falan dusurunce normaL caLIsIyor ve tum sayfaLarI gosteriyor.
$028b 'i de ke$fettim
akumulatore #$ff (veya herhangi yuksek bir deger) yukleyince 2.kez tu$ tekrarInI bir sure askIya aLIyor fakat irq den sanIrIm $028b de devre dI$I kaLIyor.
Mesela source'a benzer kIsa bir ornek vermek gerekirse soyle bi$ey:
($u an ekrana text'leride surekli basIyor fakat sayfa atLama sorununu cozunce tekrar basmayI hallederim herhalde)
!to"note.prg",cbm
*=$0801
!byte $0b,$08,$00,$00,$9e,$32,$30,$36,$31,$00,$00,$00
*=$080d
renk=$d800
ekran=$400
lda#$01
sta$0286
lda#$00
sta$d020
sta$d021
lda#$ff
sta$028b
lda#$01
sta sayfa
jsr$e544
sei
lda#$7f
sta$dc0d
lda#$00
sta$dc0e
lda#$01
sta$d01a
lda#$1b
sta$d011
lda#$80
sta$d012
lda#
sta$0314
lda#>int
sta$0315
cli
rts
int:
inc$d019
jsr anarutin
jmp$ea81
anarutin:
lda sayfa
cmp#$01
beq sayfa1
cmp#$02
beq sayfa2
cmp#$03
beq sayfa3
rts
sayfa1:
ldx#$00
lda#$00
textloop:
lda text+$0,x
sta ekran+$0,x
inx
cpx#$ff
bne textloop
lda$dc01
cmp#$ef
beq sayfa2
jmp irqson
sayfa2:
lda#$02
sta sayfa
ldx#$00
lda#$00
textloop2:
lda texta+$0,x
sta ekran+$0,x
inx
cpx#$ff
bne textloop2
lda$dc01
cmp#$ef
beq sayfa3
jmp irqson
sayfa3:
lda#$03
sta sayfa
ldx#$00
lda#$00
textloop3:
lda textb+$0,x
sta ekran+$0,x
inx
cpx#$ff
bne textloop3
lda$dc01
cmp#$ef
beq sayfa3
jmp irqson
irqson:
rts
sayfa:
!byte $00
text:
!scr "1111111111111111111111111111111111111111"
!scr "1111111111111111111111111111111111111111"
!scr "1111111111111111111111111111111111111111"
!scr "1111111111111111111111111111111111111111"
!scr "1111111111111111111111111111111111111111"
!scr "1111111111111111111111111111111111111111"
!scr "1111111111111111"
texta:
!scr "2222222222222222222222222222222222222222"
!scr "2222222222222222222222222222222222222222"
!scr "2222222222222222222222222222222222222222"
!scr "2222222222222222222222222222222222222222"
!scr "2222222222222222222222222222222222222222"
!scr "2222222222222222222222222222222222222222"
!scr "2222222222222222"
textb:
!scr "3333333333333333333333333333333333333333"
!scr "3333333333333333333333333333333333333333"
!scr "3333333333333333333333333333333333333333"
!scr "3333333333333333333333333333333333333333"
!scr "3333333333333333333333333333333333333333"
!scr "3333333333333333333333333333333333333333"
!scr "3333333333333333"