start tok64 d64-fMpLuY 10 REM :format 450 100 PRINT"{clear}":POKE56,41:CLR:GOTO185 180 : 185 POKE53280,1:REM border color 190 POKE53281,1:REM background color 195 PRINT"{blue}" :REM character color 200 di=8 :REM disk device number 205 sp=1389 :REM screen bar position 210 sb=10496 :REM start buffer 215 bp=10496 :REM buffer pointer 220 eb=40960 :REM end buffer 225 : 230 : 235 FORa=828TO867:READb:POKEa,b:NEXT 240 DATA 162,2,32,198,255,160,0,32,165,255,153,0,48,200,208,247,32,204,255,96 245 DATA 162,2,32,201,255,160,0,185,0,48,32,168,255,200,208,247,32,204,255,96 250 bl$="{space*37}{left*30}" 255 bl$=bl$+"{left*7}":DIMbm$(140),c(43):FORa=0TO43:READc(a):NEXT:GOSUB815 260 DATA 32,101,116,117,97,246,234,231,160,21,21,21,21,21,21,21,21,21,21,21,21 265 DATA 21,21,21,21,21,19,19,19,19,19,19,19,18,18,18,18,18,18,17,17,17,17,17 270 PRINT"{clear}"SPC(8)"single disk backup v1.0" 275 PRINT"{down}"SPC(11)"av michael schaff" 280 PRINT"{down*2}U{sh asterisk}backup kommando{sh asterisk*21}I" 285 PRINT"{sh -}{space*37}{sh -}" 290 PRINT"J{sh asterisk*37}K" 295 PRINT"U{sh asterisk}buffer{sh asterisk*30}I" 300 PRINT"B{blue}{space*25}{yellow}{space*6}{red}{space*6}{blue}{sh -}" 305 PRINT"{sh -}{space*4}tom{space*11}{cm m}{space*14}full{sh -}" 310 PRINT"J{sh asterisk*37}K" 315 PRINT"U{sh asterisk}disk{sh asterisk*32}I" 320 PRINT"{sh -}{space*37}{sh -}" 325 PRINT"J{sh asterisk*37}K" 330 PRINT"U{sh asterisk}disk status{sh asterisk*25}I" 335 PRINT"{sh -}{space*37}{sh -}" 340 PRINT"J{sh asterisk*37}K" 345 PRINT"U{sh asterisk}utf{pound}rs{space*2}nu:{sh asterisk*25}I" 350 PRINT"{sh -}{space*37}{sh -}" 355 PRINT"J{sh asterisk*37}K" 360 PRINT"U{sh asterisk}instruktioner:{sh asterisk*22}I" 365 PRINT"{sh -}{space*37}{sh -}" 370 PRINT"J{sh asterisk*37}K{home}" 375 op$="skriv in programoperations-kod b/d":GOSUB795:ln=1:dn=7:rt=1 380 GOSUB730:IFb$=""THENb$="b" 385 po=ASC(b$):IFb$="d"THENop$="direkt{space*2}backup":GOTO400 390 IFb$<>"b"THEN375 395 op$="bam utvalt backup" 400 GOSUB785:op$="":GOSUB780:op$="skriv in disknamn" 405 GOSUB795:op$="destination:":GOSUB790:ln=16:dn=14:rt=17:GOSUB730 410 ln=2:rt=35:IFb$=""THENb$="cbm 1541 backup":op$=op$+"{space*4}"+b$:GOSUB790 415 dn$=b$:PRINT"{up}"SPC(34)",":op$="skriv in disk-id{space*6}":GOSUB795 420 GOSUB730:IFb$=""THENb$="64" 425 PRINT"{up}"SPC(35)b$:di$=b$:POKE198,0 430 bc$="{red}s[tt in destinationsdisk{space*7}{green}":GOSUB965 435 GOSUB810:op$="formaterar destinations-disk":GOSUB780 440 OPEN15,di,15:INPUT#15,en$,ed$,et,es$:IFen$="00"THEN450 445 CLOSE15:op$="":GOSUB780:GOSUB800:op$="":GOTO405 450 dn$="ni: "+dn$+","+di$:PRINT#15,dn$:INPUT#15,en$,ed$,et$,es$ 455 CLOSE15:GOSUB800:IFen$<>"00"THEN:op$="":GOSUB780:GOTO405 460 op$="":GOSUB780 465 bc$="{red}s[tt in original-disken{space*4}{green}":GOSUB965 480 op$="l[ser bam fr]n originaldisk":GOSUB780 485 OPEN15,di,15:OPEN2,di,2,"#":PRINT#15,"u1";2;0;18;0:PRINT#15,"b-p:"2;1 490 GET#2,a$:GET#2,a$:GET#2,a$:FORa=1TO140:GET#2,a$:IFa$=""THENa$=CHR$(0) 495 bm$(a)=a$:NEXT:INPUT#15,en$,ed$,et$,es$:IFen$<>"00"THENSTOP 500 PRINT#15,"b-p";2;144:sn$="":FORa=1TO20:GET#2,a$:sn$=sn$+a$:NEXT 505 CLOSE2:CLOSE15:sn$=LEFT$(sn$,16)+","+RIGHT$(sn$,2) 510 dn$=RIGHT$(dn$,LEN(dn$)-3):a$=LEFT$(dn$,LEN(dn$)-3)+"{space*16}" 515 dn$=LEFT$(a$,16)+","+RIGHT$(dn$,2):GOSUB800:op$="original:{space*9}"+sn$ 520 IFRIGHT$(dn$,2)<>RIGHT$(sn$,2)THEN535 525 op$="":GOSUB780:GOSUB790:en$="*3":ed$="felaktigt id{space*5}":et$="00":es$="00" 530 GOSUB800:bc$="{red}id-nummerna [r inte lika{!*3}{space*3}{green}":GOSUB965:GOTO100 535 GOSUB790:op$="":GOSUB780 540 bc$="{red}[r det den riktiga originaldisken?{green}":GOSUB965 545 IFa$<>"n"THEN555 550 op$="":GOSUB780:GOSUB790:GOSUB810:GOTO465 555 op$="l[ser data till buffern":GOSUB780 560 IFpo=68THENFORa=1TO140:bm$(a)=CHR$(0):NEXT 565 OPEN15,di,15:OPEN2,di,2,"#" 570 FORtc=1TO140STEP4:IFc(((tc-1)/4+1)+8)=ASC(bm$(tc))THEN695 575 tr=(tc-1)/4+1:by=255-ASC(bm$(tc+1)) 580 IFbyAND128THENsc=7:GOSUB835 585 IFbyAND64THENsc=6:GOSUB835 590 IFbyAND32THENsc=5:GOSUB835 595 IFbyAND16THENsc=4:GOSUB835 600 IFbyAND8THENsc=3:GOSUB835 605 IFbyAND4THENsc=2:GOSUB835 610 IFbyAND2THENsc=1:GOSUB835 615 IFbyAND1THENsc=0:GOSUB835 620 by=255-ASC(bm$(tc+2)) 625 IFbyAND128THENsc=15:GOSUB835 630 IFbyAND64THENsc=14:GOSUB835 635 IFbyAND32THENsc=13:GOSUB835 640 IFbyAND16THENsc=12:GOSUB835 645 IFbyAND8THENsc=11:GOSUB835 650 IFbyAND4THENsc=10:GOSUB835 655 IFbyAND2THENsc=9:GOSUB835 660 IFbyAND1THENsc=8:GOSUB835 665 by=255-ASC(bm$(tc+3)) 670 IF(byAND16)ANDc(tr+8)>20THENsc=20:GOSUB835 675 IF(byAND8)ANDc(tr+8)>19THENsc=19:GOSUB835 680 IF(byAND4)ANDc(tr+8)>18THENsc=18:GOSUB835 685 IF(byAND2)ANDc(tr+8)>17THENsc=17:GOSUB835 690 IF(byAND1)ANDc(tr+8)>16THENsc=16:GOSUB835 695 NEXT:CLOSE2:CLOSE15:op$="":GOSUB780:op$="destination:{space*4}"+dn$:GOSUB790 700 bc$="{red}s[tt in destinations-disken{space*4}{green}":GOSUB965 705 GOSUB955:IFid$=RIGHT$(dn$,2)THENen$="00":ed$="ok":GOTO715 710 en$="*1":ed$="orig. id funnet":et$="00":es$="00":GOSUB800:GOTO700 715 GOSUB800:op$="skriver data fr]n buffern":GOSUB780:GOSUB910 720 op$="backup avslutat":GOSUB780:op$="":GOSUB810:GOSUB785:GOSUB790 725 bc$="{red}ta ut destinations-disken{space*6}{green}":GOSUB965:GOTO100 730 b$="":PRINTLEFT$("{home}{down*25}",dn)SPC(rt)" "; 735 REM 736 PRINT"{left}{cm pound}";:FORa=1TO55:GETa$:IFa$<>""THEN745 740 NEXT:PRINT"{left} ";:FORa=1TO55:IFa$=""THENNEXT:GOTO736 745 IFASC(a$)=13THENPRINT"{left} ":RETURN 746 IFASC(a$)=133THEN100 750 IFASC(a$)<>20THEN765 755 IFLEN(b$)=0THENNEXT:GOTO736 760 b$=LEFT$(b$,LEN(b$)-1):PRINT"{left} {left*2} ";:GOTO736 765 IFa$<" "ORa$>"z"THENNEXT:GOTO736 770 IFLEN(b$)8THENpt=1:sp=sp+1:GOTO830 825 IFbr=1THENpt=pt-1:IFpt<0THENpt=7:sp=sp-1 830 POKEsp,c(pt):RETURN 835 br=0:PRINT#15,"u1:"2;0;tr;sc:PRINT#15,"b-p:"2;0 840 POKEbp,tr:POKEbp+1,sc:bp=bp+2:hi=INT(bp/256):lo=bp-(hi*256):POKE839,lo 845 POKE840,hi:GOSUB820:SYS828:GOSUB820:INPUT#15,en$,ed$,et$,es$ 850 IFen$<>"00"THEN980 855 bp=bp+256:IFbp+256ebTHENCLOSE15:CLOSE2:RETURN 920 tr=PEEK(bp):sc=PEEK(bp+1):IFtr=18ANDsc=0THEN945 925 PRINT#15,"b-p:"2;0:bp=bp+2:hi=INT(bp/256):lo=bp-(hi*256):POKE856,lo 930 POKE857,hi:GOSUB820:SYS848:GOSUB820:INPUT#15,en$,ed$,et$,es$ 935 IFen$<>"00"THEN980 940 PRINT#15,"u2";2;0;tr;sc:bp=bp+256:GOTO915 945 FORa=0TO15:POKE(bp+146+a),ASC(MID$(dn$,a+1,1)):NEXT:FORa=0TO1 950 POKE(bp+164+a),ASC(MID$(dn$,18+a,1)):NEXT:GOTO925 955 OPEN15,di,15:OPEN2,di,2,"#":PRINT#15,"u1";2;0;18;0:PRINT#15,"b-p:"2;162 960 GET#2,a$:GET#2,b$:CLOSE2:CLOSE15:id$=a$+b$:RETURN 965 op$=bc$:GOSUB795:FORa=1TO75:GETa$ :GOSUB10000 970 IFa$=""THENNEXT:op$="":GOSUB795:FORa=1TO75:GETa$:IFa$=""THENNEXT:GOTO965 975 op$="":GOSUB795:IFa$<>"{f1}"THENPOKEs+24,0:RETURN 976 GOTO100 980 GOSUB800:op$="backup inte komplett - b{pound}rja ifr]n ":GOSUB780 985 GOSUB780:bc$="{red}u-uppriktig disk fel{green}":GOSUB965:GOTO100 10000 s=54272:FORl=0TO24:IFPEEK(197)<>64THENRETURN 10020 POKEs+l,0:NEXT :POKEs+14,5:POKEs+18,6:POKEs+3,1 :POKEs+24,143 10030 POKEs+6,240:POKEs+4,65:fr=5389:fq=fr+PEEK(s+27)*3.5:FORx=1TO20 10040 IFPEEK(197)<>64THENRETURN 10050 hf=INT(fq/256):lf=fq-hf*256:POKEs+0,lf:POKEs+1,hf:NEXT:RETURN stop tok64 (bastext 1.0)