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

  1. Screen Open 0,320,256,32,Lowres
  2. Reserve As Chip Work 15,24500
  3. Curs Off : Flash Off : Hide On : Cls 0
  4. Close Editor : Close Workbench : Led Off : Break Off 
  5. S=160 : Z=0 : L1=15 : L2=15 : L3=15 : L4=15
  6. Degree 
  7. ST#=0
  8. Dim C(720)
  9. For F=1 To 720
  10. C(F)=Sin(ST#)*100
  11. ST#=ST#+0.5
  12. Next F
  13. Def Scroll 1,0,9 To 368,21,-1,0
  14. Screen Open 3,320,256,16,Lowres
  15. Curs Off : Flash Off : Hide On : Cls 0
  16. Screen To Back 3
  17. Unpack 5 To 3
  18. Screen To Front 0
  19. Screen Open 4,320,256,16,Lowres
  20. Curs Off : Flash Off : Hide On : Cls 0
  21. Screen To Back 4
  22. Unpack 7 To 4
  23. Screen To Front 0
  24. Get Bob 2,0,60 To 8,68
  25. Screen Open 1,368,30,16,Lowres
  26. Curs Off : Flash Off : Hide On : Cls 0
  27. Get Palette 3
  28. Screen Copy 3,0,100,319,135 To 1,0,0
  29. Set Rainbow 1,1,512,"(3,1,12)","","(3,-1,12)"
  30. Rainbow 1,1,40,256
  31. Screen Open 2,320,40,16,Lowres
  32. Curs Off : Flash Off : Hide On : Cls 0
  33. Get Palette 4
  34. Screen Copy 4,0,0,319,39 To 2,0,0
  35. Screen Close 4 : Screen To Back 3
  36. Set Tempras 15,24500
  37. Dim X$(51),X(51),Y(51)
  38. SCNT=1 : CNT=31
  39. SC$=Space$(2296) : For F=Start(8) To Start(8)+2296 : Poke Varptr(SC$)+F-Start(8),Peek(F) : Next F
  40. Unpack 6 To 0
  41. Screen To Front 2
  42. Screen To Front 1
  43. SCRL$="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ@,!.:?/+-()#{} "
  44. Gosub FDATA
  45. Music 1
  46. Do 
  47. Gosub MESSAGE
  48. Gosub MAINFADE
  49. Gosub EQUALISE
  50. Gosub MAINFADE
  51. If Mouse Key=1 Then Goto DIE
  52. Loop 
  53. MESSAGE:
  54. Screen 1
  55. Scroll 1
  56. Add CNT,6
  57. If CNT>72 Then Gosub NCHAR : CNT=0 : Inc SCNT : If SCNT>Len(SC$) Then SCNT=1
  58. Return 
  59. NCHAR:
  60. E$=Mid$(SC$,SCNT,1)
  61. E=Instr(SCRL$,E$)
  62. Screen Copy 3,X(E),Y(E),X(E)+14,Y(E)+14 To 1,350,9
  63. Return 
  64. EQUALISE:
  65. Screen 2
  66. V1=Vumeter(0)
  67. V2=Vumeter(1)
  68. V3=Vumeter(2)
  69. V4=Vumeter(3)
  70. If V1>L1 Then R1=130 : Bob 1,R1,11,2
  71. If V2>L2 Then R2=130 : Bob 2,R2,22,2
  72. If V3>L3 Then R3=312 : Bob 3,R3,11,2
  73. If V4>L4 Then R4=312 : Bob 4,R4,22,2
  74. If R1>10 Then R1=R1-10 : Bob 1,R1,11,2
  75. If R2>10 Then R2=R2-10 : Bob 2,R2,22,2
  76. If R3>192 Then R3=R3-10 : Bob 3,R3,11,2
  77. If R4>192 Then R4=R4-10 : Bob 4,R4,22,2
  78. If R1<=10 Then Bob 1,R1,11,2
  79. If R2<=10 Then Bob 2,R2,22,2
  80. If R3<=10 Then Bob 3,R3,11,2
  81. If R4<=10 Then Bob 4,R4,22,2
  82. Return 
  83. MAINFADE:
  84. Screen 0
  85. Inc O
  86. If O=200 Then Screen 0 : Fade 5,,,,,,,,,$F22,$F00,,,,,,,$A00,$600
  87. If O=400 Then Screen 0 : Fade 5,,,,,,,,,$22F,$1F,,,,,,,$A,$6
  88. If O=600 Then Screen 0 : Fade 5,,,,,,,,,$2F2,$D0,,,,,,,$80,$60
  89. If O=800 Then Screen 0 : Fade 5,,,,,,,,,$F2F,$D0D,,,,,,,$A0A,$707
  90. If O=1000 Then Screen 0 : Fade 5,,,,,,,,,$0,$0,,,,,,,$0,$0 : O=0
  91. Inc Z
  92. If Z>720 Then Z=1
  93. Screen Display 2,140,140-C(Z),,
  94. Screen Display 1,140,140+C(Z),,
  95. Return 
  96. FDATA:
  97. For F=1 To 51
  98.    Read X$(F),X(F),Y(F)
  99. Next F
  100. Data "0",84,40
  101. Data "1",98,40
  102. Data "2",112,40
  103. Data "3",126,40
  104. Data "4",140,40
  105. Data "5",154,40
  106. Data "6",168,40
  107. Data "7",182,40
  108. Data "8",196,40
  109. Data "9",210,40
  110. Data "A",0,12
  111. Data "B",14,12
  112. Data "C",28,12
  113. Data "D",42,12
  114. Data "E",56,12
  115. Data "F",70,12
  116. Data "G",84,12
  117. Data "H",98,12
  118. Data "I",112,12
  119. Data "J",126,12
  120. Data "K",140,12
  121. Data "L",154,12
  122. Data "M",168,12
  123. Data "N",182,12
  124. Data "O",196,12
  125. Data "P",210,12
  126. Data "Q",224,12
  127. Data "R",238,12
  128. Data "S",252,12
  129. Data "T",266,12
  130. Data "U",0,40
  131. Data "V",14,40
  132. Data "W",28,40
  133. Data "X",42,40
  134. Data "Y",56,40
  135. Data "Z",70,40
  136. Data "@",210,68
  137. Data ",",14,68
  138. Data "!",84,40
  139. Data ".",0,68
  140. Data ":",266,68
  141. Data "?",28,68
  142. Data "/",196,68
  143. Data "+",154,68
  144. Data "-",224,68
  145. Data "(",126,68
  146. Data ")",140,68
  147. Data "#",42,68
  148. Data "{",168,68
  149. Data "}",182,68
  150. Data " ",288,68
  151. Return 
  152. DIE:
  153. Screen Close 1
  154. Screen Close 2
  155. Screen Close 3
  156. Screen 0
  157. Fade 5 : Wait 10
  158. For F=63 To 0 Step -1
  159. Mvolume F : For T=0 To 1000 : Next T
  160. Next F
  161. Screen Close 0