home *** CD-ROM | disk | FTP | other *** search
/ AMOS PD CD / amospdcd.iso / sourcecode / general / vidi_demo_source.amos / vidi_demo_source.amosSourceCode < prev   
Encoding:
AMOS Source Code  |  2001-01-14  |  11.5 KB  |  280 lines

  1. Rem****************************************  
  2. Rem*                                      *  
  3. Rem*  HERE'S THE CODE FOR THE VIDI DEMO   *  
  4. Rem*  SORRY THAT THE BOB BANK IS MISSING  *  
  5. Rem*  BUT I ERASED IT WITH OUT KNOWING    *    
  6. Rem*  AND I HAVE NO BACK UP COPY          *  
  7. Rem*                                      *
  8. Rem****************************************
  9. Set Buffer 10
  10. Cls 0 : Hide On 
  11. Close Workbench : Close Editor : Break Off 
  12. Bank Swap 1,14
  13. Auto View Off 
  14. If Chip Free<400000
  15.    Erase 15 : Erase 11 : Erase 5
  16.    Unpack 13 To 7 : Screen Display 7,,,320,133 : Screen To Front 7
  17.    Erase 13 : Wait Vbl : Amos To Front 
  18.    SETUP
  19. End If 
  20. PBOB_INIT[15,16,112,97]
  21. For LOP=1 To 25
  22.    PBOB[LOP,LOP]
  23. Next LOP
  24. PBOB_END
  25. Erase 15
  26. SART
  27. SETUP
  28. Procedure SART
  29. Screen Open 6,320,200,32,Lowres : Flash Off : Curs Off : Cls 0
  30. Unpack 11 To 6
  31. Erase 11
  32. Screen 6
  33. Screen Display 6,,,320,133
  34. Double Buffer 
  35. For T=0 To 2
  36. Set Bob T,,%1111,%11001010
  37. Next T
  38. Bob 0,112,29,3
  39. Bob 1,160,80,1
  40. Bob 2,160,73,2
  41. For Z=0 To 2
  42. Limit Bob Z,80,28 To 250,125
  43. Next 
  44. Wait Vbl 
  45. Auto View On : Amos To Front : View 
  46. Channel 0 To Bob 0
  47. Channel 1 To Bob 1
  48. Channel 2 To Bob 2
  49. Amal 0,"A 0,(3,3)(4,3)(5,3)(6,3) ; "
  50. Amal 1,"M 0,-53,159 ; "
  51. Amal 2,"M 0,53,159 ; "
  52. Led Off 
  53. Wait 100 : Sam Play 15,1,8090 : Wait 10
  54. Amal On : Sam Loop On : Sam Play 15,2,8090
  55. Wait 159 : Sam Loop Off 
  56. Amal Off 1 : Amal Off 2 : Wait 100 : Amal Off 0
  57. Bob Off 0
  58. Bob 10,112,29,7
  59. Limit Bob 10,112,29 To 250,125
  60. Palette $0,$111,$222,$333,$444,$555,$666,$777,$888,$999,$AAA,$BBB,$CCC,$DDD,$EEE,$FFF
  61. Channel 10 To Bob 10
  62. Amal 10,"A 0,(7,12)(8,12)(9,12)(10,12)(11,12)(12,12)(13,12)(14,12)(15,12)(16,12)(17,12)(18,13)(19,13)(20,12)(21,12)(22,12)(23,12)(24,12)(25,12000)"
  63. Amal On 10 : Wait 144
  64. Sam Play 15,3,9000 : Wait 130 : Bob Off 10 : Amal Off 10 : Wait Vbl : Bob 0,112,29,3
  65. Palette $0,$EA6,$E84,$C64,$446,$668,$88A,$ECE,$AAC,$224,$2,$400,$600,$720,$E20,$A42
  66. Amal 0,"A 0,(3,3)(4,3)(5,3)(6,3) ; "
  67. Amal 1,"M 0,53,159 ; "
  68. Amal 2,"M 0,-53,159 ; "
  69. Amal On : Sam Loop On : Sam Play 15,2,8090
  70. Wait 162 : Sam Loop Off : Amal Off : Sam Play 15,1,8090 : Wait Vbl 
  71. Erase 1
  72. Unpack 13 To 7 : Screen Display 7,,,320,134 : Screen To Front 7 : Erase 5
  73. Screen Close 6
  74. Bob Off 1 : Bob Off 2
  75. Erase 13
  76. Wait Vbl 
  77. End Proc
  78. Procedure SETUP
  79.    Dim X$(46),X(46),Y(46)
  80.    SCNT=1
  81.    CNT=31
  82.    SC$="                 HEY DUDES               WELCOME TO THE AUGUST "
  83.    SC$=SC$+"MEGA ISSUE OF THE "
  84.    SC$=SC$+"GADGET DISK MAGAZINE               ONCE AGAIN I BRING YOU "
  85.    SC$=SC$+"ANOTHER DISK INTRO                   "
  86.    SC$=SC$+"THIS DEMO WAS CODED IN ABOUT 12 HOURS AND I HAD TO RUSH TO "
  87.    SC$=SC$+"FINISH IT IN TIME (SORRY BRUCE FOR THE DELAY)                   I HAD ALREADY FINISHED "
  88.    SC$=SC$+"ANOTHER INTRO AND ONLY NEEDED TO PUT IN THE GRAPHICS............"
  89.    SC$=SC$+"BUT COULD NOT DECIDE ON WHAT TO USE SO I DUMPED IT DOWN THE TOILET AND STARTED AFRESH "
  90.    SC$=SC$+"WITH A DIFFERENT FONT : GRAPHICS AND IDEAS                 "
  91.    SC$=SC$+"AND I THINK THIS ONE IS ALOT BETTER.................ALTHOUGH IT IS "
  92.    SC$=SC$+"INSPIRED BY MY MEGA DEMO IT IS TOTALLY RECODED ~EVEN THE GRAPHICS "
  93.    SC$=SC$+"ARE REDRAWN'                THE MUSIC IS SUPPLIED BY TITAN"
  94.    SC$=SC$+"..........................REMEMBER IF YOU HAVE ANY MUSIC OR BRILL "
  95.    SC$=SC$+"PICCY'S THAT YOU WOULD LIKE IN A DEMO THEN SEND THEM IN AND I WILL CODE "
  96.    SC$=SC$+"THEM IN AND THROW YOUR NAME UP IN THE CREDITS...............SO GET OFF YOUR "
  97.    SC$=SC$+"LAME ARSE'S AND SEND THEM IN....................SOME OF YOU OUT THERE HAVE NOT "
  98.    SC$=SC$+"CONTRIBUTED YET TO THE GADGET DISK................SOME OF YOU HAVE 3000'S (WHY) "
  99.    SC$=SC$+"IS IT BECAUSE EVERY ONE ELSE HAS ONE OR IS GETTING ONE AND YOU DONT WANT TO BE LEFT OUT"
  100.    SC$=SC$+"..................IS IT A EXSPENSIVE GAMES MACHINE OR BETTER STILL.................A DOOR-STOP                 COME ON "
  101.    SC$=SC$+"SHOW US WHY YOU BROUGHT IT AND SEND SOME PROGRAMS - MUSIC - GRAPHICS OR WHATEVER                "
  102.    SC$=SC$+"PHEONIX AND THE TERMINATOR HAVE BEEN SENDING IN QUITE A FEW PROGRAMS AND OTHER THINGS..............."
  103.    SC$=SC$+"I HAVE ONLY BEEN LEARNING BASIC FOR ABOUT 9 MONTHS AND PHEONIX HAS ONLY BEEN CODING IN ~C' "
  104.    SC$=SC$+"SINCE HE STARTED UNI THIS YEAR AND HE HAS ALREADY PRODUCED A FEW GOOD UTILITIES AND DEMO'S IN ~C'                      "
  105.    SC$=SC$+"ANY WAY THAT'S ENOUGH ON THAT SUBJECT..........................I WAS GOING TO TELL "
  106.    SC$=SC$+"YOU WHAT WAS TO HAPPEN AT TO-NIGHT'S MEETING BUT EVEN YOUR'S TRUELY HAS NO IDEA "
  107.    SC$=SC$+"                  NEXT MONTH IF NOBODY SENDS ANY STUFF TO ME TO PUT IN THE DEMO "
  108.    SC$=SC$+"I WILL PRODUCE A SOLID 3D VECTOR DEMO..................HEY JOHN WOULD YOU LIKE TO "
  109.    SC$=SC$+"DESIGN A FEW STAR TREK OBJECT'S AND I WILL WORK OUT THE ROUTINES TO WIZZ THEM "
  110.    SC$=SC$+"AROUND THE SCREEN TO  BOLDLY  GO WHERE NO VECTOR HAS GONE BEFORE                         "
  111.    SC$=SC$+"BUT THAT'S NEXT MONTH.......................BY THEN MY MATE PHEONIX SHOULD HAVE SOME "
  112.    SC$=SC$+"WIRE FRAME VECTOR DEMOS FINISHED FROM THE SOURCE CODE I GAVE HIM - THEY BETTER NOT "
  113.    SC$=SC$+"BE BETTER THAN MY FIRST EFFORT...........................SHIT IT'S HARD TO THINK OF "
  114.    SC$=SC$+"WHAT TO WRITE IN A SCROLL TEXT                 I MEAN YOU SPEND MANY HOURS WRITING "
  115.    SC$=SC$+"THE CODE - DESIGNING THE GRAPHICS - EDITING SAMPLES AND COMPOSING MUSIC THEN WHEN IT COMES TO TYPING "
  116.    SC$=SC$+"IN THE TEXT YOU FIND YOU HAVE NOTHING TO SAY...............FUNNY THING THAT................"
  117.    SC$=SC$+"SO I WILL JUST CONTINUE TO BLAB ON AND ON AND ON                    SHIT THIS IS BORING               "
  118.    SC$=SC$+"HEY CHECK OUT THE GERK AT THE START OF THE DEMO                    IS HE WACKED OR WHAT                   "
  119.    SC$=SC$+"ACTUALLY THE REASON I AM WEARING THE GLASSES IS BECAUSE I COULD NOT FIND ANY SUNNY'S..................."
  120.    SC$=SC$+"SO I HAD TO USE A PAIR OF SAFTEY GLASSES WITH THE SHIELDS REMOVED AND I WAS THEN GOING TO PAINT IN THE GLASS LENS TO LOOK LIKE DARK SUNNY'S "
  121.    SC$=SC$+"BUT AFTER AWHILE I GOT USE TO THE NERDY LOOK SO I LEFT IT AS IT IS NOW                      SINCE PUTTING IN THE "
  122.    SC$=SC$+"VIDI SEQUENCE THIS DEMO'S FILE SIZE HAS JUST ABOUT DOUBLED.......................EVEN AFTER COMPRESSING THE BLITTER OBJECTS "
  123.    SC$=SC$+"INTO RAW DATA.....................BUT THAT'S LIFE......................."
  124.    SC$=SC$+"HEY HERES AN IDEA                  HOW ABOUT A GREETINGS LIST                 YEAH                        "
  125.    SC$=SC$+"MEGA HELLO'S GO OUT TO BRUCE (YOU DO A GREAT JOB COMPILING THE DISK EACH MONTH)                    "
  126.    SC$=SC$+"BIG G'DAYS  ALSO TO JOHN - LEIGH - GAVIN - CHRIS - PAT - DON AND ALL YOU BASTARDS OUT THERE "
  127.    SC$=SC$+"AND ANY OTHERS I HAVE MISSED......................SORRY BUT SINCE I HAVE NO NAMES THERE "
  128.    SC$=SC$+"WILL BE A FEW I HAVE MISSED.......................OH I ALMOST FORGOT PAT HAS MOVED HIS "
  129.    SC$=SC$+"~FUTURE DIMENSIONS' BBS TO TOOWOOMBA...................SO IF YOU ARE LIKE ME AND HAVE NOT GOT A "
  130.    SC$=SC$+"MODEM HANGING OUT THE REAR OF YOUR MACHINE THEN BUY ONE AND HELP SUPPORT HIM..............."
  131.    SC$=SC$+"GOOD ON YA PAT                    HEY IT MUST BE ABOUT THAT TIME FOR ME TO FINISH                   "
  132.    SC$=SC$+"I THANK YOU FOR SEEING THIS DEMO THROUGH TO THE END                   UNTIL NEXT TIME              "
  133.    SC$=SC$+"HANG LOOSE                                                         "
  134.    'Screen Open 0,30,10,2,Lowres
  135.    Auto View Off : Autoback 0
  136.    Unpack 10 To 0 : Screen Hide 0 : Erase 10
  137.    Screen Open 1,352,50,16,Lowres
  138.    Screen Display 1,132,259,322,50 : Screen Hide 1
  139.    Screen Open 2,320,65,4,Lowres : Flash Off : Curs Off : Cls 0
  140.    Screen Display 2,,186,320,65
  141.    Double Buffer 
  142.    Bank Swap 14,1 : Erase 14
  143.    For D=1 To 4
  144.       Set Bob D,0,%1,%11001010
  145.       No Mask 
  146.    Next 
  147.    Channel 1 To Bob 1
  148.    Bob 1,10,,1
  149.    Limit Bob 1,0,0 To 320,65
  150.    A$="Loop:           If V("+Str$(0)+")<14 Jump Nosound else Let R1=RA ; Let R2=R1/3 ; Let R3=R2*2 ; Let Y=R3+3 "
  151.    A$=A$+"Nosound:     If Y > 66 Jump Downno else Let Y=Y+1"
  152.    A$=A$+"Downno:      Pause ; Jump Loop ;"
  153.    Amal 1,A$
  154.    Channel 2 To Bob 2
  155.    Bob 2,30,,1
  156.    Limit Bob 2,0,0 To 320,65
  157.    A$="Loop:           If V("+Str$(1)+")<14 Jump Nosound else Let R1=RA ; Let R2=R1/3 ; Let R3=R2*2 ; Let Y=R3+3 "
  158.    A$=A$+"Nosound:     If Y > 66 Jump Downno else Let Y=Y+1"
  159.    A$=A$+"Downno:      Pause ; Jump Loop ;"
  160.    Amal 2,A$
  161.    Channel 3 To Bob 3
  162.    Bob 3,290,,1
  163.    Limit Bob 3,0,0 To 320,65
  164.    A$="Loop:           If V("+Str$(2)+")<14 Jump Nosound else Let R1=RA ; Let R2=R1/3 ; Let R3=R2*2 ; Let Y=R3+3 "
  165.    A$=A$+"Nosound:     If Y > 66 Jump Downno else Let Y=Y+1"
  166.    A$=A$+"Downno:      Pause ; Jump Loop ;"
  167.    Amal 3,A$
  168.    Channel 4 To Bob 4
  169.    Bob 4,310,,1
  170.    Limit Bob 4,0,0 To 320,65
  171.    A$="Loop:           If V("+Str$(3)+")<14 Jump Nosound else Let R1=RA ; Let R2=R1/3 ; Let R3=R2*2 ; Let Y=R3+3 "
  172.    A$=A$+"Nosound:     If Y > 66 Jump Downno else Let Y=Y+1"
  173.    A$=A$+"Downno:      Pause ; Jump Loop ;"
  174.    Amal 4,A$
  175.    Amal On 
  176.    Set Rainbow 0,1,52,"","",""
  177.    Rainbow 0,0,259,52
  178.    For T=1 To 9
  179.       Rain(0,T)=$F
  180.    Next 
  181.    For Z=10 To 22 Step 1
  182.       Read B
  183.       Rain(0,Z)=B
  184.    Next Z
  185.    Data $2F,$3F,$4F,$5F,$6F,$7F,$8F,$9F,$AF,$BF,$CF,$DF,$EF
  186.    For E=23 To 29
  187.       Rain(0,E)=$FF
  188.    Next 
  189.    For P=30 To 44 Step 1
  190.       Read A
  191.       Rain(0,P)=A
  192.    Next P
  193.    Data $EF,$DF,$CF,$BF,$AF,$9F,$8F,$7F,$6F,$5F,$4F,$3F,$2F,$1F,$F
  194.    For W=45 To 51
  195.       Rain(0,W)=$F0
  196.    Next 
  197.    '
  198.    X=3
  199.    Set Rainbow 3,1,67,"","",""
  200.    Rainbow 3,0,187,65
  201.    For F=0 To 65 Step X
  202.       Read A
  203.       For I=0 To X-1
  204.          Rain(3,F+I)=A
  205.       Next I
  206.    Next F
  207.    Data $1FF,$2FF,$3FF,$4FF,$5FF,$6FF,$7FF,$8FF,$9FF,$AFF,$BFF,$CFF
  208.    Data $DFF,$EFF,$FFF,$FFE,$FFD,$FFC,$FFB,$FFA,$FF9,$FF8,$FF7
  209.    Set Rainbow 1,10,16,"","",""
  210.    Rainbow 1,0,42,8
  211.    For R=0 To 7
  212.       Read G
  213.       Rain(1,R)=G
  214.    Next 
  215.    Data $555,$666,$777,$888,$777,$666,$555
  216.    Led Off : Wait 20
  217.    Music 1
  218.    Auto View On : View : Screen To Front 1
  219.    Def Scroll 1,1,0 To 353,41,-4,0
  220.    Screen 1 : Curs Off : Cls 0 : Flash Off : Get Palette 0
  221.    SCRL$="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ!.- ()~'?:"
  222.    Gosub PIXD
  223.    Wait Vbl 
  224.    ROO:
  225.    Gosub STEXT
  226.    Wait Vbl 
  227.    Goto ROO
  228.    PIXD:
  229.    Restore EXT
  230.    For F=1 To 46
  231.       Read X$(F),X(F),Y(F)
  232.    Next F
  233.    Return 
  234.    EXT:
  235.    Data "0",99,167,"1",99,126,"2",131,126,"3",163,126,"4",195,126
  236.    Data "5",227,126,"6",259,126,"7",3,167,"8",35,167,"9",67,167
  237.    Data "A",3,3,"B",35,3,"C",67,3,"D",99,3,"E",131,3,"F",163,3
  238.    Data "G",195,3,"H",227,3,"I",259,3,"J",3,44,"K",35,44,"L",67,44
  239.    Data "M",99,44,"N",131,44,"O",163,44,"P",195,44,"Q",227,44,"R",259,44
  240.    Data "S",3,85,"T",35,85,"U",67,85,"V",99,85,"W",131,85,"X",163,85
  241.    Data "Y",195,85,"Z",227,85,"!",35,126,".",3,126,"-",67,126," ",259,85
  242.    Data "(",131,167,")",163,167,"~",195,167,"'",227,167,"?",259,167
  243.    Data ":",3,208
  244.    STEXT:
  245.    Scroll 1
  246.    Add CNT,4
  247.    If SCNT=12 Then Screen Show 1
  248.    If CNT>31 Then Gosub NCHAR : CNT=0 : Inc SCNT : If SCNT>Len(SC$) Then SCNT=1
  249.    Return 
  250.    NCHAR:
  251.    E$=Mid$(SC$,SCNT,1)
  252.    E=Instr(SCRL$,E$)
  253.    Screen Copy 0,X(E),Y(E),X(E)+33,Y(E)+42 To 1,320,0
  254.    If Mouse Key<>0 Then Pop Proc
  255.    Return 
  256. End Proc
  257. Procedure PBOB_INIT[BANK,NCOL,MX,MY]
  258.    Shared PB_BANK
  259.    PB_BANK=BANK
  260.    S=Screen
  261.    Screen Open 7,MX,MY,NCOL,0
  262.    Screen Hide 
  263.    Screen S
  264. End Proc
  265. Procedure PBOB[N,D]
  266.    Shared PB_BANK
  267.    Dec N
  268.    A=Start(PB_BANK)+N*10
  269.    If Deek(A)
  270.       AB=Start(PB_BANK)+Deek(A)*2
  271.       SX=Deek(A+2)*16 : SY=Deek(A+4)
  272.       S=Screen : Screen 7
  273.       Unpack AB,0,0 : Get Bob D,0,0 To SX,SY
  274.       Screen S
  275.       AA=Sprite Base(D) : Loke AA+6,Leek(A+6)
  276.    End If 
  277. End Proc
  278. Procedure PBOB_END
  279.    Screen Close 7
  280. End Proc