CONSTS = {
    # tilesets
    "OVERWORLD": 0,
    "REDS_HOUSE_1": 1,
    "MART": 2,
    "FOREST": 3,
    "REDS_HOUSE_2": 4,
    "DOJO": 5,
    "POKECENTER": 6,
    "GYM": 7,
    "HOUSE": 8,
    "FOREST_GATE": 9,
    "MUSEUM": 10,
    "UNDERGROUND": 11,
    "GATE": 12,
    "SHIP": 13,
    "SHIP_PORT": 14,
    "CEMETERY": 15,
    "INTERIOR": 16,
    "CAVERN": 17,
    "LOBBY": 18,
    "MANSION": 19,
    "LAB": 20,
    "CLUB": 21,
    "FACILITY": 22,
    "PLATEAU": 23,
    # movement bytes
    "WALK": 0xfe,
    "STAY": 0xff,
    "DOWN": 0xd0,
    "UP": 0xd1,
    "LEFT": 0xd2,
    "RIGHT": 0xd3,
    "UP_DOWN": 0x01,
    "LEFT_RIGHT": 0x02,
    "ALL": 0x00,
    "NONE": 0xff,
    # sprites
    "SPRITE_RED": 0x01,
    "SPRITE_BLUE": 0x02,
    "SPRITE_OAK": 0x03,
    "SPRITE_BUG_CATCHER": 0x04,
    "SPRITE_SLOWBRO": 0x05,
    "SPRITE_LASS": 0x06,
    "SPRITE_BLACK_HAIR_BOY_1": 0x07,
    "SPRITE_LITTLE_GIRL": 0x08,
    "SPRITE_BIRD": 0x09,
    "SPRITE_FAT_BALD_GUY": 0x0a,
    "SPRITE_GAMBLER": 0x0b,
    "SPRITE_BLACK_HAIR_BOY_2": 0x0c,
    "SPRITE_GIRL": 0x0d,
    "SPRITE_HIKER": 0x0e,
    "SPRITE_FOULARD_WOMAN": 0x0f,
    "SPRITE_GENTLEMAN": 0x10,
    "SPRITE_DAISY": 0x11,
    "SPRITE_BIKER": 0x12,
    "SPRITE_SAILOR": 0x13,
    "SPRITE_COOK": 0x14,
    "SPRITE_BIKE_SHOP_GUY": 0x15,
    "SPRITE_MR_FUJI": 0x16,
    "SPRITE_GIOVANNI": 0x17,
    "SPRITE_ROCKET": 0x18,
    "SPRITE_MEDIUM": 0x19,
    "SPRITE_WAITER": 0x1a,
    "SPRITE_ERIKA": 0x1b,
    "SPRITE_MOM_GEISHA": 0x1c,
    "SPRITE_BRUNETTE_GIRL": 0x1d,
    "SPRITE_LANCE": 0x1e,
    "SPRITE_OAK_SCIENTIST_AIDE": 0x1f,
    "SPRITE_OAK_AIDE": 0x20,
    "SPRITE_ROCKER": 0x21,
    "SPRITE_SWIMMER": 0x22,
    "SPRITE_WHITE_PLAYER": 0x23,
    "SPRITE_GYM_HELPER": 0x24,
    "SPRITE_OLD_PERSON": 0x25,
    "SPRITE_MART_GUY": 0x26,
    "SPRITE_FISHER": 0x27,
    "SPRITE_OLD_MEDIUM_WOMAN": 0x28,
    "SPRITE_NURSE": 0x29,
    "SPRITE_CABLE_CLUB_WOMAN": 0x2a,
    "SPRITE_MR_MASTERBALL": 0x2b,
    "SPRITE_LAPRAS_GIVER": 0x2c,
    "SPRITE_WARDEN": 0x2d,
    "SPRITE_SS_CAPTAIN": 0x2e,
    "SPRITE_FISHER2": 0x2f,
    "SPRITE_BLACKBELT": 0x30,
    "SPRITE_GUARD": 0x31,
    "SPRITE_COP_GUARD": 0x32,
    "SPRITE_MOM": 0x33,
    "SPRITE_BALDING_GUY": 0x34,
    "SPRITE_YOUNG_BOY": 0x35,
    "SPRITE_GAMEBOY_KID": 0x36,
    "SPRITE_GAMEBOY_KID_COPY": 0x37,
    "SPRITE_CLEFAIRY": 0x38,
    "SPRITE_AGATHA": 0x39,
    "SPRITE_BRUNO": 0x3a,
    "SPRITE_LORELEI": 0x3b,
    "SPRITE_SEEL": 0x3c,
    "SPRITE_BALL": 0x3d,
    "SPRITE_OMANYTE": 0x3e,
    "SPRITE_BOULDER": 0x3f,
    "SPRITE_PAPER_SHEET": 0x40,
    "SPRITE_BOOK_MAP_DEX": 0x41,
    "SPRITE_CLIPBOARD": 0x42,
    "SPRITE_SNORLAX": 0x43,
    "SPRITE_OLD_AMBER_COPY": 0x44,
    "SPRITE_OLD_AMBER": 0x45,
    "SPRITE_LYING_OLD_MAN_UNUSED_1": 0x46,
    "SPRITE_LYING_OLD_MAN_UNUSED_2": 0x47,
    "SPRITE_LYING_OLD_MAN": 0x48,
    # music & sfx
    "AUDIO_1": 0x02,
    "AUDIO_3": 0x1f,
    "MUSIC_PALLET_TOWN": 0xba,
    "MUSIC_POKECENTER": 0xbd,
    "MUSIC_GYM": 0xc0,
    "MUSIC_CITIES1": 0xc3,
    "MUSIC_CITIES2": 0xc7,
    "MUSIC_CELADON": 0xca,
    "MUSIC_CINNABAR": 0xcd,
    "MUSIC_VERMILION": 0xd0,
    "MUSIC_LAVENDER": 0xd4,
    "MUSIC_SS_ANNE": 0xd8,
    "MUSIC_MEET_PROF_OAK": 0xdb,
    "MUSIC_MEET_RIVAL": 0xde,
    "MUSIC_MUSEUM_GUY": 0xe1,
    "MUSIC_SAFARI_ZONE": 0xe5,
    "MUSIC_PKMN_HEALED": 0xe8,
    "MUSIC_ROUTES1": 0xeb,
    "MUSIC_ROUTES2": 0xef,
    "MUSIC_ROUTES3": 0xf3,
    "MUSIC_ROUTES4": 0xf7,
    "MUSIC_INDIGO_PLATEAU": 0xfb,
    "MUSIC_TITLE_SCREEN": 0xc3,
    "MUSIC_CREDITS": 0xc7,
    "MUSIC_HALL_OF_FAME": 0xca,
    "MUSIC_OAKS_LAB": 0xcd,
    "MUSIC_JIGGLYPUFF_SONG": 0xd0,
    "MUSIC_BIKE_RIDING": 0xd2,
    "MUSIC_SURFING": 0xd6,
    "MUSIC_GAME_CORNER": 0xd9,
    "MUSIC_INTRO_BATTLE": 0xdc,
    "MUSIC_DUNGEON1": 0xdf,
    "MUSIC_DUNGEON2": 0xe3,
    "MUSIC_DUNGEON3": 0xe7,
    "MUSIC_CINNABAR_MANSION": 0xeb,
    "MUSIC_POKEMON_TOWER": 0xef,
    "MUSIC_SILPH_CO": 0xf2,
    "MUSIC_MEET_EVIL_TRAINER": 0xf5,
    "MUSIC_MEET_FEMALE_TRAINER": 0xf8,
    "MUSIC_MEET_MALE_TRAINER": 0xfb,
    "SFX_SNARE_1": 0x01,
    "SFX_SNARE_2": 0x02,
    "SFX_SNARE_3": 0x03,
    "SFX_SNARE_4": 0x04,
    "SFX_SNARE_5": 0x05,
    "SFX_TRIANGLE_1": 0x06,
    "SFX_TRIANGLE_2": 0x07,
    "SFX_SNARE_6": 0x08,
    "SFX_SNARE_7": 0x09,
    "SFX_SNARE_8": 0x0a,
    "SFX_SNARE_9": 0x0b,
    "SFX_CYMBAL_1": 0x0c,
    "SFX_CYMBAL_2": 0x0d,
    "SFX_CYMBAL_3": 0x0e,
    "SFX_MUTED_SNARE_1": 0x0f,
    "SFX_TRIANGLE_3": 0x10,
    "SFX_MUTED_SNARE_2": 0x11,
    "SFX_MUTED_SNARE_3": 0x12,
    "SFX_MUTED_SNARE_4": 0x13,
    "SFX_CRY_00": 0x14,
    "SFX_CRY_01": 0x17,
    "SFX_CRY_02": 0x1a,
    "SFX_CRY_03": 0x1d,
    "SFX_CRY_04": 0x20,
    "SFX_CRY_05": 0x23,
    "SFX_CRY_06": 0x26,
    "SFX_CRY_07": 0x29,
    "SFX_CRY_08": 0x2c,
    "SFX_CRY_09": 0x2f,
    "SFX_CRY_0A": 0x32,
    "SFX_CRY_0B": 0x35,
    "SFX_CRY_0C": 0x38,
    "SFX_CRY_0D": 0x3b,
    "SFX_CRY_0E": 0x3e,
    "SFX_CRY_0F": 0x41,
    "SFX_CRY_10": 0x44,
    "SFX_CRY_11": 0x47,
    "SFX_CRY_12": 0x4a,
    "SFX_CRY_13": 0x4d,
    "SFX_CRY_14": 0x50,
    "SFX_CRY_15": 0x53,
    "SFX_CRY_16": 0x56,
    "SFX_CRY_17": 0x59,
    "SFX_CRY_18": 0x5c,
    "SFX_CRY_19": 0x5f,
    "SFX_CRY_1A": 0x62,
    "SFX_CRY_1B": 0x65,
    "SFX_CRY_1C": 0x68,
    "SFX_CRY_1D": 0x6b,
    "SFX_CRY_1E": 0x6e,
    "SFX_CRY_1F": 0x71,
    "SFX_CRY_20": 0x74,
    "SFX_CRY_21": 0x77,
    "SFX_CRY_22": 0x7a,
    "SFX_CRY_23": 0x7d,
    "SFX_CRY_24": 0x80,
    "SFX_CRY_25": 0x83,
    "SFX_GET_ITEM_2": 0x89,
    "SFX_TINK": 0x8c,
    "SFX_HEAL_HP": 0x8d,
    "SFX_HEAL_AILMENT": 0x8e,
    "SFX_START_MENU": 0x8f,
    "SFX_PRESS_AB": 0x90,
    "SFX_GET_ITEM_1": 0x86,
    "SFX_POKEDEX_RATING": 0x91,
    "SFX_GET_KEY_ITEM": 0x94,
    "SFX_POISONED": 0x97,
    "SFX_TRADE_MACHINE": 0x98,
    "SFX_TURN_ON_PC": 0x99,
    "SFX_TURN_OFF_PC": 0x9a,
    "SFX_ENTER_PC": 0x9b,
    "SFX_SHRINK": 0x9c,
    "SFX_SWITCH": 0x9d,
    "SFX_HEALING_MACHINE": 0x9e,
    "SFX_TELEPORT_EXIT_1": 0x9f,
    "SFX_TELEPORT_ENTER_1": 0xa0,
    "SFX_TELEPORT_EXIT_2": 0xa1,
    "SFX_LEDGE": 0xa2,
    "SFX_TELEPORT_ENTER_2": 0xa3,
    "SFX_FLY": 0xa4,
    "SFX_DENIED": 0xa5,
    "SFX_ARROW_TILES": 0xa7,
    "SFX_PUSH_BOULDER": 0xa8,
    "SFX_SS_ANNE_HORN": 0xa9,
    "SFX_WITHDRAW_DEPOSIT": 0xab,
    "SFX_CUT": 0xac,
    "SFX_GO_INSIDE": 0xad,
    "SFX_SWAP": 0xae,
    "SFX_PURCHASE": 0xb2,
    "SFX_COLLISION": 0xb4,
    "SFX_GO_OUTSIDE": 0xb5,
    "SFX_SAVE": 0xb6,
    "SFX_POKEFLUE": 0xb8,
    "SFX_SAFARI_ZONE_PA": 0xb9,
    "SFX_INTRO_LUNGE": 0xb8,
    "SFX_INTRO_HIP": 0xb9,
    "SFX_INTRO_HOP": 0xba,
    "SFX_INTRO_RAISE": 0xbb,
    "SFX_INTRO_CRASH": 0xbc,
    "SFX_INTRO_WHOOSH": 0xbd,
    "SFX_SLOTS_STOP_WHEEL": 0xbe,
    "SFX_SLOTS_REWARD": 0xbf,
    "SFX_SLOTS_NEW_SPIN": 0xc0,
    "SFX_SHOOTING_STAR": 0xc2,
    # palettes
    "PAL_ROUTE": 0x00,
    "PAL_PALLET": 0x01,
    "PAL_VIRIDIAN": 0x02,
    "PAL_PEWTER": 0x03,
    "PAL_CERULEAN": 0x04,
    "PAL_LAVENDER": 0x05,
    "PAL_VERMILION": 0x06,
    "PAL_CELADON": 0x07,
    "PAL_FUCHSIA": 0x08,
    "PAL_CINNABAR": 0x09,
    "PAL_INDIGO": 0x0A,
    "PAL_SAFFRON": 0x0B
}