home *** CD-ROM | disk | FTP | other *** search
/ Loadstar 196 / 196.d81 / dao / dao.080d / dao.a7ae (.txt)
Encoding:
Commodore BASIC  |  2000-01-01  |  32.1 KB  |  474 lines

  1. 1 rem "dao basic" 2000.07.17
  2. 2 poke55,128:poke56,55:clr
  3. 3 gosub3002
  4. 4 gosub12:onq%goto4002
  5. 5 q%=3:gosub102
  6. 6 gosub12:onq%goto4002,5
  7. 7 onp%(p%,1)gosub148
  8. 8 gosub232:onq%goto4002,5,5,5,4
  9. 9 end
  10. 10 :
  11. 12 : rem game input
  12. 14 :
  13. 16 pokevl+39,1
  14. 18 sysml+9:ifcr%>0theni%=cr%:goto24
  15. 20 sysml+60,"pehq":ifi%>0then24
  16. 22 onp%(p%,1)+1goto18,26
  17. 24 ifi%<5thenoni%gosub274,292,344,360:onq%goto30,30:goto18
  18. 26 ifq%=5then18
  19. 28 ifp%(p%,1)=0thengosub162:ifa%=0orb%=0then18
  20. 30 pokevl+39,7
  21. 32 return
  22. 100 :
  23. 102 : rem next player
  24. 104 :
  25. 106 a%=0:b%=0
  26. 108 rem --- player pointer
  27. 110 i%=1:gosub134:p%=1-p%:poke646,c%(6+p%):i%=3:gosub134:poke646,c%(2)
  28. 112 pokegv+1,p%(p%,0)
  29. 114 rem --- move #
  30. 116 m%=m%+1:a$="[205]ove"+right$("  "+str$(m%),4):sysml+12,fnxs(len(a$)),15,a$
  31. 118 rem --- save board
  32. 120 sysml+45,0,16,2,18,a(2)
  33. 122 rem --- possible moves
  34. 124 poke179,2:sysgl:n%=peek(gv+121):poke178,n%:sysrl:n%=n%-1
  35. 126 x=gv+122:y=gv+455:sysml+129,x,x+38,y
  36. 128 fori=0ton%:j=y+(peek(rv+i)-1)*2:sysml+129,j,j+2,x+i*2:next
  37. 130 return
  38. 132 :
  39. 134 : rem player pointer
  40. 136 :
  41. 138 j=i%+1:cy%=fnyp(p%)
  42. 140 sysml+12,xs%+1,cy%,mid$(p$,i%,1)
  43. 142 sysml+12,xs%+19,cy%,mid$(p$,j,1)
  44. 144 return
  45. 146 :
  46. 148 : rem computer move
  47. 150 :
  48. 152 poke179,1:sysgl:a%=peek(gv+3):b%=peek(gv+4)
  49. 154 sysml+21,fnx1(a%)+1,fny1(a%)+1:gosub194:gosub264
  50. 156 sysml+21,fnx1(b%)+1,fny1(b%)+1:gosub264:gosub222
  51. 158 return
  52. 160 :
  53. 162 : rem human move
  54. 164 :
  55. 166 x=gv+81
  56. 168 rem --- from
  57. 170 ifa%>0then176
  58. 172 ifpeek(x+i%)<>p%(p%,0)then190
  59. 174 a%=i%:gosub194:goto190
  60. 176 ifi%=a%thena%=0:gosub222:goto190:rem cancel
  61. 178 rem --- to
  62. 180 ifpeek(x+i%)<>0then190
  63. 182 n%=peek(gv+121)-1
  64. 184 x=gv+455:fori=0ton%:y=x+2*i:ifpeek(y)=a%thenifpeek(y+1)=i%thenb%=i%:i=n%
  65. 186 next
  66. 188 ifb%>0thengosub222
  67. 190 return
  68. 192 :
  69. 194 : rem display move input
  70. 196 :
  71. 198 rem --- "from"
  72. 200 x=gv+112+4*p%
  73. 202 fori=0to3
  74. 204 f%=peek(x+i)
  75. 206 iff%=a%thensysml+30,fnx1(a%),fnx2(a%),fny1(a%),fny2(a%),160,c%(6+p%)+16:i=3
  76. 208 next
  77. 210 rem --- possible "to"
  78. 212 n%=peek(gv+121)-1
  79. 214 x=gv+455:fori=0ton%:y=x+2*i:ifpeek(y)=a%thensysml+36,peek(y+1),102,c%(6+p%)
  80. 216 next
  81. 218 return
  82. 220 :
  83. 222 : rem restore board
  84. 224 :
  85. 226 sysml+48,0,16,2,18,a(2)
  86. 228 return
  87. 230 :
  88. 232 : rem display move results
  89. 234 :
  90. 236 rem --- update board
  91. 238 sysml+36,a%,160,c%(1)
  92. 240 sysml+36,b%,160,c%(6+p%)
  93. 242 pokegv+3,a%:pokegv+4,b%:poke179,3:sysgl:f%=peek(gv+2)
  94. 244 rem --- game over
  95. 246 iff%>0then252
  96. 248 ifm%>=o%(2,0)thena$="[211]talemate":goto256
  97. 250 onp%(p%,1)+1gosub264:goto260
  98. 252 iff%=1thenp%=1-p%
  99. 254 a$=n$(p%)+" wins":poke646,c%(6+p%)
  100. 256 q%=5
  101. 258 sysml+12,fnxs(len(a$)),17,a$:poke646,c%(2)
  102. 260 return
  103. 262 :
  104. 264 : rem pause
  105. 266 :
  106. 268 sysml+24,o%(3,0)
  107. 270 return
  108. 272 :
  109. 274 : rem play new game
  110. 276 :
  111. 278 m%=0:q%=2
  112. 280 sysml+48,0,16,2,18,a(1)
  113. 282 sysml+129,a(0),a(1),gv+81
  114. 284 i%=1:p%=0:gosub134:p%=1:gosub134
  115. 286 sysml+30,xs%,39,15,17,160,c%(1)
  116. 288 return
  117. 290 :
  118. 292 : rem edit setup
  119. 294 :
  120. 296 sysml+39,hg%
  121. 298 sysml+42,hs%:pokemv,ls%:pokemv+2,19
  122. 300 n%=0
  123. 302 sysml+9:ifcr%=0thensysml+60,"q":oni%+1goto302,336
  124. 304 ifcr%=19then336
  125. 306 ifcr%<17then318
  126. 308 i=cr%-17
  127. 310 w$=n$(i):sysml+156,p%(i,3)+128,p%(i,4),c%(1),c%(1),p%(i,2),0,"[145]",n$(i)
  128. 312 ifn$(i)=w$then302
  129. 314 n%=n%or2^(i+4)
  130. 316 n$(i)=w$:goto302
  131. 318 forj=0to3:i=3-j:f%=(cr%>=o%(i,1)):j=j+(j-3)*f%:next
  132. 320 ifo%(i,2)=cr%then302
  133. 322 n%=n%or2^i
  134. 324 i%=o%(i,2):gosub3396:i%=cr%:gosub3408:f%=cr%-o%(i,1):o%(i,2)=cr%
  135. 326 onigoto330,332,334
  136. 328 o%(i,0)=f%:goto302
  137. 330 o%(i,0)=f%:goto302
  138. 332 o%(i,0)=(f%+1)*64:goto302
  139. 334 o%(i,0)=2^f%*60:goto302
  140. 336 sysml+39,hs%:gosub418
  141. 338 ifn%>0thengosub378
  142. 340 return
  143. 342 :
  144. 344 : rem help
  145. 346 :
  146. 348 sysml+39,hg%
  147. 350 sysml+42,hh%:pokemv,lh%:pokemv+2,6
  148. 352 sysml+210,1+128,38,3,18,c%(2),0,c%(4),c%(5),0,"",""
  149. 354 gosub418
  150. 356 return
  151. 358 :
  152. 360 : rem quit
  153. 362 :
  154. 364 sysml+39,hg%
  155. 366 sysml+42,hq%:pokemv,lq%:pokemv+2,2
  156. 368 sysml+9:i%=cr%:ifi%=0thensysml+60,"ny":ifi%=0then368
  157. 370 ifi%=2thenq%=1:goto374
  158. 372 gosub418
  159. 374 return
  160. 376 :
  161. 378 : rem new setup
  162. 380 :
  163. 382 rem --- human
  164. 384 if(n%and1)=0then398
  165. 386 fori=0to1
  166. 388 p%(i,1)=1+((o%(0,0)and2^i)<>0)
  167. 390 cy%=fnyp(i)+1
  168. 392 sysml+30,xs%,39,cy%,cy%,160,c%(1)
  169. 394 sysml+12,fnxs(len(t$(p%(i,1)))),cy%,t$(p%(i,1))
  170. 396 next
  171. 398 rem --- level
  172. 400 pokegv,o%(1,0)
  173. 402 rem --- name(s)
  174. 404 fori=0to1:if(n%and2^(i+4))=0then412
  175. 406 cy%=fnyp(i)
  176. 408 sysml+30,xs%,39,cy%,cy%,160,c%(1)
  177. 410 poke646,c%(6+i):sysml+12,fnxs(len(n$(i))),fnyp(i),n$(i):poke646,c%(2)
  178. 412 next
  179. 414 return
  180. 416 :
  181. 418 : rem restore game screen
  182. 420 :
  183. 422 sysml+42,hg%:pokemv,lg%:pokemv+2,24
  184. 424 return
  185. 3000 :
  186. 3002 : rem initialize
  187. 3004 :
  188. 3006 dv=peek(186)
  189. 3008 rem --- dim
  190. 3010 dim a%,b%,c%,cc%,cr%,cx%,cy%,f%,h%,hg%,hh%,hr%,hs%,hq%,i%
  191. 3012 dim l%,l1%,l2%,lg%,lh%,ls%,lq%,m%,n%,p%,pp%,px%,py%,q%,r1%,r2%,rg%,sc%,sl%
  192. 3014 dim xs%
  193. 3016 dim cl,gl,gv,i,j,rl,rv,ml,mm,mv,vl,x,y
  194. 3018 dim a$,e$,f$,p$,w$
  195. 3020 dim c%(7),o%(3,2),p%(1,4)
  196. 3022 dim a(2),n$(1)
  197. 3024 rem --- deffn
  198. 3026 deffnrg(x)=hr%*256+4*x-4
  199. 3028 deffnx1(x)=peek(fnrg(x))
  200. 3030 deffnx2(x)=peek(fnrg(x)+1)
  201. 3032 deffnxc(x)=x+(l%-len(a$))/2
  202. 3034 deffnxs(x)=xs%+(21-x)/2
  203. 3036 deffny1(x)=peek(fnrg(x)+2)
  204. 3038 deffny2(x)=peek(fnrg(x)+3)
  205. 3040 deffnyp(x)=8+3*x
  206. 3042 rem --- font
  207. 3044 readf%,a$,h%,l%
  208. 3046 iff%thengosub3358
  209. 3048 rem --- mouse
  210. 3050 readf%,a$,h%,l%
  211. 3052 iff%thengosub3358
  212. 3054 ml=h%*256+l%
  213. 3056 mv=ml+309
  214. 3058 hr%=98:pokemv+1,hr%:rem region high byte
  215. 3060 lg%=0:lh%=lg%+24*4:ls%=lh%+6*4:lq%=ls%+19*4:rem region low bytes
  216. 3062 hg%=224:hh%=232:hs%=240:hq%=248:rem stash pages
  217. 3064 n%=107+128:fori=42to49:n%=n%+1:pokemv+i,n%:next
  218. 3066 rem --- mouse mate
  219. 3068 readf%,a$,h%,l%
  220. 3070 iff%thengosub3358
  221. 3072 mm=h%*256+l%
  222. 3074 pokemm+9,0:rem disable stop
  223. 3076 rem --- curtain
  224. 3078 readf%,a$,h%,l%
  225. 3080 iff%thengosub3358
  226. 3082 cl=h%*256+l%
  227. 3084 rem --- random
  228. 3086 readf%,a$,h%,l%
  229. 3088 iff%thengosub3358
  230. 3090 rl=h%*256+l%
  231. 3092 rv=rl+95
  232. 3094 poke176,l%:poke177,h%
  233. 3096 rem --- dao ml
  234. 3098 readf%,a$,h%,l%
  235. 3100 iff%thengosub3358
  236. 3102 gl=h%*256+l%
  237. 3104 rem --- help text
  238. 3106 readf%,a$,h%,l%
  239. 3108 i=h%*256+l%
  240. 3110 iff%thensysml+201,a$,dv,i
  241. 3112 sysml+204,i
  242. 3114 rem --- dao ml data
  243. 3116 gv=99*256
  244. 3118 fori=5to119:readn%:pokegv+i,n%:next
  245. 3120 rem --- memory locations
  246. 3122 h%=118
  247. 3124 a(0)=h%*256
  248. 3126 a(1)=a(0)+38+1
  249. 3128 a(2)=a(1)+578+1
  250. 3130 rem --- vic location
  251. 3132 vl=53248
  252. 3134 rem ---
  253. 3136 p%(0,0)=1:p%(1,0)=2:rem markers
  254. 3138 fori=0to7:readc%(i):next
  255. 3140 p$="  \_"
  256. 3142 t$(0)="([200]uman)":t$(1)="([195]omputer)"
  257. 3144 rem --- screen off
  258. 3146 pokevl+17,11
  259. 3148 rem --- font
  260. 3150 pokevl+24,31
  261. 3152 rem --- setup screen
  262. 3154 pokemv,ls%
  263. 3156 pokevl+32,c%(2)
  264. 3158 pokevl+33,c%(4)
  265. 3160 sysml+126,0,39,0,24,95,105,c%(2),c%(0)
  266. 3162 sysml+30,5,34,2,19,160,c%(0)
  267. 3164 poke199,1
  268. 3166 poke646,c%(0)
  269. 3168 fori=1to4:readcx%,cy%,a$:sysml+12,cx%,cy%,a$:next
  270. 3170 l%=5:fori=1to16:i%=i:readcx%,cy%,a$:gosub3380:next
  271. 3172 l%=16:fori=0to1:i%=17+i:readcx%,cy%,a$:gosub3380
  272. 3174 p%(i,2)=l%-1:p%(i,3)=cx%:p%(i,4)=cy%:n$(i)=a$:next
  273. 3176 l%=8:i%=19:readcx%,cy%,a$:gosub3366:gosub3396
  274. 3178 fori=0to3:reado%(i,0),o%(i,1),o%(i,2):i%=o%(i,2):gosub3404:next
  275. 3180 poke199,0
  276. 3182 sysml+39,hs%
  277. 3184 rem --- quit screen
  278. 3186 pokemv,lq%
  279. 3188 pokevl+32,c%(2)
  280. 3190 pokevl+33,c%(4)
  281. 3192 sysml+126,0,39,0,24,95,105,c%(2),c%(0)
  282. 3194 sysml+30,10,29,6,15,160,c%(0)
  283. 3196 poke199,1
  284. 3198 poke646,c%(0)
  285. 3200 readcy%,a$:sysml+27,cy%,a$
  286. 3202 l%=7:fori=1to2:i%=i:readcx%,cy%,a$:gosub3366:gosub3396:next
  287. 3204 poke199,0
  288. 3206 sysml+39,hq%
  289. 3208 rem --- help screen
  290. 3210 pokemv,lh%
  291. 3212 pokevl+32,c%(0)
  292. 3214 pokevl+33,c%(1)
  293. 3216 sysml+30,0,39,0,24,160,c%(0)
  294. 3218 sysml+30,0,39,2,19,160,c%(4)+16
  295. 3220 poke199,1
  296. 3222 poke646,c%(0)
  297. 3224 readcy%,a$:sysml+27,cy%,a$
  298. 3226 sysml+228,1024+40*cy%+19,1024+40*cy%+27,0
  299. 3228 poke199,0
  300. 3230 poke646,c%(3)
  301. 3232 l%=8:fori=1to4:i%=i:readcx%,cy%,a$:gosub3366:next
  302. 3234 sysml+39,hh%
  303. 3236 rem --- game screen                     regions 5,10,15,20 are not used
  304. 3238 pokemv,lg%
  305. 3240 pokevl+32,c%(0)
  306. 3242 pokevl+33,c%(1)
  307. 3244 poke646,c%(2)
  308. 3246 sysml+30,0,39,0,24,160,c%(0)
  309. 3248 xs%=19
  310. 3250 sysml+30,xs%,39,2,18,160,c%(1)
  311. 3252 poke199,1
  312. 3254 a$="":fori=180to185:a$=a$+chr$(i):next
  313. 3256 sysml+12,xs%+7,4,a$
  314. 3258 a$="":fori=186to191:a$=a$+chr$(i):next
  315. 3260 sysml+12,xs%+7,5,a$
  316. 3262 poke199,0
  317. 3264 p%(0,1)=-1:p%(1,1)=-1:n%=63:gosub378
  318. 3266 fory=2to18:reada$:sysml+12,0,y,a$:next
  319. 3268 poke646,c%(3)
  320. 3270 l%=8:fori=1to4:i%=i:readcx%,cy%,a$:gosub3366:next
  321. 3272 fory=3to15step4:i%=i%+1:sysml+15,i%,0,0,0,0:rem regions 5,10,15,20
  322. 3274 forx=1to13step4:i%=i%+1:sysml+15,i%,x,x+2,y,y+2:next
  323. 3276 next
  324. 3278 forj=0to1:fori=0to3:sysml+36,peek(gv+112+4*j+i),160,c%(6+j):next:next
  325. 3280 xs%=19:rem status start
  326. 3282 sysml+129,gv+81,gv+120,a(0):rem save initial ml board 0
  327. 3284 sysml+45,0,16,2,18,a(1):rem save initial display board
  328. 3286 sysml+39,hg%
  329. 3288 rem --- title screen
  330. 3290 pokevl+32,c%(0)
  331. 3292 pokevl+33,c%(1)
  332. 3294 sysml+126,0,39,0,24,95,105,c%(0),c%(2)
  333. 3296 sysml+30,3,35,5,13,160,c%(4)+16
  334. 3298 poke646,c%(3)
  335. 3300 poke199,1
  336. 3302 a$="":fori=180to185:a$=a$+chr$(i):next
  337. 3304 sysml+27,6,a$
  338. 3306 a$="":fori=186to191:a$=a$+chr$(i):next
  339. 3308 sysml+27,7,a$
  340. 3310 poke199,0
  341. 3312 a$=""
  342. 3314 poke646,c%(2)
  343. 3316 sysml+27,9,"by [204]ance [195]. [212]homas"
  344. 3318 sysml+27,11,"(c) 2000 [202][160]& [198] [208]ublishing, [201]nc."
  345. 3320 rem ---
  346. 3322 syscl
  347. 3324 pokevl+17,27
  348. 3326 gosub3412
  349. 3328 syscl+6
  350. 3330 poke198,0:wait198,15:poke198,0
  351. 3332 syscl+9
  352. 3334 pokevl+17,11:sysml+42,hg%:pokevl+17,27
  353. 3336 gosub3412
  354. 3338 syscl+6
  355. 3340 syscl+3
  356. 3342 sysmm
  357. 3344 sysml
  358. 3346 sysml+6,55*256+128
  359. 3348 sysml+18,1,37,1,22
  360. 3350 poke646,c%(2)
  361. 3352 q%=5
  362. 3354 return
  363. 3356 :
  364. 3358 : rem bload file
  365. 3360 :
  366. 3362 sys57812a$,dv,0:poke780,0:poke781,l%:poke782,h%:sys65493:return
  367. 3364 :
  368. 3366 : rem command button
  369. 3368 :
  370. 3370 sysml+15,i%,cx%,cx%+l%-1,cy%,cy%+2
  371. 3372 sysml+30,cx%,cx%+l%-1,cy%,cy%+2,160,c%(1)
  372. 3374 sysml+12,fnxc(cx%),cy%+1,a$
  373. 3376 return
  374. 3378 :
  375. 3380 : rem setup region
  376. 3382 :
  377. 3384 sysml+15,i%,cx%,cx%+l%-1,cy%,cy%
  378. 3386 ifi%>4andi%<17thensysml+12,fnxc(cx%),cy%,a$:goto3390
  379. 3388 sysml+12,cx%,cy%,a$
  380. 3390 gosub3396
  381. 3392 return
  382. 3394 :
  383. 3396 : rem region highlight off
  384. 3398 :
  385. 3400 sysml+36,i%,255,c%(1):return
  386. 3402 :
  387. 3404 : rem region highlight on
  388. 3406 :
  389. 3408 sysml+36,i%,255,c%(5):return
  390. 3410 :
  391. 3412 : rem pause
  392. 3414 :
  393. 3416 i=ti
  394. 3418 ifti>ithenifti-i<20then3418
  395. 3420 return
  396. 4000 :
  397. 4002 : rem *** exit
  398. 4004 :
  399. 4006 sysml+3
  400. 4008 pokevl+21,0
  401. 4010 sysmm+3
  402. 4012 poke646,12
  403. 4014 goto40000:end
  404. 9000 :
  405. 9002 : *** data
  406. 9004 :
  407. 9006 data 0,"f.dao",56,0
  408. 9008 data 0,"mouse2.1 7k 4000",64,0
  409. 9010 data 0,"mouse mate 6000",96,0
  410. 9012 data 0,"curtain 5c00",92,0
  411. 9014 data 0,"random 2-254",97,0
  412. 9016 data 0,"dao 6500",101,0
  413. 9018 data 0,"t.dao hlp",123,0
  414. 9020 rem ---
  415. 9022 data 1,4,5,6
  416. 9024 data 6,7,11,12, 9,8,13,14, 21,17,16,22, 24,19,23,18, 6,9,21,24
  417. 9026 data 7,8,12,13, 11,12,16,17, 12,13,17,18, 13,14,18,19, 17,18,22,23
  418. 9028 data 6,7,8,9, 11,12,13,14, 16,17,18,19, 21,22,23,24
  419. 9030 data 6,11,16,21, 7,12,17,22, 8,13,18,23, 9,14,19,24
  420. 9032 data 4,4,4,4,4, 4,1,0,0,2, 4,0,1,2,0, 4,0,2,1,0, 4,2,0,0,1, 4,4,4,4,4, 4
  421. 9034 data 6,12,18,24, 9,13,17,21
  422. 9036 rem ---
  423. 9038 data 12,15,11,0,0,2,6,2:rem c%()
  424. 9040 rem --- setup
  425. 9042 data 15,4,"[196]ao [211]etup"
  426. 9044 data 7,7,"[200]uman  [204]evel  [205]oves  [208]ause"
  427. 9046 data 7,13,"[206]ame      ([194]lue)"
  428. 9048 data 7,16,"[206]ame       ([210]ed)"
  429. 9050 data 7,8,"[206]one",7,9,"[194]lue",7,10,"[210]ed",7,11,"[194]oth"
  430. 9052 data 14,8,"1",14,9,"2",14,10,"3",14,11,"4"
  431. 9054 data 21,8," 64",21,9,"128",21,10,"256",21,11,"512"
  432. 9056 data 28,8,"1",28,9,"2",28,10,"4",28,11,"8"
  433. 9058 data 7,14,"[205]aster [216]",7,17,"[203]nees [195]alhoon"
  434. 9060 data 25,15,"[[209]]uit"
  435. 9062 data 1,1,2, 2,5,7, 64,9,9, 60,13,13
  436. 9064 rem --- quit
  437. 9066 data 8,"[209]uit [196]ao?"
  438. 9068 data 12,11,"[[206]]o ",21,11,"[[217]]es"
  439. 9070 rem --- help
  440. 9072 data 0,"[200]elp [204]ine #### of ####"
  441. 9074 data 1,21,"[[200][207][205][197]]",11,21,"[[213][208]]",21,21,"[[196][207][215][206]]",31,21,"[[209]]uit"
  442. 9076 rem --- game
  443. 9078 data "[176][192][192][192][178][192][192][192][178][192][192][192][178][192][192][192][174]"
  444. 9080 data "[221]   [221]   [221]   [221]   [221]"
  445. 9082 data "[221]   [221]   [221]   [221]   [221]"
  446. 9084 data "[221]   [221]   [221]   [221]   [221]"
  447. 9086 data "[171][192][192][192][219][192][192][192][219][192][192][192][219][192][192][192][179]"
  448. 9088 data "[221]   [221]   [221]   [221]   [221]"
  449. 9090 data "[221]   [221]   [221]   [221]   [221]"
  450. 9092 data "[221]   [221]   [221]   [221]   [221]"
  451. 9094 data "[171][192][192][192][219][192][192][192][219][192][192][192][219][192][192][192][179]"
  452. 9096 data "[221]   [221]   [221]   [221]   [221]"
  453. 9098 data "[221]   [221]   [221]   [221]   [221]"
  454. 9100 data "[221]   [221]   [221]   [221]   [221]"
  455. 9102 data "[171][192][192][192][219][192][192][192][219][192][192][192][219][192][192][192][179]"
  456. 9104 data "[221]   [221]   [221]   [221]   [221]"
  457. 9106 data "[221]   [221]   [221]   [221]   [221]"
  458. 9108 data "[221]   [221]   [221]   [221]   [221]"
  459. 9110 data "[173][192][192][192][177][192][192][192][177][192][192][192][177][192][192][192][189]"
  460. 9112 data 1,21,"[[208]]lay",11,21,"[[197]]dit",21,21,"[[200]]elp",31,21,"[[209]]uit"
  461. 9999 :
  462. 10000 a$="dao basic"
  463. 10010 dv=peek(186):open15,dv,15,"s0:"+a$:close15:savea$,dv:end
  464. 40000 fori=8to29:poke820+i,i:next:ifdv>8anddv<30thenpoke828,dv:poke820+dv,8
  465. 40010 a$="presenter":gosub40030:a$="hello connect":gosub40030
  466. 40020 print"[147]":poke53272,23:poke186,8:poke2048,0:poke44,8:poke43,1:end
  467. 40030 forj=8to29:i=peek(820+j):ifi=14thennext
  468. 40040 close2:open2,i,2:close2:ifstthen40060
  469. 40050 close15:open15,i,15,"r0:"+a$+"="+a$:input#15,er:close15:ifer=63then40070
  470. 40060 next:return
  471. 40070 a$="hello connect":q$=chr$(34):poke646,peek(53281):print"[147]":poke53272,23
  472. 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
  473. 40090 print"run:":poke631,13:poke632,13:poke198,2:end
  474.