1 REM ********************************** 2 REM *DISKETTEN-ORGANISATIONS-PROGRAMM* 3 REM * FUER DEN CBM-64 * 4 REM * VON * 5 REM *WILHELM BOOSZ - HEINRICHSTR. 21 * 6 REM *8602 STRULLENDORF - T.09543/7606* 7 REM ********************************** 8 REM 9 POKE49152,8:POKE53280,1:POKE53281,1 10 PRINT"[147]";:GN%=PEEK(49152):UR%=0 11 PRINT"[156] DISKETTEN-ORGANISATIONS-PROGRAMM" 12 PRINT" VON WILHELM BOOSZ / 09543/7606" 13 PRINTTAB(4)"GERAETENR. FLOPPY = [157][157][157][157][157][157][157][157][157][157]"GN%" (+/-)" 14 PRINT"[149] I[146] NITIALISIEREN"TAB(22)"F[146] ORMATIEREN" 15 PRINT" V[146] ALIDIEREN"TAB(22)"D[146] IRECTORY" 16 PRINT" K[146] OPIEREN"TAB(22)"B[146] AM ALPHABETISCH" 17 PRINT" G[146] ERAETENR.AENDERN"TAB(22)"U[146] MBENENNEN" 18 PRINT" L[146] OESCHEN"TAB(22)"R[146] EGENERIEREN" 19 PRINT" N[146] AME DISK AENDERN"TAB(22)"A[146] ENDERN DISK-ID" 20 PRINT" C[146] HECK DISK"TAB(22)"E[146] NDE PROGRAMM" 21 PRINTTAB(10)"BITTE WAEHLEN !" 22 GETY$:IFY$=""THEN22 23 IFY$="+"THENGN%=GN%+1:IFGN%>255THENGN%=255 24 IFY$="-"THENGN%=GN%-1:IFGN%<0THENGN%=0 25 IFY$="+"ORY$="-"THENPOKE49152,GN%:PRINT"";:GOTO11 26 IFY$="E"THENPOKE53280,14:POKE53281,6:PRINT"[147][154]":CLR:END 27 IFY$="I"THENGOSUB44:CLR:GOTO10 28 IFY$="F"THENGOSUB50:CLR:GOTO10 29 IFY$="D"THENGOSUB64:CLR:GOTO10 30 IFY$="B"THENGOSUB84:CLR:GOTO10 31 IFY$="K"THENGOSUB121:CLR:GOTO10 32 IFY$="U"THENGOSUB130:CLR:GOTO10 33 IFY$="L"THENGOSUB148:CLR:GOTO10 34 IFY$="R"THENGOSUB159:CLR:GOTO10 35 IFY$="N"THENGOSUB212:CLR:GOTO10 36 IFY$="A"THENGOSUB221:CLR:GOTO10 37 IFY$="G"THENGOSUB231:CLR:GOTO10 38 IFY$="C"THENGOSUB263:CLR:GOTO10 39 IFY$="V"THENGOSUB58:CLR:GOTO10 40 GOTO22 41 REM ****************************** 42 REM *I N I T I A L I S I E R E N * 43 REM ****************************** 44 PRINT"[147]"TAB(5)"I N I T I A L I S I E R E N" 45 CLOSE1:OPEN1,GN%,15,"I0":GOSUB298:CLOSE1:IFEN=0THENRETURN 46 PRINT" "EN;EN$;NE;EE:GOSUB305:RETURN 47 REM ****************************** 48 REM * F O R M A T I E R E N * 49 REM ****************************** 50 PRINT"[147]"TAB(5)"F O R M A T I E R E N" 51 NA$="TEST":INPUT"DISKETTENNAME";NA$:NA$=LEFT$(NA$,16) 52 ID$="":INPUT"DISKETTEN-ID ";ID$:ID$=LEFT$(ID$,2) 53 CLOSE1:OPEN1,GN%,15,"N0:"+NA$+","+ID$:CLOSE1:GOSUB298:IFENTHEN46 54 RETURN 55 REM ****************************** 56 REM * V A L I D I E R E N * 57 REM ****************************** 58 PRINT"[147]"TAB(5)"V A L I D I E R E N" 59 CLOSE1:OPEN1,GN%,15,"V":GOSUB298:CLOSE1:IFEN=0THENRETURN 60 GOTO46 61 REM ****************************** 62 REM *DIRECTORY DRUCKER/BILDSCHIRM* 63 REM ****************************** 64 PRINT"[147]"TAB(5)"D I R E C T O R Y":PRINTTAB(5)"D[146] RUCKER" 65 PRINTTAB(5)"B[146] ILDSCHIRM" 66 GETY$:IFY$<>"D"ANDY$<>"B"THEN66 67 IFY$="D"THENPRINT"[147]"TAB(5)"D R U C K E R BEREIT ?":GOTO69 68 GOSUB309:GOTO77 69 GETY$:IFY$<>"J"ANDY$<>"N"THEN69 70 IFY$="N"THENRETURN 71 INPUT"GERAETENUMMER DRUCKER 4[157][157][157]";GD%:OPEN4,GD%:GOSUB309 72 PRINT#4," "F$(0)" "ID$:PRINT#4 73 FORY=1TOZE-1 74 IFLEN(F$(Y))<16THENF$(Y)=F$(Y)+" ":GOTO74 75 PRINT#4,L$(Y)" "F$(Y)" "K$(Y) 76 NEXT:PRINT#4:PRINT#4," FREIE BLOECKE: "L$(ZE):PRINT#4:RETURN 77 PRINT"[147]NAME:"TAB(8)F$(0):PRINT"ID:"TAB(8)ID$"[146]" 78 YY=3:FORY=1TOZE-1:YY=YY+1 79 PRINTTAB(2)L$(Y)TAB(8)F$(Y)TAB(26)K$(Y):IFYY/20=INT(YY/20)THENGOSUB305:PRINT"[147]" 80 NEXT:PRINTTAB(8)"FREIE BLOECKE:"TAB(26)""L$(ZE):GOSUB305:RETURN 81 REM ****************************** 82 REM * BAM ALPHABETISCH * 83 REM ****************************** 84 DIMPN$(224),SP(29),SE(29):OPEN15,GN%,15,"I" 85 NN=0:SN=0:SO=1:SP%=18:SE%=1 86 UR%=1:GOSUB299:IFENTHENCLOSE15:RETURN 87 OPEN2,GN%,2,"#":GOSUB299:IFENTHENCLOSE15:GOTO46 88 PRINT"[147]" 89 PRINT#15,"U1";2;0;SP%;SE%:SP(SN)=SP%:SE(SN)=SE% 90 GET#2,EG$:IFEG$=""THENEG$=CHR$(0) 91 SP%=ASC(EG$) 92 GET#2,EG$:IFEG$=""THENEG$=CHR$(0) 93 SE%=ASC(EG$):PZ=2 94 PRINT#15,"B-P";2;PZ:NN=NN+1 95 FORI=1TO30:GET#2,EG$:IFEG$=""THENEG$=CHR$(0) 96 PN$(NN)=PN$(NN)+EG$:NEXTI 97 IFASC(LEFT$(PN$(NN),1))=0THENPN$="":LO=LO+1:GOTO101 98 FORI=19TO5STEP-1:IFMID$(PN$(NN),I,1)<>CHR$(160)THENI=5:GOTO100 99 PN$(NN)=LEFT$(PN$(NN),I-1)+CHR$(32)+RIGHT$(PN$(NN),30-I) 100 NEXTI:PRINTMID$(PN$(NN),4,16) 101 IFPZ-226THENPZ=PZ+32:GOTO94 102 IFSP%THENPZ=2:SN=SN+1:GOTO89 103 IFLO=0THEN108 104 N$="":FORJ=1TO30:N$=N$+CHR$(0):NEXTJ 105 FORJ=1TOLO 106 PN$(NN+J)=N$ 107 NEXTJ 108 PRINT"FILES WERDEN SORTIERT[160]!":PRINT 109 FORJ=1TONN-1:FORI=J+1TONN:IFMID$(PN$(I),4,16)>MID$(PN$(J),4,16)THEN111 110 N$=PN$(I):PN$(I)=PN$(J):PN$(J)=N$:SO=0 111 NEXTI,J:FORJ=1TONN:PRINTMID$(PN$(J),4,16):FORI=19TO5STEP-1 112 IFMID$(PN$(J),I,1)<>CHR$(32)THENI=5:GOTO114 113 PN$(J)=LEFT$(PN$(J),I-1)+CHR$(160)+RIGHT$(PN$(J),30-I) 114 NEXTI,J:IFSOTHENCLOSE2:CLOSE15:RETURN 115 PN%=1:FORJ=0TOSN:PRINT#15,"B-P";2;0:PRINT#2,CHR$(SP(J+1));CHR$(SE(J+1)) 116 PZ=2:FORI=1TO8:PRINT#15,"B-P";2;PZ:PRINT#2,PN$(PN%);:PN%=PN%+1:PZ=PZ+32 117 NEXTI:PRINT#15,"U2";2;0;SP(J);SE(J):NEXTJ:CLOSE2:CLOSE15:RETURN 118 REM ****************************** 119 REM * K O P I E R E N * 120 REM ****************************** 121 PRINT"[147]"TAB(5)"K O P I E R E N" 122 PRINT"WELCHES FILE SOLL KOPIERT WERDEN?" 123 INPUT"ALTER NAME";AN$ 124 INPUT"NEUER NAME";NN$ 125 CLOSE1:OPEN1,GN%,15,"C:"+NN$+"="+AN$:GOSUB298:IFENTHEN46 126 RETURN 127 REM ****************************** 128 REM * U M B E N E N N E N * 129 REM ****************************** 130 PRINT"[147]"TAB(5)"U M B E N E N N E N" 131 PRINT"1 = EIN FILE UMBENENNEN":PRINT"2 = ALLE FILES UMBENENNEN" 132 PRINT"BITTE WAEHLEN !" 133 GETY$:IFY$<"1"ORY$>"2"THEN133 134 IFY$="2"THEN139 135 INPUT"ALTER NAME";AN$ 136 INPUT"NEUER NAME";NN$ 137 CLOSE1:OPEN1,GN%,15,"R:"+NN$+"="+AN$:GOSUB298:IFENTHEN46 138 RETURN 139 GOSUB309 140 PRINT"[147]":FORY=1TOZE-1:PRINT"NEUER NAME "F$(Y):PRINT"[145]";:INPUTNN$ 141 IFNN$=F$(Y)THEN144 142 CLOSE1:OPEN1,GN%,15,"R:"+NN$+"="+F$(Y):GOSUB298 143 IFENTHENPRINT" "EN;EN$;NE;EE:GOSUB305 144 NEXT:RETURN 145 REM ****************************** 146 REM * L O E S C H E N * 147 REM ****************************** 148 PRINT"[147]"TAB(5)"L O E S C H E N" 149 INPUT"NAME DES ZU LOESCHENDEN FILES";NA$ 150 PRINT"SIND SIE SICHER, DASS "NA$:PRINT"GELOESCHT WERDEN SOLL ?" 151 GETY$:IFY$=""THEN151 152 IFY$<>"J"THENCLR:GOTO10 153 CLOSE1:OPEN1,GN%,15,"S0:"+NA$:GOSUB298:IFEN$<>"FILES SCRATCHED"THEN46 154 IFNE=0THENPRINT"KEIN FILE "NA$"[146] GEFUNDEN !":GOSUB305:RETURN 155 PRINT" "NE"FILE(S) GELOESCHT":GOSUB305:RETURN 156 REM ****************************** 157 REM * R E G E N E R I E R E N * 158 REM ****************************** 159 GOSUB206:RE%=0:PRINT"[147]"TAB(5)"R E G E N E R I E R E N" 160 SP%=1:TR%=DI%:OPEN15,8,15,"I0 161 [159]8,8,2,"#2":FI%[178]0 162 [152]15,"U1:"2;0;TR%;SP%:[141]204 163 [129]I[178]0[164]1:[161]#8,A$:[141]201:P%(I)[178][198](A$):[130]:A[178]2:[141]203 164 [161]#8,A$:[141]201:A[178][198](A$)[175]7 165 H$[178]"":[129]I[178]0[164]1:[161]#8,A$:[141]201:L%(I)[178][198](A$):[130] 166 [129]I[178]3[164]18:[161]#8,A$:H$[178]H$[170]A$:[130]: 167 [139]H$[178]""[167]169 168 [153] KI$(A);" ";CO$;H$;[163]11)CO$;;L%(0);L%(1):[139]A[178]0[167][137]185 169 FI%[178]FI%[170]1:[139]FI%[179]8[167]A[178]FI%[172]32[170]2:[141]203:[137]164 170 [139]P%(0)[178]0[167]172 171 TR%[178]P%(0):SP%[178]P%(1):FI%[178]0:[137]162 172 [160]8:[139]RE%[167]58 173 [141]204:[160]15:[142] 174 [152]15,"U1:"2;0;L%(0);L%(1):[142] 175 D%[178]2:[153]"SPUR, SEKTOR"; 176 [141]174:[129]I[178]0[164]1:[161]#8,A$:[141]201:Z%(I)[178][198](A$) 177 [153]Z%(I)"CMD ";:[130]:[153]:[153]"ONSPUR, SEKTOR"; 178 [139]Z%(0)[178]0[167][153]:[142] 179 [152]15,"B-F"0;Z%(0);Z%(1):L%(0)[178]Z%(0):L%(1)[178]Z%(1):Z%(D%)[178]Z%(0) 180 Z%(D%[170]1)[178]Z%(1):D%[178]D%[170]2 181 [139]DS[178]0[167]176 182 [153]:[153]"DAS FILE WURDE BEREITS UEBERSCHRIEBENWAIT!":X%[178][168](X%):A[178]FI%[172]32[170]2 183 [129]I[178]2[164]D%[171]4[169]2:[152]15,"B-F:"0;Z%(I);Z%(I[170]1):[130] 184 L%(0)[178]TR%:L%(1)[178]SP%:[141]174:[137]203 185 [153]"ZURUECKHOLEN? (J/N)CLOSECLOSECLOSECLOSE 186 GET A$:IF A$="" THEN 186 187 IF A$<>"J"THEN169 188 X%=0:PRINT"BLOECKE WIEDERBELEGEN...":Z%(0)=L%(0):GOSUB175:IFX%THEN169 189 PRINT"P[146]ROGRAMM, S[146]EQUENIELLES, U[146]SER," 190 PRINT"ODER R[146]ELATIVES FILE ?" 191 GET JA$:IFJA$<>"P"ANDJA$<>"S"ANDJA$<>"U"ANDJA$<>"R"THEN191 192 PRINT:IFJA$="P"THENKI%=130:GOTO196 193 IFJA$="U"THENKI%=131:GOTO196 194 IFJA$="R"THENKI%=132:GOTO196 195 KI%=129 196 PRINT"FILE ZURUECKHOLEN..." 197 L%(0)=TR%:L%(1)=SP%:GOSUB174 198 A=FI%*32+2:GOSUB203:PRINT#8,CHR$(KI%); 199 BL%=((D%-2)/2)+1:PRINT""BL%"BLOECKE "; 200 PRINT#15,"U2:"2;0;TR%;SP%:PRINT"WIEDERHERGESTELLT !":RE%=1:GOTO169 201 IFA$=""THENA$=CHR$(0) 202 RETURN 203 PRINT#15,"B-P:"2;A 204 INPUT#15,EN%,EM$,ET%,ES%:IFEN%=0THENRETURN 205 GOTO46 206 DIMP%(1),L%(1),Z%(300),KI$(4):CO$=CHR$(34) 207 FORI=0TO4:READKI$(I):NEXT:DI%=18:RETURN 208 DATA"DEL[146]","SEQ","PRG","USR","REL" 209 REM ****************************** 210 REM * DISKNAME AENDERN * 211 REM ****************************** 212 OPEN15,GN%,15:NR=0:OPEN1,GN%,3,"#":PRINT#15,"U1:3"NR",18,0" 213 PRINT#15,"B-P:3,144":D$="":FORL=1TO16:GET#1,A$:D$=D$+A$:NEXT 214 PRINT"[147]ALTER DISK-NAME: "D$ 215 NA$="DISK-NAME":PRINT"NEUER DISK-NAME";:INPUTNA$ 216 NA$=LEFT$(NA$+" ",16) 217 PRINT#15,"B-P:3,144":PRINT#1,NA$;:PRINT#15,"U2:3"NR",18,0":CLOSE1:CLOSE15:RETURN 218 REM ****************************** 219 REM * DISK - ID AENDERN * 220 REM ****************************** 221 DV=0:OPEN15,GN%,15:OPEN1,GN%,3,"#":PRINT#15,"U1:3"DV",18,0" 222 PRINT#15,"B-P:3,162":GET#1,A$,B$,C$,D$,E$:PRINT"[147]ALTER DISK-ID: "A$;B$;C$; 223 PRINTD$;E$:INPUT"NEUER DISK-ID";I$ 224 IFLEN(I$)<3THENI$=I$+" ":GOTO224 225 I$=LEFT$(I$+"2A",5) 226 PRINT#15,"B-P:3,162":PRINT#1,I$;:PRINT#15,"U2:3"DV",18,0 227 [141]45:[142] 228 [143] ***************************** 229 [143] *GERAETENUMMER DISK AENDERN * 230 [143] ***************************** 231 [151]59468,12:[153]"LOAD G E R A E T E N U M M E R AENDERN" 232 [153]"BITTE ALLE FLOPPYS AUSSCHALTEN AUSSER" 233 [153]"DER, DEREN NUMMER GEAENDERT WERDEN SOLL!" 234 [153]"ALTE GERAETENUMMER 8CMDCMDCMD"; 235 [133]OD:[139]OD[179]8[176]OD[177]15[167]234 236 [153]"NEUE GERAETENUMMER 9CMDCMDCMD"; 237 [133]ND:[139]ND[179]8[176]ND[177]15[167]236 238 [141]239:[141]256:[142] 239 [160]15:[159]15,OD,15 240 [152]15,"M-R"[199](255)[199](255):[161]#15,C$:C[178][198](C$[170][199](0)) 241 [139]ST[167]259 242 [139]C[178]254[167]MT[178]119 243 [139]C[178]226[167]MT[178]50 244 [139]C[178]213[167]MT[178]12 245 [139]C[178]242[167]MT[178]12 246 [139]C[178]198[167]248 247 [142] 248 [152]15,"M-R"[199](234)[199](16):[161]#15,ZB$:ZB[178][198](ZB$[170][199](0)) 249 [139]ZB[178]0[167]MT[178]12 250 [139]ZB[178]1[167]252 251 [139]ST[167]259 252 [152]15,"M-R"[199](172)[199](16):[161]#15,ZC$:ZC[178][198](ZC$[170][199](0)) 253 [139]ZC[178]1[167]MT[178]12 254 [139]ZC[178]2[167]MT[178]12 255 [142] 256 [160]15:[159]15,OD,15 257 [152]15,"M-W"[199](MT)[199](0)[199](2)[199](ND[170]32)[199](ND[170]64) 258 [142] 259 [153]" FEHLER AM GERAET !":[141]305:[142] 260 [143] ***************************** 261 [143] * C H E C K D I S K * 262 [143] ***************************** 263 [134]T(100):[134]S(100) 264 [153]"LOAD"[163]8)"C H E C K D I S K" 265 [141]59:[159]15,GN%,15:N%[178][187](TI)[172]255 266 A$[178]"":[129]I[178]1[164]255:A$[178]A$[170][199](255[175](I[170]N%)):[130] 267 UR%[178]1:[141]299:[139]EN[167][160]15:[137]46 268 [159]2,GN%,2,"#" 269 [153]:[152]2,A$; 270 T[178]1:S[178]0 271 [152]15,"B-A:0"T;S 272 [132]15,EN,EM$,ET,ES 273 [139]EN[178]0[167]276 274 [139]ET[178]0[167]284 275 [152]15,"B-A:0"ET;ES:T[178]ET:S[178]ES 276 [152]15,"U2:2,0"T;S 277 NB[178]NB[170]1:[153][163]8)"GETESTETE BLOECKE:"NB 278 [153][163]8)" SPUR CMDCMDCMDCMD"T;" SEKTOR CMDCMDCMDCMD"S"ONONON" 279 [132]15,EN,EM$,ES,ET 280 [139]EN[178]0[167]271 281 T(J)[178]T:S(J)[178]S:J[178]J[170]1 282 [153]"FEHLERHAFTER BLOCK:",T;S"ONONONONONON" 283 [137]271 284 [141]45 285 [141]299:[139]EN[167][160]15:[160]2:[137]46 286 [160]2:[160]15 287 [139]J[178]0[167][153]"KEINE FEHLERHAFTEN BLOECKE !":[142] 288 [159]2,GN%,2,"#" 289 [153]"FEHLERBLOECKE","SPUR","SEKTOR" 290 [129]I[178]0[164]J[171]1 291 [152]15,"B-A:0"T(I);S(I) 292 [153],,T(I),S(I) 293 [130] 294 [153]""J"FEHLERBLOECKE WURDEN FESTGESTELLT":[160]15:[160]2:[141]305:[142] 295 [143] ***************************** 296 [143] * FEHLERKANAL UEBERPRUEFEN * 297 [143] ***************************** 298 [160]15:[159]15,GN%,15 299 [132]15,EN,EN$,NE,EE:[139]UR%[167][142] 300 [160]15 301 [142] 302 [143] ***************************** 303 [143] * TASTENDRUCK ABWARTEN * 304 [143] ***************************** 305 [153][163]5)"WEITER --> TASTE DRUECKEN !":[151]198,0:[146]198,1:[151]198,0:[142] 306 [143] ***************************** 307 [143] * DIRECTORY LESEN * 308 [143] ***************************** 309 [153]"LOAD"[163]5)"D I R E C T O R Y L E S E N":[153][163]5)"MOMENT BITTE !" 310 [134]L$(140),K$(140),F$(140) 311 [159]1,GN%,0,"$0":[159]15,GN%,15:UR%[178]1:[141]299:[139]EN[167]46 312 [161]#1,A$,B$:ZE[178][171]1 313 ZE[178]ZE[170]1:[161]#1,A$,B$ 314 [161]#1,A$,B$:C[178]0 315 [139]A$[179][177]""[167]C[178][198](A$) 316 [139]B$[179][177]""[167]C[178]C[170][198](B$)[172]256 317 L$(ZE)[178][201](" "[170][202]([196](C),2),3) 318 [161]#1,B$:[139]ST[179][177]0[167]FB$[178][201](" "[170]L$,3):[137]327 319 [139]B$[179][177][199](34)[167] 318 320 F$(ZE)[178]"" 321 [161]#1,B$:[139]B$[179][177][199](34)[167]F$(ZE)[178]F$(ZE)[170]B$:[137]321 322 [161]#1,B$:[139]B$[178][199](32)[167]322 323 C$[178]"" 324 C$[178]C$[170]B$:[161]#1,B$:[139]B$[179][177]""[167]324 325 K$(ZE)[178][200](C$,3):[139]ZE[178]0[167]ID$[178][200](C$,5) 326 [139]ST[178]0[167]313 327 [160]1:[160]15:[142]