optixx 14 yıl önce
ebeveyn
işleme
2e59b07d7d
47 değiştirilmiş dosya ile 0 ekleme ve 4487 silme
  1. 0 77
      snes/loadertest/Makefile
  2. 0 90
      snes/loadertest/PPU.c
  3. 0 11
      snes/loadertest/PPU.h
  4. 0 240
      snes/loadertest/StartupSnes.asm
  5. 0 37
      snes/loadertest/crc.c
  6. 0 3
      snes/loadertest/crc.h
  7. 0 8
      snes/loadertest/data.h
  8. 0 224
      snes/loadertest/debug.c
  9. 0 8
      snes/loadertest/debug.h
  10. 0 106
      snes/loadertest/event.c
  11. 0 17
      snes/loadertest/event.h
  12. 0 48
      snes/loadertest/integer.h
  13. 0 93
      snes/loadertest/main.c
  14. 0 103
      snes/loadertest/myEvents.c
  15. 0 6
      snes/loadertest/myEvents.h
  16. 0 26
      snes/loadertest/pad.c
  17. 0 20
      snes/loadertest/pad.h
  18. 0 9
      snes/loadertest/ressource.asm
  19. 0 2
      snes/loadertest/ressource.h
  20. BIN
      snes/loadertest/ressource/debugFont.clr
  21. BIN
      snes/loadertest/ressource/debugFont.pcx
  22. BIN
      snes/loadertest/ressource/debugFont.pic
  23. BIN
      snes/loadertest/ressource/debugFont.xcf
  24. BIN
      snes/loadertest/tools/padbin.exe
  25. 0 262
      snes/xmsnes/InitSNES.asm
  26. 0 7
      snes/xmsnes/Makefile
  27. 0 41
      snes/xmsnes/cheader.inc
  28. BIN
      snes/xmsnes/graphics/bg.pcx
  29. BIN
      snes/xmsnes/graphics/bg2.pcx
  30. BIN
      snes/xmsnes/graphics/bub.pcx
  31. BIN
      snes/xmsnes/graphics/font.pcx
  32. 0 906
      snes/xmsnes/graphics/gfx_bg.inc
  33. 0 13
      snes/xmsnes/graphics/gfx_bg2.inc
  34. 0 138
      snes/xmsnes/graphics/gfx_bub.inc
  35. 0 102
      snes/xmsnes/graphics/gfx_font.inc
  36. 0 19
      snes/xmsnes/graphics/gfx_window.inc
  37. 0 19
      snes/xmsnes/graphics/gfx_window2.inc
  38. BIN
      snes/xmsnes/graphics/window.pcx
  39. BIN
      snes/xmsnes/graphics/window2.pcx
  40. 0 910
      snes/xmsnes/main.asm
  41. 0 3
      snes/xmsnes/main.link
  42. 0 5
      snes/xmsnes/make.sh
  43. 0 42
      snes/xmsnes/memmap.inc
  44. 0 179
      snes/xmsnes/snes.inc
  45. 0 701
      snes/xmsnes/spx_snes.asm
  46. BIN
      snes/xmsnes/test.xmp
  47. 0 12
      snes/xmsnes/vram.txt

+ 0 - 77
snes/loadertest/Makefile

@@ -1,77 +0,0 @@
-# SDK Config
-
-
-PLATFORM=$(shell uname)
-
-ifeq ($(PLATFORM),Linux)
-    # Linux Wine 
-    SDK=/home/david/.wine/drive_c/65xx_FreeSDK
-    WINE=wine
-    EMU=../../tools/bsnes/bsnes
-    DISASM=/home/david/Devel/arch/snes/devkit/bin/disasm
-    UCON=ucon64
-else
-    # Mac Wine 
-    SDK=/Users/david/.wine/drive_c/65xx_FreeSDK
-    WINE=wine
-    EMU=zsnes
-    DISASM=/Users/david/Devel/arch/snes/devkit/bin/disasm
-    UCON=ucon64
-endif
-
-CC=$(WINE) $(SDK)/bin/WDC816CC.exe
-AS=$(WINE) $(SDK)/bin/WDC816AS.exe
-LD=$(WINE) $(SDK)/bin/WDCLN.exe
-PADBIN=$(WINE)  tools/padbin.exe
-
-# Project
-
-INC=$(SDK)/include
-LIBS=-L$(SDK)/lib/cc 
-#-L$(SDK)/lib/c134
-
-
-OBJS=StartupSnes.obj main.obj pad.obj PPU.obj debug.obj ressource.obj
-APP=loadertest.smc
-GFX=debugfont
-
-all:  $(APP) 
-
-run:
-	$(EMU) $(APP)
-
-
-disasm: $(APP)
-	rm -rf  $(APP)
-	$(DISASM) $(APP) >  $(APP).asm
-
-upload: header
-	ucon64 --port=usb --xsnesram $(APP)
-
-repair: $(APP)
-	$(UCON) -snes -chk $(APP) 2>&1 >/dev/null
-	rm -rf *.bak
-
-header: $(APP)
-	$(UCON) -smc  $(APP) 
-	rm -rf *.bak
-
-StartupSnes.obj: StartupSnes.asm
-	$(AS) -V $?
-
-ressource.obj: ressource.asm
-	$(AS) -V $?
-
-%.obj: %.c
-	$(CC)  -wl -wp -sop -MC -I $(INC) $?
-
-$(APP): $(OBJS) 
-	$(LD) -B -HB -M21 -V -T -Pff \
-        -C008000,0000 -U0000,0000 \
-        -Avectors=FFE4,7FE4 \
-        -Aregistration_data=FFB0,7FB0 \
-        -Aressource=18000,8000 \
-        -N $(OBJS) $(LIBS) -O $@
-	$(PADBIN) 0x20000 $(APP)
-clean:
-	rm -vf $(APP) *.obj *.TMP

+ 0 - 90
snes/loadertest/PPU.c

@@ -1,90 +0,0 @@
-#include "data.h"
-
-byte tileMapLocation[4];
-word characterLocation[4];
-
-void waitForVBlank(void)
-{
-    byte Status;
-    do {
-        Status = *(byte *) 0x4210;
-    } while (!(Status & 0x80));
-}
-
-void setTileMapLocation(word vramDst, byte screenProp, byte bgNumber)
-{
-    tileMapLocation[bgNumber] = ((vramDst >> 8) & 0xfc) | (screenProp & 0x03);
-    *(byte *) (0x2107 + bgNumber) = tileMapLocation[bgNumber];
-}
-
-void restoreTileMapLocation(byte bgNumber)
-{
-    *(byte *) (0x2107 + bgNumber) = tileMapLocation[bgNumber];
-}
-
-void setCharacterLocation(word vramDst, byte bgNumber)
-{
-    characterLocation[bgNumber] = vramDst;
-    if (bgNumber < 2) {
-        *(byte *) 0x210b =
-            (characterLocation[1] >> 8 & 0xf0) + (characterLocation[0] >> 12);
-    } else {
-        *(byte *) 0x210c =
-            (characterLocation[3] >> 8 & 0xf0) + (characterLocation[2] >> 12);
-    }
-}
-
-void restoreCharacterLocation(byte bgNumber)
-{
-    setCharacterLocation(characterLocation[bgNumber], bgNumber);
-}
-
-void VRAMByteWrite(byte value, word vramDst)
-{
-    *(byte *) 0x2115 = 0x80;
-    *(word *) 0x2116 = vramDst;
-
-    *(byte *) 0x2118 = value;
-}
-
-void VRAMLoad(word src, word vramDst, word size)
-{
-    // set address in VRam for read or write ($2116) + block size transfer ($2115)
-    *(byte *) 0x2115 = 0x80;
-    *(word *) 0x2116 = vramDst;
-
-    *(word *) 0x4300 = 0x1801;  // set DMA control register (1 word inc) 
-    // and destination ($21xx xx -> 0x18)
-    *(word *) 0x4302 = src;     // DMA channel x source address offset 
-    // (low $4302 and high $4303 optimisation)
-    *(byte *) 0x4304 = 0x01;    // DMA channel x source address bank
-    *(word *) 0x4305 = size;    // DMA channel x transfer size 
-    // (low $4305 and high $4306 optimisation)
-
-    // Turn on DMA transfer for this channel
-    waitForVBlank();
-    *(byte *) 0x2100 = 0x80;
-    *(byte *) 0x420b = 0x01;
-    *(byte *) 0x2100 = 0x00;
-}
-
-void CGRAMLoad(word src, byte cgramDst, word size)
-{
-
-    // set address in VRam for read or write + block size
-    *(byte *) 0x2121 = cgramDst;
-
-    *(word *) 0x4300 = 0x2200;  // set DMA control register (1 byte inc) 
-    // and destination ($21xx xx -> 022)
-    *(word *) 0x4302 = src;     // DMA channel x source address offset
-    // (low $4302 and high $4303 optimisation)
-    *(byte *) 0x4304 = 0x01;    // DMA channel x source address bank
-    *(word *) 0x4305 = size;    // DMA channel x transfer size
-    // (low $4305 and high $4306 optimisation)
-
-    // Turn on DMA transfer for this channel
-    waitForVBlank();
-    *(byte *) 0x2100 = 0x80;
-    *(byte *) 0x420b = 0x01;
-    *(byte *) 0x2100 = 0x00;
-}

+ 0 - 11
snes/loadertest/PPU.h

@@ -1,11 +0,0 @@
-extern byte tileMapLocation[4];
-extern word characterLocation[4];
-
-void waitForVBlank(void);
-void setTileMapLocation(word vramDst, byte screenProp, byte bgNumber);
-void restoreTileMapLocation(byte bgNumber);
-void setCharacterLocation(word vramDst, byte bgNumber);
-void restoreCharacterLocation(byte bgNumber);
-void VRAMByteWrite(byte value, word vramDst);
-void VRAMLoad(word src, word vramDst, word size);
-void CGRAMLoad(word src, byte cgramDst, word size);

+ 0 - 240
snes/loadertest/StartupSnes.asm

@@ -1,240 +0,0 @@
-; SNES ROM startup code 
-
-;******************************************************************************
-;*** Define a special section in case most of the code is not in bank 0.    ***
-;******************************************************************************
-
-;STACK   EQU   $01ff     ;CHANGE THIS FOR YOUR SYSTEM
-
-;STARTUP SECTION OFFSET $008000
-
-CODE
-
-	XDEF  	START
-START:
-        XREF  	_~main
-  	
-	sei             ; Disabled interrupts
-        clc             ; clear carry to switch to native mode
-        xce             ; Xchange carry & emulation bit. native mode
-        rep     #$18    ; Binary mode (decimal mode off), X/Y 16 bit
-	LONGI	ON
-        ldx     #$1FFF  ; set stack to $1FFF
-        txs
-
-	rep 	#$30
-	longa	on
-	longi	on
-
-	; Init data used for heap 
-	; see heap definition below
-	XREF _~_heap_top
-	XREF _~_mem_start
-	stz	_~_heap_top
-	stz	_~_mem_start
-	
-	XREF	_~preInit
-        jsr   	>_~preInit
-
-        sep     #$30    ; X,Y,A are 8 bit numbers
-	LONGA	OFF
-	LONGI	OFF	
-        lda     #$8F    ; screen off, full brightness
-        sta     $2100   ; brightness + screen enable register 
-        stz     $2101   ; Sprite register (size + address in VRAM) 
-        stz     $2102   ; Sprite registers (address of sprite memory [OAM])
-        stz     $2103   ;    ""                       ""
-        stz     $2105   ; Mode 0, = Graphic mode register
-        stz     $2106   ; noplanes, no mosaic, = Mosaic register
-        stz     $2107   ; Plane 0 map VRAM location
-        stz     $2108   ; Plane 1 map VRAM location
-        stz     $2109   ; Plane 2 map VRAM location
-        stz     $210A   ; Plane 3 map VRAM location
-        stz     $210B   ; Plane 0+1 Tile data location
-        stz     $210C   ; Plane 2+3 Tile data location
-        stz     $210D   ; Plane 0 scroll x (first 8 bits)
-        stz     $210D   ; Plane 0 scroll x (last 3 bits) #$0 - #$07ff
-        stz     $210E   ; Plane 0 scroll y (first 8 bits)
-        stz     $210E   ; Plane 0 scroll y (last 3 bits) #$0 - #$07ff
-        stz     $210F   ; Plane 1 scroll x (first 8 bits)
-        stz     $210F   ; Plane 1 scroll x (last 3 bits) #$0 - #$07ff
-        stz     $2110   ; Plane 1 scroll y (first 8 bits)
-        stz     $2110   ; Plane 1 scroll y (last 3 bits) #$0 - #$07ff
-        stz     $2111   ; Plane 2 scroll x (first 8 bits)
-        stz     $2111   ; Plane 2 scroll x (last 3 bits) #$0 - #$07ff
-        stz     $2112   ; Plane 2 scroll y (first 8 bits)
-        stz     $2112   ; Plane 2 scroll y (last 3 bits) #$0 - #$07ff
-        stz     $2113   ; Plane 3 scroll x (first 8 bits)
-        stz     $2113   ; Plane 3 scroll x (last 3 bits) #$0 - #$07ff
-        stz     $2114   ; Plane 3 scroll y (first 8 bits)
-        stz     $2114   ; Plane 3 scroll y (last 3 bits) #$0 - #$07ff
-        lda     #$80    ; increase VRAM address after writing to $2119
-        sta     $2115   ; VRAM address increment register
-        stz     $2116   ; VRAM address low
-        stz     $2117   ; VRAM address high
-        stz     $211A   ; Initial Mode 7 setting register
-        stz     $211B   ; Mode 7 matrix parameter A register (low)
-        lda     #$01
-        sta     $211B   ; Mode 7 matrix parameter A register (high)
-        stz     $211C   ; Mode 7 matrix parameter B register (low)
-        stz     $211C   ; Mode 7 matrix parameter B register (high)
-        stz     $211D   ; Mode 7 matrix parameter C register (low)
-        stz     $211D   ; Mode 7 matrix parameter C register (high)
-        stz     $211E   ; Mode 7 matrix parameter D register (low)
-        sta     $211E   ; Mode 7 matrix parameter D register (high)
-        stz     $211F   ; Mode 7 center position X register (low)
-        stz     $211F   ; Mode 7 center position X register (high)
-        stz     $2120   ; Mode 7 center position Y register (low)
-        stz     $2120   ; Mode 7 center position Y register (high)
-        stz     $2121   ; Color number register ($0-ff)
-        stz     $2123   ; BG1 & BG2 Window mask setting register
-        stz     $2124   ; BG3 & BG4 Window mask setting register
-        stz     $2125   ; OBJ & Color Window mask setting register
-        stz     $2126   ; Window 1 left position register
-        stz     $2127   ; Window 2 left position register
-        stz     $2128   ; Window 3 left position register
-        stz     $2129   ; Window 4 left position register
-        stz     $212A   ; BG1, BG2, BG3, BG4 Window Logic register
-        stz     $212B   ; OBJ, Color Window Logic Register (or,and,xor,xnor)
-        sta     $212C   ; Main Screen designation (planes, sprites enable)
-        stz     $212D   ; Sub Screen designation
-        stz     $212E   ; Window mask for Main Screen
-        stz     $212F   ; Window mask for Sub Screen
-        lda     #$30
-        sta     $2130   ; Color addition & screen addition init setting
-        stz     $2131   ; Add/Sub sub designation for screen, sprite, color
-        lda     #$E0
-        sta     $2132   ; color data for addition/subtraction
-        stz     $2133   ; Screen setting (interlace x,y/enable SFX data)
-        stz     $4200   ; Enable V-blank, interrupt, Joypad register
-        lda     #$FF
-        sta     $4201   ; Programmable I/O port
-        stz     $4202   ; Multiplicand A
-        stz     $4203   ; Multiplier B
-        stz     $4204   ; Multiplier C
-        stz     $4205   ; Multiplicand C
-        stz     $4206   ; Divisor B
-        stz     $4207   ; Horizontal Count Timer
-        stz     $4208   ; Horizontal Count Timer MSB (most significant bit)
-    stz     $4209   ; Vertical Count Timer
-    stz     $420A   ; Vertical Count Timer MSB
-    stz     $420B   ; General DMA enable (bits 0-7)
-    stz     $420C   ; Horizontal DMA (HDMA) enable (bits 0-7)
-    stz     $420D   ; Access cycle designation (slow/fast rom)
-    cli             ; Enable interrupts
-
-	rep     #$30
-	longa	on
-	longi	on
-
-    jsr   	>_~main
-    brk
-
-	XDEF IRQ
-IRQ:	
-	XREF _~IRQHandler
-	LONGA	ON
-	LONGI	ON
-	rep	#$30
-	pha
-	phx
-	phy
-	jsr	_~IRQHandler
-	ply
-	plx
-	pla
-	rti
-	
-	XDEF	NMI
-NMI:
-	XREF	_~NMIHandler
-	LONGA	ON
-	LONGI	ON
-	rep	#$30
-	pha
-	phx
-	phy
-	phd
-	phb
-	lda	#$0000
-	sep     #$30    ; X,Y,A are 8 bit numbers
-	LONGA	OFF
-	LONGI	OFF
-	lda     $4210		; Read NMI 
-	LONGA	ON
-	LONGI	ON
-	rep	#$30
-	jsr	_~NMIHandler
-	plb
-	pld
-	ply
-	plx
-	pla
-	rti
-  
-DIRQ:
-	rti
-
-ENDS
-
-;******************************************************************************
-;*** Heap definition                                                        ***
-;******************************************************************************
-
-DATA
-
-	XDEF	_~heap_start
-	XDEF	_~heap_end
-
-_~heap_start:
-	WORD	$1000
-_~heap_end:
-	WORD	$1200
-
-;******************************************************************************
-;*** SNES ROM Registartion Data                                             ***
-;******************************************************************************
-
-REGISTRATION_DATA SECTION
-
-MAKER_CODE          FCC	/FF/
-GAME_CODE		    FCC	/SMWJ/
-FIXED_VALUE0		BYTE	$00, $00, $00, $00, $00, $00, $00
-EXPANSION_RAM_SIZE	BYTE	$00
-SPECIAL_VERSION		BYTE	$00
-CARTRIDGE_TYPE_SUB	BYTE	$00
-GAME_TITLE		    FCC	/GAME TITLE          !/
-				        ;012345678901234567890;
-MAP_MODE            BYTE	$20
-CARTRIDGE_SIZE		BYTE	$00
-ROM_SIZE            BYTE	$09
-RAM_SIZE            BYTE	$00
-DESTINATION_CODE	BYTE	$00
-FIXED_VALUE1		BYTE	$33
-MASK_ROM_VERSION	BYTE	$00
-COMPLEMENT_CHECK	BYTE	$00, $00
-CHEKSUM             BYTE	$00, $00 
-
-;******************************************************************************
-;*** SNES Interrupts and Reset vector                                       ***
-;******************************************************************************
-
-VECTORS	SECTION
-; Native vector
-N_COP   DW   DIRQ
-N_BRK   DW   DIRQ
-N_ABORT DW   DIRQ        
-N_NMI   DW   NMI
-N_RSRVD DW   DIRQ
-N_IRQ   DW   IRQ
-        DS   4
-; Emulation vector
-E_COP   DW   DIRQ
-E_RSRVD DW   DIRQ
-E_ABORT DW   DIRQ
-E_NMI   DW   DIRQ
-E_RESET DW   START
-E_IRQ   DW   DIRQ
-
-END
-

+ 0 - 37
snes/loadertest/crc.c

@@ -1,37 +0,0 @@
-#include "data.h"
-
-
-word crc_update(char far * data, word size)
-{
-    word i;
-    word j;
-    word crc = 0;
-    for (j = 0; j < size; j++) {
-        crc = crc ^ ((word) data[j] << 8);
-        for (i = 0; i < 8; i++) {
-            if (crc & 0x8000)
-                crc = (crc << 1) ^ 0x1021;
-            else
-                crc <<= 1;
-        }
-    }
-    return crc;
-}
-
-
-word crc_update_mem(unsigned long addr, word size)
-{
-    word i;
-    word j;
-    word crc = 0;
-    for (j = 0; j < size; j++) {
-        crc = crc ^ ((word) * (byte *) (addr + j) << 8);
-        for (i = 0; i < 8; i++) {
-            if (crc & 0x8000)
-                crc = (crc << 1) ^ 0x1021;
-            else
-                crc <<= 1;
-        }
-    }
-    return crc;
-}

+ 0 - 3
snes/loadertest/crc.h

@@ -1,3 +0,0 @@
-
-word crc_update(byte * data, word size);
-word crc_update_mem(unsigned long, word size);

+ 0 - 8
snes/loadertest/data.h

@@ -1,8 +0,0 @@
-
-#ifndef _DATA
-
-typedef unsigned char byte;
-typedef unsigned short word;
-
-#define _DATA
-#endif

+ 0 - 224
snes/loadertest/debug.c

@@ -1,224 +0,0 @@
-#include <string.h>
-#include <stdarg.h>
-#include <stdio.h>
-#include <fcntl.h>
-
-#include "debug.h"
-#include "data.h"
-#include "pad.h"
-#include "PPU.h"
-#include "ressource.h"
-
-
-
-#define DEBUG_BUFFER_SIZE 128
-
-word debugMap[0x400];
-char debug_buffer[DEBUG_BUFFER_SIZE];
-char screen_buffer[DEBUG_BUFFER_SIZE];
-
-
-void debug_init(void)
-{
-    word i;
-    for (i = 0; i < 0x400; i++) {
-        debugMap[i] = 0x00;
-    }
-    memset(debug_buffer, 0, DEBUG_BUFFER_SIZE);
-    memset(screen_buffer, 0,DEBUG_BUFFER_SIZE);
-}
-
-
-void debug_enable(void)
-{
-    VRAMLoad((word) debugFont_pic, 0x5000, 2048);
-    VRAMLoad((word) debugMap, 0x4000, 0x0800);
-    setTileMapLocation(0x4000, (byte) 0x00, (byte) 0);
-    setCharacterLocation(0x5000, (byte) 0);
-    *(byte *) 0x2100 = 0x0f;    // enable background
-
-    // Font Color
-    // hex(24 << 10 | 24 << 5 | 24 ) = '0x6318'
-    *(byte *) 0x2121 = 0x02;
-    *(byte *) 0x2122 = 0xff;
-    *(byte *) 0x2122 = 0x7f;
-
-    // Font Border Color
-    *(byte *) 0x2121 = 0x00;
-    *(byte *) 0x2122 = 0x00;
-    *(byte *) 0x2122 = 0x00;
-
-    // Background Color
-    *(byte *) 0x2121 = 0x01;
-    *(byte *) 0x2122 = 0x05;
-    *(byte *) 0x2122 = 0x29;
-
-
-}
-
-void clears(void)
-{
-    word i, y;
-    for (y = 0; y < 20; y++) {
-        waitForVBlank();
-        for (i = 0; i < 32; i++) {
-            *(byte *) 0x2115 = 0x80;
-            *(word *) 0x2116 = 0x4000 + i + (y * 0x20);
-            *(byte *) 0x2118 = 0;
-        }
-    }
-}
-
-void _print_char(word y, word x, char c)
-{
-    waitForVBlank();
-    VRAMByteWrite((byte) (c - 32), (word) (0x4000 + x + (y * 0x20)));
-}
-
-void _print_screen(word y, char *buffer)
-{
-    char l;
-    unsigned int x; 
-    x = y * 0x20;
-    l = strlen(buffer);
-    waitForVBlank();
-    while (*buffer) {
-        if (*buffer == '\n') {
-            while (x++ < 32) {
-                *(byte *) 0x2115 = 0x80;
-                *(word *) 0x2116 = 0x4000 + x + (y * 0x20);
-                *(byte *) 0x2118 = 0;
-            }
-            x = 0;
-            y += 0x20;
-            buffer++;
-            waitForVBlank();
-            continue;
-        }
-        *(byte *) 0x2115 = 0x80;
-        *(word *) 0x2116 = 0x4000 + x;
-        *(byte *) 0x2118 = *buffer - 32;
-        x++;
-        buffer++;
-#if 1
-        waitForVBlank();
-#endif
-    }
-}
-void _print_console(const char *buffer)
-{
-    while (*buffer)
-        *(byte *) 0x3000 = *buffer++;
-}
-
-
-
-
-void printfc(const char *fmt, ...)
-{
-    va_list ap;
-    va_start(ap, fmt);
-    vsprintf(debug_buffer, fmt, ap);
-    va_end(ap);
-    _print_console(debug_buffer);
-    //memset(debug_buffer,0,DEBUG_BUFFER_SIZE);
-
-}
-
-void printfs(word y, const char *fmt, ...)
-{
-    va_list ap;
-    va_start(ap, fmt);
-    vsprintf(screen_buffer, fmt, ap);
-    va_end(ap);
-    _print_screen(y, screen_buffer);
-    //memset(screen_buffer, 0, DEBUG_BUFFER_SIZE);
-}
-
-void printc_packet(unsigned long addr, unsigned int len, byte * packet)
-{
-    unsigned int i, j;
-    unsigned int sum = 0;
-    unsigned int last_sum = 0;
-    unsigned int clear = 0;
-    
-    for (i = 0; i < len; i += 16) {
-
-        sum = 0;
-        for (j = 0; j < 16; j++) {
-            sum += packet[i + j];
-        }
-        if (!sum) {
-            clear = 1;
-            continue;
-        }
-        
-        if (last_sum == sum) {
-            clear = 1;
-            continue;
-        }
-        
-        if (clear) {
-            printfc("*\n");
-            clear = 0;
-        }
-        printfc("%06lX:", addr + i);
-        for (j = 0; j < 16; j++) {
-            printfc(" %02x", packet[i + j]);
-        }
-        printfc(" |");
-        for (j = 0; j < 16; j++) {
-            if (packet[i + j] >= 33 && packet[i + j] <= 126)
-                printfc("%c", packet[i + j]);
-            else
-                printfc(".");
-        }
-        printfc("|\n");
-        last_sum = sum;
-    }
-}
-/*
- * keep the linker happy 
- */
-int open(const char *_name, int _mode)
-{
-    _print_console("open called\n");
-    return -1;
-}
-
-int close(int fd)
-{
-    _print_console("close called\n");
-    return -1;
-
-}
-
-size_t read(int fd, void *buff, size_t len)
-{
-    _print_console("read called\n");
-    return 0;
-}
-
-size_t write(int fd, void *buffer, size_t len)
-{
-    _print_console("write called\n");
-    return 0;
-}
-
-long lseek(int fd, long off, int count)
-{
-    _print_console("lseek called\n");
-    return 0;
-}
-
-int unlink(const char *name)
-{
-    _print_console("unlink called\n");
-    return -1;
-}
-
-int isatty()
-{
-    _print_console("isatty called\n");
-    return 1;
-}

+ 0 - 8
snes/loadertest/debug.h

@@ -1,8 +0,0 @@
-#include "data.h"
-
-void debug_init(void);
-void debug_enable(void);
-void printfs(word y, const char *fmt, ...);
-void printfc(const char *fmt, ...);
-void clears(void);
-void printc_packet(unsigned long addr, unsigned int len, byte * packet);

+ 0 - 106
snes/loadertest/event.c

@@ -1,106 +0,0 @@
-#include <stdlib.h>
-
-#include "data.h";
-#include "event.h";
-
-event *events;
-
-void initEvents(void)
-{
-    events = NULL;
-}
-
-event *createEvent(char (*callback) (word counter))
-{
-    event *myEvent;
-
-    myEvent = (event *) malloc(sizeof(event));
-
-    myEvent->VBlankCount = 0;
-    myEvent->callback = callback;
-    myEvent->nextEvent = NULL;
-    myEvent->previousEvent = NULL;
-
-
-    return myEvent;
-}
-
-event *addEvent(char (*callback) (word counter), int noDuplicateCallback)
-{
-
-    event *lastEvent;
-    event *myEvent;
-
-    if (events == NULL) {
-        events = createEvent(callback);
-        return events;
-    } else {
-        lastEvent = events;
-        // TODO optimise this with noduplicate
-        while (lastEvent->nextEvent != NULL) {
-            if (noDuplicateCallback == 1 && lastEvent->callback == *callback) {
-                return NULL;
-            }
-            lastEvent = lastEvent->nextEvent;
-        }
-        if (noDuplicateCallback == 1 && lastEvent->callback == *callback) {
-            return NULL;
-        }
-        myEvent = createEvent(callback);
-        myEvent->previousEvent = lastEvent;
-        lastEvent->nextEvent = myEvent;
-        return myEvent;
-    }
-
-
-}
-
-void removeEvent(event * eventElement)
-{
-
-    byte alone = 0;
-    event *next, *previous;
-
-    next = eventElement->nextEvent;
-    previous = eventElement->previousEvent;
-
-    if (eventElement->nextEvent != NULL && eventElement->previousEvent != NULL) {
-        alone++;
-        next->previousEvent = previous;
-        previous->nextEvent = next;
-
-    } else if (eventElement->nextEvent != NULL) {
-        alone++;
-        next->previousEvent = NULL;
-        events = next;
-
-    } else if (eventElement->previousEvent != NULL) {
-        alone++;
-        previous->nextEvent = NULL;
-    }
-
-    free(eventElement);
-
-    if (alone == 0) {
-        events = NULL;
-    }
-}
-
-void processEvents(void)
-{
-
-    event *currentEvent;
-    char returnValue;
-
-    currentEvent = events;
-    while (currentEvent != NULL) {
-        returnValue = currentEvent->callback(currentEvent->VBlankCount);
-        if (returnValue == EVENT_CONTINUE) {
-            currentEvent->VBlankCount++;
-        } else {
-            removeEvent(currentEvent);
-        }
-        currentEvent = currentEvent->nextEvent;
-    }
-
-}

+ 0 - 17
snes/loadertest/event.h

@@ -1,17 +0,0 @@
-typedef struct event {
-    word VBlankCount;
-    char (*callback) (word counter);
-    struct event *previousEvent;
-    struct event *nextEvent;
-} event;
-
-#define EVENT_STOP 0
-#define EVENT_CONTINUE 1
-
-extern event *events;
-
-void initEvents(void);
-extern event *addEvent(char (*callback) (word counter),
-                       int noDuplicateCallback);
-extern void removeEvent(event * eventElement);
-extern void processEvents(void);

+ 0 - 48
snes/loadertest/integer.h

@@ -1,48 +0,0 @@
-/*-------------------------------------------*/
-/*
- * Integer type definitions for FatFs module 
- */
-/*-------------------------------------------*/
-
-#ifndef _INTEGER
-
-
-/*
- * These types must be 16-bit, 32-bit or larger integer 
- */
-typedef int INT;
-typedef unsigned int UINT;
-
-/*
- * These types must be 8-bit integer 
- */
-typedef signed char CHAR;
-typedef unsigned char UCHAR;
-typedef unsigned char BYTE;
-
-/*
- * These types must be 16-bit integer 
- */
-typedef short SHORT;
-typedef unsigned short USHORT;
-typedef unsigned short WORD;
-typedef unsigned short WCHAR;
-
-/*
- * These types must be 32-bit integer 
- */
-typedef long LONG;
-typedef unsigned long ULONG;
-typedef unsigned long DWORD;
-
-/*
- * Boolean type 
- */
-// enum { false = 0 , true } bool;
-
-//typedef int BOOL;
-#define FALSE 0
-#define TRUE  1
-
-#define _INTEGER
-#endif

+ 0 - 93
snes/loadertest/main.c

@@ -1,93 +0,0 @@
-
-#include <stdlib.h>
-#include <string.h>
-#include <time.h>
-
-#include "data.h";
-#include "pad.h";
-#include "event.h";
-#include "myEvents.h";
-#include "ressource.h";
-#include "PPU.h"
-#include "debug.h"
-#include "integer.h"
-
-
-
-typedef void (*FUNC) (void);
-
-padStatus pad1;
-
-void initInternalRegisters(void)
-{
-    characterLocation[0] = 0x0000;
-    characterLocation[1] = 0x0000;
-    characterLocation[2] = 0x0000;
-    characterLocation[3] = 0x0000;
-    debug_init();
-}
-
-void preInit(void)
-{
-
-    // For testing purpose ... 
-    // Insert code here to be executed before register init
-} 
-
-void halt(void)
-{
-    while (1);
-}
-
-void wait(void)
-{
-    printfc("SNES::wait: press A to continue\n");
-    enablePad();
-    pad1 = readPad((byte) 0);
-    while (!pad1.A) {
-        waitForVBlank();
-        pad1 = readPad((byte) 0);
-    }
-    printfc("SNES::wait: done\n");
-}
-
-void boot(DWORD addr)
-{
-    FUNC fn;
-    //printfc("SNES::boot addr=%lx\n", addr);
-    fn = (FUNC) addr;
-    fn();
-
-} 
-
-unsigned char i;
-unsigned char j;
-
-void main(void)
-{
-    initInternalRegisters();
-    *(byte *) 0x2105 = 0x01;    // MODE 1 value
-    *(byte *) 0x212c = 0x01;    // Plane 0 (bit one) enable register
-    *(byte *) 0x212d = 0x00;    // All subPlane disable
-    *(byte *) 0x2100 = 0x0f;    // enable background
-
-    debug_enable();
-    i=0;
-    j=0;
-    while (1) {
-        printfs(0,"IRQ COUNT  %i", i);
-        printfs(1,"NMI COUNT  %i", j++);
-        waitForVBlank();
-    }
-}
-
-void IRQHandler(void)
-{
-    i = i + 1;
-}
-
-void NMIHandler(void)
-{
-
-    // processEvents();
-}

+ 0 - 103
snes/loadertest/myEvents.c

@@ -1,103 +0,0 @@
-#include "data.h";
-#include "pad.h";
-#include "event.h";
-
-extern padStatus pad1;
-extern word scrollValue;
-
-char fadeOut(word counter)
-{
-    static byte fadeOutValue;
-
-    if (counter == 0) {
-        // init fade value
-        fadeOutValue = 0x0f;
-    } else {
-        fadeOutValue--;
-    }
-
-    *(byte *) 0x2100 = fadeOutValue;
-
-    if (fadeOutValue == 0x00) {
-        return EVENT_STOP;
-    } else {
-        return EVENT_CONTINUE;
-    }
-}
-
-char fadeIn(word counter)
-{
-    static byte fadeInValue;
-
-    if (counter == 0) {
-        // init fade value
-        fadeInValue = 0x00;
-    } else {
-        fadeInValue++;
-    }
-
-    *(byte *) 0x2100 = fadeInValue;
-
-    if (fadeInValue >= 0x0f) {
-        return EVENT_STOP;
-    } else {
-        return EVENT_CONTINUE;
-    }
-}
-
-char mosaicOut(word counter)
-{
-    static byte mosaicOutValue;
-
-    if (counter == 0) {
-        // init fade value
-        mosaicOutValue = 0xff;
-    } else {
-        mosaicOutValue -= 0x10;
-    }
-
-    *(byte *) 0x2106 = mosaicOutValue;
-
-    if (mosaicOutValue == 0x0f) {
-        return EVENT_STOP;
-    } else {
-        return EVENT_CONTINUE;
-    }
-}
-
-char mosaicIn(word counter)
-{
-    static byte mosaicInValue;
-
-    if (counter == 0) {
-        // init fade value
-        mosaicInValue = 0x0f;
-    } else {
-        mosaicInValue += 0x10;
-    }
-
-    *(byte *) 0x2106 = mosaicInValue;
-
-    if (mosaicInValue == 0xff) {
-        return EVENT_STOP;
-    } else {
-        return EVENT_CONTINUE;
-    }
-}
-
-char NMIReadPad(word counter)
-{
-    pad1 = readPad((byte) 0);
-
-    return EVENT_CONTINUE;
-}
-
-char scrollLeft(word counter)
-{
-    scrollValue++;
-
-    *(byte *) 0x210d = (byte) scrollValue;
-    *(byte *) 0x210d = (byte) (scrollValue >> 8);
-
-    return EVENT_CONTINUE;
-}

+ 0 - 6
snes/loadertest/myEvents.h

@@ -1,6 +0,0 @@
-char fadeOut(word counter);
-char fadeIn(word counter);
-char mosaicOut(word counter);
-char mosaicIn(word counter);
-char NMIReadPad(word counter);
-char scrollLeft(word counter);

+ 0 - 26
snes/loadertest/pad.c

@@ -1,26 +0,0 @@
-#include "data.h";
-#include "pad.h";
-#include "debug.h";
-
-void enablePad(void)
-{
-    // Enable pad reading and NMI
-    *(byte *) 0x4200 = 0x01;
-}
-
-void disablePad(void)
-{
-    // Enable pad reading and NMI
-    *(byte *) 0x4200 = 0x00;
-}
-
-padStatus readPad(byte padNumber)
-{
-    word test;
-    padStatus *status;
-    padNumber = padNumber << 1;
-    test = (word) * (byte *) 0x4218 + padNumber << 8;
-    test |= (word) * (byte *) 0x4219 + padNumber;
-    status = (padStatus *) & test;
-    return *status;
-}

+ 0 - 20
snes/loadertest/pad.h

@@ -1,20 +0,0 @@
-typedef struct padStatus {
-    byte right:1;
-    byte left:1;
-    byte down:1;
-    byte up:1;
-    byte start:1;               // Enter
-    byte select:1;              // Space
-    byte Y:1;                   // X
-    byte B:1;                   // C
-    // --------------------------------
-    byte Dummy:4;
-    byte R:1;                   // Z
-    byte L:1;                   // A
-    byte X:1;                   // S
-    byte A:1;                   // D
-} padStatus;
-
-extern void enablePad(void);
-extern void disablePad(void);
-extern padStatus readPad(byte padNumber);

+ 0 - 9
snes/loadertest/ressource.asm

@@ -1,9 +0,0 @@
-ressource .section
-
-
-	XDEF _~debugFont_pic
-_~debugFont_pic
-	INSERT ressource/debugFont.pic
-
-
-.ends

+ 0 - 2
snes/loadertest/ressource.h

@@ -1,2 +0,0 @@
-
-extern word debugFont_pic[];

BIN
snes/loadertest/ressource/debugFont.clr


BIN
snes/loadertest/ressource/debugFont.pcx


BIN
snes/loadertest/ressource/debugFont.pic


BIN
snes/loadertest/ressource/debugFont.xcf


BIN
snes/loadertest/tools/padbin.exe


+ 0 - 262
snes/xmsnes/InitSNES.asm

@@ -1,262 +0,0 @@
-;------------------------------------------------------------------------
-;-  Written by: Neviksti
-;-     If you use my code, please share your creations with me
-;-     as I am always curious :)
-;------------------------------------------------------------------------
-
-
-;----------------------------------------------------------------------------
-; InitSNES -- my "standard" initialization of SNES memory and registers
-;----------------------------------------------------------------------------
-.MACRO InitSNES
-  sei                     ;disable interrupts
-  clc                     ;switch to native mode
-  xce
-
-  REP #$38		; mem/A = 16 bit, X/Y = 16 bit
-			;decimal mode off
-
-  LDX #$1FFF	;Setup the stack
-  TXS			;Transfer Index X to Stack Pointer Register
-
-  ;do the rest of the initialization in a routine
-  JSL $008000
-
-  SEP #$20		; mem/A = 8 bit
-.ENDM
-
-;----------------------------------------------------------------------------
-
-.BANK 0 SLOT 0
-.ORG 0
-.SECTION "InitializeSNESCode" FORCE
-
-InitializeSNES:
-  PHK			;set Data Bank = Program Bank
-  PLB
-
-  LDA #$0000	;set Direct Page = $0000
-  TCD			;Transfer Accumulator to Direct Register
-
-  LDX $1FFD		;we clear all the mem at one point ...
-  STX $4372  	;so save the return address in a place that won't get overwritten
-  LDX $1FFF
-  STX $4374
-
-  SEP #$20		; mem/A = 8 bit
-  REP #$10
-
-  LDA #$8F
-  STA $2100		;turn screen off for now, set brightness to normal
-
-  LDX #$2101
-_Loop00:		;regs $2101-$210C
-  STZ $00,X		;set Sprite,Character,Tile sizes to lowest, and set addresses to $0000
-  INX
-  CPX #$210D
-  BNE _Loop00
-
-_Loop01:		;regs $210D-$2114
-  STZ $00,X		;Set all BG scroll values to $0000
-  STZ $00,X
-  INX
-  CPX #$2115
-  BNE _Loop01
-
-  LDA #$80		;reg $2115
-  STA $2115		; Initialize VRAM transfer mode to word-access, increment by 1
-
-  STZ $2116		;regs $2117-$2117
-  STZ $2117		;VRAM address = $0000
-
-			;reg $2118-$2119
-			;VRAM write register... don't need to initialize
-
-  STZ $211A		;clear Mode7 setting
-
-  LDX #$211B
-_Loop02:		;regs $211B-$2120
-  STZ $00,X		;clear out the Mode7 matrix values
-  STZ $00,X
-  INX
-  CPX #$2121
-  BNE _Loop02
-
-			;reg $2121 - Color address, doesn't need initilaizing
-			;reg $2122 - Color data, is initialized later
-
-  LDX #$2123
-_Loop03:		;regs $2123-$2133
-  STZ $00,X		;turn off windows, main screens, sub screens, color addition,
-  INX			;fixed color = $00, no super-impose (external synchronization),
-  CPX #$2134	;no interlaced mode, normal resolution
-  BNE _Loop03
-
-			;regs $2134-$2136  - multiplication result, no initialization needed
-			;reg $2137 - software H/V latch, no initialization needed
-			;reg $2138 - Sprite data read, no initialization needed
-			;regs $2139-$213A  - VRAM data read, no initialization needed
-			;reg $213B - Color RAM data read, no initialization needed
-			;regs $213C-$213D  - H/V latched data read, no initialization needed
-
-  STZ $213E		;reg $213E - might not be necesary, but selects PPU master/slave mode
-			;reg $213F - PPU status flag, no initialization needed
-
-			;reg $2140-$2143 - APU communication regs, no initialization required
-
-			;reg $2180  -  read/write WRAM register, no initialization required
-			;reg $2181-$2183  -  WRAM address, no initialization required
-
-			;reg $4016-$4017  - serial JoyPad read registers, no need to initialize
-
-
-  STZ $4200		;reg $4200  - disable timers, NMI,and auto-joyread
-
-  LDA #$FF
-  STA $4201		;reg $4201  - programmable I/O write port, initalize to allow reading at in-port
-
-			;regs $4202-$4203  - multiplication registers, no initialization required
-			;regs $4204-$4206  - division registers, no initialization required
-
-			;regs $4207-$4208  - Horizontal-IRQ timer setting, since we disabled this, it is OK to not init
-			;regs $4209-$420A  - Vertical-IRQ timer setting, since we disabled this, it is OK to not init
-
-  STZ $420B		;reg $420B  - turn off all general DMA channels
-  STZ $420C		;reg $420C  - turn off all H-MA channels
-
-  STZ $420D		;reg $420D  - ROM access time to slow (2.68Mhz)
-
-  LDA $4210		;reg $4210  - NMI status, reading resets
-
-			;reg $4211  - IRQ status, no need to initialize
-			;reg $4212  - H/V blank and JoyRead status, no need to initialize
-			;reg $4213  - programmable I/O inport, no need to initialize
-
-			;reg $4214-$4215  - divide results, no need to initialize
-			;reg $4216-$4217  - multiplication or remainder results, no need to initialize
-
-			;regs $4218-$421f  - JoyPad read registers, no need to initialize
-
-			;regs $4300-$437F
-			;no need to intialize because DMA was disabled above
-			;also, we're not sure what all of the registers do, so it is better to leave them at
-			;their reset state value
-
-;  JSR ClearVRAM      ;Reset VRAM
- ; JSR ClearPalette   ;Reset colors
-
-  ;**** clear Sprite tables ********
-
-  STZ $2102	;sprites initialized to be off the screen, palette 0, character 0
-  STZ $2103
-  LDX #$0080
-  LDA #$F0
-_Loop08:
-  STA $2104	;set X = 240
-  STA $2104	;set Y = 240
-  STZ $2104	;set character = $00
-  STZ $2104	;set priority=0, no flips
-  DEX
-  BNE _Loop08
-
-  LDX #$0020
-_Loop09:
-  STZ $2104		;set size bit=0, x MSB = 0
-  DEX
-  BNE _Loop09
-
-  ;**** clear WRAM ********
-
-  STZ $2181		;set WRAM address to $000000
-  STZ $2182
-  STZ $2183
-
-  LDX #$8008
-  STX $4300         ;Set DMA mode to fixed source, BYTE to $2180
-  LDX #wram_fill_byte
-  STX $4302         ;Set source offset
-  LDA #:wram_fill_byte
-  STA $4304         ;Set source bank
-  LDX #$0000
-  STX $4305         ;Set transfer size to 64k bytes
-  LDA #$01
-  STA $420B         ;Initiate transfer
-
-  LDA #$01          ;now set the next 64k bytes
-  STA $420B         ;Initiate transfer
-
-  PHK			;make sure Data Bank = Program Bank
-  PLB
-
-  CLI			;enable interrupts again
-
-  LDX $4372  	;get our return address...
-  STX $1FFD
-  LDA $4374
-  STA $1FFF
-  RTL
-
-wram_fill_byte:
-.db $00
-
-;----------------------------------------------------------------------------
-; ClearVRAM -- Sets every byte of VRAM to zero
-; In: None
-; Out: None
-; Modifies: flags
-;----------------------------------------------------------------------------
-ClearVRAM:
-   pha
-   phx
-   php
-
-   REP #$30		; mem/A = 8 bit, X/Y = 16 bit
-   SEP #$20
-
-   LDA #$80
-   STA $2115         ;Set VRAM port to word access
-   LDX #$1809
-   STX $4300         ;Set DMA mode to fixed source, WORD to $2118/9
-   LDX #$0000
-   STX $2116         ;Set VRAM port address to $0000
-   STX $0000         ;Set $00:0000 to $0000 (assumes scratchpad ram)
-   STX $4302         ;Set source address to $xx:0000
-   LDA #$00
-   STA $4304         ;Set source bank to $00
-   LDX #$FFFF
-   STX $4305         ;Set transfer size to 64k-1 bytes
-   LDA #$01
-   STA $420B         ;Initiate transfer
-
-   STZ $2119         ;clear the last byte of the VRAM
-
-   plp
-   plx
-   pla
-   RTS
-
-;----------------------------------------------------------------------------
-; ClearPalette -- Reset all palette colors to zero
-; In: None
-; Out: None
-; Modifies: flags
-;----------------------------------------------------------------------------
-ClearPalette:
-   PHX
-   PHP
-   REP #$30		; mem/A = 8 bit, X/Y = 16 bit
-   SEP #$20
-
-   STZ $2121
-   LDX #$0100
-ClearPaletteLoop:
-   STZ $2122
-   STZ $2122
-   DEX
-   BNE ClearPaletteLoop
-
-   PLP
-   PLX
-   RTS
-
-.ENDS

+ 0 - 7
snes/xmsnes/Makefile

@@ -1,7 +0,0 @@
-
-
-all:
-	sh make.sh
-
-run:
-	zsnes xmsnes.smc

+ 0 - 41
snes/xmsnes/cheader.inc

@@ -1,41 +0,0 @@
-;----------------------------------------------------------------------;
-;                               Header File                            ;
-;                         (Written By MarcTheMER)                      ;
-;                      Email: marcthemer@hotmail.com                   ;
-;======================================================================;
-;    I had written this simple yet useful header file to help SNES     ;
-;  programmers with their assembly. This section of code modifies the  ;
-; SNES cartridge header so it is compatable for use on zsnes or snes9x ;
-;======================================================================;
-;  If you use any of my header files to create an awesome game please  ;
-;    email me as I am always trying to learn new programming skills.   ;
-;----------------------------------------------------------------------;
-
-
-.SNESNATIVEVECTOR                   ; Defines inturupt vactor table
-  COP DoNothing
-  BRK DoNothing
-  ABORT DoNothing
-  NMI VBlank
-  IRQ DoNothing
-.ENDNATIVEVECTOR
-
-.SNESEMUVECTOR                      ; Defines inturupt vactor table
-  COP DoNothing
-  ABORT DoNothing
-  NMI DoNothing                     ; I wouldn't recomend using emulation mode.
-  RESET Main
-  IRQBRK DoNothing
-.ENDEMUVECTOR
-
-
-.EMPTYFILL $00                      ; fills the rom with $00
-
-.BANK 0 SLOT 0
-.ORG 0
-.SECTION "EmptyVectors" SEMIFREE    ; Set up interupt vector coding.
-
-DoNothing:
-  RTI
-
-.ENDS

BIN
snes/xmsnes/graphics/bg.pcx


BIN
snes/xmsnes/graphics/bg2.pcx


BIN
snes/xmsnes/graphics/bub.pcx


BIN
snes/xmsnes/graphics/font.pcx


+ 0 - 906
snes/xmsnes/graphics/gfx_bg.inc

@@ -1,906 +0,0 @@
-; Created with eKid's pcx2snes converter ;
-
-gfx_bg:
-    .db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $FF, $FF, $FF, $FF, $FF, $FF, $FE, $FF, $FE, $FF, $FE, $FF, $FC, $FF, $FC, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $1F, $E0, $3F, $C0, $3F, $C0, $3F, $C0, $7F, $80, $7F, $80, $7F, $80, $FF, $00, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $F0, $00, $F0, $00, $E0, $00, $E0, $00, $E0, $00, $C0, $00, $C0, $00, $C0, $00, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $1F, $1F, $1F, $1F, $1F, $1F, $1F, $1F, $3F, $3F, $3F, $3F, $3F, $3F, $7F, $7F, $E0, $FF, $E0, $FF, $E0, $FF, $E0, $FF, $C0, $FF, $C0, $FF, $C0, $FF, $80, $FF
-    .db $E0, $FF, $E0, $FF, $C0, $FF, $C0, $FF, $C0, $FF, $C0, $FF, $80, $FF, $80, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $1F, $E0, $1F, $E0, $3F, $C0, $3F, $C0, $3F, $C0, $7E, $80, $7E, $80, $7E, $80, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $80, $00, $80, $00, $00, $00, $03, $03, $03, $03, $07, $07, $07, $07, $07, $07, $00, $FF, $00, $FF, $00, $FF, $03, $FC, $03, $FC, $07, $F8, $07, $F8, $07, $F8
-    .db $00, $00, $00, $00, $00, $00, $C0, $C0, $F8, $F8, $FF, $FF, $FF, $FF, $FF, $FF, $00, $FF, $00, $FF, $00, $FF, $C0, $3F, $F8, $07, $FF, $00, $FF, $00, $FF, $00
-    .db $1F, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00, $E0, $E0, $FE, $FE, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $E0, $1F, $FE, $01
-    .db $FF, $00, $FF, $00, $3F, $00, $07, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $FE, $01, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $0F, $00, $01, $00, $00, $00, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $00, $FF, $C0, $3F, $F8, $07, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $3F, $00, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $00, $FF, $00, $FF, $00, $FF, $80, $7F, $F0, $0F, $FE, $01, $FF, $00, $FF, $00, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $C0, $3F, $FC, $03, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $FF, $FF, $1F, $FF, $01, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $FF, $FF, $FF, $FF, $FF, $FF, $3F, $FF, $07, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $0F, $FF, $01, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $80, $80, $F0, $F0, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $7F, $FF, $0F, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $00, $00, $00, $00, $00, $00, $E0, $E0, $FC, $FC, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $1F, $FF, $03, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $80, $80, $F8, $F8, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $7F, $FF, $07, $FF, $00, $FF
-    .db $3F, $00, $07, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $FF, $00, $FF, $00, $FF, $00, $1F, $00, $01, $00, $00, $00, $00, $00, $00, $00, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $3F, $00, $07, $00, $00, $00, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $00, $FF, $E0, $1F, $FC, $03, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $00, $FF, $00, $FF, $00, $FF, $C0, $3F, $F8, $07, $FF, $00, $FF, $00, $FF, $00, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $E0, $1F, $FE, $01, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $7F, $FF, $07, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $FF, $FF, $FF, $FF, $FF, $FF, $1F, $FF, $03, $FF, $00, $FF, $00, $FF, $00, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $FC, $FF, $FC, $FF, $F8, $FF, $F8, $FF, $F8, $FF, $F0, $FF, $F0, $FF, $F0, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $00, $FF, $00, $FF, $00, $FF, $01, $FE, $01, $FE, $01, $FE, $03, $FC, $03, $FC, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FE, $00, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $80, $00, $80, $00, $80, $00, $80, $00, $00, $00, $01, $01, $01, $01, $01, $01, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FE, $FF, $FE, $FF, $FE, $FF
-    .db $7F, $7F, $7F, $7F, $FF, $FF, $FF, $FF, $FE, $FF, $FE, $FF, $FE, $FF, $FE, $FF, $80, $FF, $80, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $80, $FF, $00, $FF, $00, $FF, $00, $FF, $01, $FE, $01, $FE, $01, $FE, $03, $FC, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $FC, $00, $FC, $00, $FC, $00, $FC, $00, $F8, $00, $F8, $00, $F8, $00, $F0, $00, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $0F, $0F, $0F, $0F, $0F, $0F, $1F, $1F, $1F, $1F, $1F, $1F, $1F, $1F, $3E, $3F, $0F, $F0, $0F, $F0, $0F, $F0, $1F, $E0, $1F, $E0, $1F, $E0, $1F, $E0, $3F, $C0
-    .db $FF, $FF, $8F, $FF, $81, $FF, $80, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $FF, $FF, $FF, $FF, $FF, $FF, $1F, $FF, $03, $FF, $00, $FF, $00, $FF, $00, $FF, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $C0, $C0, $F8, $F8, $FF, $FF, $FF, $FF, $FF, $FF, $7F, $FF, $07, $FF, $00, $FF, $C0, $3F, $F8, $07, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $00, $00, $00, $00, $00, $00, $F0, $F0, $FE, $FE, $FF, $FF, $FF, $FF, $FF, $FF, $00, $FF, $00, $FF, $00, $FF, $F0, $0F, $FE, $01, $FF, $00, $FF, $00, $FF, $00
-    .db $07, $00, $00, $00, $00, $00, $00, $00, $00, $00, $C0, $C0, $F8, $F8, $FF, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $C0, $3F, $F8, $07, $FF, $00
-    .db $FF, $00, $7F, $00, $0F, $00, $01, $00, $00, $00, $00, $00, $00, $00, $80, $80, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $80, $7F
-    .db $FF, $00, $FF, $00, $FF, $00, $FF, $00, $3F, $00, $03, $00, $00, $00, $00, $00, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $80, $7F, $F0, $0F, $FE, $01, $FF, $00, $FF, $00, $FF, $00, $7F, $00, $0F, $00, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $00, $FF, $00, $FF, $00, $FF, $E0, $1F, $FC, $03, $FF, $00, $FF, $00, $FF, $00, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $80, $7F, $F0, $0F, $FF, $00, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $3F, $FF, $07, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $FF, $FF, $FF, $FF, $7F, $FF, $0F, $FF, $01, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $3F, $FF, $03, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $E0, $E0, $FC, $FC, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $7F, $FF, $1F, $FF, $03, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $00, $00, $00, $00, $C0, $C0, $F8, $F8, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $3F, $FF, $07, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $E0, $E0, $FE, $FE, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $1F, $FF, $01, $FF, $00, $FF
-    .db $0F, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $C0, $C0, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $3F, $FF
-    .db $FF, $00, $FF, $00, $3F, $00, $07, $00, $00, $00, $00, $00, $00, $00, $00, $00, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $FF, $00, $FF, $00, $FF, $00, $FF, $00, $7F, $00, $0F, $00, $01, $00, $00, $00, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $3F, $00, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $C0, $3F, $F8, $07, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $00, $FF, $00, $FF, $00, $FF, $F0, $0F, $FE, $01, $FF, $00, $FF, $00, $FF, $00, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $C0, $3F, $F8, $07, $FF, $00, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $E0, $FF, $E0, $FF, $E0, $FF, $C0, $FF, $C0, $FF, $C0, $FF, $C0, $FF, $80, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $03, $FC, $07, $F8, $07, $F8, $07, $F8, $0F, $F0, $0F, $F0, $0F, $F0, $0F, $F0, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $FE, $00, $FE, $00, $FC, $00, $FC, $00, $FC, $00, $F8, $00, $F8, $00, $F8, $00, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $01, $01, $03, $03, $03, $03, $03, $03, $07, $07, $07, $07, $07, $07, $0F, $0F, $FE, $FF, $FC, $FF, $FC, $FF, $FC, $FF, $F8, $FF, $F8, $FF, $F8, $FF, $F0, $FF
-    .db $FC, $FF, $FC, $FF, $FC, $FF, $F8, $FF, $F8, $FF, $F8, $FF, $F0, $FF, $F0, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $03, $FC, $03, $FC, $07, $F8, $07, $F8, $07, $F8, $0F, $F0, $0F, $F0, $0F, $F0, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $F0, $00, $F0, $00, $E0, $00, $E0, $00, $E0, $00, $C0, $00, $C0, $00, $C0, $00, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $3E, $3F, $3E, $3F, $7E, $7F, $7C, $7F, $7C, $7F, $FC, $FF, $F8, $FF, $F8, $FF, $3F, $C0, $3F, $C0, $7F, $80, $7F, $80, $7F, $80, $FF, $00, $FF, $00, $FF, $00
-    .db $00, $FF, $00, $FF, $03, $FC, $03, $FC, $07, $F8, $07, $F8, $07, $F8, $0F, $F0, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $00, $FF, $00, $FF, $C0, $3F, $F8, $07, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $E0, $1F, $FE, $01, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $1F, $FF, $03, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $C0, $3F, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $FF, $FF, $FF, $FF, $3F, $FF, $07, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $F0, $F0, $FE, $FE, $FF, $FF, $FF, $FF, $FF, $FF, $1F, $FF, $01, $FF, $00, $FF, $F0, $0F, $FE, $01, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $00, $00, $00, $00, $C0, $C0, $FC, $FC, $FF, $FF, $FF, $FF, $FF, $FF, $3F, $FF, $00, $FF, $00, $FF, $C0, $3F, $FC, $03, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $01, $00, $00, $00, $00, $00, $00, $00, $80, $80, $F0, $F0, $FE, $FE, $FF, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $80, $7F, $F0, $0F, $FE, $01, $FF, $00
-    .db $FF, $00, $1F, $00, $03, $00, $00, $00, $00, $00, $00, $00, $00, $00, $E0, $E0, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $E0, $1F
-    .db $FF, $00, $FF, $00, $FF, $00, $7F, $00, $0F, $00, $00, $00, $00, $00, $00, $00, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $E0, $1F, $FC, $03, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $1F, $00, $03, $00, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $00, $FF, $00, $FF, $80, $7F, $F8, $07, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $E0, $1F, $FC, $03, $FF, $00, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $0F, $FF, $01, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $C0, $3F, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $FF, $FF, $FF, $FF, $1F, $FF, $03, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $7F, $FF, $0F, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $F8, $F8, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $1F, $FF, $07, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $00, $00, $00, $00, $F0, $F0, $FE, $FE, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $0F, $FF, $01, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $00, $00, $00, $00, $00, $00, $00, $00, $C0, $C0, $F8, $F8, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $3F, $FF, $07, $FF, $00, $FF, $00, $FF
-    .db $03, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $80, $80, $F0, $F0, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $7F, $FF, $0F, $FF
-    .db $FF, $00, $7F, $00, $0F, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $FF, $00, $FF, $00, $FF, $00, $FF, $00, $1F, $00, $03, $00, $00, $00, $00, $00, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $7F, $00, $07, $00, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FE, $FF, $FE, $FF, $FE, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $80, $FF, $80, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $1F, $E0, $1F, $E0, $1F, $E0, $3F, $C0, $3F, $C0, $3F, $C0, $7F, $80, $7F, $80, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $F8, $00, $F0, $00, $F0, $00, $F0, $00, $E0, $00, $E0, $00, $E0, $00, $C0, $00, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $0F, $0F, $0F, $0F, $1F, $1F, $1F, $1F, $1F, $1F, $1F, $1F, $3F, $3F, $3F, $3F, $F0, $FF, $F0, $FF, $E0, $FF, $E0, $FF, $E0, $FF, $E0, $FF, $C0, $FF, $C0, $FF
-    .db $F0, $FF, $E0, $FF, $E0, $FF, $E0, $FF, $E0, $FF, $C0, $FF, $C0, $FF, $C0, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $0F, $F0, $1F, $E0, $1F, $E0, $1F, $E0, $3F, $C0, $3F, $C0, $3F, $C0, $7E, $80, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $C0, $00, $81, $01, $81, $01, $81, $01, $03, $03, $03, $03, $03, $03, $07, $07, $00, $FF, $01, $FE, $01, $FE, $01, $FE, $03, $FC, $03, $FC, $03, $FC, $07, $F8
-    .db $F8, $FF, $F0, $FF, $F0, $FF, $F0, $FF, $E0, $FF, $E0, $FF, $E0, $FF, $E0, $FF, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $0F, $F0, $0F, $F0, $1F, $E0, $1F, $E0, $1F, $E0, $1F, $E0, $3F, $C0, $3F, $C0, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $FF, $00, $FF, $00, $FF, $00, $E3, $00, $C0, $00, $C0, $00, $C0, $00, $C0, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $FF, $00, $FF, $00, $FF, $00, $FF, $00, $7F, $00, $0F, $00, $00, $00, $00, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $F8, $07, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $1F, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $00, $FF, $00, $FF, $F0, $0F, $FE, $01, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $00, $FF, $00, $FF, $00, $FF, $00, $FF, $C0, $3F, $F8, $07, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $07, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $80, $7F, $F0, $0F, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $FF, $FF, $FF, $FF, $0F, $FF, $01, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $FC, $FC, $FF, $FF, $FF, $FF, $FF, $FF, $3F, $FF, $07, $FF, $00, $FF, $00, $FF, $FC, $03, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $00, $00, $80, $80, $F0, $F0, $FF, $FF, $FF, $FF, $FF, $FF, $7F, $FF, $0F, $FF, $00, $FF, $80, $7F, $F0, $0F, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $00, $00, $00, $00, $00, $00, $00, $00, $E0, $E0, $FC, $FC, $FF, $FF, $FF, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $E0, $1F, $FC, $03, $FF, $00, $FF, $00
-    .db $7F, $00, $07, $00, $00, $00, $00, $00, $00, $00, $00, $00, $80, $80, $F8, $F8, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $80, $7F, $F8, $07
-    .db $FF, $00, $FF, $00, $FF, $00, $1F, $00, $03, $00, $00, $00, $00, $00, $00, $00, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $F8, $07, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $3F, $00, $07, $00, $00, $00, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $00, $FF, $00, $FF, $E0, $1F, $FE, $01, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $00, $FF, $00, $FF, $00, $FF, $00, $FF, $C0, $3F, $F8, $07, $FF, $00, $FF, $00, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $03, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $F0, $0F, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $FF, $FF, $7F, $FF, $07, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $1F, $FF, $03, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $FE, $FE, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $3F, $FF, $07, $FF, $01, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $00, $00, $C0, $C0, $FC, $FC, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $3F, $FF, $03, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $00, $00, $00, $00, $00, $00, $80, $80, $F0, $F0, $FE, $FE, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $7F, $FF, $0F, $FF, $01, $FF, $00, $FF, $00, $FF
-    .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $E0, $E0, $FC, $FC, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $1F, $FF, $03, $FF
-    .db $FC, $FF, $FC, $FF, $FC, $FF, $FC, $FF, $F8, $FF, $F8, $FF, $F8, $FF, $F0, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $01, $FE, $01, $FE, $01, $FE, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $7F, $80, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $C0, $00, $C0, $00, $80, $00, $80, $00, $80, $00, $80, $00, $00, $00, $01, $01, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FE, $FF
-    .db $3F, $3F, $7F, $7F, $7F, $7F, $7F, $7F, $FF, $FF, $FF, $FF, $FE, $FF, $FE, $FF, $C0, $FF, $80, $FF, $80, $FF, $80, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $80, $FF, $80, $FF, $80, $FF, $00, $FF, $00, $FF, $00, $FF, $01, $FE, $01, $FE, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $7E, $80, $7E, $80, $FC, $00, $FC, $00, $FC, $00, $FC, $00, $F8, $00, $F8, $00, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $07, $07, $07, $07, $0F, $0F, $0F, $0F, $0F, $0F, $0F, $0F, $1F, $1F, $1F, $1F, $07, $F8, $07, $F8, $0F, $F0, $0F, $F0, $0F, $F0, $0F, $F0, $1F, $E0, $1F, $E0
-    .db $C0, $FF, $C0, $FF, $C0, $FF, $80, $FF, $80, $FF, $80, $FF, $00, $FF, $01, $FE, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $3F, $C0, $7F, $80, $7F, $80, $7F, $80, $FF, $00, $FF, $00, $FE, $00, $FE, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $80, $00, $80, $00, $80, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $F0, $F0, $FE, $FE, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $0F, $00, $01, $00
-    .db $03, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $FF, $00, $7F, $00, $07, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $FF, $00, $FF, $00, $FF, $00, $FF, $00, $1F, $00, $01, $00, $00, $00, $00, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $FE, $01, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $3F, $00, $07, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $00, $FF, $C0, $3F, $FC, $03, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $00, $FF, $00, $FF, $00, $FF, $80, $7F, $F0, $0F, $FE, $01, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $01, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $E0, $1F, $FC, $03, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $FF, $FF, $3F, $FF, $03, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $FF, $FF, $FF, $FF, $FF, $FF, $7F, $FF, $0F, $FF, $01, $FF, $00, $FF, $00, $FF, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $00, $00, $E0, $E0, $FC, $FC, $FF, $FF, $FF, $FF, $FF, $FF, $1F, $FF, $03, $FF, $00, $FF, $E0, $1F, $FC, $03, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $00, $00, $00, $00, $00, $00, $C0, $C0, $F8, $F8, $FF, $FF, $FF, $FF, $FF, $FF, $00, $FF, $00, $FF, $00, $FF, $C0, $3F, $F8, $07, $FF, $00, $FF, $00, $FF, $00
-    .db $1F, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00, $E0, $E0, $FE, $FE, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $E0, $1F, $FE, $01
-    .db $FF, $00, $FF, $00, $3F, $00, $07, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $FE, $01, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $0F, $00, $01, $00, $00, $00, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $00, $FF, $C0, $3F, $F8, $07, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $3F, $00, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $00, $FF, $00, $FF, $00, $FF, $80, $7F, $F0, $0F, $FE, $01, $FF, $00, $FF, $00, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $C0, $3F, $FC, $03, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $FF, $FF, $0F, $FF, $01, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $FF, $FF, $FF, $FF, $FF, $FF, $3F, $FF, $07, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $7F, $FF, $0F, $FF, $01, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $F0, $FF, $F0, $FF, $E0, $FF, $E0, $FF, $E0, $FF, $E0, $FF, $C0, $FF, $C0, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $03, $FC, $03, $FC, $03, $FC, $07, $F8, $07, $F8, $07, $F8, $0F, $F0, $0F, $F0, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $FF, $00, $FE, $00, $FE, $00, $FE, $00, $FC, $00, $FC, $00, $FC, $00, $F8, $00, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $01, $01, $01, $01, $01, $01, $03, $03, $03, $03, $03, $03, $07, $07, $07, $07, $FE, $FF, $FE, $FF, $FE, $FF, $FC, $FF, $FC, $FF, $FC, $FF, $F8, $FF, $F8, $FF
-    .db $FE, $FF, $FE, $FF, $FC, $FF, $FC, $FF, $FC, $FF, $F8, $FF, $F8, $FF, $F8, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $01, $FE, $03, $FC, $03, $FC, $03, $FC, $07, $F8, $07, $F8, $07, $F8, $0F, $F0, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $F8, $00, $F0, $00, $F0, $00, $F0, $00, $E0, $00, $E0, $00, $E0, $00, $C0, $00, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $1F, $1F, $3E, $3F, $3E, $3F, $3E, $3F, $7E, $7F, $7C, $7F, $7C, $7F, $FC, $FF, $1F, $E0, $3F, $C0, $3F, $C0, $3F, $C0, $7F, $80, $7F, $80, $7F, $80, $FF, $00
-    .db $01, $FE, $01, $FE, $01, $FE, $03, $FC, $03, $FC, $03, $FC, $07, $F8, $07, $F8, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $FE, $00, $FC, $00, $FC, $00, $FC, $00, $FC, $00, $F8, $00, $F8, $00, $F8, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $00, $00, $00, $00, $01, $01, $01, $01, $01, $01, $03, $03, $03, $03, $03, $03, $FF, $00, $FF, $00, $FE, $00, $FE, $00, $FE, $00, $FC, $00, $FC, $00, $FC, $00
-    .db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $E0, $E0, $FC, $FC, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $1F, $00, $03, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $00, $00, $00, $00, $80, $80, $F0, $F0, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $00, $FF, $00, $7F, $00, $0F, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $E0, $E0, $FC, $FC, $FF, $FF, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $1F, $00, $03, $00, $00, $00
-    .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $80, $80, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $7F, $00
-    .db $FF, $00, $0F, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $FF, $00, $FF, $00, $FF, $00, $3F, $00, $07, $00, $00, $00, $00, $00, $00, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $7F, $00, $0F, $00, $01, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $80, $7F, $F0, $0F, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $00, $FF, $00, $FF, $00, $FF, $E0, $1F, $FC, $03, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $80, $7F, $F8, $07, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $7F, $FF, $0F, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $FF, $FF, $FF, $FF, $FF, $FF, $1F, $FF, $03, $FF, $00, $FF, $00, $FF, $00, $FF, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $C0, $C0, $F8, $F8, $FF, $FF, $FF, $FF, $FF, $FF, $7F, $FF, $07, $FF, $00, $FF, $C0, $3F, $F8, $07, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $00, $00, $00, $00, $00, $00, $F0, $F0, $FE, $FE, $FF, $FF, $FF, $FF, $FF, $FF, $00, $FF, $00, $FF, $00, $FF, $F0, $0F, $FE, $01, $FF, $00, $FF, $00, $FF, $00
-    .db $07, $00, $00, $00, $00, $00, $00, $00, $00, $00, $C0, $C0, $F8, $F8, $FF, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $C0, $3F, $F8, $07, $FF, $00
-    .db $FF, $00, $7F, $00, $0F, $00, $01, $00, $00, $00, $00, $00, $00, $00, $80, $80, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $80, $7F
-    .db $FF, $00, $FF, $00, $FF, $00, $FF, $00, $3F, $00, $03, $00, $00, $00, $00, $00, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $80, $7F, $F0, $0F, $FE, $01, $FF, $00, $FF, $00, $FF, $00, $7F, $00, $0F, $00, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $00, $FF, $00, $FF, $00, $FF, $E0, $1F, $FC, $03, $FF, $00, $FF, $00, $FF, $00, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $80, $7F, $C0, $3F, $80, $7F, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $C0, $FF, $80, $FF, $80, $FF, $80, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $0F, $F0, $0F, $F0, $1F, $E0, $1F, $E0, $1F, $E0, $3F, $C0, $3F, $C0, $3F, $C0, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $F8, $00, $F8, $00, $F8, $00, $F0, $00, $F0, $00, $F0, $00, $E0, $00, $E0, $00, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $07, $07, $0F, $0F, $0F, $0F, $0F, $0F, $1F, $1F, $1F, $1F, $1F, $1F, $1F, $1F, $F8, $FF, $F0, $FF, $F0, $FF, $F0, $FF, $E0, $FF, $E0, $FF, $E0, $FF, $E0, $FF
-    .db $F0, $FF, $F0, $FF, $F0, $FF, $E0, $FF, $E0, $FF, $E0, $FF, $E0, $FF, $C0, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $0F, $F0, $0F, $F0, $0F, $F0, $1F, $E0, $1F, $E0, $1F, $E0, $3F, $C0, $3F, $C0, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $C0, $00, $C0, $00, $C0, $00, $81, $01, $81, $01, $81, $01, $03, $03, $03, $03, $00, $FF, $00, $FF, $00, $FF, $01, $FE, $01, $FE, $01, $FE, $03, $FC, $03, $FC
-    .db $F8, $FF, $F8, $FF, $F8, $FF, $F0, $FF, $F0, $FF, $F0, $FF, $E0, $FF, $E0, $FF, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $07, $F8, $0F, $F0, $0F, $F0, $0F, $F0, $1F, $E0, $1F, $E0, $1F, $E0, $1F, $E0, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $F0, $00, $F0, $00, $F0, $00, $E0, $00, $E0, $00, $E0, $00, $C0, $00, $C0, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $07, $07, $07, $07, $07, $07, $0F, $0F, $0F, $0F, $0F, $0F, $0F, $0F, $1F, $1F, $F8, $00, $F8, $00, $F8, $00, $F0, $00, $F0, $00, $F0, $00, $F0, $00, $E0, $00
-    .db $FF, $FF, $FE, $FF, $FC, $FF, $FC, $FF, $FC, $FF, $F8, $FF, $F8, $FF, $F8, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $FF, $FF, $7F, $FF, $0F, $FF, $01, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $1F, $FF, $03, $FF, $00, $FF, $00, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $7F, $FF, $0F, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $F8, $F8, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $07, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $00, $00, $00, $00, $E0, $E0, $FC, $FC, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $00, $FF, $00, $1F, $00, $03, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $00, $00, $00, $00, $00, $00, $00, $00, $C0, $C0, $F8, $F8, $FF, $FF, $FF, $FF, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $3F, $00, $07, $00, $00, $00, $00, $00
-    .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $E0, $E0, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $1F, $00
-    .db $3F, $00, $03, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $FF, $00, $FF, $00, $7F, $00, $0F, $00, $01, $00, $00, $00, $00, $00, $00, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $1F, $00, $03, $00, $00, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $E0, $1F, $FC, $03, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $7F, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $00, $FF, $00, $FF, $C0, $3F, $F8, $07, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $E0, $1F, $FE, $01, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $1F, $FF, $03, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $C0, $3F, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $FF, $FF, $FF, $FF, $3F, $FF, $07, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $F0, $F0, $FE, $FE, $FF, $FF, $FF, $FF, $FF, $FF, $1F, $FF, $01, $FF, $00, $FF, $F0, $0F, $FE, $01, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $00, $00, $00, $00, $E0, $E0, $FC, $FC, $FF, $FF, $FF, $FF, $FF, $FF, $3F, $FF, $00, $FF, $00, $FF, $E0, $1F, $FC, $03, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $01, $00, $00, $00, $00, $00, $00, $00, $80, $80, $E0, $E0, $E0, $E0, $E0, $E0, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $80, $7F, $E0, $1F, $E0, $1F, $E0, $1F
-    .db $FF, $00, $1F, $00, $3F, $00, $3F, $00, $3F, $00, $7E, $01, $7E, $01, $7E, $01, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $80, $7F, $80, $7F, $00, $FF, $00, $FF, $00, $FF, $01, $FF, $01, $FF, $01, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $01, $FE, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $7F, $80, $7F, $80, $7F, $80, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $E0, $00, $C0, $00, $C0, $00, $C0, $00, $80, $00, $80, $00, $80, $00, $80, $00, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $3F, $3F, $3F, $3F, $3F, $3F, $7F, $7F, $7F, $7F, $7F, $7F, $FF, $FF, $FF, $FF, $C0, $FF, $C0, $FF, $C0, $FF, $80, $FF, $80, $FF, $80, $FF, $00, $FF, $00, $FF
-    .db $C0, $FF, $C0, $FF, $80, $FF, $80, $FF, $80, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $3F, $C0, $7E, $80, $7E, $80, $7E, $80, $FC, $00, $FC, $00, $FC, $00, $FC, $00, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $03, $03, $07, $07, $07, $07, $07, $07, $0F, $0F, $0F, $0F, $0F, $0F, $0F, $0F, $03, $FC, $07, $F8, $07, $F8, $07, $F8, $0F, $F0, $0F, $F0, $0F, $F0, $0F, $F0
-    .db $E0, $FF, $E0, $FF, $C0, $FF, $C0, $FF, $C0, $FF, $80, $FF, $80, $FF, $80, $FF, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $3F, $C0, $3F, $C0, $3F, $C0, $7F, $80, $7F, $80, $7F, $80, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $C0, $00, $C0, $00, $80, $00, $80, $00, $80, $00, $00, $00, $00, $00, $00, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $1F, $1F, $1F, $1F, $3F, $3F, $3F, $3F, $3F, $3F, $7F, $7F, $7F, $7F, $7F, $7F, $E0, $00, $E0, $00, $C0, $00, $C0, $00, $C0, $00, $80, $00, $80, $00, $80, $00
-    .db $F8, $FF, $F0, $FF, $F0, $FF, $F0, $FF, $E0, $FF, $E0, $FF, $E0, $FF, $C0, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $03, $FC, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $FF, $FF, $1F, $FF, $03, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $FF, $FF, $FF, $FF, $FF, $FF, $7F, $FF, $07, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $1F, $FF, $03, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $FE, $FE, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $00, $00, $C0, $C0, $F8, $F8, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $00, $3F, $00, $07, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $00, $00, $00, $00, $00, $00, $00, $00, $F0, $F0, $FE, $FE, $FF, $FF, $FF, $FF, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $0F, $00, $01, $00, $00, $00, $00, $00
-    .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $C0, $C0, $FC, $FC, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $3F, $00, $03, $00
-    .db $0F, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $FF, $00, $FF, $00, $1F, $00, $03, $00, $00, $00, $00, $00, $00, $00, $00, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $FF, $00, $FF, $00, $FF, $00, $FF, $00, $7F, $00, $07, $00, $00, $00, $00, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $F8, $07, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $1F, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $00, $FF, $00, $FF, $F0, $0F, $FE, $01, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $00, $FF, $00, $FF, $00, $FF, $00, $FF, $C0, $3F, $F0, $0F, $F0, $0F, $F0, $0F, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $07, $FF, $07, $FF, $07, $FF, $0F, $FF, $0F, $FF, $0F, $FF, $1F, $FF, $1F, $FF, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $E0, $E0, $C0, $C0, $C0, $C0, $C0, $C0, $81, $80, $81, $80, $81, $80, $03, $00, $E0, $1F, $C0, $3F, $C0, $3F, $C0, $3F, $80, $7F, $80, $7F, $80, $7F, $00, $FF
-    .db $7E, $01, $FC, $03, $FC, $03, $FC, $03, $F8, $07, $F8, $07, $F8, $07, $F0, $0F, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $03, $FF, $03, $FF, $03, $FF, $07, $FF, $07, $FF, $07, $FF, $0F, $FF, $0F, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $01, $FE, $01, $FE, $03, $FC, $03, $FC, $03, $FC, $07, $F8, $07, $F8, $07, $F8, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $FF, $00, $FF, $00, $FF, $00, $FE, $00, $FE, $00, $FE, $00, $FC, $00, $FC, $00, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $00, $00, $01, $01, $01, $01, $01, $01, $01, $01, $03, $03, $03, $03, $03, $03, $FF, $FF, $FE, $FF, $FE, $FF, $FE, $FF, $FE, $FF, $FC, $FF, $FC, $FF, $FC, $FF
-    .db $FE, $FF, $FE, $FF, $FE, $FF, $FE, $FF, $FC, $FF, $FC, $FF, $FC, $FF, $F8, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $01, $FE, $01, $FE, $01, $FE, $03, $FC, $03, $FC, $03, $FC, $07, $F8, $07, $F8, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $F8, $00, $F8, $00, $F8, $00, $F0, $00, $F0, $00, $F0, $00, $E0, $00, $E0, $00, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $1F, $1F, $1F, $1F, $1F, $1F, $3E, $3F, $3E, $3F, $3E, $3F, $7E, $7F, $7C, $7F, $1F, $E0, $1F, $E0, $1F, $E0, $3F, $C0, $3F, $C0, $3F, $C0, $7F, $80, $7F, $80
-    .db $00, $FF, $01, $FE, $01, $FE, $01, $FE, $01, $FE, $03, $FC, $03, $FC, $03, $FC, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $FE, $00, $FE, $00, $FE, $00, $FC, $00, $FC, $00, $FC, $00, $FC, $00, $F8, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $00, $00, $00, $00, $00, $00, $00, $00, $01, $01, $01, $01, $01, $01, $03, $03, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FE, $00, $FE, $00, $FE, $00, $FC, $00
-    .db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $C0, $FF, $C0, $FF, $80, $FF, $80, $FF, $80, $FF, $80, $FF, $00, $FF, $00, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $03, $FC, $03, $FC, $07, $F8, $07, $F8, $07, $F8, $0F, $F0, $0F, $F0, $0F, $F0, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $E0, $1F, $FE, $01, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $00, $FF, $00, $FF, $C0, $3F, $F8, $07, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $F0, $0F, $FE, $01, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $C0, $3F, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $3F, $FF, $07, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $FF, $FF, $FF, $FF, $FF, $FF, $1F, $FF, $01, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $3F, $FF, $07, $FF, $00, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $80, $80, $F0, $F0, $FE, $FE, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $7F, $00, $0F, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $00, $00, $00, $00, $00, $00, $E0, $E0, $FC, $FC, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $00, $FF, $00, $FF, $00, $1F, $00, $03, $00, $00, $00, $00, $00, $00, $00
-    .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $80, $80, $F0, $F0, $FF, $FF, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $7F, $00, $0F, $00, $00, $00
-    .db $03, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $FF, $00, $3F, $00, $1F, $00, $1F, $00, $1F, $00, $3F, $00, $3F, $00, $3F, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $F0, $0F, $E0, $1F, $E0, $1F, $E0, $1F, $C0, $3F, $C0, $3F, $C0, $3F, $80, $7F, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $1F, $FF, $1F, $FF, $3E, $FE, $3E, $FE, $3E, $FE, $7E, $FE, $7C, $FC, $7C, $FC, $FF, $00, $FF, $00, $FE, $01, $FE, $01, $FE, $01, $FE, $01, $FC, $03, $FC, $03
-    .db $03, $00, $03, $00, $07, $00, $07, $00, $07, $00, $07, $00, $0F, $00, $0F, $00, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $F0, $0F, $F0, $0F, $E0, $1F, $E0, $1F, $E0, $1F, $E0, $1F, $C0, $3F, $C0, $3F, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $0F, $FF, $0F, $FF, $1F, $FF, $1F, $FF, $1F, $FF, $3F, $FF, $3F, $FF, $3F, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $0F, $F0, $0F, $F0, $0F, $F0, $0F, $F0, $1F, $E0, $1F, $E0, $1F, $E0, $3F, $C0, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $FC, $00, $F8, $00, $F8, $00, $F8, $00, $F8, $00, $F0, $00, $F0, $00, $F0, $00, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $07, $07, $07, $07, $07, $07, $0F, $0F, $0F, $0F, $0F, $0F, $1F, $1F, $1F, $1F, $F8, $FF, $F8, $FF, $F8, $FF, $F0, $FF, $F0, $FF, $F0, $FF, $E0, $FF, $E0, $FF
-    .db $F8, $FF, $F8, $FF, $F0, $FF, $F0, $FF, $F0, $FF, $E0, $FF, $E0, $FF, $E0, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $07, $F8, $0F, $F0, $0F, $F0, $0F, $F0, $0F, $F0, $1F, $E0, $1F, $E0, $1F, $E0, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $E0, $00, $C0, $00, $C0, $00, $C0, $00, $C0, $00, $81, $01, $81, $01, $81, $01, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $01, $FE, $01, $FE, $01, $FE
-    .db $7C, $7F, $FC, $FF, $F8, $FF, $F8, $FF, $F8, $FF, $F0, $FF, $F0, $FF, $F0, $FF, $7F, $80, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $07, $F8, $07, $F8, $07, $F8, $0F, $F0, $0F, $F0, $0F, $F0, $1F, $E0, $1F, $E0, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $F8, $00, $F8, $00, $F0, $00, $F0, $00, $F0, $00, $E0, $00, $E0, $00, $E0, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $03, $03, $03, $03, $07, $07, $07, $07, $07, $07, $07, $07, $0F, $0F, $0F, $0F, $FC, $00, $FC, $00, $F8, $00, $F8, $00, $F8, $00, $F8, $00, $F0, $00, $F0, $00
-    .db $FF, $FF, $FE, $FF, $FE, $FF, $FE, $FF, $FC, $FF, $FC, $FF, $FC, $FF, $F8, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $1F, $E0, $1F, $E0, $1F, $E0, $3F, $C0, $3F, $C0, $3F, $C0, $3F, $C0, $7F, $80, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FC, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $3F, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $F8, $07, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $00, $FF, $80, $7F, $F0, $0F, $FE, $01, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $00, $FF, $00, $FF, $00, $FF, $00, $FF, $C0, $3F, $FC, $03, $FF, $00, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $80, $7F, $F0, $0F, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $0F, $FF, $01, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $FF, $FF, $FF, $FF, $3F, $FF, $07, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $7F, $FF, $0F, $FF, $07, $FF, $07, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $FF, $FF, $FF, $FF, $FF, $FF, $FE, $FE, $FE, $FE, $FE, $FE, $FC, $FC, $FC, $FC, $00, $00, $00, $00, $00, $00, $01, $00, $01, $00, $01, $00, $03, $00, $03, $00
-    .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $7F, $00, $7F, $00, $7F, $00, $FF, $00, $FF, $00, $FF, $00, $FE, $01, $FE, $01, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $80, $7F, $80, $7F, $00, $FF, $00, $FF, $01, $FF, $01, $FF, $01, $FF, $03, $FF, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $FC, $FC, $F8, $F8, $F8, $F8, $F8, $F8, $F0, $F0, $F0, $F0, $F0, $F0, $E0, $E0, $FC, $03, $F8, $07, $F8, $07, $F8, $07, $F0, $0F, $F0, $0F, $F0, $0F, $E0, $1F
-    .db $0F, $00, $1F, $00, $1F, $00, $1F, $00, $3F, $00, $3F, $00, $3F, $00, $7E, $01, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $C0, $3F, $80, $7F, $80, $7F, $80, $7F, $00, $FF, $00, $FF, $00, $FF, $01, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $7F, $FF, $7F, $FF, $7F, $FF, $FF, $FF, $FF, $FF, $FE, $FE, $FE, $FE, $FE, $FE, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $01, $FF, $01, $FF, $01, $FF
-    .db $3F, $C0, $3F, $C0, $7F, $80, $7F, $80, $7F, $80, $FF, $00, $FF, $00, $FF, $00, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $E0, $00, $E0, $00, $E0, $00, $C0, $00, $C0, $00, $C0, $00, $80, $00, $80, $00, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $1F, $1F, $1F, $1F, $3F, $3F, $3F, $3F, $3F, $3F, $7F, $7F, $7F, $7F, $7F, $7F, $E0, $FF, $E0, $FF, $C0, $FF, $C0, $FF, $C0, $FF, $80, $FF, $80, $FF, $80, $FF
-    .db $E0, $FF, $C0, $FF, $C0, $FF, $C0, $FF, $80, $FF, $80, $FF, $80, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $3F, $C0, $3F, $C0, $3F, $C0, $7E, $80, $7E, $80, $7E, $80, $FC, $00, $FC, $00, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $03, $03, $03, $03, $03, $03, $07, $07, $07, $07, $07, $07, $0F, $0F, $0F, $0F, $03, $FC, $03, $FC, $03, $FC, $07, $F8, $07, $F8, $07, $F8, $0F, $F0, $0F, $F0
-    .db $E0, $FF, $E0, $FF, $E0, $FF, $E0, $FF, $C0, $FF, $C0, $FF, $C0, $FF, $80, $FF, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $1F, $E0, $1F, $E0, $3F, $C0, $3F, $C0, $3F, $C0, $7F, $80, $7F, $80, $7F, $80, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $C0, $00, $C0, $00, $C0, $00, $C0, $00, $80, $00, $80, $00, $80, $00, $00, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $0F, $0F, $1F, $1F, $1F, $1F, $1F, $1F, $3F, $3F, $3F, $3F, $3F, $3F, $7F, $7F, $F0, $00, $E0, $00, $E0, $00, $E0, $00, $C0, $00, $C0, $00, $C0, $00, $80, $00
-    .db $F8, $FF, $F8, $FF, $F8, $FF, $F0, $FF, $F0, $FF, $F0, $FF, $E0, $FF, $E0, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $01, $FE, $01, $FE, $01, $FE, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $7F, $80, $7F, $80, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $FC, $00, $FC, $00, $F8, $00, $F8, $00, $F8, $00, $F0, $00, $F0, $00, $F0, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $07, $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, $00, $00, $00, $00, $00, $00
-    .db $FF, $00, $FF, $00, $0F, $00, $01, $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
-    .db $FF, $00, $FF, $00, $FF, $00, $FF, $00, $3F, $00, $07, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $7F, $00, $0F, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $FE, $01, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $00, $FF, $E0, $1F, $FC, $03, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $00, $FF, $00, $FF, $00, $FF, $80, $7F, $F0, $0F, $FE, $01, $FE, $01, $FC, $03, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $0F, $FF, $0F, $FF, $0F, $FF, $1F, $FF, $1F, $FF, $1F, $FF, $3F, $FF, $3F, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $FC, $FC, $FC, $FC, $F8, $F8, $F8, $F8, $F8, $F8, $F0, $F0, $F0, $F0, $F0, $F0, $03, $00, $03, $00, $07, $00, $07, $00, $07, $00, $0F, $00, $0F, $00, $0F, $00
-    .db $01, $00, $01, $00, $03, $00, $03, $00, $03, $00, $07, $00, $07, $00, $07, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $FE, $01, $FC, $03, $FC, $03, $FC, $03, $F8, $07, $F8, $07, $F8, $07, $F0, $0F, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $03, $FF, $03, $FF, $07, $FF, $07, $FF, $07, $FF, $0F, $FF, $0F, $FF, $0F, $FF, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $E0, $E0, $E0, $E0, $E0, $E0, $C0, $C0, $C0, $C0, $C0, $C0, $81, $80, $81, $80, $E0, $1F, $E0, $1F, $E0, $1F, $C0, $3F, $C0, $3F, $C0, $3F, $80, $7F, $80, $7F
-    .db $7E, $01, $7E, $01, $7E, $01, $FC, $03, $FC, $03, $FC, $03, $F8, $07, $F8, $07, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $01, $FF, $01, $FF, $03, $FF, $03, $FF, $03, $FF, $07, $FF, $07, $FF, $07, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $FE, $FE, $FC, $FC, $FC, $FC, $FC, $FC, $F8, $F8, $F8, $F8, $F8, $F8, $F0, $F0, $01, $FF, $03, $FF, $03, $FF, $03, $FF, $07, $FF, $07, $FF, $07, $FF, $0F, $FF
-    .db $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FE, $00, $FE, $00, $FE, $00, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $80, $00, $80, $00, $00, $00, $01, $01, $01, $01, $01, $01, $01, $01, $03, $03, $FF, $FF, $FF, $FF, $FF, $FF, $FE, $FF, $FE, $FF, $FE, $FF, $FE, $FF, $FC, $FF
-    .db $FF, $FF, $FF, $FF, $FE, $FF, $FE, $FF, $FE, $FF, $FE, $FF, $FC, $FF, $FC, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $00, $FF, $00, $FF, $01, $FE, $01, $FE, $01, $FE, $03, $FC, $03, $FC, $03, $FC, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $FC, $00, $FC, $00, $F8, $00, $F8, $00, $F8, $00, $F0, $00, $F0, $00, $F0, $00, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $0F, $0F, $0F, $0F, $1F, $1F, $1F, $1F, $1F, $1F, $3E, $3F, $3E, $3F, $3E, $3F, $0F, $F0, $0F, $F0, $1F, $E0, $1F, $E0, $1F, $E0, $3F, $C0, $3F, $C0, $3F, $C0
-    .db $80, $FF, $80, $FF, $00, $FF, $01, $FE, $01, $FE, $01, $FE, $01, $FE, $03, $FC, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $FF, $00, $FF, $00, $FE, $00, $FE, $00, $FE, $00, $FC, $00, $FC, $00, $FC, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $01, $01, $01, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FE, $00, $FE, $00
-    .db $7F, $7F, $7F, $7F, $7F, $7F, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $80, $00, $80, $00, $80, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $E0, $FF, $C0, $FF, $C0, $FF, $C0, $FF, $80, $FF, $80, $FF, $80, $FF, $80, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $03, $FC, $03, $FC, $03, $FC, $03, $FC, $07, $F8, $07, $F8, $07, $F8, $0F, $F0, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $E0, $00, $E0, $00, $E0, $00, $E0, $00, $C0, $00, $C0, $00, $C0, $00, $80, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $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, $00, $00, $00, $00, $00, $00, $00
-    .db $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, $00, $00, $00, $00, $00, $00, $00
-    .db $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, $00, $00, $00, $00, $00, $00, $00
-    .db $01, $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, $00, $00, $00, $00, $00, $00
-    .db $FF, $00, $3F, $00, $03, $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, $00, $00
-    .db $FF, $00, $FF, $00, $FF, $00, $7F, $00, $0F, $00, $01, $00, $01, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $FC, $03, $FC, $03, $F8, $07, $F8, $07, $F8, $07, $F8, $07, $F0, $0F, $F0, $0F, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $3F, $FF, $3F, $FF, $7F, $FF, $7F, $FF, $7F, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $E0, $E0, $E0, $E0, $E0, $E0, $C0, $C0, $C0, $C0, $C0, $C0, $C0, $C0, $80, $80, $1F, $00, $1F, $00, $1F, $00, $3F, $00, $3F, $00, $3F, $00, $3F, $00, $7F, $00
-    .db $0F, $00, $0F, $00, $0F, $00, $0F, $00, $1F, $00, $1F, $00, $1F, $00, $3F, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $F0, $0F, $F0, $0F, $F0, $0F, $E0, $1F, $E0, $1F, $E0, $1F, $C0, $3F, $C0, $3F, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $0F, $FF, $1F, $FF, $1F, $FF, $1F, $FF, $3E, $FE, $3E, $FE, $3E, $FE, $7E, $FE, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FE, $01, $FE, $01, $FE, $01, $FE, $01
-    .db $81, $80, $03, $00, $03, $00, $03, $00, $07, $00, $07, $00, $07, $00, $07, $00, $80, $7F, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $F8, $07, $F0, $0F, $F0, $0F, $F0, $0F, $E0, $1F, $E0, $1F, $E0, $1F, $E0, $1F, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $0F, $FF, $0F, $FF, $0F, $FF, $0F, $FF, $1F, $FF, $1F, $FF, $1F, $FF, $3F, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $F0, $F0, $F0, $F0, $E0, $E0, $E0, $E0, $E0, $E0, $E0, $E0, $C0, $C0, $C0, $C0, $0F, $FF, $0F, $FF, $1F, $FF, $1F, $FF, $1F, $FF, $1F, $FF, $3F, $FF, $3F, $FF
-    .db $FC, $00, $FC, $00, $FC, $00, $F8, $00, $F8, $00, $F8, $00, $F8, $00, $F0, $00, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $03, $03, $03, $03, $07, $07, $07, $07, $07, $07, $0F, $0F, $0F, $0F, $0F, $0F, $FC, $FF, $FC, $FF, $F8, $FF, $F8, $FF, $F8, $FF, $F0, $FF, $F0, $FF, $F0, $FF
-    .db $FC, $FF, $F8, $FF, $F8, $FF, $F8, $FF, $F0, $FF, $F0, $FF, $F0, $FF, $E0, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $07, $F8, $07, $F8, $07, $F8, $0F, $F0, $0F, $F0, $0F, $F0, $0F, $F0, $1F, $E0, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $E0, $00, $E0, $00, $E0, $00, $C0, $00, $C0, $00, $C0, $00, $C0, $00, $81, $01, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $01, $FE
-    .db $7E, $7F, $7C, $7F, $7C, $7F, $FC, $FF, $F8, $FF, $F8, $FF, $F8, $FF, $F0, $FF, $7F, $80, $7F, $80, $7F, $80, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $03, $FC, $03, $FC, $07, $F8, $07, $F8, $07, $F8, $0F, $F0, $0F, $F0, $0F, $F0, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $FC, $00, $F8, $00, $F8, $00, $F8, $00, $F0, $00, $F0, $00, $F0, $00, $E0, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $01, $01, $03, $03, $03, $03, $03, $03, $07, $07, $07, $07, $07, $07, $07, $07, $FE, $00, $FC, $00, $FC, $00, $FC, $00, $F8, $00, $F8, $00, $F8, $00, $F8, $00
-    .db $FF, $FF, $FF, $FF, $FF, $FF, $FE, $FF, $FE, $FF, $FE, $FF, $FC, $FF, $FC, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $0F, $F0, $0F, $F0, $1F, $E0, $1F, $E0, $1F, $E0, $3F, $C0, $3F, $C0, $3F, $C0, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FE, $00, $FE, $00, $FE, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $80, $00, $80, $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, $00, $00, $00, $00
-    .db $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, $00, $00, $00, $00, $00, $00, $00
-    .db $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, $00, $00, $00, $00, $00, $00, $00
-    .db $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, $00, $00, $00, $00, $00, $00, $00
-    .db $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, $00, $00, $00, $00, $00, $00, $00
-    .db $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, $00, $00, $00, $00, $00, $00, $00
-    .db $01, $00, $03, $00, $03, $00, $03, $00, $07, $00, $07, $00, $07, $00, $0F, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $F0, $0F, $E0, $1F, $E0, $1F, $E0, $1F, $C0, $3F, $C0, $3F, $C0, $3F, $80, $7F, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $01, $FF, $01, $FF, $01, $FF, $03, $FF, $03, $FF, $03, $FF, $03, $FF, $07, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FE, $FE, $FE, $FE, $FE, $FE, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $01, $00, $01, $00
-    .db $80, $80, $80, $80, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $7F, $00, $7F, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $3F, $00, $3F, $00, $7F, $00, $7F, $00, $7F, $00, $7F, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $C0, $3F, $80, $7F, $80, $7F, $80, $7F, $00, $FF, $00, $FF, $01, $FF, $01, $FF, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $7C, $FC, $7C, $FC, $FC, $FC, $F8, $F8, $F8, $F8, $F8, $F8, $F0, $F0, $F0, $F0, $FC, $03, $FC, $03, $FC, $03, $F8, $07, $F8, $07, $F8, $07, $F0, $0F, $F0, $0F
-    .db $0F, $00, $0F, $00, $0F, $00, $1F, $00, $1F, $00, $1F, $00, $3F, $00, $3F, $00, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $C0, $3F, $C0, $3F, $C0, $3F, $80, $7F, $80, $7F, $80, $7F, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $3F, $FF, $3F, $FF, $7F, $FF, $7F, $FF, $7F, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $C0, $C0, $80, $80, $80, $80, $80, $80, $00, $00, $00, $00, $01, $00, $01, $00, $3F, $FF, $7F, $FF, $7F, $FF, $7F, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $F0, $00, $F0, $00, $E0, $00, $E0, $00, $E0, $00, $C0, $00, $C0, $00, $C0, $00, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $1F, $1F, $1F, $1F, $1F, $1F, $1F, $1F, $3F, $3F, $3F, $3F, $3F, $3F, $7F, $7F, $E0, $FF, $E0, $FF, $E0, $FF, $E0, $FF, $C0, $FF, $C0, $FF, $C0, $FF, $80, $FF
-    .db $E0, $FF, $E0, $FF, $E0, $FF, $C0, $FF, $C0, $FF, $C0, $FF, $80, $FF, $80, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $1F, $E0, $1F, $E0, $3F, $C0, $3F, $C0, $3F, $C0, $7E, $80, $7E, $80, $7E, $80, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $81, $01, $81, $01, $03, $03, $03, $03, $03, $03, $07, $07, $07, $07, $07, $07, $01, $FE, $01, $FE, $03, $FC, $03, $FC, $03, $FC, $07, $F8, $07, $F8, $07, $F8
-    .db $F0, $FF, $F0, $FF, $E0, $FF, $E0, $FF, $E0, $FF, $E0, $FF, $C0, $FF, $C0, $FF, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $1F, $E0, $1F, $E0, $1F, $E0, $1F, $E0, $3F, $C0, $3F, $C0, $3F, $C0, $7F, $80, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $E0, $00, $E0, $00, $C0, $00, $C0, $00, $C0, $00, $C0, $00, $80, $00, $80, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $0F, $0F, $0F, $0F, $0F, $0F, $1F, $1F, $1F, $1F, $1F, $1F, $3F, $3F, $3F, $3F, $F0, $00, $F0, $00, $F0, $00, $E0, $00, $E0, $00, $E0, $00, $C0, $00, $C0, $00
-    .db $FC, $FF, $F8, $FF, $F8, $FF, $F8, $FF, $F8, $FF, $F0, $FF, $F0, $FF, $F0, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $01, $FE, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $3F, $C0, $7F, $80, $7F, $80, $7F, $80, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $FE, $00, $FC, $00, $FC, $00, $FC, $00, $F8, $00, $F8, $00, $F8, $00, $F0, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $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, $00, $00, $00, $00, $00, $00, $00
-    .db $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, $00, $00, $00, $00, $00, $00, $00
-    .db $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, $00, $00, $00, $00, $00, $00, $00
-    .db $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, $00, $00, $00, $00, $00, $00, $00
-    .db $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, $00, $00, $00, $00, $00, $00, $00
-    .db $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, $00, $00, $00, $00, $00, $00, $00
-    .db $0F, $00, $0F, $00, $0F, $00, $1F, $00, $1F, $00, $1F, $00, $3F, $00, $3F, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FE, $01, $FE, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $80, $7F, $80, $7F, $80, $7F, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $07, $FF, $07, $FF, $0F, $FF, $0F, $FF, $0F, $FF, $1F, $FF, $1F, $FF, $1F, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $FC, $FC, $FC, $FC, $FC, $FC, $FC, $FC, $F8, $F8, $F8, $F8, $F8, $F8, $F0, $F0, $03, $00, $03, $00, $03, $00, $03, $00, $07, $00, $07, $00, $07, $00, $0F, $00
-    .db $00, $00, $01, $00, $01, $00, $01, $00, $03, $00, $03, $00, $03, $00, $07, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $FE, $01, $FE, $01, $FE, $01, $FC, $03, $FC, $03, $FC, $03, $F8, $07, $F8, $07, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $01, $FF, $03, $FF, $03, $FF, $03, $FF, $07, $FF, $07, $FF, $07, $FF, $0F, $FF, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $F0, $F0, $E0, $E0, $E0, $E0, $E0, $E0, $E0, $E0, $C0, $C0, $C0, $C0, $C0, $C0, $F0, $0F, $E0, $1F, $E0, $1F, $E0, $1F, $E0, $1F, $C0, $3F, $C0, $3F, $C0, $3F
-    .db $3F, $00, $7E, $01, $7E, $01, $7E, $01, $7E, $01, $FC, $03, $FC, $03, $FC, $03, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $00, $FF, $01, $FF, $01, $FF, $01, $FF, $03, $FF, $03, $FF, $03, $FF, $07, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $FE, $FE, $FE, $FE, $FE, $FE, $FC, $FC, $FC, $FC, $FC, $FC, $F8, $F8, $F8, $F8, $01, $FF, $01, $FF, $01, $FF, $03, $FF, $03, $FF, $03, $FF, $07, $FF, $07, $FF
-    .db $01, $00, $03, $00, $03, $00, $03, $00, $03, $00, $07, $00, $07, $00, $07, $00, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $80, $00, $80, $00, $80, $00, $80, $00, $00, $00, $01, $01, $01, $01, $01, $01, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FE, $FF, $FE, $FF, $FE, $FF
-    .db $7F, $7F, $7F, $7F, $FF, $FF, $FF, $FF, $FE, $FF, $FE, $FF, $FE, $FF, $FE, $FF, $80, $FF, $80, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $80, $FF, $00, $FF, $00, $FF, $00, $FF, $01, $FE, $01, $FE, $01, $FE, $03, $FC, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $FC, $00, $FC, $00, $FC, $00, $FC, $00, $F8, $00, $F8, $00, $F8, $00, $F0, $00, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $0F, $0F, $0F, $0F, $0F, $0F, $0F, $0F, $1F, $1F, $1F, $1F, $1F, $1F, $3E, $3F, $0F, $F0, $0F, $F0, $0F, $F0, $0F, $F0, $1F, $E0, $1F, $E0, $1F, $E0, $3F, $C0
-    .db $C0, $FF, $80, $FF, $80, $FF, $80, $FF, $00, $FF, $01, $FE, $01, $FE, $01, $FE, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $7F, $80, $7F, $80, $FF, $00, $FF, $00, $FE, $00, $FE, $00, $FE, $00, $FC, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $80, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $3F, $3F, $7F, $7F, $7F, $7F, $7F, $7F, $7F, $7F, $FF, $FF, $FF, $FF, $FF, $FF, $C0, $00, $80, $00, $80, $00, $80, $00, $80, $00, $00, $00, $00, $00, $00, $00
-    .db $E0, $FF, $E0, $FF, $E0, $FF, $C0, $FF, $C0, $FF, $C0, $FF, $80, $FF, $80, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $01, $FE, $01, $FE, $03, $FC, $03, $FC, $03, $FC, $03, $FC, $07, $F8, $07, $F8, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $F0, $00, $F0, $00, $E0, $00, $E0, $00, $E0, $00, $E0, $00, $C0, $00, $C0, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $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, $00, $00, $00, $00, $00, $00, $00
-    .db $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, $00, $00, $00, $00, $00, $00, $00
-    .db $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, $00, $00, $00, $00, $00, $00, $00
-    .db $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, $00, $00, $00, $00, $00, $00, $00
-    .db $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, $00, $00, $00, $00, $00, $00, $00
-    .db $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, $00, $00, $00, $00, $00, $00, $00
-    .db $3F, $00, $7F, $00, $7F, $00, $7F, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $FE, $01, $FC, $03, $FC, $03, $FC, $03, $F8, $07, $F8, $07, $F8, $07, $F8, $07, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $3F, $FF, $3F, $FF, $3F, $FF, $3F, $FF, $7F, $FF, $7F, $FF, $7F, $FF, $FF, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $F0, $F0, $F0, $F0, $E0, $E0, $E0, $E0, $E0, $E0, $C0, $C0, $C0, $C0, $C0, $C0, $0F, $00, $0F, $00, $1F, $00, $1F, $00, $1F, $00, $3F, $00, $3F, $00, $3F, $00
-    .db $07, $00, $07, $00, $07, $00, $0F, $00, $0F, $00, $0F, $00, $1F, $00, $1F, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $F8, $07, $F0, $0F, $F0, $0F, $F0, $0F, $F0, $0F, $E0, $1F, $E0, $1F, $E0, $1F, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $0F, $FF, $0F, $FF, $0F, $FF, $1F, $FF, $1F, $FF, $1F, $FF, $3E, $FE, $3E, $FE, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FE, $01, $FE, $01
-    .db $81, $80, $81, $80, $81, $80, $03, $00, $03, $00, $03, $00, $07, $00, $07, $00, $80, $7F, $80, $7F, $80, $7F, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $F8, $07, $F8, $07, $F8, $07, $F0, $0F, $F0, $0F, $F0, $0F, $E0, $1F, $E0, $1F, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $07, $FF, $07, $FF, $0F, $FF, $0F, $FF, $0F, $FF, $0F, $FF, $1F, $FF, $1F, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $F8, $F8, $F0, $F0, $F0, $F0, $F0, $F0, $F0, $F0, $E0, $E0, $E0, $E0, $E0, $E0, $07, $FF, $0F, $FF, $0F, $FF, $0F, $FF, $0F, $FF, $1F, $FF, $1F, $FF, $1F, $FF
-    .db $0F, $00, $0F, $00, $0F, $00, $1F, $00, $1F, $00, $1F, $00, $3F, $00, $3F, $00, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $01, $01, $03, $03, $03, $03, $03, $03, $07, $07, $07, $07, $07, $07, $0F, $0F, $FE, $FF, $FC, $FF, $FC, $FF, $FC, $FF, $F8, $FF, $F8, $FF, $F8, $FF, $F0, $FF
-    .db $FC, $FF, $FC, $FF, $FC, $FF, $F8, $FF, $F8, $FF, $F8, $FF, $F0, $FF, $F0, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $03, $FC, $03, $FC, $07, $F8, $07, $F8, $07, $F8, $0F, $F0, $0F, $F0, $0F, $F0, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $F0, $00, $F0, $00, $E0, $00, $E0, $00, $E0, $00, $C0, $00, $C0, $00, $C0, $00, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $3E, $3F, $3E, $3F, $7E, $7F, $7C, $7F, $7C, $7F, $FC, $FF, $F8, $FF, $F8, $FF, $3F, $C0, $3F, $C0, $7F, $80, $7F, $80, $7F, $80, $FF, $00, $FF, $00, $FF, $00
-    .db $01, $FE, $03, $FC, $03, $FC, $03, $FC, $07, $F8, $07, $F8, $07, $F8, $0F, $F0, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $FC, $00, $FC, $00, $FC, $00, $F8, $00, $F8, $00, $F8, $00, $F0, $00, $F0, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $01, $01, $01, $01, $01, $01, $03, $03, $03, $03, $03, $03, $07, $07, $07, $07, $FE, $00, $FE, $00, $FE, $00, $FC, $00, $FC, $00, $FC, $00, $F8, $00, $F8, $00
-    .db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FE, $FF, $FE, $FF, $FE, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $80, $FF, $80, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $07, $F8, $0F, $F0, $0F, $F0, $0F, $F0, $1F, $E0, $1F, $E0, $1F, $E0, $3F, $C0, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $C0, $00, $80, $00, $80, $00, $80, $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
-    .db $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, $00, $00, $00, $00, $00, $00, $00
-    .db $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, $00, $00, $00, $00, $00, $00, $00
-    .db $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, $00, $00, $00, $00, $00, $00, $00
-    .db $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, $00, $00, $00, $00, $00, $00, $00
-    .db $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, $00, $00, $00, $00, $00, $00, $00
-    .db $01, $00, $01, $00, $01, $00, $03, $00, $03, $00, $03, $00, $07, $00, $07, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $F0, $0F, $F0, $0F, $F0, $0F, $E0, $1F, $E0, $1F, $E0, $1F, $C0, $3F, $C0, $3F, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $00, $FF, $00, $FF, $01, $FF, $01, $FF, $01, $FF, $03, $FF, $03, $FF, $03, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FE, $FE, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00
-    .db $C0, $C0, $80, $80, $80, $80, $80, $80, $00, $00, $00, $00, $00, $00, $00, $00, $3F, $00, $7F, $00, $7F, $00, $7F, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $1F, $00, $3F, $00, $3F, $00, $3F, $00, $7F, $00, $7F, $00, $7F, $00, $7F, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $C0, $3F, $C0, $3F, $C0, $3F, $80, $7F, $80, $7F, $80, $7F, $00, $FF, $00, $FF, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $3E, $FE, $7E, $FE, $7C, $FC, $7C, $FC, $FC, $FC, $F8, $F8, $F8, $F8, $F8, $F8, $FE, $01, $FE, $01, $FC, $03, $FC, $03, $FC, $03, $F8, $07, $F8, $07, $F8, $07
-    .db $07, $00, $07, $00, $0F, $00, $0F, $00, $0F, $00, $1F, $00, $1F, $00, $1F, $00, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $E0, $1F, $E0, $1F, $C0, $3F, $C0, $3F, $C0, $3F, $80, $7F, $80, $7F, $80, $7F, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $1F, $FF, $3F, $FF, $3F, $FF, $3F, $FF, $7F, $FF, $7F, $FF, $7F, $FF, $FF, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $C0, $C0, $C0, $C0, $C0, $C0, $80, $80, $80, $80, $80, $80, $00, $00, $00, $00, $3F, $FF, $3F, $FF, $3F, $FF, $7F, $FF, $7F, $FF, $7F, $FF, $FF, $FF, $FF, $FF
-    .db $3F, $00, $3F, $00, $7F, $00, $7F, $00, $7F, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $0F, $0F, $0F, $0F, $0F, $0F, $1F, $1F, $1F, $1F, $1F, $1F, $3F, $3F, $3F, $3F, $F0, $FF, $F0, $FF, $F0, $FF, $E0, $FF, $E0, $FF, $E0, $FF, $C0, $FF, $C0, $FF
-    .db $F0, $FF, $E0, $FF, $E0, $FF, $E0, $FF, $E0, $FF, $C0, $FF, $C0, $FF, $C0, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $0F, $F0, $1F, $E0, $1F, $E0, $1F, $E0, $3F, $C0, $3F, $C0, $3F, $C0, $7E, $80, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $C0, $00, $81, $01, $81, $01, $81, $01, $03, $03, $03, $03, $03, $03, $07, $07, $00, $FF, $01, $FE, $01, $FE, $01, $FE, $03, $FC, $03, $FC, $03, $FC, $07, $F8
-    .db $F8, $FF, $F0, $FF, $F0, $FF, $F0, $FF, $E0, $FF, $E0, $FF, $E0, $FF, $E0, $FF, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $0F, $F0, $0F, $F0, $1F, $E0, $1F, $E0, $1F, $E0, $1F, $E0, $3F, $C0, $3F, $C0, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $F0, $00, $E0, $00, $E0, $00, $E0, $00, $E0, $00, $C0, $00, $C0, $00, $C0, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $07, $07, $07, $07, $0F, $0F, $0F, $0F, $0F, $0F, $1F, $1F, $1F, $1F, $1F, $1F, $F8, $00, $F8, $00, $F0, $00, $F0, $00, $F0, $00, $E0, $00, $E0, $00, $E0, $00
-    .db $FC, $FF, $FC, $FF, $FC, $FF, $F8, $FF, $F8, $FF, $F8, $FF, $F8, $FF, $F0, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $3F, $C0, $3F, $C0, $3F, $C0, $7F, $80, $7F, $80, $7F, $80, $FF, $00, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $E0, $00, $FC, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $00, $00, $00, $00, $80, $00, $F8, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $E0, $00, $FC, $00, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $C0, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $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, $00, $00, $00, $00, $00, $00, $00
-    .db $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, $00, $00, $00, $00, $00, $00, $00
-    .db $07, $00, $0F, $00, $0F, $00, $0F, $00, $0F, $00, $1F, $00, $1F, $00, $1F, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $C0, $3F, $80, $7F, $80, $7F, $80, $7F, $80, $7F, $00, $FF, $00, $FF, $00, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $03, $FF, $07, $FF, $07, $FF, $07, $FF, $0F, $FF, $0F, $FF, $0F, $FF, $1F, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $FE, $FE, $FE, $FE, $FC, $FC, $FC, $FC, $FC, $FC, $FC, $FC, $F8, $F8, $F8, $F8, $01, $00, $01, $00, $03, $00, $03, $00, $03, $00, $03, $00, $07, $00, $07, $00
-    .db $00, $00, $00, $00, $00, $00, $01, $00, $01, $00, $01, $00, $03, $00, $03, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $FF, $00, $FF, $00, $FE, $01, $FE, $01, $FE, $01, $FC, $03, $FC, $03, $FC, $03, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $01, $FF, $01, $FF, $01, $FF, $03, $FF, $03, $FF, $03, $FF, $07, $FF, $07, $FF, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $F0, $F0, $F0, $F0, $F0, $F0, $E0, $E0, $E0, $E0, $E0, $E0, $E0, $E0, $C0, $C0, $F0, $0F, $F0, $0F, $F0, $0F, $E0, $1F, $E0, $1F, $E0, $1F, $E0, $1F, $C0, $3F
-    .db $3F, $00, $3F, $00, $3F, $00, $7E, $01, $7E, $01, $7E, $01, $7E, $01, $FC, $03, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $00, $FF, $00, $FF, $00, $FF, $01, $FF, $01, $FF, $01, $FF, $03, $FF, $03, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $FF, $FF, $FF, $FF, $FE, $FE, $FE, $FE, $FE, $FE, $FC, $FC, $FC, $FC, $FC, $FC, $00, $FF, $00, $FF, $01, $FF, $01, $FF, $01, $FF, $03, $FF, $03, $FF, $03, $FF
-    .db $01, $00, $01, $00, $01, $00, $03, $00, $03, $00, $03, $00, $03, $00, $07, $00, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FE, $01, $FE, $01, $FE, $01, $FE, $01, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $3F, $3F, $7F, $7F, $7F, $7F, $7F, $7F, $FF, $FF, $FF, $FF, $FE, $FF, $FE, $FF, $C0, $FF, $80, $FF, $80, $FF, $80, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $80, $FF, $80, $FF, $80, $FF, $00, $FF, $00, $FF, $00, $FF, $01, $FE, $01, $FE, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $7E, $80, $7E, $80, $FC, $00, $FC, $00, $FC, $00, $FC, $00, $F8, $00, $F8, $00, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $07, $07, $07, $07, $0F, $0F, $0F, $0F, $0F, $0F, $0F, $0F, $1F, $1F, $1F, $1F, $07, $F8, $07, $F8, $0F, $F0, $0F, $F0, $0F, $F0, $0F, $F0, $1F, $E0, $1F, $E0
-    .db $C0, $FF, $C0, $FF, $C0, $FF, $80, $FF, $80, $FF, $80, $FF, $00, $FF, $01, $FE, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $3F, $C0, $7F, $80, $7F, $80, $7F, $80, $FF, $00, $FF, $00, $FE, $00, $FE, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $80, $00, $80, $00, $80, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $3F, $3F, $3F, $3F, $3F, $3F, $7F, $7F, $7F, $7F, $7F, $7F, $7F, $7F, $FF, $FF, $C0, $00, $C0, $00, $C0, $00, $80, $00, $80, $00, $80, $00, $80, $00, $00, $00
-    .db $F0, $FF, $F0, $FF, $E0, $FF, $E0, $FF, $E0, $FF, $C0, $FF, $C0, $FF, $E0, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $1F, $E0, $03, $FC, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $FF, $00, $FF, $00, $7F, $80, $0F, $F0, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $1F, $E0, $03, $FC, $00, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $7F, $80, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $F8, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $00, $00, $00, $00, $E0, $00, $FE, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $00, $00, $00, $00, $00, $00, $00, $00, $C0, $00, $F8, $00, $FF, $00, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $3F, $00, $3F, $00, $3F, $00, $7F, $00, $7F, $00, $7F, $00, $FF, $00, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $FE, $01, $FE, $01, $FE, $01, $FC, $03, $FC, $03, $FC, $03, $F8, $07, $F8, $07, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $1F, $FF, $1F, $FF, $3F, $FF, $3F, $FF, $3F, $FF, $3F, $FF, $7F, $FF, $7F, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $F8, $F8, $F0, $F0, $F0, $F0, $F0, $F0, $E0, $E0, $E0, $E0, $E0, $E0, $C0, $C0, $07, $00, $0F, $00, $0F, $00, $0F, $00, $1F, $00, $1F, $00, $1F, $00, $3F, $00
-    .db $03, $00, $07, $00, $07, $00, $07, $00, $07, $00, $0F, $00, $0F, $00, $0F, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $F8, $07, $F8, $07, $F8, $07, $F0, $0F, $F0, $0F, $F0, $0F, $F0, $0F, $E0, $1F, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $07, $FF, $0F, $FF, $0F, $FF, $0F, $FF, $0F, $FF, $1F, $FF, $1F, $FF, $1F, $FF, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $C0, $C0, $C0, $C0, $81, $80, $81, $80, $81, $80, $03, $00, $03, $00, $03, $00, $C0, $3F, $C0, $3F, $80, $7F, $80, $7F, $80, $7F, $00, $FF, $00, $FF, $00, $FF
-    .db $FC, $03, $FC, $03, $F8, $07, $F8, $07, $F8, $07, $F0, $0F, $F0, $0F, $F0, $0F, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $03, $FF, $07, $FF, $07, $FF, $07, $FF, $0F, $FF, $0F, $FF, $0F, $FF, $0F, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $F8, $F8, $F8, $F8, $F8, $F8, $F0, $F0, $F0, $F0, $F0, $F0, $F0, $F0, $E0, $E0, $07, $FF, $07, $FF, $07, $FF, $0F, $FF, $0F, $FF, $0F, $FF, $0F, $FF, $1F, $FF
-    .db $07, $00, $07, $00, $0F, $00, $0F, $00, $0F, $00, $1F, $00, $1F, $00, $1F, $00, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $FC, $03, $FC, $03, $FC, $03, $F8, $07, $F8, $07, $F8, $07, $F0, $0F, $F0, $0F, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $FE, $FF, $FE, $FF, $FC, $FF, $FC, $FF, $FC, $FF, $F8, $FF, $F8, $FF, $F8, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $01, $FE, $03, $FC, $03, $FC, $03, $FC, $07, $F8, $07, $F8, $07, $F8, $0F, $F0, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $F8, $00, $F0, $00, $F0, $00, $F0, $00, $E0, $00, $E0, $00, $E0, $00, $C0, $00, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $1F, $1F, $3E, $3F, $3E, $3F, $3E, $3F, $7E, $7F, $7C, $7F, $7C, $7F, $FC, $FF, $1F, $E0, $3F, $C0, $3F, $C0, $3F, $C0, $7F, $80, $7F, $80, $7F, $80, $FF, $00
-    .db $01, $FE, $01, $FE, $01, $FE, $03, $FC, $03, $FC, $03, $FC, $07, $F8, $07, $F8, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $FE, $00, $FE, $00, $FC, $00, $FC, $00, $FC, $00, $F8, $00, $F8, $00, $F8, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $00, $00, $00, $00, $01, $01, $01, $01, $01, $01, $01, $01, $00, $00, $00, $00, $FF, $00, $FF, $00, $FE, $00, $FE, $00, $FE, $00, $FE, $00, $FF, $00, $FF, $00
-    .db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $1F, $1F, $03, $03, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $E0, $00, $FC, $00
-    .db $FC, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $00, $FF, $C0, $FF, $F8, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $00, $FF, $00, $FF, $00, $FF, $00, $FF, $E0, $FF, $FE, $FF, $FF, $FF, $FF, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $C0, $FF, $F8, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $07, $F8, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $FF, $00, $FF, $00, $1F, $E0, $03, $FC, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $FF, $00, $FF, $00, $FF, $00, $FF, $00, $3F, $C0, $07, $F8, $00, $FF, $00, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $1F, $E0, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $F8, $07, $F8, $07, $F0, $0F, $F0, $0F, $F0, $0F, $E0, $1F, $E0, $1F, $E0, $1F, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $00, $FF, $00, $FF, $00, $FF, $00, $FF, $01, $FF, $01, $FF, $01, $FF, $03, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $7F, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $C0, $C0, $C0, $C0, $C0, $C0, $80, $80, $80, $80, $80, $80, $00, $00, $00, $00, $3F, $00, $3F, $00, $3F, $00, $7F, $00, $7F, $00, $7F, $00, $FF, $00, $FF, $00
-    .db $1F, $00, $1F, $00, $1F, $00, $3F, $00, $3F, $00, $3F, $00, $7F, $00, $7F, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $E0, $1F, $E0, $1F, $C0, $3F, $C0, $3F, $C0, $3F, $80, $7F, $80, $7F, $80, $7F, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $3E, $FE, $3E, $FE, $3E, $FE, $7E, $FE, $7C, $FC, $7C, $FC, $FC, $FC, $F8, $F8, $FE, $01, $FE, $01, $FE, $01, $FE, $01, $FC, $03, $FC, $03, $FC, $03, $F8, $07
-    .db $07, $00, $07, $00, $07, $00, $07, $00, $0F, $00, $0F, $00, $0F, $00, $1F, $00, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $E0, $1F, $E0, $1F, $E0, $1F, $E0, $1F, $C0, $3F, $C0, $3F, $C0, $3F, $80, $7F, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $1F, $FF, $1F, $FF, $1F, $FF, $3F, $FF, $3F, $FF, $3F, $FF, $7F, $FF, $7F, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $E0, $E0, $E0, $E0, $C0, $C0, $C0, $C0, $C0, $C0, $80, $80, $80, $80, $80, $80, $1F, $FF, $1F, $FF, $3F, $FF, $3F, $FF, $3F, $FF, $7F, $FF, $7F, $FF, $7F, $FF
-    .db $3F, $00, $3F, $00, $3F, $00, $3F, $00, $7F, $00, $7F, $00, $7F, $00, $FF, $00, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $F0, $0F, $E0, $1F, $E0, $1F, $E0, $1F, $E0, $1F, $C0, $3F, $C0, $3F, $C0, $3F, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $F0, $FF, $F0, $FF, $F0, $FF, $E0, $FF, $E0, $FF, $E0, $FF, $E0, $FF, $C0, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $0F, $F0, $0F, $F0, $0F, $F0, $1F, $E0, $1F, $E0, $1F, $E0, $3F, $C0, $3F, $C0, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $C0, $00, $C0, $00, $C0, $00, $81, $01, $81, $01, $81, $01, $03, $03, $03, $03, $00, $FF, $00, $FF, $00, $FF, $01, $FE, $01, $FE, $01, $FE, $03, $FC, $03, $FC
-    .db $F8, $FF, $F8, $FF, $F8, $FF, $F0, $FF, $F0, $FF, $F0, $FF, $F0, $FF, $E0, $FF, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $07, $F8, $0F, $F0, $0F, $F0, $0F, $F0, $1F, $E0, $1F, $E0, $1F, $E0, $1F, $E0, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $F0, $00, $F0, $00, $F0, $00, $F8, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $00, $00, $00, $00, $00, $00, $00, $00, $80, $00, $F0, $00, $FE, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $C0, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $7F, $7F, $0F, $0F, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $80, $00, $F0, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $FF, $FF, $FF, $FF, $FF, $FF, $1F, $1F, $03, $03, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $E0, $00, $FC, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $7F, $7F, $07, $07, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $80, $00, $F8, $00, $FF, $00
-    .db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $00, $FF, $F0, $FF, $FE, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $00, $FF, $00, $FF, $00, $FF, $C0, $FF, $F8, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $80, $FF, $F0, $FF, $FE, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $01, $FE, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $FF, $00, $3F, $C0, $07, $F8, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $FF, $00, $FF, $00, $FF, $00, $FF, $00, $0F, $F0, $01, $FE, $00, $FF, $00, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $C0, $3F, $C0, $3F, $C0, $3F, $80, $7F, $80, $7F, $80, $7F, $00, $FF, $00, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $03, $FF, $03, $FF, $03, $FF, $07, $FF, $07, $FF, $07, $FF, $0F, $FF, $0F, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $FF, $FF, $FE, $FE, $FE, $FE, $FE, $FE, $FE, $FE, $FC, $FC, $FC, $FC, $FC, $FC, $00, $00, $01, $00, $01, $00, $01, $00, $01, $00, $03, $00, $03, $00, $03, $00
-    .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $01, $00, $01, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $7F, $00, $7F, $00, $FF, $00, $FF, $00, $FE, $01, $FE, $01, $FE, $01, $FC, $03, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $00, $FF, $00, $FF, $01, $FF, $01, $FF, $01, $FF, $03, $FF, $03, $FF, $03, $FF, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $F8, $F8, $F8, $F8, $F0, $F0, $F0, $F0, $F0, $F0, $E0, $E0, $E0, $E0, $E0, $E0, $F8, $07, $F8, $07, $F0, $0F, $F0, $0F, $F0, $0F, $E0, $1F, $E0, $1F, $E0, $1F
-    .db $1F, $00, $1F, $00, $3F, $00, $3F, $00, $3F, $00, $7E, $01, $7E, $01, $7E, $01, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $80, $7F, $80, $7F, $00, $FF, $00, $FF, $00, $FF, $01, $FF, $01, $FF, $01, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $7F, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FE, $FE, $FE, $FE, $FE, $FE, $FC, $FC, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $01, $FF, $01, $FF, $01, $FF, $03, $FF
-    .db $00, $00, $00, $00, $01, $00, $01, $00, $01, $00, $03, $00, $03, $00, $03, $00, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FE, $01, $FE, $01, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $80, $7F, $80, $7F, $80, $7F, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $C0, $FF, $C0, $FF, $80, $FF, $80, $FF, $80, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $3F, $C0, $7E, $80, $7E, $80, $7E, $80, $FC, $00, $FC, $00, $FC, $00, $FC, $00, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $03, $03, $07, $07, $07, $07, $07, $07, $0F, $0F, $0F, $0F, $0F, $0F, $0F, $0F, $03, $FC, $07, $F8, $07, $F8, $07, $F8, $0F, $F0, $0F, $F0, $0F, $F0, $0F, $F0
-    .db $E0, $FF, $E0, $FF, $C0, $FF, $C0, $FF, $C0, $FF, $F8, $FF, $FF, $FF, $FF, $FF, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $07, $F8, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $F0, $FF, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $FF, $00, $FF, $00, $1F, $E0, $01, $FE, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $FF, $00, $FF, $00, $FF, $00, $FF, $00, $3F, $C0, $07, $F8, $00, $FF, $00, $FF, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $FC, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $0F, $F0, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $00, $00, $80, $00, $F0, $00, $FE, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $00, $00, $00, $00, $00, $00, $00, $00, $E0, $00, $FC, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $80, $00, $F0, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $1F, $1F, $01, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $E0, $00, $FE, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $FF, $FF, $FF, $FF, $3F, $3F, $07, $07, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $C0, $00, $F8, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $0F, $0F, $01, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $F0, $00, $FE, $00, $FF, $00
-    .db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $3F, $3F, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $C0, $00
-    .db $C0, $FF, $FC, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $00, $FF, $00, $FF, $80, $FF, $F0, $FF, $FE, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $E0, $FF, $FC, $FF, $FF, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $80, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $0F, $FF, $1F, $FF, $1F, $FF, $1F, $FF, $3F, $FF, $3F, $FF, $3F, $FF, $3F, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $F8, $F8, $F8, $F8, $F8, $F8, $F0, $F0, $F0, $F0, $F0, $F0, $E0, $E0, $E0, $E0, $07, $00, $07, $00, $07, $00, $0F, $00, $0F, $00, $0F, $00, $1F, $00, $1F, $00
-    .db $03, $00, $03, $00, $03, $00, $07, $00, $07, $00, $07, $00, $07, $00, $0F, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $FC, $03, $FC, $03, $F8, $07, $F8, $07, $F8, $07, $F0, $0F, $F0, $0F, $F0, $0F, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $07, $FF, $07, $FF, $07, $FF, $0F, $FF, $0F, $FF, $0F, $FF, $0F, $FF, $1F, $FF, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $E0, $E0, $C0, $C0, $C0, $C0, $C0, $C0, $81, $80, $81, $80, $81, $80, $03, $00, $E0, $1F, $C0, $3F, $C0, $3F, $C0, $3F, $80, $7F, $80, $7F, $80, $7F, $00, $FF
-    .db $7E, $01, $FC, $03, $FC, $03, $FC, $03, $F8, $07, $F8, $07, $F8, $07, $F0, $0F, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $03, $FF, $03, $FF, $03, $FF, $07, $FF, $07, $FF, $07, $FF, $0F, $FF, $0F, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $FC, $FC, $FC, $FC, $F8, $F8, $F8, $F8, $F8, $F8, $F0, $F0, $F0, $F0, $F0, $F0, $03, $FF, $03, $FF, $07, $FF, $07, $FF, $07, $FF, $0F, $FF, $0F, $FF, $0F, $FF
-    .db $03, $00, $07, $00, $07, $00, $07, $00, $0F, $00, $0F, $00, $0F, $00, $1F, $00, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $FE, $01, $FE, $01, $FC, $03, $FC, $03, $FC, $03, $F8, $07, $F8, $07, $F8, $07, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $01, $FF, $01, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $01, $FE, $01, $FE, $01, $FE, $03, $FC, $03, $FC, $03, $FC, $07, $F8, $03, $FC, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $F8, $00, $F8, $00, $F8, $00, $F0, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $03, $03, $00, $00, $00, $00, $00, $00, $00, $00, $E0, $00, $FC, $00, $FF, $00, $03, $FC, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $FF, $FF, $7F, $7F, $0F, $0F, $00, $00, $00, $00, $00, $00, $00, $00, $80, $00, $FF, $00, $7F, $80, $0F, $F0, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $FE, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $1F, $1F, $03, $03, $00, $00, $00, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $1F, $E0, $03, $FC, $00, $FF, $00, $FF
-    .db $00, $FF, $C0, $FF, $F8, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $3F, $3F, $07, $07, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $3F, $C0, $07, $F8
-    .db $00, $FF, $00, $FF, $00, $FF, $80, $FF, $F0, $FF, $FE, $FF, $FF, $FF, $FF, $FF, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $01, $FE, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $C0, $FF, $FC, $FF, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $FF, $00, $3F, $C0, $07, $F8, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $FF, $00, $FF, $00, $FF, $00, $7F, $80, $0F, $F0, $01, $FE, $00, $FF, $00, $FF, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $3F, $C0, $03, $FC, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $00, $00, $E0, $00, $FC, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $00, $00, $00, $00, $00, $00, $80, $00, $F8, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $E0, $00, $FC, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $07, $07, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $F8, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $FF, $FF, $7F, $7F, $0F, $0F, $01, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $80, $00, $F0, $00, $FE, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $3F, $3F, $03, $03, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $C0, $00, $FC, $00, $FF, $00, $FF, $00
-    .db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $7F, $7F, $0F, $0F, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $80, $00, $F0, $00
-    .db $F0, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $00, $FF, $00, $FF, $E0, $FF, $FC, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $7F, $FF, $7F, $FF, $7F, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $E0, $E0, $E0, $E0, $C0, $C0, $C0, $C0, $C0, $C0, $80, $80, $80, $80, $80, $80, $1F, $00, $1F, $00, $3F, $00, $3F, $00, $3F, $00, $7F, $00, $7F, $00, $7F, $00
-    .db $0F, $00, $0F, $00, $1F, $00, $1F, $00, $1F, $00, $3F, $00, $3F, $00, $3F, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $F0, $0F, $E0, $1F, $E0, $1F, $E0, $1F, $C0, $3F, $C0, $3F, $C0, $3F, $80, $7F, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $1F, $FF, $1F, $FF, $3E, $FE, $3E, $FE, $3E, $FE, $7E, $FE, $7C, $FC, $7C, $FC, $FF, $00, $FF, $00, $FE, $01, $FE, $01, $FE, $01, $FE, $01, $FC, $03, $FC, $03
-    .db $03, $00, $03, $00, $07, $00, $07, $00, $07, $00, $07, $00, $0F, $00, $0F, $00, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $F0, $0F, $F0, $0F, $E0, $1F, $E0, $1F, $E0, $1F, $E0, $1F, $C0, $3F, $C0, $3F, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $0F, $FF, $0F, $FF, $1F, $FF, $1F, $FF, $1F, $FF, $3F, $FF, $3F, $FF, $3F, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $F0, $F0, $E0, $E0, $E0, $E0, $E0, $E0, $C0, $C0, $C0, $C0, $C0, $C0, $80, $80, $0F, $FF, $1F, $FF, $1F, $FF, $1F, $FF, $3F, $FF, $3F, $FF, $3F, $FF, $7F, $FF
-    .db $1F, $00, $1F, $00, $3F, $00, $3F, $00, $3F, $00, $3F, $00, $7F, $00, $7F, $00, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $F0, $0F, $F0, $0F, $F0, $0F, $E0, $1F, $E0, $1F, $E0, $1F, $E0, $1F, $C0, $3F, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $01, $FF, $03, $FF, $03, $FF, $03, $FF, $07, $FF, $07, $FF, $07, $FF, $0F, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $E0, $FF, $FC, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $7F, $80, $0F, $F0, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $FF, $00, $FF, $00, $FF, $00, $1F, $E0, $03, $FC, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $F8, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $7F, $80, $07, $F8, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $00, $00, $00, $00, $E0, $00, $FC, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $00, $00, $00, $00, $00, $00, $00, $00, $C0, $00, $F8, $00, $FF, $00, $FF, $00, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $FF, $FF, $1F, $1F, $01, $01, $00, $00, $00, $00, $00, $00, $00, $00, $E0, $00, $FF, $00, $1F, $E0, $01, $FE, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $FF, $FF, $FF, $FF, $FF, $FF, $3F, $3F, $07, $07, $00, $00, $00, $00, $00, $00, $FF, $00, $FF, $00, $FF, $00, $3F, $C0, $07, $F8, $00, $FF, $00, $FF, $00, $FF
-    .db $80, $FF, $F0, $FF, $FE, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $0F, $0F, $01, $01, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $0F, $F0, $01, $FE
-    .db $00, $FF, $00, $FF, $00, $FF, $E0, $FF, $FC, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $80, $FF, $F0, $FF, $FF, $FF, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $7F, $80, $0F, $F0, $01, $FE, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $FF, $00, $FF, $00, $FF, $00, $1F, $E0, $03, $FC, $00, $FF, $00, $FF, $00, $FF, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $7F, $80, $0F, $F0, $00, $FF, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $C0, $00, $F8, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $00, $00, $00, $00, $00, $00, $E0, $00, $FE, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $C0, $00, $F8, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $01, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $FE, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $FF, $FF, $1F, $1F, $03, $03, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $E0, $00, $FC, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $FF, $FF, $FF, $FF, $FF, $FF, $7F, $7F, $0F, $0F, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $80, $00, $F0, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $FF, $FF, $FF, $FF, $FF, $FF, $FE, $FE, $FE, $FE, $FE, $FE, $1E, $1E, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $01, $00, $01, $00, $E1, $00, $FF, $00
-    .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $7F, $00, $7F, $00, $7F, $00, $7F, $00, $FF, $00, $FF, $00, $FE, $01, $FE, $01, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $80, $7F, $80, $7F, $00, $FF, $00, $FF, $01, $FF, $01, $FF, $01, $FF, $03, $FF, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $FC, $FC, $F8, $F8, $F8, $F8, $F8, $F8, $F0, $F0, $F0, $F0, $F0, $F0, $E0, $E0, $FC, $03, $F8, $07, $F8, $07, $F8, $07, $F0, $0F, $F0, $0F, $F0, $0F, $E0, $1F
-    .db $0F, $00, $1F, $00, $1F, $00, $1F, $00, $3F, $00, $3F, $00, $3F, $00, $7E, $01, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $C0, $3F, $80, $7F, $80, $7F, $80, $7F, $00, $FF, $00, $FF, $00, $FF, $01, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $7F, $FF, $7F, $FF, $7F, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FE, $FE, $FE, $FE, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $01, $FF, $01, $FF
-    .db $80, $80, $80, $80, $00, $00, $00, $00, $01, $00, $01, $00, $01, $00, $03, $00, $7F, $FF, $7F, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $7F, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $C0, $3F, $C0, $3F, $80, $7F, $80, $7F, $80, $7F, $00, $FF, $00, $FF, $00, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $0F, $FF, $0F, $FF, $0F, $FF, $1F, $FF, $1F, $FF, $1F, $FF, $3F, $FF, $3F, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $7F, $7F, $0F, $0F, $00, $00, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $80, $FF, $F0, $FF, $FF, $FF
-    .db $C0, $FF, $F8, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $00, $FF, $00, $FF, $00, $FF, $E0, $FF, $FE, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $C0, $FF, $F8, $FF, $FF, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $1F, $E0, $03, $FC, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $80, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $FF, $00, $FF, $00, $3F, $C0, $07, $F8, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $FE, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $1F, $E0, $01, $FE, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $00, $00, $C0, $00, $F8, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $3F, $C0, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $00, $00, $00, $00, $00, $00, $00, $00, $F0, $00, $FE, $00, $FF, $00, $FF, $00, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $3F, $3F, $07, $07, $00, $00, $00, $00, $00, $00, $00, $00, $C0, $00, $F8, $00, $3F, $C0, $07, $F8, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $FF, $FF, $FF, $FF, $7F, $7F, $0F, $0F, $01, $01, $00, $00, $00, $00, $00, $00, $FF, $00, $FF, $00, $7F, $80, $0F, $F0, $01, $FE, $00, $FF, $00, $FF, $00, $FF
-    .db $E0, $FF, $FC, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $3F, $3F, $03, $03, $00, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $3F, $C0, $03, $FC, $00, $FF
-    .db $00, $FF, $00, $FF, $80, $FF, $F8, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $7F, $7F, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $7F, $80
-    .db $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $E0, $FF, $FC, $FF, $FF, $FF, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $1F, $E0, $03, $FC, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $C0, $FF, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $FF, $00, $FF, $00, $7F, $80, $07, $F8, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $1F, $E0, $03, $FC, $00, $FF, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $F0, $00, $FE, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $3F, $C0, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $00, $00, $00, $00, $C0, $00, $FC, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $00, $00, $00, $00, $00, $00, $00, $00, $80, $00, $F0, $00, $FE, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $E0, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $01, $00, $01, $00, $03, $00, $03, $00, $03, $00, $07, $00, $07, $00, $07, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $FE, $01, $FC, $03, $FC, $03, $FC, $03, $F8, $07, $F8, $07, $F8, $07, $F0, $0F, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $03, $FF, $03, $FF, $07, $FF, $07, $FF, $07, $FF, $0F, $FF, $0F, $FF, $0F, $FF, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $E0, $E0, $E0, $E0, $E0, $E0, $C0, $C0, $C0, $C0, $C0, $C0, $81, $80, $81, $80, $E0, $1F, $E0, $1F, $E0, $1F, $C0, $3F, $C0, $3F, $C0, $3F, $80, $7F, $80, $7F
-    .db $7E, $01, $7E, $01, $7E, $01, $FC, $03, $FC, $03, $FC, $03, $F8, $07, $F8, $07, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $01, $FF, $01, $FF, $03, $FF, $03, $FF, $03, $FF, $07, $FF, $07, $FF, $07, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $FE, $FE, $FC, $FC, $FC, $FC, $FC, $FC, $F8, $F8, $F8, $F8, $F8, $F8, $F0, $F0, $01, $FF, $03, $FF, $03, $FF, $03, $FF, $07, $FF, $07, $FF, $07, $FF, $0F, $FF
-    .db $03, $00, $03, $00, $03, $00, $07, $00, $07, $00, $07, $00, $0F, $00, $0F, $00, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $FE, $01, $FE, $01, $FE, $01, $FE, $01, $FC, $03, $FC, $03, $FC, $03, $F8, $07, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $3F, $FF, $7F, $FF, $7F, $FF, $7F, $FF, $7F, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $C0, $00, $FC, $00, $FF, $00, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $1F, $1F, $03, $03, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $80, $00, $E0, $FF, $FC, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $FF, $FF, $FF, $FF, $7F, $7F, $07, $07, $00, $00, $00, $00, $00, $00, $00, $00, $00, $FF, $00, $FF, $80, $FF, $F8, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $1F, $1F, $03, $03, $00, $00, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $E0, $FF, $FC, $FF, $FF, $FF
-    .db $F0, $FF, $FE, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $3F, $3F, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $C0, $FF
-    .db $00, $FF, $00, $FF, $C0, $FF, $FC, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $00, $FF, $00, $FF, $00, $FF, $00, $FF, $80, $FF, $F0, $FF, $FE, $FF, $FF, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $07, $F8, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $E0, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $FF, $00, $FF, $00, $0F, $F0, $01, $FE, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $FF, $00, $FF, $00, $FF, $00, $FF, $00, $3F, $C0, $07, $F8, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $80, $00, $F0, $00, $FE, $00, $FF, $00, $FF, $00, $FF, $00, $7F, $80, $0F, $F0, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $00, $00, $00, $00, $00, $00, $C0, $00, $FC, $00, $FF, $00, $FF, $00, $FF, $00, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $0F, $0F, $01, $01, $00, $00, $00, $00, $00, $00, $80, $00, $F0, $00, $FE, $00, $0F, $F0, $01, $FE, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $FF, $FF, $FF, $FF, $1F, $1F, $03, $03, $00, $00, $00, $00, $00, $00, $00, $00, $FF, $00, $FF, $00, $1F, $E0, $03, $FC, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $F8, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $7F, $7F, $0F, $0F, $00, $00, $00, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $7F, $80, $0F, $F0, $00, $FF, $00, $FF
-    .db $00, $FF, $00, $FF, $E0, $FF, $FE, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $1F, $1F, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $1F, $E0
-    .db $00, $FF, $00, $FF, $00, $FF, $00, $FF, $C0, $FF, $F8, $FF, $FF, $FF, $FF, $FF, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $07, $F8, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $F0, $FF, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $FF, $00, $FF, $00, $1F, $E0, $01, $FE, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $FF, $00, $FF, $00, $FF, $00, $FF, $00, $3F, $C0, $07, $F8, $00, $FF, $00, $FF, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $FC, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $0F, $F0, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $07, $00, $8F, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $F0, $0F, $F0, $0F, $F0, $0F, $E0, $1F, $E0, $1F, $E0, $1F, $C0, $3F, $C0, $3F, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $0F, $FF, $1F, $FF, $1F, $FF, $1F, $FF, $3E, $FE, $3E, $FE, $3E, $FE, $7E, $FE, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FE, $01, $FE, $01, $FE, $01, $FE, $01
-    .db $81, $80, $03, $00, $03, $00, $03, $00, $07, $00, $07, $00, $07, $00, $07, $00, $80, $7F, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $F8, $07, $F0, $0F, $F0, $0F, $F0, $0F, $E0, $1F, $E0, $1F, $E0, $1F, $E0, $1F, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $0F, $FF, $0F, $FF, $0F, $FF, $0F, $FF, $1F, $FF, $1F, $FF, $1F, $FF, $3F, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $F0, $F0, $F0, $F0, $F0, $F0, $E0, $E0, $E0, $E0, $E0, $E0, $C0, $C0, $C0, $C0, $0F, $FF, $0F, $FF, $0F, $FF, $1F, $FF, $1F, $FF, $1F, $FF, $3F, $FF, $3F, $FF
-    .db $0F, $00, $1F, $00, $1F, $00, $1F, $00, $3F, $00, $3F, $00, $3F, $00, $3F, $00, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $F8, $07, $F8, $07, $F0, $0F, $F0, $0F, $F0, $0F, $E0, $1F, $E0, $1F, $E0, $1F, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $01, $FF, $01, $FF, $01, $FF, $03, $FF, $03, $FF, $03, $FF, $07, $FF, $07, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $3F, $C0, $07, $F8, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $F0, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $00, $00, $00, $00, $E0, $00, $FC, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $00, $00, $00, $00, $00, $00, $00, $00, $80, $00, $F8, $00, $FF, $00, $FF, $00, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $07, $07, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $E0, $00, $F8, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $FF, $FF, $FF, $FF, $1F, $1F, $01, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00, $FF, $00, $FF, $E0, $FF, $FE, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $3F, $3F, $07, $07, $00, $00, $00, $00, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $C0, $FF, $F8, $FF, $FF, $FF, $FF, $FF
-    .db $FC, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $0F, $0F, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $F0, $FF
-    .db $00, $FF, $80, $FF, $F0, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $00, $FF, $00, $FF, $00, $FF, $00, $FF, $E0, $FF, $FC, $FF, $FF, $FF, $FF, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $01, $FE, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $80, $FF, $F8, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $FF, $00, $3F, $C0, $03, $FC, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $FF, $00, $FF, $00, $FF, $00, $7F, $80, $0F, $F0, $01, $FE, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $E0, $00, $FC, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $1F, $E0, $03, $FC, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $00, $00, $00, $00, $80, $00, $F0, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $03, $03, $00, $00, $00, $00, $00, $00, $00, $00, $E0, $00, $FC, $00, $FF, $00, $03, $FC, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $FF, $FF, $7F, $7F, $07, $07, $00, $00, $00, $00, $00, $00, $00, $00, $80, $00, $FF, $00, $7F, $80, $07, $F8, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $FE, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $1F, $1F, $03, $03, $00, $00, $00, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $1F, $E0, $03, $FC, $00, $FF, $00, $FF
-    .db $00, $FF, $C0, $FF, $F8, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $3F, $3F, $07, $07, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $3F, $C0, $07, $F8
-    .db $00, $FF, $00, $FF, $00, $FF, $80, $FF, $F0, $FF, $FE, $FF, $FF, $FF, $FF, $FF, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $01, $FE, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $C0, $FF, $FC, $FF, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $FF, $00, $3F, $C0, $07, $F8, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $C0, $3F, $80, $7F, $80, $7F, $00, $FF, $00, $FF, $00, $FF, $01, $FF, $01, $FF, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $7C, $FC, $7C, $FC, $FC, $FC, $F8, $F8, $F8, $F8, $F8, $F8, $F0, $F0, $F0, $F0, $FC, $03, $FC, $03, $FC, $03, $F8, $07, $F8, $07, $F8, $07, $F0, $0F, $F0, $0F
-    .db $0F, $00, $0F, $00, $0F, $00, $1F, $00, $1F, $00, $1F, $00, $3F, $00, $3F, $00, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $C0, $3F, $C0, $3F, $C0, $3F, $80, $7F, $80, $7F, $80, $7F, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $3F, $FF, $3F, $FF, $7F, $FF, $7F, $FF, $7F, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $C0, $C0, $80, $80, $80, $80, $80, $80, $00, $00, $00, $00, $01, $00, $01, $00, $3F, $FF, $7F, $FF, $7F, $FF, $7F, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $7F, $00, $7F, $00, $7F, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $E0, $1F, $C0, $3F, $C0, $3F, $C0, $3F, $80, $7F, $80, $7F, $80, $7F, $00, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $07, $FF, $07, $FF, $0F, $FF, $0F, $FF, $0F, $FF, $1F, $FF, $1F, $FF, $1F, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $FF, $00, $1F, $E0, $01, $FE, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $FF, $00, $FF, $00, $FF, $00, $3F, $C0, $07, $F8, $00, $FF, $00, $FF, $00, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $0F, $F0, $01, $FE, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $FC, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $00, $00, $C0, $00, $F8, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $00, $00, $00, $00, $00, $00, $00, $00, $E0, $00, $FE, $00, $FF, $00, $FF, $00, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $01, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $C0, $00, $F8, $00, $FE, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $FF, $FF, $3F, $3F, $07, $07, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $FF, $C0, $FF, $F8, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $FF, $FF, $FF, $FF, $FF, $FF, $7F, $7F, $0F, $0F, $01, $01, $00, $00, $00, $00, $00, $FF, $00, $FF, $00, $FF, $80, $FF, $F0, $FF, $FE, $FF, $FF, $FF, $FF, $FF
-    .db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $3F, $3F, $03, $03, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $C0, $FF, $FC, $FF
-    .db $00, $FF, $E0, $FF, $FC, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $00, $FF, $00, $FF, $00, $FF, $C0, $FF, $F8, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $E0, $FF, $FE, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $7F, $80, $0F, $F0, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $FF, $00, $FF, $00, $FF, $00, $1F, $E0, $03, $FC, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $F8, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $7F, $80, $07, $F8, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $00, $00, $00, $00, $E0, $00, $FC, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $00, $00, $00, $00, $00, $00, $00, $00, $C0, $00, $F8, $00, $FF, $00, $FF, $00, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $FF, $FF, $1F, $1F, $01, $01, $00, $00, $00, $00, $00, $00, $00, $00, $E0, $00, $FF, $00, $1F, $E0, $01, $FE, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $FF, $FF, $FF, $FF, $FF, $FF, $3F, $3F, $07, $07, $00, $00, $00, $00, $00, $00, $FF, $00, $FF, $00, $FF, $00, $3F, $C0, $07, $F8, $00, $FF, $00, $FF, $00, $FF
-    .db $80, $FF, $F0, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $0F, $0F, $01, $01, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $0F, $F0, $01, $FE
-    .db $01, $FF, $03, $FF, $03, $FF, $E3, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $F0, $F0, $F0, $F0, $E0, $E0, $E0, $E0, $E0, $E0, $C0, $C0, $C0, $C0, $C0, $C0, $F0, $0F, $F0, $0F, $E0, $1F, $E0, $1F, $E0, $1F, $C0, $3F, $C0, $3F, $C0, $3F
-    .db $3F, $00, $7E, $01, $7E, $01, $7E, $01, $7E, $01, $FC, $03, $FC, $03, $FC, $03, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $00, $FF, $01, $FF, $01, $FF, $01, $FF, $03, $FF, $03, $FF, $03, $FF, $07, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $FE, $FE, $FE, $FE, $FE, $FE, $FC, $FC, $FC, $FC, $FC, $FC, $F8, $F8, $F8, $F8, $01, $FF, $01, $FF, $01, $FF, $03, $FF, $03, $FF, $03, $FF, $07, $FF, $07, $FF
-    .db $01, $00, $03, $00, $03, $00, $03, $00, $03, $00, $07, $00, $07, $00, $07, $00, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $FF, $00, $FF, $00, $FE, $01, $FE, $01, $FE, $01, $FE, $01, $FC, $03, $FC, $03, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $3F, $FF, $3F, $FF, $3F, $FF, $7F, $FF, $7F, $FF, $7F, $FF, $7F, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $80, $FF, $F0, $FF, $FE, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $00, $FF, $00, $FF, $00, $FF, $C0, $FF, $FC, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $80, $FF, $F0, $FF, $FE, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $3F, $C0, $07, $F8, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $FF, $00, $FF, $00, $7F, $80, $0F, $F0, $01, $FE, $00, $FF, $00, $FF, $00, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $3F, $C0, $03, $FC, $00, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $7F, $80, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $00, $00, $F0, $00, $FE, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $00, $00, $00, $00, $00, $00, $C0, $00, $F8, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $80, $00, $F0, $00, $FE, $00, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $7F, $7F, $0F, $0F, $01, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $80, $FF, $F0, $FF, $FE, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $FF, $FF, $FF, $FF, $FF, $FF, $1F, $1F, $03, $03, $00, $00, $00, $00, $00, $00, $00, $FF, $00, $FF, $00, $FF, $E0, $FF, $FC, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $7F, $7F, $0F, $0F, $00, $00, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $80, $FF, $F0, $FF, $FF, $FF
-    .db $C0, $FF, $F8, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $00, $FF, $00, $FF, $00, $FF, $F0, $FF, $FE, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $C0, $FF, $F8, $FF, $FF, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $1F, $E0, $03, $FC, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $80, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $FF, $00, $FF, $00, $3F, $C0, $07, $F8, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $FE, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $1F, $E0, $01, $FE, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $00, $00, $C0, $00, $F8, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $3F, $C0, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $00, $00, $00, $00, $00, $00, $00, $00, $F0, $00, $FE, $00, $FF, $00, $FF, $00, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $3F, $3F, $07, $07, $00, $00, $00, $00, $00, $00, $00, $00, $C0, $00, $F8, $00, $3F, $C0, $07, $F8, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $81, $80, $81, $80, $01, $00, $03, $00, $03, $00, $03, $00, $07, $00, $07, $00, $80, $7F, $80, $7F, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $F8, $07, $F8, $07, $F8, $07, $F0, $0F, $F0, $0F, $F0, $0F, $E0, $1F, $E0, $1F, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $07, $FF, $07, $FF, $07, $FF, $0F, $FF, $0F, $FF, $0F, $FF, $1F, $FF, $1F, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $F8, $F8, $F0, $F0, $F0, $F0, $F0, $F0, $F0, $F0, $E0, $E0, $E0, $E0, $E0, $E0, $07, $FF, $0F, $FF, $0F, $FF, $0F, $FF, $0F, $FF, $1F, $FF, $1F, $FF, $1F, $FF
-    .db $0F, $00, $0F, $00, $0F, $00, $1F, $00, $1F, $00, $1F, $00, $3F, $00, $3F, $00, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $FC, $03, $F8, $07, $F8, $07, $F8, $07, $F0, $0F, $F0, $0F, $F0, $0F, $E0, $1F, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $00, $FF, $00, $FF, $01, $FF, $01, $FF, $01, $FF, $03, $FF, $03, $FF, $03, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-    .db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
-
-gfxp_bg:
-    .db $DE, $7B, $BD, $77, $7B, $6F, $7B, $6F, $5A, $6B, $39, $67, $18, $63, $F7, $5E
-    .db $F7, $5E, $D6, $5A, $B5, $56, $94, $52, $73, $4E, $52, $4A, $31, $46, $EF, $3D
-
-; 896 tiles (0 spaces)
-; 28672 bytes

+ 0 - 13
snes/xmsnes/graphics/gfx_bg2.inc

@@ -1,13 +0,0 @@
-; Created with eKid's pcx2snes converter ;
-
-gfx_bg2:
-    .db $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $00, $FF, $00, $FF, $00, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $00, $FF, $00, $FF, $00, $FF, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-
-gfxp_bg2:
-    .db $5E, $02, $DF, $7F, $91, $6E, $CE, $01, $09, $00, $17, $00, $03, $00, $00, $00
-    .db $0F, $34, $16, $6C, $1C, $68, $0E, $38, $32, $03, $A8, $03, $43, $00, $00, $00
-
-; 3 tiles (0 spaces)
-; 96 bytes

+ 0 - 138
snes/xmsnes/graphics/gfx_bub.inc

@@ -1,138 +0,0 @@
-; Created with eKid's pcx2snes converter ;
-
-gfx_bub:
-    .db $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, $00, $00, $00, $00, $00, $00, $00
-    .db $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, $00, $00, $00, $00, $00, $00, $00
-    .db $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, $00, $00, $00, $00, $00, $00, $00
-    .db $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, $00, $00, $00, $00, $00, $00, $00
-    .db $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, $00, $00, $00, $00, $00, $00, $00
-    .db $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, $00, $00, $00, $00, $00, $00, $00
-    .db $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, $00, $00, $00, $00, $00, $00, $00
-    .db $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, $00, $00, $00, $00, $00, $00, $00
-    .db $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, $00, $00, $00, $00, $00, $00, $00
-    .db $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, $00, $00, $00, $00, $00, $00, $00
-    .db $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, $00, $00, $00, $00, $00, $00, $00
-    .db $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, $00, $00, $00, $00, $00, $00, $00
-    .db $00, $00, $00, $00, $00, $01, $00, $01, $00, $03, $00, $07, $00, $07, $00, $0F, $00, $00, $00, $00, $01, $00, $01, $00, $03, $00, $07, $00, $07, $00, $0F, $00
-    .db $30, $40, $30, $C0, $38, $C0, $38, $C0, $3C, $C0, $3C, $C0, $3E, $C0, $3E, $C0, $70, $30, $F0, $30, $F8, $38, $F8, $38, $FC, $3C, $FC, $3C, $FE, $3E, $FE, $3E
-    .db $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, $00, $00, $00, $00, $00, $00, $00
-    .db $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, $00, $00, $00, $00, $00, $00, $00
-    .db $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, $00, $00, $00, $00, $00, $00, $00
-    .db $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, $00, $00, $00, $00, $00, $00, $00
-    .db $00, $00, $01, $06, $00, $07, $00, $03, $00, $01, $00, $01, $00, $00, $00, $00, $00, $00, $07, $01, $07, $00, $03, $00, $01, $00, $01, $00, $00, $00, $00, $00
-    .db $01, $00, $FF, $00, $7F, $80, $1F, $E0, $07, $F8, $03, $FC, $07, $F8, $0F, $70, $01, $01, $FF, $FF, $FF, $7F, $FF, $1F, $FE, $06, $FC, $00, $F8, $00, $70, $01
-    .db $F0, $0F, $F7, $08, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $F0, $F8, $F0, $C0, $C7, $00, $1F, $00, $3F, $00, $7F, $00, $FF, $00, $FF
-    .db $3F, $C0, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $3F, $01, $F9, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $00, $00, $00, $00, $C0, $00, $F0, $00, $F8, $00, $FC, $00, $FE, $00, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $80, $00, $E0, $00, $F8, $00, $FC, $00, $FE
-    .db $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, $00, $00, $00, $00, $00, $00, $00
-    .db $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, $00, $00, $00, $00, $00, $00, $00
-    .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $01, $00, $00, $00, $00, $00
-    .db $00, $00, $00, $01, $00, $0F, $00, $7F, $00, $FF, $00, $FF, $00, $FF, $00, $7F, $00, $00, $01, $00, $0F, $00, $7F, $00, $FF, $00, $FF, $00, $FF, $00, $7F, $00
-    .db $0F, $70, $1F, $E0, $1F, $E0, $3F, $C0, $3F, $C0, $3F, $C0, $3F, $C0, $7F, $80, $70, $01, $E0, $03, $E0, $03, $C0, $03, $C0, $07, $C0, $07, $C0, $07, $80, $07
-    .db $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $FF, $00, $FE, $00, $FD, $01, $FB, $03, $FF, $07, $F7, $07, $FF, $0F, $FF, $0F, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $3B, $38, $FD, $FC, $FF, $FE, $FF, $FE, $FF, $FE, $FF, $FE, $FF, $FC, $FF, $FC, $00, $FE, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $00, $00, $80, $00, $80, $00, $80, $00, $C0, $00, $C0, $00, $C0, $00, $C0, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $80, $00, $80, $00, $80, $00, $80
-    .db $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, $00, $00, $00, $00, $00, $00, $00
-    .db $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, $00, $00, $00, $00, $00, $00, $00
-    .db $00, $3F, $00, $3F, $00, $1F, $00, $0F, $00, $07, $00, $07, $00, $1F, $01, $FE, $3F, $00, $3F, $00, $1F, $00, $0F, $00, $07, $00, $07, $00, $1F, $00, $FE, $00
-    .db $7F, $80, $7F, $80, $7F, $80, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $80, $0F, $80, $0F, $80, $0F, $00, $0F, $00, $0F, $00, $0F, $00, $0F, $00, $07
-    .db $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FE, $01, $FF, $00, $FF, $00, $00, $FF, $00, $F8, $00, $F0, $00, $F0, $01, $F1, $01, $F8, $00, $FC, $00, $FF
-    .db $EF, $0F, $FF, $1F, $FF, $1F, $FF, $0F, $FF, $0F, $7B, $83, $0D, $F1, $FF, $00, $00, $FF, $00, $3F, $00, $1F, $F0, $FF, $F0, $FF, $F8, $7F, $F8, $0B, $00, $FF
-    .db $FF, $FC, $FF, $FC, $BB, $C4, $D7, $B8, $FF, $F8, $F7, $F0, $EF, $E0, $FF, $00, $00, $FF, $00, $FF, $38, $C7, $44, $90, $00, $FC, $00, $F8, $00, $F0, $00, $C0
-    .db $C0, $00, $C0, $00, $C0, $00, $80, $00, $80, $00, $80, $00, $80, $00, $C0, $00, $00, $80, $00, $80, $00, $80, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $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, $00, $00, $00, $00, $00, $00, $00
-    .db $00, $07, $00, $07, $00, $03, $00, $01, $00, $00, $00, $00, $00, $00, $00, $3F, $07, $00, $07, $00, $03, $00, $01, $00, $00, $00, $00, $00, $00, $00, $3F, $00
-    .db $01, $FE, $01, $FE, $01, $FE, $03, $FC, $03, $FC, $03, $FC, $60, $E0, $00, $C0, $FE, $00, $FE, $00, $FE, $00, $FC, $00, $FC, $00, $FC, $00, $1F, $FF, $BF, $3F
-    .db $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $0F, $08, $0F, $0C, $00, $07, $00, $07, $00, $03, $00, $03, $00, $01, $00, $00, $F0, $F0, $F8, $F0
-    .db $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $00, $FF, $00, $FE, $00, $FE, $00, $FF, $00, $FF, $00, $FF, $00, $7F, $00, $3F
-    .db $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $00, $FF, $00, $FF, $00, $7F, $00, $1F, $00, $81, $00, $E0, $00, $FC, $00, $FF
-    .db $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $F8, $07, $F9, $0F, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $00, $00, $00, $00, $F3
-    .db $E0, $00, $E0, $00, $F0, $00, $F0, $00, $F0, $00, $E0, $00, $00, $E0, $80, $C0, $00, $80, $00, $E0, $00, $E0, $00, $E0, $00, $E0, $00, $00, $00, $00, $00, $C0
-    .db $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, $00, $00, $00, $00, $00, $00, $00
-    .db $00, $3F, $00, $1F, $00, $0F, $00, $07, $00, $07, $00, $FF, $00, $FF, $00, $7F, $3F, $00, $1E, $01, $0F, $00, $07, $00, $07, $00, $FF, $00, $FF, $00, $7F, $00
-    .db $40, $C0, $C0, $C0, $60, $E0, $7F, $FF, $FF, $FF, $3F, $FF, $FF, $3F, $FF, $00, $7F, $BF, $7F, $BF, $7F, $1F, $FF, $00, $7F, $80, $3F, $00, $1F, $00, $00, $00
-    .db $1F, $1C, $3F, $3C, $FE, $FC, $FE, $FC, $FC, $FC, $FD, $FD, $FD, $F9, $FD, $01, $FC, $E0, $FC, $C0, $FD, $00, $FD, $02, $FE, $01, $FA, $01, $F2, $05, $02, $05
-    .db $FF, $00, $1F, $1F, $7F, $7F, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $00, $07, $80, $7F, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $FF, $00, $3F, $00, $F0, $FF, $F8, $FF, $FC, $FF, $FE, $FF, $FE, $FF, $FE, $FF, $00, $FF, $00, $F8, $00, $FC, $00, $FE, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $FD, $0F, $E0, $03, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $E3, $00, $03, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $00, $80, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $80, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $00, $00, $00, $00, $00, $03, $00, $03, $00, $03, $00, $03, $00, $01, $00, $01, $00, $00, $00, $00, $03, $00, $03, $00, $03, $00, $03, $00, $01, $00, $01, $00
-    .db $01, $3E, $01, $3E, $03, $9C, $03, $FC, $07, $F8, $0F, $F0, $3F, $C0, $FF, $00, $3E, $00, $3E, $00, $9C, $00, $FC, $00, $F8, $00, $F0, $00, $C0, $00, $00, $00
-    .db $FF, $00, $FF, $00, $FF, $03, $FF, $0F, $FF, $0F, $FF, $1F, $F3, $1F, $E3, $3F, $00, $00, $00, $00, $03, $00, $07, $00, $0F, $00, $0F, $00, $02, $19, $00, $3B
-    .db $FD, $01, $FD, $01, $F8, $F9, $E0, $E0, $80, $80, $00, $00, $D4, $FE, $08, $FF, $02, $05, $02, $05, $FE, $07, $FF, $1F, $FF, $7F, $FF, $FF, $11, $CF, $00, $CF
-    .db $FF, $FF, $FF, $FF, $FF, $FF, $7F, $FF, $7F, $7F, $3F, $7F, $1F, $3F, $00, $3F, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $80, $FF, $80, $FF, $C0, $FF, $C0, $FF
-    .db $FE, $FF, $FE, $FF, $FE, $FF, $FE, $FF, $FC, $FE, $F8, $FE, $F3, $FF, $0F, $FF, $00, $FF, $00, $FF, $00, $FE, $00, $FE, $01, $FF, $01, $FD, $03, $F8, $0F, $C0
-    .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $10, $18, $C8, $FC, $00, $00, $00, $00, $00, $00, $00, $00, $C0, $C0, $F0, $F0, $E0, $F8, $C0, $3C
-    .db $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, $00, $00, $00, $00, $00, $00, $00
-    .db $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, $00, $00, $00, $00, $00, $00, $00
-    .db $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, $00, $00, $00, $00, $00, $00, $00
-    .db $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, $00, $00, $00, $00, $00, $00, $00
-    .db $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, $00, $00, $00, $00, $00, $00, $00
-    .db $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, $00, $00, $00, $00, $00, $00, $00
-    .db $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, $00, $00, $00, $00, $00, $00, $00
-    .db $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, $00, $00, $00, $00, $00, $00, $00
-    .db $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, $00, $00, $00, $00, $00, $00, $00
-    .db $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, $00, $00, $00, $00, $00, $00, $00
-    .db $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, $00, $00, $00, $00, $00, $00, $00
-    .db $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, $00, $00, $00, $00, $00, $00, $00
-    .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $01, $00, $03, $00, $03, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $01, $00, $03, $00, $03, $00
-    .db $00, $60, $08, $70, $0C, $F0, $0E, $F0, $0F, $F0, $0F, $F0, $0F, $F0, $0F, $F0, $60, $00, $78, $08, $FC, $0C, $FE, $0E, $FF, $0F, $FF, $0F, $FF, $0F, $FF, $0F
-    .db $00, $00, $00, $00, $00, $00, $00, $00, $80, $00, $C0, $00, $E0, $00, $F0, $00, $00, $00, $00, $00, $00, $00, $00, $00, $80, $80, $C0, $C0, $E0, $E0, $F0, $F0
-    .db $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, $00, $00, $00, $00, $00, $00, $00
-    .db $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, $00, $00, $00, $00, $00, $00, $00
-    .db $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, $00, $00, $00, $00, $00, $00, $00
-    .db $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, $00, $00, $00, $00, $00, $00, $00
-    .db $00, $00, $03, $00, $0F, $30, $03, $3C, $00, $1F, $00, $0F, $00, $0F, $00, $07, $00, $00, $03, $03, $3F, $0F, $3F, $03, $1F, $00, $0F, $00, $0F, $00, $07, $00
-    .db $1F, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $3F, $C0, $3F, $C0, $3F, $C0, $1F, $1F, $FF, $FF, $FC, $FC, $F8, $F9, $F0, $F3, $E0, $27, $C0, $0F, $C0, $0F
-    .db $3F, $C0, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $C0, $03, $00, $1F, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $FC, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FD, $01, $FB, $03, $F7, $07, $00, $F0, $00, $FC, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $00, $00, $00, $00, $C0, $00, $E0, $00, $F0, $00, $D8, $C0, $EC, $E0, $FC, $F0, $00, $00, $00, $00, $00, $00, $00, $C0, $00, $E0, $00, $F0, $00, $F0, $00, $F8
-    .db $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, $00, $00, $00, $00, $00, $00, $00
-    .db $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, $00, $00, $00, $00, $00, $00, $00
-    .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $03, $00, $03, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $03, $00, $03, $00
-    .db $00, $07, $00, $03, $00, $03, $00, $0F, $00, $3F, $00, $FF, $00, $FF, $00, $FF, $07, $00, $03, $00, $03, $00, $0F, $00, $3F, $00, $FF, $00, $FF, $00, $FF, $00
-    .db $7F, $80, $7F, $80, $7F, $80, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $80, $0F, $80, $1F, $80, $1F, $00, $1F, $00, $1F, $00, $1F, $00, $1F, $00, $1F
-    .db $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $EF, $0F, $FF, $1F, $DF, $1F, $FF, $3F, $FF, $3F, $FF, $3F, $FF, $3F, $FE, $3F, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $FE, $F0, $FE, $F0, $FE, $F0, $FF, $F0, $FF, $F0, $FF, $F0, $FF, $F0, $EF, $10, $00, $F8, $00, $FC, $00, $FC, $00, $FC, $00, $FC, $00, $FC, $00, $FC, $E0, $1C
-    .db $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, $00, $00, $00, $00, $00, $00, $00
-    .db $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, $00, $00, $00, $00, $00, $00, $00
-    .db $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $01, $FE, $01, $FE, $01, $7E, $01, $3E, $01, $1E, $01, $0E, $01, $3E, $03, $FE, $FE, $00, $FE, $00, $7E, $00, $3E, $00, $1E, $00, $0E, $00, $3E, $00, $F8, $06
-    .db $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $7F, $C0, $00, $1F, $00, $1F, $00, $1F, $00, $1F, $00, $1F, $00, $1F, $00, $0F, $00, $CF
-    .db $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FC, $03, $FE, $01, $FF, $00, $FF, $00, $00, $FE, $00, $F0, $01, $E1, $03, $C3, $03, $C0, $01, $E0, $00, $FF, $00, $FF
-    .db $FF, $3E, $DF, $1F, $EF, $0F, $F7, $07, $FF, $00, $1F, $E0, $FF, $00, $FF, $00, $01, $3E, $00, $3F, $E0, $FF, $F0, $FF, $F0, $FF, $E0, $1F, $00, $FF, $00, $FF
-    .db $5F, $E0, $FF, $F0, $EF, $E0, $DF, $C0, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $10, $4C, $00, $F0, $00, $F0, $00, $E0, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $00, $00, $00, $00, $00, $00, $00, $00, $C0, $00, $E0, $00, $F0, $00, $F0, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $C0, $00, $E0, $00, $C0
-    .db $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, $00, $00, $00, $00, $00, $00, $00
-    .db $00, $03, $00, $0F, $00, $07, $00, $03, $00, $01, $00, $00, $00, $00, $00, $01, $03, $00, $0F, $00, $07, $00, $03, $00, $01, $00, $00, $00, $00, $00, $01, $00
-    .db $01, $FF, $0C, $FC, $00, $F8, $08, $F8, $08, $F8, $08, $F8, $0C, $7C, $0E, $FE, $F8, $03, $E3, $1F, $E7, $0F, $EF, $07, $FF, $07, $FF, $07, $7F, $03, $F7, $01
-    .db $3F, $E0, $1F, $10, $0F, $00, $0F, $08, $07, $00, $07, $00, $07, $04, $07, $04, $00, $67, $E0, $E7, $F0, $F3, $F0, $F3, $F8, $F9, $F8, $F8, $F8, $F8, $FC, $F8
-    .db $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $00, $FF, $00, $FC, $00, $FE, $00, $FF, $00, $FF, $00, $FF, $00, $7F, $00, $1F
-    .db $FF, $00, $FF, $00, $FF, $E1, $FF, $FF, $FF, $7F, $FF, $1F, $FF, $07, $FF, $03, $00, $FF, $00, $FE, $C0, $00, $7F, $00, $3F, $80, $0F, $C0, $07, $F0, $01, $FC
-    .db $FF, $00, $F0, $1F, $F9, $FF, $FC, $FF, $FC, $FC, $F8, $F8, $F0, $F0, $F0, $F0, $00, $80, $00, $07, $F8, $03, $FC, $01, $FC, $00, $F8, $00, $F0, $00, $F0, $00
-    .db $F0, $00, $20, $C0, $C0, $C0, $C0, $C0, $00, $C0, $00, $00, $00, $00, $00, $00, $00, $00, $00, $C0, $00, $C0, $00, $C0, $00, $C0, $00, $00, $00, $00, $00, $00
-    .db $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, $00, $00, $00, $00, $00, $00, $00
-    .db $00, $0F, $00, $3F, $00, $0F, $00, $07, $00, $03, $00, $1F, $00, $FF, $00, $FF, $0F, $00, $3F, $00, $0F, $00, $07, $00, $03, $00, $1F, $00, $FF, $00, $FF, $00
-    .db $0F, $F7, $1F, $E7, $1F, $E7, $3F, $C3, $3F, $C3, $7F, $81, $FF, $00, $FF, $00, $F7, $00, $E7, $00, $E3, $00, $C3, $00, $C1, $00, $80, $00, $00, $00, $00, $00
-    .db $07, $04, $CF, $CC, $FF, $FC, $FF, $FC, $FE, $FC, $FD, $F9, $FD, $01, $FD, $01, $FC, $F8, $FC, $30, $FC, $00, $FC, $01, $F8, $01, $F2, $01, $02, $05, $00, $07
-    .db $FF, $00, $FF, $00, $83, $7C, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $00, $03, $00, $00, $00, $FC, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF
-    .db $FF, $00, $FF, $00, $FF, $00, $DF, $E0, $F8, $FF, $FC, $FF, $FE, $FF, $FE, $FF, $00, $FF, $00, $7F, $00, $00, $00, $E0, $00, $FE, $00, $FF, $00, $FF, $00, $FF
-    .db $F8, $70, $F8, $00, $F0, $00, $C0, $00, $C0, $C0, $80, $80, $00, $00, $00, $00, $70, $80, $00, $E0, $00, $00, $00, $00, $C0, $00, $80, $00, $00, $00, $00, $00
-    .db $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, $00, $00, $00, $00, $00, $00, $00
-    .db $00, $00, $00, $00, $00, $03, $00, $03, $00, $03, $00, $03, $00, $01, $00, $01, $00, $00, $00, $00, $03, $00, $03, $00, $03, $00, $03, $00, $01, $00, $01, $00
-    .db $01, $7E, $01, $3E, $03, $9C, $03, $FC, $07, $F8, $0F, $F0, $3F, $C0, $FF, $00, $7E, $00, $3E, $00, $9C, $00, $FC, $00, $F8, $00, $F0, $00, $C0, $00, $00, $00
-    .db $FF, $00, $FF, $00, $FF, $03, $FF, $0F, $FF, $0F, $FF, $1F, $F3, $1F, $E3, $3F, $00, $00, $00, $00, $03, $00, $07, $00, $0F, $00, $0F, $00, $02, $19, $00, $3B
-    .db $FD, $01, $FD, $01, $F8, $F9, $E0, $E0, $80, $80, $00, $00, $D4, $FE, $08, $FF, $02, $05, $02, $05, $FE, $07, $FF, $1F, $FF, $7F, $FF, $FF, $11, $CF, $00, $CF
-    .db $FF, $FF, $FF, $FF, $FF, $FF, $7F, $FF, $7F, $7F, $3F, $7F, $1F, $3F, $00, $3F, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $80, $FF, $80, $FF, $C0, $FF, $C0, $FF
-    .db $FE, $FF, $FE, $FF, $FE, $FF, $FE, $FF, $FC, $FE, $F8, $FE, $F3, $FF, $0F, $FF, $00, $FF, $00, $FF, $00, $FE, $00, $FE, $01, $FF, $01, $FD, $03, $F8, $0F, $C0
-    .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $10, $18, $C8, $FC, $00, $00, $00, $00, $00, $00, $00, $00, $C0, $C0, $F0, $F0, $E0, $F8, $C0, $3C
-    .db $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, $00, $00, $00, $00, $00, $00, $00
-
-gfxp_bub:
-    .db $1F, $7C, $61, $1F, $B5, $5A, $01, $3B, $D1, $4B, $07, $1D, $1B, $03, $59, $29
-    .db $B7, $63, $C1, $07, $39, $67, $BE, $77, $BC, $35, $7D, $0B, $43, $00, $00, $00
-
-; 128 tiles (0 spaces)
-; 4096 bytes

+ 0 - 102
snes/xmsnes/graphics/gfx_font.inc

@@ -1,102 +0,0 @@
-; Created with eKid's pcx2snes converter ;
-
-gfx_font:
-    .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $0C, $00, $1C, $02, $18, $06, $10, $0C, $30, $08, $00, $18, $60, $00, $00, $30
-    .db $28, $00, $28, $14, $00, $14, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $24, $00, $24, $12, $7E, $00, $48, $37, $FC, $00, $90, $6E, $90, $48, $00, $48
-    .db $38, $00, $54, $08, $50, $2A, $38, $00, $14, $08, $54, $0A, $38, $06, $10, $0C
-    .db $00, $00, $64, $00, $68, $12, $10, $24, $2C, $00, $4C, $12, $00, $26, $00, $00
-    .db $00, $00, $30, $00, $48, $10, $20, $04, $54, $00, $48, $22, $34, $00, $00, $1A
-    .db $10, $00, $10, $08, $00, $08, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $08, $00, $10, $04, $10, $08, $10, $08, $10, $08, $10, $08, $08, $00, $00, $04
-    .db $10, $00, $08, $00, $08, $04, $08, $04, $08, $04, $08, $04, $10, $04, $00, $08
-    .db $00, $00, $54, $00, $38, $02, $7C, $00, $38, $06, $54, $08, $00, $2A, $00, $00
-    .db $00, $00, $10, $00, $10, $08, $7C, $00, $10, $2E, $10, $08, $00, $08, $00, $00
-    .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $30, $00, $30, $08, $60, $10
-    .db $00, $00, $00, $00, $00, $00, $7C, $00, $00, $3E, $00, $00, $00, $00, $00, $00
-    .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $30, $00, $30, $08, $00, $18
-    .db $08, $00, $08, $04, $10, $04, $10, $08, $20, $08, $20, $10, $40, $10, $00, $20
-    .db $38, $00, $44, $18, $64, $02, $54, $22, $4C, $22, $44, $22, $38, $02, $00, $1C
-    .db $30, $00, $10, $08, $10, $08, $10, $08, $10, $08, $10, $08, $38, $00, $00, $1C
-    .db $38, $00, $44, $18, $04, $22, $18, $02, $20, $0C, $40, $10, $7C, $00, $00, $3E
-    .db $38, $00, $44, $18, $04, $22, $18, $02, $04, $08, $44, $02, $38, $02, $00, $1C
-    .db $48, $00, $48, $24, $48, $24, $7C, $00, $08, $36, $08, $04, $08, $04, $00, $04
-    .db $7C, $00, $40, $3E, $40, $20, $38, $00, $04, $18, $44, $02, $38, $02, $00, $1C
-    .db $38, $00, $44, $18, $40, $22, $78, $00, $44, $38, $44, $22, $38, $02, $00, $1C
-    .db $7C, $00, $04, $3A, $04, $02, $08, $02, $10, $04, $10, $08, $10, $08, $00, $08
-    .db $38, $00, $44, $18, $44, $22, $38, $02, $44, $18, $44, $22, $38, $02, $00, $1C
-    .db $38, $00, $44, $18, $44, $22, $3C, $02, $04, $1A, $44, $02, $38, $02, $00, $1C
-    .db $00, $00, $30, $00, $30, $08, $00, $18, $00, $00, $30, $00, $30, $08, $00, $18
-    .db $00, $00, $30, $00, $30, $08, $00, $18, $00, $00, $30, $00, $30, $08, $60, $18
-    .db $00, $00, $08, $00, $10, $04, $20, $08, $10, $00, $08, $00, $00, $04, $00, $00
-    .db $00, $00, $00, $00, $7C, $00, $00, $3E, $7C, $00, $00, $3E, $00, $00, $00, $00
-    .db $00, $00, $20, $00, $10, $00, $08, $00, $10, $04, $20, $08, $00, $10, $00, $00
-    .db $38, $00, $44, $18, $04, $02, $08, $02, $30, $04, $00, $18, $30, $00, $00, $18
-    .db $7C, $00, $82, $3C, $BA, $41, $AA, $55, $BE, $41, $80, $5F, $7E, $00, $00, $3F
-    .db $38, $00, $44, $18, $44, $22, $7C, $02, $44, $3A, $44, $22, $44, $22, $00, $22
-    .db $78, $00, $44, $38, $44, $22, $78, $02, $44, $38, $44, $22, $78, $02, $00, $3C
-    .db $38, $00, $44, $18, $40, $22, $40, $20, $40, $20, $44, $20, $38, $02, $00, $1C
-    .db $78, $00, $44, $38, $44, $22, $44, $22, $44, $22, $44, $22, $78, $02, $00, $3C
-    .db $7C, $00, $40, $3E, $40, $20, $78, $00, $40, $3C, $40, $20, $7C, $00, $00, $3E
-    .db $7C, $00, $40, $3E, $40, $20, $78, $00, $40, $3C, $40, $20, $40, $20, $00, $20
-    .db $38, $00, $44, $18, $40, $22, $4C, $20, $44, $22, $44, $22, $3C, $02, $00, $1E
-    .db $44, $00, $44, $22, $44, $22, $7C, $02, $44, $3A, $44, $22, $44, $22, $00, $22
-    .db $7C, $00, $10, $2E, $10, $08, $10, $08, $10, $08, $10, $08, $7C, $00, $00, $3E
-    .db $7C, $00, $08, $36, $08, $04, $08, $04, $08, $04, $48, $04, $30, $04, $00, $18
-    .db $44, $00, $48, $22, $50, $24, $68, $00, $48, $34, $44, $20, $44, $22, $00, $22
-    .db $40, $00, $40, $20, $40, $20, $40, $20, $40, $20, $40, $20, $7C, $00, $00, $3E
-    .db $44, $00, $6C, $02, $54, $22, $44, $2A, $44, $22, $44, $22, $44, $22, $00, $22
-    .db $44, $00, $64, $02, $54, $22, $4C, $22, $44, $22, $44, $22, $44, $22, $00, $22
-    .db $38, $00, $44, $18, $44, $22, $44, $22, $44, $22, $44, $22, $38, $02, $00, $1C
-    .db $78, $00, $44, $38, $44, $22, $78, $02, $40, $3C, $40, $20, $40, $20, $00, $20
-    .db $38, $00, $44, $18, $44, $22, $44, $22, $44, $22, $4C, $22, $3C, $02, $04, $1A
-    .db $78, $00, $44, $38, $44, $22, $78, $02, $44, $38, $44, $22, $44, $22, $00, $22
-    .db $38, $00, $44, $18, $40, $22, $38, $00, $04, $18, $44, $02, $38, $02, $00, $1C
-    .db $7C, $00, $10, $2E, $10, $08, $10, $08, $10, $08, $10, $08, $10, $08, $00, $08
-    .db $44, $00, $44, $22, $44, $22, $44, $22, $44, $22, $44, $22, $38, $02, $00, $1C
-    .db $44, $00, $44, $22, $44, $22, $44, $22, $44, $22, $28, $02, $10, $04, $00, $08
-    .db $44, $00, $44, $22, $44, $22, $44, $22, $54, $22, $54, $2A, $28, $02, $00, $14
-    .db $44, $00, $44, $22, $28, $02, $10, $04, $28, $00, $44, $10, $44, $22, $00, $22
-    .db $44, $00, $44, $22, $44, $22, $3C, $02, $04, $1A, $04, $02, $78, $02, $00, $3C
-    .db $7C, $00, $04, $3A, $08, $02, $10, $04, $20, $08, $40, $10, $7C, $00, $00, $3E
-    .db $18, $00, $10, $0C, $10, $08, $10, $08, $10, $08, $10, $08, $18, $00, $00, $0C
-    .db $20, $00, $20, $10, $10, $00, $10, $08, $08, $00, $08, $04, $04, $00, $00, $02
-    .db $18, $00, $08, $04, $08, $04, $08, $04, $08, $04, $08, $04, $18, $04, $00, $0C
-    .db $10, $00, $28, $00, $00, $14, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $FF, $00, $00, $FF
-    .db $20, $00, $10, $00, $00, $08, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $00, $00, $00, $00, $38, $00, $04, $18, $3C, $02, $44, $1A, $3C, $02, $00, $1E
-    .db $40, $00, $40, $20, $78, $00, $44, $38, $44, $22, $44, $22, $78, $02, $00, $3C
-    .db $00, $00, $00, $00, $3C, $00, $40, $1E, $40, $20, $40, $20, $3C, $00, $00, $1E
-    .db $04, $00, $04, $02, $3C, $02, $44, $1A, $44, $22, $44, $22, $3C, $02, $00, $1E
-    .db $00, $00, $00, $00, $38, $00, $44, $18, $7C, $02, $40, $3E, $3C, $00, $00, $1E
-    .db $18, $00, $24, $08, $20, $12, $78, $00, $20, $1C, $20, $10, $20, $10, $00, $10
-    .db $00, $00, $00, $00, $38, $00, $44, $18, $44, $22, $3C, $02, $04, $1A, $78, $04
-    .db $40, $00, $40, $20, $78, $00, $44, $38, $44, $22, $44, $22, $44, $22, $00, $22
-    .db $10, $00, $00, $08, $10, $00, $10, $08, $10, $08, $10, $08, $10, $08, $00, $08
-    .db $10, $00, $00, $08, $10, $00, $10, $08, $10, $08, $10, $08, $10, $08, $20, $18
-    .db $40, $00, $40, $20, $48, $20, $50, $24, $60, $08, $50, $20, $48, $20, $00, $24
-    .db $30, $00, $10, $08, $10, $08, $10, $08, $10, $08, $10, $08, $10, $08, $00, $08
-    .db $00, $00, $00, $00, $68, $00, $54, $20, $54, $2A, $54, $2A, $54, $2A, $00, $2A
-    .db $00, $00, $00, $00, $78, $00, $44, $38, $44, $22, $44, $22, $44, $22, $00, $22
-    .db $00, $00, $00, $00, $38, $00, $44, $18, $44, $22, $44, $22, $38, $02, $00, $1C
-    .db $00, $00, $00, $00, $3C, $00, $22, $1C, $22, $11, $22, $11, $3C, $01, $20, $1E
-    .db $00, $00, $00, $00, $3C, $00, $44, $1A, $44, $22, $44, $22, $3C, $02, $04, $1A
-    .db $00, $00, $00, $00, $3C, $00, $20, $1E, $20, $10, $20, $10, $20, $10, $00, $10
-    .db $00, $00, $00, $00, $3C, $00, $40, $1E, $7C, $00, $04, $3A, $78, $02, $00, $3C
-    .db $10, $00, $10, $08, $7C, $00, $10, $2E, $10, $08, $10, $08, $10, $08, $00, $08
-    .db $00, $00, $00, $00, $44, $00, $44, $22, $44, $22, $44, $22, $3C, $02, $00, $1E
-    .db $00, $00, $00, $00, $22, $00, $22, $11, $22, $11, $14, $01, $08, $02, $00, $04
-    .db $00, $00, $00, $00, $44, $00, $44, $22, $44, $22, $54, $22, $28, $02, $00, $14
-    .db $00, $00, $00, $00, $44, $00, $44, $22, $38, $02, $44, $18, $44, $22, $00, $22
-    .db $00, $00, $00, $00, $44, $00, $44, $22, $44, $22, $3C, $02, $04, $1A, $78, $02
-    .db $00, $00, $00, $00, $7C, $00, $08, $36, $10, $04, $20, $08, $7C, $00, $00, $3E
-    .db $08, $00, $10, $04, $10, $08, $20, $08, $10, $00, $10, $08, $08, $00, $00, $04
-    .db $10, $08, $10, $08, $10, $08, $10, $08, $10, $08, $10, $08, $10, $08, $10, $08
-    .db $10, $00, $08, $00, $08, $04, $04, $00, $08, $02, $08, $04, $10, $04, $00, $08
-    .db $24, $00, $58, $02, $00, $2C, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-
-; 96 tiles (0 spaces)
-; 1536 bytes

+ 0 - 19
snes/xmsnes/graphics/gfx_window.inc

@@ -1,19 +0,0 @@
-; Created with eKid's pcx2snes converter ;
-
-gfx_window:
-    .db $7F, $00, $FF, $00, $C0, $3F, $C0, $3F, $C0, $3F, $C0, $3F, $C0, $3F, $C0, $3F, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $FF, $00, $FF, $00, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $FE, $00, $FD, $03, $03, $FF, $03, $FF, $03, $FF, $03, $FF, $03, $FF, $03, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $C0, $3F, $C0, $3F, $C0, $3F, $C0, $3F, $C0, $3F, $C0, $3F, $C0, $3F, $C0, $3F, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $03, $FF, $03, $FF, $03, $FF, $03, $FF, $03, $FF, $03, $FF, $03, $FF, $03, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $C0, $3F, $C0, $3F, $C0, $3F, $C0, $3F, $C0, $3F, $C0, $3F, $BF, $7F, $7F, $7F, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $FF, $FF, $FF, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $03, $FF, $03, $FF, $03, $FF, $03, $FF, $03, $FF, $03, $FF, $FF, $FF, $FE, $FE, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-
-gfxp_window:
-    .db $1D, $7C, $60, $18, $46, $49, $0B, $6E, $16, $04, $0D, $00, $03, $50, $00, $00
-    .db $0F, $60, $16, $5C, $1C, $0C, $0E, $00, $33, $03, $B9, $03, $43, $00, $00, $00
-
-; 9 tiles (0 spaces)
-; 288 bytes

+ 0 - 19
snes/xmsnes/graphics/gfx_window2.inc

@@ -1,19 +0,0 @@
-; Created with eKid's pcx2snes converter ;
-
-gfx_window:
-    .db $80, $FF, $00, $FF, $3F, $C0, $3F, $C0, $3F, $C0, $3F, $C0, $3F, $C0, $3F, $C0, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $00, $FF, $00, $FF, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $01, $FF, $03, $FC, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $00, $00, $01, $00, $03, $00, $03, $00, $03, $00, $03, $00, $03, $00, $03, $00
-    .db $3F, $C0, $3F, $C0, $3F, $C0, $3F, $C0, $3F, $C0, $3F, $C0, $3F, $C0, $3F, $C0, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-    .db $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $03, $00, $03, $00, $03, $00, $03, $00, $03, $00, $03, $00, $03, $00, $03, $00
-    .db $3F, $C0, $3F, $C0, $3F, $C0, $3F, $C0, $3F, $C0, $3F, $C0, $7F, $80, $FF, $80, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $3F, $00, $7F, $00
-    .db $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $FF, $00, $FF, $00
-    .db $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $01, $03, $00, $03, $00, $03, $00, $03, $00, $03, $00, $03, $00, $FF, $00, $FE, $00
-    .db $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-
-gfxp_window:
-    .db $1C, $00, $8C, $31, $83, $0C, $EF, $3D, $07, $08, $73, $4E, $03, $50, $00, $00
-    .db $0F, $10, $16, $70, $1C, $0C, $0E, $00, $36, $03, $A0, $03, $43, $00, $00, $00
-
-; 9 tiles (0 spaces)
-; 288 bytes

BIN
snes/xmsnes/graphics/window.pcx


BIN
snes/xmsnes/graphics/window2.pcx


+ 0 - 910
snes/xmsnes/main.asm

@@ -1,910 +0,0 @@
-; XMSNES EXAMPLE DEMO!
-
-.define nsongs 5			; number of songs in package
-
-.include "memmap.inc"		; memory map stuff
-.include "cheader.inc"		; snes rom header
-.include "InitSNES.asm"		; snes initialization code
-
-.include "snes.inc"			; snes register definitions
-
-.BANK 1
-
-.SECTION "GRAPHICS"			; include graphics (bank1)
-.include "graphics\gfx_window.inc"
-.include "graphics\gfx_font.inc"
-.include "graphics\gfx_bg.inc"
-.include "graphics\gfx_bg2.inc"
-;.include "graphics\gfx_bub.inc"
-.ENDS
-
-.BANK 2 SLOT 3				; include songs/samples (bank2)
-.SECTION "SPX_PACKAGE"
-TEST_PACKAGE:
-.incbin "test.xmp"
-.ENDS
-
-.ramsection "globals" BANK 0 SLOT 1
-bg_ripple:			db		; for bg effect
-bg_rippleL:			db
-
-scr_fade:			db		; for fading screen
-scr_flash:			dsb 3	; for flashing screen
-
-joypad:				dw		; joypad state
-joypadc:			dw		; joypad 'clicks'
-joypadl:			dw		; last joypad state
-
-svar1:				dw		; general purpose
-svar2:				dw
-
-current_song:		dw
-
-music_vol:			dw		; 8.8 fixed
-
-custom_string:		dsb 32
-
-effect1:			db		; sound effect indexes
-effect2:			db
-effect3:			db
-effect4:			db
-
-inst_timer:			dw
-
-.ends
-
-.BANK 0
-
-.SECTION "MAIN"
-
-Main:
-	InitSNES		; initialize everything
-	REP #$10		; 16bit index
-	SEP #$20		; 8bit accu
-	
-	lda #$80		; turn off screen
-	sta REG_INIDISP
-	
-	lda #%00001001	; set display mode
-	sta REG_BGMODE	; mode 1
-	
-	jsl LoadBG			; load background bg
-	jsl BuildWindow		; build the window thingy
-	jsl LoadFont		; load the font
-	jsl ClearAllText	; reset the text layer
-	
-	;ldx #STR_SPCDATA	; draw "SPC Ports"
-	;ldy #14*32+12
-	jsl DrawText
-	
-	lda #%0110		; blend the window with the background
-	sta REG_TM		; enable bg1/2 main screen
-	lda #%0000		; enable bg0 subscreen
-	sta REG_TD		;
-	
-	lda #%01100011	; add bg0+backdrop+bg1 and half the result
-	sta REG_CGADSUB
-	lda #%00000010
-	sta REG_CGWSEL
-	
-	;---------------------------------------------------------
-	; SETUP XMSNES
-	;jsl BootSPC				; send code and initialize
-	;jsl SPX_Transfer_LFT	; transfer frequency table (linear mode)
-	
-	;ldx #TEST_PACKAGE		; load package
-	;lda #:TEST_PACKAGE		; 
-	;jsl SPXP_InstallPackage	;
-	
-	;ldx #0					; load song 0
-	;jsl ChangeSong
-
-	; song is playing now...
-	;---------------------------------------------------------
-	
-	lda #%10100001	; enable vblank irq, enable joypad
-	sta REG_NMITIMEN
-	
-	cli				; enable interrupts
-	wai
-	
-	lda #0			; reset darkness
-	sta scr_fade	;
-	sta REG_INIDISP	;
-	
-	ldx #22000		; set playback volume
-	stx music_vol	;
-    ;jsl SPXM_SetVol	;
-	
-_mainloop:
-
-	;-----------------------------------
-	;         SCREEN FADE-IN
-
-	lda scr_fade
-	cmp #255
-	beq +
-	clc
-	adc #2
-	bcc ++
-	lda #255
-++
-	sta scr_fade
-	lsr
-	lsr
-	lsr
-	lsr
-	sta REG_INIDISP
-+	;--------------------------------------
-	
-	
-	jsl UpdateBG		; Update the background effect
-	;jsl DrawSPCData		; Read SPC Ports and display them
-
-	bit inst_timer+1	; timer to hide instructions
-	bmi ++				;
-	rep #$20			;
-	lda inst_timer		;
-	dea					;
-	bpl +				;
-	ldy #(25*32)		;
-	ldx #32				;
-	jsl ClearText		;
-+						;
-	sta inst_timer		;
-	sep #$20			;
-++						;
-	
-	;jsl SPX_Routine		; call this every frame, or every so often
-	
-	;--------------------------------------
-	; slide music volume to full
-
-	rep #$20
-	lda music_vol
-	cmp #$FFFF
-	beq +
-	adc #44
-	bcc ++
-	lda #$FFFF
-++
-	sta music_vol
-	sep #$20
-	xba
-;	jsl SPXM_SetVol
-+	;----------------------------------------
-	
-	;---------------------------------------
-	; if user presses left, decrease song#, load new song
-
-	sep #$20
-	lda joypadc+1
-	and #1
-	beq +
-	ldx current_song
-	inx
-	cpx #nsongs
-	bcc ++
-	ldx #nsongs-1
-++
-	jsl ChangeSong
-+	;-------------------------------------------------
-	; if user presses right, increase song#, load new song
-
-	lda joypadc+1
-	and #%10
-	beq +
-	ldx current_song
-	dex
-	bpl ++
-	ldx #0
-++
-	jsl ChangeSong
-+	;--------------------------------------------------
-
-	;------------------------------------------------
-	; if user presses A, play effect1, full volume, freq:4
-
-	lda joypadc
-	and #%10000000
-	beq +
-	; A was pressed
-	lda #$04	; freq/priority
-	xba
-	lda effect1	; sample#
-	beq +
-	tax
-	lda #$77	; volume
-	jsl SPXS_Play
-+	;-----------------------------------------------
-	; if user presses B, play effect2, full volume, freq:4
-
-	lda joypadc+1
-	and #%10000000
-	beq +
-	; B was pressed
-	lda #$04	; freq/priority
-	xba
-	lda effect2	; sample#
-	beq +
-	tax
-	lda #$77	; volume
-	jsl SPXS_Play
-+	;-----------------------------------------------
-	; if user presses X, play effect3, full volume, freq:4
-	lda joypadc
-	and #%1000000
-	beq +
-	; X was pressed
-	lda #$04	; freq/priority
-	xba
-	lda effect3	; sample#
-	beq +
-	tax
-	lda #$77	; volume
-	jsl SPXS_Play
-+	;-----------------------------------------------
-	; if user presses Y, play effect4, full volume, freq:3
-
-	lda joypadc+1
-	and #%1000000
-	beq +
-	; Y was pressed
-	lda #$03	; freq/priority
-	xba
-	lda effect4	; sample#
-	beq +
-	tax
-	lda #$77	; volume
-	jsl SPXS_Play
-+	;------------------------------------------------
-	
-	ldx #0
-	stx joypadc
-	wai					; wait for vblank
-	jmp _mainloop		; loop
-
-;---------------------------------------------------------
-; this function gets called when the snes receives a song message from the spc
-MessageReceived:
-	; a = message
-	cmp #1
-	bne +
-	jsl FlashScreen		; #1 = flash screen message
-+
-	rtl
-;---------------------------------------------------------
-
-FlashScreen:
-	lda #16
-	sta scr_flash
-	rtl
-
-;---------------------------------------------------------
-
-cs_jumptable:
-.dw	CS_WAR
-.dw CS_ACID
-.dw CS_JOURNEY
-.dw CS_SATELLITE
-.dw CS_RUSINA
-
-ChangeSong:
-	; x = song
-	stx current_song			; save song#
-	
-	stz effect1					; zero out sound effect indexes
-	stz effect2
-	stz effect3
-	stz effect4
-	
-	jsl SPXM_Reset				; queue reset playback
-	jsl SPX_Flush				; flush
-	
-	rep #$20					; get song*2
-	lda current_song
-	asl
-	tax
-	sep #$20
-	jmp (cs_jumptable,x)		; and jump
-	
-CS_WAR:
-	ldx #STR_WAR_AUTHOR			; get author string
-	phx
-	ldx #STR_WAR_TITLE			; song title
-	jmp CS_BEGINDRAWING
-CS_ACID:						; other songs
-	ldx #STR_ACID_AUTHOR		; etc
-	phx
-	ldx #STR_ACID_TITLE
-	jmp CS_BEGINDRAWING
-CS_JOURNEY:
-	ldx #STR_JOURNEY_AUTHOR
-	phx
-	ldx #STR_JOURNEY_TITLE
-	jmp CS_BEGINDRAWING
-CS_SATELLITE:
-	ldx #STR_SATELLITE_AUTHOR
-	phx
-	ldx #STR_SATELLITE_TITLE
-	jmp CS_BEGINDRAWING
-CS_RUSINA:
-	ldx #STR_RUSINA_AUTHOR
-	phx
-	ldx #STR_RUSINA_TITLE
-	jmp CS_BEGINDRAWING
-CS_BEGINDRAWING:
-
-	phx					;preserve
-
-	ldy #(8*32)					; clear text
-	ldx #32
-	jsl ClearText
-
-	ldy #(10*32)
-	ldx #32
-	jsl ClearText
-	
-	plx					;restore
-	
-	ldy #16+(8*32)				; draw title
-	jsl DrawCentered
-	plx
-	ldy #16+(10*32)				; draw author
-	jsl DrawCentered
-
-	ldx current_song			; get song#
-	jsl SPXP_LoadSong			; transfer song
-	
-	ldx current_song			; check if song is 4 (has sound effects)
-	cpx #4						; 
-	bne +
-
-	; load some sfx
-	
-	ldx #0						; hh.wav
-	ldy #0
-	jsl SPXP_LoadSample
-	sta effect1
-	ldx #1						; ow.wav
-	ldy #0
-	jsl SPXP_LoadSample
-	sta effect2
-	ldx #2						; sd.wav
-	ldy #0
-	jsl SPXP_LoadSample
-	sta effect3
-	ldx #3						; OWWW.wav
-	ldy #0
-	jsl SPXP_LoadSample
-	sta effect4
-
-	; be sure not to load too much stuff
-	ldy #(25*32)
-	ldx #32
-	jsl ClearText	
-	ldx #STR_INST1				; tell the user to push buttons
-	ldy #(25*32)+16
-	jsl DrawCentered
-	bra ++
-+
-	ldy #(25*32)
-	ldx #32
-	jsl ClearText
-	ldx #STR_INST2				; tell the user to push buttons
-	ldy #(25*32)+16
-	jsl DrawCentered
-++
-	
-	ldx #300
-	stx inst_timer
-
-	jsl SPXM_Play				; start playing song
-	rtl							; return
-
-;-------------------------------------------------------------------------------
-; TEXT RENDERING STUFF
-	
-DrawText:
-	; x = source
-	; y = offset
-	stz REG_VMAIN		; setup vram increment stuff
-	rep #$20			; set destination address
-	tya					;
-	ora #($9000/2)		;
-	sta REG_VMADDL		;
-	tay					;
-	sec					;
-	sep #$20			;
-_dt_loop:
-	lda $0000, x		;
-	beq _dt_exit		; exit when 0
-	inx					; increment counter
-	sbc #32				; viewable ascii characters start at 32
-	bpl +			; check for newline
-	tya				; newline
-	adc #32			; edit vram address
-	sta REG_VMADDL	;
-	tay				;
-	sec				;
-	bra _dt_loop	; loop
-+
-	sta REG_VMDATAL		; store value
-	bra _dt_loop		; loop
-_dt_exit:
-	rtl					; end
-
-ClearText:
-	; x = length
-	; y = offset
-
-	stz REG_VMAIN		; setup vram pointer
-	rep #$20			;
-	tya					;
-	ora #($9000/2)		;
-	sta REG_VMADDL		;
-	sep #$20
-	lda #$00			; start clearing memory
-
-_ct_loop:
-	sta REG_VMDATAL		; store...
-	dex					; count...
-	bne _ct_loop		; loop...
-_ct_exit:
-	sep #$20			; restore 8-bit accu
-	rtl					; end
-
-ClearAllText:
-	lda #%10000000		; setup vram pointer
-	sta REG_VMAIN		;
-	ldx #($9000/2)
-	stx REG_VMADDL
-	
-	ldx #$100|(0<<10)|(1<<13)			; $100 = blank tile
-	ldy #1024			; 1024 = 32*32 tiles
--
-	stx REG_VMDATAL		; store value
-	dey					; count..
-	bne -				; loop
-	rtl					; end
-
-DrawCentered:
-	; x = string address
-	; y = line
-	sty svar2
-	stx svar1
-	jsl strlen
-	rep #$20
-	txa
-	sec
-	sbc svar1
-	lsr
-	clc
-	eor #$FFFF
-	inc a
-	adc svar2
-	tay
-	ldx svar1
-	sep #$20
-	jmp DrawText
-
-DrawSPCData:
-	lda #0
-	xba
-
-	ldx #0
-	stx svar1
--
-	lda REG_APUI00, x
-	inx
-	stx svar2
-	pha
-	lsr
-	lsr
-	lsr
-	lsr
-	clc
-	tay
-	lda HEX2ASCII, y
-	ldx svar1
-	sta custom_string,x
-	inx
-	pla
-	and #$0F
-	tay
-	lda HEX2ASCII, y
-	sta custom_string,x
-	inx
-	lda #32
-	sta custom_string,x
-	inx
-	stx svar1
-	ldx svar2
-	cpx #4
-	bne -
-	ldy #11+(16*32)
-	ldx #custom_string
-	jsl DrawText
-	rtl
-
-;---------------------------------------------------------------------------------------------------------------------------------------------------------------------
-; INITIALIZATION / EFFECTS
-
-LoadBub:
-	lda #%10000000
-	sta REG_VMAIN
-	ldx #$
-
-BuildWindow:
-	lda #%10000000		; setup vram pointer
-	sta REG_VMAIN
-	ldx #$7C00/2
-	stx REG_VMADDL
-	ldx #0
-	REP #$20
--
-	lda.l gfx_window, x	; load graphics
-	sta REG_VMDATAL
-	inx
-	inx
-	cpx #$120
-	bne -
-	SEP #$20
-	LDA #-1				; setup bg attributes
-	sta REG_BG0VOFS
-	stz REG_BG0VOFS
-	
-	
-	lda #($11<<2)
-	sta REG_BG0SC
-
-	ldy #($8800)/2
-	sty REG_VMADDL
-
-	ldx #464
-	ldy #1024
--	stx REG_VMDATAL
-	dey
-	bne -
-
-	ldy #($8980)/2
-	sty REG_VMADDL
-	ldx #1000|(2<<10)
-	ldy #32
--	stx REG_VMDATAL
-	dey
-	bne -
-	ldx #1000|(2<<10)
-	ldy #32*11
--	stx REG_VMDATAL
-	dey
-	bne -
-	ldx #1000|(2<<10)
-	ldy #32
--	stx REG_VMDATAL
-	dey
-	bne -
-
-	lda #32				; load palette
-	sta REG_CGADD
-	ldx #gfxp_window
-	ldy #32
-	lda #(REG_CGDATA&255)
-	xba
-	lda #:gfxp_window
-	jsl DMA_TRANSFER
-	rtl
-
-LoadFont:
-	lda #%10000000		; setup vram pointer
-	sta REG_VMAIN
-	ldy #($7000/2)
-	sty REG_VMADDL
-	ldx #0
-	rep #$20
-	
--
-	lda.l gfx_font, x	; load byte
-	sta REG_VMDATAL		; store
-	inx					; count
-	inx
-	cpx #$600			; transfer $600*2 bytes
-	bne -
-	sep #$20			; setup palette
-	lda #0
-	sta REG_CGADD
-	sta REG_CGDATA
-	sta REG_CGDATA
-	lda #$FF		; white
-	sta REG_CGDATA
-	lda #$7F
-	sta REG_CGDATA
-	lda #%00000000		; black
-	sta REG_CGDATA
-	sta REG_CGDATA
-	
-	lda #-1				; setup bg
-	sta REG_BG2VOFS
-	stz REG_BG2VOFS
-	lda #($12<<2)		; source = $9000
-	sta REG_BG2SC
-	
-	lda #$03			; set character offset
-	sta REG_BG23NBA
-	
-	rtl
-
-LoadBG:
-	lda #%10000000
-	sta REG_VMAIN
-	ldx #0
-	stx REG_VMADDL
-	
-	ldx #$1000
-	; transfer data
-	REP #$20
-	
--
-	lda.l gfx_bg-$1000, x
-	sta REG_VMDATAL
-	inx
-	inx
-	bpl -
-	
-
-	ldx #0
-	stx REG_VMADDL
--	lda.l gfx_bg2, x
-	sta REG_VMDATAL
-	inx
-	inx
-	cpx #96
-	bne -
-
-	sep #$20
-	
-	lda #-1
-	sta REG_BG1VOFS
-	stz REG_BG1VOFS
-	
-	lda #($10<<2)
-	sta REG_BG1SC
-	; setup bg
-	ldy #$8000/2
-	sty REG_VMADDL
-	
-	ldy #(1<<10)
--
-	sty REG_VMDATAL
-	iny
-	cpy #896|(1<<10)
-	bne -
-	
-	ldy #$8000/2
-	sty REG_VMADDL
-	ldy #32*5
-	ldx #2|(3<<10)
--
-	stx REG_VMDATAL
-	dey
-	bne -
-	
-	ldy #32
-	ldx #1|(3<<10)
--	stx REG_VMDATAL
-	dey
-	bne -
-
-	ldy #$84C0/2
-	sty REG_VMADDL
-	ldy #32
-	ldx #0|(3<<10)
--	stx REG_VMDATAL
-	dey
-	bne -
-
-	ldy #32*8
-	ldx #2|(3<<10)
--
-	stx REG_VMDATAL
-	dey
-	bne -
-
-	lda #48
-	sta REG_CGADD
-
-	ldx #gfxp_bg2
-	ldy #32
-	lda #(REG_CGDATA & 255)
-	xba
-	lda #:gfxp_bg2
-	jsl DMA_TRANSFER
-	
-	rtl
-	
-BG_PALETTE:
-;.dw 0,0,1024,1024,2048,2048,2081,3105,3105,4129,4129,4129,5153,5153,6177,6210,6210,6210,6177,5153,5153,4129,4129,4129,3105,3105,2081,2048,2048,1024,1024,0,0,0,1024,1024,2048,2048,2081,3105,3105,4129,4129,4129,5153,5153,6177,6210,
-;.dw 6276,6276,7300,7300,8324,8324,8357,9381,9381,10405,10405,10405,11429,11429,12453,12486,12486,12486,12453,11429,11429,10405,10405,10405,9381,9381,8357,8324,8324,7300,7300,6276,6276,6276,7300,7300,8324,8324,8357,9381,9381,10405,10405,10405,11429,11429,12453,12486,
-.dw 4162,5186,5186,6243,6243,7267,8291,8291,9348,9348,10372,11396,11396,12453,12453,13477,14501,13477,12453,12453,11396,11396,10372,9348,9348,8291,8291,7267,6243,6243,5186,5186,4162,5186,5186,6243,6243,7267,8291,8291,9348,9348,10372,11396,11396,12453,12453,13477,
-;.dw 2116,2117,2117,3174,3174,3175,3176,3176,4233,4233,4234,4235,4235,5292,5292,5293,5294,5293,5292,5292,4235,4235,4234,4233,4233,3176,3176,3175,3174,3174,2117,2117,2116,2117,2117,3174,3174,3175,3176,3176,4233,4233,4234,4235,4235,5292,5292,5293, ;red
-UpdateBG:
-
-	clc
-	lda bg_rippleL
-	adc #99
-	sta bg_rippleL
-	bcs +
-	rtl
-+
-	
-	lda bg_ripple
-	inc a
-	rep #$20
-	and #31
-	sta bg_ripple
-	asl
-	tay
-	sep #$20
-	
-	lda #0
-	sta REG_CGADD
-	ldx #16
-	
-	
-	lda scr_flash
-	rep #$20
-	and #31
-	asl
-	asl
-	asl
-	asl
-	asl
-	ora scr_flash
-	asl
-	asl
-	asl
-	asl
-	asl
-	ora scr_flash
-	sta scr_flash+1
-	sep #$20
-
-	cmp #0
-	beq +
-	dec scr_flash
-	dec scr_flash
-	dec scr_flash
-	dec scr_flash
-+
-	clc
-	lda BG_PALETTE, y
-	adc scr_flash+1
-	sta REG_CGDATA
-	lda BG_PALETTE+1, y
-	adc scr_flash+2
-	sta REG_CGDATA
-	lda #16
-	sta REG_CGADD
-
--
-	lda BG_PALETTE, y
-	adc scr_flash+1
-	sta REG_CGDATA
-	
-	lda BG_PALETTE+1, y
-	adc scr_flash+2
-	sta REG_CGDATA
-	iny
-	iny
-	dex
-	bne -
-	
-	rtl
-
-;-----------------------------------------------------------------------------------------------------------------------------------------------------------------
-; DMA
-	
-DMA_TRANSFER:
-	; x = src
-	; y = length
-	; a = bank#
-	; b = dest
-	stz REG_DMAP0		; set mode
-	stx REG_A1T0L		; set source
-	sta REG_A1B0		; set bank#
-	xba					; 
-	sta REG_BBAD0		; set dest
-	sty REG_DAS0L		; set #bytes
-	lda #1				; start transfer
-	sta REG_MDMAEN
-	rtl					; end
-
-;----------------------------------------------------------------------------------------------------------------------------------------------------------
-; INTERRUPTS
-.index 16
-.accu 8
-
-VBlank:
-	sei
-	rep #$20
-	pha				; preserve a
-	
-	lda joypad		; update last joypad state
-	sta joypadl		; 
-
-	sep #$20
-	lda #1
--
-	bit $4212		; check if joypad is ready
-	bne -			; wait...
-	rep #$20
-	lda REG_JOY1L	; load joystate
-	sta joypad		; save to memory
-	eor joypadl		; mask with old state
-	and joypad		; mask some more..
-	sta joypadc		; store button 'clicks'
-	
-	sep #$20
-	lda REG_TIMEUP	; do something
-	rep #$20
-	pla				; restore a
-	rti				; exit
-
-;--------------------------------------------------------------------------------------
-; misc
-
-strlen:
-	; x = str address
-	; returns x = str address + length
--
-	lda $0000, x
-	beq +
-	inx
-	bra -
-+
-	rtl
-
-;-------------------------------------------------------------------------------------
-; STRINGS
-STR_HELP:
-.DB	"Press left/right to", 1
-.db "change songs",0
-
-STR_SPCDATA:
-.db "SPC Ports",0
-
-HEX2ASCII:
-.db 48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70
-
-STR_WAR_TITLE:
-.db "War in Middle Earth", 0
-STR_WAR_AUTHOR:
-.db "by Skaven", 0
-
-STR_ACID_TITLE:
-.db "Acidjazzed Evening", 0
-STR_ACID_AUTHOR:
-.db "by Tempest", 0
-
-STR_JOURNEY_TITLE:
-.db "Your Journey Awaits", 0
-STR_JOURNEY_AUTHOR:
-.db "by AlexG", 0
-
-STR_SATELLITE_TITLE:
-.db "Satellite One",0
-STR_SATELLITE_AUTHOR:
-.db "by Purple Motion",0
-
-STR_RUSINA_TITLE:
-.db "Rusinahumppa",0
-STR_RUSINA_AUTHOR:
-.db "by Croaker",0
-
-STR_INST1:
-.db "Press A/B/X/Y for SFX",0
-
-STR_INST2
-.db "Change songs with left/right",0
-
-.ENDS

+ 0 - 3
snes/xmsnes/main.link

@@ -1,3 +0,0 @@
-[objects]
-main.obj
-spx_snes.obj

+ 0 - 5
snes/xmsnes/make.sh

@@ -1,5 +0,0 @@
-rm *.obj
-rm *.smc
-wla-65816 -ov main.asm main.obj
-wla-65816 -ov spx_snes.asm spx_snes.obj
-wlalink -rvS main.link xmsnes.smc

+ 0 - 42
snes/xmsnes/memmap.inc

@@ -1,42 +0,0 @@
-.MEMORYMAP
-  SLOTSIZE $8000
-  DEFAULTSLOT 0
-  SLOT 0 $8000
-  SLOT 1 $0000
-  SLOT 2 $2000
-  SLOTSIZE $40000
-  SLOT 3 $8000
-.ENDME
-
-.ROMBANKMAP
-BANKSTOTAL 3
-BANKSIZE $8000
-BANKS 2
-BANKSIZE $40000
-BANKS 1
-.ENDRO
-
-.SMC
-
-
-.SNESHEADER
-
-  ID "SNES"
-
-  NAME "XMSNES               "      ; Title (can't be over 21 bytes)
-  ;    "123456789012345678901"              (just a guide)
-
-  SLOWROM                           ; Slow ROM
-  LOROM                             ; LO ROM
-
-
-
-CARTRIDGETYPE $00             ; $00 = ROM only, see WLA documentation for others
-ROMSIZE $08                   ; $08 = 2 Mbits,  see WLA doc for more..
-SRAMSIZE $00                  ; No SRAM         see WLA doc for more..
-COUNTRY $02                   ; $01 = U.S.  $00 = Japan, that's all I know
-LICENSEECODE $00              ; Just use $00
-VERSION $00                   ; $00 = 1.00, $01 = 1.01, etc.
-
-
-.ENDSNES

+ 0 - 179
snes/xmsnes/snes.inc

@@ -1,179 +0,0 @@
-;-----------;
-; SNES.ASM   \
-;---------------------------;
-; SNES Register Definitions ;
-; by eKid                   ;
-;---------------------------+--;
-; Information taken from-      ;
-; QWERTIE'S SNES DOCUMENTATION ;
-; AND                          ;
-; YOSHI'S DOCUMENTS            ;
-;------------------------------;
-
-.EQU REG_INIDISP		$2100  ; Screen Display Register	1B/W
-.EQU REG_OBSEL			$2101  ; OAM Size Control			1B/W
-.EQU REG_OAMADDL		$2102  ; OAM Access Address			2B/W
-.EQU REG_OAMADDH		$2103
-.EQU REG_OAMDATA		$2104  ; OAM Data Write				1B/W
-.EQU REG_BGMODE			$2105  ; Screen Mode Register		1B/W
-.EQU REG_MOSAIC			$2106  ; Screen Pixelation Register 1B/W
-.EQU REG_BG0SC			$2107  ; BG0 VRAM Location Register	1B/W
-.EQU REG_BG1SC			$2108  ; BG1 VRAM Location Register 1B/W
-.EQU REG_BG2SC			$2109  ; BG2 VRAM Location Register 1B/W
-.EQU REG_BG3SC			$210A  ; BG3 VRAM Location Register 1B/W
-.EQU REG_BG01NBA		$210B  ; BG0/1 Character Bases		1B/W
-.EQU REG_BG23NBA		$210C  ; BG2/3 Character Bases		1B/W
-.EQU REG_BG0HOFS		$210D  ; BG0 Vertical Scroll		1B/W D
-.EQU REG_BG0VOFS		$210E  ; BG0 Vertical Scroll		1B/W D
-.EQU REG_BG1HOFS		$210F  ; BG1 Horizontal Scroll		1B/W D
-.EQU REG_BG1VOFS		$2110  ; BG1 Vertical Scroll		1B/W D
-.EQU REG_BG2HOFS		$2111  ; BG2 Horizontal Scroll		1B/W D
-.EQU REG_BG2VOFS		$2112  ; BG2 Vertical Scroll		1B/W D
-.EQU REG_BG3HOFS		$2113  ; BG3 Horiztonal Scroll		1B/W D
-.EQU REG_BG3VOFS		$2114  ; BG3 Vertical Scroll		1B/W D
-.EQU REG_VMAIN			$2115  ; Video Port Control			1B/W
-.EQU REG_VMADDL			$2116  ; Video Port Address			2B/W
-.EQU REG_VMADDH			$2117
-.EQU REG_VMDATAL		$2118  ; Video Port Data			2B/W
-.EQU REG_VMDATAH		$2119
-.EQU REG_M7SEL			$211A  ; MODE7 settings register	1B/W
-.EQU REG_M7A			$211B  ; MODE7 COSINE A				1B/W
-.EQU REG_M7B			$211C  ; MODE7 SINE	A				1B/W
-.EQU REG_M7C			$211D  ; MODE7 SINE	B				1B/W
-.EQU REG_M7D			$211E  ; MODE7 COSINE B				1B/W
-.EQU REG_M7X			$211F  ; MODE7 Center Pos X			1B/W D
-.EQU REG_M7Y			$2120  ; MODE7 Center Pos Y			1B/W D
-.EQU REG_CGADD			$2121  ; CGRAM Address				1B/W
-.EQU REG_CGDATA			$2122  ; CGRAM Data Write			1B/W D
-.EQU REG_W01SEL			$2123  ; Window Mask Settings Reg1	1B/W
-.EQU REG_W23SEL			$2124  ; Window Mask Settings Reg2	1B/W
-.EQU REG_WH0			$2126  ; Window 1 Left Posision Reg	1B/W
-.EQU REG_WH1			$2127  ; Window 1 Right Position Reg	1B/W
-.EQU REG_WH2			$2128  ; Window 2 Left Position Reg 1B/W
-.EQU REG_WH3			$2129  ; Window 2 Right Position Reg	1B/W
-.EQU REG_WBGLOG			$212A  ; Mask Logic for Window 1 & 2	1B/W
-.EQU REG_WOBJLOG		$212B  ; Mask Logic for Color&OBJ Windows	1B/W
-.EQU REG_TM				$212C  ; Main Screen Designation	1B/W
-.EQU REG_TD				$212D  ; Sub-Screen Designation		1B/W
-.EQU REG_TMW			$212E  ; WinMask Main Designation Reg	1B/W
-.EQU REG_TSW			$212F  ; WinMask Sub Designation Reg	1B/W
-.EQU REG_CGWSEL			$2130  ; Fixed Color/Screen Addition Reg	1B/W
-.EQU REG_CGADSUB		$2131  ; +/- For Screens/BGs/OBJs	1B/W
-.EQU REG_COLDATA		$2132  ; Fixed Color Data for +/-	1B/W
-.EQU REG_SETINI			$2133  ; Screen Mode Select Reg		1B/W
-.EQU REG_MPYL			$2134  ; Multiplication Result Low	1B/R
-.EQU REG_MPYM			$2135  ; Middle						1B/R
-.EQU REG_MPYH			$2136  ; High						1B/R
-.EQU REG_SLHV			$2137  ; Sofware Latch For H/V Counter	1B/R
-.EQU REG_OAMDATAREAD	$2138  ; OAM Data Read				1B/R
-.EQU REG_VMDATALREAD	$2139  ; VRAM Data Read	High		1B/R
-.EQU REG_VMDATAHREAD	$213A  ; VRAM Data Read Low			1B/R
-.EQU REG_CGDATAREAD		$213B  ; CGRAM Data Read			1B/R
-.EQU REG_OPHCT			$213C  ; X Scanline Location		1B/R D
-.EQU REG_OPVCT			$213D  ; Y Scanline Location		1B/R D
-.EQU REG_STAT77			$213E  ; PPU Status Flag & Version	1B/R
-.EQU REG_STAT78			$213F  ; PPU Status Flag & Version	1B/R
-.EQU REG_APUI00			$2140  ; Sound Register				1B/RW
-.EQU REG_APUI01			$2141  ; Sound Register				1B/RW
-.EQU REG_APUI02			$2142  ; Sound Register				1B/RW
-.EQU REG_APUI03			$2143  ; Sound Register				1B/RW
-.EQU REG_WMDATA			$2180  ; WRAM Data Read/Write		1B/RW
-.EQU REG_WMADDL			$2181  ; WRAM Address (Low)			1B/RW
-.EQU REG_WMADDM			$2182  ; WRAM Address (Middle)		1B/RW
-.EQU REG_WMADDH			$2183  ; WRAM Address (High)		1B/RW
-.EQU REG_NMITIMEN		$4200  ; Counter Enable				1B/W
-.EQU REG_WRIO			$4201  ; Programmable I/O Port		1B/W
-.EQU REG_WRMPYA			$4202  ; Multiplicand				1B/W
-.EQU REG_WRMPYB			$4203  ; Multiplier					1B/W
-.EQU REG_WRDIVL			$4204  ; Dividend					2B/W ???
-.EQU REG_WRDIVH			$4205  ;								 ???
-.EQU REG_WRDIVB			$4206  ; Divisor						 ???
-.EQU REG_HTIMEL			$4207  ; Video X IRQ Beam Pointer	2B/W
-.EQU REG_HTIMEH			$4208
-.EQU REG_VTIMEL			$4209  ; Video Y IRQ Beam Pointer	2B/W
-.EQU REG_VTIMEH			$420A
-.EQU REG_MDMAEN			$420B  ; DMA Enable Register		1B/W
-.EQU REG_MHDMAEN		$420C  ; HDMA Enable Register		1B/W
-.EQU REG_MEMSEL			$420D  ; Cycle Speed Register		1B/W
-.EQU REG_RDNMI			$4210  ; NMI Register				1B/R
-.EQU REG_TIMEUP			$4211  ; Video IRQ Register			1B/RW
-.EQU REG_HVBJOY			$4212  ; Status Register			1B/RW
-.EQU REG_RDIO			$4213  ; Programmable I/O Port		1B/RW
-.EQU REG_RDDIVL			$4214  ; Quotient Of Divide Result	2B/R
-.EQU REG_RDDIVH			$4215
-.EQU REG_RDMPYL			$4216  ; Multiplication Or Divide Result	2B/R
-.EQU REG_RDMPYH			$4217
-.EQU REG_JOY1L			$4218  ; Joypad #1 Status			2B/R
-.EQU REG_JOY1H			$4219
-.EQU REG_JOY2L			$421A  ; Joypad #2 Status			2B/R
-.EQU REG_JOY2H			$421B
-.EQU REG_JOY3L			$421C  ; Joypad #3 Status			2B/R
-.EQU REG_JOY3H			$421D
-.EQU REG_JOY4L			$421E  ; Joypad #4 Status			2B/R
-.EQU REG_JOY4H			$421F
-
-.EQU REG_DMAP0			$4300  ; DMA Control Register		1B/W
-.EQU REG_BBAD0			$4301  ; DMA Destination Register	1B/W
-.EQU REG_A1T0L			$4302  ; DMA Source Address			2B/W
-.EQU REG_A1T0H			$4303
-.EQU REG_A1B0			$4304  ; Source Bank Address		1B/W
-.EQU REG_DAS0L			$4305  ; DMA Transfer size/HDMA Address	2B/W
-.EQU REG_DAS0H			$4306
-.EQU REG_NTRL0			$430A  ; Number Of Lines For HDMA	1B/W
-.EQU REG_DMAP1			$4310  ; DMA 1
-.EQU REG_BBAD1			$4311
-.EQU REG_A1T1L			$4312
-.EQU REG_A1T1H			$4313
-.EQU REG_A1B1			$4314
-.EQU REG_DAS1L			$4315
-.EQU REG_DAS1H			$4316
-.EQU REG_NTRL1			$431A
-.EQU REG_DMAP2			$4310  ; DMA 2
-.EQU REG_BBAD2			$4311
-.EQU REG_A1T2L			$4312
-.EQU REG_A1T2H			$4313
-.EQU REG_A1B2			$4314
-.EQU REG_DAS2L			$4315
-.EQU REG_DAS2H			$4316
-.EQU REG_NTRL2			$431A
-.EQU REG_DMAP3			$4310  ; DMA 3
-.EQU REG_BBAD3			$4311
-.EQU REG_A1T3L			$4312
-.EQU REG_A1T3H			$4313
-.EQU REG_A1B3			$4314
-.EQU REG_DAS3L			$4315
-.EQU REG_DAS3H			$4316
-.EQU REG_NTRL3			$431A
-.EQU REG_DMAP4			$4310  ; DMA 4
-.EQU REG_BBAD4			$4311
-.EQU REG_A1T4L			$4312
-.EQU REG_A1T4H			$4313
-.EQU REG_A1B4			$4314
-.EQU REG_DAS4L			$4315
-.EQU REG_DAS4H			$4316
-.EQU REG_NTRL4			$431A
-.EQU REG_DMAP5			$4310  ; DMA 5
-.EQU REG_BBAD5			$4311
-.EQU REG_A1T5L			$4312
-.EQU REG_A1T5H			$4313
-.EQU REG_A1B5			$4314
-.EQU REG_DAS5L			$4315
-.EQU REG_DAS5H			$4316
-.EQU REG_NTRL5			$431A
-.EQU REG_DMAP6			$4310  ; DMA 6
-.EQU REG_BBAD6			$4311
-.EQU REG_A1T6L			$4312
-.EQU REG_A1T6H			$4313
-.EQU REG_A1B6			$4314
-.EQU REG_DAS6L			$4315
-.EQU REG_DAS6H			$4316
-.EQU REG_NTRL6			$431A
-.EQU REG_DMAP7			$4310  ; DMA 7
-.EQU REG_BBAD7			$4311
-.EQU REG_A1T7L			$4312
-.EQU REG_A1T7H			$4313
-.EQU REG_A1B7			$4314
-.EQU REG_DAS7L			$4315
-.EQU REG_DAS7H			$4316
-.EQU REG_NTRL7			$431A
-.EQU REG_FBNANACNT		$FEED  ; Banana Register...			1B/RW

+ 0 - 701
snes/xmsnes/spx_snes.asm

@@ -1,701 +0,0 @@
-;------------------------------------------------------------------------------------------------------------------------
-; Copyright (c) 2007, Mukunda Johnson
-; 
-; All rights reserved.
-; 
-; Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
-; 
-;     * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
-;     * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
-;     * Neither the name of the <ORGANIZATION> nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
-;
-;  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-; "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-; LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-; A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
-; CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-; EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-; PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-; PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-; LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-; NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-;-----------------------------------------------------------------------------------
-
-.equ REG_APUI00	$2140
-.equ REG_APUI01	$2141
-.equ REG_APUI02	$2142
-.equ REG_APUI03	$2143
-
-.include "memmap.inc"		; replace with your memory definitions
-
-.MACRO SPX_RECEIVE_MESSAGE
-	sta spx_message
-	and #15
-	jsl MessageReceived		; SET THIS TO YOUR MESSAGE HANDLER
-.ENDM
-
-.define SPX_STACK_SIZE		$10		; increase stack size if neccesary
-
-.define SPX_XMSOFFSET		$2100
-
-.MACRO SPX_SYNC
-	lda spx_validation		; load validation
--	cmp REG_APUI03			; sync
-	bne -
-.ENDM
-
-.ramsection "spx_var" BANK 0 SLOT 1
-spx_spvar:			db
-spx_validation:		db
-spx_package_adr:	dsb 3
-
-spx_stack:			dsb SPX_STACK_SIZE*4	; FIFO stack
-spx_stack_r:		dw						; stack read position
-spx_stack_w:		dw						; stack write position
-
-spx_var1:			dw
-spx_var2:			dw
-spx_var3:			dw
-spx_var4:			dw
-
-spx_message:		db
-
-ddd:				db
-
-.ends
-
-.bank 0
-.SECTION "SPX_SNES"
-
-spx_binary:
-.incbin "spx_binaries\spx_core.bin"
-spx_lft:
-.incbin "spx_binaries\spx_lft.bin"
-spx_aft:
-.incbin "spx_binaries\spx_aft.bin"
-spx_aftf:
-.incbin "spx_binaries\spx_aftf.bin"
-
-.INDEX 16
-	
-;----------------------------------------------------------------------------------------------------
-BootSPC:
-	ldx #spx_binary
-	lda #:spx_binary
-
-	; x = source address	(word)	16-BIT INDEX
-	; a = bank				(byte)	8-BIT AKKU
-	
-	sei						; disable interrupts during upload
-	
-	stx spx_var1			; store source address in var1
-	sta spx_var1+2			; store bank
-
-	REP #$20				; 16-bit akku
-	lda #$BBAA				; Check if SPC is ready
--	cmp REG_APUI00			;
-	bne -					;
-	
-	SEP #$20			; 8-bit akku
-	ldy #0				; reset data counter
-	lda #0				; reset port0 data (for protocol)
-	xba					; swap out
-	
-	; load first block
-	lda #$01				; port1 = NOT 0
-	sta REG_APUI01			;
-	
-	REP #$20				; 16-bit akku
-	lda [spx_var1], y		; load data transfer address
-	iny						; increase data pointer
-	iny						;
-	sta REG_APUI02			; ports2/3 = TRANSFER ADDRESS
-	
-	SEP #$20				; 8-bit akku
-	lda #$CC				; port0 = $CC (protocol)
-	sta REG_APUI00			;
-	
--	cmp REG_APUI00			; wait for SPC reply
-	bne -					;
-	
-	REP #$20				; 16-bit akku
-	lda [spx_var1], y		; load data LENGTH
-	tax						; transfer to X
-	SEP #$20				; 8-bit akku
-	iny						; increase data pointer
-	iny						; 
-	lda [spx_var1], y		; load first byte (real data)
-	iny						; increase pointer
-	sta REG_APUI01			; port1 = data
-	
-	lda #0					; port0 = 0 (start sending data)
-	sta REG_APUI00			; 
-	
--	cmp REG_APUI00			; wait for SPC reply
-	bne -					;
-	
-	dex						; prepare loop
-	xba						; swap counter/data
-	
-scr_data_loop:
-	lda [spx_var1], y		; load byte
-	iny						; inc pointer
-	xba						; swap to counter
-	
--	cmp REG_APUI00			; check/wait for SPC reply
-	bne -					;
-	
-	ina						; increase counter
-	REP #$20				; port1 = data
-	sta REG_APUI00			; port0 = counter
-	SEP #$20				;
-	
-	xba						; swap to data
-	
-	dex						; decrease loop counter
-	bne scr_data_loop		; loop
-	
-	xba						; swap to counter
-	
--	cmp REG_APUI00			; check/wait for SPC reply
-	bne -					;
-	
-	xba						; swap to data
-	
-	REP #$20				; 16-bit akku
-	pha						; preserve
-	lda [spx_var1], y		; load next block size
-	tax						; transfer to X
-	pla						; restore
-	SEP #$20				; 8-bit akku
-	
-	iny						; increase data pointer
-	iny						;
-	cpx #0					; load another block? (if block size is 0, then no)
-	beq scr_terminate		; ...
-	
-	REP #$20			; yes..
-	pha					; preserve
-	lda [spx_var1], y	; load something
-	tax					; transfer to X
-	pla					; restore
-	SEP #$20			; 8-bit akku
-	
-	iny					; increase pointer
-	iny					;
-	lda #1				; port1 = NOT 0
-	sta REG_APUI01		; 
-	stx REG_APUI02		; port2/3 = transfer address
-	xba					; swap to counter
-	ina					; counter += 2, != 0
--	ina					;
-	beq -				;
-
-	sta REG_APUI00		; store in port0
-
--	cmp REG_APUI00		; wait for SPC reply
-	bne -				;
-	bra scr_data_loop	; jump to data loop
-	
-scr_terminate:				; no...
-	stz REG_APUI01			; port1 = 0
-	REP #$20				; 16-bit akku
-	pha						; preserve
-	lda [spx_var1], y		; load program start address
-	tax						; transfer to X
-	pla						; restore
-	SEP #$20				; 8-bit akku
-	
-	stx REG_APUI02			; port2/3 = program start address
-	xba						; swap to counter
-	ina						; counter += 2, != 0
--	ina						; 
-	beq -					;
-
-	sta REG_APUI00			; port0 = counter
--	cmp REG_APUI00			; wait for SPC reply
-	bne -					;
-							; TRANSFER COMPLETE.
-	cli						; enable interrupts
-
-	jmp SPX_Init			; Initialize
-;-----------------------------------------------------------------------------------------------------
-SPX_Init:
-	lda #0					; reset validation
-	sta spx_validation
-	sta spx_stack_w			; reset stack read/write
-	sta spx_stack_r
-	
-	REP #$20
-	lda #$FEED				; initial sync
--	cmp REG_APUI00			;
-	bne -
-	SEP #$20
-	RTL
-
-;-----------------------------------------------------------------------------------------------------
-SPX_Transfer_XMS:
-	; ayy = 24-bit address
-	sty spx_var1			; save address
-	sta spx_var2
-	rep #$20				; 16bit everything
-	rep #$10
-	lda [spx_var1]			; load length
-	tax						; x = length/3
-	ldy #SPX_XMSOFFSET
-	lda spx_var1
-	pha
-	sep #$20
-	lda spx_var2
-	jsl SPX_Transfer
-
-	ply
-	rtl
-;-----------------------------------------------------------------------------------------------------
-.accu 8
-SPX_Transfer_LFT:
-	sep		#$20				; 8-bit akku
-	rep		#$10				; 16-bit index
-	ldx		#(768/3)			; set transfer length (bytes/3)
-	ldy		#(spx_lft & 65535)	; load snes offset
-	phy							; push
-	ldy		#$300				; $300-$5FF = linear frequency LUT
-	lda		#:spx_lft			; get bank#
-
-	JSL		SPX_Transfer		; transfer data
-
-	ply							; free stack
-
-	lda.b	#$1C				; set table
-	sta		REG_APUI02			;
-	stz		REG_APUI01			;
-	JSL		SPX_SEND			;
-	
-	RTL							; return
-
-;-----------------------------------------------------------------------------------------------------
-SPX_Transfer_AFT:
-	sep		#$20				; 8-bit akku
-	rep		#$10				; 16-bit index
-	ldx		#(768/3)			; set transfer length (bytes/3)
-	ldy		#(spx_aft & 65535)	; load snes offset
-	phy							; push
-	ldy		#$300				; $300-$5FF = amiga period LUT
-	lda		#:spx_aft			; get bank#
-	JSL		SPX_Transfer		; transfer data
-	ply							; free stack
-	
-	ldx		#1365				; 4096/3, rounded down
-	ldy		#(spx_aftf & 65535)	; load snes offset
-	phy							; push
-	ldy		#$F000				; $F000-$FFFF = amiga->freq LUT
-	lda		#:spx_aftf			; get bank#
-	JSL		SPX_Transfer		; transfer data
-	ply							; free stack
-	lda		#$1C				; set table
-	sta		REG_APUI02			;
-	lda		#$01				;
-	sta		REG_APUI01			;
-	JSL		SPX_SEND			;
-	RTL							; return
-	
-;-----------------------------------------------------------------------------------------------------
-.INDEX 16
-.ACCU 8
-
-.MACRO SPX_TRANSFER_INCPOINTER
-	iny					; increase pointer
-	iny					;
-	bpl ++				; check for overflow
-	cpy #$8001			; check for an overflow reading
-	bne +				; fix data if so
-	dey					;
-	dey					;
-	lda [spx_var1], y	; read low byte
-	sta REG_APUI00		; store
-	ldy #$0000			; read high byte
-	inc spx_var1+2		; next bank
-	lda [spx_var1], y	;
-	sta REG_APUI01		;
-	iny					;
-	lda spx_validation	;
-	xba					;
-	bra ++				;
-+						; if not just increase bank#
-	inc spx_var1+2		; increase bank#
-	ldy #$0000			; reset counter
-++
-.ENDM
-
-SPX_Transfer_SAMP:
-	sei					; $14 = SAMPLE TRANSFER
-	sta spx_var1+2		;
-	SPX_SYNC			;
-	lda #$14			;
-	jmp SPX_TRANSFER_MOD;
-
-SPX_Transfer:
-	; SPX_Transfer
-	; parameters:
-	; a = file bank			:8
-	; x = length/4			:16
-	; y = spc offset		:16
-	; stack:1 = snes_offset	:16
-	
-	; types
-	;  0 = xms
-	;  1 = freq table
-	
-	sei						; disable interrupts
-	
-	sta spx_var1+2			; store bank#
-	
-	SPX_SYNC				; sync with spc
-
-	lda #$1A				; $1A = GENERIC TRANSFER
-SPX_TRANSFER_MOD:
-	sta REG_APUI02			; set message type
-	
-	REP #$20				; set spc write position
-	tya						; 
-	SEP #$20				;
-	sta REG_APUI00			;
-	xba						;
-	sta REG_APUI01			;
-	
-	lda spx_validation		; validate data
-	eor #128				;
-	ora #1
-	sta REG_APUI03			;
--	cmp REG_APUI03			; wait for spc to respond
-	bne -
-	
-;	eor #128				; prepare transfer mode
-	
-	sta spx_validation		; save
-
-	REP #$20		; 16-bit akku
-	lda 4, S		; load file offset sp+4
-
-	sec				; set carry
-	sbc #$8000		; subtract
-	tay				; transfer to y
-	SEP #$20		; 8-bit akku
-	lda #$80		; set offset in var1
-	stz spx_var1	; reset mem pointers
-	sta spx_var1+1	;
-
-	REP #$20			; 16-bit akku
-	
-_stf_start:				; loop:
-	
-	lda [spx_var1], y	; load data
-	sta spx_var3		; save
-	
-	SPX_TRANSFER_INCPOINTER
-	
-	sep #$20
-	lda [spx_var1], y	; get third byte
-	
-	iny					; increase pointer
-	bpl +
-	ldy #$0000
-	inc spx_var1+2
-+
-	sta spx_spvar		; store
-	lda spx_validation	; get validation
-	eor #128			;
-	sta spx_validation	; update
-	eor #128			; reverse
-
-	phx					; preserve
-	ldx spx_spvar		; get ready
-	
--	cmp REG_APUI03		; sync with spc
-	bne -				;
-
-	lda spx_var3		; load byte1
-	sta REG_APUI00		; store byte1
-	lda spx_var3+1		; load byte2
-	sta REG_APUI01		; store byte2
-	stx REG_APUI02		; store byte3/validation
-	plx					; restore
-	rep #$20
-	
-	dex					; decrease counter
-	bne _stf_start		; loop until finished
-
-	sep #$20
-	
-	stz REG_APUI03		; send 0
-	stz spx_validation
-	lda #0
--	cmp REG_APUI03		; wait for reply
-	bne -
-	
-	cli					; enable interrupts
-	RTL					; return --make sure higher function frees stack space
-	
-;--------------------------------------------------------------------------------------------------------
-.index 16
-SPX_Queue:
-	; a = $00/$01 message
-	; x = $02/$03 params
-	; accumulator can be 8 or 16 bit, do not read anything with it
-	ldy spx_stack_w		; load stack position
-	sta spx_stack, y	; store bytes0/1
-	iny					; increase pointer
-	iny
-	txa					; get high word
-	sta spx_stack, y	; store bytes 2/3
-	iny					; increase pointer
-	iny
-	cpy #SPX_STACK_SIZE*4	; wrap to stack size
-	bcc +
-	ldy #0
-+
-	sty spx_stack_w		; save stack position
-	rtl
-
-;---------------------------------------------------------------------------------------------------------
-.accu 8
-SPX_Routine:
-	; get messages
-	lda REG_APUI00		; check if port0 is different
-	cmp spx_message
-	beq +
-	SPX_RECEIVE_MESSAGE	; if so then a message was received
-+
-	lda spx_validation	; check if spc has processed last message
-	cmp REG_APUI03
-	beq +
-	rtl			; not ready
-+
-	ldy spx_stack_r		; load stack read position
-	cpy spx_stack_w		; exit function if it equals write position (no messages)
-	bne +
-	rtl
-+
-	lda spx_stack, y	; load byte0
-	sta REG_APUI00		; store
-	iny
-	lda spx_stack, y	; load byte1
-	sta REG_APUI01		; store
-	iny
-	lda spx_stack, y	; load byte2
-	sta REG_APUI02		; store
-	iny
-	lda spx_stack, y	; load byte3
-	lda spx_validation	; add validation
-	and #128
-	eor #128
-	ora spx_stack, y	; store
-	sta REG_APUI03		; message dispatched
-	sta spx_validation	; save validation
-	
-	iny
-
-	cpy #SPX_STACK_SIZE*4	; wrap read counter to stack size
-	bcc +
-	ldy #0
-+
-	sty spx_stack_r		; save
-
-	rtl
-
-SPX_Flush:				; flushes queue
-	jsl SPX_Routine		; call routine
-	ldy spx_stack_r		; check for more messages
-	cpy spx_stack_w
-	bne SPX_Flush		; loop
-	rtl					; exit
-	
-SPXM_Play:
-	ldx #$1E			; $1E = play message
-	jmp SPX_Queue
-
-SPXM_BuildDir:
-	ldx #$1B				; $1B = build directory
-	jmp SPX_Queue
-
-SPXM_Reset:					; blocking function
-	ldx #$1D				; $1D = RESET XMS
-	jmp SPX_Queue
-
-SPXM_SetVol:
-	; a = volume
-	ldx #$18				; $18 = set XM playback volume
-	jmp SPX_Queue
-
-SPX_SetVol:
-	; a = volume L } 16bit akku
-	; b = volume R } resets afterwards
-	ldx #$19				; $19 = change main volume
-	jmp SPX_Queue
-
-.accu 8
-.index 16
-SPXS_Play:
-	; a = volume [llllrrrr]
-	; x = sample#/priority/frequency [0ccfffffssssssss]
-
-	pha			; rearrange data
-	rep #$20
-	txa
-	sep #$20
-	pha
-	rep #$20
-	and #$FF00
-	ora #$20	; $20 = play sample
-	tax
-	sep #$20
-	pla
-	xba
-	pla
-	rep #$20
-	
-	jsl SPX_Queue
-	sep #$20
-	rtl
-
-SPXS_SetParam:
-	; a = index
-	; x = param
-	xba				; rearrange data
-	tax
-	xba
-	rep #$20
-	ldx #$21		; $21 = message
-	jsl SPX_Queue	; queue
-	sep #$20
-	rtl
-		
-SPX_SEND:					; blocking send
-	lda spx_validation		; get validation
-	eor #128				; change
-	sta REG_APUI03			; set port data
-	sta spx_validation		; save validation
--	cmp REG_APUI03			; wait for spc reply
-	bne -
-
-	RTL						; exit
-
-SPXP_InstallPackage:
-	; x = address (16-bit)	;
-	; a = bank#
-	stx spx_package_adr		; store offset
-	sta spx_package_adr+2	; store bank
-	rtl
-	
-SPXP_LoadSong:
-	; x = index (16-bit)
-	
-	sep #$20						; 8bit akku
-	txa								; a=x
-	sta $4202						; multiply a*3
-	lda #3							; 
-	sta $4203		; 8 cycles...	; ...
-	
-	; setup send
-	rep #$20						; read package address
-
-	lda #$10
-	nop
-	nop
-	nop								; small delay
-	clc
-	adc $4216						; add multiplication result
-	tay								; y=result
-	
-	lda spx_package_adr				; read package address
-	adc [spx_package_adr], y		; add song offset
-	ora	#$8000						;
-	pha								; save result
-	sep #$20						; 8bit akku
-	lda spx_package_adr+2			; load bank#
-	iny
-	iny
-	adc [spx_package_adr], y		; add song offset
-	ply								; restore address	
-	
-	jsl SPX_Transfer_XMS			; transfer song
-	
-	; transfer samples
-	
-	SPX_SYNC
-	
-	lda #$17						; ask for sample requests
-	sta REG_APUI02
-	jsl SPX_SEND
---
-	
-	; message received
-	lda REG_APUI02					; satisfy request
-	cmp #$9C						; 9c = no more samples
-	beq +
-	ldx REG_APUI00
-	ldy #0
-	jsl SPXP_LoadSample				; send sample
-	
-	jsl SPX_SEND					; sync
-	
-	jmp --
-+
-	rtl
-	
-SPXP_LoadSample:
-	; x = index (16-bit)
-	; y = spc address, 0=use next available
-	
-	rep #$20						; 16-bit akku
-	txa								; a=x
-	sta spx_var1					; save
-	asl								; shift
-	adc spx_var1					; add (a = index*3 now)
-	phy
-	ldy #4
-	adc [spx_package_adr],y			; add sample table offset
-	
-	tay
-	clc
-	lda spx_package_adr
-	adc [spx_package_adr], y
-	ora #$8000						; wrap around ROM area if overflow
-	sta spx_var1
-	
-	sep #$20
-	lda spx_package_adr+2
-	iny
-	iny
-	adc [spx_package_adr], y
-	adc #0							; increase on overflow
-	sta spx_var2
-	
-	rep #$20
-	
-	lda [spx_var1]					; load sample size/3
-	tax								; transfer to x
-	
-	lda spx_var1					; load snes address
-	
-	ply
-	pha
-	sep #$20						; 8-bit akku
-	lda spx_var2					; load bank#
-	
-	jsl SPX_Transfer_SAMP			; transfer data
-	ply								; restore stack
-	
-	lda spx_validation				; get sample #
-	eor #128
-	sta REG_APUI03
--	cmp REG_APUI03
-	bne -
-	sta spx_validation
-	
-	lda REG_APUI00
-	
-	rtl								; return
-	
-.ENDS

BIN
snes/xmsnes/test.xmp


+ 0 - 12
snes/xmsnes/vram.txt

@@ -1,12 +0,0 @@
-graphic source locations
-
-$0000-$7000 / $0000-$0380 : gfx_bg
-$7000-$7600 / $0380-$03E0 : gfx_font
-
-$7C00-$7D20 : $03E0-$03E9 : gfx_window
-
-tile map locations
-
-$8000-$8800 : $10         : background (bg1)
-$8800-$8C00 : $11         : window (bg0)
-$9000-$9C00 : $12         : text (bg2)