home *** CD-ROM | disk | FTP | other *** search
/ AMOS PD CD / amospdcd.iso / 251-275 / apd272 / smeg / smeg.amosSourceCode < prev   
AMOS Source Code  |  1992-05-20  |  24KB  |  730 lines

  1. Screen Open 0,350,300,32,Lowres
  2. Paper 0 : Hide On : Curs Off : Flash Off : Cls 
  3. Global T,T2
  4. CREDZ : SETUP : AHEAD : QUART : PRODUCTION : MOVTITLE : ITRO : BENDLOGO
  5. CULFONT : NEWLOGO : BALLS : POTS : MIRROR : SCRNCPY : MOVRAN : BLACK_OUT
  6. DINOSAW : CREDZ2 : SETUP_SCREENS : FLICKER
  7. Procedure CREDZ
  8.    Screen Open 2,350,270,32,Lowres : Curs Off : Hide On : Flash Off : Cls 0
  9.    Screen Hide 0 : Unpack 8 To 2
  10.    Set Rainbow 0,2,32,"(1,1,15)(1,-1,15)","(1,1,15)(1,-1,15)","(1,1,15)(1,-1,15)"
  11.    Rainbow 0,0,40,150 : Set Rainbow 1,1,32,"(1,1,15)(1,-1,15)","","" : Rainbow 1,0,155,260
  12.    Wait 150 : CLEER[2,False,False,0,900] : Ink 0 : Bar 0,100 To 5,255
  13.    Bar 0,250 To 325,270 : Bar 315,100 To 325,250 : Screen Open 1,500,20,32,Lowres
  14.    Screen 1 : Ink 1 : Curs Off : Hide On : Cls 0 : Screen Hide 1 : Screen 2 : Wait 50
  15.    SCROLER["<<< WARNING >>>            ",153,1] : SCROLER["YOU ARE NOW ENTERING..     ",138,1] : SCROLER["THE CYBORNETICS ZONE       ",140,1]
  16.    Wait 50 : CLEER[0,True,True,0,600] : SETCULERS : Screen Close 1 : Screen Close 2
  17. End Proc
  18. Procedure SETUP
  19.    Curs Off : Hide On : Flash Off : Cls 0 : Unpack 6 To 1 : Screen Hide 1
  20.    Screen Open 2,350,80,32,Lowres : Screen Display 2,113,100,350,80
  21.    Curs Off : Hide On : Flash Off : Cls 0 : Get Palette 1
  22.    Screen To Front 0 : Screen Show 0 : Screen 0 : SETCULERS
  23. End Proc
  24. Procedure AHEAD
  25.    Music 1
  26.    For A=226 To 165 Step -2 : Screen Copy 1,A-1,0,A,80 To 0,A-37,-30 : PAUSE[100] : Next A
  27.    For A=164 To 226 Step 2 : Screen Copy 1,A,0,A+1,80 To 0,A-36,-30 : PAUSE[100] : Next A
  28. End Proc
  29. Procedure QUART
  30.    For X=0 To 162 Step 6
  31.       For Y=0 To 80 Step 6 : Screen Copy 1,X,Y,X+3,Y+3 To 0,X+85,Y+53 : Next Y
  32.    Next X
  33.    For Y=80 To 0 Step -6
  34.       For X=162 To 0 Step -6 : Screen Copy 1,X-3,Y-3,X,Y To 0,X+82,Y+50 : Next X
  35.    Next Y
  36.    For X=159 To 0 Step -6
  37.       For Y=78 To 0 Step -6 : Screen Copy 1,X-3,Y-3,X,Y To 0,X+82,Y+50 : Next Y
  38.    Next X
  39.    For Y=2 To 80 Step 6
  40.       For X=3 To 162 Step 6 : Screen Copy 1,X,Y,X+3,Y+3 To 0,X+85,Y+50 : Next X
  41.    Next Y
  42. End Proc
  43. Procedure PRODUCTION
  44.    For A=0 To 230 Step 2 : Screen Copy 1,A,80,A+1,115 To 0,A+55,200 : PAUSE[100] : Next A
  45.    For A=230 To 0 Step -2 : Screen Copy 1,A-1,80,A,115 To 0,A+54,200 : PAUSE[100] : Next A
  46. End Proc
  47. Procedure MOVTITLE
  48.    Screen Copy 1,0,0,162,80 To 2,85,0 : Screen To Front 2 : Channel 0 To Screen Display 2
  49.    Amal 0,"Loop: Move 0,50,50 ; Move 0,-50,50 ; Jump Loop" : Amal On 0 : Screen 0
  50.    Ink 0 : Bar 0,49 To 260,130 : Wait 250
  51.    CLEER[0,False,False,0,500] : CLEER[2,False,False,0,480]
  52.    Amal Off : Screen Close 2
  53. End Proc
  54. Procedure ITRO
  55.    Set Rainbow 0,0,32,"","","" : Rainbow 0,0,49,260 : CLEER[0,False,False,0,600]
  56.    SETCULERS : DROPTEXT[0,"welcome",60,30,10,False] : DROPTEXT[0,"to",140,90,10,False]
  57.    DROPTEXT[0,"robs demo",20,150,10,False] : Wait 130
  58.    CLEER[0,False,False,0,600] : SETCULERS : DROPTEXT[0,"this demo",20,30,10,False]
  59.    DROPTEXT[0,"is",130,90,10,False] : DROPTEXT[0,"called...",45,150,10,False]
  60.    Wait 130 : CLEER[0,False,False,0,600] : SETCULERS
  61.    DROPTEXT[0,"smeg!",100,30,10,False] : DROPTEXT[0,"and",120,100,10,False]
  62.    DROPTEXT[0,"you will",40,140,10,False] : DROPTEXT[0,"see why",55,180,10,False]
  63.    Wait 130 : CLEER[0,False,False,0,600] : SETCULERS
  64. End Proc
  65. Procedure BENDLOGO
  66.    VUBOTTOM=195
  67.    Screen Open 2,350,32,32,Lowres : Paper 0 : Cls : Curs Off : Flash Off : Screen Hide 2
  68.    Screen 2 : Get Palette 1 : Channel 0 To Screen Display 2
  69.    Amal 0," Move 0,29,1 " : Amal On 0
  70.    Set Rainbow 0,0,32,"(1,1,15)(1,-1,15)","(1,1,15)(1,-1,15)","(1,1,15)(1,-1,15)"
  71.    For OH_IR=1 To 260 : Rainbow 0,0,49,OH_IR : Wait Vbl : Next OH_IR
  72.    DROPTEXT[0,"c",20,70,10,False] : DROPTEXT[0,"y",20,110,10,False]
  73.    DROPTEXT[0,"s",20,150,10,False] : DROPTEXT[0,"c",290,70,10,False]
  74.    DROPTEXT[0,"y",290,110,10,False] : DROPTEXT[0,"s",290,150,10,False]
  75.    DROPTEXT[0,"rave on!",35,215,10,False] : Screen To Front 2 : Screen Show 2 : Screen 0
  76.    DROPTEXT[2,"smeg!",100,0,10,False] : Ink 0
  77.    Amal Off : Def Scroll 1,120,171 To 212,200,0,-6
  78.    Def Scroll 2,120,146 To 212,175,0,-4 : Def Scroll 3,120,122 To 212,150,0,-2
  79.    Def Scroll 4,120,72 To 212,125,0,-1 : Def Scroll 5,120,46 To 212,75,0,-2
  80.    Def Scroll 6,120,21 To 212,50,0,-4 : Def Scroll 7,120,0 To 212,25,0,-4
  81.    COUNTER=1 : ROB=1 : Y=VUBOTTOM : Y2=VUBOTTOM : Screen Copy 1,170,250,228,262 To 0,51,198
  82.    Screen Copy 1,170,250,228,262 To 0,231,198
  83.    Repeat 
  84.       For G=1 To 112
  85.          Screen Copy 1,228,G,330,G+6 To 0,120,194
  86.          Scroll 1 : Scroll 2 : Scroll 3 : Scroll 4 : Scroll 5 : Scroll 6 : Scroll 7
  87.          Inc COUNTER
  88.          If Vumeter(0)>50
  89.             While(Y mod 5)<>0 : Inc Y : Wend 
  90.             For CTR=Y To 100 Step -5
  91.                If CTR<130
  92.                   Screen Copy 1,180,7,218,13 To 0,60,CTR
  93.                Else 
  94.                   Screen Copy 1,180,15,218,21 To 0,60,CTR
  95.                End If 
  96.             Next CTR
  97.             Y=CTR
  98.          End If 
  99.          If Y<VUBOTTOM-5 : Add Y,5 : Bar 60,Y To 98,Y+5 : End If 
  100.          If Vumeter(1)>0
  101.             While(Y2 mod 5)<>0 : Inc Y2 : Wend 
  102.             For CTR=Y2 To 100 Step -5
  103.                If CTR<130
  104.                   Screen Copy 1,180,7,218,13 To 0,240,CTR
  105.                Else 
  106.                   Screen Copy 1,180,15,218,21 To 0,240,CTR
  107.                End If 
  108.             Next CTR
  109.             Y2=CTR
  110.          End If 
  111.          If Y2<VUBOTTOM-5 : Add Y2,5 : Bar 240,Y2 To 278,Y2+5 : End If 
  112.          Inc ROB
  113.          If ROB=390
  114.             Screen Hide 0 : Screen Hide 2
  115.             Screen Open 3,350,300,2,Lowres : Get Palette 1 : Cls 0
  116.             For CLEERBOW=0 To 31
  117.                Rain(0,CLEERBOW)=0
  118.             Next CLEERBOW
  119.             Screen To Front 3 : Mvolume 0 : Wait 10 : Sam Play 1 : Wait 80
  120.             Set Rainbow 0,0,32,"(1,1,15)(1,-1,15)","(1,1,15)(1,-1,15)","(1,1,15)(1,-1,15)"
  121.             Rainbow 0,0,49,260 : Mvolume 63 : Screen To Front 0 : Screen To Front 2
  122.             Screen Close 3 : Screen Show 0 : Screen Show 2 : Screen 0
  123.          End If 
  124.          Exit If ROB>800
  125.       Next G
  126.       Exit If ROB>700
  127.    Until IMPOSSIBLE_CONDITION
  128.    Y=100 : Y2=100
  129.    Repeat 
  130.       Add Y2,6 : Bar 240,Y2 To 278,Y2+6 : Add Y,6 : Bar 60,Y To 98,Y+6 : Wait 2
  131.    Until Y>185
  132.    OOER=0 : AHYEAH=320
  133.    Repeat 
  134.       Ink 0 : Bar OOER,0 To OOER+1,300 : Bar AHYEAH-1,0 To AHYEAH,300
  135.       PAUSE[50] : Inc OOER : Dec AHYEAH
  136.    Until AHYEAH<160
  137.    Channel 0 To Screen Display 2
  138.    Amal 0," Loop : Move 0,100,50 ; Move 0,-100,50 ; Jump Loop ;"
  139.    Amal On 0 : Screen 0 : CLEER[0,True,False,0,800] : Wait 50 : Amal Off 
  140.    Unpack 7 To 1 : Screen Hide 1 : CLEER[2,False,False,0,600] : Screen Close 2
  141.    Screen To Front 0 : Screen 0 : SETCULERS
  142. End Proc
  143. Procedure CULFONT
  144.    Screen 0
  145.    DROPTEXT[0,"well this",20,30,10,False] : DROPTEXT[0,"is a very",20,80,10,False]
  146. DROPTEXT[0,"colourful",20,130,10,False] : DROPTEXT[0,"demo!",90,180,10,False]
  147.    Ink 0 : Wait 30
  148.    For A=0 To 350 : Bar 0,A To 350,A+1 : PAUSE[5] : Next A
  149.    Set Rainbow 0,2,32,"(1,1,1)(1,-1,1)","(1,1,15)(1,-1,15)","(1,1,1)(1,-1,1)"
  150.    T=1
  151.    Every 2 Proc RANBOWCOL
  152.    DROPTEXT[0,"ooer",100,25,1,True] : DROPTEXT[0,"this is",50,75,1,True]
  153.    DROPTEXT[0,"weird",90,135,1,True] : DROPTEXT[0,"a pause",20,280,1,True]
  154.    CLEER[0,True,True,0,600] : SETCULERS : Wait 50
  155.    Set Rainbow 0,2,32,"(1,1,1)(1,-1,1)","(1,1,1)(1,-1,1)","(1,1,15)(1,-1,15)"
  156.    DROPTEXT[0,"check out",10,26,1,True] : DROPTEXT[0,"This cool",10,76,1,True]
  157.    DROPTEXT[0,"rainbow",50,126,1,True] : DROPTEXT[0,"text!",90,176,1,True]
  158.    DROPTEXT[0,"a pause",100,280,1,True] : CLEER[0,True,True,0,600]
  159.    SETCULERS : Wait 50
  160.    Set Rainbow 0,2,32,"(1,1,15)(1,-1,15)","(1,1,1)(1,-1,1)","(1,1,1)(1,-1,1)"
  161.    DROPTEXT[0,"now for",50,36,1,True] : DROPTEXT[0,"the next",40,86,1,True]
  162.    DROPTEXT[0,"part..",90,136,1,True] : DROPTEXT[0,"a pause",20,280,1,True]
  163.    CLEER[0,True,True,0,600] : SETCULERS
  164. End Proc
  165. Procedure NEWLOGO
  166.    For ROB=0 To 65
  167.       Screen Copy 1,0,ROB,185,ROB+1 To 0,0,ROB : Screen Copy 1,0,ROB,185,ROB+1 To 0,185,ROB
  168.       Screen Copy 1,35,ROB,185,ROB+1 To 0,0,ROB+65 : Screen Copy 1,0,ROB,185,ROB+1 To 0,150,ROB+65
  169.       Screen Copy 1,0,ROB,185,ROB+1 To 0,0,ROB+130 : Screen Copy 1,0,ROB,185,ROB+1 To 0,185,ROB+130
  170.       Screen Copy 1,35,ROB,185,ROB+1 To 0,0,ROB+195 : Screen Copy 1,0,ROB,185,ROB+1 To 0,150,ROB+195
  171.    Next ROB
  172.    CLEER[0,False,False,0,600] : SETCULERS
  173.    Wait 10
  174.    For X=1 To 185 Step 6
  175.       For Y=1 To 65 Step 6 : Screen Copy 1,X,Y,X+3,Y+3 To 0,X+82,Y+53 : Next Y
  176.    Next X
  177.    For Y=65 To 0 Step -6
  178.       For X=185 To 0 Step -6 : Screen Copy 1,X-3,Y-3,X,Y To 0,X+82,Y+50 : Next X
  179.    Next Y
  180.    For X=182 To 0 Step -6
  181.       For Y=63 To 0 Step -6 : Screen Copy 1,X-3,Y-3,X,Y To 0,X+82,Y+50 : Next Y
  182.    Next X
  183.    For Y=2 To 65 Step 6
  184.       For X=3 To 185 Step 6 : Screen Copy 1,X,Y,X+3,Y+3 To 0,X+85,Y+53 : Next X
  185.    Next Y
  186.    Wait 20 : CLEER[0,False,False,0,600] : SETCULERS
  187.    For ROB=65 To 0 Step -2
  188.       Screen Copy 1,0,ROB-1,185,ROB To 0,0,ROB : Screen Copy 1,0,ROB-1,185,ROB To 0,185,ROB
  189.       Screen Copy 1,35,ROB-1,185,ROB To 0,0,ROB+65 : Screen Copy 1,0,ROB-1,185,ROB To 0,150,ROB+65
  190.       Screen Copy 1,0,ROB-1,185,ROB To 0,0,ROB+130 : Screen Copy 1,0,ROB-1,185,ROB To 0,185,ROB+130
  191.       Screen Copy 1,35,ROB-1,185,ROB To 0,0,ROB+195 : Screen Copy 1,0,ROB-1,185,ROB To 0,150,ROB+195
  192.    Next ROB
  193.    For ROB=0 To 65 Step 2
  194.       Screen Copy 1,0,ROB,185,ROB+1 To 0,0,ROB : Screen Copy 1,0,ROB,185,ROB+1 To 0,185,ROB
  195.       Screen Copy 1,35,ROB,185,ROB+1 To 0,0,ROB+65 : Screen Copy 1,0,ROB,185,ROB+1 To 0,150,ROB+65
  196.       Screen Copy 1,0,ROB,185,ROB+1 To 0,0,ROB+130 : Screen Copy 1,0,ROB,185,ROB+1 To 0,185,ROB+130
  197.       Screen Copy 1,35,ROB,185,ROB+1 To 0,0,ROB+195 : Screen Copy 1,0,ROB,185,ROB+1 To 0,150,ROB+195
  198.    Next ROB
  199.    Wait 50 : CLEER[0,False,False,0,600] : SETCULERS
  200. End Proc
  201. Procedure BALLS
  202.    Set Rainbow 0,0,32,"","","" : Rainbow 0,0,49,260 : Screen Close 0
  203.    Unpack 9 To 3 : Screen Hide 3 : Screen Open 0,340,50,32,Lowres
  204.    Hide On : Flash Off : Curs Off : Cls 0 : Get Palette 3
  205.    Screen Display 0,112,151,, : Screen Open 1,340,100,32,Lowres
  206.    Hide On : Flash Off : Curs Off : Cls 0 : Get Palette 3
  207.    Screen Display 1,112,74,, : Screen Open 2,340,100,32,Lowres
  208.    Hide On : Flash Off : Curs Off : Cls 0 : Get Palette 3 : Screen Display 2,112,175,,
  209.    SETCULERS
  210.    Screen Copy 3,0,145,85,235 To 1,5,9 : Screen Copy 3,208,145,290,235 To 2,5,1
  211.    Screen Copy 3,208,145,290,235 To 1,250,9 : Screen Copy 3,0,145,85,235 To 2,250,1
  212.    Screen Copy 3,4,110,305,133 To 0,20,12 : Screen Copy 3,190,5,320,55 To 1,107,50
  213.    Screen Copy 3,190,55,320,110 To 2,107,0 : Wait 100 : Channel 0 To Screen Display 1
  214.    Channel 1 To Screen Display 2 : Amal 0,"L: M 0,-40,40 ; M 0,40,40 ; J L"
  215.    Amal 1,"L: M 0,40,40 ; M 0,-40,40 ; J L" : Amal On : CANTER=0
  216.    Repeat : Inc CANTER : Until CANTER>14000
  217.    Amal Off : Wait 50 : Screen 1 : Ink 0
  218.    For ZIP=0 To 100 : Bar 0,ZIP To 340,ZIP+1 : Next ZIP
  219.    Screen 0 : Ink 0
  220.    For ZIP=0 To 49 : Bar 0,ZIP To 340,ZIP+1 : Next ZIP
  221.    CLEER[2,False,False,0,1000]
  222.    Screen Close 0 : Screen Close 1 : Screen Close 2 : Screen Close 3
  223. End Proc
  224. Procedure POTS
  225.    Screen Open 0,350,270,32,Lowres : Hide On : Curs Off : Flash Off : Cls 0
  226.    Screen Display 0,,40,, : Unpack 7 To 1 : Screen Hide 1 : Screen 0 : Get Palette 1
  227.    STIN=0 : ROBDWN=61
  228.    Set Rainbow 0,1,32,"(1,1,15)(1,-1,15)","(1,1,15)(1,-1,15)","(1,1,15)(1,-1,15)"
  229.    Repeat 
  230.       Screen Copy 1,200,ROBDWN-1,320,ROBDWN To 0,100,ROBDWN
  231.       Screen Copy 1,200,ROBDWN-1,320,ROBDWN To 0,100,112-ROBDWN
  232.       Screen Copy 1,STIN,72,STIN+1,120 To 0,STIN+8,150
  233.       Screen Copy 1,STIN,72,STIN+1,120 To 0,330-STIN,150
  234.       RANBOWCOL
  235.       Inc STIN
  236.       If ROBDWN>1 : Dec ROBDWN : End If 
  237.    Until STIN=160
  238.    DES_VEN=0
  239.    Repeat 
  240.       RANBOWCOL : Wait Vbl : Inc DES_VEN
  241.    Until DES_VEN=200
  242.    CLEER[0,False,True,0,600] : DES_EW=0
  243.    Repeat 
  244.       RANBOWCOL : Wait 2 : Inc DES_EW
  245.    Until DES_EW=100
  246.    CLEER[0,True,True,0,600]
  247.    SETCULERS
  248. End Proc
  249. Procedure MIRROR
  250.    T2=31
  251.    Set Rainbow 0,2,32,"(1,1,1)(1,-1,1)","(1,1,15)(1,-1,15)","(1,1,1)(1,-1,1)"
  252.    Set Rainbow 1,2,32,"(1,1,15)(1,-1,15)","(1,1,1)(1,-1,1)","(1,1,15)(1,-1,15)"
  253.    Set Rainbow 2,2,32,"(1,1,1)(1,-1,1)","(1,1,15)(1,-1,15)","(1,1,1)(1,-1,1)"
  254.    Set Rainbow 3,2,32,"(1,1,15)(1,-1,15)","(1,1,1)(1,-1,1)","(1,1,15)(1,-1,15)"
  255.    DROPTEXT2[0,"mirror",60,70,1,False,True] : DROPTEXT2[0,"that text",10,160,1,False,True]
  256.    DROPTEXT2[0,"lkajfh",20,300,6,False,True] : CLEER[0,True,True,0,600]
  257.    SETCULERS
  258.    Set Rainbow 0,2,32,"(1,1,15)(1,-1,15)","(1,1,15)(1,-1,15)","(1,1,1)(1,-1,1)"
  259.    DROPTEXT2[0,"this is",50,25,1,True,False] : DROPTEXT2[0,"my last",50,90,1,True,False]
  260.    DROPTEXT2[0,"rainbow",50,155,1,True,False] : DROPTEXT2[0,"text",100,220,1,True,False]
  261.    DROPTEXT2[0,"lkajfh",20,300,6,True,False] : CLEER[0,True,True,0,600]
  262.    SETCULERS
  263.    Set Rainbow 0,2,32,"(1,1,15)(1,-1,15)","(1,1,1)(1,-1,1)","(1,1,15)(1,-1,15)"
  264.    DROPTEXT2[0,"honest!",40,100,1,True,False] : DROPTEXT2[0,"lkajsdttfh",20,300,6,True,False]
  265.    CLEER[0,True,True,0,600]
  266.    Set Rainbow 0,2,32,"(1,1,15)(1,-1,15)","(1,1,1)(1,-1,1)","(1,1,15)(1,-1,15)"
  267.    Set Rainbow 1,2,32,"(1,1,15)(1,-1,15)","(1,1,1)(1,-1,1)","(1,1,15)(1,-1,15)"
  268.    Set Rainbow 2,2,32,"(1,1,15)(1,-1,15)","(1,1,1)(1,-1,1)","(1,1,15)(1,-1,15)"
  269.    Set Rainbow 3,2,32,"(1,1,15)(1,-1,15)","(1,1,1)(1,-1,1)","(1,1,15)(1,-1,15)"
  270.    Rainbow 0,1,300,3 : Rainbow 1,1,300,3 : Rainbow 2,1,300,3 : Rainbow 3,1,300,3
  271.    SETCULERS
  272. End Proc
  273. Procedure SCRNCPY
  274.    NUMERO_UNO=0
  275.    Repeat 
  276.       X=Rnd(300)-50 : Y=Rnd(240)-10 : Screen Copy 1,0,71,158,116 To 0,X,Y,%11001100
  277.       Inc NUMERO_UNO
  278.    Until NUMERO_UNO>500
  279.    Screen Copy 1,0,71,158,116 To 0,90,100
  280. End Proc
  281. Procedure MOVRAN
  282.    Set Rainbow 0,0,32,"(1,1,1)(1,-1,1)","(1,1,15)(1,-1,15)","(1,1,15)(1,-1,15)"
  283.    For OH_IR=1 To 260 Step 2 : Rainbow 0,0,49,OH_IR : Wait Vbl : Next OH_IR
  284.    CTR=0
  285.    Repeat 
  286.       Wait 5
  287.       For UPNDOWN=40 To 280
  288.          Rainbow 0,0,UPNDOWN,260
  289.          If UPNDOWN<100
  290.             PAUSE[110-UPNDOWN]
  291.          Else 
  292.             PAUSE[10]
  293.          End If 
  294.       Next UPNDOWN
  295.       For DAWNNUP=280 To 40 Step -1
  296.          Rainbow 0,0,DAWNNUP,260
  297.          If DAWNNUP<130
  298.             PAUSE[140-DAWNNUP]
  299.          Else 
  300.             PAUSE[10]
  301.          End If 
  302.       Next DAWNNUP
  303.       Inc CTR
  304.    Until CTR=5
  305.    T=0
  306.    T2=350
  307. End Proc
  308. Procedure BLACK_OUT
  309.    Ink 1 : T2=350 : T1=270 : T=0
  310.    Repeat 
  311.       Bar T,0 To T+1,300 : Bar 0,T1 To 350,T1+1
  312.       Bar T2,0 To T2+1,300 : Bar 0,T To 350,T+1
  313.       T=T+4 : T2=T2-4 : T1=T1-4
  314.    Until T2<1
  315.    Sprite Off 8 : Sprite Off 9 : Sprite Off 10
  316.    Ink 0 : T2=350 : T1=270 : T=0
  317.    Set Rainbow 0,0,32,"(1,1,15)(1,-1,15)","(1,1,1)(1,-1,1)","(1,1,15)(1,-1,15)"
  318.    Rainbow 0,32,40,300
  319.    Repeat 
  320.       Bar T,0 To T+1,300 : Bar 0,T1 To 350,T1+1 : Bar T2,0 To T2+1,300
  321.       Bar 0,T To 350,T+1 : T=T+4 : T2=T2-4 : T1=T1-4 : Until T2<1
  322.    Ink 1 : T2=350 : T1=270 : T=0
  323.    Repeat 
  324.       Bar T,0 To T+1,300 : Bar 0,T1 To 350,T1+1 : Bar T2,0 To T2+1,300
  325.       Bar 0,T To 350,T+1 : T=T+4 : T2=T2-4 : T1=T1-4 : Until T2<1
  326.    Ink 0 : T2=350 : T1=270 : T=0
  327.    Set Rainbow 0,0,32,"(1,1,1)(1,-1,1)","(1,1,1)(1,-1,1)","(1,1,15)(1,-1,15)"
  328.    Rainbow 0,32,40,300
  329.    Repeat 
  330.       Bar T,0 To T+1,300 : Bar 0,T1 To 350,T1+1 : Bar T2,0 To T2+1,300
  331.       Bar 0,T To 350,T+1 : T=T+4 : T2=T2-4 : T1=T1-4
  332.    Until T2<1
  333.    WON_OFF
  334. End Proc
  335. Procedure DINOSAW
  336.    For X=300 To 210 Step -1 : Screen Copy 1,165,60,300,122 To 0,0,X : Wait Vbl : Next X
  337.    DROPTEXT[0,"arrghh!",50,40,10,False] : DROPTEXT[0,"its that",30,90,10,False]
  338.    DROPTEXT[0,"dinosaur",30,140,10,False] : DROPTEXT[0,"pause it man",340,40,10,False]
  339.    For X=0 To 330 : Screen Copy 1,165,60,300,122 To 0,X,210 : Wait Vbl : Next X
  340.    WON_OFF : DROPTEXT[0,"brilliant",10,40,10,False]
  341.    DROPTEXT[0,"animation",10,90,10,False] : DROPTEXT[0,"eh!",120,140,10,False]
  342.    DROPTEXT[0,"pause it man",340,40,10,False] : Unpack 6 To 1 : Screen Hide 1
  343.    Screen 0 : WON_OFF : SETCULERS : Get Palette 1 : TWO_OFF[3]
  344. End Proc
  345. Procedure CREDZ2
  346.    DROPTEXT[0,"code.",20,50,10,False] : DROPTEXT[0,"rob of",60,110,10,False]
  347.    DROPTEXT[0,"cys!",100,150,10,False] : Wait 130
  348.    THREE_OFF[2] : DROPTEXT[0,"music.",20,50,10,False]
  349.    DROPTEXT[0,"stew the",30,110,10,False] : DROPTEXT[0,"music",80,150,10,False]
  350.    DROPTEXT[0,"maker!",70,190,10,False] : Wait 130 : TWO_OFF[3]
  351.    DROPTEXT[0,"fanatix.",35,20,10,False] : DROPTEXT[0,"thanks",60,110,10,False]
  352.    DROPTEXT[0,"for your",25,150,10,False] : DROPTEXT[0,"disk!",85,190,10,False]
  353.    Wait 130 : THREE_OFF[1]
  354.    DROPTEXT[0,"i hope",65,40,10,False]
  355.    DROPTEXT[0,"you like",45,110,10,False]
  356.    DROPTEXT[0,"this one!",35,180,10,False]
  357.    Unpack 7 To 1
  358.    Screen Hide 1
  359.    Screen 0
  360.    Wait 60
  361.    Get Palette 1
  362.    TWO_OFF[1]
  363.    DROPTEXT[0,"talk",100,50,10,True]
  364.    DROPTEXT[0,"about",90,100,10,True]
  365.    DROPTEXT[0,"sick",100,150,10,True]
  366.    DROPTEXT[0,"a small pause",100,290,10,True]
  367.    TWO_OFF[3]
  368.    '
  369.    DROPTEXT[0,"alright!",30,50,10,False]
  370.    DROPTEXT[0,"no more",40,100,10,False]
  371.    DROPTEXT[0,"rainbows",30,150,10,False]
  372.    Wait 130
  373.    CLEER[0,True,True,0,200]
  374.    SETCULERS
  375. End Proc
  376. Procedure SETUP_SCREENS
  377.    Unpack 9 To 1
  378.    Screen Hide 1
  379.    Screen To Front 0
  380.    Screen 0
  381.    Get Palette 1
  382.    Ink 0
  383. End Proc
  384. Procedure RAVE
  385.    For A=56 To 107
  386.       Screen Copy 1,1,A,190,A+1 To 0,70,A+100
  387.       PAUSE[100]
  388.    Next A
  389.    Wait 10
  390.    A=1
  391.    B=190
  392.    Repeat 
  393.       Screen Copy 1,A,5,A+1,56 To 0,A+69,157
  394.       Screen Copy 1,B-1,5,B,56 To 0,B+69,157
  395.       Inc A
  396.       Dec B
  397.    Until B=95
  398.    Wait 10
  399.    For A=107 To 56 Step -1
  400.       Screen Copy 1,1,A,190,A+1 To 0,70,A+100
  401.       PAUSE[100]
  402.    Next A
  403.    Wait 10
  404.    A=95
  405.    B=95
  406.    '
  407.    Repeat 
  408.       Screen Copy 1,A,5,A+1,56 To 0,A+69,157
  409.       Screen Copy 1,B-1,5,B,56 To 0,B+69,157
  410.       Inc A
  411.       Dec B
  412.    Until A=190
  413.    Wait 10
  414.    A=1
  415.    B=190
  416.    Repeat 
  417.       Screen Copy 1,A,57,A+1,107 To 0,A+69,157
  418.       Screen Copy 1,B-1,57,B,107 To 0,B+69,157
  419.       Inc A
  420.       Dec B
  421.    Until B=95
  422.    BLANK=150
  423.    BLANKUP=220
  424.    Repeat 
  425.       Bar 40,BLANK To 270,BLANK+1
  426.       Bar 40,BLANKUP-1 To 270,BLANKUP
  427.       Inc BLANK
  428.       Dec BLANKUP
  429.       Wait Vbl 
  430.    Until BLANK>190
  431. End Proc
  432. Procedure FLICKER
  433.    A=1
  434.    Screen Copy 1,1,134,300,250 To 0,28,10
  435.    Colour 19,$F00
  436.    Screen Copy 1,1,134,300,250 To 0,28,10
  437.    RAVE
  438.    Channel 0 To Screen Display 0
  439.    Screen To Front 0
  440.    Amal 0,"L: M 0,20,20 ; J L"
  441.    Amal On 
  442.    LEUP=5000
  443.    LOUD=63
  444.    Repeat 
  445.       RAN=Rnd($FFF)
  446.       Colour 19,RAN
  447.       Dec LEUP
  448.       If LEUP mod(79)=0
  449.          Mvolume LOUD
  450.          Dec LOUD
  451.       End If 
  452.    Until LEUP<1
  453. End Proc
  454. Procedure SCROLER[MESS$,ACROZZ,CUL]
  455.    Y=0
  456.    Screen 1
  457.    Ink CUL,0,0
  458.    Text 1,10,MESS$
  459.    For X=330 To ACROZZ Step -3
  460.       Screen Copy 1,0,0,300,15 To 2,X+Y,245
  461.       Dec Y
  462.       Wait Vbl 
  463.    Next X
  464.    Wait 30
  465.    For X=ACROZZ To -60 Step -3
  466.       Screen Copy 1,0,0,500,15 To 2,X+Y,245
  467.       Dec Y
  468.       Wait Vbl 
  469.    Next X
  470. End Proc
  471. Procedure RANBOWCOL
  472.    Add T,1,0 To 31
  473.    Rainbow 0,T,40,380
  474. End Proc
  475. Procedure WON_OFF
  476.    Ink 1
  477.    T2=350
  478.    T1=270
  479.    T=0
  480.    Repeat 
  481.       Bar T,0 To T+1,300
  482.       Bar 0,T1 To 350,T1+1
  483.       Bar T2,0 To T2+1,300
  484.       Bar 0,T To 350,T+1
  485.       T=T+4
  486.       T2=T2-4
  487.       T1=T1-4
  488.    Until T2<1
  489.    Ink 0
  490.    T2=350
  491.    T1=270
  492.    T=0
  493.    Set Rainbow 0,0,32,"(1,1,15)(1,-1,15)","(1,1,1)(1,-1,1)","(1,1,1)(1,-1,1)"
  494.    Rainbow 0,32,40,300
  495.    Repeat 
  496.       Bar T,0 To T+1,300
  497.       Bar 0,T1 To 350,T1+1
  498.       Bar T2,0 To T2+1,300
  499.       Bar 0,T To 350,T+1
  500.       T=T+4
  501.       T2=T2-4
  502.       T1=T1-4
  503.    Until T2<1
  504. End Proc
  505. Procedure TWO_OFF[UZI]
  506.    Ink 1
  507.    T2=350
  508.    T1=270
  509.    T=0
  510.    Repeat 
  511.       Bar T,0 To T+1,300
  512.       Bar 0,T1 To 350,T1+1
  513.       Bar T2,0 To T2+1,300
  514.       Bar 0,T To 350,T+1
  515.       T=T+4
  516.       T2=T2-4
  517.       T1=T1-4
  518.    Until T2<1
  519.    Ink 0
  520.    T2=350
  521.    T1=270
  522.    T=0
  523.    If UZI=1
  524.       Set Rainbow 0,0,32,"(1,1,51)(1,-1,5)","(1,1,9)(1,-1,9)","(1,1,12)(1,-1,12)"
  525.       Rainbow 0,32,40,300
  526.    Else 
  527.       If UZI=2
  528.          Set Rainbow 0,0,32,"(1,1,1)(1,-1,1)","(1,1,15)(1,-1,15)","(1,1,15)(1,-1,15)"
  529.          Rainbow 0,32,40,300
  530.       Else 
  531.          If UZI=3
  532.             Set Rainbow 0,0,32,"(1,1,1)(1,-1,1)","(1,1,15)(1,-1,15)","(1,1,1)(1,-1,1)"
  533.             Rainbow 0,32,40,300
  534.          End If 
  535.       End If 
  536.    End If 
  537.    Repeat 
  538.       Bar T,0 To T+1,300
  539.       Bar 0,T1 To 350,T1+1
  540.       Bar T2,0 To T2+1,300
  541.       Bar 0,T To 350,T+1
  542.       T=T+4
  543.       T2=T2-4
  544.       T1=T1-4
  545.    Until T2<1
  546. End Proc
  547. Procedure THREE_OFF[MM]
  548.    Ink 1
  549.    T=0
  550.    T2=350
  551.    Repeat 
  552.       Bar T,0 To T+2,270
  553.       Bar T2,0 To T2+2,270
  554.       T=T+4
  555.       T2=T2-4
  556.       PAUSE[30]
  557.    Until T2<1
  558.    If MM=1
  559.       Set Rainbow 0,0,32,"(1,1,1)(1,-1,1)","(1,1,1)(1,-1,1)","(1,1,15)(1,-1,15)"
  560.       Rainbow 0,32,40,300
  561.    Else 
  562.       If MM=2
  563.          Set Rainbow 0,0,32,"(1,1,1)(1,-1,1)","(1,1,15)(1,-1,15)","(1,1,15)(1,-1,15)"
  564.          Rainbow 0,32,40,300
  565.       Else 
  566.          If MM=3
  567.             Set Rainbow 0,0,32,"(1,1,1)(1,-1,1)","(1,1,15)(1,-1,15)","(1,1,1)(1,-1,1)"
  568.             Rainbow 0,32,40,300
  569.          End If 
  570.       End If 
  571.    End If 
  572.    Ink 0
  573.    T=0
  574.    T2=270
  575.    Repeat 
  576.       Bar 0,T To 350,T+2
  577.       Bar 0,T2 To 350,T2+2
  578.       T=T+4
  579.       T2=T2-4
  580.       PAUSE[80]
  581.    Until T2<1
  582. End Proc
  583. Procedure RANBOWCOL2
  584.    Add T,1,0 To 31
  585.    SUB[T2,31,0]
  586.    Rainbow 0,T,70,40
  587.    Rainbow 1,T2,111,35
  588.    Rainbow 2,T,159,40
  589.    Rainbow 3,T2,200,40
  590. End Proc
  591. Procedure SUB[T2,BEGIN,FINISH]
  592.    T2=T2-1
  593.    If T2<FINISH
  594.       T2=BEGIN
  595.    End If 
  596. End Proc
  597. Procedure SETCULERS
  598.    Screen 0
  599.    Cls 0
  600.    Get Palette 1
  601.    Cls 0
  602. End Proc
  603. Procedure CLEER[SCRNO,WEVE_GOT_A_RAINBO,ITS_SCROLLIN,RANUMB,LONG]
  604.    Screen SCRNO
  605.    For COZ=0 To 31
  606.       RGB=Colour(COZ)
  607.       RGB=RGB-$1
  608.       Colour COZ,RBG
  609.       If WEVE_GOT_A_RAINBO
  610.          Rain(RANUMB,COZ)=0
  611.       End If 
  612.       If ITS_SCROLLIN
  613.          RANBOWCOL
  614.       End If 
  615.       PAUSE[LONG]
  616.    Next COZ
  617. End Proc
  618. Procedure PAUSE[TIME]
  619.    For PORSE=1 To TIME
  620.    Next PORSE
  621. End Proc
  622. Procedure DROPTEXT[SCRN,MESSAGE$,DISTACROSS,LINE,PAWZ,RAN1]
  623.    For A=1 To Len(MESSAGE$)
  624.       LETTER$=Mid$(MESSAGE$,A,1)
  625.       If LETTER$<>" "
  626.          If LETTER$="."
  627.             LETTER$="DT"
  628.          End If 
  629.          If LETTER$="!"
  630.             LETTER$="EX"
  631.          End If 
  632.          Restore LETTER$ : Read W,X,Y,Z
  633.          For FAD=30 To 0 Step -1
  634.             If RAN1
  635.                RANBOWCOL
  636.             End If 
  637.             Screen Copy 1,W,X,Y,Z-FAD To SCRN,DISTACROSS,LINE,%11100000
  638.             PAUSE[PAWZ]
  639.          Next FAD
  640.       End If 
  641.       DISTACROSS=DISTACROSS+33
  642.    Next A
  643. End Proc
  644. Procedure DROPTEXT2[SCRN,MESSAGE$,DISTACROSS,LINE,PAWZ,RAN1,RAN2]
  645.    For A=1 To Len(MESSAGE$)
  646.       LETTER$=Mid$(MESSAGE$,A,1)
  647.       If LETTER$<>" "
  648.          If LETTER$="."
  649.             LETTER$="DT"
  650.          End If 
  651.          If LETTER$="!"
  652.             LETTER$="EX"
  653.          End If 
  654.          Restore LETTER$ : Read W,X,Y,Z
  655.          OFFSET=0
  656.          For FAD=0 To 30
  657.             If RAN1
  658.                RANBOWCOL
  659.             Else 
  660.                If RAN2
  661.                   RANBOWCOL2
  662.                End If 
  663.             End If 
  664.             Screen Copy 1,W,Z-FAD,Y,(Z-FAD)+1 To SCRN,DISTACROSS,LINE-FAD,%11100000
  665.             '
  666.             If FAD<16
  667.                Screen Copy 1,W,Z-(FAD*2),Y,(Z-(FAD*2))+1 To SCRN,DISTACROSS+OFFSET,LINE+(FAD*2),%11100000
  668.                Inc OFFSET : Inc OFFSET
  669.             End If 
  670.          Next FAD
  671.       End If 
  672.       DISTACROSS=DISTACROSS+33
  673.    Next A
  674. End Proc
  675. A:
  676. Data 5,120,40,150
  677. B:
  678. Data 45,120,80,150
  679. C:
  680. Data 85,120,120,150
  681. D:
  682. Data 125,120,160,150
  683. E:
  684. Data 165,120,200,150
  685. F:
  686. Data 205,120,240,150
  687. G:
  688. Data 245,120,280,150
  689. H:
  690. Data 5,152,40,182
  691. I:
  692. Data 45,152,80,182
  693. J:
  694. Data 85,152,120,182
  695. K:
  696. Data 125,152,160,182
  697. L:
  698. Data 165,152,200,182
  699. M:
  700. Data 205,152,240,182
  701. N:
  702. Data 245,152,280,182
  703. O:
  704. Data 5,184,40,214
  705. P:
  706. Data 45,184,80,214
  707. Q:
  708. Data 85,184,120,214
  709. R:
  710. Data 125,184,160,214
  711. S:
  712. Data 165,184,200,214
  713. T:
  714. Data 205,184,240,214
  715. U:
  716. Data 245,184,280,214
  717. V:
  718. Data 5,216,40,246
  719. W:
  720. Data 45,216,80,246
  721. X:
  722. Data 85,216,120,246
  723. Y:
  724. Data 125,216,160,246
  725. Z:
  726. Data 165,216,200,246
  727. DT:
  728. Data 215,216,240,246
  729. EX:
  730. Data 245,216,280,246