home *** CD-ROM | disk | FTP | other *** search
/ AMOS PD CD / amospdcd.iso / 101-125 / apd111 / autoexec.amos / autoexec.amosSourceCode next >
AMOS Source Code  |  1991-02-12  |  17KB  |  540 lines

  1. Hide : Screen Open 0,320,280,2,0
  2. Flash Off 
  3. Curs Off 
  4. Cls 0
  5. Break Off 
  6. ' ###################################################################  
  7. '
  8. '           THE BLADERUNNERS MUSIC DEMO DISK NUMBER 1
  9. '
  10. '                   BY THE WASTER AND DAVE 
  11. '        
  12. ' CONTACT US AT:-
  13. '                 ANDREW HALSALL 
  14. '                 3 WATERFOOT AVENUE 
  15. '                 AINSDALE 
  16. '                 SOUTHPORT
  17. '                 MERSEYSIDE 
  18. '                 PR8 3TE
  19. '                 ENGLAND
  20. '
  21. ' WE WOULD LIKE TO HEAR FROM ANY CODERS MUSICIANS OR ARTISTS ABOUT         
  22. ' JOINING THE GROUP OR HELPING TO WRITE A GAME.
  23. ' IF YOU WANT TO STEAL ANY OF OUR SOURCE CODE THEN PLEASE CONTACT US 
  24. ' FIRST AND GIVE US CREDIT BY NAMING THE GROUP AND THE NAMES OF THE  
  25. ' TWO MEMBERS INVOLVED (WASTER AND DAVE) (IT ONLY TAKES A FEW BYTES).
  26. ' IF YOU RIP THE MUSIC PLEASE CREDIT THE AUTHORS, WE DID (IT IS ONLY 
  27. ' FAIR). 
  28. '
  29. ' ALL CODE IN THIS DEMO EXCEPT THE TUNES IS COPYRIGHT (c) 1991 ANDREW
  30. ' HALSALL. 
  31. '  
  32. ' THIS DEMO IS PUBLIC DOMAIN AND ANYBODY CAN COPY IT, A SMALL CHARGE 
  33. ' CAN BE MADE FOR MEDIA EXPENSES AS LONG AS IT IS NOT MORE THAN ï¿½3.
  34. ' STERLING 
  35. ' ANDREW HALSALL IS NOT RESPONSIBLE FOR ANY USE OR MISUSE OF THIS  
  36. ' PROGRAM. 
  37. '
  38. ' ANY CASH DONATIONS CAN BE MADE TO THE ABOVE ADDRESS PARTICULARLY 
  39. ' IF YOU ARE GOING TO USE ANY PART OF THIS DEMO IN YOUR OWN CREATIONS
  40. '
  41. ' I WOULD LIKE TO DEDICATE THIS DEMO TO MY GIRLFRIEND KATHARINE SLINN
  42. ' AS SHE IS THE ONLY PERSON WHO IS STUPID ENOUGH TO PUT UP WITH ME!!!
  43. '
  44. ' ONE FINAL THING....       ENJOY!!!!
  45. '  
  46. ' ###################################################################
  47. Procedure INITIALISE
  48.    Update Off 
  49.    Cls 
  50.    Rem Hide 
  51.    Curs Off 
  52.    Flash Off 
  53.    Cls 0
  54.    Update Every 1
  55.    Auto View Off 
  56.    Load "sweet.abk"
  57.    Screen Open 6,320,120,8,0
  58.    Screen Display 6,128,73,320,120
  59.    Double Buffer 
  60.    Curs Off 
  61.    Flash Off 
  62.    Cls 0
  63.    Rem Load Iff "mount.iff",0 
  64.    Rem Screen Open 5,670,64,16,Lowres 
  65.    Rem Screen Open 5,320,80,8,0 
  66.    Rem Screen Display 5,128,160,320,80
  67.    Curs Off 
  68.    Flash Off 
  69.    Cls 0
  70.    Get Palette 0
  71.    Rem Screen Copy 0,0,136,335,200 To 5,335,0 
  72.    Rem Screen Copy 0,0,136,335,200 To 5,0,0 
  73.    Rem Screen Display 5,128,145,320,64
  74.    For N=1 To 4
  75.       Screen Open N,340,24,2,$0
  76.       Curs Off 
  77.       Flash Off 
  78.       Cls 1
  79.       Get Sprite Palette 
  80.       Screen Offset N,0,0
  81.    Next N
  82.    Screen 4
  83.    Get Sprite Palette 
  84.    Cls 1
  85.    Set Rainbow 0,1,270,"(1,1,15)(1,-1,15)(3,1,15)(3,-1,15)(2,1,15)(2,-1,15)","(2,1,15)(2,-1,15)(1,1,15)(1,-1,15)(3,1,15)(3,-1,15)","(3,1,15)(3,-1,15)(1,1,15)(1,-1,15)(2,1,15)(2,-1,15)"
  86.    Rainbow 0,0,80,270
  87.    Rem Set Rainbow 1,1,75,"","","(5,1,15)"
  88.    Rem Rainbow 1,0,100,75 
  89.    Get Sprite Palette 
  90.    Flash Off 
  91.    Cls 0
  92.    Auto View On 
  93.    Music 1
  94. End Proc
  95. Procedure HSD
  96.    Load "sweet.abk"
  97.    Load Iff "guru.iff",1
  98.    Screen Hide 1
  99.    Screen Display 1,128,40,640,50
  100.    Screen Open 0,640,64,16,$0
  101.    Screen Display 0,128,48,320,32
  102.    Channel 1 To Screen Display 0
  103.    B$="Loop:Move 0,64,32;Move 0,-64,32;Pause;Jump Loop"
  104.    Amal 1,B$
  105.    Hide 
  106.    Cls 0
  107.    Flash Off 
  108.    Get Sprite Palette 
  109.    A$="Let X=1;Loop:For R0=0 To 79;Let X=4*R0+1;Next R0;Pause;Let Y=32;Let RA=1;For R0=0 To 79;Let X=4*R0+1;Next R0;Pause;Let Y=0;Let RA=2;Jump Loop"
  110.    Channel 0 To Screen Offset 0
  111.    Amal 0,A$
  112.    Home 
  113.    WORD$="                       YAWN! THIS IS A BIT BORING! I SUPPOSE YOU WANT US TO MAKE IT MORE INTERESTING.... "
  114.    WORD$=WORD$+"                      "
  115.    WORD$=WORD$+"THIS IS NOT MUCH BETTER IS IT?? WELL TOUGH LUCK BECAUSE IT IS AS GOOD AS YOUR GOING TO GET "
  116.    WORD$=WORD$+"IN THIS PART OF THE DEMO. IF YOU WANT TO SKIP TO THE NEXT PART OF THE DEMO PRESS THE LEFT MOUSE BUTTOCK! OTHERWISE PREPARE FOR A LOAD OF RUBBISH. RIGHT STILL HERE? O.K HERE ARE SOME DEMO DETAILS... THIS DISK WAS WRITTEN BY  WASTER  "
  117.    WORD$=WORD$+"DURING AN INCREDIBLY BORING XMAS HOLIDAY 1990/91 IT WAS NEVER MEANT TO BE RELEASED PUBLICLY (YOU CAN TELL BY LOOKING AT THE QUALITY OF IT!) BUT I THOUGHT WHAT THE HECK SO HERE IT IS. OTHER CREDITS GO TO THE FOLLOWING DUDES... THIS FON"
  118.    WORD$=WORD$+"T WAS DESIGNED BY JASON SHIPMAN (I HOPE YOU DO NOT MIND ME USING IT PLEASE NOTE THAT THIS IS A HARDWARE SCROLL,THEY ARE MUCH NICER THAN SOFT SCROLLS AND USE LESS PROCESSOR TIME) THE BLADERUNNERS LOGO - DAVE RIMMER  ALL OTHER GRAPHICS"
  119.    WORD$=WORD$+" - WASTER  COFFEE SUPPLIED - MOTHER WASTER  EMOTIONAL SUSTINANCE - KAY  DECENT MUSIC (NOT THIS COMPUTER CRAP) - LED ZEPPELIN  LIVER ROTTING LIQUID - GUINESS  THAT WAS BORING..  ERRM     AHH     I HATE WRITING SCROLL TEXTS...    NOT A "
  120.    WORD$=WORD$+"LOT OF PEOPLE KNOW THIS BUT IN THE NEXT SECTION IS AN  ATARI ST EMULATOR  WRITTEN TOTALLY IN AMOS!!   ERM...   I AM WRITING SOME DECENT STUFF IN AMOS RATHER THAN ALL THIS DEMO RUBBISH  SOON FINDING THEIR WAY INTO THE AMOS PD LIBRARY R"
  121.    WORD$=WORD$+"UN BY THE AMAZINGLY WONDEFUL (CREEP CREEP) SANDRA SHARKEY  WILL BE A FULLY FEATURED ART PACKAGE (A-LEVEL PROJECT) AND A MULTIMEDIA DESIGN AND SCRIPTING SUITE OF UTILITIES (THIS WILL NOT APPEAR UNTIL LTHE COMPILER IS FINISHED BECAUSE O"
  122.    WORD$=WORD$+"THERWISE IT WILL PROBABLY TAKE UP ABOUT 4 DISKS!!  WELL I AM NOW TOTALLY BORED SO I THINK IT IS ABOUT TIME TO EXECUTE THAT LINE OF CODE WHICH READS  |SCROLLPOINTER(0)|  BYEE FROM WASTER AND THE BLADERUNNERS @ @ @ @ @                  "
  123.    SCRL$=" @0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ|,!.:?/+-()"
  124.    Screen Offset 0,0,0
  125.    X=1
  126.    For N=Q To Q+19
  127.       E$=Mid$(WORD$,N,1)
  128.       POS=Instr(SCRL$,E$)
  129.       If POS=0 Then POS=1
  130.       Paste Bob X,Y,POS
  131.       Rem Wait Key 
  132.       X=X+32
  133.    Next N
  134.    X=0
  135.    Y=32
  136.    Q=Q+10
  137.    For N=Q To Q+19
  138.       E$=Mid$(WORD$,N,1)
  139.       POS=Instr(SCRL$,E$)
  140.       If POS=0 Then POS=1
  141.       Paste Bob X,Y,POS
  142.       X=X+32
  143.    Next N
  144.    Amreg(0)=0
  145.    Wait Vbl 
  146.    Amal On 0
  147.    TUP:
  148.    If Q+20>130 and FISHY=0
  149.       CHEESE
  150.       FISHY=1
  151.    End If 
  152.    If Q+19>Len(WORD$) Then Q=1
  153.    Repeat 
  154.    If Mouse Key=1 Then Goto BURP : 
  155.    Until Amreg(0)=1
  156.    Ink 0
  157.    Bar 0,0 To 640,31
  158.    X=0
  159.    Q=Q+10
  160.    For N=Q To Q+19
  161.       E$=Mid$(WORD$,N,1)
  162.       POS=Instr(SCRL$,E$)
  163.       If POS=0 Then POS=1
  164.       Paste Bob X,0,POS
  165.       X=X+32
  166.    Next N
  167.    If Q+20>130 and FISHY=0
  168.       CHEESE
  169.       FISHY=1
  170.    End If 
  171.    Repeat 
  172.    If Mouse Key=1 Then Goto BURP : 
  173.    Until Amreg(0)=2
  174.    Ink 0
  175.    Bar 0,32 To 640,64
  176.    X=0
  177.    Q=Q+10
  178.    For N=Q To Q+19
  179.       E$=Mid$(WORD$,N,1)
  180.       POS=Instr(SCRL$,E$)
  181.       If POS=0 Then POS=1
  182.       Paste Bob X,32,POS
  183.       X=X+32
  184.    Next N
  185.    Goto TUP : 
  186.    BURP:
  187.    Music Off 
  188.    Wait 20
  189.    Q2=Q-19-19
  190.    If Q2<1 Then Q=2
  191.    Rem If Q>(Len(WORD$)-21) Then Q=(Len(WORD$)-21)
  192.    Amal Off 
  193. End Proc
  194. Procedure CHEESE
  195.    Screen Display 1,128,40,640,50
  196.    Screen To Front 1
  197.    Screen Show 1
  198.    Channel 3 To Screen Display 1
  199.    Rem A$="For R0=0 To 50;Pause;Next R0;Loop:Move 0,200,10;Move 0,-100,10;Move 0,100,10;Move 0,-50,10;Move 0,50,10;Move 0,-20,10;Move 0,20,10;" 
  200.    Rem A$=A$+"Move 0,-20,10;Move 0,20,10;Move 0,-50,10;Move 0,50,10;Move 0,-100,10;Move 0,100,10;Move 0,-200,10;Jump Loop"
  201.    A$="For R0=0 To 50;Pause;Next R0;Move 0,100,20;Loop:;M 0,-10,10;M 0,20,10;M 0,-30,10;M 0,40,10;Move 0,-70,10;Move 0,100,10;Move 0,-150,10;Move 0,200,10;"
  202.    A$=A$+"Move 0,-150,10;Move 0,100,10;Move 0,-70,10;Move 0,40,10;Move 0,-30,10;M 0,20,10;M 0,-10,10;Pause;Jump Loop"
  203.    Amal 3,A$ : Amal On 3
  204.    Wait 140
  205.    Amal On 1
  206.    Music 1
  207.    Channel 2 To Rainbow 0
  208.    C$="Loop:Move 0,176,44;Move 0,-176,44;Let X=60;Move 0,176,44;Move 0,-176,44;Let X=120;Move 0,176,44;Move 0,-176,44;Let X=0;Jump Loop"
  209.    Amal 2,C$
  210.    Set Rainbow 0,0,64*3,"(2,1,15)(2,-1,15)(8,0,15)","(4,0,15)(2,1,15)(2,-1,15)(4,0,15)","(8,0,15)(2,1,15)(2,-1,15)"
  211.    Rainbow 0,0,40,63
  212.    Amal On 2
  213. End Proc
  214. Procedure BEGINNING
  215.    Close Workbench 
  216.    Rem Close Editor 
  217.    Screen Open 0,320,280,2,0
  218.    Hide 
  219.    Rem Flash Off  
  220.    Curs Off 
  221.    Cls 0
  222.    Locate 0,0
  223.    Colour 1,$FFF
  224.    C=Chip Free
  225.    F=Fast Free
  226.    C=C+F
  227.    If C<500000
  228.       Print "WARNING THIS DEMO NEEDS AT LEAST 1 MEG"
  229.       Print "OF MEMORY. BUY ANOTHER HALF MEG, IT ONLY"
  230.       Print "COSTS ï¿½40 (IT MAKES LIFE A LOT EASIER)"
  231.    Repeat 
  232.    Until WENCH=21
  233.    End If 
  234.    Centre "THE BLADERUNNERS MUSIC DISK 1"
  235.    Locate 0,1
  236.    Centre "(c) 1991 ANDREW HALSALL AND DAVE RIMMER"
  237.    Wait 150
  238.    Cls 0
  239.    Locate 0,0
  240.    For N=1 To 31
  241.    Read A$
  242.    Centre A$
  243.    Shoot 
  244.    Wait 4
  245.    Locate 0,N
  246.    Next N
  247.    Channel 0 To Screen Display 0
  248.    A$="Loop:Move 0,8,20;Move 0,-8,20;Pause;Jump Loop"
  249.    Amal 0,A$
  250.    Rem Amal On  
  251.    Repeat 
  252.    Until Mouse Key=1
  253.    Amal Off 
  254.    Screen Display 0,128,40,320,280
  255.    For X=40 To 320 Step 16
  256.    Wait Vbl 
  257.    Screen Display 0,128+X-41,X,320,280
  258.    Next X
  259.    Cls 0
  260.    Screen Display 0,128,40,320,280
  261.    Data "CHAPTER 2 - A NEW BEGINNING"
  262.    Data ""
  263.    Data "MANY MOONS AGO THERE WAS A GROUP OF"
  264.    Data "AMIGA USERS CALLED HARDER FASTER, THIS"
  265.    Data "GROUP CONSISTED OF SEVERAL MEMBERS BUT"
  266.    Data "HAD A CENTRAL CORE OF TWO MEMBERS WHO"
  267.    Data "WERE CALLED FAT-H AND POLO THIS GROUP"
  268.    Data "WROTE MANY DEMOS AND PROGRAMS UNTIL ONE"
  269.    Data "DAY FAT-H REALISED THAT HE WAS DOING ALL"
  270.    Data "THE WORK AND THAT POLO WAS BEING A LAZY"
  271.    Data "LAME GEEK! SO FAT-H LEFT THE GROUP AND"
  272.    Data "IT DISAPPEARED INTO OBLIVION."
  273.    Data ""
  274.    Data "SEVERAL MONTHS PASSED (WELL 4 ACTUALLY)"
  275.    Data "AND A GUY CALLED DAVE SLOWLY GATHERED A"
  276.    Data "BUNCH OF SEMI-HUMANS TO CREATE DEMOS AND"
  277.    Data "OTHER GOODIES AND TO TAKE ON THE WORLD."
  278.    Data "THIS GROUP CALLED THEMSELVES"
  279.    Data "THE BLADERUNNERS"
  280.    Data ""
  281.    Data "DURING HIS PERIOD OF ABSENCE FROM THE"
  282.    Data "COMPUTER SCENE FAT-H DECIDED TO CHANGE"
  283.    Data "HIS NAME TO WASTER"
  284.    Data "DAVE INVITED WASTER TO JOIN THE GROUP"
  285.    Data "HE HAD FORMED. WASTER ACCEPTED AND USING"
  286.    Data "A MIGHTY NEW WEAPON CALLED AMOS HE MADE "
  287.    Data "THIS DEMO WHICH IS CALLED..."
  288.    Data ""
  289.    Data "THE BLADERUNNERS MUSIC DISK 1."
  290.    Data ""
  291.    Data "CLICK LEFT MOUSE THINGY"
  292. End Proc
  293. Procedure SCRL[Q]
  294.    Screen Display 1,390,190,340,80
  295.    Screen Display 2,390,190+24,340,80
  296.    Screen Display 3,390,190+48,340,80
  297.    Screen Display 4,390,190+72,340,80
  298.    Screen 4
  299.    Cls 1
  300.    Screen 0
  301.    A$="AUtotest(Let R1=Vu(0); If R1=0 eXit else Direct Start);"
  302.    A$=A$+"Start: Let X=128; Pause;"
  303.    A$=A$+"Move 262,0,16; Wait;"
  304.    B$="AUtotest(Let R1=Vu(1); If R1=0 eXit else Direct Start);"
  305.    B$=B$+"Start: Let X=128; Pause;"
  306.    B$=B$+"Move 262,0,16; Wait;"
  307.    C$="AUtotest(Let R1=Vu(2); If R1=0 eXit else Direct Start);"
  308.    C$=C$+"Start: Let X=128; Pause;"
  309.    C$=C$+"Move 262,0,16; Wait;"
  310.    D$="AUtotest(Let R1=Vu(3); If R1=0 eXit else Direct Start);"
  311.    D$=D$+"Start: Let X=128; Pause;"
  312.    D$=D$+"Move 262,0,16; Wait;"
  313.    Channel 1 To Screen Display 1
  314.    Channel 2 To Screen Display 2
  315.    Channel 3 To Screen Display 3
  316.    Channel 4 To Screen Display 4
  317.    Amal 1,A$
  318.    Amal 2,B$
  319.    Amal 3,C$
  320.    Amal 4,D$
  321.    A$="Let X=0;Loop:Move 316,0,4Pause;Let Y=32;Let RA=1;For R0=0 To 79;Let X=R0*4;Next R0;Pause;Let Y=0;Let RA=2;Jump Loop"
  322.    A$="Let X=1;Loop:For R0=0 To 79;Let X=4*R0+1;Next R0;Pause;Let Y=32;Let RA=1;For R0=0 To 79;Let X=4*R0+1;Next R0;Pause;Let Y=0;Let RA=2;Jump Loop"
  323.    Channel 5 To Screen Offset 0
  324.    Amal 5,A$
  325. Screen 6
  326. Get Sprite Palette 
  327. Paste Bob 30,18,51
  328. Rem Double Buffer  
  329. Update Off 
  330. Rem Synchro Off  
  331. For N=5 To 15
  332.    Bob N,56,10,52
  333.    Channel N To Bob N
  334.    A$="Loop:M -9,3,3; M -9,9,3; M -9,15,3; M 9,30,3 ;M 9,15,3; M 9,9,3; M 9,3,3;"
  335.    A$=A$+"M 9,-3,3; M 9,-9,3; M 9,-15,3; M 9,-30,3 ;M 9,-15,3; M 9,-9,3; M 9,-3,3;"
  336.    A$=A$+"M 9,3,3; M 9,9,3; M 9,15,3; M 9,30,3 ;M 9,15,3; M 9,9,3; M 9,3,3;"
  337.    A$=A$+"M 9,-3,3; M 9,-9,3; M 9,-15,3; M 9,-30,3 ;M 9,-15,3; M 9,-9,3; M 9,-3,3;"
  338.    A$=A$+"M 9,3,3; M 9,9,3; M 9,15,3; M -9,30,3 ;M -9,15,3; M -9,9,3; M -9,3,3;"
  339.    A$=A$+"M -9,-3,3; M -9,-9,3; M -9,-15,3; M -9,-30,3 ;M -9,-15,3; M -9,-9,3; M -9,-3,3;"
  340.    A$=A$+"M -9,3,3; M -9,9,3; M -9,15,3; M -9,30,3 ;M -9,15,3; M -9,9,3; M -9,3,3;"
  341.    A$=A$+"M -9,-3,3; M -9,-9,3; M -9,-15,3; M -9,-30,3 ;M -9,-15,3; M -9,-9,3; M -9,-3,3;Jump Loop"
  342.    Amal N,A$
  343.    Amal On N
  344. Next N
  345. Update On 
  346.    Rem ********************************************** 
  347.    Rem
  348.    Rem
  349.    Rem
  350.    Rem ********************************************** 
  351.    Home 
  352.    WORD$="THIS MAY LOOK QUITE SILLY BUT THIS IS WHERE THE SPACE WAS BEFORE ANDREW HALSALL WAS ERE THIS IS JUST THE BEGINNING OF A QUITE LONG SCROOL TEXT.  "
  353.    SCRL$=" @0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ|,!.:?/+-()"
  354.    Screen Open 0,640,75,2,$8000
  355.    Screen Display 0,128,41,640,40
  356.    Flash Off 
  357.    Cls 0
  358.    Curs Off 
  359.    Cls 0
  360.    Colour 1,$FFF
  361.    Def Scroll 1,0,0 To 640,60,0,-1
  362.    Set Rainbow 3,1,42,"(1,1,15)(1,0,10)(1,-1,15)","(1,1,15)(1,0,10)(1,-1,15)","(1,1,15)(1,0,10)(1,-1,15)"
  363.    Rainbow 3,0,40,42
  364.    WORD$="I AM TOO BORED TO  BE BOTHERED WRITING A LOT OF TEXT TO GO HERE SO THIS WILL PROBABLY BE VERY SHORT TO OPERATE THIS PART OF THE DEMO IS SIMPLE:-TO CHOOSE A TUNE PRESS THE SPACE BAR AND THEN PRESS THE NUMBER OF THE TUNE THAT YOU WANT (EASY "
  365.    WORD$=WORD$+"HUH!) I KNOW LETS HAVE A COMPETITION! TUNE SEVEN IS RIPPED FROM QUITE AN OLD DEMO SEND TO ME THE NAME OF THE GROUP WHOSE DEMO IT COMES FROM AND THE NAME OF THE DEMO (HA HA) AND YOU COULD WIN A WONDERFULL PRIZE (I DON'T KNOW WHAT BUT "
  366.    WORD$=WORD$+"WHO CARES ABOUT DETAILS) SEND YOUR ENTRIES TO THE ADDRESS ON THE LOADING SCREEN. I SUPPOSE THAT I SHOULD WRITE SOME GREETINGS BUT I AM TOO LAZY (SORRY TO EVERYBODY I KNOW) TIME TO RAP                                                  "
  367.    OL=Q
  368.    P=20
  369.    On Error Goto ERR
  370.    Amal On 
  371.    TP:
  372.    Locate 0,6
  373.    RemFollow WORD$,P,OL 
  374.    Wait Vbl 
  375.    Wait Vbl 
  376.    Wait Vbl 
  377.    Wait Vbl 
  378.    Wait Vbl 
  379.    Centre Mid$(WORD$,OL,P-OL)
  380.    OL=P
  381.    Scroll 1
  382.    For X=0 To 9
  383.       Wait Vbl 
  384.       Wait Vbl 
  385.       Wait Vbl 
  386.    Wait Vbl 
  387.       Scroll 1
  388.       If Inkey$=" " Then Goto BP
  389.    Next X
  390.    P=Instr(WORD$," ",OL+35)
  391.    Goto TP : 
  392. ERR:
  393.    OL=1
  394.    P=20
  395.    Resume TP
  396.    BP:
  397.    Bob Off 
  398.    Music Off 
  399.    Wait 20
  400.    Q2=Q-19-19
  401.    If Q2<1 Then Q=2
  402.    Amal Off 
  403. End Proc[OL]
  404. Procedure CHOOSE
  405.    Screen Open 0,640,64,16,$0
  406.    Screen Display 0,128,40,320,32
  407.    Flash Off 
  408.    Curs Off 
  409.    Get Sprite Palette 
  410.    Rem Screen Offset 5,0,0
  411.    Screen 0
  412.    Cls 0
  413.    Screen Offset 0,0,0
  414.    WORD$=" ---CHOOSE A TUNE---"
  415.    SCRL$=" @0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ|,!.:?/+-()"
  416.    X=0
  417.    For N=1 To 20
  418.       E$=Mid$(WORD$,N,1)
  419.       POS=Instr(SCRL$,E$)
  420.       Paste Bob X,Y,POS
  421.       X=X+31
  422.    Next N
  423.    Channel 7 To Screen Offset 0
  424.    D$="Loop:For R0=0 To 160;Let X=X+2;Next R0;For R0=0 To 160;Let X=X-2;Next R0;Jump Loop"
  425.    Amal 7,D$
  426.    Amal On 7
  427.    Screen 6
  428.    Cls 0
  429.    Home 
  430.    Paper 0
  431.    Centre "THE BLADERUNNERS MUSIC DISK 1"
  432.    Locate 0,2
  433.    Centre "1. SWEET DREAMS - SCOOPEX"
  434.    Locate 0,3
  435.    Centre "2. BLUE  MONDAY - PUBLIC DOMAIN"
  436.    Locate 0,4
  437.    Centre "3. SKY - UNKNOWN"
  438.    Locate 0,5
  439.    Centre "4. GUITAR ASSAULT - XMEN"
  440.    Locate 0,6
  441.    Centre "5. CANYONFLITE - SLIPSTREAM"
  442.    Locate 0,7
  443.    Centre "6. MARILYN - STEVE COOPER"
  444.    Locate 0,8
  445.    Centre "7. COMPETITION TUNE- (SEE SCROLL)"
  446.    Locate 0,10
  447.    Centre "9. AMIGA MODE"
  448.    Locate 0,11
  449.    Centre "0. ATARI ST EMULATOR (BITCH BITCH!)"
  450.    SWITCH=0
  451.    CHEESE$=""
  452.    RT:
  453.    CHEESE$=Inkey$
  454.    If CHEESE$<>""
  455.       Goto HG
  456.    End If 
  457.    Goto RT
  458.    HG:
  459.    If CHEESE$="1"
  460.                  Bell 
  461.                  Load "sweet.abk"
  462.                  Music 1
  463.                  Tempo 18
  464.                  SWITCH=1
  465.    End If 
  466.    If CHEESE$="2"
  467.                  Bell 
  468.                  Load "bm.abk"
  469.                  Music 1
  470.                  Tempo 18
  471.                  SWITCH=1
  472.    End If 
  473.    If CHEESE$="3"
  474.                  Bell 
  475.                  Load "sky.abk"
  476.                  Music 1
  477.                  Tempo 17
  478.                  SWITCH=1
  479.    End If 
  480.    If CHEESE$="4"
  481.                  Bell 
  482.                  Load "assault.abk"
  483.                  Music 1
  484.                  Tempo 17
  485.                  SWITCH=1
  486.     End If 
  487.    If CHEESE$="5"
  488.                  Bell 
  489.                  Load "can.abk"
  490.                  Music 1
  491.                  Tempo 17
  492.                  SWITCH=1
  493.    End If 
  494.    If CHEESE$="6"
  495.                  Bell 
  496.                  Load "xxx.abk"
  497.                  Music 1
  498.                  Tempo 17
  499.                  SWITCH=1
  500.    End If 
  501.    If CHEESE$="7"
  502.                  Bell 
  503.                  Load "halibut.abk"
  504.                  Music 1
  505.                  Tempo 17
  506.                  SWITCH=1
  507.    End If 
  508.    If CHEESE$="0"
  509.             Update Every 5
  510.             Rainbow 0,40,320,30
  511.             Bell 
  512.             SWITCH=0
  513.    End If 
  514.    If CHEESE$="9"
  515.             Update Every 1
  516.             Rainbow 0,0,80,270
  517.             Bell 
  518.             SWITCH=0
  519.    End If 
  520.    If SWITCH=0
  521.            CHEESE$=""
  522.            Goto RT
  523.    End If 
  524.    Cls 0
  525.    Screen 0
  526.    Cls 0
  527.    Amal Off 
  528.    Update Off 
  529.    Screen Offset 0,0,0
  530.    Rem Screen Offset 5,0,0
  531. End Proc
  532. BEGINNING
  533. HSD
  534. INITIALISE
  535. L=1
  536. TY:
  537. SCRL[L]
  538. L=Param
  539. CHOOSE
  540. Goto TY