home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Commodore Disc 14
/
Commodore_Disc_14_19xx_-_de.d64
/
bmass
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-10-26
|
16KB
|
1,149 lines
70 sys9*4096
80 .opt oo
90 ; ----
130 setlfs =$ffba
170 setnam =$ffbd
210 open =$ffc0
250 chkin =$ffc6
290 chrin =$ffcf
330 clrchn =$ffcc
370 cursor =$fff0
410 clrscr =$e544
450 chrout =$ffd2
490 getin =$ffe4
530 close =$ffc3
570 chkout =$ffc9
610 clall =$ffe7
650 crscol =$0286
690 bgdcol =$d020
730 fgdcol =$d021
770 zpadl =$00fb
810 zpadh =$00fc
815 screen =$0400
816 color =$d800
850 devout =$009a
860 loram =$6000
890 ; ----
930 *= loram
970 jmp main
1010 ; ----
1130 track .byte 0
1170 sector .byte 0
1171 status .byte 0
1210 bal .byte 0
1250 bah .byte 0
1290 curs .byte 0
1330 byte .byte 0
1370 base .byte 0
1371 zeibas .byte 0
1372 xx .byte 0
1373 yy .byte 0
1374 narg1 .byte 0
1375 narg2 .byte 0
1410 trprl .byte 0
1450 trprh .byte 0
1490 seprl .byte 0
1530 seprh .byte 0
1610 ergl .byte 0
1650 ergh .byte 0
1690 worl .byte 0
1730 worh .byte 0
1770 arg1 .byte 0
1810 arg2 .byte 0
1850 xypr .byte 0
2330 hxprtb .asc "0123456789abcdef"
2370 multab .byte 1,2,4,8,16,32,64,128
2380 stapuf .asc " "
2390 txt001 .asc "f1=view block [146]"
2392 txt002 .asc "f2=print block [146] track = [146] bytadr= "
2394 txt003 .asc "f3=write block [146] sector= [146] byte = "
2396 txt004 .asc "f4=other disk [146] status= [146]"
2398 txt005 .asc "f7=reject [146]"
2400 ndvtxt .asc "no device"
2450 ; ----
2460 dpuff =*
2470 *= *+256
2489 ; ----
2490 divie .byte 0
2530 divi1l .byte 0
2570 divi1h .byte 0
2610 divi2 .byte 0
2650 div stx divi1l
2690 sty divi1h
2730 sta divi2
2770 tax
2810 bne divi01
2850 sec
2890 rts
2930 divi01 lda #0
2970 sta divie
3010 divi02 lda divi1l
3050 cmp divi2
3090 bpl divi03
3130 lda divi1h
3170 beq divi04
3210 divi03 inc divie
3250 lda divi1l
3290 sec
3330 sbc divi2
3370 sta divi1l
3410 bcs divi02
3450 dec divi1h
3490 jmp divi02
3530 divi04 ldx divie
3570 lda divi1l
3610 clc
3650 rts
3690 ; ----
3730 mul stx arg1
3770 sty arg2
3810 ldx #$00
3850 stx ergl
3890 stx ergh
3930 mul1 lda arg2
3970 and multab,x
4010 beq mul6
4050 lda arg1
4090 sta worl
4130 ldy #$00
4170 sty worh
4210 mul2 sty xypr
4250 cpx xypr
4290 beq mul4
4330 asl worh
4370 clc
4410 asl worl
4450 bcc mul3
4490 inc worh
4530 mul3 iny
4570 bne mul2
4610 mul4 clc
4650 lda ergl
4690 adc worl
4730 sta ergl
4770 bcc mul5
4810 clc
4850 inc ergh
4890 mul5 lda ergh
4930 adc worh
4970 sta ergh
5010 mul6 inx
5050 cpx #$08
5090 bne mul1
5130 ldx ergl
5170 ldy ergh
5210 rts
5250 ; ----
5290 hxprt tay
5330 and #$0f
5370 tax
5410 lda hxprtb,x
5450 tax
5490 tya
5530 and #$f0
5570 lsr a
5610 lsr a
5650 lsr a
5690 lsr a
5730 tay
5770 lda hxprtb,y
5810 tay
5850 rts
5890 ; ----
5895 curyel lda #7
5900 sta crscol
5905 rts
5910 ; ----
5915 curwht lda #1
5920 sta crscol
5925 rts
6565 ; ----
6570 initsc jsr clrscr
6579 lda #7
6580 sta bgdcol
6585 lda #6
6586 sta fgdcol
6587 jsr curyel
6588 ldx #0
6589 txa
6590 inits6 sta dpuff,x
6591 inx
6592 bne inits6
6593 stx base
6594 stx track
6595 stx sector
6596 stx curs
6597 stx byte
6598 stx xx
6599 stx status
6600 ldx #5
6601 stx yy
6604 ldx #20
6605 jsr curs00
6610 ldx #0
6611 inits1 lda txt001,x
6612 jsr chrout
6613 inx
6614 cpx #42
6615 bne inits1
6620 ldx #21
6625 jsr curs00
6630 ldx #0
6631 inits2 lda txt002,x
6632 jsr chrout
6633 inx
6634 cpx #46
6635 bne inits2
6640 ldx #22
6645 jsr curs00
6650 ldx #0
6651 inits3 lda txt003,x
6652 jsr chrout
6653 inx
6654 cpx #46
6655 bne inits3
6660 ldx #23
6665 jsr curs00
6670 ldx #0
6671 inits4 lda txt004,x
6672 jsr chrout
6673 inx
6674 cpx #44
6675 bne inits4
6676 ldx #24
6677 jsr curs00
6678 ldx #0
6679 inits5 lda txt005,x
6680 jsr chrout
6681 inx
6682 cpx #41
6683 bne inits5
6688 lda #160
6689 sta screen+999
6690 lda #7
6695 sta color+999
6697 jsr bsbl
6700 rts
6705 ; ----
6710 bsbl ldx #0
6715 bsbl10 txa
6716 pha
6720 jsr curs00
6725 jsr zeil
6730 pla
6731 tax
6735 inx
6740 cpx #20
6745 bne bsbl10
6746 jsr pritck
6747 jsr prisec
6748 jsr pricrs
6749 jsr pribte
6750 jsr prista
6751 rts
6755 ; ----
6760 prbl ldx #0
6765 prbl10 txa
6766 pha
6767 jsr spac
6768 pla
6769 tax
6770 pha
6771 jsr zeil
6772 lda #13
6773 jsr chrout
6775 pla
6776 tax
6780 inx
6785 cpx #32
6790 bne prbl10
6795 rts
6800 ; ----
6801 writ jsr trsepr
6802 jsr wrt030
6803 jsr clrchn
6804 jsr bsbl
6805 lda #0
6806 sta xx
6807 lda #5
6808 sta yy
6809 rts
6817 ; ----
6818 view jsr trsepr
6819 jsr get030
6820 jsr clrchn
6825 jsr bsbl
6826 lda #0
6827 sta xx
6828 lda #5
6829 sta yy
6830 rts
6835 ; ----
6840 prin jsr view
6845 jsr oppr00
6850 ldx #4
6855 jsr chkout
6860 lda devout
6865 cmp #4
6870 bne prin90
6875 lda #13
6880 jsr chrout
6881 jsr chrout
6882 jsr chrout
6883 jsr spac
6885 lda track
6890 jsr pribyt
6895 lda sector
6900 jsr pribyt
6905 lda #13
6910 jsr chrout
6911 jsr chrout
6915 jsr prbl
6920 jsr clpr00
6925 prin90 rts
6930 ; ----
6935 zeil lda #0
6940 sta bal
6941 sta bah
6945 ldy #8
6950 jsr mulba
6955 ldx base
6960 ldy #0
6965 jsr bapl
6970 stx zeibas
6975 txa
6980 jsr pribyt
6985 lda #":"
6990 jsr chrout
6995 lda #" "
7000 jsr chrout
7005 ldy #0
7010 ldx zeibas
7015 zeil10 txa
7016 pha
7020 tya
7021 pha
7022 jsr curyel
7023 cpx curs
7024 bne zeil12
7025 lda dpuff,x
7026 sta byte
7027 jsr curwht
7028 zeil12 lda dpuff,x
7030 jsr pribyt
7035 pla
7036 tay
7040 pla
7041 tax
7045 inx
7050 iny
7055 cpy #8
7060 bne zeil10
7065 lda #32
7070 jsr chrout
7071 jsr chrout
7072 jsr chrout
7074 jsr curyel
7075 ldy #0
7080 ldx zeibas
7085 zeil20 txa
7086 pha
7090 tya
7091 pha
7095 lda dpuff,x
7100 cmp #32
7110 bmi zeil30
7115 cmp #96
7120 bmi zeil35
7125 zeil30 lda #"."
7130 zeil35 jsr chrout
7135 pla
7136 tay
7140 pla
7141 tax
7145 inx
7150 iny
7155 cpy #8
7160 bne zeil20
7185 rts
7190 ; ----
7200 spac ldx #0
7210 lda #32
7220 spac1 jsr chrout
7230 inx
7240 cpx #20
7250 bne spac1
7260 rts
10330 ; ----
10370 curs00 ldy #0
10410 clc
10450 jsr cursor
10490 rts
10530 ; ----
10570 gettas lda #0
10610 jsr getin
10650 tax
10690 beq gettas
10730 rts
10770 ; ----
10775 gettck lda track
10776 sta narg2
10777 lda #0
10778 sta narg1
10781 jsr curwht
10782 jsr pritck
10794 gettc1 jsr gettas
10796 cmp #136
10798 bne gettc2
10800 sec
10802 jmp gettc8
10804 gettc2 ldx #0
10806 gettc3 cmp hxprtb,x
10808 beq gettc4
10810 inx
10812 cpx #16
10814 bne gettc3
10816 cmp #13
10818 beq gettc7
10820 cmp #32
10822 beq gettc7
10824 bne gettc1
10826 gettc4 lda narg2
10828 sta narg1
10830 stx narg2
10832 asl a
10834 asl a
10836 asl a
10838 asl a
10840 ora narg2
10842 sta track
10844 jsr pritck
10846 jmp gettc1
10847 gettc7 clc
10848 gettc8 php
10849 jsr curyel
10854 jsr pritck
10855 plp
10870 rts
10872 ; ----
10875 getsec lda sector
10876 sta narg2
10878 lda #0
10883 sta narg1
10885 jsr curwht
10886 jsr prisec
10894 getse1 jsr gettas
10896 cmp #136
10898 bne getse2
10900 sec
10902 jmp getse8
10904 getse2 ldx #0
10906 getse3 cmp hxprtb,x
10908 beq getse4
10910 inx
10912 cpx #16
10914 bne getse3
10916 cmp #13
10918 beq getse7
10920 cmp #32
10922 beq getse7
10924 bne getse1
10926 getse4 lda narg2
10928 sta narg1
10930 stx narg2
10932 asl a
10934 asl a
10936 asl a
10938 asl a
10940 ora narg2
10942 sta sector
10944 jsr prisec
10946 jmp getse1
10947 getse7 clc
10948 getse8 php
10949 jsr curyel
10954 jsr prisec
10955 plp
10956 rts
10975 ; ----
11000 getbte lda byte
11001 sta narg2
11005 lda #0
11006 sta narg1
11008 jsr curwht
11009 jsr pribte
11015 getbt1 jsr gettas
11020 cmp #136
11025 bne getbt2
11030 sec
11035 jmp getbt8
11040 getbt2 ldx #0
11045 getbt3 cmp hxprtb,x
11050 beq getbt4
11055 inx
11060 cpx #16
11065 bne getbt3
11070 cmp #13
11075 beq getbt7
11080 cmp #32
11085 beq getbt7
11090 bne getbt1
11095 getbt4 lda narg2
11100 sta narg1
11105 stx narg2
11115 asl a
11120 asl a
11125 asl a
11130 asl a
11135 ora narg2
11140 sta byte
11145 jsr pribte
11150 jmp getbt1
11554 getbt7 clc
11555 getbt8 php
11556 jsr curyel
11559 jsr pribte
11560 plp
11561 rts
11565 ; ----
12090 pritck ldx #21
12095 ldy #24
12100 clc
12105 jsr cursor
12170 lda track
12210 jsr pribyt
12250 rts
12290 ; ----
12330 prisec ldx #22
12335 ldy #24
12340 clc
12345 jsr cursor
12410 lda sector
12450 jsr pribyt
12490 rts
12500 ; ----
12530 pricrs ldx #21
12535 ldy #36
12540 clc
12545 jsr cursor
12610 lda curs
12650 jsr pribyt
12690 rts
12700 ; ----
12730 pribte ldx #22
12735 ldy #36
12740 clc
12745 jsr cursor
12810 lda byte
12850 jsr pribyt
12890 rts
12900 ; ----
12930 prista ldx #23
12935 ldy #24
12940 clc
12945 jsr cursor
12950 lda status
12955 jsr pribyt
12960 rts
33450 ; ----
33490 bapl txa
33530 clc
33570 adc bal
33610 sta bal
33650 tax
33690 bcc bapl01
33730 inc bah
33770 bapl01 tya
33810 clc
33850 adc bah
33890 sta bah
33930 tay
33970 rts
34010 ; ----
34050 op1500 lda #15
34090 ldx #8
34130 tay
34170 jsr setlfs
34210 lda #0
34250 op1501 jsr setnam
34290 jsr open
34330 rts
34370 ; ----
34410 oppr00 lda #4
34450 tax
34490 ldy #0
34530 jsr setlfs
34570 lda #0
34610 jmp op1501
34650 ; ----
34690 op0300 lda #3
34730 ldx #8
34770 tay
34810 jsr setlfs
34850 lda #1
34890 ldx #<hashmk
34930 ldy #>hashmk
34970 jmp op1501
35010 hashmk .asc "#"
35050 ; ----
35090 get030 jsr getcom
35100 ldy #0
35250 get031 jsr chrin
35290 sta dpuff,y
35330 iny
35370 bne get031
35410 rts
35450 ; ----
35455 getcom jsr usr100
35456 jsr getst
35457 ldx #3
35459 jsr chkin
35463 rts
35489 ; ----
35490 wrt030 jsr bp0300
35530 ldx #3
35570 jsr chkout
35610 ldy #0
35650 wrt031 lda dpuff,y
35690 jsr chrout
35730 iny
35770 bne wrt031
35810 jsr usr200
35820 jsr getst
35850 rts
36090 ; ----
36130 mulba jsr mul
36170 jsr bapl
36210 rts
36250 ; ----
37330 ; ----
37370 cl0300 lda #3
37410 jsr close
37450 rts
37490 ; ----
37530 cl1500 lda #15
37570 jsr close
37610 rts
37650 ; ----
37690 clpr00 jsr clrchn
37730 ldx #4
37770 jsr chkout
37810 lda #13
37850 jsr chrout
37890 jsr clrchn
37930 lda #4
37970 jsr close
38010 rts
38050 ; ----
38090 usr100 jsr usrc00
38130 lda #"1"
38170 jmp usrc10
38210 ; ----
38250 usrc00 jsr clrchn
38290 ldx #15
38330 jsr chkout
38370 lda #"u"
38410 jsr chrout
38450 rts
38490 ; ----
38530 trsepr ldx track
38570 ldy #0
38610 lda #10
38650 jsr div
38690 pha
38730 lda hxprtb,x
38770 sta trprh
38810 pla
38850 tax
38890 lda hxprtb,x
38930 sta trprl
38970 ldx sector
39010 ldy #0
39050 lda #10
39090 jsr div
39130 pha
39170 lda hxprtb,x
39210 sta seprh
39250 pla
39290 tax
39330 lda hxprtb,x
39370 sta seprl
39410 rts
39450 ; ----
39490 usr200 jsr usrc00
39530 lda #"2"
39570 jmp usrc10
39610 ; ----
39650 usrc10 jsr chrout
39690 lda #":"
39730 jsr chrout
39770 lda #"3"
39810 jsr chrout
39850 lda #","
39890 jsr chrout
39930 usrc20 lda #"0"
39970 jsr chrout
40010 lda #","
40050 jsr chrout
40090 lda trprh
40130 jsr chrout
40170 lda trprl
40210 jsr chrout
40250 lda #","
40290 jsr chrout
40330 lda seprh
40370 jsr chrout
40410 lda seprl
40450 jsr chrout
40490 jsr clrchn
40530 rts
40570 ; ----
44690 ; ----
44730 bp0300 ldx #15
44770 jsr chkout
44810 lda #"b"
44850 jsr chrout
44890 lda #"-"
44930 jsr chrout
44970 lda #"p"
45010 jsr chrout
45050 lda #":"
45090 jsr chrout
45130 lda #"3"
45170 jsr chrout
45210 lda #","
45250 jsr chrout
45290 lda #"0"
45330 jsr chrout
45370 jsr clrchn
45410 rts
45450 ; ----
45490 getst ldx #15
45530 jsr chkin
45570 lda #0
45580 sta bal
45590 sta bah
45600 jsr chrin
45610 sec
45620 sbc #48
45690 tax
45700 ldy #10
45710 jsr mulba
45937 stx status
46010 jsr chrin
46020 sec
46030 sbc #48
46040 clc
46050 adc status
46090 sta status
46130 jsr clrchn
46170 jsr prista
46290 rts
46570 ; ----
46591 ; ----
46610 pribyt jsr hxprt
46650 tya
46690 jsr chrout
46730 txa
46770 jsr chrout
46810 lda #32
46850 jsr chrout
46890 rts
46930 ; ----
48010 ; ----
48050 prbl00 ldx #0
48090 prbl01 lda #13
48130 jsr chrout
48170 txa
48210 pha
48250 jsr pribyt
48290 pla
48330 tax
48370 lda #":"
48410 jsr chrout
48450 lda #32
48490 jsr chrout
48530 ldy #0
48570 prbl02 tya
48610 pha
48650 txa
48690 pha
48730 lda dpuff,x
48770 jsr pribyt
48810 pla
48850 tax
48890 pla
48930 tay
48970 inx
49010 iny
49050 cpy #16
49090 bne prbl02
49130 txa
49170 bne prbl01
49210 rts
49250 ; ----
50000 ; ----
50005 f1wht lda #<color
50010 sta bal
50015 lda #>color
50020 sta bah
50025 ldx #40
50030 ldy #20
50035 jsr mulba
50040 stx zpadl
50045 sty zpadh
50050 ldy #0
50055 lda #1
50060 f1wht1 sta (zpadl),y
50065 iny
50070 cpy #14
50075 bne f1wht1
50080 rts
50100 ; ----
50105 f2wht lda #<color
50110 sta bal
50115 lda #>color
50120 sta bah
50125 ldx #40
50130 ldy #21
50135 jsr mulba
50140 stx zpadl
50145 sty zpadh
50150 ldy #0
50155 lda #1
50160 f2wht1 sta (zpadl),y
50165 iny
50170 cpy #14
50175 bne f2wht1
50180 rts
50200 ; ----
50205 f3wht lda #<color
50210 sta bal
50215 lda #>color
50220 sta bah
50225 ldx #40
50230 ldy #22
50235 jsr mulba
50240 stx zpadl
50245 sty zpadh
50250 ldy #0
50255 lda #1
50260 f3wht1 sta (zpadl),y
50265 iny
50270 cpy #14
50275 bne f3wht1
50280 rts
50300 ; ----
50305 f1yel lda #<color
50310 sta bal
50315 lda #>color
50320 sta bah
50325 ldx #40
50330 ldy #20
50335 jsr mulba
50340 stx zpadl
50345 sty zpadh
50350 ldy #0
50355 lda #7
50360 f1yel1 sta (zpadl),y
50365 iny
50370 cpy #14
50375 bne f1yel1
50380 rts
50400 ; ----
50405 f2yel lda #<color
50410 sta bal
50415 lda #>color
50420 sta bah
50425 ldx #40
50430 ldy #21
50435 jsr mulba
50440 stx zpadl
50445 sty zpadh
50450 ldy #0
50455 lda #7
50460 f2yel1 sta (zpadl),y
50465 iny
50470 cpy #14
50475 bne f2yel1
50480 rts
50500 ; ----
50505 f3yel lda #<color
50510 sta bal
50515 lda #>color
50520 sta bah
50525 ldx #40
50530 ldy #22
50535 jsr mulba
50540 stx zpadl
50545 sty zpadh
50550 ldy #0
50555 lda #7
50560 f3yel1 sta (zpadl),y
50565 iny
50570 cpy #14
50575 bne f3yel1
50580 rts
59999 ; ----
60000 main jsr initsc
60010 jsr op1500
60020 ldx #15
60030 jsr chkout
60040 lda devout
60050 cmp #8
60059 beq main05
60060 jsr clrchn
60061 jsr clrscr
60071 ldx #0
60072 main01 lda ndvtxt,x
60073 jsr chrout
60074 inx
60075 cpx #9
60076 bne main01
60080 jsr clall
60082 ldx #0
60083 jsr curs00
60090 rts
60100 main05 jsr op0300
60110 main10 jsr tast00
60120 jsr cl0300
60130 jsr cl1500
60135 jsr clrscr
60140 rts
60145 ; ----
60150 tast00 jsr clrchn
60151 jsr f1yel
60152 jsr f2yel
60153 jsr f3yel
60165 jsr gettas
60170 cmp #133
60175 bne tast01
60180 jmp tast10
60185 tast01 cmp #137
60190 bne tast02
60195 jmp tast20
60200 tast02 cmp #134
60205 bne tast03
60210 jmp tast30
60215 tast03 cmp #138
60220 bne tast06
60225 rts
60260 tast06 cmp #135
60262 bne tast07
60264 inc fgdcol
60266 lda fgdcol
60268 and #$0f
60270 sta fgdcol
60272 jmp tast00
60274 tast07 cmp #139
60276 bne tast08
60278 inc bgdcol
60280 lda bgdcol
60282 and #$0f
60284 sta bgdcol
60286 jmp tast00
60288 tast08 jmp tast34
60748 tast10 jsr f1wht
60750 ldx #20
60751 ldy #14
60752 clc
60753 jsr cursor
60760 lda track
60761 pha
60762 lda sector
60763 pha
60764 jsr gettck
60765 bcc tast13
60766 tast12 pla
60767 sta sector
60768 pla
60769 sta track
60770 jsr pritck
60771 jsr prisec
60772 jmp tast00
60773 tast13 jsr getsec
60774 bcs tast12
60775 pla
60776 pla
60780 lda #0
60790 sta curs
60795 sta base
60825 jsr view
60830 jmp tast00
61178 tast20 jsr f2wht
61180 ldx #21
61181 ldy #14
61182 clc
61183 jsr cursor
61190 lda track
61191 pha
61192 lda sector
61193 pha
61194 jsr gettck
61195 bcc tast23
61196 tast22 pla
61197 sta sector
61198 pla
61199 sta track
61200 jsr pritck
61201 jsr prisec
61202 jmp tast00
61203 tast23 jsr getsec
61204 bcs tast22
61205 pla
61206 pla
61209 lda #0
61210 sta curs
61220 sta base
61225 jsr prin
61230 jmp tast00
61778 tast30 jsr f3wht
61780 ldx #22
61781 ldy #14
61782 clc
61783 jsr cursor
61790 lda track
61791 pha
61792 lda sector
61793 pha
61794 jsr gettck
61795 bcc tast33
61796 tast32 pla
61797 sta sector
61798 pla
61799 sta track
61800 jsr pritck
61801 jsr prisec
61802 jmp tast00
61803 tast33 jsr getsec
61804 bcs tast22
61805 pla
61806 pla
61809 lda #0
61810 sta curs
61820 sta base
61825 jsr writ
61830 jmp tast00
61840 tast34 cmp #157
61845 bne tast35
61850 jmp tast40
61855 tast35 cmp #145
61860 bne tast36
61865 jmp tast50
61870 tast36 cmp #29
61875 bne tast37
61880 jmp tast60
61885 tast37 cmp #17
61890 bne tast38
61895 jmp tast70
61900 tast38 ldx #0
61905 tast39 cmp hxprtb,x
61910 beq tas039
61915 inx
61920 cpx #16
61925 bne tast39
61930 jmp tast00
61935 tas039 jmp tast80
61940 tast40 dec curs
61941 lda curs
61942 cmp #$ff
61950 bne tast41
61951 lda #0
61952 sta curs
61953 jsr bsbl
61955 jmp tast00
61960 tast41 dec yy
61966 dec yy
61967 dec yy
61974 lda #2
61975 cmp yy
61980 bne tast42
61985 lda #26
61990 sta yy
61995 tast42 lda yy
62000 cmp #26
62005 bne tast43
62006 lda curs
62007 clc
62008 adc #8
62009 sta curs
62010 jmp tast50
62015 tast43 jsr bsbl
62435 jmp tast00
62440 tast50 lda curs
62441 and #$f8
62443 bne tast51
62444 jsr bsbl
62455 jmp tast00
62460 tast51 lda curs
62465 sec
62470 sbc #8
62475 sta curs
62480 lda xx
62490 beq tast52
62495 dec xx
62500 jsr bsbl
62505 jmp tast00
62510 tast52 lda base
62520 sec
62530 sbc #8
62535 sta base
62540 jsr bsbl
62935 jmp tast00
62940 tast60 inc curs
62941 lda curs
62950 bne tast61
62951 lda #$ff
62952 sta curs
62953 jsr bsbl
62955 jmp tast00
62960 tast61 inc yy
62966 inc yy
62967 inc yy
62974 lda #28
62975 cmp yy
62980 bpl tast62
62985 lda #5
62990 sta yy
62995 tast62 lda yy
63000 cmp #5
63005 bne tast63
63006 lda curs
63007 sec
63008 sbc #8
63009 sta curs
63010 jmp tast70
63015 tast63 jsr bsbl
63435 jmp tast00
63440 tast70 lda curs
63441 and #$f8
63442 cmp #$f8
63443 bne tast71
63444 jsr bsbl
63455 jmp tast00
63460 tast71 lda curs
63465 clc
63470 adc #8
63475 sta curs
63480 lda xx
63485 cmp #19
63490 bpl tast72
63495 inc xx
63500 jsr bsbl
63505 jmp tast00
63510 tast72 lda base
63520 clc
63530 adc #8
63535 sta base
63540 jsr bsbl
63935 jmp tast00
63940 tast80 stx byte
63955 jsr getbte
63956 bcc tast81
63957 jsr bsbl
63958 jmp tast00
63960 tast81 ldx curs
63965 lda byte
63970 sta dpuff,x
63971 jmp tast60