home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
AMOS PD CD
/
amospdcd.iso
/
sourcecode
/
demos
/
demoone.amos
/
demoone.amosSourceCode
< prev
next >
Wrap
AMOS Source Code
|
1991-02-26
|
3KB
|
161 lines
Screen Open 0,320,256,32,Lowres
Reserve As Chip Work 15,24500
Curs Off : Flash Off : Hide On : Cls 0
Close Editor : Close Workbench : Led Off : Break Off
S=160 : Z=0 : L1=15 : L2=15 : L3=15 : L4=15
Degree
ST#=0
Dim C(720)
For F=1 To 720
C(F)=Sin(ST#)*100
ST#=ST#+0.5
Next F
Def Scroll 1,0,9 To 368,21,-1,0
Screen Open 3,320,256,16,Lowres
Curs Off : Flash Off : Hide On : Cls 0
Screen To Back 3
Unpack 5 To 3
Screen To Front 0
Screen Open 4,320,256,16,Lowres
Curs Off : Flash Off : Hide On : Cls 0
Screen To Back 4
Unpack 7 To 4
Screen To Front 0
Get Bob 2,0,60 To 8,68
Screen Open 1,368,30,16,Lowres
Curs Off : Flash Off : Hide On : Cls 0
Get Palette 3
Screen Copy 3,0,100,319,135 To 1,0,0
Set Rainbow 1,1,512,"(3,1,12)","","(3,-1,12)"
Rainbow 1,1,40,256
Screen Open 2,320,40,16,Lowres
Curs Off : Flash Off : Hide On : Cls 0
Get Palette 4
Screen Copy 4,0,0,319,39 To 2,0,0
Screen Close 4 : Screen To Back 3
Set Tempras 15,24500
Dim X$(51),X(51),Y(51)
SCNT=1 : CNT=31
SC$=Space$(2296) : For F=Start(8) To Start(8)+2296 : Poke Varptr(SC$)+F-Start(8),Peek(F) : Next F
Unpack 6 To 0
Screen To Front 2
Screen To Front 1
SCRL$="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ@,!.:?/+-()#{} "
Gosub FDATA
Music 1
Do
Gosub MESSAGE
Gosub MAINFADE
Gosub EQUALISE
Gosub MAINFADE
If Mouse Key=1 Then Goto DIE
Loop
MESSAGE:
Screen 1
Scroll 1
Add CNT,6
If CNT>72 Then Gosub NCHAR : CNT=0 : Inc SCNT : If SCNT>Len(SC$) Then SCNT=1
Return
NCHAR:
E$=Mid$(SC$,SCNT,1)
E=Instr(SCRL$,E$)
Screen Copy 3,X(E),Y(E),X(E)+14,Y(E)+14 To 1,350,9
Return
EQUALISE:
Screen 2
V1=Vumeter(0)
V2=Vumeter(1)
V3=Vumeter(2)
V4=Vumeter(3)
If V1>L1 Then R1=130 : Bob 1,R1,11,2
If V2>L2 Then R2=130 : Bob 2,R2,22,2
If V3>L3 Then R3=312 : Bob 3,R3,11,2
If V4>L4 Then R4=312 : Bob 4,R4,22,2
If R1>10 Then R1=R1-10 : Bob 1,R1,11,2
If R2>10 Then R2=R2-10 : Bob 2,R2,22,2
If R3>192 Then R3=R3-10 : Bob 3,R3,11,2
If R4>192 Then R4=R4-10 : Bob 4,R4,22,2
If R1<=10 Then Bob 1,R1,11,2
If R2<=10 Then Bob 2,R2,22,2
If R3<=10 Then Bob 3,R3,11,2
If R4<=10 Then Bob 4,R4,22,2
Return
MAINFADE:
Screen 0
Inc O
If O=200 Then Screen 0 : Fade 5,,,,,,,,,$F22,$F00,,,,,,,$A00,$600
If O=400 Then Screen 0 : Fade 5,,,,,,,,,$22F,$1F,,,,,,,$A,$6
If O=600 Then Screen 0 : Fade 5,,,,,,,,,$2F2,$D0,,,,,,,$80,$60
If O=800 Then Screen 0 : Fade 5,,,,,,,,,$F2F,$D0D,,,,,,,$A0A,$707
If O=1000 Then Screen 0 : Fade 5,,,,,,,,,$0,$0,,,,,,,$0,$0 : O=0
Inc Z
If Z>720 Then Z=1
Screen Display 2,140,140-C(Z),,
Screen Display 1,140,140+C(Z),,
Return
FDATA:
For F=1 To 51
Read X$(F),X(F),Y(F)
Next F
Data "0",84,40
Data "1",98,40
Data "2",112,40
Data "3",126,40
Data "4",140,40
Data "5",154,40
Data "6",168,40
Data "7",182,40
Data "8",196,40
Data "9",210,40
Data "A",0,12
Data "B",14,12
Data "C",28,12
Data "D",42,12
Data "E",56,12
Data "F",70,12
Data "G",84,12
Data "H",98,12
Data "I",112,12
Data "J",126,12
Data "K",140,12
Data "L",154,12
Data "M",168,12
Data "N",182,12
Data "O",196,12
Data "P",210,12
Data "Q",224,12
Data "R",238,12
Data "S",252,12
Data "T",266,12
Data "U",0,40
Data "V",14,40
Data "W",28,40
Data "X",42,40
Data "Y",56,40
Data "Z",70,40
Data "@",210,68
Data ",",14,68
Data "!",84,40
Data ".",0,68
Data ":",266,68
Data "?",28,68
Data "/",196,68
Data "+",154,68
Data "-",224,68
Data "(",126,68
Data ")",140,68
Data "#",42,68
Data "{",168,68
Data "}",182,68
Data " ",288,68
Return
DIE:
Screen Close 1
Screen Close 2
Screen Close 3
Screen 0
Fade 5 : Wait 10
For F=63 To 0 Step -1
Mvolume F : For T=0 To 1000 : Next T
Next F
Screen Close 0