start tok128 d64-e7xFfO 10 DIMb$(800):IFPEEK(794)<>74THEN30 20 POKE53281,15:POKE53280,15:kb=198:ro=214:GOTO60 30 IFPEEK(794)<>189THEN50 40 colOR 0,16:colOR 4,16:kb=208:ro=235:PRINTCHR$(27)"m":GOTO60 50 ro=205:kb=239:POKE65301,241:POKE65305,241:POKE2025,255 60 s$="{space*20}":c=0:OPEN15,8,15:d$="{down*9}" 70 PRINT"{clear}{reverse on}{red}{space*8}du har dessa 9 alternativ{space*7}{blue}{reverse off}" 80 PRINTSPC(5)"{down*2}1. katalogisera disketter" 90 PRINTSPC(5)"{down}2. se alla filnamn" 100 PRINTSPC(5)"{down}3. skriv alla filnamn" 110 PRINTSPC(5)"{down}4. sortera i alfabetisk ordning" 120 PRINTSPC(5)"{down}5. skapa en sekvensfil" 130 PRINTSPC(5)"{down}6. skapa en programfil" 140 PRINTSPC(5)"{down}7. ladda en gammal fil" 150 PRINTSPC(5)"{down}8. radera hel diskett" 160 PRINTSPC(5)"{down}9. starta ny fil" 170 PRINTSPC(12)"{red}{down}{reverse on}tryck a = avsluta{blue}{reverse off}" 180 POKEkb,0:WAITkb,1:GETa$:IFa$="a"THENCLOSE15:PRINT"{clear}":END 190 IFa$<"1"ORa$>"9"THEN180 200 ONVAL(a$)GOSUB210,510,520,640,730,740,850,940,1040:GOTO70 210 f$="disk":GOSUB1050:IFdn$="a"THENRETURN 220 PRINT"{clear}{reverse on}{red}"SPC(20-LEN(dn$)/2)dn$"{down*2}{blue}" 230 CLOSE2:OPEN2,8,0,"$":GOSUB390:IFa$="a"THENRETURN 240 x=4:nf=0:IFexTHEN220 250 b$(c)="":fl=-1:GOSUB310:x=2:GET#2,ln$ 260 GET#2,hn$:nm=ASC(ln$+CHR$(0))+256*ASC(hn$+CHR$(0)):PRINTSPC(5)nm; 270 GET#2,a$:IFa$=""THEN320 280 IFa$=CHR$(34)THENfl=-fl 290 IFfl=1THENb$(c)=b$(c)+a$ 300 PRINTa$;:GOTO270 310 FORa=1TOx:GET#2,a$:NEXT:RETURN 320 IFb$(c)=""THENCLOSE2:GOSUB480:IFa$<>"a"THEN210 330 IFb$(c)=""THENRETURN 340 PRINT:nm$=STR$(nm) 350 b$(c)=RIGHT$(b$(c),LEN(b$(c))-1) 360 b$(c)=b$(c)+LEFT$(s$,20-LEN(b$(c))-LEN(nm$))+nm$+"{space*2}"+dn$ 370 IFnf=1THENc=c+1:IFc=800THEN1080 380 nf=1:GOTO250 390 rf=0:ex=0:a$="":INPUT#15,en,m$,t,s 400 IFen<20THENRETURN 410 PRINT"{home}"d$:FORa=1TO5:PRINT"{space*35}":NEXT 420 ex=1:PRINT:PRINT"{home}{blue}"d$en;m$;t;s:IFen<>63THEN470 430 rf=1:PRINT"{down}vill du byta ut filen? (j/n)" 440 GETa$:IFa$="n"THENRETURN 450 IFa$<>"j"THEN440 460 ex=0:PRINT#15,"s"+dn$:RETURN 470 CLOSE2 480 PRINT:PRINT"{down}{blue}{space*2}valfri tangent att forts. {reverse on}a=avbryta{reverse off}":POKEkb,0:WAITkb,1 490 GETa$:RETURN 500 PRINT:PRINT"{down}{blue}{space*6}valfri tangent att forts.":POKEkb,0:WAITkb,1:RETURN 510 dv=3:sa=0:sp=1:dn$="":nm=0:GOTO550 520 PRINT"{clear}"d$"tryck [m] tillbaka till menyn, annan valfri tangent = utskrift" 530 POKEkb,0:WAITkb,1:GETa$:IFa$="m"THEN70 540 dv=4:sp=20:sa=0:dn$="":nm=0 550 IFc<=0THENPRINT"{clear}"d$SPC(10)"{blue}ingen fil i minnet":GOTO500 560 IFnmTHENGOSUB1050:dn$="0:"+dn$+",s,w" 570 CLOSE2:OPEN2,dv,sa,dn$:GOSUB390:IFa$="a"THENRETURN 580 IFrfANDex=0THEN70 590 IFrfTHEN560 600 IFexTHEN570 610 PRINT"{clear}{down}":FORa=0TOc:PRINT#2,SPC(sp)b$(a) 620 IFPEEK(ro)=21THENGOSUB500:PRINT"{clear}{down*3}" 630 NEXT:CLOSE2:GOSUB500:RETURN 640 IFc<=0THENPRINT"{clear}"d$SPC(10)"{blue}ingen fil i minnet":GOTO500 650 d=c-1:m=d:PRINT"{clear}"d$SPC(15)"sorterar{.*7}" 660 m=INT(m/2):IFm=0THENRETURN 670 j=0:k=d-m 680 i=j 690 l=i+m 700 IFb$(i)>b$(l)THENt$=b$(i):b$(i)=b$(l):b$(l)=t$:i=i-m:IFi>0THEN690 710 j=j+1:IFj>kTHEN660 720 GOTO680 730 dv=8:sp=5:sa=2:f$="fil":nm=1:dn$=dn$+",s,w":GOTO550 740 GOSUB1050:dn$="0:"+dn$:IFdn$="0:a"THENRETURN 750 CLOSE2:OPEN2,8,2,dn$+",p,w":GOSUB390:IFa$="a"THENRETURN 760 IFrfANDex=0THEN750 770 IFrfTHEN740 780 IFexTHEN750 790 PRINT#2,CHR$(1)CHR$(8);:FORa=0TOc=-1 800 PRINT#2,CHR$(4)CHR$(4);:ln=100+a 810 hb=INT(ln/256):lb=ln-hb*256:PRINT#2,CHR$(lb)CHR$(hb); 820 PRINT#2,CHR$(34)b$(a)CHR$(34)CHR$(0); 830 NEXTa:PRINT#2,CHR$(0)CHR$(0); 840 CLOSE2:RETURN 850 f$="fil":GOSUB1050:IFdn$="a"THENRETURN 860 OPEN2,8,2,"0:"+dn$+",s,r":GOSUB390:IFexTHEN850 870 fl=-1:b$(c)="":FORa=1TO5:GET#2,a$:NEXT 880 GET#2,a$:IFa$=CHR$(13)THEN910 890 b$(c)=b$(c)+a$ 900 GOTO880 910 IFstTHENCLOSE2:RETURN 920 c=c+1:IFc=800THEN1080 930 GOTO870 940 f$="disk":GOSUB1050:IFdn$="a"THENRETURN 950 PRINT"{clear}"d$SPC(14)"raderar":en=0 960 fl=0:FORa=0TOc-1 970 IFMID$(b$(a),22,16)=dn$ANDfl=0THENfl=1:sn=a 980 IFMID$(b$(a),22,16)<>dn$ANDfl=1THENen=a:a=c 990 NEXT:IFfl=0THENPRINT"{down}"SPC(12)"fil ej funnen":GOTO1030 1000 IFen=0THENen=c+1:GOTO1020 1010 FORa=snTOc-(en-sn):b$(a)=b$(en+a-sn):NEXT 1020 c=c-(en-sn):PRINT"{down}"SPC(14)"raderad" 1030 GOSUB500:c=c-(c<0):RETURN 1040 c=0:RETURN 1050 PRINT"{clear}{down*4}disketten in i driven, skriv sedan "f$" namnet" 1060 PRINT"(maximalt 16 tecken){reverse on}q=avsluta{reverse off}" 1070 POKE19,1:INPUT"{down}{red}";dn$:POKE19,0:dn$=LEFT$(dn$,16):RETURN 1080 PRINT"{clear}"d$"{red}kartoteksfilen full! spara denna fil och"; 1090 PRINT"starta ny fil.{blue}":GOSUB500:RETURN stop tok128 (bastext 1.0)