Test 2
* okreslenie, w ktorym cyklu w linii
* pojawia sie nowa wartosc w $d40b
opt 21
org $9000
lda $230 zapamietaj dlv
pha
lda $231
pha
lda <dlist
sta $230
lda >dlist
sta $231
lda <dli
sta $200
lda >dli
sta $201
odswiez lda #12
sta $f0
lda >$9500
sta wynik+2
lda <ekran
sta dalej+1
lda >ekran
sta dalej+2
lda <pusta
sta kasuj+1
lda >pusta
sta kasuj+2
ldx #3
ldy #0
lda #0
kasuj sta pusta,y
iny
bne kasuj
inc kasuj+2
dex
bne kasuj
ldx #0
ldy #4
lda #$c0
sta $D40E nmien
klawisz lda $2fc
cmp #$ff
beq klawisz
pha
lda #$40
sta $D40E nmien
lda #$ff
sta $2fc
pla
cmp #$28 R
beq odswiez
cmp #$01 J
bne o1
ldx nrkodu
beq odswiez
dex
stx nrkodu
jmp podprog
o1 cmp #$02 ;
bne koniec
ldx nrkodu
cpx #21
beq odswiez
inx
stx nrkodu
jmp podprog
koniec pla odtworz dlv
sta $231
pla
sta $230
rts
dli pha
sta $d40a wsync
********************
cmp 0
********************
lda $d40b vcount
wynik sta $9500,x
inx
bne notend
dec $f0
bne npage
lda #$40
sta $D40E nmien
* x = 0
wlinii lda $9500,x
inx
jsr wypisz
txa
and #$f
bne wlinii
ldy #4
clc
lda dalej+1
adc <40
sta dalej+1
lda dalej+2
adc >40
sta dalej+2
txa
bne wlinii
npage inc wynik+2
notend pla
rti
podprog lda <tryb
sta dalej+1
lda >tryb
sta dalej+2
ldy #0
lda kod,x
jsr wypisz
ldy nrlinii,x
beq odline1
lda #$00
sta linia1
odline1 lda kod,x
clc
adc #$80
sta linia1,y
cpx #8
bcc bezadr
iny
lda <dane
sta linia1,y
iny
lda >dane
sta linia1,y
iny
lda #0
sta linia1,y
jmp odswiez
bezadr iny
lda #$00
sta linia1,y
iny
sta linia1,y
iny
sta linia1,y
jmp odswiez
nrkodu dta b($00)
kod dta b($00),b($10),b($20)
dta b($30),b($40),b($50)
dta b($60),b($70)
dta b($42),b($43),b($44)
dta b($45),b($46),b($47)
dta b($48),b($49),b($4a)
dta b($4b),b($4c),b($4d)
dta b($4e),b($4f)
nrlinii dta b($01),b($00),b($01)
dta b($00),b($01),b($00)
dta b($01),b($00)
dta b($00),b($00),b($00)
dta b($00),b($00),b($00)
dta b($00),b($00),b($00)
dta b($00),b($01),b($00)
dta b($01),b($01)
wypisz pha
lsr @
lsr @
lsr @
lsr @
jsr omin
pla
omin and #$F
ora #'0'-32
cmp #'9'-32+1
bcc dalej
adc #6
dalej sta ekran,y
iny
rts
dlist dta b($70),b($70),b($70)
linia1 dta b($00)
linia2 dta b($80)
linia3 dta b($00)
dta b($00)
dta b($20)
dta b($42),a(pusta)
dta b($42),a(ekran)
dta b($02)
dta b($02)
dta b($02)
dta b($02)
dta b($02)
dta b($02)
dta b($02)
dta b($02)
dta b($02)
dta b($02)
dta b($02)
dta b($02)
dta b($02)
dta b($02)
dta b($02)
dta b($02)
dta b($70)
dta b($42),a(info1)
dta b($70)
dta b($42),a(info2)
dta b($41),a(dlist)
dane dta a($ffff),a($ffff),a($ffff)
dta a($ffff),a($ffff),a($ffff)
dta a($ffff),a($ffff),a($ffff)
dta a($ffff),a($ffff),a($ffff)
dta a($ffff),a($ffff),a($ffff)
dta a($ffff),a($ffff),a($ffff)
dta a($ffff),a($ffff)
info1 dta d' Refresh: R'
dta a(0),a(0),a(0),a(0),a(0)
dta a(0),a(0),a(0),a(0),a(0)
dta a(0),a(0)
info2 dta d' Line code: $'
tryb dta d'00+$80 J ;'
pusta org *+65
ekran dta a(0),a(0),a(0),a(0),a(0)
dta a(0),a(0),a(0),a(0),a(0)
dta a(0),a(0),a(0),a(0),a(0)
dta a(0),a(0),a(0),a(0),a(0)
end