home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
64'er 1986 September
/
64er_Magazin_86-09_1986_Markt__Technik_de.d64
/
fsd64.src
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-10-26
|
24KB
|
1,390 lines
1000 rem **** fast serial disk ****
1005 rem save"@0:fsd64.src",8
1010 open1,8,15,"s0:fsd64"
1015 open8,8,1,"fsd64,p,w
1020 [159]4,4
1025 [158]9[172]4096
1030 .opt o8 ;profi[171]ass 64
1035 ;" **** ascast (NULL)erial str$isk 64 ****
1040 ;"(c)1986 by [196].[212]emme, [214]: 16061986
1045 ;
1050 ;"left$ardware: (NULL)serport 6&7->(NULL)erial (NULL)ort 1&5
1055 ;" ([193]nschluss von [211][210][209]/[196][193][212][193] an [195][206][212]2/[211][208]2)
1060 ;"fuer lenentronics ausserdem:
1065 ;" [213]serport [195]-[204] ->[195]entronics 2-9
1070 ;" peek->1, (NULL)->11 (str$atn(NULL)atn, -(NULL)(NULL)(NULL)(NULL)peekval, peek(NULL)(NULL)(NULL))
1075 ;"[194]enutzter [194]ereich: [203]assettenroutinen:
1080 ;" $e4b7-$e4d2: 28 peekytes ( 28 belegt)
1085 ;" $f0d8-$f105: 46 [194]ytes ( 41 belegt)
1090 ;" $f199-$f1ac: 20 peekytes ( 20 belegt)
1095 ;" $f2c8-$f2ed: 38 [194]ytes ( 38 belegt)
1100 ;" $f393-$f3d1: 63 peekytes ( 59 belegt)
1105 ;" $f533-$f5a8: 118 [194]ytes ( 116 belegt)
1110 ;" $f659-$f68d: 53 peekytes ( 53 belegt)
1115 ;" $f72c-$fcd0: 1434 [194]ytes (1433 belegt)
1120 ;" $fec2-$fed5: 20 peekytes ( 19 belegt)
1122 ;
1125 ;"[212]astatur-[198]unktionen:
1130 ;" val(NULL)len lenleft$(NULL)$(27)
1135 ;" [212][193][194]/[211][200][212]-[212][193][194] [195][212][210][204]-+/- [213]0>[205]1/0
1140 ;" atn(NULL)(NULL)/(NULL)left$(NULL)-atn(NULL)(NULL) len=-</> lenleft$(NULL)$(8)/lenleft$(NULL)$(142)
1145 ;" [200][204][208]/[211][200][212]-[200][204][208] [195][212][210][204]-,/. [195]entronics ein/aus
1150 ;" (NULL)asc/(NULL)left$(NULL)-(NULL)asc len(NULL)(NULL)(NULL)-=/(NULL)val(NULL) (NULL)asc ein/aus
1155 ;" [206][207] [211][195][210][207][204][204] [195][212][210][204]-[211] [211]top bis [212]aste
1160 ;" len(NULL)(NULL)(NULL)-str$(NULL)(NULL)(NULL)/(NULL)right$chr$left$(NULL) atn(NULL)lenright$right$-(NULL)andlung ein/aus
1165 ;" [195][212][210][204]-* [207][204][196]-[198]unktion
1170 ;" len(NULL)(NULL)(NULL)-/ valscape-ascunktion
1171 ;"bei [211]crolling: <[195]=> haelt an
1172 ;
1175 ;"str$er neue (NULL)(NULL)(NULL)-peekefehl:
1180 ;" [211][217][211] [196]isk-[211]tatus
1185 ;" (NULL)(NULL)(NULL)'$...'<,dv> str$irectory anzeigen
1190 ;" [211][217][211]'befehl'<,dv> [196]isk-[194]efehl geben
1195 ;" (NULL)(NULL)(NULL)'(NULL)(NULL)name'<,dv> (NULL)val(NULL)-ascile listen
1200 ;" [211][217][211]'[204][208]name'<,dv> [208][210][199]-[198]ile listen
1205 ;" (NULL)(NULL)(NULL)x (x=1..15) fuehrt (NULL)(NULL)(NULL) x*4096 aus
1210 ;" [211][217][211]0 ergibt [211]oft-[194][210][203]
1211 ;
1215 ;"str$er (NULL)(NULL)atnstr$-peekefehl:
1220 ;" [204][207][193][196] [204][207][193][196]"*",8,1
1225 ;" (NULL)(NULL)atnstr$"name",dv,7 kein peekurst-(NULL)ode
1230 ;" [204][207][193][196]"name",dv,9 nach [204]aden [213]0>[205]0 geben
1235 ;" (NULL)(NULL)atnstr$"name",dv,5 atn(NULL)(NULL)val(NULL)str$ (nur in peekatn(NULL)right$len)
1240 ;"------------------------------------------------------
1245 ;">>> peekatn(NULL)right$len-(NULL)(NULL)atnstr$val(NULL) (ab $0801)
1250 start =$f299 ;"(nicht anders moeglich)
1255 [172][178]start
1260 temp [178]$55
1265 .byt $0b,$08
1270 .w[176] 1986
1275 .byt $9e
1280 .[198] "2061"
1285 .byt 0,0,0
1290 ldy #0
1295 sty temp
1300 ldx #$40
1305 lda #$80
1310 sta temp[170]1
1315 copy1 lda (temp),y
1320 sta (temp),y
1325 iny
1330 bne copy1
1335 inc temp[170]1
1340 dex
1345 bne copy1
1350 ldx #$20
1355 lda #$e0
1360 sta temp[170]1
1365 copy2 lda (temp),y
1370 sta (temp),y
1375 iny
1380 bne copy2
1385 inc temp[170]1
1390 dex
1395 bne copy2
1400 lda #8
1405 sta $f387 ;"(NULL)ein (NULL)ape (NULL)(NULL)val(NULL)
1410 lda #$f7
1415 sta $f4b7 ;"[203]ein [212]ape [204][207][193][196]
1420 sta $f5f9 ;"(NULL)ein (NULL)ape (NULL)atn(NULL)val
1425 copy3 lda begprg
1430 sta $f72c
1435 inc copy3-start+$801+1
1440 bne copy4
1445 inc copy3-start+$801+2
1450 copy4 inc copy3-start+$801+4
1455 bne copy5
1460 inc copy3-start+$801+5
1465 copy5 lda copy3-start+$801+1
1470 cmp #<endprg
1475 bne copy3
1480 lda copy3-start+$801+2
1485 cmp #>endprg
1490 bne copy3
1495 ;"[206]eue [198]arben installieren
1500 lda #11 ;d grey
1505 ldx #11
1510 ldy #1 ;white
1515 sta $ecd9 ;rom b[176]der
1520 stx $ecda ;rom ground
1525 sty $e535 ;rom curs[176]
1530 sta $d020 ;vic b[176]der
1535 stx $d021 ;vic ground
1540 sty $0286 ;ram curs[176]
1545 lda #$4c
1550 ;"(NULL)(NULL)atnstr$ installieren
1555 ldx #<newlod
1560 ldy #>newlod
1565 sta $f4c1
1570 stx $f4c2
1575 sty $f4c3
1580 ldx #<ldend
1585 ldy #>ldend
1590 sta $f5aa
1595 stx $f5ab
1600 sty $f5ac
1605 ;"[212][193][204][203]/[204][201][211][212][197][206] installieren
1610 ldx #[179][162]tlk
1615 ldy #[177][162]tlk
1620 sta $ed27
1625 stx $ed28
1630 sty $ed29
1635 ;"right$vallen(NULL)(NULL)(NULL) installieren
1640 ldx #<no1
1645 ldy #>no1
1650 stx $ed4a
1655 sty $ed4b
1660 ldx #<no2
1665 ldy #>no2
1670 sta $ed5a
1675 stx $ed5b
1680 sty $ed5c
1685 ldx #<no3
1690 ldy #>no3
1695 sta $ed94
1700 stx $ed95
1705 sty $ed96
1710 ldx #<no4
1715 ldy #>no4
1720 stx $edb3
1725 sty $edb4
1730 ;"[212][193][204][203]/[204][201][211][212][197][206]/[201][197][195][207][213][212] kopieren
1735 pha
1740 ldy #117
1745 lda xnwtlk[171]start[170]$801,y
1750 sta [162]tlk,y
1755 dey
1760 bpl [172][171]7
1765 pla
1770 ;"(NULL)(NULL)(NULL)right$(NULL)(NULL)val(NULL)/(NULL)(NULL)(NULL)atn(NULL)(NULL)-valnde installieren
1775 ldx #<unlend
1780 ldy #>unlend
1785 stx $ee11
1790 sty $ee12
1795 ;"[193][195][208][212][210] installieren+kopieren
1800 ldx #[179]ni1
1805 ldy #[177]ni1
1810 stx $ee19
1815 sty $ee1a
1820 pha
1825 ldy #70
1830 lda nacptr[171]start[170]$801,y
1835 sta $ee22,y
1840 dey
1845 bpl [172][171]7
1850 ldy #52
1855 lda xntest[171]start[170]$801,y
1860 sta ntest,y
1865 dey
1870 bpl [172][171]7
1875 pla
1880 ;"(NULL)vallen(NULL)(NULL)(NULL) installieren
1885 ldx #<newstk
1890 ldy #>newstk
1895 sta $edc9
1900 stx $edca
1905 sty $edcb
1910 ;"[213][206][204][211][206] installieren
1915 ldx #[179]nunlsn
1920 ldy #[177]nunlsn
1925 stx $ee01
1930 sty $ee02
1935 ;"(NULL)(NULL)(NULL)(NULL)(NULL)/atnlen(NULL)(NULL)(NULL)/(NULL)val(NULL)(NULL)(NULL)right$ kopieren
1940 pha
1945 ldy #37
1950 lda xni1-start+$801,y
1955 sta ni1,y
1960 dey
1965 bpl *-7
1970 pla
1975 ;"[203][197][217] installieren
1980 ldx #[179][162]key
1985 ldy #[177][162]key
1990 sta $ea93
1995 stx $ea94
2000 sty $ea95
2005 ldx #[179][162][161]
2010 ldy #[177][162][161]
2015 stx $eb77
2020 sty $eb78
2025 ldx #[179][162][165]c
2030 ldy #[177][162][165]c
2035 sta $eae4
2040 stx $eae5
2045 sty $eae6
2050 ldx #240
2055 stx $ec78[170]$d
2060 inx
2065 stx $ec78[170]$28
2070 inx
2075 stx $ec78[170]$2b
2080 inx
2085 stx $ec78[170]$2f
2090 inx
2095 stx $ec78[170]$2c
2100 inx
2105 stx $ec78[170]7
2110 inx
2115 stx $ec78[170]2
2120 inx
2125 stx $ec78[170]$35
2130 inx
2135 stx $ec78[170]1
2140 inx
2145 stx $ec78[170]$31
2150 inx
2155 stx $ec78[170]$37
2156 ldx #19
2157 stx $ec78[170]$33 ;"len(NULL)(NULL)(NULL)-left$(NULL)(NULL)val -> left$(NULL)(NULL)val
2158 ldx #14
2159 stx $ec03+$2f ;"[195]=-'<' -> chr$(14)
2160 ldx #14[170]128
2161 stx $ec03[170]$2c ;"len=-'>' -> chr$(142)
2162 ldx #31
2163 stx $ecb1
2164 ;"[195]entronics installieren
2165 ldx #[179]centlk
2170 ldy #[177]centlk
2175 sta $ed24
2180 stx $ed25
2185 sty $ed26
2190 ldx #[179]cenout
2195 ldy #[177]cenout
2200 sta $ed41
2205 stx $ed42
2210 sty $ed43
2215 ;"(NULL)(NULL)atn(NULL)len+(NULL)val(NULL)lenleft$(NULL) kopieren
2220 pha
2225 ldy #58
2230 lda xtoasc-start+$801,y
2235 sta toasc,y
2240 dey
2245 bpl *-7
2250 pla
2255 ;"[206][205][201] installieren
2260 ldx #[179][162]nmi
2265 ldy #[177][162]nmi
2270 stx $ff7e
2275 sty $ff7f
2280 ;"(NULL)(NULL)(NULL) installieren
2285 ldx #<newsys
2290 ldy #>newsys
2295 sta $e12a
2300 stx $e12b
2305 sty $e12c
2310 ;"[211][193][214][197]@ installieren
2315 ldx #[179][162]rpl
2320 ldy #[177][162]rpl
2325 stx $f606
2330 sty $f607
2335 ;"atn(NULL)(NULL)val(NULL)str$ installieren
2340 ldx #<append
2345 ldy #>append
2350 stx $e176
2355 sty $e177
2360 ;"[211]croll installieren
2365 ldx #[179]scrolu
2370 ldy #[177]scrolu
2375 sta $e8ea
2380 stx $e8eb
2385 sty $e8ec
2390 ldx #[179]scrole
2395 ldy #[177]scrole
2400 sta $e962
2405 stx $e963
2410 sty $e964
2415 ldx #[179]scrold
2420 ldy #[177]scrold
2425 sta $e981
2430 stx $e982
2435 sty $e983
2436 ldy #6
2437 lda scrhlt[171]start[170]$801,y
2438 sta $e942,y
2439 dey
2440 bpl [172][171]7
2441 ;"(NULL)erschiedenes kopieren
2445 ldy #45
2450 lda xgetdn-start+$801,y
2455 sta getdn,y
2460 dey
2465 bpl *-7
2470 ldy #19
2475 lda xopen-start+$801,y
2480 sta open,y
2485 dey
2490 bpl *-7
2495 ldy #19
2500 lda xnewst-start+$801,y
2505 sta newstk,y
2510 dey
2515 bpl *-7
2520 ldy #27
2525 lda xscrol-start+$801,y
2530 sta scrolu,y
2535 dey
2540 bpl *-7
2545 ;"[198][211][196][198][204][199] schuetzen+[210]epeat setzen
2550 lda #$80
2555 ldx #$ea
2560 sta $e3d9
2565 stx $e3df
2570 lda #$8d
2575 ldx #[179]650
2580 ldy #[177]650
2585 sta $e3dc
2590 stx $e3dd
2595 sty $e3de
2600 ;"(NULL)(NULL)(NULL)-str$efault auf "[172]",8,1 setzen
2605 ldx #8
2610 ldy #1
2615 stx $e1da
2620 sty $e1dc
2625 lda #$01
2630 ldx #<setast
2635 ldy #>setast
2640 sta $e1d5
2645 stx $e1d7
2650 sty $e1d8
2655 ;"[207][208][197][206]-[196]efault auf ,8,15 setzen
2660 ldx #8
2665 ldy #15
2670 stx $e228
2675 sty $e22a
2680 ;"(NULL)eue (NULL)(NULL)(NULL)-chr$et-(NULL)outine installieren
2685 ldx #<newchk
2690 ldy #>newchk
2695 stx $e1e7
2700 sty $e1e8
2705 stx $e1f4
2710 sty $e1f5
2715 ;"'[210][213][206]'-[212]aste aendern
2720 ldx #"(NULL)"
2725 ldy #":"
2730 stx $eced
2735 sty $ecee
2740 ;"(NULL)tartmeldung installieren
2745 ldy #7
2750 lda tabtxt-start+$801,y
2755 sta $e49b,y
2760 dey
2765 bpl *-7
2770 lda #">
2775 ldy #3
2780 sta $e479,y
2785 dey
2790 bpl [172][171]4
2795 lda #"<
2800 ldy #3
2805 sta $e494,y
2810 dey
2815 bpl *-4
2820 lda #5
2825 sta $01 ;"[203]ernal im [210][193][205]
2830 jmp $e39a
2835 tabtxt .[198] "dte fsd-"
2840 ;"------------------------------------------------------
2845 ;">>> [214]ariablendefinition
2850 begprg [178]$f72c[171]start[170]$801
2855 ;"(NULL)val(NULL)(NULL)(NULL)atnchr$val-peekereich
2860 fsdflg =$03
2865 ;"[194]elegung des [198][211][196][198][204][199]: b7 [198][211][196] aktiv
2870 ;" b6 asc(NULL)str$ moeglich
2875 ;" b5/4 [212]astatur inaktiv
2880 ;" b3 lenval(NULL)(NULL)(NULL)(NULL)(NULL)right$len(NULL) len(NULL)(NULL)asc
2885 ;" b2 [195][197][206][212][210][207][206][201][195][211] [193][211][195][201][201]
2890 ;" b1 lenval(NULL)(NULL)(NULL)(NULL)(NULL)right$len(NULL) aktiv
2895 ;" b0 [195][197][206][212][210][207][206][201][195][211] erlaubt
2900 numflg [178]$0d
2905 index [178]$22
2910 txttab [178]$2b
2915 vartab [178]$2d
2920 chr[203]t [178]$79
2925 status [178]$90
2930 ldvflg [178]$93
2935 iecbyt [178]$95
2940 ldadr [178]$ae
2945 cnter [178]$b4
2950 [165][195] [178]$b7
2955 sa [178]$b9
2960 dn [178]$ba
2965 [165]adr [178]$bb
2970 oldadr [178]$c3
2975 numkey [178]$c6
2980 rvsflg [178]$c7
2985 keynum [178]$cb
2990 quote [178]$d4
2995 insert [178]$d8
3000 buf [178]$0200
3005 shtflg [178]$028d
3010 ;"peekatn(NULL)right$len-peekereich
3015 error =$a437
3020 lnkprg =$a533
3025 outcr =$aad7
3030 frmevl =$ad9e
3035 snerr =$af08
3040 getadr =$b7f7
3045 linprt =$bdcd
3050 ;"[201]/[207]-[194]ereich
3055 vicprt [178]$d02f
3060 c1pra [178]$dc00
3065 c1prb [178]$dc01
3070 c1icr [178]$dc0d
3075 c2pra [178]$dd00
3080 c2prb [178]$dd01
3085 c2ddrb [178]$dd03
3090 c2t1l [178]$dd04
3095 c2t1h [178]$dd05
3100 c2sdr [178]$dd0c ;"str$atenregister
3105 c2icr =$dd0d ;"b3: [211][196][210] voll/leer
3110 c2cra [178]$dd0e
3115 ;"(NULL)val(NULL)(NULL)atn(NULL)-peekereich
3120 outscr =$e716
3125 talk =$ed09
3130 lstn =$ed0c
3135 seclsn =$edb9
3140 sectlk =$edc7
3145 iecout =$eddd
3150 untalk =$edef
3155 unlstn =$edfe
3160 iecin =$ee13
3165 clkhig =$ee85
3170 clklow =$ee8e
3175 dathig =$ee97
3180 datlow =$eea0
3185 datain =$eea9
3190 iecopn =$f3d5
3195 getend =$f5a9
3200 outsrc =$f5af
3205 outldv =$f5d2
3210 ieccls =$f646
3215 ioerr4 =$f704
3220 ioerr5 =$f707
3225 setst =$fe1c
3230 tststp =$ffe1
3231 udtim =$ffea
3232 ;"------------------------------------------------------
3233 ;"bei (NULL)croll und <len=> anhalten (7)
3234 scrhlt beq *+9
3235 cmp #223 ;"[195]=-[212]aste
3236 beq [172][171]9
3237 nop
3240 ;"------------------------------------------------------
3245 ;">>> [198][211][196]: [199]eaenderte [193][195][208][212][210]-[210]outine (an [207]riginal-[211]telle)
3250 nacptr jmp ntest
3255 nac1 ldx #8
3260 txa
3265 [175] c2icr
3270 bne nac6
3275 nac2 lda c2pra
3280 cmp c2pra
3285 bne nac2
3290 asl
3295 bpl nac1
3300 nac3 r[176] $a4
3305 nac4 lda c2pra
3310 cmp c2pra
3315 bne nac4
3320 asl
3325 bmi nac4
3330 dex
3335 beq nac7
3340 nac5 lda c2pra
3345 cmp c2pra
3350 bne nac5
3355 asl
3360 bpl nac5
3365 bmi nac3
3370 nac6 lda c2sdr
3375 sta $a4
3380 lda fsdflg
3385 [176]a #$c0
3390 sta fsdflg
3395 nac7 ldx $a3
3400 jmp $ee76 ;68
3405 ;"------------------------------------------------------
3410 ;">>> [214]erschiedenes (44/46)
3415 [161]dn [178]$f0d8
3420 x[161]dn lda dn
3425 cmp #8
3430 bcs dnok
3435 lda #8
3440 dnok rts
3445 scrtxt [178][172][171]x[161]dn[170][161]dn
3450 .byt 13
3455 .[198] "scratching"
3460 .byt 160
3465 incadr [178][172][171]x[161]dn[170][161]dn
3470 dec [165][195]
3475 beq [172][170]11
3480 inc [165]adr
3485 bne [172][170]4
3490 inc [165]adr[170]1
3495 lda ([165]adr),y
3500 rts
3505 ldx #8 ;"?(NULL)right$(NULL)(NULL) ascright$(NULL)val (NULL)atn(NULL)val
3510 jmp error
3515 clrst =*-xgetdn+getdn
3520 ldy #0
3525 sty status
3530 rts
3535 ;"------------------------------------------------------
3540 ;">>> chr$eaenderte (NULL)vallen(NULL)atn(NULL)(NULL)-(NULL)outine ((NULL)orrektur, 13)
3545 newstk =$f199
3550 xnewst jsr $ed36
3555 bit status
3560 bmi *+5
3565 jmp $edcc
3570 jmp $ee03
3575 ;">>> [204][211][214]-[196]efault auf "*" setzen (7)
3580 setast [178][172][171]x[162]st[170][162]stk
3585 ldx #[179]astric
3590 ldy #[177]astric
3595 jmp $ffbd
3600 ;"------------------------------------------------------
3605 ;">>> [199]eaenderte [211]croll-[210]outine (14/28)
3610 scrolu [178]$e4b7
3615 xscrol sei
3620 lda $ac
3625 pha
3630 jmp $e8ed
3635 scrold [178][172][171]xscrol[170]scrolu
3640 sei
3645 lda $ac
3650 pha
3655 jmp $e984
3660 ;">>> ascile(NULL)otascound-(NULL)est (14)
3665 fnftst =*-xscrol+scrolu
3670 ldx status
3675 cpx #66
3680 beq *+5
3685 cpx #0
3690 rts
3695 ldx #4 ;"?[198]ile [206]ot [198]ound
3700 jmp err[176]
3705 ;"------------------------------------------------------
3710 ;">>> [198][211][196]: [212]eil der neuen [193][195][208][212][210]-[210]outine (52)
3715 ntest [178]$f659
3720 xntest ldx #13
3725 lda c2pra
3730 [175] #$df
3735 sta c2pra
3740 nt1 lda c2pra
3745 cmp c2pra
3750 bne nt1
3755 asl
3760 bpl nt[128]
3765 dex
3770 bne nt1
3775 lda $a5
3780 bne ntneoi
3785 jsr datlow
3790 jsr clkhig
3795 lda #$40
3800 jsr setst
3805 inc $a5
3810 bne xntest
3815 ntneoi ldx $a3
3820 lda #2
3825 jmp $edb2
3830 nt[128] jmp $ee25
3835 ;">>> asc(NULL)str$: (NULL)est atnlen(NULL)(NULL)(NULL)-(NULL)outine (15)
3840 ni1 =$f2c8
3845 xni1 bit c2icr
3850 stx $a3
3855 lda status
3860 and #$bd
3865 sta status
3870 jmp clkhig
3875 ;">>> [198][211][196]: [206]eue [213][206][212][193][204][203]/[213][206][204][201][211][212][197][206]-[210]outine (11)
3880 nunlsn [178][172][171]xni1[170]ni1
3885 pha
3890 lda fsdflg
3895 [175] #$7f
3900 sta fsdflg
3905 pla
3910 jmp $ed11
3915 ;">>> chr$eaenderte (NULL)(NULL)right$-(NULL)outine (6)
3920 newnmi =*-xni1+ni1
3925 jsr allon
3930 jmp clklow
3935 ;">>> [210]est [197]rror-[210]outine (6)
3940 [162]err [178][172][171]xni1[170]ni1
3945 pla
3950 pla
3955 txa
3960 jmp $e0f9
3965 ;"------------------------------------------------------
3970 ;">>> [195]entronics-[213]mwandlung (48)
3975 [164][198] [178]$f393
3980 x[164][198] pha
3985 lda fsdflg
3990 [175] #4
3995 beq ta[128]
4000 pla
4005 cmp #$40 ;"atn(NULL)lenright$right$-(NULL)andlung
4010 bcc taend2
4015 cmp #$60
4020 bcs tanot
4025 adc #32
4030 tanot cmp #$c0
4035 bcc taend2
4040 cmp #$e0
4045 bcs taend2
4050 sbc #127
4055 taend2 pha
4060 taend lda fsdflg
4065 and #8 ;"bei [195][210] auch [204][198] senden
4070 beq ta[128]3
4075 pla
4080 cmp #13
4085 bne ta[128]4
4090 jsr cenprt
4095 dec c2ddrb
4100 lda #10
4105 ta[128]4 rts
4110 ;">>> chr$eaenderte (NULL)(NULL)(NULL)-chr$et-(NULL)outine (10)
4115 newchk =*-xtoasc+toasc
4120 jsr chr(NULL)t
4125 cmp #","
4130 beq taend4
4135 pla
4140 taend3 pla
4145 rts
4150 ;">>> [210]est geaenderte [211]croll-[210]outine (4)
4155 scrole [178][172][171]x[164][198][170][164][198]
4160 sta $ac
4165 cli
4170 rts
4175 ;"------------------------------------------------------
4180 ;">>> [198][211][196]: [206]eue [212][193][204][203]/[204][201][211][212][197][206]-[210]outine (26)
4185 [162]tlk [178]$f533
4190 xnwtlk lda c2pra
4195 [175] #8
4200 bne net[128]
4205 jsr setit
4210 lda #$ff
4215 sta c2sdr
4220 jsr watset
4225 txa
4230 ldx #$14
4235 net1 dex
4240 bne net1
4245 tax
4250 net[128] jmp $ed2e
4255 ;">>> asc(NULL)str$: (NULL)eue right$vallen(NULL)(NULL)(NULL)-(NULL)outine (90)
4260 no1 =*-xnwtlk+newtlk
4265 bit c2icr
4270 jmp clkhig
4275 noold jmp $ed62
4280 no2 =*-xnwtlk+newtlk
4285 xno2 lda c2pra
4290 cmp c2pra
4295 bne xno2
4300 pha
4305 lda c2icr
4310 and #8
4315 beq notfsd
4320 lda fsdflg
4325 ora #$c0
4330 sta fsdflg
4335 notfsd pla
4340 bpl xno2
4345 ora #$10
4350 sta c2pra
4355 and #8
4360 bne noold
4365 bit fsdflg
4370 bpl noold
4375 jsr setit
4380 lda iecbyt
4385 sta c2sdr
4390 jsr watset
4395 no3 =*-xnwtlk+newtlk
4400 txa
4405 pha
4410 ldx #$22
4415 no3wat jsr datain
4420 bcs no3hig
4425 pla
4430 tax
4435 cli
4440 rts
4445 no3hig dex
4450 bne no3wat
4455 pla
4460 tax
4465 jmp $edb0
4470 no4 =*-xnwtlk+newtlk
4475 pha
4480 lda fsdflg
4485 and #$7f
4490 sta fsdflg
4495 pla
4500 jmp setst
4505 ;"------------------------------------------------------
4510 ;">>> left$ilfsroutine zum (NULL)effnen (19/20)
4515 open =$fec2
4520 xopen jsr open+9
4525 bcc *+9
4530 tax
4535 jmp newerr
4540 jsr iecopn
4545 rts
4550 putdn =*-xopen+open
4555 jsr getdn
4560 sta dn
4565 rts
4570 astric =*-xopen+open
4575 .byt "*"
4580 ;"------------------------------------------------------
4585 ;">>> asc(NULL)str$: (NULL)eue (NULL)(NULL)atnstr$-(NULL)outine (ab $f72c)
4590 nlold jsr allon
4595 jmp $f4c4
4600 newlod stx $b
4605 jsr outsrc
4610 cpx #7
4615 beq nlold
4620 lda fsdflg
4625 and #%10111111
4630 ora #16
4635 sta fsdflg
4640 ldy #0
4645 lda (fnadr),y
4650 cmp #"$"
4655 beq nlold
4660 lda dn
4665 jsr lstn
4670 lda #$6f
4675 jsr seclsn
4680 lda status
4685 bpl nldvpr
4687 jsr allon
4690 jmp ioerr5
4695 nldvpr ldy #3
4700 nl2 lda txu0ld-1,y
4705 jsr iecout
4710 dey
4715 bne nl2
4720 jsr iecopn+$27 ;"[198]ilename ausgeben
4750 bit fsdflg
4755 bvc nlold
4760 sei
4765 jsr clkhig
4770 jsr se[164]ut
4775 bit c2icr
4780 jsr clkinv
4785 jsr nlgbyt
4790 cmp #2
4795 bne nl[165]d
4800 jsr clkhig
4805 jsr all[145]
4810 jmp ioerr4
4815 nl[165]d pha
4820 cmp #$1f
4825 bne nlnlsf
4830 jsr clkinv
4835 jsr nlgbyt
4840 sta cnter
4845 jmp nlnerr
4850 nlnlsf cmp #2
4855 bcc nlnerr
4860 pla
4865 bcs nlderr
4870 nlnerr jsr outldv
4875 jsr all[145]
4880 jsr clkinv
4885 jsr nlgbyt
4890 sta ldadr
4895 jsr clkinv
4900 jsr nlgbyt
4905 sta ldadr[170]1
4910 txa
4915 bne nl[182]
4920 lda oldadr
4925 sta ldadr
4930 lda oldadr[170]1
4935 sta ldadr[170]1
4940 nl[182] pla
4945 cmp #$1f
4950 beq nllstb
4955 jsr clkinv
4960 lda #$fc
4965 nlrnxt sta cnter
4970 jsr udtim
4975 jsr tststp
4980 beq nlstp
4985 sec
4990 jmp nlrblk
4995 rd[128]s jsr nlgbyt
5000 cmp #2
5005 bcc nlok
5010 cmp #$1f
5015 beq nllst
5020 bne nlderr
5025 nlok jsr clkinv
5030 lda #$fe
5035 bne nlrnxt
5040 nllst jsr clkinv
5045 jsr nlgbyt
5050 sta cnter
5055 nllstb jsr clkinv
5060 clc
5065 jmp nlrblk
5070 rd[128]c lda #$40
5075 jsr setst
5080 jsr clkhig
5085 cli
5090 clc
5095 ld[128] php
5100 ldx $b
5105 cpx #9
5110 bne nlnom0
5115 jsr u0m0
5120 nlnom0 plp
5125 ldx $ae
5130 ldy $af
5135 rts
5140 nlderr lda #2
5145 jsr setst
5150 jsr clkhig
5155 lda #29
5160 sec
5165 rts
5170 nlstp jsr clkhig
5175 jmp $f633
5180 nlgbyt lda #8
5185 nlg1 bit c2icr
5190 beq nlg1
5195 lda c2sdr
5200 rts
5205 nlrblk rol $b
5210 lda #8
5215 nlr1 bit c2icr
5220 beq nlr1
5225 ldy c2sdr
5230 lda c2pra
5235 e[176] #$10
5240 sta c2pra
5245 tya
5250 ldy #0
5255 ldx ldvflg
5260 beq nlrlod
5265 cmp (ldadr),y
5270 beq nlrinc
5275 lda #$10
5280 jsr setst
5285 .byt $2c
5290 nlrlod sta (ldadr),y
5295 nlrinc inc ldadr
5300 bne nlrnoc
5305 inc ldadr[170]1
5310 nlrnoc dec cnter
5315 bne nlrblk[170]2
5320 lsr $b
5325 bcs rd[128]
5330 jmp rd[128]c
5335 rd[128] jmp rd[128]s
5340 clkinv lda c2pra
5345 e[176] #$10
5350 sta c2pra
5355 rts
5360 txu0ld .byt 31[170]128,"0","u"
5365 watset lda c2icr
5370 [175] #8
5375 beq watset
5380 se[164]ut lda c2cra
5385 [175] #$80
5390 [176]a #8
5395 sta c2cra
5400 rts
5405 setit lda #$7f
5410 sta c2icr
5415 lda #0
5420 sta c2t1h
5425 lda #4
5430 sta c2t1l
5435 lda c2cra
5440 [175] #$80
5445 [176]a #$55
5450 sta c2cra
5455 bit c2icr
5460 rts
5465 ;">>> valrweiterte (NULL)astatur-(NULL)outinen
5470 newkey sta vicprt
5475 ldy #$ff
5480 sty c1pra
5485 ldx c1prb
5490 cpx #$ff
5495 beq nkend
5500 lda vicprt
5505 bpl nkend ;"nur" ein normaler c-64
5510 lda #$fe
5515 nxtrow ldx #8
5520 sta vicprt
5525 nkwait lda c1prb
5530 cmp c1prb
5535 bne nkwait
5540 nxtkey lsr
5545 dex
5550 bpl nkok
5555 lda vicprt
5560 sec
5565 rol
5570 cmp #$f7
5575 bne nxtrow
5580 jmp nkend
5585 nkok iny
5590 bcs nxtkey
5595 tya
5600 adc #65
5605 sta keynum
5610 ldx #$ff
5615 stx vicprt
5620 ldy #0
5625 sty c1pra
5630 jmp $ea9b
5635 nkend ldx #$ff
5640 stx vicprt
5645 lda #0
5650 sta c1pra
5655 ldx c1prb
5660 jmp $ea96
5665 n(NULL)ld jmp $eae0
5670 newget ldx keynum
5675 cpx #65
5680 bcc n(NULL)ld
5685 lda ktab1-65,x
5690 ldy shtflg
5695 beq ngnorm
5700 lda ktab2-65,x
5705 cpy #1
5710 beq ngnorm
5715 lda #$ff
5720 ngnorm ldy keynum
5725 jmp $eae4
5730 newfnc tax
5732 cpx #241
5735 bcs notnrm
5740 jmp notc0
5745 notnrm cpx #255
5750 beq *-5
5755 cpx #249
5760 bne notold
5765 old lda #1
5770 tay
5775 sta (txttab),y
5780 jsr lnkprg
5785 lda index
5790 ldy index+1
5795 clc
5800 adc #2
5805 bcc *+3
5810 iny
5815 sta vartab
5820 sty vartab+1
5825 bne wat2
5830 notold cpx #250
5835 bne notesc
5840 lda #0
5845 sta rvsflg
5850 sta insert
5855 sta quote
5860 sta numkey
5865 lda #8
5870 sta dn
5875 bne endfnc
5885 notesc lda fsdflg
5890 and #48
5895 bne endfnc
5905 cpx #241 ;m1
5910 beq itsm1
5915 cpx #242 ;m0
5920 bne notm0
5925 u0m0 lda #"0"
5930 .byt $2c
5935 itsm1 lda #"1"
5940 pha
5945 jsr getdn
5950 jsr lstn
5955 lda #$6f
5960 jsr seclsn
5965 ldy #3
5970 outmod lda txu0m,y
5975 jsr iecout
5980 dey
5985 bpl outmod
5990 pla
5995 jsr iecout
6000 jsr unlstn
6005 sei
6010 wat2 jsr noscrl
6015 endfnc jmp $eb42
6020 noscrl lda #0
6025 sta vicprt
6030 sta c1pra
6035 modwat lda c1prb
6040 cmp c1prb
6045 bne modwat
6050 and #%11111011
6055 eor #%11111011
6060 bne modwat
6065 ldx #$ff
6070 stx vicprt
6075 stx c1pra
6080 rts
6085 txu0m .byt "m",158,"0","u"
6090 notm0 lda #1
6095 cpx #243 ;c1
6100 bne notc1
6105 setflg ora fsdflg
6115 sta fsdflg
6120 jmp $eb42
6125 notc1 cpx #244 ;c0
6130 bne notc0
6135 clrflg eor #$ff
6145 and fsdflg
6150 sta fsdflg
6155 jmp $eb42
6160 notc0 cpx #240
6165 bne notnsc
6170 jsr noscrl
6175 lda #0
6180 sta vicprt
6185 sta c1pra
6190 scrwat lda c1prb
6195 cmp c1prb
6200 bne scrwat
6205 and #$fb
6210 eor #$fb
6215 beq scrwat
6220 jmp wat2
6225 notnsc lda #4
6230 cpx #245 ;a1
6235 beq setflg
6240 cpx #246 ;a0
6245 beq clrflg
6250 lda #8
6255 cpx #247 ;l1
6260 beq setflg
6265 cpx #248 ;l0
6270 beq clrflg
6275 txa
6277 ldx shtflg
6280 cpx #5
6285 bne noshct
6290 ora #$80
6295 noshct tax
6300 cpy $c5
6305 jmp $eae7
6310 ktab1 .byt 243,"8","5",241,"2","4","7","1",027,"+","-",247
6315 .byt 013,"6","9","3",014,"0",".",145,017,157,029,240
6320 ktab2 .byt 244,"[178]","[219]",242,"[177]","[171]","[176]","[173]",027,"*","/",248
6325 .byt "=","[179]","[174]","[189]",142,"[221]","[192]",145,017,157,029,240
6330 ;">>> [195][197][206][212][210][207][206][201][195][211]: [206]eue [196]ruck-[210]outine
6335 centlk pha
6340 lda #1
6345 sta $12
6350 lda fsdflg
6351 [175] #$fd
6352 sta fsdflg
6365 lsr
6370 bcs ctn[128]
6375 pla
6380 ct[128] pha
6385 cmp #$20
6390 bcc ct[128]2
6395 cmp #$60
6400 bcs ct[128]2
6405 [175] #$1f
6410 cmp #$1f
6415 beq ct[128]2
6420 jsr keyoff
6425 dec $12
6430 ct[128]2 pla
6435 jsr dathig
6440 jmp $ed27
6449 ctn[128] pla
6450 cmp #$24
6455 bne ct[128]
6460 jsr keyoff
6465 lda fsdflg
6470 [176]a #2
6475 sta fsdflg
6480 clc
6485 rts
6490 cenout lda fsdflg
6495 [175] #3
6500 cmp #3
6505 bne co[128]
6510 lda #$ff
6515 sta c2ddrb
6520 lda iecbyt
6525 jsr [164][198]
6530 cenprt sta c2prb
6535 lda c2pra
6540 [175] #$fb
6545 sta c2pra
6550 [176]a #4
6555 sta c2pra
6560 cenwat lda #$7f
6565 sta c1pra
6570 cmp c1prb
6575 beq censtp
6580 lda c2icr
6585 [175] #$10
6590 beq cenwat
6595 clc
6600 censtp inc c2ddrb
6605 cli
6610 rts
6615 co[128] jsr dathig
6620 jmp $ed44
6625 ;">>> chr$eaenderter (NULL)(NULL)(NULL)-peekefehl
6630 newsys jsr chr(NULL)t
6635 beq getds
6640 jsr frmevl
6645 bit numflg
6650 bmi putcmd
6655 jsr getadr
6660 tax
6665 bne oldsys
6670 cpy #16
6675 bcs oldsys
6680 tya
6685 stx $14
6690 asl
6695 asl
6700 asl
6705 asl
6710 bne *+3
6715 brk
6720 sta $15
6725 oldsys jmp $e130
6730 getds jsr clrst
6735 jsr getdn
6740 jsr talk
6745 lda #$6f
6750 jsr sectlk
6755 ldy status
6760 bmi pcmerr
6765 gds1 jsr iecin
6770 jsr outscr
6775 cmp #13
6780 bne gds1
6785 jmp untalk
6790 putcmd jsr $e25a
6795 jsr $e1e6
6800 jsr clrst
6805 lda (fnadr),y
6810 cmp #"$"
6815 beq sysdir
6820 cmp #"l"
6825 bne *+5
6830 jmp syslst
6835 jsr getdn
6840 jsr lstn
6845 lda #$6f
6850 jsr seclsn
6855 bit status
6860 bmi pcmerr
6865 jmp iecopn+$21
6870 pcmerr lda #5 ;ill dev err
6875 jmp $e0f9
6880 sysdir sty sa
6885 jsr putdn
6890 jsr open
6895 lda dn
6900 jsr talk
6905 lda #$60
6910 jsr sectlk
6915 ldy #5
6920 .byt $2c
6925 sdi1 ldy #3
6930 sdi2 jsr iecinf
6935 bne sdiend
6940 dey
6945 bne sdi2
6950 tax
6955 jsr iecin
6960 jsr linprt
6965 lda #" "
6970 sdi3 jsr outscr
6975 jsr iecinf
6976 bne sdiend
6977 tax
6980 bne sdi3
6985 jsr outcr
6990 jsr tststp
6995 beq sdiend
7000 bne sdi1
7005 sdiend ldy #0
7010 sty numkey
7015 jmp ieccls
7020 ;
7025 putscr ldx #1
7030 stx $d4 ;"[209]uote-[205]ode =1
7035 stx $d8 ;"right$nserts =1
7040 jmp outscr
7045 iecinf jsr iecin
7050 jmp fnftst
7055 ;
7060 ;">>> [193]lte [193]dress-[203]opierung
7065 [172][178]$fb8e
7070 lda $c2
7075 sta $ad
7080 lda $c1
7085 sta $ac
7090 rts
7095 ;
7100 ;">>> chr$eaendertes (NULL)atn(NULL)val@
7105 newrpl ldy #0
7110 lda (fnadr),y
7115 cmp #"@"
7120 bne oldsav
7125 lda #"s"
7130 sta (fnadr),y
7135 lda $9d
7140 bpl nrnout
7145 ldy #scrtxt-$f0bd
7150 jsr $f12b
7155 ldy #1
7160 lda (fnadr),y
7165 cmp #":"
7170 bne *+3
7175 iny
7180 jsr $f5c7
7185 nrnout lda #$6f
7190 sta sa
7195 jsr open
7200 ldy #0
7205 lda #"@"
7210 sta (fnadr),y
7215 lda #$61
7220 sta sa
7225 clc
7230 nragai jsr incadr
7235 bcs oldsav
7240 cmp #":"
7245 beq nragai
7250 oldsav jmp open
7255 ;">>> [198][211][196]: [213][206][212][193][204][203]/[213][206][204][201][211][212][197][206] [197]nde
7260 un[195]d dec $12
7265 bne unlok
7270 jsr dathig
7275 jsr key[145]
7280 unlok jmp dathig
7285 ;">>> asc(NULL)str$: (NULL)astensperrung ein/aus
7290 keyoff lda fsdflg
7295 ora #32
7300 bne keyon+4
7305 allon lda fsdflg
7310 and #$ef
7315 .byt $2c
7320 keyon lda fsdflg
7325 and #$df
7330 sta fsdflg
7335 rts
7340 ;">>> [193]ppend-[210]outine
7345 app[128] pha
7350 cmp #0
7355 bne n[176]mld
7360 lda sa
7365 cmp #5 ;"atnppend?
7370 bne normld
7375 lda #0
7380 sta sa
7385 lda vartab ;"[194][193][211][201][195]-[197]nde -2
7390 ldy vartab[170]1
7395 sbc #2
7400 bcs [172][170]3
7405 dey
7410 tax
7415 n[176]mld pla
7420 jmp $ffd5 ;"(NULL)(NULL)atnstr$-(NULL)outine
7425 ;">>> [211][217][211]-[204]ist-[210]outine
7430 [158]lst jsr incadr
7435 pha
7440 jsr incadr
7445 pla
7450 cmp #"p"
7455 beq [158]prg
7460 cmp #"s"
7465 beq [158]seq
7470 jmp snerr
7475 [158]seq clc
7477 lda #$6e ;"(NULL)anal 14
7478 .byt $2c
7480 sysprg lda #$60 ;"[204][207][193][196]-[203]anal
7482 php
7490 sta sa
7495 jsr putdn
7500 jsr [159]
7505 lda dn
7510 jsr talk
7515 lda sa
7520 jsr sectlk
7525 plp
7530 bcs [158]p1
7535 [158]s1 jsr iecinf
7540 bne [158]cls
7545 jsr putscr
7550 jsr tststp
7555 bne [158]s1
7560 [158]cls jmp ieccls
7565 [158]p1 ldy #3
7570 .byt $2c
7575 [158]p2 ldy #2
7580 [158]p3 jsr iecinf
7585 bne [158]ret
7590 sta $49
7595 jsr iecinf
7600 bne [158]ret
7605 dey
7610 bne [158]p3
7615 ldx $49
7620 jsr linprt
7625 ldy #[177]buf
7630 sty $60
7635 dey
7640 sty $49
7645 dey
7650 sty $0b ;"(valxbasic-ascehler)
7655 sty $0f
7660 sty $5f
7665 sty buf+1
7670 sysp4 jsr iecinf
7675 bne sysret
7680 iny
7685 beq sysret
7690 sta buf+1,y
7695 tax
7700 bne sysp4
7705 lda $0300
7710 sta $0100
7715 lda $0301
7720 sta $0101
7725 lda #<syspx
7730 ldy #>syspx
7735 sta $0300 ;"[210]ueckkehr sichern
7740 sty $0301
7745 lda $0303
7750 cmp #$81 ;"valxb (NULL)right$right$?
7755 beq *+5
7760 jmp $a6ed ;"[194][193][211][201][195] [204][201][211][212]
7765 jsr $9623 ;"valxbasic (NULL)right$right$ (NULL)right$(NULL)(NULL)
7770 syspx lda $0100
7775 sta $0300
7780 lda $0101
7785 sta $0301
7790 jsr outcr
7795 jsr tststp
7800 bne sysp2
7805 sysret jsr ieccls
7810 lda chr(NULL)t+2 ;=txtptr+1
7815 cmp #>(buf+$100)
7820 bcs $fcd0
7825 jsr $a82c ;"<[211][212][207][208]>?
7830 jmp $e386
7835 [128]prg [178][172][171]start[170]$801