home *** CD-ROM | disk | FTP | other *** search
/ AMOS PD CD / amospdcd.iso / sourcecode / demos / equaliserone.amos / equaliserone.amosSourceCode < prev    next >
AMOS Source Code  |  1991-02-26  |  3KB  |  150 lines

  1. Rem FANATIX Equaliser Demo 1 
  2. Rem by JAG on 13/4/91 in three hours.
  3. Rem
  4. Rem Good isn't it! 
  5. Rem
  6. Screen Open 0,320,256,2,Lowres : Curs Off : Hide On : Cls 0
  7. Break Off : Close Editor : Close Workbench : Led Off 
  8. Dim CH0(16) : Dim CH1(16) : Dim CH2(16) : Dim CH3(16)
  9. L0=15 : L1=15 : L2=15 : L3=15 : EQ=0
  10. Dim L$(50) : Dim X(50) : Dim Y(50) : Gosub VARLOAD
  11. S=2 : SC=8 : CH=1 : SCAR=7 : LETTER$="abcdefghijklmnopqrstuvwxyz.:!?(),'-+ "
  12. Def Scroll 1,0,220 To 395,252,-2,0
  13. Def Scroll 2,0,220 To 395,252,-4,0
  14. Def Scroll 3,0,220 To 395,252,-8,0
  15. Def Scroll 4,0,220 To 395,252,-16,0
  16. Def Scroll 5,0,220 To 395,252,-32,0
  17. Rem boring colour lists
  18. Restore SHADES
  19. For F=1 To 16
  20.    Read A,B,C,D
  21.    CH0(F)=A : CH1(F)=B : CH2(F)=C : CH3(F)=D
  22. Next F
  23. SHADES:
  24. Data $F00,$F0,$F,$F0F
  25. Data $E00,$E0,$E,$E0E
  26. Data $D00,$D0,$D,$D0D
  27. Data $C00,$C0,$C,$C0C
  28. Data $B00,$B0,$B,$B0B
  29. Data $A00,$A0,$A,$A0A
  30. Data $900,$90,$9,$909
  31. Data $800,$80,$8,$808
  32. Data $700,$70,$7,$707
  33. Data $600,$60,$6,$606
  34. Data $500,$50,$5,$505
  35. Data $400,$40,$4,$404
  36. Data $300,$30,$3,$303
  37. Data $200,$20,$2,$202
  38. Data $100,$10,$1,$101
  39. Data $0,$0,$0,$0
  40. Screen Open 0,320,256,16,Lowres : Unpack 6 To 0
  41. Screen Open 3,320,256,2,Lowres : Colour 0,$0 : Curs Off : Flash Off : Hide On : Cls 0
  42. Auto View Off 
  43. Screen Open 2,320,256,16,Lowres : Unpack 7 To 2
  44. Screen Open 1,400,256,16,Lowres : Flash Off : Curs Off : Hide On : Cls 0 : Get Palette 0 : Screen Copy 2,0,0,319,255 To 1,20,0
  45. Screen Close 2
  46. Screen Close 3
  47. T$=Space$(2660) : For F=Start(8) To Start(8)+2660 : Poke Varptr(T$)+F-Start(8),Peek(F) : Next F
  48. Auto View On 
  49. Screen To Back 0 : Screen 1
  50. Get Palette 0
  51. MAINLOOP:
  52. For F=1 To Len(T$)*32
  53.    Scroll S
  54.    Inc SCAR : If SCAR=SC Then SCAR=0 : Inc CH : Gosub PCHAR
  55.    If Mouse Key=1 Then Goto SDEMO
  56.    If EQ=1 Then Gosub EQUALISE
  57.    Wait Vbl 
  58. Next F
  59. Goto MAINLOOP
  60. PCHAR:
  61. If CH=Len(T$) Then CH=0 : Goto MAINLOOP
  62. S$=Mid$(T$,CH,1)
  63. P=Instr(LETTER$,S$)
  64. If P=0 Then Gosub FX : Return 
  65. Screen Copy 0,X(P),Y(P),(X(P))+31,(Y(P))+31 To 1,354,220
  66. Return 
  67. Rem the control codes interpreter system 
  68. FX:
  69. If S$="|" Then Goto EQUAL
  70. If S$="@" Then Goto FAST
  71. If S$="#" Then Goto SLOW
  72. If S$="%" Then Goto SNAILPACE
  73. If S$="^" Then Goto AFTERBURNER
  74. If S$="&" Then Goto SUPERBURNER
  75. Return 
  76. EQUAL:
  77. If EQ=1 Then Return 
  78. EQ=1 : Music 1 : Return 
  79. FAST:
  80. S=3 : SC=4 : Return 
  81. SLOW:
  82. S=2 : SC=8 : Return 
  83. AFTERBURNER:
  84. S=4 : SC=2 : Return 
  85. SUPERBURNER:
  86. S=5 : SC=1 : Return 
  87. SNAILPACE:
  88. S=1 : SC=16 : Return 
  89. EQUALISE:
  90. If L0<16 Then Inc L0
  91. If L1<16 Then Inc L1
  92. If L2<16 Then Inc L2
  93. If L3<16 Then Inc L3
  94. If Vumeter(0)>10 Then L0=1
  95. If Vumeter(1)>10 Then L1=1
  96. If Vumeter(2)>10 Then L2=1
  97. If Vumeter(3)>10 Then L3=1
  98. Colour 2,CH0(L0) : Colour 3,CH1(L1) : Colour 4,CH2(L2) : Colour 5,CH3(L3)
  99. Return 
  100. VARLOAD:
  101. Restore LETT
  102. For F=1 To 37
  103.    Read A$ : Read A : Read B
  104.    L$(F)=A$ : X(F)=A : Y(F)=B
  105. Next F : Return 
  106. LETT:
  107. Data "a",0,0
  108. Data "b",32,0
  109. Data "c",64,0
  110. Data "d",96,0
  111. Data "e",128,0
  112. Data "f",160,0
  113. Data "g",192,0
  114. Data "h",224,0
  115. Data "i",256,0
  116. Data "j",0,31
  117. Data "k",32,31
  118. Data "l",64,31
  119. Data "m",96,31
  120. Data "n",128,31
  121. Data "o",160,31
  122. Data "p",192,31
  123. Data "q",224,31
  124. Data "r",256,31
  125. Data "s",0,62
  126. Data "t",32,62
  127. Data "u",64,62
  128. Data "v",96,62
  129. Data "w",128,62
  130. Data "x",160,62
  131. Data "y",192,62
  132. Data "z",224,62
  133. Data ".",256,62
  134. Data ":",0,93
  135. Data "!",32,93
  136. Data "?",64,93
  137. Data "(",96,93
  138. Data ")",128,93
  139. Data ",",160,93
  140. Data "'",192,93
  141. Data "-",224,93
  142. Data "+",256,93
  143. Data " ",0,128
  144. Return 
  145. SDEMO:
  146. Screen Close 0
  147. Fade 5 : Wait 10
  148. For F=63 To 0 Step -1
  149.    Mvolume F : For H=1 To 1000 : Next H
  150. Next F