home *** CD-ROM | disk | FTP | other *** search
/ AMOS PD CD / amospdcd.iso / 376-400 / apd376 / megademo6_source.asc < prev    next >
Text File  |  1994-01-01  |  74KB  |  1,666 lines

  1. Set Buffer 50
  2. ' This is the source of the Fanatix Megademo 6 
  3. ' ALL code by JAG over 2 months of hard work.  
  4. '
  5. ' Remember, this code is unlocked.  We don't mind people looking through 
  6. '  for help in AMOS, but we cannot stand bloody code rippers!!!
  7. '  We get ALL AMOS demos that are released, and with the new rules 
  8. '  from Sandra Sharkey, we will look through your code to check for
  9. '  lame code ripping...  And if we find that you have, we will tell
  10. '  everybody how utterly talentless you really are...  It is in no way 
  11. '  clever to rip off other peoples code, anyone can do that. 
  12. '
  13. ' While looking about you may notice that the 'HOW I WON THE WAR' code 
  14. '  (or part of it) is run before anything else!  This last minute botch
  15. '  was used so the Amigas memory is allocated properly, or the demo would
  16. '  crash 90% of times.  Also, only the banks from the intro are stored in this 
  17. '  code, the others have to be loaded from your original disks.
  18. '
  19. ' Good luck in understanding all this, as the code is spaghetti..... 
  20. '
  21. ' We are available for hire as freelance AMOS programmers, so contact
  22. '  us if you want something written. (Not likely after looking through this!!) 
  23. '
  24. ' This code must not be edited and recompiled by PD libraries. 
  25. '
  26. Led Off : Degree : Music 1
  27. Dim CX#(720),A(3),B(3),FL$(5),CX(720)
  28. Dim XC(4),YC(4),XIC(4),YIC(4)
  29. Dim VU(4),C0(16),C1(16),C2(16),C3(16)
  30. Dim X#(4),SB(4),AN$(10),X2#(4),SB2(4)
  31. Shared XC(),YC(),XIC(),YIC()
  32. Shared CX#(),CX(),A(),B(),F,T$,T1$,T2$,T3$,T0$,X,Y,XI,YI,FL$(),A$,B$,C$,D$,E$
  33. Shared VU(),C0(),C1(),C2(),C3(),CH,X#(),SB(),AN$(),X2#(),SB2()
  34. Global XC(),YC(),XIC(),YIC()
  35. Global CX#(),CX(),A(),B(),F,T$,T1$,T2$,T3$,T0$,X,Y,XI,YI,FL$(),A$,B$,C$,D$,E$
  36. Global VU(),C0(),C1(),C2(),C3(),CH,X#(),SB(),AN$(),X2#(),SB2()
  37. No Mask : For F=1 To 31 : Make Mask F : Next F
  38. Screen Open 0,750,380,8,Lowres : Flash Off : Curs Off : Cls 0 : Hide On 
  39. Screen Open 1,750,380,8,Lowres : Flash Off : Curs Off : Cls 0
  40. Screen Display 0,,30,,
  41. Screen Display 1,,30,,
  42. Wait Vbl : Dual Playfield 0,1
  43. Screen Hide 0
  44. Screen Open 2,800,30,8,Lowres : Flash Off : Hide On : Curs Off : Cls 0
  45. Screen Display 2,110,280,, : Get Sprite Palette 
  46. Screen 0 : Palette 0,$F00,$D00,$B00,$900,$700,$500,$300,0,$F,$D,$B,$9,$7,$5,$3
  47. For F=16 To 28 Step 4 : Colour F,$0 : Colour F+1,$CCD : Colour F+2,$889 : Colour F+3,$334 : Next F
  48. X=-10
  49. For F=0 To 740 Step 10
  50. Add X,10
  51. For G=-120 To 300 Step 60
  52. If(Cos(X)*10)+G<-90 Then Goto N
  53. If(Cos(X)*10)+G>350 Then Goto N
  54. Screen 0 : Paste Bob F,((Cos(X))*10)+G,2
  55. N:
  56. Next G
  57. For G=-120 To 300 Step 60
  58. If(Cos(X)*35)+G<-90 Then Goto N2
  59. If(Cos(X)*35)+G>350 Then Goto N2
  60. Screen 1 : Paste Bob 740-F,((Cos(X))*35)+G,2
  61. N2:
  62. Next G
  63. Next F
  64. For F=0 To 380 Step 2 : Screen 0 : Ink 0 : Draw 0,F To 750,F : Next F
  65. Screen Offset 0,1,1 : Screen Offset 1,1,1
  66. CH=1
  67.    T$="  FANATIX PRESENT....         MEGADEMO 6!!!!!      AFTER A LONG WAIT, (WELL NOT THAT LONG), WE ARE BACK WITH A "
  68. T$=T$+"NEW TWO DISK MEGADEMO..  IT USES 2 DRIVES, AND ALL THE MEMORY I COULD SQUEEZE OUT FROM A 1 MEG AMIGA (IT WAS WRITTEN"
  69. T$=T$+" ON A 1.5 MEG MACHINE, AND THAT RAN OUT SOMETIMES!!!)....    SO IF THIS MEGADEMO CRASHES OUT OR STARTS JERKING REALLY BADLY, THEN"
  70. T$=T$+" RESET AND RELOAD COS YOUR MACHINE HAS JUST RUN OUT OF CHIP MEM.  THIS MEGADEMO IS PARTICULARLY BAD ON THE CHIP MEM SIDE, COPPERBITZ LEAVES"
  71. T$=T$+" NOT ENOUGH EVEN FOR A LOGO, AND THE MUSIC IS SMALL TOO...  THIS INTRO WILL BE USED ON THE FRONT OF ALL OUR PRODUCTIONS FROM NOW ON, IT IS THE NEW FANATIX COPPER INTRO!!"
  72. T$=T$+"      IT WAS CODED BY JAG, GFX BY JAG, FONT BY RSI, AND MUSIC BY 4 MAT OF ANARCHY...    THE TUNE IS FAKE CHIP MUSIC, AND I HAVE A FEW DISKS FULL OF IT.  THE MODULES ARE REALLY SMALL"
  73. T$=T$+", BUT I REALLY LIKE THE SOUND OF IT!!!          HERES CHAOS...                  GROOVE, WE HAD SO FEW IDEAS FOR THIS MEGADEMO THAT WE DID A GAME!!!  CUTEFISH IS REALLY COOL, I DID THE EXCELLENT"
  74. T$=T$+" GFX, JAG DID THE MINDBLOWING CODE, AND THE SOUNDTRACK IS A HUGE 2000K MASTERPIECE WRITTEN BY KEFRENS..(ALL THIS IS CRAP - JAG)   AS FOR THE OTHER BITS, THE MAJORITY OF THEM ARE TECHNICALLY"
  75. T$=T$+" BRILLIANT (MORE CRAP - JAG), EXCEPT FOR 'HOW I WON THE WAR' (I DIDN'T DO THE LOGO, HONEST)..  BY THE WAY, YOU WILL LIKE MY LOGO ON FULL METAL VECTORS, "
  76. T$=T$+"CHECK OUT THE SKULLS.  ANYWAY, I MUST GO NOW, AS JAG IS ITCHING TO GET AT THE KEYBOARD (OH NO I'M NOT - JAG)....                IT'S NO FUN HAVING THE"
  77. T$=T$+" KEYBOARD PASSED BACK TO YOU.  THERE IS NOTHING TO SAY SO I WILL GREET PEOPLE...   BITMAP, CYBORNETICS, ALMIGHTY, THE BEHOLDER, ROBOTS, HANISSIS 5, SANDRA SHARKEY, SYNTEX, ANNE AND"
  78. T$=T$+" LEN TUCKER, FRANCOIS LIONET, AND ALL THE REST...   BY THE WAY, THE LOADER IS CODED BY JAG, GFX BY JAG, AND MUSIC BY DEFJAM.   SEE YA...                          "
  79. A$=" R:  L X=1; P; F:  L X=X+10; I X>360 J R; P; J F;"
  80. B$=" L X=301; B:  L X=X-10; I X<1 J R; P; J B; R:  L X=361; J B;"
  81. C$=" R:  L Y=1; P; D:  L Y=Y+2; I Y>60 J R; P; J D;"
  82. SC$="L RB=0; R:  L RA=1; P; L:  L RA=RA+4; L X=RA; L RB=RB+1; I RB=4 J G; H:  I X>384 J R; P; J L; G:  L RB=0; J H;"
  83. Channel 0 To Screen Offset 0 : Channel 2 To Screen Offset 0
  84. Channel 1 To Screen Offset 1 : Channel 3 To Screen Offset 2
  85. Amal 0,C$ : Amal 1,A$ : Amal 2,B$ : Amal 3,SC$ : Amal On 
  86. Screen Show 0 : Screen 2
  87. Do 
  88. Add X,3 : If X>360 Then Add X,-360
  89. Add Y,4 : If Y>360 Then Add Y,-360
  90. Sprite 0,(Sin(X)*120)+288,(Sin(Y)*100)+148,3
  91. Inc T : If T=300 Then T=0 : Gosub CCOL
  92. Gosub MESSAGE
  93. Wait Vbl 
  94. If Mouse Key=1 Then Goto DIE
  95. Loop 
  96. MESSAGE:
  97. B=Asc(Mid$(T$,CH,1))
  98. SC=Amreg(0)
  99. N=Amreg(1)
  100. If N=3 Then Gosub NCHAR
  101. Return 
  102. NCHAR:
  103. Screen 2
  104. Add CH,1,1 To Len(T$)
  105. Paste Bob SC-16,5,B : Paste Bob SC+368,5,B
  106. Return 
  107. CCOL:
  108. Screen 0
  109. Inc CTYPE : If CTYPE=7 Then CTYPE=1
  110. If CTYPE=1 Then Fade 3,0,$F00,$D00,$B00,$900,$700,$500,$300,0,$F,$D,$B,$9,$7,$5,$3
  111. If CTYPE=2 Then Fade 3,0,$F0,$D0,$B0,$90,$70,$50,$30,0,$F,$D,$B,$9,$7,$5,$3
  112. If CTYPE=3 Then Fade 3,0,$F,$D,$B,$9,$7,$5,$3,0,$F00,$D00,$B00,$900,$700,$500,$300
  113. If CTYPE=4 Then Fade 3,0,$F00,$D00,$B00,$900,$700,$500,$300,0,$F0,$D0,$B0,$90,$70,$50,$30
  114. If CTYPE=5 Then Fade 3,0,$F0,$D0,$B0,$90,$70,$50,$30,0,$F00,$D00,$B00,$900,$700,$500,$300
  115. If CTYPE=6 Then Fade 3,0,$F,$D,$B,$9,$7,$5,$3,0,$F0,$D0,$B0,$90,$70,$50,$30
  116. Return 
  117. DIE:
  118. Amal Off 
  119. Screen 2 : Fade 3 : Wait 45
  120. Sprite Off : Screen 0 : Fade 3
  121. For F=63 To 0 Step -1
  122. Mvolume F : For T=0 To 500 : Next T
  123. Next F
  124. Screen Close 2 : Screen Close 0 : Music Off : Mvolume 63
  125. T$=" "
  126. Erase 1 : Erase 5
  127. Proc LAME
  128. Load "lo14",14 : Load "lo15",15
  129. LDER:
  130. Load "lospr",1 : Load "lomus",3
  131. Led Off : Music 1
  132. Screen Open 0,320,216,8,Lowres : Flash Off : Curs Off : Cls 0 : Hide On 
  133. Update On : Synchro On 
  134. Set Rainbow 1,1,64,"(1,2,15)(1,-2,15)","(1,2,15)(1,-2,15)","(1,2,15)(1,-2,15)"
  135. Rainbow 1,0,274,30
  136. Unpack 14 To 0 : Fade 3,0,4095,2783,1471,141,90,54,35 : Wait 45
  137. Synchro Off 
  138. For F=18 To 31 Step 2
  139. Colour(F),$22F : Colour(F-1),$99F
  140. Flash F,"(fff,3)(ddd,3)(bbb,3)(999,3)(777,3)(555,3)(333,3)(111,3)(333,3)(555,3)(777,3)(999,3)(bbb,3)(ddd,3)"
  141. Flash F+1,"(ddd,3)(bbb,3)(999,3)(777,3)(555,3)(333,3)(111,3)(000,3)(111,3)(333,3)(555,3)(777,3)(999,3)(bbb,3)"
  142. Wait Rnd(5)+2
  143. Next F
  144. A$=" L X=Z(320)+128; L R0=Z(7)+1; L:  L X=X+R0; I X>448 J R; P; J L; R:  L X=126;  L R0=Z(7)+1; J L; "
  145. Set Rainbow 0,6,16,"","","" : Rainbow 0,0,136,16
  146. Rain(0,0)=$B00 : Rain(0,1)=$F33 : Rain(0,2)=$F77 : Rain(0,3)=$FAA : Rain(0,4)=$FAA : Rain(0,5)=$F77 : Rain(0,6)=$F33 : Rain(0,7)=$B00
  147. For F=8 To 15 : Rain(0,F)=Colour(6) : Next F
  148. For F=8 To 38 : Sprite F,10,((F-7)*7)+45,1 : Next F
  149. For F=8 To 40 : Channel F To Sprite F : Amal F,A$ : Next F
  150. Amal On 
  151. R=0 : H=136
  152. Do 
  153. If Fire(1)=-1 Then Goto NDEMO
  154. If Jup(1)=-1 Then Gosub UP
  155. If Jdown(1)=-1 Then Gosub DWN
  156. Synchro : Wait Vbl 
  157. Loop 
  158. DWN:
  159. If H=224 Then Return 
  160. For F=H To H+10
  161. Rainbow 0,0,F,16
  162. Synchro : Wait Vbl 
  163. Next F
  164. H=F
  165. Return 
  166. UP:
  167. If H=136 Then Return 
  168. For F=H To H-10 Step -1
  169. Rainbow 0,0,F,16
  170. Synchro : Wait Vbl 
  171. Next F
  172. Rainbow 0,0,F,16
  173. H=F
  174. Return 
  175. NDEMO:
  176. Rainbow 0,0,350,16 : Rainbow Del 0
  177. Flash Off : Fade 3
  178. For F=63 To 0 Step -1
  179. Mvolume F : For T=0 To 500 : Next T : Next F
  180. Sprite Off : Amal Off 
  181. Screen Close 0 : Rainbow Del 1
  182. Music Off : Mvolume 63
  183. Update On : Synchro On 
  184. If H=136 Then Goto UNLIMITEDBOBS2
  185. If H=147 Then Goto FULLMETALVECTORS
  186. If H=158 Then Goto HOWIWONTHEWAR
  187. If H=169 Then Goto LIGHTSALIVE
  188. If H=180 Then Goto PSYCHOBOBS
  189. If H=191 Then Goto COPPERBITZ
  190. If H=202 Then Goto MULTISCROLL3
  191. If H=213 Then Goto CUTEFISH
  192. If H=224 Then Goto OUTRO
  193. UNLIMITEDBOBS2:
  194. If Exist("FXMegademo6DiskA:")=0 Then Gosub DISKCHANGEA
  195. Dir$="FXMegademo6DiskA:"
  196. Gosub LDING
  197. Erase 1
  198. Load "ubspr",1 : Load "ubmus",3
  199. Gosub LDINGSTOP
  200. Proc UNLIMITEDBOBS2
  201. Erase 1
  202. Goto LDER
  203. FULLMETALVECTORS:
  204. If Exist("FXMegademo6DiskA:")=0 Then Gosub DISKCHANGEA
  205. Dir$="FXMegademo6DiskA:"
  206. Gosub LDING
  207. Erase 1
  208. Load "fmvmus",3 : Load "fmv5",5
  209. Gosub LDINGSTOP
  210. Proc FULLMETALVECTORS
  211. Erase 5
  212. Goto LDER
  213. HOWIWONTHEWAR:
  214. If Exist("FXMegademo6DiskA:")=0 Then Gosub DISKCHANGEA
  215. Dir$="FXMegademo6DiskA:"
  216. Gosub LDING
  217. Erase 1
  218. Load "warspr",1 : Load "warmus",3 : Load "war6",6 : Load "war7",7
  219. Gosub LDINGSTOP
  220. Proc HOWIWONTHEWAR
  221. Erase 1 : Erase 6 : Erase 7
  222. Goto LDER
  223. LIGHTSALIVE:
  224. If Exist("FXMegademo6DiskB:")=0 Then Gosub DISKCHANGEB
  225. Dir$="FXMegademo6DiskB:"
  226. Gosub LDING
  227. Erase 1
  228. Load "laspr",1 : Load "lamus",3 : Load "la6",6
  229. Gosub LDINGSTOP
  230. Proc LIGHTSALIVE
  231. Erase 1 : Erase 6
  232. Goto LDER
  233. PSYCHOBOBS:
  234. If Exist("FXMegademo6DiskB:")=0 Then Gosub DISKCHANGEB
  235. Dir$="FXMegademo6DiskB:"
  236. Gosub LDING
  237. Erase 1
  238. Load "pbspr",1 : Load "pbmus",3 : Load "pb5",5
  239. Gosub LDINGSTOP
  240. Proc PSYCHOBOBS
  241. Erase 1 : Erase 5
  242. Goto LDER
  243. COPPERBITZ:
  244. If Exist("FXMegademo6DiskB:")=0 Then Gosub DISKCHANGEB
  245. Dir$="FXMegademo6DiskB:"
  246. Gosub LDING
  247. Erase 1
  248. Load "cbspr",1 : Load "cbmus",3
  249. Gosub LDINGSTOP
  250. Proc COPPERBITZ
  251. Erase 1
  252. Goto LDER
  253. MULTISCROLL3:
  254. If Exist("FXMegademo6DiskB:")=0 Then Gosub DISKCHANGEB
  255. Dir$="FXMegademo6DiskB:"
  256. Gosub LDING
  257. Erase 1
  258. Load "msspr",1 : Load "msmus",3 : Load "ms5",5 : Load "ms6",6
  259. Gosub LDINGSTOP
  260. Proc MULTISCROLL
  261. Erase 1 : Erase 5 : Erase 6
  262. Goto LDER
  263. CUTEFISH:
  264. If Exist("FXMegademo6DiskB:")=0 Then Gosub DISKCHANGEB
  265. Dir$="FXMegademo6DiskB:"
  266. Gosub LDING
  267. Erase 1
  268. Load "cfspr",1 : Load "cfmus",3 : Load "cf5",5 : Load "cf6",6 : Load "cf7",7
  269. Gosub LDINGSTOP
  270. Proc CUTEFISH
  271. Erase 1 : Erase 5 : Erase 6 : Erase 7
  272. Goto LDER
  273. OUTRO:
  274. If Exist("FXMegademo6DiskB:")=0 Then Gosub DISKCHANGEB
  275. Dir$="FXMegademo6DiskB:"
  276. Gosub LDING
  277. Erase 1
  278. Load "oumus",3 : Load "ou5",5 : Load "ou6",6
  279. Gosub LDINGSTOP
  280. Proc OUTRO
  281. Stop 
  282. DISKCHANGEA:
  283. Screen Open 0,320,120,8,Lowres : Flash Off : Curs Off : Cls 0 : Hide On 
  284. Screen Display 0,128,-180,,
  285. Palette 0,4095,166,1092,1911,2456,3258,4076
  286. Paste Bob 100,0,5
  287. For F=-180 To 80 Step 2
  288. Screen Display 0,128,F,,
  289. Wait Vbl 
  290. Next F
  291. Repeat 
  292. Until Exist("FXMegademo6DiskA:")=-1
  293. Wait 100
  294. For F=80 To -180 Step -2
  295. Screen Display 0,128,F,,
  296. Wait Vbl 
  297. Next F
  298. Screen Close 0
  299. Return 
  300. DISKCHANGEB:
  301. Screen Open 0,320,120,8,Lowres : Flash Off : Curs Off : Cls 0 : Hide On 
  302. Screen Display 0,128,-180,,
  303. Palette 0,4095,166,1092,1911,2456,3258,4076
  304. Paste Bob 100,0,6
  305. For F=-180 To 80 Step 2
  306. Screen Display 0,128,F,,
  307. Wait Vbl 
  308. Next F
  309. Repeat 
  310. Until Exist("FXMegademo6DiskB:")=-1
  311. Wait 100
  312. For F=80 To -180 Step -2
  313. Screen Display 0,128,F,,
  314. Wait Vbl 
  315. Next F
  316. Screen Close 0
  317. Return 
  318. LDING:
  319. Unpack 15 To 0
  320. Screen Display 0,128,-300,,
  321. Shift Down 1,2,23,1
  322. For F=-300 To 40 Step 2
  323. Screen Display 0,128,F,,
  324. Wait Vbl 
  325. Next F
  326. Return 
  327. LDINGSTOP:
  328. For F=40 To -300 Step -2
  329. Screen Display 0,128,F,,
  330. Wait Vbl 
  331. Next F
  332. Shift Off : Screen Close 0
  333. Return 
  334. Procedure UNLIMITEDBOBS2
  335. Led Off : Music 1 : Degree : Hide On 
  336. No Mask : For F=1 To 3 : Make Mask F : Next F
  337. For F=1 To 720 : CX#(F)=Sin(F) : Next F
  338. CH=0
  339. Screen Open 3,800,30,8,Lowres : Flash Off : Curs Off : Cls 0
  340. Screen Display 3,110,274,,
  341. Palette 0,4095,3517,3212,2650,2104,1815,1285
  342.    T$="   HI AGAIN!!!  DO YOU REMEMBER THE FIRST FANATIX UNLIMITED BOBS DEMO???  WELL, THIS ONE HAS"
  343. T$=T$+" TWICE THE PATTERNS, A SCROLLER, AND A CLEVER TWIST.  LOOK CLOSELY AT THE BALLS...  1, 2, 3 COLOUR TYPES"
  344. T$=T$+"!!!  BUT USING THE NORMAL METHOD FOR UNLIMITED BOBS, YOU WOULD GET A RED BOB FLICKING BACKWARDS AND FORWARDS WOULDNT IT?? (THIS"
  345. T$=T$+" WILL ONLY MEAN ANYTHING TO PROGRAMMERS, SO DONT WORRY IF YOU DONT UNDERSTAND.)      WELL, MY NEW ROUTINE HAS SIDESTEPPED THIS PROBLEM"
  346. T$=T$+", MAKING IT POSSIBLE TO USE MULTICOLOURED BOBS.  ANIMATING EM IS EASY.  THIS IS HARDER....   PRESS THE RIGHT MOUSE TO CHANGE PATTERNS, AND THE LEFT TO EXIT."
  347. T$=T$+"       THE CODING IS BY JAG (AS ALWAYS), THE GFX ARE BY CHAOS, AND THE MUSIC IS BY C.P.S.  (RIPPED FROM THEIR STATION DEMO)......"
  348. T$=T$+"   FIRST THE GREETS...  GREETS FLY OUT TO BITMAP (WHAT DO YOU THINK OF THIS NEW MEGADEMO???), CYBORNETICS (BOING!), BEHOLDER (HI.), ALMIGHTY (WALLA NALLA FWEEP!)"
  349. T$=T$+", SANDRA SHARKEY (DO YOU GET FED UP OF READING SCROLLERZ???), ANNE AND LEN TUCKER (HELLO!), SYNTEX (BONJOUR.), ROBOTS (DO YOU STILL WRITE DEMOS??), ETC, ETC...."
  350. T$=T$+"            I HAVE JUST REMEMBERED SOMETHING.  THIS IS TO A. AND L. TUCKER...  IN THE MAGAZINE, THERE WAS A P.D. CHART (TOP SELLERS, OR SOMETHING).  WOULDNT IT"
  351. T$=T$+" BE BETTER IF IT ONLY INCLUDED PD AS IMPLIED IN ITS TITLE??  INSTEAD WE SEE LOADS OF LICENSEWARE STUFF (NOT PD AS POINTED OUT FREQUENTLY BY SANDRA!!)..."
  352. T$=T$+"  I HAVE NOTING MORE TO WRITE EXCEPT THAT I HAVE A MEGADRIVE FOR SALE AT A GOOD PRICE, SO CONTACT ME IF ANYBODY IS INTERESTED (ADDRESS ALL OVER THE PLACE!)"
  353. T$=T$+"    THIS REALLY IS THE PERFECT SALES GROUND!!!     BYEEEEEE........                "
  354. A$="L R1=0; R:  L R0=1; P; L:  L R0=R0+4; L X=R0; L R1=R1+1; I R1=8 J G; H:  I X>384 J R; P; J L; G:  L R1=0; J H;"
  355. Channel 0 To Screen Offset 3
  356. Amal 0,A$ : Amal On 
  357. For F=0 To 2
  358. Screen Open F,255,230,16,Lowres : Flash Off : Curs Off : Cls 0
  359. Screen Display F,170,40,,
  360. Get Sprite Palette 
  361. Next F
  362. NEXPAT:
  363. Read A(1),A(2),A(3),XI,B(1),B(2),B(3),YI,SX#,SXI#,SY#,SYI#
  364. Gosub MESSAGE : Wait Vbl 
  365. If A(1)=999 Then Restore PATDATA : Goto NEXPAT
  366. BB=1
  367. Do 
  368. For F=0 To 2
  369. Screen F : Screen To Front F
  370. If BB=1 Then Palette $0,3840,3072,2304,1536,768,15,12,9,6,3,3855,3084,2313,1542,771
  371. If BB=3 Then Palette $0,15,12,9,6,3,3855,3084,2313,1542,771,3840,3072,2304,1536,768
  372. If BB=2 Then Palette $0,3855,3084,2313,1542,771,3840,3072,2304,1536,768,15,12,9,6,3
  373. Add A(F+1),XI : If A(F+1)>360 Then Add A(F+1),-360
  374. Add B(F+1),YI : If B(F+1)>360 Then Add B(F+1),-360
  375. SX#=SX#+SXI# : If SX#>360 Then SX#=SX#-360
  376. SY#=SY#+SYI# : If SY#>360 Then SY#=SY#-360
  377. Paste Bob(CX#(A(F+1))*(CX#(SX#)*100))+115,(CX#(B(F+1))*(CX#(SY#)*100))+105,BB
  378. Gosub MESSAGE
  379. Wait Vbl 
  380. If Mouse Key=2 Then Goto NPAT
  381. If Mouse Key=1 Then Goto DIE
  382. Next F
  383. Add BB,1,1 To 3
  384. Loop 
  385. NPAT:
  386. Amal Freeze 
  387. Screen To Front 0 : Screen 0 : Fade 3
  388. For F=0 To 45 : Wait Vbl : Next F
  389. Screen 1 : Cls 0 : Screen 2 : Cls 0 : Screen 0 : Cls 0
  390. Amal On 
  391. Goto NEXPAT
  392. MESSAGE:
  393. SC=Amreg(0,0)
  394. N=Amreg(0,1)
  395. If N=7 Then Gosub NCHAR
  396. Return 
  397. NCHAR:
  398. Screen 3
  399. Add CH,1,1 To Len(T$)
  400. B=Asc(Mid$(T$,CH,1))
  401. Paste Bob SC-32,0,B : Paste Bob SC+352,0,B
  402. Return 
  403. PATDATA:
  404. Data 1,3,5,6,1,2,3,3,90,0.02,90,0.02
  405. Data 91,92,93,3,1,2,3,3,90,3.1,90,3.1
  406. Data 91,92,93,3,1,2,3,3,90,0.2,90,0.2
  407. Data 91,93,95,6,1,2,3,3,90,1,90,3
  408. Data 91,92,93,3,1,2,3,3,90,0,90,2.03
  409. Data 91,92,93,3,1,2,3,3,90,4.1,90,4.1
  410. Data 91,93,95,6,1,3,5,6,90,0.04,180,0.04
  411. Data 91,92,93,3,1,2,3,3,90,2,90,0
  412. Data 91,92,93,3,1,2,3,3,90,1.1,90,1.1
  413. Data 91,92,93,3,1,2,3,3,90,1.1,90,3.2
  414. Data 999,1,1,1,1,1,1,1,1,1,1,1
  415. DIE:
  416. Amal Off 
  417. Screen To Front 0 : Screen 0 : Fade 3 : Wait 45
  418. Screen 1 : Cls 0 : Screen 2 : Cls 0 : Screen 0 : Cls 0
  419. Screen 3 : Fade 5
  420. For F=63 To 0 Step -1
  421. Mvolume F : For T=0 To 500 : Next T : Next F
  422. Music Off 
  423. Mvolume 63
  424. For F=0 To 3 : Screen Close F : Next F
  425. T$=" "
  426. End Proc
  427. Procedure FULLMETALVECTORS
  428. Led Off : Degree 
  429. Td Dir "FXMegademo6DiskA:Objects/"
  430. Restore OBJECTNAMEDATA
  431. For F=1 To 15
  432. Read OBJECT$
  433. Td Load OBJECT$
  434. Next F
  435. Td Keep On 
  436. Music 1
  437. Gosub ITRO
  438. Wait 75
  439. Screen Open 0,320,200,16,Lowres : Flash Off : Curs Off : Cls 0 : Hide On 
  440. Double Buffer : Autoback 0
  441. FL$(1)="(FFF,3)(00F,3)(00D,3)(00B,3)(009,3)(007,3)(005,3)(003,3)(001,3)"
  442. FL$(2)="(f00,3)(d00,3)(b00,3)(900,3)(700,3)(500,3)(300,3)(100,3)(300,3)(500,3)(700,3)(900,3)(b00,3)(d00,3)"
  443. FL$(3)="(0f0,1)(0d0,1)(0b0,1)(090,1)(070,1)(050,1)(030,1)(010,20)(030,1)(050,1)(070,1)(090,1)(0b0,1)(0d0,1)"
  444. FL$(4)="(ff0,2)(dd0,2)(bb0,2)(990,2)(770,2)(550,2)(330,2)(110,2)(330,1)(550,1)(770,1)(990,1)(bb0,1)(dd0,1)"
  445. FL$(5)="(f07,1)(000,1)"
  446. Set Rainbow 0,0,16,"","",""
  447. Rainbow 0,0,34,16
  448. Set Rainbow 1,0,16,"","",""
  449. Rainbow 1,0,56,16
  450. Restore RDATA : For F=0 To 15 : Read R : Rain(0,F)=R : Rain(1,F)=R : Rainbow 0,0,34,16 : Rainbow 1,0,56,16 : Wait Vbl : Next F
  451. For F=56 To 251 : Rainbow 1,0,F,16 : Wait Vbl : Next F : Rainbow 1,0,251,16
  452. Td Screen Height 200
  453. Restore OBJDATA
  454. Palette 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  455. NOBJECT:
  456. Read OBJECT$,FLCOL,FLTYPE,X,Y,Z,DIST,XI,YI,ZI,DI,C1,C2,C3,C4,C5,C6,C7,C8
  457. If OBJECT$="endofthefuckingobjects" Then Restore OBJDATA : Goto NOBJECT
  458. Td Object 1,OBJECT$,0,0,0,0,0,0
  459. Fade 5,,,,,,,,,C1,C2,C3,C4,C5,C6,C7,C8
  460. Flash FLCOL,FL$(FLTYPE)
  461. T=0
  462. Repeat 
  463. Add X,XI : If X>360 Then Add X,-360
  464. Add Y,YI : If Y>360 Then Add Y,-360
  465. Add Z,ZI : If Z>360 Then Add Z,-360
  466. Add DIST,DI : If DIST>360 Then Add DIST,-360
  467. If OBJECT$="inbox" Then Td Move 1,0,0,670
  468. If OBJECT$<>"inbox" Then Td Move 1,(Sin(DIST+90)*750),(Sin(DIST)*200)+200,(Sin(DIST)*1500)+2500
  469. Td Angle 1,X*182,Y*182,Z*182
  470. Td Cls 
  471. Td Redraw 
  472. Screen Swap 
  473. Wait Vbl 
  474. If Mouse Key=1 Then Goto DIE
  475. Inc T
  476. Until T=510
  477. Flash Off : Fade 5
  478. If OBJECT$="inbox" Then Wait 75 : Td Kill 1 : Goto NOBJECT
  479. For F=(Sin(DIST)*1500)+2500 To 15000 Step 400
  480. Td Move 1,(Sin(DIST+90)*750),(Sin(DIST)*200)+140,F
  481. Cls 0 : Td Redraw 
  482. Screen Swap : Wait Vbl 
  483. Next F
  484. Td Kill 1
  485. Goto NOBJECT
  486. ITRO:
  487. Unpack 5 To 0 : Hide On 
  488. Fade 5,0,4095,3549,2730,2184,1365,819,3072 : Wait 75
  489. Wait 75
  490. Fade 2,,,,,,,,,$F07 : Wait 30
  491. Fade 2,,,,,,,,,,$F07 : Wait 30
  492. Fade 2,,,,,,,,,,,$F07 : Wait 30
  493. Fade 2,,,,,,,,,,,,$F07 : Wait 30
  494. Fade 2,,,,,,,,,,,,,$F07 : Wait 30
  495. Fade 2,,,,,,,,,,,,,,$F07 : Wait 30
  496. Fade 2,,,,,,,,,,,,,,,$F07 : Wait 30
  497. Fade 2,,,,,,,,,,,,,,,,$F07 : Wait 30
  498. Fade 1,,,,,,,,,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF : Wait 15
  499. Fade 2,,,,,,,,,$0,$0,$0,$0,$0,$0,$0,$0 : Wait 30
  500. Wait 75
  501. Fade 2,,,,,,,,,,,,,,,,,$FFF : Wait 60
  502. Fade 2,,,,,,,,,,,,,,,,,,$FFF : Wait 60
  503. Fade 2,,,,,,,,,,,,,,,,,,,$FFF : Wait 60
  504. Fade 2,,,,,,,,,,,,,,,,,$F07,$F07,$F07 : Wait 60
  505. Fade 2,,,,,,,,,,,,,,,,,$0,$0,$0 : Wait 60
  506. Wait 75
  507. Fade 1,,,,,,,,,,,,,,,,,,,,$FFF : Wait 15
  508. Fade 1,,,,,,,,,,,,,,,,,,,,$F07 : Wait 15
  509. Fade 1,,,,,,,,,,,,,,,,,,,,,$FFF : Wait 15
  510. Fade 1,,,,,,,,,,,,,,,,,,,,,$F07 : Wait 15
  511. Fade 1,,,,,,,,,,,,,,,,,,,,,,$FFF : Wait 15
  512. Fade 1,,,,,,,,,,,,,,,,,,,,,,$F07 : Wait 15
  513. Fade 1,,,,,,,,,,,,,,,,,,,,,,,$FFF : Wait 15
  514. Fade 1,,,,,,,,,,,,,,,,,,,,,,,$F07 : Wait 15
  515. Fade 1,,,,,,,,,,,,,,,,,,,,$FFF,$FFF,$FFF,$FFF : Wait 15
  516. Fade 1,,,,,,,,,,,,,,,,,,,,0,0,0,0 : Wait 15
  517. Fade 5 : Wait 75
  518. Return 
  519. DIE:
  520. Flash Off : Fade 5
  521. For F=63 To 0 Step -1
  522. Mvolume F : For T=0 To 500 : Next T : Next F
  523. Td Kill 1
  524. Cls 0 : Td Cls 
  525. Screen Swap 
  526. Music Off : Mvolume 63
  527. For F=251 To 34 Step -1
  528. Rainbow 1,0,F,16
  529. Wait Vbl 
  530. Next F
  531. Rainbow 1,0,34,16
  532. Rainbow Del 0 : Rainbow Del 1
  533. Screen Close 0
  534. Td Clear All : Td Quit 
  535. Dir$="FXMegademo6DiskA:"
  536. RDATA:
  537. Data $313,$535,$757,$979,$B9B,$DBD,$FDF,$FFF,$FFF,$FDF,$DBD,$B9B,$979,$757,$535,$313
  538. OBJDATA:
  539. Data "flcube",11,1,0,0,0,0,5,3,4,4,$F,$9,$5,0,0,0,0,0
  540. Data "wierdtri",10,3,0,0,0,0,2,1,3,4,$FFF,$F00,$F0,$FF0,0,0,0,0
  541. Data "fxship1",12,2,0,0,0,0,4,4,2,2,$555,$CCC,$999,$777,$999,$777,$555,$333
  542. Data "hedron",15,1,0,0,0,0,3,3,3,3,$FFF,$DDD,$BBB,$999,$777,$555,0,0
  543. Data "fxship2",10,2,0,0,0,0,2,4,5,1,$FFF,$BBB,$DDD,$55,$65,$234,0,0
  544. Data "wierdcube",15,1,0,0,0,320,1,3,5,3,$FFF,$BBB,$888,$555,0,0,0,0
  545. Data "fxship3",11,2,0,0,0,0,4,4,2,2,$F0F,$F,$F0F,$F,$F,$F0F,$F00,$F41
  546. Data "ring",13,4,0,0,0,0,5,4,3,2,$F0F,$D0D,$B0B,$909,$D0D,0,0,0
  547. Data "fxship4",12,2,0,0,0,0,1,0,3,3,$FFF,$DDD,$BBB,$999,$53,$777,$555,$333
  548. Data "inbox",15,1,0,0,0,0,5,3,4,0,$F,$B,$8,$5,0,0,0,0
  549. Data "fxship5",10,2,0,0,0,0,2,2,4,3,$F0F,$BBB,$999,$999,$F,$555,$333,$333
  550. Data "explcube",15,1,0,0,0,0,3,4,2,5,$F0F,$F0,$FF0,$FF,$F00,0,0,0
  551. Data "stmouse",10,5,0,0,0,0,3,0,0,3,$FFF,$DDD,$BBB,$999,$777,0,0,0
  552. Data "fxcube",15,1,0,0,0,0,5,5,5,5,$F00,$FF0,$F00,$F,$F00,$F00,0,0
  553. Data "endofthefuckingobjects",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  554. OBJECTNAMEDATA:
  555. Data "flcube","wierdcube","inbox","wierdtri","hedron","ring","fxship1"
  556. Data "fxship2","fxship3","fxship4","fxship5","tricube","explcube"
  557. Data "stmouse","fxcube"
  558. End Proc
  559. Procedure HOWIWONTHEWAR
  560. Degree : Led Off : Music 1
  561. No Mask : Make Mask 1 : Make Mask 2
  562. For F=1 To 360 : CX(F)=(Sin(F)*50)+100 : CX(F+360)=CX(F) : Next F
  563. Unpack 6 To 0 : Hide On 
  564. Screen Display 0,128,35,,
  565. Double Buffer 
  566. Bob 1,56,108,1 : Bob 2,253,103,2
  567. Screen Open 1,800,32,4,Lowres
  568. Flash Off : Hide On : Curs Off : Cls 0
  569. Palette 0,2511,873,327
  570. Screen Display 1,110,275,,
  571. Unpack 7 To 2 : Screen Display 2,128,199,,
  572. Shift Down 1,4,31,1
  573. Screen 1
  574. Set Rainbow 0,0,31,"(1,1,15)(1,-1,15)","",""
  575. Rainbow 0,0,40,31
  576. Set Rainbow 1,0,31,"","(1,1,15)(1,-1,15)",""
  577. Rainbow 1,0,40,31
  578. Channel 1 To Bob 1 : Channel 2 To Bob 2
  579. Channel 3 To Screen Offset 1
  580. Channel 4 To Rainbow 0 : Channel 5 To Rainbow 1
  581.    T$="     YYYYEEEEAAAAHHHH!!!!  ANOTHER FANATIX DEMO.  BIT STUPID ISN'T IT???    ANYWAY, IT'S CALLED 'HOW I WON"
  582. T$=T$+" THE WAR'....     CODING BY JAG, LOGO BY CHAOS, DUNNO WHO DIGITISED THE PICTURE...       OH, AND THE MUSIC IS BY"
  583. T$=T$+" SHARE AND ENJOY.       WHY, OH WHY, OH WHY DOES THE COMPILER NOT LIKE THE 3D EXTENSION???  IT IS REALLY PISSING ME OFF!"
  584. T$=T$+"     I DON'T REALLY WANT TO TYPE MUCH TODAY, AS THERE ARE TWO IRRITATING PEOPLE RAISING HELL IN MY ROOM...  THEY WON'T GO AWAY!"
  585. T$=T$+"   I THINK THEY SHOULD JUST LEAVE!           THE DATE IS:  22.9.91, AND WE ARE TRYING TO WORK OUT HOW TO WRITE AN ARTICLE FOR"
  586. T$=T$+" 'TOTALLY AMOS' DISC MAGAZINE...  UNFORTUNATELY, AT THE MOMENT I AM TOO BUSY WITH COLLEGE WORK, (AND DEMO WRITING OF COURSE)!!!!"
  587. T$=T$+"  BY THE WAY, DEJA VU P.D. PRICES MAKE AMIGANUTS LOOK CHEAP!!!  (WELL NOT QUITE, TO BE FAIR!)..  AS I WAS SAYING, WE ARE DOING AN ARTICLE"
  588. T$=T$+" FOR TOTALLY AMOS (AND PERHAPS A ROUTINE OR TWO).  IT WILL PROBABLY BE ABOUT HOW WE PUT DEMOS TOGETHER (SELLOTAPE IS A GOOD START!), OR WHERE"
  589. T$=T$+" WE GET OUR DEMO IDEAS FROM.....    I HAVE ASKED CHAOS TO WRITE SOMETHING, BUT HE IS SSSOOOOOO LAME, HE JUST CURLED UP AND DIED.  (PITY, I'M SURE!)"
  590. T$=T$+"      AHA!  IT IS NOW 5 HRS LATER, AND I HAVE MANAGED TO GET THE COMPILER TO ACCEPT THE 3D.  THIS (OF COURSE) IS RELATIVELY GOOD!"
  591. T$=T$+" AND I CAN START DOING OBJECTS FOR OUR VECTOR DEMO.  I HAVE DRAWN A FEW ALREADY, AND SOME OBJECTS ARE STRANGE TO SAY THE LEAST, BUT I MAY"
  592. T$=T$+" NOT USE THEM IN THE FINISHED DEMO...  WHO KNOWS, THE OBJECTS THAT DON'T MAKE THE MARK MAY BE SHOVED IN AT THE END OF THAT DEMO AS A BONUS PART.."
  593. T$=T$+"  I DON'T KNOW.....        ACTUALLY, CHAOS HAS JUST POINTED OUT THAT FANATIX HAVE BEEN GOING PROPERLY SINCE JUST BEFORE APRIL, AND ALREADY WE HAVE"
  594. T$=T$+" DONE 5 MEGADEMOS, A MUSIC DISK, AND A LONG PLAYING DEMO, WITH MEGADEMO 6 (THIS ONE), AND A HUGE VECTOR DEMO COMING SOON!!!  I'M NOT ENTIRELY SURE"
  595. T$=T$+" HOW WE HAVE MANAGED THIS, SO I AM NOT GOING TO QUESTION THE FACT...  NO GREETS IN THIS ONE.      TIME TO GO..  BBBYYYEEE.........                         "
  596. A1$="R:  L Y=110; L:  I Y<110 J R; L Y=Y-2; I V(0)>20 J U; O:  P; J L;  U:  L Y=122; J O;"
  597. A2$="R:  L Y=105; L:  I Y<105 J R; L Y=Y-2; I V(2)>20 J U; O:  P; J L;  U:  L Y=117; J O;"
  598. R$="L:  L Y=R0; P; J L;"
  599. B$="L RB=0; R:  L RA=1; P; L:  L RA=RA+4; L X=RA; L RB=RB+1; I RB=8 J G; H:  I X>384 J R; P; J L; G:  L RB=0; J H;"
  600. Amal 1,A1$ : Amal 2,A2$ : Amal 3,B$ : Amal 4,R$ : Amal 5,R$ : Amal On 
  601. H1=108 : H2=103 : H=1 : CH=1
  602. Screen 1
  603. Do 
  604. Add A,6 : If A>360 Then Add A,-360
  605. SC=Amreg(0)
  606. If Amreg(1)=7 Then Gosub NCHAR
  607. Amreg(4,0)=CX(A) : Amreg(5,0)=CX(A+120)
  608. Wait Vbl 
  609. If Mouse Key=1 Then Goto DIE
  610. Loop 
  611. NCHAR:
  612. B=Asc(Mid$(T$,CH,1))
  613. Add CH,1,1 To Len(T$)
  614. Paste Bob SC-32,0,B : Paste Bob SC+352,0,B
  615. Return 
  616. DIE:
  617. Amal Off 
  618. For F=0 To 1 : Rainbow Del F : Next F
  619. Screen 2 : Shift Off 
  620. Fade 3 : Wait 45 : Screen 1 : Fade 3 : Wait 45 : Screen 0 : Fade 3
  621. For F=63 To 0 Step -1
  622. Mvolume F : For T=0 To 500 : Next T : Next F
  623. Bob Off 
  624. Screen Close 1 : Screen Close 2 : Screen Close 0
  625. Music Off : Mvolume 63
  626. T$=" "
  627. End Proc
  628. Procedure LIGHTSALIVE
  629. Led Off : Music 1
  630. Mvolume 63
  631. No Mask : For F=1 To 32 : Make Mask F : Next F
  632. Unpack 6 To 0 : Hide On 
  633. Set Rainbow 0,1,145,"(2,1,15)(2,-1,15)","(2,1,15)(2,-1,15)","(2,1,15)(2,-1,15)"
  634. Rainbow 0,0,62,145
  635. Rain(0,117)=$111 : Rain(0,118)=$333 : Rain(0,119)=$555 : Rain(0,120)=$777 : Rain(0,121)=$999
  636. Rain(0,122)=$BBB : Rain(0,123)=$DDD : Rain(0,124)=$FFF : Rain(0,125)=$FFF : Rain(0,126)=$EEE
  637. Rain(0,127)=$DDD : Rain(0,128)=$CCC : Rain(0,129)=$BBB : Rain(0,130)=$AAA : Rain(0,131)=$999
  638. Rain(0,132)=$888 : Rain(0,133)=$777 : Rain(0,134)=$666 : Rain(0,135)=$555 : Rain(0,136)=$444
  639. Rain(0,137)=$333 : Rain(0,138)=$222 : Rain(0,139)=$111 : Rain(0,140)=$0 : Rain(0,141)=$0 : Rain(0,142)=$0
  640. For F=16 To 23 : Flash F,"(f00,200)(e20,3)(c40,3)(a60,3)(880,3)(6a0,3)(4c0,3)(2e0,3)(0f0,200)(2e0,3)(4c0,3)(6a0,3)(880,3)(a60,3)(c40,3)(e20,3)" : Next F
  641. Screen Open 1,780,32,32,Lowres : Flash Off : Curs Off : Cls 0
  642. Screen Display 1,110,260,,
  643. Screen 0
  644. Restore CDATA
  645. For F=1 To 16 : Read C0(F),C1(F),C2(F),C3(F) : Next F
  646.    T$="   HERE WE ARE AGAIN, IN ANOTHER FANATIX* DEMO...  WHAT DO YOU THINK OF THIS FONT???"
  647. T$=T$+"  I LIKE THE WAY IT CHANGES COLOURS... ALL 30 OF THEM!!!    AS USUAL, THE CODING HAS BEEN DONE BY JAG, "
  648. T$=T$+"SO WERE THE GFX...  THE MUSIC WAS MADE BY 4 MAT OF ANARCHY, AND IT IS CALLED"
  649. T$=T$+": VOYAGE.  IT IS TAKEN FROM REFLECTIONS 2, A TRULY GREAT MUSIC DISK....    "
  650. T$=T$+"    WATCH OUT FOR ONE OF OUR DEMOS IN THE PIPELINE AS IT WERE..  IT WILL BE A 3D VECTOR"
  651. T$=T$+" EXTRAVAGANZA OF MASSIVE PROPORTIONS, BUT THERE ARE A FEW PROBLEMS AT THE MOMENT BECAUSE THE COMPILER WON'T RECOGNISE THE 3D EXTENSION"
  652. T$=T$+"...  THAT WILL HAVE TO BE FIXED BEFORE THE DEMO SEES THE LIGHT OF DAY!!!  I JUST REMEMBERED, WE FORGOT TO GIVE AN ADDRESS IN MEGADEMO 5 FOR"
  653. T$=T$+" PEOPLE WHO WANT TO CONTACT US?!?!?  IT IS:  FANATIX, 29 CAMBRIDGE ROAD, GODMANCHESTER, HUNTINGDON, CAMBS, PE18 8BT...  OR YOU CAN PHONE IF"
  654. T$=T$+" YOU REALLY WANT TO..  THE NUMBER IS 0480 411568...  ASK FOR JAMES....      I AM NOW DOING MY A.LEVELS AT COLLEGE, AFTER A YEAR DOING RETAKES!!"
  655. T$=T$+" THAT WAS THE PRICE OF BEING LAZY...   THEY HAVE LOADS OF PC MACHINES UP THERE, AND MOST OF THE HAVE HARD DRIVES!!  ANYWAY, I HAVE ALREADY MADE A VERSION"
  656. T$=T$+" OF UNLIMITED BOBS ON THEM, AND I WILL SOON CONVERT MORE DEMOS.  THE MACHINES ARE BEING NETWORKED, AND I THINK THERE WILL BE A PLACE TO STICK FILES FOR"
  657. T$=T$+" ANYONE TO SEE.  THE DEMOS CAN GO THERE!  THEY USE GW BASIC, AND ALTHOUGH IT DOESN'T SUPPORT DOUBLEBUFFER, YOU CAN EMULATE THE EFFECT WITH MULTIPLE SCREENS!"
  658. T$=T$+"  THE MUSIC IS A REAL PROBLEM..  THERE ISN'T ANY!  ON THE BOBS DEMO I MADE THE MACHINES PLAY A TONE OF DIFFERENT PITCH, AND IT WAS CRAP..."
  659. T$=T$+"        RIGHT, NOW FOR THE GREETS:         OH GREAT!!  WHERE THE HELL IS THE GREETLIST?  I DON'T KNOW.  SHIT.          NO, STILL CAN'T FIND IT!  SO I WILL HAVE"
  660. T$=T$+" TO JUST DO THEM FROM MEMORY, SO SORRY IF I FORGET ANYONE..  GREETS GO TO:  BITMAP PRODS, CYBORNETICS, BEHOLDER, ALMIGHTY, SYNTEX, ROBOTS, HANISSIS 5, SANDRA SHARKEY, ER, ER...  I CAN'T"
  661. T$=T$+" THINK OF ANY MORE.. SORRY!!    HAVE YOU NOTICED THA..  NO! CAN'T BE BOTHERED TO TYPE THAT.  IT WILL TAKE TOO LONG, AND THAT WOULD BE TOO LAME."
  662. T$=T$+"  TALKING POINT:  WHY DON'T MIRRORSOFT WRITE A VERSION OF SPEEDBALL 2 THAT CAN BE PLAYED DOWN MODEM LINES WITH PEOPLE ALL OVER THE COUNTRY??  "
  663. T$=T$+" THAT WOULD CATCH ON IN A MAJOR WAY I THINK!           HOW MANY BYTES SO FAR???  HANG ON, I'LL JUST CHECK....           RIGHT, I'M BACK..  THERE ARE 2456 AT LAST COUNT!!!"
  664. T$=T$+"  HOW LONG CAN I SIT AND TYPE THIS JUNK??  WELL, IT'S NOT AS LONG AS THE SCROLLER ON OUR MUSIC DISK, THAT WAS OVER 4000 BYTES LONG!!!!  SERIOUS SCROLLTEXT!!!  BUT I DOUBT"
  665. T$=T$+" IF ANYONE ACTUALLY SAT DOWN AND READ THE WHOLE THING.  OH, HANG ON!  SANDRA SHARKEY PROBABLY DID, COS SHE HAS TO CHECK OUT WHAT PEOPLE HAVE WRITTEN"
  666. T$=T$+" IN THEIR SCROLLERS!  THAT REALLY CHEERS UP ME UP....  IT MUST HAVE BEEN SO BORING!!!  BY THE WAY, IF ANYONE HAS SOME VIRUSES LYING ABOUT, PLEASE SEND THEM TO ME AS"
  667. T$=T$+" I COLLECT THEM..  BY THE WAY, DON'T SEND THE NEW SADDAM VIRUS AS I DON'T KNOW HOW TO CONTAIN THAT YET!  RARE ONES WILL BE VERY APPRECIATED, AS I HAVE THE MORE COMMON ONES!"
  668. T$=T$+"   TIME TO GO....  BYE.....                                          "
  669. A$=" L X=234; L Y=108; L:  A 1,(R0,1); P; J L;"
  670. B$=" L X=263; L Y=108; L:  A 1,(R0,1); P; J L;"
  671. C$=" L X=292; L Y=108; L:  A 1,(R0,1); P; J L;"
  672. D$=" L X=321; L Y=108; L:  A 1,(R0,1); P; J L;"
  673. SC$="L RB=0; R:  L RA=1; P; L:  L RA=RA+4; L X=RA; L RB=RB+1; I RB=8 J G; H:  I X>384 J R; P; J L; G:  L RB=0; J H;"
  674. For F=0 To 3
  675. Sprite F,0,0,1 : Channel F To Sprite F
  676. Next F
  677. Channel 4 To Screen Offset 1
  678. Amal 0,A$ : Amal 1,B$ : Amal 2,C$ : Amal 3,D$ : Amal 4,SC$
  679. CV0=1 : CV1=1 : CV2=1 : CV3=1 : CH=0
  680. Restore FDATA
  681. Screen 1
  682. For F=2 To 31 : Read R : Colour F,R : Next F
  683. Screen 0 : Amal On : Update Every 1
  684. Do 
  685. Add V0,-2 : If V0<1 Then V0=1
  686. Add V1,-2 : If V1<1 Then V1=1
  687. Add V2,-2 : If V2<1 Then V2=1
  688. Add V3,-2 : If V3<1 Then V3=1
  689. V=Vumeter(0) : If V>1 Then V0=V/2
  690. Colour 2,C0(16-(V0/2))
  691. V=Vumeter(1) : If V>1 Then V1=V/2
  692. Colour 3,C2(16-(V1/2))
  693. V=Vumeter(2) : If V>1 Then V2=V/2
  694. Colour 4,C3(16-(V2/2))
  695. V=Vumeter(3) : If V>1 Then V3=V/2
  696. Colour 5,C1(16-(V3/2))
  697. Amreg(0,0)=V0 : Amreg(1,0)=V3 : Amreg(2,0)=V1 : Amreg(3,0)=V2
  698. SC=Amreg(0)
  699. N=Amreg(1)
  700. If N=7 Then Gosub NCHAR
  701. Inc T : If T=600 Then Gosub CCHAR
  702. Wait Vbl 
  703. If Mouse Key=1 Then Goto DIE
  704. Loop 
  705. NCHAR:
  706. Screen 1
  707. B=Asc(Mid$(T$,CH,1))
  708. If B=32 or B=33 Then Inc B
  709. Add CH,1,1 To Len(T$)
  710. Paste Bob SC-32,0,B : Paste Bob SC+352,0,B
  711. Screen 0
  712. Return 
  713. CCHAR:
  714. Screen 1
  715. For F=1 To 30
  716. Read D1,D2,D3,D4,D5,D6,D7,D8,D9,D10,D11,D12,D13,D14,D15,D16,D17,D18,D19,D20,D21,D22,D23,D24,D25,D26,D27,D28,D29,D30
  717. If D1=999 Then Restore FDATA : Goto CCHAR
  718. Fade 3,0,0,D1,D2,D3,D4,D5,D6,D7,D8,D9,D10,D11,D12,D13,D14,D15,D16,D17,D18,D19,D20,D21,D22,D23,D24,D25,D26,D27,D28,D29,D30
  719. T=0
  720. Screen 0
  721. Return 
  722. Next F
  723. CDATA:
  724. Data $F00,$F,$FF0,$F0
  725. Data $E00,$E,$EE0,$E0
  726. Data $D00,$D,$DD0,$D0
  727. Data $C00,$C,$CC0,$C0
  728. Data $B00,$B,$BB0,$B0
  729. Data $A00,$A,$AA0,$A0
  730. Data $900,$9,$990,$90
  731. Data $800,$8,$880,$80
  732. Data $700,$7,$770,$70
  733. Data $600,$6,$660,$60
  734. Data $500,$5,$550,$50
  735. Data $400,$4,$440,$40
  736. Data $300,$3,$330,$30
  737. Data $200,$2,$220,$20
  738. Data $100,$1,$110,$10
  739. Data $0,$0,$0,$0
  740. FDATA:
  741. Data $100,$200,$300,$400,$500,$600,$700,$800,$900,$A00,$B00,$C00,$D00,$E00,$F00
  742. Data $F00,$E00,$D00,$C00,$B00,$A00,$900,$800,$700,$600,$500,$400,$300,$200,$100
  743. Data $1,$3,$5,$7,$9,$B,$D,$101,$303,$505,$707,$909,$B0B,$D0D,$F0F
  744. Data $F0F,$D0D,$B0B,$909,$707,$505,$303,$101,$D,$B,$9,$7,$5,$3,$1
  745. Data $10,$20,$30,$40,$50,$60,$70,$80,$90,$A0,$B0,$C0,$D0,$E0,$F0
  746. Data $F0,$E0,$D0,$C0,$B0,$A0,$90,$80,$70,$60,$50,$40,$30,$20,$10
  747. Data $555,$777,$888,$B00,$B00,$B00,$AAA,$AAA,$AAA,$AAA,$F00,$F00,$F00,$F00,$F00
  748. Data $CCC,$CCC,$CCC,$BBB,$BBB,$B00,$B00,$B00,$B00,$888,$888,$888,$900,$800,$700
  749. Data $110,$220,$330,$440,$550,$660,$770,$880,$990,$AA0,$BB0,$CC0,$DD0,$EE0,$FF0
  750. Data $10,$30,$50,$70,$90,$B0,$D0,$F0,$D0,$B0,$90,$70,$50,$30,$10
  751. Data $1,$3,$5,$7,$9,$B,$D,$F,$D,$B,$9,$7,$5,$3,$1
  752. Data $11,$22,$33,$44,$55,$66,$77,$88,$99,$AA,$BB,$CC,$DD,$EE,$FF
  753. Data $110,$550,$990,$DD0,$FF0,$DD0,$990,$550,$110,$444,$666,$888,$AAA,$CCC,$FFF
  754. Data $FFF,$CCC,$AAA,$888,$666,$444,$110,$550,$990,$DD0,$FF0,$DD0,$990,$550,$110
  755. Data $100,$200,$300,$400,$500,$600,$700,$800,$900,$A0A,$B0B,$C0C,$D0D,$E0E,$F0F
  756. Data $F0F,$E0E,$D0D,$C0C,$B0B,$A0A,$900,$800,$700,$600,$500,$400,$300,$200,$100
  757. Data $1F,$2E,$3D,$4C,$5B,$6A,$79,$88,$97,$A6,$B5,$C4,$D3,$E2,$F1
  758. Data $F1,$E1,$D1,$C1,$B1,$A1,$91,$81,$71,$61,$51,$41,$31,$21,$11
  759. Data 999,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
  760. DIE:
  761. T$=" "
  762. Amal Freeze 
  763. Screen 1 : Fade 3 : Wait 45 : Screen Close 1
  764. For F=0 To 143 : Rain(0,F)=$0 : Rainbow 0,0,62,145 : Wait Vbl : Next F
  765. Rainbow Del 0 : Screen 0 : Fade 5
  766. For F=63 To 0 Step -1
  767. Mvolume F : For T=0 To 500 : Next T
  768. Next F
  769. Music Off : Mvolume 63
  770. Sprite Off : Screen Close 0
  771. End Proc
  772. Procedure PSYCHOBOBS
  773. ' Fastest bob demo in AMOS ever created
  774. '  Watch and weep... 
  775. Led Off : Music 1 : Degree 
  776. Screen Open 0,210,200,4,Lowres : Flash Off : Curs Off : Cls 0 : Hide On 
  777. Screen Display 0,200,72,,
  778. Screen Open 2,800,33,2,Lowres
  779. Screen Display 2,110,278,,
  780. Unpack 5 To 1
  781. Screen Display 1,128,35,,
  782. Shift Up 1,2,25,1
  783. Screen 0 : Palette 0,$F,$9,$4,$B,$9,$7,$5,$3
  784. Double Buffer 
  785. Restore RDATA
  786. Set Rainbow 0,1,192,"","",""
  787. Rainbow 0,0,276,64
  788. R=0 : F=-1
  789. Repeat 
  790. Inc F
  791. Rain(0,F)=R
  792. Read R
  793. Until R=9999999
  794. Rainbow 0,0,276,64
  795.    T$=" OH LOOK, A CRAPPY BOB DEMO WITH 8 SLOW BALLS IN A CIRCLE.......  BY THE WAY, THAT SAMPLE YOU CAN HEAR IS SAYING 'DRAGONS'!!  AS YOU SHOULD KNOW, WE WOULD NEVER "
  796. T$=T$+"RELEASE SOMETHING THAT BAD!!!  NO, INSTEAD WE DECIDED TO DO THE FASTEST BOB DEMO EVER SEEN IN AMOS."
  797. T$=T$+"  TO PROVE THE AMAZING SPEED THIS NEW ROUTINE CAN SHIFT THINGS AT, SOME OF THE LATER PATTERNS GO SO QUICKLY, YOU SEE"
  798. T$=T$+" THE ILLUSION OF THERE BEING MORE THAN 8 BOBS.  YEAH, THE ULTIMATE SPEED...  THIS MASTERBLOODYPIECE OF CODING WAS DONE"
  799. T$=T$+" BY JAG, THE GFX ARE BY CHAOS, AND THE MUSIC IS BY DRAGONS (MUCH MORE MY TYPE OF SOUND!!!)...   WHEN YOU ARE BORED STIFF OF"
  800. T$=T$+" WATCHING THESE INCREDIBLE PATTERNS, PRESS THE MOUSE TO EXIT...   NOW ON TO THE RATHER ANARCHIC TEXT... (THE BIT WHERE WE SLAG EVERYONE OFF)"
  801. T$=T$+"           WHOS FIRST????  ERR, AH YES, THE AMOS PD LIBRARY...     YOU ARE GETTING BETTER ALL THE TIME, EXCEPT FOR THE TRAVESTY OF A NAME"
  802. T$=T$+", HONESTLY, DEJA VU PD IS    NOT    A GOOD NAME!  PERHAPS YOU COULD HAVE CALLED IT FANATIX PD OR SOMETHING AND SENT US ALL THE MONEY (BUT NOT THE BILLS)."
  803. T$=T$+"   ALSO, THE IDEA OF A MEMBERSHIP CLUB AINT TOO HOT...  IN FACT ITS DIRE.  TO THE EXTREME.  GIVING PEOPLE PRIORITY SERVICE JUST COS THEY WERE GULLIBLE"
  804. T$=T$+" ENOUGH TO PAY THE EXTORTIONATE MEMBERSHIP FEE IS A BIT UNFAIR...  APART FROM THAT, YOU ARE PROVIDING A GREAT SERVICE...  DONT TAKE THIS TO HEART!"
  805. T$=T$+"         SO NOW, WE MOVE ON TO A CERTAIN GROUP, THAT CLAIM TO BE THE BEST DEMO GROUP IN THE WORLD.  OH DEAR.  FAR FROM IT.  WE ARE TALKING ABOUT"
  806. T$=T$+" HANISSIS 'WE SAY BOBS ARE BORING BUT WE FILL OUR DEMOS WITH THEM ANYWAY' FIVE.  WE DONT REALLY HAVE ANYTHING AGAINST YOU, BUT YOU ARE ONLY MAKING YOURSELVES LOOK"
  807. T$=T$+" A BIT SILLY...  PLEASE DONT TAKE THIS TOO SERIOUSLY.                ON TO...   SHELDON 'I SHALL WRITE MANCHESTER IN THE FANATIX ADDRESS REGARDLESS OF WHICH AREA THEY LIVE IN' WILSON."
  808. T$=T$+"  ONLY JOKING, HOPE YOU GOT THE LETTER OK.  WRITE BACK SOON!              AND NOW...  SYNTEX!  WE WOULD LIKE TO CONTACT YOU BUT THERE AINT NO ADDRESS!?!  ARE YOU HIDING FROM THE POLICE OR SOMETHING, "
  809. T$=T$+"OR ARE YOU JUST TRYING TO AVOID LAMERS ASKING FOR UNLOCKED ROUTINES ALL THE TIME.              WE DONT MIND HELPING PEOPLE BUT WE DON'T LIKE SPONGERS WHO TAKE ADVANTAGE OF OUR SUPERIOR TALENTS (AHEM).."
  810. T$=T$+"                 THATS OVER WITH, NOW FOR THE GREETS..  BITMAP (YO YAZOO, COOL SENDINGS)      CYBORNETICS (WRITE BACK OR WE WILL BE UNHAPPY.. SOB.)        THE BEHOLDER (THE SAME GOES FOR YOU)"
  811. T$=T$+"      ROBOTS (WHERE ARE SOME NEW DEMOS??)       SYNTEX (YO FREAX)        HANISSIS 5 (HEHEHE!   SORRY..)      SANDRA SHARKEY (HOW DO YOU LIKE THIS ONE THEN??)      ANNE AND LEN TUCKER (I WILL SEND YOU A SUBSCRIPTION FOR TOTALLY AMOS"
  812. T$=T$+" WHEN I HAVE BOUGHT A CAR)       ALMIGHTY (YO...)        STEVE AND TRISHA OF BLITTERCHIPS (IF YOU ARE READING THIS THEN I NEED A CATALOGUE BADLY!!!)       FRANCOIS LIONET, ETC...."
  813. T$=T$+"   RIGHT, THAT BRINGS THIS SCROLL TO A CLOSE.  GOODBYE...                  LOOK, GO AWAY WILL YOU???!?!?                                              "
  814. For F=1 To 720 : CX(F)=(Sin(F)*90)+90 : Next F
  815. No Mask : For F=1 To 10 : Make Mask F : Next F
  816. A$="R:  L X=0; P; L:  L X=X+1; I X>191 J R; P; J L;"
  817. B$="L RB=0; R:  L RA=1; P; L:  L RA=RA+8; L X=RA; L RB=RB+1; I RB=4 J G; H:  I X>384 J R; P; J L; G:  L RB=0; J H;"
  818. C$="L:  L X=R0; L Y=R1; P; J L;"
  819. For F=0 To 7
  820. Set Bob F,1,, : Bob F,,,1
  821. Channel F To Bob F : Amal F,C$
  822. Next F
  823. Channel 8 To Screen Offset 2
  824. Channel 9 To Rainbow 0
  825. Amal 8,B$ : Amal 9,A$ : Amal On 
  826. CH=1
  827. REDO:
  828. Restore PATDATA1
  829. NUPAT:
  830. Read X,Y,XI,YI,XA1,YA1,XA2,YA2,XA3,YA3,XA4,YA4,XA5,YA5,XA6,YA6,XA7,YA7
  831. If X=999 Then Goto REDO
  832. Screen 2
  833. T=0
  834. Repeat 
  835. Add X,XI : If X>360 Then Add X,-360
  836. Add Y,YI : If Y>360 Then Add Y,-360
  837. Amreg(0,0)=CX(X) : Amreg(0,1)=CX(Y)
  838. Amreg(1,0)=CX(X+XA1) : Amreg(1,1)=CX(Y+YA1)
  839. Amreg(2,0)=CX(X+XA2) : Amreg(2,1)=CX(Y+YA2)
  840. Amreg(3,0)=CX(X+XA3) : Amreg(3,1)=CX(Y+YA3)
  841. Amreg(4,0)=CX(X+XA4) : Amreg(4,1)=CX(Y+YA4)
  842. Amreg(5,0)=CX(X+XA5) : Amreg(5,1)=CX(Y+YA5)
  843. Amreg(6,0)=CX(X+XA6) : Amreg(6,1)=CX(Y+YA6)
  844. Amreg(7,0)=CX(X+XA7) : Amreg(7,1)=CX(Y+YA7)
  845. SC=Amreg(0)
  846. N=Amreg(1)
  847. If N=3 Then Gosub NCHAR
  848. Inc T
  849. Wait Vbl 
  850. If Mouse Key=1 Then Goto DIE
  851. Until T=600
  852. Goto NUPAT
  853. NCHAR:
  854. B=Asc(Mid$(T$,CH,1))
  855. Add CH,1,1 To Len(T$)
  856. Paste Bob SC-32,1,B : Paste Bob SC+352,1,B
  857. Return 
  858. DIE:
  859. Amal Off 
  860. For F=278 To 318
  861. Screen Display 2,110,F,,
  862. Wait Vbl 
  863. Next F
  864. Screen Close 2 : Rainbow Del 0
  865. Screen 0 : Fade 3 : Wait 45
  866. Bob Off : Screen Close 0
  867. Screen 1 : Shift Off 
  868. Fade 5
  869. For F=63 To 0 Step -1
  870. For T=0 To 500 : Next T : Mvolume F : Next F
  871. Screen Close 1
  872. Music Off : Mvolume 63
  873. T$=" "
  874. RDATA:
  875. Data $0,$100,$200,$300,$400,$500,$600,$700,$800,$900,$A00,$B00,$C00,$D00,$E00,$F00
  876. Data $F00,$E00,$D00,$C00,$B00,$A00,$900,$800,$700,$600,$500,$400,$300,$200,$100,$0
  877. Data $0,$110,$220,$330,$440,$550,$660,$770,$880,$990,$AA0,$BB0,$CC0,$DD0,$EE0,$FF0
  878. Data $FF0,$EE0,$DD0,$CC0,$BB0,$AA0,$990,$880,$770,$660,$550,$440,$330,$220,$110,$0
  879. Data $0,$10,$20,$30,$40,$50,$60,$70,$80,$90,$A0,$B0,$C0,$D0,$E0,$F0
  880. Data $F0,$E0,$D0,$C0,$B0,$A0,$90,$80,$70,$60,$50,$40,$30,$20,$10,$0
  881. Data $0,$11,$22,$33,$44,$55,$66,$77,$88,$99,$AA,$BB,$CC,$DD,$EE,$FF
  882. Data $FF,$EE,$DD,$CC,$BB,$AA,$99,$88,$77,$66,$55,$44,$33,$22,$11,$0
  883. Data $0,$1,$2,$3,$4,$5,$6,$7,$8,$9,$A,$B,$C,$D,$E,$F
  884. Data $F,$E,$D,$C,$B,$A,$9,$8,$7,$6,$5,$4,$3,$2,$1,$0
  885. Data $0,$101,$202,$303,$404,$505,$606,$707,$808,$909,$A0A,$B0B,$D0D,$E0E,$F0F
  886. Data $F0F,$E0E,$D0D,$C0C,$B0B,$A0A,$909,$808,$707,$606,$505,$404,$303,$202,$101,$0
  887. Data 9999999
  888. PATDATA1:
  889. Data 0,90,1,1,45,45,90,90,135,135,180,180,225,225,270,270,315,315
  890. Data 0,90,1,1,10,10,20,20,30,30,40,40,50,50,60,60,70,70
  891. Data 0,90,1,2,10,10,20,20,30,30,40,40,50,50,60,60,70,70
  892. Data 1,1,6,3,10,10,90,90,100,100,180,180,190,190,270,270,280,280
  893. Data 0,90,1,4,10,20,20,40,30,60,40,80,50,100,60,120,70,140
  894. Data 0,90,3,7,10,10,20,20,30,30,40,40,50,50,60,60,70,70
  895. Data 0,90,8,3,5,25,10,50,15,75,20,100,25,125,30,150,35,175
  896. Data 0,90,10,7,10,10,20,20,30,30,40,40,50,50,60,60,70,70
  897. Data 1,71,9,8,30,30,60,60,90,90,120,120,150,150,180,180,210,210
  898. Data 1,1,183,8,10,10,90,90,100,100,180,180,190,190,270,270,280,280
  899. Data 0,90,12,13,20,10,40,20,60,30,80,40,100,50,120,60,140,70
  900. Data 0,90,183,2,10,20,20,40,30,60,40,80,50,100,60,120,70,140
  901. Data 0,45,1,45,10,10,20,20,30,30,40,40,50,50,60,60,70,70
  902. Data 0,45,8,183,20,20,40,40,60,60,80,80,100,100,120,120,140,140
  903. Data 1,1,10,2,20,10,40,20,60,30,180,180,200,190,220,200,240,210
  904. Data 0,1,180,2,10,10,20,20,30,30,40,40,50,50,60,60,70,70
  905. Data 999,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  906. End Proc
  907. Procedure COPPERBITZ
  908. Led Off : Music 1 : No Mask : For F=1 To 10 : Make Mask F : Next F
  909. Screen Open 0,640,450,8,Lowres : Flash Off : Curs Off : Cls 0 : Hide On 
  910. Screen Open 1,640,450,8,Lowres : Flash Off : Curs Off : Cls 0 : Hide On 
  911. Screen Display 0,208,25,160, : Screen Display 1,208,25,160,
  912. Wait Vbl : Dual Playfield 0,1
  913. Screen Offset 0,1,1 : Screen Offset 1,1,1
  914. Screen 0 : Palette 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  915. Screen Open 2,800,32,32,Lowres : Flash Off : Curs Off : Cls 0 : Hide On 
  916. Screen Display 2,110,275,,
  917. Get Sprite Palette 
  918. Degree 
  919.    T$="  YYAAAAYYY!!!   ANOTHER FANATIX DEMO.  (SORRY THERES NO LOGO. NO CHIP MEM LEFT!!!)"
  920. T$=T$+"    WELL WHAT DO YOU THINK OF THIS DEMO.  WE LOVE THOSE FUNKY WAVY BARS...  CODING BY JAG AS"
  921. T$=T$+" USUAL.  THE FONT WAS FROM A FONT DISK A FRIEND OF MINE COPIED ME!  "
  922. T$=T$+"     OH YEAH.  THE MUSIC IS BY THE INHUMANOIDS.  THERES NO COMMAS OR FINGYS (APOSTRAPHES) IN THIS CHARACTER SET.  AND I COULD"
  923. T$=T$+" NOT BE BOTHERED TO DRAW THEM.           CHAOS CANT TYPE ANTYHING AT THE MOMENT BECAUSE HE IS IN FRANCE.  AND DOES NOT KNOW"
  924. T$=T$+" ABOUT THIS KILLING ROUTINE - OR THE AMAZING LOADER STARFIELD I CODED.  (HYPE HYPE)        OH AND A QUICK PLUG FOR TOTALLY AMOS..  "
  925. T$=T$+" BECAUSE ITS GREAT!  (I HAVENT ACTUALLY SEEN IT YET THOUGH!)  BUT ITS GOING TO HAVE SOMETHING FROM US IN IT SO BUY IT OR...   ER...  DONT."
  926. T$=T$+"  BUT I CAN ASSURE YOU THAT YOU WILL BE MISSING SOMETHING.             HAHAHAHA THE FONT IS IN THIRTY-TWO COLOURS!!!"
  927. T$=T$+"  AND IT ISNT JERKING.  (I HAVENT FIGURED OUT WHY - BUT IM NOT GOING TO ARGUE WITH IT!!)       BE BACK LATER. IM JUST GOING "
  928. T$=T$+" TO FIX THE TV! (THE RED FILTER DISCONNECTS WHEN TV IS COOL??!?!?!?)                       AHA!!!  PROBLEM SOLVED.  THERE WAS A CRACKED"
  929. T$=T$+" JOINT AND NOW I HAVE NO TELLY WORRIES ANYMORE.  (THIS NOW MEANS THAT MY ENTIRE AMIGA SETUP IS WORKING ONE HUNDRED PERCENT..  SOMETHING IS"
  930. T$=T$+" VERY WRONG..)            SPECIAL GREETS GO OUT TO:  BITMAP PRODS. (NICE FX ARENT THEY)    CYBORNETICS (WRITE BACK)    THE BEHOLDER (YOU TOO)   "
  931. T$=T$+" ALMIGHTY (LIKE THIS DEMO???)   SANDRA SHARKEY    AND LEN AND ANNE TUCKER (ARTICLE SOON. I PROMISE)"
  932. T$=T$+"    NORMAL STANDARD GREETS GO TO:  SYNTEX     ROBOTS     FRANCOIS LIONET     OH AND HANISSIS FIVE.."
  933. T$=T$+" ACTAULLY I HAVE A NOTE FOR THEM!  WHY SLAG OFF SYNTEX ABOUT USING BOBS A LOT.  THEY ARE INFINITELY MORE INTERESTING THAN ENDLESS TEXT-WIPES AND ZOOMS...."
  934. T$=T$+"       NO MORE TO WRITE SO ILL SAY GOODBYE.....(BY THE WAY, YOU ARE LUCKY YOU CANT SEE THE MASSES OF DATA REQUIRED FOR THESE EFFECTS!!  THEY WERE BAAAAD).............                  "
  935. AN$(1)="L Y=1; R:  L X=1; L:  L X=X+4; I X>321 J R; P; J L;"
  936. AN$(2)="L Y=1; R:  L X=321; L:  L X=X-4; I X<1 J R; P; J L;"
  937. AN$(3)="L Y=1; R:  L X=1; L:  L X=X+10; I X>321 J R; P; J L;"
  938. AN$(4)="L Y=1; R:  L X=321; L:  L X=X-10; I X<1 J R; P; J L;"
  939. AN$(5)="L Y=1; R:  L X=1; L:  L X=X+8; I X>321 J R; P; J L;"
  940. AN$(6)="L Y=1; R:  L X=321; L:  L X=X-8; I X<1 J R; P; J L;"
  941. AN$(7)="L Y=1; R:  L X=1; L: L X=X+20; I X>321 J R; P; J L;"
  942. AN$(8)="L Y=1; R:  L X=321; L: L X=X-20; I X<1 J R; P; J L;"
  943. C$=" L:  L Y=R0; P; J L;"
  944. SC$="L RB=0; R:  L RA=1; P; L:  L RA=RA+4; L X=RA; L RB=RB+1; I RB=8 J G; H:  I X>384 J R; P; J L; G:  L RB=0; J H;"
  945. Channel 0 To Screen Offset 0 : Channel 1 To Screen Offset 1
  946. Channel 2 To Screen Offset 0 : Channel 3 To Screen Offset 1
  947. Channel 4 To Screen Offset 2
  948. Amal 2,C$ : Amal 3,C$ : Amal 4,SC$ : Amal On 
  949. CH=0
  950. NEWSCR:
  951. Screen 0 : Ink 0 : Screen 1 : Ink 0
  952. For F=0 To 450 Step 10
  953. Screen 0 : Bar 0,F To 640,F+10
  954. Screen 1 : Bar 0,F To 640,F+10
  955. Screen 2 : Gosub MESSAGE : Wait Vbl 
  956. Next F
  957. Read X#(1),X#(2),X#(3),X#(4),SB(1),SB(2),SB(3),SB(4),MXF1,STP1,XINC1#,WMULT1,SMULT1,Y1,YI1,AMSTR1
  958. Screen 2 : Gosub MESSAGE : Wait Vbl 
  959. Read X2#(1),X2#(2),X2#(3),X2#(4),SB2(1),SB2(2),SB2(3),SB2(4),MXF2,STP2,XINC2#,WMULT2,SMULT2,Y2,YI2,AMSTR2
  960. Screen 2 : Gosub MESSAGE : Wait Vbl 
  961. Read P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15
  962. Screen 2 : Gosub MESSAGE : Wait Vbl 
  963. If X#(1)=999 Then Restore CDATA : Goto NEWSCR
  964. Screen 0
  965. For F=0 To MXF1 Step STP1
  966. For G=1 To 4
  967. X#(G)=X#(G)+XINC1#
  968. Screen 0
  969. Paste Bob F,(Sin(X#(G))*WMULT1)+220,SB(G)
  970. Paste Bob F+320,(Sin(X#(G))*WMULT1)+220,SB(G)
  971. Screen 2 : Gosub MESSAGE : Wait Vbl 
  972. Next G
  973. Next F
  974. Screen 1
  975. For F=0 To MXF2 Step STP2
  976. For G=1 To 4
  977. X2#(G)=X2#(G)+XINC2#
  978. Screen 1
  979. Paste Bob F,(Sin(X2#(G))*WMULT2)+215,SB2(G)
  980. Paste Bob F+320,(Sin(X2#(G))*WMULT2)+215,SB2(G)
  981. Screen 2 : Gosub MESSAGE : Wait Vbl 
  982. Next G
  983. Next F
  984. Screen 2 : Gosub MESSAGE : Wait Vbl 
  985. Amal 0,AN$(AMSTR1) : Amal On 0
  986. Screen 2 : Gosub MESSAGE : Wait Vbl 
  987. Amal 1,AN$(AMSTR2) : Amal On 1
  988. Screen 0
  989. Fade 5,P0,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15
  990. T=0
  991. Screen 2 : Gosub MESSAGE : Wait Vbl 
  992. Repeat 
  993. Inc T
  994. Add Y1,YI1 : If Y1>360 Then Add Y1,-360
  995. Add Y2,YI2 : If Y2>360 Then Add Y2,-360
  996. Amreg(2,0)=(Sin(Y1)*SMULT1)+128
  997. Amreg(3,0)=(Sin(Y2)*SMULT2)+128
  998. Gosub MESSAGE
  999. Wait Vbl 
  1000. If T=1000 Then Screen 0 : Fade 5 : Screen 2
  1001. If Mouse Key=1 Then Goto DIE
  1002. Until T=1100
  1003. Goto NEWSCR
  1004. MESSAGE:
  1005. SC=Amreg(0)
  1006. N=Amreg(1)
  1007. If N=7 Then Gosub NCHAR
  1008. Return 
  1009. NCHAR:
  1010. B=Asc(Mid$(T$,CH,1))
  1011. Add CH,1,1 To Len(T$)
  1012. Paste Bob SC-32,0,B : Paste Bob SC+352,0,B
  1013. Return 
  1014. CDATA:
  1015. Data 1,1,1,1,1,2,1,2,316,4,4.5,40,50,1,7,1
  1016. Data 1,1,1,1,1,2,1,2,316,4,4.5,40,50,1,2,2
  1017. Data 0,$FFF,$700,$B00,$F00,$60,$B0,$F0,$0,$FFF,$7,$B,$F,$770,$BB0,$FF0
  1018. Data 10,40,70,100,5,5,5,5,310,10,11.2,25,50,0,1,3
  1019. Data 1,1,1,1,8,8,8,8,300,20,22.4,20,50,10,3,8
  1020. Data 0,$CC,$AA,$99,$77,$66,$44,$33,$0,$C,$A,$9,$7,$6,$4,$3
  1021. Data 1,1,1,1,1,1,1,1,316,4,4.5,35,50,90,1,1
  1022. Data 1,1,1,1,5,5,5,5,310,10,11.2,30,10,90,4,4
  1023. Data 0,$FFF,$707,$B0B,$F0F,$606,$B0B,$F0F,$0,$CCC,$AAA,$999,$777,$666,$444,$333
  1024. Data 1,1,1,1,8,8,8,8,300,20,22.4,30,50,270,0,8
  1025. Data 1,1,1,1,10,10,10,10,312,8,9,40,30,1,0,5
  1026. Data 0,$CC0,$AA0,$990,$770,$660,$440,$330,0,$F,$2F,$4F,$6F,$9F,$CF,$FF
  1027. Data 0,0,0,0,7,7,7,7,310,10,11.2,85,20,110,0,4
  1028. Data 10,40,70,100,5,5,5,5,310,10,11.2,25,50,0,4,3
  1029. Data 0,$C0C,$A0A,$909,$707,$606,$404,$303,0,$C,$A,$9,$7,$6,$4,$3
  1030. Data 1,1,1,1,5,5,5,5,310,10,11.2,20,50,0,3,3
  1031. Data 1,1,1,1,10,10,10,10,312,8,9,20,50,10,0,5
  1032. Data 0,$CC,$AA,$99,$77,$66,$44,$33,$0,$A00,$B02,$C04,$C06,$D09,$E0C,$F0F
  1033. Data 1,1,1,1,7,7,7,7,310,10,11.4,80,50,10,3,3
  1034. Data 1,1,1,1,8,8,8,8,300,20,22.4,30,50,0,3,8
  1035. Data 0,$C00,$A00,$900,$700,$600,$400,$300,$0,$C,$A,$9,$7,$6,$4,$3
  1036. Data 1,1,1,1,2,3,2,3,312,8,9,35,50,10,3,5
  1037. Data 10,40,70,100,5,5,5,5,310,10,11.2,25,50,0,1,3
  1038. Data 0,$FFF,$600,$B00,$F00,$660,$BB0,$FF0,$0,$C0,$A0,$90,$70,$60,$40,$30
  1039. Data 1,1,1,1,9,9,9,9,312,8,9,20,50,0,3,6
  1040. Data 1,1,1,1,10,10,10,10,312,8,9,30,50,10,4,5
  1041. Data 0,$A00,$B02,$C04,$C06,$D09,$E0C,$F0F,$0,$A00,$B02,$C04,$C06,$D09,$E0C,$F0F
  1042. Data 1,1,21,21,1,1,2,2,316,4,4.5,40,50,1,5,1
  1043. Data 0,0,0,0,7,7,7,7,310,10,11.2,85,20,110,0,4
  1044. Data 0,$FFF,$700,$B00,$F00,$60,$B0,$F0,$0,$CCC,$AAA,$999,$777,$666,$444,$333
  1045. Data 1,11,21,31,3,4,3,4,312,8,9,35,30,1,3,6
  1046. Data 1,1,1,1,8,8,8,8,300,20,22.4,20,30,0,1,7
  1047. Data 0,$FFF,$7,$B,$F,$770,$BB0,$FF0,0,$C00,$A00,$900,$700,$500,$400,$300
  1048. Data 999,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  1049. Data 0,0,0,0,7,7,7,7,310,10,11.2,85,20,110,0,4
  1050. Data 0,$FFF,$700,$B00,$F00,$60,$B0,$F0,$0,$CCC,$AAA,$999,$777,$666,$444,$333
  1051. DIE:
  1052. Amal Off 
  1053. Screen 2 : Fade 3 : Wait 45
  1054. Screen 1 : Fade 3 : Wait 45
  1055. Screen 0 : Fade 3
  1056. T$=" "
  1057. For F=63 To 0 Step -1
  1058. Mvolume F : For T=0 To 500 : Next T : Next F
  1059. Screen Close 2 : Screen Close 1 : Screen Close 0
  1060. Music Off : Mvolume 63
  1061. End Proc
  1062. Procedure MULTISCROLL
  1063. No Mask : Led Off : Hide On : Music 1
  1064. Unpack 5 To 0
  1065. Screen Display 0,128,-300,,
  1066. For F=-300 To 40 Step 2
  1067. Screen Display 0,128,F,,
  1068. Wait Vbl 
  1069. Next F
  1070. Wait 250
  1071. For F=40 To -300 Step -2
  1072. Screen Display 0,128,F,,
  1073. Wait Vbl 
  1074. Next F
  1075. Screen Close 0 : Unpack 6 To 7
  1076. Flash 7,"(ff0,25)(dd0,1)(bb0,1)(990,1)(770,1)(550,1)(330,1)(110,1)(330,1)(550,1)(770,1)(990,1)(bb0,1)(dd0,1)"
  1077. Screen Display 7,128,310,,
  1078. For F=310 To 270 Step -2
  1079. Screen Display 7,128,F,,
  1080. Wait Vbl 
  1081. Next F
  1082. For F=0 To 3
  1083. Screen Open F,770,30,2,Lowres : Flash Off : Curs Off : Cls 0 : Hide On 
  1084. If F=0 Then Colour 1,$F0F
  1085. If F=1 Then Colour 1,$A0A
  1086. If F=2 Then Colour 1,$707
  1087. If F=3 Then Colour 1,$404
  1088. Next F
  1089. For F=4 To 6
  1090. Screen F-4
  1091. Screen Clone F
  1092. Next F
  1093. For F=0 To 2
  1094. Next F
  1095. Screen Display 0,110,40,360,
  1096. Screen Display 1,110,72,360,
  1097. Screen Display 2,110,104,360,
  1098. Screen Display 3,110,136,360,
  1099. Screen Display 4,110,232,360,
  1100. Screen Display 5,110,200,360,
  1101. Screen Display 6,110,168,360,
  1102.     T0$=" HELLO AND WELCOME TO THE FANATIX MULTISCROLLER DEMO THREE!!!   THIS IS MY (JAG) SCROLLTEXT.    ANYWAY, WE ARE JUST THINKING ABOUT WHAT TO WRITE"
  1103. T0$=T0$+" IN THESE SCROLLERS.  THERE ARE SEVEN SCROLLERS, BUT ONLY FOUR MESSAGES, BUT...  THEY GO AT DIFFERENT SPEEDS!  WE THINK THAT LOOKS MUCH"
  1104. T0$=T0$+" BETTER THAN LOADS OF DIFFERENT SCROLLS MOVING THE SAME SPEED...  BE BACK SOON, JUST OFF TO TYPE THE GREETS AND CONTACT SCROLLS!                               "
  1105. T0$=T0$+"  BACK AGAIN!!!  PHEW, TYPING THOSE WAS BORING..    BY THE WAY, THESE SCROLLS ARE HARDWARE SCROLLERS, NONE OF THAT LAME SCROLL STUFF"
  1106. T0$=T0$+" (DOES ANYBODY USE THAT ANYMORE???)   I AM JUST TRYING TO TALK MY DAD INTO LETTING ME BUY A GREAT CAR I SAW WHILE LOOKING AROUND TODAY."
  1107. T0$=T0$+"  HE ALWAYS HAS TO LOOK AT THE BAD SIDE OF THINGS LIKE INSURANCE (ER.. TWO LITRE CAPRI STYLE!), AND TAX ETC.  HOW BORING!  BUT I WILL GET"
  1108. T0$=T0$+" IT IF AT ALL POSSIBLE.       WE ALSO WANT TO KNOW WHY THERE ARE NOT MANY OTHER AMOS DEMOS GROUPS, WHAT THIS SCENE REALLY NEEDS IS A GOOD HEALTHY NUMBER"
  1109. T0$=T0$+" OF GROUPS, BUT STILL THEY FAIL TO APPEAR, SO TO ALL YOU AMOS CODERS:  CONVINCE (CONVERT) YOUR FRIENDS TO WANT TO USE AMOS TO WRITE DEMOS ALL DAY LONG, EVERY DAY"
  1110. T0$=T0$+", EVERY WEEK, AND EVERY MONTH OF EVERY YEAR!!!!!  THEN WE SHALL SEE AN IMPROVEMENT (AND GREET SCROLLS OF RIDICULOUS PROPORTIONS!)..."
  1111. T0$=T0$+"      IF ANYONE HAS READ THE MIDDLE SCROLL ALL THE WAY THROUGH, THEN ALL I CAN SAY IS THAT THEY ARE A:EXTREMELY BORING  OR B:EXTREMELY PATIENT..  THERE IS ALSO"
  1112. T0$=T0$+" THE POSSIBILITY THAT THEY ARE SANDRA SHARKEY (WHO HAS TO READ THEM ALL THE WAY THROUGH.  HAHAHAHA...       DOES ANYONE WANT TO BUY A MEGADRIVE WITH FOURTEEN GAMES, TWO"
  1113. T0$=T0$+" CONTROL PADS, IN PERFECT CONDITION FOR THREE HUNDRED QUID????  IT'S ONE HELLUVA BARGAIN, BUT I NEED THE CASH (BADLY)!  CONTACT ME IF YOU DO. (ADDRESS IN MIDDLE SCROLL)"
  1114. T0$=T0$+"    ALSO, DOES ANYBODY HAVE AN EFFECTIVE VIRUS KILLER THAT SAVES FILES FROM BSG FILE VIRUS? (OR ITV)  IF SO, SEND ME THE DISK, AND I WILL SEND YOU A BLANK IN RETURN."
  1115. T0$=T0$+"  I HAVE RECIEVED THE VIRUS FROM THREE PEOPLE THIS WEEK, IT'S OUT OF CONTROL (ON THEIR MACHINES, MINE IS SAFE AT THE MOMENT.  NO VIRUS CAN GET NEAR MY MACHINE).  TO"
  1116. T0$=T0$+" STOP ANY INFECTION I CHECK ALL DISKS IN MANY DIFFERENT WAYS BEFORE BOOTING THEM, BUT IT CAN BE SO BORING WHEN YOU HAVE A DISK CONTAINING LOTS OF FILES."
  1117. T0$=T0$+" THIS SCROLL IS QUITE LONG ENOUGH NOW..  SEE YA!!!!!!!!!!!!!!!!!                 "
  1118.     T1$=" YO CHAOS HERE!  THIS IS THE COOL NEW MULTISCROLL DEMO FROM FANATIX.  WE MAY HAVE SOME NEW MEMBERS IN OUR GROUP SOON"
  1119. T1$=T1$+"...  BUT WE DON'T KNOW HOW MANY!?!!?!?    HAS ANYBODY HEARD AMAZING TUNES TWO BY S.A.E. ???  IT'S COOL, PARTICULARLY THE LOST IN TIME BIT BY THE JUDGE.  HOWEVER, US GOLD RIPPED IT FOR FINAL FIGHT!"
  1120. T1$=T1$+"  AT LEAST THEY CREDITED HIM (UNLIKE OTHER COMPANIES).  CAN'T COMMERCIAL COMPANIES AFFORD THEIR OWN MUSICIANS OR SOMETHING??  ANYWAY, I'M GLAD TO SEE SOME NEW GROUPS APPEARING ON THE AMOS SCENE, IT'S GOOD TO"
  1121. T1$=T1$+" MORE COMPETITION!  BY THE WAY, WHY DO HANISSIS FIVE CLAIM THEY ARE THE WORLD'S NUMBER ONE AMOS GROUP?????????  NUMBER ONE TEXT WIPERS MORE LIKE!  WHERE HAVE ALL THE OTHER GROUPS GONE?  SUCH AS ROBOTS, BENSON"
  1122. T1$=T1$+", CUROS AND STAVROS, PANTHORUS, AND ARC ANGEL???  A SEMI MEMBER OF FANATIX, I.E HE DOES NOTHING, CALLED TRACKER HAS JUST GOT AN ACTION REPLAY, WHICH IS HOW WE GOT THE MUSIC FOR THIS DEMO."
  1123. T1$=T1$+"      INCEDENTLY, I RECENTLY WENT ON A SCHOOL TRIP TO THE POP ART SHOW FOR A LAUGH.  OH DEAR.  THE ONLY EXHIBIT OF ANY MERIT WAS A BLOW UP DOLL, WITH A GLASS TABLE ON IT'S BACK!!!  THE REST OF THIS SAD SHOW"
  1124. T1$=T1$+" COMPRISED OF TORN POSTERS AND PINK TRAINERS NAILED TO THE WALL!!??!?!?  IT TOOK US SIX MINUTES TO GO THROUGH THE ENTIRE EXHIBITION, SLAGGING IT OFF IN FRONT OF ALL THE 'ART' CRITICS.     THIS IS JAG...  I CUT"
  1125. T1$=T1$+" HIS MESSAGE SHORT BECAUSE I HAVE ANOTHER DEMO TO FINISH....     BYE FROM CHAOS.....                       "
  1126.     T2$=" HA HA!  HERE IS THE BIT NOBODY HAS BEEN WAITING FOR.      THE GREETS.       SO HI TO BITMAP (HOW DO YOU LIKE THIS???  COOL SENDINGS.),"
  1127. T2$=T2$+"    CYBORNETICS (HOW ABOUT A LETTER BACK THIS TIME???),    BEHOLDER (DO YOU MIND US USING THE SIXTYFOUR MIX IN A DEMO?  WRITE BACK.),"
  1128. T2$=T2$+"    SYNTEX (KEEP UP YOUR COOL WORK)    ROBOTS (CONTACT US)    HANISSIS FIVE (YOU GUESSED IT, NO NUMBERS IN THE CHARACTER SET!)    SANDRA SHARKEY"
  1129. T2$=T2$+" (WHY DON'T YOU SEND US LOADS OF NEW DEMOS FOR FREE?)    LEN AND ANNE TUCKER (MORE STUFF FOR T.A. SOON, IF YOU WANT.)    ALMIGHTY (THE LETTER"
  1130. T2$=T2$+" I WROTE TO YOU TURNED OUT LONGER THAN PLANNED.  DID YOU NOTICE?)      RIGHT, THATS ALL THE GREETS OUT OF THE WAY, SO GO READ ANOTHER TEXT.......                       "
  1131.     T3$="  CREDITS FOR THIS DEMO ARE:  CODING BY JAG (NO SURPRISES THERE), GFX BY CHAOS, AND MUSIC BY DRAGONS...  IF YOU WANT TO CONTACT FANATIX FOR ANY"
  1132. T3$=T3$+" REASON, THEN WRITE TO THE ADDRESS IN THE OUTRO, SORRY, BUT THERE ARE NO NUMBERS IN THE CHARACTER SET (LAME PROBLEM)...            "
  1133. A$="L R1=0; R:  L R0=1; P; L:  L R0=R0+1; L X=R0; L R1=R1+1; I R1=32 J G; H:  I X>384 J R; P; J L; G:  L R1=0; J H;"
  1134. B$="L R1=0; R:  L R0=1; P; L:  L R0=R0+2; L X=R0; L R1=R1+1; I R1=16 J G; H:  I X>384 J R; P; J L; G:  L R1=0; J H;"
  1135. C$="L R1=0; R:  L R0=1; P; L:  L R0=R0+4; L X=R0; L R1=R1+1; I R1=8 J G; H:  I X>384 J R; P; J L; G:  L R1=0; J H;"
  1136. D$="L R1=0; R:  L R0=1; P; L:  L R0=R0+8; L X=R0; L R1=R1+1; I R1=4 J G; H:  I X>384 J R; P; J L; G:  L R1=0; J H;"
  1137. For F=0 To 6 : Channel F To Screen Offset F : Next F
  1138. Amal 0,D$ : Amal 1,C$ : Amal 2,B$ : Amal 3,A$ : Amal 4,D$ : Amal 5,C$ : Amal 6,B$
  1139. Amal On 
  1140. Do 
  1141. SC0=Amreg(0,0)
  1142. N0=Amreg(0,1)
  1143. SC1=Amreg(1,0)
  1144. N1=Amreg(1,1)
  1145. SC2=Amreg(2,0)
  1146. N2=Amreg(2,1)
  1147. SC3=Amreg(3,0)
  1148. N3=Amreg(3,1)
  1149. If N0=3 Then Gosub NCHAR0
  1150. If N1=7 Then Gosub NCHAR1
  1151. If N2=15 Then Gosub NCHAR2
  1152. If N3=31 Then Gosub NCHAR3
  1153. Wait Vbl 
  1154. If Mouse Key=1 Then Goto DIE
  1155. Loop 
  1156. NCHAR0:
  1157. Add CH0,1,1 To Len(T0$)
  1158. B=Asc(Mid$(T0$,CH0,1))
  1159. Screen 0
  1160. Paste Bob SC0-32,0,B : Paste Bob SC0+352,0,B
  1161. Return 
  1162. NCHAR1:
  1163. Add CH1,1,1 To Len(T1$)
  1164. B=Asc(Mid$(T1$,CH1,1))
  1165. Screen 1
  1166. Paste Bob SC1-32,0,B : Paste Bob SC1+352,0,B
  1167. Return 
  1168. NCHAR2:
  1169. Add CH2,1,1 To Len(T2$)
  1170. B=Asc(Mid$(T2$,CH2,1))
  1171. Screen 2
  1172. Paste Bob SC2-32,0,B : Paste Bob SC2+352,0,B
  1173. Return 
  1174. NCHAR3:
  1175. Add CH3,1,1 To Len(T3$)
  1176. B=Asc(Mid$(T3$,CH3,1))
  1177. Screen 3
  1178. Paste Bob SC3-32,0,B : Paste Bob SC3+352,0,B
  1179. Return 
  1180. DIE:
  1181. T0$=" " : T1$=" " : T2$=" " : T3$=" "
  1182. Amal Off 
  1183. For F=40 To -300 Step -2
  1184. Screen Display 0,110,F,360,
  1185. Screen Display 1,110,F+32,360,
  1186. Screen Display 2,110,F+64,360,
  1187. Screen Display 3,110,F+96,360,
  1188. Screen Display 4,110,F+192,360,
  1189. Screen Display 5,110,F+160,360,
  1190. Screen Display 6,110,F+128,360,
  1191. Wait Vbl 
  1192. Next F
  1193. For F=0 To 6 : Screen Close F : Next F
  1194. Screen 7 : Fade 1,,,,,,,,$FF0 : Wait 15
  1195. For F=270 To 310 Step 2
  1196. Screen Display 7,128,F,,
  1197. Wait Vbl 
  1198. Next F
  1199. Screen Close 7
  1200. For F=63 To 0 Step -1
  1201. For T=0 To 500 : Next T : Mvolume F : Next F
  1202. Music Off : Mvolume 63
  1203. End Proc
  1204. Procedure CUTEFISH
  1205. Mvolume 0 : Degree : Led Off : Music 1 : Hide On 
  1206. No Mask : For F=1 To 26 : Make Mask F : Next F
  1207. BUBBLE$=" R:  L R1=Z(2)+23; A 1,(R1,1); L R0=Z(6)+1; L Y=296; L:  L Y=Y-R0; I Y<0 J R; P; J L;"
  1208. BUBBLE2$=" R:  L Y=1; P; L:  L Y=Y+2; I Y>256 J R; P; J L;"
  1209. Unpack 5 To 0 : Unpack 7 To 1
  1210. Palette 0,0
  1211. Wait Vbl : Dual Playfield 0,1
  1212. Screen 0
  1213. For F=8 To 15
  1214. Sprite F,((F-8)*40)+128,1,23
  1215. Channel F To Sprite F : Amal F,BUBBLE$
  1216. Next F
  1217. Channel 1 To Screen Offset 1 : Amal 1,BUBBLE2$
  1218. Amal On 
  1219. Fade 3,0,3263,1103,1375,1647,2191,2463,2735,0,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF
  1220. For F=1 To 63
  1221. Mvolume F : For T=0 To 1000 : Next T : Next F
  1222. Repeat 
  1223. Until Mouse Key=1 or Joy(1)=16
  1224. Fade 3 : Wait 45
  1225. For F=8 To 15 : Amal Off F : Sprite Off F : Next F
  1226. Amal Off 1 : Screen Close 1
  1227. Gosub INFO
  1228. Unpack 6 To 0
  1229. Fade 3,0,0,3904,3952,121,70,4095,96,0,0,0,0,0,0,0,0,0,$0,3904,3952,121,70,4095,96 : Wait 45
  1230. Palette 0,0,3904,3952,121,70,4095,96
  1231. Double Buffer 
  1232. Screen Open 1,320,36,8,Lowres : Flash Off : Curs Off : Cls 0
  1233. Screen Display 1,128,35,,
  1234. Palette 0,3263,1103,1375,1647,2191,2463,2735,0,0,0,0,0,0,0,0,0,0,3904,3952,121,70,4095,96
  1235. Gosub RBOW
  1236. RESTART:
  1237. Screen 1 : Cls 0
  1238. Paste Bob 0,0,48 : Paste Bob 275,0,57
  1239. Screen 0
  1240. SHARK$=" A 0,(13,8)(14,8); "
  1241. SHARK$=SHARK$+" L:  L X=X+R0; L Y=Y+R1; I X>250 J X; I X<5 J A; Q:  I Y>200 J Y; I Y<40 J B; W:  P; J L; "
  1242. SHARK$=SHARK$+" X:  A 1,(13,6)(17,6)(19,6)(18,6)(15,6); F R6=1 To 30; N R6; L R0=R4; A 0,(15,8)(16,8); J Q; A:  A 1,(15,6)(18,6)(19,6)(17,6)(13,6); F R6=1 T 30; N R6; L R0=R2; A 0,(13,8)(14,8); J Q;"
  1243. SHARK$=SHARK$+" Y:  L R1=R5; J W;  B:  L R1=R3; J W; "
  1244. CF$=" L X=10; L Y=50; "
  1245. CF$=CF$+" I:  L RE=0; I RD<>0 J I; I J1=1 J A;  I J1=9 J B;  I J1=8 J C;  I J1=10 J D;  I J1=2 J E;  "
  1246. CF$=CF$+"I J1=6 J F;  I J1=4 J G;  I J1=5 J H; P:  "
  1247. CF$=CF$+"I X>290 J Q; U:  I X<0 J R; V:  I Y<40 J S; W:  I Y>210 J T; X:  P; J I; "
  1248. CF$=CF$+"  A:  L RE=1; L Y=Y-2; J P; B:  L RE=1; L RA=0; L Y=Y-2; L X=X+3; J P;"
  1249. CF$=CF$+"  C:  L RE=1; L RA=0; L X=X+3; J P; D:  L RE=1; L RA=0; L X=X+3; L Y=Y+2; J P;"
  1250. CF$=CF$+"  E:  L RE=1; L Y=Y+2; J P; F:  L RE=1; L RA=1; L X=X-3; L Y=Y+2; J P;"
  1251. CF$=CF$+"  G:  L RE=1; L RA=1; L X=X-3; J P; H:  L RE=1; L RA=1; L X=X-3; L Y=Y-2; J P;"
  1252. CF$=CF$+"  Q:  L X=290; J U; R:  L X=0; J V;"
  1253. CF$=CF$+"  S:  L Y=40; J W; T:  L Y=210; J X;"
  1254. CF2$="  "
  1255. CF2$=CF2$+" A 0,(1,10)(2,10); I:  I RA=1 J A:  I RA=0 J B; F:  I RE=1 J O; U:  L RC=RA; L RF=RF+1; I RF=150 J T; W:  P; J I; "
  1256. CF2$=CF2$+" A:  I RC=1 J F; A 1,(6,4)(7,4)(5,4)(3,1); F RD=1 T 13; N RD; L RD=0; A 0,(3,10)(4,10); J F; "
  1257. CF2$=CF2$+" B:  I RC=0 J F; A 1,(5,4)(7,4)(6,4)(1,1); F RD=1 T 13; N RD; L RD=0; A 0,(1,10)(2,10); J F; "
  1258. CF2$=CF2$+" T:  A 1,(7,3)(8,3)(9,16)(8,3)(7,50); F R0=1 T 54; N R0; I RA=0 J G;  I RA=1 J H; N:  L RF=0; J W; "
  1259. CF2$=CF2$+" G:  A 0,(1,10)(2,10); J N; H:  A 0,(3,10)(4,10); J N;"
  1260. CF2$=CF2$+" O:  L RF=0; J U; "
  1261. DEATH$=" A 1,(10,1); L R0=X; L R1=Y; F R2=R1 T 270; L Y=R2; N R2; "
  1262. FOOD$=" L:  L Y=40; F R0=40 T 310; L X=R1; L Y=R0; N R0; P; J L;"
  1263. Restore SHARKDATA
  1264. SHARKS=1 : XC(1)=100 : YC(1)=100 : XIC(1)=1 : YIC(1)=1
  1265. Sprite 0,100,100,12
  1266. Bob 0,10,50,1
  1267. For F=1 To SHARKS
  1268. Bob F,XC(F),YC(F),13
  1269. Channel F+1 To Bob F
  1270. Amal F+1,SHARK$
  1271. Amreg(F+1,0)=XIC(F) : Amreg(F+1,1)=YIC(F)
  1272. Amreg(F+1,2)=XIC(F) : Amreg(F+1,3)=YIC(F)
  1273. Amreg(F+1,4)=-XIC(F) : Amreg(F+1,5)=-YIC(F)
  1274. Next F
  1275. Channel 0 To Bob 0 : Channel 1 To Bob 0
  1276. Channel 6 To Sprite 0
  1277. Amal 0,CF$ : Amal 1,CF2$ : Amal 6,FOOD$
  1278. Amal On : Amreg(6,1)=Rnd(300)+138
  1279. LIVES=9 : SC=0 : AM=0 : LV=0
  1280. SHIELD=160 : Flash 1,"(101,3)(303,3)(505,3)(707,3)(909,3)(b0b,3)(d0d,3)(f0f,3)(d0d,3)(b0b,3)(909,3)(707,3)(505,3)(303,3)"
  1281. Do 
  1282. If Bobsprite Col(0)=-1 Then Gosub FOOD
  1283. If SHIELD=0 and Bob Col(0,1 To SHARKS)=-1 Then Gosub DEATH
  1284. If SHIELD>0 Then Dec SHIELD : If SHIELD=0 Then Flash Off : Fade 3,,$0
  1285. If Amreg(6,0)=310 Then Amreg(6,1)=Rnd(300)+138
  1286. Wait Vbl 
  1287. Loop 
  1288. FOOD:
  1289. Amal 6,FOOD$ : Amal On 
  1290. Inc SC : Inc AM
  1291. If LV<21 and AM=5 Then Gosub NLEVEL
  1292. If AM=5 Then AM=0 : Inc LV
  1293. Screen 1
  1294. SC$=Str$(SC)
  1295. For F=1 To Len(SC$)
  1296. Paste Bob((F-1)*32)-32,0,Asc(Mid$(SC$,F,1))
  1297. Next F
  1298. Screen 0
  1299. Return 
  1300. NLEVEL:
  1301. Read SHARKS,XC(1),YC(1),XC(2),YC(2),XC(3),YC(3),XC(4),YC(4),XIC(1),YIC(1),XIC(2),YIC(2),XIC(3),YIC(3),XIC(4),YIC(4)
  1302. For F=1 To SHARKS
  1303. Bob F,XC(F),YC(F),13
  1304. Channel F+1 To Bob F
  1305. Amal F+1,SHARK$
  1306. Amreg(F+1,0)=XIC(F) : Amreg(F+1,1)=YIC(F)
  1307. Amreg(F+1,2)=XIC(F) : Amreg(F+1,3)=YIC(F)
  1308. Amreg(F+1,4)=-XIC(F) : Amreg(F+1,5)=-YIC(F)
  1309. Amal On F+1
  1310. Next F
  1311. SHIELD=160 : Flash 1,"(101,3)(303,3)(505,3)(707,3)(909,3)(b0b,3)(d0d,3)(f0f,3)(d0d,3)(b0b,3)(909,3)(707,3)(505,3)(303,3)"
  1312. Return 
  1313. DEATH:
  1314. Amal Freeze 1 : Amal 0,DEATH$
  1315. Amal On 0
  1316. Repeat 
  1317. If Amreg(6,0)=310 Then Amreg(6,1)=Rnd(300)+138
  1318. Until Chanmv(0)=0
  1319. Screen 1
  1320. Dec LIVES
  1321. LIV$=Str$(LIVES)
  1322. Paste Bob 275,0,Asc(Mid$(LIV$,2,1))
  1323. Screen 0
  1324. If LIVES=0 Then Goto DESTROYED
  1325. Amal 0,CF$ : Amal On 0 : Amal On 1
  1326. Bob 0,,,1
  1327. Wait Vbl 
  1328. SHIELD=160 : Flash 1,"(101,3)(303,3)(505,3)(707,3)(909,3)(b0b,3)(d0d,3)(f0f,3)(d0d,3)(b0b,3)(909,3)(707,3)(505,3)(303,3)"
  1329. Return 
  1330. INFO:
  1331. Screen Open 0,640,256,2,Hires : Flash Off : Curs Off : Cls 0 : Hide On 
  1332. Palette $0,$0
  1333. Print 
  1334. Centre "Instructions      "
  1335. Print 
  1336. Centre "~~~~~~~~~~~~      "
  1337. Print 
  1338. Print "         Oh come on!  You don't really need them do you??!?  Okay so"
  1339. Print "       you do.  It's so simple even an ST owner could understand it,"
  1340. Print "       but for those of you with an IQ if 2, here they are:--"
  1341. Print 
  1342. Print "         Control the fish (yeah, the bright orange one), with the   "
  1343. Print "       joystick.  You must keep collecting the food.  Avoiding the  "
  1344. Print "       sharks is also a good idea!"
  1345. Print 
  1346. Print "         There..  Not so painful was it!  Oh, and I forgot how the  "
  1347. Print "       scoring and levels work.  Score is at the top left, and the  "
  1348. Print "       lives counter is in the top right.  You have 9 lives.        "
  1349. Print 
  1350. Print "         You get 1 point for each piece of food.  The sharks get    "
  1351. Print "       harder to avoid every 5 points, and an extra shark will make "
  1352. Print "       anppearance every 25 points (up to a maximum of 4).          "
  1353. Print 
  1354. Print "         Hope you enjoy this as much as the people I got to playtest"
  1355. Print "       it.  Also, to exit, press the RIGHT mouse button when the    "
  1356. Print "       game over message appears.  Good Luck, you will need it.  Try"
  1357. Print "       to beat 63 (my best score)."
  1358. Fade 3,$0,$FFF : Wait 45
  1359. Repeat 
  1360. Until Mouse Key=1 or Joy(1)=16
  1361. Fade 3 : Wait 45
  1362. Return 
  1363. RBOW:
  1364. Set Rainbow 0,0,276,"","",""
  1365. Rainbow 0,0,310,276
  1366. Restore RDATA
  1367. For F=0 To 16
  1368. Read R
  1369. For G=0 To 15
  1370. Rain(0,G+(F*15))=R
  1371. Wait Vbl 
  1372. Rainbow 0,0,30,268
  1373. Next G
  1374. If F>1 Then Rain(0,-2+(F*15))=R
  1375. Next F
  1376. For F=256 To 275 : Rain(0,F)=$F : Next F
  1377. Rainbow 0,0,30,268
  1378. Return 
  1379. DESTROYED:
  1380. Amal Off 6
  1381. Sprite 0,488,40,
  1382. For F=0 To SHARKS
  1383. Amal Off F : Amal Off F+1
  1384. Bob F,0,400,27
  1385. Next F
  1386. Screen 0
  1387. For F=256 To 108 Step -1
  1388. Bob 1,105,F,26
  1389. Wait Vbl 
  1390. Next F
  1391. Repeat 
  1392. If Mouse Key=2 Then Goto DIE
  1393. Until Joy(1)=16 or Mouse Key=1
  1394. For F=108 To 256
  1395. Bob 1,105,F,26
  1396. Wait Vbl 
  1397. Next F
  1398. Bob 1,0,400,27
  1399. Goto RESTART
  1400. DIE:
  1401. CF2$=" " : CF$=" "
  1402. Screen Close 1 : Screen 0 : Fade 5
  1403. For F=63 To 0 Step -1
  1404. Mvolume F : For T=0 To 500 : Next T : Next F
  1405. Music Off 
  1406. For F=0 To 274
  1407. Rain(0,F)=$0
  1408. Rainbow 0,0,30,268
  1409. Wait Vbl 
  1410. Next F
  1411. Rainbow Del 0
  1412. Bob Off : Screen Close 0
  1413. Mvolume 63
  1414. SHARKDATA:
  1415. Data 1,100,100,0,0,0,0,0,0,2,2,0,0,0,0,0,0
  1416. Data 1,100,100,0,0,0,0,0,0,3,3,0,0,0,0,0,0
  1417. Data 1,100,100,0,0,0,0,0,0,2,4,0,0,0,0,0,0
  1418. Data 1,100,100,0,0,0,0,0,0,4,4,0,0,0,0,0,0
  1419. Data 2,100,100,50,50,0,0,0,0,1,1,2,1,0,0,0,0
  1420. Data 2,100,100,50,50,0,0,0,0,3,1,2,2,0,0,0,0
  1421. Data 2,100,100,50,50,0,0,0,0,3,3,4,1,0,0,0,0
  1422. Data 2,100,100,50,50,0,0,0,0,1,4,4,3,0,0,0,0
  1423. Data 2,100,100,50,50,0,0,0,0,4,4,4,4,0,0,0,0
  1424. Data 3,50,50,100,100,150,150,0,0,1,1,2,2,1,2,0,0
  1425. Data 3,50,50,100,100,150,150,0,0,2,1,3,2,2,2,0,0
  1426. Data 3,50,50,100,100,150,150,0,0,2,3,4,1,3,1,0,0
  1427. Data 3,50,50,100,100,150,150,0,0,3,2,1,1,4,3,0,0
  1428. Data 3,50,50,100,100,150,150,0,0,4,4,4,4,4,4,0,0
  1429. Data 4,50,50,150,150,50,150,150,50,1,1,2,2,2,1,1,2
  1430. Data 4,50,50,150,150,50,150,150,50,1,2,2,3,3,1,1,3
  1431. Data 4,50,50,150,150,50,150,150,50,2,3,3,3,2,2,3,1
  1432. Data 4,50,50,150,150,50,150,150,50,3,3,4,4,4,1,2,3
  1433. Data 4,50,50,150,150,50,150,150,50,4,1,1,4,3,3,3,4
  1434. Data 4,50,50,150,150,50,150,150,50,4,1,1,4,3,3,3,4
  1435. Data 4,50,50,150,150,50,150,150,50,4,1,1,4,3,3,3,4
  1436. Data 4,50,50,150,150,50,150,150,50,4,1,1,4,3,3,3,4
  1437. Data 4,50,50,150,150,50,150,150,50,4,1,1,4,3,3,3,4
  1438. RDATA:
  1439. Data $FF,$EF,$DF,$CF,$BF,$AF,$9F,$8F,$7F,$6F,$5F,$4F,$3F,$2F,$1F,$F,$F
  1440. End Proc
  1441. Procedure OUTRO
  1442. Load "fade.abk"
  1443. Led Off : Music 1 : Degree : Hide On 
  1444. Dim XQ#(81,81),ZP(720),SD(20),SX(20),SY(20)
  1445. Screen Open 0,320,180,4,Lowres : Flash Off : Curs Off : Cls 0 : Colour 1,$F
  1446. Screen Open 1,320,180,4,Lowres : Flash Off : Curs Off : Cls 0 : Colour 1,$F
  1447. Wait Vbl : Dual Playfield 0,1
  1448. Screen Display 0,,95,,
  1449. Unpack 5 To 3 : Screen Display 3,128,35,,
  1450. Fade 3,0,4095,3532,2969,2150,1604,1058,529 : Wait 45
  1451. Unpack 6 To 2 : Screen Display 2,128,283,,
  1452. Fade 3,0,1365,2184,3004,3840,3844,3849,3853,3343,2319,1039,15,1807,3598,3591,3584 : Wait 45
  1453. Shift Up 10,4,15,1
  1454. Screen 0 : Palette 0,0,0,0,0,0,0,0,0,0
  1455. Synchro Off 
  1456. For F=18 To 31 Step 2
  1457. Colour(F),$DDD : Colour(F-1),$777 : Colour F+1,$999
  1458. Next F
  1459. A$=" L X=Z(320)+128; L R0=Z(7)+1; L:  L X=X+R0; I X>448 J R; P; J L; R:  L X=126;  L R0=Z(7)+1; J L; "
  1460. For F=8 To 25
  1461. Sprite F,10,((F-7)*9)+95,Hrev(1)
  1462. Channel F To Sprite F : Amal F,A$
  1463. Next F
  1464. Amal On 
  1465.    T$="                " : T$=T$+"SADLY, YOU HAVE " : T$=T$+"REACHED THE END "
  1466. T$=T$+" OF OUR LATEST  " : T$=T$+"  MEGADEMO....  " : T$=T$+"                "
  1467. T$=T$+"  WHAT DID YOU  " : T$=T$+"THINK OF IT?????" : T$=T$+"                "
  1468. T$=T$+"WHEN YOU GET FED" : T$=T$+" UP OF THIS BIT " : T$=T$+"PRESS THE MOUSE "
  1469. T$=T$+"TO SEE THE BEST " : T$=T$+"AMOS STAR EFFECT" : T$=T$+"EVER ACHIEVED!!!"
  1470. T$=T$+"                " : T$=T$+"   (PROBABLY)   " : T$=T$+"                "
  1471. T$=T$+"THIS END PART IS" : T$=T$+" CODED BY JAG.  " : T$=T$+"                "
  1472. T$=T$+" GFX BY CHAOS!! " : T$=T$+"                " : T$=T$+" THE COOL MUSIC "
  1473. T$=T$+"IS BY JESPER KYD" : T$=T$+"OF THE SILENTS.." : T$=T$+"                "
  1474. T$=T$+" WELL, THIS BIT " : T$=T$+"IS JUST FOR OUR " : T$=T$+" GREETS ETC...  "
  1475. T$=T$+"                " : T$=T$+"FIRSTLY, ALL THE" : T$=T$+"GREETS TO PEOPLE"
  1476. T$=T$+"      ....      " : T$=T$+"  HERE GOES!!!  " : T$=T$+"                "
  1477. T$=T$+"  BITMAP!!!!!!  " : T$=T$+"                " : T$=T$+"YO GUYZ, WHAT DO"
  1478. T$=T$+"THINK OF MY FADE" : T$=T$+"TEXT ROUTINE!??!" : T$=T$+"PERHAPS WE COULD"
  1479. T$=T$+"ORGANISE AN AMOS" : T$=T$+"  DEMO PARTY??  " : T$=T$+"WRITE BACK SOON!"
  1480. T$=T$+"                " : T$=T$+"  CYBORNETICS!  " : T$=T$+"                "
  1481. T$=T$+" YOU LOT HAVENT " : T$=T$+"  WRITTEN FOR   " : T$=T$+"   AGES......   "
  1482. T$=T$+"                " : T$=T$+"   WHY NOT???   " : T$=T$+"                "
  1483. T$=T$+"                " : T$=T$+"    SYNTEX!!    " : T$=T$+"                "
  1484. T$=T$+"                " : T$=T$+"KEEP ON STAYING " : T$=T$+"COOL FOR AS LONG"
  1485. T$=T$+" AS POSSIBLE... " : T$=T$+"                " : T$=T$+"                "
  1486. T$=T$+"                " : T$=T$+" HANNISIS FIVE! " : T$=T$+"                "
  1487. T$=T$+"PLEASE DONT SAY " : T$=T$+"THAT YOU ARE THE" : T$=T$+" BEST.  BECAUSE "
  1488. T$=T$+"YOU ARE NOT....." : T$=T$+" TEXT WIPES ARE " : T$=T$+"   BORING....   "
  1489. T$=T$+"                " : T$=T$+"  THE BEHOLDER  " : T$=T$+"                "
  1490. T$=T$+" WERE THE DISX  " : T$=T$+"ANY USE TO YOU??" : T$=T$+"                "
  1491. T$=T$+"WRITE BACK, AS I" : T$=T$+" HAVENT GOT ANY " : T$=T$+"LETTERS FROM YOU"
  1492. T$=T$+"                " : T$=T$+"   ROBOTS....   " : T$=T$+"                "
  1493. T$=T$+"  DO SOME MORE  " : T$=T$+"STUFF, AS THERE " : T$=T$+"  ARE VERY FEW  "
  1494. T$=T$+" GROUPS IN THE  " : T$=T$+"AMOS SCENE RIGHT" : T$=T$+"    NOW.....    "
  1495. T$=T$+"                " : T$=T$+" SANDRA SHARKEY " : T$=T$+"                "
  1496. T$=T$+"NICE TO SEE THAT" : T$=T$+"YOU HAVE REDUCED" : T$=T$+" THE PRICES OF  "
  1497. T$=T$+"THE PD LIBRARY.." : T$=T$+"                " : T$=T$+"    THANX..     "
  1498. T$=T$+"                " : T$=T$+"L. AND A. TUCKER" : T$=T$+"                "
  1499. T$=T$+"THE FIRST ISSUE " : T$=T$+"OF YOUR DISK MAG" : T$=T$+"WAS COOL.  PITY "
  1500. T$=T$+" THE MUSIC WAS  " : T$=T$+"CORRUPT. (IT WAS" : T$=T$+"ON MINE ANYWAY!)"
  1501. T$=T$+" ALSO GREETS TO " : T$=T$+"THESE PEOPLE...." : T$=T$+"                "
  1502. T$=T$+"FRANCOIS LIONET " : T$=T$+" MANDARIN SOFT. " : T$=T$+"    ALMIGHTY    "
  1503. T$=T$+"ALL DEMO GROUPS " : T$=T$+"STEVE AND TRISHA" : T$=T$+"AT BLITTERCHIPS "
  1504. T$=T$+"AND NOBODY ELSE!" : T$=T$+"                " : T$=T$+" (SORRY IF WEVE "
  1505. T$=T$+"FORGOTTEN YOU!!)" : T$=T$+"                " : T$=T$+"                "
  1506. T$=T$+"(C) FANATIX PROD" : T$=T$+"      1991      " : T$=T$+"                "
  1507. T$=T$+" WE ARE LOOKING " : T$=T$+"FOR NEW MEMBERS " : T$=T$+" TO JOIN US. WE "
  1508. T$=T$+"  PARTICULARLY  " : T$=T$+" WANT AN ARTIST " : T$=T$+" OR TWO, AND A  "
  1509. T$=T$+"CODER PERHAPS..." : T$=T$+"SEND EXAMPLES OF" : T$=T$+"YOUR WORK...... "
  1510. T$=T$+" OH, AND IF YOU " : T$=T$+"WANT TO CONTACT " : T$=T$+"    US.....     "
  1511. T$=T$+"FANATIX         " : T$=T$+"29 CAMBRIDGE RD," : T$=T$+" GODMANCHESTER, "
  1512. T$=T$+"  HUNTINGDON,   " : T$=T$+"     CAMBS,     " : T$=T$+"    PE18 8BT.   "
  1513. T$=T$+"                " : T$=T$+"                " : T$=T$+"                "
  1514. T$=T$+"                " : T$=T$+"                " : T$=T$+"                "
  1515. T$=T$+"                " : T$=T$+"                " : T$=T$+"                "
  1516. SCRF=1
  1517. Do 
  1518. If SCRF=0 Then Gosub SCR1 : Goto COM
  1519. If SCRF=1 Then Gosub SCR0
  1520. COM:
  1521. Screen 0
  1522. Synchro : Wait Vbl 
  1523. If SCRF=1 Then Fade 4,0,0,0,0,0,0,0,0,0,$F : Goto COM2
  1524. If SCRF=0 Then Fade 4,0,$F,0,0,0,0,0,0,0,0
  1525. COM2:
  1526. For F=1 To 30 : Synchro : Wait Vbl : Next F
  1527. If SCRF=1 Then Dual Priority 1,0 : Synchro : Wait Vbl : Goto COM3
  1528. If SCRF=0 Then Dual Priority 0,1 : Synchro : Wait Vbl 
  1529. COM3:
  1530. Synchro : Wait Vbl 
  1531. For F=1 To 250
  1532. Synchro : Wait Vbl 
  1533. If Mouse Key=1 Then Goto DSTARS
  1534. Next F
  1535. Loop 
  1536. SCR1:
  1537. SCRF=1 : Screen 1 : Cls 0
  1538. For G=0 To 160 Step 20
  1539. For F=1 To 16
  1540. Paste Bob(F*20)-20,G,Asc(Mid$(T$,F+SO,1))
  1541. Synchro : Wait Vbl 
  1542. Next F
  1543. Add SO,16 : If SO=Len(T$) Then SO=0
  1544. Next G
  1545. Return 
  1546. SCR0:
  1547. SCRF=0 : Screen 0 : Cls 0
  1548. For G=0 To 160 Step 20
  1549. For F=1 To 16
  1550. Paste Bob(F*20)-20,G,Asc(Mid$(T$,F+SO,1))
  1551. Synchro : Wait Vbl 
  1552. Next F
  1553. Add SO,16 : If SO=Len(T$) Then SO=0
  1554. Next G
  1555. Return 
  1556. ' If you are planning to rip this bit of code
  1557. ' that took 1 week solid of hard work to finish
  1558. ' then you are truly fucking lame... 
  1559. DSTARS:
  1560. Sprite Off 
  1561. Screen 0 : Fade 3 : Wait 45
  1562. Screen 3 : Fade 3 : Wait 45
  1563. Screen Close 3
  1564. Erase 1 : Load "3d.abk",1
  1565. T$=" "
  1566. Screen Open 0,250,250,16,Lowres : Flash Off : Curs Off : Cls 0
  1567. Screen Display 0,170,30,,
  1568. Palette 0,$FFF,$DDD,$BBB,$999,$888,$777,$666,$555,$444,$333,$222,$F00
  1569. A$="L:  A 1,(R2,0); L X=R0; L Y=R1; J L"
  1570. For F=1 To 360 : ZP(F)=(Sin(F)*350)+350 : ZP(F+360)=ZP(F) : Next F
  1571. For D=1 To 81
  1572. STPOINT#=(D-1) : STINC#=(125-STPOINT#)/40
  1573. For F=1 To 81 : XQ#(D,F)=(STPOINT#+((F-1)*STINC#)) : Next F
  1574. Next D
  1575. Synchro Off 
  1576. For F=1 To 20
  1577. Set Bob F,1,, : Bob F,128,100,1
  1578. Channel F To Bob F : Amal F,A$
  1579. Next F
  1580. Amal On 
  1581. SI=0 : YI=0 : ZA=0 : XI=0
  1582. For F=1 To 20
  1583. Randomize Timer
  1584. SD(F)=Rnd(F*4)+((F-1)*4)+1 : Randomize Rnd(Timer) : SX(F)=Rnd(80)+1 : Randomize Rnd(Timer) : SY(F)=Rnd(80)+1
  1585. Next F
  1586. Do 
  1587. Add ZA,-1 : If ZA<1 Then Add ZA,360
  1588. Add XA,2 : If XA>360 Then Add XA,-360
  1589. SI=ZP(ZA)-(ZP(ZA+1)) : XI=ZP(XA)-(ZP(XA+1)) : YI=ZP(ZA+90)-(ZP(ZA+91))
  1590. For F=1 To 20
  1591. Add SD(F),SI : If SD(F)>81 Then Add SD(F),-81
  1592. If SD(F)<1 Then Add SD(F),81
  1593. Add SY(F),YI : If SY(F)>81 Then Add SY(F),-81
  1594. If SY(F)<1 Then Add SY(F),81
  1595. Add SX(F),XI : If SX(F)>81 Then Add SX(F),-81
  1596. If SX(F)<1 Then Add SX(F),81
  1597. Amreg(F,0)=XQ#(SD(F),SX(F))
  1598. Amreg(F,1)=XQ#(SD(F),SY(F))
  1599. Amreg(F,2)=SD(F)
  1600. Next F
  1601. Synchro 
  1602. Loop 
  1603. End Proc
  1604. Procedure LAME
  1605. Erase 1
  1606. Load "warspr",1 : Load "warmus",3 : Load "war6",6 : Load "war7",7
  1607. For F=1 To 360 : CX(F)=(Sin(F)*50)+100 : CX(F+360)=CX(F) : Next F
  1608. Unpack 6 To 0 : Hide On 
  1609. Palette 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
  1610. Screen Display 0,128,35,,
  1611. Double Buffer 
  1612. Bob 1,56,108,32 : Bob 2,253,103,32
  1613. Screen Open 1,800,32,4,Lowres
  1614. Flash Off : Hide On : Curs Off : Cls 0
  1615. Palette 0,0,0,0
  1616. Screen Display 1,110,275,,
  1617. Unpack 7 To 2 : Screen Display 2,128,199,,
  1618. Palette 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  1619. Shift Down 1,4,31,1
  1620. Screen 1
  1621. Channel 1 To Bob 1 : Channel 2 To Bob 2
  1622. Channel 3 To Screen Offset 1
  1623. Channel 4 To Rainbow 0 : Channel 5 To Rainbow 1
  1624.    T$="     YYYYEEEEAAAAHHHH!!!!  ANOTHER FANATIX DEMO.  BIT STUPID ISN'T IT???    ANYWAY, IT'S CALLED 'HOW I WON"
  1625. T$=T$+" THE WAR'....     CODING BY JAG, LOGO BY CHAOS, DUNNO WHO DIGITISED THE PICTURE...       OH, AND THE MUSIC IS BY"
  1626. T$=T$+" SHARE AND ENJOY.       WHY, OH WHY, OH WHY DOES THE COMPILER NOT LIKE THE 3D EXTENSION???  IT IS REALLY PISSING ME OFF!"
  1627. T$=T$+"     I DON'T REALLY WANT TO TYPE MUCH TODAY, AS THERE ARE TWO IRRITATING PEOPLE RAISING HELL IN MY ROOM...  THEY WON'T GO AWAY!"
  1628. T$=T$+"   I THINK THEY SHOULD JUST LEAVE!           THE DATE IS:  22.9.91, AND WE ARE TRYING TO WORK OUT HOW TO WRITE AN ARTICLE FOR"
  1629. T$=T$+" 'TOTALLY AMOS' DISC MAGAZINE...  UNFORTUNATELY, AT THE MOMENT I AM TOO BUSY WITH COLLEGE WORK, (AND DEMO WRITING OF COURSE)!!!!"
  1630. T$=T$+"  BY THE WAY, DEJA VU P.D. PRICES MAKE AMIGANUTS LOOK CHEAP!!!  (WELL NOT QUITE, TO BE FAIR!)..  AS I WAS SAYING, WE ARE DOING AN ARTICLE"
  1631. T$=T$+" FOR TOTALLY AMOS (AND PERHAPS A ROUTINE OR TWO).  IT WILL PROBABLY BE ABOUT HOW WE PUT DEMOS TOGETHER (SELLOTAPE IS A GOOD START!), OR WHERE"
  1632. T$=T$+" WE GET OUR DEMO IDEAS FROM.....    I HAVE ASKED CHAOS TO WRITE SOMETHING, BUT HE IS SSSOOOOOO LAME, HE JUST CURLED UP AND DIED.  (PITY, I'M SURE!)"
  1633. T$=T$+"      AHA!  IT IS NOW 5 HRS LATER, AND I HAVE MANAGED TO GET THE COMPILER TO ACCEPT THE 3D.  THIS (OF COURSE) IS RELATIVELY GOOD!"
  1634. T$=T$+" AND I CAN START DOING OBJECTS FOR OUR VECTOR DEMO.  I HAVE DRAWN A FEW ALREADY, AND SOME OBJECTS ARE STRANGE TO SAY THE LEAST, BUT I MAY"
  1635. T$=T$+" NOT USE THEM IN THE FINISHED DEMO...  WHO KNOWS, THE OBJECTS THAT DON'T MAKE THE MARK MAY BE SHOVED IN AT THE END OF THAT DEMO AS A BONUS PART.."
  1636. T$=T$+"  I DON'T KNOW.....        ACTUALLY, CHAOS HAS JUST POINTED OUT THAT FANATIX HAVE BEEN GOING PROPERLY SINCE JUST BEFORE APRIL, AND ALREADY WE HAVE"
  1637. T$=T$+" DONE 5 MEGADEMOS, A MUSIC DISK, AND A LONG PLAYING DEMO, WITH MEGADEMO 6 (THIS ONE), AND A HUGE VECTOR DEMO COMING SOON!!!  I'M NOT ENTIRELY SURE"
  1638. T$=T$+" HOW WE HAVE MANAGED THIS, SO I AM NOT GOING TO QUESTION THE FACT...  NO GREETS IN THIS ONE.      TIME TO GO..  BBBYYYEEE.........                         "
  1639. A1$="R:  L Y=110; L:  I Y<110 J R; L Y=Y-2; I V(0)>20 J U; O:  P; J L;  U:  L Y=122; J O;"
  1640. A2$="R:  L Y=105; L:  I Y<105 J R; L Y=Y-2; I V(2)>20 J U; O:  P; J L;  U:  L Y=117; J O;"
  1641. R$="L:  L Y=R0; P; J L;"
  1642. B$="L RB=0; R:  L RA=1; P; L:  L RA=RA+4; L X=RA; L RB=RB+1; I RB=8 J G; H:  I X>384 J R; P; J L; G:  L RB=0; J H;"
  1643. Amal 1,A1$ : Amal 2,A2$ : Amal 3,B$ : Amal 4,R$ : Amal 5,R$ : Amal On 
  1644. H1=108 : H2=103 : H=1 : CH=1
  1645. Screen 1
  1646. Do 
  1647. Add A,6 : If A>360 Then Add A,-360
  1648. SC=Amreg(0)
  1649. If Amreg(1)=7 Then Gosub NCHAR
  1650. Amreg(4,0)=CX(A) : Amreg(5,0)=CX(A+120)
  1651. Wait Vbl 
  1652. Goto DIE
  1653. Loop 
  1654. NCHAR:
  1655. B=Asc(Mid$(T$,CH,1))
  1656. Add CH,1,1 To Len(T$)
  1657. Paste Bob SC-32,0,B : Paste Bob SC+352,0,B
  1658. Return 
  1659. DIE:
  1660. Amal Off 
  1661. Screen 2 : Shift Off : Screen Close 2 : Screen 1 : Screen Close 1 : Screen 0 : Screen Close 0
  1662. Bob Off 
  1663. T$=" "
  1664. Erase 1 : Erase 6 : Erase 7
  1665. End Proc
  1666.