home *** CD-ROM | disk | FTP | other *** search
/ AMOS PD CD / amospdcd.iso / sourcecode / demos / scrolldemo.amos / scrolldemo.amosSourceCode < prev   
AMOS Source Code  |  1978-02-21  |  5KB  |  125 lines

  1. Dim X$(49),X(49),Y(49)
  2. Global X$(),X(),Y(),SCNT,CNT,SC$,SCRL$
  3. Fade 1 : Flash Off : Curs Off : Led Off 
  4. DEMO
  5. Procedure DEMO
  6.    Break Off 
  7.    If Chip Free>500000 Then Load "tropical-nights.abk" Else Load "OTHER.abk"
  8.    Music 1
  9.    Unpack 10 To 1 : Hide On : Unpack 11 To 2 : Unpack 12 To 0 : Ink 0 : Bar 0,27 To 380,70 : Unpack 6 To 3 : Screen Hide 3 : Screen 0 : Get Palette 3
  10.    Screen Display 1,,0,,
  11.    Channel 1 To Screen Offset 1
  12.    Amal 1,"A: M 110,-26,27; M 110,26,27; M 110,-26,27; M 110,26,27; M 110,-26,27; M 110,26,27; M -110,-26,27; M -110,26,27; M -110,-26,27; M -110,26,27; M -110,-26,27; M -110,26,27; J A"
  13.    Amal On 1
  14.    Channel 2 To Screen Offset 2
  15.    Amal 2,"A: M 0,430,215; M0,-430,215; J A"
  16.    Amal On 2
  17.    MESSAGE
  18.    SETUP
  19.    MAKE_FONT
  20.    Repeat 
  21.       Screen 0 : Scroll 1 : Gosub MOVE_TEXT : Wait Vbl 
  22.    Until Mouse Key>0
  23.    DEMODIE:
  24.    Screen 0 : Fade 4 : Wait 4*15 : Screen 2 : Fade 4 : Wait 4*15 : Screen 1 : Fade 4 : Wait 4*15
  25.    Screen Close 0 : Screen Close 1 : Screen Close 2 : Erase 3 : Erase 10 : Erase 11 : Erase 12
  26.    For X=63 To 0 Step -4 : Mvolume X : Next X : End 
  27.    MOVE_TEXT:
  28.    CNT=CNT+4
  29.    If CNT>29 Then Proc NEW_CHARACTER : CNT=0 : Inc SCNT
  30.    If SCNT>Len(SC$) Then SCNT=1
  31.    Return 
  32. End Proc
  33. Procedure SETUP
  34.    SCRL$="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,@-+!?()':;0123456789 "
  35.    SCNT=1
  36.    CNT=31
  37.    Def Scroll 1,1,20 To 375,70,-4,0
  38. End Proc
  39. Procedure MAKE_FONT
  40.    Screen 1
  41.    For F=1 To 49
  42.       Read X$(F),X(F),Y(F)
  43.    Next F
  44.    Data "A",0,0
  45.    Data "B",33,0
  46.    Data "C",66,0
  47.    Data "D",99,0
  48.    Data "E",132,0
  49.    Data "F",165,0
  50.    Data "G",198,0
  51.    Data "H",231,0
  52.    Data "I",264,0
  53.    Data "J",0,34
  54.    Data "K",33,34
  55.    Data "L",66,34
  56.    Data "M",99,34
  57.    Data "N",132,34
  58.    Data "O",165,34
  59.    Data "P",198,34
  60.    Data "Q",231,34
  61.    Data "R",264,34
  62.    Data "S",0,67
  63.    Data "T",33,67
  64.    Data "U",66,67
  65.    Data "V",99,67
  66.    Data "W",132,67
  67.    Data "X",165,67
  68.    Data "Y",198,67
  69.    Data "Z",231,67
  70.    Data ".",264,67
  71.    Data ",",0,100
  72.    Data "@",33,100
  73.    Data "-",66,100
  74.    Data "+",99,100
  75.    Data "!",132,100
  76.    Data "?",165,100
  77.    Data "(",198,100
  78.    Data ")",231,100
  79.    Data "'",264,100
  80.    Data ":",0,133
  81.    Data ";",33,133
  82.    Data "0",66,133
  83.    Data "1",99,133
  84.    Data "2",132,133
  85.    Data "3",165,133
  86.    Data "4",198,133
  87.    Data "5",231,133
  88.    Data "6",264,133
  89.    Data "7",0,166
  90.    Data "8",33,166
  91.    Data "9",66,166
  92.    Data " ",99,166
  93. End Proc
  94. Procedure MESSAGE
  95.    If Chip Free>350000
  96.       SC$="WELL IT WOULD SEEM THAT YOU HAVE 1 MEG OF CHIP RAM!    WELL DONE!   THIS MEANS THAT YOU ARE LISTENING TO ONE OF MY FAVOURITE MUSICAL PIECES CALLED @TROPICAL NIGHT@! I HOPE YOU ENJOY IT! "
  97.       SC$=SC$+"  WELL LET'S GET ON WITH THE SCROLLIE!             "
  98.    End If 
  99.    If Chip Free<200000
  100.       SC$=SC$+"YOU DON'T HAVE 1 MEG OF CHIP RAM, SO YOU WON'T BE LISTENING TO MY FAVOURITE MUSIC! BUT I'M SURE I WILL HAVE PUT SOME MUSIC IN FOR YOU ANYWAY!   ENJOY THE DEMO!          "
  101.    End If 
  102.    SC$=SC$+" GREETINGS MY EXCELLENT FRIENDS!            TEX TYPING AWAY AT THE KEYBOARD (YOUR KIDDING!?) "
  103.    SC$=SC$+"AND IT'S NOW 3.15 IN THE MORNING! TIME I CRASHED.........BUT NOT BEFORE I BABLE ON A BIT!          "
  104.    SC$=SC$+"HEY I JUST MODIFIED MY A500 SO THAT I CAN NOW HAVE 1MEG OF CHIP "
  105.    SC$=SC$+"RAM!     GEEZE IT MAKES A NICE DIFFERENCE, AND IT'S SO EASY TO DO! "
  106.    SC$=SC$+"IF YOU WANT TO FIND OUT THEN THE LAST DEMO ON THIS DISK WILL EXPLAIN "
  107.    SC$=SC$+"HOW TO MODIFY YOUR A500 TO HAVE 1 MEG OF CHIP RAM WHICH IS SWITCHABLE "
  108.    SC$=SC$+"TO 512K OF CHIP RAM OR 1024K!     SO SEE THE LAST DEMO FOR THE PLANS. OK? "
  109.    SC$=SC$+"       SORRY BUT NO GREETS IN THE SCROLLING TEXT, BUT LOOK AT THE SCROLL "
  110.    SC$=SC$+"ABOVE FOR THE GREETS. IF I LEFT ANYONE OUT, BADLUCK! YOU'LL BE IN THE "
  111.    SC$=SC$+"NEXT ONE I'M SURE!       DO YOU LIKE THE FONT?  IT WAS RIPPED OFF THE ST!"
  112.    SC$=SC$+" IT'S CALLED @MEGADETH@!     HEY IT'S KOOL OK!         HEY GUESS WHO WON "
  113.    SC$=SC$+"THE DEMO COMPETITION? ? ? ? ?                ME!             JUST KIDDING, "
  114.    SC$=SC$+"REALLY, I'M JUST KIDDING!              TIME TO GO!      I'LL SEE YOU IN THE NEXT "
  115.    SC$=SC$+"DEMOS!       CU!              TEX!           "
  116.    SC$=SC$+"HEY I FORGOT TO ASK.............DO YOU LIKE THIS LITTLE DEMO?          IT ONLY TOOK "
  117.    SC$=SC$+"A COUPLE OF HOURS TO MIX UP!          HEY BLADE, LOVE THEM GAMES! KEEP 'EM COMMIN!"
  118.    SC$=SC$+"             DO YOU ALL KNOW HOW HARD IT IS TO TYPE AT 3.21AM?    IT'S BLOODY HARD!"
  119.    SC$=SC$+"             THIS TIME I'M REALLY GOIN.............GONE!                    "
  120. End Proc
  121. Procedure NEW_CHARACTER
  122.    E$=Mid$(SC$,SCNT,1)
  123.    E=Instr(SCRL$,E$)
  124.    Screen Copy 3,X(E),Y(E),X(E)+31,Y(E)+31 To 0,340,30
  125. End Proc