home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
AMOS PD CD
/
amospdcd.iso
/
sourcecode
/
demos
/
doublescroll.amos
/
doublescroll.amosSourceCode
< prev
next >
Wrap
AMOS Source Code
|
1991-02-26
|
3KB
|
123 lines
Screen Open 0,320,256,2,Lowres
Close Workbench : Close Editor : Led Off : Break Off
Curs Off : Flash Off : Hide On : Cls 0
Unpack 6 To 0
Screen Open 3,320,256,16,Lowres
Unpack 5 To 3
Screen To Back 3
Screen Open 2,380,30,16,Lowres
Curs Off : Flash Off : Hide On : Cls 0
Get Palette 3
Screen Copy 3,0,100,319,135 To 2,0,0
Screen Open 1,380,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
Def Scroll 1,0,9 To 368,21,-2,0
Def Scroll 2,0,9 To 368,21,-1,0
Set Rainbow 1,1,512,"(1,1,12)","","(1,-1,12)"
Rainbow 1,1,40,256
Dim X$(51),X(51),Y(51)
SCNT1=1 : CNT1=31 : SCNT2=1 : CNT2=31
SC1$=Space$(718) : For F=Start(8) To Start(8)+718 : Poke Varptr(SC1$)+F-Start(8),Peek(F) : Next F
SC2$=Space$(1734) : For F=Start(9) To Start(9)+1734 : Poke Varptr(SC2$)+F-Start(9),Peek(F) : Next F
SCRL$="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ@,!.:?/+-()#{} "
Screen Display 2,140,34,,
Screen Display 1,140,178,,
Gosub FDATA
Music 1
Do
Gosub MESSAGE1
Gosub MESSAGE2
Wait Vbl
If Mouse Key=1 Then Goto DIE
Loop
MESSAGE1:
Screen 1
Scroll 1
Add CNT1,6
If CNT1>36 Then Gosub NCHAR1 : CNT1=0 : Inc SCNT1 : If SCNT1>Len(SC2$) Then SCNT1=1
Return
NCHAR1:
E$=Mid$(SC2$,SCNT1,1)
E=Instr(SCRL$,E$)
Screen Copy 3,X(E),Y(E),X(E)+14,Y(E)+14 To 1,350,9
Return
MESSAGE2:
Screen 2
Scroll 2
Add CNT2,6
If CNT2>72 Then Gosub NCHAR2 : CNT2=0 : Inc SCNT2 : If SCNT2>Len(SC1$) Then SCNT2=1
Return
NCHAR2:
E$=Mid$(SC1$,SCNT2,1)
E=Instr(SCRL$,E$)
Screen Copy 3,X(E),Y(E),X(E)+14,Y(E)+14 To 2,350,9
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 3
Screen 1 : Fade 5 : Wait 75
Screen 2 : Fade 5 : Wait 75
Screen Close 1 : Screen Close 2
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