' Logo Sway Routine by Daisy (Ya know the dudes dog !!)
' Takes a while to set up ..
'
' See Def Intro II for a quick version (pre calculated)
PART_7
Procedure PART_7
Gosub PIXELLED
Screen Open 3,320,200,4,Lowres
Get Sprite Palette : Double Buffer
Curs Off : Cls 0 : Flash Off
Wait Vbl
Dual Playfield 3,0
Wait Vbl
Screen To Back 3
Screen Hide 3
B=1
Repeat
X=Rnd(310) : Y=Rnd(200)
Bob B,X,Y,114
Inc B
Until B=15
C$="Anim 0,(115,2)(114,2)(113,2)(112,2)(111,2)(110,2)(109,2)(108,2)(107,2)(106,2)(105,2)(104,2);H:L X=Z(1000);L Y=Z(90);M 0,0,0;F RY=1 To 300;Next RY;J H;"
V$="Anim 0,(115,4)(114,4)(113,4)(112,4)(111,4)(110,4)(109,4)(108,4)(107,4)(106,4)(105,4)(104,4);J:L X=Z(1000);L Y=Z(90);M 0,0,0;F RZ=1 To 500;Next RZ;J J;"
B=1 : C=1
Repeat
Channel C To Bob B
If B<8
Amal C,C$
Else
Amal C,V$
End If
Wait 2 : Amal On C
Inc C : Inc B
Until C=14
Amal On 15
Screen Open 2,320,200,2,Lowres
Screen Display 2,140,200,,100
Get Sprite Palette
Screen 3
Colour 2,$F
Colour 9,$FFF
Screen 2
Curs Off : Cls 0 : Flash Off
Def Scroll 1,0,0 To 320,96+48,,-1
Def Scroll 2,0,20 To 320,60,,-1
Gosub RBOW
Screen Show 3
Rainbow 1,0,199,119
Restore TXT
Screen 2
Do
Read TX$
If TX$="end" Then Restore TXT : Read TX$
MID=(Len(TX$)*16)/2 : MID=160-MID
For S=0 To 31
If Mouse Key=1 Then Goto ENND
If S<Len(TX$)
BN=Asc(Mid$(TX$,S+1,1))
BN=BN+12
Paste Bob S*16+MID,64-S+48,BN
End If
Screen 2
Wait Vbl
Scroll 1
Scroll 2
Next S
Loop
TXT:
Data ""
Data "-------------"
Data "DEF PIXEL / TUF"
Data "-------------"
Data "CRAZY LOGO"
Data "INTRO"
Data ""
Data "CODE & GFX"
Data "ANGELDUST"
Data ""
Data "DEF PIXEL / TUF"
Data "ARE"
Data ""
Data "ANGELDUST"
Data "SHOCK G"
Data "KBYTE"
Data "GLENN"
Data ""
Data "JUST SOME"
Data "UNKNOWN"
Data "PERSONS"
Data ""
Data "HOPE YOU"
Data "LIKE"
Data "THIS"
Data "PIECE"
Data "OF"
Data "GARBAGE"
Data ""
Data "GREETS TO ALL !!"
Data ""
Data "WRITTEN IN"
Data "AMOS"
Data "(BIG DEAL)"
BYE:
Data ""
Data ""
Data "DEF PIXEL / TUF"
Data "(C)1992"
Data ""
Data "MOUSE TO EXIT"
Data "end"
RBOW:
Set Rainbow 1,1,120,"","",""
Restore RN
For F=0 To 119
Read A
Rain(1,F)=A
Next F
Return
RN:
Data $0,$101,$202,$313,$414,$525,$626,$737,$838,$949,$A4A,$B5B,$C5C,$D6D,$E6E,$F7F
Data $F7F,$F8F,$F8F,$F9F,$F9F,$FAF,$FAF,$FBF,$FBF,$FBF,$FBF,$FBF,$FBF,$FBF,$FBF,$FBF,$FBF,$FBF,$FBF,$FBF,$FBF,$FBF,$FBF,$FBF,$FAF,$FAF,$F9F,$F9F,$F9F,$F9F,$F8F
Data $F7F,$F8F,$F8F,$F9F,$F9F,$FAF,$FAF,$FBF,$FBF,$FBF,$FBF,$FBF,$FBF,$FBF,$FBF,$FBF,$FBF,$FBF,$FBF,$FBF,$FBF,$FBF,$FBF,$FBF,$FAF,$FAF,$F9F,$F9F,$F9F,$F9F,$F8F
Data $F7F,$F8F,$F8F,$F9F,$F9F,$FAF,$FAF,$FBF,$FBF,$FBF,$FBF,$FBF,$FBF,$FBF,$FBF,$FBF,$FBF,$FBF,$FBF,$FBF,$FBF,$FBF,$FBF,$FBF,$FAF,$FAF,$F9F,$F9F,$F9F,$F9F,$F8F
Data $F7F,$F8F,$F8F,$F9F,$F9F,$FAF,$FAF,$FBF,$FBF,$FBF,$FBF,$FBF,$FBF,$FBF,$FBF,$FBF,$FBF,$FBF,$FBF,$FBF,$FBF,$FBF,$FBF,$FBF,$FAF,$FAF,$F9F,$F9F,$F9F,$F9F,$F8F
' Data $F7F,$E6E,$D6D,$C5C,$B5B,$A4A,$949,$838,$737,$626,$525,$414,$313,$202,$101,$0,0,0,0
Data $100,$200,$300,$400,$500,$600,$700,$800,$900,$A00,$B00,$C00,$D00,$E00,$F00
PIXELLED:
NPAS=16
NSCREEN=NPAS : SX=320 : SY=200
AMPX1#=16 : AMPY1#=0.05
AMPX2#=16 : AMPY2#=0.04
Reserve As Chip Work 8,10000
SIZE=SX/8*SY
'
' Chnage this to a data bankand don't erase
' for a precalculated movement
Reserve As Chip Work 7,SIZE*NSCREEN
Erase 8
Unpack 6 To 0
Colour 1,$EEE
If Logbase(0)>Start(7) : Stop : End If
Screen Open 1,SX,SY,2,Lowres
Curs Off : Screen Hide 1
Screen Open 2,SX,SY,2,Lowres
Curs Off : Screen Hide 2
STP#=2*Pi#/NPAS
For N=0 To NPAS-1
P#=P#+STP#
Screen 1 : Cls 0 : Screen 2 : Cls 0
For Y=1 To SY-1
X=AMPX1#*Sin(Y*AMPY1#-P#)
Screen Copy 0,0,Y,SX,Y+1 To 2,X,Y
Next
For Y=1 To SX-1
X=AMPY2#*Sin(X*AMPX2#-P#)
Screen Copy 1,X,0,X+1,SY To 2,X,Y
Next
Copy Logbase(0),Logbase(0)+SIZE To Start(7)+N*SIZE