home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / genie-commodore-file-library / C64Software / TELISTER89 (.txt) < prev    next >
Encoding:
Commodore BASIC  |  2019-04-13  |  9.8 KB  |  359 lines

  1. 30 DM=144:
  2. 40 DIMRC$(DM),P$(DM)
  3. 50 DIMK$(DM)
  4. 60 DIML$(DM),J$(DM),TEL(DM)
  5. 70 DIMA$(DM):DIMB$(DM):
  6. 80 SS$="[160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160]":REM 20    SHIFT SPACE
  7. 90 S2$="                         ":
  8. 95 S3$=S2$+"              "
  9. 100 PL$=""
  10. 110 RV$="[153]":H$="":
  11. 120 UN$=CHR$(27)+CHR$(45)+CHR$(1):UF$=CHR$(27)+CHR$(45)+CHR$(0)
  12. 130 FF$=CHR$(12)
  13. 140 PRINT"[147]":POKE53280,0:POKE53281,0
  14. 150 T=0:C(0)=7:C(1)=11:C(2)=15
  15. 160 C$(0)=" T E L I S T E R "
  16. 170 C$(1)="[154](C) 1989"
  17. 180 C$(2)="[155]LAMBERT KLEIN
  18. 190 X2[178][195](C$(T))[171]1:X1[178]20[171](X2[173]2):Y1[178]C(T):Y2[178]1
  19. 200 [141]3460:[153][163]X1[170]1);C$(T):T[178]T[170]1:[139]T[178]3[167]T[178]0
  20. 210 CL[178]CL[170]1:[151]646,CL:[139]CL[179]19[167]190
  21. 220 [141]2820
  22. 230 [159]DV,DV,15:[139]SD[179][177]DV[167]  [159]SD,SD,15
  23. 240 X[178]1:N[178]0:C[178]0
  24. 250 [137]1300
  25. 260 [153]"LOAD":X[178]N[170]1:N[178]X
  26. 270 X1[178]10:X2[178]17:Y1[178]07:Y2[178]1:[153]"LIST":[141]3460
  27. 280 [153][163]X1[170]1)"   'E' TO END    ":[139]N[178]0[167]300
  28. 290 [151]646,15:Y1[178]1:[141]3460:[153][163]X1[170]1)""A$(X[171]1):Y1[178]4:[141]3460:[153][163]X1[170]1)""B$(X[171]1)
  29. 300 Y1[178]10:[141]3460
  30. 310 [151]646,15:Y1[178]13:[141]3460:[153][163]X1[170]1);
  31. 320 [153]"SYS  ENTER NAME ";X:[153]""
  32. 330 [133]A$(X)
  33. 340 [153]"ON"S2$
  34. 350 [139]A$(X)[178]"E"[167]N[178]N[171]1:[137]1300
  35. 355 [139]A$(X)[178]""[167]N[178]N[171]1:[137]1300
  36. 360 A$(X)[178][200](A$(X)[170]SS$,16)
  37. 370 Y1[178]10:[141]3460:[153][163]X1[170]1)"PRINT#"A$(X):Y1[178]13
  38. 380 [141]3460:[153]""[163]X1[170]1);
  39. 390 [153]"   ENTER NO. ";X:[153]""
  40. 400 [133]B$(X)
  41. 410 [153]"ON"S2$
  42. 420 [139][195](B$(X))[178]7[167]B$(X)[178][200](B$(X),3)[170]"-"[170][202](B$(X),4)
  43. 430 B$(X)[178][200](B$(X)[170]SS$,16)
  44. 440 X[178]X[170]1:N[178]X
  45. 450 [137]290
  46. 460 [143] PRINT-OUT
  47. 470 [139]N[179][177]0[167]510
  48. 480 [151]646,4
  49. 490 X2[178]16:X1[178]10:Y1[178]11:Y2[178]1:[151]646,10:[141]3460:[153][163]X1[170]1)"NOTHING TO PRINT
  50. 500 FORT=1TO500:NEXT:GOTO1350
  51. 510 OPEN4,4 :
  52. 515 POKE646,06:X1=10:X2=17:Y1=02:Y2=1:GOSUB3460
  53. 520 PRINTTAB(X1+1)"    WAIT..."
  54. 530 IFN>DM-4THEN560
  55. 540 FORF=1TO4:J$(N+F)="[180]                 [167] ":K$(F)="[180]                 [167] "
  56. 550 NEXT
  57. 560 FORF=1TON:J$(F)="[180] "+A$(F)+"[167] ":K$(F)="[180] "+B$(F)+"[167] "
  58. 570 NEXT
  59. 575 POKE646,06:X1=10:X2=17:Y1=02:Y2=1:GOSUB3460
  60. 577 PRINTTAB(X1+1)"   PRINTING..."
  61. 580 PRINT#4,CHR$(27)+CHR$(49);
  62. 590 PRINT#4,CHR$(27)+CHR$(71);
  63. 610 PRINT#4,CHR$(27)+CHR$(69);
  64. 620 PRINT#4,SPC(15);
  65. 630 PRINT#4,UF$
  66. 640 PRINT#4
  67. 650 PRINT#4,CHR$(27)+CHR$(53)
  68. 660 :FORX=1TONSTEP4
  69. 670 PRINT#4,"[207][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][208] [207][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][208]";
  70. 680 PRINT#4," [207][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][208] [207][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][208]"
  71. 690 PRINT#4,J$(X);J$(X+1);
  72. 700 PRINT#4,J$(X+2);J$(X+3);
  73. 710 PRINT#4,"[180]"SPC(17)"[167] [180]"SPC(17)"[167] [180]"SPC(17)"[167] [180]"SPC(17)"[170]"
  74. 720 PRINT#4,K$(X);K$(X+1);
  75. 730 PRINT#4,K$(X+2);K$(X+3);
  76. 740 PRINT#4,"[204][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][186] [204][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][186]";
  77. 750 PRINT#4," [204][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][186] [204][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][186]"
  78. 760 PRINT#4:PRINT#4
  79. 770 IFX=57THENPRINT#4,FF$;
  80. 780 NEXT:
  81. 790 FORY=1TO10:PRINT#4,CHR$(27)+CHR$(7):NEXT:PRINT#4,CHR$(27)CHR$(12)
  82. 800 FORY=1TO3:SYS11179:NEXT
  83. 810 PRINT#4:CLOSE4:GOTO1300
  84. 820 REM SAVE FILE
  85. 830 IFN=0THENN=X
  86. 840 X=0
  87. 850 IFN<>0THEN880
  88. 860 X2=15:X1=11:Y1=11:Y2=1:POKE646,10:GOSUB3460:PRINTTAB(X1+1)"NOTHING TO SAVE"
  89. 870 FORT=1TO500:NEXT:GOTO1350
  90. 880 PRINT"":A=0
  91. 890 POKE646,5:X1=1:X2=9:Y1=16:Y2=1:GOSUB3460:PRINTTAB(X1+1)" UNIT"DV
  92. 900 PRINTPL$"          "DF$:NF$=""
  93. 910 PRINTPL$;:INPUT"FILENAME";NF$:IFNF$=""THEN1300
  94. 920 DF$=NF$
  95. 930 NF$="T."+NF$+",S,W"
  96. 940 OPEN2,DV,2,NF$:X=0
  97. 950 GOSUB2160:IFA=0THEN980
  98. 960 IFA=63THEN1040
  99. 970 GOTO1090
  100. 980 POKE646,1:X1=15:X2=13:Y1=20:Y2=3:GOSUB3460:PRINTTAB(X1+1)" SAVING FILE"
  101. 990 X=X+1:
  102. 1000 PRINT#2,A$(X):PRINT#2,B$(X):IFX=NTHEN1030
  103. 1010 IFX=>DM THEN1030
  104. 1020 GOTO990
  105. 1030 CLOSE2:A=0:GOTO1300
  106. 1040 X2=LEN(B$):X1=15:Y1=18:Y2=2:POKE646,2:GOSUB3460
  107. 1050 PRINTTAB(X1+1)""B$:PRINTTAB(X1+1)"REPLACE?"
  108. 1060 GETAN$:IFAN$=""THEN1060
  109. 1070 IFAN$<>"Y"THEN1030
  110. 1080 A=0:CLOSE2:NF$="@0:"+NF$:GOTO940
  111. 1090 X1=15:X2=LEN(B$)+2 :Y1=20:Y2=3:POKE646,2:GOSUB3460
  112. 1100 PRINTTAB(X1+1)""B$:
  113. 1110 FORT=1TO500:NEXT:GOTO1030
  114. 1120 PRINT"";
  115. 1130 REM LOAD FILE
  116. 1140 GOSUB3070:IFNT$="NOT"THEN1340
  117. 1150 MG$=" LOAD":FL$=DF$
  118. 1160 X=0:N=0:A=0
  119. 1170 X1=13:X2=12:Y1=20:Y2=1:POKE646,1:GOSUB3460
  120. 1180 PRINTTAB(X1+1)"[159]LOADING....."
  121. 1190 RN$=RN$+",S,R":OPEN2,DV,2,RN$
  122. 1200 POKE646,06:X1=10:X2=17:Y1=02:Y2=1
  123. 1210 GOSUB2170:IFA<>0THEN GOSUB3460:PRINTTAB(X1+1);B$:SYS11179:CLOSE2:GOTO1300
  124. 1220 X=X+1:N=N+1:INPUT#2,A$(X):INPUT#2,B$(X)
  125. 1230 IFX=>DMTHENPRINT"OVERLOADED!":FORTT=1TO1800:NEXT:E=DM:GOTO1260
  126. 1240 IF64ANDSTTHEN1260
  127. 1250 GOTO1220
  128. 1260 IFRIGHT$(RC$(0),1)=CHR$(32)THENRC$(0)=LEFT$(RC$(0),LEN(RC$(0))-1):GOTO1260
  129. 1270 IFRIGHT$(FL$,1)=CHR$(32)THENFL$=LEFT$(FL$,LEN(FL$)-1):GOTO1270
  130. 1280 CLOSE2:
  131. 1290 GOTO1300
  132. 1300 REM MENU
  133. 1310 SF$="(SORT FIRST)"
  134. 1320 IFN<0THENN=0
  135. 1330 PRINT"[147]"
  136. 1340 POKE53280,0:POKE53281,0
  137. 1350 SYS11179
  138. 1360 MG$=" LOAD"
  139. 1370 POKE646,14:X1=10:X2=17:Y1=5:Y2=10:GOSUB3460
  140. 1380 X=N
  141. 1390 PRINTTAB(X1+1)"[158]E[154]NTER/ADD"
  142. 1400 PRINTTAB(X1+1)"L[154]OAD"LM$
  143. 1410 PRINTTAB(X1+1)"[156]S[154]AVE"SM$
  144. 1420 PRINTTAB(X1+1)"[159]V[154]IEW"
  145. 1430 PRINTTAB(X1+1)"P[154]RINT
  146. 1440 [153][163]X1[170]1)"DEF^CONTSORT
  147. 1450 PRINTTAB(X1+1)"[155]D[154]ELETE
  148. 1460 [153][163]X1[170]1)"RCONTESTART
  149. 1470 PRINTTAB(X1+1)"[153]F[154]IND "SF$
  150. 1480 PRINTTAB(X1+1)"-[154]SCRATCH FILE
  151. 1490 [139]RC$(0)[178]""[167]RC$(0)[178]"TELISTER"
  152. 1500 [139]FL$[178]""[167]FL$[178]"MENU"
  153. 1510 [139][195](RC$(0))[179]15[167]RC$(0)[178]" "[170]RC$(0)[170]" ":[137]1510
  154. 1520 [139][195](FL$)[179]15[167]FL$[178]" "[170]FL$[170]" ":[137]1520
  155. 1525 [139]NT$[178]"NOT"[167]1560
  156. 1530 [151]646,06:X1[178]10:X2[178]17:Y1[178]02:Y2[178]1:[141]3460
  157. 1540 [153][163]X1[170]1)"" RC$(0)
  158. 1560 Y1[178]17:Y2[178]1:[141]3460:[153][163]X1[170]1)""FL$
  159. 1570 [161]A$:[139]A$[178]""[167]1570
  160. 1580 [139]A$[179][177]"R"[167]1630
  161. 1590 [153]"ARE YOU SURE?";
  162. 1600 [161]G$:[139]G$[178]"Y"[167][138]
  163. 1610 [139]G$[178]""[167]1600
  164. 1620 [137]1300
  165. 1630 NT$[178]""
  166. 1640 [139]A$[178]"D"[167]2560
  167. 1650 [139]A$[178]"L"[167] DV[178]DV(1):[151]12002,DV   :[137]1130
  168. 1660 [139]A$[178]"(null)"[167]DV[178]DV(2):[151]12002,DV:[137]1130
  169. 1670 [139]A$[178]"^"[167]Y1[178]17:Y2[178]1: [141]3460:[153][163]X1[170]5)" SOPENOCONTRTSYSING ":[137]2220
  170. 1680 [139]A$[178]"F"[167]2360
  171. 1690 [139]A$[178]"E"[167]260
  172. 1700 [139]A$[178]"S"[167]DV[178]DV(1):[137]820
  173. 1710 [139]A$[178]"(null)"[167]DV[178]DV(2):[137]820
  174. 1720 [139]A$[178]"P"[167]470
  175. 1730 [139]A$[178]"V"[167]1770
  176. 1740 [139]A$[178]"-"[167]3020
  177. 1750 [139]A$[178]"Q"[167][160]DV:[160]SD:[144]
  178. 1760 [137]1560
  179. 1770 [143] *** VIEW SCREEN ***
  180. 1780 [139]N[179][177]0[167]1810
  181. 1790 X2[178]15:X1[178]11:Y1[178]11:Y2[178]1:[151]646,13:[141]3460:[153][163]X1[170]1)"NOTHING TO VIEW"
  182. 1800 [129]T[178]1[164]500:[130]:[137]1350
  183. 1810 R$[178]""
  184. 1820 [153]"LOAD":X1[178]13:Y1[178]2:Y2[178]2:[141]2780
  185. 1830 [153]"    "R$"PRESS SPACE BAR TO SCROLL ":[129]T[178]1[164]100:[130]
  186. 1840 [139]R$[178]""[167]R$[178]"WAIT":[137]1860
  187. 1850 [139]R$[178]"WAIT"[167]R$[178]""
  188. 1860 [161]A$:[139]A$[178]""[167]1830
  189. 1870 [153]"     NAMES"[166]12)"NUMBERS":X[178]0:[153]:[153]:
  190. 1880 [129]X[178]1[164](N):X$[178][196](X)
  191. 1900 [139][195](X$)[179]3[167]X$[178]X$[170]" ":[137]1900
  192. 1905 X$[178]"#"[170]X$
  193. 1910 [153]""X$;[166]1);
  194. 1920 [153]"CONT "A$(X);" "B$(X)
  195. 1930 [161]A$:[139]A$[178]""[167]1930
  196. 1940 [139]A$[178]"\"[167]X[178]N:
  197. 1950 [130]
  198. 1955 X1[178]1:X2[178]27:Y1[178]01:Y2[178]1:[151]646,3:[141]3460
  199. 1960 [153][163]X1[170]1)" ARE ENTRIES CORRECT  (Y/N)"
  200. 1970 [161]C$:[139]C$[178]""[167]1970
  201. 1980 [139]C$[178]"Y"[167]2000
  202. 1990 [139]C$[178]"N"[167] 2025
  203. 2000 [139]C$[179][177]" "[167]1300
  204. 2010 [151]646,[194](646)[170]1:[141]3460:[137]1955
  205. 2020 [143] *** CHANGE/CORRECT ENTRY ***
  206. 2025 X1[178]1:X2[178]27:Y1[178]01:Y2[178]2:[151]646,14:[141]3460
  207. 2030 [153][163]X1[170]1);:[133]"CHANGE WHICH ENTRY";E$:E[178][197]([200](E$,3))
  208. 2036 [139]E[177]DM[167]2025
  209. 2038 [141]3460
  210. 2050 [153]S3$:[153]S3$:[153]"ONON";
  211. 2060 X[178]E:[153][163]X1[170]3);A$(E):[153][163]X1[170]3);B$(E)"PRINT#":[153]"ONON";
  212. 2070 [153][163]X1[170]1)"";:[133]N$:
  213. 2075 [153][163]X1[170]1)"";:[133]NO$
  214. 2077 [139][195](NO$)[178]7[167]NO$[178][200](NO$,3)[170]"-"[170][202](NO$,4)
  215. 2080 A$(X) [178][200](N$[170]SS$,16)
  216. 2090 B$(X) [178][200](NO$[170]SS$,16)
  217. 2095 [141]3460
  218. 2100 [153][163]X1[170]1)"ANOTHER (Y/N)
  219. 2110 POKE19,0
  220. 2120 GETAN$:IFAN$=""THEN2120
  221. 2130 IFAN$="Y"THEN2025
  222. 2140 IFAN$="N"THEN2000
  223. 2150 GOTO2095
  224. 2160 REM *** READ DISK ERROR CHANNEL ***
  225. 2170 PK=PEEK(186):IFPK<8 OR PK>12THENPK=DV
  226. 2180 INPUT#DV,A,B$,C,D
  227. 2190 RETURN
  228. 2200 REM *** SORTING ***
  229. 2210 IFN<0THEN1300
  230. 2220 S1=N
  231. 2230 S2=S1
  232. 2240 S2=INT(S2/2):IFS2=0THEN2340
  233. 2250 S3=1:S4=S1-S2
  234. 2260 S5=S3
  235. 2270 S6=S5+S2:IFA$(S5)<A$(S6)THEN2320
  236. 2280 IFA$(S6)=A$(S5)THENPRINT"DUPLICATE "A$(S6)"  "B$(S6)"  "B$(S5)
  237. 2290 S7$=A$(S5):Z$=B$(S5):A$(S5)=A$(S6):B$(S5)=B$(S6):A$(S6)=S7$:B$(S6)=Z$
  238. 2300 S5=S5-S2:IFS5<1THEN2320
  239. 2310 GOTO2270
  240. 2320 S3=S3+1:IFS3>S4THEN2240
  241. 2330 GOTO2260
  242. 2340 GOTO1330
  243. 2350 REM *** FIND NUMBER ***
  244. 2360 H=N:L=1:R=0
  245. 2370 IFN=0THEN1300
  246. 2375 X2=23:X1=7:Y1=17:Y2=1:GOSUB3460
  247. 2380 PRINTTAB(X1+1)"WHOSE TELEPHONE NUMBER:":PRINT:PRINT
  248. 2390 INPUTN$:LE=LEN(N$)
  249. 2400 M=INT((H+1-L)/2)+L
  250. 2410 IFH-L<5THEN2450
  251. 2420 IFN$=LEFT$(A$(M),LE)THENR=M:GOTO2470
  252. 2430 IFN$>LEFT$(A$(M),LE)THENL=M+1:GOTO2400
  253. 2440 IFN$<LEFT$(A$(M),LE)THENH=M-1:GOTO2400
  254. 2450 FORJ=LTOH:IFN$=LEFT$(A$(J),LE)THENR=J
  255. 2460 NEXT
  256. 2470 X1=1:X2=35:Y1=19:Y2=1:POKE646,7: GOSUB3460
  257. 2480 PRINTTAB(X1+1);
  258. 2490 IFR=0THENPRINT"NOT FOUND":FORT=1TO780:NEXT:SF$="[154]([146]SORT FIRST[154])":GOTO1330
  259. 2500 PRINT"[158]";A$(R)"  "B$(R)
  260. 2510 X1=1:X2=35:Y1=22:Y2=1:POKE646,15: GOSUB3460
  261. 2520 PRINTTAB(X1+11) "PRESS ANY KEY"
  262. 2530 GETA$:IFA$=""THEN2530
  263. 2540 GOTO1330
  264. 2550 REM *** DELETE *********
  265. 2560 PRINT"[147]";
  266. 2570 IFN<1THEN1300
  267. 2580 X1=14:Y1=1:Y2=2: GOSUB2780:PRINT""
  268. 2590 FORX=1TONSTEP2:X$=STR$(X):X$=RIGHT$(SS$+X$,3):PRINT""X$"[154]"A$(X);TAB(20);
  269. 2600 IFX=>NTHEN2660
  270. 2610 X$=STR$(X+1):X$=RIGHT$(SS$+X$,3):PRINT""X$"[154]"A$(X+1)
  271. 2620 IFN=1THENNEXT:GOTO1300
  272. 2630 GETQ$
  273. 2640 IFQ$="\"THENX=N:GOTO2660
  274. 2650 S=PEEK(653):IFS=1ORS=2ORS=4THEN2630
  275. 2660 NEXT:PRINT:PRINT"[158]'0'FOR MENU":PRINT"":
  276. 2670 POKE198,0:FORT=1TO100:NEXT
  277. 2680 INPUT"DELETE WHICH ENTRY    0[157][157][157]";E:IFE=0THEN1300
  278. 2690 IFE>N  THEN1300
  279. 2700 PRINT"TO":INPUTE2:IFE2=0THENE2=E
  280. 2705 IFE2>NTHENE2=E
  281. 2710 FORN2=ETOE2
  282. 2720 PRINT""A$(E),B$(E)
  283. 2730 A$(E)="":B$(E)="":FORX=ETON:
  284. 2740 A$(X)=A$(X+1):B$(X)=B$(X+1):NEXT:N=N-1
  285. 2750 IFN=<0THENN=0
  286. 2760 NEXTN2:E2=0
  287. 2770 GOTO1330
  288. 2780 POKE646,13:X2=4:GOSUB3460
  289. 2790 PRINTTAB(X1+1)"\ TO"
  290. 2800 PRINTTAB(X1+1)"HALT"
  291. 2810 RETURN
  292. 2820 REM ****  CHECK FOR DEVICE PRESENT ****
  293. 2830 D=0:O=0:FORC=8TO11:OPEN15,C,15:CLOSE15:IFST<>0THEN2850
  294. 2840 D=D+1:DV(D)=C:O=O+1
  295. 2850 NEXT:MM=D:D=0
  296. 2860 FORC=1TOO:OPEN15,DV(C),15,"UI":INPUT#15,EN,EM$,A,B:DZ$=RIGHT$(EM$,4)
  297. 2870 IFDZ$="1581"THENDO$=RIGHT$(DO$,12)
  298. 2880 :DO$=LEFT$(DO$,12)
  299. 2890 IFC=1THENZ1$=DZ$:ZO$=DO$
  300. 2900 IFC=2THENZ2$=DZ$:Z3$=DO$
  301. 2910 IFO=1THENZ2$=Z1$:Z3$=ZO$
  302. 2920 IFC>2THENY1$=DZ$:Y2$=DO$
  303. 2930 CLOSE15: NEXT:
  304. 2940 BK=1
  305. 2950 IFDV(2)=0THENBK=0:DV(2)=DV(1)
  306. 2960 DV=DV(1):SD=DV(2)
  307. 2970 POKE186,DV
  308. 2980 IFMM=1THENLM$="":SM$="":RETURN
  309. 2990 LM$="  SHFT/L"+STR$(DV(2))
  310. 3000 SM$="  SHFT/S"+STR$(DV(2))
  311. 3010 RETURN
  312. 3020 MG$="SCRATCH":SYS11818:POKE53280,2:GOSUB3070:IFNT$="NOT"THEN1340
  313. 3030 SC$="S0:"+RN$:PRINT#DV,SC$
  314. 3040 X2=LEN(RN$)+LEN(NT$)+9:X1=20-(X2/2):Y1=2:Y2=3 :POKE646,10:GOSUB3460
  315. 3050 PRINT:PRINT""TAB(X1+1);MID$(RN$,3);NT$;" SCRATCHED!"
  316. 3060 FORT=1TO500:NEXT:  GOTO1300
  317. 3070 PRINT"[147]"
  318. 3080 X1=21:X2=15:Y1=1:Y2=5   :POKE646,5:GOSUB3460
  319. 3090 PRINT
  320. 3100 PRINTTAB(X1+2)"CURSOR/RETURN"
  321. 3110 PRINTTAB(X1+2)"TO"MG$" FILE"
  322. 3120 PRINTTAB(X1+2)"\   FOR MENU"
  323. 3130 SYS11818
  324. 3140 POKE646,06:X1=10:X2=17:Y1=02:Y2=1
  325. 3150 E=PEEK(254)
  326. 3160 GOSUB2170:IFA<>0THENGOSUB3460:PRINTTAB(X1+1)""B$:A=0:NT$="NOT":RETURN
  327. 3170 PRINT"[155]";
  328. 3180 IFE<>0THEN3220
  329. 3190 X1=28:X2=09:Y1=0:Y2=7:GOSUB3460
  330. 3195 PRINT:PRINT
  331. 3200 PRINTTAB(X1+1)" NO 'T'":PRINTTAB(X1+1)"FILES ON":PRINTTAB(X1+1)"  DISK"
  332. 3210 NT$="NOT":RETURN
  333. 3220 X1=1:X2=18:Y1=1:Y2=E+2:POKE646,6:IFY2>20THENY2=20
  334. 3230 LG=0:BG=0:A=1
  335. 3240 IFE>19THENLG=E-19
  336. 3250 GOSUB3460
  337. 3260 P$(A+BG)=RV$
  338. 3270 ED=E-LG+BG:IFED>ETHENED=E
  339. 3280 PRINTH$: FORT=1+BGTOED
  340. 3290 PRINTTAB(X1+2)""P$(T);RIGHT$(RC$(T),LEN(RC$(T))-2)""
  341. 3300 NEXT
  342. 3310 GETA$:IFA$=""THEN3310
  343. 3320 IFA$=CHR$(13)THEN3430
  344. 3330 IFA$="\"THEN1300
  345. 3340 P$(II+BG)="":P$(1+BG)=""
  346. 3350 IFA$=CHR$(17)THENA=A+1: IFA=20THENBG=19:A=1:GOSUB3460
  347. 3360 IFA$=CHR$(17)THEN IFA>ETHENA=1:BG=0:GOTO3250
  348. 3370 IFA$=CHR$(145)THENA=A-1:IFA<1THENIFBG=19 THEN BG=0:A=19:GOSUB3460
  349. 3380 IFA<1ANDE>19THENBG=19:A=1:GOSUB3460
  350. 3390 IFA+BG>ETHEN3230
  351. 3400 IFA<1THENA=E:GOSUB3460
  352. 3410 P$(A+BG)=RV$:II=A
  353. 3420 GOTO3270
  354. 3430 RN$=RC$(A+BG):P$(A+BG)=""
  355. 3440 DF$=MID$(RN$,3)
  356. 3450 RETURN
  357. 3460 REM WINDOW
  358. 3470 POKE11486,X1:POKE11488,X2:POKE11487,Y1:POKE11489,Y2:SYS11284:RETURN
  359.