home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / canada-remote-systems / geos / utils / speed2ge (.txt) < prev    next >
Commodore BASIC  |  2019-04-13  |  8KB  |  282 lines

  1. 100 REM********************************
  2. 110 REM*SPEEDSCRIPT TO GEOS CONVERSION*
  3. 120 REM** BY S. GAST AND R. ROLLINS  **
  4. 125 REM********************************
  5. 130 IFFF=1THENSYS24576:REM*REBOOT GEOS
  6. 140 FORX=49152TO49490:REM*INSTALL ML
  7. 150 READD
  8. 160 POKEX,D
  9. 170 NEXTX
  10. 180 G$="GEOS "+CHR$(102)+CHR$(111)+CHR$(114)+CHR$(109)+CHR$(97)+CHR$(116)
  11. 190 PD$="[160][160][160][160][160][160][160][160][160][160][160][160][160][160][160][160]":PS$="[160][160][160][160][160][160][160][160][160][160][160][160][160][160][160]":NU$=CHR$(0)
  12. 200 N$=CHR$(0):H$=N$+N$+"[223]("+N$+"[223][223][223][223][223][223][223]    "+N$+N$:REM GEOS PAGE HEADDER
  13. 210 PRINTCHR$(14)
  14. 220 POKE53280,0:POKE53281,15:POKE646,11
  15. 230 PRINT"[147]  [201]NSERT DISK WITH [215]ORD [208]ROCESSOR FILE "
  16. 240 PRINT"   ON IT INTO DISK DRIVE NUMBER 8"
  17. 250 PRINT"   [208]RESS ANY KEY TO CONTINUE"
  18. 260 GETA$:IFA$=""THEN260
  19. 270 PRINT"           [208]LEASE [215]AIT [146]"
  20. 280 OPEN15,8,15,"I0"
  21. 290 GOSUB 1800:REM CHECK ERROR CHANNEL
  22. 300 OPEN2,8,2,"#":REM PREPARE DIRECT ACCESS DISK BUFFER
  23. 310 GOSUB1800
  24. 320 PRINT#15,"U1:2 0 18 0":REM BRING TRACK 18 SECT 0 INTO BUFFER
  25. 330 GOSUB1800
  26. 340 PRINT#15,"B-P:2 173":REM POSITION POINTER TO START OF GEOS ID NAME
  27. 350 GOSUB1800
  28. 360 B$="":X=0
  29. 370 GOSUB1920:REM GET BYTE FROM CHANNEL 2
  30. 380 B$=B$+A$:REM CONCAT STRING FOR GEOS ID
  31. 390 X=X+1
  32. 400 IFX<11THEN 370:REM GET 11 CHARACTERS
  33. 410 IFB$<>G$THEN 1880:REM MAKE SURE ITS A GEOS DISK
  34. 420 PRINT"[147]"
  35. 430 POKE198,0:FC$="":FL$=""
  36. 440 INPUT"PLEASE ENTER FILENAME (16 LETTERS ONLY)";FL$
  37. 450 IF LEN(FL$)<1 OR LEN(FL$)>16THEN PRINT"[147]           TRY AGAIN":GOTO40
  38. 460 FC$=RIGHT$(PD$,(16-LEN(FL$)))
  39. 470 FC$=FL$+FC$
  40. 480 PRINT"[147]         [201]S THIS THE CORRECT FILE?"
  41. 490 PRINT"              "FC$" [146]"
  42. 500 PRINT"    [217]ES, [206]O OR [209]UIT  (Y/N/Q)?"
  43. 510 POKE 198,0
  44. 520 GETA$:IFA$=""THEN 520
  45. 530 IFA$="N"THEN420
  46. 540 IFA$="Q"THEN 1850
  47. 550 IFA$<>"Y"THEN520
  48. 560 CLOSE2
  49. 570 PRINT"[147]   [215][207][210][203][201][206][199] [146]   "
  50. 580 OPEN2,8,2,"0:"+FL$
  51. 590 INPUT#15,EN,EM$,ET$,ES$
  52. 600 IFEN=62THEN2260
  53. 610 CLOSE2
  54. 620 PRINT#15,"M-R"CHR$(144)CHR$(2)
  55. 630 GET#15,DS$:IFDS$=""THENDS$=CHR$(0)
  56. 640 DS=ASC(DS$)
  57. 650 PRINT#15,"M-R"CHR$(148)CHR$(2)
  58. 660 GET#15,DP$:IFDP$=""THENDP$=CHR$(0)
  59. 670 DP=ASC(DP$)
  60. 680 PRINT#15,"M-R"CHR$(250)CHR$(2)
  61. 690 GET#15,A$:IFA$=""THENA$=CHR$(0)
  62. 700 BF=ASC(A$)
  63. 710 PRINT#15,"M-R"CHR$(252)CHR$(2)
  64. 720 GET#15,A$:IFA$=""THEN A$=CHR$(0)
  65. 730 BF=BF+(ASC(A$)*256)
  66. 740 OPEN2,8,2,"#"
  67. 750 GOSUB1800
  68. 760 PRINT#15,"U1:2 0 18"DS
  69. 770 GOSUB1800
  70. 780 PRINT#15,"B-P:2"(DP+28)
  71. 790 GOSUB1800
  72. 800 GET#2,A$:IFA$=""THENA$=CHR$(0)
  73. 810 FS=ASC(A$)
  74. 820 GET#2,A$:IFA$=""THENA$=CHR$(0)
  75. 830 FS=FS+(ASC(A$)*256)+5
  76. 840 IFBF-FS<0THEN2170
  77. 850 CLOSE2
  78. 860 PRINT"[147]   [215][207][210][203][201][206][199] [160]"
  79. 870 OPEN3,8,3,"0:TEST.S.E.Q,S,W"
  80. 880 GOSUB1800
  81. 890 PRINT#3,"STEVE AND RICH";
  82. 900 CLOSE3
  83. 910 SYS 49161
  84. 920 OPEN3,8,3,"0:TEST.S.E.Q,S,R"
  85. 930 GOSUB1800
  86. 940 PRINT#15,"M-R"CHR$(144)CHR$(2)
  87. 950 GET#15,DS$:IFDS$=""THENDS$=CHR$(0)
  88. 960 DS=ASC(DS$)
  89. 970 PRINT#15,"M-R"CHR$(148)CHR$(2)
  90. 980 GET#15,DP$:IFDP$=""THENDP$=CHR$(0)
  91. 990 DP=ASC(DP$)
  92. 1000 CLOSE3
  93. 1010 GOSUB2310
  94. 1020 PRINT#3,NU$;
  95. 1030 GOSUB2230
  96. 1040 DT$=A$:DT=ASC(DT$)
  97. 1050 GOSUB2230
  98. 1060 SD$=A$:SD=ASC(SD$)
  99. 1070 PRINT#15,"U2:3 0 18"DS
  100. 1080 CLOSE3
  101. 1090 PRINT"   [215][207][210][203][201][206][199] [146]"
  102. 1100 OPEN3,8,3,"0:TEST.S.E.Q,S,W"
  103. 1110 GOSUB1800
  104. 1120 FORX=1TO254
  105. 1130 READD:PRINT#3,CHR$(D);
  106. 1140 NEXTX
  107. 1150 CLOSE3
  108. 1160 GOSUB2310
  109. 1170 PRINT#3,NU$;
  110. 1180 GOSUB2230
  111. 1190 IT$=A$:IT=ASC(IT$)
  112. 1200 GOSUB2230
  113. 1210 IS$=A$:IS=ASC(IS$)
  114. 1220 PRINT#15,"U2:3 0 18"DS
  115. 1230 CLOSE3
  116. 1240 OPEN2,8,2,"0:"+FL$
  117. 1250 GOSUB1800
  118. 1260 OPEN3,8,3,"0:TEST.S.E.Q,S,W"
  119. 1270 GOSUB1800
  120. 1280 GOSUB2390
  121. 1290 PRINT#3,H$;
  122. 1300 SYS49152
  123. 1310 CLOSE3
  124. 1320 CK=PEEK(2):IFCK<>0THEN1950
  125. 1330 GOSUB2310
  126. 1340 PRINT#3,NU$;
  127. 1350 GOSUB2230
  128. 1360 TRACK=ASC(A$)
  129. 1370 GOSUB2230
  130. 1380 SECTR=ASC(A$)
  131. 1390 PRINT#15,"U2:3 0 18"DS
  132. 1400 CLOSE3
  133. 1410 POKE780,TRACK:POKE781,SECTR
  134. 1420 SYS 49155
  135. 1430 CK=PEEK(2):IFCK<>0THEN1950
  136. 1440 FL=PEEK(251):IFFL=0THEN1260
  137. 1450 GOSUB2310
  138. 1460 GOSUB1640
  139. 1470 PRINT#15,"U2:3 0 18"DS
  140. 1480 GOSUB1800
  141. 1490 PRINT#15,"U1:3  0"DT;SD
  142. 1500 GOSUB1800
  143. 1510 SYS49158
  144. 1520 PRINT#15,"U2:3 0"DT;SD
  145. 1530 GOSUB1800
  146. 1540 PRINT"[147]   [208]ROGRAM [195]OMPLETE [146]"
  147. 1550 PRINT"   [198]ILE IS"T"[157] PAGES LONG [146]"
  148. 1560 PRINT"        [200]APPY TO HELP"
  149. 1570 PRINT"    [208]RESS 'G' TO RETURN TO [199][197][207][211]"
  150. 1580 PRINT"    ANY OTHER KEY TO QUIT
  151. 1590 [161]RR$:[139]RR$[178]""[167]1590
  152. 1600 [139]RR$[179][177]"G"[167]1850
  153. 1610 [137]2430
  154. 1620 [128]
  155. 1630 :
  156. 1640 [152]15,"M-R"[199](250)[199](2)
  157. 1650 [161]#15,A$:[139]A$[178]""[167]A$[178][199](0)
  158. 1660 BS[178][198](A$)
  159. 1670 [152]15,"M-R"[199](252)[199](2)
  160. 1680 [161]#15,A$:[139]A$[178]""[167]A$[178][199](0)
  161. 1690 BS[178]BS[170]([198](A$)[172]256)
  162. 1700 BC[178]BF[171]BS:BH[178][181](BC[173]256):BL[178]BC[171](BH[172]256)
  163. 1710 AC$[178]""
  164. 1720 [129]X[178]1[164][195](FL$):B$[178][202](FL$,X,1):[139]B$[178]"*"[167]X[178][195](FL$):[137]1740
  165. 1730 B[178][198](B$):[141]2120:AC$[178]AC$[170]B$:[130]X
  166. 1740 AC$[178]AC$[170][201](PS$,(16[171][195](AC$)))
  167. 1750 DI$[178][199](131)[170]DT$[170]SD$[170]AC$[170]IT$[170]IS$[170][199](1)[170][199](7)[170][199](86)[170][199](10)
  168. 1760 DI$[178]DI$[170][199](4)[170][199](1)[170][199](0)[170][199](BL)[170][199](BH)
  169. 1770 [152]3,DI$;
  170. 1780 [142]
  171. 1790 :
  172. 1800 [132]15,EN,EM$,ET$,ES$
  173. 1810 [139]EN[179]20[167][142]
  174. 1820 [153]"LOAD    STR$ISK VALRROR WAIT
  175. 1830 PRINT" [208]LEASE RERUN PROGRAM AND TRY AGAIN
  176. 1840 [153]"      "EN;EM$" "ET$" ";ES$
  177. 1850 [160]2:[160]3:[160]15
  178. 1860 [128]
  179. 1870 :
  180. 1880 [153]"LOAD       (null)HIS IS NOT A CHR$EOS STR$ISK"
  181. 1890 [153]"PLEASE RERUN PROGRAM AND USE CHR$EOS DISK"
  182. 1900 [137]1850
  183. 1910 :
  184. 1920 [161]#2,A$:[139]A$[178]""[167]A$[178][199](0)
  185. 1930 [142]
  186. 1940 :
  187. 1950 [153]"LOAD   (null)HIS IS A CORRUPTED FILE
  188. 1960 PRINT"    [208]ROGRAM WILL NOT WORK ON IT
  189. 1970 [153]"    (null)LEASE REWRITE FILE AND TRY AGAIN
  190. 1980 PRINT"    PRESS 'Q' TO QUIT
  191. 1990 [153]"     ATNNY OTHER KEY FOR CHR$EOS
  192. 2000 GETA$:IFA$=""THEN2000
  193. 2010 IFA$<>"Q"THEN2430
  194. 2020 GOTO1850
  195. 2030 PRINT"[147]          "FC$" [146]"
  196. 2040 PRINT"  IS NOT ON DISK [208]LEASE TRY AGAIN"
  197. 2050 PRINT"      [197]NTER 'Y' TO TRY AGAIN
  198. 2060 [153]"      ANY OTHER KEY TO QUIT
  199. 2070 POKE198,0
  200. 2080 GETA$:IFA$=""THEN2080
  201. 2090 IFA$<>"Y"THEN1850
  202. 2100 CLOSE2:CLOSE3:CLOSE15:GOTO190
  203. 2110 :
  204. 2120 IFB>64ANDB<91THENB=B+32:B$=CHR$(B)
  205. 2130 IFB>192ANDB<224THENB=B-96:B$=CHR$(B)
  206. 2140 RETURN
  207. 2150 PRINTB;ASC(B$):RETURN
  208. 2160 :
  209. 2170 PRINT"[147] [212]HERE IS NOT ENOUGH ROOM ON THIS DISK
  210. 2180 [153]" (null)LEASE TRANFER FILE TO ANOTHER
  211. 2190 PRINT" [199]OES DISK WITH MORE SPACE":GOTO1980
  212. 2200 "[147]              [197][210][210][207][210] [146]
  213. 2210 [137]1850
  214. 2220 :
  215. 2230 [161]#3,A$:[139]A$[178]""[167]A$[178][199](0)
  216. 2240 [142]
  217. 2250 :
  218. 2260 [153]"LOAD(null)HE FILE IS NOT ON THIS DISK
  219. 2270 PRINT"[208]LEASE INSERT DISK WITH THE FILE
  220. 2280 [153]"INTO DRIVE #8 AND TRY AGAIN
  221. 2290 GOTO2050
  222. 2300 :
  223. 2310 OPEN3,8,3,"#"
  224. 2320 GOSUB1800
  225. 2330 PRINT#15,"U1:3 0 18"DS
  226. 2340 GOSUB1800
  227. 2350 PRINT#15,"B-P:3"DP
  228. 2360 GOSUB1800
  229. 2370 RETURN
  230. 2380 :
  231. 2390 T=T+1
  232. 2400 PRINT"     [205]AKING [208]AGE [206]UMBER[146] "T
  233. 2410 RETURN
  234. 2420 :
  235. 2430 CLOSE2:CLOSE3:CLOSE15
  236. 2440 POKE53272,(PEEK(53272)AND15)OR192:POKE648,48
  237. 2450 PRINT"[147]"
  238. 2460 OPEN15,8,15:OPEN2,8,2,"GEOS BOOT,P,R":INPUT#15,GG:CLOSE2:CLOSE15
  239. 2470 IFGG=0THEN2520
  240. 2480 PRINT"  [201]NSERT GEOS DISK IN DRIVE 0."
  241. 2490 PRINT" HIT ANY KEY TO CONT.....
  242. 2500 [161]A$:[139]A$[178]""[167]2500
  243. 2510 [137]2450
  244. 2520 [139]FF[178]0[167]FF[178]1:[147]"GEOS BOOT",8,1
  245. 2530 [128]
  246. 9999 [143] UNIVERSAL ML MODULE
  247. 10000 [131]76,170,192,76,109,192,76,127,192,76,147,192,0,0,2,0,169,0,133,2,32
  248. 10100 [131]204,255,162,3,32,201,255,169,12,32,210,255,32,204,255,96,162,2,32
  249. 10200 [131]198,255,32,207,255,166,144,208,6,72,32,204,255,104,96,72,169,255,133
  250. 10300 [131]251,32,204,255,104,96,72,162,3,32,201,255,104,72,32,210,255,32,204
  251. 10400 [131]255,104,205,169,192,240,10,238,13,192,173,13,192,201,79,144,8,169,0
  252. 10500 [131]141,13,192,238,12,192,96,169,255,133,2,96,172,14,192,153,0,207,200
  253. 10600 [131]138,153,0,207,200,240,188,140,14,192,96,162,3,32,201,255,160,0,185,0
  254. 10700 [131]207,32,210,255,200,208,247,32,204,255,96,162,0,169,0,157,0,207,232
  255. 10800 [131]169,255,157,0,207,232,208,242,169,255,141,15,192,96
  256. 10900 [143] *****************************
  257. 10999 [143] SPEEDSCRIPT MODULE
  258. 11000 [131]13,173,15,192
  259. 11100 [131]240,3,32,249,192,169,0,141,15,192,133,144,133,2,133,251,141,13,192
  260. 11200 [131]141,12,192,165,251,240,1,96,32,37,192,48,246,240,59,201,27,144,61
  261. 11300 [131]201,28,144,51,240,234,201,31,144,45,240,55,201,64,144,6,240,222,201
  262. 11400 [131]91,176,50,32,65,192,173,12,192,201,60,176,3,76,195,192,76,16,192,162
  263. 11500 [131]2,32,198,255,160,2,32,207,255,136,208,250,32,204,255,96,24,105,64,76
  264. 11600 [131]233,192,24,105,96,76,233,192,169,13,76,233,192,76,104,192,0,0,0,0,0
  265. 11700 [131]0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  266. 11800 [131]0,0,0,0,0,0,0,0,0,0,0,0,0,0
  267. 11900 [143] *****************************
  268. 11999 [143] INFO BLOCK DATA
  269. 15000 [131]3,21,191
  270. 15100 [131]255,255,255,128,0,1,136,128,1,133,117,97,130,85,65,130,119,65,128,0
  271. 15200 [131]1,143,81,193,136,81,1,142,81,193,136,81,1,136,93,193,128,0,1,255,255
  272. 15300 [131]255,0,0,1,247,119,17,132,84,49,151,87,127,148,81,48,247,119,16,0,0,0
  273. 15400 [131]131,7,1,0,0,255,255,0,0,87,114,105,116
  274. 15500 [131]101,32,73,109,97,103,101,32,86,49,46,49,0,0,0,0
  275. 15600 [131]101,32,73,109,97,103,101,32,86,49,46,49,0,0,0,0
  276. 15610 [131]83,46,32,71,97,115,116,32,38,32,82,46,32,82,111,108,108,105,110,115
  277. 15700 [131]103,101,111,87,114,105,116,101,32,32,32,32,86,49,46,49,0
  278. 15800 [131]0,0,0,162,16,189,124,40,157,107,40,202,208,247,32,75,193,169,0,133,46
  279. 15900 [131]32,60,57,169,40,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  280. 16000 [131]0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  281. 16100 [131]0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  282.