* fixes and optimizations in video unit

+ now properly sets ScreenColor to true
  + optimized DrawChar() to use BltTemplate() instead of WritePixel() loops
    this results in less gfx operations, major speedup, and elimination of
    possible display trashing (WritePixel() doesn't wait for blit operations
    to finish)
  + updated vgafont in videodata.inc to be in proper format for BltTemplate()
  + other tweaks here and there

git-svn-id: trunk@11964 -
This commit is contained in:
Károly Balogh 2008-10-23 23:40:36 +00:00
parent e64a1f6026
commit eb1f214c3d
2 changed files with 250 additions and 263 deletions

View File

@ -100,6 +100,7 @@ begin
ScreenWidth := 80;
ScreenHeight := 25;
ScreenColor := true;
videoColorMap := pScreen(videoWindow^.WScreen)^.ViewPort.ColorMap;
for counter:=0 to 15 do begin
@ -219,7 +220,6 @@ Var
I : Integer;
begin
{
I:=SysVideoModeCount-1;
SysSetVideoMode:=False;
While (I>=0) and Not SysSetVideoMode do
@ -238,7 +238,6 @@ begin
ScreenColor:=SysVMD[I].Color;
end else SysSetVideoMode := false;
end;
}
end;
Function SysGetVideoModeData (Index : Word; Var Data : TVideoMode) : boolean;
@ -264,7 +263,6 @@ end;
procedure DrawChar(x,y: longint; bitmap: pBitmap; drawCursor: boolean);
var tmpCharData: word;
tmpChar : byte;
tmpRow : byte;
tmpFGColor : byte;
tmpBGColor : byte;
var
@ -276,28 +274,17 @@ begin
tmpFGColor :=(tmpCharData shr 8) and %00001111;
tmpBGColor :=(tmpCharData shr 12) and %00000111;
// write('"',char(tmpChar),'" ',tmpChar);
sX:=x*8;
sY:=y*16;
SetAPen(videoWindow^.RPort,videoPens[tmpBGColor]);
RectFill(videoWindow^.RPort, sX, sY, sX + 7, sY + 15);
SetAPen(videoWindow^.Rport,videoPens[tmpFGColor]);
for counterY:=0 to 15 do begin
tmpRow:=vgafont[tmpChar,counterY];
if (tmpRow>0) then begin
for counterX:=0 to 7 do begin
if ((tmpRow and (1 shl counterX)) > 0) then
WritePixel(videoWindow^.RPort,sX+counterX,sY+counterY);
end;
end;
end;
SetBPen(videoWindow^.RPort,videoPens[tmpBGColor]);
BltTemplate(@vgafont[tmpChar,0],0,1,videoWindow^.RPort,sX,sY,8,16);
if drawCursor then begin
gfxMove(videoWindow^.RPort,sX,sY+14); Draw(videoWindow^.RPort,sX+7,sY+14);
gfxMove(videoWindow^.RPort,sX,sY+15); Draw(videoWindow^.RPort,sX+7,sY+15);
end;
end;

View File

@ -23,259 +23,259 @@ const
const
vgafont : array[0..255,0..15] of byte = (
( $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ),
( $00, $00, $7e, $81, $a5, $81, $81, $a5, $99, $81, $81, $7e, $00, $00, $00, $00 ),
( $00, $00, $7e, $ff, $db, $ff, $ff, $db, $e7, $ff, $ff, $7e, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $36, $7f, $7f, $7f, $7f, $3e, $1c, $08, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $08, $1c, $3e, $7f, $3e, $1c, $08, $00, $00, $00, $00, $00 ),
( $00, $00, $00, $18, $3c, $3c, $e7, $e7, $e7, $18, $18, $3c, $00, $00, $00, $00 ),
( $00, $00, $00, $18, $3c, $7e, $ff, $ff, $7e, $18, $18, $3c, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $00, $00, $18, $3c, $3c, $18, $00, $00, $00, $00, $00, $00 ),
( $ff, $ff, $ff, $ff, $ff, $ff, $e7, $c3, $c3, $e7, $ff, $ff, $ff, $ff, $ff, $ff ),
( $00, $00, $00, $00, $00, $3c, $66, $42, $42, $66, $3c, $00, $00, $00, $00, $00 ),
( $ff, $ff, $ff, $ff, $ff, $c3, $99, $bd, $bd, $99, $c3, $ff, $ff, $ff, $ff, $ff ),
( $00, $00, $78, $60, $70, $58, $1e, $33, $33, $33, $33, $1e, $00, $00, $00, $00 ),
( $00, $00, $3c, $66, $66, $66, $66, $3c, $18, $7e, $18, $18, $00, $00, $00, $00 ),
( $00, $00, $fc, $cc, $fc, $0c, $0c, $0c, $0c, $0e, $0f, $07, $00, $00, $00, $00 ),
( $00, $00, $fe, $c6, $fe, $c6, $c6, $c6, $c6, $e6, $e7, $67, $03, $00, $00, $00 ),
( $00, $00, $00, $18, $18, $db, $3c, $e7, $3c, $db, $18, $18, $00, $00, $00, $00 ),
( $00, $01, $03, $07, $0f, $1f, $7f, $1f, $0f, $07, $03, $01, $00, $00, $00, $00 ),
( $00, $40, $60, $70, $78, $7c, $7f, $7c, $78, $70, $60, $40, $00, $00, $00, $00 ),
( $00, $00, $18, $3c, $7e, $18, $18, $18, $7e, $3c, $18, $00, $00, $00, $00, $00 ),
( $00, $00, $7E, $81, $A5, $81, $81, $A5, $99, $81, $81, $7E, $00, $00, $00, $00 ),
( $00, $00, $7E, $FF, $DB, $FF, $FF, $DB, $E7, $FF, $FF, $7E, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $6C, $FE, $FE, $FE, $FE, $7C, $38, $10, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $10, $38, $7C, $FE, $7C, $38, $10, $00, $00, $00, $00, $00 ),
( $00, $00, $00, $18, $3C, $3C, $E7, $E7, $E7, $18, $18, $3C, $00, $00, $00, $00 ),
( $00, $00, $00, $18, $3C, $7E, $FF, $FF, $7E, $18, $18, $3C, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $00, $00, $18, $3C, $3C, $18, $00, $00, $00, $00, $00, $00 ),
( $FF, $FF, $FF, $FF, $FF, $FF, $E7, $C3, $C3, $E7, $FF, $FF, $FF, $FF, $FF, $FF ),
( $00, $00, $00, $00, $00, $3C, $66, $42, $42, $66, $3C, $00, $00, $00, $00, $00 ),
( $FF, $FF, $FF, $FF, $FF, $C3, $99, $BD, $BD, $99, $C3, $FF, $FF, $FF, $FF, $FF ),
( $00, $00, $1E, $06, $0E, $1A, $78, $CC, $CC, $CC, $CC, $78, $00, $00, $00, $00 ),
( $00, $00, $3C, $66, $66, $66, $66, $3C, $18, $7E, $18, $18, $00, $00, $00, $00 ),
( $00, $00, $3F, $33, $3F, $30, $30, $30, $30, $70, $F0, $E0, $00, $00, $00, $00 ),
( $00, $00, $7F, $63, $7F, $63, $63, $63, $63, $67, $E7, $E6, $C0, $00, $00, $00 ),
( $00, $00, $00, $18, $18, $DB, $3C, $E7, $3C, $DB, $18, $18, $00, $00, $00, $00 ),
( $00, $80, $C0, $E0, $F0, $F8, $FE, $F8, $F0, $E0, $C0, $80, $00, $00, $00, $00 ),
( $00, $02, $06, $0E, $1E, $3E, $FE, $3E, $1E, $0E, $06, $02, $00, $00, $00, $00 ),
( $00, $00, $18, $3C, $7E, $18, $18, $18, $7E, $3C, $18, $00, $00, $00, $00, $00 ),
( $00, $00, $66, $66, $66, $66, $66, $66, $66, $00, $66, $66, $00, $00, $00, $00 ),
( $00, $00, $fe, $db, $db, $db, $de, $d8, $d8, $d8, $d8, $d8, $00, $00, $00, $00 ),
( $00, $3e, $63, $06, $1c, $36, $63, $63, $36, $1c, $30, $63, $3e, $00, $00, $00 ),
( $00, $00, $00, $00, $00, $00, $00, $00, $7f, $7f, $7f, $7f, $00, $00, $00, $00 ),
( $00, $00, $18, $3c, $7e, $18, $18, $18, $7e, $3c, $18, $7e, $00, $00, $00, $00 ),
( $00, $00, $18, $3c, $7e, $18, $18, $18, $18, $18, $18, $18, $00, $00, $00, $00 ),
( $00, $00, $18, $18, $18, $18, $18, $18, $18, $7e, $3c, $18, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $00, $18, $30, $7f, $30, $18, $00, $00, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $00, $0c, $06, $7f, $06, $0c, $00, $00, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $00, $00, $03, $03, $03, $7f, $00, $00, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $00, $14, $36, $7f, $36, $14, $00, $00, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $08, $1c, $1c, $3e, $3e, $7f, $7f, $00, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $7f, $7f, $3e, $3e, $1c, $1c, $08, $00, $00, $00, $00, $00 ),
( $00, $00, $7F, $DB, $DB, $DB, $7B, $1B, $1B, $1B, $1B, $1B, $00, $00, $00, $00 ),
( $00, $7C, $C6, $60, $38, $6C, $C6, $C6, $6C, $38, $0C, $C6, $7C, $00, $00, $00 ),
( $00, $00, $00, $00, $00, $00, $00, $00, $FE, $FE, $FE, $FE, $00, $00, $00, $00 ),
( $00, $00, $18, $3C, $7E, $18, $18, $18, $7E, $3C, $18, $7E, $00, $00, $00, $00 ),
( $00, $00, $18, $3C, $7E, $18, $18, $18, $18, $18, $18, $18, $00, $00, $00, $00 ),
( $00, $00, $18, $18, $18, $18, $18, $18, $18, $7E, $3C, $18, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $00, $18, $0C, $FE, $0C, $18, $00, $00, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $00, $30, $60, $FE, $60, $30, $00, $00, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $00, $00, $C0, $C0, $C0, $FE, $00, $00, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $00, $28, $6C, $FE, $6C, $28, $00, $00, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $10, $38, $38, $7C, $7C, $FE, $FE, $00, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $FE, $FE, $7C, $7C, $38, $38, $10, $00, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ),
( $00, $00, $18, $3c, $3c, $3c, $18, $18, $18, $00, $18, $18, $00, $00, $00, $00 ),
( $00, $00, $18, $3C, $3C, $3C, $18, $18, $18, $00, $18, $18, $00, $00, $00, $00 ),
( $00, $66, $66, $66, $24, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ),
( $00, $00, $00, $36, $36, $7f, $36, $36, $36, $7f, $36, $36, $00, $00, $00, $00 ),
( $18, $18, $3e, $63, $43, $03, $3e, $60, $60, $61, $63, $3e, $18, $18, $00, $00 ),
( $00, $00, $00, $00, $43, $63, $30, $18, $0c, $06, $63, $61, $00, $00, $00, $00 ),
( $00, $00, $1c, $36, $36, $1c, $6e, $3b, $33, $33, $33, $6e, $00, $00, $00, $00 ),
( $00, $0c, $0c, $0c, $06, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ),
( $00, $00, $30, $18, $0c, $0c, $0c, $0c, $0c, $0c, $18, $30, $00, $00, $00, $00 ),
( $00, $00, $0c, $18, $30, $30, $30, $30, $30, $30, $18, $0c, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $00, $66, $3c, $ff, $3c, $66, $00, $00, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $00, $18, $18, $7e, $18, $18, $00, $00, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $00, $00, $00, $00, $00, $18, $18, $18, $0c, $00, $00, $00 ),
( $00, $00, $00, $00, $00, $00, $00, $7f, $00, $00, $00, $00, $00, $00, $00, $00 ),
( $00, $00, $00, $6C, $6C, $FE, $6C, $6C, $6C, $FE, $6C, $6C, $00, $00, $00, $00 ),
( $18, $18, $7C, $C6, $C2, $C0, $7C, $06, $06, $86, $C6, $7C, $18, $18, $00, $00 ),
( $00, $00, $00, $00, $C2, $C6, $0C, $18, $30, $60, $C6, $86, $00, $00, $00, $00 ),
( $00, $00, $38, $6C, $6C, $38, $76, $DC, $CC, $CC, $CC, $76, $00, $00, $00, $00 ),
( $00, $30, $30, $30, $60, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ),
( $00, $00, $0C, $18, $30, $30, $30, $30, $30, $30, $18, $0C, $00, $00, $00, $00 ),
( $00, $00, $30, $18, $0C, $0C, $0C, $0C, $0C, $0C, $18, $30, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $00, $66, $3C, $FF, $3C, $66, $00, $00, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $00, $18, $18, $7E, $18, $18, $00, $00, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $00, $00, $00, $00, $00, $18, $18, $18, $30, $00, $00, $00 ),
( $00, $00, $00, $00, $00, $00, $00, $FE, $00, $00, $00, $00, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $18, $18, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $40, $60, $30, $18, $0c, $06, $03, $01, $00, $00, $00, $00 ),
( $00, $00, $1c, $36, $63, $63, $6b, $6b, $63, $63, $36, $1c, $00, $00, $00, $00 ),
( $00, $00, $18, $1c, $1e, $18, $18, $18, $18, $18, $18, $7e, $00, $00, $00, $00 ),
( $00, $00, $3e, $63, $60, $30, $18, $0c, $06, $03, $63, $7f, $00, $00, $00, $00 ),
( $00, $00, $3e, $63, $60, $60, $3c, $60, $60, $60, $63, $3e, $00, $00, $00, $00 ),
( $00, $00, $30, $38, $3c, $36, $33, $7f, $30, $30, $30, $78, $00, $00, $00, $00 ),
( $00, $00, $7f, $03, $03, $03, $3f, $60, $60, $60, $63, $3e, $00, $00, $00, $00 ),
( $00, $00, $1c, $06, $03, $03, $3f, $63, $63, $63, $63, $3e, $00, $00, $00, $00 ),
( $00, $00, $7f, $63, $60, $60, $30, $18, $0c, $0c, $0c, $0c, $00, $00, $00, $00 ),
( $00, $00, $3e, $63, $63, $63, $3e, $63, $63, $63, $63, $3e, $00, $00, $00, $00 ),
( $00, $00, $3e, $63, $63, $63, $7e, $60, $60, $60, $30, $1e, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $02, $06, $0C, $18, $30, $60, $C0, $80, $00, $00, $00, $00 ),
( $00, $00, $38, $6C, $C6, $C6, $D6, $D6, $C6, $C6, $6C, $38, $00, $00, $00, $00 ),
( $00, $00, $18, $38, $78, $18, $18, $18, $18, $18, $18, $7E, $00, $00, $00, $00 ),
( $00, $00, $7C, $C6, $06, $0C, $18, $30, $60, $C0, $C6, $FE, $00, $00, $00, $00 ),
( $00, $00, $7C, $C6, $06, $06, $3C, $06, $06, $06, $C6, $7C, $00, $00, $00, $00 ),
( $00, $00, $0C, $1C, $3C, $6C, $CC, $FE, $0C, $0C, $0C, $1E, $00, $00, $00, $00 ),
( $00, $00, $FE, $C0, $C0, $C0, $FC, $06, $06, $06, $C6, $7C, $00, $00, $00, $00 ),
( $00, $00, $38, $60, $C0, $C0, $FC, $C6, $C6, $C6, $C6, $7C, $00, $00, $00, $00 ),
( $00, $00, $FE, $C6, $06, $06, $0C, $18, $30, $30, $30, $30, $00, $00, $00, $00 ),
( $00, $00, $7C, $C6, $C6, $C6, $7C, $C6, $C6, $C6, $C6, $7C, $00, $00, $00, $00 ),
( $00, $00, $7C, $C6, $C6, $C6, $7E, $06, $06, $06, $0C, $78, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $18, $18, $00, $00, $00, $18, $18, $00, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $18, $18, $00, $00, $00, $18, $18, $0c, $00, $00, $00, $00 ),
( $00, $00, $00, $60, $30, $18, $0c, $06, $0c, $18, $30, $60, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $00, $7e, $00, $00, $7e, $00, $00, $00, $00, $00, $00, $00 ),
( $00, $00, $00, $06, $0c, $18, $30, $60, $30, $18, $0c, $06, $00, $00, $00, $00 ),
( $00, $00, $3e, $63, $63, $30, $18, $18, $18, $00, $18, $18, $00, $00, $00, $00 ),
( $00, $00, $00, $3e, $63, $63, $7b, $7b, $7b, $3b, $03, $3e, $00, $00, $00, $00 ),
( $00, $00, $08, $1c, $36, $63, $63, $7f, $63, $63, $63, $63, $00, $00, $00, $00 ),
( $00, $00, $3f, $66, $66, $66, $3e, $66, $66, $66, $66, $3f, $00, $00, $00, $00 ),
( $00, $00, $3c, $66, $43, $03, $03, $03, $03, $43, $66, $3c, $00, $00, $00, $00 ),
( $00, $00, $1f, $36, $66, $66, $66, $66, $66, $66, $36, $1f, $00, $00, $00, $00 ),
( $00, $00, $7f, $66, $46, $16, $1e, $16, $06, $46, $66, $7f, $00, $00, $00, $00 ),
( $00, $00, $7f, $66, $46, $16, $1e, $16, $06, $06, $06, $0f, $00, $00, $00, $00 ),
( $00, $00, $3c, $66, $43, $03, $03, $7b, $63, $63, $66, $5c, $00, $00, $00, $00 ),
( $00, $00, $63, $63, $63, $63, $7f, $63, $63, $63, $63, $63, $00, $00, $00, $00 ),
( $00, $00, $3c, $18, $18, $18, $18, $18, $18, $18, $18, $3c, $00, $00, $00, $00 ),
( $00, $00, $78, $30, $30, $30, $30, $30, $33, $33, $33, $1e, $00, $00, $00, $00 ),
( $00, $00, $67, $66, $66, $36, $1e, $1e, $36, $66, $66, $67, $00, $00, $00, $00 ),
( $00, $00, $0f, $06, $06, $06, $06, $06, $06, $46, $66, $7f, $00, $00, $00, $00 ),
( $00, $00, $63, $77, $7f, $7f, $6b, $63, $63, $63, $63, $63, $00, $00, $00, $00 ),
( $00, $00, $63, $67, $6f, $7f, $7b, $73, $63, $63, $63, $63, $00, $00, $00, $00 ),
( $00, $00, $3e, $63, $63, $63, $63, $63, $63, $63, $63, $3e, $00, $00, $00, $00 ),
( $00, $00, $3f, $66, $66, $66, $3e, $06, $06, $06, $06, $0f, $00, $00, $00, $00 ),
( $00, $00, $3e, $63, $63, $63, $63, $63, $63, $6b, $7b, $3e, $30, $70, $00, $00 ),
( $00, $00, $3f, $66, $66, $66, $3e, $36, $66, $66, $66, $67, $00, $00, $00, $00 ),
( $00, $00, $3e, $63, $63, $06, $1c, $30, $60, $63, $63, $3e, $00, $00, $00, $00 ),
( $00, $00, $7e, $7e, $5a, $18, $18, $18, $18, $18, $18, $3c, $00, $00, $00, $00 ),
( $00, $00, $63, $63, $63, $63, $63, $63, $63, $63, $63, $3e, $00, $00, $00, $00 ),
( $00, $00, $63, $63, $63, $63, $63, $63, $63, $36, $1c, $08, $00, $00, $00, $00 ),
( $00, $00, $63, $63, $63, $63, $6b, $6b, $6b, $7f, $77, $36, $00, $00, $00, $00 ),
( $00, $00, $63, $63, $36, $3e, $1c, $1c, $3e, $36, $63, $63, $00, $00, $00, $00 ),
( $00, $00, $66, $66, $66, $66, $3c, $18, $18, $18, $18, $3c, $00, $00, $00, $00 ),
( $00, $00, $7f, $63, $61, $30, $18, $0c, $06, $43, $63, $7f, $00, $00, $00, $00 ),
( $00, $00, $3c, $0c, $0c, $0c, $0c, $0c, $0c, $0c, $0c, $3c, $00, $00, $00, $00 ),
( $00, $00, $00, $01, $03, $07, $0e, $1c, $38, $70, $60, $40, $00, $00, $00, $00 ),
( $00, $00, $3c, $30, $30, $30, $30, $30, $30, $30, $30, $3c, $00, $00, $00, $00 ),
( $08, $1c, $36, $63, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $ff, $00, $00 ),
( $0c, $0c, $18, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $00, $1e, $30, $3e, $33, $33, $33, $6e, $00, $00, $00, $00 ),
( $00, $00, $07, $06, $06, $1e, $36, $66, $66, $66, $66, $3e, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $00, $3e, $63, $03, $03, $03, $63, $3e, $00, $00, $00, $00 ),
( $00, $00, $38, $30, $30, $3c, $36, $33, $33, $33, $33, $6e, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $00, $3e, $63, $7f, $03, $03, $63, $3e, $00, $00, $00, $00 ),
( $00, $00, $1c, $36, $26, $06, $0f, $06, $06, $06, $06, $0f, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $00, $6e, $33, $33, $33, $33, $33, $3e, $30, $33, $1e, $00 ),
( $00, $00, $07, $06, $06, $36, $6e, $66, $66, $66, $66, $67, $00, $00, $00, $00 ),
( $00, $00, $18, $18, $00, $1c, $18, $18, $18, $18, $18, $3c, $00, $00, $00, $00 ),
( $00, $00, $60, $60, $00, $70, $60, $60, $60, $60, $60, $60, $66, $66, $3c, $00 ),
( $00, $00, $07, $06, $06, $66, $36, $1e, $1e, $36, $66, $67, $00, $00, $00, $00 ),
( $00, $00, $1c, $18, $18, $18, $18, $18, $18, $18, $18, $3c, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $00, $37, $7f, $6b, $6b, $6b, $6b, $63, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $00, $3b, $66, $66, $66, $66, $66, $66, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $00, $3e, $63, $63, $63, $63, $63, $3e, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $00, $3b, $66, $66, $66, $66, $66, $3e, $06, $06, $0f, $00 ),
( $00, $00, $00, $00, $00, $6e, $33, $33, $33, $33, $33, $3e, $30, $30, $78, $00 ),
( $00, $00, $00, $00, $00, $3b, $6e, $66, $06, $06, $06, $0f, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $00, $3e, $63, $06, $1c, $30, $63, $3e, $00, $00, $00, $00 ),
( $00, $00, $08, $0c, $0c, $3f, $0c, $0c, $0c, $0c, $6c, $38, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $00, $33, $33, $33, $33, $33, $33, $6e, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $00, $66, $66, $66, $66, $66, $3c, $18, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $00, $63, $63, $6b, $6b, $6b, $7f, $36, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $00, $63, $36, $1c, $1c, $1c, $36, $63, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $00, $63, $63, $63, $63, $63, $63, $7e, $60, $30, $1f, $00 ),
( $00, $00, $00, $00, $00, $7f, $33, $18, $0c, $06, $63, $7f, $00, $00, $00, $00 ),
( $00, $00, $70, $18, $18, $18, $0e, $18, $18, $18, $18, $70, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $18, $18, $00, $00, $00, $18, $18, $30, $00, $00, $00, $00 ),
( $00, $00, $00, $06, $0C, $18, $30, $60, $30, $18, $0C, $06, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $00, $7E, $00, $00, $7E, $00, $00, $00, $00, $00, $00, $00 ),
( $00, $00, $00, $60, $30, $18, $0C, $06, $0C, $18, $30, $60, $00, $00, $00, $00 ),
( $00, $00, $7C, $C6, $C6, $0C, $18, $18, $18, $00, $18, $18, $00, $00, $00, $00 ),
( $00, $00, $00, $7C, $C6, $C6, $DE, $DE, $DE, $DC, $C0, $7C, $00, $00, $00, $00 ),
( $00, $00, $10, $38, $6C, $C6, $C6, $FE, $C6, $C6, $C6, $C6, $00, $00, $00, $00 ),
( $00, $00, $FC, $66, $66, $66, $7C, $66, $66, $66, $66, $FC, $00, $00, $00, $00 ),
( $00, $00, $3C, $66, $C2, $C0, $C0, $C0, $C0, $C2, $66, $3C, $00, $00, $00, $00 ),
( $00, $00, $F8, $6C, $66, $66, $66, $66, $66, $66, $6C, $F8, $00, $00, $00, $00 ),
( $00, $00, $FE, $66, $62, $68, $78, $68, $60, $62, $66, $FE, $00, $00, $00, $00 ),
( $00, $00, $FE, $66, $62, $68, $78, $68, $60, $60, $60, $F0, $00, $00, $00, $00 ),
( $00, $00, $3C, $66, $C2, $C0, $C0, $DE, $C6, $C6, $66, $3A, $00, $00, $00, $00 ),
( $00, $00, $C6, $C6, $C6, $C6, $FE, $C6, $C6, $C6, $C6, $C6, $00, $00, $00, $00 ),
( $00, $00, $3C, $18, $18, $18, $18, $18, $18, $18, $18, $3C, $00, $00, $00, $00 ),
( $00, $00, $1E, $0C, $0C, $0C, $0C, $0C, $CC, $CC, $CC, $78, $00, $00, $00, $00 ),
( $00, $00, $E6, $66, $66, $6C, $78, $78, $6C, $66, $66, $E6, $00, $00, $00, $00 ),
( $00, $00, $F0, $60, $60, $60, $60, $60, $60, $62, $66, $FE, $00, $00, $00, $00 ),
( $00, $00, $C6, $EE, $FE, $FE, $D6, $C6, $C6, $C6, $C6, $C6, $00, $00, $00, $00 ),
( $00, $00, $C6, $E6, $F6, $FE, $DE, $CE, $C6, $C6, $C6, $C6, $00, $00, $00, $00 ),
( $00, $00, $7C, $C6, $C6, $C6, $C6, $C6, $C6, $C6, $C6, $7C, $00, $00, $00, $00 ),
( $00, $00, $FC, $66, $66, $66, $7C, $60, $60, $60, $60, $F0, $00, $00, $00, $00 ),
( $00, $00, $7C, $C6, $C6, $C6, $C6, $C6, $C6, $D6, $DE, $7C, $0C, $0E, $00, $00 ),
( $00, $00, $FC, $66, $66, $66, $7C, $6C, $66, $66, $66, $E6, $00, $00, $00, $00 ),
( $00, $00, $7C, $C6, $C6, $60, $38, $0C, $06, $C6, $C6, $7C, $00, $00, $00, $00 ),
( $00, $00, $7E, $7E, $5A, $18, $18, $18, $18, $18, $18, $3C, $00, $00, $00, $00 ),
( $00, $00, $C6, $C6, $C6, $C6, $C6, $C6, $C6, $C6, $C6, $7C, $00, $00, $00, $00 ),
( $00, $00, $C6, $C6, $C6, $C6, $C6, $C6, $C6, $6C, $38, $10, $00, $00, $00, $00 ),
( $00, $00, $C6, $C6, $C6, $C6, $D6, $D6, $D6, $FE, $EE, $6C, $00, $00, $00, $00 ),
( $00, $00, $C6, $C6, $6C, $7C, $38, $38, $7C, $6C, $C6, $C6, $00, $00, $00, $00 ),
( $00, $00, $66, $66, $66, $66, $3C, $18, $18, $18, $18, $3C, $00, $00, $00, $00 ),
( $00, $00, $FE, $C6, $86, $0C, $18, $30, $60, $C2, $C6, $FE, $00, $00, $00, $00 ),
( $00, $00, $3C, $30, $30, $30, $30, $30, $30, $30, $30, $3C, $00, $00, $00, $00 ),
( $00, $00, $00, $80, $C0, $E0, $70, $38, $1C, $0E, $06, $02, $00, $00, $00, $00 ),
( $00, $00, $3C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $0C, $3C, $00, $00, $00, $00 ),
( $10, $38, $6C, $C6, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $FF, $00, $00 ),
( $30, $30, $18, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $00, $78, $0C, $7C, $CC, $CC, $CC, $76, $00, $00, $00, $00 ),
( $00, $00, $E0, $60, $60, $78, $6C, $66, $66, $66, $66, $7C, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $00, $7C, $C6, $C0, $C0, $C0, $C6, $7C, $00, $00, $00, $00 ),
( $00, $00, $1C, $0C, $0C, $3C, $6C, $CC, $CC, $CC, $CC, $76, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $00, $7C, $C6, $FE, $C0, $C0, $C6, $7C, $00, $00, $00, $00 ),
( $00, $00, $38, $6C, $64, $60, $F0, $60, $60, $60, $60, $F0, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $00, $76, $CC, $CC, $CC, $CC, $CC, $7C, $0C, $CC, $78, $00 ),
( $00, $00, $E0, $60, $60, $6C, $76, $66, $66, $66, $66, $E6, $00, $00, $00, $00 ),
( $00, $00, $18, $18, $00, $38, $18, $18, $18, $18, $18, $3C, $00, $00, $00, $00 ),
( $00, $00, $06, $06, $00, $0E, $06, $06, $06, $06, $06, $06, $66, $66, $3C, $00 ),
( $00, $00, $E0, $60, $60, $66, $6C, $78, $78, $6C, $66, $E6, $00, $00, $00, $00 ),
( $00, $00, $38, $18, $18, $18, $18, $18, $18, $18, $18, $3C, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $00, $EC, $FE, $D6, $D6, $D6, $D6, $C6, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $00, $DC, $66, $66, $66, $66, $66, $66, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $00, $7C, $C6, $C6, $C6, $C6, $C6, $7C, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $00, $DC, $66, $66, $66, $66, $66, $7C, $60, $60, $F0, $00 ),
( $00, $00, $00, $00, $00, $76, $CC, $CC, $CC, $CC, $CC, $7C, $0C, $0C, $1E, $00 ),
( $00, $00, $00, $00, $00, $DC, $76, $66, $60, $60, $60, $F0, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $00, $7C, $C6, $60, $38, $0C, $C6, $7C, $00, $00, $00, $00 ),
( $00, $00, $10, $30, $30, $FC, $30, $30, $30, $30, $36, $1C, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $00, $CC, $CC, $CC, $CC, $CC, $CC, $76, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $00, $66, $66, $66, $66, $66, $3C, $18, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $00, $C6, $C6, $D6, $D6, $D6, $FE, $6C, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $00, $C6, $6C, $38, $38, $38, $6C, $C6, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $00, $C6, $C6, $C6, $C6, $C6, $C6, $7E, $06, $0C, $F8, $00 ),
( $00, $00, $00, $00, $00, $FE, $CC, $18, $30, $60, $C6, $FE, $00, $00, $00, $00 ),
( $00, $00, $0E, $18, $18, $18, $70, $18, $18, $18, $18, $0E, $00, $00, $00, $00 ),
( $00, $00, $18, $18, $18, $18, $00, $18, $18, $18, $18, $18, $00, $00, $00, $00 ),
( $00, $00, $0e, $18, $18, $18, $70, $18, $18, $18, $18, $0e, $00, $00, $00, $00 ),
( $00, $00, $6e, $3b, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $08, $1c, $36, $63, $63, $63, $7f, $00, $00, $00, $00, $00 ),
( $00, $00, $3c, $66, $43, $03, $03, $03, $43, $66, $3c, $30, $60, $3e, $00, $00 ),
( $00, $00, $33, $00, $00, $33, $33, $33, $33, $33, $33, $6e, $00, $00, $00, $00 ),
( $00, $30, $18, $0c, $00, $3e, $63, $7f, $03, $03, $63, $3e, $00, $00, $00, $00 ),
( $00, $08, $1c, $36, $00, $1e, $30, $3e, $33, $33, $33, $6e, $00, $00, $00, $00 ),
( $00, $00, $33, $00, $00, $1e, $30, $3e, $33, $33, $33, $6e, $00, $00, $00, $00 ),
( $00, $06, $0c, $18, $00, $1e, $30, $3e, $33, $33, $33, $6e, $00, $00, $00, $00 ),
( $00, $1c, $36, $1c, $00, $1e, $30, $3e, $33, $33, $33, $6e, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $3c, $66, $06, $06, $66, $3c, $30, $60, $3c, $00, $00, $00 ),
( $00, $08, $1c, $36, $00, $3e, $63, $7f, $03, $03, $63, $3e, $00, $00, $00, $00 ),
( $00, $00, $63, $00, $00, $3e, $63, $7f, $03, $03, $63, $3e, $00, $00, $00, $00 ),
( $00, $06, $0c, $18, $00, $3e, $63, $7f, $03, $03, $63, $3e, $00, $00, $00, $00 ),
( $00, $00, $66, $00, $00, $1c, $18, $18, $18, $18, $18, $3c, $00, $00, $00, $00 ),
( $00, $18, $3c, $66, $00, $1c, $18, $18, $18, $18, $18, $3c, $00, $00, $00, $00 ),
( $00, $06, $0c, $18, $00, $1c, $18, $18, $18, $18, $18, $3c, $00, $00, $00, $00 ),
( $00, $63, $00, $08, $1c, $36, $63, $63, $7f, $63, $63, $63, $00, $00, $00, $00 ),
( $1c, $36, $1c, $00, $1c, $36, $63, $63, $7f, $63, $63, $63, $00, $00, $00, $00 ),
( $18, $0c, $06, $00, $7f, $66, $06, $3e, $06, $06, $66, $7f, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $00, $33, $6e, $6c, $7e, $1b, $1b, $76, $00, $00, $00, $00 ),
( $00, $00, $7c, $36, $33, $33, $7f, $33, $33, $33, $33, $73, $00, $00, $00, $00 ),
( $00, $08, $1c, $36, $00, $3e, $63, $63, $63, $63, $63, $3e, $00, $00, $00, $00 ),
( $00, $00, $63, $00, $00, $3e, $63, $63, $63, $63, $63, $3e, $00, $00, $00, $00 ),
( $00, $06, $0c, $18, $00, $3e, $63, $63, $63, $63, $63, $3e, $00, $00, $00, $00 ),
( $00, $0c, $1e, $33, $00, $33, $33, $33, $33, $33, $33, $6e, $00, $00, $00, $00 ),
( $00, $06, $0c, $18, $00, $33, $33, $33, $33, $33, $33, $6e, $00, $00, $00, $00 ),
( $00, $00, $63, $00, $00, $63, $63, $63, $63, $63, $63, $7e, $60, $30, $1e, $00 ),
( $00, $63, $00, $3e, $63, $63, $63, $63, $63, $63, $63, $3e, $00, $00, $00, $00 ),
( $00, $63, $00, $63, $63, $63, $63, $63, $63, $63, $63, $3e, $00, $00, $00, $00 ),
( $00, $18, $18, $3c, $66, $06, $06, $06, $66, $3c, $18, $18, $00, $00, $00, $00 ),
( $00, $1c, $36, $26, $06, $0f, $06, $06, $06, $06, $67, $3f, $00, $00, $00, $00 ),
( $00, $00, $66, $66, $3c, $18, $7e, $18, $7e, $18, $18, $18, $00, $00, $00, $00 ),
( $00, $1f, $33, $33, $1f, $23, $33, $7b, $33, $33, $33, $63, $00, $00, $00, $00 ),
( $00, $70, $d8, $18, $18, $18, $7e, $18, $18, $18, $18, $18, $1b, $0e, $00, $00 ),
( $00, $18, $0c, $06, $00, $1e, $30, $3e, $33, $33, $33, $6e, $00, $00, $00, $00 ),
( $00, $30, $18, $0c, $00, $1c, $18, $18, $18, $18, $18, $3c, $00, $00, $00, $00 ),
( $00, $18, $0c, $06, $00, $3e, $63, $63, $63, $63, $63, $3e, $00, $00, $00, $00 ),
( $00, $18, $0c, $06, $00, $33, $33, $33, $33, $33, $33, $6e, $00, $00, $00, $00 ),
( $00, $00, $6e, $3b, $00, $3b, $66, $66, $66, $66, $66, $66, $00, $00, $00, $00 ),
( $6e, $3b, $00, $63, $67, $6f, $7f, $7b, $73, $63, $63, $63, $00, $00, $00, $00 ),
( $00, $3c, $36, $36, $7c, $00, $7e, $00, $00, $00, $00, $00, $00, $00, $00, $00 ),
( $00, $1c, $36, $36, $1c, $00, $3e, $00, $00, $00, $00, $00, $00, $00, $00, $00 ),
( $00, $00, $0c, $0c, $00, $0c, $0c, $06, $03, $63, $63, $3e, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $00, $00, $7f, $03, $03, $03, $03, $00, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $00, $00, $7f, $60, $60, $60, $60, $00, $00, $00, $00, $00 ),
( $00, $03, $03, $43, $63, $33, $18, $0c, $06, $3b, $61, $30, $18, $7c, $00, $00 ),
( $00, $03, $03, $43, $63, $33, $18, $0c, $66, $73, $79, $7c, $60, $60, $00, $00 ),
( $00, $00, $18, $18, $00, $18, $18, $18, $3c, $3c, $3c, $18, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $00, $6c, $36, $1b, $36, $6c, $00, $00, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $00, $1b, $36, $6c, $36, $1b, $00, $00, $00, $00, $00, $00 ),
( $88, $22, $88, $22, $88, $22, $88, $22, $88, $22, $88, $22, $88, $22, $88, $22 ),
( $aa, $55, $aa, $55, $aa, $55, $aa, $55, $aa, $55, $aa, $55, $aa, $55, $aa, $55 ),
( $bb, $ee, $bb, $ee, $bb, $ee, $bb, $ee, $bb, $ee, $bb, $ee, $bb, $ee, $bb, $ee ),
( $00, $00, $70, $18, $18, $18, $0E, $18, $18, $18, $18, $70, $00, $00, $00, $00 ),
( $00, $00, $76, $DC, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $10, $38, $6C, $C6, $C6, $C6, $FE, $00, $00, $00, $00, $00 ),
( $00, $00, $3C, $66, $C2, $C0, $C0, $C0, $C2, $66, $3C, $0C, $06, $7C, $00, $00 ),
( $00, $00, $CC, $00, $00, $CC, $CC, $CC, $CC, $CC, $CC, $76, $00, $00, $00, $00 ),
( $00, $0C, $18, $30, $00, $7C, $C6, $FE, $C0, $C0, $C6, $7C, $00, $00, $00, $00 ),
( $00, $10, $38, $6C, $00, $78, $0C, $7C, $CC, $CC, $CC, $76, $00, $00, $00, $00 ),
( $00, $00, $CC, $00, $00, $78, $0C, $7C, $CC, $CC, $CC, $76, $00, $00, $00, $00 ),
( $00, $60, $30, $18, $00, $78, $0C, $7C, $CC, $CC, $CC, $76, $00, $00, $00, $00 ),
( $00, $38, $6C, $38, $00, $78, $0C, $7C, $CC, $CC, $CC, $76, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $3C, $66, $60, $60, $66, $3C, $0C, $06, $3C, $00, $00, $00 ),
( $00, $10, $38, $6C, $00, $7C, $C6, $FE, $C0, $C0, $C6, $7C, $00, $00, $00, $00 ),
( $00, $00, $C6, $00, $00, $7C, $C6, $FE, $C0, $C0, $C6, $7C, $00, $00, $00, $00 ),
( $00, $60, $30, $18, $00, $7C, $C6, $FE, $C0, $C0, $C6, $7C, $00, $00, $00, $00 ),
( $00, $00, $66, $00, $00, $38, $18, $18, $18, $18, $18, $3C, $00, $00, $00, $00 ),
( $00, $18, $3C, $66, $00, $38, $18, $18, $18, $18, $18, $3C, $00, $00, $00, $00 ),
( $00, $60, $30, $18, $00, $38, $18, $18, $18, $18, $18, $3C, $00, $00, $00, $00 ),
( $00, $C6, $00, $10, $38, $6C, $C6, $C6, $FE, $C6, $C6, $C6, $00, $00, $00, $00 ),
( $38, $6C, $38, $00, $38, $6C, $C6, $C6, $FE, $C6, $C6, $C6, $00, $00, $00, $00 ),
( $18, $30, $60, $00, $FE, $66, $60, $7C, $60, $60, $66, $FE, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $00, $CC, $76, $36, $7E, $D8, $D8, $6E, $00, $00, $00, $00 ),
( $00, $00, $3E, $6C, $CC, $CC, $FE, $CC, $CC, $CC, $CC, $CE, $00, $00, $00, $00 ),
( $00, $10, $38, $6C, $00, $7C, $C6, $C6, $C6, $C6, $C6, $7C, $00, $00, $00, $00 ),
( $00, $00, $C6, $00, $00, $7C, $C6, $C6, $C6, $C6, $C6, $7C, $00, $00, $00, $00 ),
( $00, $60, $30, $18, $00, $7C, $C6, $C6, $C6, $C6, $C6, $7C, $00, $00, $00, $00 ),
( $00, $30, $78, $CC, $00, $CC, $CC, $CC, $CC, $CC, $CC, $76, $00, $00, $00, $00 ),
( $00, $60, $30, $18, $00, $CC, $CC, $CC, $CC, $CC, $CC, $76, $00, $00, $00, $00 ),
( $00, $00, $C6, $00, $00, $C6, $C6, $C6, $C6, $C6, $C6, $7E, $06, $0C, $78, $00 ),
( $00, $C6, $00, $7C, $C6, $C6, $C6, $C6, $C6, $C6, $C6, $7C, $00, $00, $00, $00 ),
( $00, $C6, $00, $C6, $C6, $C6, $C6, $C6, $C6, $C6, $C6, $7C, $00, $00, $00, $00 ),
( $00, $18, $18, $3C, $66, $60, $60, $60, $66, $3C, $18, $18, $00, $00, $00, $00 ),
( $00, $38, $6C, $64, $60, $F0, $60, $60, $60, $60, $E6, $FC, $00, $00, $00, $00 ),
( $00, $00, $66, $66, $3C, $18, $7E, $18, $7E, $18, $18, $18, $00, $00, $00, $00 ),
( $00, $F8, $CC, $CC, $F8, $C4, $CC, $DE, $CC, $CC, $CC, $C6, $00, $00, $00, $00 ),
( $00, $0E, $1B, $18, $18, $18, $7E, $18, $18, $18, $18, $18, $D8, $70, $00, $00 ),
( $00, $18, $30, $60, $00, $78, $0C, $7C, $CC, $CC, $CC, $76, $00, $00, $00, $00 ),
( $00, $0C, $18, $30, $00, $38, $18, $18, $18, $18, $18, $3C, $00, $00, $00, $00 ),
( $00, $18, $30, $60, $00, $7C, $C6, $C6, $C6, $C6, $C6, $7C, $00, $00, $00, $00 ),
( $00, $18, $30, $60, $00, $CC, $CC, $CC, $CC, $CC, $CC, $76, $00, $00, $00, $00 ),
( $00, $00, $76, $DC, $00, $DC, $66, $66, $66, $66, $66, $66, $00, $00, $00, $00 ),
( $76, $DC, $00, $C6, $E6, $F6, $FE, $DE, $CE, $C6, $C6, $C6, $00, $00, $00, $00 ),
( $00, $3C, $6C, $6C, $3E, $00, $7E, $00, $00, $00, $00, $00, $00, $00, $00, $00 ),
( $00, $38, $6C, $6C, $38, $00, $7C, $00, $00, $00, $00, $00, $00, $00, $00, $00 ),
( $00, $00, $30, $30, $00, $30, $30, $60, $C0, $C6, $C6, $7C, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $00, $00, $FE, $C0, $C0, $C0, $C0, $00, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $00, $00, $FE, $06, $06, $06, $06, $00, $00, $00, $00, $00 ),
( $00, $C0, $C0, $C2, $C6, $CC, $18, $30, $60, $DC, $86, $0C, $18, $3E, $00, $00 ),
( $00, $C0, $C0, $C2, $C6, $CC, $18, $30, $66, $CE, $9E, $3E, $06, $06, $00, $00 ),
( $00, $00, $18, $18, $00, $18, $18, $18, $3C, $3C, $3C, $18, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $00, $36, $6C, $D8, $6C, $36, $00, $00, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $00, $D8, $6C, $36, $6C, $D8, $00, $00, $00, $00, $00, $00 ),
( $11, $44, $11, $44, $11, $44, $11, $44, $11, $44, $11, $44, $11, $44, $11, $44 ),
( $55, $AA, $55, $AA, $55, $AA, $55, $AA, $55, $AA, $55, $AA, $55, $AA, $55, $AA ),
( $DD, $77, $DD, $77, $DD, $77, $DD, $77, $DD, $77, $DD, $77, $DD, $77, $DD, $77 ),
( $18, $18, $18, $18, $18, $18, $18, $18, $18, $18, $18, $18, $18, $18, $18, $18 ),
( $18, $18, $18, $18, $18, $18, $18, $1f, $18, $18, $18, $18, $18, $18, $18, $18 ),
( $18, $18, $18, $18, $18, $1f, $18, $1f, $18, $18, $18, $18, $18, $18, $18, $18 ),
( $6c, $6c, $6c, $6c, $6c, $6c, $6c, $6f, $6c, $6c, $6c, $6c, $6c, $6c, $6c, $6c ),
( $00, $00, $00, $00, $00, $00, $00, $7f, $6c, $6c, $6c, $6c, $6c, $6c, $6c, $6c ),
( $00, $00, $00, $00, $00, $1f, $18, $1f, $18, $18, $18, $18, $18, $18, $18, $18 ),
( $6c, $6c, $6c, $6c, $6c, $6f, $60, $6f, $6c, $6c, $6c, $6c, $6c, $6c, $6c, $6c ),
( $6c, $6c, $6c, $6c, $6c, $6c, $6c, $6c, $6c, $6c, $6c, $6c, $6c, $6c, $6c, $6c ),
( $00, $00, $00, $00, $00, $7f, $60, $6f, $6c, $6c, $6c, $6c, $6c, $6c, $6c, $6c ),
( $6c, $6c, $6c, $6c, $6c, $6f, $60, $7f, $00, $00, $00, $00, $00, $00, $00, $00 ),
( $6c, $6c, $6c, $6c, $6c, $6c, $6c, $7f, $00, $00, $00, $00, $00, $00, $00, $00 ),
( $18, $18, $18, $18, $18, $1f, $18, $1f, $00, $00, $00, $00, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $00, $00, $00, $1f, $18, $18, $18, $18, $18, $18, $18, $18 ),
( $18, $18, $18, $18, $18, $18, $18, $f8, $00, $00, $00, $00, $00, $00, $00, $00 ),
( $18, $18, $18, $18, $18, $18, $18, $ff, $00, $00, $00, $00, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $00, $00, $00, $ff, $18, $18, $18, $18, $18, $18, $18, $18 ),
( $18, $18, $18, $18, $18, $18, $18, $f8, $18, $18, $18, $18, $18, $18, $18, $18 ),
( $00, $00, $00, $00, $00, $00, $00, $ff, $00, $00, $00, $00, $00, $00, $00, $00 ),
( $18, $18, $18, $18, $18, $18, $18, $ff, $18, $18, $18, $18, $18, $18, $18, $18 ),
( $18, $18, $18, $18, $18, $f8, $18, $f8, $18, $18, $18, $18, $18, $18, $18, $18 ),
( $6c, $6c, $6c, $6c, $6c, $6c, $6c, $ec, $6c, $6c, $6c, $6c, $6c, $6c, $6c, $6c ),
( $6c, $6c, $6c, $6c, $6c, $ec, $0c, $fc, $00, $00, $00, $00, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $00, $fc, $0c, $ec, $6c, $6c, $6c, $6c, $6c, $6c, $6c, $6c ),
( $6c, $6c, $6c, $6c, $6c, $ef, $00, $ff, $00, $00, $00, $00, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $00, $ff, $00, $ef, $6c, $6c, $6c, $6c, $6c, $6c, $6c, $6c ),
( $6c, $6c, $6c, $6c, $6c, $ec, $0c, $ec, $6c, $6c, $6c, $6c, $6c, $6c, $6c, $6c ),
( $00, $00, $00, $00, $00, $ff, $00, $ff, $00, $00, $00, $00, $00, $00, $00, $00 ),
( $6c, $6c, $6c, $6c, $6c, $ef, $00, $ef, $6c, $6c, $6c, $6c, $6c, $6c, $6c, $6c ),
( $18, $18, $18, $18, $18, $ff, $00, $ff, $00, $00, $00, $00, $00, $00, $00, $00 ),
( $6c, $6c, $6c, $6c, $6c, $6c, $6c, $ff, $00, $00, $00, $00, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $00, $ff, $00, $ff, $18, $18, $18, $18, $18, $18, $18, $18 ),
( $00, $00, $00, $00, $00, $00, $00, $ff, $6c, $6c, $6c, $6c, $6c, $6c, $6c, $6c ),
( $6c, $6c, $6c, $6c, $6c, $6c, $6c, $fc, $00, $00, $00, $00, $00, $00, $00, $00 ),
( $18, $18, $18, $18, $18, $f8, $18, $f8, $00, $00, $00, $00, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $00, $f8, $18, $f8, $18, $18, $18, $18, $18, $18, $18, $18 ),
( $00, $00, $00, $00, $00, $00, $00, $fc, $6c, $6c, $6c, $6c, $6c, $6c, $6c, $6c ),
( $6c, $6c, $6c, $6c, $6c, $6c, $6c, $ff, $6c, $6c, $6c, $6c, $6c, $6c, $6c, $6c ),
( $18, $18, $18, $18, $18, $ff, $18, $ff, $18, $18, $18, $18, $18, $18, $18, $18 ),
( $18, $18, $18, $18, $18, $18, $18, $1f, $00, $00, $00, $00, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $00, $00, $00, $f8, $18, $18, $18, $18, $18, $18, $18, $18 ),
( $ff, $ff, $ff, $ff, $ff, $ff, $ff, $ff, $ff, $ff, $ff, $ff, $ff, $ff, $ff, $ff ),
( $00, $00, $00, $00, $00, $00, $00, $ff, $ff, $ff, $ff, $ff, $ff, $ff, $ff, $ff ),
( $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f, $0f ),
( $f0, $f0, $f0, $f0, $f0, $f0, $f0, $f0, $f0, $f0, $f0, $f0, $f0, $f0, $f0, $f0 ),
( $ff, $ff, $ff, $ff, $ff, $ff, $ff, $00, $00, $00, $00, $00, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $00, $6e, $3b, $1b, $1b, $1b, $3b, $6e, $00, $00, $00, $00 ),
( $00, $00, $1e, $33, $33, $33, $1b, $33, $63, $63, $63, $33, $00, $00, $00, $00 ),
( $00, $00, $7f, $63, $63, $03, $03, $03, $03, $03, $03, $03, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $7f, $36, $36, $36, $36, $36, $36, $36, $00, $00, $00, $00 ),
( $00, $00, $00, $7f, $63, $06, $0c, $18, $0c, $06, $63, $7f, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $00, $7e, $1b, $1b, $1b, $1b, $1b, $0e, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $66, $66, $66, $66, $66, $3e, $06, $06, $03, $00, $00, $00 ),
( $00, $00, $00, $00, $6e, $3b, $18, $18, $18, $18, $18, $18, $00, $00, $00, $00 ),
( $00, $00, $00, $7e, $18, $3c, $66, $66, $66, $3c, $18, $7e, $00, $00, $00, $00 ),
( $00, $00, $00, $1c, $36, $63, $63, $7f, $63, $63, $36, $1c, $00, $00, $00, $00 ),
( $00, $00, $1c, $36, $63, $63, $63, $36, $36, $36, $36, $77, $00, $00, $00, $00 ),
( $00, $00, $78, $0c, $18, $30, $7c, $66, $66, $66, $66, $3c, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $00, $7e, $db, $db, $db, $7e, $00, $00, $00, $00, $00, $00 ),
( $00, $00, $00, $c0, $60, $7e, $db, $db, $cf, $7e, $06, $03, $00, $00, $00, $00 ),
( $00, $00, $38, $0c, $06, $06, $3e, $06, $06, $06, $0c, $38, $00, $00, $00, $00 ),
( $00, $00, $00, $3e, $63, $63, $63, $63, $63, $63, $63, $63, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $7f, $00, $00, $7f, $00, $00, $7f, $00, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $18, $18, $7e, $18, $18, $00, $00, $ff, $00, $00, $00, $00 ),
( $00, $00, $00, $0c, $18, $30, $60, $30, $18, $0c, $00, $7e, $00, $00, $00, $00 ),
( $00, $00, $00, $30, $18, $0c, $06, $0c, $18, $30, $00, $7e, $00, $00, $00, $00 ),
( $00, $00, $70, $d8, $d8, $18, $18, $18, $18, $18, $18, $18, $18, $18, $18, $18 ),
( $18, $18, $18, $18, $18, $18, $18, $18, $1b, $1b, $1b, $0e, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $18, $18, $00, $7e, $00, $18, $18, $00, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $00, $6e, $3b, $00, $6e, $3b, $00, $00, $00, $00, $00, $00 ),
( $00, $1c, $36, $36, $1c, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ),
( $18, $18, $18, $18, $18, $18, $18, $F8, $18, $18, $18, $18, $18, $18, $18, $18 ),
( $18, $18, $18, $18, $18, $F8, $18, $F8, $18, $18, $18, $18, $18, $18, $18, $18 ),
( $36, $36, $36, $36, $36, $36, $36, $F6, $36, $36, $36, $36, $36, $36, $36, $36 ),
( $00, $00, $00, $00, $00, $00, $00, $FE, $36, $36, $36, $36, $36, $36, $36, $36 ),
( $00, $00, $00, $00, $00, $F8, $18, $F8, $18, $18, $18, $18, $18, $18, $18, $18 ),
( $36, $36, $36, $36, $36, $F6, $06, $F6, $36, $36, $36, $36, $36, $36, $36, $36 ),
( $36, $36, $36, $36, $36, $36, $36, $36, $36, $36, $36, $36, $36, $36, $36, $36 ),
( $00, $00, $00, $00, $00, $FE, $06, $F6, $36, $36, $36, $36, $36, $36, $36, $36 ),
( $36, $36, $36, $36, $36, $F6, $06, $FE, $00, $00, $00, $00, $00, $00, $00, $00 ),
( $36, $36, $36, $36, $36, $36, $36, $FE, $00, $00, $00, $00, $00, $00, $00, $00 ),
( $18, $18, $18, $18, $18, $F8, $18, $F8, $00, $00, $00, $00, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $00, $00, $00, $F8, $18, $18, $18, $18, $18, $18, $18, $18 ),
( $18, $18, $18, $18, $18, $18, $18, $1F, $00, $00, $00, $00, $00, $00, $00, $00 ),
( $18, $18, $18, $18, $18, $18, $18, $FF, $00, $00, $00, $00, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $00, $00, $00, $FF, $18, $18, $18, $18, $18, $18, $18, $18 ),
( $18, $18, $18, $18, $18, $18, $18, $1F, $18, $18, $18, $18, $18, $18, $18, $18 ),
( $00, $00, $00, $00, $00, $00, $00, $FF, $00, $00, $00, $00, $00, $00, $00, $00 ),
( $18, $18, $18, $18, $18, $18, $18, $FF, $18, $18, $18, $18, $18, $18, $18, $18 ),
( $18, $18, $18, $18, $18, $1F, $18, $1F, $18, $18, $18, $18, $18, $18, $18, $18 ),
( $36, $36, $36, $36, $36, $36, $36, $37, $36, $36, $36, $36, $36, $36, $36, $36 ),
( $36, $36, $36, $36, $36, $37, $30, $3F, $00, $00, $00, $00, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $00, $3F, $30, $37, $36, $36, $36, $36, $36, $36, $36, $36 ),
( $36, $36, $36, $36, $36, $F7, $00, $FF, $00, $00, $00, $00, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $00, $FF, $00, $F7, $36, $36, $36, $36, $36, $36, $36, $36 ),
( $36, $36, $36, $36, $36, $37, $30, $37, $36, $36, $36, $36, $36, $36, $36, $36 ),
( $00, $00, $00, $00, $00, $FF, $00, $FF, $00, $00, $00, $00, $00, $00, $00, $00 ),
( $36, $36, $36, $36, $36, $F7, $00, $F7, $36, $36, $36, $36, $36, $36, $36, $36 ),
( $18, $18, $18, $18, $18, $FF, $00, $FF, $00, $00, $00, $00, $00, $00, $00, $00 ),
( $36, $36, $36, $36, $36, $36, $36, $FF, $00, $00, $00, $00, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $00, $FF, $00, $FF, $18, $18, $18, $18, $18, $18, $18, $18 ),
( $00, $00, $00, $00, $00, $00, $00, $FF, $36, $36, $36, $36, $36, $36, $36, $36 ),
( $36, $36, $36, $36, $36, $36, $36, $3F, $00, $00, $00, $00, $00, $00, $00, $00 ),
( $18, $18, $18, $18, $18, $1F, $18, $1F, $00, $00, $00, $00, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $00, $1F, $18, $1F, $18, $18, $18, $18, $18, $18, $18, $18 ),
( $00, $00, $00, $00, $00, $00, $00, $3F, $36, $36, $36, $36, $36, $36, $36, $36 ),
( $36, $36, $36, $36, $36, $36, $36, $FF, $36, $36, $36, $36, $36, $36, $36, $36 ),
( $18, $18, $18, $18, $18, $FF, $18, $FF, $18, $18, $18, $18, $18, $18, $18, $18 ),
( $18, $18, $18, $18, $18, $18, $18, $F8, $00, $00, $00, $00, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $00, $00, $00, $1F, $18, $18, $18, $18, $18, $18, $18, $18 ),
( $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ),
( $00, $00, $00, $00, $00, $00, $00, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ),
( $F0, $F0, $F0, $F0, $F0, $F0, $F0, $F0, $F0, $F0, $F0, $F0, $F0, $F0, $F0, $F0 ),
( $0F, $0F, $0F, $0F, $0F, $0F, $0F, $0F, $0F, $0F, $0F, $0F, $0F, $0F, $0F, $0F ),
( $FF, $FF, $FF, $FF, $FF, $FF, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $00, $76, $DC, $D8, $D8, $D8, $DC, $76, $00, $00, $00, $00 ),
( $00, $00, $78, $CC, $CC, $CC, $D8, $CC, $C6, $C6, $C6, $CC, $00, $00, $00, $00 ),
( $00, $00, $FE, $C6, $C6, $C0, $C0, $C0, $C0, $C0, $C0, $C0, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $FE, $6C, $6C, $6C, $6C, $6C, $6C, $6C, $00, $00, $00, $00 ),
( $00, $00, $00, $FE, $C6, $60, $30, $18, $30, $60, $C6, $FE, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $00, $7E, $D8, $D8, $D8, $D8, $D8, $70, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $66, $66, $66, $66, $66, $7C, $60, $60, $C0, $00, $00, $00 ),
( $00, $00, $00, $00, $76, $DC, $18, $18, $18, $18, $18, $18, $00, $00, $00, $00 ),
( $00, $00, $00, $7E, $18, $3C, $66, $66, $66, $3C, $18, $7E, $00, $00, $00, $00 ),
( $00, $00, $00, $38, $6C, $C6, $C6, $FE, $C6, $C6, $6C, $38, $00, $00, $00, $00 ),
( $00, $00, $38, $6C, $C6, $C6, $C6, $6C, $6C, $6C, $6C, $EE, $00, $00, $00, $00 ),
( $00, $00, $1E, $30, $18, $0C, $3E, $66, $66, $66, $66, $3C, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $00, $7E, $DB, $DB, $DB, $7E, $00, $00, $00, $00, $00, $00 ),
( $00, $00, $00, $03, $06, $7E, $DB, $DB, $F3, $7E, $60, $C0, $00, $00, $00, $00 ),
( $00, $00, $1C, $30, $60, $60, $7C, $60, $60, $60, $30, $1C, $00, $00, $00, $00 ),
( $00, $00, $00, $7C, $C6, $C6, $C6, $C6, $C6, $C6, $C6, $C6, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $FE, $00, $00, $FE, $00, $00, $FE, $00, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $18, $18, $7E, $18, $18, $00, $00, $FF, $00, $00, $00, $00 ),
( $00, $00, $00, $30, $18, $0C, $06, $0C, $18, $30, $00, $7E, $00, $00, $00, $00 ),
( $00, $00, $00, $0C, $18, $30, $60, $30, $18, $0C, $00, $7E, $00, $00, $00, $00 ),
( $00, $00, $0E, $1B, $1B, $18, $18, $18, $18, $18, $18, $18, $18, $18, $18, $18 ),
( $18, $18, $18, $18, $18, $18, $18, $18, $D8, $D8, $D8, $70, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $18, $18, $00, $7E, $00, $18, $18, $00, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $00, $76, $DC, $00, $76, $DC, $00, $00, $00, $00, $00, $00 ),
( $00, $38, $6C, $6C, $38, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $00, $00, $00, $18, $18, $00, $00, $00, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $00, $00, $00, $00, $18, $00, $00, $00, $00, $00, $00, $00 ),
( $00, $f0, $30, $30, $30, $30, $30, $37, $36, $36, $3c, $38, $00, $00, $00, $00 ),
( $00, $1b, $36, $36, $36, $36, $36, $00, $00, $00, $00, $00, $00, $00, $00, $00 ),
( $00, $0e, $1b, $0c, $06, $13, $1f, $00, $00, $00, $00, $00, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $3e, $3e, $3e, $3e, $3e, $3e, $3e, $00, $00, $00, $00, $00 ),
( $00, $0F, $0C, $0C, $0C, $0C, $0C, $EC, $6C, $6C, $3C, $1C, $00, $00, $00, $00 ),
( $00, $D8, $6C, $6C, $6C, $6C, $6C, $00, $00, $00, $00, $00, $00, $00, $00, $00 ),
( $00, $70, $D8, $30, $60, $C8, $F8, $00, $00, $00, $00, $00, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $7C, $7C, $7C, $7C, $7C, $7C, $7C, $00, $00, $00, $00, $00 ),
( $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 )
);