home *** CD-ROM | disk | FTP | other *** search
- 1 REM *******************************
- 2 REM * REFORMAT V4.0 *
- 3 REM * *
- 4 REM * (C) 1985 BY GEORG BURGER *
- 5 REM * ROIDERSTRASSE 18 *
- 6 REM * 8051 ZOLLING *
- 7 REM *******************************
- 8 :
- 9 :
- 10 POKE53280,0:POKE53281,0:POKE646,5:PRINTCHR$(142)
- 20 OPEN1,8,15,"I":CLOSE1:GOTO1000
- 97 :
- 98 REM ---------ROUTINEN--------------
- 99 :
- 100 CLOSE5:OPEN5,8,5,"#2":RETURN
- 200 INPUT#15,Y1$,Y2$,Y3$,Y4$
- 210 IFVAL(Y1$)=0THENRETURN
- 220 PRINT""Y1$" "Y2$" "Y3$" "Y4$
- 230 PRINT" USE _ [146] TO EXIT OR F7 [146] TO CONTINUE"
- 240 POKE198,0
- 250 GETA$:IFA$=""THEN250
- 260 IFA$="_"THENRUN
- 270 IFASC(A$)=136THENRETURN
- 280 GOTO250
- 300 PRINT"[147][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164]";
- 310 PRINT" REFORMAT V4.0 BY GEORG BURGER [146]";
- 320 FORI=1TO7:PRINT"[165] [167]";:NEXTI
- 330 PRINT"[163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163]":RETURN
- 400 PRINT"OLD DIRECTORY-REGISTER:":PRINT
- 410 PRINT"NAME",DN$(D1)
- 420 PRINT"BLOCKS",DL(D1)
- 430 PRINT"TRACK",DS(D1)
- 440 PRINT"SECTOR",DB(D1)
- 450 EF$="Y":RETURN
- 500 PRINT" PRESS ANY KEY [146]":POKE198,0
- 510 GETA$:IFA$=""THEN510
- 520 RETURN
- 600 D1=0
- 610 IF(DS(D1)=AS)AND(DB(D1)=AB)THEN400
- 620 D1=D1+1:IFD1>=DPTHENRETURN
- 630 GOTO610
- 700 MB=NB:NB=NB+3
- 710 IFNB=19THENNB=2
- 720 IFNB=20THENNB=3
- 730 RETURN
- 997 :
- 998 REM --------- MENUE ---------------
- 999 :
- 1000 OPEN15,8,15:OPEN5,8,5,"#2"
- 1010 DIMS(35,21),B(35,21),BL(35),DI$(29),DI(29),A$(255)
- 1020 DIMSV(35,21),BV(35,21),US(35,21),DS(144),DB(144),DL(144),DN$(144),DT(144)
- 1030 FORI=1TO17:BL(I)=20:NEXT:FORI=18TO24:BL(I)=18:NEXT
- 1040 FORI=25TO30:BL(I)=17:NEXT:FORI=31TO35:BL(I)=16:NEXT
- 1050 GOSUB300:POKE214,4:POKE211,0:SYS58640
- 1060 PRINT" F1 [146] RECONSTRUCT DIRECTORY
- 1070 [153]" F7 WAIT EXAMINE DIRECTORY":[151]198,0
- 1080 [161]A$:[139]A$[178]""[167]1080
- 1090 [139][198](A$)[178]133[167][141]100:[137]2000
- 1100 [139][198](A$)[178]136[167][141]100:[141]4000:[137]1050
- 1110 [137]1080
- 1997 :
- 1998 [143] --- RECONSTRUCT DIRECTORY ----
- 1999 :
- 2000 [141]300:[151]214,4:[151]211,0:[158]58640
- 2010 [153]" RECONSTRUCT DIRECTORY
- 2020 PRINT" USE _ [146] TO EXIT
- 2030 [153]"TOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTO";
- 2040 [153]" TRACK SECTOR TO TRACK SECTOR WAIT"
- 2050 [129]S[178]1[164]35:[129]B[178]0[164]BL(S)
- 2060 [152]15,"B-R:"5;0;S;B:[141]200
- 2070 [152]15,"B-P:"5;0:[141]200
- 2080 [161]#5,E$
- 2090 [161]#5,F$
- 2100 E[178][198](E$[170][199](0))
- 2110 F[178][198](F$[170][199](0))
- 2120 [153]" "S,B," "E," "F
- 2130 [161]A$:[139]A$[178]""[167]2150
- 2140 [139]A$[178]"_"[167][160]15:[138]
- 2150 [139]E[178]75[175]F[178]1[167]US(S,B)[178][171]2:[137]2200
- 2160 [139]E[177]35[167]E[178]0
- 2170 [139]F[177]21[167]F[178]21
- 2180 S(S,B)[178]E:B(S,B)[178]F
- 2190 SV(E,F)[178]S:BV(E,F)[178]B:US(E,F)[178]US(E,F)[170]1
- 2200 [130]:[130]
- 2210 [143] ------ CRITICAL BLOCKS -------
- 2220 [141]300:[151]214,5:[151]211,0:[158]58640
- 2230 [153]" CRITICAL BLOCKS
- 2240 PRINT" TRACK SECTOR LENGHT [146]":PRINT
- 2250 FORS=1TO35
- 2260 FORB=0TOBL(S)
- 2270 IFUS(S,B)<2THEN2290
- 2280 PRINT" "S,B,US(S,B)
- 2290 NEXT:NEXT
- 2300 PRINT" END OF CRITICAL BLOCKS [146]"
- 2310 GOSUB500:GOSUB300:POKE214,4:POKE211,0:SYS58640
- 2320 PRINT" USE OLD DIRECTORY TO NAME FILES ?
- 2330 [153]" (Y/N)
- 2340 GETDA$:IFDA$=""THEN2340
- 2350 IFDA$<>"N"THENDA$="Y":GOSUB4030
- 2360 FORS=1TO35
- 2370 IFS=18THEN2550
- 2380 FORB=0TOBL(S)
- 2390 S1=S:B1=B
- 2400 IF(S=1)AND(S(S,B)=0)AND(B(S,B)=1)THEN2540
- 2410 IFUS(S1,B1)<0THEN2540
- 2420 IFUS(S1,B1)>0THENS2=SV(S1,B1):B2=BV(S1,B1):S1=S2:B1=B2:GOTO2420
- 2430 PRINT"[147][192][192][192][192][192][192][192][192][192][192][192][192][192][192] FILE-START [146][192][192][192][192][192][192][192][192][192][192][192][192][192][192]";:BA=1:AS=S1:AB=B1
- 2440 PRINTS1,B1:US(S1,B1)=-1
- 2450 S2=S(S1,B1):B2=B(S1,B1):S1=S2:B1=B2
- 2460 IFS1<>0THENBA=BA+1:GOTO2440
- 2470 PRINT"[192][192][192][192][192][192][192][192][192][192][192][192][192][192][192] FILE-END [146][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192]"
- 2475 PRINT"LENGHT:";BA;"BLOCKS":PRINT
- 2480 IFBA<2THEN2540
- 2490 IFDA$="Y"THENEF$="N":GOSUB600
- 2500 PRINT"WRITE BACK IN DIRECTORY (Y/N)":POKE198,0:PRINT
- 2510 GETE$:IFE$=""THEN2510
- 2520 IFE$="Y"THEN2570
- 2530 IFE$<>"N"THEN2510
- 2540 NEXTB
- 2550 NEXTS
- 2560 GOTO1050
- 2570 REM -------- WRITE BAM -----------
- 2580 S1=AS:B1=AB
- 2590 PRINT#15,"B-A:"0;S1;B1:GOSUB200
- 2600 S2=S(S1,B1):B2=B(S1,B1):S1=S2:B1=B2
- 2610 IFS1<>0THEN2590
- 2620 REM ----- WRITE DIRECTORY --------
- 2630 MB=1:NB=4
- 2640 PRINT#15,"U1:"5;0;18;MB:GOSUB200
- 2650 PRINT#15,"B-P:"5;0:GOSUB200
- 2660 GET#5,NS$,NB$
- 2670 NS=ASC(NS$+CHR$(0))
- 2680 IFNS<>0THENGOSUB700:GOTO2640
- 2690 C=0
- 2700 GET#5,A$,B$,C$
- 2710 IFA$=""THENA$="0"
- 2720 IFB$=""THENB$="0"
- 2730 IFC$=""THENC$="0"
- 2740 IFA$="0"THENIFB$="0"THENIFC$="0"THEN2910
- 2750 FORI=1TO27:GET#5,A$:NEXT
- 2760 C=C+1:IFC<8THENGET#5,A$,A$:GOTO2700
- 2770 IFMB<18THEN2810
- 2780 PRINT"DIRECTORY IS FULL !"
- 2790 GETA$:IFA$=""THEN2790
- 2800 GOTO1050
- 2810 PRINT#15,"B-P:"5;0:GOSUB200
- 2820 PRINT#5,CHR$(18);
- 2830 PRINT#5,CHR$(NB);
- 2840 PRINT#15,"U2:"5;0;18;MB:GOSUB200
- 2850 GOSUB700
- 2860 PRINT#15,"U1:"5;0;18;MB:GOSUB200
- 2870 PRINT#15,"B-P:"5;0:GOSUB200
- 2880 PRINT#5,CHR$(0);CHR$(255);:FORI=0TO253:PRINT#5,CHR$(0);:NEXT
- 2890 PRINT#15,"U2:"5;0;18;MB:GOSUB200
- 2900 GOTO2640
- 2910 PRINT"TRACK 18 SECTOR"MB"POSITION"C+1:PRINT
- 2920 P=2+C*32
- 2930 PRINT#15,"B-P:"5;P:GOSUB200
- 2940 DI$(0)=CHR$(130)
- 2950 DI$(1)=CHR$(AS)
- 2960 DI$(2)=CHR$(AB)
- 2970 FORI=3TO18:DI$(I)=CHR$(160):NEXT
- 2980 IFDA$="Y"ANDEF$="Y"THENPRINT" "DN$(D1)"[145]"
- 2990 INPUT"NAME ";N$
- 3000 N$=LEFT$(N$,16)
- 3010 FORI=0TOLEN(N$)-1
- 3020 DI$(3+I)=MID$(N$,I+1,1)
- 3030 NEXT
- 3040 FORI=19TO27:DI$(I)=CHR$(0):NEXT
- 3050 BH=INT(BA/256):BL=BA-256*BH
- 3060 DI$(28)=CHR$(BL)
- 3070 DI$(29)=CHR$(BH)
- 3080 FORI=0TO29
- 3090 PRINT#5,DI$(I);
- 3100 NEXT
- 3110 PRINT#15,"U2:"5;0;18;MB:GOSUB200
- 3120 GOTO2540
- 3997 :
- 3998 REM ---- EXAMINE DIRECTORY -------
- 3999 :
- 4000 GOSUB300:POKE214,4:POKE211,0:SYS58640
- 4010 PRINT" EXAMINE DIRECTORY
- 4020 [153]" USE _ WAIT TO EXIT
- 4030 PRINT
- 4040 MB=1:DP=0
- 4050 PRINT#15,"U1:"5;0;18;MB:GOSUB200
- 4060 PRINT#15,"B-P:"5;0:GOSUB200
- 4070 GET#5,NS$,NB$
- 4080 NB=ASC(NB$+CHR$(0))
- 4090 NS=ASC(NS$+CHR$(0))
- 4100 PRINT"[163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163]";
- 4110 PRINT" TRACK 18 SECTOR"MB"-->"NS" "NB
- 4120 PRINT"[164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164]";
- 4130 GETA$:IFA$=""THEN4150
- 4140 IFA$="_"THENCLOSE15:RUN
- 4150 IFNS=75ANDNB=1THEN4440
- 4160 PRINT
- 4170 PRINT"BLOCKS"TAB(7)"NAME"TAB(26)"TYP"TAB(31)"TRA."TAB(36)"SEC.[146]"
- 4180 FORC=0TO7
- 4190 GETA$:IFA$=""THEN4210
- 4200 IFA$="_"THENCLOSE15:RUN
- 4210 FORI=0TO29
- 4220 GET#5,DI$(I)
- 4230 NEXTI
- 4240 IFC<>7THENGET#5,A$,A$
- 4250 FORI=0TO29:DI(I)=ASC(DI$(I)+CHR$(0)):NEXT
- 4260 KW$=" NO MORE FILES IN SECTOR"
- 4270 IFDI(0)=0ANDDI(1)=0ANDDI(2)=0THENPRINT" "KW$;MB"[157] [146]":PRINT:GOTO4440
- 4280 DS(DP)=DI(1):DB(DP)=DI(2)
- 4290 DL(DP)=DI(29)*256+DI(28)
- 4300 DN$(DP)="":FORI=3TO18:IFDI(I)<>160THENDN$(DP)=DN$(DP)+DI$(I)
- 4310 NEXTI
- 4320 DT(DP)=DI(0)
- 4330 DP=DP+1
- 4340 PRINTDI(29)*256+DI(28);TAB(7);CHR$(34);
- 4350 FORI=3TO18:IFDI(I)<>160THENPRINTDI$(I);
- 4360 NEXT:PRINTCHR$(34);
- 4370 BY=DI(0)AND(NOT128):IFBY=0THENPRINTTAB(26);"DEL";
- 4380 IFBY=1THENPRINTTAB(26);"SEQ";
- 4390 IFBY=2THENPRINTTAB(26);"PRG";
- 4400 IFBY=3THENPRINTTAB(26);"USR";
- 4410 IFBY=4THENPRINTTAB(26);"REL";
- 4420 PRINTTAB(30);DI(1);TAB(35);DI(2)
- 4430 NEXTC
- 4440 MB=MB+1:IFMB<>19THEN4050
- 4450 IFDA$="Y"THENRETURN
- 4460 GOSUB500:RETURN
-