home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Light
/
Light_Vol.1_May_1992_Datasphere_Publications_Disk_1_of_2_Side_B.d64
/
settadek
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2023-02-26
|
19KB
|
503 lines
2 k=peek(186):print"[147]":poke53280,0:poke53281,0:poke53265,11
4 d=d+1:ifd<3thenload"d."+str$(d),k,1
6 poke56576,148:poke53272,2:print"[147]":poke648,192:poke52487,255:gosub1044
8 print"[147]":sys51024:il=0:xl=0:xs=0:fl=0:fs=0:poke56576,148
10 printtb$:input"[145][145][145][145][145]load index from device.(8/9)";xl$:xl=val(xl$)
12 ifxl<8orxl>9then10
14 printtb$:input"[145][145][145][145]store index on device..(8/9)";xs$:xs=val(xs$)
16 ifxs<8orxs>9then14
18 printtb$:input"[158][145][145][145]load files from device.(8/9)";fl$:fl=val(fl$)
20 iffl<8orxl>9then18
22 printtb$:input"[158][145][145]store files to device..(8/9)";fs$:fs=val(fs$)
24 iffs<8orxl>9then22
26 printtb$"are inputs correct ? (y/n)":getyn$
28 ifyn$="y"thensys50984:print"[147]":poke53272,2:poke53270,200:goto34
30 ifyn$="n"thensys50984:goto8
32 ifyn$<>"y"oryn$<>"n"thenprint"[145][145]":goto26
34 so=0:poke198,0:r=0:rc=0:e$(1)="":e$(2)=""
36 print"[147][159]"x$(1);"[194][154] master cassette files menu [159][194]";x$(2)"[146]";
38 print"[152][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209]"
40 forbd=1to15:print"[209] [209]":next
42 printtb$"[145][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209]"
44 gosub1006:printtb$"[146][158]@shadow graphics 1992"
46 print"[159] 1. cassette files menu"
48 print"[154] 2. numerical index"
50 print"[159] 3. alphabetical index"
52 print"[154] 4. change device numbers":gosub1004
54 print,"[176][175][175][175][175][175][175][175][175][175][175][175][175][175][174]"
56 print,"^[153]select number_":print,"[173][172][172][172][172][172][172][172][172][172][172][172][172][172][189]"
58 geto$:ifo$=""then58
62 o=val(o$):ifo=1andil=1then496
64 ifo=1andil<>1thenprinttb$"[145][145][145][145]";x$(10):gosub1026:goto496
66 ifo=2andil=1then76
68 ifo=2andil<>1thenprinttb$"[145][145][145][145]";x$(10):gosub1026:goto76
70 ifo=3then930
72 ifo=4thenpoke53265,11:goto8
74 ifo$<>""then58
76 print"[147][156]"x$(1);"[194][158] numerical cassette files menu [156][194]";x$(2)"[146]";
78 print"[150][209] 1 [146][150] create a new file":gosub1012
80 print"[209] 2 [146][150] scratch file from disk":gosub1012
82 print"[209] 3 [146][150] print index 1":gosub1012
84 print"[209] 4 [146][150] update indexes":gosub1012
86 print"[209] 5 [146][150] clear indexes":gosub1012
88 print"[209] 6 [146][150] main menu":gosub1012:print,"[156][176][175][175][175][175][175][175][175][175][175][175][175][175][175][174]"
92 print,"^[150]select number[156]_":print,"[173][172][172][172][172][172][172][172][172][172][172][172][172][172][189]"
96 getp$:ifp$=""then96
100 s=val(p$):ifs=1thenfc=4:goto130
102 ifs=2thenfc=3:goto130
104 ifs=3thenfc=1:goto300
106 ifs=4thenfc=5:goto130
108 ifs=5then114
110 ifs=6then34
112 ifp$<>""then96
114 printtb$"[158]confirm scratch indexes (y/n)"
116 geta$:ifa$=""then116
118 ifa$<>"y"then76
120 forj=1to140:g$(j)="( "+") "+"[209][209][209]":nextj
122 printtb$"";x$(9):gosub1018:forj=1to140:g$(j)="[192][192][192]":nextj
126 printtb$"";x$(9):gosub1022:goto34
130 gosub1002:print"[147]":pg=1:tn=1:ln=20:a=0:g$(a)=""
132 ifss=1thenme$="[154] file from disk [146]"
134 ifs=1thenme$="[154] new file [146]"
136 ifs=2thenme$="[154] scratch file [146]"
138 ifs=3thenme$="[154] index print [146]"
140 ifs=4thenme$="[154] index update [146]"
142 poke198,0:print"[156] f1=page on:[129]f3=page back:[159]f5=file:[158]f7=menu[146]";
144 print"[155] page ";pg;"[157] [155] ";me$;
146 forx=tntoln:print"[152] [146][145]":gosub1012
148 print" [145]"
150 printtab(1)x;"[154]"tab(6)g$(x):nextx:printtb$"[129] page number [146]";
152 :
154 geta$:ifa$=""thengosub1008
156 ifa$>""then162
158 printtb$"[156] page number [146]";
160 geta$:ifa$=""thengosub1008:goto152
162 ifa$<chr$(133)ora$>chr$(136)then152
164 ifa$=chr$(133)andx>139thentn=1:ln=20:pg=1:goto142
166 ifa$=chr$(134)andx<22thentn=121:ln=140:pg=7:goto142
168 ifa$=chr$(136)then34
170 ifa$=chr$(133)thentn=ln+1:ln=ln+20:pg=pg+1:goto142
172 ifa$=chr$(134)thentn=ln-39:ln=ln-20:pg=pg-1:goto142
174 ifa$=chr$(135)thenprinttb$:input"[159] file number [146]";a
176 printtb$," "
178 ifa=0then174
180 ifa<tnora>lnthenprint"[145][145]":goto152
182 iffc=5andg$(a)="[192][192][192]"thengosub998:goto236
184 ifg$(a)="[192][192][192]"thengosub998:print"[145][145]":goto152
186 iffc=5anda<tnora>lnthenprint"[145][145]":goto152
188 iffc=1then472
190 iffc=3then196
192 iffc=4then324
194 iffc=5then236
196 print"[145][158]confirm this file scratch (y/n)"
198 geta$:ifa$=""then198
200 ifa$="y"then206
202 ifa$="n"then76
204 ifa$=<"y"ora$>"n"then198
206 print"[145] "
208 print"[145][129] scratching ";g$(a);" ":open2,fl,15:print#2,"s:";g$(a):close2
210 print"[145][153] file has been scratched [146] ":aa$=g$(a):g$(a)="[192][192][192]"
212 gosub1000:zz$="( "+") "+aa$:print"[145][155]";x$(9)" ":gosub1022
214 forq=1to16:ifmid$(aa$,q,1)=chr$(32)thencq$=cq$+chr$(160):goto218
216 cq$=cq$+mid$(aa$,q,1)
218 nextq:aa$=cq$:zz$="( "+") "+aa$:cq$=""
220 ifil=2theng$(141)=zz$
222 ifil<2thenprint"[145][152]";x$(10):gosub1014:g$(141)=zz$
224 forn=141to1step-1
226 ifmid$(g$(n),8)=aa$theng$(n)="( "+") "+"[209][209][209]"
228 next:forn=1to140step1:print"[145][154] busy "
230 ifmid$(g$(n),8)>mid$(g$(n+1),8)thenb$=g$(n):g$(n)=g$(n+1):g$(n+1)=b$
232 print"[145][159] busy":next
234 print"[145]";x$(9):gosub1018:aa$="":zz$="":b$="":goto34
236 print"[147][156]"x$(1);"[194][159] cassette files index update [156][194]";x$(2)"[146]";
238 print"[176][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][178][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][174]"
240 print"^[159]cassette number"atab(22)"[157][156]_[129]entries left [156]_"
242 print"[173][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][177][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][189]"
244 ifg$(a)<>"[192][192][192]"thenprint""e$(8):gosub996:goto130
246 es=0:forj=1to140step1
248 ifg$(j)<>"[192][192][192]"thennext
250 ifg$(j)="[192][192][192]"thenes=es+1:next
252 ifes<1thenprinttb$"[145][145][145][145][145][145]"e$(9):gosub998:goto34
254 print"[150]":printtab(34)es;
256 print"[156][176][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][174][176][175][175][175][175][175][175][175][175][175][174]"
258 print"^[159]enter cassette title[156]_^ _"
260 print"[173][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][189][173][172][172][172][172][172][172][172][172][172][189]"
262 print"[156][176][175][178][178][178][178][178][178][178][178][178][178][178][178][178][178][178][174][159]16 characters max"
264 input"";g$(a)
266 l=len(g$(a)):ifl>16thenprint"[145] ":goto262
268 print"[159] duplication check ":forn=1to140step1
270 ifg$(n)=g$(a)andn=athen274
272 ifg$(n)=g$(a)thenprint""e$(8);:gosub996:g$(a)="[192][192][192]":goto130
274 nextn
276 print"[154] writing index 1 ":gosub1022
278 forq=1to16:ifmid$(g$(a),q,1)=chr$(32)thencq$=cq$+chr$(160):goto282
280 cq$=cq$+mid$(g$(a),q,1)
282 print"[158]"cq$;:nextq:g$(a)=cq$:cq$=""
284 g$(a)=left$("( ",5-len(str$(a)))+mid$(str$(a),2)+") "+g$(a):xx$=g$(a)
286 print"[153] reading index 2 ":gosub1014:g$(j)=xx$
288 print"[156]^ _":forn=141to1step-1
290 print"":print,,"[150] busy"
292 ifmid$(g$(n),8)<mid$(g$(n-1),8)thenb$=g$(n):g$(n)=g$(n-1):g$(n-1)=b$
294 print"":print,," busy":next
296 print"[154] writing index 2 "
298 print"":print,," ":gosub1018:xx$="":goto34
300 printtb$"[154] printer off ":open4,4:print#4
302 ifst<>0thengosub998:close4:goto76
304 ifst=0thenprinttb$"[156] print index"
306 print#4,chr$(14)chr$(27)"1";x$(1);x$(4);x$(2)"[146]";:print#4,chr$(10)
308 print#4,chr$(27);"@";
310 print#4,chr$(27);chr$(15):print#4,chr$(27);"3";chr$(25);
312 print#4,chr$(27)"d";chr$(7);chr$(14);chr$(60);chr$(67);chr$(0);:forn=1to70
314 print#4,chr$(9);n;chr$(9);g$(n)chr$(9);n+70;chr$(9);g$(n+70):next
316 print#4,chr$(27);"@":print#4,chr$(27);chr$(10);chr$(10);chr$(10);chr$(10)
318 print#4,chr$(27);"@":print#4:close4
320 ifso=2then930
322 goto34
324 t$=left$(t$,1):print,"[158][145] checking file bank [146]":open15,fs,15
326 gosub998:open5,fs,5,"0:"+g$(a)+","+t$+",r":gosub332
328 print,"[153][145] file exists [146] ":gosub998:close5:close15:goto130
332 input#15,a$
334 ifval(a$)>0thenprint,"[153][145] o.k-file does not exist [146]":gosub998
336 ifval(a$)>0thenclose5:close15:gosub998:goto340
338 return
340 ao=0:e$(3)=str$(a)
342 print"[147][151]"x$(1);"[194][152] create a new file [151][194]";x$(2)"[146]";
344 print"":print,,"[162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162]"
346 fore=1to8:print,,"[161] [161][146]":nexte:print,,"[162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][146]";
350 print"":print,,"[162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162]"
352 fore=1to9:print,,"[161] [161][146]":nexte:print,,"[162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][146]";
356 print"[152][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162]"
358 fore=1to5:print"[161] [161][146]":nexte:print"[162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][146]"
364 print"[154]1. cassette size ":print"[152]2. cassette type ":gosub1004
368 print"[154]1. cassette size [146]":print"":print,,"[154][162][162][162][162][162][162][162][162][162][162][162][162][162][162][146]"
370 fore=1to8:print,,"[161] [161][146]":nexte
372 print,,"[162][162][162][162][162][162][162][162][162][162][162][162][162][162][146]";:print"":print,,"1.[154] c 60 "
374 print,,"2.[154] c 90 ":print,,"3.[154] c 120 "
376 getcs$:ifcs$=""then376
380 cs=val(cs$):ifcs=1thene$(1)="60":goto386
382 ifcs=2thene$(1)="90":goto386
384 ifcs=3thene$(1)="120"
386 ifcs<1orcs>3then376
388 print"":print,,"[150][162][162][162][162][162][162][162][162][162][162][162][162][162][162]"
390 fore=1to9:print,,"[161] [161][146]":nexte:print"[162][162][162][162][162][162][162][162][162][162][162][162][162][162][146]";
396 print"[152]1. cassette size ":print"[150]2. cassette type [146]"
398 print"":print,,"1.[150] standard "
400 print,,"2.[150] chrome ":print,,"3.[150] ferric "
402 print,,"4.[150] metal "
404 getct$:ifct$=""then404
406 ct=val(ct$):ifct<1orct>4then404
410 gosub1034:print"[156]title [159]"g$(a):print"[156]number[159]"e$(3)
412 print"[156]size [159]c"e$(1):gosub708:print"[156]type[159] "e$(4)
414 print"[152]correct details (y/n)"
416 getp$:ifp$=""then416
418 ifp$="n"thene$(1)="":e$(2)="":goto340
422 ifp$<>"y"orp$<>"n"then416
424 print"[147][149]"x$(1);"[194][158] track entries to a new file [149][194]";
426 print"[194][129] press return to fill blank tracks [149][194]";
428 printx$(2)"[146]";
430 iftl=0thenrc=rc+1:goto434
432 iftl=1thenrc=rc:tl=0
434 ifrc<17thents=1
436 ifrc>17thents=2
438 print"[155][176][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][174]"
440 print"[155]^ track nr";rc;tab(23)":[154]side"ts"[155]_"
442 print"[152][171][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][179]"
444 print"[151]^[159] maximum 35 characters [151]_"
446 print"[173][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][189]"
450 print"[176][178][178][178][178][178][178][178][178][178][178][178][178][178][178][178][178][178][178][178][178][178][178][178][178][178][178][178][178][178][178][178][178][178][174]"
452 ifao=1thenpoke198,2:poke631,42:poke632,13
454 print"[159]":inputd$(rc)
456 l=len(d$(rc)):ifl>35thentl=1:goto470
458 ifl<2thend$(rc)="-----------":ao=1
460 ifl<2thenprint"***********"
462 ifrc=17thenprinttb$,"[145][145][145][145][154]side one is full":poke198,0:ao=0:gosub1000
464 ifrc=17thenprinttb$,"[145][145][145][145] ":gosub1006:goto470
466 ifrc=34thenprinttb$,"[145][145][145][145][154]side two is full":poke198,0:ao=0:gosub1000
468 ifrc=34thenprinttb$,"[145][145][145][145] ":nf=1:goto868
470 print" ":goto430
472 t$=left$(t$,1):print,"[158][145] checking file bank [146]":open15,fl,15
474 open5,fl,5,"0:"+g$(a)+","+t$+",r"
476 input#15,a$:gosub998
478 ifval(a$)>0thenprint,"[158][145] file does not exist [146]":gosub998
480 ifval(a$)>0thenclose5:close15:gosub998:goto34
482 print"[145][144] "
484 close5:close15:print"[145]":rc=0:r=0
486 poke198,0:open2,fl,2,g$(a)+",s,r":print"[154][145] reading ";g$(a);" [146]"
490 forz=1to3:input#2,e$(z):nextz
492 forr=1to34:input#2,d$(r):rc=rc+1:next:close2
496 print"[147][129]"x$(1);"[194][158] cassette files menu number two [129][194]";x$(2)"[146]";
498 print"[151][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209]"
500 forbd=1to17:print"[209] [209]":next
502 printtb$"[209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209]"
504 print""
506 ifrc>0thenprint,"[151] 1 [146][152] load file":gosub1012
508 ifrc<1thenprint,"[158] 1 [146][159] load file":gosub1012
510 ifrc>0thenprint,"[158] 2 [146][159] view data":gosub1012
512 ifrc<1thenprint,"[151] 2 [146][152] view data":gosub1012
514 ifrc<1thenprint,"[151] 3 [146][152] print page":gosub1012
516 ifrc>0thenprint,"[158] 3 [146][159] print page":gosub1012
518 ifrc>0thenprint,"[158] 4 [146][159] add/amend tracks":gosub1012
520 ifrc<1thenprint,"[151] 4 [146][152] add/amend tracks":gosub1012
522 ifrc<1thenprint,"[151] 5 [146][152] print label":gosub1012
524 ifrc>0thenprint,"[158] 5 [146][159] print label":gosub1012
526 ifrc>0thenprint,"[158] 6 [146][159] title amend":gosub1012
528 ifrc<1thenprint,"[151] 6 [146][152] title amend":gosub1012
530 print,"[158] 7 [146][159] main menu":gosub1012
532 print,"[154][176][175][175][175][175][175][175][175][175][175][175][175][175][175][174]":print,"[154]^[152]select number[154]_"
536 print,"[173][172][172][172][172][172][172][172][172][172][172][172][172][172][189]"
538 getp$:ifp$=""then538
542 s=val(p$):ifs=1andrc>0then538
544 ifs=1thenfc=1:s=0:ss=1:goto130
546 ifs=2andrc>0then562
548 ifs=3andrc>0then718
550 ifs=4andrc>0thenta=1:goto592
552 ifs=5andrc>0then652
554 ifs=6andrc>0then784
556 ifs=7then34
558 ifs<1ors>7then496
562 input"[156]side nr.[152](0=menu)";v$
566 v=val(v$):ifv=0then496
568 ifv=1thenr1=1:goto574
570 ifv=2thenr1=18:goto574
572 ifv<0orv>2then562
574 gosub708:print"[147]title: ";g$(a)tab(28)":[154]side "v
576 print"[156] size: c";e$(1)""tab(10)": type:";e$(4)tab(28)":[158]c/nr [146]";a
578 print"[159][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183]"
580 r2=r1+16:ifr2>rcthenr2=rc
582 k$="[150]":forc=r1tor2
584 print"[152]"c;tab(4)k$;d$(c)
586 ifk$="[150]"thenk$="[154]":goto590
588 ifk$="[154]"thenk$="[150]"
590 gosub1012:nextc:goto562
592 print"[147]":forc=j1toj2
594 ifc<18thenk$="":goto598
596 ifc>=17thenk$="[153]"
598 print"[152]"c;tab(4)k$;d$(c):gosub1012:nextc
602 pokevp,14:print"[145][145]":print"[158][176][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][174]"
604 print"^[159] add and amend tracks [146][158]_"
606 print"^[154] f1=see more f7=select track [146][158]_"
608 print"[173][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][189]"
610 geta$:ifa$=""then610
612 ifa$=chr$(133)andj2=34thenj1=1:j2=11:goto592
614 ifa$=chr$(133)andj2=22thenj1=j2+1:j2=j2+12:goto592
616 ifa$=chr$(133)thenj1=j2+1:j2=j2+11:goto592
618 ifa$=chr$(136)then624
620 ifa$<chr$(133)ora$>chr$(136)then610
622 ifa$=chr$(134)ora$=chr$(135)then610
624 pokevp,18:print"[145][145]":pokehp,1:input"[154]which track number";c
626 ifc<j1orc>j2then624
628 pokevp,18:print"[145][145]":pokehp,1:print" "
630 pokevp,18:print"[145][145]":pokehp,1:print"[157][152]"c;k$;d$(c)
632 pokevp,19:print"[145][145]":pokehp,1:print"[158]please input new track name[154]"
634 pokevp,20:print"[145][145]":pokehp,3:print"[176][178][178][178][178][178][178][178][178][178][178][178][178][178][178][178][178][178][178][178][178][178][178][178][178][178][178][178][178][178][178][178][178][178][174][159]"
636 pokevp,21:print"[145][145]":pokehp,1:inputd$(c)
638 l=len(d$(c)):ifl>35then592
640 ifl<2thend$(c)="-----------"
642 pokevp,23:print"[145][145]":pokehp,13:print"[153] add more(y/n) "
644 getf$:iff$=""then644
646 iff$="n"thenta=0:nf=2:printtb$"[156] storing file to disk ":goto880
648 iff$="y"then592
650 iff$<>"y"orf$<>"n"then644
652 print""x$(1);"[194] [153] printing cassette label [194]";x$(2)"[146]";
654 gosub708:c1$=g$(a):sp$=" ":c1$=left$(c1$+sp$,18)
656 fori=1to18:ac=asc(mid$(c1$,i,1))
658 pb$=pb$+chr$(ac):nexti
660 ifval(e$(1))=60orval(e$(1))=90thenc2$="c"+e$(1)+" "+e$(4)+" ":goto664
662 ifval(e$(1))=120thenc2$="c"+e$(1)+" "+e$(4)+" "
664 ifval(e$(3))<10thencn$="00"+e$(3):goto670
666 ifval(e$(3))>9andval(e$(3))<100thencn$="0"+e$(3):goto670
668 ifval(e$(3))>99thencn$=e$(3)
670 bt$=c2$+cn$
672 printtb$,"[154] printer off ":open4,4:print#4
674 ifst<>0thengosub998:close4:goto496
676 ifst=0thenprinttb$,"[158] print label"
678 print#4,chr$(14)chr$(27)"1";x$(6):print#4,chr$(10)
680 print#4,chr$(27);"@";:print#4,chr$(27);chr$(15);
682 print#4,chr$(27);"3";chr$(23);:print#4," side 2.";chr$(13)
684 print#4,chr$(27)"d";chr$(5);chr$(0);:forn=18to34
686 print#4,n;chr$(9);d$(n):next
688 print#4,chr$(10):print#4,chr$(27);"@";:print#4,chr$(14)chr$(27)"1";x$(6)
690 print#4,chr$(10):print#4,chr$(27);"@";:print#4,chr$(27);chr$(15);
692 print#4,chr$(27);"3";chr$(23);:print#4," side 1.";chr$(13)
694 print#4,chr$(27)"d";chr$(5);chr$(0);:forn=1to17
696 print#4,n;chr$(9);d$(n):next
698 print#4,chr$(27);"@":print#4,chr$(14)chr$(27)"1";x$(7)
700 print#4,chr$(27)"1";"[221]";pb$;"[146][221]":print#4,chr$(27)"1";x$(8)
702 print#4,chr$(27)"1";"[221]";bt$;"[146][221]":print#4,chr$(27)"1";x$(5)
704 print#4,chr$(27);"@";:forpu=1to2:print#4,chr$(10):nextpu
706 print#4:close4:c1$="":c2$="":pb$="":cn$="":goto496
708 ife$(2)="s"thene$(4)="standard"
710 ife$(2)="c"thene$(4)=" chrome "
712 ife$(2)="f"thene$(4)=" ferric "
714 ife$(2)="m"thene$(4)=" metal "
716 return
718 cp$(2)="[213][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][201]"
720 cp$(2)="[221]o[183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183]o[221]"
722 cp$(3)="[221] [213][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][201] [221]"
724 cp$(4)="[221] [194][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][194] [221] [162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162]"
726 cp$(5)="[221] [221][213][192][201][176][192][192][192][192][192][192][192][192][192][174][213][192][201][221] [221]"
728 cp$(6)="[221] [221][221][215][221][221])[166][166][166] [166]([221][221][215][221][221] [221] [166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166]"
730 cp$(7)="[221] [221][202][192][203][173][192][192][192][192][192][192][192][192][192][189][202][192][203][221] [221] [166] cassette file printout [146][166]"
732 cp$(8)="[181] [221] [177][177][177][177][177][177][177][177][177][177][177] s1[221] [182] [166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166]"
734 cp$(9)="[181] [221]tdk ma 90[146][209][209][209][209][209][209][209][209][221] [182]"
736 cp$(10)="[181] [202][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][203] [182] [185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185]"
738 cp$(11)="[181] [206][163][163][163][163][163][163][163][163][163][163][163][163][163][205] [182]"
740 cp$(12)="[181]o [217] [209] [209] o [209] [209] [212] o[182]"
742 cp$(13)="[173][192][192][177][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][177][192][192][189] [166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166][166]"
744 print""x$(1);"[194][150] cassette pages printing service [194]";x$(2)"[146]";
746 printtb$,"[154] printer off ":open4,4:print#4
748 ifst<>0thengosub998:close4:goto496
750 ifst=0thenprinttb$," print page "
752 printchr$(15):formm=1to13
754 printchr$(27);"1";tab(8)cp$(mm):nextmm
756 printchr$(27);"s0";:printtab(8)"(c) shadowgraphics 1992":printchr$(27);"@";
758 printchr$(14)"[162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162]";:gosub708
760 print"cassette name "g$(a)
762 print"cassette size "e$(1):print"cassette type "e$(4)
764 print"cassette number "e$(3)
766 print"[162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162]";:print"side one"
770 printchr$(15):printchr$(27)chr$(108):forl=1to17
772 printchr$(27);"1";chr$(10);l;:printd$(l):nextl:printchr$(27);"1";chr$(0);
774 printchr$(14)"[162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162]";
776 print"side two":printchr$(15):printchr$(27)chr$(108):forl=18to34
778 printchr$(27);"1";chr$(10);l;:printd$(l):nextl:printchr$(27);"1";chr$(0);
780 printchr$(27)chr$(108)chr$(0)chr$(15)
782 printchr$(27);"@";:print#4:close4:goto498
784 print"[147][154]"x$(1);
786 print"[194][159] cassette titles update [154][194]";:printx$(2)"[146]";
788 print"[156][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162]";
790 fore=1to7:print"[161] [161][146]";:nexte
792 print"[162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][146]";
794 print"[159]1. change title [154]";g$(a)
796 print"[159]2. change size [154]c";e$(1)
798 gosub708:print"[159]3. change type [154]";e$(4)
800 getcd$:ifcd$=""then800
802 cd=val(cd$)
804 ifcd<1orcd>3then800
806 print"":oncdgoto808,816,838
808 print"[159][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][178][178][178][178][178][178][178][178][178][178][178][178][178][178][178][174]":n$(a)=g$(a)
810 input"new cassette title[154]";g$(a)
812 l=len(g$(a)):ifl>16thenprint"[145][145]":goto810
814 goto854
816 print"[129][162][162][162][162][162][162][162][162][162][162][162][162][162]"
818 fore=1to7:print"[161] [161][146]":nexte
820 print"[162][162][162][162][162][162][162][162][162][162][162][162][162][146]";:print"[159]1. c 60 [154]"
822 print"[159]2. c 90 [154]":print"[159]3. c 120 [154]"
824 getcs$:ifcs$=""then824
828 cs=val(cs$):ifcs=1thene$(1)="60":goto834
830 ifcs=2thene$(1)="90":goto834
832 ifcs=3thene$(1)="120"
834 ifcs<1orcs>3then824
836 goto854
838 print"[153][162][162][162][162][162][162][162][162][162][162][162][162][162][162][162]"
840 fore=1to9:print"[161] [161][146]":nexte
842 print"[162][162][162][162][162][162][162][162][162][162][162][162][162][162][162][146]";
844 print"[159]1. standard [154]":print"[159]2. chrome [154]"
846 print"[159]3. ferric [154]":print"[159]4. metal [154]"
848 getct$:ifct$=""then848
850 ct=val(ct$):ifct<1orct>4then848
852 gosub1034
854 print"":print,"[155] do you wish to change"
856 print,"[152]more information ? (y/n)"
858 getp$:ifp$=""then858
860 ifp$="n"then866
862 ifp$="y"then784
864 ifp$<>"y"orp$<>"n"then858
866 e$(3)=str$(a):tf=1
868 printtb$"[158][176][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][174]"
870 print"^ _"
872 print"[173][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][172][189]":ifnf=1then878
874 printtb$" storing index 1 ":gosub1022
876 open2,fl,15:print#2,"s:";n$(a):close2:nm=a
878 printtb$"[156] storing file to disk "
880 open2,fs,2,"@0:"+g$(a)+",s,w":forz=1to3:print#2,e$(z):nextz
882 forr=1to34:print#2,d$(r):nextr:close2
884 ifnf=0then888
886 ifnf=1ornf=2thennf=0:goto34
888 iftf<1then496
890 iftf=1thentf=0
892 forq=1to16:ifmid$(n$(a),q,1)=chr$(32)thenjq$=jq$+chr$(160):goto896
894 jq$=jq$+mid$(n$(a),q,1)
896 nextq:n$(a)=jq$:yy$="( "+") "+n$(a):jq$=""
898 forq=1to16:ifmid$(g$(a),q,1)=chr$(32)thencq$=cq$+chr$(160):goto902
900 cq$=cq$+mid$(g$(a),q,1)
902 nextq:g$(a)=cq$
904 printtb$"[152] reading index 2 ":gosub1014:g$(141)=yy$
906 forn=141to1step-1
908 ifmid$(g$(n),8)=n$(a)theng$(n)="( "+") "+"[209][209][209]"
910 next:n$=""
912 forn=1to140step1:printtb$"[154] busy "
914 ifmid$(g$(n),8)>mid$(g$(n+1),8)thenb$=g$(n):g$(n)=g$(n+1):g$(n+1)=b$
916 printtb$" busy":next:a=nm
918 g$(j)=left$("( ",5-len(str$(nm)))+mid$(str$(nm),2)+") "+cq$
920 forn=141to1step-1
922 printtb$"[150] busy"
924 ifmid$(g$(n),8)<mid$(g$(n-1),8)thenb$=g$(n):g$(n)=g$(n-1):g$(n-1)=b$
926 printtb$" busy":next
928 printtb$"[159] storing index 2":gosub1018:cq$="":yy$="":b$="":goto34
930 print"[147]"x$(1);"[194][158] alphabetical cassette files menu [194]";x$(2)"[146]";
932 s0=1:print"[209] 1 [146][129] display alphabetical index":gosub1012
934 print"[209] 2 [146][129] print alphabetical index":gosub1012
936 print"[209] 3 [146][129] main menu":gosub1012
938 printtb$,"[145][129][176][175][175][175][175][175][175][175][175][175][175][175][175][175][174]"
940 printtb$,"^[150]select number[129]_"
942 printtb$,"[173][172][172][172][172][172][172][172][172][172][172][172][172][172][189]"
944 getp$:ifp$=""then944
948 so=val(p$):ifso=1orso=2then954
950 ifso=3then34
952 ifso<1orso>3then944
954 ifil=2then958
956 ifil<2thenprinttb$"[153]";x$(10):gosub1014:ifso=2then300
958 ifso=2then300
960 gosub1002:print"[147]":pg=1:tn=1:ln=20:a=0:g$(a)=""
962 poke198,0:print"[155] page";pg;tab(7)"[156]:f1=page on:[129]f3=page back:[159]f7=menu";
964 forx=tntoln:print"[152] [146][145]":gosub1012
966 print" [145]"
968 printtab(1)x;"[154]"tab(6)g$(x):nextx
970 printtb$"[129] page number [146]";
972 geta$:ifa$=""thengosub1008
974 ifa$>""then980
976 printtb$"[156] page number [146]";
978 geta$:ifa$=""thengosub1008:goto970
980 ifa$<chr$(133)ora$>chr$(136)then970
982 ifa$=chr$(133)andx>139thentn=1:ln=20:pg=1:goto962
984 ifa$=chr$(134)andx<22thentn=121:ln=140:pg=7:goto962
986 ifa$=chr$(136)then930
988 ifa$=chr$(133)thentn=ln+1:ln=ln+20:pg=pg+1:goto962
990 ifa$=chr$(134)thentn=ln-39:ln=ln-20:pg=pg-1:goto962
992 ifa$=chr$(135)then972
994 forw=1to2000:next
996 forw=1to1000:next
998 forw=1to500:next
1000 forw=1to400:next
1002 forw=1to300:next
1004 forw=1to200:next
1006 forw=1to100:next
1008 forw=1to40:next
1010 forw=1to30:next
1012 forw=1to20:next:return
1014 ifil=2thenreturn
1016 open2,xl,2,e$(6)+",s,r":forj=1to140:input#2,g$(j):next:close2:il=2
1018 open2,xs,2,"@0:"+e$(6)+",s,w":forj=1to140:print#2,g$(j):next:close2
1020 goto1032
1022 open2,xs,2,"@0:"+e$(5)+",s,w":forj=1to140:print#2,g$(j):next:close2
1024 goto1032
1026 ifil=1thenreturn
1028 open2,xl,2,e$(5)+",s,r":forj=1to140:input#2,g$(j):nextj:close2:il=1
1030 open1,xl,15:print#1,"i":close1:gosub1002:return
1032 open1,xs,15:print#1,"i":close1:gosub1002:return
1034 ifct=1thene$(2)="s"
1036 ifct=2thene$(2)="c"
1038 ifct=3thene$(2)="f"
1040 ifct=4thene$(2)="m"
1042 return
1044 x$(1)="[213][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][201]":j1=1
1046 x$(7)="[213][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][201]":x$(8)="[171][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][179]":e$(6)="index 2"
1048 x$(5)="[202][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][203]":x$(6)="[163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163]":e$(5)="index 1"
1050 x$(2)="[202][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][203]":x$(10)="reading index"
1052 x$(3)="[221] cassette file cassette file [221]":dimd$(34),g$(141),a(140)
1054 x$(4)="[221] cassette index cassette index [221]":dimcp$(14):vp=214:hp=211
1056 tb$="":bk=53280:pk=bk+1:x$(9)="writing index":j2=11
1058 e$(8)="this title is already on disk":e$(9)="index is full":dimn$(140)
1060 return