; global variables at the start of hram DEF vCurrentSpread EQU $ff90 ; 16bit address of current spread DEF vSelectedSpreadIndex equ vCurrentSpread + 2 def vSelectedSpreadCard equ vSelectedSpreadIndex + 1 def vSelectedCardIndex equ vSelectedSpreadCard+1 DEF vFrameCountSquares EQU vSelectedCardIndex+1 DEF vTime EQU vFrameCountSquares+1 ; 16bit println "after vTime is ", vTime+2 ; (but after async vars!) ; they probably don't needd to be there but whatever DEF vFrameCount1 EQU VARIABLES_START DEF vFrameCount2 equ vFrameCount1+1 DEF vFrameCount3 EQU vFrameCount2+1 DEF vMenuIndex equ vFrameCount3 + 1 DEF vMenuIndexPrevious equ vMenuIndex + 1 ScreenMainMenu: dw MainMenuSetup dw MainMenuUpdate dw MainMenuDraw dw MainMenuTeardown MainMenuSetup: ; Turn the LCD off ld hl, rLCDC bit 7, [hl] jp z, MainMenuSetup_ScreenOff MainMenuSetup_BusyWait: ld a, [rLY] cp a, 143 jp c, MainMenuSetup_BusyWait ld [hl], 0 MainMenuSetup_ScreenOff: ld a, 0 ldh [rLCDC], a ld hl, SquaresTileset8 ld de, $8010 + $80*16 ld bc, (SquaresTilesetEnd - SquaresTileset8) call CopyRangeUnsafe def spacing equ $12 ld hl, CardBackSprites24 ; source def TileStartCardBackSprites24 equ 0 ld de, $8000 + TileStartCardBackSprites24*$10; destination of copy ld bc, CardBackSprites24End - CardBackSprites24 ; length to copy call CopyRangeUnsafe ld hl, CardBackSprites23 def TileStartCardBackSprites23 equ TileStartCardBackSprites24 + spacing ld de, $8000 + TileStartCardBackSprites23*$10; destination of copy ld bc, CardBackSprites23End - CardBackSprites23 call CopyRangeUnsafe ld hl, CardBackSprites22 def TileStartCardBackSprites22 equ TileStartCardBackSprites23 + spacing ld de, $8000 + TileStartCardBackSprites22*$10; destination of copy ld bc, CardBackSprites22End - CardBackSprites22 call CopyRangeUnsafe ld hl, CardBackSprites21 def TileStartCardBackSprites21 equ TileStartCardBackSprites22 + spacing ld de, $8000 + TileStartCardBackSprites21*$10; destination of copy ld bc, CardBackSprites21End - CardBackSprites21 call CopyRangeUnsafe ld hl, CardBackSprites20 def TileStartCardBackSprites20 equ TileStartCardBackSprites21 + spacing ld de, $8000 + TileStartCardBackSprites20*$10 ld bc, CardBackSprites20End - CardBackSprites20 call CopyRangeUnsafe ld hl, CardBackSprites19 def TileStartCardBackSprites19 equ TileStartCardBackSprites20 + spacing ld de, $8000 + TileStartCardBackSprites19*$10 ld bc, CardBackSprites19End - CardBackSprites19 call CopyRangeUnsafe ld hl, CardBackSprites18 def TileStartCardBackSprites18 equ TileStartCardBackSprites19 + spacing ld de, $8000 + TileStartCardBackSprites18*$10 ld bc, CardBackSprites18End - CardBackSprites18 call CopyRangeUnsafe ld hl, CardBackSprites17 def TileStartCardBackSprites17 equ TileStartCardBackSprites18 + spacing ld de, $8000 + TileStartCardBackSprites17*$10 ld bc, CardBackSprites17End - CardBackSprites17 call CopyRangeUnsafe def TileStartCardBackSprites16 equ TileStartCardBackSprites17 + spacing ld hl, SquaresTilemap ld de, $9800 ld b, 18 ld c, 20 call CopyTilesToMapUnsafe ld hl, StringRead ld de, $9800 + 32*11 + 4 call PrintString ld hl, StringShuffle ld de, $9800 + 32*13 + 4 call PrintString ld hl, StringBrowse ld de, $9800 + 32*15 + 4 call PrintString ; clear out the dma source ld hl, $c000 ld a, 0 : ld [hl+], a cp a, l jp nz, :- ld de, vTime+2 ld a, $c0 call RunDMA ; set LCD and display registers ld a, %11100100 ld [rBGP], a ld [rOBP0], a ld a, LCDCF_BLK21 | LCDCF_ON | LCDCF_BGON | LCDCF_OBJON | LCDCF_OBJ16 ldh [rLCDC], a ld a, 0 ldh [vFrameCount1], a ; first starts at 0 ldh [vTime], a ldh [vTime+1], a ldh [vMenuIndex], a ldh [vMenuIndexPrevious], a ; second starts at 1/3 length which is approximately L/2 - L/4 - L/8 + L/16 ? ld hl, Coords ld a, [hl] ld b, a srl b sub a, b ; L - L/2 srl b sub a, b ; L - L/2 - L/4 srl b add a, b ; L - L/2 - L/4 + L/8 srl b sub a, b ; L - L/2 - L/4 + L/8 - L/16 srl b add a, b ; L - L/2 - L/4 + L/8 - L/16 + L/32 srl b sub a, b ; L - L/2 - L/4 + L/8 - L/16 + L/32 - L/64 srl b add a, b ; L - L/2 - L/4 + L/8 - L/16 + L/32 - L/64 + L/128 ; that should be approx 1/3 of L ! ldh [vFrameCount2], a ; third starts at 2/3 length which is approximately L/2 - L/4 + L/8 - L/16 ? ld hl, Coords ld a, [hl] ld b, a srl b sub a, b ; L - L/2 srl b add a, b ; L - L/2 + L/4 srl b sub a, b ; L - L/2 + L/4 - L/8 srl b add a, b ; L - L/2 + L/4 - L/8 + L/16 srl b sub a, b ; L - L/2 + L/4 - L/8 + L/16 - L/32 srl b add a, b ; L - L/2 + L/4 - L/8 + L/16 - L/32 + L/64 srl b sub a, b ; L - L/2 + L/4 - L/8 + L/16 - L/32 + L/64 - L/128 ; that should be just about 2/3 of L ! ldh [vFrameCount3], a ;ld hl, Coords ;ld a, [hl] ;srl a ;ldh [vFrameCount4], a ld a, 0 ldh [vFrameCountSquares], a ; load graphics into vram for deck face ; set up variables: LFSR stuff ret ; return from cardreadsetup MainMenuUpdate: ; if pressing a key and unblocked: ; signal an animation to start ; turn on block ; if in animation state: ; increment timer ; if timer is max, turn off animation state and unblock? ld hl, rMYBTNP ldh a, [vMenuIndex] bit 3, [hl] ; select the down key jp z, .doneWithDownInput ; skip the following code if down is not pressed inc a .doneWithDownInput bit 2, [hl] ; select up key %0000_0100 jp z, .doneWithUpInput ; skip the following code if up is not pressed dec a .doneWithUpInput ld hl, MenuCount call ArrayClampLooping ldh [vMenuIndex], a ld hl, rMYBTNP bit 5, [hl] ; button a pressed? jp z, .doneWithMenuSelect ld a, [vMenuIndex] cp a, 0 jp z, .option1 cp a, 1 jp z, .option2 cp a, 2 jp z, .option3 jp .doneWithMenuSelect .option1 ld a, 0 ldh [vSelectedSpreadIndex], a ld hl, ScreenSpreadSelect call ChangeScene ret .option2 jp .doneWithMenuSelect .option3 ld a, 0 ldh [vSelectedCardIndex], a ld hl, ScreenCardBrowse call ChangeScene ret .doneWithMenuSelect ld hl, vTime ldh a, [rDELTAT] ld b, a ldh a, [vTime] add a, b ldh [vTime], a ldh a, [vTime+1] adc a, 0 ldh [vTime+1], a ; increment time. when the 16bit time register is greater ; than 4096 ($10_00) then one second has passed. so that's satisfied when ; vTime+1 is equal to or greater than $10 ldh a, [vTime+1] cp a, $01 jp c, MainMenuUpdate_Done ; if the timer is less than $0100, skip to end ;otherwise reset the timer ld a, 0 ldh [vTime], a ldh [vTime+1], a ld hl, Coords ; and advance the frame counts ldh a, [vFrameCount1] inc a call ArrayClampLooping ldh [vFrameCount1], a ldh a, [vFrameCount2] inc a call ArrayClampLooping ldh [vFrameCount2], a ldh a, [vFrameCount3] inc a call ArrayClampLooping ldh [vFrameCount3], a ;ldh a, [vFrameCount4] ;inc a ;call ArrayClampLooping ;ldh [vFrameCount4], a ld hl, SquaresTiles ldh a, [vFrameCountSquares] inc a call ArrayClampLooping ldh [vFrameCountSquares], a ld hl, Coords inc hl ld b, 0 ld a, [vFrameCount1] ld c, a add hl, bc add hl, bc add hl, bc ld a, [hl+] ld b, a ; y coordinate ld a, [hl+] ld c, a ; x coordinate ld a, [hl+] ld e, a ; width ld hl, $c000 call DrawWholeCard ld hl, Coords inc hl ld b, 0 ld a, [vFrameCount2] ld c, a add hl, bc add hl, bc add hl, bc ld a, [hl+] ld b, a ; y coordinate ld a, [hl+] ld c, a ; x coordinate ld a, [hl+] ld e, a ; width ld hl, $c000 + 9*4 call DrawWholeCard ld hl, Coords inc hl ld b, 0 ld a, [vFrameCount3] ld c, a add hl, bc add hl, bc add hl, bc ld a, [hl+] ld b, a ; y coordinate ld a, [hl+] ld c, a ; x coordinate ld a, [hl+] ld e, a ; width ld hl, $c000 + 18*4 call DrawWholeCard MainMenuUpdate_Done: ret MainMenuDraw: ld hl, $9800 + 32*11 + 3 - 64 ld a, [vMenuIndexPrevious] inc a ld b, 0 ld c, 32 .findLastCaret add hl, bc add hl, bc dec a jp nz, .findLastCaret ld [hl], $0 ld hl, $9800 + 32*11 + 3 - 64 ld a, [vMenuIndex] inc a .findNewCaret add hl, bc add hl, bc dec a jp nz, .findNewCaret ld [hl], $80 + $10 + $9 ld a, [vMenuIndex] ld [vMenuIndexPrevious], a ld de, vMenuIndexPrevious+2 ld a, $c0 call RunDMA ld hl, SquaresTiles inc hl ld b, 0 ldh a, [vFrameCountSquares] ld c, a add hl, bc add hl, bc ld c, [hl] inc hl ld b, [hl] ld h, b ld l, c ld de, $8000+$100*16 + 1*16 ld bc, (SquaresTileset8 - SquaresTileset7) / 8 call CopyRangeUnsafeBy8s ret MainMenuTeardown: ret DrawWholeCard: ; hl memory location, b y, c x, e width, d wiggle ld a, e cp a, 24 ld e, TileStartCardBackSprites24 jp z, Draw3x3Card cp a, 23 ld e, TileStartCardBackSprites23 jp z, Draw3x3Card cp a, 22 ld e, TileStartCardBackSprites22 jp z, Draw3x3Card cp a, 21 ld e, TileStartCardBackSprites21 jp z, Draw3x3Card cp a, 20 ld e, TileStartCardBackSprites20 jp z, Draw3x3Card cp a, 19 ld e, TileStartCardBackSprites19 jp z, Draw3x3Card cp a, 18 ld e, TileStartCardBackSprites18 jp z, Draw3x3Card cp a, 17 ld e, TileStartCardBackSprites17 jp z, Draw3x3Card ld e, TileStartCardBackSprites16 jp Draw2x2Card ; else fall through into 2x2card Draw2x2Card: ; hl memory location, b y coord, c x coord, e width ; top-left ld e, TileStartCardBackSprites16 ld a, $0 call DrawTile xor a, a ld [hl+], a ld [hl+], a ld [hl+], a ld [hl+], a ld a, c add a, 8 ld c, a ld e, TileStartCardBackSprites16 ld a, $4 call DrawTile ld a, c sub a, 8 ld c, a ; step back to the left xor a, a ld [hl+], a ld [hl+], a ld [hl+], a ld [hl+], a ld [hl+], a ld [hl+], a ld [hl+], a ld [hl+], a ld [hl+], a ld [hl+], a ld [hl+], a ld [hl+], a ld a, b add a, 16 ld b, a ld e, TileStartCardBackSprites16 ld a, $c ; TileStartCardBackSprites8 + $12 call DrawTile ld a, 0 ld [hl+], a ld [hl+], a ld [hl+], a ld [hl+], a ld a, c add a, 8 ld c, a ld e, TileStartCardBackSprites16 ld a, $10 call DrawTile ret Draw3x3Card: ; hl memory location, b y coord, c x coord, e base for tiles, d wiggle ;first row ; top-left ld a, 0 call DrawTile ld a, c add a, 8 ; add stride to x ld c, a ld a, $2 call DrawTile ld a, c add a, 8 ld c, a ld a, $4 call DrawTile ;second row ld a, b add a, 16 ld b, a ; add 16 to y coord ld a, c sub a, 16 ld c, a ; restore the state to before we drew the first row ld a, $6 call DrawTile ld a, c add a, 8 ld c, a ld a, $8 call DrawTile ld a, c add a, 8 ld c, a ld a, $a call DrawTile ; third row ld a, b add a, 16 ld b, a ; add stridex2 to y coord ld a, c sub a, 16 ld c, a ; subtract stridex2 from x ld a, $c call DrawTile ld a, c add a, 8 ld c, a ld a, $e call DrawTile ld a, c add a, 8 ld c, a ld a, $10 call DrawTile ret DrawTile: ; b: y. c: x. a: part id. hl: location of sprite in OAM ; e: sprite bank ld d, a ; immediateely put the card part id into d ld a, e .testFor16 cp a, TileStartCardBackSprites16 jp nz, .testFor17 ; we're in a 16-width card sprite ld a, d cp a, $0 jp z, .leftSideThreshholds16 cp a, $6 jp z, .leftSideThreshholds16 cp a, $c jp z, .leftSideThreshholds16 cp a, $4 jp z, .rightSideThreshholds16 cp a, $a jp z, .rightSideThreshholds16 cp a, $10 jp z, .rightSideThreshholds16 jp .skipThisTile .leftSideThreshholds16 ld a, c ;cp a, 8+16 ;jp c, .dontSkip ; we don't have to worry about activating it when it's far to ; the left because it'll never be drawn far to the left cp a, 8+52 jp c, .skipThisTile ; left edge < 48 => dont draw cp a, 8-8+105 ; right edge < 120 => do draw jp c, .dontSkip jp .skipThisTile .rightSideThreshholds16 ld a, c ;cp a, 8+16 ;jp c, .dontSkip ; we don't have to worry about activating it when it's far to ; the left because it'll never be drawn far to the left cp a, 8+54 jp c, .skipThisTile ; left edge < 48 => dont draw cp a, 8-8+109 ; right edge < 120 => do draw jp c, .dontSkip jp .skipThisTile .testFor17 cp a, TileStartCardBackSprites17 jp nz, .dontSkip ; if it's not 16 or 17, draw it ld a, d cp a, $0 jp z, .leftSideThreshholds17 cp a, $6 jp z, .leftSideThreshholds17 cp a, $c jp z, .leftSideThreshholds17 cp a, $2 jp z, .middleThreshholds17 cp a, $8 jp z, .middleThreshholds17 cp a, $e jp z, .middleThreshholds17 cp a, $4 jp z, .rightSideThreshholds17 cp a, $a jp z, .rightSideThreshholds17 cp a, $10 jp z, .rightSideThreshholds17 jp .skipThisTile .leftSideThreshholds17 ld a, c cp a, 8+37 jp c, .dontSkip cp a, 8+80 jp c, .skipThisTile ;cp a, 8-17 + 100 ; right edge < 100 => draw ;jp c, .dontSkip ; we can comment this one out because wee dont atm need to ; worry about drawing 17-wides in the middle cp a, 8-8 + 118 jp c, .skipThisTile jp .dontSkip ; right edge edge < 168 => draw .middleThreshholds17 ld a, c cp a, 8+42 ; left edge < 10 => draw jp c, .dontSkip cp a, 8+80 ; left edge < 80 => skip jp c, .skipThisTile ;cp a, 8-17 + 100 ; right edge < 100 => draw ;jp c, .dontSkip ; we can comment this one out because wee dont atm need to ; worry about drawing 17-wides in the middle cp a, 8-8 + 121 ; right edge < 120 => skip jp c, .skipThisTile jp .dontSkip ; right edge edge < 168 => draw .rightSideThreshholds17 ld a, c cp a, 8+80 ; left edge < 10 => draw jp c, .dontSkip cp a, 8+80 ; left edge < 80 => skip jp c, .skipThisTile ;cp a, 8-17 + 100 ; right edge < 100 => draw ;jp c, .dontSkip ; we can comment this one out because wee dont atm need to ; worry about drawing 17-wides in the middle cp a, 8-8 + 121 ; right edge < 120 => skip jp c, .skipThisTile jp .dontSkip ; right edge edge < 168 => draw .dontSkip ld a, e cp a, TileStartCardBackSprites16 jp nz, .goAheadAndDraw ld e, TileStartCardBackSprites24 .goAheadAndDraw ld a, b ld [hl+], a ld a, c ld [hl+], a ld a, d add a, e ld [hl+], a ld a, 0 ld [hl+], a ret .skipThisTile ld a, 0 ld [hl+], a ld [hl+], a inc hl inc hl ret MenuCount: db 3 StringRead: db 11, "Read Spread" StringShuffle: db 7, "Shuffle" StringBrowse: db 11, "Browse Deck" Coords: ; y, x, spread db 255, $24, $12, $14, $24, $12, $14, $24, $12, $14, $24, $12, $14, $24, $12, $14, $24, $12, $14, $23, $12, $15, $23, $13, $15, $23, $13, $15, $23, $13, $15, $23, $13, $15, $23, $14, $15, $23, $14, $15, $23, $14, $15, $23, $15, $15, $23, $15, $15, $22, $16, $16, $22, $16, $16, $22, $17, $16, $22, $18, $16, $22, $18, $16, $22, $19, $16, $22, $1a, $16, $22, $1a, $16, $22, $1b, $16, $22, $1c, $16, $22, $1d, $16, $22, $1e, $16, $21, $1e, $17, $21, $1f, $17, $21, $20, $17, $21, $21, $17, $21, $22, $17, $21, $23, $17, $21, $24, $17, $21, $25, $17, $21, $27, $17, $21, $28, $17, $21, $29, $17, $21, $2a, $17, $21, $2b, $17, $21, $2c, $17, $21, $2e, $17, $21, $2f, $17, $20, $30, $18, $20, $31, $18, $20, $33, $18, $20, $34, $18, $20, $35, $18, $20, $37, $18, $20, $38, $18, $20, $3a, $18, $20, $3b, $18, $20, $3c, $18, $20, $3e, $18, $20, $3f, $18, $20, $41, $18, $20, $42, $18, $20, $44, $18, $20, $45, $18, $20, $46, $18, $20, $48, $18, $20, $49, $18, $20, $4b, $18, $20, $4c, $18, $20, $4e, $18, $20, $4f, $18, $20, $51, $18, $20, $52, $18, $20, $54, $18, $20, $55, $18, $20, $57, $18, $20, $58, $18, $20, $5a, $18, $20, $5b, $18, $20, $5c, $18, $20, $5e, $18, $20, $5f, $18, $20, $61, $18, $20, $62, $18, $20, $64, $18, $20, $65, $18, $20, $66, $18, $20, $68, $18, $20, $69, $18, $21, $6a, $17, $21, $6c, $17, $21, $6d, $17, $21, $6e, $17, $21, $6f, $17, $21, $71, $17, $21, $72, $17, $21, $73, $17, $21, $74, $17, $21, $75, $17, $21, $76, $17, $21, $77, $17, $21, $78, $17, $21, $7a, $17, $21, $7b, $17, $21, $7b, $17, $22, $7c, $16, $22, $7d, $16, $22, $7e, $16, $22, $7f, $16, $22, $80, $16, $22, $81, $16, $22, $82, $16, $22, $82, $16, $22, $83, $16, $22, $84, $16, $22, $84, $16, $23, $85, $15, $23, $86, $15, $23, $86, $15, $23, $87, $15, $23, $87, $15, $23, $87, $15, $23, $88, $15, $23, $88, $15, $23, $89, $15, $23, $89, $15, $23, $89, $15, $24, $89, $14, $24, $8a, $14, $24, $8a, $14, $24, $8a, $14, $24, $8a, $14, $24, $8a, $14, $24, $8a, $14, $24, $8a, $14, $24, $8a, $14, $24, $8a, $14, $25, $8a, $13, $25, $8a, $13, $25, $89, $13, $25, $89, $13, $25, $89, $13, $25, $89, $13, $25, $88, $13, $25, $88, $13, $25, $87, $13, $25, $87, $13, $25, $86, $13, $26, $86, $12, $26, $85, $12, $26, $85, $12, $26, $84, $12, $26, $83, $12, $26, $83, $12, $26, $82, $12, $26, $81, $12, $26, $81, $12, $26, $80, $12, $26, $7f, $12, $27, $7e, $11, $27, $7d, $11, $27, $7c, $11, $27, $7b, $11, $27, $7a, $11, $27, $79, $11, $27, $78, $11, $27, $77, $11, $27, $76, $11, $27, $75, $11, $27, $74, $11, $27, $73, $11, $27, $71, $11, $27, $70, $11, $27, $6f, $11, $27, $6e, $11, $28, $6c, $10, $28, $6b, $10, $28, $6a, $10, $28, $69, $10, $28, $67, $10, $28, $66, $10, $28, $65, $10, $28, $63, $10, $28, $62, $10, $28, $60, $10, $28, $5f, $10, $28, $5e, $10, $28, $5c, $10, $28, $5b, $10, $28, $59, $10, $28, $58, $10, $28, $56, $10, $28, $55, $10, $28, $53, $10, $28, $52, $10, $28, $50, $10, $28, $4f, $10, $28, $4d, $10, $28, $4c, $10, $28, $4a, $10, $28, $49, $10, $28, $48, $10, $28, $46, $10, $28, $45, $10, $28, $43, $10, $28, $42, $10, $28, $40, $10, $28, $3f, $10, $28, $3d, $10, $28, $3c, $10, $28, $3b, $10, $28, $39, $10, $28, $38, $10, $28, $36, $10, $28, $35, $10, $28, $34, $10, $27, $32, $11, $27, $31, $11, $27, $30, $11, $27, $2f, $11, $27, $2d, $11, $27, $2c, $11, $27, $2b, $11, $27, $2a, $11, $27, $28, $11, $27, $27, $11, $27, $26, $11, $27, $25, $11, $27, $24, $11, $27, $23, $11, $27, $22, $11, $27, $21, $11, $26, $20, $12, $26, $1f, $12, $26, $1e, $12, $26, $1d, $12, $26, $1c, $12, $26, $1c, $12, $26, $1b, $12, $26, $1a, $12, $26, $19, $12, $26, $19, $12, $26, $18, $12, $26, $17, $12, $25, $17, $13, $25, $16, $13, $25, $16, $13, $25, $15, $13, $25, $15, $13, $25, $14, $13, $25, $14, $13, $25, $14, $13, $25, $13, $13, $25, $13, $13, $24, $13, $14, $24, $12, $14, $24, $12, $14, $24, $12, $14, $24, $12, $14 CardBackSprites16: CardBackSprites24: db $00,$ff,$7f,$ff,$7f,$ff,$60,$ff,$6f,$ff,$6d,$fa,$6a,$fd,$6d,$fa ; top-left db $6a,$fd,$6d,$fa,$6a,$fd,$6d,$fa,$6a,$fd,$6d,$fa,$6a,$fd,$6d,$fa ; middle-left db $00,$ff,$ff,$ff,$ff,$ff,$00,$ff,$ff,$ff,$55,$aa,$aa,$55,$55,$aa ; top-middle db $aa,$55,$55,$aa,$aa,$55,$55,$aa,$aa,$55,$55,$aa,$aa,$55,$55,$aa ; middle-middle db $00,$ff,$fe,$ff,$fe,$ff,$06,$ff,$f6,$ff,$56,$bf,$b6,$5f,$56,$bf ; top-right db $b6,$5f,$56,$bf,$b6,$5f,$56,$bf,$b6,$5f,$56,$bf,$b6,$5f,$56,$bf ; middle-right db $6a,$fd,$6d,$fa,$6a,$fd,$6d,$fa,$6a,$fd,$6d,$fa,$6a,$fd,$6d,$fa ; middle-left db $6a,$fd,$6d,$fa,$6a,$fd,$6d,$fa,$6a,$fd,$6d,$fa,$6a,$fd,$6d,$fa ; middle-left db $aa,$55,$55,$aa,$aa,$55,$55,$aa,$aa,$55,$55,$aa,$aa,$55,$55,$aa ; middle-middle db $aa,$55,$55,$aa,$aa,$55,$55,$aa,$aa,$55,$55,$aa,$aa,$55,$55,$aa ; middle-middle db $b6,$5f,$56,$bf,$b6,$5f,$56,$bf,$b6,$5f,$56,$bf,$b6,$5f,$56,$bf ; middle-right db $b6,$5f,$56,$bf,$b6,$5f,$56,$bf,$b6,$5f,$56,$bf,$b6,$5f,$56,$bf ; middle-right db $6a,$fd,$6d,$fa,$6a,$fd,$6d,$fa,$6a,$fd,$6d,$fa,$6a,$fd,$6d,$fa ; middle-left db $6a,$fd,$6d,$fa,$6a,$fd,$6f,$ff,$60,$ff,$7f,$ff,$7f,$ff,$00,$ff ; bottom-left db $aa,$55,$55,$aa,$aa,$55,$55,$aa,$aa,$55,$55,$aa,$aa,$55,$55,$aa ; middle-middle db $aa,$55,$55,$aa,$aa,$55,$ff,$ff,$00,$ff,$ff,$ff,$ff,$ff,$00,$ff ; bottom-middle db $b6,$5f,$56,$bf,$b6,$5f,$56,$bf,$b6,$5f,$56,$bf,$b6,$5f,$56,$bf ; middle-right db $b6,$5f,$56,$bf,$b6,$5f,$f6,$ff,$06,$ff,$fe,$ff,$fe,$ff,$00,$ff ; bottom-right CardBackSprites16End: CardBackSprites24End: CardBackSprites23: db $00,$ff,$7f,$ff,$7f,$ff,$60,$ff,$6f,$ff,$6d,$fa,$6a,$fd,$6d,$fa ; top-left db $6a,$fd,$6d,$fa,$6a,$fd,$6d,$fa,$6a,$fd,$6d,$fa,$6a,$fd,$6d,$fa ; middle-left db $00,$ff,$ff,$ff,$ff,$ff,$00,$ff,$ff,$ff,$55,$aa,$aa,$55,$55,$aa ; top-middle db $aa,$55,$55,$aa,$aa,$55,$55,$aa,$aa,$55,$55,$aa,$aa,$55,$55,$aa ; middle-middle db $00,$fe,$fc,$fe,$fc,$fe,$0c,$fe,$ec,$fe,$6c,$be,$ac,$7e,$6c,$be ; top-right db $ac,$7e,$6c,$be,$ac,$7e,$6c,$be,$ac,$7e,$6c,$be,$ac,$7e,$6c,$be ; middle-right db $6a,$fd,$6d,$fa,$6a,$fd,$6d,$fa,$6a,$fd,$6d,$fa,$6a,$fd,$6d,$fa ; middle-left db $6a,$fd,$6d,$fa,$6a,$fd,$6d,$fa,$6a,$fd,$6d,$fa,$6a,$fd,$6d,$fa ; middle-left db $aa,$55,$55,$aa,$aa,$55,$55,$aa,$aa,$55,$55,$aa,$aa,$55,$55,$aa ; middle-middle db $aa,$55,$55,$aa,$aa,$55,$55,$aa,$aa,$55,$55,$aa,$aa,$55,$55,$aa ; middle-middle db $ac,$7e,$6c,$be,$ac,$7e,$6c,$be,$ac,$7e,$6c,$be,$ac,$7e,$6c,$be ; middle-right db $ac,$7e,$6c,$be,$ac,$7e,$6c,$be,$ac,$7e,$6c,$be,$ac,$7e,$6c,$be ; middle-right db $6a,$fd,$6d,$fa,$6a,$fd,$6d,$fa,$6a,$fd,$6d,$fa,$6a,$fd,$6d,$fa ; middle-left db $6a,$fd,$6f,$ff,$60,$ff,$7f,$ff,$7f,$ff,$00,$ff,$00,$00,$00,$00 ; bottom-left db $aa,$55,$55,$aa,$aa,$55,$55,$aa,$aa,$55,$55,$aa,$aa,$55,$55,$aa ; middle-middle db $aa,$55,$ff,$ff,$00,$ff,$ff,$ff,$ff,$ff,$00,$ff,$00,$00,$00,$00 ; bottom-middle db $ac,$7e,$6c,$be,$ac,$7e,$6c,$be,$ac,$7e,$6c,$be,$ac,$7e,$6c,$be ; middle-right db $ac,$7e,$ec,$fe,$0c,$fe,$fc,$fe,$fc,$fe,$00,$fe,$00,$00,$00,$00 ; bottom-right CardBackSprites23End: CardBackSprites22: db $00,$ff,$7f,$ff,$7f,$ff,$60,$ff,$6f,$ff,$6d,$fa,$6a,$fd,$6d,$fa ; top-left db $6a,$fd,$6d,$fa,$6a,$fd,$6d,$fa,$6a,$fd,$6d,$fa,$6a,$fd,$6d,$fa ; upper-left db $00,$ff,$ff,$ff,$ff,$ff,$00,$ff,$ff,$ff,$55,$aa,$aa,$55,$55,$aa ; top-middle db $aa,$55,$55,$aa,$aa,$55,$55,$aa,$aa,$55,$55,$aa,$aa,$55,$55,$aa ; upper-middle db $00,$fc,$f8,$fc,$f8,$fc,$18,$fc,$d8,$fc,$58,$fc,$d8,$7c,$58,$fc ; top-right db $d8,$7c,$58,$fc,$d8,$7c,$58,$fc,$d8,$7c,$58,$fc,$d8,$7c,$58,$fc ; upper-right db $6a,$fd,$6d,$fa,$6a,$fd,$6d,$fa,$6a,$fd,$6d,$fa,$6a,$fd,$6d,$fa ; upper-left db $6a,$fd,$6d,$fa,$6a,$fd,$6d,$fa,$6a,$fd,$6d,$fa,$6a,$fd,$6d,$fa ; upper-left db $aa,$55,$55,$aa,$aa,$55,$55,$aa,$aa,$55,$55,$aa,$aa,$55,$55,$aa ; upper-middle db $aa,$55,$55,$aa,$aa,$55,$55,$aa,$aa,$55,$55,$aa,$aa,$55,$55,$aa ; upper-middle db $d8,$7c,$58,$fc,$d8,$7c,$58,$fc,$d8,$7c,$58,$fc,$d8,$7c,$58,$fc ; upper-right db $d8,$7c,$58,$fc,$d8,$7c,$58,$fc,$d8,$7c,$58,$fc,$d8,$7c,$58,$fc ; upper-right db $6a,$fd,$6d,$fa,$6a,$fd,$6d,$fa,$6a,$fd,$6d,$fa,$6a,$fd,$6f,$ff ; lower-left db $60,$ff,$7f,$ff,$7f,$ff,$00,$ff,$00,$00,$00,$00,$00,$00,$00,$00 ; bottom-left db $aa,$55,$55,$aa,$aa,$55,$55,$aa,$aa,$55,$55,$aa,$aa,$55,$ff,$ff ; lower-middle db $00,$ff,$ff,$ff,$ff,$ff,$00,$ff,$00,$00,$00,$00,$00,$00,$00,$00 ; bottom-middle db $d8,$7c,$58,$fc,$d8,$7c,$58,$fc,$d8,$7c,$58,$fc,$d8,$7c,$d8,$fc ; lower-right db $18,$fc,$f8,$fc,$f8,$fc,$00,$fc,$00,$00,$00,$00,$00,$00,$00,$00 ; bottom-right CardBackSprites22End: CardBackSprites21: db $00,$ff,$7f,$ff,$7f,$ff,$60,$ff,$6f,$ff,$6d,$fa,$6a,$fd,$6d,$fa ; top-left db $6a,$fd,$6d,$fa,$6a,$fd,$6d,$fa,$6a,$fd,$6d,$fa,$6a,$fd,$6d,$fa ; upper-left db $00,$ff,$ff,$ff,$ff,$ff,$00,$ff,$ff,$ff,$55,$aa,$aa,$55,$55,$aa ; top-middle db $aa,$55,$55,$aa,$aa,$55,$55,$aa,$aa,$55,$55,$aa,$aa,$55,$55,$aa ; upper-middle db $00,$f8,$f0,$f8,$f0,$f8,$30,$f8,$b0,$f8,$b0,$f8,$b0,$f8,$b0,$f8 ; top-right db $b0,$f8,$b0,$f8,$b0,$f8,$b0,$f8,$b0,$f8,$b0,$f8,$b0,$f8,$b0,$f8 ; upper-right db $6a,$fd,$6d,$fa,$6a,$fd,$6d,$fa,$6a,$fd,$6d,$fa,$6a,$fd,$6d,$fa ; upper-left db $6a,$fd,$6d,$fa,$6a,$fd,$6d,$fa,$6a,$fd,$6d,$fa,$6a,$fd,$6d,$fa ; upper-left db $aa,$55,$55,$aa,$aa,$55,$55,$aa,$aa,$55,$55,$aa,$aa,$55,$55,$aa ; upper-middle db $aa,$55,$55,$aa,$aa,$55,$55,$aa,$aa,$55,$55,$aa,$aa,$55,$55,$aa ; upper-middle db $b0,$f8,$b0,$f8,$b0,$f8,$b0,$f8,$b0,$f8,$b0,$f8,$b0,$f8,$b0,$f8 ; upper-right db $b0,$f8,$b0,$f8,$b0,$f8,$b0,$f8,$b0,$f8,$b0,$f8,$b0,$f8,$b0,$f8 ; upper-right db $6a,$fd,$6d,$fa,$6a,$fd,$6d,$fa,$6a,$fd,$6f,$ff,$60,$ff,$7f,$ff ; lowere-left db $7f,$ff,$00,$ff,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 ; bottom-left db $aa,$55,$55,$aa,$aa,$55,$55,$aa,$aa,$55,$ff,$ff,$00,$ff,$ff,$ff ; lower-middle db $ff,$ff,$00,$ff,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 ; bottmo-middle db $b0,$f8,$b0,$f8,$b0,$f8,$b0,$f8,$b0,$f8,$b0,$f8,$30,$f8,$f0,$f8 ; lower-right db $f0,$f8,$00,$f8,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 ; bottom-right CardBackSprites21End: CardBackSprites20: db $00,$ff,$7f,$ff,$7f,$ff,$60,$ff,$6f,$ff,$6d,$fa,$6a,$fd,$6d,$fa; top-left db $6a,$fd,$6d,$fa,$6a,$fd,$6d,$fa,$6a,$fd,$6d,$fa,$6a,$fd,$6d,$fa ; middel-left db $00,$ff,$ff,$ff,$ff,$ff,$00,$ff,$ff,$ff,$55,$ab,$ab,$55,$55,$ab ; top-middle db $ab,$55,$55,$ab,$ab,$55,$55,$ab,$ab,$55,$55,$ab,$ab,$55,$55,$ab ; middle-middle db $00,$f0,$e0,$f0,$e0,$f0,$60,$f0,$60,$f0,$60,$f0,$60,$f0,$60,$f0 ; top-right db $60,$f0,$60,$f0,$60,$f0,$60,$f0,$60,$f0,$60,$f0,$60,$f0,$60,$f0 ; middle-right db $6a,$fd,$6d,$fa,$6a,$fd,$6d,$fa,$6a,$fd,$6d,$fa,$6a,$fd,$6d,$fa ; middel-left db $6a,$fd,$6d,$fa,$6a,$fd,$6d,$fa,$6a,$fd,$6d,$fa,$6a,$fd,$6d,$fa ; middel-left db $ab,$55,$55,$ab,$ab,$55,$55,$ab,$ab,$55,$55,$ab,$ab,$55,$55,$ab ; middle-middle db $ab,$55,$55,$ab,$ab,$55,$55,$ab,$ab,$55,$55,$ab,$ab,$55,$55,$ab ; middle-middle db $60,$f0,$60,$f0,$60,$f0,$60,$f0,$60,$f0,$60,$f0,$60,$f0,$60,$f0 ; middle-right db $60,$f0,$60,$f0,$60,$f0,$60,$f0,$60,$f0,$60,$f0,$60,$f0,$60,$f0 ; middle-right db $6a,$fd,$6d,$fa,$6a,$fd,$6f,$ff,$60,$ff,$7f,$ff,$7f,$ff,$00,$ff ; bottom-left db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 ; empty db $ab,$55,$55,$ab,$ab,$55,$ff,$ff,$00,$ff,$ff,$ff,$ff,$ff,$00,$ff ; bottom-middle db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 ; empty db $60,$f0,$60,$f0,$60,$f0,$60,$f0,$60,$f0,$e0,$f0,$e0,$f0,$00,$f0 ; bottom-right db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 ; empty CardBackSprites20End: CardBackSprites19: db $00,$ff,$7f,$ff,$7f,$ff,$60,$ff,$6f,$ff,$6d,$fa,$6a,$fd,$6d,$fa ; top-left db $6a,$fd,$6d,$fa,$6a,$fd,$6d,$fa,$6a,$fd,$6d,$fa,$6a,$fd,$6d,$fa ; middle-left db $00,$ff,$ff,$ff,$ff,$ff,$00,$ff,$fe,$ff,$56,$ab,$aa,$57,$56,$ab ; top-middle db $aa,$57,$56,$ab,$aa,$57,$56,$ab,$aa,$57,$56,$ab,$aa,$57,$56,$ab ; middle-middle db $00,$e0,$c0,$e0,$c0,$e0,$c0,$e0,$c0,$e0,$c0,$e0,$c0,$e0,$c0,$e0 ; top-rihgt db $c0,$e0,$c0,$e0,$c0,$e0,$c0,$e0,$c0,$e0,$c0,$e0,$c0,$e0,$c0,$e0 ; middle-right db $6a,$fd,$6d,$fa,$6a,$fd,$6d,$fa,$6a,$fd,$6d,$fa,$6a,$fd,$6d,$fa ; middle-left db $6a,$fd,$6d,$fa,$6a,$fd,$6d,$fa,$6a,$fd,$6d,$fa,$6a,$fd,$6d,$fa ; middle-left db $aa,$57,$56,$ab,$aa,$57,$56,$ab,$aa,$57,$56,$ab,$aa,$57,$56,$ab ; middle-middle db $aa,$57,$56,$ab,$aa,$57,$56,$ab,$aa,$57,$56,$ab,$aa,$57,$56,$ab ; middle-middle db $c0,$e0,$c0,$e0,$c0,$e0,$c0,$e0,$c0,$e0,$c0,$e0,$c0,$e0,$c0,$e0 ; middle-right db $c0,$e0,$c0,$e0,$c0,$e0,$c0,$e0,$c0,$e0,$c0,$e0,$c0,$e0,$c0,$e0 ; middle-right db $6a,$fd,$6f,$ff,$60,$ff,$7f,$ff,$7f,$ff,$00,$ff,$00,$00,$00,$00 ; lower-left db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 ; empty db $aa,$57,$fe,$ff,$00,$ff,$ff,$ff,$ff,$ff,$00,$ff,$00,$00,$00,$00 ; lower-middle db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 ; empty db $c0,$e0,$c0,$e0,$c0,$e0,$c0,$e0,$c0,$e0,$00,$e0,$00,$00,$00,$00 ; lower-right db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 ; empty CardBackSprites19End: CardBackSprites18: db $00,$ff,$7f,$ff,$7f,$ff,$60,$ff,$6f,$ff,$6d,$fa,$6a,$fd,$6d,$fa; top-left db $6a,$fd,$6d,$fa,$6a,$fd,$6d,$fa,$6a,$fd,$6d,$fa,$6a,$fd,$6d,$fa ; upper-left db $00,$ff,$ff,$ff,$ff,$ff,$01,$ff,$fd,$ff,$55,$af,$ad,$57,$55,$af ; top-middle db $ad,$57,$55,$af,$ad,$57,$55,$af,$ad,$57,$55,$af,$ad,$57,$55,$af ; upper-m,iddle db $00,$c0,$80,$c0,$80,$c0,$80,$c0,$80,$c0,$80,$c0,$80,$c0,$80,$c0 ; top-right db $80,$c0,$80,$c0,$80,$c0,$80,$c0,$80,$c0,$80,$c0,$80,$c0,$80,$c0 ; upper-right db $6a,$fd,$6d,$fa,$6a,$fd,$6d,$fa,$6a,$fd,$6d,$fa,$6a,$fd,$6d,$fa ; upper-left db $6a,$fd,$6d,$fa,$6a,$fd,$6d,$fa,$6a,$fd,$6d,$fa,$6a,$fd,$6f,$ff ; lower-left db $ad,$57,$55,$af,$ad,$57,$55,$af,$ad,$57,$55,$af,$ad,$57,$55,$af ; upper-m,iddle db $ad,$57,$55,$af,$ad,$57,$55,$af,$ad,$57,$55,$af,$ad,$57,$fd,$ff ; lower-middle db $80,$c0,$80,$c0,$80,$c0,$80,$c0,$80,$c0,$80,$c0,$80,$c0,$80,$c0 ; lower-right db $80,$c0,$80,$c0,$80,$c0,$80,$c0,$80,$c0,$80,$c0,$80,$c0,$80,$c0 ; upper-right db $60,$ff,$7f,$ff,$7f,$ff,$00,$ff,$00,$00,$00,$00,$00,$00,$00,$00 ; bottom-left db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 ; under-left db $01,$ff,$ff,$ff,$ff,$ff,$00,$ff,$00,$00,$00,$00,$00,$00,$00,$00 ; bottom-middle db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 ; under-middle db $80,$c0,$80,$c0,$80,$c0,$00,$c0,$00,$00,$00,$00,$00,$00,$00,$00 ; bottom-right db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 ; under-right CardBackSprites18End: CardBackSprites17: db $00,$ff,$7f,$ff,$7f,$ff,$60,$ff,$6f,$ff,$6d,$fa,$6a,$fd,$6d,$fa ; top-left db $6a,$fd,$6d,$fa,$6a,$fd,$6d,$fa,$6a,$fd,$6d,$fa,$6a,$fd,$6d,$fa ; middle-left db $00,$ff,$ff,$ff,$ff,$ff,$03,$ff,$fb,$ff,$5b,$af,$ab,$5f,$5b,$af ; top-middle db $ab,$5f,$5b,$af,$ab,$5f,$5b,$af,$ab,$5f,$5b,$af,$ab,$5f,$5b,$af ; middle-middle db $00,$80,$00,$80,$00,$80,$00,$80,$00,$80,$00,$80,$00,$80,$00,$80 ; top-rihgt db $00,$80,$00,$80,$00,$80,$00,$80,$00,$80,$00,$80,$00,$80,$00,$80 ; middle-rihgt db $6a,$fd,$6d,$fa,$6a,$fd,$6d,$fa,$6a,$fd,$6d,$fa,$6a,$fd,$6d,$fa ; middle-left db $6a,$fd,$6d,$fa,$6a,$fd,$6d,$fa,$6a,$fd,$6f,$ff,$60,$ff,$7f,$ff ; lower-left db $ab,$5f,$5b,$af,$ab,$5f,$5b,$af,$ab,$5f,$5b,$af,$ab,$5f,$5b,$af ; middle-middle db $ab,$5f,$5b,$af,$ab,$5f,$5b,$af,$ab,$5f,$fb,$ff,$03,$ff,$ff,$ff ; lower-middle db $00,$80,$00,$80,$00,$80,$00,$80,$00,$80,$00,$80,$00,$80,$00,$80 ; middle-rihgt db $00,$80,$00,$80,$00,$80,$00,$80,$00,$80,$00,$80,$00,$80,$00,$80 ; lower-rihgt db $7f,$ff,$00,$ff,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 ; bottom-left db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 ; empty db $ff,$ff,$00,$ff,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 ; bottom-middle db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 ; empty db $00,$80,$00,$80,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 ; bottom-right db $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00 ; empty CardBackSprites17End: SquaresTiles: db 8 dw SquaresTileset1 dw SquaresTileset2 dw SquaresTileset3 dw SquaresTileset4 dw SquaresTileset5 dw SquaresTileset6 dw SquaresTileset7 dw SquaresTileset8 SquaresTileset1: db $fe,$00,$82,$00,$82,$00,$82,$00,$82,$00,$82,$00,$fe,$00,$00,$00 SquaresTileset2: db $00,$00,$7f,$00,$41,$00,$41,$00,$41,$00,$41,$00,$41,$00,$7f,$00 SquaresTileset3: db $bf,$00,$00,$00,$bf,$00,$a0,$00,$a0,$00,$a0,$00,$a0,$00,$a0,$00 SquaresTileset4: db $50,$00,$df,$00,$00,$00,$df,$00,$50,$00,$50,$00,$50,$00,$50,$00 SquaresTileset5: db $28,$00,$28,$00,$ef,$00,$00,$00,$ef,$00,$28,$00,$28,$00,$28,$00 SquaresTileset6: db $14,$00,$14,$00,$14,$00,$f7,$00,$00,$00,$f7,$00,$14,$00,$14,$00 SquaresTileset7: db $0a,$00,$0a,$00,$0a,$00,$0a,$00,$fb,$00,$00,$00,$fb,$00,$0a,$00 SquaresTileset8: db $05,$00,$05,$00,$05,$00,$05,$00,$05,$00,$fd,$00,$00,$00,$fd,$00 SquaresTilesetEnd: SquaresTilemap: db $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01 db $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01 db $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01 db $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01 db $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01 db $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01 db $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01 db $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01 db $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01 db $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01 db $01, $01, $09, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $08, $01, $01 db $01, $01, $03, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $04, $01, $01 db $01, $01, $03, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $04, $01, $01 db $01, $01, $03, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $04, $01, $01 db $01, $01, $03, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $04, $01, $01 db $01, $01, $03, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $04, $01, $01 db $01, $01, $06, $05, $05, $05, $05, $05, $05, $05, $05, $05, $05, $05, $05, $05, $05, $07, $01, $01 db $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01, $01 SquaresTilemapEnd: