home *** CD-ROM | disk | FTP | other *** search
/ Loadstar 172 / 172.d81 / b.star batch (.txt) < prev    next >
Encoding:
Commodore BASIC  |  1998-01-01  |  11.6 KB  |  722 lines

  1. 10 rem * star batch creator   *
  2. 11 rem * by ken robinson 5/98 *
  3. 12 rem * 1998 j&f publishing  *
  4. 13 :
  5. 14 poke55,0:poke56,160:clr
  6. 15 dv=peek(186):ifdv<8thendv=8
  7. 16 :
  8. 17 c1$="\":rem * delay character *
  9. 18 c2$="_":rem * input character *
  10. 19 :
  11. 20 deffnh(q)=int(q/256)
  12. 21 deffnl(q)=q-256*fnh(q)
  13. 22 diml(100)
  14. 30 poke53272,23:poke648,4:poke56576,199:gosub5000
  15. 31 print"  [155][197][206][212][197][210] [201][206][211][212][193][204][204][193][212][201][207][206] [193][196][196][210][197][211][211]"
  16. 32 print"  [155][193]ccepts dec or $hex"
  17. 33 print"  like 49152 or $c000":poke53265,27
  18. 34 print"  [201]nstallation [193]ddress: ? ";
  19. 35 gosub800:ifef=2then39000
  20. 36 ifef=1thenprint"[150][201]llegal number!":goto34
  21. 37 ifn<2352orn>52736or(n>40448andn<49152)thenprint"[150][195]an't fit it there!":goto34
  22. 38 sa=n:s2=sa+256:b1=40960:ifsa>40704thenb1=53248
  23. 39 b2=49408+(b1-s2):ifb2>53248thenb2=53248
  24. 40 df=49152-sa
  25. 99 rem   stop
  26. 200 gosub5000:gosub5005:poke53265,27
  27. 230 print
  28. 232 print"[159] [201]nstall. [193]ddr. =";sa;:n=sa:gosub850:printw$:print
  29. 235 s3=49408:print"[159]"b2-s3;"bytes free":print:ln=1
  30. 238 ln$="[147][144]poke53280,0:poke53281,0"
  31. 239 l(1)=s3:poke198,0:print"";ln;"[157]:";:poke212,1:println$;:goto265
  32. 240 ln$="":l(ln)=s3
  33. 245 poke198,0:print"";ln;"[157]:";:goto265
  34. 250 tt=ti+20
  35. 255 iftt>tithen270
  36. 260 tf=not(tf):iftf=0thenpoke212,0:print" [157]";:goto250
  37. 265 poke212,0:print" [146][157]";:goto250
  38. 270 geta$:ifa$=""then255
  39. 275 ifa$=chr$(148)thena$=chr$(142)
  40. 280 ifln$=""thenifa$=chr$(20)then255
  41. 290 ifa$=chr$(13)ora$=chr$(141)ora$=""then319
  42. 295 ifa$=""then355
  43. 300 ifa$=""then349
  44. 302 ifa$=""thenpoke212,0:print" ":goto39000
  45. 303 ifa$=""then352
  46. 304 ifa$=""then346
  47. 305 iflen(ln$)=>75thenifa$<>chr$(20)then255
  48. 308 poke212,1:printa$;
  49. 310 ifa$<>chr$(20)thenln$=ln$+a$:goto265
  50. 315 ln$=left$(ln$,len(ln$)-1):goto265
  51. 319 ifln=>100orln$=""then255
  52. 320 poke212,0:ifa$=chr$(13)thenprint"m[146]"
  53. 321 ifa$=chr$(141)thenprint"[205][146]"
  54. 322 ifa$=""thenprint"l[146]":a$=""
  55. 323 ln$=ln$+a$
  56. 325 l=len(ln$):ifl=0then345
  57. 326 ifb2-(s3+l+1)=<0thenprint"[150][207]verflow!!! [210]etype line or quit.":goto240
  58. 330 forx=0tolen(ln$)-1
  59. 335 pokes3,asc(mid$(ln$,x+1,1)+chr$(0)):s3=s3+1
  60. 340 nextx:pokes3,0
  61. 345 ln=ln+1:goto240
  62. 346 ifln$<>""orln<2then255
  63. 347 poke212,0:print" "
  64. 348 ln=ln-1:s3=l(ln):pokes3,0:goto240
  65. 349 ifln$<>""then255
  66. 350 poke212,0:print" "
  67. 351 print:print"[159]"b2-s3"bytes free":goto240
  68. 352 ifln$=""then255
  69. 353 poke212,0:forj=1tolen(ln$):print" [157][157]";:next:ln$="":goto260
  70. 355 ifs3=49408orln$<>""then255
  71. 357 poke212,0:print" "
  72. 358 print"[155][195]onfirm - are you finished? (y/n)";
  73. 359 poke198,0
  74. 360 geta$:ifa$<>"y"anda$<>"n"then360
  75. 365 printa$:ifa$="n"thenprint:goto240
  76. 370 gosub5000:print:printtab(8);"[155][208][210][207][195][197][211][211][201][206][199][160][194][193][212][195][200][160][198][201][204][197]..."
  77. 375 printtab(8)"* * * * * * * * * * * *"
  78. 380 printtab(8)"[145]";:poke53265,27
  79. 385 ad=sa:gosub1000
  80. 390 gosub5000:poke53265,27
  81. 392 print"[155][197]nter [211]ave [198]ilename: ? ";:nf=0:l=15:w$="":gosub830
  82. 395 ifw$=""then38000
  83. 396 fl$=w$
  84. 397 print"[155][197]nter [211]ave [196]evice # ? ";
  85. 398 w$=mid$(str$(dv),2):print"[159]";w$;:l=2:gosub804
  86. 399 ifef=2then38000
  87. 400 if(ef)or(n<8orn>29)then397
  88. 402 open2,n,2:close2:ifstthen397
  89. 404 dv=n
  90. 410 close15:open15,dv,15:ifstthenprint"[150][196]evice not present!":goto492
  91. 415 close2:open2,dv,2,"0:"+fl$+",p,w"
  92. 420 input#15,er,er$,et,es:ifer=0then530
  93. 422 close2:ifer<>63then490
  94. 424 print"[150][198]ile exists! [196]elete it? (y/n) ";
  95. 425 poke198,0
  96. 426 geta$:ifa$<>"y"anda$<>"n"then426
  97. 428 printa$:ifa$="n"then400
  98. 430 print#15,"s0:"+fl$:goto415
  99. 490 print"[150][196]isk error: ";er$
  100. 492 close2:close15:print"[158][208]ress [211][208][193][195][197] [194][193][210] to continue."
  101. 494 poke198,0:wait198,1:geta$:goto390
  102. 500 rem * save batch file *
  103. 530 restore
  104. 535 s1=sa
  105. 540 ea=sa+(s3+1-49152)
  106. 545 ee=ea-s1+2093:eh=fnh(ee):el=fnl(ee)
  107. 550 sy=sa
  108. 565 print"[211]aving [194]atch [198]ile...."
  109. 585 gosub625
  110. 595 forx=49152tos3+1
  111. 600 a=peek(x)
  112. 605 print#2,chr$(a);
  113. 615 next:close2:close15:goto38000
  114. 620 rem
  115. 625 reada:ifa<0thenonabs(a)gosub645,650,655,660,665,670
  116. 630 print#2,chr$(a);
  117. 635 ife=0then625
  118. 640 return
  119. 645 a=el:return
  120. 650 a=eh:return
  121. 655 a=fnl(ea+1):return
  122. 660 a=fnh(ea+1):return
  123. 665 a=fnl(sy):return
  124. 670 a=fnh(sy):e=1:return
  125. 675 rem
  126. 680 ifleft$(a$,1)="$"andlen(a$)=5thena$=right$(a$,4):gosub690:return
  127. 685 a=val(a$):return
  128. 690 a=0:p=4096:forx=1to4:l$=mid$(a$,x,1):gosub710:a=a+p*n
  129. 695 p=p/16
  130. 700 nextx:return
  131. 705 rem
  132. 710 n=0
  133. 715 n=-15*(l$="f")-14*(l$="e")-13*(l$="d")-12*(l$="c")-11*(l$="b")-10*(l$="a")
  134. 720 ifn=0thenn=val(l$)
  135. 725 return
  136. 730 rem
  137. 735 rem
  138. 740 data1,8
  139. 745 rem
  140. 750 data12,8,10,0,158,32,50,48,54,50,0,0,0
  141. 755 rem
  142. 760 data169,44,133,95,169,8,133,96
  143. 765 data169,-1,133,90,169,-2,133,91
  144. 770 data169,-3,133,88,169,-4,133,89
  145. 775 data32,191,163,76,-5,-6
  146. 780 input#15,er,er$,et,es:ifer=0thenreturn
  147. 785 print" disk error [146]"er;er$;et;es
  148. 790 close1:close2:close15
  149. 795 poke198,0:wait198,1:return
  150. 800 l=4:w$=""
  151. 804 ef=0:n=0:nf=-1:gosub830
  152. 806 ifw$=""thenef=2:return
  153. 808 ifasc(w$)=36then814
  154. 810 n=val(w$):if n=0 and w$<>"0"thenef=1
  155. 811 if n<0orn=>16^lthenef=1
  156. 812 return
  157. 814 iflen(w$)<>l+1thenef=1:return
  158. 816 forxx=0tol-1
  159. 818 yy=asc(mid$(w$,l+1-xx,1))and127
  160. 820 yy=yy-48:ifyy>9thenyy=yy-7
  161. 821 ifyy<0oryy>15thenef=1
  162. 822 n=n+yy*(16^xx):next
  163. 823 if n<0orn=>16^lthenef=1
  164. 824 return
  165. 830 poke198,0
  166. 832 tt=ti+20
  167. 834 geta$:ifa$<>""then840
  168. 836 iftt>tithen834
  169. 837 tf=not(tf):iftf=0thenprint" [157]";:goto832
  170. 838 print" [146][157]";:goto832
  171. 840 ifa$=chr$(13)thenprint" ":return
  172. 842 ifa$=chr$(20)andw$<>""thenprint" [157][157]";:w$=left$(w$,len(w$)-1):goto838
  173. 843 iflen(w$)=l+1then834
  174. 844 ifa$="0"or(val(a$)>0andval(a$)<10)then849
  175. 845 if(a$=>"a"anda$<="f")or(a$=>"[193]"anda$<="[198]")ora$="$"then849
  176. 847 ifnf=0thenif(asc(a$)and96)thenifa$<>chr$(34)then849
  177. 848 goto834
  178. 849 w$=w$+a$:print"[159]";a$;:goto838
  179. 850 w$="":forxx=0to3
  180. 852 yy=n-int(n/16)*16:ifyy>9thenyy=yy+7
  181. 854 w$=chr$(yy+48)+w$:n=int(n/16)
  182. 856 next:w$="($"+w$+")":return
  183. 980 rem * relocating test *
  184. 990 deffnh(q)=int(q/256)
  185. 991 deffnl(q)=q-256*fnh(q)
  186. 999 ad=50000:df=49152-ad:sa=ad:c1$="\":c2$="_":gosub1000:end
  187. 1000 b$="  ":a=32
  188. 1005 gosub4000
  189. 1010 a=204
  190. 1015 gosub4000
  191. 1020 a=255
  192. 1025 gosub4000
  193. 1030 a=169
  194. 1035 gosub4000
  195. 1040 a=fnl(sa+256)
  196. 1045 gosub4000
  197. 1050 a=141
  198. 1055 gosub4000
  199. 1060 a=203:a0=ad
  200. 1065 gosub4000
  201. 1070 a=192
  202. 1075 gosub4000
  203. 1080 a=169
  204. 1085 gosub4000
  205. 1090 a=fnh(sa+256)
  206. 1095 gosub4000
  207. 1100 a=141
  208. 1105 gosub4000
  209. 1110 a=204:a1=ad
  210. 1115 gosub4000
  211. 1120 a=192
  212. 1125 gosub4000
  213. 1130 a=169
  214. 1135 gosub4000
  215. 1140 a=147
  216. 1145 gosub4000
  217. 1150 a=32
  218. 1155 gosub4000
  219. 1160 a=210
  220. 1165 gosub4000
  221. 1170 a=255
  222. 1175 gosub4000
  223. 1180 a=169
  224. 1185 gosub4000
  225. 1190 a=0
  226. 1195 gosub4000
  227. 1200 printb$;:a=141
  228. 1205 gosub4000
  229. 1210 a=217:a2=ad
  230. 1215 gosub4000
  231. 1220 a=192
  232. 1225 gosub4000
  233. 1230 a=141
  234. 1235 gosub4000
  235. 1240 a=218:a3=ad
  236. 1245 gosub4000
  237. 1250 a=192
  238. 1255 gosub4000
  239. 1260 a=141
  240. 1265 gosub4000
  241. 1270 a=219:a4=ad
  242. 1275 gosub4000
  243. 1280 a=192
  244. 1285 gosub4000
  245. 1290 a=120
  246. 1295 gosub4000
  247. 1300 a=173
  248. 1305 gosub4000
  249. 1310 a=20
  250. 1315 gosub4000
  251. 1320 a=3
  252. 1325 gosub4000
  253. 1330 a=141
  254. 1335 gosub4000
  255. 1340 a=98:a5=ad
  256. 1345 gosub4000
  257. 1350 a=192
  258. 1355 gosub4000
  259. 1360 a=173
  260. 1365 gosub4000
  261. 1370 a=21
  262. 1375 gosub4000
  263. 1380 a=3
  264. 1385 gosub4000
  265. 1390 a=141
  266. 1395 gosub4000
  267. 1400 printb$;:a=99:a6=ad
  268. 1405 gosub4000
  269. 1410 a=192
  270. 1415 gosub4000
  271. 1420 a=169
  272. 1425 gosub4000
  273. 1430 a=54:a7=ad
  274. 1435 gosub4000
  275. 1440 a=141
  276. 1445 gosub4000
  277. 1450 a=20
  278. 1455 gosub4000
  279. 1460 a=3
  280. 1465 gosub4000
  281. 1470 a=169
  282. 1475 gosub4000
  283. 1480 a=192:a8=ad
  284. 1485 gosub4000
  285. 1490 a=141
  286. 1495 gosub4000
  287. 1500 a=21
  288. 1505 gosub4000
  289. 1510 a=3
  290. 1515 gosub4000
  291. 1520 a=88
  292. 1525 gosub4000
  293. 1530 a=96
  294. 1535 gosub4000
  295. 1540 a=173:pokea7+df,fnl(ad):pokea8+df,fnh(ad)
  296. 1545 gosub4000
  297. 1550 a=217:a7=ad
  298. 1555 gosub4000
  299. 1560 a=192
  300. 1565 gosub4000
  301. 1570 a=201
  302. 1575 gosub4000
  303. 1580 a=0
  304. 1585 gosub4000
  305. 1590 a=208
  306. 1595 gosub4000
  307. 1600 printb$;:a=76
  308. 1605 gosub4000
  309. 1610 a=173
  310. 1615 gosub4000
  311. 1620 a=219:a8=ad
  312. 1625 gosub4000
  313. 1630 a=192
  314. 1635 gosub4000
  315. 1640 a=201
  316. 1645 gosub4000
  317. 1650 a=0
  318. 1655 gosub4000
  319. 1660 a=208
  320. 1665 gosub4000
  321. 1670 a=32
  322. 1675 gosub4000
  323. 1680 a=165
  324. 1685 gosub4000
  325. 1690 a=198
  326. 1695 gosub4000
  327. 1700 a=201
  328. 1705 gosub4000
  329. 1710 a=0
  330. 1715 gosub4000
  331. 1720 a=208
  332. 1725 gosub4000
  333. 1730 a=23
  334. 1735 gosub4000
  335. 1740 a=32
  336. 1745 gosub4000
  337. 1750 a=202:a9=ad
  338. 1755 gosub4000
  339. 1760 a=192
  340. 1765 gosub4000
  341. 1770 a=201
  342. 1775 gosub4000
  343. 1780 a=0
  344. 1785 gosub4000
  345. 1790 a=240
  346. 1795 gosub4000
  347. 1800 printb$;:a=39
  348. 1805 gosub4000
  349. 1810 a=201
  350. 1815 gosub4000
  351. 1820 a=asc(c1$)
  352. 1825 gosub4000
  353. 1830 a=240
  354. 1835 gosub4000
  355. 1840 a=73
  356. 1845 gosub4000
  357. 1850 a=201
  358. 1855 gosub4000
  359. 1860 a=asc(c2$)
  360. 1865 gosub4000
  361. 1870 a=240
  362. 1875 gosub4000
  363. 1880 a=25
  364. 1885 gosub4000
  365. 1890 a=141
  366. 1895 gosub4000
  367. 1900 a=119
  368. 1905 gosub4000
  369. 1910 a=2
  370. 1915 gosub4000
  371. 1920 a=230
  372. 1925 gosub4000
  373. 1930 a=198
  374. 1935 gosub4000
  375. 1940 a=32:ae=ad
  376. 1945 gosub4000
  377. 1950 a=206:aa=ad
  378. 1955 gosub4000
  379. 1960 a=192
  380. 1965 gosub4000
  381. 1970 a=76:pokea5+df,fnl(ad+1):pokea5+1+df,fnh(ad+1):a5=ad
  382. 1975 gosub4000
  383. 1980 a=49
  384. 1985 gosub4000
  385. 1990 a=234:pokea6+df,fnl(ad):pokea6+1+df,fnh(ad)
  386. 1995 gosub4000
  387. 2000 printb$;:a=165
  388. 2005 gosub4000
  389. 2010 a=197
  390. 2015 gosub4000
  391. 2020 a=201
  392. 2025 gosub4000
  393. 2030 a=1
  394. 2035 gosub4000
  395. 2040 a=208
  396. 2045 gosub4000
  397. 2050 a=247
  398. 2055 gosub4000
  399. 2060 a=169
  400. 2065 gosub4000
  401. 2070 a=0
  402. 2075 gosub4000
  403. 2080 a=141
  404. 2085 gosub4000
  405. 2090 a=219:ab=ad
  406. 2095 gosub4000
  407. 2100 a=192
  408. 2105 gosub4000
  409. 2110 a=76
  410. 2115 gosub4000
  411. 2120 a=fnl(a5)
  412. 2125 gosub4000
  413. 2130 a=fnh(a5)
  414. 2135 gosub4000
  415. 2140 a=238
  416. 2145 gosub4000
  417. 2150 a=219:ac=ad
  418. 2155 gosub4000
  419. 2160 a=192
  420. 2165 gosub4000
  421. 2170 a=76
  422. 2175 gosub4000
  423. 2180 a=fnl(ae)
  424. 2185 gosub4000
  425. 2190 a=fnh(ae)
  426. 2195 gosub4000
  427. 2200 printb$;:a=120
  428. 2205 gosub4000
  429. 2210 a=173
  430. 2215 gosub4000
  431. 2220 a=fnl(a5+1)
  432. 2225 gosub4000
  433. 2230 a=fnh(a5+1)
  434. 2235 gosub4000
  435. 2240 a=141
  436. 2245 gosub4000
  437. 2250 a=20
  438. 2255 gosub4000
  439. 2260 a=3
  440. 2265 gosub4000
  441. 2270 a=173
  442. 2275 gosub4000
  443. 2280 a=fnl(a5+2)
  444. 2285 gosub4000
  445. 2290 a=fnh(a5+2)
  446. 2295 gosub4000
  447. 2300 a=141
  448. 2305 gosub4000
  449. 2310 a=21
  450. 2315 gosub4000
  451. 2320 a=3
  452. 2325 gosub4000
  453. 2330 a=88
  454. 2335 gosub4000
  455. 2340 a=76
  456. 2345 gosub4000
  457. 2350 a=fnl(a5)
  458. 2355 gosub4000
  459. 2360 a=fnh(a5)
  460. 2365 gosub4000
  461. 2370 a=238
  462. 2375 gosub4000
  463. 2380 a=218:af=ad
  464. 2385 gosub4000
  465. 2390 a=192
  466. 2395 gosub4000
  467. 2400 printb$;:a=173
  468. 2405 gosub4000
  469. 2410 a=218:ag=ad
  470. 2415 gosub4000
  471. 2420 a=192
  472. 2425 gosub4000
  473. 2430 a=201
  474. 2435 gosub4000
  475. 2440 a=60
  476. 2445 gosub4000
  477. 2450 a=208
  478. 2455 gosub4000
  479. 2460 a=8
  480. 2465 gosub4000
  481. 2470 a=169
  482. 2475 gosub4000
  483. 2480 a=0
  484. 2485 gosub4000
  485. 2490 a=141
  486. 2495 gosub4000
  487. 2500 a=218:ah=ad
  488. 2505 gosub4000
  489. 2510 a=192
  490. 2515 gosub4000
  491. 2520 a=206
  492. 2525 gosub4000
  493. 2530 a=217:aj=ad
  494. 2535 gosub4000
  495. 2540 a=192
  496. 2545 gosub4000
  497. 2550 a=76
  498. 2555 gosub4000
  499. 2560 a=fnl(a5)
  500. 2565 gosub4000
  501. 2570 a=fnh(a5)
  502. 2575 gosub4000
  503. 2580 a=32
  504. 2585 gosub4000
  505. 2590 a=180:ak=ad
  506. 2595 gosub4000
  507. 2600 printb$;:a=192
  508. 2605 gosub4000
  509. 2610 a=10
  510. 2615 gosub4000
  511. 2620 a=10
  512. 2625 gosub4000
  513. 2630 a=10
  514. 2635 gosub4000
  515. 2640 a=10
  516. 2645 gosub4000
  517. 2650 a=141
  518. 2655 gosub4000
  519. 2660 a=217:al=ad
  520. 2665 gosub4000
  521. 2670 a=192
  522. 2675 gosub4000
  523. 2680 a=32
  524. 2685 gosub4000
  525. 2690 a=180:am=ad
  526. 2695 gosub4000
  527. 2700 a=192
  528. 2705 gosub4000
  529. 2710 a=13
  530. 2715 gosub4000
  531. 2720 a=217:an=ad
  532. 2725 gosub4000
  533. 2730 a=192
  534. 2735 gosub4000
  535. 2740 a=141
  536. 2745 gosub4000
  537. 2750 a=217:ap=ad
  538. 2755 gosub4000
  539. 2760 a=192
  540. 2765 gosub4000
  541. 2770 a=76
  542. 2775 gosub4000
  543. 2780 a=fnl(ae)
  544. 2785 gosub4000
  545. 2790 a=fnh(ae)
  546. 2795 gosub4000
  547. 2800 printb$;:a=32:pokeak+df,fnl(ad):pokeak+1+df,fnh(ad)
  548. 2801 pokeam+df,fnl(ad):pokeam+1+df,fnh(ad)
  549. 2805 gosub4000
  550. 2810 a=206:ak=ad
  551. 2815 gosub4000
  552. 2820 a=192
  553. 2825 gosub4000
  554. 2830 a=32
  555. 2835 gosub4000
  556. 2840 a=202:am=ad
  557. 2845 gosub4000
  558. 2850 a=192
  559. 2855 gosub4000
  560. 2860 a=162
  561. 2865 gosub4000
  562. 2870 a=0
  563. 2875 gosub4000
  564. 2880 a=221
  565. 2885 gosub4000
  566. 2890 a=220:aq=ad
  567. 2895 gosub4000
  568. 2900 a=192
  569. 2905 gosub4000
  570. 2910 a=240
  571. 2915 gosub4000
  572. 2920 a=7
  573. 2925 gosub4000
  574. 2930 a=232
  575. 2935 gosub4000
  576. 2940 a=224
  577. 2945 gosub4000
  578. 2950 a=16
  579. 2955 gosub4000
  580. 2960 a=208
  581. 2965 gosub4000
  582. 2970 a=246
  583. 2975 gosub4000
  584. 2980 a=162
  585. 2985 gosub4000
  586. 2990 a=0
  587. 2995 gosub4000
  588. 3000 printb$;:a=138
  589. 3005 gosub4000
  590. 3010 a=96
  591. 3015 gosub4000
  592. 3020 a=173:pokea9+df,fnl(ad):pokea9+1+df,fnh(ad)
  593. 3021 pokeam+df,fnl(ad):pokeam+1+df,fnh(ad)
  594. 3025 am=ad:gosub4000
  595. 3030 a=fnl(sa+256):pokea0+df,fnl(ad):pokea0+1+df,fnh(ad)
  596. 3035 gosub4000
  597. 3040 a=fnh(sa+256):pokea1+df,fnl(ad):pokea1+1+df,fnh(ad)
  598. 3045 gosub4000
  599. 3050 a=96
  600. 3055 gosub4000
  601. 3060 a=238:pokeaa+df,fnl(ad):pokeaa+1+df,fnh(ad)
  602. 3061 pokeak+df,fnl(ad):pokeak+1+df,fnh(ad)
  603. 3065 gosub4000
  604. 3070 a=fnl(am+1)
  605. 3075 gosub4000
  606. 3080 a=fnh(am+1)
  607. 3085 gosub4000
  608. 3090 a=208
  609. 3095 gosub4000
  610. 3100 a=5
  611. 3105 gosub4000
  612. 3110 a=238
  613. 3115 gosub4000
  614. 3120 a=fnl(am+2)
  615. 3125 gosub4000
  616. 3130 a=fnh(am+2)
  617. 3135 gosub4000
  618. 3140 a=240
  619. 3145 gosub4000
  620. 3150 a=160
  621. 3155 gosub4000
  622. 3160 a=96
  623. 3165 gosub4000
  624. 3170 a=0:pokea2+df,fnl(ad):pokea2+1+df,fnh(ad)
  625. 3171 pokea7+df,fnl(ad):pokea7+1+df,fnh(ad)
  626. 3172 pokeaj+df,fnl(ad):pokeaj+1+df,fnh(ad)
  627. 3173 pokeal+df,fnl(ad):pokeal+1+df,fnh(ad)
  628. 3174 pokean+df,fnl(ad):pokean+1+df,fnh(ad)
  629. 3175 pokeap+df,fnl(ad):pokeap+1+df,fnh(ad)
  630. 3176 gosub4000
  631. 3180 a=0:pokea3+df,fnl(ad):pokea3+1+df,fnh(ad)
  632. 3181 pokeaf+df,fnl(ad):pokeaf+1+df,fnh(ad)
  633. 3182 pokeag+df,fnl(ad):pokeag+1+df,fnh(ad)
  634. 3183 pokeah+df,fnl(ad):pokeah+1+df,fnh(ad)
  635. 3185 gosub4000
  636. 3190 a=0:pokea4+df,fnl(ad):pokea4+1+df,fnh(ad)
  637. 3191 pokea8+df,fnl(ad):pokea8+1+df,fnh(ad)
  638. 3192 pokeab+df,fnl(ad):pokeab+1+df,fnh(ad)
  639. 3193 pokeac+df,fnl(ad):pokeac+1+df,fnh(ad)
  640. 3195 gosub4000
  641. 3200 printb$;:a=48:pokeaq+df,fnl(ad):pokeaq+1+df,fnh(ad)
  642. 3205 gosub4000
  643. 3210 a=49
  644. 3215 gosub4000
  645. 3220 a=50
  646. 3225 gosub4000
  647. 3230 a=51
  648. 3235 gosub4000
  649. 3240 a=52
  650. 3245 gosub4000
  651. 3250 a=53
  652. 3255 gosub4000
  653. 3260 a=54
  654. 3265 gosub4000
  655. 3270 a=55
  656. 3275 gosub4000
  657. 3280 a=56
  658. 3285 gosub4000
  659. 3290 a=57
  660. 3295 gosub4000
  661. 3300 a=65
  662. 3305 gosub4000
  663. 3310 a=66
  664. 3315 gosub4000
  665. 3320 a=67
  666. 3325 gosub4000
  667. 3330 a=68
  668. 3335 gosub4000
  669. 3340 a=69
  670. 3345 gosub4000
  671. 3350 a=70
  672. 3355 gosub4000
  673. 3360 a=0
  674. 3365 forj=1to20:gosub4000:next
  675. 3370 printb$;:return
  676. 4000 pokead+df,a:ad=ad+1:return
  677. 5000 poke53280,0:poke53281,0:poke53265,11:printchr$(14)"[147]";
  678. 5001 print"[146]  [159][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]"
  679. 5002 print"  [154]          STAR[160]BATCH[160]CREATOR         "
  680. 5003 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]"
  681. 5004 print"  - by [203]en [210]obinson    1998 [202]&[198] [208]ubl. -":return
  682. 5005 print"  [155][195]ntl-a when finished."
  683. 5006 print"  [195]ntl-b to check bytes free."
  684. 5007 print"  [195]ntl-c to cancel/quit/[204]oadstar."
  685. 5008 print"  Cntl-d to delete entire line."
  686. 5009 print"  [195]ntl-f to delete/redo previous line."
  687. 5010 print"  [195]ntl-l to link with next line."
  688. 5011 return
  689. 30000 a$="b.star batch"
  690. 30010 close15:open15,8,15:ifstthenclose15:stop
  691. 30015 print#15,"s0:"+a$+"bu"
  692. 30020 print#15,"r0:"+a$+"bu="+a$:close15
  693. 30030 savea$,8:verifya$,8:end
  694. 38000 ifsa<peek(50)*256+peek(49)then39000
  695. 38010 print"[155][197]xecute batch file now? (y/n) ";
  696. 38020 poke198,0
  697. 38030 geta$:ifa$<>"y"anda$<>"n"then38030
  698. 38040 printa$:ifa$="n"then39000
  699. 38050 gosub5000:poke53265,27:print"[201]nstalling batch file...."
  700. 38060 forx=s3+1to49152step-1
  701. 38070 pokex-df,peek(x)
  702. 38080 next
  703. 38090 poke53280,14:poke53281,6:print"[147][154]";chr$(142);
  704. 38100 syssa:end
  705. 39000 gosub5000:poke53265,27:print" 1) [155][210]estart [211]tar [194]atch"
  706. 39010 print" 2) [155][209]uit to [204]oadstar"
  707. 39020 print" 3) [155][209]uit to basic"
  708. 39030 poke198,0
  709. 39040 geta$:ifa$<"1"ora$>"3"then39040
  710. 39050 ifa$="1"thenrun
  711. 39060 ifa$="3"then40020
  712. 40000 fori=8to29:poke820+i,i:next:ifdv>8anddv<30thenpoke828,dv:poke820+dv,8
  713. 40010 a$="presenter":gosub40030:a$="hello connect":gosub40030
  714. 40020 print"[147]":poke53272,23:poke186,8:poke2048,0:poke44,8:poke43,1:end
  715. 40030 forj=8to29:i=peek(820+j):ifi=14thennext
  716. 40040 close2:open2,i,2:close2:ifstthen40060
  717. 40050 close15:open15,i,15,"r0:"+a$+"="+a$:input#15,er:close15:ifer=63then40070
  718. 40060 next:return
  719. 40070 a$="hello connect":q$=chr$(34):poke646,peek(53281):print"[147]":poke53272,23
  720. 40080 print"[147]p[207]2048,0:p[207]44,8:p[207]43,1:p[207]56,160:p[207]55,0:clr:l[207]"q$a$q$","i
  721. 40090 print"run:":poke631,13:poke632,13:poke198,2:end
  722.