home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
64'er
/
64ER_CD.iso
/
84xx
/
8410.d64
/
diskorganis.vc20
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
1995-03-30
|
10KB
|
328 lines
1 REM **********************************
2 REM *DISKETTEN-ORGANISATIONS-PROGRAMM*
3 REM * FUER DEN VC - 20 *
4 REM * VON *
5 REM *WILHELM BOOSZ - HEINRICHSTR. 21 *
6 REM *8602 STRULLENDORF - T.09543/7606*
7 REM **********************************
8 REM
9 POKE828,8:POKE36879,25
10 PRINT"[147]";:GN%=PEEK(828):UR%=0
11 PRINT"[156]DISKETTEN-ORGANISATION"
12 PRINT"[159] VON WILHELM BOOSZ"
13 PRINT"FLOPPY = [157][157][157][157]"GN%"(+/-)"
14 PRINT"I[146] NITIALISIEREN":PRINT"F[146] ORMATIEREN"
15 PRINT"V[146] ALIDIEREN":PRINT"D[146] IRECTORY"
16 PRINT"K[146] OPIEREN":PRINT"B[146] AM ALPHABETISCH"
17 PRINT"G[146] ERAETENR.AENDERN":PRINT"U[146] MBENENNEN"
18 PRINT"L[146] OESCHEN":PRINT"R[146] EGENERIEREN"
19 PRINT"N[146] AME DISK AENDERN":PRINT"A[146] ENDERN DISK-ID"
20 PRINT"C[146] HECK DISK":PRINT"E[146] NDE PROGRAMM"
21 PRINT"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$="-"THENPOKE828,GN%:PRINT"";:GOTO11
26 IFY$="E"THENPOKE36879,27:PRINT"[147]":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] INITIALISIEREN"
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] FORMATIEREN"
51 NA$="TEST":INPUT"DISKETTENNAME";NA$:NA$=LEFT$(NA$,16)
52 ID$="":INPUT"DISKETTEN-ID";ID$
53 CLOSE1:OPEN1,GN%,15,"N:"+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] VALIDIEREN"
59 CLOSE1:OPEN1,GN%,15,"V":GOSUB298:CLOSE1:IFEN=0THENRETURN
60 GOTO46
61 REM ******************************
62 REM *DIRECTORY DRUCKER/BILDSCHIRM*
63 REM ******************************
64 PRINT"[147]D I R E C T O R Y":PRINT"D[146] RUCKER"
65 PRINT"B[146] ILDSCHIRM"
66 GETY$:IFY$<>"D"ANDY$<>"B"THEN66
67 IFY$="D"THENPRINT"[147]DRUCKER 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 "F$(0):PRINT"ID "ID$"[146]"
78 YY=3:FORY=1TOZE-1:YY=YY+1
79 PRINT"[156]"L$(Y)""F$(Y)"[156]"TAB(19)LEFT$(K$(Y),2):IFYY/18=INT(YY/18)THENGOSUB305:PRINT"[147]"
80 NEXT:PRINT"FREIE BLOECKE "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!"
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]K O P I E R E N"
122 PRINT"WELCHES FILE SOLL":PRINT"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] UMBENENNEN"
131 PRINT"1 = EIN FILE":PRINT"2 = ALLE FILES"
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] LOESCHEN"
149 INPUT"FILENAME";NA$
150 PRINT"SOLL "NA$:PRINT"WIRKLICH WEG ???"
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$:PRINT"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] REGENERIEREN"
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 [153]"LOADGERAETENUMMER AENDERN"
232 [153]"BITTE ALLE FLOPPYS":[153]"AUSSCHALTEN AUSSER"
233 [153]"DER, DEREN NUMMER GE-":[153]"AENDERT WERDEN SOLL!"
234 [153]"ALTE NUMMER 8CMDCMDCMD";
235 [133]OD:[139]OD[179]8[176]OD[177]15[167]234
236 [153]"NEUE NUMMER 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]302:[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 CHECK DISK"
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]"GETESTETE BLOECKE"NB
278 [153]" 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]302:[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]"WEITER-->TASTE !":[151]198,0:[146]198,1:[151]198,0:[142]
306 [143] *****************************
307 [143] * DIRECTORY LESEN *
308 [143] *****************************
309 [153]"LOAD DIRECTORY LESEN":[153]"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]