Code
CurtainsOpening_5_advance_task_state CurtainsOpening_5_set_current_ppu_command_index_and_advance_task_state OnNMI OnReset absolute_value action_timer_gte_16_odd add_16bit_to_byte_CE add_mask_to_play_sound_0 add_play_sound_2 add_screen_status_to_unlocked_door_directions add_value_to_sub_rupees adjust_walk_state advance_lighting_room_state_and_return after_setting_some_frame_state apply_damage_from_own_fire apply_damage_to_enemy apply_damage_to_gohma apply_knockback aquamentus_shoot_fireball armos_ghini_update_sprite_and_check_hits audio_play_boss_roar audio_unknown_1 audio_unknown_2 audio_unknown_3 audio_unknown_4 audio_unknown_5 audio_unknown_6 audio_unknown_6_handle_music audio_unknown_6a audio_unknown_6b audio_unknown_6c audio_unknown_6d audio_unknown_6e audio_unknown_6f audio_unknown_6g audio_unknown_7 audio_update blue_wizzrobe_action_timer_at_1_frame blue_wizzrobe_action_timer_at_1_frame_xxx bomb_upgrade_check_link_position call_digdogger_state call_jump_table call_scrolling_1_task_thunk call_sub_164F6_with_previous_unlocked_door_directions call_update_curtain_from_rom2 cellar_increase_task_state_and_copy_ppu_data change_background_tile_at_current_object_position change_direction change_enemy_direction_based_on_flags check_attack_arrow check_attack_beam_sword_rod check_attack_bomb_or_fire check_attack_boomerang check_attack_sword check_beam_sword_or_rod check_boomerang_sound check_boss_roar check_create_zola check_door check_door_entry check_dungeon_shoot_fireball check_enemy_hits check_fire_projectile check_for_cellar_exit check_has_compass_in_current_dungeon check_has_map_in_current_dungeon check_hitbox check_hitbox_with_specified_size check_if_dark check_if_darknut check_if_item_selection_is_valid check_if_old_man_hit check_if_overworld_secret_should_exist check_if_room_cleared check_if_room_is_dark check_if_spawn_is_near_link check_if_spawn_is_near_link_or_in_solid_object check_if_stepped_onto_entrance check_if_walked_onto_screen_boundary check_if_walked_onto_screen_boundary_cellar check_invincibility_frames_palette_shift check_link_hit_by_enemy check_link_hit_by_projectile check_lost_woods_code check_object_against_screen_bounding_box_both check_object_against_screen_bounding_box_both_or_walking_state check_object_against_screen_bounding_box_x check_object_against_screen_bounding_box_y check_object_collision check_object_collision_0x13 check_old_man_hit_and_update_sprite check_overworld_bomb_or_fire_secret_hitbox check_overworld_map_history check_push_blocks check_remove_ladder check_screen_boundary_movement check_sram check_walked_to_screen_boundary_not_link check_weapon_hit check_weapon_hit_1 check_weapon_hit_2 check_zol_or_gel_hits clear_game_mode_task_and_state clear_knockback clear_knockback2 clear_ladder_and_player_projectiles clear_nametables clear_oam clear_overworld_room_object_info clear_ppu_data clear_ppumask clear_recorder_whirlwind clear_room_tiles_to_var_10 clear_screen_history_and_clear_force_beam_sword clear_some_enemy_state clear_some_oam_sprites clear_store_flag_show_rupee_icon clear_task_state clear_usually_zero clear_weapon_state collect_floor_item collect_floor_item_max collect_floor_item_not_add continue_check_attack_arrow continue_check_attack_beam_sword_rod continue_setup convert_number_to_string copy_background_column_to_ppu copy_door_or_bomb_sprite_data copy_dungeon_data copy_hearts copy_some_ppu_data copy_sprite_data_1 copy_sprite_data_2 copy_store_ppu_command_buffer create_delete_save_handle_changing_items create_delete_save_helper create_enemy create_fireball_near_object create_moblin_octorok_lynel_projectile create_object_at_another_object create_object_at_another_object_2 create_object_at_another_object_with_slot create_recorder_whirlwind_at_A create_recorder_whirlwind_at_link create_save_handle_dpad create_save_handle_dpad_helper create_save_update_sprites_1 create_save_update_sprites_1a create_save_update_sprites_2 deactivate_clock_and_walk_state decrease_enemy_speed decrease_invincibility_frames decrement_16bit_var4_by_1 decrement_projectile_count_and_delete_enemy delete_enemy despawn_object despawn_object_thunk despawn_secret_block_and_change_background_tile disable_greyscale divide_by_10 do_update_monster_over_0x6A dodongo_check_bomb_distance dodongo_check_hits_and_death dodongo_check_hits_for_one_side dodongo_check_nearby_bombs dodongo_set_killed_and_play_sound dodongo_set_state_4_to_0_and_clear_weapon_state dodongo_update_sprites dodongo_walk_state_0_walking dodongo_walk_state_1_ate_bomb dodongo_walk_state_1_state_0 dodongo_walk_state_2_stunned_by_bomb_explosion dungeon_get_item_position dungeon_get_screen_code dungeon_only_handle_secrets_and_shutters dungeon_only_update_door_background enemy_damage enemy_killed exit_dungeon_after_triforce_fanfare find_direction_with_diagonals_for_object find_last_available_object_idx finish_object_bounds_check fire_wizzrobe_beam flip_horizontally from_spawn_ghini_from_tombs ganon_1_waiting_for_action_timer ganon_set_var_0_to_ganon_x_minus_value ganon_set_var_0_to_ganon_x_plus_value ganon_set_var_0_to_ganon_y_minus_value ganon_set_var_0_to_ganon_y_plus_value get_bouncy_object_type get_dungeon_door_sprite_ptr get_dungeon_door_type get_dungeon_ppu_data_0_ptr get_dungeon_ppu_data_1_ptr get_gleeok_neck_pointers get_movement_position get_next_spawn_from_side_position get_opposite_direction_and_index get_room_status_floor_item_picked_up get_screen_status give_item gleeok_update_sprites_and_spawn_flying_heads handle_bomb_greyscale_flash handle_bomb_greyscale_flash_thunk handle_door_Bomb handle_door_Door handle_door_LockedDoor handle_door_Push handle_door_ShutterDoor handle_door_Wall handle_open_doors_in_dungeon_room handle_potion_fairy_refill handle_recorder_lake_door handle_spawning_armos_ghini_on_touch increase_enemy_speed increase_or_decrease_recorder_idx increment_16bit_var0_by_1 increment_16bit_var0_by_A increment_16bit_var2_by_1 increment_16bit_var2_by_A increment_16bit_var4_by_1 increment_16bit_var4_by_A increment_game_mode increment_task_state_and_return increment_work_value_and_return_2 init_fairy_drop init_memory init_ppuscroll init_sram_code initial_vsync_1 initial_vsync_2 intro_text_end_pause intro_text_finish intro_text_first_scroll intro_text_item_scroll intro_text_item_scroll_0 intro_text_item_scroll_1 intro_text_item_scroll_2 intro_text_item_scroll_3 intro_text_item_scroll_3a intro_text_item_scroll_3b intro_text_pause_for_big_text inverse is_health_full jump_from_update_monster_moblin jump_from_update_monster_octorok keese_set_direction_to_y link_swing_sword load_money_making_game_sign lock_movement_to_dungeon_door mark_finished_and_increase_store_state mark_map_location_visited mark_overworld_secret_opened_and_despawn_secret mark_room_item_collected mirror_horizontally no_pending_rupees_to_subtract not_game_mode_9 not_in_create_save old_man_message_1 old_man_message_2 old_man_message_3_death_mountain open_doors_and_spawn_room_item pick_up_five_rupee pick_up_ganon_triforce pick_up_ganon_triforce_thunk pick_up_heart pick_up_heart_container pick_up_item pick_up_other pick_up_per_dungeon_item pick_up_rupee pick_up_rupee_thunk pick_up_something pick_up_something_thunk play_boss_pain_sound_after_hit play_boss_sound_1 play_boss_sound_1_if_not_state_0 play_fairy_sound play_secret_sound play_shield_ting play_sound_on_channel ppu_work_after_sprite_0_hit prevent_item_and_sword_when_near_screen_edge process_movement raft_location_1 raft_location_2 randomly_rotate_movement_by_45_degrees recorder_call_whirlwind remove_like_like_or_wall_master_holding_link_sprite reset_animation_frame_update_link_sprite_and_check_ladder reset_monster_state_after_npc_action_timers reset_room_state reset_sprite_index_to_zero return_wall_unpassable reverse_direction_1 reverse_direction_2 reverse_walking_direction reverse_walking_direction_if_out_of_bounds reverse_walking_direction_if_out_of_bounds2 rom0_OnReset rom0_set_mmc_control_register rom0_set_prg_bank rom1_OnReset rom1_set_mmc_control_register rom1_set_prg_bank rom2_OnReset rom2_set_mmc_control_register rom2_set_prg_bank rom3_OnReset rom3_copy_data_to_ppu rom3_copy_data_to_ppu_with_size rom3_get_ppu_data_1_ptr_and_size rom3_set_mmc_control_register rom3_set_prg_bank rom4_OnReset rom4_set_mmc_control_register rom4_set_prg_bank rom5_OnReset rom5_set_mmc_control_register rom5_set_prg_bank rom6_OnReset rom6_set_mmc_control_register rom6_set_prg_bank room_handler_ganon_triforce_opens_doors room_handler_killing_enemies_opens_doors room_handler_master_enemy_opens_doors room_handler_master_enemy_opens_doors_and_kills_everything room_handler_push_block_opens_doors room_handler_push_block_shows_staircase rope_handle_movement_changes rotate_90_degrees_randomly run_game_mode_task0 run_game_mode_task1 save_new_monster_state_from_Y screen_status_bit_set_X screen_status_clear_bit_X select_potion send_current_ppu_command send_ppu_data send_ppu_data_after_picking_up_ganon_triforce send_ppu_data_inner send_start_menu_map_ppu_commands send_start_menu_map_ppu_commands_helper send_start_menu_ppu_commands set_0x20_in_oam_data set_copy_to_0x67F0 set_copy_to_0x687E set_copy_to_0x6B7E set_current_ppu_command_index_and_advance_task_state set_enemy_killed set_enemy_spawn_state_to_spawned set_enemy_state_4_and_6 set_enemy_state_6_to_1 set_enemy_state_6_to_A set_falling_rock_moving_down set_game_mode_finish_scroll set_game_mode_title_state_1 set_item_Y_to_A set_mmc_control_register set_next_palette_cycle_and_advance_task_state set_next_sprite_index set_next_sprite_index_after_A set_oam_sprite_0_after_hud set_object_type_and_enemy_properties set_position_for_hitbox_check set_prg_bank set_required_door_direction set_state_thunk set_tile_attributes_to_palette_3 set_tile_walking_onto_1 set_tile_walking_onto_2 set_tile_walking_onto_3 set_var0_to_current_tile_data set_var_0_to_object_position set_var_15_to_0 setup_door_or_bomb_wall_background_update setup_dungeon setup_dungeon_data setup_dungeon_only_sprites setup_dungeon_screen_attr setup_gleeok_middle_neck_sprites setup_minimap_triforce_position setup_minimap_triforce_position_if_holding_compass setup_minimap_triforce_position_unless_in_cellar_or_whirlwind setup_mugging_item_sprites setup_rom1_sprite_data setup_rom2_sprite_data setup_room_items setup_screen_bounds setup_sprite setup_sprites_ganon_moldorm_lanmola setup_store_item_sprites show_menu_1_overworld show_menu_2 show_menu_3 show_menu_4 show_menu_5 show_menu_6_7_overworld_sub show_menu_6_dungeon show_menu_6_overworld show_menu_7_dungeon show_menu_7_overworld show_menu_8 show_menu_8_1 show_menu_8_2 show_menu_8_2_1 show_menu_9 simple_update_sprite skip_walk_update snap_to_tile spawn_aquamentus spawn_armos_or_ghini spawn_blocking_npc spawn_blue_keese spawn_bubble spawn_darknut spawn_default spawn_digdogger_1 spawn_digdogger_3 spawn_dodongo spawn_event spawn_falling_rock spawn_falling_rocks_spawner spawn_ganon spawn_gel2 spawn_gel_from_zol spawn_gleeok spawn_gleeok_flying_head spawn_gohma spawn_hungry_goriya spawn_hungry_goriya_main spawn_lake_fairy spawn_lanmola spawn_leever spawn_manhandla spawn_moldorm spawn_monster_basic spawn_monster_fast_octorok spawn_monster_no_timer_no_spawn_cloud spawn_monster_octorok_or_ghini_master spawn_old_man spawn_old_man_main spawn_old_man_mugger spawn_old_man_mugger_main spawn_patra spawn_peahat spawn_projectile spawn_recorder_pond_daemon spawn_red_keese spawn_rope spawn_tektite spawn_ten_rupee spawn_unknown_0x54 spawn_wall_trap spawn_zelda start_GameMode_PrepareScroll start_opening_key_or_bomb_door start_task1 stop_audio_and_clear_nametables stop_sounds stop_walking_to_top_half_of_screen store_A_in_tile_attributes store_A_to_object_direction_and_walking_directions store_A_to_walking_directions store_animation_frame store_enemy_death store_palette_2_in_tile_attributes store_ppu_command_index_and_increase_store_state store_speed_and_update_movement store_state_0 store_state_2_can_pick_up store_state_4 store_state_5_picked_up_item store_state_disappearing_after_purchase store_state_text_scroll sub_10082 sub_106DF1 sub_10704A sub_10706F sub_1070AB sub_1070C3 sub_107116 sub_10713C sub_107570 sub_10790C sub_107C96 sub_11262 sub_118736 sub_1187F7 sub_11A200 sub_11E58 sub_11E9D sub_11F2C sub_11F4B sub_12285 sub_14130 sub_143D7 sub_14484 sub_14501 sub_14E99 sub_15029 sub_1529D sub_16434 sub_164F6 sub_167C1 sub_167F1 sub_168C4 sub_16924 sub_169F4 sub_16ABF sub_16AF1 sub_16B30 sub_16B73 sub_16BC4 sub_16C16 sub_170C3 sub_171BB sub_17560 sub_1F229 sub_1F90D sub_9D2A sub_A307 sub_A351 sub_A35D sub_A3C8 sub_A3E1 sub_A437 sub_A764 sub_A80C sub_ABB8 switch_to_exiting_cellar switch_to_rotate_90_degrees task0_CreateDeleteSave task0_CreateDeleteSave_setup_some_sprite task0_CurtainsOpening task0_CurtainsOpening_0 task0_CurtainsOpening_1 task0_CurtainsOpening_2 task0_CurtainsOpening_3 task0_CurtainsOpening_4 task0_CurtainsOpening_5 task0_CurtainsOpening_6 task0_CurtainsOpening_7 task0_CurtainsOpening_8 task0_EndCredits task0_EnteringDoor task0_ExitingCellar task0_ExitingCellar_1 task0_ExitingCellar_2 task0_ExitingCellar_4 task0_ExitingCellar_6 task0_ExitingCellar_8 task0_ExitingOverworldCellar task0_ExitingOverworldCellar_3 task0_FinishedEnteringDoor_4_increase_task_state task0_FinishingScroll task0_FinishingTransition_setup_room task0_FinishingTransition_setup_room_overworld task0_FinishingTransition_state_0 task0_FoundZelda task0_FoundZelda_0 task0_FoundZelda_1 task0_FoundZelda_2 task0_FoundZelda_2_0 task0_FoundZelda_3 task0_FoundZelda_4 task0_GameOverMenu task0_InDungeonCellar task0_InDungeonCellar_1 task0_InDungeonCellar_2 task0_InDungeonCellar_3 task0_InDungeonCellar_5 task0_InDungeonCellar_6 task0_InDungeonCellar_8 task0_InDungeonCellar_9 task0_InOverworldCellar task0_InOverworldCellar_0 task0_InOverworldCellar_1 task0_InOverworldCellar_3 task0_InOverworldCellar_4 task0_InOverworldCellar_5 task0_InOverworldCellar_6 task0_InOverworldCellar_7 task0_InOverworldCellar_8 task0_JustDied task0_LoadDungeon task0_LoadDungeon_0 task0_MainMenu task0_MainMenu_0_and_task1_Title_state_1 task0_MainMenu_1 task0_MainMenu_2 task0_MainMenu_3 task0_MainMenu_6 task0_MainMenu_main task0_Normal task0_Normal_1 task0_Normal_2 task0_Normal_3 task0_PickedUpTriforce task0_PreparingScroll task0_Scrolling task0_Scrolling_0 task0_Scrolling_1 task0_Scrolling_1_subtask task0_Scrolling_1_subtask_0 task0_Scrolling_1_subtask_no_transition task0_Scrolling_2 task0_Scrolling_3 task0_Scrolling_5 task0_Scrolling_6 task0_Scrolling_work task0_Title task0_Title_Splash_0 task0_Title_Splash_1 task0_Title_Splash_2 task0_Title_Splash_2_sub task0_intro_text_1 task0_intro_text_2 task1_CreateSave task1_CurtainsOpening task1_DeleteSave task1_EndCredits task1_EndCredits_0 task1_EndCredits_1 task1_EnteringDoor task1_FinishScroll task1_FoundZelda task1_FoundZelda_0 task1_FoundZelda_0_0 task1_FoundZelda_1 task1_FoundZelda_1_0 task1_FoundZelda_3 task1_FoundZelda_3_0 task1_FoundZelda_4 task1_GameOverMenu task1_JustDied task1_JustDied_0 task1_JustDied_1 task1_JustDied_10 task1_JustDied_11 task1_JustDied_12 task1_JustDied_2 task1_JustDied_3 task1_JustDied_4 task1_JustDied_5 task1_JustDied_6 task1_JustDied_7 task1_JustDied_8 task1_JustDied_9 task1_JustDied_store_ppu_command_ending_at_Y task1_LoadDungeon task1_LoadDungeon_main task1_MainMenu task1_MainMenu_state_0 task1_MainMenu_state_1 task1_Normal task1_PickedUpTriforce task1_PickedUpTriforce_0 task1_PickedUpTriforce_1 task1_PickedUpTriforce_2 task1_PickedUpTriforce_3 task1_PickedUpTriforce_4 task1_Scroll task1_Scroll_advance_task_by_2 task1_Scroll_run_task_state task1_Scroll_run_task_state_and_continue task1_Scroll_state_0 task1_Scroll_state_1 task1_Scroll_state_2 task1_Scroll_state_3 task1_Scroll_state_3a task1_Scroll_state_3b task1_Scroll_state_4 task1_Scroll_state_5 task1_Scroll_state_6 task1_Scroll_state_7 task1_Title task1_Title_splash task1_Title_state_0 task1_Title_state_2 tektite_set_zero_speed tektite_update_position ten_rupee_pattern_x_positions title_splash_fading title_splash_main title_splash_main_setup_decoration_sprites title_splash_next_state title_update_waterfall title_update_waterfall_piece title_update_waterfall_sprites toggle_object_animation_frame_and_set_timer unpack_enemy_health update_aquamentus_fireballs update_aquamentus_sprite update_arrow update_arrow_or_melee_rod update_bomb_cloud_sprite update_bomb_or_fire update_boomerang_or_meat update_candle_fire update_clipping_sprites_under_wall update_controllers update_currently_open_doors update_curtain update_deflected_projectile update_dungeon_screen_kill_count update_fairy_lake_spinning_hearts update_fairy_refill_rupees_and_hud update_floor_item_sprite update_from_ganon update_ganon_sprite update_gleeok_body update_gleeok_head_and_necks_1 update_gleeok_head_and_necks_2 update_hold_up_item update_hold_up_item_1 update_hold_up_item_2 update_hud_hearts update_hud_number_1 update_inventory_item_sprite update_leever_from_zola update_lighting_room update_lighting_room_0 update_lighting_room_1 update_link_movement update_link_sprite_and_check_ladder update_link_sprite_and_check_ladder_bank_1 update_link_sprite_and_check_ladder_if_overworld update_link_sprite_and_check_ladder_in_bank_4 update_link_sprite_and_door_clipping update_link_sprite_and_other_stuff update_link_sprite_return_in_bank_1 update_link_walking_speed update_lynel_sword_or_unknown update_minimap_and_link_sprite update_monster update_monster_10_rupee update_monster_45_degree_movement update_monster_aquamentus update_monster_aquamentus_0 update_monster_aquamentus_movement update_monster_armos update_monster_bubble update_monster_darknut update_monster_diagonal_movement_relative_to_seek update_monster_diagonal_movement_relative_to_seek_from_digdogger update_monster_digdogger update_monster_digdogger_0 update_monster_digdogger_1 update_monster_digdogger_2 update_monster_digdogger_4 update_monster_dodongo update_monster_dodongo_sub_1 update_monster_dungeon_secret_push_block update_monster_dungeon_secret_push_block_0 update_monster_dungeon_secret_push_block_1 update_monster_event_1 update_monster_event_1_0 update_monster_event_1_2 update_monster_event_1_main update_monster_fairy update_monster_fairy_animation update_monster_fairy_move_to_state_3 update_monster_falling_rock_daemon update_monster_flame update_monster_flame_unkillable update_monster_floor_pickup update_monster_floor_pickup_fairy update_monster_ganon update_monster_ganon_0_start_cutscene update_monster_ganon_1_wait_for_music_to_finish update_monster_ganon_2_main_combat update_monster_ganon_2a update_monster_ganon_2b update_monster_ganon_2g update_monster_ganon_2g2 update_monster_ganon_2h update_monster_ganon_2i update_monster_gel update_monster_ghini update_monster_ghini_1 update_monster_ghini_from_tombs update_monster_ghini_select_random_state_2_3_4 update_monster_gibdo update_monster_gleeok update_monster_gleeok_2a update_monster_gleeok_2a_0 update_monster_gleeok_2a_2 update_monster_gleeok_2a_6 update_monster_gleeok_2a_8 update_monster_gleeok_2a_nop update_monster_gleeok_2b update_monster_gleeok_flying_head update_monster_gleeok_flying_head_choose_random_state update_monster_gohma update_monster_gohma_0 update_monster_gohma_1 update_monster_gohma_2 update_monster_gohma_3 update_monster_goriya update_monster_homing_fireball update_monster_homing_fireball_0 update_monster_hungry_goriya update_monster_hungry_goriya_1 update_monster_hungry_goriya_3 update_monster_keese update_monster_keese_select_random_state_2_3_4 update_monster_lanmola update_monster_lanmola_0 update_monster_lanmola_1 update_monster_leever_blue update_monster_leever_red update_monster_like_like update_monster_lynel update_monster_manhandla update_monster_manhandla_1 update_monster_manhandla_2 update_monster_moblin update_monster_moblin_arrow update_monster_moldorm update_monster_moldorm_0 update_monster_moldorm_0a update_monster_moldorm_3 update_monster_octorok update_monster_old_man update_monster_old_man_0_setup update_monster_old_man_4 update_monster_old_man_main update_monster_old_man_main_0 update_monster_overworld_secret_bomb update_monster_overworld_secret_candle update_monster_overworld_secret_push_block update_monster_overworld_secret_raft update_monster_patra update_monster_patra_choose_random_state update_monster_patra_eye update_monster_peahat update_monster_peahat_select_random_state_2_3_4 update_monster_pols_voice update_monster_pols_voice_0 update_monster_pols_voice_1 update_monster_pols_voice_2 update_monster_pols_voice_3 update_monster_projectile update_monster_rope update_monster_stalfos update_monster_tektite_or_falling_rock update_monster_vire update_monster_vire_main update_monster_vire_normal update_monster_vire_zol_1 update_monster_wall_master update_monster_wall_trap update_monster_whirlwind update_monster_wizzrobe_blue update_monster_wizzrobe_blue_0 update_monster_wizzrobe_blue_1 update_monster_wizzrobe_red update_monster_wizzrobe_red_0 update_monster_wizzrobe_red_1 update_monster_wizzrobe_red_2 update_monster_wizzrobe_shared_red_blue update_monster_zelda update_monster_zol update_monster_zol_1 update_monster_zol_moving update_monster_zol_moving_main update_monster_zol_split_into_keese update_monster_zola update_movement_or_fire_projectile_if_zero_timer update_object_animation_frame update_object_knockback update_object_movement update_object_sprite update_object_sprite_horizontal update_object_sprite_vertical update_overworld_screen_kill_count update_patra_eye_sprite update_picking_up_ganon_triforce update_projectile update_projectile_movement update_push_block_sprite update_recorder_pond_daemon update_screen_kill_count update_spawn_cloud update_spawn_cloud_sprite update_spinning_hearts_patra_1 update_spinning_hearts_patra_2 update_spinning_hearts_patra_2a update_sprite_and_check_hits_for_tektite update_sprite_attributes_then_advance update_sprite_bubble_stalfos_flame_patra update_sprite_for_current_object_type update_sprite_for_current_object_type_no_increment update_sprite_from_wall_master_or_like_like update_sprite_like_like update_sprite_wall_master update_sprite_y_attributes_then_advance update_sprite_zelda_wall_trap update_start_menu update_start_menu_overworld update_sword_or_rod_melee update_timed_palette_cycle update_vire_zol_gel_movement update_walking_direction update_walking_frame_for_link update_walking_frame_for_object update_walking_repeated update_wall_master_sprite use_item use_item_bomb use_item_boomerang use_item_bow use_item_candle use_item_meat use_item_potion use_item_recorder use_item_rod walk_negative walk_positive wall_master_check_whether_to_hide_sprites
RAM
active_game_mode_task already_exited_title_screen alternate_ppu_nametable arrow_or_melee_rod_state arrow_x arrow_y audio_looping_boss_sound audio_looping_boss_sound_current audio_misc_0605 audio_misc_0606 audio_misc_0607 audio_misc_060A audio_misc_060B audio_misc_060C audio_misc_060D audio_misc_060E audio_misc_060F audio_misc_0610 audio_misc_0611 audio_misc_0612 audio_misc_0613 audio_misc_0614 audio_misc_0615 audio_misc_0616 audio_misc_0617 audio_misc_0618 audio_misc_0619 audio_misc_061A audio_misc_061B audio_misc_061C audio_misc_061D audio_misc_061E audio_misc_061F audio_misc_18 audio_misc_19 audio_misc_20 audio_misc_21 audio_misc_22 audio_misc_3 audio_misc_4 audio_misc_7 audio_pulse1_offset audio_pulse2_offset audio_rhythm_countdown audio_rhythm_offset bomb_1_x bomb_2_x bomb_flame_timer bomb_or_fire1_state bomb_or_fire2_state bombed_door_timer bombing_or_unlocking_door_direction boomerang_bait_x boomerang_or_meat_state boomerang_sound_timer boss_roar_loop_timer bubble_sword_timer candle_used_in_current_room clock_active consecutive_kill_counter consecutive_ten_kill_counter controller_1_cur controller_1_pressed controller_2_cur controller_2_pressed copied_ppu_data_0 copied_ppu_data_1 copied_ppu_data_2 copied_ppu_data_3 copied_ppu_data_4 copied_ppu_data_5 copied_ppu_data_6 copied_ppu_data_7 current_floor_item current_item current_music current_object_tile_size_neg current_object_tile_size_pos current_ppu_command_index current_ppuctrl current_ppumask current_room_floor_item_hidden current_save_slot current_screen_data_5 currently_open_doors curtains_currently_opening damage_types_with_no_knockback damage_types_with_no_knockback_1 death_cutscene_timer_1 death_cutscene_timer_2 deaths_per_save_slot desired_ppuscroll_x desired_ppuscroll_y detached_gleeok_heads disable_sprite_horizontal_offset displayed_map_location do_ppu_work_after_sprite0_next_frame drop_counter dungeon_idx dungeon_screen_data_0 dungeon_screen_data_1 dungeon_screen_data_2 dungeon_screen_data_3 dungeon_screen_data_4 dungeon_screen_data_5 dungeon_shoots_fireballs enemy_action_timers enemy_behavior_seek_x enemy_behavior_seek_y enemy_behavior_seeking_mode enemy_behavior_seeking_timer enemy_blind_projectile_timer enemy_blind_projectile_timer_1 enemy_health enemy_health_1 enemy_projectile_count enemy_projectile_speed_x enemy_projectile_speed_x_1 enemy_properties enemy_spawn_state enemy_spawn_state_1 enemy_spawn_state_1_5 enemy_state_0 enemy_state_1 enemy_state_10_2 enemy_state_11 enemy_state_11_1 enemy_state_1_1 enemy_state_2 enemy_state_2_1 enemy_state_4 enemy_state_4_1 enemy_state_4_2 enemy_state_4_3 enemy_state_4_4 enemy_state_4_5 enemy_state_4_6 enemy_state_5 enemy_state_5_1 enemy_state_6 enemy_state_6_1 enemy_state_6_4 enemy_state_6_5 enemy_state_6_6 enemy_state_9_1 enemy_stun enter_from_side_timer first_object_type first_sprite_index floor_item_x floor_item_y force_beam_sword found_zelda_cutscene_state_0 found_zelda_cutscene_state_1 found_zelda_cutscene_state_2 found_zelda_cutscene_state_3 found_zelda_cutscene_state_4 frame_counter game_mode gameplay_menu_state gleeok_body_animation_timer_or_lanmola_something gleeok_body_frame_or_lanmola_something global_room_state has_ganon_triforce have_arrow_type have_book have_boomerang have_bow have_candle_type have_compass_dungeon_9 have_compass_per_dungeon have_ladder have_letter have_magic_boomerang have_magic_key have_magic_shield have_map_dungeon_9 have_map_per_dungeon have_meat have_potion_type have_power_bracelet have_raft have_recorder have_ring_type have_rod health_refill hearts held_by_like_like held_by_recorder_whirlwind in_dungeon_door increase_enemy_speed_max invincibility_frames invincibility_frames_1 invincibility_frames_5 is_in_cellar is_zola_spawned knockback_frames ladder_object_id leever_timer lighting_room_state link_beam_x link_melee_x link_most_recent_overworld_tile_type lost_woods_counter map_location map_location_in_dungeon_cellar map_location_transitioning_to max_bombs maybe_next_projectile_idx next_game_mode next_palette_cycle next_recorder_location next_sprite_index npc_action_timer_1 npc_action_timer_2 npc_action_timer_3 npc_action_timer_4 npc_action_timer_5 npc_action_timer_6 npc_action_timer_7 npc_action_timer_8 npc_action_timer_9 num_bombs num_keys num_rupees number_of_digdogger_spawn_to_create number_of_enemies_killed_in_dungeon_room number_of_extra_directions_pressed number_of_spawned_falling_rocks number_of_spawned_red_leevers_or_gleeok_fast_step_counter object_animation_frame object_animation_frame_timer object_direction object_direction_1 object_knockback object_knockback_1 object_knockback_10 object_knockback_11 object_knockback_12 object_knockback_2 object_knockback_3 object_knockback_4 object_knockback_5 object_knockback_6 object_knockback_7 object_knockback_8 object_knockback_9 object_slot_in_use object_tile_offset_fraction object_tile_offset_fraction_1 object_tile_offset_fraction_10 object_tile_offset_fraction_11 object_tile_offset_fraction_12 object_tile_offset_fraction_2 object_tile_offset_fraction_3 object_tile_offset_fraction_4 object_tile_offset_fraction_5 object_tile_offset_fraction_6 object_tile_offset_fraction_7 object_tile_offset_fraction_8 object_tile_offset_fraction_9 object_tile_offset_whole object_tile_offset_whole_1 object_tile_offset_whole_10 object_tile_offset_whole_11 object_tile_offset_whole_12 object_tile_offset_whole_2 object_tile_offset_whole_3 object_tile_offset_whole_4 object_tile_offset_whole_5 object_tile_offset_whole_6 object_tile_offset_whole_7 object_tile_offset_whole_8 object_tile_offset_whole_9 object_type object_type_1 object_type_2 object_type_3 object_type_5 object_type_7 object_type_B object_walk_speed object_walk_speed_1 object_x object_x_1 object_x_10 object_x_11 object_x_12 object_x_2 object_x_3 object_x_4 object_x_5 object_x_6 object_x_7 object_x_8 object_x_9 object_y object_y_1 object_y_10 object_y_11 object_y_12 object_y_2 object_y_3 object_y_4 object_y_5 object_y_6 object_y_7 object_y_8 object_y_9 open_doors_in_room overworld_return_pos overworld_room_object_type overworld_room_object_x overworld_room_object_y palette_cycle_timer partial_heart paused paused_lighting_dungeon_room pending_rupees_add pending_rupees_sub picking_up_ganon_triforce picking_up_item picking_up_item_timer play_music play_sound_0 play_sound_1 play_sound_2 play_sound_3 ppu_command_buffer ppu_command_buffer_01 ppu_command_buffer_02 ppu_command_buffer_03 ppu_command_buffer_04 ppu_command_buffer_05 ppu_command_buffer_06 ppu_command_buffer_07 ppu_command_buffer_08 ppu_command_buffer_09 ppu_command_buffer_0A ppu_command_buffer_0C ppu_command_buffer_10 ppu_command_buffer_13 ppu_command_buffer_14 ppu_command_buffer_15 ppu_command_buffer_16 ppu_command_buffer_19 ppu_command_buffer_bytes_used ppu_data_for_current_dungeon ppu_unknown_0 ppu_unknown_task_returns_to_ROM4 previous_unlocked_door_directions prng_0 prng_1 prng_2 prng_3 prng_5 prng_8 prng_A prng_last processing_gleeok_head processing_object_index projectile_direction_boomerang projectile_direction_mask projectile_hit_link pushed_dungeon_push_block quest_no reached_ten_kills_with_last_bomb recorder_called_whirlwind_already recorder_lake_state recorder_lock_timer reset_room_palette_idx_to_0x44 room_clear room_data room_tiles_x_00 room_tiles_x_01 room_tiles_x_02 room_tiles_x_03 room_tiles_x_04 room_tiles_x_05 room_tiles_x_06 room_tiles_x_07 room_tiles_x_08 room_tiles_x_09 room_tiles_x_10 room_tiles_x_11 room_tiles_x_12 room_tiles_x_13 room_tiles_x_14 room_tiles_x_15 room_tiles_x_16 room_tiles_x_17 room_tiles_x_18 room_tiles_x_19 room_tiles_x_20 room_tiles_x_21 room_tiles_x_22 room_tiles_x_23 room_tiles_x_24 room_tiles_x_25 room_tiles_x_26 room_tiles_x_27 room_tiles_x_28 room_tiles_x_29 room_tiles_x_30 room_tiles_x_31 saved_hearts_slot_0 saved_hearts_slot_1 saved_hearts_slot_2 saved_partial_hearts_slot_0 saved_partial_hearts_slot_1 saved_partial_hearts_slot_2 screen_first_solid_tile_id screen_history_0 screen_history_1 screen_history_2 screen_history_3 screen_history_4 screen_history_5 screen_history_idx screen_max_x screen_max_y screen_min_x screen_min_y screen_status_0 shutter_doors_entered song_start_high song_start_low spawn_from_side_position spawn_position_counter sprite_data_1_initialized sprite_data_2_initialized sprite_oam_data sprite_oam_data_04 sprite_oam_data_07 sprite_oam_data_08 sprite_oam_data_0B sprite_oam_data_1C sprite_oam_data_1D sprite_oam_data_1E sprite_oam_data_1F sprite_oam_data_20 sprite_oam_data_21 sprite_oam_data_22 sprite_oam_data_23 sprite_oam_data_40 sprite_oam_data_44 sprite_oam_data_48 sprite_oam_data_49 sprite_oam_data_4A sprite_oam_data_4B sprite_oam_data_4C sprite_oam_data_4D sprite_oam_data_4E sprite_oam_data_4F sprite_oam_data_50 sprite_oam_data_51 sprite_oam_data_52 sprite_oam_data_53 sprite_oam_data_54 sprite_oam_data_55 sprite_oam_data_56 sprite_oam_data_57 sprite_oam_data_58 sprite_oam_data_80 sprite_oam_data_81 sprite_oam_data_82 sprite_oam_data_83 sram_check_byte sram_init_finished start_menu_scroll_drawing_map_position start_menu_scroll_progress stop_enemy_for_frames stop_enemy_for_frames_1 store_item sword_disabled_by_bubble sword_rod_beam_state sword_state sword_type task_state temp_ppu_command_buffer ten_frame_counter text_scroll_index tile_walking_onto title_screen_timer tmp_result total_enemies_spawned_in_room transitioning_direction triforce_pieces_collected unk_26810 unk_26817 unk_26825 unk_2684B unk_382 unk_383 unk_384 unk_385 unk_386 unk_38A unknown_timer_6 unlocked_door_directions updating_oam_sprite_id_1 updating_oam_sprite_id_2 used_recorder_in_dungeon usually_zero var_0 var_1 var_10 var_11 var_12 var_13 var_14 var_15 var_2 var_3 var_4 var_5 var_6 var_7 var_8 var_9 walk_state_and_weapon_state walking_direction_was_flipped walking_directions zola_state_2
Data
Joypad_1 Joypad_2 OAMADDR OAMDATA OnIRQ OnIRQVec OnNMIVec OnResetVec PPUADDR PPUCTRL PPUDATA PPUMASK PPUSCROLL PPUSTATUS SPRITE_DMAR adjacent_room_offset aquamentus_data_0 aquamentus_data_1 aquamentus_data_2 aquamentus_x_movement_speed armos_map_locations armos_x_offsets armos_x_positions armos_y_offsets audio_data_1 audio_data_2 audio_data_3 audio_data_4 audio_data_5 beam_explosion_oam_attributes blue_wizzrobe_hidden_x_movement blue_wizzrobe_hidden_y_movement bomb_cloud_offsets_1 bomb_cloud_offsets_2 bomb_sprite0_oam_sprite bombable_dungeon_positions_x bombable_dungeon_positions_y boomerang_throw_distances boss_roar_sounds cellar_keese_x_positions cellar_keese_y_positions cellar_ppu_data cellar_ppu_data_0 cellar_ppu_data_1 cellar_ppu_data_2 cellar_ppu_data_3 default_enemy_properties digdogger_spawn_tile_attributes digdogger_spawn_x_offsets digdogger_spawn_y_offsets direction_axes directions_with_diagonals dodongo_bomb_max_distance_left dodongo_bomb_max_distance_right dodongo_second_check_bomb_distances_horizontal dodongo_second_check_bomb_distances_vertical door_sprite_ptr_high door_sprite_ptr_low door_x_center door_y_bottom door_y_bottom_while_inside door_y_top door_y_top_while_inside drop_chance drop_class_starting_index dungeon_data_1 dungeon_data_2 dungeon_data_3 dungeon_data_4 dungeon_data_5 dungeon_data_6 dungeon_data_7 dungeon_data_8 dungeon_data_9 dungeon_data_overworld dungeon_data_pointers dungeon_ppu_data_0_1 dungeon_ppu_data_0_2 dungeon_ppu_data_0_3 dungeon_ppu_data_0_ptrs dungeon_ppu_data_1_1 dungeon_ppu_data_1_2 dungeon_ppu_data_1_3 dungeon_ppu_data_1_ptrs dungeon_ppu_data_ppu_addresses dungeon_screen_attr_1Q dungeon_screen_attr_1Q_1 dungeon_screen_attr_1Q_2 dungeon_screen_attr_2Q dungeon_screen_attr_2Q_1 dungeon_screen_attr_2Q_2 dungeon_screen_attr_overworld enemy_class_1_no_drops enemy_class_A enemy_class_B enemy_class_C enemy_health_table enemy_list_00 enemy_list_01 enemy_list_02 enemy_list_03 enemy_list_04 enemy_list_05 enemy_list_06 enemy_list_07 enemy_list_08 enemy_list_09 enemy_list_10 enemy_list_11 enemy_list_12 enemy_list_13 enemy_list_14 enemy_list_15 enemy_list_16 enemy_list_17 enemy_list_18 enemy_list_19 enemy_list_20 enemy_list_21 enemy_list_22 enemy_list_23 enemy_list_24 enemy_list_25 enemy_list_26 enemy_list_27 enemy_list_28 enemy_list_29 enemy_list_pointers floor_item_flags floor_item_frame_offset floor_item_to_inventory_item frames_per_dodongo_state_4 game_mode_list_from_next_work_values ganon_oam_attributes ganon_ppu_data_1 ganon_ppu_data_2 ganon_tile_set_frame_offsets ganon_tile_y_increment ganon_x_offset ganon_y_offset gleeok_body_tiles gleeok_ptr_something_high gleeok_ptr_something_low gleeok_ptr_x_high gleeok_ptr_x_low gleeok_ptr_y_high gleeok_ptr_y_low intro_text_item_scroll_ppu_command_00 intro_text_item_scroll_ppu_command_01 intro_text_item_scroll_ppu_command_02 intro_text_item_scroll_ppu_command_03 intro_text_item_scroll_ppu_command_04 intro_text_item_scroll_ppu_command_05 intro_text_item_scroll_ppu_command_06 intro_text_item_scroll_ppu_command_07 intro_text_item_scroll_ppu_command_08 intro_text_item_scroll_ppu_command_09 intro_text_item_scroll_ppu_command_0A intro_text_item_scroll_ppu_command_0B intro_text_item_scroll_ppu_command_0C intro_text_item_scroll_ppu_command_0D intro_text_item_scroll_ppu_command_0E intro_text_item_scroll_ppu_command_0F intro_text_item_scroll_ppu_command_10 intro_text_item_scroll_ppu_command_11 intro_text_item_scroll_ppu_command_12 intro_text_item_scroll_ppu_command_13 intro_text_item_scroll_ppu_command_14 intro_text_item_scroll_ppu_command_15 intro_text_item_scroll_ppu_command_16 intro_text_item_scroll_ppu_command_17 intro_text_item_scroll_ppu_command_18 intro_text_item_scroll_ppu_command_19 intro_text_item_scroll_ppu_command_1A intro_text_item_scroll_ppu_command_1B intro_text_item_scroll_ppu_command_1C intro_text_item_scroll_ppu_command_table item_and_sword_screen_limits ladder_x_offsets ladder_y_offsets leever_action_timers leever_animation_frames lost_hills_code lost_woods_code manhandla_claw_x_positions manhandla_claw_y_positions map_transition_offsets minimap_data_bits mugging_item_x mugging_item_y music_per_dungeon object_tile_set_to_tile_index object_type_to_tile_set objects_with_special_palette_mappings off_106DC7 off_90EC off_C006 old_man_message_1_text_indices old_man_message_2_text_indices old_man_message_3_text_indices old_man_ppu_command overworld_ladder_locations overworld_object_types overworld_recorder_locations pAPU_DM_AR pAPU_DM_CR pAPU_DM_DAR pAPU_DM_DLR pAPU_N_CR_1 pAPU_N_FR_1 pAPU_N_FR_2 pAPU_P_1_CR pAPU_P_1_CTR pAPU_P_1_FTR pAPU_P_1_RCR pAPU_P_2_CR pAPU_P_2_CTR pAPU_P_2_FTR pAPU_P_2_RCR pAPU_SV_CSR pAPU_T_CR_1 pAPU_T_CR_2 pAPU_T_FR_1 pAPU_T_FR_2 pointers_to_clear_for_2nd_quest powers_of_two ppu_background_door_ptr_high ppu_background_door_ptr_low ppu_cmd_02 ppu_cmd_04 ppu_cmd_0E ppu_cmd_10 ppu_cmd_14 ppu_cmd_16 ppu_cmd_1E ppu_cmd_20 ppu_cmd_22 ppu_cmd_24 ppu_cmd_26 ppu_cmd_2A ppu_cmd_2C ppu_cmd_30 ppu_cmd_32 ppu_cmd_34 ppu_cmd_38 ppu_cmd_3A ppu_cmd_3C ppu_cmd_3E ppu_cmd_40 ppu_cmd_42 ppu_cmd_46 ppu_cmd_48 ppu_cmd_4A ppu_cmd_4C ppu_cmd_4E ppu_cmd_50 ppu_cmd_5E ppu_cmd_60 ppu_cmd_62 ppu_cmd_6A ppu_cmd_6C ppu_cmd_76 ppu_cmd_78 ppu_cmd_7A ppu_cmd_palette_aquamentus ppu_cmd_palette_digdogger_dodongo ppu_cmd_palette_ganon ppu_cmd_palette_gleeok ppu_command_table ppu_create_delete_save_command ppu_create_save_command ppu_hud_update_command ppu_intro_text_command ppu_recorder_lake_palette_shift ppu_recorder_lake_palette_shift_colors ppu_title_splash_command projectile_deflection_movement_x projectile_deflection_movement_y random_drops recorder_locations_tbl recorder_locations_y_tbl rom1_sprite_data_0 rom1_sprite_data_1 rom1_sprite_data_ppu_addresses rom1_sprite_data_ptrs rom1_sprite_data_size rom2_sprite_data_0 rom2_sprite_data_1 rom2_sprite_data_2 rom2_sprite_data_ppu_addresses rom2_sprite_data_ptrs rom2_sprite_data_size rom3_ppu_data_0_0 rom3_ppu_data_0_1 rom3_ppu_data_0_ptrs rom3_ppu_data_1_0 rom3_ppu_data_1_1 rom3_ppu_data_1_ptrs rom3_ppu_data_1_sizes rom3_ppu_data_sizes room_tile_ptrs save_slot_idxs_high save_slot_idxs_lo screen_bounds screen_transition_thresholds second_quest_overworld_patch_data second_quest_overworld_patch_offsets second_quest_patch_data second_quest_patch_data_1 second_quest_patch_data_2 second_quest_patch_data_3 second_quest_patch_data_4 second_quest_patch_data_5 second_quest_patch_data_6 second_quest_patch_data_7 second_quest_patch_data_8 second_quest_patch_data_9 second_quest_patch_data_size secret_quest_numbers some_ppu_data_0 some_ppu_data_1 some_ppu_data_2 some_ppu_data_3 some_ppu_data_4 some_ppu_data_5 some_ppu_data_6 some_ppu_data_7 some_ppu_palette_pointer spawn_heart_at_first_heart_offsets spawn_position_ptr_high spawn_position_ptr_low spawn_positions_when_link_facing_down spawn_positions_when_link_facing_left spawn_positions_when_link_facing_right spawn_positions_when_link_facing_up special_palette_mapping_values spinning_hearts_tile_offset_table sprite_index_right_half sprite_index_to_left_half sprite_replacement_for_big_shield_from sprite_replacement_for_big_shield_to sram_check_byte2 sram_code_end sram_code_start start_menu_ppu_command_indices_dungeon start_menu_ppu_command_indices_overworld store_item_x_positions store_message_indices store_ppu_command_buffer sword_oam_attributes sword_or_melee_x_offsets sword_or_melee_y_offsets tektite_data_1 tektite_data_2 tektite_data_3 tektite_data_4 tektite_initial_directions ten_rupee_pattern_y_positions text_data_00 text_data_01 text_data_02 text_data_03 text_data_04 text_data_05 text_data_06 text_data_07 text_data_08 text_data_09 text_data_0A text_data_0B text_data_0C text_data_0D text_data_0E text_data_0F text_data_10 text_data_11 text_data_12 text_data_13 text_data_14 text_data_15 text_data_16 text_data_17 text_data_18 text_data_19 text_data_1A text_data_1B text_data_1C text_data_1D text_data_1E text_data_1F text_data_20 text_data_21 text_data_22 text_data_23 text_data_24 text_data_25 text_ptr_tbl tile_set_to_tile_attributes tiles_triforce_base title_screen_triforce_palette_shift_ppu_cmd title_screen_triforce_palette_values title_splash_fading_palette_data unk_119D9B unk_1416A unk_1C904 unk_201F unk_9D57 unk_9D9B unk_ADFA vertical_horizontal_sprite_offsets vire_y_movement_speed walking_bits walking_bits_2 wall_master_directions wall_master_hidden_under_wall_offset wall_trap_x_positions wall_trap_y_positions zelda_flames_x zelda_flames_y zola_fireball_speeds_x zola_fireball_speeds_y zola_leever_spawn_timers
Struct: dungeon_data
ppu_cmd_0 .BYTE
ppu_data .BYTE
ppu_end_ff .BYTE
enemy_count .BYTE
start_y_pos .BYTE
stair_or_item_pos .BYTE 0xF0 is one coordinate, 0x0F is the other
map_start_pos_x .BYTE
map_pos_x .BYTE
start_loc .BYTE
triforce_loc .BYTE
screen_status_ptr .WORD
displayed_level_number .BYTE
stairs_loc .BYTE
boss_loc .BYTE
minimap_data .BYTE
ppu_0 .BYTE
ppu_1 .BYTE
ppu_2 .BYTE
padding .BYTE
palette_enter_stairway .BYTE
palette_exit_stairway .BYTE
palette_death .BYTE
Struct: OAMSprite
y_pos .BYTE
tile .BYTE
attr .BYTE
x_pos .BYTE
enum: StoreFlags
StoreFlags_CanPickUpFloorItems 1
StoreFlags_RequiresRupeesForItem 2
StoreFlags_ShowStoreItems 4
StoreFlags_ShowRupeeIcon 8
StoreFlags_TakesRupeesNoItem $10 Stores that take money and don't give an item, like hints
StoreFlags_NoItem $20
StoreFlags_RequiresHearts $40
StoreFlags_Unknown_0x80 $80
enum: BombOrFireState
BombOrFireState_Fire_Moving 1
BombOrFireState_BombDelay 2
BombOrFireState_BombExploding 3
BombOrFireState_BombDissipating 4
BombOrFireState_Type_Bomb $10
BombOrFireState_Type_Fire $20
enum: ScreenData_Dungeon_4
ScreenData_Dungeon_4_Item $1F
ScreenData_Dungeon_4_PlayBossSound1 $20
ScreenData_Dungeon_4_PlayBossSound2 $40
ScreenData_Dungeon_4_Dark $80
enum: ScreenData_Dungeon_5
ScreenData_Dungeon_5_KillingEverythingOpensDoors 1
ScreenData_Dungeon_5_MasterEnemyOpensDoorsAndKillsEverything 2
ScreenData_Dungeon_5_GanonTriforceOpensDoors 3
ScreenData_Dungeon_5_PushBlockOpensDoors 4
ScreenData_Dungeon_5_PushBlockShowsStaircase 5
ScreenData_Dungeon_5_MasterEnemyOpensDoors 6
ScreenData_Dungeon_5_KillingEverythingOpensDoorAndSpawnsItem 7
ScreenData_Dungeon_5_ItemPosition $30 This is an index into dungeon_data.stair_or_item_pos.
enum: ScreenData_Dungeon_2
enum: ScreenData_Dungeon_3
ScreenData_Dungeon_3_ScreenCode $3F
ScreenData_Dungeon_3_PushBlock $40
ScreenData_Dungeon_3_MixedEnemies $80
enum: ScreenData_Dungeon_0
enum: ScreenData_Dungeon_1
enum: OverworldCaveDestinations
OverworldCaveDestinations_CaveEntrance_WoodSword $40
OverworldCaveDestinations_TakeAnyRoad $50
OverworldCaveDestinations_Store_0 $78
enum: Music
Music_Overworld 1
Music_FoundGanon 2
Music_Overworld_Skip_4_Measures 3
Music_PickedUpTriforcePiece 4
Music_Victory 6
Music_PickedUpItem 8
Music_Dead $10
Music_DeathMountain $20
Music_Dungeon $40
Music_Title $80
enum: PPUCTRLBits
PPUCTRLBits_BaseNametable_2400 1 If not set, the base nametable is at 0x2000
PPUCTRLBits_BaseNametable_2800 2
PPUCTRLBits_BaseNametable_2C00 3
PPUCTRLBits_WriteVertically 4 If not set, write horizontally
PPUCTRLBits_SpritePattern_1000 8 If not set, 0x0000
PPUCTRLBits_BackgroundPatternAddress_1000 $10 If not set, 0x0000
PPUCTRLBits_SpriteSize_8x16 $20 If not set, 8x8
PPUCTRLBits_MasterSlave_1 $40
PPUCTRLBits_VBlank_NMI_On $80
enum: ScreenDataOverworld_1
ScreenDataOverworld_1_Palette 3
ScreenDataOverworld_1_CaveDestination $FC
enum: InventoryItemFlags
InventoryItemFlags_Give_1 1
InventoryItemFlags_Give_2 2
InventoryItemFlags_Give_3 3
InventoryItemFlags_Give_4 4
InventoryItemFlags_Give_5 5
InventoryItemFlags_Item 0
InventoryItemFlags_Add $10
InventoryItemFlags_Max $20
enum: DungeonTiles
enum: GameMode
GameMode_Title 0
GameMode_MainMenu 1
GameMode_LoadDungeon 2
GameMode_CurtainsOpening 3
GameMode_FinishScroll 4
GameMode_Normal 5
GameMode_PrepareScroll 6
GameMode_Scroll 7
GameMode_GameOverMenu 8
GameMode_InDungeonCellar 9 If we're in a dungeon cellar.
GameMode_ExitingCellar $A Exiting a dungeon cellar, or after ExitingOverworldCellar when exiting an overworld cave.
GameMode_InOverworldCellar $B We stay in this state when in stores (overworld) and cellars (dungeons), instead of going to Normal. The map location doesn't change.
GameMode_ExitingOverworldCellar $C
GameMode_EndCredits $D
GameMode_CreateSave $E
GameMode_DeleteSave $F
GameMode_EnteringDoor $10
GameMode_JustDied $11
GameMode_PickedUpTriforce $12
GameMode_FoundZelda $13
GameMode_Dummy $FF
enum: ControllerBits
ControllerBits_Dpad_Right 1
ControllerBits_Dpad_Left 2
ControllerBits_Dpad_Down 4
ControllerBits_Dpad_Up 8
ControllerBits_Start $10
ControllerBits_Select $20
ControllerBits_B $40
ControllerBits_A $80
enum: WalkState
WalkState_Unknown2_10 $10
WalkState_Unknown2_20 $20
WalkState_Unknown2_30 $30
WalkState_3_MovementLocked $40 Setting this causes odd behavior when coming out of the start menu, so this is a bit more subtle than just locking movement.
enum: ArrowState
ArrowState_ArrowUnknown 8 This is set on the frame after ArrowFiring.
ArrowState_ArrowFiring $10
ArrowState_ArrowHit $20
ArrowState_Type_Unknown $30 Not sure what this is, see check_attack_arrow
enum: Sound1
Sound1_None 0
Sound1_Rupee 1
Sound1_ItemAppeared 2
Sound1_Rupee2 3
Sound1_Secret 4
Sound1_Fairy 8
Sound1_Recorder $10
Sound1_KilledEnemy $20
Sound1_EndlessDeathMusic $40
Sound1_LinkDiedMusic $80
enum: ScreenData_Overworld_5
ScreenData_Overworld_5_CaveExitY 7
ScreenData_Overworld_5_MonstersEnterFromSide 8
ScreenData_Overworld_5_PushStairsPosition $30
ScreenData_Overworld_5_Secret_FirstQuest $40
ScreenData_Overworld_5_Secret_SecondQuest $80
enum: Sound3
Sound3_ShieldTing 1
Sound3_HitEnemy 2
Sound3_WizzrobeBeam 4
Sound3_Pickup 8
Sound3_GainRupee $10
Sound3_PlaceBomb $20
Sound3_LowHealth $40 OR'd with other sounds
Sound3_Stop $80
enum: Sound2
Sound2_SwingSword 1
Sound2_FireArrow 2
Sound2_Candle 4
Sound2_EnteredDoor 8
Sound2_BombExplosion $10
Sound2_Coast $20
Sound2_StopBossRoar $80
enum: ScreenData_Overworld_0
ScreenData_Overworld_0_Palette 3
ScreenData_Overworld_0_WaterSound 4
ScreenData_Overworld_0_Zola 8
ScreenData_Overworld_0_CaveExitX $F0
enum: ScreenData_Overworld_2
ScreenData_Overworld_2_EnemyCode $3F
ScreenData_Overworld_2_CountCode $C0
enum: ScreenData_Overworld_3
ScreenData_Overworld_3_ScreenCode 0
ScreenData_Overworld_3_MixedEnemies $80
enum: DungeonDoor
DungeonDoor_Door 0
DungeonDoor_Wall 1
DungeonDoor_Push 2
DungeonDoor_PushSilent 3
DungeonDoor_BombWall 4
DungeonDoor_LockedDoor 5
DungeonDoor_LockedDoor2 6
DungeonDoor_ShutterDoor 7
enum: InventoryItem
InventoryItem_Sword 0
InventoryItem_Bomb 1
InventoryItem_Arrow 2
InventoryItem_Bow 3
InventoryItem_Candle 4
InventoryItem_Recorder 5
InventoryItem_Meat 6
InventoryItem_Potion 7
InventoryItem_Rod 8
InventoryItem_Raft 9
InventoryItem_Book $A
InventoryItem_Ring $B Passives
InventoryItem_Ladder $C
InventoryItem_MagicKey $D
InventoryItem_PowerBracelet $E
InventoryItem_Letter $F
InventoryItem_Compass $10
InventoryItem_Map $11
InventoryItem_Fairy $14
InventoryItem_Clock $15
InventoryItem_Rupee $16
InventoryItem_Key $17
InventoryItem_HeartContainer $18
InventoryItem_Heart $19
InventoryItem_TriforcePiece $1A
InventoryItem_HoldingUpTriforce $1B This is used when Link is holding a triforce piece over his head.
InventoryItem_5Rupee $1C
InventoryItem_Boomerang $1D
InventoryItem_MagicBoomerang $1E
InventoryItem_Shield $1F
enum: ScreenStatusOverworld
ScreenStatusOverworld_AllEnemiesKilled 7 The number of enemies killed, or 0x07 if all enemies on the screen have been killed.
ScreenStatusOverworld_Visited $20 Same flag in dungeons and overworld
ScreenStatusOverworld_SecretOpened $80
enum: PPUStatusBits
PPUStatusBits_SpriteOverflow $20
PPUStatusBits_Sprite0Hit $40
PPUStatusBits_VBlankStarted $80
enum: PPUMaskBits
PPUMaskBits_Greyscale 1
PPUMaskBits_BackgroundOnLeft8PX 2
PPUMaskBits_SpritesOnLeft8PX 4
PPUMaskBits_ShowBackground 8
PPUMaskBits_ShowSprites $10
PPUMaskBits_EmphasizeRed $20
PPUMaskBits_EmphasizeGreen $40
PPUMaskBits_EmphasizeBlue $80
enum: PPUCommandIndices
PPUCommandIndices_IntroTextRelated_2 2 PPUCommandIndices_Unknown_Copied_Data_0
PPUCommandIndices_GameOverMenu 4
PPUCommandIndices_Unknown_Copied_Data_1 6
PPUCommandIndices_SpecialPaletteMapping_Aquamentus 8
PPUCommandIndices_SpecialPaletteMapping_Digdogger_Dodongo $A
PPUCommandIndices_CurtainsOpening_7 $C PPUCommandIndices_Unknown_Copied_Data_2
PPUCommandIndices_CurtainsOpening_5 $E
PPUCommandIndices_IntroTextRelated_1 $10
PPUCommandIndices_MainMenu_1 $12
PPUCommandIndices_LevelNumber $13
PPUCommandIndices_MainMenu_2 $14
PPUCommandIndices_DeleteSave $16
PPUCommandIndices_DungeonPPUData $18 This sends ppu_data_for_current_dungeon.
PPUCommandIndices_Unknown_20 $20
PPUCommandIndices_Unknown_22 $22
PPUCommandIndices_Unknown_24 $24
PPUCommandIndices_Cellar $26
PPUCommandIndices_JustDied_SetLinkGreyscale $2C
PPUCommandIndices_Unknown_30 $30
PPUCommandIndices_Unknown_32 $32
PPUCommandIndices_Unknown_34 $34
PPUCommandIndices_SpecialPaletteMapping_Ganon $36
PPUCommandIndices_Unknown_38 $38
PPUCommandIndices_Unknown_3a $3A
PPUCommandIndices_Unknown_3C $3C
PPUCommandIndices_Unknown_40 $40
PPUCommandIndices_Unknown_42 $42
PPUCommandIndices_Unknown_44 $44
PPUCommandIndices_TextScrolling $4E
PPUCommandIndices_Unknown_50 $50
PPUCommandIndices_Unknown_Copied_Data_3 $52
PPUCommandIndices_Unknown_Copied_Data_4 $54
PPUCommandIndices_Unknown_Copied_Data_5 $56
PPUCommandIndices_Unknown_Copied_Data_6 $58
PPUCommandIndices_Unknown_5A $5A
PPUCommandIndices_Unknown_Copied_Data_7 $5C
PPUCommandIndices_JustDied_5 $5E
PPUCommandIndices_JustDied_3 $60
PPUCommandIndices_JustDied_4 $62
PPUCommandIndices_Unknown_65 $65
PPUCommandIndices_FoundZeldaPalette $6A
PPUCommandIndices_BombUpgradePrice $6C
PPUCommandIndices_PickedUpTriforce $78
PPUCommandIndices_Unknown_7A $7A
PPUCommandIndices_SpecialPaletteMapping_Gleeok $7C
enum: Sound0
Sound0_BeamSword 1
Sound0_BossPainSound 2
Sound0_Door 4
Sound0_LinkHit 8 Ow
Sound0_BossRoar1 $10
Sound0_BossRoar2 $20
Sound0_BossRoar3 $40
enum: KnockbackFlags
KnockbackFlags_Unknown_0x40 $40
KnockbackFlags_MaintainTileAlignment $80 If set, knockback guarantees that it never puts the object off-axis on both the X and Y axes.
enum: OAMAttributes
OAMAttributes_Palette_1 1
OAMAttributes_Palette_2 2
OAMAttributes_Palette_3 3
OAMAttributes_BehindBackground $20
OAMAttributes_FlipHorizontally $40
OAMAttributes_FlipVertically $80
enum: StoreState
StoreState_CanPickUp 2 Also in this state when we walk into a door repair
StoreState_PickedUpItem 5
StoreState_Finished 8
enum: BeamSwordOrRodState
BeamSwordOrRodState_Beam_Exploding 1
BeamSwordOrRodState_Type_Sword_Beam $10
BeamSwordOrRodState_Type_Rod $80
enum: MMCControl
MMCControl_SingleScreenUpperBank 1
MMCControl_VerticalMirroring 2
MMCControl_HorizontalMirroring 3
MMCControl_PRGMode_FixedBank1 $C This is the only PRG mode used.
enum: ScreenStatusDungeon
ScreenStatusDungeon_WallOpened_Right 1
ScreenStatusDungeon_WallOpened_Left 2
ScreenStatusDungeon_WallOpened_Down 4
ScreenStatusDungeon_WallOpened_Up 8
ScreenStatusDungeon_PickedUpFloorItem $10
ScreenStatusDungeon_Visited $20
ScreenStatusDungeon_AllEnemiesKilled $C0 The number of enemies killed, or 3 (0xC0) if all enemies on the screen have been killed. (This clips to 2, and the actual number of enemies killed is stored in number_of_enemies_killed_in_dungeon_room.)
enum: DamageType
DamageType_Sword 1
DamageType_Boomerang 2
DamageType_Arrow 4
DamageType_Bomb 8
DamageType_Rod $10
DamageType_Fire $20
DamageType_Unknown_40 $40
DamageType_Unknown_80 $80
enum: FloorItem
FloorItem_Bomb 0
FloorItem_WoodSword 1
FloorItem_WhiteSword 2
FloorItem_MagicalSword 3
FloorItem_Meat 4
FloorItem_Recorder 5
FloorItem_BlueCandle 6
FloorItem_RedCandle 7
FloorItem_Arrow 8
FloorItem_SilverArrow 9
FloorItem_Bow $A
FloorItem_MagicKey $B
FloorItem_Raft $C
FloorItem_Ladder $D
FloorItem_GanonTriforce $E
FloorItem_5Rupee $F
FloorItem_Rod $10
FloorItem_Book $11
FloorItem_BlueRing $12
FloorItem_RedRing $13
FloorItem_PowerBracelet $14
FloorItem_Letter $15
FloorItem_Compass $16
FloorItem_Map $17
FloorItem_Rupee $18
FloorItem_Key $19
FloorItem_HeartContainer $1A
FloorItem_TriforcePiece $1B
FloorItem_Shield $1C
FloorItem_Boomerang $1D
FloorItem_MagicBoomerang $1E
FloorItem_BluePotion $1F
FloorItem_RedPotion $20
FloorItem_Clock $21
FloorItem_Heart $22
FloorItem_Fairy $23
enum: EnemyProperties
EnemyProperties_SkipAutomaticUpdate 1 If set, the main object loop won't update the sprite for this object or check for hits. The update for the object will do it instead.
EnemyProperties_DrawHalfTile 2 If set, the enemy's sprite is half a tile (one 8x16 sprite instead of two).
EnemyProperties_SkipAutomaticSpriteUpdate 4 If set, the main object loop won't update the sprite for this object. The update for the object will do it instead. EnemyProperties_SkipAutomaticUpdate also has this effect (but also skips hit detection).
EnemyProperties_FlipHorizontal_MirrorVertical 8 Mirror the sprite when vertical, and flip it when horizontal.
EnemyProperties_ReverseDirectionAtWalls $10 If set, the enemy starts walking in the opposite direction when he hits a wall. Otherwise, it turns 90 degrees and starts walking along the wall instead. This interacts with the enemy's AI (if it's set to rotate 180 degrees, but it's trying to walk towards Link, it'll just turn back on the next tile and bump its head against the wall again).
EnemyProperties_Invincible $20
EnemyProperties_MoveHitboxRight4Pixels $40 If set, set_position_for_hitbox_check shifts the object's hitbox right 4 pixels instead of 8.
enum: AttackType
AttackType_Sword $D
AttackType_SwordBeamOrRodBeam $E The beam of either the beam sword or the rod.
AttackType_BoomerangOrMeat $F Boomerangs and meat share a slot. Firing the boomerang while meat is on the ground makes the meat disappear.
AttackType_BombOrFire1 $10 There are two slots for bombs and fire. Two fires can be shot at once, or a bomb and a fire.
AttackType_BombOrFire2 $11
AttackType_ArrowOrMeleeRod $12 An arrow in the air, or the melee part of the rod attack.
enum: ObjectType
ObjectType_None 0
ObjectType_BlueLynel 1
ObjectType_RedLynel 2
ObjectType_BlueMoblin 3
ObjectType_RedMoblin 4
ObjectType_BlueGoriya 5
ObjectType_RedGoriya 6
ObjectType_RedOctorok 7
ObjectType_RedOctorokFast 8
ObjectType_BlueOctorok 9
ObjectType_BlueOctorokFast $A
ObjectType_RedDarknut $B
ObjectType_BlueDarknut $C
ObjectType_BlueTektite $D
ObjectType_RedTektite $E
ObjectType_BlueLeever $F
ObjectType_RedLeever $10
ObjectType_Zola $11
ObjectType_Vire $12
ObjectType_Zol $13
ObjectType_Gel1 $14
ObjectType_Gel2 $15
ObjectType_PolsVoice $16
ObjectType_LikeLike $17
ObjectType_Digdogger_Spawn $18
ObjectType_Smoke $19
ObjectType_Peahat $1A
ObjectType_BlueKeese $1B
ObjectType_RedKeese $1C
ObjectType_DarkKeese $1D
ObjectType_Armos $1E
ObjectType_FallingRocks_Daemon $1F
ObjectType_FallingRock $20
ObjectType_Ghini $21
ObjectType_GhiniFromTombs $22 Created by handle_spawning_armos_ghini_on_touch
ObjectType_BlueWizzrobe $23
ObjectType_RedWizzrobe $24
ObjectType_Patra_Eye_1 $25 Eyes used by ObjectType_Patra_1.
ObjectType_Patra_Eye_2 $26 Eyes used by ObjectType_Patra_2.
ObjectType_WallMaster $27
ObjectType_Rope $28
ObjectType_Unknown_29 $29 Is this used?
ObjectType_Stalfos $2A
ObjectType_Bubble $2B
ObjectType_BlueBubble $2C
ObjectType_RedBubble $2D
ObjectType_Whirlwind $2E
ObjectType_LakeFairy $2F Drop fairies are FloorPickup objects.
ObjectType_Gibdo $30
ObjectType_DodongoMiniboss $31
ObjectType_DodongoBoss $32
ObjectType_BlueGohma $33
ObjectType_RedGohma $34
ObjectType_TenRupees $35 One rupee, spawned in a pattern of 10
ObjectType_HungryGoriya $36
ObjectType_Zelda $37
ObjectType_Digdogger_3 $38
ObjectType_Digdogger_1 $39
ObjectType_RedLanmola $3A
ObjectType_BlueLanmola $3B
ObjectType_Manhandla $3C
ObjectType_Aquamentus $3D
ObjectType_Ganon $3E
ObjectType_Flame $3F
ObjectType_Flame_Unkillable $40
ObjectType_Moldorm $41
ObjectType_Gleeok_1_Head $42
ObjectType_Gleeok_2_Heads $43
ObjectType_Gleeok_3_Heads $44
ObjectType_Gleeok_4_Heads $45
ObjectType_Gleeok_Flying_Head $46
ObjectType_Patra_1 $47
ObjectType_Patra_2 $48
ObjectType_WallTrap_Vert $49
ObjectType_WallTrap_Horiz $4A
ObjectType_OldMan_Dungeon_Hint_0 $4B DODONGO DISLIKES SMOKE.
ObjectType_OldMan_Dungeon_Hint_1 $4C EASTMOST PENNINSULA IS THE SECRET.
ObjectType_OldMan_Dungeon_Hint_2 $4D SECRET POWER IS SAID TO BE IN THE ARROW.
ObjectType_OldMan_Dungeon_Hint_3 $4E DIGDOGGER HATES CERTAIN KIND OF SOUND.
ObjectType_OldMan_BombUpgrade $4F I BET YOU'D LIKE TO HAVE MORE BOMBS.
ObjectType_OldMan_Dungeon_Hint_4 $50 THERE'S A SECRET IN THE TIP OF THE NOSE.
ObjectType_OldMan_Mugger $51 LEAVE YOUR LIFE OR MONEY.
ObjectType_OldMan_Dungeon_Hint_5 $52 IF YOU GO IN THE DIRECTION OF THE ARROW.
ObjectType_Octorok_Projectile $53
ObjectType_Unknown_Projectile_54 $54
ObjectType_Homing_Fireball_1 $55
ObjectType_Homing_Fireball_2 $56 Fireball_1 can be deflected by the shield. Fireball_2 can't.
ObjectType_Lynel_Sword $57
ObjectType_Projectile_Blue_Wizzrobe_Beam $58
ObjectType_Projectile_Red_Wizzrobe_Beam $59
ObjectType_Unknown_Projectile_5A $5A Does anything create this?
ObjectType_Moblin_Arrow $5B
ObjectType_Goriya_Boomerang $5C
ObjectType_EnemyDeath $5D
ObjectType_RecorderPondDaemon $5E
ObjectType_Ladder $5F
ObjectType_FloorPickup $60 All dead enemies turn into this, whether they actually have a floor pickup or not. If they have no item, this is invisible.
ObjectType_OverworldSecret_Raft $61 An overworld raft spot.
ObjectType_OverworldSecret_Push_Rock $62 An overworld push block (rock sprite).
ObjectType_OverworldSecret_Bomb $63 An overworld bomb spot.
ObjectType_OverworldSecret_Candle $64 An overworld candle spot.
ObjectType_OverworldSecret_Push_Tomb $65 An overworld push block (tomb sprite).
ObjectType_OverworldSecret_Push_Armos $66 An overworld push block (Armos sprite).
ObjectType_OverworldSecret_Bomb_2 $67 An overworld bomb spot. I'm not sure how this differs from ObjectType_OverworldSecret_Bomb.
ObjectType_DungeonSecret_Push_Block $68 An overworld push block.
ObjectType_OldMan_WoodSword $6A
ObjectType_OldMan_TakeAnyOneYouWant $6B
ObjectType_OldMan_SilverSword $6C
ObjectType_OldMan_MasterSword $6D
ObjectType_OldMan_TakeAnyRoad $6E
ObjectType_OldMan_Overworld_Hint $6F Secret is in the tree at the dead-end.
ObjectType_OldMan_MoneyMakingGame $70
ObjectType_OldMan_DoorRepair $71
ObjectType_OldMan_Letter $72
ObjectType_OldWoman_Hint $73 MEET THE OLD MAN AT THE GRAVE.
ObjectType_OldWoman_PotionShop $74
ObjectType_OldWoman_HintShop1 $75
ObjectType_OldWoman_HintShop2 $76
ObjectType_Store_1 $77
ObjectType_Store_2 $78
ObjectType_Store_3 $79
ObjectType_Store_4 $7A
ObjectType_RupeeSecret_Big $7B
ObjectType_RupeeSecret_Middle $7C
ObjectType_RupeeSecret_Small $7D
enum: OverworldTiles
OverworldTiles_CaveOrDungeonEntrance $24
OverworldTiles_Cellar_OldMan $26
OverworldTiles_Ladder1 $74
OverworldTiles_Ladder2 $75
Segment: RAM
RAM:0000 var_0: ; These are all scratch variables, used either as local
  ; variables or as globals local to some piece of logic.
  ; They don't hold long-term state.
RAM:0001 var_1:
RAM:0002 var_2:
RAM:0003 var_3:
RAM:0004 var_4:
RAM:0005 var_5:
RAM:0006 var_6:
RAM:0007 var_7:
RAM:0008 var_8:
RAM:0009 var_9:
RAM:000A var_10:
RAM:000B var_11:
RAM:000C var_12:
RAM:000D var_13:
RAM:000E var_14:
RAM:000F var_15:
RAM:0010 dungeon_idx:
RAM:0011 active_game_mode_task: ; If 0, we run task0 for the current game_mode. If 1, we run task1.
RAM:0012 game_mode:
RAM:0013 task_state: ; The state for the current task. This usually corresponds
  ; with jump tables in functions like task0_Scrolling_work,
  ; and usually gets reset to 0 when changing tasks to start
  ; the new task at the beginning.
RAM:0014 current_ppu_command_index:
RAM:0015 frame_counter:
RAM:0016 current_save_slot: ; The current save slot when in gameplay, or the menu item when on the title menu (which may be register or delete).
RAM:0017 curtains_currently_opening:
  ; Each PRNG byte is shifted into the next one bit per frame, with new bits being generated into prng_0.
RAM:0018 prng_0:
RAM:0019 prng_1:
RAM:001A prng_2:
RAM:001B prng_3:
RAM:001C  
RAM:001D prng_5:
RAM:001E  
RAM:001F  
RAM:0020 prng_8:
RAM:0021  
RAM:0022 prng_A:
RAM:0023  
RAM:0024  
RAM:0025 prng_last:
RAM:0026 ten_frame_counter: ; This counts down one per frame from 9-0, then loops back to 9.
  ; This is only used to know when to update other timers that
  ; update every ten frames.
  ; Timers are from here to 0x004E. The following timers decrement each frame.
  ; All timers clamp to 0 and don't loop. These are all updated at the start of
  ; the frame by OnNMI:update_timers.
RAM:0027 bombed_door_timer: ; This timer is set after bombing a wall in a dungeon. The
  ; hole won't appear until this reaches 0.
RAM:0028 enemy_action_timers: ; A timer for each object. The use of this depends on the
  ; object type, but it's usually a timer until the next action
  ; or state change.
RAM:0029 npc_action_timer_1: ; Enemy code that expects to be the only active object at index 1 references this array entry directly.
RAM:002A npc_action_timer_2:
RAM:002B npc_action_timer_3:
RAM:002C npc_action_timer_4:
RAM:002D npc_action_timer_5:
RAM:002E npc_action_timer_6:
RAM:002F npc_action_timer_7:
RAM:0030 npc_action_timer_8:
RAM:0031 npc_action_timer_9:
RAM:0032 death_cutscene_timer_1: ; This timer is set during the death cutscene, but doesn't seem to be used.
RAM:0033 death_cutscene_timer_2:
RAM:0034 palette_cycle_timer: ; Last NPC action timer.
RAM:0035   ; Unknown timer (are these used by weapon timers, like AttackType_13?)
RAM:0036   ; Unknown timer (unused?)
RAM:0037   ; Unknown timer (unused?)
RAM:0038 bomb_flame_timer:
RAM:0039   ; Unknown timer (unused?)
RAM:003A   ; Unknown timer (unused?)
RAM:003B boomerang_sound_timer:
RAM:003C recorder_lock_timer:
  ; Timers from here down decrement every 10 frames instead
  ; of every frame. This happens when ten_frame_counter cycles.
 
RAM:003D enemy_stun: ; A timer for stun for each object slot (12)
RAM:003E  
RAM:003F  
RAM:0040  
RAM:0041  
RAM:0042  
RAM:0043  
RAM:0044  
RAM:0045  
RAM:0046  
RAM:0047  
RAM:0048  
RAM:0049   ; Last enemy stun timer
RAM:004A enemy_behavior_seeking_timer:
RAM:004B enter_from_side_timer: ; Timer before the next enemy enters from the side.
RAM:004C bubble_sword_timer: ; A timer to disable the sword temporarily when hit by a regular bubble.
  ; See also sword_disabled_by_bubble, which is set when the sword is disabled
  ; permanently by a red (2nd quest) bubble.
RAM:004D leever_timer:
RAM:004E unknown_timer_6:
RAM:004F  
RAM:0050 consecutive_ten_kill_counter:
RAM:0051 reached_ten_kills_with_last_bomb: ; This is set to 1 after killing the 10th enemy with a bomb.
RAM:0052 byte_52:
RAM:0053 in_dungeon_door: ; If we're standing in a dungeon door, this is set to the direction we were facing when we entered it.
RAM:0054 byte_54:
RAM:0055 bombing_or_unlocking_door_direction:
RAM:0056 walking_direction_was_flipped:
RAM:0057 number_of_extra_directions_pressed: ; If two directions are pressed at once, this is set to 1.
RAM:0058 byte_58:
RAM:0059 tmp_result:
RAM:005A is_in_cellar:
RAM:005B next_game_mode:
RAM:005C alternate_ppu_nametable: ; If true, the nametable will be swapped between 0x2000 and 0x2800 at the beginning of the next frame.
RAM:005D start_menu_scroll_drawing_map_position: ; The map location of the start menu map that's currently
  ; being drawn.
RAM:005E start_menu_scroll_progress:
RAM:005F byte_5F:
RAM:0060 enemy_behavior_seeking_mode:
RAM:0061 enemy_behavior_seek_x:
RAM:0062 enemy_behavior_seek_y:
RAM:0063 health_refill: ; 0x01 = potion refill, 0x02 = triforce refill, 0x40 = fairy refill
RAM:0064 ladder_object_id:
RAM:0065 link_most_recent_overworld_tile_type:
RAM:0066 song_start_low:
RAM:0067 song_start_high:
RAM:0068 audio_misc_4:
RAM:0069 audio_misc_7:
RAM:006A audio_pulse1_offset:
RAM:006B audio_pulse2_offset:
RAM:006C byte_6C:
RAM:006D audio_misc_3:
RAM:006E audio_rhythm_offset:
RAM:006F audio_rhythm_countdown:
RAM:0070 object_x:
RAM:0071 object_x_1:
RAM:0072 object_x_2:
RAM:0073 object_x_3:
RAM:0074 object_x_4:
RAM:0075 object_x_5:
RAM:0076 object_x_6:
RAM:0077 object_x_7:
RAM:0078 object_x_8:
RAM:0079 object_x_9:
RAM:007A object_x_10:
RAM:007B object_x_11:
RAM:007C object_x_12:
RAM:007D link_melee_x:
RAM:007E link_beam_x:
RAM:007F boomerang_bait_x:
RAM:0080 bomb_1_x:
RAM:0081 bomb_2_x:
RAM:0082 arrow_x:
RAM:0083 floor_item_x:
RAM:0084 object_y:
RAM:0085 object_y_1:
RAM:0086 object_y_2:
RAM:0087 object_y_3:
RAM:0088 object_y_4:
RAM:0089 object_y_5:
RAM:008A object_y_6:
RAM:008B object_y_7:
RAM:008C object_y_8:
RAM:008D object_y_9:
RAM:008E object_y_10:
RAM:008F object_y_11:
RAM:0090 object_y_12:
RAM:0091  
RAM:0092  
RAM:0093  
RAM:0094  
RAM:0095  
RAM:0096 arrow_y:
RAM:0097 floor_item_y:
RAM:0098 object_direction:
RAM:0099 object_direction_1:
RAM:009A  
RAM:009B  
RAM:009C  
RAM:009D  
RAM:009E  
RAM:009F projectile_direction_mask:
RAM:00A0  
RAM:00A1  
RAM:00A2  
RAM:00A3 byte_A3: ; related to push blocks
RAM:00A4  
RAM:00A5  
RAM:00A6  
RAM:00A7 projectile_direction_boomerang:
RAM:00A8  
RAM:00A9  
RAM:00AA  
RAM:00AB current_floor_item:
RAM:00AC walk_state_and_weapon_state: ; This value is Link's walk state. AttackType values indexed from here are the state of Link's weapons.
  ; For example, walk_state_and_weapon_state[AttackType_Sword] is the state of the sword.
RAM:00AD global_room_state: ; Global room state. This is used by the fairy lake, stores, etc.
RAM:00AE enemy_state_10_2:
RAM:00AF  
RAM:00B0  
RAM:00B1  
RAM:00B2  
RAM:00B3  
RAM:00B4  
RAM:00B5 maybe_next_projectile_idx:
RAM:00B6 zola_state_2:
RAM:00B7 byte_B7:
RAM:00B8  
RAM:00B9 sword_state:
RAM:00BA sword_rod_beam_state: ; The state of either the rod beam or the sword beam. Only
  ; one of these can be active at a time. This value is referenced
  ; indirectly through walk_state_and_weapon_state[AttackType_BeamSwordOrRod].
 
  ; 0x10: beam sword in the air
  ; 0x11: beam sword exploding
  ; 0x80: rod beam in the air
RAM:00BB boomerang_or_meat_state: ; 0x80: meat placed
RAM:00BC bomb_or_fire1_state: ; State for AttackType_BombOrFire1 (indexed relative to walk_state_and_weapon_state)
RAM:00BD bomb_or_fire2_state: ; State for AttackType_BombOrFire2 (indexed relative to walk_state_and_weapon_state)
RAM:00BE arrow_or_melee_rod_state: ; The state of an arrow flying, or the melee portion of the rod attack.
 
  ; 0x10: arrow
  ; 0x30: rod melee
RAM:00BF current_room_floor_item_hidden: ; This is 0xFF if the room drop in the current room isn't
  ; visible, eg. because enemies need to be killed or a push
  ; block pushed first.
RAM:00C0 object_knockback:
RAM:00C1 object_knockback_1:
RAM:00C2 object_knockback_2:
RAM:00C3 object_knockback_3:
RAM:00C4 object_knockback_4:
RAM:00C5 object_knockback_5:
RAM:00C6 object_knockback_6:
RAM:00C7 object_knockback_7:
RAM:00C8 object_knockback_8:
RAM:00C9 object_knockback_9:
RAM:00CA object_knockback_10:
RAM:00CB object_knockback_11:
RAM:00CC object_knockback_12:
RAM:00CD  
RAM:00CE byte_CE: ; This is a 16-bit pointer used by ROM2:A3C8, which makes
  ; dynamic code modifications to the SRAM CODE block.
RAM:00CF byte_CF:
RAM:00D0  
RAM:00D1  
RAM:00D2  
RAM:00D3 knockback_frames: ; The number of knockback frames for each object.
RAM:00D4  
RAM:00D5  
RAM:00D6  
RAM:00D7  
RAM:00D8  
RAM:00D9  
RAM:00DA  
RAM:00DB  
RAM:00DC  
RAM:00DD  
RAM:00DE  
RAM:00DF  
RAM:00E0 paused:
RAM:00E1 gameplay_menu_state:
RAM:00E2 byte_E2:
RAM:00E3 do_ppu_work_after_sprite0_next_frame: ; If set, OnNMI does some PPU manipulation after a sprite 0
  ; hit. This is related to set_oam_sprite_0 and is used during
  ; scrolling and overworld cellar transitions.
RAM:00E4  
RAM:00E5 byte_E5:
RAM:00E6 byte_E6:
RAM:00E7 transitioning_direction: ; The mask for the direction we're about to transition.
RAM:00E8 byte_E8:
RAM:00E9 byte_E9:
RAM:00EA displayed_map_location: ; This is only different from map_location during scrolling.
RAM:00EB map_location:
RAM:00EC map_location_transitioning_to:
RAM:00ED byte_ED:
RAM:00EE unlocked_door_directions: ; This is a direction mask of the locked and bomb doors
  ; that are open in the current room. This doesn't include
  ; regular doors that don't close.
RAM:00EF byte_EF:
RAM:00F0  
RAM:00F1  
RAM:00F2  
RAM:00F3 byte_F3:
RAM:00F4 sram_init_finished: ; If 0, run_game_mode_task0 will copy the code block to SRAM.
RAM:00F5 sprite_data_1_initialized:
RAM:00F6 sprite_data_2_initialized:
RAM:00F7 ppu_unknown_task_returns_to_ROM4:
RAM:00F8 controller_1_pressed: ; P1 buttons pressed on this frame
RAM:00F9 controller_2_pressed: ; P2 buttons pressed on this frame
RAM:00FA controller_1_cur: ; P1 buttons being held
RAM:00FB controller_2_cur: ; P2 buttons being held
RAM:00FC desired_ppuscroll_y: ; PPUSCROLL X and Y are set to these at the start of each frame.
RAM:00FD desired_ppuscroll_x:
RAM:00FE current_ppumask:
RAM:00FF current_ppuctrl:
RAM:0100  
RAM:0101  
RAM:0102  
RAM:0103  
RAM:0104  
RAM:0105  
RAM:0106  
RAM:0107  
RAM:0108  
RAM:0109  
RAM:010A  
RAM:010B  
RAM:010C byte_10C:
RAM:010D  
RAM:010E current_object_tile_size_pos:
RAM:010F current_object_tile_size_neg:
RAM:0110  
RAM:0111  
RAM:0112  
RAM:0113  
RAM:0114  
RAM:0115  
RAM:0116  
RAM:0117  
RAM:0118  
RAM:0119  
RAM:011A  
RAM:011B  
RAM:011C  
RAM:011D  
RAM:011E  
RAM:011F  
RAM:0120  
RAM:0121  
RAM:0122  
RAM:0123  
RAM:0124  
RAM:0125  
RAM:0126  
RAM:0127  
RAM:0128  
RAM:0129  
RAM:012A  
RAM:012B  
RAM:012C  
RAM:012D  
RAM:012E  
RAM:012F  
RAM:0130  
RAM:0131  
RAM:0132  
RAM:0133  
RAM:0134  
RAM:0135  
RAM:0136  
RAM:0137  
RAM:0138  
RAM:0139  
RAM:013A  
RAM:013B  
RAM:013C  
RAM:013D  
RAM:013E  
RAM:013F  
RAM:0140  
RAM:0141  
RAM:0142  
RAM:0143  
RAM:0144  
RAM:0145  
RAM:0146  
RAM:0147  
RAM:0148  
RAM:0149  
RAM:014A  
RAM:014B  
RAM:014C  
RAM:014D  
RAM:014E  
RAM:014F  
RAM:0150  
RAM:0151  
RAM:0152  
RAM:0153  
RAM:0154  
RAM:0155  
RAM:0156  
RAM:0157  
RAM:0158  
RAM:0159  
RAM:015A  
RAM:015B  
RAM:015C  
RAM:015D  
RAM:015E  
RAM:015F  
RAM:0160  
RAM:0161  
RAM:0162  
RAM:0163  
RAM:0164  
RAM:0165  
RAM:0166  
RAM:0167  
RAM:0168  
RAM:0169  
RAM:016A  
RAM:016B  
RAM:016C  
RAM:016D  
RAM:016E  
RAM:016F  
RAM:0170  
RAM:0171  
RAM:0172  
RAM:0173  
RAM:0174  
RAM:0175  
RAM:0176  
RAM:0177  
RAM:0178  
RAM:0179  
RAM:017A  
RAM:017B  
RAM:017C  
RAM:017D  
RAM:017E  
RAM:017F  
RAM:0180  
RAM:0181  
RAM:0182  
RAM:0183  
RAM:0184  
RAM:0185  
RAM:0186  
RAM:0187  
RAM:0188  
RAM:0189  
RAM:018A  
RAM:018B  
RAM:018C  
RAM:018D  
RAM:018E  
RAM:018F  
RAM:0190  
RAM:0191  
RAM:0192  
RAM:0193  
RAM:0194  
RAM:0195  
RAM:0196  
RAM:0197  
RAM:0198  
RAM:0199  
RAM:019A  
RAM:019B  
RAM:019C  
RAM:019D  
RAM:019E  
RAM:019F  
RAM:01A0  
RAM:01A1  
RAM:01A2  
RAM:01A3  
RAM:01A4  
RAM:01A5  
RAM:01A6  
RAM:01A7  
RAM:01A8  
RAM:01A9  
RAM:01AA  
RAM:01AB  
RAM:01AC  
RAM:01AD  
RAM:01AE  
RAM:01AF  
RAM:01B0  
RAM:01B1  
RAM:01B2  
RAM:01B3  
RAM:01B4  
RAM:01B5  
RAM:01B6  
RAM:01B7  
RAM:01B8  
RAM:01B9  
RAM:01BA  
RAM:01BB  
RAM:01BC  
RAM:01BD  
RAM:01BE  
RAM:01BF  
RAM:01C0  
RAM:01C1  
RAM:01C2  
RAM:01C3  
RAM:01C4  
RAM:01C5  
RAM:01C6  
RAM:01C7  
RAM:01C8  
RAM:01C9  
RAM:01CA  
RAM:01CB  
RAM:01CC  
RAM:01CD  
RAM:01CE  
RAM:01CF  
RAM:01D0  
RAM:01D1  
RAM:01D2  
RAM:01D3  
RAM:01D4  
RAM:01D5  
RAM:01D6  
RAM:01D7  
RAM:01D8  
RAM:01D9  
RAM:01DA  
RAM:01DB  
RAM:01DC  
RAM:01DD  
RAM:01DE  
RAM:01DF  
RAM:01E0  
RAM:01E1  
RAM:01E2  
RAM:01E3  
RAM:01E4  
RAM:01E5  
RAM:01E6  
RAM:01E7  
RAM:01E8  
RAM:01E9  
RAM:01EA  
RAM:01EB  
RAM:01EC  
RAM:01ED  
RAM:01EE  
RAM:01EF  
RAM:01F0  
RAM:01F1  
RAM:01F2  
RAM:01F3  
RAM:01F4  
RAM:01F5  
RAM:01F6  
RAM:01F7  
RAM:01F8  
RAM:01F9  
RAM:01FA  
RAM:01FB  
RAM:01FC  
RAM:01FD  
RAM:01FE  
RAM:01FF byte_1FF:
RAM:0200 sprite_oam_data: ; This is a 256-byte array of 64 OAMSprites.
RAM:0204 sprite_oam_data_04:
RAM:0205  
RAM:0206  
RAM:0207 sprite_oam_data_07:
RAM:0208 sprite_oam_data_08:
RAM:0209  
RAM:020A  
RAM:020B sprite_oam_data_0B:
RAM:020C  
RAM:020D  
RAM:020E  
RAM:020F  
RAM:0210  
RAM:0211  
RAM:0212  
RAM:0213  
RAM:0214  
RAM:0215  
RAM:0216  
RAM:0217  
RAM:0218  
RAM:0219  
RAM:021A  
RAM:021B  
RAM:021C sprite_oam_data_1C:
RAM:021D sprite_oam_data_1D:
RAM:021E sprite_oam_data_1E:
RAM:021F sprite_oam_data_1F:
RAM:0220 sprite_oam_data_20:
RAM:0221 sprite_oam_data_21:
RAM:0222 sprite_oam_data_22:
RAM:0223 sprite_oam_data_23:
RAM:0224  
RAM:0225  
RAM:0226  
RAM:0227  
RAM:0228  
RAM:0229  
RAM:022A  
RAM:022B  
RAM:022C  
RAM:022D  
RAM:022E  
RAM:022F  
RAM:0230  
RAM:0231  
RAM:0232  
RAM:0233  
RAM:0234  
RAM:0235  
RAM:0236  
RAM:0237  
RAM:0238  
RAM:0239  
RAM:023A  
RAM:023B  
RAM:023C  
RAM:023D  
RAM:023E  
RAM:023F  
RAM:0240 sprite_oam_data_40:
RAM:0241  
RAM:0242  
RAM:0243  
RAM:0244 sprite_oam_data_44:
RAM:0245  
RAM:0246  
RAM:0247  
RAM:0248 sprite_oam_data_48:
RAM:0249 sprite_oam_data_49:
RAM:024A sprite_oam_data_4A:
RAM:024B sprite_oam_data_4B:
RAM:024C sprite_oam_data_4C:
RAM:024D sprite_oam_data_4D:
RAM:024E sprite_oam_data_4E:
RAM:024F sprite_oam_data_4F:
RAM:0250 sprite_oam_data_50:
RAM:0251 sprite_oam_data_51:
RAM:0252 sprite_oam_data_52:
RAM:0253 sprite_oam_data_53:
RAM:0254 sprite_oam_data_54:
RAM:0255 sprite_oam_data_55:
RAM:0256 sprite_oam_data_56:
RAM:0257 sprite_oam_data_57:
RAM:0258 sprite_oam_data_58:
RAM:0259  
RAM:025A  
RAM:025B  
RAM:025C  
RAM:025D  
RAM:025E  
RAM:025F  
RAM:0260  
RAM:0261  
RAM:0262  
RAM:0263  
RAM:0264  
RAM:0265  
RAM:0266  
RAM:0267  
RAM:0268  
RAM:0269  
RAM:026A  
RAM:026B  
RAM:026C  
RAM:026D  
RAM:026E  
RAM:026F  
RAM:0270  
RAM:0271  
RAM:0272  
RAM:0273  
RAM:0274  
RAM:0275  
RAM:0276  
RAM:0277  
RAM:0278  
RAM:0279  
RAM:027A  
RAM:027B  
RAM:027C  
RAM:027D  
RAM:027E  
RAM:027F  
RAM:0280 sprite_oam_data_80:
RAM:0281 sprite_oam_data_81:
RAM:0282 sprite_oam_data_82:
RAM:0283 sprite_oam_data_83:
RAM:0284  
RAM:0285  
RAM:0286  
RAM:0287  
RAM:0288  
RAM:0289  
RAM:028A  
RAM:028B  
RAM:028C  
RAM:028D  
RAM:028E  
RAM:028F  
RAM:0290  
RAM:0291  
RAM:0292  
RAM:0293  
RAM:0294  
RAM:0295  
RAM:0296  
RAM:0297  
RAM:0298  
RAM:0299  
RAM:029A  
RAM:029B  
RAM:029C  
RAM:029D  
RAM:029E  
RAM:029F  
RAM:02A0  
RAM:02A1  
RAM:02A2  
RAM:02A3  
RAM:02A4  
RAM:02A5  
RAM:02A6  
RAM:02A7  
RAM:02A8  
RAM:02A9  
RAM:02AA  
RAM:02AB  
RAM:02AC  
RAM:02AD  
RAM:02AE  
RAM:02AF  
RAM:02B0  
RAM:02B1  
RAM:02B2  
RAM:02B3  
RAM:02B4  
RAM:02B5  
RAM:02B6  
RAM:02B7  
RAM:02B8  
RAM:02B9  
RAM:02BA  
RAM:02BB  
RAM:02BC  
RAM:02BD  
RAM:02BE  
RAM:02BF  
RAM:02C0  
RAM:02C1  
RAM:02C2  
RAM:02C3  
RAM:02C4  
RAM:02C5  
RAM:02C6  
RAM:02C7  
RAM:02C8  
RAM:02C9  
RAM:02CA  
RAM:02CB  
RAM:02CC  
RAM:02CD  
RAM:02CE  
RAM:02CF  
RAM:02D0  
RAM:02D1  
RAM:02D2  
RAM:02D3  
RAM:02D4  
RAM:02D5  
RAM:02D6  
RAM:02D7  
RAM:02D8  
RAM:02D9  
RAM:02DA  
RAM:02DB  
RAM:02DC  
RAM:02DD  
RAM:02DE  
RAM:02DF  
RAM:02E0  
RAM:02E1  
RAM:02E2  
RAM:02E3  
RAM:02E4  
RAM:02E5  
RAM:02E6  
RAM:02E7  
RAM:02E8  
RAM:02E9  
RAM:02EA  
RAM:02EB  
RAM:02EC  
RAM:02ED  
RAM:02EE  
RAM:02EF  
RAM:02F0  
RAM:02F1  
RAM:02F2  
RAM:02F3  
RAM:02F4  
RAM:02F5  
RAM:02F6  
RAM:02F7  
RAM:02F8  
RAM:02F9  
RAM:02FA  
RAM:02FB  
RAM:02FC  
RAM:02FD  
RAM:02FE  
RAM:02FF   ; End of sprite_oam_data array
RAM:0300 ppu_unknown_0:
RAM:0301 ppu_command_buffer_bytes_used: ; This is the number of bytes used in ppu_command_buffer. This is used to append commands to the buffer without having to scan to find the end of the existing commands.
RAM:0302 ppu_command_buffer:
RAM:0303 ppu_command_buffer_01:
RAM:0304 ppu_command_buffer_02:
RAM:0305 ppu_command_buffer_03:
RAM:0306 ppu_command_buffer_04:
RAM:0307 ppu_command_buffer_05:
RAM:0308 ppu_command_buffer_06:
RAM:0309 ppu_command_buffer_07:
RAM:030A ppu_command_buffer_08:
RAM:030B ppu_command_buffer_09:
RAM:030C ppu_command_buffer_0A:
RAM:030D  
RAM:030E ppu_command_buffer_0C:
RAM:030F  
RAM:0310  
RAM:0311  
RAM:0312 ppu_command_buffer_10:
RAM:0313  
RAM:0314 byte_314:
RAM:0315 ppu_command_buffer_13:
RAM:0316 ppu_command_buffer_14:
RAM:0317 ppu_command_buffer_15:
RAM:0318 ppu_command_buffer_16:
RAM:0319  
RAM:031A  
RAM:031B ppu_command_buffer_19:
RAM:031C  
RAM:031D  
RAM:031E  
RAM:031F  
RAM:0320  
RAM:0321 byte_321:
RAM:0322  
RAM:0323  
RAM:0324  
RAM:0325 byte_325:
RAM:0326 byte_326:
RAM:0327 byte_327:
RAM:0328 byte_328:
RAM:0329 byte_329:
RAM:032A  
RAM:032B  
RAM:032C  
RAM:032D  
RAM:032E  
RAM:032F byte_32F:
RAM:0330 byte_330:
RAM:0331  
RAM:0332  
RAM:0333  
RAM:0334  
RAM:0335  
RAM:0336  
RAM:0337  
RAM:0338  
RAM:0339  
RAM:033A  
RAM:033B  
RAM:033C  
RAM:033D  
RAM:033E  
RAM:033F currently_open_doors:
RAM:0340 processing_object_index:
RAM:0341 next_sprite_index:
RAM:0342 first_sprite_index:
RAM:0343 updating_oam_sprite_id_1:
RAM:0344 updating_oam_sprite_id_2:
RAM:0345  
RAM:0346 screen_min_x: ; This is copied from ROM5:B054 byte_17054 on the overworld, and ROM5:B059 in dungeons. See ROM5:B05E setup_byte_346.
RAM:0347 screen_max_x:
RAM:0348 screen_min_y:
RAM:0349 screen_max_y:
RAM:034A screen_first_solid_tile_id: ; Tile IDs >= this value can't be walked through.
RAM:034B projectile_hit_link: ; This is set to 1 by check_link_hit_by_enemy if a projectile
  ; hits Link even if it's deflected by the shield, so it can
  ; be despawned.
RAM:034C enemy_projectile_count:
RAM:034D room_clear: ; All enemies on the room are dead (or there weren't any to begin with)
RAM:034E total_enemies_spawned_in_room:
RAM:034F object_type: ; 5 = blue goriya
  ; 6 = red goriya
  ; 55 = zola fireball
RAM:0350 object_type_1:
RAM:0351 object_type_2:
RAM:0352 object_type_3:
RAM:0353  
RAM:0354 object_type_5:
RAM:0355  
RAM:0356 object_type_7:
RAM:0357  
RAM:0358  
RAM:0359  
RAM:035A object_type_B:
RAM:035B  
RAM:035C  
RAM:035D  
RAM:035E  
RAM:035F first_object_type: ; The first object type on the screen at screen load time. This is only set in dungeons.
RAM:0360  
RAM:0361  
RAM:0362  
RAM:0363  
RAM:0364  
RAM:0365  
RAM:0366  
RAM:0367  
RAM:0368  
RAM:0369  
RAM:036A  
RAM:036B  
RAM:036C  
RAM:036D  
RAM:036E  
RAM:036F  
RAM:0370  
RAM:0371  
RAM:0372  
RAM:0373  
RAM:0374  
RAM:0375  
RAM:0376  
RAM:0377  
RAM:0378  
RAM:0379  
RAM:037A  
RAM:037B  
RAM:037C  
RAM:037D  
RAM:037E  
RAM:037F  
RAM:0380 enemy_state_11:
RAM:0381 enemy_state_11_1:
RAM:0382 unk_382:
RAM:0383 unk_383:
RAM:0384 unk_384:
RAM:0385 unk_385:
RAM:0386 unk_386:
RAM:0387  
RAM:0388  
RAM:0389  
RAM:038A unk_38A:
RAM:038B  
RAM:038C  
RAM:038D  
RAM:038E  
RAM:038F  
RAM:0390  
RAM:0391  
RAM:0392  
RAM:0393  
RAM:0394 object_tile_offset_whole:
RAM:0395 object_tile_offset_whole_1:
RAM:0396 object_tile_offset_whole_2:
RAM:0397 object_tile_offset_whole_3:
RAM:0398 object_tile_offset_whole_4:
RAM:0399 object_tile_offset_whole_5:
RAM:039A object_tile_offset_whole_6:
RAM:039B object_tile_offset_whole_7:
RAM:039C object_tile_offset_whole_8:
RAM:039D object_tile_offset_whole_9:
RAM:039E object_tile_offset_whole_10:
RAM:039F object_tile_offset_whole_11:
RAM:03A0 object_tile_offset_whole_12:
RAM:03A1  
RAM:03A2  
RAM:03A3  
RAM:03A4  
RAM:03A5  
RAM:03A6  
RAM:03A7  
RAM:03A8 object_tile_offset_fraction:
RAM:03A9 object_tile_offset_fraction_1: ; Lots of code refers to this through object_tile_offset_fraction, since object IDs start at 1.
RAM:03AA object_tile_offset_fraction_2:
RAM:03AB object_tile_offset_fraction_3:
RAM:03AC object_tile_offset_fraction_4:
RAM:03AD object_tile_offset_fraction_5:
RAM:03AE object_tile_offset_fraction_6:
RAM:03AF object_tile_offset_fraction_7:
RAM:03B0 object_tile_offset_fraction_8:
RAM:03B1 object_tile_offset_fraction_9:
RAM:03B2 object_tile_offset_fraction_10:
RAM:03B3 object_tile_offset_fraction_11:
RAM:03B4 object_tile_offset_fraction_12:
RAM:03B5  
RAM:03B6  
RAM:03B7  
RAM:03B8  
RAM:03B9  
RAM:03BA  
RAM:03BB  
RAM:03BC object_walk_speed:
RAM:03BD object_walk_speed_1:
RAM:03BE  
RAM:03BF  
RAM:03C0  
RAM:03C1  
RAM:03C2  
RAM:03C3  
RAM:03C4  
RAM:03C5  
RAM:03C6  
RAM:03C7  
RAM:03C8  
RAM:03C9  
RAM:03CA  
RAM:03CB  
RAM:03CC  
RAM:03CD  
RAM:03CE  
RAM:03CF  
RAM:03D0 object_animation_frame_timer: ; This holds animation frame timers for both objects and weapons.
RAM:03D1  
RAM:03D2  
RAM:03D3  
RAM:03D4  
RAM:03D5  
RAM:03D6  
RAM:03D7  
RAM:03D8  
RAM:03D9  
RAM:03DA  
RAM:03DB  
RAM:03DC  
RAM:03DD   ; Weapon timers start here.
RAM:03DE  
RAM:03DF  
RAM:03E0  
RAM:03E1  
RAM:03E2  
RAM:03E3  
RAM:03E4 object_animation_frame:
RAM:03E5  
RAM:03E6  
RAM:03E7  
RAM:03E8  
RAM:03E9  
RAM:03EA  
RAM:03EB  
RAM:03EC  
RAM:03ED  
RAM:03EE  
RAM:03EF  
RAM:03F0  
RAM:03F1  
RAM:03F2  
RAM:03F3  
RAM:03F4  
RAM:03F5  
RAM:03F6  
RAM:03F7  
RAM:03F8 walking_directions:
RAM:03F9  
RAM:03FA  
RAM:03FB  
RAM:03FC  
RAM:03FD  
RAM:03FE  
RAM:03FF  
RAM:0400  
RAM:0401  
RAM:0402  
RAM:0403  
RAM:0404  
RAM:0405 enemy_spawn_state: ; 0 = enemy spawned, 0x01+ = spawn cloud, 0x10 = dying
RAM:0406 enemy_spawn_state_1:
RAM:0407  
RAM:0408  
RAM:0409  
RAM:040A enemy_spawn_state_1_5:
RAM:040B  
RAM:040C  
RAM:040D  
RAM:040E  
RAM:040F  
RAM:0410  
RAM:0411  
RAM:0412 enemy_state_0:
RAM:0413 byte_413:
RAM:0414 byte_414:
RAM:0415 text_scroll_index: ; The index of an old man message to display
RAM:0416 byte_416:
RAM:0417 byte_417:
RAM:0418 byte_418:
RAM:0419 byte_419:
RAM:041A title_screen_timer:
RAM:041B byte_41B:
RAM:041C byte_41C:
RAM:041D byte_41D:
RAM:041E  
RAM:041F enemy_projectile_speed_x:
RAM:0420 enemy_projectile_speed_x_1:
RAM:0421 byte_421:
RAM:0422 store_item:
RAM:0423 byte_423:
RAM:0424 byte_424:
RAM:0425 byte_425:
RAM:0426 byte_426:
RAM:0427 byte_427:
RAM:0428 byte_428:
RAM:0429 byte_429:
RAM:042A byte_42A:
RAM:042B  
RAM:042C enemy_state_4:
RAM:042D enemy_state_4_1:
RAM:042E enemy_state_4_2:
RAM:042F enemy_state_4_3:
RAM:0430 enemy_state_4_4:
RAM:0431 enemy_state_4_5:
RAM:0432 enemy_state_4_6:
RAM:0433  
RAM:0434  
RAM:0435  
RAM:0436 byte_436:
RAM:0437 enemy_state_5:
RAM:0438 enemy_state_5_1:
RAM:0439  
RAM:043A  
RAM:043B  
RAM:043C  
RAM:043D  
RAM:043E  
RAM:043F  
RAM:0440  
RAM:0441  
RAM:0442  
RAM:0443  
RAM:0444 enemy_state_6:
RAM:0445 enemy_state_6_1:
RAM:0446  
RAM:0447  
RAM:0448 enemy_state_6_4:
RAM:0449 enemy_state_6_5:
RAM:044A enemy_state_6_6:
RAM:044B  
RAM:044C  
RAM:044D  
RAM:044E  
RAM:044F  
RAM:0450  
RAM:0451 stop_enemy_for_frames:
RAM:0452 stop_enemy_for_frames_1:
RAM:0453  
RAM:0454  
RAM:0455  
RAM:0456  
RAM:0457  
RAM:0458  
RAM:0459  
RAM:045A  
RAM:045B  
RAM:045C  
RAM:045D  
RAM:045E enemy_state_2:
RAM:045F enemy_state_2_1:
RAM:0460  
RAM:0461  
RAM:0462  
RAM:0463  
RAM:0464  
RAM:0465  
RAM:0466  
RAM:0467  
RAM:0468  
RAM:0469  
RAM:046A  
RAM:046B enemy_state_1:
RAM:046C enemy_state_1_1:
RAM:046D  
RAM:046E  
RAM:046F byte_46F:
RAM:0470 byte_470:
RAM:0471 byte_471:
RAM:0472  
RAM:0473  
RAM:0474  
RAM:0475  
RAM:0476  
RAM:0477  
RAM:0478 enemy_blind_projectile_timer:
RAM:0479 enemy_blind_projectile_timer_1:
RAM:047A  
RAM:047B  
RAM:047C  
RAM:047D  
RAM:047E  
RAM:047F  
RAM:0480  
RAM:0481  
RAM:0482  
RAM:0483  
RAM:0484  
RAM:0485 enemy_health: ; 0xF0 = Enemy health (regular sword = 0x10 damage)
RAM:0486 enemy_health_1:
RAM:0487  
RAM:0488  
RAM:0489  
RAM:048A  
RAM:048B  
RAM:048C  
RAM:048D  
RAM:048E  
RAM:048F  
RAM:0490  
RAM:0491  
RAM:0492 object_slot_in_use: ; I'm not entirely sure how this is used. It's 0xFF when
  ; that object ID doesn't have an enemy in it and 0x00 when
  ; it does, but I'm not sure how that's different from checking
  ; if the object ID isn't 0. Maybe it's only set if that slot
  ; holds an enemy and not a drop or other item?
RAM:0493 byte_493:
RAM:0494 byte_494:
RAM:0495  
RAM:0496  
RAM:0497  
RAM:0498  
RAM:0499  
RAM:049A  
RAM:049B  
RAM:049C  
RAM:049D  
RAM:049E tile_walking_onto: ; 0x74, 0x75: halved movement speed
  ; 0x24: door
RAM:049F  
RAM:04A0  
RAM:04A1  
RAM:04A2  
RAM:04A3  
RAM:04A4  
RAM:04A5  
RAM:04A6  
RAM:04A7  
RAM:04A8  
RAM:04A9  
RAM:04AA  
RAM:04AB  
RAM:04AC  
RAM:04AD  
RAM:04AE  
RAM:04AF  
RAM:04B0  
RAM:04B1  
RAM:04B2 damage_types_with_no_knockback: ; This is a DamageType mask for damage types that don't apply
  ; knockback to this enemy.
RAM:04B3 damage_types_with_no_knockback_1:
RAM:04B4  
RAM:04B5  
RAM:04B6  
RAM:04B7  
RAM:04B8  
RAM:04B9  
RAM:04BA  
RAM:04BB  
RAM:04BC  
RAM:04BD  
RAM:04BE  
RAM:04BF enemy_properties:
RAM:04C0 enemy_state_9_1:
RAM:04C1  
RAM:04C2  
RAM:04C3  
RAM:04C4  
RAM:04C5  
RAM:04C6  
RAM:04C7  
RAM:04C8  
RAM:04C9  
RAM:04CA  
RAM:04CB  
RAM:04CC dungeon_shoots_fireballs:
RAM:04CD current_screen_data_5: ; This is the dungeon_screen_data_5 value for the
  ; current room. This has different interpretations
  ; for the overworld and dungeons.
RAM:04CE open_doors_in_room:
RAM:04CF pushed_dungeon_push_block:
RAM:04D0  
RAM:04D1 increase_enemy_speed_max: ; The max speed that increase_enemy_speed will increase to.
RAM:04D2  
RAM:04D3  
RAM:04D4  
RAM:04D5  
RAM:04D6  
RAM:04D7 processing_gleeok_head: ; The Gleeok head that update_monster_gleeok is currently updating.
RAM:04D8 byte_4D8:
RAM:04D9 byte_4D9:
RAM:04DA byte_4DA:
RAM:04DB byte_4DB:
RAM:04DC byte_4DC:
RAM:04DD byte_4DD:
RAM:04DE byte_4DE:
RAM:04DF  
RAM:04E0  
RAM:04E1  
RAM:04E2  
RAM:04E3  
RAM:04E4 byte_4E4:
RAM:04E5 reset_room_palette_idx_to_0x44:
RAM:04E6 gleeok_body_animation_timer_or_lanmola_something:
RAM:04E7 gleeok_body_frame_or_lanmola_something:
RAM:04E8 byte_4E8:
RAM:04E9  
RAM:04EA  
RAM:04EB  
RAM:04EC  
RAM:04ED  
RAM:04EE  
RAM:04EF  
RAM:04F0 invincibility_frames: ; This is both the number of invincibility frames * 2 remaining, and used for damage palette shifting.
RAM:04F1 invincibility_frames_1:
RAM:04F2  
RAM:04F3  
RAM:04F4  
RAM:04F5 invincibility_frames_5:
RAM:04F6  
RAM:04F7  
RAM:04F8  
RAM:04F9  
RAM:04FA  
RAM:04FB  
RAM:04FC  
RAM:04FD  
RAM:04FE  
RAM:04FF  
RAM:0500  
RAM:0501  
RAM:0502  
RAM:0503  
RAM:0504 disable_sprite_horizontal_offset: ; If set, sprites will be placed 4 pixels left of where
  ; they normally are. This is only used by update_hold_up_item_2
  ; while Link is holding an item over his head.
RAM:0505 picking_up_item: ; If Link is holding an item above his head, this is the InventoryItem being held up.
RAM:0506 picking_up_item_timer: ; This timer is set while Link is holding an item over his head.
RAM:0507 number_of_digdogger_spawn_to_create: ; The number of Digdogger spawn that this screen's Digdogger
  ; will break into.
RAM:0508 recorder_called_whirlwind_already: ; If true, the whistle whirlwind has already been called on this
  ; screen, and the player needs to exit the screen to call it
  ; again.
RAM:0509 picking_up_ganon_triforce:
RAM:050A found_zelda_cutscene_state_0:
RAM:050B found_zelda_cutscene_state_1:
RAM:050C found_zelda_cutscene_state_2:
RAM:050D found_zelda_cutscene_state_3:
RAM:050E found_zelda_cutscene_state_4:
RAM:050F byte_50F:
RAM:0510 number_of_spawned_red_leevers_or_gleeok_fast_step_counter: ; On the overworld, this is the number of Gleeoks currently spawned.
  ; For Gleeok, this is set after hit to speed up the body animations temporarily.
RAM:0511 detached_gleeok_heads: ; A mask of Gleeok heads that are detached and flying around the room
RAM:0512 held_by_like_like:
RAM:0513 candle_used_in_current_room:
RAM:0514 is_zola_spawned:
RAM:0515 number_of_spawned_falling_rocks:
RAM:0516  
RAM:0517  
RAM:0518  
RAM:0519 shutter_doors_entered: ; A mask of shutter doors on the current screen that Link has walked into since he entered the screen.
RAM:051A recorder_lake_state: ; 0 = closed, 0x01-0x0B=lake palette shift, 0x0C=open
RAM:051B used_recorder_in_dungeon:
RAM:051C next_palette_cycle:
RAM:051D usually_zero:
RAM:051E paused_lighting_dungeon_room: ; This is 1 while the candle palette shift is happening to
  ; light a dungeon room. The game doesn't update until this
  ; is set back to 0.
RAM:051F lighting_room_state:
RAM:0520  
RAM:0521 previous_unlocked_door_directions:
RAM:0522 held_by_recorder_whirlwind: ; If 1, Link is outbound on the whirlwind.
  ; If 2, Link is inbound on the whirlwind.
RAM:0523 next_recorder_location:
RAM:0524 spawn_position_counter: ; This tracks the next spawn position for enemies.
RAM:0525 spawn_from_side_position:
RAM:0526 overworld_return_pos:
RAM:0527 map_location_in_dungeon_cellar:
RAM:0528 already_exited_title_screen: ; If true, we've exited from the title screen to the main menu
  ; at least once. Once this is true, the title menu will auto-
  ; advance to the main menu in the future if we end up back in
  ; that state (eg. after exiting the create save menu) instead
  ; of showing the title screen again.
RAM:0529 force_beam_sword:
RAM:052A drop_counter:
RAM:052B overworld_room_object_type:
RAM:052C overworld_room_object_x:
RAM:052D overworld_room_object_y:
RAM:052E sword_disabled_by_bubble: ; If true, the sword is disabled permanently by a red (2nd quest)
  ; bubble. See also bubble_sword_timer for regular bubbles.
RAM:052F lost_woods_counter:
RAM:0530 temp_ppu_command_buffer:
RAM:0531  
RAM:0532  
RAM:0533  
RAM:0534  
RAM:0535  
RAM:0536  
RAM:0537  
RAM:0538  
RAM:0539  
RAM:053A  
RAM:053B  
RAM:053C  
RAM:053D  
RAM:053E  
RAM:053F  
RAM:0540  
RAM:0541  
RAM:0542  
RAM:0543  
RAM:0544  
RAM:0545  
RAM:0546  
RAM:0547  
RAM:0548  
RAM:0549  
RAM:054A  
RAM:054B  
RAM:054C  
RAM:054D  
RAM:054E  
RAM:054F  
RAM:0550  
RAM:0551  
RAM:0552  
RAM:0553  
RAM:0554  
RAM:0555  
RAM:0556  
RAM:0557  
RAM:0558  
RAM:0559  
RAM:055A  
RAM:055B  
RAM:055C  
RAM:055D  
RAM:055E  
RAM:055F  
RAM:0560 number_of_enemies_killed_in_dungeon_room:
RAM:0561  
RAM:0562  
RAM:0563  
RAM:0564  
RAM:0565  
RAM:0566  
RAM:0567  
RAM:0568  
RAM:0569  
RAM:056A  
RAM:056B  
RAM:056C  
RAM:056D  
RAM:056E  
RAM:056F  
RAM:0570  
RAM:0571  
RAM:0572  
RAM:0573  
RAM:0574  
RAM:0575  
RAM:0576  
RAM:0577  
RAM:0578  
RAM:0579  
RAM:057A  
RAM:057B  
RAM:057C  
RAM:057D  
RAM:057E  
RAM:057F  
RAM:0580  
RAM:0581  
RAM:0582  
RAM:0583  
RAM:0584  
RAM:0585  
RAM:0586  
RAM:0587  
RAM:0588  
RAM:0589  
RAM:058A  
RAM:058B  
RAM:058C  
RAM:058D  
RAM:058E  
RAM:058F  
RAM:0590  
RAM:0591  
RAM:0592  
RAM:0593  
RAM:0594  
RAM:0595  
RAM:0596  
RAM:0597  
RAM:0598  
RAM:0599  
RAM:059A  
RAM:059B  
RAM:059C  
RAM:059D  
RAM:059E  
RAM:059F  
RAM:05A0  
RAM:05A1  
RAM:05A2  
RAM:05A3  
RAM:05A4  
RAM:05A5  
RAM:05A6  
RAM:05A7  
RAM:05A8  
RAM:05A9  
RAM:05AA  
RAM:05AB  
RAM:05AC  
RAM:05AD  
RAM:05AE  
RAM:05AF  
RAM:05B0  
RAM:05B1  
RAM:05B2  
RAM:05B3  
RAM:05B4  
RAM:05B5  
RAM:05B6  
RAM:05B7  
RAM:05B8  
RAM:05B9  
RAM:05BA  
RAM:05BB  
RAM:05BC  
RAM:05BD  
RAM:05BE  
RAM:05BF  
RAM:05C0  
RAM:05C1  
RAM:05C2  
RAM:05C3  
RAM:05C4  
RAM:05C5  
RAM:05C6  
RAM:05C7  
RAM:05C8  
RAM:05C9  
RAM:05CA  
RAM:05CB  
RAM:05CC  
RAM:05CD  
RAM:05CE  
RAM:05CF  
RAM:05D0  
RAM:05D1  
RAM:05D2  
RAM:05D3  
RAM:05D4  
RAM:05D5  
RAM:05D6  
RAM:05D7  
RAM:05D8  
RAM:05D9  
RAM:05DA  
RAM:05DB  
RAM:05DC  
RAM:05DD  
RAM:05DE  
RAM:05DF  
RAM:05E0  
RAM:05E1  
RAM:05E2  
RAM:05E3  
RAM:05E4  
RAM:05E5  
RAM:05E6  
RAM:05E7  
RAM:05E8  
RAM:05E9  
RAM:05EA  
RAM:05EB  
RAM:05EC  
RAM:05ED  
RAM:05EE  
RAM:05EF  
RAM:05F0 audio_misc_18:
RAM:05F1 audio_misc_19:
RAM:05F2 boss_roar_loop_timer: ; Timer to play audio_looping_boss_sound periodically
RAM:05F3 audio_misc_20:
RAM:05F4 audio_misc_21:
RAM:05F5 audio_misc_22:
RAM:05F6 audio_looping_boss_sound:
RAM:05F7  
RAM:05F8  
RAM:05F9  
RAM:05FA  
RAM:05FB  
RAM:05FC  
RAM:05FD  
RAM:05FE  
RAM:05FF  
 
  ; $600-$61F is audio state.
 
RAM:0600 play_music: ; Set to a nonzero value to start playing music. This is set
  ; back to 0 once the song has started.
RAM:0601 play_sound_0: ; Set to a nonzero value to play a one-off sound effect (this can also start the boss roar loop)
RAM:0602 play_sound_1: ; Set to a nonzero value to play a one-off sound effect
RAM:0603 play_sound_2: ; Set to a nonzero value to play a one-off sound effect
RAM:0604 play_sound_3:
RAM:0605 audio_misc_0605:
RAM:0606 audio_misc_0606:
RAM:0607 audio_misc_0607:
RAM:0608 audio_looping_boss_sound_current:
RAM:0609 current_music: ; Setting to 0 stops the music in place, leaving any note that was playing running
RAM:060A audio_misc_060A:
RAM:060B audio_misc_060B:
RAM:060C audio_misc_060C:
RAM:060D audio_misc_060D:
RAM:060E audio_misc_060E:
RAM:060F audio_misc_060F:
RAM:0610 audio_misc_0610:
RAM:0611 audio_misc_0611:
RAM:0612 audio_misc_0612:
RAM:0613 audio_misc_0613:
RAM:0614 audio_misc_0614:
RAM:0615 audio_misc_0615:
RAM:0616 audio_misc_0616:
RAM:0617 audio_misc_0617:
RAM:0618 audio_misc_0618:
RAM:0619 audio_misc_0619:
RAM:061A audio_misc_061A:
RAM:061B audio_misc_061B:
RAM:061C audio_misc_061C:
RAM:061D audio_misc_061D:
RAM:061E audio_misc_061E:
RAM:061F audio_misc_061F:
RAM:0620 screen_history_idx: ; The next entry in screen_history_0[] to store visited screens.
RAM:0621 screen_history_0:
RAM:0622 screen_history_1:
RAM:0623 screen_history_2:
RAM:0624 screen_history_3:
RAM:0625 screen_history_4:
RAM:0626 screen_history_5:
RAM:0627 consecutive_kill_counter: ; The number of consecutive kills without getting hit.
  ; This isn't reset on drops or forced drops, only when hit.
  ; This wraps past 0xFF.
RAM:0628  
RAM:0629  
RAM:062A  
RAM:062B  
RAM:062C  
RAM:062D quest_no:
RAM:062E  
RAM:062F  
RAM:0630 deaths_per_save_slot:
RAM:0631  
RAM:0632  
RAM:0633 byte_633:
RAM:0634  
RAM:0635  
RAM:0636 byte_636:
RAM:0637 byte_637:
RAM:0638 byte_638:
RAM:0639  
RAM:063A  
RAM:063B  
RAM:063C  
RAM:063D  
RAM:063E  
RAM:063F  
RAM:0640  
RAM:0641  
RAM:0642  
RAM:0643  
RAM:0644  
RAM:0645  
RAM:0646  
RAM:0647  
RAM:0648  
RAM:0649  
RAM:064A  
RAM:064B  
RAM:064C  
RAM:064D  
RAM:064E  
RAM:064F  
RAM:0650 saved_hearts_slot_0:
RAM:0651 saved_partial_hearts_slot_0:
RAM:0652 saved_hearts_slot_1:
RAM:0653 saved_partial_hearts_slot_1:
RAM:0654 saved_hearts_slot_2:
RAM:0655 saved_partial_hearts_slot_2:
RAM:0656 current_item:
RAM:0657 sword_type:
RAM:0658 num_bombs:
RAM:0659 have_arrow_type:
RAM:065A have_bow:
RAM:065B have_candle_type:
RAM:065C have_recorder:
RAM:065D have_meat:
RAM:065E have_potion_type:
RAM:065F have_rod:
RAM:0660 have_raft:
RAM:0661 have_book:
RAM:0662 have_ring_type:
RAM:0663 have_ladder:
RAM:0664 have_magic_key:
RAM:0665 have_power_bracelet:
RAM:0666 have_letter: ; 0 = no letter, 1 = have letter, 2 = showed letter to old woman already
RAM:0667 have_compass_per_dungeon: ; See check_has_compass_in_current_dungeon.
RAM:0668 have_map_per_dungeon:
RAM:0669 have_compass_dungeon_9:
RAM:066A have_map_dungeon_9:
RAM:066B  
RAM:066C clock_active:
RAM:066D num_rupees:
RAM:066E num_keys:
RAM:066F hearts: ; 0xF0 = max hearts, 0x0F = current hearts
RAM:0670 partial_heart: ; Half heart if < 0x80, and a timer for potion refills
RAM:0671 triforce_pieces_collected:
RAM:0672 has_ganon_triforce:
RAM:0673  
RAM:0674 have_boomerang:
RAM:0675 have_magic_boomerang:
RAM:0676 have_magic_shield:
RAM:0677  
RAM:0678  
RAM:0679  
RAM:067A  
RAM:067B  
RAM:067C max_bombs:
RAM:067D pending_rupees_add:
RAM:067E pending_rupees_sub:
RAM:067F screen_status_0:
RAM:0680  
RAM:0681  
RAM:0682  
RAM:0683  
RAM:0684  
RAM:0685  
RAM:0686  
RAM:0687  
RAM:0688  
RAM:0689  
RAM:068A  
RAM:068B  
RAM:068C  
RAM:068D  
RAM:068E  
RAM:068F  
RAM:0690  
RAM:0691  
RAM:0692  
RAM:0693  
RAM:0694  
RAM:0695  
RAM:0696  
RAM:0697  
RAM:0698  
RAM:0699  
RAM:069A  
RAM:069B  
RAM:069C  
RAM:069D  
RAM:069E  
RAM:069F  
RAM:06A0  
RAM:06A1  
RAM:06A2  
RAM:06A3  
RAM:06A4  
RAM:06A5  
RAM:06A6  
RAM:06A7  
RAM:06A8  
RAM:06A9  
RAM:06AA  
RAM:06AB  
RAM:06AC  
RAM:06AD  
RAM:06AE  
RAM:06AF  
RAM:06B0  
RAM:06B1  
RAM:06B2  
RAM:06B3  
RAM:06B4  
RAM:06B5  
RAM:06B6  
RAM:06B7  
RAM:06B8  
RAM:06B9  
RAM:06BA  
RAM:06BB  
RAM:06BC  
RAM:06BD  
RAM:06BE  
RAM:06BF  
RAM:06C0  
RAM:06C1  
RAM:06C2  
RAM:06C3  
RAM:06C4  
RAM:06C5  
RAM:06C6  
RAM:06C7  
RAM:06C8  
RAM:06C9  
RAM:06CA  
RAM:06CB  
RAM:06CC  
RAM:06CD  
RAM:06CE  
RAM:06CF  
RAM:06D0  
RAM:06D1  
RAM:06D2  
RAM:06D3  
RAM:06D4  
RAM:06D5  
RAM:06D6  
RAM:06D7  
RAM:06D8  
RAM:06D9  
RAM:06DA  
RAM:06DB  
RAM:06DC  
RAM:06DD  
RAM:06DE  
RAM:06DF  
RAM:06E0  
RAM:06E1  
RAM:06E2  
RAM:06E3  
RAM:06E4  
RAM:06E5  
RAM:06E6  
RAM:06E7  
RAM:06E8  
RAM:06E9  
RAM:06EA  
RAM:06EB  
RAM:06EC  
RAM:06ED  
RAM:06EE  
RAM:06EF  
RAM:06F0  
RAM:06F1  
RAM:06F2  
RAM:06F3  
RAM:06F4  
RAM:06F5  
RAM:06F6  
RAM:06F7  
RAM:06F8  
RAM:06F9  
RAM:06FA  
RAM:06FB  
RAM:06FC  
RAM:06FD  
RAM:06FE  
RAM:06FF room_data: ; 0x10 got item
  ; 0x20 visited (shown on map)
RAM:0700  
RAM:0701  
RAM:0702  
RAM:0703  
RAM:0704  
RAM:0705  
RAM:0706  
RAM:0707  
RAM:0708  
RAM:0709  
RAM:070A  
RAM:070B  
RAM:070C  
RAM:070D  
RAM:070E  
RAM:070F  
RAM:0710  
RAM:0711  
RAM:0712  
RAM:0713  
RAM:0714  
RAM:0715  
RAM:0716  
RAM:0717  
RAM:0718  
RAM:0719  
RAM:071A  
RAM:071B  
RAM:071C  
RAM:071D  
RAM:071E  
RAM:071F  
RAM:0720  
RAM:0721  
RAM:0722  
RAM:0723  
RAM:0724  
RAM:0725  
RAM:0726  
RAM:0727  
RAM:0728  
RAM:0729  
RAM:072A  
RAM:072B  
RAM:072C  
RAM:072D  
RAM:072E  
RAM:072F  
RAM:0730  
RAM:0731  
RAM:0732  
RAM:0733  
RAM:0734  
RAM:0735  
RAM:0736  
RAM:0737  
RAM:0738  
RAM:0739  
RAM:073A  
RAM:073B  
RAM:073C  
RAM:073D  
RAM:073E  
RAM:073F  
RAM:0740  
RAM:0741  
RAM:0742  
RAM:0743  
RAM:0744  
RAM:0745  
RAM:0746  
RAM:0747  
RAM:0748  
RAM:0749  
RAM:074A  
RAM:074B  
RAM:074C  
RAM:074D  
RAM:074E  
RAM:074F  
RAM:0750  
RAM:0751  
RAM:0752  
RAM:0753  
RAM:0754  
RAM:0755  
RAM:0756  
RAM:0757  
RAM:0758  
RAM:0759  
RAM:075A  
RAM:075B  
RAM:075C  
RAM:075D  
RAM:075E  
RAM:075F  
RAM:0760  
RAM:0761  
RAM:0762  
RAM:0763  
RAM:0764  
RAM:0765  
RAM:0766  
RAM:0767  
RAM:0768  
RAM:0769  
RAM:076A  
RAM:076B  
RAM:076C  
RAM:076D  
RAM:076E  
RAM:076F  
RAM:0770  
RAM:0771  
RAM:0772  
RAM:0773  
RAM:0774  
RAM:0775  
RAM:0776  
RAM:0777  
RAM:0778  
RAM:0779  
RAM:077A  
RAM:077B  
RAM:077C  
RAM:077D  
RAM:077E  
RAM:077F byte_77F:
RAM:0780  
RAM:0781  
RAM:0782  
RAM:0783  
RAM:0784  
RAM:0785  
RAM:0786  
RAM:0787  
RAM:0788  
RAM:0789  
RAM:078A  
RAM:078B  
RAM:078C  
RAM:078D  
RAM:078E  
RAM:078F  
RAM:0790  
RAM:0791  
RAM:0792  
RAM:0793  
RAM:0794  
RAM:0795  
RAM:0796  
RAM:0797  
RAM:0798  
RAM:0799  
RAM:079A  
RAM:079B  
RAM:079C  
RAM:079D  
RAM:079E  
RAM:079F  
RAM:07A0  
RAM:07A1  
RAM:07A2  
RAM:07A3  
RAM:07A4  
RAM:07A5  
RAM:07A6  
RAM:07A7  
RAM:07A8  
RAM:07A9  
RAM:07AA  
RAM:07AB  
RAM:07AC  
RAM:07AD  
RAM:07AE  
RAM:07AF  
RAM:07B0  
RAM:07B1  
RAM:07B2  
RAM:07B3  
RAM:07B4  
RAM:07B5  
RAM:07B6  
RAM:07B7  
RAM:07B8  
RAM:07B9  
RAM:07BA  
RAM:07BB  
RAM:07BC  
RAM:07BD  
RAM:07BE  
RAM:07BF  
RAM:07C0  
RAM:07C1  
RAM:07C2  
RAM:07C3  
RAM:07C4  
RAM:07C5  
RAM:07C6  
RAM:07C7  
RAM:07C8  
RAM:07C9  
RAM:07CA  
RAM:07CB  
RAM:07CC  
RAM:07CD  
RAM:07CE  
RAM:07CF  
RAM:07D0  
RAM:07D1  
RAM:07D2  
RAM:07D3  
RAM:07D4  
RAM:07D5  
RAM:07D6  
RAM:07D7  
RAM:07D8  
RAM:07D9  
RAM:07DA  
RAM:07DB  
RAM:07DC  
RAM:07DD  
RAM:07DE  
RAM:07DF  
RAM:07E0  
RAM:07E1  
RAM:07E2  
RAM:07E3  
RAM:07E4  
RAM:07E5  
RAM:07E6  
RAM:07E7  
RAM:07E8  
RAM:07E9  
RAM:07EA  
RAM:07EB  
RAM:07EC  
RAM:07ED  
RAM:07EE  
RAM:07EF  
RAM:07F0  
RAM:07F1  
RAM:07F2  
RAM:07F3  
RAM:07F4  
RAM:07F5  
RAM:07F6  
RAM:07F7  
RAM:07F8  
RAM:07F9  
RAM:07FA  
RAM:07FB  
RAM:07FC  
RAM:07FD  
RAM:07FE  
RAM:07FF  
 
Segment: IOREGS
IOREGS:2000 PPUCTRL: .BYTE $FF
IOREGS:2001 PPUMASK: .BYTE $FF
IOREGS:2002 PPUSTATUS: .BYTE $FF
IOREGS:2003 OAMADDR: .BYTE $FF
IOREGS:2004 OAMDATA: .BYTE $FF
IOREGS:2005 PPUSCROLL: .BYTE $FF
IOREGS:2006 PPUADDR: .BYTE $FF
IOREGS:2007 PPUDATA: .BYTE $FF
IOREGS:2008   .BYTE $FF
IOREGS:2009   .BYTE $FF
IOREGS:200A   .BYTE $FF
IOREGS:200B   .BYTE $FF
IOREGS:200C   .BYTE $FF
IOREGS:200D   .BYTE $FF
IOREGS:200E   .BYTE $FF
IOREGS:200F   .BYTE $FF
IOREGS:2010   .BYTE $FF
IOREGS:2011   .BYTE $FF
IOREGS:2012   .BYTE $FF
IOREGS:2013   .BYTE $FF
IOREGS:2014   .BYTE $FF
IOREGS:2015   .BYTE $FF
IOREGS:2016   .BYTE $FF
IOREGS:2017   .BYTE $FF
IOREGS:2018   .BYTE $FF
IOREGS:2019   .BYTE $FF
IOREGS:201A   .BYTE $FF
IOREGS:201B   .BYTE $FF
IOREGS:201C   .BYTE $FF
IOREGS:201D   .BYTE $FF
IOREGS:201E   .BYTE $FF
IOREGS:201F unk_201F: .BYTE $FF
 
Segment: ROM0
ROM0:8000 Skipped empty chunk
ROM0:8D5F byte_208D5F:
 
Subroutine audio_update
; This is the main audio update.
ROM0:9825 audio_update:
ROM0:9825 LDA paused
ROM0:9826 BEQ skip_if_not_paused
ROM0:9827 LDA #0
ROM0:9828 STA pAPU_SV_CSR
ROM0:9829 LDA #$F
ROM0:982A STA pAPU_SV_CSR
ROM0:982B BNE silence_sound
 
ROM0:982C skip_if_not_paused:
ROM0:982C LDA #$FF
ROM0:982D STA Joypad_2
ROM0:982E JSR audio_unknown_1
ROM0:982F JSR audio_unknown_4
ROM0:9830 JSR audio_play_boss_roar
ROM0:9831 JSR audio_unknown_6_handle_music
 
ROM0:9832 silence_sound:
ROM0:9832 JSR audio_unknown_6
ROM0:9833 LDA #0
ROM0:9834 STA play_sound_3 ; Set to 0
ROM0:9835 STA play_sound_2 ; Set to 0
ROM0:9836 STA play_sound_1 ; Set to 0
ROM0:9837 STA play_sound_0 ; Set to 0
ROM0:9838 STA play_music ; Set to 0
 
ROM0:985A locret_20985A:
ROM0:985A RTS
 
ROM0:985B byte_20985B: .BYTE $1C
ROM0:985C   .BYTE $4C
ROM0:985D   .BYTE $27
ROM0:985E   .BYTE $5C
ROM0:985F   .BYTE $46
ROM0:9860   .BYTE $67
ROM0:9861   .BYTE 7
ROM0:9862   .BYTE $95
ROM0:9863   .BYTE $50
ROM0:9864   .BYTE 8
ROM0:9865   .BYTE 8
ROM0:9866   .BYTE 8
ROM0:9867   .BYTE 8
ROM0:9868   .BYTE 8
ROM0:9869   .BYTE $90
ROM0:986A   .BYTE 8
ROM0:986B   .BYTE 8
ROM0:986C   .BYTE 8
ROM0:986D   .BYTE 8
ROM0:986E   .BYTE 8
ROM0:986F   .BYTE 8
ROM0:9870   .BYTE 8
ROM0:9871   .BYTE 8
ROM0:9872   .BYTE 8
ROM0:9873   .BYTE 8
ROM0:9874   .BYTE 8
ROM0:9875   .BYTE 8
ROM0:9876   .BYTE 0
ROM0:9877   .BYTE $82
ROM0:9878   .BYTE $4A
ROM0:9879   .BYTE $48
ROM0:987A   .BYTE $4A
ROM0:987B   .BYTE 8
ROM0:987C   .BYTE 8
ROM0:987D   .BYTE 8
ROM0:987E   .BYTE 8
ROM0:987F   .BYTE 8
ROM0:9880   .BYTE 8
ROM0:9881   .BYTE 0
ROM0:9882   .BYTE $9F
ROM0:9883   .BYTE $1E
ROM0:9884   .BYTE $22
ROM0:9885   .BYTE $24
ROM0:9886   .BYTE $26
ROM0:9887   .BYTE $9F
ROM0:9888   .BYTE $28
ROM0:9889   .BYTE $2A
ROM0:988A   .BYTE $2C
ROM0:988B   .BYTE $2E
ROM0:988C   .BYTE $9A
ROM0:988D   .BYTE $28
ROM0:988E   .BYTE $2A
ROM0:988F   .BYTE $2C
ROM0:9890   .BYTE $2E
ROM0:9891   .BYTE $9C
ROM0:9892   .BYTE $28
ROM0:9893   .BYTE $2A
ROM0:9894   .BYTE $2C
ROM0:9895   .BYTE $2E
ROM0:9896   .BYTE $96
ROM0:9897   .BYTE $28
ROM0:9898   .BYTE $2A
ROM0:9899   .BYTE $2C
ROM0:989A   .BYTE $2E
ROM0:989B   .BYTE $98
ROM0:989C   .BYTE $28
ROM0:989D   .BYTE $2A
ROM0:989E   .BYTE $2C
ROM0:989F   .BYTE $2E
ROM0:98A0   .BYTE 0
ROM0:98A1   .BYTE $99
ROM0:98A2   .BYTE $42
ROM0:98A3   .BYTE $4A
ROM0:98A4   .BYTE $50
ROM0:98A5   .BYTE $54
ROM0:98A6   .BYTE 0
ROM0:98A7   .BYTE $99
ROM0:98A8   .BYTE $70
ROM0:98A9   .BYTE $A
ROM0:98AA   .BYTE $70
ROM0:98AB   .BYTE $E
ROM0:98AC   .BYTE $70
ROM0:98AD   .BYTE $10
ROM0:98AE   .BYTE $9F
ROM0:98AF   .BYTE $70
ROM0:98B0   .BYTE $2A
ROM0:98B1   .BYTE $12
ROM0:98B2   .BYTE $1E
ROM0:98B3   .BYTE $2A
ROM0:98B4   .BYTE $70
ROM0:98B5   .BYTE $1E
ROM0:98B6   .BYTE 0
ROM0:98B7   .BYTE $9A
ROM0:98B8   .BYTE $42
ROM0:98B9   .BYTE 8
ROM0:98BA   .BYTE 8
ROM0:98BB   .BYTE $56
ROM0:98BC   .BYTE 8
ROM0:98BD   .BYTE 8
ROM0:98BE   .BYTE 0
ROM0:98BF   .BYTE 8
ROM0:98C0   .BYTE 8
ROM0:98C1   .BYTE 0
ROM0:98C2   .BYTE $9F
ROM0:98C3   .BYTE $40
ROM0:98C4   .BYTE $30
ROM0:98C5   .BYTE $40
ROM0:98C6   .BYTE $3A
ROM0:98C7   .BYTE $28
ROM0:98C8   .BYTE 0
 
Function chunk for audio_unknown_6
ROM0:98C9 audio_unknown_5_thunk:
ROM0:98C9 JMP audio_unknown_5
 
Subroutine audio_unknown_6
ROM0:98CC audio_unknown_6:
 
ROM0:98CC LDA play_sound_3
ROM0:98CD BMI audio_unknown_5_thunk
ROM0:98CE BEQ loc_2098DC
ROM0:98CF CMP #$40
ROM0:98D0 BNE loc_2098E2
ROM0:98D1 LDX audio_misc_0605
ROM0:98D2 BEQ loc_2098E2
 
ROM0:98DC loc_2098DC:
ROM0:98DC LDA audio_misc_0605
ROM0:98DD BNE loc_2098F1
ROM0:98DE RTS
 
ROM0:98E2 loc_2098E2:
ROM0:98E2 STA audio_misc_0605
ROM0:98E3 LDY #0
 
ROM0:98E7 loc_2098E7:
ROM0:98E7 INY
ROM0:98E8 LSR A
ROM0:98E9 BCC loc_2098E7
ROM0:98EA LDA locret_20985A,Y
ROM0:98EB STA audio_misc_060E
 
ROM0:98F1 loc_2098F1:
ROM0:98F1 LDY audio_misc_060E
ROM0:98F2 INC audio_misc_060E
ROM0:98F3 LDA byte_20985B,Y
ROM0:98F4 BMI loc_209911
ROM0:98F5 BNE loc_20991D
ROM0:98F6 LDX #$90
ROM0:98F7 STX pAPU_P_1_CR
ROM0:98F8 LDX #$18
ROM0:98F9 STX pAPU_P_1_CTR
ROM0:98FA LDX #0
ROM0:98FB STX pAPU_P_1_FTR
ROM0:98FC STX audio_misc_0605
ROM0:98FD RTS
 
ROM0:9911 loc_209911:
ROM0:9911 STA pAPU_P_1_CR
ROM0:9912 LDY audio_misc_060E
ROM0:9913 INC audio_misc_060E
ROM0:9914 LDA $985B,Y
 
ROM0:991D loc_20991D:
ROM0:991D JSR audio_unknown_6b
ROM0:991E LDA #$7F
ROM0:991F STA $4001
ROM0:9920 RTS
 
Function chunk for audio_unknown_4
ROM0:9926 loc_209926:
ROM0:9926 LDA #$F
ROM0:9927 STA pAPU_SV_CSR
ROM0:9928 LDA #0
ROM0:9929 STA audio_looping_boss_sound_current
ROM0:992A STA audio_misc_0607
ROM0:992B STA audio_misc_061A
ROM0:992C STA audio_looping_boss_sound
ROM0:992D RTS
 
ROM0:993A loc_20993A:
ROM0:993A STY audio_misc_0606
ROM0:993B LDA #5
ROM0:993C STA audio_misc_7
ROM0:993D LDA play_sound_3
ROM0:993E AND #$EF
ROM0:993F BNE loc_20994B
ROM0:9940 STA play_sound_3
 
ROM0:994B loc_20994B:
ROM0:994B LDY audio_misc_7
ROM0:994C LDA byte_209FBB,Y
ROM0:994D BNE loc_20996E
 
ROM0:9952 loc_209952:
ROM0:9952 STY audio_misc_0606
ROM0:9953 LDA #$38
ROM0:9954 STA audio_misc_7
 
ROM0:9959 loc_209959:
ROM0:9959 LDA #$D
ROM0:995A STA audio_misc_4
 
ROM0:995D loc_20995D:
ROM0:995D DEC audio_misc_4
ROM0:995E LDY audio_misc_4
ROM0:995F BEQ loc_209959
ROM0:9960 CPY #7
ROM0:9961 BCC loc_20996B
ROM0:9962 LDA #$10
ROM0:9963 BNE loc_20997B
 
ROM0:996B loc_20996B:
ROM0:996B LDA byte_209EF4,Y
 
ROM0:996E loc_20996E:
ROM0:996E TAX
ROM0:996F AND #$F
ROM0:9970 STA pAPU_N_FR_1
ROM0:9971 TXA
ROM0:9972 LSR A
ROM0:9973 LSR A
ROM0:9974 LSR A
ROM0:9975 LSR A
ROM0:9976 ORA #$10
 
ROM0:997B loc_20997B:
ROM0:997B STA pAPU_N_CR_1
ROM0:997C LDA #8
ROM0:997D STA pAPU_N_FR_2
ROM0:997E DEC audio_misc_7
 
ROM0:9985 loc_209985:
ROM0:9985 BNE locret_209991
ROM0:9986 LDA #$F0
ROM0:9987 STA pAPU_N_CR_1
ROM0:9988 LDA #0
ROM0:9989 STA audio_misc_0606
 
ROM0:9991 locret_209991:
ROM0:9991 RTS
 
ROM0:9992 loc_209992:
ROM0:9992 STY audio_misc_0606
ROM0:9993 LDA #$A
ROM0:9994 STA audio_misc_7
 
ROM0:9999 loc_209999:
ROM0:9999 LDY audio_misc_7
ROM0:999A LDA audio_data_5,Y
ROM0:999B BNE loc_20996E
 
Subroutine audio_unknown_4
ROM0:99A0 audio_unknown_4:
 
ROM0:99A0 LDY play_sound_2 ; Set to a nonzero value to play a one-off sound effect
ROM0:99A1 BMI loc_209926
ROM0:99A2 LDA audio_misc_0606
ROM0:99A3 LSR play_sound_2 ; Set to a nonzero value to play a one-off sound effect
ROM0:99A4 BCS loc_209992
ROM0:99A5 LSR A
ROM0:99A6 BCS loc_209999
ROM0:99A7 LSR play_sound_2 ; Set to a nonzero value to play a one-off sound effect
ROM0:99A8 BCS loc_20993A
ROM0:99A9 LSR A
ROM0:99AA BCS loc_20994B
ROM0:99AB LSR play_sound_2 ; Set to a nonzero value to play a one-off sound effect
ROM0:99AC BCS loc_2099E7
ROM0:99AD LSR A
ROM0:99AE BCS loc_2099EE
ROM0:99AF LSR play_sound_2 ; Set to a nonzero value to play a one-off sound effect
ROM0:99B0 BCS loc_209952
ROM0:99B1 LSR A
ROM0:99B2 BCS loc_20995D
ROM0:99B3 LSR play_sound_2 ; Set to a nonzero value to play a one-off sound effect
ROM0:99B4 BCS loc_2099D9
ROM0:99B5 LSR A
ROM0:99B6 BCS loc_2099E0
ROM0:99B7 LSR A
ROM0:99B8 BCS loc_209A09
ROM0:99B9 LSR play_sound_2 ; Set to a nonzero value to play a one-off sound effect
ROM0:99BA BCS loc_2099FD
ROM0:99BB RTS
 
ROM0:99D9 loc_2099D9:
ROM0:99D9 STY audio_misc_0606
ROM0:99DA LDA #$18
ROM0:99DB STA audio_misc_7
 
ROM0:99E0 loc_2099E0:
ROM0:99E0 LDY audio_misc_7
ROM0:99E1 LDA loc_209A3A+2,Y
ROM0:99E2 BNE loc_20996E
 
ROM0:99E7 loc_2099E7:
ROM0:99E7 STY audio_misc_0606
ROM0:99E8 LDA #$20
ROM0:99E9 STA audio_misc_7
 
ROM0:99EE loc_2099EE:
ROM0:99EE LDA audio_misc_7
ROM0:99EF LSR A
ROM0:99F0 TAY
ROM0:99F1 LDX #$E
ROM0:99F2 STX pAPU_N_FR_1
ROM0:99F3 LDA audio_data_4,Y
ROM0:99F4 JMP loc_20997B
 
ROM0:99FD loc_2099FD:
ROM0:99FD STY audio_misc_0606
ROM0:99FE LDA #$D0
ROM0:99FF STA audio_misc_20
ROM0:9A00 LDA #$10
ROM0:9A01 STA audio_misc_4
 
ROM0:9A09 loc_209A09:
ROM0:9A09 LDA audio_misc_20
ROM0:9A0A CMP #$BF
ROM0:9A0B BCC loc_209A14
ROM0:9A0C INC audio_misc_4
ROM0:9A0D BNE loc_209A28
 
ROM0:9A14 loc_209A14:
ROM0:9A14 LDA audio_misc_20
ROM0:9A15 LSR A
ROM0:9A16 BCC loc_209A28
ROM0:9A17 LSR A
ROM0:9A18 BCC loc_209A28
ROM0:9A19 LSR A
ROM0:9A1A BCC loc_209A28
ROM0:9A1B LDA audio_misc_4
ROM0:9A1C CMP #$10
ROM0:9A1D BEQ loc_209A28
ROM0:9A1E DEC audio_misc_4
 
ROM0:9A28 loc_209A28:
ROM0:9A28 LDA audio_misc_4
ROM0:9A29 STA pAPU_N_CR_1
ROM0:9A2A LDX #3
ROM0:9A2B STX pAPU_N_FR_1
ROM0:9A2C LDA #8
ROM0:9A2D STA pAPU_N_FR_2
ROM0:9A2E DEC audio_misc_20
 
ROM0:9A3A loc_209A3A:
ROM0:9A3A JMP loc_209985
 
ROM0:9A3B   .BYTE $1F
ROM0:9A3C   .BYTE $2F
ROM0:9A3D   .BYTE $2E
ROM0:9A3E   .BYTE $3F
ROM0:9A3F   .BYTE $3F
ROM0:9A40   .BYTE $4C
ROM0:9A41   .BYTE $4E
ROM0:9A42   .BYTE $5F
ROM0:9A43   .BYTE $6F
ROM0:9A44   .BYTE $6F
ROM0:9A45   .BYTE $7E
ROM0:9A46   .BYTE $8F
ROM0:9A47   .BYTE $9E
ROM0:9A48   .BYTE $AF
ROM0:9A49   .BYTE $BE
ROM0:9A4A   .BYTE $CF
ROM0:9A4B   .BYTE $DE
ROM0:9A4C   .BYTE $EF
ROM0:9A4D   .BYTE $FE
ROM0:9A4E   .BYTE $FD
ROM0:9A4F   .BYTE $FE
ROM0:9A50   .BYTE $FF
ROM0:9A51   .BYTE $FF
ROM0:9A54 audio_data_1: .BYTE $FE
ROM0:9A55 audio_data_2: .BYTE $C
ROM0:9A56   .BYTE 8
ROM0:9A57   .BYTE $11
ROM0:9A58   .BYTE $1C
ROM0:9A59   .BYTE $28
ROM0:9A5A   .BYTE $33
ROM0:9A5B   .BYTE $40
ROM0:9A5C   .BYTE $62
ROM0:9A5D   .BYTE $8A
ROM0:9A5E   .BYTE $4E
ROM0:9A5F   .BYTE $58
ROM0:9A60   .BYTE $60
ROM0:9A61   .BYTE $8A
ROM0:9A62   .BYTE $5E
ROM0:9A63   .BYTE $94
ROM0:9A64   .BYTE $60
ROM0:9A65   .BYTE 0
ROM0:9A66   .BYTE $8A
ROM0:9A67   .BYTE $42
ROM0:9A68   .BYTE 6
ROM0:9A69   .BYTE $3C
ROM0:9A6A   .BYTE $30
ROM0:9A6B   .BYTE $2E
ROM0:9A6C   .BYTE $3E
ROM0:9A6D   .BYTE $44
ROM0:9A6E   .BYTE $CC
ROM0:9A6F   .BYTE 2
ROM0:9A70   .BYTE 0
ROM0:9A71   .BYTE $83
ROM0:9A72   .BYTE $40
ROM0:9A73   .BYTE $42
ROM0:9A74   .BYTE $48
ROM0:9A75   .BYTE $4A
ROM0:9A76   .BYTE 2
ROM0:9A77   .BYTE $50
ROM0:9A78   .BYTE $4C
ROM0:9A79   .BYTE $54
ROM0:9A7A   .BYTE $94
ROM0:9A7B   .BYTE $56
ROM0:9A7C   .BYTE 0
ROM0:9A7D   .BYTE $94
ROM0:9A7E   .BYTE $3A
ROM0:9A7F   .BYTE $3E
ROM0:9A80   .BYTE $A8
ROM0:9A81   .BYTE $50
ROM0:9A82   .BYTE $8A
ROM0:9A83   .BYTE $4E
ROM0:9A84   .BYTE 2
ROM0:9A85   .BYTE $CC
ROM0:9A86   .BYTE $4A
ROM0:9A87   .BYTE 0
ROM0:9A88   .BYTE $81
ROM0:9A89   .BYTE $28
ROM0:9A8A   .BYTE $3E
ROM0:9A8B   .BYTE $24
ROM0:9A8C   .BYTE $82
ROM0:9A8D   .BYTE $3A
ROM0:9A8E   .BYTE $81
ROM0:9A8F   .BYTE $16
ROM0:9A90   .BYTE $30
ROM0:9A91   .BYTE $1A
ROM0:9A92   .BYTE $82
ROM0:9A93   .BYTE $34
ROM0:9A94   .BYTE 0
ROM0:9A95   .BYTE $94
ROM0:9A96   .BYTE $56
ROM0:9A97   .BYTE $42
ROM0:9A98   .BYTE 2
ROM0:9A99   .BYTE $4C
ROM0:9A9A   .BYTE $52
ROM0:9A9B   .BYTE $42
ROM0:9A9C   .BYTE $5C
ROM0:9A9D   .BYTE $4A
ROM0:9A9E   .BYTE $5A
ROM0:9A9F   .BYTE 2
ROM0:9AA0   .BYTE $4C
ROM0:9AA1   .BYTE $5A
ROM0:9AA2   .BYTE $56
ROM0:9AA3   .BYTE 2
ROM0:9AA4   .BYTE $50
ROM0:9AA5   .BYTE $4C
ROM0:9AA6   .BYTE $5A
ROM0:9AA7   .BYTE 2
ROM0:9AA8   .BYTE $54
ROM0:9AA9   .BYTE $5A
ROM0:9AAA   .BYTE $58
ROM0:9AAB   .BYTE 2
ROM0:9AAC   .BYTE $50
ROM0:9AAD   .BYTE $54
ROM0:9AAE   .BYTE $4C
ROM0:9AAF   .BYTE $42
ROM0:9AB0   .BYTE 2
ROM0:9AB1   .BYTE $4C
ROM0:9AB2   .BYTE $50
ROM0:9AB3   .BYTE $48
ROM0:9AB4   .BYTE $4A
ROM0:9AB5   .BYTE $50
ROM0:9AB6   .BYTE 0
ROM0:9AB7   .BYTE $9E
ROM0:9AB8   .BYTE 8
ROM0:9AB9   .BYTE $85
ROM0:9ABA   .BYTE $3C
ROM0:9ABB   .BYTE $3A
ROM0:9ABC   .BYTE $38
ROM0:9ABD   .BYTE $36
ROM0:9ABE   .BYTE $3A
ROM0:9ABF   .BYTE $38
ROM0:9AC0   .BYTE $36
ROM0:9AC1   .BYTE $34
ROM0:9AC2   .BYTE $38
ROM0:9AC3   .BYTE $36
ROM0:9AC4   .BYTE $34
ROM0:9AC5   .BYTE $32
ROM0:9AC6   .BYTE $36
ROM0:9AC7   .BYTE $34
ROM0:9AC8   .BYTE $32
ROM0:9AC9   .BYTE $30
ROM0:9ACA   .BYTE $34
ROM0:9ACB   .BYTE $32
ROM0:9ACC   .BYTE $30
ROM0:9ACD   .BYTE $2E
ROM0:9ACE   .BYTE $2A
ROM0:9ACF   .BYTE $28
ROM0:9AD0   .BYTE $A8
ROM0:9AD1   .BYTE $26
ROM0:9AD2   .BYTE 0
 
Subroutine audio_unknown_1
ROM0:9AD3 audio_unknown_1:
ROM0:9AD3 LDA play_sound_1 ; Set to a nonzero value to play a one-off sound effect
ROM0:9AD4 BMI loc_209AE0
ROM0:9AD5 BNE loc_209AE5
ROM0:9AD6 LDA audio_misc_0607
ROM0:9AD7 BNE loc_209AF8
ROM0:9AD8 RTS
 
ROM0:9AE0 loc_209AE0:
ROM0:9AE0 JSR audio_unknown_5
ROM0:9AE1 LDA #$80
 
ROM0:9AE5 loc_209AE5:
ROM0:9AE5 STA audio_misc_0607
ROM0:9AE6 LDY #0
 
ROM0:9AEA loc_209AEA:
ROM0:9AEA INY
ROM0:9AEB LSR A
ROM0:9AEC BCC loc_209AEA
ROM0:9AED LDA audio_data_1,Y
ROM0:9AEE STA audio_misc_0618
ROM0:9AEF LDA #1
ROM0:9AF0 STA audio_rhythm_countdown
 
ROM0:9AF8 loc_209AF8:
ROM0:9AF8 DEC audio_rhythm_countdown
ROM0:9AF9 BNE loc_209B45
ROM0:9AFA LDY audio_misc_0618
ROM0:9AFB INC audio_misc_0618
ROM0:9AFC LDA audio_data_2,Y
ROM0:9AFD BMI loc_209B23
ROM0:9AFE BNE loc_209B30
ROM0:9AFF LDA audio_misc_0607
ROM0:9B00 CMP #$40
ROM0:9B01 BEQ loc_209AE5
ROM0:9B02 LDX #$90
ROM0:9B03 STX pAPU_P_2_CR
ROM0:9B04 LDX #$18
ROM0:9B05 STX pAPU_P_2_CTR
ROM0:9B06 LDX #0
ROM0:9B07 STX audio_misc_0607
ROM0:9B08 STX pAPU_P_2_FTR
ROM0:9B09 RTS
 
ROM0:9B23 loc_209B23:
ROM0:9B23 AND #$7F
ROM0:9B24 STA audio_rhythm_offset
ROM0:9B25 LDY audio_misc_0618
ROM0:9B26 INC audio_misc_0618
ROM0:9B27 LDA audio_data_2,Y
 
ROM0:9B30 loc_209B30:
ROM0:9B30 JSR audio_unknown_2
ROM0:9B31 LDA #$7F
ROM0:9B32 STA pAPU_P_2_RCR
ROM0:9B33 LDA #$86
ROM0:9B34 STA pAPU_P_2_CR
ROM0:9B35 LDA audio_rhythm_offset
ROM0:9B36 STA audio_rhythm_countdown
ROM0:9B37 LDA #$1F
ROM0:9B38 STA audio_misc_3
 
ROM0:9B45 loc_209B45:
ROM0:9B45 LDA audio_misc_0607
ROM0:9B46 AND #$90
ROM0:9B47 BEQ locret_209B62
ROM0:9B48 LDY audio_misc_3
ROM0:9B49 BEQ loc_209B52
ROM0:9B4A DEC audio_misc_3
 
ROM0:9B52 loc_209B52:
ROM0:9B52 LDA audio_data_3,Y
ROM0:9B53 STA pAPU_P_2_CR
ROM0:9B54 LDA audio_rhythm_countdown
ROM0:9B55 LDX audio_pulse2_offset
ROM0:9B56 JSR audio_unknown_7
ROM0:9B57 STX pAPU_P_2_FTR
 
ROM0:9B62 locret_209B62:
ROM0:9B62 RTS
 
ROM0:9B63 audio_data_3: .BYTE $95
ROM0:9B64   .BYTE $96
ROM0:9B65   .BYTE $97
ROM0:9B66   .BYTE $98
ROM0:9B67   .BYTE $99
ROM0:9B68   .BYTE $9A
ROM0:9B69   .BYTE $9B
ROM0:9B6A   .BYTE $9C
ROM0:9B6B   .BYTE $9D
ROM0:9B6C   .BYTE $9E
ROM0:9B6D   .BYTE $9F
ROM0:9B6E   .BYTE $9F
ROM0:9B6F   .BYTE $9F
ROM0:9B70   .BYTE $9F
ROM0:9B71   .BYTE $9F
ROM0:9B72   .BYTE $9F
ROM0:9B73   .BYTE $9F
ROM0:9B74   .BYTE $9F
ROM0:9B75   .BYTE $9F
ROM0:9B76   .BYTE $9F
ROM0:9B77   .BYTE $9F
ROM0:9B78   .BYTE $9F
ROM0:9B79   .BYTE $9F
ROM0:9B7A   .BYTE $9E
ROM0:9B7B   .BYTE $9D
ROM0:9B7C   .BYTE $9C
ROM0:9B7D   .BYTE $9B
ROM0:9B7E   .BYTE $9A
ROM0:9B7F   .BYTE $99
ROM0:9B80   .BYTE $98
ROM0:9B81   .BYTE $97
ROM0:9B82   .BYTE $96
 
Subroutine audio_play_boss_roar
ROM0:9B83 audio_play_boss_roar:
ROM0:9B83 LDA play_sound_0 ; Set to a nonzero value to play a one-off sound effect (this can also start the boss roar loop)
ROM0:9B84 BMI loc_209BAF
ROM0:9B85 BNE loc_209BAB
ROM0:9B86 LDA audio_looping_boss_sound_current
ROM0:9B87 BEQ loc_209BA5 ; If the boss sound isn't already going
ROM0:9B88 DEC boss_roar_loop_timer ; Timer to play audio_looping_boss_sound periodically
ROM0:9B89 BNE locret_209BAA ; Wait for the timer to expire
ROM0:9B8A LDA audio_looping_boss_sound_current
ROM0:9B8B AND #$70
ROM0:9B8C BNE loc_209BB3 ; Branch if we've already started playing this boss sound
  ; loop, and just keep playing that one.
ROM0:9B8D LDA #0
ROM0:9B8E STA audio_looping_boss_sound_current ; Clear the current boss sound, and fall through to see
  ; if we should be playing a different one.
ROM0:9B8F LDA #$F
ROM0:9B90 STA pAPU_SV_CSR
 
ROM0:9BA5 loc_209BA5:
ROM0:9BA5 LDA