home *** CD-ROM | disk | FTP | other *** search
Wrap
Text File | 1992-02-26 | 53.9 KB | 1,258 lines
' And the legend continues.... ' ' Structured Insanity II ' the latest Fanatix demo... ' ' We don't mind people looking through this code for some help, but ' if you are looking through with an intention to rip our code then ' consider yourself a sad, and talentless cripple. ' As all demos in the AMOS PD will now have to include source, we WILL ' know if you rip our code, and we will tell everyone just how lame ' you really are.... YOU HAVE BEEN WARNED ' ' PD libraries may not edit and recompile this code... ' ' Hello's to Bitmap, Cybornetics, Syntex, Beholder, Bladerunners, Reinca ' , Sandra Sharkey (for all her MANY faults), and Phil South (we sent this ' to you because you are a bit behind. Music Disk was done AGES ago!) ' Also, we are available as freelance AMOS programmers, so if you need us, ' just call!!! (Or write) ' Set Buffer 30 Dim CX(360),O$(6),AMOUNT(6),LIMIT(6),X#(64),Y#(64),Z#(64) Shared CX(),O$(),AMOUNT(),LIMIT(),X#(),Y#(),Z#() Dim A(2),CX#(720),X(44),Y(44),XS(8),YS(8),XP(8),YP(8),XI(8),YI(8) Shared A(),CX#(),F,T$,X(),Y(),XS(),YS(),XP(),YP(),XI(),YI() Dim CS(6),BT(64),P(44),DX(44),DY(44) Shared CS(),BT(),P(),DX(),DY() Close Workbench : Close Editor : Degree : Led Off : Hide On : Break Off Proc INIT1 : Proc ITRO T$=" " : T$=T$+" WELCOME TO OUR " T$=T$+"LATEST PRODUCTION!" : T$=T$+" " T$=T$+"THE FIRST FANATIX " : T$=T$+"DEMO IN NINETY-TWO" T$=T$+" " : T$=T$+"PREPARE YOURSELF.." T$=T$+" " : T$=T$+"CODING- JAG... " T$=T$+" GFX- CHAOS " : T$=T$+" SANDMAN " T$=T$+" TEXAS TEZ " : T$=T$+" JAG " T$=T$+"MUSIC- DR AWESOME" : T$=T$+" FROM CRUSADERS " T$=T$+" " : T$=T$+" LET US BEGIN.... " T$=T$+" " : T$=T$+" FIRST UP AN ODD " T$=T$+" CIRCLE EFFECT. " : T$=T$+" " T$=T$+" THIS IS THE SAME " : T$=T$+" AS THE ONE BY " T$=T$+" BITMAP- BUT WE " : T$=T$+" ADDED A TWIST... " T$=T$+" " Proc DTEXT[T$] : Proc CIRC : Update On T$=" " : T$=T$+"AND NOW WE PRESENT" T$=T$+" TO YOU-- " : T$=T$+" " T$=T$+" SOME COOL LINE " : T$=T$+" VECTORS... " T$=T$+"THEY RUN AT VARIED" : T$=T$+" FRAME RATES. " T$=T$+" " : T$=T$+" " T$=T$+" WOULD YOU PLEASE " : T$=T$+" NOTE THAT THIS " T$=T$+" DEMO DOES " : T$=T$+" " T$=T$+" +*NOT*+ " : T$=T$+" " T$=T$+"USE AMOS THREE D.." : T$=T$+" " Proc DTEXT[T$] : Proc ROTROUT2 : Update On T$=" +UNLIMITED BOBS+ " : T$=T$+"YES.. WE KNOW THAT" T$=T$+"THESE ARE EASY AND" : T$=T$+" BORING NOWADAYS- " T$=T$+" " : T$=T$+"BUT HAVE YOU EVER " T$=T$+"SEEN ONE WITH TWO " : T$=T$+" ORIGINS... " T$=T$+"LEFT MOUSE LEAVES!" Proc DTEXT[T$] : Proc UNLIM : Update On T$=" " : T$=T$+"EEH- NOT ALL THAT " T$=T$+" IMPRESSIVE! BUT " : T$=T$+" PRETTY... " T$=T$+" " : T$=T$+"SO GET INTO THESE " T$=T$+" STENCIL VECTORS! " : T$=T$+" COOL NO??? " T$=T$+" " Proc DTEXT[T$] : Proc STENCILVECTORS : Update On T$=" " : T$=T$+"WOW... " T$=T$+" " : T$=T$+" " T$=T$+"COMING UP ARE SOME" : T$=T$+" STRANGE FILLED " T$=T$+" SHAPES.... " : T$=T$+" " T$=T$+" " : T$=T$+"PRESS RIGHT BUTTON" T$=T$+"TO CHANGE PATTERN " : T$=T$+" " T$=T$+"AND THE LEFT WILL " : T$=T$+" EXIT... " T$=T$+" " : T$=T$+"*AFTER THE FOURTH " T$=T$+" THE PATTERNS ARE " : T$=T$+" RANDOM* " Proc DTEXT[T$] : Proc SHAPES : Update On T$=" " : T$=T$+" AFTER THAT SMALL " T$=T$+" PIECE OF CODE- " : T$=T$+" " T$=T$+"SOMETHING SPECIAL-" : T$=T$+" " T$=T$+" " : T$=T$+" THREE D VECTORS! " T$=T$+" " : T$=T$+" " T$=T$+"YOU WILL NEED THE " : T$=T$+" GLASSES WITH ONE " T$=T$+" RED LENS AND ONE " : T$=T$+" THAT IS BLUE.. " T$=T$+" " : T$=T$+" YOU CAN HAVE A " T$=T$+"GREEN LENS- BUT IT" : T$=T$+"WONT LOOK SO GOOD." Proc DTEXT[T$] : Proc THREED : Update On T$=" " : T$=T$+"THATS QUITE NICE.." T$=T$+" " : T$=T$+" NOW FOR ANOTHER " T$=T$+"COOL IDEA.. A MEGA" : T$=T$+" SCROLLER-- THE " T$=T$+" LARGEST ONE DONE " : T$=T$+"IN AMOS. AND WITH " T$=T$+" A PROPER FONT... " Proc DTEXT[T$] : Proc MSCROLL : Update On T$=" " : T$=T$+"NOW FOR SOMETHING " T$=T$+" VERY SPECIAL-- " : T$=T$+" " T$=T$+" GET THIS.. " : T$=T$+" " T$=T$+"VECTORBOBS IN AMOS" : T$=T$+"!!!!!!!!!!!!!!!!!!" T$=T$+" " : T$=T$+" " T$=T$+" THE FOLLOWING " : T$=T$+" OBJECTS RUN IN " T$=T$+" THREE OR FOUR " : T$=T$+" PLANES, AND WE " T$=T$+"ACTUALLY GAVE THEM" : T$=T$+"PROPER PRIORITIES!" T$=T$+" " : T$=T$+"*THIS WASNT EASY!*" Proc DTEXT[T$] : Proc VECBOB : Update On T$=" " : T$=T$+" THE NEXT PART OF " T$=T$+" THIS DEMO IS A " : T$=T$+"FILLED VECTOR FLAG" T$=T$+" " : T$=T$+"**SORRY ITS A BIT " T$=T$+" SLOW. BUT IT IS " : T$=T$+" REALTIME!!!!** " T$=T$+" " Proc DTEXT[T$] : Proc FLAG : Update On T$=" " : T$=T$+" HERE ARE SOME " T$=T$+"INTERESTING MATHS " : T$=T$+" PATTERNS.. " T$=T$+" " : T$=T$+"+YOU MAY RECOGNISE" T$=T$+"THESE AS THE LINE " : T$=T$+" EFFECTS WITH NO " T$=T$+"ERASING ROUTINE!!+" Proc DTEXT[T$] : Proc PATTERNS : Update On T$=" " : T$=T$+"YOURE NOW NEARING " T$=T$+" THE END OF THIS " : T$=T$+"NEW PRODUCTION...." T$=T$+" " : T$=T$+"PLEASE WAIT WHILE " T$=T$+"WE LOAD SOME MORE." : T$=T$+" " T$=T$+" " Proc DTEXT[T$] : Update On Proc TERMINATE : Update On Proc INIT2 : Update On Proc THEEND : Update On Proc OUTRO Procedure INIT1 Dir$="df0:files" Load "cube.abk",8 : Save "ram:cube.abk",8 Load "ship1.abk",8 : Save "ram:ship1.abk",8 Load "diamond.abk",8 : Save "ram:diamond.abk",8 Load "92.abk",8 : Save "ram:92.abk",8 Load "plane.abk",8 : Save "ram:plane.abk",8 Load "ship2.abk",8 : Save "ram:ship2.abk",8 Load "bobcube.abk",9 : Save "ram:bobcube.abk",9 Load "bobchair.abk",9 : Save "ram:bobchair.abk",9 Load "bobspike.abk",9 : Save "ram:bobspike.abk",9 Load "bobboard.abk",9 : Save "ram:bobboard.abk",9 Load "bobbox.abk",9 : Save "ram:bobbox.abk",9 Load "bobcopter.abk",9 : Save "ram:bobcopter.abk",9 Load "flag.abk",9 : Save "ram:flag.abk",9 Load "pattlogo.abk",6 : Save "ram:pattlogo.abk",6 Load "circle.abk",5 : Save "ram:circle.abk",5 Load "interfont.abk",1 : Save "ram:interfont.abk",1 : Erase 1 Load "bob.abk",1 : Save "ram:bob.abk",1 : Erase 1 Load "unbob.abk",1 : Save "ram:unbob.abk",1 : Erase 1 Load "mscrolldata.abk",8 : Save "ram:mscrolldata.abk",8 Load "mscrollfont.abk",1 : Save "ram:mscrollfont.abk",1 : Erase 1 Load "stencil.abk",6 : Save "ram:stencil.abk",6 Load "circfont.abk",1 : Save "ram:circfont.abk",1 : Erase 1 Load "shapeslogo.abk",6 : Save "ram:shapeslogo.abk",6 Load "vecboblogo.abk",5 : Save "ram:vecboblogo.abk",5 Load "lineslogo.abk",5 : Save "ram:lineslogo.abk",5 Load "demomusic.abk",3 : Load "intrologo.abk",5 Load "dtextlogo.abk",15 : Load "structured.abk",6 End Proc Procedure INIT2 Load "b1.abk",5 : Save "ram:b1.abk",5 Load "b2.abk",6 : Save "ram:b2.abk",6 Load "b3.abk",7 : Save "ram:b3.abk",7 Load "b4.abk",8 : Save "ram:b4.abk",8 Load "II.abk" : Load "endmusic.abk",3 Load "spacepic.abk",6 : Load "head.abk",7 Load "endlogo.abk",15 End Proc Procedure ITRO Wait 120 : Music 1 : Wait 75 Unpack 5 To 0 Fade 5,0,4095,3550,3005,2732,2187,1914,1641,1368,1096,823,550,277,276,3,2,1,4095,3806,3517,3228,2955,2666,2393,2120,1847,1574,1301,1044,771,514,257 Wait 360 : Fade 5 : Wait 175 Unpack 6 To 0 Fade 5,0,2730,3584,2560,1792,512,1024,1280,1792,2048,2560,124,15,1807,3086,3080,1568,3666,2642,273,819,1092,1365,1638,1911,2184,2457,2730,3276,3549,3822,4095 Wait 260 : Fade 5 : Wait 175 Erase 6 : Screen Close 0 End Proc Procedure DTEXT[T$] Load "ram:interfont.abk" Screen Open 0,320,150,8,Lowres : Hide On : Flash Off : Curs Off : Cls 0 Screen Display 0,,290,, : Palette 0,0,0,0,0,0,0,0 : Wait Vbl Unpack 15 To 1 : Screen Display 1,210,40,, Set Rainbow 0,0,16,"","","" Rain(0,0)=$211 : Rainbow 0,0,124,16 : Wait Vbl : Rain(0,1)=$433 : Rainbow 0,0,124,16 : Wait Vbl Rain(0,2)=$655 : Rainbow 0,0,124,16 : Wait Vbl : Rain(0,3)=$877 : Rainbow 0,0,124,16 : Wait Vbl Rain(0,4)=$A99 : Rainbow 0,0,124,16 : Wait Vbl : Rain(0,5)=$CBB : Rainbow 0,0,124,16 : Wait Vbl Rain(0,6)=$EDD : Rainbow 0,0,124,16 : Wait Vbl : Rain(0,7)=$FFF : Rainbow 0,0,124,16 : Wait Vbl Rain(0,8)=$EDD : Rainbow 0,0,124,16 : Wait Vbl : Rain(0,9)=$CBB : Rainbow 0,0,124,16 : Wait Vbl Rain(0,10)=$A99 : Rainbow 0,0,124,16 : Wait Vbl : Rain(0,11)=$877 : Rainbow 0,0,124,16 : Wait Vbl Rain(0,12)=$655 : Rainbow 0,0,124,16 : Wait Vbl : Rain(0,13)=$433 : Rainbow 0,0,124,16 : Wait Vbl Rain(0,14)=$211 : Rainbow 0,0,124,16 : Wait Vbl Fade 3,0,2491,4,5,6,1094,7,8,9,12,14,1103,1385,1642,1916,547 : Wait 45 : Screen 0 Repeat For G=0 To 8 For F=1 To 18 Paste Bob F*16,G*16,Asc(Mid$(T$,(G*18)+F+CH,1)) Next F Next G Fade 5,$0,3838,3292,2762,2473,1927,1397,1108 For F=275 To 150 Step -2 Screen Display 0,,F,, : Wait Vbl Next F Wait 300 : Fade 5 For F=150 To 290 Step 2 : Screen Display 0,,F,, : Wait Vbl : Next F Cls 0 : Add CH,162 Until CH=Len(T$) Screen Close 0 : Screen 1 : Fade 3 : Wait 45 For F=0 To 15 : Rain(0,F)=$0 : Rainbow 0,0,124,16 : Wait Vbl : Next F Rainbow Del 0 : Screen Close 1 End Proc Procedure CIRC Load "ram:circfont.abk" : Load "ram:circle.abk",5 Screen Open 0,320,180,2,Lowres : Hide On : Curs Off : Cls 0 Screen Display 0,128,70,, : Palette 0,0 Unpack 5 To 1 Screen To Front 0 : Screen Hide 1 Screen Open 2,400,32,2,Lowres : Screen Hide 2 : Screen 0 Double Buffer : Bob Update Off : Autoback 0 For F=1 To 360 : CX(F)=(Sin(F)*100)+128 : Next F Y1=90 : Y2=90 : CH=0 : SCAR=7 : Def Scroll 1,0,0 To 390,32,-2,0 T$=" HOW DO YOU LIKE THIS??? A REWRITE OF THOSE LAME ONES FROM THE" T$=T$+" FIRST STRUCTURED INSANITY... BY THE WAY, CAN YOU ACTUALLY READ THIS???" T$=T$+" YAZOO.. DID WE USE THE SAME METHOD? *" Sprite Update Off Do Add X1,1,1 To 360 Add X2,2,1 To 359 Add Y1,3,1 To 358 Add Y2,1,1 To 360 XP1=CX(X1)+32 YP1=CX(Y1) XP2=CX(X2)+32 YP2=CX(Y2) Screen 2 : Scroll 1 Add SCAR,1,0 To 15 : If SCAR=0 Then Gosub PCHAR Screen Copy 1,XP1,YP1,XP1+319,YP1+180 To 0,0,0 Screen Copy 1,XP2,YP2,XP2+319,YP2+180 To 0,0,0,%1100000 Screen Copy 2,0,0,320,31 To 0,0,80,%1100000 Screen 0 Add T,1,0 To 89 : If T=0 Then Gosub CCOL Screen Swap : Wait Vbl If B=42 Then Goto CIRCLOSE Loop CCOL: Add CT,1,0 To 5 If CT=0 Then Fade 3,$F00,$F0F If CT=1 Then Fade 3,$0,$F If CT=2 Then Fade 3,$FF0,$F0 If CT=3 Then Fade 3,$FF0,$0 If CT=4 Then Fade 3,$F0F,$FF If CT=5 Then Fade 3,$F,$FF Return PCHAR: Add CH,1,1 To Len(T$) B=Asc(Mid$(T$,CH,1)) Paste Bob 354,0,B Return CIRCLOSE: Screen 0 : Wait 45 : Fade 3 : Wait 45 : Screen Close 0 Screen Close 1 : Screen Close 2 End Proc Procedure ROTROUT2 Load "ram:lineslogo.abk",5 Screen Open 0,255,230,2,Lowres : Curs Off : Cls 0 : Colour 1,$FFF : Hide On Screen Display 0,180,90,, Double Buffer : Autoback 0 : Bob Update Off Set Rainbow 0,0,16,"","","" Rainbow 0,0,75,16 Rain(0,0)=$211 : Rainbow 0,0,75,16 : Wait Vbl Rain(0,1)=$433 : Rainbow 0,0,75,16 : Wait Vbl Rain(0,2)=$655 : Rainbow 0,0,75,16 : Wait Vbl Rain(0,3)=$877 : Rainbow 0,0,75,16 : Wait Vbl Rain(0,4)=$A99 : Rainbow 0,0,75,16 : Wait Vbl Rain(0,5)=$CBB : Rainbow 0,0,75,16 : Wait Vbl Rain(0,6)=$EDD : Rainbow 0,0,75,16 : Wait Vbl Rain(0,7)=$FFF : Rainbow 0,0,75,16 : Wait Vbl Rainbow 0,0,75,16 Unpack 5 To 1 : Screen Display 1,128,30,, Fade 3,0,0,0,0,4095,3005,1913,821 : Wait 45 : Screen 0 Ink 1 FR=-1 : T=-100 : TY=9 O$(1)="cube.abk" : O$(2)="92.abk" : O$(3)="ship1.abk" : O$(4)="diamond.abk" : O$(5)="plane.abk" : O$(6)="ship2.abk" AMOUNT(1)=8 : AMOUNT(2)=20 : AMOUNT(3)=6 : AMOUNT(4)=13 : AMOUNT(5)=21 : AMOUNT(6)=21 LIMIT(1)=1391 : LIMIT(2)=5359 : LIMIT(3)=1043 : LIMIT(4)=1741 : LIMIT(5)=3863 : LIMIT(6)=2939 OBJECT=1 Load "ram:cube.abk",8 Do For F=1 To AMOUNT(OBJECT) Add FR,2 X#(F)=Peek(Start(8)+FR-1) Y#(F)=Peek(Start(8)+FR) If FR=LIMIT(OBJECT) Then FR=-1 Next F If T<0 Then Dec TY : Gosub TYPE Inc T : If T>400 Then Inc TY : Gosub TYPE On OBJECT Gosub CUBE,NINETY,SHIP1,DIAMOND,PLANE,SHIP2 Screen Swap : Wait Vbl Cls 0 Loop NEWOBJ: Inc OBJECT : If OBJECT=7 Then Goto DIE T=-100 : FR=-1 Load "ram:"+O$(OBJECT),8 Return TYPE: If T=410 Then Gosub NEWOBJ If TY>8 Then TY=8 If TY<0 Then TY=0 If TY=0 Then Set Line %1111111111111111 If TY=1 Then Set Line %1111111011111110 If TY=2 Then Set Line %1111110011111100 If TY=3 Then Set Line %1111100011111000 If TY=4 Then Set Line %1111000011110000 If TY=5 Then Set Line %1110000011100000 If TY=6 Then Set Line %1100000011000000 If TY=7 Then Set Line %1000000010000000 If TY=8 Then Set Line %0 Return CUBE: Polyline X#(1)-50,Y#(1) To X#(2)-50,Y#(2) To X#(3)-50,Y#(3) To X#(4)-50,Y#(4) To X#(1)-50,Y#(1) Polyline X#(5)-50,Y#(5) To X#(6)-50,Y#(6) To X#(7)-50,Y#(7) To X#(8)-50,Y#(8) To X#(5)-50,Y#(5) Polyline X#(1)-50,Y#(1) To X#(5)-50,Y#(5) Polyline X#(2)-50,Y#(2) To X#(6)-50,Y#(6) Polyline X#(3)-50,Y#(3) To X#(7)-50,Y#(7) Polyline X#(4)-50,Y#(4) To X#(8)-50,Y#(8) Return NINETY: Polyline X#(1)-50,Y#(1) To X#(2)-50,Y#(2) To X#(3)-50,Y#(3) To X#(4)-50,Y#(4) To X#(5)-50,Y#(5) To X#(6)-50,Y#(6) To X#(1)-50,Y#(1) Polyline X#(7)-50,Y#(7) To X#(8)-50,Y#(8) To X#(9)-50,Y#(9) To X#(10)-50,Y#(10) To X#(7)-50,Y#(7) Polyline X#(11)-50,Y#(11) To X#(12)-50,Y#(12) To X#(13)-50,Y#(13) To X#(14)-50,Y#(14) To X#(15)-50,Y#(15) Polyline X#(15)-50,Y#(15) To X#(16)-50,Y#(16) To X#(17)-50,Y#(17) To X#(18)-50,Y#(18) To X#(19)-50,Y#(19) To X#(20)-50,Y#(20) To X#(11)-50,Y#(11) Return SHIP1: Polyline X#(1)-50,Y#(1) To X#(2)-50,Y#(2) To X#(3)-50,Y#(3) To X#(4)-50,Y#(4) To X#(1)-50,Y#(1) To X#(5)-50,Y#(5) To X#(6)-50,Y#(6) To X#(3)-50,Y#(3) To X#(5)-50,Y#(5) To X#(4)-50,Y#(4) Polyline X#(1)-50,Y#(1) To X#(6)-50,Y#(6) To X#(2)-50,Y#(2) Return DIAMOND: Polyline X#(1)-50,Y#(1) To X#(2)-50,Y#(2) To X#(3)-50,Y#(3) To X#(4)-50,Y#(4) To X#(5)-50,Y#(5) To X#(6)-50,Y#(6) To X#(1)-50,Y#(1) Polyline X#(7)-50,Y#(7) To X#(8)-50,Y#(8) To X#(9)-50,Y#(9) To X#(10)-50,Y#(10) To X#(11)-50,Y#(11) To X#(12)-50,Y#(12) To X#(7)-50,Y#(7) Polyline X#(7)-50,Y#(7) To X#(1)-50,Y#(1) To X#(13)-50,Y#(13) To X#(4)-50,Y#(4) To X#(10)-50,Y#(10) Polyline X#(8)-50,Y#(8) To X#(2)-50,Y#(2) To X#(13)-50,Y#(13) To X#(5)-50,Y#(5) To X#(11)-50,Y#(11) Polyline X#(9)-50,Y#(9) To X#(3)-50,Y#(3) To X#(13)-50,Y#(13) To X#(6)-50,Y#(6) To X#(12)-50,Y#(12) Return PLANE: Polyline X#(1),Y#(1) To X#(2),Y#(2) To X#(5),Y#(5) To X#(4),Y#(4) To X#(3),Y#(3) To X#(20),Y#(20) To X#(5),Y#(5) Polyline X#(3),Y#(3) To X#(1),Y#(1) To X#(4),Y#(4) To X#(2),Y#(2) To X#(20),Y#(20) To X#(1),Y#(1) Polyline X#(3),Y#(3) To X#(6),Y#(6) To X#(9),Y#(9) To X#(8),Y#(8) To X#(5),Y#(5) Polyline X#(20),Y#(20) To X#(21),Y#(21) To X#(9),Y#(9) To X#(7),Y#(7) To X#(4),Y#(4) Polyline X#(6),Y#(6) To X#(7),Y#(7) To X#(8),Y#(8) To X#(21),Y#(21) To X#(6),Y#(6) Polyline X#(16),Y#(16) To X#(17),Y#(17) To X#(18),Y#(18) To X#(19),Y#(19) To X#(16),Y#(16) Polyline X#(13),Y#(13) To X#(10),Y#(10) To X#(9),Y#(9) To X#(11),Y#(11) To X#(12),Y#(12) Polyline X#(9),Y#(9) To X#(15),Y#(15) To X#(14),Y#(14) Return SHIP2: Polyline X#(4),Y#(4) To X#(1),Y#(1) To X#(2),Y#(2) To X#(3),Y#(3) To X#(4),Y#(4) To X#(5),Y#(5) To X#(2),Y#(2) Polyline X#(3),Y#(3) To X#(1),Y#(1) To X#(5),Y#(5) Polyline X#(6),Y#(6) To X#(7),Y#(7) To X#(8),Y#(8) To X#(9),Y#(9) To X#(6),Y#(6) Polyline X#(10),Y#(10) To X#(11),Y#(11) To X#(12),Y#(12) To X#(13),Y#(13) To X#(10),Y#(10) Polyline X#(14),Y#(14) To X#(16),Y#(16) To X#(15),Y#(15) To X#(17),Y#(17) To X#(14),Y#(14) Polyline X#(18),Y#(18) To X#(19),Y#(19) Polyline X#(20),Y#(20) To X#(21),Y#(21) Return DIE: Screen 1 : Fade 3 : Wait 45 : Screen Close 1 : Erase 5 For F=0 To 15 : Rain(0,F)=$0 : Rainbow 0,0,75,16 : Wait Vbl : Next F Rainbow Del 0 Screen Close 0 End Proc Procedure UNLIM Load "ram:unbob.abk" For F=2 To 0 Step -1 Screen Open F,320,296,8,Lowres : Flash Off : Curs Off : Cls 0 Screen Display F,128,20,, Palette 0,0,0,0,0,0,0,0 Next F For F=1 To 720 : CX#(F)=Sin(F) : Next F A(0)=1 : A(1)=2 : A(2)=3 : XI=3 : XS#=30 : XSI#=1.04 Fade 3,0,4095,3840,3328,2560,2048,1280,768 Repeat For F=0 To 2 Screen F : Get Palette 0 : Screen To Front F Add A(F),XI : If A(F)>360 Then Add A(F),-360 XS#=XS#+XSI# : If XS#>360 Then XS#=XS#-360 XSP#=(Sin(XS#)*150) Paste Bob(CX#(A(F))*XSP#)+150,(CX#(A(F)+90)*XSP#)+140,1 Paste Bob(CX#(A(F)+180)*XSP#)+150,(CX#(A(F)+270)*XSP#)+140,1 Inc T : If T=75 Then Gosub CCOL Wait Vbl Next F Until Mouse Key=1 Screen 2 : Fade 3 : Wait 45 : Screen Close 0 : Screen Close 1 : Screen Close 2 Goto DIE CCOL: Screen 0 : Add CT,1,0 To 5 : T=0 If CT=0 Then Fade 3,$0,$FFF,$F00,$D00,$A00,$800,$500,$300 If CT=1 Then Fade 3,$0,$FFF,$FF0,$DD0,$AA0,$880,$550,$330 If CT=2 Then Fade 3,$0,$FFF,$F0,$D0,$A0,$80,$50,$30 If CT=3 Then Fade 3,$0,$FFF,$FF,$DD,$AA,$88,$55,$33 If CT=4 Then Fade 3,$0,$FFF,$F,$D,$A,$8,$5,$3 If CT=5 Then Fade 3,$0,$FFF,$F0F,$D0D,$A0A,$808,$505,$303 Return DIE: End Proc Procedure STENCILVECTORS Load "ram:stencil.abk",6 Load "ram:lineslogo.abk",5 Screen Open 0,290,230,4,Lowres : Curs Off : Cls 1 : Colour 2,$0 : Colour 1,$0 : Hide On Unpack 6 To 1 : Palette 0,0,0,0 Screen Display 1,180,90,,229 Screen Display 0,180,90,,229 Wait Vbl : Dual Playfield 0,1 Screen 0 Set Rainbow 0,0,16,"","","" Rainbow 0,0,75,16 Rain(0,0)=$211 : Rainbow 0,0,75,16 : Wait Vbl Rain(0,1)=$433 : Rainbow 0,0,75,16 : Wait Vbl Rain(0,2)=$655 : Rainbow 0,0,75,16 : Wait Vbl Rain(0,3)=$877 : Rainbow 0,0,75,16 : Wait Vbl Rain(0,4)=$A99 : Rainbow 0,0,75,16 : Wait Vbl Rain(0,5)=$CBB : Rainbow 0,0,75,16 : Wait Vbl Rain(0,6)=$EDD : Rainbow 0,0,75,16 : Wait Vbl Rain(0,7)=$FFF : Rainbow 0,0,75,16 : Wait Vbl Rainbow 0,0,75,16 : Palette 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 Screen 0 : Double Buffer : Autoback 0 : Bob Update Off Unpack 5 To 2 : Screen Display 2,128,30,, Fade 3,0,0,0,0,4095,3005,1913,821 : Wait 45 : Screen 0 FR=-1 : T=0 : Cls 2 Load "ram:ship2.abk",8 A$="Restart: Let Y=48; Pause; Loop: Let Y=Y-1; If Y=0 then Jump Restart; Pause; Jump Loop;" Channel 0 To Screen Offset 1 Amal 0,A$ : Amal On Repeat For F=1 To 21 Add FR,2 X#(F)=Peek(Start(8)+FR-1) Y#(F)=Peek(Start(8)+FR) If FR=2939 Then FR=-1 Next F Ink 0 Polygon X#(10),Y#(10) To X#(11),Y#(11) To X#(12),Y#(12) To X#(13),Y#(13) To X#(10),Y#(10) Polygon X#(6),Y#(6) To X#(7),Y#(7) To X#(8),Y#(8) To X#(9),Y#(9) To X#(6),Y#(6) Ink 1 Polyline X#(4),Y#(4) To X#(1),Y#(1) To X#(2),Y#(2) To X#(3),Y#(3) To X#(4),Y#(4) To X#(5),Y#(5) To X#(2),Y#(2) Polyline X#(3),Y#(3) To X#(1),Y#(1) To X#(5),Y#(5) Polyline X#(18),Y#(18) To X#(19),Y#(19) Polyline X#(20),Y#(20) To X#(21),Y#(21) Ink 0 Polygon X#(14),Y#(14) To X#(16),Y#(16) To X#(15),Y#(15) To X#(17),Y#(17) To X#(14),Y#(14) Screen Swap Wait Vbl Inc T : If T=10 Then Fade 3,$0,$FFF,$0,$0,$F00,$F00,$F00,$F00,$4,$80,$50,$30 Cls 2 Until T=250 Load "ram:plane.abk",8 Fade 3 : Wait 45 FR=-1 : T=0 : Cls 2 Repeat For F=1 To 21 Add FR,2 X#(F)=Peek(Start(8)+FR-1) Y#(F)=Peek(Start(8)+FR) If FR=3863 Then FR=-1 Next F Ink 1 Polyline X#(1),Y#(1) To X#(2),Y#(2) To X#(5),Y#(5) To X#(4),Y#(4) To X#(3),Y#(3) To X#(20),Y#(20) To X#(5),Y#(5) Polyline X#(3),Y#(3) To X#(1),Y#(1) To X#(4),Y#(4) To X#(2),Y#(2) To X#(20),Y#(20) To X#(1),Y#(1) Polyline X#(3),Y#(3) To X#(6),Y#(6) To X#(9),Y#(9) To X#(8),Y#(8) To X#(5),Y#(5) Polyline X#(20),Y#(20) To X#(21),Y#(21) To X#(9),Y#(9) To X#(7),Y#(7) To X#(4),Y#(4) Polyline X#(6),Y#(6) To X#(7),Y#(7) To X#(8),Y#(8) To X#(21),Y#(21) To X#(6),Y#(6) Polyline X#(13),Y#(13) To X#(10),Y#(10) To X#(9),Y#(9) To X#(11),Y#(11) To X#(12),Y#(12) Polyline X#(9),Y#(9) To X#(15),Y#(15) To X#(14),Y#(14) Ink 0 Polygon X#(16),Y#(16) To X#(17),Y#(17) To X#(18),Y#(18) To X#(19),Y#(19) To X#(16),Y#(16) Screen Swap Wait Vbl Inc T : If T=10 Then Fade 3,$0,$FFF,$0,$0,$F00,$F00,$F00,$F00,$4,$800,$500,$300 Cls 2 Until T=250 Fade 3 : Wait 45 Amal Off Screen 2 : Fade 3 : Wait 45 : Screen Close 2 : Erase 5 For F=0 To 15 : Rain(0,F)=$0 : Rainbow 0,0,75,16 : Wait Vbl : Next F Rainbow Del 0 Screen Close 0 : Screen Close 1 End Proc Procedure SHAPES Load "ram:shapeslogo.abk",6 Screen Open 0,210,200,2,Lowres : Flash Off : Curs Off : Cls 0 : Hide On Screen Display 0,200,98,, Set Rainbow 1,0,16,"","","" Rainbow 1,0,88,16 Rain(1,0)=$211 : Rainbow 1,0,88,16 : Wait Vbl Rain(1,1)=$433 : Rainbow 1,0,88,16 : Wait Vbl Rain(1,2)=$655 : Rainbow 1,0,88,16 : Wait Vbl Rain(1,3)=$877 : Rainbow 1,0,88,16 : Wait Vbl Rain(1,4)=$A99 : Rainbow 1,0,88,16 : Wait Vbl Rain(1,5)=$CBB : Rainbow 1,0,88,16 : Wait Vbl Rain(1,6)=$EDD : Rainbow 1,0,88,16 : Wait Vbl Rain(1,7)=$FFF : Rainbow 1,0,88,16 : Wait Vbl Rainbow 1,0,88,16 Unpack 6 To 1 Fade 5,0,2730,3584,3600,3616,3616,3632,3649,3665,3681,3697,3969,3969,3985,4002,4018,4018,4034,4050,819,1092,1365 : Wait 75 Screen 0 : Double Buffer : Autoback 0 Restore RDATA Set Rainbow 0,1,180,"","","" Rainbow 0,80,93,200 For F=0 To 178 Step 2 Read R : Rain(0,F)=R : Rain(0,F+1)=R Next F Rainbow 0,80,93,200 Restore CAT Do Repeat Until Mouse Key=0 Inc PATT For F=1 To 8 X(F)=0 : Y(F)=0 XI(F)=Rnd(10) : YI(F)=Rnd(10) XS(F)=Rnd(94)+1 : YS(F)=Rnd(94)+1 XP(F)=0 : YP(F)=0 Next F If PATT>4 Then Goto CONT For F=1 To 8 Read X(F),Y(F),XI(F),YI(F),XS(F),YS(F) Next F CONT: Repeat For F=1 To 8 Add X(F),XI(F) : If X(F)>360 Then Add X(F),-360 Add Y(F),YI(F) : If Y(F)>360 Then Add Y(F),-360 XP(F)=(Sin(X(F))*XS(F))+100 : YP(F)=(Sin(Y(F))*YS(F))+100 Next F Polygon XP(1),YP(1) To XP(2),YP(2) To XP(3),YP(3) To XP(4),YP(4) To XP(5),YP(5) To XP(6),YP(6) To XP(7),YP(7) To XP(8),YP(8) To XP(1),YP(1) Screen Swap : Wait Vbl Cls 0 If Mouse Key=1 Then Goto DIE Until Mouse Key=2 Screen Swap : Wait Vbl : Cls 0 : Screen Swap : Wait Vbl Loop Add R,2 : If R>180 Then R=0 Rainbow 0,R,40,200 RDATA: Data $F00,$F10,$F20,$F30,$F40,$F50,$F60,$F70,$F80,$F90,$FA0,$FB0,$FC0,$FD0,$FE0 Data $FF0,$EF0,$DF0,$CF0,$BF0,$AF0,$9F0,$8F0,$7F0,$6F0,$5F0,$4F0,$3F0,$2F0,$1F0 Data $F0,$F1,$F2,$F3,$F4,$F5,$F6,$F7,$F8,$F9,$FA,$FB,$FC,$FD,$FE Data $FF,$EF,$DF,$CF,$BF,$AF,$9F,$8F,$7F,$6F,$5F,$4F,$3F,$2F,$1F Data $F,$10F,$20F,$30F,$40F,$50F,$60F,$70F,$80F,$90F,$A0F,$B0F,$C0F,$D0F,$E0F Data $F0F,$F0E,$F0D,$F0C,$F0B,$F0A,$F09,$F08,$F07,$F06,$F05,$F04,$F03,$F02,$F01 CAT: Data 0,90,0,4,95,95 Data 225,315,0,0,75,75 Data 90,180,4,0,95,95 Data 315,45,0,0,75,75 Data 180,270,0,4,95,95 Data 45,135,0,0,75,75 Data 270,0,4,0,95,95 Data 135,225,0,0,75,75 ' Data 0,90,1,1,95,95 Data 45,135,355,355,55,55 Data 90,180,1,1,95,95 Data 135,225,355,355,55,55 Data 180,270,1,1,95,95 Data 225,315,355,355,55,55 Data 270,0,1,1,95,95 Data 315,45,355,355,55,55 Data 0,90,1,1,95,95 Data 45,135,4,4,95,95 Data 90,180,2,2,95,95 Data 135,225,3,3,95,95 Data 180,270,3,3,95,95 Data 225,315,2,2,95,95 Data 270,0,4,4,95,95 Data 315,45,1,1,95,95 Data 0,90,5,4,95,95 Data 225,315,5,4,45,45 Data 90,180,5,4,95,95 Data 315,45,5,4,45,45 Data 180,270,5,4,95,95 Data 45,135,5,4,45,45 Data 270,0,5,4,95,95 Data 135,225,5,4,45,45 DIE: Ink 0 For F=0 To 210 Draw 0,F To 200,F : Screen Swap Draw 0,F To 200,F : Screen Swap Wait Vbl Next F Rainbow Del 0 Screen 1 : Fade 3 : Wait 45 : Screen Close 1 : Erase 6 For F=0 To 15 : Rain(1,F)=$0 : Rainbow 1,0,88,16 : Wait Vbl : Next F Rainbow Del 1 Screen Close 0 End Proc Procedure THREED Load "ram:lineslogo.abk",5 Screen Open 0,255,230,4,Lowres : Flash Off : Curs Off : Cls 0 : Hide On Palette 0,0,0,0 Set Rainbow 0,0,16,"","","" Rainbow 0,0,75,16 Rain(0,0)=$211 : Rainbow 0,0,75,16 : Wait Vbl Rain(0,1)=$433 : Rainbow 0,0,75,16 : Wait Vbl Rain(0,2)=$655 : Rainbow 0,0,75,16 : Wait Vbl Rain(0,3)=$877 : Rainbow 0,0,75,16 : Wait Vbl Rain(0,4)=$A99 : Rainbow 0,0,75,16 : Wait Vbl Rain(0,5)=$CBB : Rainbow 0,0,75,16 : Wait Vbl Rain(0,6)=$EDD : Rainbow 0,0,75,16 : Wait Vbl Rain(0,7)=$FFF : Rainbow 0,0,75,16 : Wait Vbl Rainbow 0,0,75,16 Screen Display 0,180,90,, Double Buffer : Autoback 0 : Bob Update Off Unpack 5 To 1 : Screen Display 1,128,30,, Fade 3,0,0,0,0,4095,3005,1913,821 : Wait 45 : Screen 0 FR=-1 : T=0 : OBJECT=1 Load "ram:cube.abk",8 Fade 3,0,$B00,$B,$0 Repeat For F=1 To 8 Add FR,2 X#(F)=Peek(Start(8)+FR-1) Y#(F)=Peek(Start(8)+FR) If FR=1391 Then FR=-1 Next F Ink 2 Polyline X#(1)-50,Y#(1) To X#(2)-50,Y#(2) To X#(3)-50,Y#(3) To X#(4)-50,Y#(4) To X#(1)-50,Y#(1) Polyline X#(5)-50,Y#(5) To X#(6)-50,Y#(6) To X#(7)-50,Y#(7) To X#(8)-50,Y#(8) To X#(5)-50,Y#(5) Polyline X#(1)-50,Y#(1) To X#(5)-50,Y#(5) : Polyline X#(2)-50,Y#(2) To X#(6)-50,Y#(6) Polyline X#(3)-50,Y#(3) To X#(7)-50,Y#(7) : Polyline X#(4)-50,Y#(4) To X#(8)-50,Y#(8) Ink 1 Polyline X#(1)-40,Y#(1) To X#(2)-40,Y#(2) To X#(3)-40,Y#(3) To X#(4)-40,Y#(4) To X#(1)-40,Y#(1) Polyline X#(5)-40,Y#(5) To X#(6)-40,Y#(6) To X#(7)-40,Y#(7) To X#(8)-40,Y#(8) To X#(5)-40,Y#(5) Polyline X#(1)-40,Y#(1) To X#(5)-40,Y#(5) : Polyline X#(2)-40,Y#(2) To X#(6)-40,Y#(6) Polyline X#(3)-40,Y#(3) To X#(7)-40,Y#(7) : Polyline X#(4)-40,Y#(4) To X#(8)-40,Y#(8) Screen Swap : Wait Vbl Cls 0 : Inc T : If T=200 Then Fade 3 Until T=210 Wait 45 : T=0 Load "ram:ship1.abk",8 Fade 3,0,$B00,$B,$0 Repeat For F=1 To 6 Add FR,2 X#(F)=Peek(Start(8)+FR-1) Y#(F)=Peek(Start(8)+FR) If FR=1043 Then FR=-1 Next F Ink 2 Polyline X#(1)-50,Y#(1) To X#(2)-50,Y#(2) To X#(3)-50,Y#(3) To X#(4)-50,Y#(4) To X#(1)-50,Y#(1) To X#(5)-50,Y#(5) To X#(6)-50,Y#(6) To X#(3)-50,Y#(3) To X#(5)-50,Y#(5) To X#(4)-50,Y#(4) Polyline X#(1)-50,Y#(1) To X#(6)-50,Y#(6) To X#(2)-50,Y#(2) Ink 1 Polyline X#(1)-40,Y#(1) To X#(2)-40,Y#(2) To X#(3)-40,Y#(3) To X#(4)-40,Y#(4) To X#(1)-40,Y#(1) To X#(5)-40,Y#(5) To X#(6)-40,Y#(6) To X#(3)-40,Y#(3) To X#(5)-40,Y#(5) To X#(4)-40,Y#(4) Polyline X#(1)-40,Y#(1) To X#(6)-40,Y#(6) To X#(2)-40,Y#(2) Screen Swap : Wait Vbl Cls 0 : Inc T : If T=240 Then Fade 3 Until T=250 Wait 45 : Screen Close 0 Screen 1 : Fade 3 : Wait 45 : Screen Close 1 : Erase 5 For F=0 To 15 : Rain(0,F)=$0 : Rainbow 0,0,75,16 : Wait Vbl : Next F Rainbow Del 0 End Proc Procedure MSCROLL Load "ram:mscrollfont.abk" Load "ram:mscrolldata.abk",8 Screen Open 0,770,290,8,Lowres : Flash Off : Curs Off : Cls 0 Screen Display 0,110,50,340, Wait Vbl Get Sprite Palette : Colour 7,$0 T$="WHAT A LARGE SCROLL! GREETS TO BITMAP,CYBORNETICS,SYNTEX,AND THE BEHOLDER... " No Mask Set Rainbow 0,7,180,"","","" Rainbow 0,0,45,280 For F=0 To 89 Read R : Rain(0,F*2)=R : Rain(0,(F*2)+1)=R Next F Rainbow 0,0,45,260 Dim S$(3) 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;" R$="R: L X=179; P; L: L X=X-1; I X<0 J R; P; J L;" S$(1)="R: L Y=Z(230)+50; L X=110; P; L: L X=X+6; I X>430 J R; P; J L;" S$(2)="R: L Y=Z(230)+50; L X=110; P; L: L X=X+8; I X>430 J R; P; J L;" S$(3)="R: L Y=Z(230)+50; L X=110; P; L: L X=X+10; I X>430 J R; P; J L;" For F=16 To 28 Step 4 : Colour F,$0 : Colour(F+1),$FFF : Colour(F+2),$888 : Colour(F+3),$444 : Next F For F=0 To 2 Sprite F,110,40,36 Channel F+2 To Sprite F Amal F+2,S$(F+1) Next F Channel 0 To Screen Offset 0 Channel 1 To Rainbow 0 Amal 0,A$ : Amal 1,R$ : Amal On ST=Start(8)+1 : For F=1 To 360 : CX#(F)=Sin(F)*30 : Next F Do SC=Amreg(0,0) N=Amreg(0,1) If N=0 Then Gosub NCHAR If N=1 Then Gosub NCHAR If N=2 Then Gosub NCHAR If N=3 Then Gosub NCHAR If N=4 Then Gosub NCHAR If N=5 Then Gosub NCHAR If N=6 Then Gosub NCHAR If N=7 Then Inc X If X=5 Then Add X,-5 : Gosub NCHAR8 Add XH,3 : If XH>180 Then Add XH,-180 Screen Offset 0,,CX#(XH) Wait Vbl Loop NCHAR8: Inc CH : If CH>Len(T$) Then Goto DIE B=Asc(Mid$(T$,CH,1))-32 : RB=B*42 Return NCHAR: L=(N*6)+X : SB=Peek(ST+L+RB) : NN=N*4 Paste Bob SC-(32+NN),(N*32)+32,SB : Paste Bob SC+(352-NN),(N*32)+32,SB Return Data $F00,$F10,$F20,$F30,$F40,$F50,$F60,$F70,$F80,$F90,$FA0,$FB0,$FC0,$FD0,$FE0 Data $FF0,$EF0,$DF0,$CF0,$BF0,$AF0,$9F0,$8F0,$7F0,$6F0,$5F0,$4F0,$3F0,$2F0,$1F0 Data $F0,$F1,$F2,$F3,$F4,$F5,$F6,$F7,$F8,$F9,$FA,$FB,$FC,$FD,$FE Data $FF,$EF,$DF,$CF,$BF,$AF,$9F,$8F,$7F,$6F,$5F,$4F,$3F,$2F,$1F Data $F,$10F,$20F,$30F,$40F,$50F,$60F,$70F,$80F,$90F,$A0F,$B0F,$C0F,$D0F,$E0F Data $F0F,$F0E,$F0D,$F0C,$F0B,$F0A,$F09,$F08,$F07,$F06,$F05,$F04,$F03,$F02,$F01 DIE: Amal Off 0 Fade 3 : Wait 45 Amal Off : Sprite Off Screen Close 0 : Rainbow Del 0 End Proc Procedure VECBOB ' Sorry lamerz, the trick to this is the 'DAS' routine ' that is not required in the finished sourcecode. ' Therefore, you cannot rip our method. GO AWAY! Load "ram:bob.abk" Load "ram:vecboblogo.abk",5 O$(1)="bobcube.abk" : O$(2)="bobspike.abk" : O$(3)="bobboard.abk" O$(4)="bobchair.abk" : O$(5)="bobbox.abk" : O$(6)="bobcopter.abk" AMOUNT(1)=27 : AMOUNT(2)=25 : AMOUNT(3)=49 : AMOUNT(4)=30 : AMOUNT(5)=36 : AMOUNT(6)=50 LIMIT(1)=7127 : LIMIT(2)=6999 : LIMIT(3)=10387 : LIMIT(4)=5999 : LIMIT(5)=10511 : LIMIT(6)=17999 CS(1)=16 : CS(2)=8 : CS(3)=16 : CS(4)=16 : CS(5)=8 : CS(6)=16 Screen Open 0,320,256,2,Lowres : Curs Off : Cls 0 Set Rainbow 0,0,16,"","","" Rainbow 0,0,80,16 Rain(0,0)=$211 : Rainbow 0,0,70,16 : Wait Vbl Rain(0,1)=$433 : Rainbow 0,0,70,16 : Wait Vbl Rain(0,2)=$655 : Rainbow 0,0,70,16 : Wait Vbl Rain(0,3)=$877 : Rainbow 0,0,70,16 : Wait Vbl Rain(0,4)=$A99 : Rainbow 0,0,70,16 : Wait Vbl Rain(0,5)=$CBB : Rainbow 0,0,70,16 : Wait Vbl Rain(0,6)=$EDD : Rainbow 0,0,70,16 : Wait Vbl Rain(0,7)=$FFF : Rainbow 0,0,70,16 : Wait Vbl Rainbow 0,0,70,16 Unpack 5 To 1 : Screen Display 1,128,34,, Fade 3,0,6,9,13 : Wait 45 : Screen 0 For F=1 To 6 Load "ram:"+O$(F),9 Screen Open 0,260,215,CS(F),Lowres : Curs Off : Flash Off : Cls 0 Palette 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 Screen Display 0,170,80,, : Double Buffer : Update Off For FB=0 To AMOUNT(F) : Set Bob FB,1,, : Next FB Gosub PALCHAN FR=-1 Repeat For FB=1 To AMOUNT(F) Add FR,4 X#(FB)=Peek(Start(9)+FR-3) Y#(FB)=Peek(Start(9)+FR-2) BT(FB)=Peek(Start(9)+FR) If FR=LIMIT(F) Then FR=-1 Bob AMOUNT(F)-FB,X#(FB),Y#(FB)-20,BT(FB) Next FB Update Inc T Until T=200 Fade 3 : Wait 45 : Bob Off : T=0 Next F Goto DIE PALCHAN: If F=1 Then Fade 3,0,$F0F,$909,$404,$F0,$90,$40,$FFF,$FFF,$F00,$900,$400,$F,$9,$4 If F=2 Then Fade 3,0,$F01,$D01,$B01,$901,$701,$501,$301 If F=3 Then Fade 3,0,$F,$9,$4,$F0F,$909,$404,$FFF,$FFF,$F00,$900,$400,$FF0,$990,$440 If F=4 Then Fade 3,0,$FF0,$DD0,$BB0,$990,$770,$550,$330,$FFF,$F,$D,$B,$9,$7,$5,$3 If F=5 Then Fade 3,0,$EFE,$CEC,$ACA,$8A8,$686,$464,$242 If F=6 Then Fade 3,0,$FF0,$DD0,$BB0,$990,$770,$550,$330,$0,$F,$9,$4,$F00,$900,$400 Return DIE: Screen 1 : Fade 3 : Wait 45 : Screen Close 1 : Erase 5 For F=0 To 15 : Rain(0,F)=$0 : Rainbow 0,0,70,16 : Wait Vbl : Next F Rainbow Del 0 : Screen Close 0 End Proc Procedure FLAG Load "ram:flag.abk",9 Restore P For F=1 To 44 : Read P(F) : Next F Restore DX For F=1 To 44 : Read DX(F) : Next F Restore DY For F=1 To 44 : Read DY(F) : Next F Screen Open 0,320,256,4,Lowres : Curs Off : Flash Off : Hide On : Cls 0 Palette 0,0,0,0 : Cls 0 : Double Buffer : Autoback 0 : Bob Update Off Set Rainbow 0,0,16,"","","" Rainbow 0,0,40,16 Rain(0,0)=$211 : Rainbow 0,0,40,16 : Wait Vbl Rain(0,1)=$433 : Rainbow 0,0,40,16 : Wait Vbl Rain(0,2)=$655 : Rainbow 0,0,40,16 : Wait Vbl Rain(0,3)=$877 : Rainbow 0,0,40,16 : Wait Vbl Rain(0,4)=$A99 : Rainbow 0,0,40,16 : Wait Vbl Rain(0,5)=$CBB : Rainbow 0,0,40,16 : Wait Vbl Rain(0,6)=$EDD : Rainbow 0,0,40,16 : Wait Vbl Rain(0,7)=$FFF : Rainbow 0,0,40,16 : Wait Vbl Rainbow 0,0,40,16 Set Rainbow 1,0,16,"","","" Rainbow 1,0,290,16 Rain(1,7)=$211 : Rainbow 1,0,290,16 : Wait Vbl Rain(1,6)=$433 : Rainbow 1,0,290,16 : Wait Vbl Rain(1,5)=$655 : Rainbow 1,0,290,16 : Wait Vbl Rain(1,4)=$877 : Rainbow 1,0,290,16 : Wait Vbl Rain(1,3)=$A99 : Rainbow 1,0,290,16 : Wait Vbl Rain(1,2)=$CBB : Rainbow 1,0,290,16 : Wait Vbl Rain(1,1)=$EDD : Rainbow 1,0,290,16 : Wait Vbl Rain(1,0)=$FFF : Rainbow 1,0,290,16 : Wait Vbl Rainbow 1,0,290,16 T=0 : Fade 5,0,$FFF,$F00 Repeat For F=1 To 44 Add P(F),4 X(F)=Peek(Start(9)+P(F))+218-(30*DX(F)) Y(F)=Peek(Start(9)+P(F)+1)+150-(30*DY(F)) Next F Ink 1 Polyline X(1),Y(1) To X(2),Y(2) To X(3),Y(3) To X(4),Y(4) To X(5),Y(5) To X(11),Y(11) To X(18),Y(18) Polyline X(18),Y(18) To X(17),Y(17) To X(16),Y(16) To X(15),Y(15) To X(14),Y(14) To X(10),Y(10) To X(1),Y(1) Paint X(1)-5,Y(1)-5,1 Polyline X(23),Y(23) To X(24),Y(24) To X(25),Y(25) To X(26),Y(26) To X(27),Y(27) To X(33),Y(33) To X(40),Y(40) To X(39),Y(39) Polyline X(39),Y(39) To X(38),Y(38) To X(37),Y(37) To X(36),Y(36) To X(32),Y(32) To X(23),Y(23) Paint X(23)-5,Y(23)-5,1 Polygon X(6),Y(6) To X(7),Y(7) To X(8),Y(8) To X(9),Y(9) To X(13),Y(13) To X(22),Y(22) To X(21),Y(21) To X(20),Y(20) To X(19),Y(19) To X(12),Y(12) To X(6),Y(6) Polygon X(28),Y(28) To X(29),Y(29) To X(30),Y(30) To X(31),Y(31) To X(35),Y(35) To X(44),Y(44) To X(43),Y(43) To X(42),Y(42) To X(41),Y(41) To X(34),Y(34) To X(28),Y(28) Ink 2 Draw X(41),Y(41) To X(40),Y(40) : Draw X(5),Y(5) To X(6),Y(6) : Draw X(14),Y(14) To X(23),Y(23) : Draw X(22),Y(22) To X(31),Y(31) Paint X(18)-5,Y(18)-5,2 Screen Swap : Wait Vbl Cls 0 Inc T : If T=95 Then Fade 5 Until T=98 For F=0 To 15 : Rain(0,F)=$0 : Rainbow 0,0,40,16 : Wait Vbl : Next F Rainbow Del 0 For F=15 To 0 Step -1 : Rain(1,F)=$0 : Rainbow 1,0,290,16 : Wait Vbl : Next F Rainbow Del 1 : Screen Close 0 P: Data 0,4,8,12,16,20,24,28,32 Data 8,24,28,40 Data 16,20,24,28,32,36,40,44,48 Data 24,28,32,36,40,44,48,52,56 Data 32,48,52,64 Data 40,44,48,52,56,60,64,68,72 DX: Data 0,1,2,3,4,5,6,7,8 Data 0,4,5,8 Data 0,1,2,3,4,5,6,7,8 Data 0,1,2,3,4,5,6,7,8 Data 0,4,5,8 Data 0,1,2,3,4,5,6,7,8 DY: Data 0,0,0,0,0,0,0,0,0 Data 1,1,1,1 Data 2,2,2,2,2,2,2,2,2 Data 3,3,3,3,3,3,3,3,3 Data 4,4,4,4 Data 5,5,5,5,5,5,5,5,5 End Proc Procedure PATTERNS Load "ram:pattlogo.abk",6 Unpack 6 To 6 : Screen Hide 6 : Hide On For F=0 To 5 Screen Open F,260,220,8,Lowres : Flash Off : Curs Off : Cls 0 Palette 0,0,0,0,0,0,0,0 Screen Hide F Next F For F=0 To 5 : Screen Display F,168,247,,70 : Next F OFF=0 For G=0 To 5 Screen To Front G For F=50 To 319 Screen Copy 6,F,0,F+1,70 To G,F-35,(Sin(F+OFF)*10) Screen Copy 6,F,0,F+1,70 To G,F-35,(Sin(F+OFF+20)*10)+70 Screen Copy 6,F,0,F+1,70 To G,F-35,(Sin(F+OFF+40)*10)+140 Next F For F=0 To 69 Screen Copy G,0,F,260,F+1 To G,(Sin(F+OFF+145)*20),F Screen Copy G,0,F+70,260,F+71 To G,(Sin(F+OFF+145+20)*20),F+70 Screen Copy G,0,F+140,260,F+141 To G,(Sin(F+OFF+145+40)*20),F+140 Next F Add OFF,60 Next G Screen Open 6,220,220,32,Lowres : Flash Off : Curs Off : Cls 0 Screen Display 6,190,25,, : Screen To Front 0 : Screen 0 Set Rainbow 0,0,16,"","","" Rainbow 0,0,240,16 Rain(0,0)=$211 : Rainbow 0,0,237,16 : Wait Vbl Rain(0,1)=$433 : Rainbow 0,0,237,16 : Wait Vbl Rain(0,2)=$655 : Rainbow 0,0,237,16 : Wait Vbl Rain(0,3)=$877 : Rainbow 0,0,237,16 : Wait Vbl Rain(0,4)=$A99 : Rainbow 0,0,237,16 : Wait Vbl Rain(0,5)=$CBB : Rainbow 0,0,237,16 : Wait Vbl Rain(0,6)=$EDD : Rainbow 0,0,237,16 : Wait Vbl Rain(0,7)=$FFF : Rainbow 0,0,237,16 : Wait Vbl Rainbow 0,0,237,16 For F=0 To 5 : Screen Show F : Next F Fade 3,0,4095,3855,3341,2827,2313,1799,1285 : Wait 45 For F=1 To 5 : Screen F : Get Palette 0 : Next F : Screen 6 For F=1 To 360 : CX#(F)=(Sin(F)*100)+110 : Next F Do T=0 : TX=0 : Read X1,Y1,X2,Y2,XI1,YI1,XI2,YI2,ML,TL,A If X1=999 Then Goto PATDIE If A=0 Then Palette $0,$100,$200,$300,$400,$500,$600,$700,$800,$900,$A00,$B00,$C00,$D00,$E00,$F00,$E00,$D00,$C00,$B00,$A00,$900,$800,$700,$600,$500,$400,$300,$200,$100,$0 If A=1 Then Palette $0,$10,$20,$30,$40,$50,$60,$70,$80,$90,$A0,$B0,$C0,$D0,$E0,$F0,$E0,$D0,$C0,$B0,$A0,$90,$80,$70,$60,$50,$40,$30,$20,$10,$0 If A=2 Then Palette $0,$1,$2,$3,$4,$5,$6,$7,$8,$9,$A,$B,$C,$D,$E,$F,$E,$D,$C,$B,$A,$9,$8,$7,$6,$5,$4,$3,$2,$1,$0 Shift Down 1,1,30,1 Repeat Add X1,XI1 : If X1>360 Then Add X1,-360 Add Y1,YI1 : If Y1>360 Then Add Y1,-360 Add X2,XI2 : If X2>360 Then Add X2,-360 Add Y2,YI2 : If Y2>360 Then Add Y2,-360 Add I,1,1 To 30 : Ink I Draw CX#(X1),CX#(Y1) To CX#(X2),CX#(Y2) Gosub WLOGO Wait Vbl Add TX,ML Inc T Until TX=TL*360 Repeat Gosub WLOGO Wait Vbl : Inc T Until T>750 Shift Off : Fade 3 For F=0 To 45 : Wait Vbl : Gosub WLOGO : Next F Cls 0 Loop WLOGO: If A=0 Then A=1 : Return A=0 : Add IM,1,0 To 2 If IM=0 Then Add SC,1,0 To 5 If SC=6 Then SC=0 Screen To Front SC : Screen Offset SC,0,(IM*70)+6 Return CDATA: Data 0,90,0,90,4,4,1,1,4,4,0 Data 0,90,180,270,4,2,4,2,4,4,1 Data 0,0,0,0,1,2,4,1,4,4,2 Data 90,270,0,90,2,2,2,2,2,2,0 Data 0,90,0,90,2,2,3,3,3,6,1 Data 0,25,50,75,1,1,1,1,1,1,2 Data 999,0,0,0,0,0,0,0,0,0,0 PATDIE: Screen Close 6 Screen SC : Fade 3 : Wait 45 For F=0 To 5 : Screen Close F : Next F For F=0 To 15 : Rain(0,F)=$0 : Rainbow 0,0,237,16 : Wait Vbl : Next F Rainbow Del 0 End Proc Procedure THEEND Music 1 Def Scroll 1,0,0 To 320,256,0,-1 Gosub DAT Set Rainbow 0,0,296,"","","" : Rainbow 0,0,40,296 Rain(0,98)=$444 : Rainbow 0,0,40,296 : Wait Vbl : Rain(0,99)=$777 : Rainbow 0,0,40,296 : Wait Vbl Rain(0,100)=$AAA : Rainbow 0,0,40,296 : Wait Vbl : Rain(0,101)=$DDD : Rainbow 0,0,40,296 : Wait Vbl Rain(0,102)=$FFF : Rainbow 0,0,40,296 : Wait Vbl : Rain(0,103)=$999 : Rainbow 0,0,40,296 : Wait Vbl Rain(0,261)=$444 : Rainbow 0,0,40,296 : Wait Vbl : Rain(0,260)=$777 : Rainbow 0,0,40,296 : Wait Vbl Rain(0,259)=$AAA : Rainbow 0,0,40,296 : Wait Vbl : Rain(0,258)=$DDD : Rainbow 0,0,40,296 : Wait Vbl Rain(0,257)=$FFF : Rainbow 0,0,40,296 : Wait Vbl : Rain(0,256)=$999 : Rainbow 0,0,40,296 : Wait Vbl Unpack 7 To 3 For F=-80 To 35 Step 2 : Screen Display 3,120,F,,104 : Wait Vbl : Next F Unpack 6 To 0 : Screen Display 0,128,145,, Double Buffer : Autoback 0 : Bob Update Off Fade 3,0,768,1280,1536,2048,2320,2576,2864,3136,3408,3441,3730,3763,4052,4085,4090,4095,3551,3022,2494,1966,1677,1404,1131,1097,824,551,294,278,5,4,3 : Wait 45 Unpack 6 To 1 : Screen Hide 1 Screen Open 2,320,200,16,Lowres : Flash Off : Curs Off : Cls 0 Paper 0 : Pen 15 : Locate 0,19 Screen Hide 2 : Screen 0 : CH=0 Repeat Screen 2 : Scroll 1 : Inc H : If H=9 Then H=0 : Gosub NLINE Screen Copy 1 To 0 Screen Copy 2,0,0,320,160 To 0,0,0,%1100000 Screen 0 : Screen Swap : Wait Vbl Until Mouse Key=1 Goto DIE NLINE: Add CH,30,0 To Len(T$) Centre Mid$(T$,CH+1,30) Return DAT: T$=" " : T$=T$+" " T$=T$+"This is the end of our coolest" T$=T$+"demo ever... And this message" : T$=T$+"contains all our messages, and" T$=T$+" greets to people around the " : T$=T$+" world..... " T$=T$+" " : T$=T$+" Credits: " T$=T$+" ~~~~~~~~ " : T$=T$+" All coding by JAG... " T$=T$+" GFX by Chaos, Sandman, JAG " : T$=T$+" and Texas Tez... " T$=T$+" Main theme by Dr Awesome " : T$=T$+" from Crusaders... " T$=T$+" End piece by Moby of " : T$=T$+" Alcatraz... " T$=T$+" Digitised pic by Bodean... " : T$=T$+" " T$=T$+" " : T$=T$+" Fanatix members are: " T$=T$+" ~~~~~~~~~~~~~~~~~~~~ " : T$=T$+" JAG - Code, GFX " T$=T$+" " : T$=T$+" Chaos - GFX " T$=T$+" " : T$=T$+" Sandman - Code, GFX, Music " T$=T$+" " : T$=T$+" Texas Tez - GFX " T$=T$+" " : T$=T$+" Foottapper - Music, GFX " T$=T$+" " : T$=T$+" Tomo - Assorted " T$=T$+" " T$=T$+" As you can see, we just got 4" : T$=T$+"more members in Stoke On Trent" T$=T$+"who used to be called Almighty" : T$=T$+" Sandman and Texas Tez work " T$=T$+"together under the name TSW!! " T$=T$+" " : T$=T$+" " T$=T$+" Fanatix greets fly out to: " : T$=T$+" ~~~~~~~~~~~~~~~~~~~~~~~~~~ " T$=T$+" Bitmap (Yazoo, K-Tel, " : T$=T$+" Mercury, Will) " T$=T$+" " : T$=T$+" Cybornetics (Matt, Dug, Rob" T$=T$+" , Stu) " : T$=T$+" " T$=T$+" Syntex (Avoriaz, PIB, Bird " : T$=T$+" , Maximum Overdrive, Lux " T$=T$+" Interior) " : T$=T$+" " T$=T$+" Beholder, Reinca, Robots " : T$=T$+" " T$=T$+" Bladerunners, Francois L. " : T$=T$+" " T$=T$+" Sandra Sharkey, Len+Anne T." : T$=T$+" " T$=T$+" Mike Gerrard, Phil 'AMOS' " : T$=T$+" hero' South..... " T$=T$+" " : T$=T$+" " T$=T$+"This is JAG typing at the " T$=T$+" moment, do you like our new " : T$=T$+" text generator routine?? And" T$=T$+" the 3D line vectors??? " : T$=T$+"If there is enough interest, " T$=T$+" we may organise an AMOS meet " : T$=T$+" up!!! But first, more people" T$=T$+" will have to contact us. And" : T$=T$+" that means Syntex, Reinca, " T$=T$+" Robots, Bladerunners, and " : T$=T$+" anyone else who does demos. " T$=T$+" " : T$=T$+"Personal greets to: " T$=T$+" " : T$=T$+" Yazoo (Bitmap)-- Great to " T$=T$+" get your Christmas demo! " : T$=T$+" Keep sending... " T$=T$+" " : T$=T$+" Matt (Cybornetics)-- Will " T$=T$+" you ever manage to finish " : T$=T$+" another demo??? " T$=T$+" " : T$=T$+" Beholder-- Hope the coding " T$=T$+" is coming along fine!! " : T$=T$+" " T$=T$+" PIB (Syntex)-- What do you " : T$=T$+" think of my vector-bobs???" T$=T$+" They have priorities!! " : T$=T$+" " T$=T$+"I also greet: " : T$=T$+" Reinca-- Contact us. " T$=T$+" Robots-- Contact us. " : T$=T$+" Bladerunners-- See above " T$=T$+" Hanissis 5-- Don't bother. " : T$=T$+" Best AMOS group in the " T$=T$+" world?? I think not. When" : T$=T$+" I first saw your demos, I " T$=T$+" was blown away with how " : T$=T$+" lame they were. How did " T$=T$+" you manage those really " : T$=T$+" boring, jerky, slow, and " T$=T$+" uninteresting text wipes??" : T$=T$+" You are truly the direst " T$=T$+" people on the planet... " : T$=T$+" " T$=T$+" " : T$=T$+"Now it's Chaos' turn.... " T$=T$+" I've got nothing much to say " : T$=T$+" this time, except that this " T$=T$+" is our best production so far" : T$=T$+"By the way, Sandra Sharkey, it" T$=T$+" is really lame expecting " : T$=T$+" people to pay £15.00 for some" T$=T$+" priority service?!?! All " : T$=T$+" this means is that anyone who" T$=T$+" doesn't pay up gets useless " : T$=T$+" service. " T$=T$+"Personal greets to:- " : T$=T$+" Syntex- Hope you got the demo" T$=T$+" the Punishment was cool. " : T$=T$+" Mike G- What do you think? " T$=T$+" Do you remember that issue " : T$=T$+" of YS where they called you " T$=T$+" a bearded troll??? " T$=T$+" Oh yeah, Hanissis 'modest' 5," : T$=T$+" What's all this best group in" T$=T$+" the world joke? You are " : T$=T$+" nothing but a bunch of sad, " T$=T$+" talentless lamers.... " T$=T$+" " : T$=T$+" " T$=T$+"Hey kids, this is Sandman! (A " : T$=T$+" new Fanatix member) How are " T$=T$+" you all doin' out there? Oh," : T$=T$+" that's OK- I'm not too bad " T$=T$+" myself thanks. I've only one" : T$=T$+" word to say- GRAPHICS! (Some " T$=T$+" of them by me and Texas Tez) " : T$=T$+"So see you all at the Sixteen " T$=T$+" Bit Computer Fair! BBYYEEEE!" : T$=T$+" " T$=T$+" " : T$=T$+"Hey babes! Long time no see! " T$=T$+" (In fact, who the hell are " : T$=T$+" you?) Well, I'm Texas Tez- a" T$=T$+" new kid in town! And I help " : T$=T$+" out with the GFX. (Well.. " T$=T$+" sometimes I do the GFX!) " : T$=T$+"Anyway, I'd just like to " T$=T$+" announce my sister's wedding " : T$=T$+" (Good on ya sis!), everyone " T$=T$+" who reads this are invited! " : T$=T$+" (Providing you can find the " T$=T$+" church!) " : T$=T$+" " T$=T$+" " : T$=T$+"Heeerrres Tomo! Yes, it's me," T$=T$+" the most good looking member " : T$=T$+" of Fanatix! I'm at college " T$=T$+" now writing this tedious text" : T$=T$+" for JAG to put into this new " T$=T$+" demo. Check out Sandman's " : T$=T$+" new module because its ******" T$=T$+" good! OK, let's say a few " : T$=T$+" hellos. Hello, hello, hello." T$=T$+"There, thats enough hellos for" : T$=T$+" now. Yo to JAG and Kal(a mate" T$=T$+" of mine)as well as all of the" : T$=T$+" ITEC posse (except Wils cos " T$=T$+" he's a ******!) Oh yeah, " : T$=T$+" before I forget, Mum and Dad-" T$=T$+" Buy me a ****** car!!! PLEASE" : T$=T$+"*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-" T$=T$+"-Unfortunately, the rest of " : T$=T$+" Tomo's text had to be totally" T$=T$+" removed for the AMOS PD... " : T$=T$+" " T$=T$+" " : T$=T$+"Yo! This is Foottapper and I'm" T$=T$+" a new member of Fanatix. Yes" : T$=T$+" as you can tell from my name," T$=T$+" I'm the music man! (Surprise)" : T$=T$+" So all you lot out there may " T$=T$+" well listen to my music very " : T$=T$+" soon. The music modules that" T$=T$+" I'm writing now is a big one!" : T$=T$+"It has well over 10 intruments" T$=T$+" all very long. So watch (and" : T$=T$+" listen) out for it very soon " T$=T$+" because it's heavy! (Well " : T$=T$+" heavyish anyway!) " T$=T$+" " : T$=T$+" " T$=T$+"For more demo madness, see our" : T$=T$+" other products:-- " T$=T$+" " : T$=T$+" Fanatix Megademo 1 (lame) " T$=T$+" Fanatix Megademo 2 " : T$=T$+" Fanatix Music Disk 1 " T$=T$+" Fanatix Megademo 3 " : T$=T$+" Fanatix Megademo 4 " T$=T$+" Structured Insanity " : T$=T$+" Fanatix Megademo 5 " T$=T$+" Fanatix Megademo 6 " : T$=T$+" And this of course... " T$=T$+" " : T$=T$+"Available from the AMOS P.D. " T$=T$+" library, or from our contact " : T$=T$+" address: " T$=T$+" " : T$=T$+" FANATIX, " T$=T$+" 29 Cambridge Road, " : T$=T$+" Godmanchester, " T$=T$+" Huntingdon, " : T$=T$+" Cambs, " T$=T$+" PE18 8BT, " : T$=T$+" England... " T$=T$+" " : T$=T$+" " T$=T$+"Things used to create this new" T$=T$+" demo were: " : T$=T$+" " T$=T$+" AMOS (Of course) " : T$=T$+" The AMOS Compiler.. " T$=T$+" Deluxe Paint IV " : T$=T$+" Action Replay III " T$=T$+" 3 or more Amigas " : T$=T$+" Loads of TV's and monitors " T$=T$+" 1 knackered mouse, some " : T$=T$+" that work!! " T$=T$+" Lots of disk drives " : T$=T$+" Lots of disks " T$=T$+" Vector GFX book by ABACUS " : T$=T$+" Superior intelligence " T$=T$+" GFX ripper (the font) " : T$=T$+" Cans of Coke (too many to " T$=T$+" count. " : T$=T$+" Fanatix Vector Plotter " T$=T$+" Fanatix Noisetracker " : T$=T$+" converter... " T$=T$+" Sprite grabber " : T$=T$+" And much more... " T$=T$+" " : T$=T$+" Now for something different. " T$=T$+" Our top 20 dislikes: " T$=T$+" ~~~~~~~~~~~~~~~~~~~~ " : T$=T$+"20.The AMOS maths routines. " T$=T$+" " : T$=T$+"19.Flat Coke. " T$=T$+" " : T$=T$+"18.Assembly groups that do " T$=T$+" demos less impressive than " : T$=T$+" AMOS ones!!! " T$=T$+" " : T$=T$+"17.Tiertex of Strider II fame." T$=T$+" " : T$=T$+"16.The infamous 16 pixel jerk!" T$=T$+" " : T$=T$+"15.AMOS 'friendly' 3D... " T$=T$+" " : T$=T$+"14.The Bitmap Brothers (M.P.)!" T$=T$+" " : T$=T$+"13.Lame reviews - Amiga Action" T$=T$+" " : T$=T$+"12.Lame reviews - Amiga Power." T$=T$+" " : T$=T$+"11.Dying internal drives! " T$=T$+" " : T$=T$+"10.Deluded ST owners. " T$=T$+" " : T$=T$+" 9.Wrongly programmed videos. " T$=T$+" " : T$=T$+" 8.Has beens E.g. Lionel Blair" T$=T$+" " : T$=T$+" 7.Hanissis 5 - False claims.." T$=T$+" " : T$=T$+" 6.A500 Plus. " T$=T$+" " : T$=T$+" 5.Shops that sell everything " T$=T$+" but the thing you want. " : T$=T$+" " T$=T$+" 4.Sad people who do Busking " : T$=T$+" in the London subways.. " T$=T$+" " : T$=T$+" 3.Those people who sell you " T$=T$+" the wrong disks at computer" : T$=T$+" shows!!?! " T$=T$+" " : T$=T$+" 2.Eastenders - such a happy, " T$=T$+" cheerfull programme. " : T$=T$+" " T$=T$+" 1.The crusty Malteser - no " : T$=T$+" matter how hard you try, it" T$=T$+" is always the last one in a" : T$=T$+" pack of Revels. And even " T$=T$+" though you KNOW you won't " : T$=T$+" like it, you can't resist " T$=T$+" eating the bloody thing...." : T$=T$+" " T$=T$+" " T$=T$+" ***** * * ***** " : T$=T$+" * * * * " T$=T$+" * ***** *** " : T$=T$+" * * * * " T$=T$+" * * * ***** " : T$=T$+" " T$=T$+" ***** ***** **** " : T$=T$+" * * * * * " T$=T$+" *** * * * * " : T$=T$+" * * * * * " T$=T$+" ***** * * **** " : T$=T$+" " T$=T$+" Fanatix Productions in 1992! " : T$=T$+" -*- " T$=T$+" " : T$=T$+" " T$=T$+" " : T$=T$+" " T$=T$+"Now press the mouse button or " : T$=T$+" listen to this cool tune.... " T$=T$+" " : T$=T$+" " T$=T$+" " : T$=T$+" " T$=T$+" " : T$=T$+" " T$=T$+"(9900 Bytes long!!!!) " Return DIE: Screen 0 : Fade 5 : Wait 75 : Screen Close 1 : Screen Close 2 : Screen Close 0 Screen 3 : For F=35 To -80 Step -2 : Screen Display 3,120,F,,104 : Wait Vbl : Next F Screen Close 3 : Wait 45 For F=98 To 103 : Rain(0,F)=$0 : Rainbow 0,0,40,296 : Wait Vbl : Next F For F=261 To 256 : Rain(0,F)=$0 : Rainbow 0,0,40,296 : Wait Vbl : Next F Rainbow Del 0 End Proc Procedure OUTRO Load "ram:b1.abk",5 : Load "ram:b2.abk",6 Load "ram:b3.abk",7 : Load "ram:b4.abk",8 For F=1 To 360 : CX#(F)=Sin(F) : Next F For F=0 To 3 Unpack F+5 To F : Screen Hide F : Get Sprite Palette Screen Display F,128,150,, For G=16 To 19 Colour G,Colour(G-16) : Colour G+4,Colour(G-16) : Colour G+8,Colour(G-16) : Colour G+12,Colour(G-16) Next G Next F Set Rainbow 0,1,161,"(2,1,15)(2,-1,15)","","" : Rainbow 0,0,165,150 For F=0 To 150 Step 10 Read R : For G=0 To 9 : Rain(0,F+G)=R : Next G Next F X1=180 : XP1=300 : F1=1 : B1=1 X2=225 : XP2=130 : F2=3 : B2=5 X3=270 : XP3=180 : F3=4 : B3=7 X4=315 : XP4=240 : F4=6 : B4=11 Randomize Timer Set Rainbow 1,0,16,"","","" Rainbow 1,0,140,16 Rain(1,0)=$211 : Rainbow 1,0,140,16 : Wait Vbl Rain(1,1)=$433 : Rainbow 1,0,140,16 : Wait Vbl Rain(1,2)=$655 : Rainbow 1,0,140,16 : Wait Vbl Rain(1,3)=$877 : Rainbow 1,0,140,16 : Wait Vbl Rain(1,4)=$A99 : Rainbow 1,0,140,16 : Wait Vbl Rain(1,5)=$CBB : Rainbow 1,0,140,16 : Wait Vbl Rain(1,6)=$EDD : Rainbow 1,0,140,16 : Wait Vbl Rain(1,7)=$FFF : Rainbow 1,0,140,16 : Wait Vbl Rainbow 1,0,140,16 Unpack 15 To 4 : Screen Display 4,128,30,, Fade 5,0,3232,3792,3504,4080,3200,2928,2656,2368,2096,1840,1568,1552,1296,1024,768 Wait 75 For F=0 To 3 : Screen Show F : Next F Do Gosub BOARD Gosub II1 Gosub II2 Gosub II3 Gosub II4 Wait Vbl Loop BOARD: Add SC,1,0 To 3 : Screen To Front SC Return Data $100,$200,$300,$400,$500,$600,$700,$800,$900,$A00,$B00,$C00,$D00,$E00,$F00 Data $F00 II1: Add X1,5 : If X1>360 Then X1=180 : Add B1,2 : Inc F1 : If F1=7 Then F1=1 : B1=1 : X1=Rnd(160)+180 : XP1=Rnd(310)+130 If X1<271 Then Sprite 0,XP1,175+(CX#(X1)*(20*F1))+(F1*(6+(F1*2))),B1 If X1>270 Then Sprite 0,XP1,175+(CX#(X1)*(20*F1))+(F1*(6+(F1*2))),B1+1 Return II2: Add X2,5 : If X2>360 Then X2=180 : Add B2,2 : Inc F2 : If F2=7 Then F2=1 : B2=1 : X2=Rnd(160)+180 : XP2=Rnd(310)+130 If X2<271 Then Sprite 1,XP2,175+(CX#(X2)*(20*F2))+(F2*(6+(F2*2))),B2 If X2>270 Then Sprite 1,XP2,175+(CX#(X2)*(20*F2))+(F2*(6+(F2*2))),B2+1 Return II3: Add X3,5 : If X3>360 Then X3=180 : Add B3,2 : Inc F3 : If F3=7 Then F3=1 : B3=1 : X3=Rnd(160)+180 : XP3=Rnd(310)+130 If X3<271 Then Sprite 2,XP3,175+(CX#(X3)*(20*F3))+(F3*(6+(F3*2))),B3 If X3>270 Then Sprite 2,XP3,175+(CX#(X3)*(20*F3))+(F3*(6+(F3*2))),B3+1 Return II4: Add X4,5 : If X4>360 Then X4=180 : Add B4,2 : Inc F4 : If F4=7 Then F4=1 : B4=1 : X4=Rnd(160)+180 : XP4=Rnd(310)+130 If X4<271 Then Sprite 3,XP4,175+(CX#(X4)*(20*F4))+(F4*(6+(F4*2))),B4 If X4>270 Then Sprite 3,XP4,175+(CX#(X4)*(20*F4))+(F4*(6+(F4*2))),B4+1 Return End Proc Procedure TERMINATE For F=63 To 0 Step -1 For T=0 To 1000 : Next T Wait Vbl : Mvolume F Next F Music Off : Led Off : Mvolume 63 Erase 3 : Erase 8 : Erase 9 : Erase 6 : Erase 5 : Erase 15 Kill "ram:cube.abk" : Kill "ram:ship1.abk" Kill "ram:diamond.abk" : Kill "ram:plane.abk" Kill "ram:ship2.abk" : Kill "ram:92.abk" Kill "ram:bobcube.abk" : Kill "ram:bobspike.abk" Kill "ram:bobcopter.abk" : Kill "ram:bobboard.abk" Kill "ram:bobbox.abk" : Kill "ram:bobchair.abk" Kill "ram:pattlogo.abk" : Kill "ram:mscrollfont.abk" Kill "ram:mscrolldata.abk" : Kill "ram:circfont.abk" Kill "ram:circle.abk" : Kill "ram:bob.abk" Kill "ram:interfont.abk" : Kill "ram:flag.abk" Kill "ram:stencil.abk" : Kill "ram:unbob.abk" Kill "ram:shapeslogo.abk" : Kill "ram:lineslogo.abk" Kill "ram:vecboblogo.abk" End Proc