Skip to content

Instantly share code, notes, and snippets.

@moechofe
Created August 18, 2019 11:04
Show Gist options
  • Save moechofe/6573a7317bca5ad501b773c36b2003a7 to your computer and use it in GitHub Desktop.
Save moechofe/6573a7317bca5ad501b773c36b2003a7 to your computer and use it in GitHub Desktop.
LowResNX personal GFX editor
'REV4
'MEMORY MAPPING
'$A000..$AFFF LOADED CHARA FROM FILE
'$B000..$DFFF LOADED BG FROM FILE
'CELL 8X8 TOUCH COORDS
GLOBAL CX,CY
'WHICH CORNER WAS TAPPED TO GO TO BGEDITOR, WHICH CORNER TO TAP TO GO BACK
GLOBAL TAPCORNER,BACKCORNER
'WHICH BUTTON WAS TAPPED
GLOBAL BTNLEFT,BTNRIGHT
'TOOL FOR BGEDITOR: 0=STAMP CHARA TO BG TILES, 1=PAN BG, 2=SET TILES ATTR
BGTOUCH=0
'TOOL FOR CHARAEDIT: 0=PAINT COLOR ON PIXEL, 1=PAN SELECT CHARA
CHARATOUCH=0
'COLOR FOR CHARAEDIT
CHARACOLOR=1
'CURRENT CHARA PAGE LIST: 0=#0..#63 1=#64..#127, 2=#128..#191, 3=#191..#255
CHARAPAGE=0
'CURRENT CHARA SELECTED
CHARACURR=0
'COPY A CHAR FROM A FILE TO THE MEMORY
'A = BASE ADDRESS
'S = SOURCE CHARA INDEX
'C = CHARA COUNT TO COPY
'D = DEST CHARA INDEX
SUB COPYCHARA(A,S,C,D)
COPY A+S*16,C*16 TO $8000+D*16
END SUB
SUB UPDTOUCH
CX=TOUCH.X\8
CY=TOUCH.Y\8
DX=CX\2
DY=CY\2
EY=(CY+1)\2
TAPCORNER=0
BTNLEFT=0
BTNRIGHT=0
IF TAP THEN
IF DX=0 AND DY=0 THEN TAPCORNER=1
IF DX=9 AND DY=0 THEN TAPCORNER=2
IF DX=9 AND DY=7 THEN TAPCORNER=3
IF DX=0 AND DY=7 THEN TAPCORNER=4
IF DX=0 AND EY>=2 AND EY<=6 THEN BTNLEFT=EY-1
IF DX=9 AND EY>=2 AND EY<=6 THEN BTNRIGHT=EY-1
END IF
END SUB
SUB LOADCHARA
LOAD 2,$A000
COPY ROM(2),128*16 TO $A000
END SUB
SUB LOADBG
LOAD 3,$B000
END SUB
'A = BASE ADDRESS
'C = SOURCE CHAR INDEX
'DX,DY = DEST CELL COORDS
'R = CHAR ADDRESS
'B = BIT
'V = COLOR VALUE
SUB COPYCHARPIXELTOBG(A,C,DX,DY)
R=A+C*16
FOR PY=0 TO 7
FOR PX=7 TO 0 STEP -1
CELL DX+PX,DY+PY,192+(PEEK(R) AND 1)+(PEEK(R+8) AND 1)*2
ROR R,1
ROR R+8,1
NEXT PX
INC R
NEXT PY
END SUB
'A = BASE ADDRESS
'C = DEST CHAR INDEX
'SX,SY = SOURCE CELL COORDS
'R = CHAR ADDRESS
'V = COLOR VALUE
'XXX: NOT USED
SUB COPYPIXELBGTOCHAR(A,C,SX,SY)
R=A+C*16
FILL A,16,0
FOR PY=0 TO 7
FOR PX=0 TO 7
V=CELL.C(SX+PX,SY+PY)-192
ROL R,1
ROL R+8,1
POKE R,PEEK(R) OR (V AND 1)
POKE R+8,PEEK(R+8) OR ((V AND 2)\2)
NEXT PX
INC R
NEXT PY
END SUB
'A = BASE ADDRESS
'C = DEST CHAR INDEX
'SX,SY = SOURCE CELL COORDS
'V = COLOR VALUE
'R = CHAR ADDRESS
'B = LOW OR HIGH COLOR BIT
SUB CHARAPSET(A,C,PX,PY,V)
R=A+C*16+(PY AND 7)
B=V AND 1
FOR I=0 TO 1
ROL R,1+PX
POKE R,(PEEK(R) AND 254) OR B
ROR R,1+PX
R=R+8
B=(V AND 2)\2
NEXT I
END SUB
FILES
TOUCHSCREEN
CALL LOADCHARA
CALL LOADBG
GOTO CHARAEDITOR
'SHOW A LIST OF CHARA, TOOLS TO PAINT THE BG, TOOLS TO MANIPULATE THE CHARA LIST
CHARASELECTOR:
WAIT VBL
BG SOURCE ROM(3)
BG 0
BG COPY 0,0,20,16 TO 0,0
CALL COPYCHARA(ROM(4),0+BGTOUCH*4,4,6)
CALL COPYCHARA(ROM(4),16,4,26)
DO
CALL UPDTOUCH
IF TAPCORNER>0 THEN GOTO BGEDITOR
IF BTNLEFT=1 THEN BGTOUCH=(BGTOUCH+1) MOD 3
IF BTNLEFT>0 THEN GOTO CHARASELECTOR
IF BTNRIGHT=1 THEN GOTO CHARAEDITOR
WAIT VBL
LOOP
'TODO CHANGE THE PALETTE #0 TO BE THE CHARA USER PALETTE
'TODO blink the chara color btn outline
'BG #1 INTERFACE BACK, CHARA LIST, CHARA PIXELS
'BG #0 INTERFACE BTNS, CORNERS
'CHARA #0..#62 INTERFACE
'CHARA #64..#127 CURRENT CHARA PAGE LIST
'CHARA #192..#195 CURRENT CHARA PIXEL
'CHARA #196..#198 MORE INTERFACE
'SPRITE #0..#3 CURRENT CHARA SELECTED
'SPRITE #4..#7 PEN COLOR BTNS
'PALETTE #0 INTERFACE BTNS
'PALETTE #1 INTERFACE CURSOR
'PALETTE #2 CHARA COLORS
'PALETTE #3 INTERFACE BACK AND CORNERS
'PALETTE #4..#7 CHARA INDIVIDUAL COLORS
CHARAEDITOR:
WAIT VBL
'INTERFACE
CLS
BG SOURCE ROM(3)
BG 0
BG COPY 0,16,20,16 TO 0,0
BG 1
BG COPY 0,0,20,16 TO 0,0
'CHARA PAGE LIST
CALL COPYCHARA($A000,CHARAPAGE*64,64,64)
'CHARA SELECTED PIXELS
ATTR 2
CALL COPYCHARPIXELTOBG($A000,CHARACURR,6,1)
'BTNS LEFT
CALL COPYCHARA(ROM(4),72+CHARATOUCH*4,4,6)
FOR C=0 TO 3
S=0
IF CHARACOLOR=C THEN S=4
CALL COPYCHARA(ROM(4),32+S,4,10+C*4)
NEXT C
'BTNS RIGHT
CALL COPYCHARA(ROM(4),20,4,26)
'CHARA CURSOR
'TODO: REDO THIS WITH ONE SPRITE INSTEAD OF 4
SPRITE.A 0,(1,0,0,1,0)
SPRITE.A 1,(1,1,0,1,0)
SPRITE.A 2,(1,0,1,1,0)
SPRITE.A 3,(1,1,1,1,0)
X=(CHARACURR MOD 16)+2
Y=(CHARACURR\16)+12
SPRITE 0,X*8-4,Y*8-4,62
SPRITE 1,X*8+4,Y*8-4,62
SPRITE 2,X*8-4,Y*8+4,62
SPRITE 3,X*8+4,Y*8+4,62
'COLORED BTN
FOR C=0 TO 3
S=0
IF CHARACOLOR=C THEN S=1
SPRITE 4+C,0,C*16+40+S,206
SPRITE.A 4+C,(4+C,0,0,1,1)
NEXT C
DO
'CHARA CURSOR BLINK
IF TIMER MOD 10=0 THEN PALETTE 1,0,2*16+2*4+2,,
IF TIMER MOD 20=0 THEN PALETTE 1,0,3*16+3*4+3,,
CALL UPDTOUCH
IF BTNLEFT>1 THEN CHARACOLOR=BTNLEFT-2
IF BTNLEFT>1 THEN GOTO CHARAEDITOR
IF BTNRIGHT=1 THEN GOTO COLOREDITOR
'CHARA CURSOR SELECTION
IF TOUCH AND CX>=2 AND CX<=17 AND CY>=12 AND CY<=15 THEN
CHARACURR=CX-2+(CY-12)*16
GOTO CHARAEDITOR
END IF
'CHARA PIXEL PAINTING
IF CHARATOUCH=0 AND TOUCH AND CX>=6 AND CX<=13 AND CY>=1 AND CY<=8 THEN
CELL CX,CY,192+CHARACOLOR
CALL CHARAPSET($8000,64+CHARACURR,CX-6,CY-1,CHARACOLOR)
CALL CHARAPSET($A000,CHARACURR,CX-6,CY-1,CHARACOLOR)
END IF
WAIT VBL
LOOP
COLOREDITOR:
WAIT VBL
BG 0
BG COPY 0,0,20,16 TO 0,0
CALL COPYCHARA(ROM(4),24,4,26)
DO
CALL UPDTOUCH
IF BTNRIGHT=1 THEN GOTO CHARASELECTOR
WAIT VBL
LOOP
BGEDITOR:
BACKCORNER=TAPCORNER
WAIT VBL
BG SOURCE $A000
BG SOURCE ROM(3)
BG 0
BG COPY 0,0,20,16 TO 1,1
DO
CALL UPDTOUCH
IF TAPCORNER=BACKCORNER THEN GOTO CHARASELECTOR
WAIT VBL
LOOP
'VIM: SETL NOAI NOCIN NOSI INDE=
#1:MAIN COLOR
043F2A00003F3300003A3530002A1500
00010000003A00000020000000100000
#2:MAIN CHAR
00000000000000000000000000000000
0000000000000000FFFFFFFFFFFFFFFF
00000000000103070000000000000000
08183C7CFCFCFCFC0707070707070707
0F1F3F7FFF3F00000000000000FFFFFF
FCFCFCFCFCFC00000707070707FFFFFF
000000000000000000003F3E3C3C3E3E
00000000000000000000FC7C7C7C7C7C
000000003F3F00003E3C3C3F3F3F0000
00000000FCFC00007C3C3CFCFCFC0000
000000000000000000003F3C38393E3C
00000000000000000000FC3C1C9C1C3C
000000003F3F00003838383F3F3F0000
00000000FCFC0000FC1C1CFCFCFC0000
000000000000000000003F38383F3E3E
00000000000000000000FC1C1C1C3C1C
000000003F3F000039383C3F3F3F0000
00000000FCFC00009C1C3CFCFCFC0000
000000000000000000003F3939393938
00000000000000000000FCFCFC9C9C1C
000000003F3F0000383F3F3F3F3F0000
00000000FCFC00001C9C9CFCFCFC0000
000000000000000000003F3838393838
00000000000000000000FC1C1CFC3C1C
000000003F3F00003F383C3F3F3F0000
00000000FCFC00009C1C3CFCFCFC0000
000000000000000000003F3E3C3C3E3E
00000000000000000000FC7C7C7C7C7C
000000003F3F00003E3C3C3F3F3F0000
00000000FCFC00007C3C3CFCFCFC0000
000000000000000000003F3C38393E3C
00000000000000000000FC3C1C9C1C3C
000000003F3F00003838383F3F3F0000
00000000FCFC0000FC1C1CFCFCFC0000
000000000000000000003F38383F3E3E
00000000000000000000FC1C1C1C3C1C
000000003F3F000039383C3F3F3F0000
00000000FCFC00009C1C3CFCFCFC0000
000000000000000000003F3939393938
00000000000000000000FCFCFC9C9C1C
000000003F3F0000383F3F3F3F3F0000
00000000FCFC00001C9C9CFCFCFC0000
000000000000000000003F3838393838
00000000000000000000FC1C1CFC3C1C
000000003F3F00003F383C3F3F3F0000
00000000FCFC00009C1C3CFCFCFC0000
000000000000000000003F3E3C3C3E3E
00000000000000000000FC7C7C7C7C7C
000000003F3F00003E3C3C3F3F3F0000
00000000FCFC00007C3C3CFCFCFC0000
000000000000000000003F3C38393E3C
00000000000000000000FC3C1C9C1C3C
000000003F3F00003838383F3F3F0000
00000000FCFC0000FC1C1CFCFCFC0000
000000000000000000003F38383F3E3E
00000000000000000000FC1C1C1C3C1C
000000003F3F000039383C3F3F3F0000
00000000FCFC00009C1C3CFCFCFC0000
000000000000000000003F3939393938
00000000000000000000FCFCFC9C9C1C
000000003F3F0000383F3F3F3F3F0000
00000000FCFC00001C9C9CFCFCFC0000
007F7F7F70707070007F405F50505050
00000000000000000000000000000000
00007E5A5A7E00000000705050700000
00007C54547E00000000705050700000
00007E56587E00000000705050700000
00007E56527E00000000705050700000
0000785A5E7200000000705050700000
00007E5C527E00000000705050700000
000076585E7E00000000705050700000
00007E52547400000000705050700000
00007E5E5A7E00000000705050700000
00000E0A0E0600000000000000000000
00000E0A0E0A00000000000000000000
00000C0E0A0E00000000000000000000
00000E08080E00000000000000000000
00000C0A0A0E00000000000000000000
00000E080C0E00000000000000000000
00000E080C0800000000000000000000
00006E2A2A7E00000000602020700000
00006C24247E00000000602020700000
00006E26287E00000000602020700000
00006E26227E00000000602020700000
0000682A2E7200000000602020700000
00006E2C227E00000000602020700000
000066282E7E00000000602020700000
00006E22247400000000602020700000
00006E2E2A7E00000000602020700000
00006E2A2E7600000000602020700000
00000E0A0E0A00000000000000000000
00000C0E0A0E00000000000000000000
00000E08080E00000000000000000000
00000C0A0A0E00000000000000000000
00000E080C0E00000000000000000000
00000E080C0800000000000000000000
00007E3A4A7E00000000703040700000
00007C34447E00000000703040700000
00007E36487E00000000703040700000
00007E36427E00000000703040700000
0000783A4E7200000000703040700000
00007E3C427E00000000703040700000
000076384E7E00000000703040700000
00007E32447400000000703040700000
00007E3E4A7E00000000703040700000
00000E0A0E0600000000000000000000
00000E0A0E0A00000000000000000000
00000C0E0A0E00000000000000000000
00000E08080E00000000000000000000
00000C0A0A0E00000000000000000000
00000E080C0E00000000000000000000
00000E080C0800000000000000000000
00007E3A1A7E00000000703010700000
00007C34147E00000000703010700000
00000E06080E00000000000000000000
00000E06020E00000000000000000000
0000080A0E0200000000000000000000
00000E0C020E00000000000000000000
000006080E0E00000000000000000000
00000E02040400000000000000000000
00000E0E0A0E00000000000000000000
00000E0A0E0600000000000000000000
00000E0A0E0A00000000000000000000
00000C0E0A0E00000000000000000000
00000E08080E00000000000000000000
00000C0A0A0E00000000000000000000
00000E080C0E00000000000000000000
00007E381C7800000000703010700000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
FFFFFFFFFFFFFFFF0000000000000000
0000000000000000FFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
0303030303030303FDFDFDFDFDFDFDFD
0000000000000303FFFFFFFFFFFFFCFD
000000000000FFFFFFFFFFFFFFFF00FF
0101010101010101FFFFFFFFFFFFFFFF
0000000000000001FFFFFFFFFFFFFFFF
00000000000000FFFFFFFFFFFFFFFFFF
0101010101010101FFFFFFFFFFFFFFFF
01010101010101010303030303030303
FCFCFCFCFCFC00000606060606FEFEFE
08183C7CFCFCFCFC0606060606060606
000000000F0F0F0F0000000000000000
00000000F0F0F0F00000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
0F0F0000000000000000000000000000
F0F00000000000000000000000000000
#3:MAIN BG
0000142000000000010301030103C503
C603C603C603C603C603C603C603C603
C50B0103010301030000000000000000
010301030103C4030100010001000100
0100010001000100C40B010301030103
0000000001030103010301030103C403
01000100010001000100010001000100
C40B0103010301030103010301030103
010301030103C4030100010001000100
0100010001000100C40B010301030103
0103010301030103010301030103C403
01000100010001000100010001000100
C40B0103010301030103010301030103
010301030103C4030100010001000100
0100010001000100C40B010301030103
0103010301030103010301030103C403
01000100010001000100010001000100
C40B0103010301030103010301030103
010301030103C4030100010001000100
0100010001000100C40B010301030103
0103010301030103010301030103C403
01000100010001000100010001000100
C40B0103010301030103010301030103
010301030103C513C613C613C613C613
C613C613C613C613C51B010301030103
01030103010301030103010301030103
010B010B010B010B010B010B010B010B
0103010301030103010301030103C803
C903C903C903C903C903C903C903C903
C903C903C903C903C903C903C903C903
C80B01030103C7034002410242024302
4402450246024702480249024A024B02
4C024D024E024F02C70B01030103C703
50025102520253025402550256025702
580259025A025B025C025D025E025F02
C70B01030000CB036002610262026302
6402650266026702680269026A026B02
6C026D026E026F02CB0B00000000CB03
70027102720273027402750276027702
780279027A027B027C027D027E027F02
CB0B0000020303030000000000000000
00000000000000000000000000000000
0000000000000000030B020B04030503
00000000000000000000000000000000
00000000000000000000000000000000
050B040B000000000000000000000000
00000000000000000000000000000000
00000000000000000000000006000700
00000000000000000000000000000000
00000000000000000000000000000000
1A001B00080009000000000000000000
00000000000000000000000000000000
00000000000000001C001D000A000B00
00000000000000000000000000000000
00000000000000000000000000000000
1E001F000C000D000000000000000000
00000000000000000000000000000000
0000000000000000200021000E000F00
00000000000000000000000000000000
00000000000000000000000000000000
22002300100011000000000000000000
00000000000000000000000000000000
00000000000000002400250012001300
00000000000000000000000000000000
00000000000000000000000000000000
26002700140015000000000000000000
2E002F0032003300360037003A003B00
00000000000000002800290016001700
00000000000000003000310034003500
380039003C003D000000000000000000
2A002B00180019000000000000000000
00000000000000000000000000000000
00000000000000002C002D0000000000
00000000000000000000000000000000
00000000000000000000000000000000
000000000413CC130000000000000000
00000000000000000000000000000000
0000000000000000CC1B041B0213CD13
00000000000000000000000000000000
00000000000000000000000000000000
CD1B021B
#4:COLD CHARA
000000000000000000003F3F3F3E3C38
00000000000000000000FC9C4C8C1C3C
080C0E003F3E0000383C3F3F3F320000
00000000FC4C00007CFCFCFCFC4C0000
000000000202030B00003F3C38382024
0000000080A0E0E00000FC3C1C0C0C0C
0D0700003F3300002230383F3F320000
E0C00000FCCC00000C1C3CFCFC4C0000
000000000000020400003F3E3C383225
00000000304808080000FC1CCC941434
000000003F32000032383D3F3F320000
08906000FC7C0000746C9CFCFC4C0000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
000000191901011E00003F3838272739
000000E0E09898780000FC6464E4E49C
1E0606003F3E00003926263F3F320000
78787800FC6C00009C6464FCFC6C0000
000000000001000000003F3033323331
0000000000C000000000FC0CCC8CCC8C
000000003F3300003332303F3F320000
00000000FCCC0000CC4C0CFCFC4C0000
000000000307020000003F3831302020
00000000C0E070200000FC1C4CA47424
000000003F3200002925313F3F320000
00000000FC7C00008CFCFCFCFC4C0000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
0000001F1010101000003F3F30303030
000000F8080808080000FCFC0C0C0C0C
10101F003F3F000030303F3F3F3F0000
0808F800FCFC00000C0CFCFCFCFC0000
0000003F3F30303000007F405F505050
000000FCFC0C0C0C0000FE02FA0A0A0A
3030303F3F0000005050505F40407F00
0C0C0CFCFC0000000A0A0AFA0202FE00
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000103
0303010101010101070F1D3D7DFDFDFD
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
000000000000C0FF070F1F3F7FFFC0FF
01010101010101FFFDFDFDFDFDFD01FF
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
000000000000000000003F3F3F3E3C38
00000000000000000000FC9C4C8C1C3C
080C0E003F3F0000383C3F3F3F310000
00000000FC8C00007CFCFCFCFC8C0000
000000000202030B00003F3C38382024
0000000080A0E0E00000FC3C1C0C0C0C
0D0700003F3100002230383F3F310000
E0C00000FCFC00000C1C3CFCFC8C0000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
FFFFC0D8D8C3DBDBFFFFFFFFFFFFFFFF
FFFF031B1BC3DBDBFFFFFFFFFFFFFFFF
FFFFC0CFCFCFCFCFFFFFFFFFFFFFFFFF
FFFF03F3F3F3F3F3FFFFFFFFFFFFFFFF
FFFFC0CFCFCFCFCFFFFFFFFFFFFFFFF0
FFFF0303030303F3FFFFFF0F0F0F0FFF
000000000F0F00000000000000000F0F
00000000F0F00000000000000000F0F0
00000000000F000000000000000D0000
00000000000000000000000000000000
00000000000F00000000000000070000
00000000000000000000000000000000
FFFFC0C0C0C0C0C0FFFFFFFFF0F0F0F0
FFFF030303030303FFFFFFFF0F0F0F0F
FFFFC0C6CECFCFCCFFFFFFFDFDFCFFFF
FFFF03F3F3F3F313FFFFFF3F3F3FFFFF
C3D8D8C0C0CDFFFFFFFFFFFFC0C1FFFF
C31B1B0303B3FFFFFFFFFFFF03B3FFFF
CFCFCFC0C0CDFFFFFFFFFFFFC0CCFFFF
F3F3F30303B3FFFFFFFFFFFF0333FFFF
CFCFCFC0C0CDFFFFF0F0F0FFC0CDFFFF
F3F3F30303B3FFFFFFFFFFFF0383FFFF
0F0F0000000000000F0F000000000000
F0F0000000000000F0F0000000000000
00000000000F000000000000000E0000
00000000000000000000000000000000
00000000000F000000000000000B0000
00000000000000000000000000000000
C0C0C0C0C0C0FFFFF0F0FFFFC0C0FFFF
030303030303FFFF0F0FFFFF0303FFFF
C4CDCCC0C0C0FFFFF7FEFFFFC0C0FFFF
935313030303FFFF7FBFFFFF0303FFFF
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
FFFFC0DFD3DBDBD1FFFFFFFFFFFEFEFE
FFFF038383FB8BABFFFFFFFFFF070707
FFFFC0DFD3DBDBD1FFFFFFE0E0E1E1E1
FFFF038383FB8BABFFFFFF7F7FFFFFFF
FFFFC0DFD0D0D0D0FFFFFFFFF0F0F0F0
FFFF03FB0B0B0B0BFFFFFFFF0F0F0F0F
000000000F0F00000000000000000F0F
00000000F0F00000000000000000F0F0
00000000000F00000000000000070000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
DFC1C1C0C0C0FFFFFEFEFEFFC0C0FFFF
AB8BFB030303FFFF070707FF0303FFFF
DFC1C1C0C0C0FFFFE1FFFFFFC0C0FFFF
AB8BFB030303FFFFFFFFFFFF0303FFFF
D0D0DFC0C0CFFFFFF0F0FFFFC0CFFFFF
0B0BFB0303F3FFFF0F0FFFFF03F3FFFF
0F0F0000000000000F0F000000000000
F0F0000000000000F0F0000000000000
00000000000F000000000000000B0000
FFFFFFFFFFFFFFFF0000000000000000
FFFFC0C0C0C0CADBFFFFFFFFFFFFFFFF
FFFF2373FB03FB73FFFFFFFFFFFFFFFF
FFFFC0C0C0C0C2C3FFFFFFFFFFFFF5E4
FFFF2373FB03FB73FFFFFFFFFFFFFFFF
FFFFC0C0C0C0CADBFFFFFFFFFFFFFFFF
FFFF03030303FB73FFFFDF8F07FF078F
FFFFC0C0C0C0C2C3FFFFFFFFFFFFF5E4
FFFF03030303FB73FFFFDF8F07FF078F
FFFFC0C0CECBCBCFFFFFFFE0E0E1E1E1
FFFF030303FBFBFBFFFFFF7F7FFFFFFF
FFFFC0DFD3DBDBD1FFFFFFE0E0E0E0E0
FFFF038383FBFBFBFFFFFF7F7F7F7F7F
00000000000000000000000000000103
0303010101010101070F1D3D7DFDFDFD
00000000000F000000000000000D0000
0000000000000000FFFFFFFFFFFFFFFF
FBDBCAC0C0C0FFFFFFFFFFFFC0C0FFFF
A30303030303FFFFFFFFFFFF0303FFFF
C3C3C2C0C0C0FFFFC4E4F5FFC0C0FFFF
A30303030303FFFF7FFFFFFF0303FFFF
FBDBCAC0C0C0FFFFFFFFFFFFC0C0FFFF
A30303030303FFFFDFFFFFFF0303FFFF
C3C3C2C0C0C0FFFFC4E4F5FFC0C0FFFF
A30303030303FFFF5FFFFFFF0303FFFF
C1C1C1C0C0C0FFFFE1FFFFFFC0C0FFFF
FBFBFB030303FFFFFFFFFFFF0303FFFF
DFC1C1C0C0C0FFFFE0FFFFFFC0C0FFFF
FBFBFB030303FFFF7FFFFFFF0303FFFF
000000000000C0FF070F1F3F7FFFC0FF
01010101010101FFFDFDFDFDFDFD01FF
00000000000F000000000000000E0000
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment