' '         = 00
'À'         = 01
'Á'         = 02
'Â'         = 03
'Ç'         = 04
'È'         = 05
'É'         = 06
'Ê'         = 07
'Ë'         = 08
'Ì'         = 09
'Î'         = 0B
'Ï'         = 0C
'Ò'         = 0D
'Ó'         = 0E
'Ô'         = 0F
'Œ'         = 10
'Ù'         = 11
'Ú'         = 12
'Û'         = 13
'Ñ'         = 14
'ß'         = 15
'à'         = 16
'á'         = 17
'ç'         = 19
'è'         = 1A
'é'         = 1B
'ê'         = 1C
'ë'         = 1D
'ì'         = 1E
'î'         = 20
'ï'         = 21
'ò'         = 22
'ó'         = 23
'ô'         = 24
'œ'         = 25
'ù'         = 26
'ú'         = 27
'û'         = 28
'ñ'         = 29
'º'         = 2A
'ª'         = 2B
SUPER_ER    = 2C
'&'         = 2D
'+'         = 2E
LV          = 34
'='         = 35
'¿'         = 51
'¡'         = 52
PK          = 53
PKMN        = 53 54
POKEBLOCK   = 55 56 57 58 59
'Í'         = 5A
'%'         = 5B
'('         = 5C
')'         = 5D
'â'         = 68
'í'         = 6F
UP_ARROW    = 79
DOWN_ARROW  = 7A
LEFT_ARROW  = 7B
RIGHT_ARROW = 7C
'0'         = A1
'1'         = A2
'2'         = A3
'3'         = A4
'4'         = A5
'5'         = A6
'6'         = A7
'7'         = A8
'8'         = A9
'9'         = AA
'!'         = AB
'?'         = AC
'.'         = AD
'-'         = AE
'…'         = B0
'“'         = B1
'”'         = B2
'‘'         = B3
'\''        = B4
'♂'         = B5
'♀'         = B6
'¥'         = B7
','         = B8
'×'         = B9
'/'         = BA
'A'         = BB
'B'         = BC
'C'         = BD
'D'         = BE
'E'         = BF
'F'         = C0
'G'         = C1
'H'         = C2
'I'         = C3
'J'         = C4
'K'         = C5
'L'         = C6
'M'         = C7
'N'         = C8
'O'         = C9
'P'         = CA
'Q'         = CB
'R'         = CC
'S'         = CD
'T'         = CE
'U'         = CF
'V'         = D0
'W'         = D1
'X'         = D2
'Y'         = D3
'Z'         = D4
'a'         = D5
'b'         = D6
'c'         = D7
'd'         = D8
'e'         = D9
'f'         = DA
'g'         = DB
'h'         = DC
'i'         = DD
'j'         = DE
'k'         = DF
'l'         = E0
'm'         = E1
'n'         = E2
'o'         = E3
'p'         = E4
'q'         = E5
'r'         = E6
's'         = E7
't'         = E8
'u'         = E9
'v'         = EA
'w'         = EB
'x'         = EC
'y'         = ED
'z'         = EE
'▶'         = EF
':'         = F0
'Ä'         = F1
'Ö'         = F2
'Ü'         = F3
'ä'         = F4
'ö'         = F5
'ü'         = F6
@ Arrows at F7-FA are duplicates of 79-7C. Unused?
TALL_PLUS   = FC 0C FB
'$'         = FF

@ Hiragana
'あ' = 01
'い' = 02
'う' = 03
'え' = 04
'お' = 05
'か' = 06
'き' = 07
'く' = 08
'け' = 09
'こ' = 0A
'さ' = 0B
'し' = 0C
'す' = 0D
'せ' = 0E
'そ' = 0F
'た' = 10
'ち' = 11
'つ' = 12
'て' = 13
'と' = 14
'な' = 15
'に' = 16
'ぬ' = 17
'ね' = 18
'の' = 19
'は' = 1A
'ひ' = 1B
'ふ' = 1C
'へ' = 1D
'ほ' = 1E
'ま' = 1F
'み' = 20
'む' = 21
'め' = 22
'も' = 23
'や' = 24
'ゆ' = 25
'よ' = 26
'ら' = 27
'り' = 28
'る' = 29
'れ' = 2A
'ろ' = 2B
'わ' = 2C
'を' = 2D
'ん' = 2E
'ぁ' = 2F
'ぃ' = 30
'ぅ' = 31
'ぇ' = 32
'ぉ' = 33
'ゃ' = 34
'ゅ' = 35
'ょ' = 36
'が' = 37
'ぎ' = 38
'ぐ' = 39
'げ' = 3A
'ご' = 3B
'ざ' = 3C
'じ' = 3D
'ず' = 3E
'ぜ' = 3F
'ぞ' = 40
'だ' = 41
'ぢ' = 42
'づ' = 43
'で' = 44
'ど' = 45
'ば' = 46
'び' = 47
'ぶ' = 48
'べ' = 49
'ぼ' = 4A
'ぱ' = 4B
'ぴ' = 4C
'ぷ' = 4D
'ぺ' = 4E
'ぽ' = 4F
'っ' = 50

@ Katakana
'ア' = 51
'イ' = 52
'ウ' = 53
'エ' = 54
'オ' = 55
'カ' = 56
'キ' = 57
'ク' = 58
'ケ' = 59
'コ' = 5A
'サ' = 5B
'シ' = 5C
'ス' = 5D
'セ' = 5E
'ソ' = 5F
'タ' = 60
'チ' = 61
'ツ' = 62
'テ' = 63
'ト' = 64
'ナ' = 65
'ニ' = 66
'ヌ' = 67
'ネ' = 68
'ノ' = 69
'ハ' = 6A
'ヒ' = 6B
'フ' = 6C
'ヘ' = 6D
'ホ' = 6E
'マ' = 6F
'ミ' = 70
'ム' = 71
'メ' = 72
'モ' = 73
'ヤ' = 74
'ユ' = 75
'ヨ' = 76
'ラ' = 77
'リ' = 78
'ル' = 79
'レ' = 7A
'ロ' = 7B
'ワ' = 7C
'ヲ' = 7D
'ン' = 7E
'ァ' = 7F
'ィ' = 80
'ゥ' = 81
'ェ' = 82
'ォ' = 83
'ャ' = 84
'ュ' = 85
'ョ' = 86
'ガ' = 87
'ギ' = 88
'グ' = 89
'ゲ' = 8A
'ゴ' = 8B
'ザ' = 8C
'ジ' = 8D
'ズ' = 8E
'ゼ' = 8F
'ゾ' = 90
'ダ' = 91
'ヂ' = 92
'ヅ' = 93
'デ' = 94
'ド' = 95
'バ' = 96
'ビ' = 97
'ブ' = 98
'ベ' = 99
'ボ' = 9A
'パ' = 9B
'ピ' = 9C
'プ' = 9D
'ペ' = 9E
'ポ' = 9F
'ッ' = A0

@ Japanese punctuation
'　' = 00
'！' = AB
'？' = AC
'。' = AD
'ー' = AE
'·' = AF
'‥' = B0

@ TODO: Identify and declare F7 control codes
UNKNOWN_F7 = F7
KEYGFX = F8
EXTRA = F9

KEYGFX_A_BUTTON        = F8 00
KEYGFX_B_BUTTON        = F8 01
KEYGFX_L_BUTTON        = F8 02
KEYGFX_R_BUTTON        = F8 03
KEYGFX_START_BUTTON    = F8 04
KEYGFX_SELECT_BUTTON   = F8 05
KEYGFX_DPAD_UP         = F8 06
KEYGFX_DPAD_DOWN       = F8 07
KEYGFX_DPAD_LEFT       = F8 08
KEYGFX_DPAD_RIGHT      = F8 09
KEYGFX_DPAD_UP_DOWN    = F8 0A
KEYGFX_DPAD_LEFT_RIGHT = F8 0B
KEYGFX_DPAD_ANY        = F8 0C

EXTRA_UPARROW      = F9 00
EXTRA_DOWNARROW    = F9 01
EXTRA_LEFTARROW    = F9 02
EXTRA_RIGHTARROW   = F9 03
EXTRA_PLUS         = F9 04
EXTRA_LV           = F9 05
EXTRA_PP           = F9 06
EXTRA_ID           = F9 07
EXTRA_NO           = F9 08
EXTRA_UNDERSCORE   = F9 09
EXTRA_CIRCLE_1     = F9 0A
EXTRA_CIRCLE_2     = F9 0B
EXTRA_CIRCLE_3     = F9 0C
EXTRA_CIRCLE_4     = F9 0D
EXTRA_CIRCLE_5     = F9 0E
EXTRA_CIRCLE_6     = F9 0F
EXTRA_CIRCLE_7     = F9 10
EXTRA_CIRCLE_8     = F9 11
EXTRA_CIRCLE_9     = F9 12
EXTRA_LEFT_PAREN   = F9 13
EXTRA_RIGHT_PAREN  = F9 14
EXTRA_TARGET       = F9 15
EXTRA_TRIANGLE     = F9 16
EXTRA_X            = F9 17

STRING = FD

@ string placeholders
PLAYER         = FD 01
STR_VAR_1      = FD 02
STR_VAR_2      = FD 03
STR_VAR_3      = FD 04
KUN            = FD 05
RIVAL          = FD 06
@ version-dependent strings
VERSION        = FD 07 @ "RUBY"    / "SAPPHIRE"
EVIL_TEAM      = FD 08 @ "MAGMA"   / "AQUA"
GOOD_TEAM      = FD 09 @ "AQUA"    / "MAGMA"
EVIL_LEADER    = FD 0A @ "MAXIE"   / "ARCHIE"
GOOD_LEADER    = FD 0B @ "ARCHIE"  / "MAXIE"
EVIL_LEGENDARY = FD 0C @ "GROUDON" / "KYOGRE"
GOOD_LEGENDARY = FD 0D @ "KYOGRE"  / "GROUDON"

@ battle macros

UNKNOWN_STR = FD 00

ATTACKING_TRAINER = FD 08
DEFENDING_TRAINER = FD 09

ATTACKING_MON = FD 0C
DEFENDING_MON = FD 0D

@ indicates the end of a town/city name (before " TOWN" or " CITY")
NAME_END = FC 00

@ more text functions

COLOR = FC 01 @ use a color listed below right after
HIGHLIGHT = FC 02 @ same as fc 01
SHADOW = FC 03 @ same as fc 01
COLOR_HIGHLIGHT_SHADOW = FC 04 @ takes 3 bytes
PALETTE = FC 05 @ used in credits
SIZE = FC 06 @ note that anything other than "SMALL" is invalid
UNKNOWN_7 = FC 07
PAUSE = FC 08 @ manually print the wait byte after this, havent mapped them
PAUSE_UNTIL_PRESS = FC 09
UNKNOWN_A = FC 0A
PLAY_BGM = FC 0B
ESCAPE = FC 0C
SHIFT_TEXT = FC 0D
UNKNOWN_E = FC 0E
UNKNOWN_F = FC 0F
PLAY_SE = FC 10
CLEAR = FC 11
SKIP = FC 12
CLEAR_TO = FC 13
UNKNOWN_14 = FC 14
JPN = FC 15
ENG = FC 16
PAUSE_MUSIC = FC 17
RESUME_MUSIC = FC 18

@ font sizes

SMALL = FC 06 00
BIG   = FC 06 04

@ colors

TRANSPARENT = 00
DARK_GREY = 01
RED = 02
GREEN = 03
BLUE = 04
YELLOW = 05
CYAN = 06
MAGENTA = 07
LIGHT_GRAY = 08
BLACK = 09
BLACK2 = 0A @ duplicate of black?
SILVER = 0B
WHITE = 0C
SKY_BLUE = 0D
LIGHT_BLUE = 0E
WHITE2 = 0F @ duplicate of white?

@ sound and music

MUS_DUMMY       = 00 00
SE_STOP         = 00 00
SE_KAIFUKU      = 01 00
SE_PC_LOGIN     = 02 00
SE_PC_OFF       = 03 00
SE_PC_ON        = 04 00
SE_SELECT       = 05 00
SE_WIN_OPEN     = 06 00
SE_WALL_HIT     = 07 00
SE_DOOR         = 08 00
SE_KAIDAN       = 09 00
SE_DANSA        = 0A 00
SE_JITENSYA     = 0B 00
SE_KOUKA_L      = 0C 00
SE_KOUKA_M      = 0D 00
SE_KOUKA_H      = 0E 00
SE_BOWA2        = 0F 00
SE_POKE_DEAD    = 10 00
SE_NIGERU       = 11 00
SE_JIDO_DOA     = 12 00
SE_NAMINORI     = 13 00
SE_BAN          = 14 00
SE_PIN          = 15 00
SE_BOO          = 16 00
SE_BOWA         = 17 00
SE_JYUNI        = 18 00
SE_SEIKAI       = 19 00
SE_HAZURE       = 1A 00
SE_EXP          = 1B 00
SE_JITE_PYOKO   = 1C 00
SE_MU_PACHI     = 1D 00
SE_TK_KASYA     = 1E 00
SE_FU_ZAKU      = 1F 00
SE_FU_ZAKU2     = 20 00
SE_FU_ZUZUZU    = 21 00
SE_RU_GASHIN    = 22 00
SE_RU_GASYAN    = 23 00
SE_RU_BARI      = 24 00
SE_RU_HYUU      = 25 00
SE_KI_GASYAN    = 26 00
SE_TK_WARPIN    = 27 00
SE_TK_WARPOUT   = 28 00
SE_TU_SAA       = 29 00
SE_HI_TURUN     = 2A 00
SE_TRACK_MOVE   = 2B 00
SE_TRACK_STOP   = 2C 00
SE_TRACK_HAIKI  = 2D 00
SE_TRACK_DOOR   = 2E 00
SE_MOTER        = 2F 00
SE_SAVE         = 30 00
SE_KON          = 31 00
SE_KON2         = 32 00
SE_KON3         = 33 00
SE_KON4         = 34 00
SE_SUIKOMU      = 35 00
SE_NAGERU       = 36 00
SE_TOY_C        = 37 00
SE_TOY_D        = 38 00
SE_TOY_E        = 39 00
SE_TOY_F        = 3A 00
SE_TOY_G        = 3B 00
SE_TOY_A        = 3C 00
SE_TOY_B        = 3D 00
SE_TOY_C1       = 3E 00
SE_MIZU         = 3F 00
SE_HASHI        = 40 00
SE_DAUGI        = 41 00
SE_PINPON       = 42 00
SE_FUUSEN1      = 43 00
SE_FUUSEN2      = 44 00
SE_FUUSEN3      = 45 00
SE_TOY_KABE     = 46 00
SE_TOY_DANGO    = 47 00
SE_DOKU         = 48 00
SE_ESUKA        = 49 00
SE_T_AME        = 4A 00
SE_T_AME_E      = 4B 00
SE_T_OOAME      = 4C 00
SE_T_OOAME_E    = 4D 00
SE_T_KOAME      = 4E 00
SE_T_KOAME_E    = 4F 00
SE_T_KAMI       = 50 00
SE_T_KAMI2      = 51 00
SE_ELEBETA      = 52 00
SE_HINSI        = 53 00
SE_EXPMAX       = 54 00
SE_TAMAKORO     = 55 00
SE_TAMAKORO_E   = 56 00
SE_BASABASA     = 57 00
SE_REGI         = 58 00
SE_C_GAJI       = 59 00
SE_C_MAKU_U     = 5A 00
SE_C_MAKU_D     = 5B 00
SE_C_PASI       = 5C 00
SE_C_SYU        = 5D 00
SE_C_PIKON      = 5E 00
SE_REAPOKE      = 5F 00
SE_OP_BASYU     = 60 00
SE_BT_START     = 61 00
SE_DENDOU       = 62 00
SE_JIHANKI      = 63 00
SE_TAMA         = 64 00
SE_Z_SCROLL     = 65 00
SE_Z_PAGE       = 66 00
SE_PN_ON        = 67 00
SE_PN_OFF       = 68 00
SE_Z_SEARCH     = 69 00
SE_TAMAGO       = 6A 00
SE_TB_START     = 6B 00
SE_TB_KON       = 6C 00
SE_TB_KARA      = 6D 00
SE_BIDORO       = 6E 00
SE_W085         = 6F 00
SE_W085B        = 70 00
SE_W231         = 71 00
SE_W171         = 72 00
SE_W233         = 73 00
SE_W233B        = 74 00
SE_W145         = 75 00
SE_W145B        = 76 00
SE_W145C        = 77 00
SE_W240         = 78 00
SE_W015         = 79 00
SE_W081         = 7A 00
SE_W081B        = 7B 00
SE_W088         = 7C 00
SE_W016         = 7D 00
SE_W016B        = 7E 00
SE_W003         = 7F 00
SE_W104         = 80 00
SE_W013         = 81 00
SE_W196         = 82 00
SE_W086         = 83 00
SE_W004         = 84 00
SE_W025         = 85 00
SE_W025B        = 86 00
SE_W152         = 87 00
SE_W026         = 88 00
SE_W172         = 89 00
SE_W172B        = 8A 00
SE_W053         = 8B 00
SE_W007         = 8C 00
SE_W092         = 8D 00
SE_W221         = 8E 00
SE_W221B        = 8F 00
SE_W052         = 90 00
SE_W036         = 91 00
SE_W059         = 92 00
SE_W059B        = 93 00
SE_W010         = 94 00
SE_W011         = 95 00
SE_W017         = 96 00
SE_W019         = 97 00
SE_W028         = 98 00
SE_W013B        = 99 00
SE_W044         = 9A 00
SE_W029         = 9B 00
SE_W057         = 9C 00
SE_W056         = 9D 00
SE_W250         = 9E 00
SE_W030         = 9F 00
SE_W039         = A0 00
SE_W054         = A1 00
SE_W077         = A2 00
SE_W020         = A3 00
SE_W082         = A4 00
SE_W047         = A5 00
SE_W195         = A6 00
SE_W006         = A7 00
SE_W091         = A8 00
SE_W146         = A9 00
SE_W120         = AA 00
SE_W153         = AB 00
SE_W071B        = AC 00
SE_W071         = AD 00
SE_W103         = AE 00
SE_W062         = AF 00
SE_W062B        = B0 00
SE_W048         = B1 00
SE_W187         = B2 00
SE_W118         = B3 00
SE_W155         = B4 00
SE_W122         = B5 00
SE_W060         = B6 00
SE_W185         = B7 00
SE_W014         = B8 00
SE_W043         = B9 00
SE_W207         = BA 00
SE_W207B        = BB 00
SE_W215         = BC 00
SE_W109         = BD 00
SE_W173         = BE 00
SE_W280         = BF 00
SE_W202         = C0 00
SE_W060B        = C1 00
SE_W076         = C2 00
SE_W080         = C3 00
SE_W100         = C4 00
SE_W107         = C5 00
SE_W166         = C6 00
SE_W129         = C7 00
SE_W115         = C8 00
SE_W112         = C9 00
SE_W197         = CA 00
SE_W199         = CB 00
SE_W236         = CC 00
SE_W204         = CD 00
SE_W268         = CE 00
SE_W070         = CF 00
SE_W063         = D0 00
SE_W127         = D1 00
SE_W179         = D2 00
SE_W151         = D3 00
SE_W201         = D4 00
SE_W161         = D5 00
SE_W161B        = D6 00
SE_W227         = D7 00
SE_W227B        = D8 00
SE_W226         = D9 00
SE_W208         = DA 00
SE_W213         = DB 00
SE_W213B        = DC 00
SE_W234         = DD 00
SE_W260         = DE 00
SE_W328         = DF 00
SE_W320         = E0 00
SE_W255         = E1 00
SE_W291         = E2 00
SE_W089         = E3 00
SE_W239         = E4 00
SE_W230         = E5 00
SE_W281         = E6 00
SE_W327         = E7 00
SE_W287         = E8 00
SE_W257         = E9 00
SE_W253         = EA 00
SE_W258         = EB 00
SE_W322         = EC 00
SE_W298         = ED 00
SE_W287B        = EE 00
SE_W114         = EF 00
SE_W063B        = F0 00
MUS_W_DOOR      = F1 00
SE_CARD1        = F2 00
SE_CARD2        = F3 00
SE_CARD3        = F4 00
SE_BAG1         = F5 00
SE_BAG2         = F6 00
SE_GETTING      = F7 00
SE_SHOP         = F8 00
SE_KITEKI       = F9 00
SE_HELP_OP      = FA 00
SE_HELP_CL      = FB 00
SE_HELP_NG      = FC 00
SE_DEOMOV       = FD 00
SE_EXCELLENT    = FE 00
SE_NAWAMISS     = FF 00
MUS_ME_ASA      = 00 01
MUS_FANFA1      = 01 01
MUS_FANFA4      = 02 01
MUS_FANFA5      = 03 01
MUS_ME_BACHI    = 04 01
MUS_ME_WAZA     = 05 01
MUS_ME_KINOMI   = 06 01
MUS_ME_SHINKA   = 07 01
MUS_SHINKA      = 08 01
MUS_BATTLE32    = 09 01
MUS_BATTLE20    = 0A 01
MUS_P_SCHOOL    = 0B 01
MUS_ME_B_BIG    = 0C 01
MUS_ME_B_SMALL  = 0D 01
MUS_ME_WASURE   = 0E 01
MUS_ME_ZANNEN   = 0F 01
MUS_ANNAI       = 10 01
MUS_SLOT        = 11 01
MUS_AJITO       = 12 01
MUS_GYM         = 13 01
MUS_PURIN       = 14 01
MUS_DEMO        = 15 01
MUS_TITLE       = 16 01
MUS_GUREN       = 17 01
MUS_SHION       = 18 01
MUS_KAIHUKU     = 19 01
MUS_CYCLING     = 1A 01
MUS_ROCKET      = 1B 01
MUS_SHOUJO      = 1C 01
MUS_SHOUNEN     = 1D 01
MUS_DENDOU      = 1E 01
MUS_T_MORI      = 1F 01
MUS_OTSUKIMI    = 20 01
MUS_POKEYASHI   = 21 01
MUS_ENDING      = 22 01
MUS_LOAD01      = 23 01
MUS_OPENING     = 24 01
MUS_LOAD02      = 25 01
MUS_LOAD03      = 26 01
MUS_CHAMP_R     = 27 01
MUS_VS_GYM      = 28 01
MUS_VS_TORE     = 29 01
MUS_VS_YASEI    = 2A 01
MUS_VS_LAST     = 2B 01
MUS_MASARA      = 2C 01
MUS_KENKYU      = 2D 01
MUS_OHKIDO      = 2E 01
MUS_POKECEN     = 2F 01
MUS_SANTOAN     = 30 01
MUS_NAMINORI    = 31 01
MUS_P_TOWER     = 32 01
MUS_SHIRUHU     = 33 01
MUS_HANADA      = 34 01
MUS_TAMAMUSI    = 35 01
MUS_WIN_TRE     = 36 01
MUS_WIN_YASEI   = 37 01
MUS_WIN_GYM     = 38 01
MUS_KUCHIBA     = 39 01
MUS_NIBI        = 3A 01
MUS_RIVAL1      = 3B 01
MUS_RIVAL2      = 3C 01
MUS_FAN2        = 3D 01
MUS_FAN5        = 3E 01
MUS_FAN6        = 3F 01
MUS_ME_PHOTO    = 40 01
MUS_TITLEROG    = 41 01
MUS_GET_YASEI   = 42 01
MUS_SOUSA       = 43 01
MUS_SEKAIKAN    = 44 01
MUS_SEIBETU     = 45 01
MUS_JUMP        = 46 01
MUS_UNION       = 47 01
MUS_NETWORK     = 48 01
MUS_OKURIMONO   = 49 01
MUS_KINOMIKUI   = 4A 01
MUS_NANADUNGEON = 4B 01
MUS_OSHIE_TV    = 4C 01
MUS_NANASHIMA   = 4D 01
MUS_NANAISEKI   = 4E 01
MUS_NANA123     = 4F 01
MUS_NANA45      = 50 01
MUS_NANA67      = 51 01
MUS_POKEFUE     = 52 01
MUS_VS_DEO      = 53 01
MUS_VS_MYU2     = 54 01
MUS_VS_DEN      = 55 01
MUS_EXEYE       = 56 01
MUS_DEOEYE      = 57 01
MUS_T_TOWER     = 58 01
MUS_SLOWMASARA  = 59 01
MUS_TVNOIZE     = 5A 01

'\l' = FA @ scroll up window text
'\p' = FB @ new paragraph
'\n' = FE @ new line
