Dark Bit Factory & Gravity
PROGRAMMING => Freebasic => Topic started by: Shockwave on May 26, 2007
-
Exe attached. Uses Rbraz's lib :) Thanks mate!
' By SW 2007
'-------------------------------------------------------------------------------
OPTION STATIC
OPTION EXPLICIT
'#DEFINE PTC_WIN
#INCLUDE "TINYPTC.BI"
CONST XRES = 800
CONST YRES = 600
DIM SHARED AS INTEGER HALFX
DIM SHARED AS INTEGER HALFY
HALFX= XRES / 2
HALFY= YRES / 2
'-------------------------------------------------------------------------------
DIM SHARED AS UINTEGER BUFFER ( XRES * YRES )
DIM SHARED FONT (64 * 91) as Uinteger : ' FONT BUFFER
DIM SHARED AS UINTEGER MTRX( 8,8 )
'-------------------------------------------------------------------------------
' Vector Scroll Grid Definition;
'-------------------------------------------------------------------------------
DIM SHARED AS DOUBLE SCALE = 15
DIM SHARED AS UINTEGER VXRR,VYRR
DIM SHARED AS UINTEGER XROW,YROW
VXRR = 75 :' X Points In Grid
VYRR = 9 :' Y Points In Grid
XROW = VXRR-1
YROW = VYRR-1
DIM SHARED AS DOUBLE GRDX ( VXRR * VYRR ) : ' X Original Location.
DIM SHARED AS DOUBLE GRDY ( VXRR * VYRR ) : ' Y Original Location.
DIM SHARED AS DOUBLE GRDZ ( VXRR * VYRR ) : ' Z Original Location.
DIM SHARED AS INTEGER GRIDON( XROW,YROW ) : ' Square Off / On.
Dim shared as DOUBLE GTX ( VXRR * VYRR ) : ' Transformed X.
Dim shared as DOUBLE GTY ( VXRR * VYRR ) : ' Transformed Y.
Dim shared as DOUBLE GTZ ( VXRR * VYRR ) : ' Transformed Y.
DIM SHARED AS DOUBLE SCOFF
DIM SHARED AS INTEGER MATRIX_LINE=1
DIM SHARED AS INTEGER SCROLLPOINTER=1
DIM SHARED AS STRING SCROLLER
' Scroller Modes;
'{0} = Rotate Y Axis Only.
'{1} = Rotate Z Axis Only.
'{2} = Rotate X Axis Only.
'{3} = Rotate X+Z.
'{4} = Rotate Y+Z.
'{5} = Rotate Y+X.<- Default
'{6} = Rotate X,Y,Z (Pattern 1).
'{7} = Rotate X,Y,Z (Pattern 2).
'{8} = Speed setting Fast.
'{9} = Speed Setting Slow. <- Default!
SCROLLER= " {9} {0} "
SCROLLER=SCROLLER+"ShOCKwaVE Presents ------ "
SCROLLER=SCROLLER+" {8} {3} A vector scroller!!! "
SCROLLER=SCROLLER+" {7} Vector scrollers fucking rule!!!! Hope that you like this.. Tata!!! "
DIM SHARED AS DOUBLE VRXR,VRYR,VRZR,VRXTT,VRYTT,VRZTT,SVRXR,SVRYR,SVRZR
DIM SHARED AS DOUBLE TWATT1,TWATT2
DIM SHARED AS INTEGER STARS = 400
DIM SHARED AS DOUBLE STRX ( STARS ) : ' X Original Location.
DIM SHARED AS DOUBLE STRY ( STARS ) : ' Y Original Location.
DIM SHARED AS DOUBLE STRZ ( STARS ) : ' Z Original Location.
DIM SHARED AS DOUBLE STTX ( STARS ) : ' Transformed X.
DIM SHARED AS DOUBLE STTY ( STARS ) : ' Transformed Y.
DIM SHARED AS DOUBLE STTZ ( STARS ) : ' Transformed Y.
dim shared as uinteger scrollmode = 1
dim shared as double scspeed = .25
dim shared as double stspeed = 50
'-------------------------------------------------------------------------------
' Sub Definition
'-------------------------------------------------------------------------------
DECLARE SUB SETUPGRID()
DECLARE SUB DRAWNEW ()
DECLARE SUB FLAT_TRIANGLE(BYVAL X1 AS INTEGER , BYVAL Y1 AS INTEGER, BYVAL X2 AS INTEGER , BYVAL Y2 AS INTEGER , BYVAL X3 AS INTEGER, BYVAL Y3 AS INTEGER , BYVAL TC AS INTEGER)
DECLARE SUB READFONT ()
DECLARE SUB TEXT ( BYVAL WW AS STRING )
DECLARE SUB ROTATE ()
DECLARE SUB ROTATE_STARS()
DECLARE SUB DRAW_STARS1()
DECLARE SUB DRAW_STARS2()
DECLARE SUB SET_STARS()
SETUPGRID()
READFONT()
SET_STARS()
'-------------------------------------------------------------------------------
' Open Screen
'-------------------------------------------------------------------------------
IF (PTC_OPEN("+ UNLEASHED +",XRES,YRES)=0) THEN
END-1
END IF
'-------------------------------------------------------------------------------
DIM SHARED AS DOUBLE TICKTIME,RATE
RATE=0
WHILE(1)
TICKTIME=TIMER
SCALE=20
ROTATE_STARS()
DRAW_STARS1()
DRAW_STARS2()
DRAWNEW()
PTC_UPDATE@BUFFER(0)
ERASE BUFFER
RATE=TIMER-TICKTIME
WEND
SUB SET_STARS()
DIM A
FOR A=1 TO STARS
STRX(A)=(RND(1)*5000)-2500
STRY(A)=(RND(1)*5000)-2500
STRZ(A)=(RND(1)*5000)-2500
NEXT
END SUB
SUB DRAW_STARS1()
DIM AS INTEGER A,TX,TY,TZ,CCC,TTZ
FOR A=1 TO STARS
TX=STTX(A)
TY=STTY(A)
TZ=STTZ(A)
IF TX>0 AND TX<XRES-1 AND TY>1 AND TY<YRES-1 AND TZ>0 THEN
CCC=RGB(TZ,TZ,TZ)
BUFFER (TX + (TY*XRES)) = &H7777AA
BUFFER (TX + 1+(TY*XRES)) = &H555577
BUFFER (TX - 1+ (TY*XRES)) = &H555577
BUFFER (TX + ((TY-1)*XRES)) = &H555577
BUFFER (TX + ((TY+1)*XRES)) = &H555577
END IF
NEXT
END SUB
SUB DRAW_STARS2()
DIM AS INTEGER A,TX,TY,TZ,CCC,TTZ
FOR A=1 TO STARS
TX=STTX(A)
TY=STTY(A)
TZ=STTZ(A)
IF TX>0 AND TX<XRES-1 AND TY>1 AND TY<YRES-1 AND TZ<0 THEN
CCC=RGB(TZ,TZ,TZ)
BUFFER (TX + (TY*XRES)) = &HCCCCFF
BUFFER (TX + 1+(TY*XRES)) = &Haaaaee
BUFFER (TX - 1+ (TY*XRES)) = &Haaaaee
BUFFER (TX + ((TY-1)*XRES)) = &Haaaaee
BUFFER (TX + ((TY+1)*XRES)) = &Haaaaee
END IF
NEXT
END SUB
SUB ROTATE_STARS()
DIM A
dim ggh as double
DIM VX1 AS DOUBLE
dim VY1 AS DOUBLE
dim VZ1 AS DOUBLE
DIM VZZ AS DOUBLE
dim vxx as double
dim vyy as double
DIM VDV AS DOUBLE
ggh=(stspeed*rate)*50
'###############################################
'## Rotate And Scale Each Point! Store Result ##
'###############################################
For a=1 To STARS
VX1=STRX(a)
VY1=STRY(a)
VZ1=STRZ(a)
'######################
'## X,Y,Z rotations! ##
'######################
Vxx=Vx1
Vyy=Vy1*cos(VRxr)+Vz1*sin(VRxr)
Vzz=Vz1*cos(VRxr)-Vy1*sin(VRxr)
Vy1=Vyy
Vx1=Vxx*cos(VRyr)-Vzz*sin(VRyr)
Vz1=Vxx*sin(VRyr)+Vzz*cos(VRyr)
Vzz=Vz1
Vxx=Vx1*cos(VRzr)-Vy1*sin(VRzr)
Vyy=Vx1*sin(VRzr)+Vy1*cos(VRzr)
'########################
'## Apply Perspective! ##
'########################
Vdv=(Vzz/80)+100
Vxx=(SCALE*(Vxx/Vdv))+HALFX
Vyy=(SCALE*(Vyy/Vdv))+HALFY
STTX(a)=Int(Vxx)
STTY(a)=Int(Vyy)
STTZ(a)=Int(Vzz)
STRX(A)=STRX(A)+ggh
IF STRX(A)>2500 THEN STRX(A)=-STRX(A)
Next
END SUB
SUB ROTATE()
DIM A
DIM ARV AS DOUBLE
ARV=rate
DIM VX1 AS DOUBLE
dim VY1 AS DOUBLE
dim VZ1 AS DOUBLE
DIM VZZ AS DOUBLE
dim vxx as double
dim vyy as double
DIM VDV AS DOUBLE
'###############################################
'## Rotate And Scale Each Point! Store Result ##
'###############################################
For a=1 To (VXRR*VYRR)
VX1=GRDX(a)+scoff
VY1=GRDY(a)
VZ1=GRDZ(a)
'######################
'## X,Y,Z rotations! ##
'######################
Vxx=Vx1
Vyy=Vy1*cos(VRxr)+Vz1*sin(VRxr)
Vzz=Vz1*cos(VRxr)-Vy1*sin(VRxr)
Vy1=Vyy
Vx1=Vxx*cos(VRyr)-Vzz*sin(VRyr)
Vz1=Vxx*sin(VRyr)+Vzz*cos(VRyr)
Vzz=Vz1
Vxx=Vx1*cos(VRzr)-Vy1*sin(VRzr)
Vyy=Vx1*sin(VRzr)+Vy1*cos(VRzr)
'########################
'## Apply Perspective! ##
'########################
Vdv=(Vzz/60)+1
Vxx=(SCALE*(Vxx/Vdv))+HALFX
Vyy=(SCALE*(Vyy/Vdv))+HALFY
GTX(a)=Int(Vxx)
GTY(a)=Int(Vyy)
GTZ(a)=Int(Vzz)
Next
TWATT1=TWATT1+.0225
TWATT2=TWATT2-.0415
IF SCROLLMODE=1 THEN
VRYR= VRYR+ARV
SVRYR= SVRYR+ARV
VRXR = 0
VRZR = 0
END IF
IF SCROLLMODE=2 THEN
VRZR = VRZR+ARV
SVRZR = SVRZR+ARV
VRXR = 0
VRYR = 0
END IF
IF SCROLLMODE=3 THEN
VRZR = 0
VRXR = VRXR+ARV
VRYR = 0
END IF
IF SCROLLMODE=4 THEN
VRZR = VRZR+ARV
VRXR = VRXR+ARV
SVRZR = SVRZR+ARV
VRYR = 0
END IF
IF SCROLLMODE=5 THEN
VRZR = VRZR+ARV
VRYR = VRYR+ARV
VRXR = 0
SVRYR = SVRYR+ARV
SVRZR = SVRZR+ARV
END IF
IF SCROLLMODE=6 THEN
VRZR = 0
VRXR = VRXR+ARV
VRYR = VRYR+ARV
SVRYR = SVRYR+ARV
END IF
IF SCROLLMODE=7 THEN
VRZR = VRZR+ARV*2
VRXR = 3.4*sin(twatt1/7)
VRYR = 2.7*sin(twatt2/5)
sVRZR = sVRZR+(ARV*2)
sVRYR = 1.7*sin(twatt2/5)
END IF
IF SCROLLMODE=8 THEN
VRZR = 1.6*sin(twatt1/3)
VRXR = VRXR+(ARV*2)
VRYR = 2.6*sin(twatt2/9)
SVRZR = 1.6*sin(twatt1/3)
SVRYR = 2.6*sin(twatt2/9)
END IF
END SUB
SUB DRAWNEW()
DIM AS INTEGER LP,TX,TY
'
' ROTATE HERE!
'
ROTATE()
DIM X AS INTEGER
DIM Y AS INTEGER
DIM AS INTEGER VX1,VX2,VY1,VY2,M,culv,NEG
DIM AS DOUBLE N
FOR Y=1 TO YROW
FOR X=1 TO XROW
LP = X+((Y-1)*VXRR)
IF GRIDON(X,Y)=1 THEN
vx1= Gtx(LP)-Gtx(LP+1)
vy1= Gty(LP)-Gty(LP+1)
vx2= Gtx(LP+VXRR)-Gtx(LP+1)
vy2= Gty(LP+VXRR)-Gty(LP+1)
n= vx1*vy2-vx2*vy1
IF N<0 THEN
N=-N
NEG=0
ELSE
NEG=1
END IF
N=(N/2)
M=INT(N)
IF M>200 THEN M=200
IF M<15 THEN M=15
IF NEG=0 THEN culv= rgb(M,M/(Y+3),M/(Y+2))
IF NEG=1 THEN culv= rgb(M/(Y+3),M/(Y+2),M)
FLAT_TRIANGLE (GTX(LP),GTY(LP) , GTX(LP+1),GTY(LP+1), GTX(LP+VXRR),GTY(LP+VXRR) , CULV)
FLAT_TRIANGLE (GTX(LP+1),GTY(LP+1) , GTX(LP+VXRR+1),GTY(LP+VXRR+1), GTX(LP+VXRR),GTY(LP+VXRR) , CULV )
END IF
NEXT
NEXT
'NEXT
SCOFF=SCOFF-(rate*40)
IF SCOFF <-1 THEN
FOR Y=1 TO YROW
FOR X=1 TO XROW-1
GRIDON(X,Y) = GRIDON(X+1,Y)
NEXT
GRIDON(X,Y)=MTRX(MATRIX_LINE,Y)
NEXT
MATRIX_LINE = MATRIX_LINE+1
IF MATRIX_LINE>8 THEN
'
' NEW LETTER GOES IN HERE!
'
TEXT(MID(SCROLLER,SCROLLPOINTER,1))
SCROLLPOINTER=SCROLLPOINTER+1
IF (MID(SCROLLER,SCROLLPOINTER,3))="{0}" THEN
SCROLLMODE=1
SCROLLPOINTER=SCROLLPOINTER+3
END IF
IF (MID(SCROLLER,SCROLLPOINTER,3))="{1}" THEN
SCROLLMODE=2
SCROLLPOINTER=SCROLLPOINTER+3
END IF
IF (MID(SCROLLER,SCROLLPOINTER,3))="{2}" THEN
SCROLLMODE=3
SCROLLPOINTER=SCROLLPOINTER+3
END IF
IF (MID(SCROLLER,SCROLLPOINTER,3))="{3}" THEN
SCROLLMODE=4
SCROLLPOINTER=SCROLLPOINTER+3
END IF
IF (MID(SCROLLER,SCROLLPOINTER,3))="{4}" THEN
SCROLLMODE=5
SCROLLPOINTER=SCROLLPOINTER+3
END IF
IF (MID(SCROLLER,SCROLLPOINTER,3))="{5}" THEN
SCROLLMODE=6
SCROLLPOINTER=SCROLLPOINTER+3
END IF
IF (MID(SCROLLER,SCROLLPOINTER,3))="{6}" THEN
SCROLLMODE=7
SCROLLPOINTER=SCROLLPOINTER+3
END IF
IF (MID(SCROLLER,SCROLLPOINTER,3))="{7}" THEN
SCROLLMODE=8
SCROLLPOINTER=SCROLLPOINTER+3
END IF
IF (MID(SCROLLER,SCROLLPOINTER,3))="{8}" THEN
scspeed=4
stspeed=100
SCROLLPOINTER=SCROLLPOINTER+3
END IF
IF (MID(SCROLLER,SCROLLPOINTER,3))="{9}" THEN
scspeed=2
stspeed=50
SCROLLPOINTER=SCROLLPOINTER+3
END IF
IF SCROLLPOINTER>LEN(SCROLLER) THEN SCROLLPOINTER=1
MATRIX_LINE=1
END IF
SCOFF=SCOFF+1
END IF
END SUB
'-------------------------------------------------------------------------------
' Set Up The Grid.
'-------------------------------------------------------------------------------
SUB SETUPGRID()
DIM AS DOUBLE STX1,STY1,STX2,STY2
DIM AS INTEGER LP
STX1 = (-( VXRR / 2 ))+.5
STY1 = -( VYRR / 2 )
STX2 = ( VXRR / 2 )+.5
STY2 = ( VYRR / 2 )
FOR LP =1 TO ( VXRR * VYRR )
GRDX (LP) = STX1
GRDY (LP) = STY1
GRDZ (LP) = 0
STX1=STX1+1
IF STX1 >= STX2 THEN
STX1=STX1-VXRR
STY1=STY1 +1
END IF
NEXT
DIM AS INTEGER X,Y
FOR Y=1 TO YROW
FOR X=1 TO XROW
GRIDON (X,Y) = 0
NEXT
NEXT
END SUB
SUB FLAT_TRIANGLE(BYVAL X1 AS INTEGER , BYVAL Y1 AS INTEGER, BYVAL X2 AS INTEGER , BYVAL Y2 AS INTEGER , BYVAL X3 AS INTEGER, BYVAL Y3 AS INTEGER , BYVAL TC AS INTEGER)
'-------------------------------------------------------------------------
' FLAT TRIANGLE RENDERER WITH ASSEMBLY LANGUAGE RASTERISING BY SHOCKWAVE ^ DBF ^ S!P 2006.
'-------------------------------------------------------------------------
'-------------------------------------------------------------------------
' WE NEED TO SORT THESE POINTS INTO ORDER FROM TOP TO BOTTOM, AN EXCHANGE SORT IS OK.
' AS WE ONLY HAVE GOT 3 POINTS TO ARRANGE.
'-------------------------------------------------------------------------
DIM AS INTEGER TEMPX,TEMPY,LO,LI
DIM AS INTEGER PX(3)
DIM AS INTEGER PY(3)
DIM TFLAG AS INTEGER
dim pp as uinteger PTR
DIM AS INTEGER IL1,IL2,SLICE
TFLAG=0
PX(1)= X1
PX(2)= X2
PX(3)= X3
PY(1)= Y1
PY(2)= Y2
PY(3)= Y3
FOR LO = 1 TO 2
FOR LI =1 TO 2
IF PY(LI+1) <= PY(LI) THEN
TEMPX = PX(LI) : TEMPY = PY(LI)
PX(LI) = PX(LI+1)
PY(LI) = PY(LI+1)
PX(LI+1) = TEMPX
PY(LI+1) = TEMPY
END IF
NEXT LI
NEXT LO
' BOOT OUT INVISIBLE TRIANGLES!
IF PX(1)<0 AND PX(2)<0 AND PX(3)< 0 THEN TFLAG=1
IF PX(1)>XRES AND PX(2)>XRES AND PX(3)>XRES THEN TFLAG=1
IF PY(1)>YRES AND PY(2)>YRES AND PY(3)>YRES THEN TFLAG=1
DIM AS DOUBLE XP1,XP2:' SCREEN POSITIONS.
DIM AS DOUBLE XI1,XI2:' INTERPOLATIONS.
'***
'*** REGULAR TRIANGLE (Y1<Y2 Y2<Y3)
'***
IF PY(1)<PY(2) AND PY(2)<PY(3) or (PY(2) = PY(3)) THEN
TFLAG=1
XP1 = PX(1)
XP2 = PX(1)
XI1 = (PX(1)-PX(2)) / (PY(2) - PY(1))
XI2 = (PX(1)-PX(3)) / (PY(3) - PY(1))
FOR LO = PY(1) TO PY(2)-1
IF LO>=0 AND LO<YRES THEN
IF XP1<=XP2 THEN
IL1=XP1
IL2=XP2
ELSE
IL1=XP2
IL2=XP1
END IF
IF IL2>XRES THEN IL2=XRES
IF IL1<0 THEN IL1=0
SLICE = IL2-IL1
IF SLICE>0 THEN
PP = @BUFFER(IL1+(LO*XRES))
asm
mov eax,dword ptr[TC]
mov ecx, [slice]
mov edi, [PP]
rep stosd
end asm
END IF
END IF
XP1=XP1-XI1
XP2=XP2-XI2
NEXT
XI1 = (PX(2)-PX(3)) / (PY(3) - PY(2))
XP1 = PX(2)
FOR LO = PY(2) TO PY(3)
IF LO>=0 AND LO<YRES THEN
IF XP1<=XP2 THEN
IL1=XP1
IL2=XP2
ELSE
IL1=XP2
IL2=XP1
END IF
IF IL2>XRES THEN IL2=XRES
IF IL1<0 THEN IL1=0
SLICE = IL2-IL1
IF SLICE>0 THEN
PP = @BUFFER(IL1+(LO*XRES))
asm
mov eax,dword ptr[TC]
mov ecx, [slice]
mov edi, [PP]
rep stosd
end asm
END IF
END IF
XP1=XP1-XI1
XP2=XP2-XI2
NEXT
END IF
'***
'*** FLAT TOPPED TRIANGLE Y1=Y2
'***
IF TFLAG=0 AND PY(1) = PY(2) THEN
TFLAG=1
XP1 = PX(1)
XP2 = PX(2)
XI1 = (PX(1)-PX(3)) / (PY(3) - PY(1))
XI2 = (PX(2)-PX(3)) / (PY(3) - PY(2))
FOR LO = PY(1) TO PY(3)
IF LO>=0 AND LO<YRES THEN
IF XP1<=XP2 THEN
IL1=XP1
IL2=XP2
ELSE
IL1=XP2
IL2=XP1
END IF
IF IL2>XRES THEN IL2=XRES
IF IL1<0 THEN IL1=0
SLICE = IL2-IL1
IF SLICE>0 THEN
PP = @BUFFER(IL1+(LO*XRES))
asm
mov eax,dword ptr[TC]
mov ecx, [slice]
mov edi, [PP]
rep stosd
end asm
END IF
END IF
XP1=XP1-XI1
XP2=XP2-XI2
NEXT
END IF
END SUB
sub TEXT(BYVAL WW AS STRING )
dim blx,bly as Uinteger
DIM as INTEGER TLP,TC,CH,TC2,TC3
dim bm,mm
CH = ASC(WW)-31
IF CH<0 OR CH>91 THEN CH=0
'---------------------------------
'Calculate Offset In Font Data;---
'---------------------------------
bm=(ch*64)-64
FOR BLY=0 TO 7
FOR BLX=1 TO 8
'--------
'Clip;---
'--------
'----------------------------------------------------
'Draw Pixel In Buffer If Onscreen And If Binary 1 ---
'----------------------------------------------------
MM= FONT((((BLY)*8)+(BLX))+BM)
' IF MM >0 THEN
MTRX(BLX,BLY+1) = MM
' end if
NEXT
NEXT
END SUB
SUB READFONT()
dim lp
FOR LP=1 TO (64*91)
READ FONT(LP)
NEXT
END SUB
'----------------------------------------------------------------
' FONT
'----------------------------------------------------------------
'space
data 0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0
'!
DATA 0,0,0,1,1,0,0,0
DATA 0,0,1,1,1,1,0,0
DATA 0,0,1,1,1,1,0,0
DATA 0,0,0,1,1,0,0,0
DATA 0,0,0,1,1,0,0,0
DATA 0,0,0,0,0,0,0,0
DATA 0,0,0,1,1,0,0,0
DATA 0,0,0,0,0,0,0,0
' "
DATA 0,0,0,1,1,0,0,0
DATA 0,0,0,1,1,0,0,0
DATA 0,0,1,1,0,0,0,0
DATA 0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0
' #
DATA 0,1,1,0,1,1,0,0
DATA 0,1,1,0,1,1,0,0
DATA 1,1,1,1,1,1,1,0
DATA 0,1,1,0,1,1,0,0
DATA 1,1,1,1,1,1,1,0
DATA 0,1,1,0,1,1,0,0
DATA 0,1,1,0,1,1,0,0
DATA 0,0,0,0,0,0,0,0
' $ = £
DATA 0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0
' %
DATA 0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0
' & = O
DATA 0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0
' '
data 0,0,0,1,1,0,0,0
data 0,0,0,1,1,0,0,0
data 0,0,1,1,0,0,0,0
data 0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0
' (
DATA 0,0,0,1,1,1,0,0
DATA 0,0,1,1,0,0,0,0
DATA 0,0,1,1,0,0,0,0
DATA 0,0,1,1,0,0,0,0
DATA 0,0,1,1,0,0,0,0
DATA 0,0,1,1,0,0,0,0
DATA 0,0,0,1,1,1,0,0
DATA 0,0,0,0,0,0,0,0
' )
DATA 0,0,1,1,1,0,0,0
DATA 0,0,0,0,1,1,0,0
DATA 0,0,0,0,1,1,0,0
DATA 0,0,0,0,1,1,0,0
DATA 0,0,0,0,1,1,0,0
DATA 0,0,0,0,1,1,0,0
DATA 0,0,1,1,1,0,0,0
DATA 0,0,0,0,0,0,0,0
' *
DATA 0,0,0,0,0,0,0,0
DATA 0,1,1,0,1,1,0,0
DATA 0,0,1,1,1,0,0,0
DATA 1,1,1,1,1,1,1,0
DATA 0,0,1,1,1,0,0,0
DATA 0,1,1,0,1,1,0,0
DATA 0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0
' +
DATA 0,0,0,1,1,0,0,0
DATA 0,0,0,1,1,0,0,0
DATA 0,1,1,1,1,1,1,0
DATA 0,0,0,1,1,0,0,0
DATA 0,0,0,1,1,0,0,0
DATA 0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0
' ,
DATA 0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0
DATA 0,0,0,1,1,0,0,0
DATA 0,0,0,1,1,0,0,0
DATA 0,0,1,1,0,0,0,0
' -
DATA 0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0
DATA 0,1,1,1,1,1,1,0
DATA 0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0
' .
DATA 0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0
DATA 0,0,0,1,1,0,0,0
DATA 0,0,0,1,1,0,0,0
DATA 0,0,0,0,0,0,0,0
' /
DATA 0,0,0,0,0,0,1,0
DATA 0,0,0,0,0,1,1,0
DATA 0,0,0,0,1,1,0,0
DATA 0,0,0,1,1,0,0,0
DATA 0,0,1,1,0,0,0,0
DATA 0,1,1,0,0,0,0,0
DATA 0,1,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0
'0
DATA 0,0,0,0,0,0,0,0
DATA 0,1,1,1,1,1,0,0
DATA 1,1,0,0,1,1,1,0
DATA 1,1,0,1,1,1,1,0
DATA 1,1,1,1,0,1,1,0
DATA 1,1,1,0,0,1,1,0
DATA 0,1,1,1,1,1,0,0
DATA 0,0,0,0,0,0,0,0
'1
DATA 0,0,0,1,1,0,0,0
DATA 0,0,1,1,1,0,0,0
DATA 0,0,0,1,1,0,0,0
DATA 0,0,0,1,1,0,0,0
DATA 0,0,0,1,1,0,0,0
DATA 0,0,0,1,1,0,0,0
DATA 0,0,1,1,1,1,0,0
DATA 0,0,0,0,0,0,0,0
'2
DATA 0,1,1,1,1,1,0,0
DATA 0,0,0,0,0,1,1,0
DATA 0,1,1,1,1,1,0,0
DATA 1,1,0,0,0,0,0,0
DATA 1,1,0,0,0,0,0,0
DATA 1,1,0,0,0,0,0,0
DATA 1,1,1,1,1,1,1,0
DATA 0,0,0,0,0,0,0,0
'3
DATA 1,1,1,1,1,1,1,0
DATA 0,0,0,0,0,1,1,0
DATA 0,0,0,1,1,1,0,0
DATA 0,0,0,0,0,1,1,0
DATA 0,0,0,0,0,1,1,0
DATA 1,1,0,0,0,1,1,0
DATA 0,1,1,1,1,1,0,0
DATA 0,0,0,0,0,0,0,0
'4
DATA 0,0,1,1,0,0,0,0
DATA 0,0,1,1,0,0,1,0
DATA 0,1,1,0,0,1,1,0
DATA 1,1,0,0,0,1,1,0
DATA 1,1,1,1,1,1,1,1
DATA 0,0,0,0,0,1,1,0
DATA 0,0,0,0,0,1,1,0
DATA 0,0,0,0,0,0,0,0
'5
DATA 1,1,1,1,1,1,1,0
DATA 1,1,0,0,0,0,0,0
DATA 1,1,1,1,1,1,0,0
DATA 0,0,0,0,0,1,1,0
DATA 0,0,0,0,0,1,1,0
DATA 1,1,0,0,0,1,1,0
DATA 0,1,1,1,1,1,0,0
DATA 0,0,0,0,0,0,0,0
'6
DATA 0,1,1,1,1,1,0,0
DATA 1,1,0,0,0,0,0,0
DATA 1,1,0,0,0,0,0,0
DATA 1,1,1,1,1,1,0,0
DATA 1,1,0,0,0,1,1,0
DATA 1,1,0,0,0,1,1,0
DATA 0,1,1,1,1,1,0,0
DATA 0,0,0,0,0,0,0,0
'7
DATA 1,1,1,1,1,1,1,0
DATA 0,0,0,0,0,1,1,0
DATA 0,0,0,0,1,1,0,0
DATA 0,0,0,1,1,0,0,0
DATA 0,0,1,1,0,0,0,0
DATA 0,0,1,1,0,0,0,0
DATA 0,0,1,1,0,0,0,0
DATA 0,0,0,0,0,0,0,0
'8
DATA 0,1,1,1,1,1,0,0
DATA 1,1,0,0,0,1,1,0
DATA 0,1,1,1,1,1,0,0
DATA 1,1,0,0,0,1,1,0
DATA 1,1,0,0,0,1,1,0
DATA 1,1,0,0,0,1,1,0
DATA 0,1,1,1,1,1,0,0
DATA 0,0,0,0,0,0,0,0
'9
DATA 0,1,1,1,1,1,0,0
DATA 1,1,0,0,0,1,1,0
DATA 1,1,0,0,0,1,1,0
DATA 1,1,0,0,0,1,1,0
DATA 0,1,1,1,1,1,1,0
DATA 0,0,0,0,0,1,1,0
DATA 0,0,0,0,1,1,0,0
DATA 0,0,0,0,0,0,0,0
' :
DATA 0,0,0,0,0,0,0,0
DATA 0,0,0,1,1,0,0,0
DATA 0,0,0,1,1,0,0,0
DATA 0,0,0,0,0,0,0,0
DATA 0,0,0,1,1,0,0,0
DATA 0,0,0,1,1,0,0,0
DATA 0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0
' ;
DATA 0,0,0,0,0,0,0,0
DATA 0,0,0,1,1,0,0,0
DATA 0,0,0,1,1,0,0,0
DATA 0,0,0,0,0,0,0,0
DATA 0,0,0,1,1,0,0,0
DATA 0,0,0,1,1,0,0,0
DATA 0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0
' <
DATA 0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0
' =
DATA 0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0
DATA 0,1,1,1,1,1,0,0
DATA 0,0,0,0,0,0,0,0
DATA 0,1,1,1,1,1,0,0
DATA 0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0
' >
DATA 0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0
' ?
DATA 0,0,0,1,1,1,0,0
DATA 0,0,1,1,0,1,1,0
DATA 0,0,0,0,0,1,1,0
DATA 0,0,0,0,1,1,0,0
DATA 0,0,0,1,1,0,0,0
DATA 0,0,0,0,0,0,0,0
DATA 0,0,0,1,1,0,0,0
DATA 0,0,0,0,0,0,0,0
' @
DATA 0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0
'[]\^_?@
'A
DATA 0,1,1,1,1,1,0,0
DATA 1,1,0,0,0,1,1,0
DATA 1,1,1,1,1,1,1,0
DATA 1,1,0,0,0,1,1,0
DATA 1,1,0,0,0,1,1,0
DATA 1,1,0,0,0,1,1,0
DATA 1,1,0,0,0,1,1,0
DATA 0,0,0,0,0,0,0,0
'B
DATA 1,1,1,1,1,0,0,0
DATA 1,1,0,0,1,0,0,0
DATA 1,1,1,1,1,1,0,0
DATA 1,1,0,0,0,1,0,0
DATA 1,1,0,0,0,1,1,0
DATA 1,1,0,0,0,1,1,0
DATA 1,1,1,1,1,1,0,0
DATA 0,0,0,0,0,0,0,0
'C
DATA 0,1,1,1,1,1,0,0
DATA 1,1,0,0,0,1,1,0
DATA 1,1,0,0,0,0,0,0
DATA 1,1,0,0,0,0,0,0
DATA 1,1,0,0,0,0,0,0
DATA 1,1,0,0,0,1,1,0
DATA 0,1,1,1,1,1,0,0
DATA 0,0,0,0,0,0,0,0
'D
DATA 1,1,1,1,1,0,0,0
DATA 1,1,0,0,1,1,0,0
DATA 1,1,0,0,0,1,1,0
DATA 1,1,0,0,0,1,1,0
DATA 1,1,0,0,0,1,1,0
DATA 1,1,0,0,0,1,1,0
DATA 1,1,1,1,1,1,0,0
DATA 0,0,0,0,0,0,0,0
'E
DATA 1,1,1,1,1,1,1,0
DATA 1,1,0,0,0,0,0,0
DATA 1,1,1,1,0,0,0,0
DATA 1,1,0,0,0,0,0,0
DATA 1,1,0,0,0,0,0,0
DATA 1,1,0,0,0,0,0,0
DATA 1,1,1,1,1,1,1,0
DATA 0,0,0,0,0,0,0,0
'F
DATA 1,1,1,1,1,1,1,0
DATA 1,1,0,0,0,0,0,0
DATA 1,1,1,1,1,0,0,0
DATA 1,1,0,0,0,0,0,0
DATA 1,1,0,0,0,0,0,0
DATA 1,1,0,0,0,0,0,0
DATA 1,1,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0
'G
DATA 0,1,1,1,1,1,0,0
DATA 1,1,0,0,0,1,1,0
DATA 1,1,0,0,0,0,0,0
DATA 1,1,0,0,1,1,1,0
DATA 1,1,0,0,0,1,1,0
DATA 1,1,0,0,0,1,1,0
DATA 0,1,1,1,1,1,0,0
DATA 0,0,0,0,0,0,0,0
'H
DATA 1,1,0,0,0,1,1,0
DATA 1,1,0,0,0,1,1,0
DATA 1,1,1,1,1,1,1,0
DATA 1,1,0,0,0,1,1,0
DATA 1,1,0,0,0,1,1,0
DATA 1,1,0,0,0,1,1,0
DATA 1,1,0,0,0,1,1,0
DATA 0,0,0,0,0,0,0,0
'I
DATA 0,1,1,1,1,1,1,0
DATA 0,0,0,1,1,0,0,0
DATA 0,0,0,1,1,0,0,0
DATA 0,0,0,1,1,0,0,0
DATA 0,0,0,1,1,0,0,0
DATA 0,0,0,1,1,0,0,0
DATA 0,1,1,1,1,1,1,0
DATA 0,0,0,0,0,0,0,0
'J
DATA 0,0,0,1,1,1,1,0
DATA 0,0,0,0,0,1,1,0
DATA 0,0,0,0,0,1,1,0
DATA 0,0,0,0,0,1,1,0
DATA 0,0,0,0,0,1,1,0
DATA 1,1,0,0,0,1,1,0
DATA 0,1,1,1,1,1,0,0
DATA 0,0,0,0,0,0,0,0
'K
DATA 1,1,0,0,0,1,1,0
DATA 1,1,0,0,1,1,0,0
DATA 1,1,0,1,1,0,0,0
DATA 1,1,1,1,0,0,0,0
DATA 1,1,0,1,1,0,0,0
DATA 1,1,0,0,1,1,0,0
DATA 1,1,0,0,0,1,1,0
DATA 0,0,0,0,0,0,0,0
'L
DATA 1,1,0,0,0,0,0,0
DATA 1,1,0,0,0,0,0,0
DATA 1,1,0,0,0,0,0,0
DATA 1,1,0,0,0,0,0,0
DATA 1,1,0,0,0,0,0,0
DATA 1,1,0,0,0,0,0,0
DATA 1,1,1,1,1,1,1,0
DATA 0,0,0,0,0,0,0,0
'M
DATA 1,0,0,0,0,0,1,0
DATA 1,1,0,0,0,1,1,0
DATA 1,1,1,0,1,1,1,0
DATA 1,1,1,1,1,1,1,0
DATA 1,1,0,1,0,1,1,0
DATA 1,1,0,0,0,1,1,0
DATA 1,1,0,0,0,1,1,0
DATA 0,0,0,0,0,0,0,0
'N
DATA 1,1,0,0,0,1,1,0
DATA 1,1,1,0,0,1,1,0
DATA 1,1,1,1,0,1,1,0
DATA 1,1,0,1,1,1,1,0
DATA 1,1,0,0,1,1,1,0
DATA 1,1,0,0,0,1,1,0
DATA 1,1,0,0,0,1,1,0
DATA 0,0,0,0,0,0,0,0
'O
DATA 0,1,1,1,1,1,0,0
DATA 1,1,0,0,0,1,1,0
DATA 1,1,0,0,0,1,1,0
DATA 1,1,0,0,0,1,1,0
DATA 1,1,0,0,0,1,1,0
DATA 1,1,0,0,0,1,1,0
DATA 0,1,1,1,1,1,0,0
DATA 0,0,0,0,0,0,0,0
'P
DATA 1,1,1,1,1,1,0,0
DATA 1,1,0,0,0,1,1,0
DATA 1,1,0,0,0,1,1,0
DATA 1,1,0,0,0,1,1,0
DATA 1,1,1,1,1,1,0,0
DATA 1,1,0,0,0,0,0,0
DATA 1,1,0,0,0,0,0,0
DATA 0,0,0,0,0,0,0,0
'Q
DATA 0,1,1,1,1,1,0,0
DATA 1,1,0,0,0,1,1,0
DATA 1,1,0,0,0,1,1,0
DATA 1,1,0,0,0,1,1,0
DATA 1,1,0,0,0,1,1,0
DATA 1,1,0,1,1,0,1,0
DATA 0,1,1,0,1,1,0,0
DATA 0,0,0,0,0,1,0,0
'R
DATA 1,1,1,1,1,1,0,0
DATA 1,1,0,0,0,1,1,0
DATA 1,1,0,0,0,1,1,0
DATA 1,1,1,1,1,1,0,0
DATA 1,1,0,1,1,0,0,0
DATA 1,1,0,0,1,1,0,0
DATA 1,1,0,0,0,1,1,0
DATA 0,0,0,0,0,0,0,0
'S
DATA 0,1,1,1,1,1,0,0
DATA 1,1,0,0,0,1,1,0
DATA 0,1,1,1,0,0,0,0
DATA 0,0,0,1,1,1,0,0
DATA 0,1,0,0,0,1,1,0
DATA 1,1,0,0,0,1,1,0
DATA 0,1,1,1,1,1,0,0
DATA 0,0,0,0,0,0,0,0
'T
DATA 0,1,1,1,1,1,1,0
DATA 0,0,0,1,1,0,0,0
DATA 0,0,0,1,1,0,0,0
DATA 0,0,0,1,1,0,0,0
DATA 0,0,0,1,1,0,0,0
DATA 0,0,0,1,1,0,0,0
DATA 0,0,0,1,1,0,0,0
DATA 0,0,0,0,0,0,0,0
'U
DATA 1,1,0,0,0,1,1,0
DATA 1,1,0,0,0,1,1,0
DATA 1,1,0,0,0,1,1,0
DATA 1,1,0,0,0,1,1,0
DATA 1,1,0,0,0,1,1,0
DATA 1,1,0,0,0,1,1,0
DATA 0,1,1,1,1,1,0,0
DATA 0,0,0,0,0,0,0,0
'V
DATA 1,1,0,0,0,1,1,0
DATA 1,1,0,0,0,1,1,0
DATA 1,1,0,0,0,1,1,0
DATA 1,1,0,0,0,1,1,0
DATA 1,1,0,0,1,1,0,0
DATA 1,1,0,1,1,0,0,0
DATA 0,1,1,1,0,0,0,0
DATA 0,0,0,0,0,0,0,0
'W
DATA 1,1,0,0,0,1,1,0
DATA 1,1,0,0,0,1,1,0
DATA 1,1,0,0,0,1,1,0
DATA 1,1,0,1,0,1,1,0
DATA 1,1,1,1,1,1,1,0
DATA 1,1,1,0,1,1,1,0
DATA 1,1,0,0,0,1,1,0
DATA 0,0,0,0,0,0,0,0
'x
DATA 1,1,0,0,0,1,1,0
DATA 1,1,0,0,0,1,1,0
DATA 0,1,1,0,1,1,0,0
DATA 0,0,1,1,1,0,0,0
DATA 0,1,1,0,1,1,0,0
DATA 1,1,0,0,0,1,1,0
DATA 1,1,0,0,0,1,1,0
DATA 0,0,0,0,0,0,0,0
'Y
DATA 1,1,0,0,0,1,1,0
DATA 1,1,0,0,0,1,1,0
DATA 1,1,0,0,0,1,1,0
DATA 1,1,0,0,0,1,1,0
DATA 0,1,1,1,1,1,0,0
DATA 0,0,0,1,1,0,0,0
DATA 0,0,0,1,1,0,0,0
DATA 0,0,0,0,0,0,0,0
'Z
DATA 1,1,1,1,1,1,1,0
DATA 1,1,0,0,0,1,1,0
DATA 0,0,0,0,1,1,0,0
DATA 0,0,0,1,1,0,0,0
DATA 0,0,1,1,0,0,0,0
DATA 0,1,1,0,0,1,1,0
DATA 1,1,1,1,1,1,1,0
DATA 0,0,0,0,0,0,0,0
'[
data 1,1,1,1,0,0,0,0
data 1,1,1,0,0,0,0,0
data 1,1,1,0,0,0,0,0
data 1,1,1,0,0,0,0,0
data 1,1,1,0,0,0,0,0
data 1,1,1,0,0,0,0,0
data 1,1,1,0,0,0,0,0
data 1,1,1,1,0,0,0,0
'\
data 1,1,0,0,0,0,0,0
data 1,1,1,0,0,0,0,0
data 0,1,1,1,0,0,0,0
data 0,0,1,1,1,0,0,0
data 0,0,0,1,1,1,0,0
data 0,0,0,0,1,1,1,0
data 0,0,0,0,0,1,1,1
data 0,0,0,0,0,0,1,1
']
data 0,0,0,0,1,1,1,1
data 0,0,0,0,0,1,1,1
data 0,0,0,0,0,1,1,1
data 0,0,0,0,0,1,1,1
data 0,0,0,0,0,1,1,1
data 0,0,0,0,0,1,1,1
data 0,0,0,0,0,1,1,1
data 0,0,0,0,1,1,1,1
'^
data 0,0,0,1,1,0,0,0
data 0,0,1,1,1,1,0,0
data 0,1,1,0,0,1,1,0
data 1,1,1,0,0,1,1,1
data 0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0
'_
data 0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0
data 1,1,1,1,1,1,1,1
data 0,0,0,0,0,0,0,0
' '
data 0,0,0,1,1,0,0,0
data 0,0,0,1,1,0,0,0
data 0,0,0,0,1,1,0,0
data 0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0
' a
data 0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0
data 0,0,1,1,1,1,0,0
data 0,0,0,0,0,1,1,0
data 0,1,1,1,1,1,1,0
data 1,1,0,0,0,1,1,0
data 0,1,1,1,1,1,1,0
data 0,0,0,0,0,0,0,0
' b
data 1,1,0,0,0,0,0,0
data 1,1,0,0,0,0,0,0
data 1,1,1,1,1,1,0,0
data 1,1,0,0,0,1,1,0
data 1,1,0,0,0,1,1,0
data 1,1,0,0,0,1,1,0
data 1,1,1,1,1,1,0,0
data 0,0,0,0,0,0,0,0
' c
data 0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0
data 0,1,1,1,1,1,0,0
data 1,1,0,0,0,1,1,0
data 1,1,0,0,0,0,0,0
data 1,1,0,0,0,1,1,0
data 0,1,1,1,1,1,0,0
data 0,0,0,0,0,0,0,0
' d
data 0,0,0,0,0,1,1,0
data 0,0,0,0,0,1,1,0
data 0,1,1,1,1,1,1,0
data 1,1,0,0,0,1,1,0
data 1,1,0,0,0,1,1,0
data 1,1,0,0,0,1,1,0
data 0,1,1,1,1,1,1,0
data 0,0,0,0,0,0,0,0
' e
data 0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0
data 0,1,1,1,1,1,0,0
data 1,1,0,0,0,1,1,0
data 1,1,1,1,1,1,1,0
data 1,1,0,0,0,0,0,0
data 0,1,1,1,1,1,1,0
data 0,0,0,0,0,0,0,0
' f
data 0,0,1,1,1,1,0,0
data 0,1,1,0,0,0,0,0
data 0,1,1,0,0,0,0,0
data 0,1,1,1,1,0,0,0
data 0,1,1,0,0,0,0,0
data 0,1,1,0,0,0,0,0
data 0,1,1,0,0,0,0,0
data 0,1,1,0,0,0,0,0
' g
data 0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0
data 0,1,1,1,1,1,1,0
data 1,1,0,0,0,1,1,0
data 1,1,0,0,0,1,1,0
data 0,1,1,1,1,1,1,0
data 0,0,0,0,0,1,1,0
data 1,1,1,1,1,1,0,0
' h
data 1,1,0,0,0,0,0,0
data 1,1,0,0,0,0,0,0
data 1,1,1,1,1,1,0,0
data 1,1,0,0,0,1,1,0
data 1,1,0,0,0,1,1,0
data 1,1,0,0,0,1,1,0
data 1,1,0,0,0,1,1,0
data 0,0,0,0,0,0,0,0
' i
data 0,0,0,1,1,0,0,0
data 0,0,0,0,0,0,0,0
data 0,0,0,1,1,0,0,0
data 0,0,0,1,1,0,0,0
data 0,0,0,1,1,0,0,0
data 0,0,0,1,1,0,0,0
data 0,0,1,1,1,1,0,0
data 0,0,0,0,0,0,0,0
' j
data 0,0,0,0,1,1,0,0
data 0,0,0,0,0,0,0,0
data 0,0,0,0,1,1,0,0
data 0,0,0,0,1,1,0,0
data 0,0,0,0,1,1,0,0
data 0,0,0,0,1,1,0,0
data 1,1,0,0,1,1,0,0
data 0,1,1,1,1,0,0,0
' k
data 1,1,0,0,0,0,0,0
data 1,1,0,0,0,0,0,0
data 1,1,0,0,0,1,1,0
data 1,1,0,0,1,1,0,0
data 1,1,1,1,1,0,0,0
data 1,1,0,0,1,1,0,0
data 1,1,0,0,0,1,1,0
data 0,0,0,0,0,0,0,0
' l
data 0,1,1,0,0,0,0,0
data 0,1,1,0,0,0,0,0
data 0,1,1,0,0,0,0,0
data 0,1,1,0,0,0,0,0
data 0,1,1,0,0,0,0,0
data 0,1,1,0,0,0,0,0
data 0,0,1,1,1,1,0,0
data 0,0,0,0,0,0,0,0
' m
data 0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0
data 1,1,1,0,1,1,1,0
data 1,1,0,1,0,1,1,0
data 1,1,0,0,0,1,1,0
data 1,1,0,0,0,1,1,0
data 1,1,0,0,0,1,1,0
data 0,0,0,0,0,0,0,0
' n
data 0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0
data 1,1,1,1,1,1,0,0
data 1,1,0,0,0,1,1,0
data 1,1,0,0,0,1,1,0
data 1,1,0,0,0,1,1,0
data 1,1,0,0,0,1,1,0
data 0,0,0,0,0,0,0,0
' o
data 0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0
data 0,1,1,1,1,1,0,0
data 1,1,0,0,0,1,1,0
data 1,1,0,0,0,1,1,0
data 1,1,0,0,0,1,1,0
data 0,1,1,1,1,1,0,0
data 0,0,0,0,0,0,0,0
' p
data 0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0
data 1,1,1,1,1,1,0,0
data 1,1,0,0,0,1,1,0
data 1,1,0,0,0,1,1,0
data 1,1,0,0,0,1,1,0
data 1,1,1,1,1,1,0,0
data 1,1,0,0,0,0,0,0
' q
data 0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0
data 0,1,1,1,1,1,1,0
data 1,1,0,0,0,1,1,0
data 1,1,0,0,0,1,1,0
data 1,1,0,0,0,1,1,0
data 0,1,1,1,1,1,1,0
data 0,0,0,0,0,1,1,0
' r
data 0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0
data 1,1,0,1,1,1,0,0
data 1,1,1,0,0,1,1,0
data 1,1,0,0,0,0,0,0
data 1,1,0,0,0,0,0,0
data 1,1,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0
' s
data 0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0
data 0,1,1,1,1,1,1,0
data 1,1,0,0,0,0,0,0
data 0,1,1,1,1,1,0,0
data 0,0,0,0,0,1,1,0
data 1,1,1,1,1,1,0,0
data 0,0,0,0,0,0,0,0
' t
data 0,0,0,0,0,0,0,0
data 0,1,1,0,0,0,0,0
data 0,1,1,0,0,0,0,0
data 1,1,1,1,0,0,0,0
data 0,1,1,0,0,0,0,0
data 0,1,1,0,0,0,0,0
data 0,0,1,1,1,1,1,0
data 0,0,0,0,0,0,0,0
' u
data 0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0
data 1,1,0,0,0,1,1,0
data 1,1,0,0,0,1,1,0
data 1,1,0,0,0,1,1,0
data 1,1,0,0,0,1,1,0
data 0,1,1,1,1,1,0,0
data 0,0,0,0,0,0,0,0
' v
data 0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0
data 1,1,0,0,0,1,1,0
data 1,1,0,0,0,1,1,0
data 0,1,1,0,1,1,0,0
data 0,1,1,0,1,1,0,0
data 0,0,1,1,1,0,0,0
data 0,0,0,0,0,0,0,0
' w
data 0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0
data 1,1,0,0,0,1,1,0
data 1,1,0,0,0,1,1,0
data 1,1,0,1,0,1,1,0
data 1,1,1,1,1,1,1,0
data 0,1,1,0,1,1,0,0
data 0,0,0,0,0,0,0,0
' x
data 0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0
data 1,1,0,0,0,1,1,0
data 0,1,1,0,1,1,0,0
data 0,0,1,1,1,0,0,0
data 0,1,1,0,1,1,0,0
data 1,1,0,0,0,1,1,0
data 0,0,0,0,0,0,0,0
' y
data 0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0
data 1,1,0,0,0,1,1,0
data 1,1,0,0,0,1,1,0
data 1,1,0,0,0,1,1,0
data 0,1,1,1,1,1,1,0
data 0,0,0,0,0,1,1,0
data 1,1,1,1,1,1,0,0
' z
data 0,0,0,0,0,0,0,0
data 0,0,0,0,0,0,0,0
data 1,1,1,1,1,1,0,0
data 0,0,0,1,1,0,0,0
data 0,0,1,1,0,0,0,0
data 0,1,1,0,0,0,0,0
data 1,1,1,1,1,1,1,0
data 0,0,0,0,0,0,0,0
-
that one's really amazing ... coool oldskoolish feeling :)
Thanks for sharing the source as well :)
-
Not a problem :) I enjoy posting my listings here.
You might see it as a release for a group somewhere in the not too distant future, although it will be a little bit different by then :)
-
what can be said other than very cool!
-
Just did a really small extension to your source and gave it some musaxxs - using the oldskool musaxxs engine library (unfortunately only as dll at the time writing) ...
I have (once again) some difficults integrating the static lib with freebasic projects ... this time symbols are all there but it simply crashes at initialization - sigh - ...
Anyway ... I'm on it - as well as I'm on it to do some size optimizations ... :)
If you care, have fun using this library (although it's in beta state)
Cheers,
SLiPPY
-
Hehe, nice job, good luck in resourcing it into a static lib, I would definately use it if it was a little smaller and could be one-filed.
Karma +
-
Very nice Shock .. always something good from you :)
-
awesome :clap:
-
Very nice. The movement is compelling and the shading on the quads is pleasing.
Chris
-
Nice starfeild and excellent timing for changing the text it all happens very smoothly
-
Thanks guys, this will be released under the name of an alias, the intro is finished and I will post the full source as soon as it is used :)
-
hay shocky , it is amazing work. :)
Sorry only the font that i did not like it , when you scale it.
-
Cheers Emil :)
Font is taken from a Melon Dezign intro btw.
-
it really is a cool demo!
hey shockwave ive been meaning to ask have you ever mapped a texture onto your binary font? i was thinking of trying it but i wanted to know if you ever had and how it looks.
i was thinking of making up a small collection of 8x8 textures for my resizable binary font so i could make it look like i had lots of diffrent fonts while still keeping exe size down.
-
That would be quite easy to do Nino, just precompute an 8*8 texture and when you are drawing that quad, just fetch the colour from the texture and draw the quad in that colour. Should look nice too :)
-
yup thats what i was going to try, i think it should look quite good ill see what i can do later and ill post my findings up for the forum to have a look.
-
Neat :)
-
Nice one Shockwave & Slippy.