home *** CD-ROM | disk | FTP | other *** search
/ ftp.barnyard.co.uk / 2015.02.ftp.barnyard.co.uk.tar / ftp.barnyard.co.uk / cpm / walnut-creek-CDROM / ENTERPRS / CPM / TERMS / CPMTERM.128 (.txt) < prev    next >
Commodore BASIC  |  2000-06-30  |  13KB  |  376 lines

  1. 0 GOTO14
  2. 1 PRINT" [146]       [157][157][157][157][157][157][157][157] [157]";:GETA$:IFA$<>""THEN7
  3. 2 GET#5,A$:IFA$=""THEN1
  4. 3 A1=ASC(A$+CHR$(0))
  5. 4 PRINT CHR$(F%(A1));
  6. 5 IF A$=CHR$(34) THEN POKE 244,0
  7. 6 A$="":GOTO1
  8. 7 IFA$="[147]"THEN:(null) 5:GOTO1
  9. 8 IF A$="[168]" THEN 251
  10. 9 IF A$="[167]" THEN 329
  11. 10 IF A$=CHR$(34) THEN POKE 244,0
  12. 11 A1=ASC(A$+CHR$(0))
  13. 12 IFA1<>0THENPRINT#5,CHR$(T%(A1));
  14. 13 A$="":GOTO2
  15. 14 (null)%:GOSUB 366
  16. 15 POKE808,100:POKE5125,0
  17. 16 (null)15:POKE58,192:CLR:RESTORE:PRINT"[147]  [207]NE [205]OMENT PLEASE...."
  18. 17 (null)244
  19. 18 DIMU%(64),N$(64),T$(64),VT$(50),A%(255),C%(255):PRINTCHR$(14);
  20. 19 DIMR1%(20),R2%(18),R3%(17),R4%(16)
  21. 20 D1=12*4096:REM ADDRESS OF CP/M DIRECTORY INFO BANK 1
  22. 21 D2=D1+2048:REM ADDRESS OF CP/M DISK RECORD MAP
  23. 22 D3=D2+4080:REM ADDRESS OF CP/M DISK BLOCK ALLOC MAP
  24. 23 FORI=0TO12:A%(0)=0:NEXTI:A%(13)=13:FORI=14TO31:A%(I)=0:NEXTI
  25. 24 FORI=32TO64:A%(I)=I:NEXTI:FORI=65TO90:A%(I)=I+128:NEXTI
  26. 25 FORI=91TO95:A%(I)=I:NEXTI:A%(96)=44:FORI=97TO122:A%(I)=I-32:NEXTI
  27. 26 A%(123)=179:A%(124)=125:A%(125)=171:A%(126)=96:A%(127)=0
  28. 27 FORI=128TO255:A%(I)=A%(I-128):NEXTI
  29. 28 FORI=0TO64:C%(I)=I:NEXTI:FORI=65TO90:C%(I)=I+32:NEXTI
  30. 29 FORI=91TO127:C%(I)=I:NEXTI:FORI=128TO255:C%(I)=I-128:NEXTI
  31. 30 FORI=0TO50:READVT$(I):IFVT$(I)="***"THENI=50
  32. 31 NEXTI
  33. 32 FORI=0TO20:READR1%(I):NEXTI:FORI=0TO18:READR2%(I):NEXTI
  34. 33 FORI=0TO17:READR3%(I):NEXTI:FORI=0TO16:READR4%(I):NEXTI
  35. 34 PRINT"[147][201]NSERT [195][208]/[205] [196]ISK IN [196]RIVE 8"
  36. 35 PRINT"[208]RESS ANY KEY TO CONTINUE WHEN DISK IS READY"
  37. 36 GET(null)A$
  38. 37 OPEN14,8,15:PRINT#14,"I0":CLOSE14
  39. 38 PRINT"[147][210]EADING [195][208]/[205] [196]IRECTORY":PRINT
  40. 39 OPEN1,8,2,"#":OPEN15,8,15
  41. 40 D=D1:FORS=2TO9:PRINT#15,"B-P";2;0
  42. 41 SS=R1%(S):PRINT#15,"U1";2;0;1;SS
  43. 42 FORI=1TO8:PRINT".";
  44. 43 FORJ=1TO32:GET#1,X$:IFX$=""THENX$=CHR$(0)
  45. 44 (null)1:POKED,ASC(X$):D=D+1
  46. 45 NEXTJ,I,S:CLOSE1:CLOSE15
  47. 46 D=D2:REM BUILD RECORD MAP
  48. 47 T=1:FORS=2TO20:SS=R1%(S)
  49. 48 (null)1:POKED,T:POKED+1,SS:POKED+2,0:POKED+3,T:POKED+4,SS:POKED+5,128
  50. 49 D=D+6:NEXTS
  51. 50 FORT=2TO17:FORS=0TO20:SS=R1%(S)
  52. 51 (null)1:POKED,T:POKED+1,SS:POKED+2,0:POKED+3,T:POKED+4,SS:POKED+5,128
  53. 52 D=D+6:NEXTS,T
  54. 53 T=18:FORS=1TO18:SS=R2%(S)
  55. 54 (null)1:POKED,T:POKED+1,SS:POKED+2,0:POKED+3,T:POKED+4,SS:POKED+5,128
  56. 55 D=D+6:NEXTS
  57. 56 FORT=19TO24:FORS=0TO18:SS=R2%(S)
  58. 57 (null)1:POKED,T:POKED+1,SS:POKED+2,0:POKED+3,T:POKED+4,SS:POKED+5,128
  59. 58 D=D+6:NEXTS,T
  60. 59 FORT=25TO30:FORS=0TO17:SS=R3%(S)
  61. 60 (null)1:POKED,T:POKED+1,SS:POKED+2,0:POKED+3,T:POKED+4,SS:POKED+5,128
  62. 61 D=D+6:NEXTS,T
  63. 62 FORT=31TO35:FORS=0TO16:SS=R4%(S)
  64. 63 (null)1:POKED,T:POKED+1,SS:POKED+2,0:POKED+3,T:POKED+4,SS:POKED+5,128
  65. 64 D=D+6:NEXTS,T
  66. 65 FORI=D3+2TOD3+169:(null)1:POKEI,0:NEXTI
  67. 66 (null)1:POKED3,255:POKED3+1,255:REM DIRECTORY BLOCKS
  68. 67 D=D1:FORI=1TO64:(null)1:U%(I)=PEEK(D):IFU%(I)=229THEN73
  69. 68 N$(I)="":FORJ=1TO8:(null)1:N$(I)=N$(I)+CHR$(PEEK(D+J)):NEXTJ
  70. 69 T$(I)="":FORJ=9TO11:(null)1:T$(I)=T$(I)+CHR$(PEEK(D+J)):NEXTJ
  71. 70 FORJ=16TO31:(null)1:IFPEEK(D+J)=0THEN72
  72. 71 (null)1:X=PEEK(D+J):POKED3+X,I
  73. 72 NEXTJ
  74. 73 D=D+32:NEXTI
  75. 74 PRINT:PRINT"[198]INISHED! [196][207] [206][207][212] REMOVE DISK FROM DRIVE"
  76. 75 PRINT:PRINT"UNLESS LOGGING A NEW ONE INTO THE SYSTEM."
  77. 76 PRINT:PRINT"PRESS ANY KEY FOR MENU":GET(null)A$:GOTO227
  78. 77 PRINT"[147][211]MALLTERM -- [195][208]/[205] [213]TILITY"
  79. 78 PRINT"[198]UNCTIONS ARE:"
  80. 79 PRINT" 1 - [204]IST [195][208]/[205] [196]IRECTORY"
  81. 80 PRINT" 2 - [204]IST [195][208]/[205] [198]ILE"
  82. 81 PRINT" 3 - [201]NITIALIZE FOR ANOTHER [195][208]/[205] [196]ISK"
  83. 82 PRINT" 4 - [210]ETURN TO [205][193][201][206] MENU"
  84. 83 PRINT"[208]RESS KEY FOR DESIRED FUNCTION"
  85. 84 GETA$:IFA$=""THEN84
  86. 85 IFVAL(A$)=4THENPOKE5125,0
  87. 86 IFVAL(A$)=3THENPOKE5125,1
  88. 87 ONVAL(A$)GOTO89,107,16,251
  89. 88 GOTO77
  90. 89 PRINT"[147][213][211][210]  [206][193][205][197]       [212][217][208]   [197][216][212]   [210][197][195][211]   [211][201][218][197]"
  91. 90 PRINT"---  --------   ---   ---   ----   ----"
  92. 91 B=2:D=D1:FORI=1TO64
  93. 92 (null)1:IFPEEK(D)<>0THEN102
  94. 93 U$=RIGHT$("  "+STR$(U%(I)),2)
  95. 94 N$=N$(I)
  96. 95 T$=T$(I)
  97. 96 (null)1:E=PEEK(D+12)+1:E$=RIGHT$("   "+STR$(E),2)
  98. 97 (null)1:S=PEEK(D+15):S$=RIGHT$("   "+STR$(S),3)
  99. 98 K=0:FORJ=16TO31:(null)1:IFPEEK(D+J)<>0THENK=K+1
  100. 99 K$=RIGHT$("   "+STR$(K),3)
  101. 100 NEXTJ:B=B+K
  102. 101 PRINT U$;"   ";N$;"   ";T$;"   ";E$;"    ";S$;"    ";K$;"K"
  103. 102 D=D+32:NEXT I
  104. 103 PRINT"---------------------------------------"
  105. 104 PRINT"";STR$(170-B);" 1[203] [194]LOCKS [193]VAILABLE "
  106. 105 PRINT"[208]RESS ANY KEY FOR MENU"
  107. 106 GET(null)A$:GOTO77
  108. 107 OPEN4,3:REM DEFAULT TO SCREEN
  109. 108 PRINT"[147][195][208]/[205] [198]ILE [208]RINT":PRINT"[213]SER, [198]ILE [206]AME, [212][217][208]"
  110. 109 INPUT U$,A$,B$
  111. 110 U%=VAL(U$):IFU%<0ORU>15THENPRINT"[213]SER # [201][206][214][193][204][201][196]":GOTO150
  112. 111 X=51:FORI=0TO50:IFB$=VT$(I)THENX=I:I=50:GOTO113
  113. 112 IFVT$(I)="***"THENI=50
  114. 113 NEXTI:IFX=51THENPRINT"[198]ILE [212][217][208][197] [201][206][214][193][204][201][196]":GOTO150
  115. 114 A$=LEFT$(A$+"        ",8)
  116. 115 F=0:E=0:FORI=1TO64:IFU%(I)=229THEN117
  117. 116 IFU%=U%(I)ANDA$=N$(I)ANDB$=T$(I)THENF=I:I=64
  118. 117 NEXTI
  119. 118 IFF=0THENPRINT"[198]ILE [206][207][212] [198][207][213][206][196]":GOTO150
  120. 119 PR=0:INPUT"[211]CREEN (S) OR [208]RINTER (P)  S[157][157][157]";A$
  121. 120 IFA$="P"THENCLOSE4:OPEN4,4,7:PR=1:GOTO123
  122. 121 IFA$="S"THEN123
  123. 122 GOTO119
  124. 123 PRINT#4,"[147]";:BC=0
  125. 124 PRINT"[208]RESS [206]O [211]CROLL KEY TO [208]AUSE AND [210]ESTART"
  126. 125 PRINT"[208]RESS \ KEY TO STOP":PRINT
  127. 126 OPEN1,8,2,"#":OPEN15,8,15
  128. 127 D=D1+(F-1)*32
  129. 128 EF=0:FORK=D+16TOD+31:(null)1:B=PEEK(K):IFB=0THENK=D+31:GOTO145
  130. 129 B=D2+(B)*24
  131. 130 FORI=BTOB+18STEP6:(null)1:T=PEEK(I):S=PEEK(I+1):P=PEEK(I+2)
  132. 131 PRINT#15,"B-P";2;0
  133. 132 PRINT#15,"U1";2;0;T;S
  134. 133 FORJ=1TO256
  135. 134 GETA$:IFA$="\"THENK=D+31:I=B+18:J=256:EF=1:GOTO143
  136. 135 GET#1,X$:IFX$=""THENX$=CHR$(0)
  137. 136 IFASC(X$)=26THENJ=256:I=B+18:K=D+31:GOTO143
  138. 137 IFASC(X$)<>9THEN140
  139. 138 X=INT(BC/8)*8:X=BC-X:X=8-X:FORXX=1TOX:PRINT#4," ";:NEXTXX
  140. 139 BC=BC+X:GOTO143
  141. 140 IFASC(X$)=12THENPRINT#4,"[147]";:GOTO143
  142. 141 PRINT#4,CHR$(A%(ASC(X$)));:IFA%(ASC(X$))<>0THENBC=BC+1
  143. 142 IFASC(X$)=13THENBC=0
  144. 143 NEXTJ
  145. 144 NEXTI
  146. 145 NEXTK
  147. 146 CLOSE1:CLOSE15:IFEFTHEN150
  148. 147 FF=F:E=E+1:FORI=FTO64:IFU%(I)=229THEN149
  149. 148 (null)1:IFU%=U%(I)ANDA$=N$(I)ANDB$=T$(I)ANDPEEK(D1+((I-1)*32)+12)=ETHENF=I:I=64
  150. 149 NEXTI:IFF>FFTHEN126
  151. 150 PRINT#4:CLOSE4
  152. 151 PRINT:PRINT"[208]RESS ANY KEY FOR MENU"
  153. 152 GET(null)A$:GOTO77
  154. 153 PRINT"[201]NPUT FILE NAME AND FILE TYPE. [198]ILE NAME SHOULD BE NO MORE THAN 8     CHARACTERS. [212]HEN ENTER THE TYPE OF FILE IE. COM, LBR, ASM, TXT, DOC  ETC. ETC."
  155. 154 U$="0":E=0:PRINT:INPUT"[195][208]/[205]  FILE NAME, TYPE -=> ";CP$,TY$
  156. 155 NR=1:PF=0:LF=0:IFCP$=""THENPRINT#5,"":GOTO325
  157. 156 IF LEN(CP$)>8THENPRINT"FILE NAME TO LONG. 8 CHARACTERS MAX.":GOTO154
  158. 157 X=51:FORI=0TO50:IF TY$=VT$(I)THENX=I:I=50:GOTO159
  159. 158 IFVT$(I)="***"THENI=50
  160. 159 NEXT I:IFX=51THENPRINT"[198]ILE [212]YPE [201]NVALID":GOTO154
  161. 160 N=0:FORI=1TO64:IFU%(I)=229THENN=I:I=64
  162. 161 NEXTI:IFN=0THENPRINT"[193][194][207][210][212][201][206][199]: [195][208]/[205] [196]IRECTORY [198]ULL":(null) 5:E2=1:RETURN
  163. 162 RETURN
  164. 163 OPEN1,8,2,"#":OPEN14,8,15
  165. 164 (null)1:D=D1+(N-1)*32:POKED,VAL(U$):FORI=D+1TOD+8:POKEI,32:NEXTI
  166. 165 FORI=1TOLEN(CP$):(null)1:POKED+I,ASC(MID$(CP$,I,1)):NEXTI
  167. 166 FORI=9TO11:(null)1:POKED+I,ASC(MID$(TY$,I-8,1)):NEXTI:POKED+12,E
  168. 167 (null)1:POKED+13,0:POKED+14,0
  169. 168 U%(N)=VAL(U$):N$(N)=LEFT$(CP$+"        ",8):T$(N)=TY$
  170. 169 (null)1:NR=D+15:BA=D+16:POKENR,0
  171. 170 FORI=BATOBA+15:(null)1:POKEI,0:NEXTI
  172. 171 NB=170:FORI=0TO169:(null)1:IFPEEK(D3+I)=0THENNB=I:I=169
  173. 172 NEXTI:(null)1:IFNB=170THENPOKED,229:PRINT"[193][194][207][210][212][201][206][199]: [195][208]/[205] [196]ISK [198]ULL":GOSUB360:GOTO207
  174. 173 (null)1:POKED3+NB,N:POKEBA,NB:GOTO211
  175. 174 FORR=1TO8
  176. 175 Y$=""
  177. 176 IFX=1THENY$=Y$+CHR$(10):X=0:GOTO181
  178. 177 GET#3,X$:IFX$=""THENX$=CHR$(0)
  179. 178 A=ASC(X$):Y$=Y$+CHR$(C%(A))
  180. 179 CS=ST
  181. 180 IFX$=CHR$(13)THENX=1
  182. 181 Y=LEN(Y$):IFY=128THEN185
  183. 182 IFCS=64ANDX=0THEN184
  184. 183 GOTO176
  185. 184 FORI=Y+1TO128:Y$=Y$+CHR$(26):NEXTI
  186. 185 RA=D2+((NB)*24)+((R-1)*3):(null)1:T=PEEK(RA):S=PEEK(RA+1):P=PEEK(RA+2)
  187. 186 PRINT#14,"U1";2;0;T;S:PRINT#14,"B-P";2;P
  188. 187 PRINT#1,Y$;:IFCS=64THENPRINT#14,"U2";2;0;T;S:PRINT#14,"B-P";2;0
  189. 188 PRINT#14,"U2";2;0;T;S:(null)1:POKENR,(PEEK(NR)+1)
  190. 189 IFCS=64THENR=8
  191. 190 NEXTR:IFCS=64THEN196
  192. 191 BA=BA+1
  193. 192 (null)1:IFPEEK(NR)<128THEN171
  194. 193 N=0:FORI=1TO64:IFU%(I)=229THENN=I:I=64
  195. 194 NEXTI:IFN=0THENPRINT"[193][194][207][210][212][201][206][199]: [195][208]/[205] [196]IRECTORY [198]ULL":GOSUB360:CS=1:(null) 6:GOTO207
  196. 195 E=E+1:GOTO164
  197. 196 CLOSE3:CLOSE1:CLOSE14
  198. 197 CS=1:PRINT:PRINT"[215]RITING [195][208]/[205] [196]IRECTORY":PRINT
  199. 198 OPEN14,8,15:PRINT#14,"I0":OPEN 1,8,2,"#"
  200. 199 D=D1:FORS=2TO9:PRINT#14,"B-P";2;0:SS=R1%(S)
  201. 200 FORI=1TO8:PRINT".";
  202. 201 X$="":FORJ=1TO32:(null)1:X=PEEK(D):X$=X$+CHR$(X):D=D+1:NEXTJ
  203. 202 PRINT#1,X$;:IFS=7ANDI=8ANDJ=32THENPRINT#14,"U2";2;0;1;SS:PRINT#14,"B-P";2,0
  204. 203 NEXTI
  205. 204 PRINT#14,"U2";2;0;1;SS
  206. 205 NEXTS
  207. 206 CLOSE14:CLOSE1:PRINT#5,CHR$(17);:CS=1:GOTO325
  208. 207 CLOSE3:CLOSE1:CLOSE14:PRINT#5,"";
  209. 208 PRINT:PRINT"[208]RESS ANY KEY FOR [212]ERMINAL MODE."
  210. 209 GET(null)A$
  211. 210 GOTO325
  212. 211 FORR=1TO8
  213. 212 E1=.:GOSUB336:IFE1=1THENPRINT#5,"":GOSUB360:R=8:NEXTR:CS=1:GOTO325
  214. 213 IFCS<>64THEN215
  215. 214 FORI=CT+1TO128:BF$=BF$+CHR$(26):NEXT I
  216. 215 RA=D2+((NB)*24)+((R-1)*3):(null)1:T=PEEK(RA):S=PEEK(RA+1):P=PEEK(RA+2)
  217. 216 PRINT#14,"U1";2;0;T;S:PRINT#14,"B-P";2;P
  218. 217 PRINT#1,BF$;:IFCS=64THENPRINT#14,"U2";2;0;T;S:PRINT#14,"B-P";2;0
  219. 218 PRINT#14,"U2";2;0;T;S:(null)1:POKENR,(PEEK(NR)+1)
  220. 219 IFCS=64THENR=8
  221. 220 NEXTR:IFCS=64THEN358:(null)191
  222. 221 DATA 2ZB,ASM,BAK,BAS,BIN,C,COM,CQM,DAT,DOC,DQC,HEX,HLP,I80,LBR,LQR
  223. 222 DATA LIB,LST,MAC,PAS,PRN,PRT,SRC,SUB,SYM,SYS,TEX,TXT,***
  224. 223 DATA 0,5,10,15,20,4,9,14,19,3,8,13,18,2,7,12,17,1,6,11,16
  225. 224 DATA 0,5,10,15,1,6,11,16,2,7,12,17,3,8,13,18,4,9,14
  226. 225 DATA 0,5,10,15,2,7,12,17,4,9,14,1,6,11,16,3,8,13
  227. 226 DATA 0,5,10,15,3,8,13,1,6,11,16,4,9,14,2,7,12
  228. 227 (null):PRINTCHR$(14):IFRE=1THEN230
  229. 228 OPEN5,2,3,CHR$(6)+CHR$(0)
  230. 229 POKE 56579,38:POKE56577,PEEK(56577)AND32
  231. 230 RS=1:MH=2:BU=0:LM=64000:BB=44000:BP=BB
  232. 231 FOR KE=1 TO 8:(null) KE,"":NEXT
  233. 232 (null)1,"[168]":(null)3,"[167]"::(null)7,""+CHR$(13):(null)5,""+CHR$(13)
  234. 233 DIMF%(255),T%(255):FORJ=32TO64:T%(J)=J:NEXT
  235. 234 T%(13)=13:T%(20)=8:T%(160)=32:T%(15)=15:T%(26)=26:T%(3)=3:T%(16)=16:T%(19=T)=19:T%(17)=17:XC=1
  236. 235 T%(21)=21:T%(22)=22:T%(26)=26:T%(24)=24
  237. 236 FORJ=65TO90:T%(J)=J+32:NEXT
  238. 237 FORJ=91TO95:T%(J)=J:NEXT
  239. 238 FORJ=193TO218:T%(J)=J-128:NEXT
  240. 239 T%(134)=19:T%(135)=17:T%(136)=27
  241. 240 FORJ=0TO255:HK=T%(J)
  242. 241 IFHK<>0THENF%(HK)=J:F%(HK+128)=J
  243. 242 NEXT
  244. 243 GOTO 251
  245. 244 (null) 5:PRINT:PRINT:PRINT"    [211]OMETHING'S WRONG!!!!   [146] "
  246. 245 (null):PRINTCHR$(143):PRINTDS$
  247. 246 PRINT:PRINT"             [197]RROR IN LINE NUMBER  ";:PRINTEL:(null)  3
  248. 247 (null) 251
  249. 248 (null):(null),10,10,"    [208]LEASE CONFIRM EXIT COMMAND  -=>   ([197]) ",1
  250. 249 GET(null) EX$:IF EX$="E" THEN PRINT"[147]":(null) 251
  251. 250 (null):(null) 3:PRINT"[147]":POKE808,110:END
  252. 251 IFPEEK(5125)=1THEN77
  253. 252 (null):A$=""
  254. 253 PRINT"":(null) 5
  255. 254 PRINT"             [211]MALLTERM [195][208]/[205] [205]ENU  "
  256. 255 PRINT" =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-="
  257. 256 PRINT
  258. 257 PRINT"[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][185][185][185][185][185][185][185][185][185][185][185][185][185][185]"
  259. 258 PRINT"[180]     [164][164][164][164][164]                                   [182]"
  260. 259 PRINT"[180]      <[197]> [146]         [197]XIT THIS PROGRAM         [182]"
  261. 260 PRINT"[180]     [164][164][164][164][164]                                   [182]"
  262. 261 PRINT"[180]      <[211]> [146]         [211]CREEN REVERSE TOGGLE     [182]"
  263. 262 PRINT"[180]     [164][164][164][164][164]                                   [182]"
  264. 263 PRINT"[180]      <[196]> [146]         [196]ISK DIRECTORY (8)        [182]"
  265. 264 PRINT"[180]     [164][164][164][164][164]                                   [182]"
  266. 265 PRINT"[180]      <[210]> [146]         [210]EAD SEQ FILE FROM DISK   [182]"
  267. 266 PRINT"[180]     [164][164][164][164][164]                                   [182]"
  268. 267 PRINT"[180]      <[212]> [146]         [212]ERMINAL MODE             [182]"
  269. 268 PRINT"[180]     [164][164][164][164][164]                                   [182]"
  270. 269 PRINT"[180]      <[195]> [146]         [195][208]/[205] [213]TILITIES            [182]"
  271. 270 PRINT"[180]     [164][164][164][164][164]                                   [182]"
  272. 271 PRINT"[180]                                             [182]"
  273. 272 PRINT"[184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184]"
  274. 273 PRINT:PRINT"        ^ [146]"CHR$(143)"         [208]LEASE CHOOSE ONE!   [146]"
  275. 274 POKE 208,0
  276. 275 GET(null) CH$
  277. 276 PRINT"[145]                                                                     "
  278. 277 IF CH$="C" THEN77
  279. 278 IF CH$="E" THEN GOTO248
  280. 279 IF CH$="S" THEN RS=RS+1:(null) 284
  281. 280 :          IF RS>2 THEN RS=1
  282. 281 :          IF RS=1 THEN PRINTCHR$(27)"N"
  283. 282 :          IF RS=2 THEN PRINTCHR$(27)"R"
  284. 283 GOTO 253
  285. 284 IF CH$="D" THEN GOTO 289:(null) 285
  286. 285 IF CH$="R" THEN GOTO 297:(null) 286
  287. 286 REM ...
  288. 287 IF CH$="T" THEN POKE 56577,(PEEK(56577)OR32):GOTO 324:(null) 251
  289. 288 GOTO251
  290. 289 PRINTCHR$(7)
  291. 290 (null):(null)47,2,79,23,1
  292. 291 PRINT"                                 "
  293. 292 FOR C7=1 TO 19:PRINT"  [146]                               [146]":NEXT C7
  294. 293 PRINT"                                 "
  295. 294 (null)50,4,77,21,1
  296. 295 (null)
  297. 296 (null) 1:PRINT"":GOTO 273
  298. 297 (null)
  299. 298 PRINT"[147]"
  300. 299 INPUT"[215]HAT IS THE NAME OF THE FILE  -=>      ";F$
  301. 300 IF F$="" THEN 251
  302. 301 PRINT"[215]HAT TYPE OF FILE IS THAT?";:PRINT"    <[208]>ROGRAM <[213]>SER OR <[211]>EQ"
  303. 302 GET(null) O$
  304. 303 IF O$="" THEN 251
  305. 304 T$=LEFT$(O$,1)
  306. 305 IF O$<>"S"THEN IFO$<>"P" THEN IFO$<>"U"THEN301
  307. 306 PRINT"[147][213]SE THE 'NO SCROLL' KEY TO PAUSE --- [193]NY OTHER WILL STOP."
  308. 307 PRINT"---------------------------------------------------------"
  309. 308 (null) 0,3,79,24
  310. 309 OPEN 15,8,15
  311. 310 OPEN 6,8,5,"0:"+F$+","+O$+",R"
  312. 311 GOSUB321
  313. 312 GET#6,A$
  314. 313 IF ST=0 THEN 317
  315. 314 IF ST=64 THEN PRINT"-=*=- [197]ND OF FILE -=*=-"
  316. 315 (null):(null) 1:PRINT:PRINT:PRINT:PRINT"                  [200]IT ANY KEY TO CONTINUE [146]"
  317. 316 GET(null) Y$:GOTO 251
  318. 317 IF A$=CHR$(34)THEN:A$=CHR$(39)
  319. 318 PRINT(A$+CHR$(0));
  320. 319 GET Q$:IF Q$="" THEN 312:(null) PRINT"[147][211]TOPPED":GOTO315
  321. 320 GOTO 312
  322. 321 INPUT#15,A$,B$,C$,D$
  323. 322 IF VAL(A$)>0 THEN:PRINT"[147]":PRINTA$,B$,C$,D$
  324. 323 RETURN
  325. 324 PRINTCHR$(7)
  326. 325 PRINT"[147]";
  327. 326 PRINT"    [198]1=[207]PTIONS MENU  [198]3=[196]/[204] [195][208]/[205] [198]ILE(S)  [198]5=^0+RETURN  [198]7=^[208]+RETURN"
  328. 327 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][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]"
  329. 328 (null) 0,2,79,24,1:PRINT:GOTO 1
  330. 329 PRINT"[147]":CP$="":TY$="":(null)
  331. 330 PRINT"      [210]ECIEVE XMODEM FILE.        [200]IT  '[193]' [146] DURING TRANSFER TO ABORT!"
  332. 331 PRINT"[184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184]":PRINT:PRINT
  333. 332 GOSUB153:IFE2THEN325
  334. 333 PRINT:PRINT"[211]TARTING DISK STATUS IS -=> ";DS$:(null) 5:PRINT:PRINT
  335. 334 BK=1:XX=1
  336. 335 TR=0:AS=0:(null)5:GOSUB363:PRINT#5,CHR$(21);:GOTO163
  337. 336 TT=0:IFAS=1THENPRINT#5,CHR$(6);
  338. 337 GET#5,A$:IFA$=CHR$(4)THENIFBK>1THENPRINT#5,CHR$(6);:PRINT"* [196]OWNLOAD COMPLETED *":PRINTCHR$(7):CS=64:RETURN
  339. 338 IFA$=CHR$(1)THENGOSUB363:GOTO342
  340. 339 TT=TT+1:IFTT<400THEN337:PRINT"[145]++ TIMEOUT ERROR++                    "
  341. 340 TR=TR+1:IFTR<10THENPRINT#5,CHR$(21);:GOTO336
  342. 341 PRINT"[145]++ [212]RANSFER ABORTED--TOO MANY ERRORS          ":PRINTCHR$(7) :GOTO357
  343. 342 GET AB$:IF AB$="A" THEN 357
  344. 343 CK=0:BF$=""
  345. 344 GET#5,W$:IFW$=""THENW$=CHR$(0)
  346. 345 GET#5,C$:IFC$=""THENC$=CHR$(0)
  347. 346 IFASC(W$)<>(255-ASC(C$))THENPRINT"[145]++ INVALID BLOCK HEADER ++":FORJ=1TO400:GET#5,A$:NEXTJ:GOTO340
  348. 347 IF ASC(W$)<>BK THEN PRINT "++ BLOCK SYNC LOST, ABORTING TRANSFER":PRINT#5,"";:GOTO357
  349. 348 CT=0
  350. 349 GET#5,A$:IFA$=""THENA$=CHR$(0)
  351. 350 CK=CK+ASC(A$)
  352. 351 BF$=BF$+A$:CT=CT+1:IFCT<128THEN349
  353. 352 GET#5,A$:IFA$=""THENA$=CHR$(0)
  354. 353 IF(CK AND 255)=ASC(A$) THEN BK=BK+1:XX=XX+1:AS=1:(null) 356
  355. 354 IFBK>255THENBK=0:TR=0:RETURN
  356. 355 TR=0:RETURN
  357. 356 PRINT"++ CHECKSUM ERROR ++":GOTO340
  358. 357 (null):PRINT#5,CHR$(6);:A$="":E1=1:RETURN
  359. 358 (null):A$="":GOSUB361:PRINT"[212]OTAL [195][208]/[205] SPACE USED = ";INT(XX)"[203]":(null) 5
  360. 359 GOTO196
  361. 360 (null)1:D=D1+(N-1)*32:POKED,229:(null)15:RETURN
  362. 361 XX=XX*128/1024:IFXX>INT(XX)THENXX=XX+1:RETURN
  363. 362 RETURN
  364. 363 PRINT"[216][205]ODEM [196]OWNLOAD IN PROGRESS"
  365. 364 PRINT"[196]OWNLOADING -=> ";CP$+"."+TY$
  366. 365 PRINT"[210]ECEIVING BLOCK NUMBER -=>";XX:RETURN
  367. 366 PRINT"[147]                         [215]ELCOME TO [211]MALLTERM [195][208]/[205]"
  368. 367 PRINT"     [215]ITH THIS TERMINAL PROGRAM YOU CAN [196][207][215][206][204][207][193][196] DIRECTLY TO YOUR [195]128"
  369. 368 PRINT"       CP/M DISKS PROVIDED THEY ARE 168K DISKS AND [206][207][212] DOUBLE SIDED."
  370. 369 PRINT"          [206][207][212][197]: [195]64 CP/M DISKS [195][193][206][206][207][212] BE USED WITH THIS PROGRAM."
  371. 370 PRINT"           [212]HIS PROGRAM USES [216][205][207][196][197][205] PROTOCOL FOR [193][204][204] DOWNLOADS."
  372. 371 PRINT"                 [212]ERMINAL PORTIONS BY [194]OMBS [193]WAY [211]OFTWARE."
  373. 372 PRINT"               [212]RANSFER CP/M RELATED PORTIONS BY [205]IKE [205]C[204]AWHORN."
  374. 373 PRINT"           [200]ACKED TOGETHER FOR ALL CP/M 128 OWNERS BY [202]IM [194]ROUGHTON."
  375. 374 PRINT"                          PRESS ANY KEY TO CONTINUE":GET(null)A$:RETURN
  376.