home *** CD-ROM | disk | FTP | other *** search
/ AMOS PD CD / amospdcd.iso / sourcecode / games / weird.amos / weird.amosSourceCode < prev   
AMOS Source Code  |  1991-12-02  |  43KB  |  1,289 lines

  1. Procedure CR
  2. Screen Open 0,320,256,8,Lowres : Hide On : Curs Off 
  3. Cls 5
  4. Locate 0,0 : Pen 3 : Paper 5 : Print "             Attention: "
  5. Paper 5 : Pen 6
  6. Locate 0,2 : Print "THIS PROGRAM IS LICENSED TO AMIGANUTS "
  7. Locate 0,4 : Print "    It is NOT P.D or Shareware"
  8. Pen 7
  9. Locate 4,24 : Print "   Got a Screw Loose...?"
  10. Locate 4,26 : Print "     (Press a key...)"
  11. Wait Key 
  12. Screen Close 0
  13. End Proc
  14. INFO
  15. BB1=0 : SCREW=0
  16. Global BLOCK,BB1,BB2,SCREW
  17. ST: Rem start of initialising..
  18. Amreg(13)=0 : Rem amreg 13 =score
  19. Screen Open 0,320,256,16,Lowres : Hide On : Curs Off 
  20. Load "Music/zero.abk"
  21. Load Iff "iff/title",0
  22. Locate 6,1 : Paper 0 : Print "Press Fire to Start at Level 1"
  23. Locate 6,3 : Print " Press 'P' to enter password"
  24. Locate 0,24 : Pen 5 : Print " Edgeways Corp    (c) C.Banks 1991"
  25. Channel 2 To Screen Display 2
  26. Load Iff "iff/droidplan",2
  27. Screen Display 2,112,-220,,
  28. Amal 2,"Loop: M 0,0,160;M 0,270,70;M 0,0,160;M 0,-270,70;P;J Loop" : Amal On(2)
  29. Screen 0
  30. CHS: Rem choose 
  31. If Inkey$="p" Then PASSWORD : Goto BEGIN
  32. If Fire(1) Then Amreg(11)=1 : Screen Close 2 : Goto BEGIN
  33. Goto CHS
  34. BEGIN: Rem
  35. Amal Off 
  36. Screen Close 0
  37. Make Mask 
  38. Sprite Update Off 
  39. Bob Off 
  40. Procedure PASSWORD
  41. Screen Close 2
  42. Amal Off 
  43. QUERY: Cls 0 : Locate 6,2
  44. Ink 3 : Box 40,10 To 300,50
  45. Input "Password please...";PASS$
  46. If PASS$="k.o" Then Amreg(11)=2 : Pop Proc
  47. If PASS$="binky" Then Amreg(11)=3 : Pop Proc
  48. If PASS$="ezee" Then Amreg(11)=4 : Pop Proc
  49. If PASS$="plus" Then Amreg(11)=5 : Pop Proc
  50. If PASS$="invader" Then Amreg(11)=6 : Pop Proc
  51. If PASS$="odie" Then Amreg(11)=7 : Pop Proc
  52. If PASS$="uhu" Then Amreg(11)=8 : Pop Proc
  53. If PASS$="megaboard" Then Amreg(11)=9 : Pop Proc
  54. If PASS$="copyrite" Then Amreg(11)=10 : Pop Proc
  55. If PASS$="fa cup" Then Amreg(11)=11 : Pop Proc
  56. If PASS$="corkscrew" Then Amreg(11)=12 : Pop Proc
  57. If PASS$="commy" Then Amreg(11)=13 : Pop Proc
  58. If PASS$="hombre" Then Amreg(11)=14 : Pop Proc
  59. If PASS$="hash" Then Amreg(11)=15 : Pop Proc
  60. If PASS$="x word" Then Amreg(11)=16 : Pop Proc
  61. Goto QUERY
  62. End Proc
  63. Procedure SETCHAN
  64. Channel 0 To Sprite 0 : Rem Cursor 
  65. Channel 1 To Bob 1 : Rem Falling Block
  66. Channel 2 To Sprite 4 : Rem Droid
  67. Channel 6 To Bob 6 : Rem BUG-Bob 1
  68. Channel 7 To Bob 7 : Rem BOB-bug 7
  69. Channel 8 To Bob 8 : Rem Random block 1 
  70. Channel 9 To Bob 9 : Rem random block 9 
  71. Channel 14 To Screen Display 1
  72. Channel 15 To Bob 32 : Rem static 
  73. Rem assign corner screws to a channel..........................  
  74. Channel 3 To Bob 3 : Channel 4 To Bob 4 : Channel 5 To Bob 5
  75. End Proc
  76. Procedure SCORE
  77. Amal Freeze 
  78. Wait 40
  79. Screen Open 1,320,26,4,Lowres
  80. Screen Display 1,112,10,,
  81. SCREW=0
  82. If Amreg(5)=2 Then SCREW=SCREW+1
  83. If Amreg(6)=2 Then SCREW=SCREW+1
  84. If Amreg(7)=2 Then SCREW=SCREW+1
  85. Screen 1 : Cls 0 : Curs Off : Paper 2 : Pen 0
  86. Locate 1,1 : Print "            STATUS                   "
  87. Pen 2 : Paper 0
  88. Locate 1,2 : Print " SCORE ";Amreg(13);"  Bugs Killed";Amreg(10);"   DONE: ";SCREW
  89. Ink 3 : Box 0,0 To 319,23
  90. Amal 14,"M 0,100,60;M 0,0,120;M 0,-100,30" : Amal On(14)
  91. Wait 240 : Amal On 
  92. Screen Close 1
  93. End Proc
  94. Procedure LEVELSORT
  95. SCREW=0
  96. Music Off 
  97. Sprite 4,100,100, : Sprite Update 
  98. Amreg(0)=0 : Amreg(5)=0 : Amreg(6)=0 : Amreg(7)=0 : Amreg(10)=0 : Amreg(12)=0 : Amreg(14)=0
  99. Amreg(4)=0 : Amreg(15)=0 : Amreg(16)=0 : Amreg(17)=0 : Amreg(18)=0
  100. If Amreg(11)=1 Then CIRCUIT1
  101. If Amreg(11)=2 Then CIRCUIT2
  102. If Amreg(11)=3 Then CIRCUIT3
  103. If Amreg(11)=4 Then CIRCUIT4
  104. If Amreg(11)=5 Then CIRCUIT5
  105. If Amreg(11)=6 Then CIRCUIT6
  106. If Amreg(11)=7 Then CIRCUIT7
  107. If Amreg(11)=8 Then CIRCUIT8
  108. If Amreg(11)=9 Then CIRCUIT9
  109. If Amreg(11)=10 Then CIRCUIT10
  110. If Amreg(11)=11 Then CIRCUIT11
  111. If Amreg(11)=12 Then CIRCUIT12
  112. If Amreg(11)=13 Then CIRCUIT13
  113. If Amreg(11)=14 Then CIRCUIT14
  114. If Amreg(11)=15 Then CIRCUIT15
  115. If Amreg(11)=16 Then CIRCUIT16
  116. End Proc
  117. Procedure BLOKIT
  118. For B=8 To 22 : Bob B,-25,-15,8
  119. Bob 1,-25,-10,8
  120. Next B
  121. Music 1
  122. End Proc
  123. Procedure WORDBOX
  124.  Ink 3 : Box 175,75 To 270,90
  125. Locate 10,12 : Pen 2 : Paper 0 : Print "Press a key.."
  126. Wait Key 
  127. End Proc
  128. Procedure STATIC
  129. Channel 15 To Bob 32
  130. Wait Vbl : Screen Swap : Bob 32,300,230,8
  131. Amal 15,"Loop: L A=57;M 0,-230,280;L A=56;M -10,0,20;L A=57;M 0,230,280;L A=56;M -10,0,20;P;J Loop"
  132. Amal On(15)
  133. End Proc
  134. Procedure CIRCUIT1
  135. Screen Open 0,320,256,16,Lowres : Hide On : Curs Off 
  136. Cls 0
  137. Load Iff "iff/circuit1"
  138. Double Buffer 
  139. BLOKIT
  140. Get Sprite Palette 
  141. Rem Set Up Corner Screws.... 
  142. Bob 3,250,161,24
  143. Bob 4,250,18,24
  144. Bob 5,10,16,24
  145. Rem set all screw flags down...
  146. Amreg(5)=0 : Amreg(6)=0 : Amreg(7)=0
  147. 'rem Blockers follow...
  148. Bob 23,20,190,7 : Bob 24,80,190,7 : Bob 25,140,190,7 : Bob 26,200,190,7
  149. Rem Random blocks now in position....
  150. Wait Vbl 
  151. Bob 8,164,72,3
  152. Bob Off(9)
  153. ' RK = No of bugs killed 
  154. Amal 8,"A 0,(Z(4),80)(1,110)(2,110)(3,110)(4,110)(9,150);Loop: M 24,0,0;M 0,0,180;M -24,0,0;M 0,0,180;P;J Loop" : Amal On(8)
  155. Bob 30,-7,123,37
  156. '
  157. ' *_(*_*(_*_*_*_*_*_*SET UP BOBS,Sprites etc 
  158. Bob 1,-10,-10,6
  159. '
  160. Sprite 0,148,40,1 : Rem Cursor Sprite
  161. Sprite Update 
  162. '*****************Last Chance to Initialise variables ! !*************** 
  163. Rem Initialise Ext Regs( ie -RC= No of Block to be thrown) 
  164. Amal 2,"L RC=9;L RB=1;M 0,0,90;L RB=0" : Amal On(2)
  165. Bob 31,40,170,47
  166. 'Above moves Droid in pos----------------------------------------------------------- 
  167. Bob 6,8,186,8 : Rem Bug1 
  168. Bob 7,200,90,8 : Rem bug2 
  169. Wait 140
  170. Sprite 4,150,210,10 : Rem Maintenance Droid Sprite       
  171. Bob 31,,,8
  172. Amal 6,"L A=0;L RI=1;M 0,0,230;A 1,(33,4)(34,4)(35,4)(36,4);M 0,0,40;L A=31;M 24,0,140;L RI=0" : Amal On(6)
  173. Amal 7,"L A=0;L RJ=1;M 0,0,230;A 1,(33,5)(34,5)(35,5)(36,5);M 0,0,40;L A=31;M -24,0,140;L RJ=0" : Amal On(7)
  174. STATIC
  175. Goto GO
  176. End Proc
  177. Procedure CIRCUIT2
  178. Screen Open 0,320,256,16,Lowres : Hide On : Curs Off 
  179. Cls 0 : Locate 10,10 : Paper 0 : Pen 5 : Print "PASSWORD IS: k.o" : WORDBOX
  180. Load Iff "iff/circuit2"
  181. Double Buffer 
  182. BLOKIT
  183. Get Sprite Palette 
  184. Rem Set Up Corner Screws.... 
  185. Bob 31,258,100,47
  186. Bob 3,250,161,24
  187. Bob 4,132,10,24
  188. Bob 5,35,20,24
  189. Rem set all screw flags down...
  190. Amreg(5)=0 : Amreg(6)=0 : Amreg(7)=0
  191. 'rem Blockers follow...
  192. Bob 23,20,190,7 : Bob 24,80,190,7 : Bob 25,140,190,7 : Bob 26,200,190,7
  193. Rem Random blocks now in position....
  194. Bob 8,164,72,3
  195. Bob 9,20,168,3
  196. ' RK = No of bugs killed 
  197. Amal 8,"A 0,(Z(4),80)(1,110)(2,110)(3,110)(4,110)(9,150);Loop: M 24,0,0;M 0,0,180;M -24,0,0;M 0,0,180;P;J Loop" : Amal On(8)
  198. Amal 9,"A 0,(Z(4),80)(1,110)(2,110)(3,110)(4,110)(9,150);Loop: M 24,0,0;M 0,0,180;M -24,0,0;M0,0,180;P;J Loop" : Amal On(9)
  199. Rem Extra blocks.....
  200. Bob 27,140,24,2
  201. Bob 28,140,168,3
  202. Bob 30,-7,25,37
  203. '
  204. ' *_(*_*(_*_*_*_*_*_*SET UP BOBS,Sprites etc 
  205. '
  206. Sprite 0,148,40,1 : Rem Cursor Sprite
  207. '*****************Last Chance to Initialise variables ! !*************** 
  208. Rem Initialise Ext Regs( ie -RC= No of Block to be thrown) 
  209. Amal 2,"L RC=9;L RB=1;L RM=0;M 0,0,20;L RB=0" : Amal On(2)
  210. Wait 160
  211. Sprite 4,366,138,10 : Rem  droid 
  212. Bob 31,,,8
  213. 'Above moves Droid in pos----------------------------------------------------------- 
  214. Bob 6,8,186,31 : Rem Bug1 
  215. Bob 7,200,90,31 : Rem bug2 
  216. Amal 6,"L A=0;L RI=1;M 0,0,230;A 1,(33,4)(34,4)(35,4)(36,4);M 0,0,40;L A=31;M 24,0,140;L RI=0" : Amal On(6)
  217. Amal 7,"L A=0;L RJ=1;M 0,0,230;A 1,(33,5)(34,5)(35,5)(36,5);M 0,0,40;L A=31;M -24,0,140;L RJ=0" : Amal On(7)
  218. STATIC
  219. Goto GO
  220. End Proc
  221. Procedure CIRCUIT3
  222. Screen Open 0,320,256,16,Lowres : Hide On : Curs Off 
  223. Cls 0 : Locate 10,10 : Paper 0 : Pen 5 : Print "PASSWORD IS: binky" : WORDBOX
  224. Load Iff "iff/circuit3"
  225. Double Buffer 
  226. BLOKIT
  227. Get Sprite Palette 
  228. Rem Set Up Corner Screws.... 
  229. Bob 3,33,140,24
  230. Bob 4,200,60,24
  231. Bob 5,154,60,24
  232. 'rem Blockers follow...
  233. Bob 23,20,190,7 : Bob 24,80,190,7 : Bob 25,140,190,7 : Bob 26,200,190,7
  234. Rem Random blocks now in position....
  235. Bob 8,236,72,3
  236. Bob 9,20,168,3
  237. ' RK = No of bugs killed 
  238. Amal 8,"A 0,(Z(4),80)(1,110)(2,110)(3,110)(4,110)(9,150);Loop: M 24,0,0;M 0,0,180;M -24,0,0;M 0,0,180;P;J Loop" : Amal On(8)
  239. Amal 9,"A 0,(Z(4),80)(1,110)(2,110)(3,110)(4,110)(9,150);Loop: M 24,0,0;M 0,0,180;M -24,0,0;M0,0,180;P;J Loop" : Amal On(9)
  240. Rem Extra blocks.....
  241. Bob 27,140,24,2
  242. Bob 28,140,120,3
  243. Bob 30,6,74,37
  244. Bob 31,255,96,47
  245. '
  246. ' *_(*_*(_*_*_*_*_*_*SET UP BOBS,Sprites etc 
  247. '
  248. Sprite 0,148,40,1 : Rem Cursor Sprite
  249. '*****************Last Chance to Initialise variables ! !*************** 
  250. Rem Initialise Ext Regs( ie -RC= No of Block to be thrown) 
  251. Amal 2,"L RC=9;L RB=1;L RM=0;M 0,0,20;L RB=0" : Amal On(2)
  252. Wait 160
  253. 'Above moves Droid in pos----------------------------------------------------------- 
  254. Sprite 4,366,138,10 : Rem Maintenance Droid Sprite       
  255. Bob 31,,,8
  256. Bob 6,8,186,31 : Rem Bug1 
  257. Bob 7,200,138,31 : Rem bug2 
  258. Amal 6,"L A=0;L RI=1;M 0,0,230;A 1,(33,4)(34,4)(35,4)(36,4);M 0,0,40;L A=31;M 24,0,140;L RI=0" : Amal On(6)
  259. Amal 7,"L A=0;L RJ=1;M 0,0,150;A 1,(33,5)(34,5)(35,5)(36,5);M 0,0,40;L A=31;L RJ=0" : Amal On(7)
  260. STATIC
  261. End Proc
  262. Procedure CIRCUIT4
  263. Screen Open 0,320,256,16,Lowres : Hide On : Curs Off 
  264. Cls 0 : Locate 10,10 : Paper 0 : Pen 5 : Print "PASSWORD IS: ezee" : WORDBOX
  265. Load Iff "iff/circuit4"
  266. Double Buffer 
  267. BLOKIT
  268. Get Sprite Palette 
  269. Rem Set Up Corner Screws.... 
  270. Bob 1,4,4,
  271. Bob 3,33,140,24
  272. Bob 4,245,165,24
  273. Bob 5,245,15,24
  274. 'rem Blockers follow...
  275. Bob 23,20,190,7 : Bob 24,80,190,7 : Bob 25,140,190,7 : Bob 26,200,190,7
  276. Rem Random blocks now in position....
  277. Bob 8,236,72,3
  278. Bob 9,20,168,3
  279. ' RK = No of bugs killed 
  280. Amal 8,"A 0,(Z(4),80)(1,110)(2,110)(3,110)(4,110)(9,150);Loop: M 24,0,0;M 0,0,180;M -24,0,0;M 0,0,180;P;J Loop" : Amal On(8)
  281. Amal 9,"A 0,(Z(4),80)(1,110)(2,110)(3,110)(4,110)(9,150);Loop: M 24,0,0;M 0,0,180;M -24,0,0;M 0,0,180;P;J Loop" : Amal On(9)
  282. Rem Extra blocks.....
  283. Bob 27,212,168,3
  284. Bob 28,44,120,3
  285. Bob 30,166,95,37
  286. '
  287. ' *_(*_*(_*_*_*_*_*_*SET UP BOBS,Sprites etc 
  288. Sprite 0,148,40,1 : Rem Cursor Sprite
  289. '*****************Last Chance to Initialise variables ! !*************** 
  290. Rem Initialise Ext Regs( ie -RC= No of Block to be thrown) 
  291. Amal 2,"L RC=9;L RB=1;L RM=0;M 0,0,20;L RB=0" : Amal On(2)
  292. Bob 31,40,20,47
  293. Wait 160
  294. 'Above moves Droid in pos----------------------------------------------------------- 
  295. Sprite 4,150,66,10 : Rem Maintenance Droid Sprite       
  296. Bob 31,,,8
  297. Bob 6,248,162,31 : Rem Bug1 
  298. Bob 7,200,186,31 : Rem bug2 
  299. Amal 6,"L A=0;L RI=1;M 0,0,230;A 1,(33,4)(34,4)(35,4)(36,4);M 0,0,40;L A=31;M 0,24,140;L RI=0" : Amal On(6)
  300. Amal 7,"L A=0;L RJ=1;M 0,0,150;A 1,(33,5)(34,5)(35,5)(36,5);M 0,0,40;L A=31;M 24,0,140;L RJ=0" : Amal On(7)
  301. STATIC
  302. End Proc
  303. Procedure CIRCUIT5
  304. Screen Open 0,320,256,16,Lowres : Hide On : Curs Off 
  305. Cls 0 : Locate 10,10 : Paper 0 : Pen 5 : Print "PASSWORD IS: plus" : WORDBOX
  306. Load Iff "iff/circuit5"
  307. Double Buffer 
  308. BLOKIT
  309. Get Sprite Palette 
  310. Rem Set Up Corner Screws.... 
  311. Bob 1,4,4,
  312. Bob 3,294,90,24
  313. Bob 4,1,114,24
  314. Bob 5,170,20,24
  315. 'rem Blockers follow...
  316. Bob 23,20,142,7 : Bob 24,80,142,7 : Bob 25,140,214,7 : Bob 26,190,142,7
  317. Rem Random blocks now in position....
  318. Bob 8,20,96,3
  319. Bob 9,20,168,8
  320. ' RK = No of bugs killed 
  321. Amal 8,"A 0,(Z(4),80)(1,110)(2,110)(3,110)(4,110)(9,150);Loop: M 24,0,0;M 0,0,180;M -24,0,0;M 0,0,180;P;J Loop" : Amal On(8)
  322. 'Amal 9,"A 0,(Z(4),80)(1,110)(2,110)(3,110)(4,110)(9,150);Loop: M 24,0,0;M 0,0,180;M -24,0,0;M 0,0,180;P;J Loop" : Amal On(9)
  323. Rem Extra blocks.....
  324. Bob 27,260,120,4
  325. Bob 28,284,120,3
  326. Bob 30,120,192,37
  327. '
  328. Bob 31,185,195,47
  329. ' *_(*_*(_*_*_*_*_*_*SET UP BOBS,Sprites etc 
  330. Sprite 0,148,40,1 : Rem Cursor Sprite
  331. '*****************Last Chance to Initialise variables ! !*************** 
  332. Rem Initialise Ext Regs( ie -RC= No of Block to be thrown) 
  333. Amal 2,"L RC=9;L RB=1;L RM=0;M 0,0,20;L RB=0" : Amal On(2)
  334. Wait 160
  335. Sprite 4,295,235,10 : Rem Maintenance Droid Sprite       
  336. 'Above moves Droid in pos----------------------------------------------------------- 
  337. Bob 31,,,8
  338. Bob 6,32,90,31 : Rem Bug1 
  339. Bob 7,176,138,31 : Rem bug2 
  340. Amal 6,"L A=0;L RI=1;M 0,0,230;A 1,(33,4)(34,4)(35,4)(36,4);M 0,0,40;L A=31;M 0,24,140;L RI=0" : Amal On(6)
  341. Amal 7,"L A=0;L RJ=1;M 0,0,150;A 1,(33,5)(34,5)(35,5)(36,5);M 0,0,40;L A=31;L RJ=0" : Amal On(7)
  342. STATIC
  343. End Proc
  344. Procedure CIRCUIT6
  345. Screen Open 0,320,256,16,Lowres : Hide On : Curs Off 
  346. Cls 0 : Locate 10,10 : Paper 0 : Pen 5 : Print "PASSWORD IS: invader" : WORDBOX
  347. Load Iff "iff/Invader"
  348. Double Buffer 
  349. BLOKIT
  350. Get Sprite Palette 
  351. Rem Set Up Corner Screws.... 
  352. Bob 3,270,184,24
  353. Bob 4,170,40,24
  354. Bob 5,19,184,24
  355. Rem set all screw flags down...
  356. Amreg(5)=0 : Amreg(6)=0 : Amreg(7)=0
  357. 'rem Blockers follow...
  358. Rem xtra blox  
  359. Bob 27,44,192,4 : Bob 28,260,192,4
  360. '
  361. Bob 23,75,190,7 : Bob 24,160,166,7 : Bob 25,120,166,7 : Bob 26,210,190,7
  362. Rem Random blocks now in position....
  363. Wait Vbl 
  364. Bob 8,212,120,3
  365. Bob Off(9)
  366. ' RK = No of bugs killed 
  367. Amal 8,"A 0,(Z(4),80)(1,110)(2,110)(3,110)(4,110)(9,150);Loop: M 24,0,0;M 0,0,180;M -24,0,0;M 0,0,180;P;J Loop" : Amal On(8)
  368. Bob 30,150,5,37
  369. '
  370. ' *_(*_*(_*_*_*_*_*_*SET UP BOBS,Sprites etc 
  371. Bob 1,-10,-10,6
  372. '
  373. Sprite 0,148,40,1 : Rem Cursor Sprite
  374. Sprite Update 
  375. '*****************Last Chance to Initialise variables ! !*************** 
  376. Rem Initialise Ext Regs( ie -RC= No of Block to be thrown) 
  377. Amal 2,"L RC=9;L RB=1;M 0,0,90;L RB=0" : Amal On(2)
  378. Bob 31,90,25,47
  379. 'Above moves Droid in pos----------------------------------------------------------- 
  380. Bob 6,80,138,8 : Rem Bug1 
  381. Bob 7,224,138,8 : Rem bug2 
  382. Wait 140
  383. Sprite 4,198,66,10 : Rem Maintenance Droid Sprite       
  384. Bob 31,,,8
  385. Amal 6,"L A=0;L RI=1;M 0,0,230;A 1,(33,4)(34,4)(35,4)(36,4);M 0,0,40;L A=31;L RI=0" : Amal On(6)
  386. Amal 7,"L A=0;L RJ=1;M 0,0,230;A 1,(33,5)(34,5)(35,5)(36,5);M 0,0,40;L A=31;L RJ=0" : Amal On(7)
  387. STATIC
  388. Goto GO
  389. End Proc
  390. Procedure CIRCUIT7
  391. Screen Open 0,320,256,16,Lowres : Hide On : Curs Off 
  392. Cls 0 : Locate 10,10 : Paper 0 : Pen 5 : Print "PASSWORD IS: odie" : WORDBOX
  393. Load Iff "iff/Odie"
  394. Double Buffer 
  395. BLOKIT
  396. Get Sprite Palette 
  397. Rem Set Up Corner Screws.... 
  398. Bob 3,220,190,24
  399. Bob 4,30,55,24
  400. Bob 5,32,200,24
  401. Rem set all screw flags down...
  402. Amreg(5)=0 : Amreg(6)=0 : Amreg(7)=0
  403. 'rem Blockers follow...
  404. Rem xtra blox  
  405. Bob 27,44,192,1 : Bob 28,260,192,8
  406. '
  407. Bob 23,70,214,7 : Bob 24,140,214,7 : Bob 25,200,214,7 : Bob 26,260,214,7
  408. Rem Random blocks now in position....
  409. Wait Vbl 
  410. Bob 8,212,120,3
  411. Bob Off(9)
  412. ' RK = No of bugs killed 
  413. Amal 8,"A 0,(Z(4),80)(1,110)(2,110)(3,110)(4,110)(9,150);Loop: M 24,0,0;M 0,0,180;M -24,0,0;M 0,0,180;P;J Loop" : Amal On(8)
  414. Bob 30,280,30,37
  415. '
  416. ' *_(*_*(_*_*_*_*_*_*SET UP BOBS,Sprites etc 
  417. Bob 1,-10,-10,6
  418. Sprite 0,148,40,1 : Rem Cursor Sprite
  419. Sprite Update 
  420. '*****************Last Chance to Initialise variables ! !*************** 
  421. Rem Initialise Ext Regs( ie -RC= No of Block to be thrown) 
  422. Amal 2,"L RC=9;L RB=1;M 0,0,90;L RB=0" : Amal On(2)
  423. Bob 31,280,50,47
  424. 'Above moves Droid in pos----------------------------------------------------------- 
  425. Bob 6,56,138,8 : Rem Bug1 
  426. Bob 7,224,138,8 : Rem bug2 
  427. Wait 140
  428. Sprite 4,390,90,10 : Rem Maintenance Droid Sprite       
  429. Bob 31,,,8
  430. Amal 6,"L A=0;L RI=1;M 0,0,230;A 1,(33,4)(34,4)(35,4)(36,4);M 0,0,40;L A=31;L RI=0" : Amal On(6)
  431. Amal 7,"L A=0;L RJ=1;M 0,0,230;A 1,(33,5)(34,5)(35,5)(36,5);M 0,0,40;L A=31;L RJ=0" : Amal On(7)
  432. STATIC
  433. Goto GO
  434. End Proc
  435. Procedure CIRCUIT8
  436. Screen Open 0,320,256,16,Lowres : Hide On : Curs Off 
  437. Cls 0 : Locate 10,10 : Paper 0 : Pen 5 : Print "PASSWORD IS: uhu" : WORDBOX
  438. Load Iff "iff/UHU"
  439. Double Buffer 
  440. BLOKIT
  441. Get Sprite Palette 
  442. Rem Set Up Corner Screws.... 
  443. Bob 3,250,165,24
  444. Bob 4,0,55,24
  445. Bob 5,0,165,24
  446. Rem set all screw flags down...
  447. Amreg(5)=0 : Amreg(6)=0 : Amreg(7)=0
  448. 'rem Blockers follow...
  449. Rem xtra blox  
  450. Bob 27,236,24,8 : Bob 28,236,168,3
  451. '
  452. Bob 23,20,214,7 : Bob 24,80,214,7 : Bob 25,135,214,7 : Bob 26,200,214,7
  453. Rem Random blocks now in position....
  454. Wait Vbl 
  455. Bob 8,140,144,3
  456. Bob Off(9)
  457. ' RK = No of bugs killed 
  458. Amal 8,"A 0,(Z(4),80)(1,110)(2,110)(3,110)(4,110)(9,150);Loop: M 24,0,0;M 0,0,180;M -24,0,0;M 0,0,180;P;J Loop" : Amal On(8)
  459. Bob 30,210,50,37
  460. '
  461. ' *_(*_*(_*_*_*_*_*_*SET UP BOBS,Sprites etc 
  462. Bob 1,-10,-10,6
  463. Sprite 0,148,40,1 : Rem Cursor Sprite
  464. Sprite Update 
  465. '*****************Last Chance to Initialise variables ! !*************** 
  466. Rem Initialise Ext Regs( ie -RC= No of Block to be thrown) 
  467. Amal 2,"L RC=9;L RB=1;M 0,0,90;L RB=0" : Amal On(2)
  468. Bob 31,30,25,47
  469. 'Above moves Droid in pos----------------------------------------------------------- 
  470. Bob 6,32,114,8 : Rem Bug1 
  471. Bob 7,176,162,8 : Rem bug2 
  472. Wait 140
  473. Sprite 4,150,66,10 : Rem Maintenance Droid Sprite       
  474. Bob 31,,,8
  475. Amal 6,"L A=0;L RI=1;M 0,0,230;A 1,(33,4)(34,4)(35,4)(36,4);M 0,0,40;L A=31;L RI=0" : Amal On(6)
  476. Amal 7,"L A=0;L RJ=1;M 0,0,230;A 1,(33,5)(34,5)(35,5)(36,5);M 0,0,40;L A=31;L RJ=0" : Amal On(7)
  477. STATIC
  478. Goto GO
  479. End Proc
  480. Procedure CIRCUIT9
  481. Screen Open 0,320,256,16,Lowres : Hide On : Curs Off 
  482. Cls 0 : Locate 10,10 : Paper 0 : Pen 5 : Print "PASSWORD IS: megaboard" : WORDBOX
  483. Load Iff "iff/megaboard"
  484. Double Buffer 
  485. BLOKIT
  486. Get Sprite Palette 
  487. Rem Set Up Corner Screws.... 
  488. Bob 3,250,20,24
  489. Bob 4,90,65,24
  490. Bob 5,0,165,24
  491. Rem set all screw flags down...
  492. Amreg(5)=0 : Amreg(6)=0 : Amreg(7)=0
  493. 'rem Blockers follow...
  494. Rem xtra blox  
  495. Bob 27,188,144,1 : Bob 28,236,168,8
  496. '
  497. Bob 23,20,214,7 : Bob 24,80,214,7 : Bob 25,135,214,7 : Bob 26,200,214,7
  498. Rem Random blocks now in position....
  499. Wait Vbl 
  500. Bob 8,212,168,8
  501. Bob Off(9)
  502. ' RK = No of bugs killed 
  503. 'Amal 8,"Loop: M 24,0,1;M 0,0,180;M -24,0,1;M 0,0,180;P;J Loop" : Amal On(8) 
  504. Bob 30,14,2,37
  505. '
  506. ' *_(*_*(_*_*_*_*_*_*SET UP BOBS,Sprites etc 
  507. Bob 1,-10,-10,6
  508. Sprite 0,148,40,1 : Rem Cursor Sprite
  509. Sprite Update 
  510. '*****************Last Chance to Initialise variables ! !*************** 
  511. Rem Initialise Ext Regs( ie -RC= No of Block to be thrown) 
  512. Amal 2,"L RC=9;L RB=1;M 0,0,90;L RB=0" : Amal On(2)
  513. Bob 31,260,170,47
  514. 'Above moves Droid in pos----------------------------------------------------------- 
  515. Bob 6,248,42,8 : Rem Bug1 
  516. Bob 7,224,162,8 : Rem bug2 
  517. Wait 140
  518. Sprite 4,366,210,10 : Rem Maintenance Droid Sprite       
  519. Bob 31,,,8
  520. Amal 6,"L A=0;L RI=1;M 0,0,230;A 1,(33,4)(34,4)(35,4)(36,4);M 0,0,40;L A=31;L RI=0" : Amal On(6)
  521. Amal 7,"L A=0;L RJ=1;M 0,0,230;A 1,(33,5)(34,5)(35,5)(36,5);M 0,0,40;L A=31;M -24,0,80;L RJ=0" : Amal On(7)
  522. STATIC
  523. Goto GO
  524. End Proc
  525. Procedure CIRCUIT10
  526. Screen Open 0,320,256,16,Lowres : Hide On : Curs Off 
  527. Cls 0 : Locate 10,10 : Paper 0 : Pen 5 : Print "PASSWORD IS: copyrite" : WORDBOX
  528. Load Iff "iff/copyrite"
  529. Double Buffer 
  530. BLOKIT
  531. Get Sprite Palette 
  532. Rem Set Up Corner Screws.... 
  533. Bob 3,250,20,24
  534. Bob 4,200,110,24
  535. Bob 5,0,165,24
  536. Rem set all screw flags down...
  537. Amreg(5)=0 : Amreg(6)=0 : Amreg(7)=0
  538. 'rem Blockers follow...
  539. Rem xtra blox  
  540. Bob 27,188,144,1 : Bob 28,236,168,8
  541. '
  542. Bob 23,20,214,7 : Bob 24,80,214,7 : Bob 25,135,214,7 : Bob 26,200,214,7
  543. Rem Random blocks now in position....
  544. Wait Vbl 
  545. Bob 8,212,168,8
  546. Bob Off(9)
  547. ' RK = No of bugs killed 
  548. 'Amal 8,"Loop: M 24,0,1;M 0,0,180;M -24,0,1;M 0,0,180;P;J Loop" : Amal On(8) 
  549. Bob 30,14,2,37
  550. '
  551. ' *_(*_*(_*_*_*_*_*_*SET UP BOBS,Sprites etc 
  552. Bob 1,-10,-10,6
  553. Sprite 0,148,40,1 : Rem Cursor Sprite
  554. Sprite Update 
  555. '*****************Last Chance to Initialise variables ! !*************** 
  556. Rem Initialise Ext Regs( ie -RC= No of Block to be thrown) 
  557. Amal 2,"L RC=9;L RB=1;M 0,0,90;L RB=0" : Amal On(2)
  558. Bob 31,260,170,47
  559. 'Above moves Droid in pos----------------------------------------------------------- 
  560. Bob 6,248,42,8 : Rem Bug1 
  561. Bob 7,224,162,8 : Rem bug2 
  562. Wait 140
  563. Sprite 4,198,114,10 : Rem Maintenance Droid Sprite       
  564. Bob 31,,,8
  565. Amal 6,"L A=0;L RI=1;M 0,0,230;A 1,(33,4)(34,4)(35,4)(36,4);M 0,0,40;L A=31;L RI=0" : Amal On(6)
  566. Amal 7,"L A=0;L RJ=1;M 0,0,230;A 1,(33,5)(34,5)(35,5)(36,5);M 0,0,40;L A=31;M -24,0,80;L RJ=0" : Amal On(7)
  567. STATIC
  568. Goto GO
  569. End Proc
  570. Procedure CIRCUIT11
  571. Screen Open 0,320,256,16,Lowres : Hide On : Curs Off 
  572. Cls 0 : Locate 10,10 : Paper 0 : Pen 5 : Print "PASSWORD IS: fa cup" : WORDBOX
  573. Load Iff "iff/FAcup"
  574. Double Buffer 
  575. BLOKIT
  576. Get Sprite Palette 
  577. Rem Set Up Corner Screws.... 
  578. Bob 3,18,20,24
  579. Bob 4,223,140,24
  580. Bob 5,18,140,24
  581. Rem set all screw flags down...
  582. Amreg(5)=0 : Amreg(6)=0 : Amreg(7)=0
  583. 'rem Blockers follow...
  584. Rem xtra blox  
  585. Bob 27,212,144,4 : Bob 28,44,144,1
  586. '
  587. Bob 23,20,214,7 : Bob 24,80,214,7 : Bob 25,135,214,7 : Bob 26,200,214,7
  588. Rem Random blocks now in position....
  589. Wait Vbl 
  590. Bob 8,212,168,8
  591. Bob Off(9)
  592. ' RK = No of bugs killed 
  593. 'Amal 8,"Loop: M 24,0,1;M 0,0,180;M -24,0,1;M 0,0,180;P;J Loop" : Amal On(8) 
  594. Bob 30,206,193,37
  595. '
  596. ' *_(*_*(_*_*_*_*_*_*SET UP BOBS,Sprites etc 
  597. Bob 1,-10,-10,6
  598. Sprite 0,148,40,1 : Rem Cursor Sprite
  599. Sprite Update 
  600. '*****************Last Chance to Initialise variables ! !*************** 
  601. Rem Initialise Ext Regs( ie -RC= No of Block to be thrown) 
  602. Amal 2,"L RC=9;L RB=1;M 0,0,90;L RB=0" : Amal On(2)
  603. Bob 31,260,170,47
  604. 'Above moves Droid in pos----------------------------------------------------------- 
  605. Bob 6,56,162,8 : Rem Bug1 
  606. Bob 7,224,162,8 : Rem bug2 
  607. Wait 140
  608. Sprite 4,318,234,10 : Rem Maintenance Droid Sprite       
  609. Bob 31,,,8
  610. Amal 6,"L A=0;L RI=1;M 0,0,230;A 1,(33,4)(34,4)(35,4)(36,4);M 0,0,40;L A=31;L RI=0" : Amal On(6)
  611. Amal 7,"L A=0;L RJ=1;M 0,0,230;A 1,(33,5)(34,5)(35,5)(36,5);M 0,0,40;L A=31;L RJ=0" : Amal On(7)
  612. STATIC
  613. Goto GO
  614. End Proc
  615. Procedure CIRCUIT12
  616. Screen Open 0,320,256,16,Lowres : Hide On : Curs Off 
  617. Cls 0 : Locate 10,10 : Paper 0 : Pen 5 : Print "PASSWORD IS: corkscrew" : WORDBOX
  618. Load Iff "iff/corkscrew"
  619. Double Buffer 
  620. BLOKIT
  621. Get Sprite Palette 
  622. Rem Set Up Corner Screws.... 
  623. Bob 3,18,20,24
  624. Bob 4,70,92,24
  625. Bob 5,70,160,24
  626. Rem set all screw flags down...
  627. Amreg(5)=0 : Amreg(6)=0 : Amreg(7)=0
  628. 'rem Blockers follow...
  629. Rem xtra blox  
  630. Bob 27,164,72,3 : Bob 28,44,144,8
  631. '
  632. Bob 23,20,214,7 : Bob 24,80,214,7 : Bob 25,135,214,7 : Bob 26,200,214,7
  633. Rem Random blocks now in position....
  634. Wait Vbl 
  635. Bob 8,212,168,8
  636. Bob Off(9)
  637. ' RK = No of bugs killed 
  638. 'Amal 8,"Loop: M 24,0,1;M 0,0,180;M -24,0,1;M 0,0,180;P;J Loop" : Amal On(8) 
  639. Bob 30,66,194,37
  640. '
  641. ' *_(*_*(_*_*_*_*_*_*SET UP BOBS,Sprites etc 
  642. Bob 1,-10,-10,6
  643. Sprite 0,148,40,1 : Rem Cursor Sprite
  644. Sprite Update 
  645. '*****************Last Chance to Initialise variables ! !*************** 
  646. Rem Initialise Ext Regs( ie -RC= No of Block to be thrown) 
  647. Amal 2,"L RC=9;L RB=1;M 0,0,90;L RB=0" : Amal On(2)
  648. Bob 31,255,20,47
  649. 'Above moves Droid in pos----------------------------------------------------------- 
  650. Bob 6,55,90,8 : Rem Bug1 
  651. Bob 7,175,90,8 : Rem bug2 
  652. Wait 140
  653. Sprite 4,366,66,10 : Rem Maintenance Droid Sprite       
  654. Bob 31,,,8
  655. Amal 6,"L A=0;L RI=1;M 0,0,230;A 1,(33,4)(34,4)(35,4)(36,4);M 0,0,40;L A=31;L RI=0" : Amal On(6)
  656. Amal 7,"L A=0;L RJ=1;M 0,0,230;A 1,(33,5)(34,5)(35,5)(36,5);M 0,0,40;L A=31;L RJ=0" : Amal On(7)
  657. STATIC
  658. Goto GO
  659. End Proc
  660. Procedure CIRCUIT13
  661. Screen Open 0,320,256,16,Lowres : Hide On : Curs Off 
  662. Cls 0 : Locate 10,10 : Paper 0 : Pen 5 : Print "PASSWORD IS: commy" : WORDBOX
  663. Load Iff "iff/chickhead"
  664. Double Buffer 
  665. BLOKIT
  666. Get Sprite Palette 
  667. Rem Set Up Corner Screws.... 
  668. Bob 3,177,10,24
  669. Bob 4,177,160,24
  670. Bob 5,30,40,24
  671. Rem set all screw flags down...
  672. Amreg(5)=0 : Amreg(6)=0 : Amreg(7)=0
  673. 'rem Blockers follow...
  674. Rem xtra blox  
  675. Bob 27,164,120,4 : Bob 28,164,168,4
  676. '
  677. Bob 23,20,214,7 : Bob 24,80,214,7 : Bob 25,135,214,7 : Bob 26,200,214,7
  678. Rem Random blocks now in position....
  679. Wait Vbl 
  680. Bob 8,212,168,8
  681. Bob Off(9)
  682. ' RK = No of bugs killed 
  683. 'Amal 8,"Loop: M 24,0,1;M 0,0,180;M -24,0,1;M 0,0,180;P;J Loop" : Amal On(8) 
  684. Bob 30,230,50,37
  685. '
  686. ' *_(*_*(_*_*_*_*_*_*SET UP BOBS,Sprites etc 
  687. Bob 1,-10,-10,6
  688. 'Music 1 
  689. '
  690. Sprite 0,148,40,1 : Rem Cursor Sprite
  691. Sprite Update 
  692. '*****************Last Chance to Initialise variables ! !*************** 
  693. Rem Initialise Ext Regs( ie -RC= No of Block to be thrown) 
  694. Amal 2,"L RC=9;L RB=1;M 0,0,90;L RB=0" : Amal On(2)
  695. Bob 31,40,170,47
  696. 'Above moves Droid in pos----------------------------------------------------------- 
  697. Bob 6,55,90,8 : Rem Bug1 
  698. Bob 7,175,114,8 : Rem bug2 
  699. Wait 140
  700. Sprite 4,150,210,10 : Rem Maintenance Droid Sprite       
  701. Bob 31,,,8
  702. Amal 6,"L A=0;L RI=1;M 0,0,230;A 1,(33,4)(34,4)(35,4)(36,4);M 0,0,40;L A=31;L RI=0" : Amal On(6)
  703. Amal 7,"L A=0;L RJ=1;M 0,0,230;A 1,(33,5)(34,5)(35,5)(36,5);M 0,0,40;L A=31;L RJ=0" : Amal On(7)
  704. STATIC
  705. Goto GO
  706. End Proc
  707. Procedure CIRCUIT14
  708. Screen Open 0,320,256,16,Lowres : Hide On : Curs Off 
  709. Cls 0 : Locate 10,10 : Paper 0 : Pen 5 : Print "PASSWORD IS: hombre" : WORDBOX
  710. Load Iff "iff/hombre"
  711. Double Buffer 
  712. BLOKIT
  713. Get Sprite Palette 
  714. Rem Set Up Corner Screws.... 
  715. Bob 3,35,20,24
  716. Bob 4,220,120,24
  717. Bob 5,35,120,24
  718. Rem set all screw flags down...
  719. Amreg(5)=0 : Amreg(6)=0 : Amreg(7)=0
  720. 'rem Blockers follow...
  721. Rem xtra blox  
  722. Bob 27,20,24,1 : Bob 28,68,192,4
  723. '
  724. Bob 23,20,214,7 : Bob 24,80,214,7 : Bob 25,135,214,7 : Bob 26,200,214,7
  725. Rem Random blocks now in position....
  726. Wait Vbl 
  727. Bob 8,212,168,1
  728. Bob Off(9)
  729. ' RK = No of bugs killed 
  730. Amal 8,"A 0,(Z(4),80)(1,110)(2,110)(3,110)(4,110)(9,150);Loop: M 24,0,0;M 0,0,180;M -24,0,0;M 0,0,180;P;J Loop" : Amal On(8)
  731. Bob 30,200,20,37
  732. '
  733. ' *_(*_*(_*_*_*_*_*_*SET UP BOBS,Sprites etc 
  734. Bob 1,-10,-10,6
  735. 'Music 1 
  736. '
  737. Sprite 0,148,40,1 : Rem Cursor Sprite
  738. Sprite Update 
  739. '*****************Last Chance to Initialise variables ! !*************** 
  740. Rem Initialise Ext Regs( ie -RC= No of Block to be thrown) 
  741. Amal 2,"L RC=9;L RB=1;M 0,0,90;L RB=0" : Amal On(2)
  742. Bob 31,96,200,47
  743. 'Above moves Droid in pos----------------------------------------------------------- 
  744. Bob 6,247,186,8 : Rem Bug1 
  745. Bob 7,223,186,8 : Rem bug2 
  746. Wait 140
  747. Sprite 4,199,210,10 : Rem Maintenance Droid Sprite       
  748. Bob 31,,,8
  749. Amal 6,"L A=0;L RI=1;M 0,0,230;A 1,(33,4)(34,4)(35,4)(36,4);M 0,0,40;L A=31;L RI=0" : Amal On(6)
  750. Amal 7,"L A=0;L RJ=1;M 0,0,230;A 1,(33,5)(34,5)(35,5)(36,5);M 0,0,40;L A=31;L RJ=0" : Amal On(7)
  751. STATIC
  752. Goto GO
  753. End Proc
  754. Procedure CIRCUIT15
  755. Screen Open 0,320,256,16,Lowres : Hide On : Curs Off 
  756. Cls 0 : Locate 10,10 : Paper 0 : Pen 5 : Print "PASSWORD IS: hash" : WORDBOX
  757. Load Iff "iff/hash"
  758. Double Buffer 
  759. BLOKIT
  760. Get Sprite Palette 
  761. Rem Set Up Corner Screws.... 
  762. Bob 3,250,40,24
  763. Bob 4,248,140,24
  764. Bob 5,0,35,24
  765. Rem set all screw flags down...
  766. Amreg(5)=0 : Amreg(6)=0 : Amreg(7)=0
  767. 'rem Blockers follow...
  768. Rem xtra blox  
  769. Bob 27,20,24,8 : Bob 28,68,192,8
  770. '
  771. Bob 23,20,214,7 : Bob 24,80,214,7 : Bob 25,135,214,7 : Bob 26,200,214,7
  772. Rem Random blocks now in position....
  773. Wait Vbl 
  774. Bob 8,212,168,1
  775. Bob Off(9)
  776. ' RK = No of bugs killed 
  777. Amal 8,"A 0,(Z(4),80)(1,110)(2,110)(3,110)(4,110)(9,150);Loop: M 24,0,0;M 0,0,180;M -24,0,0;M 0,0,180;P;J Loop" : Amal On(8)
  778. Bob 30,62,20,37
  779. '
  780. ' *_(*_*(_*_*_*_*_*_*SET UP BOBS,Sprites etc 
  781. Bob 1,-10,-10,6
  782. 'Music 1 
  783. '
  784. Sprite 0,148,40,1 : Rem Cursor Sprite
  785. Sprite Update 
  786. '*****************Last Chance to Initialise variables ! !*************** 
  787. Rem Initialise Ext Regs( ie -RC= No of Block to be thrown) 
  788. Amal 2,"L RC=9;L RB=1;M 0,0,90;L RB=0" : Amal On(2)
  789. Bob 31,45,150,47
  790. 'Above moves Droid in pos----------------------------------------------------------- 
  791. Bob 6,247,186,8 : Rem Bug1 
  792. Bob 7,223,186,8 : Rem bug2 
  793. Wait 140
  794. Sprite 4,151,186,10 : Rem Maintenance Droid Sprite       
  795. Bob 31,,,8
  796. Amal 6,"L A=0;L RI=1;M 0,0,230;A 1,(33,4)(34,4)(35,4)(36,4);M 0,0,40;L A=31;L RI=0" : Amal On(6)
  797. Amal 7,"L A=0;L RJ=1;M 0,0,230;A 1,(33,5)(34,5)(35,5)(36,5);M 0,0,40;L A=31;L RJ=0" : Amal On(7)
  798. STATIC
  799. Goto GO
  800. End Proc
  801. Procedure CIRCUIT16
  802. Screen Open 0,320,256,16,Lowres : Hide On : Curs Off 
  803. Cls 0 : Locate 10,10 : Paper 0 : Pen 5 : Print "PASSWORD IS: x word" : WORDBOX
  804. Load Iff "iff/xword"
  805. Double Buffer 
  806. BLOKIT
  807. Get Sprite Palette 
  808. Rem Set Up Corner Screws.... 
  809. Bob 3,45,46,24
  810. Bob 4,210,166,24
  811. Bob 5,250,40,24
  812. Rem set all screw flags down...
  813. Amreg(5)=0 : Amreg(6)=0 : Amreg(7)=0
  814. 'rem Blockers follow...
  815. Rem xtra blox  
  816. Bob 27,20,24,8 : Bob 28,68,192,8
  817. '
  818. Bob 23,20,214,7 : Bob 24,80,214,7 : Bob 25,135,214,7 : Bob 26,200,214,7
  819. Rem Random blocks now in position....
  820. Wait Vbl 
  821. Bob 8,212,168,1
  822. Bob Off(9)
  823. ' RK = No of bugs killed 
  824. Amal 8,"A 0,(Z(4),80)(1,110)(2,110)(3,110)(4,110)(9,150);Loop: M 24,0,0;M 0,0,180;M -24,0,0;M 0,0,180;P;J Loop" : Amal On(8)
  825. Bob 30,62,20,37
  826. '
  827. ' *_(*_*(_*_*_*_*_*_*SET UP BOBS,Sprites etc 
  828. Bob 1,-10,-10,6
  829. 'Music 1 
  830. '
  831. Sprite 0,148,40,1 : Rem Cursor Sprite
  832. Sprite Update 
  833. '*****************Last Chance to Initialise variables ! !*************** 
  834. Rem Initialise Ext Regs( ie -RC= No of Block to be thrown) 
  835. Amal 2,"L RC=9;L RB=1;M 0,0,90;L RB=0" : Amal On(2)
  836. Bob 31,85,190,47
  837. 'Above moves Droid in pos----------------------------------------------------------- 
  838. Bob 6,247,186,8 : Rem Bug1 
  839. Bob 7,223,186,8 : Rem bug2 
  840. Wait 140
  841. Sprite 4,151,186,10 : Rem Maintenance Droid Sprite       
  842. Bob 31,,,8
  843. Amal 6,"L A=0;L RI=1;M 0,0,230;A 1,(33,4)(34,4)(35,4)(36,4);M 0,0,40;L A=31;L RI=0" : Amal On(6)
  844. Amal 7,"L A=0;L RJ=1;M 0,0,230;A 1,(33,5)(34,5)(35,5)(36,5);M 0,0,40;L A=31;L RJ=0" : Amal On(7)
  845. STATIC
  846. Goto GO
  847. End Proc
  848. Procedure CURSOR
  849. If Y Bob(1)>225 Then Amal Off(1) : Bob 1,,225, : Play 1,1,0 : Amreg(4)=0
  850. If Amreg(0)=1 Then Pop Proc
  851. If Joy(1)=16 Then BLOCKSWAP
  852. If Joy(1)=4 Then MLEFT
  853. If Joy(1)=8 Then MRIGHT
  854. If I Sprite(0)=6 Then Goto SKIPBRIDGE
  855. If Joy(1)=2 Then BLOCKDOWN
  856. SKIPBRIDGE: Rem
  857. If Joy(1)=1 Then BRIDGEBLOK
  858. End Proc
  859. Procedure BRIDGEBLOK
  860. If Amreg(4)=1 Then Pop Proc
  861. If Amreg(12)>1 Then Sprite 0,,,1 : Pop Proc
  862. Amreg(12)=Amreg(12)+1
  863. Sprite 0,,,6 : BLOCKDOWN
  864. End Proc
  865. Procedure BLOCKSWAP
  866. If Amreg(4)=1 Then Pop Proc
  867. B$="P;L A=A+1;P;If A<6 J Frame LA=1 Frame:  "
  868.  Amal 0,B$ : Amal On(0) : Play 2,96,4
  869. Sam Play 4,1
  870. End Proc
  871. Procedure BLOCKDOWN
  872. If Amreg(4)=1 Then Pop Proc
  873. BX=X Screen(0,X Sprite(0)) : BY=Y Screen(0,Y Sprite(0))
  874. Bob 1,BX,BY,I Sprite(0)
  875. If Amreg(2)>21 Then Amreg(2)=9
  876. Amal 1,"L RE=1;L RC=RC+1; L RO=RO+1;A 20,(1,1)(2,1)(3,1)(4,1); Loop: M 0,5,2;P;J Loop" : Amal On(1)
  877. Locate 0,0 : Pen 2 : Print Amreg(14)
  878. End Proc
  879. Procedure BLOCKPLACE
  880. If Bob Col(1,23 To 26) Then Play 8,95,0 : BLOCKUP2
  881. End Proc
  882. Procedure BLOCKUP2
  883. Bob 1,,,0
  884. If Col(23) Then Bob Amreg(2),X Bob(1),Y Bob(23)-22,I Sprite(0)
  885. If Col(24) Then Bob Amreg(2),X Bob(1),Y Bob(24)-22,I Sprite(0)
  886. If Col(25) Then Bob Amreg(2),X Bob(1),Y Bob(25)-22,I Sprite(0)
  887. If Col(26) Then Bob Amreg(2),X Bob(1),Y Bob(26)-22,I Sprite(0)
  888. Amal 1,"M 0,0,5;L RE=0;L A=8" : Amal On(1)
  889. End Proc
  890. Procedure BLOCKPLACE1
  891. If Bob Col(1,8 To 22) Then Play 8,93,0 : BLOCKUP
  892. If Bob Col(1,27 To 29) Then Play 8,83,0 : BLOCKUP
  893. End Proc
  894. Procedure BLOCKUP
  895. Amal 1,"M 0,0,5;L RE=0;L A=8" : Amal On(1)
  896. If Col(8) Then BX=X Bob(8) : BY=Y Bob(8)
  897. If Col(9) Then BX=X Bob(9) : BY=Y Bob(9)
  898. If Col(10) Then BX=X Bob(10) : BY=Y Bob(10)
  899. If Col(11) Then BX=X Bob(11) : BY=Y Bob(11)
  900. If Col(12) Then BX=X Bob(12) : BY=Y Bob(12)
  901. If Col(13) Then BX=X Bob(13) : BY=Y Bob(13)
  902. If Col(14) Then BX=X Bob(14) : BY=Y Bob(14)
  903. If Col(15) Then BX=X Bob(15) : BY=Y Bob(15)
  904. If Col(16) Then BX=X Bob(16) : BY=Y Bob(16)
  905. If Col(17) Then BX=X Bob(17) : BY=Y Bob(17)
  906. If Col(18) Then BX=X Bob(18) : BY=Y Bob(18)
  907. If Col(19) Then BX=X Bob(19) : BY=Y Bob(19)
  908. If Col(20) Then BX=X Bob(20) : BY=Y Bob(20)
  909. If Col(21) Then BX=X Bob(21) : BY=Y Bob(21)
  910. If Col(22) Then BX=X Bob(22) : BY=Y Bob(22)
  911. If Col(23) Then BX=X Bob(23) : BY=Y Bob(23)
  912. If Col(27) Then BX=X Bob(27) : BY=Y Bob(27)
  913. If Col(28) Then BX=X Bob(28) : BY=Y Bob(28)
  914. Bob Amreg(2),BX,BY-24,I Sprite(0)
  915. If Y Bob(Amreg(2))<20 Then Bob Amreg(2),0,-10,8
  916. Bob 1,-10,,0
  917. End Proc
  918. Procedure MLEFT
  919. If Amreg(0)=1 Then Pop Proc
  920. If X Sprite(0)<150 Then Pop Proc
  921. Amal 0,"L RA=1;P;M -24,0,1;P;M 0,0,10;L RA=0" : Amal On(0)
  922. Sam Play 4,1,25000
  923. End Proc
  924. Procedure MRIGHT
  925. If Amreg(0)=1 Then Pop Proc
  926. If X Sprite(0)>410 Then Pop Proc
  927. Amal 0,"L RA=1;P;M 24,0,1;P;M 0,0,10;L RA=0" : Amal On(0)
  928. Sam Play 4,1,25000
  929. End Proc
  930. Procedure DROP
  931. ' check if droid still on circuit board or...... 
  932. If Amreg(1)=1 Then Pop Proc
  933. If Point(X Screen(0,X Sprite(4)+4),Y Screen(0,Y Sprite(4))+4)=0 Then FALL
  934. If X Sprite(4)<126 Then FALL
  935. End Proc
  936. Procedure FALL
  937. Amal Off 
  938. Music Off 
  939. Sprite Update On 
  940. Amal 2,"A 1,(39,6)(40,6)(41,6)(42,6)(43,6)(44,6)(45,6)(8,2)" : Amal On(2)
  941. Wait 150
  942. Load Iff "iff/drop",2
  943. Channel 2 To Screen Display 2
  944. Screen Display 2,112,-220,,
  945. Amal 2,"M 0,230,70;M 0,0,100;M 0,-230,70" : Amal On(2)
  946. Wait 150
  947. '
  948. SCORE
  949. Screen Close 2 : OVER
  950. Wait 190 : Screen Close 0
  951. Goto ST
  952. End Proc
  953. Procedure DROID1
  954. If Amreg(1)=1 Then Pop Proc
  955. Amal Off(2)
  956. If Col(8) Then BLOCK=8
  957. If Col(9) Then BLOCK=9
  958. If Col(10) Then BLOCK=10
  959. If Col(11) Then BLOCK=11
  960. If Col(12) Then BLOCK=12
  961. If Col(13) Then BLOCK=13
  962. If Col(14) Then BLOCK=14
  963. If Col(15) Then BLOCK=15
  964. If Col(16) Then BLOCK=16
  965. If Col(17) Then BLOCK=17
  966. If Col(18) Then BLOCK=18
  967. If Col(19) Then BLOCK=19
  968. If Col(20) Then BLOCK=20
  969. If Col(21) Then BLOCK=21
  970. If Col(22) Then BLOCK=22
  971. If Col(27) Then BLOCK=27
  972. If Col(28) Then BLOCK=28
  973. If Col(29) Then BLOCK=29
  974. DROIDGO
  975. '
  976. End Proc
  977. Procedure DROIDGO
  978. DROP
  979. If I Bob(BLOCK)=1 Then D$="Loop: L RB=1;M 0,0,10;A 5,(18,6)(19,6)(20,6)(19,6)(18,6);M 24,0,80;L RB=0;M 0,0,50;P;J Loop"
  980.  Amal 2,D$ : Amal On(2)
  981. If I Bob(BLOCK)=2 Then D$="Loop: L RB=1;M 0,0,10;A 5,(10,6)(11,6)(12,6)(13,6)(12,6)(11,6)(10,6);M 0,24,140;L RB=0;M 0,0,50;P;J Loop"
  982.  Amal 2,D$ : Amal On(2)
  983. If I Bob(BLOCK)=3 Then D$="Loop: L RB=1;M 0,0,10;A 5,(21,6)(22,6)(23,6)(22,6)(21,6);M -24,0,80;L RB=0;M 0,0,50;P;J Loop"
  984.  Amal 2,D$ : Amal On(2)
  985. If I Bob(BLOCK)=4 Then D$="Loop: L RB=1;M 0,0,10;A 5,(14,6)(15,6)(16,6)(17,6)(16,6)(15,6)(14,6);M 0,-24,80;L RB=0;M 0,0,50;P;J Loop"
  986.  Amal 2,D$ : Amal On(2)
  987. Wait Vbl : Sprite Update 
  988. If I Bob(BLOCK)=5 Then BLOKGONE
  989. If I Bob(BLOCK)=6 Then XTRABOARD
  990. End Proc
  991. Procedure OVER
  992. Amal Off 
  993. Bob Update On 
  994. For B=10 To 28 : Bob B,,,8 : Next B
  995. Channel 10 To Bob 10 : Channel 11 To Bob 11 : Channel 12 To Bob 12 : Channel 13 To Bob 13
  996. Channel 14 To Bob 14 : Channel 15 To Bob 15
  997. Bob 10,120,-30,49 : Bob 11,142,-30,50 : Bob 12,164,-30,51 : Bob 13,186,-30,52
  998. Bob 14,142,-10,53 : Bob 15,164,-10,54
  999. DROP1$="M 0,100,50;M 0,-5,20;M 0,5,20"
  1000. DROP2$="A 8,(1,2)(2,2)(3,2)(4,2);M 0,110,70;L A=53;M 0,-10,30;M 0,10,30"
  1001. DROP3$="A 8,(1,2)(2,2)(3,2)(4,2);M 0,110,70;L A=54;M 0,-10,30;M 0,10,30"
  1002. Amal 10,DROP1$ : Amal 11,DROP1$ : Amal 12,DROP1$ : Amal 13,DROP1$ : Amal 14,DROP2$ : Amal 15,DROP3$
  1003. Amal On(10) : Wait 30 : Amal On(11) : Wait 30 : Amal On(12) : Wait 30 : Amal On(13) : Wait 30
  1004. Amal On(14) : Wait 50 : Amal On(15)
  1005. End Proc
  1006. Procedure XTRABOARD
  1007. Paste Bob X Screen(0,X Sprite(4)-2),Y Screen(0,Y Sprite(4)),46
  1008. Shoot 
  1009. BLOKGONE
  1010. End Proc
  1011. Procedure BLOKGONE
  1012. For B=10 To 22 : Bob B,,,8 : Next B
  1013. Play 8,40,0
  1014. End Proc
  1015. Procedure HOLEBLOCK
  1016. For B=10 To 22 : Bob B,,,48 : Next B
  1017. Play 8,1,0
  1018. End Proc
  1019. Procedure BUG1
  1020. If Amreg(8)=1 Then Pop Proc
  1021. If Col(23) Then Pop Proc
  1022. If Col(24) Then Pop Proc
  1023. If Col(25) Then Pop Proc
  1024. If Col(26) Then Pop Proc
  1025. If Col(8) Then BB1=8
  1026. If Col(9) Then BB1=9
  1027. If Col(10) Then BB1=10
  1028. If Col(11) Then BB1=11
  1029. If Col(12) Then BB1=12
  1030. If Col(13) Then BB1=13
  1031. If Col(14) Then BB1=14
  1032. If Col(15) Then BB1=15
  1033. If Col(16) Then BB1=16
  1034. If Col(17) Then BB1=17
  1035. If Col(18) Then BB1=18
  1036. If Col(19) Then BB1=19
  1037. If Col(20) Then BB1=20
  1038. If Col(21) Then BB1=21
  1039. If Col(22) Then BB1=22
  1040. If Col(27) Then BB1=27
  1041. If Col(28) Then BB1=28
  1042. If Col(29) Then BB1=29
  1043. MOVEBUG1
  1044. End Proc
  1045. Procedure MOVEBUG1
  1046. If I Bob(BB1)=1 Then B1$="Loop: L RI=1;M 0,0,20;A 5,(31,9)(30,9);M 24,0,80;L RI=0;M 0,0,60;P;J Loop"
  1047.  Amal 6,B1$ : Amal On(6)
  1048. If I Bob(BB1)=2 Then B1$="Loop: L RI=1;M 0,0,20;A 5,(31,9)(30,9);M 0,24,80;L RI=0;M 0,0,60;P;J Loop"
  1049.  Amal 6,B1$ : Amal On(6)
  1050. If I Bob(BB1)=3 Then B1$="Loop: L RI=1;M 0,0,20;A 5,(31,9)(30,9);M -24,0,80;L RI=0;M 0,0,60;P;J Loop"
  1051.  Amal 6,B1$ : Amal On(6)
  1052. If I Bob(BB1)=4 Then B1$="Loop: L RI=1;M 0,0,20;A 5,(31,9)(30,9);M 0,-24,80;L RI=0;M 0,0,60;P;J Loop"
  1053.  Amal 6,B1$ : Amal On(6)
  1054. Rem bug bites the dust ......
  1055. If I Bob(BB1)=5 : Amal Off(6) : B1$="L RI=1;A 1,(33,3)(34,2)(35,2)(36,2)(37,2)(8,8);L RK=RK+1" : Amal 6,B1$ : Amal On(6)
  1056. Boom : Ink 0 : Bar X Bob(6)-12,Y Bob(6)-18 To X Bob(6)+6,Y Bob(6) : Paste Bob X Bob(6)-12,Y Bob(6)-22,38
  1057. Amreg(13)=Amreg(13)+1000 : SCORE : End If 
  1058. Rem bug hits bridger block 
  1059. If I Bob(BB1)=6 Then HOLEBLOCK
  1060. End Proc
  1061. Procedure BUGCHECK1
  1062. If Amreg(8)=1 Then Pop Proc
  1063. If X Bob(6)>249 Then Bob 6,32,,
  1064. If X Bob(6)<32 Then Bob 6,248,,
  1065. If Y Bob(6)<25 Then Bob 6,,186,
  1066. If Y Bob(6)>200 Then Bob 6,,42,
  1067. End Proc
  1068. Procedure BUGSCREW
  1069. Rem check for collision between Bugs & Screws
  1070. If Bob Col(6,3 To 5) Then SCREWUP
  1071. End Proc
  1072. Procedure BUG2
  1073. If Amreg(9)=1 Then Pop Proc
  1074. If Col(23) Then Pop Proc
  1075. If Col(24) Then Pop Proc
  1076. If Col(25) Then Pop Proc
  1077. If Col(26) Then Pop Proc
  1078. If Col(8) Then BB2=8
  1079. If Col(9) Then BB2=9
  1080. If Col(10) Then BB2=10
  1081. If Col(11) Then BB2=11
  1082. If Col(12) Then BB2=12
  1083. If Col(13) Then BB2=13
  1084. If Col(14) Then BB2=14
  1085. If Col(15) Then BB2=15
  1086. If Col(16) Then BB2=16
  1087. If Col(17) Then BB2=17
  1088. If Col(18) Then BB2=18
  1089. If Col(19) Then BB2=19
  1090. If Col(20) Then BB2=20
  1091. If Col(21) Then BB2=21
  1092. If Col(22) Then BB2=22
  1093. If Col(27) Then BB2=27
  1094. If Col(28) Then BB2=28
  1095. If Col(29) Then BB2=29
  1096. MOVEBUG2
  1097. End Proc
  1098. Procedure MOVEBUG2
  1099. If I Bob(BB2)=1 Then B2$="Loop: L RJ=1;M 0,0,20;A 5,(31,9)(30,9);M 24,0,80;L RJ=0;M 0,0,20;P;J Loop"
  1100.  Amal 7,B2$ : Amal On(7)
  1101. If I Bob(BB2)=2 Then B2$="Loop: L RJ=1;M 0,0,20;A 5,(31,9)(30,9);M 0,24,80;L RJ=0;M 0,0,20;P;J Loop"
  1102.  Amal 7,B2$ : Amal On(7)
  1103. If I Bob(BB2)=3 Then B2$="Loop: L RJ=1;M 0,0,20;A 5,(31,9)(30,9);M -24,0,80;L RJ=0;M 0,0,20;P;J Loop"
  1104.  Amal 7,B2$ : Amal On(7)
  1105. If I Bob(BB2)=4 Then B2$="Loop: L RJ=1;M 0,0,20;A 5,(31,9)(30,9);M 0,-24,80;L RJ=0;M 0,0,20;P;J Loop"
  1106.  Amal 7,B2$ : Amal On(7)
  1107. Rem bug2 bites the dust ...... 
  1108. If I Bob(BB2)=5 : Amal Off(7) : B2$="L RJ=1;A 1,(33,3)(34,2)(35,2)(36,2)(37,2)(8,8);L RK=RK+1" : Amal 7,B2$ : Amal On(7)
  1109. Boom : Ink 0 : Bar X Bob(7)-12,Y Bob(7)-18 To X Bob(7)+6,Y Bob(7) : Paste Bob X Bob(7)-12,Y Bob(7)-22,38
  1110. Amreg(13)=Amreg(13)+1000 : SCORE : End If 
  1111. If I Bob(BB2)=6 Then HOLEBLOCK
  1112. End Proc
  1113. Procedure BUGCHECK2
  1114. If Amreg(9)=1 Then Pop Proc
  1115. If X Bob(7)>249 Then Bob 7,32,,
  1116. If X Bob(7)<32 Then Bob 7,248,,
  1117. If Y Bob(7)<25 Then Bob 7,,186,
  1118. If Y Bob(7)>200 Then Bob 7,,42,
  1119. End Proc
  1120. Procedure BUGSCREW2
  1121. Rem check for collision between Bugs & Screws
  1122. If Bob Col(7,3 To 5) Then SCREWUP
  1123. End Proc
  1124. Procedure SCREWCHECK
  1125. ' CHECK IF DROID HAS HIT SCREW<>>>>
  1126. Rem First,check if collision.... 
  1127. If Spritebob Col(4,3 To 5) Then SCREWDOWN
  1128. End Proc
  1129. Procedure SCREWUP
  1130. If Amreg(5)=0 Then Goto SCREWDOWN4
  1131. If Col(3) Then Amal 3,"L RF=1;A 1,(29,10)(28,10)(27,10)(26,10)(25,10)(24,10);L RF=0" : Amal On(3) : SCREWUPFX
  1132. SCREWDOWN4: Rem screw 3 is loosened
  1133. If Amreg(6)=0 Then Goto SCREWDOWN5
  1134. If Col(4) Then Amal 4,"L RG=1;A 1,(29,10)(28,10)(27,10)(26,10)(25,10)(24,10);L RG=0" : Amal On(4) : SCREWUPFX
  1135. SCREWDOWN5: Rem screw 4 is loosened
  1136. If Amreg(7)=0 Then Goto SKIPSCREW
  1137. If Col(5) Then Amal 5,"L RH=1;A 1,(29,10)(28,10)(27,10)(26,10)(25,10)(24,10);L RH=0" : Amal On(5) : SCREWUPFX
  1138. SKIPSCREW: Rem Leave routine
  1139. End Proc
  1140. Procedure SCREWDOWN
  1141. Rem O.K,Now screwdown
  1142. If Amreg(5)>0 Then Goto SCREW2
  1143. If Col(3) Then Amal 3,"L RF=1;A 1,(24,11)(25,11)(26,11)(27,11)(28,11)(29,11);L RF=2" : Amal On(3) : SCREWDNFX
  1144. SCREW2: Rem screw 1 already tightened
  1145. If Amreg(6)>0 Then Goto SCREW3
  1146. If Col(4) Then Amal 4,"L RG=1;A 1,(24,11)(25,11)(26,11)(27,11)(28,11)(29,11);L RG=2" : Amal On(4) : SCREWDNFX
  1147. SCREW3: Rem screw2 already tightened 
  1148. If Amreg(7)>0 Then Pop Proc
  1149. If Col(5) Then Amal 5,"L RH=1;A 1,(24,11)(25,11)(26,11)(27,11)(28,11)(29,11);L RH=2" : Amal On(5) : SCREWDNFX
  1150. End Proc
  1151. Procedure SCREWDONE
  1152. If Amreg(5)<>2 Then Pop Proc
  1153. If Amreg(6)<>2 Then Pop Proc
  1154. If Amreg(7)<>2 Then Pop Proc
  1155. If Amreg(10)<2 Then Pop Proc
  1156. Rem ********** End Of Level********* 
  1157. Amreg(13)=Amreg(13)+2000
  1158. Sam Play 4,2,3300
  1159. Bob 30,X Bob(30)+8,,60
  1160. Wait 100
  1161. Amal Off 
  1162. LEVDONE
  1163. Wait 300 : Bob Off 
  1164. Fade 5 : Wait 50 : Screen Close 0
  1165. Amreg(11)=Amreg(11)+1
  1166. SETCHAN: LEVELSORT
  1167. End Proc
  1168. Procedure SCREWDNFX
  1169. Sam Play 4,2,18100
  1170. End Proc
  1171. Procedure SCREWUPFX
  1172. Sam Play 4,2,10100
  1173. End Proc
  1174. Procedure SCREWBLOW
  1175. Amal Off 
  1176. X$="A 1,(33,6)(34,6)(35,6)(36,6)(8,3)"
  1177. Bob Update On 
  1178. Wait 40
  1179. Bob 32,X Bob(3)+20,Y Bob(3)+20,8 : Amal 15,X$ : Amal On(15) : Boom : Bob 3,,,59 : Wait 80
  1180. Bob 32,X Bob(4)+20,Y Bob(4)+20,8 : Amal 15,X$ : Amal On(15) : Boom : Bob 4,,,59 : Wait 80
  1181. Bob 32,X Bob(5)+20,Y Bob(5)+20,8 : Amal 15,X$ : Amal On(15) : Boom : Bob 5,,,59 : Wait 80
  1182. SCORE
  1183. Wait 100
  1184. OVER
  1185. Wait 250 : Screen Close 0
  1186. Goto ST
  1187. End Proc
  1188. Procedure LEVDONE
  1189. Channel 10 To Bob 10 : Channel 11 To Bob 11 : Channel 12 To Bob 12 : Channel 13 To Bob 13
  1190. Channel 9 To Bob 14 : Channel 15 To Bob 15
  1191. Bob Update On 
  1192. Bob 10,330,200,55 : Bob 11,330,200,55 : Bob 12,330,200,55 : Bob 13,330,200,55
  1193. Bob 14,330,200,55 : Bob 15,330,200,55
  1194. LEV$="M -270,20,20;M -100,-120,80;M 0,-45,20;M 180,0,70;L X=170"
  1195. Amal 10,LEV$ : Amal 11,LEV$ : Amal 12,LEV$ : Amal 13,LEV$ : Amal 9,LEV$
  1196. Amal 15,LEV$
  1197. Amal On(10) : Wait 15 : Amal On(11) : Wait 15 : Amal On(12) : Wait 15 : Amal On(13)
  1198. Wait 15 : Amal On(9) : Wait 15 : Amal On(15)
  1199. Wait 250
  1200. Screen Open 1,320,26,4,Lowres
  1201. Screen Display 1,112,10,,
  1202. Screen 1 : Curs Off : Cls 0 : Paper 0 : Pen 2
  1203. Locate 1,1 : Print "SCORE........"
  1204. Channel 14 To Screen Display(1)
  1205. Amal 14,"M 0,100,60" : Amal On(14)
  1206. Wait 140
  1207. Wait Vbl : Locate 1,1 : Print "No of Blocks Used   ";Amreg(14)
  1208. Locate 1,2 : Print "Score :  ";Amreg(13)
  1209. Wait 130
  1210. For BLOX=0 To Amreg(14)
  1211. Cls 0
  1212. Wait Vbl : Locate 1,1 : Print "No of Blocks Used   ";Amreg(14)
  1213. Locate 1,2 : Print "Score Minus Blocks Used:   ";Amreg(13)
  1214. Sam Play 4,1,18000 : Wait 8
  1215. Amreg(13)=Amreg(13)-10 : Amreg(14)=Amreg(14)-1
  1216. Next BLOX
  1217. Ink 3 : Box 0,0 To 319,23
  1218. Wait 250 : Amal On 
  1219. Screen Close 1
  1220. End Proc
  1221. Procedure STAT
  1222. If Amreg(18)>2 Then SCREWBLOW
  1223. If Amreg(15)=1 Then Goto SKIPSTAT1
  1224. If Col(3) : XP=X Bob(3) : YP=Y Bob(3) : Paste Bob XP,YP,58 : Amreg(15)=1
  1225. Sam Play 2,1,6000 : Amreg(18)=Amreg(18)+1 : Pop Proc : End If 
  1226. SKIPSTAT1: If Amreg(16)=1 Then Goto SKIPSTAT2
  1227. If Col(4) : XP=X Bob(4) : YP=Y Bob(4) : Paste Bob XP,YP,58 : Amreg(16)=1
  1228. Sam Play 2,1,6000 : Amreg(18)=Amreg(18)+1 : Pop Proc : End If 
  1229. SKIPSTAT2: If Amreg(17)=1 Then Goto SKIPSTAT
  1230. If Col(5) : XP=X Bob(5) : YP=Y Bob(5) : Paste Bob XP,YP,58 : Amreg(17)=1
  1231. Sam Play 2,1,6000 : Amreg(18)=Amreg(18)+1 : Pop Proc : End If 
  1232. SKIPSTAT: Rem all screws are loaded,blow it ! !
  1233. End Proc
  1234. Procedure INFO
  1235. Screen Open 0,320,250,4,Lowres
  1236. Curs Off : Hide On : Flash Off : Cls 0
  1237. Paper 0 : Pen 1 : Locate 5,7 : Print "Also from Edgeways Corp...."
  1238. Locate 5,9 : Print "Sour Grapes (Deja Vu Licenseware)"
  1239. Locate 9,11 : Print "Coming soon....."
  1240. Locate 5,14 : Print "Weird In Edgeways II   ! !"
  1241. Locate 1,18 : Pen 2 : Print "Got a Screw Loose ?....(Press a Key)"
  1242. Wait Key 
  1243. End Proc
  1244. Procedure PAUSE
  1245. Amal Freeze 
  1246. Play 8,61,5 : Play 8,64,5 : Play 8,68,5 : Wait 5
  1247. Screen Open 1,320,26,4,Lowres
  1248. Screen Display 1,112,10,,
  1249. Screen 1 : Cls 0 : Curs Off : Paper 0 : Pen 1
  1250. Locate 1,1 : Print "       STATUS:   PAUSED             "
  1251. Pen 2 : Paper 0
  1252. Locate 1,2 : Print " SCORE ";Amreg(13);" : Hit 'c' to continue"
  1253. Ink 3 : Box 0,0 To 319,23
  1254. Amal 14,"M 0,100,60" : Amal On(14)
  1255. REDO: Rem wait for key press to cont 
  1256. If Inkey$="c" Then Screen Close 1 : Amal On : Pop Proc
  1257. Goto REDO
  1258. End Proc
  1259. SETCHAN
  1260. LEVELSORT
  1261. GO: Rem        ****START******** 
  1262. Autoback 2
  1263. Bob Update Off 
  1264. GAME
  1265. Procedure GAME
  1266. Do 
  1267. Wait Vbl : Screen Swap : Sprite Update 
  1268. If Inkey$="p" Then PAUSE
  1269. Rem Check if screws are all down & bugs killed 
  1270. If Spritebob Col(4,30 To 30) Then SCREWDONE
  1271. DROP
  1272. BUGSCREW
  1273. If Bob Col(32,3 To 5) Then STAT
  1274. CURSOR
  1275. BLOCKPLACE1
  1276. BUGSCREW2
  1277. BLOCKPLACE
  1278. If Bob Col(6,8 To 29) Then BUG1
  1279. SCREWCHECK
  1280. If Bob Col(7,8 To 29) Then BUG2
  1281. Sprite Update 
  1282. BUGCHECK2
  1283. BLOCKPLACE1
  1284. If Spritebob Col(4,8 To 29) Then DROID1
  1285. BLOCKPLACE
  1286. BUGCHECK1
  1287. Wait Vbl : Bob Update : Screen Swap 
  1288. Loop 
  1289. End Proc