home *** CD-ROM | disk | FTP | other *** search
AMOS Source Code | 1992-08-29 | 4.2 KB | 177 lines |
- Set Buffer 5
- Amos Lock
- Close Workbench
- Dim N$(3),E$(2)
- N$(1)="ULTIMATE TRON" : N$(2)="AMOTRIX" : N$(3)="MINI-MESSAGER"
- '
- Screen Open 0,320,200,4,0
- Paper 0 : Pen 1 : Curs Off : Flash Off : Cls 0
- Palette 0,$FF0,$D70,$C00
- Hide
- A$="; A: P; I R2=0 J A; L X=R0+128; L Y=R1+50; L R2=0;"
- A$=A$+" A 1,(1,1)(2,1)(3,1)(4,1)(5,1)(6,1)(7,1)(8,1)(9,1)(10,1)(11,2)(12,2)(13,2)(14,2)(15,2)(16,2)(17,2)(18,2)(19,2)(20,2)(21,2)(22,1)(23,1); "
- A$=A$+"J A; "
- For A=0 To 7
- Channel A To Sprite A
- Amal A,A$
- Next
- Amal On
- For A=0 To 3
- Colour 17+A*4,Colour(1) : Colour 18+A*4,Colour(2) : Colour 19+A*4,Colour(3)
- Next
- Gr Writing 0
- B=0 : Y=50
- If Fire(1) Then Goto SKIP
- S$="WELCOME TO THE" : Gosub T : If Fire(1) Then Goto SKIP
- S$="GAMEDISK #1" : Gosub T : If Fire(1) Then Goto SKIP
- S$="BY CHRISTOPHER HODGES!" : Gosub T : If Fire(1) Then Goto SKIP
- For A=1 To 50
- If Fire(1) Then Goto SKIP
- Wait Vbl
- Next
- Add Y,16
- S$="ENJOY..." : Gosub T : If Fire(1) Then Goto SKIP
- For A=1 To 99
- If Fire(1) Then Exit
- Wait Vbl
- Next
- SKIP:
- Fade 3 : Wait 48
- Amal Off : Sprite Off
- Screen Close 0
- '
- Set Rainbow 1,1,150,"","",""
- For A=0 To 149 : Rain(1,A)=$FFF : Next
- CR=63 : CG=63 : CB=63 : RS=-1 : GS=-2 : BS=-1
- Screen Open 2,320,9,8,0
- Paper 0 : Pen 1 : Curs Off : Flash Off : Cls 0
- Screen Display 2,128,255,320,
- Palette 0,0,0,0
- Screen Open 3,336,10,8,0
- Paper 0 : Pen 1 : Curs Off : Flash Off : Cls 0
- Screen Display 3,128,265,320,
- Palette 0,$FF0,0,$A80,0,$630,0,$200
- Loke Start(14)+4,Logbase(0)
- Loke Start(14)+8,Start(13)
- Paste Bob -1,0,56 : Paste Bob 272,0,57
- Screen Open 0,320,88,16,0
- Paper 0 : Pen 1 : Curs Off : Flash Off : Cls 0
- Screen Display 0,,166,,
- Unpack 15 To 1 : Screen Hide 1
- Screen 0 : Get Palette 1 : Colour 1,$FFF : Screen 1
- For A=0 To 15 : Colour A,0 : Next : Screen Show 1
- Wait Vbl : Fade 2 To 0 : Wait 15
- Call Start(14) : Wait 16
- Screen 0
- Get Sprite Palette
- Double Buffer : Wait Vbl
- Set Bob 1,1,15,%11001010
- P=1 : BAS=0 : HLP=0
- Gosub FIRSTPAGE
- Repeat
- J=Jleft(1)-Jright(1) : I$=Inkey$ : If Scancode=95 Then HLP=1 : Exit
- If J=0 Then Gosub CYCLE : Wait Vbl
- If J=1 Then Gosub NEXPAGE
- If J=-1 Then Gosub PREPAGE
- Until Fire(1)
- If HLP=0 Then E$="PLEASE WAIT! LOADING "+N$(P)+"..."
- If HLP=1 Then E$="PLEASE WAIT! LOADING INSTRUCTIONS!"
- Gosub BLEND
- For A=1 To 16
- RS=-3 : GS=-3 : BS=-3 : Gosub CYCLE : Wait Vbl
- Next
- Screen 3 : Fade 2 : Screen 0
- For A=1 To 16
- RS=-3 : GS=-3 : BS=-3 : Gosub CYCLE : Wait Vbl
- Next
- Fade 3
- For A=1 To 32
- RS=-3 : GS=-3 : BS=-3 : Gosub CYCLE : Wait Vbl
- Next
- Screen 1 : Fade 3
- For A=1 To 32
- RS=-3 : GS=-3 : BS=-3 : Gosub CYCLE : Wait Vbl
- Next
- Rainbow Del : View
- Screen 2 : Fade 1 : Wait 16
- Call Start(14)+2
- Screen Close 0 : Screen Close 1 : Screen Close 2 : Screen Close 3
- Wait Vbl
- If HLP=0 Then Run N$(P)
- Run "Instructions"
- End
- CYCLE:
- Rainbow 1,BAS,35,75 : Wait Vbl
- Add CR,RS : If CR<0 Then CR=0 : RS=Rnd(3)+1
- If CR>63 Then CR=63 : RS=-Rnd(3)-1
- Add CG,GS : If CG<0 Then CG=0 : GS=Rnd(3)+1
- If CG>63 Then CG=63 : GS=-Rnd(3)-1
- Add CB,BS : If CB<0 Then CB=0 : BS=Rnd(3)+1
- If CB>63 Then CB=63 : BS=-Rnd(3)-1
- Rain(1,BAS)=CR/4*256+CG/4*16+CB/4
- Rain(1,74+BAS)=CR/4*256+CG/4*16+CB/4
- Add BAS,1,0 To 73
- Return
- B:
- Timer=0
- Bob 1,124,0,A+24 : Gosub CYCLE
- If Timer<2 Then Wait Vbl
- Return
- NEXPAGE:
- For A=P*8+4 To P*8+7
- Gosub B
- Next
- FIRSTPAGE:
- For A=0 To 3
- Gosub B
- Next
- Add P,1,1 To 3
- E$=N$(P) : Gosub BLEND
- For A=4 To 7
- Gosub B
- Next
- For A=P*8 To P*8+3
- Gosub B
- Next
- Return
- PREPAGE:
- For A=P*8+2 To P*8 Step -1
- Gosub B
- Next
- For A=7 To 4 Step -1
- Gosub B
- Next
- Add P,-1,1 To 3
- E$=N$(P) : Gosub BLEND
- For A=3 To 0 Step -1
- Gosub B
- Next
- For A=P*8+7 To P*8+3 Step -1
- Gosub B
- Next
- Return
- BLEND:
- Screen 2 : Writing 2
- Add PA,1,1 To 2
- Home : Pen PA : Centre E$(PA) : E$(PA)=E$ : Centre E$
- Fade 2,0,4096+(PA=1),4096+(PA=2),$FFF
- Screen 0
- Return
- T:
- X=160-Len(S$)*4
- Amreg(B,0)=X-2 : Amreg(B,1)=Y-4 : Amreg(B,2)=1 : Add B,1,0 To 7
- Wait 5 : Gosub SOUND
- For A=1 To Len(S$)
- If Fire(1) Then Exit
- Amreg(B,0)=X+6 : Amreg(B,1)=Y-4 : Amreg(B,2)=1
- Wait 5 : Gosub SOUND
- Ink 3,0 : Text X+1,Y+7,Mid$(S$,A,1)
- Ink 1,0 : Text X,Y+6,Mid$(S$,A,1)
- Add X,8 : Add B,1,0 To 7
- Next
- Add Y,16
- Return
- SOUND:
- If C=1 Then C=8 Else C=1
- Sam Raw C,Start(13)+47832,7168,16000
- Return