{"schema":1,"platform":"c64","game":"jet-set-willy","title":"Jet Set Willy","build":"CMM disk release; The Bathroom after trainers N, N, N","symbols_sha256":"f50caf73995c3c16111c0e6980188627c1e0b3c456101835148da6e5ad9d8277","index":[{"a":2048,"n":"JSW_State_game_keyboard_matrix","k":"variable","len":1,"c":true},{"a":2049,"n":"annotation_0801","k":"table","len":63,"c":true},{"a":2424,"n":"annotation_0978","k":"table","len":8,"c":true},{"a":2560,"n":"COPYRIGHT_UNSET_SPRITE","k":"table","len":64,"c":true},{"a":2624,"n":"COPYRIGHT_COLOR_0_SPRITE","k":"table","len":64,"c":true},{"a":2688,"n":"COPYRIGHT_COLOR_1_SPRITE","k":"table","len":64,"c":true},{"a":2752,"n":"COPYRIGHT_COLOR_2_SPRITE","k":"table","len":64,"c":true},{"a":2816,"n":"COPYRIGHT_COLOR_3_SPRITE","k":"table","len":64,"c":true},{"a":2880,"n":"RETAINED_EDITOR_PREFIX_BYTE","k":"variable","len":1,"c":true},{"a":2881,"n":"RETAINED_EDITOR_COMMAND_LOOP","k":"table","len":5,"c":true},{"a":2886,"n":"RETAINED_EDITOR_RESET_COMMAND_STATE","k":"table","len":62,"c":true},{"a":2948,"n":"RETAINED_EDITOR_READ_NEXT_PARAMETER","k":"table","len":10,"c":true},{"a":2958,"n":"RETAINED_EDITOR_READ_COMMAND_CHARACTER","k":"table","len":14,"c":true},{"a":2972,"n":"RETAINED_EDITOR_START_COMMAND_LINE","k":"table","len":5,"c":true},{"a":2977,"n":"RETAINED_EDITOR_STORE_COMMAND_CHARACTER","k":"table","len":11,"c":true},{"a":2988,"n":"RETAINED_EDITOR_COMMAND_OVERFLOW","k":"table","len":11,"c":true},{"a":2999,"n":"RETAINED_EDITOR_COMMAND_ERROR","k":"table","len":14,"c":true},{"a":3013,"n":"RETAINED_EDITOR_DECIMAL_REPEAT","k":"table","len":53,"c":true},{"a":3066,"n":"RETAINED_EDITOR_RESET_BUFFER_POINTERS","k":"table","len":13,"c":true},{"a":3079,"n":"RETAINED_EDITOR_STATUS_WORD","k":"table","len":21,"c":true},{"a":3100,"n":"RETAINED_EDITOR_SET_COPY_FLAG","k":"table","len":4,"c":true},{"a":3104,"n":"RETAINED_EDITOR_SECOND_DISPATCH_TABLE","k":"table","len":64,"c":true},{"a":3168,"n":"RETAINED_EDITOR_LETTER_DISPATCH","k":"table","len":54,"c":true},{"a":3222,"n":"RETAINED_EDITOR_MASK_CHARACTER_HIGH_BIT","k":"variable","len":2,"c":true},{"a":3224,"n":"RETAINED_EDITOR_STORE_BYTE","k":"table","len":38,"c":true},{"a":3262,"n":"RETAINED_EDITOR_DIRECTION_TRAMPOLINES","k":"table","len":32,"c":true},{"a":3294,"n":"RETAINED_EDITOR_MOVE_BACKWARD","k":"table","len":36,"c":true},{"a":3330,"n":"RETAINED_EDITOR_FIND_PREVIOUS_RETURN","k":"table","len":20,"c":true},{"a":3350,"n":"RETAINED_EDITOR_MOVE_FORWARD_TO_RETURN","k":"table","len":11,"c":true},{"a":3361,"n":"RETAINED_EDITOR_FORWARD_AND_REWIND","k":"table","len":19,"c":true},{"a":3380,"n":"RETAINED_EDITOR_INSERT_LITERAL","k":"table","len":18,"c":true},{"a":3398,"n":"RETAINED_EDITOR_INSERT_HEX_BYTE","k":"table","len":19,"c":true},{"a":3417,"n":"RETAINED_EDITOR_HEX_NIBBLE","k":"table","len":22,"c":true},{"a":3439,"n":"RETAINED_EDITOR_REJECT_SPACE_AND_TEST_DIGIT","k":"table","len":14,"c":true},{"a":3453,"n":"RETAINED_EDITOR_SET_NUMERIC_PARAMETER","k":"table","len":36,"c":true},{"a":3489,"n":"RETAINED_EDITOR_TRANSFER_BACKWARD_BYTE","k":"table","len":18,"c":true},{"a":3507,"n":"RETAINED_EDITOR_TRANSFER_BACKWARD_LINE","k":"table","len":14,"c":true},{"a":3521,"n":"RETAINED_EDITOR_TRANSFER_FORWARD_BYTE","k":"table","len":37,"c":true},{"a":3558,"n":"RETAINED_EDITOR_TRANSFER_FORWARD_LINE","k":"table","len":14,"c":true},{"a":3572,"n":"RETAINED_EDITOR_TOGGLE_DISPLAY_FLAGS","k":"table","len":16,"c":true},{"a":3588,"n":"RETAINED_EDITOR_TOGGLE_HIGH_BIT_FLAG","k":"table","len":7,"c":true},{"a":3595,"n":"RETAINED_EDITOR_SEARCH_BUFFER","k":"table","len":105,"c":true},{"a":3700,"n":"RETAINED_EDITOR_RESET_COPY_POINTER","k":"table","len":9,"c":true},{"a":3709,"n":"RETAINED_EDITOR_DECREMENT_COPY_POINTER","k":"table","len":16,"c":true},{"a":3725,"n":"RETAINED_EDITOR_COPY_BACK_FROM_BUFFER","k":"table","len":31,"c":true},{"a":3756,"n":"RETAINED_EDITOR_CLEAR_COMMAND_LINE","k":"table","len":13,"c":true},{"a":3769,"n":"RETAINED_EDITOR_READ_WITH_SUBSTITUTE","k":"table","len":9,"c":true},{"a":3778,"n":"RETAINED_EDITOR_INITIALIZE","k":"table","len":26,"c":true},{"a":3804,"n":"RETAINED_EDITOR_INITIAL_PARAMETERS","k":"table","len":10,"c":true},{"a":3814,"n":"RETAINED_EDITOR_KERNAL_GETIN_WRAPPER","k":"table","len":12,"c":true},{"a":3826,"n":"RETAINED_EDITOR_TRUNCATED_COLOR_ROUTINE","k":"table","len":15,"c":true},{"a":3841,"n":"RLE_LOW_TAIL_AFTER_EDITOR","k":"table","len":127,"c":true},{"a":3968,"n":"RLE_LOW_TAIL_FINAL_FILL","k":"table","len":32,"c":true},{"a":4000,"n":"BOOTSTRAP_ENTER_TITLE_STUB","k":"routine","len":9,"c":true},{"a":4050,"n":"JSW_Player_jump_right_collision_trampoline","k":"routine","len":12,"c":true},{"a":4059,"n":"loc_0fdb","k":"branch","len":1,"c":false},{"a":4062,"n":"annotation_0fde","k":"table","len":8,"c":true},{"a":4070,"n":"JSW_Player_jump_left_collision_trampoline","k":"routine","len":12,"c":true},{"a":4079,"n":"loc_0fef","k":"branch","len":1,"c":false},{"a":4082,"n":"annotation_0ff2","k":"table","len":14,"c":true},{"a":4096,"n":"JSW_Player_player_tick_entry","k":"routine","len":3,"c":true},{"a":4099,"n":"JSW_State_player_state_dispatch_table","k":"variable","len":1,"c":true},{"a":4100,"n":"f_1004","k":"variable","len":1,"c":true},{"a":4101,"n":"annotation_1005","k":"table","len":12,"c":true},{"a":4113,"n":"JSW_State_current_player_handler","k":"variable","len":1,"c":true},{"a":4114,"n":"a_1012","k":"variable","len":1,"c":true},{"a":4115,"n":"JSW_State_jump_horizontal_direction","k":"variable","len":1,"c":true},{"a":4116,"n":"JSW_State_tile_probe_x","k":"variable","len":1,"c":true},{"a":4117,"n":"JSW_State_conveyor_entry_saved_state","k":"variable","len":1,"c":true},{"a":4118,"n":"JSW_State_conveyor_entry_first_pass","k":"variable","len":1,"c":true},{"a":4119,"n":"JSW_State_resolved_conveyor_direction","k":"variable","len":1,"c":true},{"a":4120,"n":"JSW_State_rope_animation_divider","k":"variable","len":1,"c":true},{"a":4121,"n":"JSW_State_rope_trajectory_index","k":"variable","len":1,"c":true},{"a":4122,"n":"JSW_State_rope_movement_divider","k":"variable","len":1,"c":true},{"a":4123,"n":"JSW_Player_scan_input_via_vector","k":"routine","len":3,"c":true},{"a":4126,"n":"JSW_Player_redispatch_player_via_vector","k":"routine","len":3,"c":true},{"a":4129,"n":"JSW_Player_continue_main_loop_via_vector","k":"routine","len":3,"c":true},{"a":4132,"n":"JSW_Player_lookup_tile_via_vector","k":"routine","len":3,"c":true},{"a":4135,"n":"JSW_Player_prepare_room_via_vector","k":"routine","len":3,"c":true},{"a":4138,"n":"JSW_Player_kill_player_via_vector","k":"routine","len":3,"c":true},{"a":4141,"n":"JSW_State_jump_vertical_delta_table","k":"variable","len":1,"c":true},{"a":4142,"n":"annotation_102e","k":"table","len":35,"c":true},{"a":4177,"n":"JSW_Player_probe_tile_right","k":"routine","len":9,"c":true},{"a":4186,"n":"JSW_Player_probe_tile_current","k":"routine","len":8,"c":true},{"a":4194,"n":"JSW_Player_probe_tile_above","k":"routine","len":9,"c":true},{"a":4203,"n":"JSW_Player_probe_tile_two_rows_below","k":"routine","len":10,"c":true},{"a":4213,"n":"JSW_Player_dispatch_player_state","k":"routine","len":6,"c":true},{"a":4219,"n":"JSW_Player_dispatch_state_after_rope_staging","k":"routine","len":3,"c":true},{"a":4222,"n":"JSW_Player_dispatch_state_from_table","k":"routine","len":19,"c":true},{"a":4241,"n":"JSW_Player_update_player_grounded","k":"routine","len":54,"c":true},{"a":4260,"n":"loc_10a4","k":"branch","len":1,"c":false},{"a":4288,"n":"loc_10c0","k":"branch","len":1,"c":false},{"a":4295,"n":"JSW_Player_grounded_route_by_direction_sign","k":"routine","len":5,"c":true},{"a":4300,"n":"JSW_Player_grounded_move_right","k":"routine","len":94,"c":true},{"a":4330,"n":"loc_10ea","k":"branch","len":1,"c":false},{"a":4338,"n":"loc_10f2","k":"branch","len":1,"c":false},{"a":4361,"n":"loc_1109","k":"branch","len":1,"c":false},{"a":4394,"n":"JSW_Player_grounded_move_left","k":"routine","len":93,"c":true},{"a":4417,"n":"loc_1141","k":"branch","len":1,"c":false},{"a":4447,"n":"loc_115f","k":"branch","len":1,"c":false},{"a":4457,"n":"loc_1169","k":"branch","len":1,"c":false},{"a":4487,"n":"JSW_Player_handle_grounded_tile","k":"routine","len":61,"c":true},{"a":4494,"n":"loc_118e","k":"branch","len":1,"c":false},{"a":4514,"n":"loc_11a2","k":"branch","len":1,"c":false},{"a":4521,"n":"loc_11a9","k":"branch","len":1,"c":false},{"a":4528,"n":"loc_11b0","k":"branch","len":1,"c":false},{"a":4529,"n":"loc_11b1","k":"branch","len":1,"c":false},{"a":4537,"n":"loc_11b9","k":"branch","len":1,"c":false},{"a":4545,"n":"loc_11c1","k":"branch","len":1,"c":false},{"a":4548,"n":"JSW_Player_handle_ground_support_tile","k":"routine","len":55,"c":true},{"a":4595,"n":"loc_11f3","k":"branch","len":1,"c":false},{"a":4602,"n":"loc_11fa","k":"branch","len":1,"c":false},{"a":4603,"n":"JSW_Player_update_player_falling","k":"routine","len":66,"c":true},{"a":4613,"n":"loc_1205","k":"branch","len":1,"c":false},{"a":4622,"n":"loc_120e","k":"branch","len":1,"c":false},{"a":4625,"n":"loc_1211","k":"branch","len":1,"c":false},{"a":4644,"n":"loc_1224","k":"branch","len":1,"c":false},{"a":4662,"n":"loc_1236","k":"branch","len":1,"c":false},{"a":4669,"n":"JSW_Player_update_player_jumping","k":"routine","len":89,"c":true},{"a":4677,"n":"loc_1245","k":"branch","len":1,"c":false},{"a":4682,"n":"loc_124a","k":"branch","len":1,"c":false},{"a":4695,"n":"loc_1257","k":"branch","len":1,"c":false},{"a":4721,"n":"loc_1271","k":"branch","len":1,"c":false},{"a":4724,"n":"loc_1274","k":"branch","len":1,"c":false},{"a":4737,"n":"loc_1281","k":"branch","len":1,"c":false},{"a":4752,"n":"loc_1290","k":"branch","len":1,"c":false},{"a":4758,"n":"JSW_Player_probe_jump_ceiling","k":"routine","len":53,"c":true},{"a":4776,"n":"loc_12a8","k":"branch","len":1,"c":false},{"a":4786,"n":"loc_12b2","k":"branch","len":1,"c":false},{"a":4804,"n":"loc_12c4","k":"branch","len":1,"c":false},{"a":4811,"n":"JSW_Player_handle_upward_jump_collision","k":"routine","len":30,"c":true},{"a":4826,"n":"loc_12da","k":"branch","len":1,"c":false},{"a":4833,"n":"loc_12e1","k":"branch","len":1,"c":false},{"a":4840,"n":"loc_12e8","k":"branch","len":1,"c":false},{"a":4841,"n":"JSW_Player_probe_jump_landing","k":"routine","len":56,"c":true},{"a":4862,"n":"loc_12fe","k":"branch","len":1,"c":false},{"a":4872,"n":"loc_1308","k":"branch","len":1,"c":false},{"a":4890,"n":"loc_131a","k":"branch","len":1,"c":false},{"a":4897,"n":"JSW_Player_handle_landing_tile","k":"routine","len":65,"c":true},{"a":4912,"n":"loc_1330","k":"branch","len":1,"c":false},{"a":4920,"n":"loc_1338","k":"branch","len":1,"c":false},{"a":4937,"n":"loc_1349","k":"branch","len":1,"c":false},{"a":4938,"n":"loc_134a","k":"branch","len":1,"c":false},{"a":4956,"n":"loc_135c","k":"branch","len":1,"c":false},{"a":4957,"n":"loc_135d","k":"branch","len":1,"c":false},{"a":4962,"n":"JSW_Player_advance_jump_right","k":"routine","len":16,"c":true},{"a":4978,"n":"JSW_Player_advance_jump_right_position","k":"routine","len":29,"c":true},{"a":5007,"n":"JSW_Player_advance_jump_right_curve_index","k":"routine","len":117,"c":true},{"a":5025,"n":"loc_13a1","k":"branch","len":1,"c":false},{"a":5028,"n":"loc_13a4","k":"branch","len":1,"c":false},{"a":5036,"n":"loc_13ac","k":"branch","len":1,"c":false},{"a":5055,"n":"loc_13bf","k":"branch","len":1,"c":false},{"a":5086,"n":"loc_13de","k":"branch","len":1,"c":false},{"a":5090,"n":"loc_13e2","k":"branch","len":1,"c":false},{"a":5103,"n":"loc_13ef","k":"branch","len":1,"c":false},{"a":5118,"n":"loc_13fe","k":"branch","len":1,"c":false},{"a":5124,"n":"JSW_Player_advance_jump_left","k":"routine","len":16,"c":true},{"a":5140,"n":"JSW_Player_advance_jump_left_position","k":"routine","len":149,"c":true},{"a":5169,"n":"loc_1431","k":"branch","len":1,"c":false},{"a":5188,"n":"loc_1444","k":"branch","len":1,"c":false},{"a":5206,"n":"loc_1456","k":"branch","len":1,"c":false},{"a":5209,"n":"loc_1459","k":"branch","len":1,"c":false},{"a":5219,"n":"loc_1463","k":"branch","len":1,"c":false},{"a":5250,"n":"loc_1482","k":"branch","len":1,"c":false},{"a":5255,"n":"loc_1487","k":"branch","len":1,"c":false},{"a":5268,"n":"loc_1494","k":"branch","len":1,"c":false},{"a":5283,"n":"loc_14a3","k":"branch","len":1,"c":false},{"a":5289,"n":"JSW_Player_handle_horizontal_jump_collision","k":"routine","len":23,"c":true},{"a":5296,"n":"loc_14b0","k":"branch","len":1,"c":false},{"a":5304,"n":"loc_14b8","k":"branch","len":1,"c":false},{"a":5311,"n":"loc_14bf","k":"branch","len":1,"c":false},{"a":5312,"n":"JSW_State_ramp_traversal_counter","k":"variable","len":1,"c":true},{"a":5313,"n":"JSW_Player_update_player_on_ramp","k":"routine","len":3,"c":true},{"a":5316,"n":"annotation_14c4","k":"routine","len":91,"c":true},{"a":5331,"n":"loc_14d3","k":"branch","len":1,"c":false},{"a":5339,"n":"loc_14db","k":"branch","len":1,"c":false},{"a":5346,"n":"loc_14e2","k":"branch","len":1,"c":false},{"a":5361,"n":"loc_14f1","k":"branch","len":1,"c":false},{"a":5381,"n":"loc_1505","k":"branch","len":1,"c":false},{"a":5392,"n":"loc_1510","k":"branch","len":1,"c":false},{"a":5407,"n":"JSW_Player_update_player_on_conveyor","k":"routine","len":2,"c":true},{"a":5409,"n":"annotation_1521","k":"routine","len":23,"c":true},{"a":5427,"n":"loc_1533","k":"branch","len":1,"c":false},{"a":5432,"n":"JSW_Player_enter_or_reconcile_conveyor","k":"routine","len":3,"c":true},{"a":5435,"n":"annotation_153b","k":"routine","len":181,"c":true},{"a":5463,"n":"loc_1557","k":"branch","len":1,"c":false},{"a":5469,"n":"loc_155d","k":"branch","len":1,"c":false},{"a":5473,"n":"loc_1561","k":"branch","len":1,"c":false},{"a":5482,"n":"loc_156a","k":"branch","len":1,"c":false},{"a":5493,"n":"loc_1575","k":"branch","len":1,"c":false},{"a":5507,"n":"loc_1583","k":"branch","len":1,"c":false},{"a":5532,"n":"loc_159c","k":"branch","len":1,"c":false},{"a":5550,"n":"loc_15ae","k":"branch","len":1,"c":false},{"a":5562,"n":"loc_15ba","k":"branch","len":1,"c":false},{"a":5565,"n":"loc_15bd","k":"branch","len":1,"c":false},{"a":5580,"n":"loc_15cc","k":"branch","len":1,"c":false},{"a":5605,"n":"loc_15e5","k":"branch","len":1,"c":false},{"a":5613,"n":"loc_15ed","k":"branch","len":1,"c":false},{"a":5616,"n":"JSW_Player_kill_player","k":"routine","len":9,"c":true},{"a":5625,"n":"JSW_State_item_candidate_screen_low","k":"variable","len":1,"c":true},{"a":5626,"n":"JSW_State_item_candidate_screen_high","k":"variable","len":1,"c":true},{"a":5627,"n":"JSW_Player_collect_item_if_present","k":"routine","len":141,"c":true},{"a":5651,"n":"loc_1613","k":"branch","len":1,"c":false},{"a":5723,"n":"loc_165b","k":"branch","len":1,"c":false},{"a":5725,"n":"loc_165d","k":"branch","len":1,"c":false},{"a":5768,"n":"JSW_Player_initialize_tile_location","k":"routine","len":13,"c":true},{"a":5781,"n":"JSW_Player_align_ramp_animation_phase","k":"routine","len":13,"c":true},{"a":5791,"n":"loc_169f","k":"branch","len":1,"c":false},{"a":5794,"n":"JSW_Player_produce_rope_sprite_staging","k":"routine","len":232,"c":true},{"a":5805,"n":"loc_16ad","k":"branch","len":1,"c":false},{"a":5811,"n":"loc_16b3","k":"branch","len":1,"c":false},{"a":5854,"n":"loc_16de","k":"branch","len":1,"c":false},{"a":5905,"n":"loc_1711","k":"branch","len":1,"c":false},{"a":5928,"n":"loc_1728","k":"branch","len":1,"c":false},{"a":5953,"n":"loc_1741","k":"branch","len":1,"c":false},{"a":5971,"n":"loc_1753","k":"branch","len":1,"c":false},{"a":5975,"n":"loc_1757","k":"branch","len":1,"c":false},{"a":6002,"n":"loc_1772","k":"branch","len":1,"c":false},{"a":6022,"n":"loc_1786","k":"branch","len":1,"c":false},{"a":6026,"n":"JSW_State_rope_position_coordinates","k":"table","len":6,"c":true},{"a":6032,"n":"annotation_1790","k":"table","len":198,"c":true},{"a":6230,"n":"rope_sprite_source_pointer_table","k":"variable","len":1,"c":true},{"a":6231,"n":"rope_sprite_source_pointer_table_first_high_byte","k":"variable","len":1,"c":true},{"a":6232,"n":"annotation_1858","k":"table","len":612,"c":true},{"a":6844,"n":"JSW_Player_update_player_attached_to_rope","k":"routine","len":218,"c":true},{"a":6864,"n":"loc_1ad0","k":"branch","len":1,"c":false},{"a":6888,"n":"loc_1ae8","k":"branch","len":1,"c":false},{"a":6902,"n":"loc_1af6","k":"branch","len":1,"c":false},{"a":6926,"n":"loc_1b0e","k":"branch","len":1,"c":false},{"a":6937,"n":"loc_1b19","k":"branch","len":1,"c":false},{"a":6967,"n":"loc_1b37","k":"branch","len":1,"c":false},{"a":7010,"n":"loc_1b62","k":"branch","len":1,"c":false},{"a":7032,"n":"loc_1b78","k":"branch","len":1,"c":false},{"a":7062,"n":"JSW_Player_handle_rope_tile_collision","k":"routine","len":30,"c":true},{"a":7071,"n":"loc_1b9f","k":"branch","len":1,"c":false},{"a":7091,"n":"loc_1bb3","k":"branch","len":1,"c":false},{"a":7092,"n":"annotation_1bb4","k":"table","len":8,"c":true},{"a":7100,"n":"JSW_Player_disabled_room_selector","k":"routine","len":1,"c":true},{"a":7101,"n":"annotation_1bbd","k":"table","len":143,"c":true},{"a":7244,"n":"JSW_Player_attach_player_to_rope_if_colliding","k":"routine","len":58,"c":true},{"a":7249,"n":"loc_1c51","k":"branch","len":1,"c":false},{"a":7250,"n":"loc_1c52","k":"branch","len":1,"c":false},{"a":7278,"n":"loc_1c6e","k":"branch","len":1,"c":false},{"a":7287,"n":"loc_1c77","k":"branch","len":1,"c":false},{"a":7302,"n":"JSW_Player_compute_rope_trajectory_pointer","k":"routine","len":40,"c":true},{"a":7315,"n":"loc_1c93","k":"branch","len":1,"c":false},{"a":7342,"n":"annotation_1cae","k":"table","len":850,"c":true},{"a":8192,"n":"JSW_Game_game_entry","k":"routine","len":3,"c":true},{"a":8195,"n":"annotation_2003","k":"variable","len":2,"c":true},{"a":8197,"n":"JSW_Game_initialize_game_music","k":"routine","len":97,"c":true},{"a":8226,"n":"loc_2022","k":"branch","len":1,"c":false},{"a":8294,"n":"JSW_Game_tick_game_music","k":"routine","len":15,"c":true},{"a":8301,"n":"loc_206d","k":"branch","len":1,"c":false},{"a":8308,"n":"loc_2074","k":"branch","len":1,"c":false},{"a":8309,"n":"JSW_Game_read_game_music_voice1","k":"routine","len":61,"c":true},{"a":8332,"n":"loc_208c","k":"branch","len":1,"c":false},{"a":8351,"n":"loc_209f","k":"branch","len":1,"c":false},{"a":8365,"n":"loc_20ad","k":"branch","len":1,"c":false},{"a":8370,"n":"JSW_Game_read_game_music_voice2","k":"routine","len":52,"c":true},{"a":8389,"n":"loc_20c5","k":"branch","len":1,"c":false},{"a":8408,"n":"loc_20d8","k":"branch","len":1,"c":false},{"a":8422,"n":"JSW_Game_silence_sid_voice_by_offset","k":"routine","len":6,"c":true},{"a":8428,"n":"JSW_State_game_note_frequency_table","k":"variable","len":1,"c":true},{"a":8429,"n":"f_20ED","k":"variable","len":1,"c":true},{"a":8430,"n":"annotation_20ee","k":"table","len":190,"c":true},{"a":8620,"n":"JSW_State_spare_life_glyph_frames","k":"table","len":32,"c":true},{"a":8652,"n":"annotation_21cc","k":"table","len":96,"c":true},{"a":8748,"n":"tile_code_table","k":"variable","len":1,"c":true},{"a":8749,"n":"annotation_222d","k":"table","len":3,"c":true},{"a":8752,"n":"room_direction_bit7_mask","k":"variable","len":1,"c":true},{"a":8753,"n":"bit_mask_table","k":"variable","len":1,"c":true},{"a":8754,"n":"bit_mask_table_index_1","k":"variable","len":1,"c":true},{"a":8755,"n":"annotation_2233","k":"table","len":7,"c":true},{"a":8762,"n":"inverted_bit_mask_table_index_1","k":"table","len":7,"c":true},{"a":8769,"n":"status_line_screen_codes","k":"table","len":32,"c":true},{"a":8801,"n":"clock_digit_rollover_thresholds","k":"table","len":6,"c":true},{"a":8807,"n":"initial_clock_digits","k":"table","len":10,"c":true},{"a":8817,"n":"glyph_rotate_right_pointer_table","k":"variable","len":2,"c":true},{"a":8819,"n":"annotation_2273","k":"table","len":36,"c":true},{"a":8855,"n":"glyph_rotate_left_pointer_table","k":"variable","len":2,"c":true},{"a":8857,"n":"annotation_2299","k":"table","len":42,"c":true},{"a":8899,"n":"JSW_State_item_records","k":"table","len":4,"c":true},{"a":8903,"n":"annotation_22c7","k":"table","len":316,"c":true},{"a":9219,"n":"JSW_State_arrow_records","k":"table","len":4,"c":true},{"a":9223,"n":"annotation_2407","k":"table","len":60,"c":true},{"a":9283,"n":"JSW_State_guardian_records","k":"table","len":8,"c":true},{"a":9291,"n":"annotation_244b","k":"table","len":192,"c":true},{"a":9483,"n":"guardian_25_room06_offscreen_dummy_horizontal","k":"table","len":624,"c":true},{"a":10107,"n":"guardian_103_room27_offscreen_dummy_horizontal","k":"table","len":216,"c":true},{"a":10323,"n":"guardian_130_room38_offscreen_dummy_vertical","k":"table","len":408,"c":true},{"a":10731,"n":"JSW_State_room_sprite_colors","k":"table","len":8,"c":true},{"a":10739,"n":"annotation_29f3","k":"table","len":472,"c":true},{"a":11211,"n":"JSW_State_room_screen_row_pointers","k":"variable","len":1,"c":true},{"a":11212,"n":"f_2BCC","k":"variable","len":1,"c":true},{"a":11213,"n":"annotation_2bcd","k":"table","len":30,"c":true},{"a":11243,"n":"JSW_State_game_keyboard_lookup","k":"variable","len":1,"c":true},{"a":11244,"n":"annotation_2bec","k":"table","len":63,"c":true},{"a":11307,"n":"JSW_State_control_key_lists","k":"variable","len":1,"c":true},{"a":11308,"n":"annotation_2c2c","k":"table","len":10,"c":true},{"a":11318,"n":"right_control_key_list","k":"table","len":11,"c":true},{"a":11329,"n":"jump_control_key_list","k":"table","len":11,"c":true},{"a":11340,"n":"pause_control_key_list","k":"table","len":11,"c":true},{"a":11351,"n":"JSW_Game_initialize_game","k":"routine","len":367,"c":true},{"a":11411,"n":"loc_2c93","k":"branch","len":1,"c":false},{"a":11430,"n":"loc_2ca6","k":"branch","len":1,"c":false},{"a":11539,"n":"loc_2d13","k":"branch","len":1,"c":false},{"a":11656,"n":"loc_2d88","k":"branch","len":1,"c":false},{"a":11675,"n":"loc_2d9b","k":"branch","len":1,"c":false},{"a":11687,"n":"loc_2da7","k":"branch","len":1,"c":false},{"a":11697,"n":"loc_2db1","k":"branch","len":1,"c":false},{"a":11707,"n":"loc_2dbb","k":"branch","len":1,"c":false},{"a":11718,"n":"JSW_Game_prepare_room_entry","k":"routine","len":65,"c":true},{"a":11741,"n":"loc_2ddd","k":"branch","len":1,"c":false},{"a":11756,"n":"loc_2dec","k":"branch","len":1,"c":false},{"a":11771,"n":"loc_2dfb","k":"branch","len":1,"c":false},{"a":11783,"n":"JSW_Game_initialize_room_vic_state","k":"routine","len":78,"c":true},{"a":11861,"n":"JSW_Game_copy_room_record","k":"routine","len":39,"c":true},{"a":11872,"n":"loc_2e60","k":"branch","len":1,"c":false},{"a":11875,"n":"loc_2e63","k":"branch","len":1,"c":false},{"a":11887,"n":"loc_2e6f","k":"branch","len":1,"c":false},{"a":11900,"n":"JSW_Game_capture_room_entry_checkpoint","k":"routine","len":32,"c":true},{"a":11932,"n":"JSW_Game_build_room_visuals","k":"routine","len":140,"c":true},{"a":11983,"n":"loc_2ecf","k":"branch","len":1,"c":false},{"a":11992,"n":"loc_2ed8","k":"branch","len":1,"c":false},{"a":12007,"n":"loc_2ee7","k":"branch","len":1,"c":false},{"a":12049,"n":"loc_2f11","k":"branch","len":1,"c":false},{"a":12064,"n":"loc_2f20","k":"branch","len":1,"c":false},{"a":12072,"n":"JSW_Game_draw_room_conveyor","k":"routine","len":50,"c":true},{"a":12084,"n":"loc_2f34","k":"branch","len":1,"c":false},{"a":12090,"n":"loc_2f3a","k":"branch","len":1,"c":false},{"a":12109,"n":"loc_2f4d","k":"branch","len":1,"c":false},{"a":12122,"n":"JSW_Game_draw_room_ramp","k":"routine","len":115,"c":true},{"a":12150,"n":"loc_2f76","k":"branch","len":1,"c":false},{"a":12158,"n":"loc_2f7e","k":"branch","len":1,"c":false},{"a":12171,"n":"loc_2f8b","k":"branch","len":1,"c":false},{"a":12182,"n":"loc_2f96","k":"branch","len":1,"c":false},{"a":12200,"n":"loc_2fa8","k":"branch","len":1,"c":false},{"a":12237,"n":"JSW_Game_load_room_guardians","k":"routine","len":219,"c":true},{"a":12247,"n":"loc_2fd7","k":"branch","len":1,"c":false},{"a":12278,"n":"loc_2ff6","k":"branch","len":1,"c":false},{"a":12280,"n":"loc_2ff8","k":"branch","len":1,"c":false},{"a":12299,"n":"loc_300b","k":"branch","len":1,"c":false},{"a":12321,"n":"loc_3021","k":"branch","len":1,"c":false},{"a":12335,"n":"loc_302f","k":"branch","len":1,"c":false},{"a":12340,"n":"loc_3034","k":"branch","len":1,"c":false},{"a":12396,"n":"loc_306c","k":"branch","len":1,"c":false},{"a":12402,"n":"loc_3072","k":"branch","len":1,"c":false},{"a":12443,"n":"loc_309b","k":"branch","len":1,"c":false},{"a":12456,"n":"JSW_Game_initialize_room_rope","k":"routine","len":49,"c":true},{"a":12505,"n":"JSW_Game_settle_collision_latches","k":"routine","len":8,"c":true},{"a":12507,"n":"loc_30db","k":"branch","len":1,"c":false},{"a":12513,"n":"JSW_Game_apply_room32_conveyor_fix","k":"routine","len":30,"c":true},{"a":12543,"n":"JSW_Game_game_main_loop","k":"routine","len":51,"c":true},{"a":12564,"n":"loc_3114","k":"branch","len":1,"c":false},{"a":12576,"n":"loc_3120","k":"branch","len":1,"c":false},{"a":12587,"n":"loc_312b","k":"branch","len":1,"c":false},{"a":12594,"n":"JSW_Game_check_stop_key","k":"routine","len":13,"c":true},{"a":12607,"n":"JSW_Game_update_items_and_schedule_arrows","k":"routine","len":14,"c":true},{"a":12617,"n":"loc_3149","k":"branch","len":1,"c":false},{"a":12621,"n":"JSW_Game_update_arrows","k":"routine","len":193,"c":true},{"a":12633,"n":"loc_3159","k":"branch","len":1,"c":false},{"a":12646,"n":"loc_3166","k":"branch","len":1,"c":false},{"a":12656,"n":"loc_3170","k":"branch","len":1,"c":false},{"a":12690,"n":"loc_3192","k":"branch","len":1,"c":false},{"a":12693,"n":"loc_3195","k":"branch","len":1,"c":false},{"a":12720,"n":"loc_31b0","k":"branch","len":1,"c":false},{"a":12747,"n":"loc_31cb","k":"branch","len":1,"c":false},{"a":12772,"n":"loc_31e4","k":"branch","len":1,"c":false},{"a":12796,"n":"loc_31fc","k":"branch","len":1,"c":false},{"a":12814,"n":"JSW_Game_position_arrow_sprite","k":"routine","len":64,"c":true},{"a":12849,"n":"loc_3231","k":"branch","len":1,"c":false},{"a":12857,"n":"loc_3239","k":"branch","len":1,"c":false},{"a":12858,"n":"loc_323a","k":"branch","len":1,"c":false},{"a":12878,"n":"JSW_Game_animate_bathroom_toilet","k":"routine","len":54,"c":true},{"a":12932,"n":"JSW_Game_animate_maria","k":"routine","len":80,"c":true},{"a":12996,"n":"loc_32c4","k":"branch","len":1,"c":false},{"a":13007,"n":"loc_32cf","k":"branch","len":1,"c":false},{"a":13012,"n":"JSW_Game_schedule_guardian_updates","k":"routine","len":48,"c":true},{"a":13028,"n":"loc_32e4","k":"branch","len":1,"c":false},{"a":13047,"n":"loc_32f7","k":"branch","len":1,"c":false},{"a":13050,"n":"loc_32fa","k":"branch","len":1,"c":false},{"a":13060,"n":"JSW_Game_draw_spare_life_icons","k":"routine","len":55,"c":true},{"a":13068,"n":"loc_330c","k":"branch","len":1,"c":false},{"a":13115,"n":"JSW_Game_schedule_player_update","k":"routine","len":14,"c":true},{"a":13129,"n":"JSW_Game_reset_stack_and_enter_player_tick","k":"routine","len":6,"c":true},{"a":13135,"n":"JSW_Game_continue_after_player_update","k":"routine","len":67,"c":true},{"a":13175,"n":"loc_3377","k":"branch","len":1,"c":false},{"a":13181,"n":"loc_337d","k":"branch","len":1,"c":false},{"a":13202,"n":"JSW_Game_handle_sprite_collisions","k":"routine","len":41,"c":true},{"a":13226,"n":"loc_33aa","k":"branch","len":1,"c":false},{"a":13234,"n":"loc_33b2","k":"branch","len":1,"c":false},{"a":13243,"n":"JSW_Game_check_clock_deadline","k":"routine","len":21,"c":true},{"a":13252,"n":"loc_33c4","k":"branch","len":1,"c":false},{"a":13261,"n":"loc_33cd","k":"branch","len":1,"c":false},{"a":13264,"n":"JSW_Game_short_busy_wait","k":"routine","len":11,"c":true},{"a":13268,"n":"loc_33d4","k":"branch","len":1,"c":false},{"a":13275,"n":"JSW_Game_restore_irq_registers_and_rti","k":"routine","len":6,"c":true},{"a":13281,"n":"JSW_Game_gameplay_frame_irq","k":"routine","len":435,"c":true},{"a":13294,"n":"loc_33ee","k":"branch","len":1,"c":false},{"a":13301,"n":"loc_33f5","k":"branch","len":1,"c":false},{"a":13309,"n":"loc_33fd","k":"branch","len":1,"c":false},{"a":13334,"n":"loc_3416","k":"branch","len":1,"c":false},{"a":13365,"n":"loc_3435","k":"branch","len":1,"c":false},{"a":13382,"n":"loc_3446","k":"branch","len":1,"c":false},{"a":13392,"n":"loc_3450","k":"branch","len":1,"c":false},{"a":13408,"n":"loc_3460","k":"branch","len":1,"c":false},{"a":13450,"n":"loc_348a","k":"branch","len":1,"c":false},{"a":13469,"n":"loc_349d","k":"branch","len":1,"c":false},{"a":13487,"n":"loc_34af","k":"branch","len":1,"c":false},{"a":13496,"n":"loc_34b8","k":"branch","len":1,"c":false},{"a":13514,"n":"loc_34ca","k":"branch","len":1,"c":false},{"a":13523,"n":"loc_34d3","k":"branch","len":1,"c":false},{"a":13570,"n":"loc_3502","k":"branch","len":1,"c":false},{"a":13588,"n":"loc_3514","k":"branch","len":1,"c":false},{"a":13607,"n":"loc_3527","k":"branch","len":1,"c":false},{"a":13619,"n":"loc_3533","k":"branch","len":1,"c":false},{"a":13631,"n":"loc_353f","k":"branch","len":1,"c":false},{"a":13644,"n":"loc_354c","k":"branch","len":1,"c":false},{"a":13658,"n":"loc_355a","k":"branch","len":1,"c":false},{"a":13678,"n":"loc_356e","k":"branch","len":1,"c":false},{"a":13683,"n":"loc_3573","k":"branch","len":1,"c":false},{"a":13716,"n":"JSW_Game_gameplay_input_irq","k":"routine","len":19,"c":true},{"a":13735,"n":"JSW_Game_expand_packed_room_cell","k":"routine","len":61,"c":true},{"a":13793,"n":"loc_35e1","k":"branch","len":1,"c":false},{"a":13796,"n":"JSW_Game_lookup_tile_at_cell","k":"routine","len":48,"c":true},{"a":13843,"n":"loc_3613","k":"branch","len":1,"c":false},{"a":13844,"n":"JSW_Game_update_vertical_guardian","k":"routine","len":138,"c":true},{"a":13879,"n":"loc_3637","k":"branch","len":1,"c":false},{"a":13890,"n":"loc_3642","k":"branch","len":1,"c":false},{"a":13921,"n":"loc_3661","k":"branch","len":1,"c":false},{"a":13982,"n":"JSW_Game_update_horizontal_guardian","k":"routine","len":243,"c":true},{"a":13996,"n":"loc_36ac","k":"branch","len":1,"c":false},{"a":14042,"n":"loc_36da","k":"branch","len":1,"c":false},{"a":14049,"n":"loc_36e1","k":"branch","len":1,"c":false},{"a":14072,"n":"loc_36f8","k":"branch","len":1,"c":false},{"a":14098,"n":"loc_3712","k":"branch","len":1,"c":false},{"a":14104,"n":"loc_3718","k":"branch","len":1,"c":false},{"a":14128,"n":"loc_3730","k":"branch","len":1,"c":false},{"a":14149,"n":"loc_3745","k":"branch","len":1,"c":false},{"a":14156,"n":"loc_374c","k":"branch","len":1,"c":false},{"a":14167,"n":"loc_3757","k":"branch","len":1,"c":false},{"a":14197,"n":"loc_3775","k":"branch","len":1,"c":false},{"a":14225,"n":"JSW_Game_scan_gameplay_input","k":"routine","len":170,"c":true},{"a":14246,"n":"loc_37a6","k":"branch","len":1,"c":false},{"a":14256,"n":"loc_37b0","k":"branch","len":1,"c":false},{"a":14266,"n":"loc_37ba","k":"branch","len":1,"c":false},{"a":14275,"n":"loc_37c3","k":"branch","len":1,"c":false},{"a":14294,"n":"loc_37d6","k":"branch","len":1,"c":false},{"a":14299,"n":"loc_37db","k":"branch","len":1,"c":false},{"a":14329,"n":"loc_37f9","k":"branch","len":1,"c":false},{"a":14339,"n":"loc_3803","k":"branch","len":1,"c":false},{"a":14343,"n":"loc_3807","k":"branch","len":1,"c":false},{"a":14347,"n":"loc_380b","k":"branch","len":1,"c":false},{"a":14356,"n":"loc_3814","k":"branch","len":1,"c":false},{"a":14365,"n":"loc_381d","k":"branch","len":1,"c":false},{"a":14374,"n":"loc_3826","k":"branch","len":1,"c":false},{"a":14394,"n":"loc_383a","k":"branch","len":1,"c":false},{"a":14395,"n":"JSW_Game_game_over_or_abort_to_title","k":"routine","len":157,"c":true},{"a":14413,"n":"loc_384d","k":"branch","len":1,"c":false},{"a":14520,"n":"loc_38b8","k":"branch","len":1,"c":false},{"a":14552,"n":"JSW_Game_game_over_delay_outer","k":"routine","len":11,"c":true},{"a":14556,"n":"loc_38dc","k":"branch","len":1,"c":false},{"a":14563,"n":"JSW_Game_game_over_delay_inner","k":"routine","len":12,"c":true},{"a":14567,"n":"loc_38e7","k":"branch","len":1,"c":false},{"a":14575,"n":"JSW_Game_run_death_sequence","k":"routine","len":148,"c":true},{"a":14617,"n":"loc_3919","k":"branch","len":1,"c":false},{"a":14633,"n":"loc_3929","k":"branch","len":1,"c":false},{"a":14699,"n":"loc_396b","k":"branch","len":1,"c":false},{"a":14720,"n":"loc_3980","k":"branch","len":1,"c":false},{"a":14723,"n":"JSW_Game_render_room_items","k":"routine","len":110,"c":true},{"a":14728,"n":"loc_3988","k":"branch","len":1,"c":false},{"a":14746,"n":"loc_399a","k":"branch","len":1,"c":false},{"a":14810,"n":"loc_39da","k":"branch","len":1,"c":false},{"a":14833,"n":"JSW_Game_toggle_music_on_return","k":"routine","len":17,"c":true},{"a":14849,"n":"loc_3a01","k":"branch","len":1,"c":false},{"a":14850,"n":"COPYRIGHT_LOADING_COMPLETE","k":"routine","len":85,"c":true},{"a":14881,"n":"b_3A21","k":"branch","len":1,"c":false},{"a":14924,"n":"b_3A4C","k":"branch","len":1,"c":false},{"a":14935,"n":"COPYRIGHT_WAIT_FOR_KEY","k":"routine","len":10,"c":true},{"a":14936,"n":"b_3A58","k":"branch","len":1,"c":false},{"a":14945,"n":"COPYRIGHT_COLOR_SOURCE_BASE","k":"variable","len":1,"c":true},{"a":14946,"n":"a_3A62","k":"variable","len":1,"c":true},{"a":14947,"n":"COPYRIGHT_SPRITE_COORDINATES","k":"table","len":16,"c":true},{"a":14963,"n":"COPYRIGHT_ENTERED_DIGIT_INDEX","k":"variable","len":1,"c":true},{"a":14964,"n":"COPYRIGHT_SPRITE_COLORS","k":"table","len":8,"c":true},{"a":14972,"n":"COPYRIGHT_RETRY_FLAG","k":"variable","len":1,"c":true},{"a":14973,"n":"COPYRIGHT_ENTERED_COLORS","k":"table","len":4,"c":true},{"a":14977,"n":"COPYRIGHT_EXPECTED_COLORS","k":"table","len":4,"c":true},{"a":14981,"n":"COPYRIGHT_RANDOM_BOUND","k":"variable","len":1,"c":true},{"a":14982,"n":"COPYRIGHT_SELECTED_ROW","k":"variable","len":1,"c":true},{"a":14983,"n":"COPYRIGHT_SELECTED_COLUMN","k":"variable","len":1,"c":true},{"a":14984,"n":"COPYRIGHT_FIRST_PROMPT","k":"table","len":28,"c":true},{"a":15012,"n":"COPYRIGHT_RETRY_PROMPT","k":"table","len":28,"c":true},{"a":15040,"n":"COPYRIGHT_ROW_LABELS","k":"variable","len":1,"c":true},{"a":15041,"n":"f_3AC1","k":"table","len":39,"c":true},{"a":15080,"n":"COPYRIGHT_ROW_OFFSETS","k":"variable","len":1,"c":true},{"a":15081,"n":"f_3AE9","k":"table","len":39,"c":true},{"a":15120,"n":"COPYRIGHT_ROW_OFFSET_20","k":"variable","len":2,"c":true},{"a":15122,"n":"COPYRIGHT_RANDOM_BELOW_BOUND","k":"routine","len":14,"c":true},{"a":15125,"n":"b_3B15","k":"branch","len":1,"c":false},{"a":15136,"n":"COPYRIGHT_SELECT_CODE","k":"routine","len":175,"c":true},{"a":15141,"n":"b_3B25","k":"branch","len":1,"c":false},{"a":15219,"n":"b_3B73","k":"branch","len":1,"c":false},{"a":15231,"n":"b_3B7F","k":"branch","len":1,"c":false},{"a":15242,"n":"b_3B8A","k":"branch","len":1,"c":false},{"a":15245,"n":"j_3B8D","k":"branch","len":1,"c":false},{"a":15252,"n":"b_3B94","k":"branch","len":1,"c":false},{"a":15291,"n":"b_3BBB","k":"branch","len":1,"c":false},{"a":15311,"n":"COPYRIGHT_POLL_INPUT","k":"routine","len":49,"c":true},{"a":15360,"n":"COPYRIGHT_ADVANCE_INPUT_SLOT","k":"routine","len":35,"c":true},{"a":15361,"n":"b_3C01","k":"branch","len":1,"c":false},{"a":15395,"n":"COPYRIGHT_COMPARE_ENTERED_CODE","k":"routine","len":23,"c":true},{"a":15397,"n":"b_3C25","k":"branch","len":1,"c":false},{"a":15407,"n":"b_3C2F","k":"branch","len":1,"c":false},{"a":15418,"n":"COPYRIGHT_ACCEPT_CODE","k":"routine","len":20,"c":true},{"a":15427,"n":"b_3C43","k":"branch","len":1,"c":false},{"a":15438,"n":"COPYRIGHT_REJECT_CODE","k":"routine","len":11,"c":true},{"a":15449,"n":"COPYRIGHT_FAILURE_CARTRIDGE_HEADER","k":"table","len":9,"c":true},{"a":15458,"n":"COPYRIGHT_SUCCESS_CARTRIDGE_HEADER","k":"table","len":9,"c":true},{"a":15467,"n":"COPYRIGHT_PERMANENT_FAILURE","k":"routine","len":12,"c":true},{"a":15479,"n":"COPYRIGHT_INSTALL_FAILURE_HEADER","k":"routine","len":12,"c":true},{"a":15481,"n":"b_3C79","k":"branch","len":1,"c":false},{"a":15491,"n":"COPYRIGHT_INSTALL_SUCCESS_HEADER","k":"routine","len":12,"c":true},{"a":15493,"n":"b_3C85","k":"branch","len":1,"c":false},{"a":15503,"n":"COPYRIGHT_LOADING_MESSAGE","k":"table","len":40,"c":true},{"a":15543,"n":"COPYRIGHT_DRAW_LOADING_MESSAGE","k":"routine","len":18,"c":true},{"a":15545,"n":"b_3CB9","k":"branch","len":1,"c":false},{"a":15554,"n":"b_3CC2","k":"branch","len":1,"c":false},{"a":15561,"n":"COPYRIGHT_WAIT_FOR_KEY_RELEASE","k":"routine","len":10,"c":true},{"a":16128,"n":"RETAINED_COPY_B000_TO_2000","k":"routine","len":43,"c":true},{"a":16152,"n":"b_3F18","k":"branch","len":1,"c":false},{"a":16384,"n":"sprite_frame_000","k":"table","len":64,"c":true},{"a":16448,"n":"sprite_frame_001","k":"table","len":64,"c":true},{"a":16512,"n":"sprite_frame_002","k":"table","len":64,"c":true},{"a":16576,"n":"sprite_frame_003","k":"table","len":64,"c":true},{"a":16640,"n":"sprite_frame_004","k":"table","len":64,"c":true},{"a":16704,"n":"sprite_frame_005","k":"table","len":64,"c":true},{"a":16768,"n":"sprite_frame_006","k":"table","len":64,"c":true},{"a":16832,"n":"sprite_frame_007","k":"table","len":64,"c":true},{"a":16896,"n":"sprite_frame_008","k":"table","len":64,"c":true},{"a":16960,"n":"sprite_frame_009","k":"table","len":64,"c":true},{"a":17024,"n":"sprite_frame_010","k":"table","len":64,"c":true},{"a":17088,"n":"sprite_frame_011","k":"table","len":64,"c":true},{"a":17152,"n":"sprite_frame_012","k":"table","len":64,"c":true},{"a":17216,"n":"sprite_frame_013","k":"table","len":64,"c":true},{"a":17280,"n":"sprite_frame_014","k":"table","len":64,"c":true},{"a":17344,"n":"sprite_frame_015","k":"table","len":64,"c":true},{"a":17408,"n":"sprite_frame_016","k":"table","len":64,"c":true},{"a":17472,"n":"sprite_frame_017","k":"table","len":64,"c":true},{"a":17536,"n":"sprite_frame_018","k":"table","len":64,"c":true},{"a":17600,"n":"sprite_frame_019","k":"table","len":64,"c":true},{"a":17664,"n":"sprite_frame_020","k":"table","len":64,"c":true},{"a":17728,"n":"sprite_frame_021","k":"table","len":64,"c":true},{"a":17792,"n":"sprite_frame_022","k":"table","len":64,"c":true},{"a":17856,"n":"sprite_frame_023","k":"table","len":64,"c":true},{"a":17920,"n":"sprite_frame_024","k":"table","len":64,"c":true},{"a":17984,"n":"sprite_frame_025","k":"table","len":64,"c":true},{"a":18048,"n":"sprite_frame_026","k":"table","len":64,"c":true},{"a":18112,"n":"sprite_frame_027","k":"table","len":64,"c":true},{"a":18176,"n":"sprite_frame_028","k":"table","len":64,"c":true},{"a":18240,"n":"sprite_frame_029","k":"table","len":64,"c":true},{"a":18304,"n":"sprite_frame_030","k":"table","len":64,"c":true},{"a":18368,"n":"sprite_frame_031","k":"table","len":64,"c":true},{"a":18432,"n":"sprite_frame_032","k":"table","len":64,"c":true},{"a":18496,"n":"sprite_frame_033","k":"table","len":64,"c":true},{"a":18560,"n":"sprite_frame_034","k":"table","len":64,"c":true},{"a":18624,"n":"sprite_frame_035","k":"table","len":64,"c":true},{"a":18688,"n":"sprite_frame_036","k":"table","len":64,"c":true},{"a":18752,"n":"sprite_frame_037","k":"table","len":64,"c":true},{"a":18816,"n":"sprite_frame_038","k":"table","len":64,"c":true},{"a":18880,"n":"sprite_frame_039","k":"table","len":64,"c":true},{"a":18944,"n":"sprite_frame_040","k":"table","len":64,"c":true},{"a":19008,"n":"sprite_frame_041","k":"table","len":64,"c":true},{"a":19072,"n":"sprite_frame_042","k":"table","len":64,"c":true},{"a":19136,"n":"sprite_frame_043","k":"table","len":64,"c":true},{"a":19200,"n":"sprite_frame_044","k":"table","len":64,"c":true},{"a":19264,"n":"sprite_frame_045","k":"table","len":64,"c":true},{"a":19328,"n":"sprite_frame_046","k":"table","len":64,"c":true},{"a":19392,"n":"sprite_frame_047","k":"table","len":64,"c":true},{"a":19456,"n":"sprite_frame_048","k":"table","len":64,"c":true},{"a":19520,"n":"sprite_frame_049","k":"table","len":64,"c":true},{"a":19584,"n":"sprite_frame_050","k":"table","len":64,"c":true},{"a":19648,"n":"sprite_frame_051","k":"table","len":64,"c":true},{"a":19712,"n":"sprite_frame_052","k":"table","len":64,"c":true},{"a":19776,"n":"sprite_frame_053","k":"table","len":64,"c":true},{"a":19840,"n":"sprite_frame_054","k":"table","len":64,"c":true},{"a":19904,"n":"sprite_frame_055","k":"table","len":64,"c":true},{"a":19968,"n":"sprite_frame_056","k":"table","len":64,"c":true},{"a":20032,"n":"sprite_frame_057","k":"table","len":64,"c":true},{"a":20096,"n":"sprite_frame_058","k":"table","len":64,"c":true},{"a":20160,"n":"sprite_frame_059","k":"table","len":64,"c":true},{"a":20224,"n":"sprite_frame_060","k":"table","len":64,"c":true},{"a":20288,"n":"sprite_frame_061","k":"table","len":64,"c":true},{"a":20352,"n":"sprite_frame_062","k":"table","len":64,"c":true},{"a":20416,"n":"sprite_frame_063","k":"table","len":64,"c":true},{"a":20480,"n":"sprite_frame_064","k":"table","len":64,"c":true},{"a":20544,"n":"sprite_frame_065","k":"table","len":64,"c":true},{"a":20608,"n":"sprite_frame_066","k":"table","len":64,"c":true},{"a":20672,"n":"sprite_frame_067","k":"table","len":64,"c":true},{"a":20736,"n":"sprite_frame_068","k":"table","len":64,"c":true},{"a":20800,"n":"sprite_frame_069","k":"table","len":64,"c":true},{"a":20864,"n":"sprite_frame_070","k":"table","len":64,"c":true},{"a":20928,"n":"sprite_frame_071","k":"table","len":64,"c":true},{"a":20992,"n":"sprite_frame_072","k":"table","len":64,"c":true},{"a":21056,"n":"sprite_frame_073","k":"table","len":64,"c":true},{"a":21120,"n":"sprite_frame_074","k":"table","len":64,"c":true},{"a":21184,"n":"sprite_frame_075","k":"table","len":64,"c":true},{"a":21248,"n":"sprite_frame_076","k":"table","len":64,"c":true},{"a":21312,"n":"sprite_frame_077","k":"table","len":64,"c":true},{"a":21376,"n":"sprite_frame_078","k":"table","len":64,"c":true},{"a":21440,"n":"sprite_frame_079","k":"table","len":64,"c":true},{"a":21504,"n":"sprite_frame_080","k":"table","len":64,"c":true},{"a":21568,"n":"sprite_frame_081","k":"table","len":64,"c":true},{"a":21632,"n":"sprite_frame_082","k":"table","len":64,"c":true},{"a":21696,"n":"sprite_frame_083","k":"table","len":64,"c":true},{"a":21760,"n":"sprite_frame_084","k":"table","len":64,"c":true},{"a":21824,"n":"sprite_frame_085","k":"table","len":64,"c":true},{"a":21888,"n":"sprite_frame_086","k":"table","len":64,"c":true},{"a":21952,"n":"sprite_frame_087","k":"table","len":64,"c":true},{"a":22016,"n":"sprite_frame_088","k":"table","len":64,"c":true},{"a":22080,"n":"sprite_frame_089","k":"table","len":64,"c":true},{"a":22144,"n":"sprite_frame_090","k":"table","len":64,"c":true},{"a":22208,"n":"sprite_frame_091","k":"table","len":64,"c":true},{"a":22272,"n":"sprite_frame_092","k":"table","len":64,"c":true},{"a":22336,"n":"sprite_frame_093","k":"table","len":64,"c":true},{"a":22400,"n":"sprite_frame_094","k":"table","len":64,"c":true},{"a":22464,"n":"sprite_frame_095","k":"table","len":64,"c":true},{"a":22528,"n":"sprite_frame_096","k":"table","len":64,"c":true},{"a":22592,"n":"sprite_frame_097","k":"table","len":64,"c":true},{"a":22656,"n":"sprite_frame_098","k":"table","len":64,"c":true},{"a":22720,"n":"sprite_frame_099","k":"table","len":64,"c":true},{"a":22784,"n":"sprite_frame_100","k":"table","len":64,"c":true},{"a":22848,"n":"sprite_frame_101","k":"table","len":64,"c":true},{"a":22912,"n":"sprite_frame_102","k":"table","len":64,"c":true},{"a":22976,"n":"sprite_frame_103","k":"table","len":64,"c":true},{"a":23040,"n":"sprite_frame_104","k":"table","len":64,"c":true},{"a":23104,"n":"sprite_frame_105","k":"table","len":64,"c":true},{"a":23168,"n":"sprite_frame_106","k":"table","len":64,"c":true},{"a":23232,"n":"sprite_frame_107","k":"table","len":64,"c":true},{"a":23296,"n":"sprite_frame_108","k":"table","len":64,"c":true},{"a":23360,"n":"sprite_frame_109","k":"table","len":64,"c":true},{"a":23424,"n":"sprite_frame_110","k":"table","len":64,"c":true},{"a":23488,"n":"sprite_frame_111","k":"table","len":64,"c":true},{"a":23552,"n":"sprite_frame_112","k":"table","len":64,"c":true},{"a":23616,"n":"sprite_frame_113","k":"table","len":64,"c":true},{"a":23680,"n":"sprite_frame_114","k":"table","len":64,"c":true},{"a":23744,"n":"sprite_frame_115","k":"table","len":64,"c":true},{"a":23808,"n":"sprite_frame_116","k":"table","len":64,"c":true},{"a":23872,"n":"sprite_frame_117","k":"table","len":64,"c":true},{"a":23936,"n":"sprite_frame_118","k":"table","len":64,"c":true},{"a":24000,"n":"sprite_frame_119","k":"table","len":64,"c":true},{"a":24064,"n":"sprite_frame_120","k":"table","len":64,"c":true},{"a":24128,"n":"sprite_frame_121","k":"table","len":64,"c":true},{"a":24192,"n":"sprite_frame_122","k":"table","len":64,"c":true},{"a":24256,"n":"sprite_frame_123","k":"table","len":64,"c":true},{"a":24320,"n":"sprite_frame_124","k":"table","len":64,"c":true},{"a":24384,"n":"sprite_frame_125","k":"table","len":64,"c":true},{"a":24448,"n":"sprite_frame_126","k":"table","len":64,"c":true},{"a":24512,"n":"sprite_frame_127","k":"table","len":64,"c":true},{"a":24576,"n":"sprite_frame_128","k":"table","len":64,"c":true},{"a":24640,"n":"sprite_frame_129","k":"table","len":64,"c":true},{"a":24704,"n":"sprite_frame_130","k":"table","len":64,"c":true},{"a":24768,"n":"sprite_frame_131","k":"table","len":64,"c":true},{"a":24832,"n":"sprite_frame_132","k":"table","len":64,"c":true},{"a":24896,"n":"sprite_frame_133","k":"table","len":64,"c":true},{"a":24960,"n":"sprite_frame_134","k":"table","len":64,"c":true},{"a":25024,"n":"sprite_frame_135","k":"table","len":64,"c":true},{"a":25088,"n":"sprite_frame_136","k":"table","len":64,"c":true},{"a":25152,"n":"sprite_frame_137","k":"table","len":64,"c":true},{"a":25216,"n":"sprite_frame_138","k":"table","len":64,"c":true},{"a":25280,"n":"sprite_frame_139","k":"table","len":64,"c":true},{"a":25344,"n":"sprite_frame_140","k":"table","len":64,"c":true},{"a":25408,"n":"sprite_frame_141","k":"table","len":64,"c":true},{"a":25472,"n":"sprite_frame_142","k":"table","len":64,"c":true},{"a":25536,"n":"sprite_frame_143","k":"table","len":64,"c":true},{"a":25600,"n":"sprite_frame_144","k":"table","len":64,"c":true},{"a":25664,"n":"sprite_frame_145","k":"table","len":64,"c":true},{"a":25728,"n":"sprite_frame_146","k":"table","len":64,"c":true},{"a":25792,"n":"sprite_frame_147","k":"table","len":64,"c":true},{"a":25856,"n":"sprite_frame_148","k":"table","len":64,"c":true},{"a":25920,"n":"sprite_frame_149","k":"table","len":64,"c":true},{"a":25984,"n":"sprite_frame_150","k":"table","len":64,"c":true},{"a":26048,"n":"sprite_frame_151","k":"table","len":64,"c":true},{"a":26112,"n":"sprite_frame_152","k":"table","len":64,"c":true},{"a":26176,"n":"sprite_frame_153","k":"table","len":64,"c":true},{"a":26240,"n":"sprite_frame_154","k":"table","len":64,"c":true},{"a":26304,"n":"sprite_frame_155","k":"table","len":64,"c":true},{"a":26368,"n":"sprite_frame_156","k":"table","len":64,"c":true},{"a":26432,"n":"sprite_frame_157","k":"table","len":64,"c":true},{"a":26496,"n":"sprite_frame_158","k":"table","len":64,"c":true},{"a":26560,"n":"sprite_frame_159","k":"table","len":64,"c":true},{"a":26624,"n":"sprite_frame_160","k":"table","len":64,"c":true},{"a":26688,"n":"sprite_frame_161","k":"table","len":64,"c":true},{"a":26752,"n":"sprite_frame_162","k":"table","len":64,"c":true},{"a":26816,"n":"sprite_frame_163","k":"table","len":64,"c":true},{"a":26880,"n":"sprite_frame_164","k":"table","len":64,"c":true},{"a":26944,"n":"sprite_frame_165","k":"table","len":64,"c":true},{"a":27008,"n":"sprite_frame_166","k":"table","len":64,"c":true},{"a":27072,"n":"sprite_frame_167","k":"table","len":64,"c":true},{"a":27136,"n":"sprite_frame_168","k":"table","len":64,"c":true},{"a":27200,"n":"sprite_frame_169","k":"table","len":64,"c":true},{"a":27264,"n":"sprite_frame_170","k":"table","len":64,"c":true},{"a":27328,"n":"sprite_frame_171","k":"table","len":64,"c":true},{"a":27584,"n":"annotation_6bc0","k":"table","len":64,"c":true},{"a":27648,"n":"TITLE_MUSIC_VOICE_1","k":"table","len":256,"c":true},{"a":27904,"n":"annotation_6d00","k":"table","len":768,"c":true},{"a":28672,"n":"TITLE_MUSIC_VOICE_1_PAGE_4","k":"table","len":256,"c":true},{"a":28928,"n":"TITLE_MUSIC_VOICE_1_PAGE_5","k":"table","len":328,"c":true},{"a":29256,"n":"TITLE_MUSIC_VOICE_2","k":"table","len":264,"c":true},{"a":29520,"n":"TITLE_MUSIC_VOICE_3","k":"table","len":688,"c":true},{"a":30208,"n":"annotation_7600","k":"table","len":512,"c":true},{"a":30720,"n":"JSW_State_game_charset","k":"table","len":8,"c":true},{"a":30728,"n":"annotation_7808","k":"table","len":256,"c":true},{"a":31032,"n":"static_charset_glyphs_39_58","k":"table","len":160,"c":true},{"a":31200,"n":"static_charset_glyphs_60_127","k":"table","len":544,"c":true},{"a":32768,"n":"annotation_8000","k":"table","len":256,"c":true},{"a":33024,"n":"ROPE_POSITION_00_SEGMENT_0","k":"table","len":64,"c":true},{"a":33088,"n":"ROPE_POSITION_00_SEGMENT_1","k":"table","len":64,"c":true},{"a":33152,"n":"ROPE_POSITION_00_SEGMENT_2","k":"table","len":64,"c":true},{"a":33216,"n":"ROPE_POSITION_01_SEGMENT_0","k":"table","len":64,"c":true},{"a":33280,"n":"ROPE_POSITION_01_SEGMENT_1","k":"table","len":64,"c":true},{"a":33344,"n":"ROPE_POSITION_01_SEGMENT_2","k":"table","len":64,"c":true},{"a":33408,"n":"ROPE_POSITION_02_SEGMENT_0","k":"table","len":64,"c":true},{"a":33472,"n":"ROPE_POSITION_02_SEGMENT_1","k":"table","len":64,"c":true},{"a":33536,"n":"ROPE_POSITION_02_SEGMENT_2","k":"table","len":64,"c":true},{"a":33600,"n":"ROPE_POSITION_03_SEGMENT_0","k":"table","len":64,"c":true},{"a":33664,"n":"ROPE_POSITION_03_SEGMENT_1","k":"table","len":64,"c":true},{"a":33728,"n":"ROPE_POSITION_03_SEGMENT_2","k":"table","len":64,"c":true},{"a":33792,"n":"ROPE_POSITION_04_SEGMENT_0","k":"table","len":64,"c":true},{"a":33856,"n":"ROPE_POSITION_04_SEGMENT_1","k":"table","len":64,"c":true},{"a":33920,"n":"ROPE_POSITION_04_SEGMENT_2","k":"table","len":64,"c":true},{"a":33984,"n":"ROPE_POSITION_05_SEGMENT_0","k":"table","len":64,"c":true},{"a":34048,"n":"ROPE_POSITION_05_SEGMENT_1","k":"table","len":64,"c":true},{"a":34112,"n":"ROPE_POSITION_05_SEGMENT_2","k":"table","len":64,"c":true},{"a":34176,"n":"ROPE_POSITION_06_SEGMENT_0","k":"table","len":64,"c":true},{"a":34240,"n":"ROPE_POSITION_06_SEGMENT_1","k":"table","len":64,"c":true},{"a":34304,"n":"ROPE_POSITION_06_SEGMENT_2","k":"table","len":64,"c":true},{"a":34368,"n":"ROPE_POSITION_07_SEGMENT_0","k":"table","len":64,"c":true},{"a":34432,"n":"ROPE_POSITION_07_SEGMENT_1","k":"table","len":64,"c":true},{"a":34496,"n":"ROPE_POSITION_07_SEGMENT_2","k":"table","len":64,"c":true},{"a":34560,"n":"ROPE_POSITION_08_SEGMENT_0","k":"table","len":64,"c":true},{"a":34624,"n":"ROPE_POSITION_08_SEGMENT_1","k":"table","len":64,"c":true},{"a":34688,"n":"ROPE_POSITION_08_SEGMENT_2","k":"table","len":64,"c":true},{"a":34752,"n":"ROPE_POSITION_09_SEGMENT_0","k":"table","len":64,"c":true},{"a":34816,"n":"ROPE_POSITION_09_SEGMENT_1","k":"table","len":64,"c":true},{"a":34880,"n":"ROPE_POSITION_09_SEGMENT_2","k":"table","len":64,"c":true},{"a":34944,"n":"ROPE_POSITION_10_SEGMENT_0","k":"table","len":64,"c":true},{"a":35008,"n":"ROPE_POSITION_10_SEGMENT_1","k":"table","len":64,"c":true},{"a":35072,"n":"ROPE_POSITION_10_SEGMENT_2","k":"table","len":64,"c":true},{"a":35136,"n":"ROPE_POSITION_11_SEGMENT_0","k":"table","len":64,"c":true},{"a":35200,"n":"ROPE_POSITION_11_SEGMENT_1","k":"table","len":64,"c":true},{"a":35264,"n":"ROPE_POSITION_11_SEGMENT_2","k":"table","len":64,"c":true},{"a":35328,"n":"ROPE_POSITION_12_SEGMENT_0","k":"table","len":64,"c":true},{"a":35392,"n":"ROPE_POSITION_12_SEGMENT_1","k":"table","len":64,"c":true},{"a":35456,"n":"ROPE_POSITION_12_SEGMENT_2","k":"table","len":64,"c":true},{"a":35520,"n":"ROPE_POSITION_13_SEGMENT_0","k":"table","len":64,"c":true},{"a":35584,"n":"ROPE_POSITION_13_SEGMENT_1","k":"table","len":64,"c":true},{"a":35648,"n":"ROPE_POSITION_13_SEGMENT_2","k":"table","len":64,"c":true},{"a":35712,"n":"ROPE_POSITION_14_SEGMENT_0","k":"table","len":64,"c":true},{"a":35776,"n":"ROPE_POSITION_14_SEGMENT_1","k":"table","len":64,"c":true},{"a":35840,"n":"ROPE_POSITION_14_SEGMENT_2","k":"table","len":64,"c":true},{"a":35904,"n":"ROPE_POSITION_15_SEGMENT_0","k":"table","len":64,"c":true},{"a":35968,"n":"ROPE_POSITION_15_SEGMENT_1","k":"table","len":64,"c":true},{"a":36032,"n":"ROPE_POSITION_15_SEGMENT_2","k":"table","len":64,"c":true},{"a":36096,"n":"ROPE_POSITION_16_SEGMENT_0","k":"table","len":64,"c":true},{"a":36160,"n":"ROPE_POSITION_16_SEGMENT_1","k":"table","len":64,"c":true},{"a":36224,"n":"ROPE_POSITION_16_SEGMENT_2","k":"table","len":64,"c":true},{"a":36288,"n":"ROPE_POSITION_17_SEGMENT_0","k":"table","len":64,"c":true},{"a":36352,"n":"ROPE_POSITION_17_SEGMENT_1","k":"table","len":64,"c":true},{"a":36416,"n":"ROPE_POSITION_17_SEGMENT_2","k":"table","len":64,"c":true},{"a":36480,"n":"ROPE_POSITION_18_SEGMENT_0","k":"table","len":64,"c":true},{"a":36544,"n":"ROPE_POSITION_18_SEGMENT_1","k":"table","len":64,"c":true},{"a":36608,"n":"ROPE_POSITION_18_SEGMENT_2","k":"table","len":64,"c":true},{"a":36672,"n":"ROPE_POSITION_19_SEGMENT_0","k":"table","len":64,"c":true},{"a":36736,"n":"ROPE_POSITION_19_SEGMENT_1","k":"table","len":64,"c":true},{"a":36800,"n":"ROPE_POSITION_19_SEGMENT_2","k":"table","len":64,"c":true},{"a":36864,"n":"ROPE_POSITION_20_SEGMENT_0","k":"table","len":64,"c":true},{"a":36928,"n":"ROPE_POSITION_20_SEGMENT_1","k":"table","len":64,"c":true},{"a":36992,"n":"ROPE_POSITION_20_SEGMENT_2","k":"table","len":64,"c":true},{"a":37056,"n":"ROPE_POSITION_21_SEGMENT_0","k":"table","len":64,"c":true},{"a":37120,"n":"ROPE_POSITION_21_SEGMENT_1","k":"table","len":64,"c":true},{"a":37184,"n":"ROPE_POSITION_21_SEGMENT_2","k":"table","len":64,"c":true},{"a":37248,"n":"ROPE_POSITION_22_SEGMENT_0","k":"table","len":64,"c":true},{"a":37312,"n":"ROPE_POSITION_22_SEGMENT_1","k":"table","len":64,"c":true},{"a":37376,"n":"ROPE_POSITION_22_SEGMENT_2","k":"table","len":64,"c":true},{"a":37440,"n":"ROPE_POSITION_23_SEGMENT_0","k":"table","len":64,"c":true},{"a":37504,"n":"ROPE_POSITION_23_SEGMENT_1","k":"table","len":64,"c":true},{"a":37568,"n":"ROPE_POSITION_23_SEGMENT_2","k":"table","len":64,"c":true},{"a":37632,"n":"ROPE_POSITION_24_SEGMENT_0","k":"table","len":64,"c":true},{"a":37696,"n":"ROPE_POSITION_24_SEGMENT_1","k":"table","len":64,"c":true},{"a":37760,"n":"ROPE_POSITION_24_SEGMENT_2","k":"table","len":64,"c":true},{"a":37824,"n":"ROPE_POSITION_25_SEGMENT_0","k":"table","len":64,"c":true},{"a":37888,"n":"ROPE_POSITION_25_SEGMENT_1","k":"table","len":64,"c":true},{"a":37952,"n":"ROPE_POSITION_25_SEGMENT_2","k":"table","len":64,"c":true},{"a":38016,"n":"ROPE_POSITION_26_SEGMENT_0","k":"table","len":64,"c":true},{"a":38080,"n":"ROPE_POSITION_26_SEGMENT_1","k":"table","len":64,"c":true},{"a":38144,"n":"ROPE_POSITION_26_SEGMENT_2","k":"table","len":64,"c":true},{"a":38208,"n":"ROPE_POSITION_27_SEGMENT_0","k":"table","len":64,"c":true},{"a":38272,"n":"ROPE_POSITION_27_SEGMENT_1","k":"table","len":64,"c":true},{"a":38336,"n":"ROPE_POSITION_27_SEGMENT_2","k":"table","len":64,"c":true},{"a":38400,"n":"ROPE_POSITION_28_SEGMENT_0","k":"table","len":64,"c":true},{"a":38464,"n":"ROPE_POSITION_28_SEGMENT_1","k":"table","len":64,"c":true},{"a":38528,"n":"ROPE_POSITION_28_SEGMENT_2","k":"table","len":64,"c":true},{"a":38592,"n":"ROPE_POSITION_29_SEGMENT_0","k":"table","len":64,"c":true},{"a":38656,"n":"ROPE_POSITION_29_SEGMENT_1","k":"table","len":64,"c":true},{"a":38720,"n":"ROPE_POSITION_29_SEGMENT_2","k":"table","len":64,"c":true},{"a":38784,"n":"ROPE_POSITION_30_SEGMENT_0","k":"table","len":64,"c":true},{"a":38848,"n":"ROPE_POSITION_30_SEGMENT_1","k":"table","len":64,"c":true},{"a":38912,"n":"ROPE_POSITION_30_SEGMENT_2","k":"table","len":64,"c":true},{"a":38976,"n":"ROPE_POSITION_31_SEGMENT_0","k":"table","len":64,"c":true},{"a":39040,"n":"ROPE_POSITION_31_SEGMENT_1","k":"table","len":64,"c":true},{"a":39104,"n":"ROPE_POSITION_31_SEGMENT_2","k":"table","len":64,"c":true},{"a":39168,"n":"ROPE_POSITION_32_SEGMENT_0","k":"table","len":64,"c":true},{"a":39232,"n":"ROPE_POSITION_32_SEGMENT_1","k":"table","len":64,"c":true},{"a":39296,"n":"ROPE_POSITION_32_SEGMENT_2","k":"table","len":64,"c":true},{"a":39360,"n":"ROPE_POSITION_33_SEGMENT_0","k":"table","len":64,"c":true},{"a":39424,"n":"ROPE_POSITION_33_SEGMENT_1","k":"table","len":64,"c":true},{"a":39488,"n":"ROPE_POSITION_33_SEGMENT_2","k":"table","len":64,"c":true},{"a":39552,"n":"JSW_State_embedded_source_fragment","k":"variable","len":1,"c":true},{"a":39553,"n":"annotation_9a81","k":"table","len":383,"c":true},{"a":39936,"n":"JSW_State_game_music_streams","k":"table","len":256,"c":true},{"a":40192,"n":"annotation_9d00","k":"table","len":512,"c":true},{"a":40704,"n":"annotation_9f00","k":"table","len":170,"c":true},{"a":40874,"n":"annotation_9faa","k":"table","len":86,"c":true},{"a":40960,"n":"JSW_Title_title_entry","k":"routine","len":3,"c":true},{"a":40963,"n":"title_keyboard_matrix_rows","k":"variable","len":1,"c":true},{"a":40964,"n":"annotation_a004","k":"table","len":7,"c":true},{"a":40971,"n":"annotation_a00b","k":"table","len":56,"c":true},{"a":41027,"n":"title_key_decode_table","k":"variable","len":1,"c":true},{"a":41028,"n":"annotation_a044","k":"table","len":63,"c":true},{"a":41091,"n":"JSW_Title_scan_title_keyboard","k":"routine","len":74,"c":true},{"a":41100,"n":"loc_a08c","k":"branch","len":1,"c":false},{"a":41119,"n":"loc_a09f","k":"branch","len":1,"c":false},{"a":41124,"n":"loc_a0a4","k":"branch","len":1,"c":false},{"a":41154,"n":"loc_a0c2","k":"branch","len":1,"c":false},{"a":41164,"n":"loc_a0cc","k":"branch","len":1,"c":false},{"a":41165,"n":"JSW_Title_initialize_title_music","k":"routine","len":108,"c":true},{"a":41273,"n":"JSW_Title_tick_title_music","k":"routine","len":22,"c":true},{"a":41280,"n":"loc_a140","k":"branch","len":1,"c":false},{"a":41287,"n":"loc_a147","k":"branch","len":1,"c":false},{"a":41294,"n":"loc_a14e","k":"branch","len":1,"c":false},{"a":41295,"n":"JSW_Title_read_title_music_voice1","k":"routine","len":66,"c":true},{"a":41318,"n":"loc_a166","k":"branch","len":1,"c":false},{"a":41337,"n":"loc_a179","k":"branch","len":1,"c":false},{"a":41351,"n":"loc_a187","k":"branch","len":1,"c":false},{"a":41361,"n":"JSW_Title_read_title_music_voice2","k":"routine","len":52,"c":true},{"a":41380,"n":"loc_a1a4","k":"branch","len":1,"c":false},{"a":41399,"n":"loc_a1b7","k":"branch","len":1,"c":false},{"a":41413,"n":"JSW_Title_read_title_music_voice3","k":"routine","len":52,"c":true},{"a":41432,"n":"loc_a1d8","k":"branch","len":1,"c":false},{"a":41451,"n":"loc_a1eb","k":"branch","len":1,"c":false},{"a":41465,"n":"JSW_Title_silence_title_sid_voice","k":"routine","len":14,"c":true},{"a":41479,"n":"JSW_State_title_note_frequency_table","k":"variable","len":1,"c":true},{"a":41480,"n":"f_A208","k":"variable","len":1,"c":true},{"a":41481,"n":"annotation_a209","k":"table","len":190,"c":true},{"a":41671,"n":"TITLE_TICKER_TEXT","k":"variable","len":1,"c":true},{"a":41672,"n":"annotation_a2c8","k":"table","len":1023,"c":true},{"a":42695,"n":"TITLE_TICKER_TEXT_CONTINUATION","k":"table","len":85,"c":true},{"a":42780,"n":"TITLE_TICKER_WRAP_SPACES","k":"table","len":40,"c":true},{"a":42820,"n":"JSW_Title_initialize_title","k":"routine","len":143,"c":true},{"a":42883,"n":"loc_a783","k":"branch","len":1,"c":false},{"a":42963,"n":"JSW_Title_title_main_loop","k":"routine","len":46,"c":true},{"a":42976,"n":"loc_a7e0","k":"branch","len":1,"c":false},{"a":42990,"n":"loc_a7ee","k":"branch","len":1,"c":false},{"a":42997,"n":"loc_a7f5","k":"branch","len":1,"c":false},{"a":43009,"n":"JSW_Title_title_raster_irq","k":"routine","len":142,"c":true},{"a":43058,"n":"loc_a832","k":"branch","len":1,"c":false},{"a":43078,"n":"loc_a846","k":"branch","len":1,"c":false},{"a":43084,"n":"loc_a84c","k":"branch","len":1,"c":false},{"a":43107,"n":"loc_a863","k":"branch","len":1,"c":false},{"a":43109,"n":"loc_a865","k":"branch","len":1,"c":false},{"a":43117,"n":"loc_a86d","k":"branch","len":1,"c":false},{"a":43138,"n":"loc_a882","k":"branch","len":1,"c":false},{"a":43151,"n":"JSW_Title_fill_title_color_rows","k":"routine","len":25,"c":true},{"a":43163,"n":"loc_a89b","k":"branch","len":1,"c":false},{"a":43176,"n":"JSW_State_title_color_pair","k":"variable","len":1,"c":true},{"a":43177,"n":"annotation_a8a9","k":"variable","len":1,"c":true},{"a":43178,"n":"JSW_Title_clear_and_copy_title_screen","k":"routine","len":47,"c":true},{"a":43182,"n":"loc_a8ae","k":"branch","len":1,"c":false},{"a":43204,"n":"loc_a8c4","k":"branch","len":1,"c":false},{"a":43213,"n":"loc_a8cd","k":"branch","len":1,"c":false},{"a":43225,"n":"JSW_State_title_screen_layout","k":"variable","len":1,"c":true},{"a":43226,"n":"annotation_a8da","k":"table","len":255,"c":true},{"a":43481,"n":"title_screen_layout_page_1","k":"table","len":176,"c":true},{"a":43657,"n":"JSW_Title_clear_sid_registers","k":"routine","len":12,"c":true},{"a":43660,"n":"loc_aa8c","k":"branch","len":1,"c":false},{"a":43669,"n":"annotation_aa95","k":"table","len":1024,"c":true},{"a":45056,"n":"room_00_the_off_licence","k":"table","len":256,"c":true},{"a":45312,"n":"room_01_the_bridge","k":"table","len":256,"c":true},{"a":45568,"n":"room_02_under_the_megatree","k":"table","len":256,"c":true},{"a":45824,"n":"room_03_at_the_foot_of_the_megatree","k":"table","len":256,"c":true},{"a":46080,"n":"room_04_the_drive","k":"table","len":256,"c":true},{"a":46336,"n":"room_05_the_security_guard","k":"table","len":256,"c":true},{"a":46592,"n":"room_06_entrance_to_hades","k":"table","len":256,"c":true},{"a":46848,"n":"room_07_cuckoo_s_nest","k":"table","len":256,"c":true},{"a":47104,"n":"room_08_inside_the_megatrunk","k":"table","len":256,"c":true},{"a":47360,"n":"room_09_on_a_branch_over_the_drive","k":"table","len":256,"c":true},{"a":47616,"n":"room_10_the_front_door","k":"table","len":256,"c":true},{"a":47872,"n":"room_11_the_hall","k":"table","len":256,"c":true},{"a":48128,"n":"room_12_tree_top","k":"table","len":256,"c":true},{"a":48384,"n":"room_13_out_on_a_limb","k":"table","len":256,"c":true},{"a":48640,"n":"room_14_rescue_esmerelda","k":"table","len":256,"c":true},{"a":48896,"n":"room_15_i_m_sure_i_ve_seen_this_before","k":"table","len":256,"c":true},{"a":49152,"n":"room_16_we_must_perform_a_quirkafleeg","k":"table","len":256,"c":true},{"a":49408,"n":"room_17_up_on_the_battlements","k":"table","len":256,"c":true},{"a":49664,"n":"room_18_on_the_roof","k":"table","len":256,"c":true},{"a":49920,"n":"room_19_the_forgotten_abbey","k":"table","len":256,"c":true},{"a":50176,"n":"room_20_ballroom_east","k":"table","len":256,"c":true},{"a":50432,"n":"room_21_ballroom_west","k":"table","len":256,"c":true},{"a":50688,"n":"room_22_to_the_kitchens_main_stairway","k":"table","len":256,"c":true},{"a":50944,"n":"room_23_the_kitchen","k":"table","len":256,"c":true},{"a":51200,"n":"room_24_west_of_kitchen","k":"table","len":256,"c":true},{"a":51456,"n":"room_25_cold_store","k":"table","len":256,"c":true},{"a":51712,"n":"room_26_east_wall_base","k":"table","len":256,"c":true},{"a":51968,"n":"room_27_the_chapel","k":"table","len":256,"c":true},{"a":52224,"n":"room_28_first_landing","k":"table","len":256,"c":true},{"a":52480,"n":"room_29_the_nightmare_room","k":"table","len":256,"c":true},{"a":52736,"n":"annotation_ce00","k":"table","len":256,"c":true},{"a":53248,"n":"RETAINED_BOOTSTRAP_PREFIX_WORD","k":"variable","len":2,"c":true},{"a":53250,"n":"BOOTSTRAP_RELOCATE_COPY_ROUTINE","k":"routine","len":19,"c":true},{"a":53269,"n":"BOOTSTRAP_HIGH_ROOM_COPY_BODY","k":"routine","len":29,"c":true},{"a":53298,"n":"BOOTSTRAP_ENTER_TITLE","k":"routine","len":8,"c":true},{"a":53504,"n":"INITIAL_HIGH_ROOM_30","k":"table","len":256,"c":true},{"a":53760,"n":"INITIAL_HIGH_ROOM_31","k":"table","len":256,"c":true},{"a":54016,"n":"INITIAL_HIGH_ROOM_32","k":"table","len":256,"c":true},{"a":54272,"n":"INITIAL_HIGH_ROOM_33","k":"table","len":256,"c":true},{"a":54528,"n":"INITIAL_HIGH_ROOM_34","k":"table","len":256,"c":true},{"a":54784,"n":"INITIAL_HIGH_ROOM_35","k":"table","len":256,"c":true},{"a":55040,"n":"INITIAL_HIGH_ROOM_36","k":"table","len":256,"c":true},{"a":55296,"n":"INITIAL_HIGH_ROOM_37","k":"table","len":256,"c":true},{"a":55552,"n":"INITIAL_HIGH_ROOM_38","k":"table","len":256,"c":true},{"a":55808,"n":"INITIAL_HIGH_ROOM_39","k":"table","len":172,"c":true},{"a":55980,"n":"f_DAAC","k":"table","len":64,"c":true},{"a":56056,"n":"f_DAF8","k":"table","len":8,"c":true},{"a":56064,"n":"INITIAL_HIGH_ROOM_40","k":"table","len":112,"c":true},{"a":56176,"n":"f_DB70","k":"variable","len":1,"c":true},{"a":56177,"n":"f_DB71","k":"table","len":39,"c":true},{"a":56216,"n":"f_DB98","k":"variable","len":1,"c":true},{"a":56217,"n":"f_DB99","k":"table","len":55,"c":true},{"a":56272,"n":"INITIAL_ROOM_40_PARAMETERS","k":"table","len":48,"c":true},{"a":56320,"n":"INITIAL_HIGH_ROOM_41","k":"table","len":256,"c":true},{"a":56576,"n":"INITIAL_HIGH_ROOM_42","k":"table","len":256,"c":true},{"a":56832,"n":"INITIAL_HIGH_ROOM_43","k":"table","len":256,"c":true},{"a":57088,"n":"INITIAL_HIGH_ROOM_44","k":"table","len":256,"c":true},{"a":57344,"n":"room_30_the_banyan_tree","k":"table","len":256,"c":true},{"a":57600,"n":"room_31_swimming_pool","k":"table","len":256,"c":true},{"a":57856,"n":"room_32_halfway_up_the_east_wall","k":"table","len":256,"c":true},{"a":58112,"n":"room_33_the_bathroom","k":"table","len":256,"c":true},{"a":58368,"n":"room_34_top_landing","k":"table","len":256,"c":true},{"a":58624,"n":"room_35_master_bedroom","k":"table","len":256,"c":true},{"a":58880,"n":"room_36_a_bit_of_tree","k":"table","len":256,"c":true},{"a":59136,"n":"room_37_orangery","k":"table","len":256,"c":true},{"a":59392,"n":"room_38_priests_hole","k":"table","len":256,"c":true},{"a":59648,"n":"room_39_emergency_generator","k":"table","len":256,"c":true},{"a":59904,"n":"room_40_dr_jones_will_never_believe_this","k":"table","len":256,"c":true},{"a":60160,"n":"room_41_the_attic","k":"table","len":256,"c":true},{"a":60416,"n":"room_42_under_the_roof","k":"table","len":256,"c":true},{"a":60672,"n":"room_43_conservatory_roof","k":"table","len":256,"c":true},{"a":60928,"n":"room_44_on_top_of_the_house","k":"table","len":256,"c":true},{"a":61184,"n":"room_45_under_the_drive","k":"table","len":256,"c":true},{"a":61440,"n":"room_46_tree_root","k":"table","len":256,"c":true},{"a":61696,"n":"room_47_nomen_luni","k":"table","len":256,"c":true},{"a":61952,"n":"room_48_the_wine_cellar","k":"table","len":256,"c":true},{"a":62208,"n":"room_49_watch_tower","k":"table","len":256,"c":true},{"a":62464,"n":"room_50_tool_shed","k":"table","len":256,"c":true},{"a":62720,"n":"room_51_back_stairway","k":"table","len":256,"c":true},{"a":62976,"n":"room_52_back_door","k":"table","len":256,"c":true},{"a":63232,"n":"room_53_west_wing","k":"table","len":256,"c":true},{"a":63488,"n":"room_54_west_bedroom","k":"table","len":256,"c":true},{"a":63744,"n":"room_55_west_wing_roof","k":"table","len":256,"c":true},{"a":64000,"n":"room_56_above_the_west_bedroom","k":"table","len":256,"c":true},{"a":64256,"n":"room_57_the_beach","k":"table","len":256,"c":true},{"a":64512,"n":"room_58_the_yacht","k":"table","len":256,"c":true},{"a":64768,"n":"room_59_the_bow","k":"table","len":512,"c":true},{"a":65280,"n":"RETAINED_COPY_B000_TO_E000","k":"routine","len":44,"c":true},{"a":65303,"n":"b_FF17","k":"branch","len":1,"c":false}],"records":[{"a":0,"t":"gap","n":2048,"x":[53288]},{"a":0,"t":"note","l":"C64_CPU_PROCESSOR_PORT_DIRECTION","c":"6510 zero page, hardware stack, KERNAL workspace, vectors, and game scheduler/player state as captured at the title. Game-owned fields are labeled individually; many bytes are mutable runtime state.","note":"outside the tracked image","x":[53288]},{"a":1,"t":"note","l":"C64_CPU_PROCESSOR_PORT","note":"outside the tracked image","x":[4000,4004,11382,11885,11897,13463,13534,16130,16168,53300,65280,65284,65317,65321]},{"a":7,"t":"note","l":"JSW_State_zp_work_low","c":"Shared low-byte work location; gameplay collection sound uses it as a swept SID voice-3 frequency low byte, while other routines reuse it as a pointer/value temporary.","note":"outside the tracked image","x":[5641,5677,5695,5840,5854,5882,5893,5895,5905,7018,7030,7055,7062,7278,7333,11411,12111,12202,12209,12213,12433,12443,13175,13181,13752,13773,13811,13829,14422,14601,14617,14627,14784,14804,15168,15184,15186,15194,15198,15203,15208,15219,16142,16152]},{"a":8,"t":"note","l":"JSW_State_zp_work_high","c":"Shared high-byte work location; gameplay collection sound uses it as swept SID frequency high byte, and many routines reuse $07/$08 as a pointer.","note":"outside the tracked image","x":[5646,5684,5845,5866,5874,5877,5884,5888,5899,5901,7304,7316,7319,7322,7325,7328,7337,7339,12098,12215,12219,12417,12422,12425,12428,12435,12439,13158,13179,13186,13191,13740,13761,13798,13820,14605,14622,14631,14633,14771,14793,15173,15188,15192,15196,15200,15210,15215,16146,16159]},{"a":9,"t":"note","l":"gameplay_color_ram_pointer_low","c":"Low byte of the gameplay color-RAM destination pointer; $000A supplies its high byte in gameplay.","note":"outside the tracked image","x":[12115,12206,12222,12226,13754,13777,13813,14426,14786,14808,16134,16154]},{"a":10,"t":"note","l":"shared_color_pointer_high_or_title_voice1_pointer_low","c":"Phase-shared: gameplay color-RAM pointer high byte; title SID voice-1 stream pointer low byte.","note":"outside the tracked image","x":[12228,12232,13766,13825,14798,16138,16161,41167,41297,41306,41338,41342]},{"a":11,"t":"note","l":"shared_game_stride_or_title_voice1_pointer_high","c":"Phase-shared: gameplay horizontal stride/offset scratch; title SID voice-1 stream pointer high byte.","note":"outside the tracked image","x":[12128,12167,12211,12224,41171,41344,41348]},{"a":12,"t":"note","l":"shared_game_scratch_or_title_voice2_pointer_low","c":"Phase-shared gameplay scratch/count byte and title SID voice-2 stream pointer low byte.","note":"outside the tracked image","x":[12012,12247,12289,12295,12309,12315,12411,13793,13853,13895,13897,13952,13954,41175,41363,41368,41400,41404]},{"a":13,"t":"note","l":"shared_game_scratch_or_title_voice2_pointer_high","c":"Phase-shared gameplay scratch/count byte and title SID voice-2 stream pointer high byte.","note":"outside the tracked image","x":[12094,12118,12185,12196,41179,41406,41410]},{"a":14,"t":"note","l":"JSW_State_current_room_or_title_voice3_pointer_low","c":"Phase-shared: current gameplay room number 0-59; title SID voice-3 stream pointer low byte.","note":"outside the tracked image","x":[4346,4402,4664,4732,5050,5098,5158,5263,5356,5655,6932,11458,11718,11861,11916,12419,12513,12639,12878,12937,13211,14681,14750,41183,41415,41420,41452,41456]},{"a":15,"t":"note","l":"JSW_State_working_tile_row_or_title_voice3_pointer_high","c":"Phase-shared: gameplay collision-probe tile row; title SID voice-3 stream pointer high byte.","note":"outside the tracked image","x":[4181,4189,4197,4206,4370,4378,4466,4474,5064,5078,5228,5242,5778,6980,12007,12040,12357,12371,14411,14415,14428,14430,14438,41187,41458,41462]},{"a":16,"t":"note","l":"ramp_tile_override_flag","c":"Set when ramp metadata requests the alternate tile code used while drawing or probing the ramp.","note":"outside the tracked image","x":[12124,12140,13837]},{"a":17,"t":"note","l":"JSW_State_ramp_direction","c":"Signed room ramp direction established while drawing the ramp.","note":"outside the tracked image","x":[4500,5333,12145,12171]},{"a":18,"t":"note","l":"jsw_ramp_bit6_write_only_latch","c":"Write-only latch set to $FF when room ramp length/direction byte bit 6 is set. The active captured program contains no read of $0012, so bit 6 has no gameplay effect beyond recording this condition.","note":"outside the tracked image","x":[12180]},{"a":19,"t":"note","l":"JSW_State_conveyor_direction","c":"Signed room conveyor direction: $FF left, 1 right.","note":"outside the tracked image","x":[5415,5427,5496,5521,5552,5567,5592,12074,12088,12090,12521]},{"a":20,"t":"note","l":"horizontal_coordinate_scratch","c":"Shared horizontal-coordinate scratch used by room rendering and item drawing.","note":"outside the tracked image","x":[12349,12379,13800,13809,14773,14782]},{"a":21,"t":"note","l":"conveyor_color","c":"Color copied from the room record and applied to conveyor tiles.","note":"outside the tracked image","x":[11967,12113]},{"a":22,"t":"note","l":"item_or_arrow_record_pointer_low","c":"Low byte of the phase-shared item or arrow record pointer.","note":"outside the tracked image","x":[5634,5653,5661,5667,5671,5701,5728,5730,11420,11432,11435,11439,12627,12635,12646,12657,12662,12705,12709,12721,12732,12736,12749,12755,12759,12782,12785,12798,12805,12809,12859,12863,14740,14748,14756,14762,14766,14811,14815]},{"a":23,"t":"note","l":"item_or_arrow_record_pointer_high","c":"High byte of the phase-shared item or arrow record pointer.","note":"outside the tracked image","x":[5639,5734,5736,11424,11441,11445,12631,12865,12869,14744,14817,14821]},{"a":24,"t":"note","l":"item_or_arrow_record_index","c":"Index/count while walking item or arrow records.","note":"outside the tracked image","x":[5629,5738,5740,12623,12871,14736,14825,14827]},{"a":25,"t":"note","l":"item_animation_color_phase","c":"Animation and color phase used while redrawing collectable items.","note":"outside the tracked image","x":[14732,14806,14823]},{"a":26,"t":"note","l":"JSW_State_arrow_update_divider","c":"Main-loop arrow scheduler, reloaded with 8.","note":"outside the tracked image","x":[12060,12610,12619]},{"a":27,"t":"note","l":"JSW_State_special_animation_phase","c":"Shared Bathroom toilet and Maria animation phase.","note":"outside the tracked image","x":[12897,12899,12980,12982]},{"a":28,"t":"note","l":"JSW_State_player_y","c":"Willy vertical pixel coordinate relative to the room.","note":"outside the tracked image","x":[4260,4264,4603,4607,4613,4618,4625,4689,4698,4703,4724,4969,4984,4986,5042,5046,5072,5090,5131,5146,5148,5160,5164,5236,5255,5346,5350,5392,5394,5437,5441,5773,7057,7276,11470,11736,11747,11912,12971,13686,14677]},{"a":29,"t":"note","l":"JSW_State_previous_exit_up","c":"Previous room up exit copied from room offset $DC.","note":"outside the tracked image","x":[4730,5096,5261,5354,6930,11720,12067]},{"a":30,"t":"note","l":"JSW_State_previous_exit_down","c":"Previous room down exit copied from room offset $DD.","note":"outside the tracked image","x":[4662,11741]},{"a":31,"t":"note","l":"JSW_State_previous_exit_left","c":"Previous room left exit copied from room offset $DE.","note":"outside the tracked image","x":[4400,5156,11771]},{"a":32,"t":"note","l":"JSW_State_previous_exit_right","c":"Previous room right exit copied from room offset $DF.","note":"outside the tracked image","x":[4344,5048,11756]},{"a":33,"t":"note","l":"glyph_rotation_target_pointer_low","c":"Low byte of the character-glyph destination pointer used by glyph rotation.","note":"outside the tracked image","x":[13478,13480,13487,13505,13507,13514]},{"a":34,"t":"note","l":"glyph_rotation_target_pointer_high","c":"High byte of the character-glyph destination pointer used by glyph rotation.","note":"outside the tracked image","x":[13472,13499]},{"a":35,"t":"note","l":"room_tile_color_0","c":"First of four current-room tile colors copied from the room record.","note":"outside the tracked image","x":[11944,13775]},{"a":36,"t":"note","l":"room_tile_color_1","c":"Second of four current-room tile colors copied from the room record.","note":"outside the tracked image","x":[11952]},{"a":37,"t":"note","l":"room_tile_color_2","c":"Third of four current-room tile colors copied from the room record.","note":"outside the tracked image","x":[11957]},{"a":38,"t":"note","l":"room_tile_color_3","c":"Fourth of four current-room tile colors copied from the room record.","note":"outside the tracked image","x":[11962,12204]},{"a":39,"t":"note","l":"room_record_source_pointer_low","c":"Low byte of the canonical 256-byte room-record source pointer.","note":"outside the tracked image","x":[11879,11887,13523]},{"a":40,"t":"note","l":"room_record_source_pointer_high","c":"High byte of the canonical 256-byte room-record source pointer.","note":"outside the tracked image","x":[11875]},{"a":41,"t":"note","l":"annotation_0029","note":"outside the tracked image"},{"a":43,"t":"note","l":"guardian_definition_source_pointer_low","c":"Low byte of the guardian-definition source pointer derived from room metadata.","note":"outside the tracked image","x":[12268,12280]},{"a":44,"t":"note","l":"guardian_definition_source_pointer_high","c":"High byte of the guardian-definition source pointer derived from room metadata.","note":"outside the tracked image","x":[12251,12257,12260,12263,12270,12274]},{"a":45,"t":"note","l":"JSW_State_room_guardian_count","c":"Number of active guardian records in the current room, maximum seven.","note":"outside the tracked image","x":[12240,12293,12313,13020]},{"a":46,"t":"note","l":"guardian_record_byte_offset","c":"Byte offset within the active guardian-record arrays.","note":"outside the tracked image","x":[13034,13050,13857,13909,13921,13968,13996,14023,14065,14116,14130,14167,14185,14215]},{"a":47,"t":"note","l":"guardian_slot_index","c":"Guardian slot index while copying, updating, or rendering guardians.","note":"outside the tracked image","x":[13032,13848,13879,13904,13915,13963,13976,13986,14016,14043,14049,14072,14088,14107,14122,14150,14156,14178,14191,14197]},{"a":48,"t":"note","l":"annotation_0030","note":"outside the tracked image"},{"a":49,"t":"note","l":"shared_arithmetic_scratch","c":"Phase-shared arithmetic and coordinate scratch used by guardian, item, and rope code.","note":"outside the tracked image","x":[5872,5880,7044,7050,7253,7259,13205,13217,13234,13866,13890,13930,13947,14003,14010,14014,14565,14570]},{"a":50,"t":"note","l":"JSW_State_player_horizontal_phase","c":"Horizontal sub-cell animation/pixel phase, normally 0-7.","note":"outside the tracked image","x":[4300,4317,4330,4396,4417,4434,4447,4764,4786,4850,4872,4988,5003,5028,5152,5169,5184,5209,5367,5381,5791,7041,11766,11781,11920,13694,14685]},{"a":51,"t":"note","l":"JSW_State_player_state","c":"Player state index 0-6: grounded, jumping, falling, ramp, conveyor, conveyor entry, rope.","note":"outside the tracked image","x":[4050,4070,4222,4272,4350,4406,4506,4543,4570,4580,4587,4647,4719,4821,4926,4942,4949,4959,5023,5204,5341,5413,5502,5527,5538,5560,5575,5586,6912,6951,7083,7265,7294,11726,11751,11900,14665]},{"a":52,"t":"note","l":"loop_counter","c":"Short-lived loop counter reused by clock, guardian, and display routines.","note":"outside the tracked image","x":[13022,13056,14409,14413,14440,14448,14450,14554,14559]},{"a":53,"t":"note","l":"JSW_State_game_music_enabled","c":"Gameplay music flag, $FF enabled.","note":"outside the tracked image","x":[11525,13334,13544,14843,14847]},{"a":54,"t":"note","l":"JSW_State_game_paused","c":"Pause flag, $FF while paused.","note":"outside the tracked image","x":[12546,12570,12589,13294,13322,14405]},{"a":55,"t":"note","l":"JSW_State_clock_digit_h10","c":"First ASCII clock digit; clock $37-$3C begins 070000 and is displayed with colons.","note":"outside the tracked image","x":[11700,13243,13392,13394,13403,13443]},{"a":56,"t":"note","l":"JSW_State_clock_digit_h1","c":"Second ASCII clock digit; reaching ASCII 12 in $37/$38 ends play.","note":"outside the tracked image","x":[13252,13438]},{"a":57,"t":"note","l":"JSW_State_clock_digit_m10","c":"Third ASCII clock digit.","note":"outside the tracked image","x":[13428]},{"a":58,"t":"note","l":"JSW_State_clock_digit_m1","c":"Fourth ASCII clock digit.","note":"outside the tracked image","x":[13423]},{"a":59,"t":"note","l":"JSW_State_clock_digit_s10","c":"Fifth ASCII clock digit.","note":"outside the tracked image","x":[13413]},{"a":60,"t":"note","l":"JSW_State_clock_digit_s1","c":"Sixth ASCII clock digit.","note":"outside the tracked image","x":[13408]},{"a":61,"t":"note","l":"JSW_State_clock_tick_divider","c":"Raster-frame divider reloaded with 50; advances the clock once per PAL second.","note":"outside the tracked image","x":[13382,13388]},{"a":62,"t":"note","l":"JSW_State_guardian_update_divider","c":"Main-loop guardian scheduler reloaded with 12.","note":"outside the tracked image","x":[11511,13012,13018]},{"a":63,"t":"note","l":"JSW_State_life_glyph_divider","c":"Spare-life glyph animation divider reloaded with 15.","note":"outside the tracked image","x":[11534,13536,13542]},{"a":64,"t":"note","l":"JSW_State_life_glyph_frame","c":"Current spare-life glyph animation frame.","note":"outside the tracked image","x":[13593,13595]},{"a":65,"t":"note","l":"JSW_State_spare_lives","c":"Remaining spare-life budget, initialized to 8; underflow after zero enters game over, giving nine attempts total.","note":"outside the tracked image","x":[11521,13060,13107,14711,14713]},{"a":66,"t":"note","l":"JSW_State_game_music_divider","c":"Raster-frame music scheduler reloaded with 2.","note":"outside the tracked image","x":[11517,13365,13380]},{"a":67,"t":"note","l":"JSW_State_decoded_key_count","c":"Decoded-key count produced by the gameplay CIA-1 keyboard scan, capped at three; the title uses a separate count at $0050.","note":"outside the tracked image","x":[12560,12564,12594,14268,14315,14317,14319,14339,14345,14833,14939,15316,15364,15427,15565]},{"a":68,"t":"note","l":"JSW_State_decoded_key_1","c":"First decoded gameplay key.","note":"outside the tracked image","x":[12574,12598,13548,13556,13578,14837,15322]},{"a":69,"t":"note","l":"JSW_State_decoded_key_2","c":"Second decoded gameplay key.","note":"outside the tracked image"},{"a":70,"t":"note","l":"JSW_State_decoded_key_3","c":"Third decoded gameplay key.","note":"outside the tracked image"},{"a":71,"t":"note","l":"keyboard_bit_index","c":"Keyboard bit number while scanning a CIA 1 matrix row.","note":"outside the tracked image","x":[14303,14309,14327]},{"a":72,"t":"note","l":"keyboard_row_select_mask","c":"Rotating active-low CIA 1 port-A row-select mask.","note":"outside the tracked image","x":[14273,14275,14288]},{"a":73,"t":"note","l":"JSW_State_manual_horizontal_direction","c":"Manual direction: $FF left, 0 neutral, 1 right.","note":"outside the tracked image","x":[4255,4274,4288,4498,5331,5550,5565,6883,6888,6944,14229,14254,14264,14354,14363,14380,14390]},{"a":74,"t":"note","l":"JSW_State_jump_request","c":"Jump/fire request, $FF when active.","note":"outside the tracked image","x":[4266,5407,5532,5580,6940,14231,14244,14372]},{"a":75,"t":"note","l":"JSW_State_dormant_turnaround_marker","c":"Dormant turnaround marker. Each gameplay input scan clears it to $00; the later $FE store is unreachable on the captured route because $60 is never seeded.","note":"outside the tracked image","x":[4241,5318,6869,14227,14388,42893,43097,43125,43143]},{"a":76,"t":"note","l":"title_voice1_duration","c":"Countdown until the title music voice-1 reader consumes its next event.","note":"outside the tracked image","x":[41266,41273,41303]},{"a":77,"t":"note","l":"title_voice2_duration","c":"Countdown until the title music voice-2 reader consumes its next event.","note":"outside the tracked image","x":[41268,41280,41365]},{"a":78,"t":"note","l":"title_voice3_duration","c":"Countdown until the title music voice-3 reader consumes its next event.","note":"outside the tracked image","x":[41270,41287,41417]},{"a":79,"t":"note","l":"JSW_State_player_x_cell","c":"Willy horizontal cell coordinate.","note":"outside the tracked image","x":[4313,4338,4394,4430,4928,4999,5036,5150,5180,5768,7036,11464,11762,11777,11908,13658,14673,42897,43041,43047]},{"a":80,"t":"note","l":"JSW_State_player_facing_frame_or_title_key_count","c":"Gameplay facing/animation bits; the title phase reuses this byte as decoded key count.","note":"outside the tracked image","x":[4247,4251,4319,4333,4436,4452,4758,4844,5005,5031,5186,5214,5322,5326,5361,5455,5512,5783,6875,6879,7046,7052,11924,13699,13705,14689,41093,41140,41142,41144,42944,42966]},{"a":81,"t":"note","l":"JSW_State_fall_counter_or_title_first_key","c":"Gameplay fall counter; the title phase reuses this byte as first decoded key.","note":"outside the tracked image","x":[4283,4354,4410,4539,4620,4634,5019,5200,5482,5618,6916,6959,7079,11730,11904,14669,42946,42970]},{"a":82,"t":"note","l":"JSW_State_jump_curve_index","c":"Gameplay jump vertical-delta table index; phase-reused title scratch.","note":"outside the tracked image","x":[4281,4682,4696,4705,4707,4715,4740,4817,4962,4979,5007,5009,5017,5106,5124,5141,5188,5190,5198,5271,5422,5542,5590,6955,11928,14693]},{"a":83,"t":"note","l":"JSW_State_lethal_fall_flag","c":"Gameplay lethal-fall flag; phase-reused title scratch.","note":"outside the tracked image","x":[4356,4412,4642,4653,5620,6918,6957,7077,11732]},{"a":84,"t":"note","l":"shared_player_and_keyboard_scratch","c":"Phase-shared scratch used by gameplay joystick handling and the title keyboard-matrix scanner.","note":"outside the tracked image","x":[13697,13703,14236,14246,14256,41128,41134,41152]},{"a":85,"t":"note","l":"JSW_State_item_render_divider_or_title_row_mask","c":"Phase-shared: gameplay item redraw divider; title keyboard row-select mask.","note":"outside the tracked image","x":[11454,14723,14730,41098,41100,41113]},{"a":86,"t":"note","l":"JSW_State_player_update_divider","c":"Main-loop player scheduler reloaded with 6.","note":"outside the tracked image","x":[11452,13115,13121]},{"a":87,"t":"note","l":"JSW_State_checkpoint_player_state","c":"Room-entry checkpoint copy of player state $33.","note":"outside the tracked image","x":[11902,14663]},{"a":88,"t":"note","l":"JSW_State_checkpoint_player_y","c":"Room-entry checkpoint copy of player Y $1C.","note":"outside the tracked image","x":[11472,11914,14675]},{"a":89,"t":"note","l":"JSW_State_checkpoint_fall_counter","c":"Room-entry checkpoint copy of fall counter $51.","note":"outside the tracked image","x":[11906,14667]},{"a":90,"t":"note","l":"JSW_State_checkpoint_horizontal_phase","c":"Room-entry checkpoint copy of horizontal phase $32.","note":"outside the tracked image","x":[11922,14683]},{"a":91,"t":"note","l":"JSW_State_checkpoint_player_x","c":"Room-entry checkpoint copy of player X cell $4F.","note":"outside the tracked image","x":[11466,11910,14671]},{"a":92,"t":"note","l":"JSW_State_checkpoint_room","c":"Room-entry checkpoint copy of room $0E.","note":"outside the tracked image","x":[11460,11918,14679]},{"a":93,"t":"note","l":"JSW_State_checkpoint_facing_frame","c":"Room-entry checkpoint copy of facing/frame $50.","note":"outside the tracked image","x":[11926,14687]},{"a":94,"t":"note","l":"JSW_State_checkpoint_jump_index","c":"Room-entry checkpoint copy of jump index $52.","note":"outside the tracked image","x":[11930,14691]},{"a":95,"t":"note","l":"JSW_State_sid_master_volume","c":"Gameplay SID volume 0-15, adjustable by plus/minus while music is enabled.","note":"outside the tracked image","x":[11513,13558,13560,13568,13574,13580,13586,13588,14654]},{"a":96,"t":"note","l":"JSW_State_unseeded_previous_horizontal_direction","c":"Captured value $00 and unseeded by active title/gameplay initialization. The sole gameplay writer at $3838 lies inside the detector branch that would first require ($49 XOR $60)=$FE, impossible from $60=$00 with $49 in {$00,$FF,$01}.","note":"outside the tracked image","x":[14382,14392]},{"a":97,"t":"note","l":"packed_room_column","c":"Column index while expanding the packed room tile map.","note":"outside the tracked image","x":[11971,13750,13779,13781,13789]},{"a":98,"t":"note","l":"packed_room_row","c":"Row index while expanding the packed room tile map.","note":"outside the tracked image","x":[11973,13742,13791]},{"a":99,"t":"note","l":"annotation_0063","note":"outside the tracked image"},{"a":144,"t":"note","l":"JSW_State_game_music_voice1_pointer_low","c":"Gameplay repurposes KERNAL zero page $90/$91 as voice-1 event pointer while KERNAL ROM remains mapped; KERNAL calls are limited accordingly.","note":"outside the tracked image","x":[8199,8311,8320,8352,8356]},{"a":145,"t":"note","l":"JSW_State_game_music_voice1_pointer_high","c":"High byte of gameplay voice-1 event pointer; phase-specific replacement for normal KERNAL zero-page meaning.","note":"outside the tracked image","x":[8203,8358,8362]},{"a":146,"t":"note","l":"JSW_State_game_music_voice2_pointer_low","c":"Low byte of gameplay voice-2 event pointer.","note":"outside the tracked image","x":[8207,8372,8377,8409,8413]},{"a":147,"t":"note","l":"JSW_State_game_music_voice2_pointer_high","c":"High byte of gameplay voice-2 event pointer.","note":"outside the tracked image","x":[8211,8415,8419]},{"a":148,"t":"note","l":"JSW_State_game_music_voice1_duration","c":"Frames/events remaining for gameplay SID voice 1.","note":"outside the tracked image","x":[8289,8294,8317]},{"a":149,"t":"note","l":"JSW_State_game_music_voice2_duration","c":"Frames/events remaining for gameplay SID voice 2.","note":"outside the tracked image","x":[8291,8301,8374]},{"a":150,"t":"note","l":"annotation_0096","note":"outside the tracked image"},{"a":153,"t":"note","l":"C64_WORKSPACE_DEFAULT_INPUT_DEVICE","note":"outside the tracked image"},{"a":154,"t":"note","l":"C64_WORKSPACE_DEFAULT_OUTPUT_DEVICE","note":"outside the tracked image"},{"a":198,"t":"note","l":"C64_WORKSPACE_KEYBOARD_BUFFER_LENGTH","note":"outside the tracked image"},{"a":211,"t":"note","l":"C64_WORKSPACE_CURSOR_COLUMN","note":"outside the tracked image"},{"a":214,"t":"note","l":"C64_WORKSPACE_CURSOR_ROW","note":"outside the tracked image"},{"a":251,"t":"note","l":"title_ticker_source_pointer_low","c":"Low byte of the title ticker source pointer.","note":"outside the tracked image","x":[42909,43066,43072,43101,43109,43151,65296,65303]},{"a":252,"t":"note","l":"title_ticker_source_pointer_high","c":"High byte of the title ticker source pointer.","note":"outside the tracked image","x":[42913,43060,43076,43105,65288,65310]},{"a":253,"t":"note","l":"annotation_00fd","note":"outside the tracked image","x":[65298,65305]},{"a":254,"t":"note","l":"title_music_ended_flag","c":"Nonzero after the title tune reaches its end marker; the title loop restarts the music.","note":"outside the tracked image","x":[41262,41353,42997,65292,65312]},{"a":255,"t":"note","l":"annotation_00ff","note":"outside the tracked image"},{"a":384,"t":"note","l":"game_note_frequency_table_pointer_low","c":"Low byte of an initialized pointer to the gameplay SID frequency table at $20EC; the active music readers index the table directly.","note":"outside the tracked image","x":[8215]},{"a":385,"t":"note","l":"game_note_frequency_table_pointer_high","c":"High byte of the initialized gameplay SID frequency-table pointer; no active reader dereferences $0180/$0181.","note":"outside the tracked image","x":[8220]},{"a":386,"t":"note","l":"annotation_0182","note":"outside the tracked image"},{"a":646,"t":"note","l":"C64_WORKSPACE_TEXT_COLOR","note":"outside the tracked image"},{"a":648,"t":"note","l":"C64_WORKSPACE_SCREEN_MEMORY_PAGE","note":"outside the tracked image"},{"a":788,"t":"note","l":"C64_WORKSPACE_IRQ_RAM_VECTOR","note":"outside the tracked image","x":[11568,42954]},{"a":789,"t":"note","l":"IRQ_RAM_VECTOR_HIGH","c":"High byte of the KERNAL RAM IRQ vector whose low byte is at $0314.","note":"outside the tracked image","x":[11573,42959]},{"a":790,"t":"note","l":"C64_WORKSPACE_BRK_RAM_VECTOR","note":"outside the tracked image"},{"a":792,"t":"note","l":"C64_WORKSPACE_NMI_RAM_VECTOR","note":"outside the tracked image"},{"a":1024,"t":"note","l":"JSW_State_completion_maria_removed","c":"Completion, item-count, rope oscillator, and associated runtime working state. $0400 is set after 50 decimal items and only suppresses Maria in room 35.","note":"outside the tracked image","x":[5720,11485,12932,15554]},{"a":1025,"t":"note","l":"JSW_State_collected_item_count_bcd","c":"Set to 1 when BCD item count reaches decimal 50. Exhaustive active-reference audit shows its only effect is suppressing Maria in room 35; it does not trigger an ending.\nBCD collected-item count, compared with $50 to set completion flag.","note":"outside the tracked image","x":[5706,5711,5746,11488,13123,13138]},{"a":1026,"t":"note","l":"JSW_State_room_has_rope","c":"Current room rope flag copied from room offset $E2.","note":"outside the tracked image","x":[5794,7244,12459,13226,13619]},{"a":1027,"t":"note","l":"JSW_State_rope_oscillator_position","c":"Current rope oscillator position.","note":"outside the tracked image","x":[5832,5868,5928,5941,5959,5971,5975,5988,6008,6022,7020,7306,12471]},{"a":1028,"t":"note","l":"JSW_State_rope_oscillator_half","c":"Rope oscillator half-cycle state.","note":"outside the tracked image","x":[5920,5949,5967,5998,6018,6847,12476]},{"a":1029,"t":"note","l":"JSW_State_rope_oscillator_direction","c":"Rope oscillator direction state.","note":"outside the tracked image","x":[6853,6890,12481]},{"a":1030,"t":"note","l":"JSW_State_rope_oscillator_step","c":"Rope oscillator step state.","note":"outside the tracked image","x":[5932,5946,5964,5979,5993,6013,6844,12484]},{"a":1031,"t":"note","l":"JSW_State_rope_staging_handshake","c":"Producer/IRQ handshake: producer clears when staging is ready; IRQ sets after copying.","note":"outside the tracked image","x":[5849,5917,13624,13655]},{"a":1032,"t":"note","l":"JSW_State_cached_item_count","c":"Item count cached before player update to detect a newly collected item.","note":"outside the tracked image","x":[13126,13141]},{"a":1033,"t":"note","l":"annotation_0409","note":"outside the tracked image"},{"a":1280,"t":"note","l":"JSW_State_staged_rope_sprites","c":"Three staged rope sprites produced outside IRQ context and copied to $6B00-$6BBF by the raster IRQ.","note":"outside the tracked image","x":[5856,13631]},{"a":1344,"t":"note","l":"annotation_0540","c":"Three staged 64-byte rope sprites copied to $6B00-$6BBF by the frame IRQ.","note":"outside the tracked image"},{"a":1472,"t":"note","l":"JSW_State_staged_rope_coordinates","c":"Staged VIC coordinates for rope sprites 5-7.","note":"outside the tracked image","x":[5907,13644]},{"a":1478,"t":"note","l":"annotation_05c6","c":"Six staged VIC coordinate bytes for rope sprites 5-7.\nRuntime scratch, display workspace, and sprite-pointer tail outside the specifically typed staging areas.","note":"outside the tracked image"},{"a":2040,"t":"note","l":"JSW_State_vic_sprite_pointer_table","c":"Captured VIC-II sprite-pointer table for screen RAM at $0400; title and gameplay may rewrite these eight bytes according to their current sprite set.","note":"outside the tracked image","x":[15305,15349]},{"a":2048,"l":"JSW_State_game_keyboard_matrix","c":"Gameplay keyboard-matrix state and adjacent working bytes.","t":"byte","b":[255],"x":[14283,14296]},{"a":2049,"l":"annotation_0801","c":"Eight gameplay keyboard matrix bytes.","t":"byte","b":[255,255,255,255,255,255,255,0]},{"a":2057,"t":"byte","b":[0,0,0,0,0,0,0,173]},{"a":2065,"t":"byte","b":[17,208,41,239,141,17,208,32]},{"a":2073,"t":"byte","b":[193,8,165,1,41,223,133,1]},{"a":2081,"t":"byte","b":[162,0,202,234,234,234,234,138]},{"a":2089,"t":"byte","b":[208,248,173,20,3,141,162,8]},{"a":2097,"t":"byte","b":[141,160,8,173,21,3,141,163]},{"a":2105,"t":"byte","b":[8,141,161,8,169,0,141]},{"a":2112,"t":"gap","n":312,"x":[11889,11983,12009]},{"a":2112,"t":"note","l":"JSW_State_current_room_record","c":"Current room work copy. $2E55 exposes all RAM with $01=$34, copies one canonical room page here, then restores $01=$36.","note":"outside the tracked image","x":[11889,11983,12009]},{"a":2368,"t":"note","l":"JSW_State_current_guardian_records","c":"256-byte working room record copied from canonical room storage.\nUp to seven guardian records copied from the global table for the current room.","note":"outside the tracked image","x":[12282,12321,13036]},{"a":2376,"t":"note","l":"annotation_0948","c":"Seven-record guardian work area for the current room.","note":"outside the tracked image"},{"a":2424,"l":"annotation_0978","c":"Lower-memory state following the seven current-room guardian records. Direction/animation and moving-coordinate arrays at $0981/$0989 are runtime state. The following retained bytes are independently reproduced by the boot RLE decoder; five copyright sprites at $0A00-$0B3F and the restart stub at $0FA0 have identified consumers. Meaning and consumers of the other retained low-memory tail are open.","t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":2432,"t":"gap","n":128,"x":[12330,12337,13850,13881,13886,13906,13965,13988,14018,14053,14109,14158,14163,14180,14201]},{"a":2432,"t":"note","l":"JSW_State_guardian_direction_animation_state","c":"Seven bytes of current guardian direction/animation state.","note":"outside the tracked image","x":[12330,12337,13850,13881,13886,13906,13965,13988,14018,14053,14109,14158,14163,14180,14201]},{"a":2433,"t":"note","l":"annotation_0981","note":"outside the tracked image"},{"a":2440,"t":"note","l":"JSW_State_guardian_moving_coordinates","c":"Seven bytes of current guardian moving coordinates.","note":"outside the tracked image","x":[12343,14056,14062,14074,14204,14210]},{"a":2441,"t":"note","l":"annotation_0989","note":"outside the tracked image"},{"a":2560,"l":"COPYRIGHT_UNSET_SPRITE","c":"Retained copyright display would address this 64-byte slot with sprite pointer $28, given its observed VIC bank $0000. The CMM boot bypasses the display path, and the slot overlaps predecessor editor contents; it is not claimed to retain the original copyright artwork. The pointer assignment is at $3BC9 or $3BF5.","t":"byte","b":[0,24,0,0,110,0,1,191]},{"a":2568,"t":"byte","b":[128,6,255,224,0,94,0,0]},{"a":2576,"t":"byte","b":[94,0,0,94,0,0,94,0]},{"a":2584,"t":"byte","b":[0,94,0,0,94,0,0,94]},{"a":2592,"t":"byte","b":[0,0,94,0,0,94,0,0]},{"a":2600,"t":"byte","b":[94,0,0,223,0,1,191,128]},{"a":2608,"t":"byte","b":[3,127,192,6,255,224,13,255]},{"a":2616,"t":"byte","b":[240,27,255,248,23,255,248,0]},{"a":2624,"l":"COPYRIGHT_COLOR_0_SPRITE","c":"Retained copyright display would address this 64-byte slot with sprite pointer $29, given its observed VIC bank $0000. The CMM boot bypasses the display path, and the slot overlaps predecessor editor contents; it is not claimed to retain the original copyright artwork. The pointer assignment is at $3BC9 or $3BF5.","t":"byte","b":[127,255,192,191,255,224,223,255]},{"a":2632,"t":"byte","b":[240,239,255,248,247,255,252,251]},{"a":2640,"t":"byte","b":[255,254,253,255,255,254,0,1]},{"a":2648,"t":"byte","b":[254,3,129,254,7,129,254,3]},{"a":2656,"t":"byte","b":[129,254,3,129,254,3,129,254]},{"a":2664,"t":"byte","b":[3,129,254,3,129,126,3,129]},{"a":2672,"t":"byte","b":[62,3,129,30,7,193,14,7]},{"a":2680,"t":"byte","b":[193,6,0,1,3,255,255,0]},{"a":2688,"l":"COPYRIGHT_COLOR_1_SPRITE","c":"Retained copyright display would address this 64-byte slot with sprite pointer $2A, given its observed VIC bank $0000. The CMM boot bypasses the display path, and the slot overlaps predecessor editor contents; it is not claimed to retain the original copyright artwork. The pointer assignment is at $3BC9 or $3BF5.","t":"byte","b":[127,255,192,191,255,224,223,255]},{"a":2696,"t":"byte","b":[240,239,255,248,247,255,252,251]},{"a":2704,"t":"byte","b":[255,254,253,255,255,254,0,1]},{"a":2712,"t":"byte","b":[254,15,193,254,31,225,254,24]},{"a":2720,"t":"byte","b":[97,254,0,97,254,15,225,254]},{"a":2728,"t":"byte","b":[31,193,254,24,1,126,24,1]},{"a":2736,"t":"byte","b":[62,24,1,30,31,225,14,31]},{"a":2744,"t":"byte","b":[225,6,0,1,3,255,255,0]},{"a":2752,"l":"COPYRIGHT_COLOR_2_SPRITE","c":"Retained copyright display would address this 64-byte slot with sprite pointer $2B, given its observed VIC bank $0000. The CMM boot bypasses the display path, and the slot overlaps predecessor editor contents; it is not claimed to retain the original copyright artwork. The pointer assignment is at $3BC9 or $3BF5.","t":"byte","b":[127,255,192,191,255,224,223,255]},{"a":2760,"t":"byte","b":[240,239,255,248,247,255,252,251]},{"a":2768,"t":"byte","b":[255,254,253,255,255,254,0,1]},{"a":2776,"t":"byte","b":[254,15,193,254,31,225,254,24]},{"a":2784,"t":"byte","b":[97,254,0,97,254,3,225,254]},{"a":2792,"t":"byte","b":[3,193,254,0,97,126,0,97]},{"a":2800,"t":"byte","b":[62,24,97,30,31,225,14,15]},{"a":2808,"t":"byte","b":[193,6,0,1,3,255,255,0]},{"a":2816,"l":"COPYRIGHT_COLOR_3_SPRITE","c":"Retained copyright display would address this 64-byte slot with sprite pointer $2C, given its observed VIC bank $0000. The CMM boot bypasses the display path, and the slot overlaps predecessor editor contents; it is not claimed to retain the original copyright artwork. The pointer assignment is at $3BC9 or $3BF5.","t":"byte","b":[127,255,192,191,255,224,223,255]},{"a":2824,"t":"byte","b":[240,239,255,248,247,255,252,251]},{"a":2832,"t":"byte","b":[255,254,253,255,255,254,0,1]},{"a":2840,"t":"byte","b":[254,1,193,254,3,193,254,6]},{"a":2848,"t":"byte","b":[193,254,12,193,254,24,193,254]},{"a":2856,"t":"byte","b":[48,193,254,63,241,126,63,241]},{"a":2864,"t":"byte","b":[62,0,193,30,0,193,14,0]},{"a":2872,"t":"byte","b":[193,6,0,1,3,255,255,0]},{"a":2880,"l":"RETAINED_EDITOR_PREFIX_BYTE","c":"Retained byte $F4 immediately before the predecessor command entry at $0B41. The RLE decoder reproduces it; its original role is open.","t":"byte","b":[244]},{"a":2881,"l":"RETAINED_EDITOR_COMMAND_LOOP","c":"Truncated predecessor text-buffer editor, retained in the RLE image. It stores a command line in $0100, parses an optional decimal repeat, dispatches characters @ through Z through $0C60, and uses $5D/$5E and $5F/$60 as buffer pointers. Some callbacks at $090C and $1000+ have been replaced by gameplay code, so this is not a complete executable editor. The preserved literal/hex insertion helpers were checked by controlled calls.","t":"byte","b":[169,35,32,161,11]},{"a":2886,"l":"RETAINED_EDITOR_RESET_COMMAND_STATE","c":"Resets SP to $FF, command index $65 and copy flag $6A. Reads the repeat prefix, dispatches via the temporary trampoline at $74 and repeats the command while $6F remains nonzero. Its exit to $0912 belongs to the replaced predecessor UI.","t":"byte","b":[162,255,154,232,134,106,134,101]},{"a":2894,"t":"byte","b":[32,197,11,164,101,132,110,165]},{"a":2902,"t":"byte","b":[98,201,35,240,36,56,233,64]},{"a":2910,"t":"byte","b":[201,27,176,85,10,168,185,96]},{"a":2918,"t":"byte","b":[12,133,117,185,97,12,133,118]},{"a":2926,"t":"byte","b":[32,116,0,162,0,176,10,198]},{"a":2934,"t":"byte","b":[111,240,213,164,110,132,101,208]},{"a":2942,"t":"byte","b":[214,162,0,76,18,9]},{"a":2948,"l":"RETAINED_EDITOR_READ_NEXT_PARAMETER","c":"Saves command index $65 into $6E and calls the next-character helper, preserving its flags when restoring the saved index.","t":"byte","b":[132,110,32,142,11,8,164,110]},{"a":2956,"t":"byte","b":[40,96]},{"a":2958,"l":"RETAINED_EDITOR_READ_COMMAND_CHARACTER","c":"Reads $0100,Y using index $65, advances the index and compares the result with the byte-1 terminator. Indexes >=40 branch to the retained status-error path.","t":"byte","b":[164,101,185,0,1,230,101,192]},{"a":2966,"t":"byte","b":[40,176,19,201,1,96]},{"a":2972,"l":"RETAINED_EDITOR_START_COMMAND_LINE","c":"Clears the command line through $0EAC, then stores byte 1 through $0BA1. The line buffer is 40 bytes long.","t":"byte","b":[32,172,14,169,1]},{"a":2977,"l":"RETAINED_EDITOR_STORE_COMMAND_CHARACTER","c":"Stores A at $0100 plus index $65, increments the index and returns through $0C1B while within the 40-byte buffer. Overflow follows the CO status path.","t":"byte","b":[164,101,153,0,1,230,101,192]},{"a":2985,"t":"byte","b":[40,208,111]},{"a":2988,"l":"RETAINED_EDITOR_COMMAND_OVERFLOW","c":"Clears the command buffer and forms status letters CO in $6B/$6C; the status-display callback at $10CB has been replaced in the play image.","t":"byte","b":[32,172,14,169,67,133,107,169]},{"a":2996,"t":"byte","b":[79,208,6]},{"a":2999,"l":"RETAINED_EDITOR_COMMAND_ERROR","c":"Forms E? in $6B/$6C. The common status path calls the predecessor display entry $10CB and returns to its UI at $0915, neither of which is retained as editor code.","t":"byte","b":[169,69,133,107,169,63,133,108]},{"a":3007,"t":"byte","b":[32,203,16,76,21,9]},{"a":3013,"l":"RETAINED_EDITOR_DECIMAL_REPEAT","c":"Skips byte-1 spaces and parses ASCII decimal digits, multiplying the repeat accumulator $6F by ten. Limits the result to one byte; an omitted/zero repeat becomes one. The first non-digit is kept in $62 for command dispatch.","t":"byte","b":[134,111,32,142,11,240,251,133]},{"a":3021,"t":"byte","b":[98,201,58,176,29,201,48,144]},{"a":3029,"t":"byte","b":[25,41,15,133,114,165,111,201]},{"a":3037,"t":"byte","b":[26,176,22,10,133,115,10,10]},{"a":3045,"t":"byte","b":[101,115,101,114,176,11,133,111]},{"a":3053,"t":"byte","b":[144,216,165,111,208,2,230,111]},{"a":3061,"t":"byte","b":[96,169,35,208,191]},{"a":3066,"l":"RETAINED_EDITOR_RESET_BUFFER_POINTERS","c":"Initializes lower buffer pointer $5D/$5E and upper pointer $5F/$60 from X and boundary high bytes $7E/$7F.","t":"byte","b":[134,95,165,127,133,96,134,93]},{"a":3074,"t":"byte","b":[165,126,133,94,96]},{"a":3079,"l":"RETAINED_EDITOR_STATUS_WORD","c":"Sets CR when copy mode $6A is nonzero, otherwise OK, in status bytes $6B/$6C.","t":"byte","b":[165,106,240,8,169,67,133,107]},{"a":3087,"t":"byte","b":[169,82,208,6,169,79,133,107]},{"a":3095,"t":"byte","b":[169,75,133,108,96]},{"a":3100,"l":"RETAINED_EDITOR_SET_COPY_FLAG","c":"Decrements X, stores it in copy flag $6A and returns.","t":"byte","b":[202,134,106,96]},{"a":3104,"l":"RETAINED_EDITOR_SECOND_DISPATCH_TABLE","c":"32 little-endian predecessor handler words. Several entries point to preserved editing helpers; others point to overwritten routines. The corresponding caller is not established in the surviving fragment.","t":"byte","b":[154,12,156,11,154,12,154,12]},{"a":3112,"t":"byte","b":[78,17,154,12,29,12,70,11]},{"a":3120,"t":"byte","b":[4,14,154,12,141,14,116,14]},{"a":3128,"t":"byte","b":[154,12,154,12,154,12,154,12]},{"a":3136,"t":"byte","b":[180,8,206,12,28,12,214,12]},{"a":3144,"t":"byte","b":[190,12,154,12,244,13,154,12]},{"a":3152,"t":"byte","b":[2,13,174,8,154,12,154,12]},{"a":3160,"t":"byte","b":[154,12,198,12,6,17,154,12]},{"a":3168,"l":"RETAINED_EDITOR_LETTER_DISPATCH","c":"27 little-endian handler words selected after subtracting $40 from the command and requiring the result below $1B: characters @ through Z. H selects hex insertion $0D46; I selects literal insertion $0D34; S selects search $0E0B. Several callbacks no longer contain their predecessor code.","t":"byte","b":[125,13,183,11,161,13,183,11]},{"a":3176,"t":"byte","b":[222,12,6,17,195,13,141,14]},{"a":3184,"t":"byte","b":[70,13,52,13,70,11,12,9]},{"a":3192,"t":"byte","b":[118,15,115,15,183,11,183,11]},{"a":3200,"t":"byte","b":[224,16,183,11,31,16,11,14]},{"a":3208,"t":"byte","b":[22,13,221,16,78,17,114,16]},{"a":3216,"t":"byte","b":[183,11,183,11,183,11]},{"a":3222,"l":"RETAINED_EDITOR_MASK_CHARACTER_HIGH_BIT","c":"AND #$7F precedes the X=0 store entry at $0C98. This clears the high bit of an inserted byte.","t":"byte","b":[41,127]},{"a":3224,"l":"RETAINED_EDITOR_STORE_BYTE","c":"Sets X=0, compares current pointer $5D/$5E with limit $5F/$60, writes A through ($5D,X) if space remains, optionally updates copy tracking and advances the current pointer. Controlled literal and hex calls matched output bytes and pointer increments.","t":"byte","b":[162,0,72,165,93,197,95,208]},{"a":3232,"t":"byte","b":[11,165,94,197,96,208,5,169]},{"a":3240,"t":"byte","b":[73,76,185,11,104,129,93,165]},{"a":3248,"t":"byte","b":[106,240,3,32,125,14,230,93]},{"a":3256,"t":"byte","b":[208,2,230,94,24,96]},{"a":3262,"l":"RETAINED_EDITOR_DIRECTION_TRAMPOLINES","c":"Four three/six-byte direction trampolines use N to choose opposite editing operations: movement, byte transfer or line transfer. Their callers belong to the retained predecessor command tables.","t":"byte","b":[48,3,76,222,12,76,33,13]},{"a":3270,"t":"byte","b":[48,3,76,195,13,76,161,13]},{"a":3278,"t":"byte","b":[48,3,76,230,13,76,181,13]},{"a":3286,"t":"byte","b":[48,3,76,139,13,76,154,13]},{"a":3294,"l":"RETAINED_EDITOR_MOVE_BACKWARD","c":"Moves pointer $5D/$5E backward unless it is at the lower page boundary $7E. In copy mode, copies the encountered byte through $66/$67. Returns carry clear after a move.","t":"byte","b":[165,93,208,8,165,94,197,126]},{"a":3302,"t":"byte","b":[240,25,198,94,198,93,165,106]},{"a":3310,"t":"byte","b":[240,16,165,103,197,125,240,72]},{"a":3318,"t":"byte","b":[161,93,129,102,230,102,208,2]},{"a":3326,"t":"byte","b":[230,103,24,96]},{"a":3330,"l":"RETAINED_EDITOR_FIND_PREVIOUS_RETURN","c":"Moves backward until a byte $0D is found, using $0CDE and the same lower-bound handling. This is a predecessor buffer operation, not player movement.","t":"byte","b":[169,13,133,98,32,222,12,32]},{"a":3338,"t":"byte","b":[222,12,176,243,161,93,197,98]},{"a":3346,"t":"byte","b":[208,245,240,153]},{"a":3350,"l":"RETAINED_EDITOR_MOVE_FORWARD_TO_RETURN","c":"Calls the forward byte-transfer helper until carry is set or the returned byte is $0D.","t":"byte","b":[32,33,13,176,5,201,13,208]},{"a":3358,"t":"byte","b":[247,24,96]},{"a":3361,"l":"RETAINED_EDITOR_FORWARD_AND_REWIND","c":"Calls forward transfer $0DC3, saves its byte, moves the current pointer backward again and restores the saved byte and clear carry on success.","t":"byte","b":[32,195,13,176,13,72,32,222]},{"a":3369,"t":"byte","b":[12,24,165,106,240,3,32,125]},{"a":3377,"t":"byte","b":[14,104,96]},{"a":3380,"l":"RETAINED_EDITOR_INSERT_LITERAL","c":"Reads command-buffer characters through $0B8E and stores them through $0C9A until byte 1 terminates the text. A controlled call inserted HELLO exactly and advanced $5D/$5E by five.","t":"byte","b":[32,142,11,240,230,32,154,12]},{"a":3388,"t":"byte","b":[144,246,32,182,12,169,67,76]},{"a":3396,"t":"byte","b":[185,11]},{"a":3398,"l":"RETAINED_EDITOR_INSERT_HEX_BYTE","c":"Reads two hexadecimal characters, shifts the first nibble four bits, ORs in the second and stores the resulting byte through $0C98. Controlled inputs 00, 12, 4A and FF produced the matching bytes and one-byte pointer advances.","t":"byte","b":[162,72,32,89,13,10,10,10]},{"a":3406,"t":"byte","b":[10,133,114,32,89,13,5,114]},{"a":3414,"t":"byte","b":[76,152,12]},{"a":3417,"l":"RETAINED_EDITOR_HEX_NIBBLE","c":"Accepts decimal digits or ASCII A-F, returning the low nibble. The letter conversion adds eight with the compare carry still set, then masks with $0F. Other values jump to the predecessor status-error path.","t":"byte","b":[32,111,13,144,10,201,71,176]},{"a":3425,"t":"byte","b":[9,201,65,144,5,105,8,41]},{"a":3433,"t":"byte","b":[15,96,138,76,185,11]},{"a":3439,"l":"RETAINED_EDITOR_REJECT_SPACE_AND_TEST_DIGIT","c":"Reads one command character through $0B8E and rejects byte-1 spaces through $0D6B (TXA; JMP $0BB9), the editor error path. Tests ASCII 0-9 and returns a digit with carry clear; other characters return carry set for the hex helper. The repeat parser at $0BC5 is the separate routine that skips byte-1 spaces.","t":"byte","b":[32,142,11,240,247,201,48,144]},{"a":3447,"t":"byte","b":[243,201,58,144,236,96]},{"a":3453,"l":"RETAINED_EDITOR_SET_NUMERIC_PARAMETER","c":"Preserved @ command: uses $0D6F to read a decimal digit, rejects a nondigit or zero, then stores the accepted value 1-9 in $56. The predecessor parameter meaning is not established here.","t":"byte","b":[162,84,32,111,13,176,231,240]},{"a":3461,"t":"byte","b":[229,133,86,96,162,0,32,161]},{"a":3469,"t":"byte","b":[13,144,251,165,95,164,96,166]},{"a":3477,"t":"byte","b":[127,24,96,162,0,32,195,13]},{"a":3485,"t":"byte","b":[144,251,24,96]},{"a":3489,"l":"RETAINED_EDITOR_TRANSFER_BACKWARD_BYTE","c":"Moves backward, decrements upper pointer $5F/$60 and transfers a byte from ($5D,X) to ($5F,X). X is zero on the command-dispatch route.","t":"byte","b":[32,222,12,176,12,165,95,208]},{"a":3497,"t":"byte","b":[2,198,96,198,95,161,93,129]},{"a":3505,"t":"byte","b":[95,96]},{"a":3507,"l":"RETAINED_EDITOR_TRANSFER_BACKWARD_LINE","c":"Sets X=0, transfers backward until carry is set or byte $0D is encountered, then joins the forward helper entry.","t":"byte","b":[162,0,32,161,13,32,161,13]},{"a":3515,"t":"byte","b":[176,40,201,13,208,247]},{"a":3521,"l":"RETAINED_EDITOR_TRANSFER_FORWARD_BYTE","c":"Sets X=0, reads through upper pointer $5F/$60, writes through current pointer $5D/$5E and increments both pointers. Boundary high byte $7F limits the transfer.","t":"byte","b":[162,0,165,95,208,6,165,96]},{"a":3529,"t":"byte","b":[197,127,176,24,24,165,106,240]},{"a":3537,"t":"byte","b":[3,32,125,14,161,95,129,93]},{"a":3545,"t":"byte","b":[230,93,208,2,230,94,230,95]},{"a":3553,"t":"byte","b":[208,2,230,96,96]},{"a":3558,"l":"RETAINED_EDITOR_TRANSFER_FORWARD_LINE","c":"Repeats $0DC3 until its returned byte is $0D or the upper-bound condition stops it.","t":"byte","b":[169,13,133,98,32,195,13,176]},{"a":3566,"t":"byte","b":[4,69,98,208,247,96]},{"a":3572,"l":"RETAINED_EDITOR_TOGGLE_DISPLAY_FLAGS","c":"Toggles state bits using EOR $78 at $6D and derives $63 from $11 and the shifted sign bit. The predecessor display meaning of these flags is open.","t":"byte","b":[169,17,133,99,169,120,69,109]},{"a":3580,"t":"byte","b":[133,109,10,16,2,70,99,96]},{"a":3588,"l":"RETAINED_EDITOR_TOGGLE_HIGH_BIT_FLAG","c":"Toggles bit 7 of predecessor flag byte $64 and returns; no active gameplay consumer is implied.","t":"byte","b":[169,128,69,100,133,100,96]},{"a":3595,"l":"RETAINED_EDITOR_SEARCH_BUFFER","c":"Searches from upper buffer pointer $5F/$60 for the command-buffer pattern starting at $0100+$65, terminated by byte 1. Uses temporary pointer $5B/$5C and moves the gap/buffer pointers forward to the end of a match. Failure follows the S status path.","t":"byte","b":[165,96,197,127,240,33,133,92]},{"a":3603,"t":"byte","b":[165,95,133,91,166,101,189,0]},{"a":3611,"t":"byte","b":[1,201,1,240,18,160,0,209]},{"a":3619,"t":"byte","b":[91,240,17,230,91,208,248,230]},{"a":3627,"t":"byte","b":[92,164,92,196,127,208,238,169]},{"a":3635,"t":"byte","b":[83,76,185,11,200,232,189,0]},{"a":3643,"t":"byte","b":[1,201,1,240,13,209,91,240]},{"a":3651,"t":"byte","b":[243,166,101,189,0,1,160,0]},{"a":3659,"t":"byte","b":[240,217,134,101,152,24,101,91]},{"a":3667,"t":"byte","b":[133,91,144,15,230,92,165,92]},{"a":3675,"t":"byte","b":[197,127,208,4,165,91,208,207]},{"a":3683,"t":"byte","b":[32,193,13,165,91,197,95,208]},{"a":3691,"t":"byte","b":[247,165,92,197,96,208,241,24]},{"a":3699,"t":"byte","b":[96]},{"a":3700,"l":"RETAINED_EDITOR_RESET_COPY_POINTER","c":"Sets copy pointer $66/$67 from X and boundary page $7C, then writes X into copy flag $6A.","t":"byte","b":[134,102,165,124,133,103,134,106]},{"a":3708,"t":"byte","b":[96]},{"a":3709,"l":"RETAINED_EDITOR_DECREMENT_COPY_POINTER","c":"Decrements copy pointer $66/$67 unless it is at low byte zero and lower-bound page $7C.","t":"byte","b":[165,102,208,8,165,103,197,124]},{"a":3717,"t":"byte","b":[240,243,198,103,198,102,24,96]},{"a":3725,"l":"RETAINED_EDITOR_COPY_BACK_FROM_BUFFER","c":"Copies backward from the saved copy pointer through temporary $68/$69, storing bytes via $0C9A until the page-bound or store-bound condition stops it.","t":"byte","b":[134,106,165,102,133,104,165,103]},{"a":3733,"t":"byte","b":[133,105,165,104,208,8,198,105]},{"a":3741,"t":"byte","b":[165,105,197,124,144,233,198,104]},{"a":3749,"t":"byte","b":[161,104,32,154,12,144,235]},{"a":3756,"l":"RETAINED_EDITOR_CLEAR_COMMAND_LINE","c":"Writes 40 dot bytes ($2E) to $0100-$0127, then clears command index $65.","t":"byte","b":[160,40,169,46,153,255,0,136]},{"a":3764,"t":"byte","b":[208,250,132,101,96]},{"a":3769,"l":"RETAINED_EDITOR_READ_WITH_SUBSTITUTE","c":"Calls forward transfer $0DC1; if its boundary condition sets carry, returns substitute byte $1A. Clears carry before returning.","t":"byte","b":[32,193,13,144,3,169,26,24]},{"a":3777,"t":"byte","b":[96]},{"a":3778,"l":"RETAINED_EDITOR_INITIALIZE","c":"Zeros trampoline low state, sets a flag, writes RTS ($60) at $B000, copies eight parameters from $0EDC to $78-$7F and jumps to old entry $0810. Those locations are occupied by gameplay data in this image; do not execute this initializer as a live editor.","t":"byte","b":[162,0,134,116,169,9,133,86]},{"a":3786,"t":"byte","b":[169,96,141,0,176,162,7,189]},{"a":3794,"t":"byte","b":[220,14,149,120,202,16,248,76]},{"a":3802,"t":"byte","b":[16,8]},{"a":3804,"l":"RETAINED_EDITOR_INITIAL_PARAMETERS","c":"Eight parameter bytes copied by the predecessor initializer: 00 13 ED 27 50 54 54 B0. Their full configuration meaning is open.","t":"byte","b":[0,19,237,39,80,84,84,176]},{"a":3812,"t":"byte","b":[132,82]},{"a":3814,"l":"RETAINED_EDITOR_KERNAL_GETIN_WRAPPER","c":"Saves X at $53, calls KERNAL GETIN ($FFE4), restores X and loads Y from $52 while preserving the returned flags.","t":"byte","b":[134,83,32,228,255,8,166,83]},{"a":3822,"t":"byte","b":[164,82,40,96]},{"a":3826,"l":"RETAINED_EDITOR_TRUNCATED_COLOR_ROUTINE","c":"Begins a color-memory/display routine: saves X, initializes pointer $84/$85 to $D800 and reads $81. The preserved code ends after LDA #$DB at $0EFF; bytes from $0F01 are fill, so this function is truncated.","t":"byte","b":[134,83,169,0,133,132,169,216]},{"a":3834,"t":"byte","b":[133,133,166,129,24,169,219]},{"a":3841,"l":"RLE_LOW_TAIL_AFTER_EDITOR","c":"After the truncated predecessor routine: $0F01-$0F3F contains 63 $FF bytes, followed by 64 zero bytes at $0F40-$0F7F. The RLE decoder writes this tail. Predecessor callbacks into the fill no longer address complete executable handlers.","t":"byte","b":[255,255,255,255,255,255,255,255]},{"a":3849,"t":"byte","b":[255,255,255,255,255,255,255,255]},{"a":3857,"t":"byte","b":[255,255,255,255,255,255,255,255]},{"a":3865,"t":"byte","b":[255,255,255,255,255,255,255,0]},{"a":3873,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":3881,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":3889,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":3897,"t":"byte","b":[0,0,0,0,0,0,0,255]},{"a":3905,"t":"byte","b":[255,255,255,255,255,255,255,255]},{"a":3913,"t":"byte","b":[255,255,255,255,255,255,255,255]},{"a":3921,"t":"byte","b":[255,255,255,255,255,255,255,255]},{"a":3929,"t":"byte","b":[255,255,255,255,255,255,255,0]},{"a":3937,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":3945,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":3953,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":3961,"t":"byte","b":[0,0,0,0,0,0,0]},{"a":3968,"l":"RLE_LOW_TAIL_FINAL_FILL","c":"Final 32 bytes before the title restart stub: $70 followed by 31 $FF bytes. These are reproduced by the RLE stream. The meaning of the isolated $70 is open; this is not treated as a complete predecessor routine.","t":"byte","b":[112,255,255,255,255,255,255,255]},{"a":3976,"t":"byte","b":[255,255,255,255,255,255,255,255]},{"a":3984,"t":"byte","b":[255,255,255,255,255,255,255,255]},{"a":3992,"t":"byte","b":[255,255,255,255,255,255,255,255]},{"a":4000,"l":"BOOTSTRAP_ENTER_TITLE_STUB","c":"Restart stub: reads $01, clears LORAM bit 0 with AND $FE, writes it back and JMP $A000. RESTORE reaches it with DDR $2F and port $36, so RAM title code is visible. A CPU reset reaches it with DDR $00 and read port $17; the write cannot drive the banking pins, so $A000 reads BASIC ROM (94 E3 7B) instead of RAM title JMP $A744 (4C 44 A7). Both paths were tested live, with a reset-entry control at $FCE2.","t":"code","b":[165,1],"m":"lda","oa":1,"o":"C64_CPU_PROCESSOR_PORT","x":[15435]},{"a":4002,"t":"code","b":[41,254],"m":"and","o":"#$FE"},{"a":4004,"t":"code","b":[133,1],"m":"sta","oa":1,"o":"C64_CPU_PROCESSOR_PORT"},{"a":4006,"t":"code","b":[76,0,160],"m":"jmp","oa":40960,"o":"JSW_Title_title_entry"},{"a":4009,"t":"gap","n":41},{"a":4050,"l":"JSW_Player_jump_right_collision_trampoline","c":"Purpose: Route right-edge collision according to player state. Inputs: player state $33. Outputs: jump state continues at $1372; other states return through $1021. Assumptions: the active phase is initialized and the stated inputs and state are valid. Clobbers: A and flags. Hardware: none.","t":"code","b":[165,51],"m":"lda","oa":51,"o":"JSW_State_player_state","x":[5121]},{"a":4052,"t":"code","b":[201,1],"m":"cmp","o":"#$01"},{"a":4054,"t":"code","b":[240,3],"m":"beq","oa":4059,"o":"loc_0fdb"},{"a":4056,"t":"code","b":[76,33,16],"m":"jmp","oa":4129,"o":"JSW_Player_continue_main_loop_via_vector"},{"a":4059,"l":"loc_0fdb","t":"code","b":[76,114,19],"m":"jmp","oa":4978,"o":"JSW_Player_advance_jump_right_position","x":[4054]},{"a":4062,"l":"annotation_0fde","c":"Unused gap between player collision trampolines in the captured active engine.","t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":4070,"l":"JSW_Player_jump_left_collision_trampoline","c":"Purpose: Route left-edge collision according to player state. Inputs: player state $33. Outputs: jump state continues at $1414; other states return through $1021. Assumptions: the active phase is initialized and the stated inputs and state are valid. Clobbers: A and flags. Hardware: none.","t":"code","b":[165,51],"m":"lda","oa":51,"o":"JSW_State_player_state","x":[5286]},{"a":4072,"t":"code","b":[201,1],"m":"cmp","o":"#$01"},{"a":4074,"t":"code","b":[240,3],"m":"beq","oa":4079,"o":"loc_0fef"},{"a":4076,"t":"code","b":[76,33,16],"m":"jmp","oa":4129,"o":"JSW_Player_continue_main_loop_via_vector"},{"a":4079,"l":"loc_0fef","t":"code","b":[76,20,20],"m":"jmp","oa":5140,"o":"JSW_Player_advance_jump_left_position","x":[4074]},{"a":4082,"l":"annotation_0ff2","c":"Padding before the player tick entry at $1000.","t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":4090,"t":"byte","b":[0,0,0,0,0,0]},{"a":4096,"l":"JSW_Player_player_tick_entry","c":"Purpose: Stable entry to one player update. Inputs: global player, input, room, and rope state. Outputs: dispatched state handler. Clobbers: handler-defined CPU/state. Assumptions: vectors $CFF0-$CFFA and dispatch table are initialized. Hardware: state handlers may update staged sprite state.","t":"code","b":[76,117,16],"m":"jmp","oa":4213,"o":"JSW_Player_dispatch_player_state","x":[13132]},{"a":4099,"l":"JSW_State_player_state_dispatch_table","c":"Seven little-endian player-state handler addresses, selected by player state $33 * 2.","t":"word","b":[145,16],"d":[4241],"x":[4226]},{"a":4100,"t":"note","l":"f_1004","c":"High byte $10 of the first little-endian word at $1003 (JSW_State_player_state_dispatch_table); the parent description defines the table or writable pointer.","note":"inside the item at $1003","x":[4232]},{"a":4101,"l":"annotation_1005","c":"Seven little-endian state handler pointers.","t":"word","b":[61,18,251,17,193,20,31,21],"d":[4669,4603,5313,5407]},{"a":4109,"t":"word","b":[56,21,188,26],"d":[5432,6844]},{"a":4113,"l":"JSW_State_current_player_handler","c":"Writable indirect player-state target loaded from the dispatch table before JMP ($1011).","t":"word","b":[145,16],"d":[4241],"x":[4229,4238]},{"a":4114,"t":"note","l":"a_1012","c":"High byte $10 of the first little-endian word at $1011 (JSW_State_current_player_handler); the parent description defines the table or writable pointer.","note":"inside the item at $1011","x":[4235]},{"a":4115,"l":"JSW_State_jump_horizontal_direction","c":"Writable indirect target selected from player state dispatch table.\nPlayer-engine direction, collision, and rope working state. Individual fields are documented by labels and references.","t":"byte","b":[0],"x":[4276,4669,5417,5473,5544,5599,6946]},{"a":4116,"l":"JSW_State_tile_probe_x","c":"Signed jump direction, corroborated by embedded source name JPDIR.\nTemporary player X cell used by collision probes.","t":"byte","b":[0],"x":[4177,4186,4194,4203,4380,4776,4792,4801,4862,4878,4887,5770,6977]},{"a":4117,"l":"JSW_State_conveyor_entry_saved_state","c":"Player state saved on entry to conveyor-contact state 5.","t":"byte","b":[0],"x":[4582,4944,5448]},{"a":4118,"l":"JSW_State_conveyor_entry_first_pass","c":"First-pass flag for conveyor-contact state 5.","t":"byte","b":[0],"x":[4591,4953,5432,5445]},{"a":4119,"l":"JSW_State_resolved_conveyor_direction","c":"Resolved conveyor/contact direction used by states 4-5.","t":"byte","b":[0],"x":[5463,5476,5490,5493,5507,5605]},{"a":4120,"l":"JSW_State_rope_animation_divider","c":"Rope animation divider.","t":"byte","b":[2],"x":[5801,5805,5813]},{"a":4121,"l":"JSW_State_rope_trajectory_index","c":"Rope trajectory/segment index used by attached state 6.","t":"byte","b":[0],"x":[6903,6937,7013,7289]},{"a":4122,"l":"JSW_State_rope_movement_divider","c":"Attached-to-rope movement divider.","t":"byte","b":[2],"x":[6856,6866,7298]},{"a":4123,"l":"JSW_Player_scan_input_via_vector","c":"Attached-to-rope movement divider.\nPurpose: Tail-call the current input scanner through $CFF0. Inputs: initialized runtime vector. Outputs: scanner-defined input state. Assumptions: the active phase is initialized and the stated inputs and state are valid. Clobbers: scanner-defined. Hardware: normal target $3791 reads CIA 1 joystick/keyboard lines.","t":"code","b":[108,240,207],"m":"jmp","oa":53232,"o":"(JSW_State_input_vector)"},{"a":4126,"l":"JSW_Player_redispatch_player_via_vector","c":"Purpose: Tail-call stack-reset/player redispatch through $CFF2. Inputs: newly selected player state $33. Outputs: begins another state update. Assumptions: the active phase is initialized and the stated inputs and state are valid. Clobbers: target-defined; normal target resets SP. Hardware: none directly.","t":"code","b":[108,242,207],"m":"jmp","oa":53234,"o":"(JSW_State_player_redispatch_vector)","x":[4285,4511,5424,5504,5529,5547,5602]},{"a":4129,"l":"JSW_Player_continue_main_loop_via_vector","c":"Purpose: Tail-call the post-player main-loop continuation through $CFF4. Inputs: completed player state update. Outputs: resumes collision and clock checks. Assumptions: the active phase is initialized and the stated inputs and state are valid. Clobbers: target-defined. Hardware: normal target drives SID collection feedback.","t":"code","b":[108,244,207],"m":"jmp","oa":53236,"o":"(JSW_State_main_continue_vector)","x":[4056,4076,4257,4292,4335,4454,4491,4545,4622,4721,4823,5025,5206,5328,5343,5404,5562,5577,7059]},{"a":4132,"l":"JSW_Player_lookup_tile_via_vector","c":"Purpose: Tail-call tile lookup through $CFF6. Inputs: X cell and Y row. Outputs: A logical tile code 0-6. Assumptions: the active phase is initialized and the stated inputs and state are valid. Clobbers: lookup-defined registers and address temporaries. Hardware: reads screen/color representation in VIC bank 1.","t":"code","b":[108,246,207],"m":"jmp","oa":53238,"o":"(JSW_State_tile_lookup_vector)","x":[4183,4191,4200,4210,5674,6982]},{"a":4135,"l":"JSW_Player_prepare_room_via_vector","c":"Purpose: Tail-call room transition/build through $CFF8. Inputs: destination room $0E and player edge state. Outputs: rebuilt current room. Assumptions: the active phase is initialized and the stated inputs and state are valid. Clobbers: room and VIC state. Hardware/banking: normal target temporarily uses $01=$34 to expose room RAM beneath ROM/I/O.","t":"code","b":[108,248,207],"m":"jmp","oa":53240,"o":"(JSW_State_room_prepare_vector)","x":[4358,4414,4666,4734,5052,5100,5166,5265,5358,6934]},{"a":4138,"l":"JSW_Player_kill_player_via_vector","c":"Purpose: Tail-call death handling through $CFFA. Inputs: current room/player state. Outputs: respawn or title transition. Assumptions: the active phase is initialized and the stated inputs and state are valid. Clobbers: death handler state and hardware. Hardware: normal target uses SID, VIC colors, and sprite collision state.","t":"code","b":[108,250,207],"m":"jmp","oa":53242,"o":"(JSW_State_death_vector)","x":[5622]},{"a":4141,"l":"JSW_State_jump_vertical_delta_table","c":"36 signed vertical deltas used by the jump state; values describe the ascent, apex, and descent curve.","t":"byte","b":[0],"x":[4684,4700,4964,4981,5126,5143]},{"a":4142,"l":"annotation_102e","c":"36 signed vertical deltas describing jump ascent/apex/descent.","t":"byte","b":[0,254,254,254,254,254,255,254]},{"a":4150,"t":"byte","b":[255,255,255,255,255,255,0,255]},{"a":4158,"t":"byte","b":[0,0,0,1,0,1,0,1]},{"a":4166,"t":"byte","b":[1,1,1,1,2,1,2,2]},{"a":4174,"t":"byte","b":[2,2,2]},{"a":4177,"l":"JSW_Player_probe_tile_right","c":"Purpose: Probe the cell one column right of working X $1014. Inputs: $1014 and row $0F. Outputs: tile code from $1024. Assumptions: the active phase is initialized and the stated inputs and state are valid. Clobbers: X,Y,A per tile lookup. Hardware: screen/color memory read by target.","t":"code","b":[174,20,16],"m":"ldx","oa":4116,"o":"JSW_State_tile_probe_x","x":[4364,4372,5058,5066,5080]},{"a":4180,"t":"code","b":[232],"m":"inx"},{"a":4181,"t":"code","b":[164,15],"m":"ldy","oa":15,"o":"JSW_State_working_tile_row_or_title_voice3_pointer_high"},{"a":4183,"t":"code","b":[76,36,16],"m":"jmp","oa":4132,"o":"JSW_Player_lookup_tile_via_vector"},{"a":4186,"l":"JSW_Player_probe_tile_current","c":"Purpose: Probe the cell at working X $1014 and row $0F. Inputs: $1014,$0F. Outputs: tile code from $1024. Assumptions: the active phase is initialized and the stated inputs and state are valid. Clobbers: X,Y,A per target. Hardware: screen/color memory read by target.","t":"code","b":[174,20,16],"m":"ldx","oa":4116,"o":"JSW_State_tile_probe_x","x":[4460,4468,5222,5230,5244]},{"a":4189,"t":"code","b":[164,15],"m":"ldy","oa":15,"o":"JSW_State_working_tile_row_or_title_voice3_pointer_high"},{"a":4191,"t":"code","b":[76,36,16],"m":"jmp","oa":4132,"o":"JSW_Player_lookup_tile_via_vector"},{"a":4194,"l":"JSW_Player_probe_tile_above","c":"Purpose: Probe one row above working cell. Inputs: $1014,$0F. Outputs: tile code from $1024. Assumptions: the active phase is initialized and the stated inputs and state are valid. Clobbers: X,Y,A. Hardware: screen/color memory read by target.","t":"code","b":[174,20,16],"m":"ldx","oa":4116,"o":"JSW_State_tile_probe_x","x":[4770,4779,4795,4804]},{"a":4197,"t":"code","b":[164,15],"m":"ldy","oa":15,"o":"JSW_State_working_tile_row_or_title_voice3_pointer_high"},{"a":4199,"t":"code","b":[136],"m":"dey"},{"a":4200,"t":"code","b":[76,36,16],"m":"jmp","oa":4132,"o":"JSW_Player_lookup_tile_via_vector"},{"a":4203,"l":"JSW_Player_probe_tile_two_rows_below","c":"Purpose: Probe two rows below working cell. Inputs: $1014,$0F. Outputs: tile code from $1024. Assumptions: the active phase is initialized and the stated inputs and state are valid. Clobbers: X,Y,A. Hardware: screen/color memory read by target.","t":"code","b":[174,20,16],"m":"ldx","oa":4116,"o":"JSW_State_tile_probe_x","x":[4324,4383,4441,4476,4856,4865,4881,4890]},{"a":4206,"t":"code","b":[164,15],"m":"ldy","oa":15,"o":"JSW_State_working_tile_row_or_title_voice3_pointer_high"},{"a":4208,"t":"code","b":[200],"m":"iny"},{"a":4209,"t":"code","b":[200],"m":"iny"},{"a":4210,"t":"code","b":[76,36,16],"m":"jmp","oa":4132,"o":"JSW_Player_lookup_tile_via_vector"},{"a":4213,"l":"JSW_Player_dispatch_player_state","c":"Purpose: Run disabled selector hook, rope collision/animation work, then dispatch state $33 through $1003. Inputs: complete player/room/input state. Outputs: selected handler runs. Clobbers: A,X and shared state. Assumptions: state 0-6 and table/vector initialization. Hardware: rope work stages sprite data for the IRQ.","t":"code","b":[32,188,27],"m":"jsr","oa":7100,"o":"JSW_Player_disabled_room_selector","x":[4096]},{"a":4216,"t":"code","b":[32,76,28],"m":"jsr","oa":7244,"o":"JSW_Player_attach_player_to_rope_if_colliding"},{"a":4219,"l":"JSW_Player_dispatch_state_after_rope_staging","c":"Purpose: Shared tail-call landing that stages this tick's three rope sprites and then falls into the state-table dispatch at $107E. Inputs: no register is read here; the single JSR reads room_has_rope $0402, rope_animation_divider $1018, rope_oscillator_position $0403 and the pointer table at $1856. Both external callers arrive with A holding the byte just read from $D01E and with N and Z set from it ($1B08 in update_player_attached_to_rope, $1BAD in handle_rope_tile_collision), and with player_state $33 already forced to 2 and $51/$53 cleared; that A is dead because $107E immediately reloads $33. On the internal fallthrough from $1078 the registers are whatever attach_player_to_rope_if_colliding left. Outputs: on every second rope tick, staged sprite bytes $0500-$05BF, staged coordinates $05C0-$05C5, handshake $0407 = $FF and an advanced oscillator; then control falls through to $107E. Nothing returns to the caller. Assumptions: both external entries are JMP tail calls, so this block owns no return address. From $1B0B the surrounding state-6 handler was itself entered by JMP ($1011) at $108E and owns no frame either, so the topmost stack word still belongs to the game main loop; from $1BB0 the JSR return address pushed at $1B49, $1B4D, $1B52, $1B56, $1B5B or $1B5F is abandoned and never popped. Nothing unwinds it here: the stack pointer is reclaimed wholesale by the LDX #$FF / TXS at $3349 or $334F that terminates the tick. Clobbers: A, X, Y, flags, zero page $07, $08 and $31, and the rope staging state, all through produce_rope_sprite_staging. Hardware: the callers' reads of $D01E have already cleared the VIC-II sprite/sprite collision latch; produce_rope_sprite_staging sets sprite-enable bits 5-7 in $D015 and clears X-MSB bits 5-7 in $D010. The staged bytes only become visible to VIC-II when the raster IRQ copies them to $6B00-$6BBF at $353F.","t":"code","b":[32,162,22],"m":"jsr","oa":5794,"o":"JSW_Player_produce_rope_sprite_staging","x":[6923,7088]},{"a":4222,"l":"JSW_Player_dispatch_state_from_table","c":"Purpose: Select the handler for the current player state from the seven-entry table at $1003-$1010 and enter it through the mutable indirect target $1011. Inputs: player_state $33, which must be 0-6, and the table itself. No register input: A is reloaded from $33 at once, so the caller's A, X and flags are dead. The one external caller, $1B34 in update_player_attached_to_rope, arrives with A holding the byte just read from $D01E at $1B31 and with $33 already set to 1, jump direction $1013 copied from manual direction $49, and $52, $51 and $53 cleared - it is a jump-off-the-rope transition, not a state query. Outputs: writes the selected handler address into $1011/$1012 and jumps through it; control never returns here. Assumptions: the external entry is a JMP tail call, so this block owns no return address; state 6 was itself entered by JMP ($1011) and owns no frame, so the topmost stack word is still the game main loop's, and nothing between here and the LDX #$FF / TXS at $3349 or $334F unwinds it. The ASL/TAX index is unchecked, so a $33 above 6 would read past the table. Clobbers: A, X, flags, and the writable pointer $1011/$1012. Y is preserved into the handler. Hardware: none at this address; the entered handler may drive VIC-II, SID or CIA state.","t":"code","b":[165,51],"m":"lda","oa":51,"o":"JSW_State_player_state","x":[6964]},{"a":4224,"t":"code","b":[10],"m":"asl","o":"a"},{"a":4225,"t":"code","b":[170],"m":"tax"},{"a":4226,"t":"code","b":[189,3,16],"m":"lda","oa":4099,"o":"JSW_State_player_state_dispatch_table,x"},{"a":4229,"t":"code","b":[141,17,16],"m":"sta","oa":4113,"o":"JSW_State_current_player_handler"},{"a":4232,"t":"code","b":[189,4,16],"m":"lda","oa":4100,"o":"f_1004,x"},{"a":4235,"t":"code","b":[141,18,16],"m":"sta","oa":4114,"o":"a_1012"},{"a":4238,"t":"code","b":[108,17,16],"m":"jmp","oa":4113,"o":"(JSW_State_current_player_handler)"},{"a":4241,"l":"JSW_Player_update_player_grounded","c":"Purpose: Player state 0 grounded movement, jumps, edge exits, and tile interactions. Inputs: manual direction $49, jump $4A, player coordinates/state. Outputs: movement or state/room transition. Assumptions: the active phase is initialized and the stated inputs and state are valid. Clobbers: A,X,Y and player temporaries. Hardware: tile probes read screen/color state.","t":"code","b":[165,75],"m":"lda","oa":75,"o":"JSW_State_dormant_turnaround_marker"},{"a":4243,"t":"code","b":[201,254],"m":"cmp","o":"#$FE"},{"a":4245,"t":"code","b":[208,13],"m":"bne","oa":4260,"o":"loc_10a4"},{"a":4247,"t":"code","b":[165,80],"m":"lda","oa":80,"o":"JSW_State_player_facing_frame_or_title_key_count"},{"a":4249,"t":"code","b":[73,4],"m":"eor","o":"#$04"},{"a":4251,"t":"code","b":[133,80],"m":"sta","oa":80,"o":"JSW_State_player_facing_frame_or_title_key_count"},{"a":4253,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":4255,"t":"code","b":[133,73],"m":"sta","oa":73,"o":"JSW_State_manual_horizontal_direction"},{"a":4257,"t":"code","b":[76,33,16],"m":"jmp","oa":4129,"o":"JSW_Player_continue_main_loop_via_vector"},{"a":4260,"l":"loc_10a4","t":"code","b":[165,28],"m":"lda","oa":28,"o":"JSW_State_player_y","x":[4245]},{"a":4262,"t":"code","b":[41,248],"m":"and","o":"#$F8"},{"a":4264,"t":"code","b":[133,28],"m":"sta","oa":28,"o":"JSW_State_player_y"},{"a":4266,"t":"code","b":[165,74],"m":"lda","oa":74,"o":"JSW_State_jump_request"},{"a":4268,"t":"code","b":[240,18],"m":"beq","oa":4288,"o":"loc_10c0"},{"a":4270,"t":"code","b":[169,1],"m":"lda","o":"#$01"},{"a":4272,"t":"code","b":[133,51],"m":"sta","oa":51,"o":"JSW_State_player_state"},{"a":4274,"t":"code","b":[165,73],"m":"lda","oa":73,"o":"JSW_State_manual_horizontal_direction"},{"a":4276,"t":"code","b":[141,19,16],"m":"sta","oa":4115,"o":"JSW_State_jump_horizontal_direction"},{"a":4279,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":4281,"t":"code","b":[133,82],"m":"sta","oa":82,"o":"JSW_State_jump_curve_index"},{"a":4283,"t":"code","b":[133,81],"m":"sta","oa":81,"o":"JSW_State_fall_counter_or_title_first_key"},{"a":4285,"t":"code","b":[76,30,16],"m":"jmp","oa":4126,"o":"JSW_Player_redispatch_player_via_vector"},{"a":4288,"l":"loc_10c0","t":"code","b":[165,73],"m":"lda","oa":73,"o":"JSW_State_manual_horizontal_direction","x":[4268]},{"a":4290,"t":"code","b":[208,3],"m":"bne","oa":4295,"o":"JSW_Player_grounded_route_by_direction_sign"},{"a":4292,"t":"code","b":[76,33,16],"m":"jmp","oa":4129,"o":"JSW_Player_continue_main_loop_via_vector"},{"a":4295,"l":"JSW_Player_grounded_route_by_direction_sign","c":"Purpose: Two-instruction fork that sends grounded horizontal movement to the right-moving path at $10CC or the left-moving path at $112A according to the sign of the signed direction byte the caller has just loaded. Inputs: the N flag only. Internally $10C2 reaches here with N from LDA $49 at $10C0 and only when manual direction $49 is non-zero; externally $1535 in update_player_on_conveyor reaches here with N from LDA $13 at $1533, the room's signed conveyor direction, with no preceding zero test, so a $13 of $00 takes the BPL branch to $10CC. A itself is never re-read: both destinations reload from $32 and $4F. Outputs: control transfers to $10CC or $112A; no memory and no register is written. Assumptions: the external entry is a JMP tail call inside player state 4, and that handler was entered by JMP ($1011) at $108E, so no return address of state 4 or of this block is on the stack and the topmost stack word belongs to the game main loop. This block never reads $33, so it cannot and must not distinguish state 0 from state 4; the state-dependent part of grounded movement lives further on in handle_ground_support_tile $11C4, which does read $33. Clobbers: nothing - only PC changes. A, X, Y and all flags pass through unchanged. Hardware: none.","t":"code","b":[16,3],"m":"bpl","oa":4300,"o":"JSW_Player_grounded_move_right","x":[4290,5429]},{"a":4297,"t":"code","b":[76,42,17],"m":"jmp","oa":4394,"o":"JSW_Player_grounded_move_left"},{"a":4300,"l":"JSW_Player_grounded_move_right","c":"Purpose: Move the player one step to the right in grounded movement - advance the sub-cell phase and facing frame, cross into the next cell when the phase wraps, take the right-hand room exit at column $1F, and probe the tiles being entered. Inputs: player_horizontal_phase $32, player_x_cell $4F, facing frame $50, working tile row $0F, tile probe X $1014, and previous_exit_right $20 on the exit path. No register input: LDA $32 overwrites A on the first instruction. Internally $10C7 arrives with N clear; externally $15ED in enter_or_reconcile_conveyor arrives with A holding resolved_conveyor_direction $1017, known non-negative because $15E8 took BPL. Both values are dead. Outputs: updated $32 and $50, $4F incremented on a cell crossing, tile probes with grounded and ground-support handling; or, at column $1F with phase below 2, $0E loaded from $20, $33 = 2, $51 = 0, $53 = 0 followed by prepare_room_via_vector $1027. Every path leaves through $1021, $1027 or the shared continuation at $11B1; nothing returns. Assumptions: the external entry is a JMP tail call inside player state 5, which was entered by JMP ($1011) and owns no return address, so the topmost stack word is the game main loop's and this block must not attempt to RTS. Reaching this address does not imply state 0: states 4 and 5 both route their resolved direction here, and the block itself never reads $33. Clobbers: A, X, Y, flags; $32, $50, $0F, $1014 and, on a cell crossing, $4F; $07-$0A through initialize_tile_location and lookup_tile_at_cell; plus anything the tile handlers change, including $33, $51, $53, item state and an unconditional transfer to kill_player $15F0 on fire contact. Hardware: the tile probes read extended-colour screen codes from screen RAM at $7C00-$7FFF in VIC bank 1 through lookup_tile_via_vector; the room-exit path hands all VIC-II reconfiguration to prepare_room_entry $2DC6.","t":"code","b":[165,50],"m":"lda","oa":50,"o":"JSW_State_player_horizontal_phase","x":[4295,5613]},{"a":4302,"t":"code","b":[201,2],"m":"cmp","o":"#$02"},{"a":4304,"t":"code","b":[144,32],"m":"bcc","oa":4338,"o":"loc_10f2"},{"a":4306,"t":"code","b":[24],"m":"clc"},{"a":4307,"t":"code","b":[105,1],"m":"adc","o":"#$01"},{"a":4309,"t":"code","b":[201,8],"m":"cmp","o":"#$08"},{"a":4311,"t":"code","b":[208,17],"m":"bne","oa":4330,"o":"loc_10ea"},{"a":4313,"t":"code","b":[230,79],"m":"inc","oa":79,"o":"JSW_State_player_x_cell"},{"a":4315,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":4317,"t":"code","b":[133,50],"m":"sta","oa":50,"o":"JSW_State_player_horizontal_phase"},{"a":4319,"t":"code","b":[133,80],"m":"sta","oa":80,"o":"JSW_State_player_facing_frame_or_title_key_count"},{"a":4321,"t":"code","b":[32,136,22],"m":"jsr","oa":5768,"o":"JSW_Player_initialize_tile_location"},{"a":4324,"t":"code","b":[32,107,16],"m":"jsr","oa":4203,"o":"JSW_Player_probe_tile_two_rows_below"},{"a":4327,"t":"code","b":[76,177,17],"m":"jmp","oa":4529,"o":"loc_11b1"},{"a":4330,"l":"loc_10ea","t":"code","b":[133,50],"m":"sta","oa":50,"o":"JSW_State_player_horizontal_phase","x":[4311,4391]},{"a":4332,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":4333,"t":"code","b":[133,80],"m":"sta","oa":80,"o":"JSW_State_player_facing_frame_or_title_key_count"},{"a":4335,"t":"code","b":[76,33,16],"m":"jmp","oa":4129,"o":"JSW_Player_continue_main_loop_via_vector"},{"a":4338,"l":"loc_10f2","t":"code","b":[165,79],"m":"lda","oa":79,"o":"JSW_State_player_x_cell","x":[4304]},{"a":4340,"t":"code","b":[201,31],"m":"cmp","o":"#$1F"},{"a":4342,"t":"code","b":[208,17],"m":"bne","oa":4361,"o":"loc_1109"},{"a":4344,"t":"code","b":[165,32],"m":"lda","oa":32,"o":"JSW_State_previous_exit_right"},{"a":4346,"t":"code","b":[133,14],"m":"sta","oa":14,"o":"JSW_State_current_room_or_title_voice3_pointer_low"},{"a":4348,"t":"code","b":[169,2],"m":"lda","o":"#$02"},{"a":4350,"t":"code","b":[133,51],"m":"sta","oa":51,"o":"JSW_State_player_state"},{"a":4352,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":4354,"t":"code","b":[133,81],"m":"sta","oa":81,"o":"JSW_State_fall_counter_or_title_first_key"},{"a":4356,"t":"code","b":[133,83],"m":"sta","oa":83,"o":"JSW_State_lethal_fall_flag"},{"a":4358,"t":"code","b":[76,39,16],"m":"jmp","oa":4135,"o":"JSW_Player_prepare_room_via_vector"},{"a":4361,"l":"loc_1109","t":"code","b":[32,136,22],"m":"jsr","oa":5768,"o":"JSW_Player_initialize_tile_location","x":[4342]},{"a":4364,"t":"code","b":[32,81,16],"m":"jsr","oa":4177,"o":"JSW_Player_probe_tile_right"},{"a":4367,"t":"code","b":[32,135,17],"m":"jsr","oa":4487,"o":"JSW_Player_handle_grounded_tile"},{"a":4370,"t":"code","b":[230,15],"m":"inc","oa":15,"o":"JSW_State_working_tile_row_or_title_voice3_pointer_high"},{"a":4372,"t":"code","b":[32,81,16],"m":"jsr","oa":4177,"o":"JSW_Player_probe_tile_right"},{"a":4375,"t":"code","b":[32,135,17],"m":"jsr","oa":4487,"o":"JSW_Player_handle_grounded_tile"},{"a":4378,"t":"code","b":[198,15],"m":"dec","oa":15,"o":"JSW_State_working_tile_row_or_title_voice3_pointer_high"},{"a":4380,"t":"code","b":[238,20,16],"m":"inc","oa":4116,"o":"JSW_State_tile_probe_x"},{"a":4383,"t":"code","b":[32,107,16],"m":"jsr","oa":4203,"o":"JSW_Player_probe_tile_two_rows_below"},{"a":4386,"t":"code","b":[32,196,17],"m":"jsr","oa":4548,"o":"JSW_Player_handle_ground_support_tile"},{"a":4389,"t":"code","b":[169,2],"m":"lda","o":"#$02"},{"a":4391,"t":"code","b":[76,234,16],"m":"jmp","oa":4330,"o":"loc_10ea"},{"a":4394,"l":"JSW_Player_grounded_move_left","c":"Purpose: Move the player one step to the left in grounded movement - advance the sub-cell phase and facing frame downwards, cross into the previous cell when the phase underflows, take the left-hand room exit at cell 0 phase 0, and probe the tiles being entered. Inputs: player_x_cell $4F, player_horizontal_phase $32, facing frame $50, working tile row $0F, tile probe X $1014, and previous_exit_left $1F on the exit path. No register input: LDA $4F / ORA $32 overwrites A on the first two instructions. Internally $10C9 arrives with N set; externally $15EA in enter_or_reconcile_conveyor arrives with A holding resolved_conveyor_direction $1017, known negative because $15E8 did not take BPL. Both values are dead. Outputs: updated $32 and $50 with facing bit 2 forced by ORA #$04, $4F decremented on a cell crossing, tile probes with grounded and ground-support handling; or, when $4F and $32 are both zero, $0E loaded from $1F, $33 = 2, $51 = 0, $53 = 0 followed by prepare_room_via_vector $1027. Every path leaves through $1021, $1027 or the shared continuation at $11B1; nothing returns. Assumptions: the external entry is a JMP tail call inside player state 5, which was entered by JMP ($1011) and owns no return address, so the topmost stack word is the game main loop's and this block must not attempt to RTS. Reaching this address does not imply state 0: state 5 routes a negative resolved direction here, and the block itself never reads $33. Clobbers: A, X, Y, flags; $32, $50, $0F, $1014 and, on a cell crossing, $4F; $07-$0A through initialize_tile_location and lookup_tile_at_cell; plus anything the tile handlers change, including $33, $51, $53, item state and an unconditional transfer to kill_player $15F0 on fire contact. Hardware: the tile probes read extended-colour screen codes from screen RAM at $7C00-$7FFF in VIC bank 1 through lookup_tile_via_vector; the room-exit path hands all VIC-II reconfiguration to prepare_room_entry $2DC6.","t":"code","b":[165,79],"m":"lda","oa":79,"o":"JSW_State_player_x_cell","x":[4297,5610]},{"a":4396,"t":"code","b":[5,50],"m":"ora","oa":50,"o":"JSW_State_player_horizontal_phase"},{"a":4398,"t":"code","b":[208,17],"m":"bne","oa":4417,"o":"loc_1141"},{"a":4400,"t":"code","b":[165,31],"m":"lda","oa":31,"o":"JSW_State_previous_exit_left"},{"a":4402,"t":"code","b":[133,14],"m":"sta","oa":14,"o":"JSW_State_current_room_or_title_voice3_pointer_low"},{"a":4404,"t":"code","b":[169,2],"m":"lda","o":"#$02"},{"a":4406,"t":"code","b":[133,51],"m":"sta","oa":51,"o":"JSW_State_player_state"},{"a":4408,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":4410,"t":"code","b":[133,81],"m":"sta","oa":81,"o":"JSW_State_fall_counter_or_title_first_key"},{"a":4412,"t":"code","b":[133,83],"m":"sta","oa":83,"o":"JSW_State_lethal_fall_flag"},{"a":4414,"t":"code","b":[76,39,16],"m":"jmp","oa":4135,"o":"JSW_Player_prepare_room_via_vector"},{"a":4417,"l":"loc_1141","t":"code","b":[165,50],"m":"lda","oa":50,"o":"JSW_State_player_horizontal_phase","x":[4398]},{"a":4419,"t":"code","b":[201,6],"m":"cmp","o":"#$06"},{"a":4421,"t":"code","b":[176,34],"m":"bcs","oa":4457,"o":"loc_1169"},{"a":4423,"t":"code","b":[56],"m":"sec"},{"a":4424,"t":"code","b":[233,1],"m":"sbc","o":"#$01"},{"a":4426,"t":"code","b":[201,255],"m":"cmp","o":"#$FF"},{"a":4428,"t":"code","b":[208,17],"m":"bne","oa":4447,"o":"loc_115f"},{"a":4430,"t":"code","b":[198,79],"m":"dec","oa":79,"o":"JSW_State_player_x_cell"},{"a":4432,"t":"code","b":[169,7],"m":"lda","o":"#$07"},{"a":4434,"t":"code","b":[133,50],"m":"sta","oa":50,"o":"JSW_State_player_horizontal_phase"},{"a":4436,"t":"code","b":[133,80],"m":"sta","oa":80,"o":"JSW_State_player_facing_frame_or_title_key_count"},{"a":4438,"t":"code","b":[32,136,22],"m":"jsr","oa":5768,"o":"JSW_Player_initialize_tile_location"},{"a":4441,"t":"code","b":[32,107,16],"m":"jsr","oa":4203,"o":"JSW_Player_probe_tile_two_rows_below"},{"a":4444,"t":"code","b":[76,177,17],"m":"jmp","oa":4529,"o":"loc_11b1"},{"a":4447,"l":"loc_115f","t":"code","b":[133,50],"m":"sta","oa":50,"o":"JSW_State_player_horizontal_phase","x":[4428,4484]},{"a":4449,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":4450,"t":"code","b":[9,4],"m":"ora","o":"#$04"},{"a":4452,"t":"code","b":[133,80],"m":"sta","oa":80,"o":"JSW_State_player_facing_frame_or_title_key_count"},{"a":4454,"t":"code","b":[76,33,16],"m":"jmp","oa":4129,"o":"JSW_Player_continue_main_loop_via_vector"},{"a":4457,"l":"loc_1169","t":"code","b":[32,136,22],"m":"jsr","oa":5768,"o":"JSW_Player_initialize_tile_location","x":[4421]},{"a":4460,"t":"code","b":[32,90,16],"m":"jsr","oa":4186,"o":"JSW_Player_probe_tile_current"},{"a":4463,"t":"code","b":[32,135,17],"m":"jsr","oa":4487,"o":"JSW_Player_handle_grounded_tile"},{"a":4466,"t":"code","b":[230,15],"m":"inc","oa":15,"o":"JSW_State_working_tile_row_or_title_voice3_pointer_high"},{"a":4468,"t":"code","b":[32,90,16],"m":"jsr","oa":4186,"o":"JSW_Player_probe_tile_current"},{"a":4471,"t":"code","b":[32,135,17],"m":"jsr","oa":4487,"o":"JSW_Player_handle_grounded_tile"},{"a":4474,"t":"code","b":[198,15],"m":"dec","oa":15,"o":"JSW_State_working_tile_row_or_title_voice3_pointer_high"},{"a":4476,"t":"code","b":[32,107,16],"m":"jsr","oa":4203,"o":"JSW_Player_probe_tile_two_rows_below"},{"a":4479,"t":"code","b":[32,196,17],"m":"jsr","oa":4548,"o":"JSW_Player_handle_ground_support_tile"},{"a":4482,"t":"code","b":[169,5],"m":"lda","o":"#$05"},{"a":4484,"t":"code","b":[76,95,17],"m":"jmp","oa":4447,"o":"loc_115f"},{"a":4487,"l":"JSW_Player_handle_grounded_tile","c":"Purpose: Dispatch grounded contact tile codes for solid, ramp, fire, item, and ordinary continuation. Inputs: A tile code, direction/ramp state. Outputs: state transition, death, item collection, or return. Assumptions: the active phase is initialized and the stated inputs and state are valid. Clobbers: A and called helpers. Hardware: none directly.","t":"code","b":[201,2],"m":"cmp","o":"#$02","x":[4367,4375,4463,4471]},{"a":4489,"t":"code","b":[208,3],"m":"bne","oa":4494,"o":"loc_118e"},{"a":4491,"t":"code","b":[76,33,16],"m":"jmp","oa":4129,"o":"JSW_Player_continue_main_loop_via_vector"},{"a":4494,"l":"loc_118e","t":"code","b":[201,4],"m":"cmp","o":"#$04","x":[4489]},{"a":4496,"t":"code","b":[208,16],"m":"bne","oa":4514,"o":"loc_11a2"},{"a":4498,"t":"code","b":[165,73],"m":"lda","oa":73,"o":"JSW_State_manual_horizontal_direction"},{"a":4500,"t":"code","b":[197,17],"m":"cmp","oa":17,"o":"JSW_State_ramp_direction"},{"a":4502,"t":"code","b":[240,24],"m":"beq","oa":4528,"o":"loc_11b0"},{"a":4504,"t":"code","b":[169,3],"m":"lda","o":"#$03"},{"a":4506,"t":"code","b":[133,51],"m":"sta","oa":51,"o":"JSW_State_player_state"},{"a":4508,"t":"code","b":[32,149,22],"m":"jsr","oa":5781,"o":"JSW_Player_align_ramp_animation_phase"},{"a":4511,"t":"code","b":[76,30,16],"m":"jmp","oa":4126,"o":"JSW_Player_redispatch_player_via_vector"},{"a":4514,"l":"loc_11a2","t":"code","b":[201,3],"m":"cmp","o":"#$03","x":[4496]},{"a":4516,"t":"code","b":[208,3],"m":"bne","oa":4521,"o":"loc_11a9"},{"a":4518,"t":"code","b":[76,240,21],"m":"jmp","oa":5616,"o":"JSW_Player_kill_player"},{"a":4521,"l":"loc_11a9","t":"code","b":[201,6],"m":"cmp","o":"#$06","x":[4516]},{"a":4523,"t":"code","b":[208,3],"m":"bne","oa":4528,"o":"loc_11b0"},{"a":4525,"t":"code","b":[32,251,21],"m":"jsr","oa":5627,"o":"JSW_Player_collect_item_if_present"},{"a":4528,"l":"loc_11b0","t":"code","b":[96],"m":"rts","x":[4502,4523]},{"a":4529,"l":"loc_11b1","t":"code","b":[201,0],"m":"cmp","o":"#$00","x":[4327,4444]},{"a":4531,"t":"code","b":[240,4],"m":"beq","oa":4537,"o":"loc_11b9"},{"a":4533,"t":"code","b":[201,6],"m":"cmp","o":"#$06"},{"a":4535,"t":"code","b":[208,8],"m":"bne","oa":4545,"o":"loc_11c1"},{"a":4537,"l":"loc_11b9","t":"code","b":[169,0],"m":"lda","o":"#$00","x":[4531]},{"a":4539,"t":"code","b":[133,81],"m":"sta","oa":81,"o":"JSW_State_fall_counter_or_title_first_key"},{"a":4541,"t":"code","b":[169,2],"m":"lda","o":"#$02"},{"a":4543,"t":"code","b":[133,51],"m":"sta","oa":51,"o":"JSW_State_player_state"},{"a":4545,"l":"loc_11c1","t":"code","b":[76,33,16],"m":"jmp","oa":4129,"o":"JSW_Player_continue_main_loop_via_vector","x":[4535]},{"a":4548,"l":"JSW_Player_handle_ground_support_tile","c":"Purpose: Process the supporting tile beneath grounded Willy after an 18-byte NOP lead. Inputs: A=tile code plus valid player and conveyor state. Outputs: enters conveyor motion, triggers fire death, collects an item, or returns without a state change. Assumptions: current-room collision buffers and player state are valid. Clobbers: A and player state. Hardware: none directly.","t":"code","b":[234],"m":"nop","x":[4386,4479]},{"a":4549,"t":"code","b":[234],"m":"nop"},{"a":4550,"t":"code","b":[234],"m":"nop"},{"a":4551,"t":"code","b":[234],"m":"nop"},{"a":4552,"t":"code","b":[234],"m":"nop"},{"a":4553,"t":"code","b":[234],"m":"nop"},{"a":4554,"t":"code","b":[234],"m":"nop"},{"a":4555,"t":"code","b":[234],"m":"nop"},{"a":4556,"t":"code","b":[234],"m":"nop"},{"a":4557,"t":"code","b":[234],"m":"nop"},{"a":4558,"t":"code","b":[234],"m":"nop"},{"a":4559,"t":"code","b":[234],"m":"nop"},{"a":4560,"t":"code","b":[234],"m":"nop"},{"a":4561,"t":"code","b":[234],"m":"nop"},{"a":4562,"t":"code","b":[234],"m":"nop"},{"a":4563,"t":"code","b":[234],"m":"nop"},{"a":4564,"t":"code","b":[234],"m":"nop"},{"a":4565,"t":"code","b":[234],"m":"nop"},{"a":4566,"t":"code","b":[201,5],"m":"cmp","o":"#$05"},{"a":4568,"t":"code","b":[208,25],"m":"bne","oa":4595,"o":"loc_11f3"},{"a":4570,"t":"code","b":[165,51],"m":"lda","oa":51,"o":"JSW_State_player_state"},{"a":4572,"t":"code","b":[201,4],"m":"cmp","o":"#$04"},{"a":4574,"t":"code","b":[240,19],"m":"beq","oa":4595,"o":"loc_11f3"},{"a":4576,"t":"code","b":[201,5],"m":"cmp","o":"#$05"},{"a":4578,"t":"code","b":[240,15],"m":"beq","oa":4595,"o":"loc_11f3"},{"a":4580,"t":"code","b":[165,51],"m":"lda","oa":51,"o":"JSW_State_player_state"},{"a":4582,"t":"code","b":[141,21,16],"m":"sta","oa":4117,"o":"JSW_State_conveyor_entry_saved_state"},{"a":4585,"t":"code","b":[169,5],"m":"lda","o":"#$05"},{"a":4587,"t":"code","b":[133,51],"m":"sta","oa":51,"o":"JSW_State_player_state"},{"a":4589,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":4591,"t":"code","b":[141,22,16],"m":"sta","oa":4118,"o":"JSW_State_conveyor_entry_first_pass"},{"a":4594,"t":"code","b":[96],"m":"rts"},{"a":4595,"l":"loc_11f3","t":"code","b":[201,3],"m":"cmp","o":"#$03","x":[4568,4574,4578]},{"a":4597,"t":"code","b":[208,3],"m":"bne","oa":4602,"o":"loc_11fa"},{"a":4599,"t":"code","b":[76,240,21],"m":"jmp","oa":5616,"o":"JSW_Player_kill_player"},{"a":4602,"l":"loc_11fa","t":"code","b":[96],"m":"rts","x":[4597]},{"a":4603,"l":"JSW_Player_update_player_falling","c":"Purpose: Player state 2 falling, fall-duration accounting, landing, and downward room exit. Inputs: player coordinates and fall counters. Outputs: moved player, new room/state, or lethal-fall death. Assumptions: the active phase is initialized and the stated inputs and state are valid. Clobbers: A,X,Y and player state. Hardware: tile probes read screen/color state.","t":"code","b":[165,28],"m":"lda","oa":28,"o":"JSW_State_player_y"},{"a":4605,"t":"code","b":[41,254],"m":"and","o":"#$FE"},{"a":4607,"t":"code","b":[133,28],"m":"sta","oa":28,"o":"JSW_State_player_y"},{"a":4609,"t":"code","b":[41,6],"m":"and","o":"#$06"},{"a":4611,"t":"code","b":[240,12],"m":"beq","oa":4625,"o":"loc_1211"},{"a":4613,"l":"loc_1205","t":"code","b":[165,28],"m":"lda","oa":28,"o":"JSW_State_player_y","x":[4651]},{"a":4615,"t":"code","b":[24],"m":"clc"},{"a":4616,"t":"code","b":[105,2],"m":"adc","o":"#$02"},{"a":4618,"t":"code","b":[133,28],"m":"sta","oa":28,"o":"JSW_State_player_y"},{"a":4620,"t":"code","b":[230,81],"m":"inc","oa":81,"o":"JSW_State_fall_counter_or_title_first_key"},{"a":4622,"l":"loc_120e","t":"code","b":[76,33,16],"m":"jmp","oa":4129,"o":"JSW_Player_continue_main_loop_via_vector","x":[4657]},{"a":4625,"l":"loc_1211","t":"code","b":[165,28],"m":"lda","oa":28,"o":"JSW_State_player_y","x":[4611]},{"a":4627,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":4628,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":4629,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":4630,"t":"code","b":[201,14],"m":"cmp","o":"#$0E"},{"a":4632,"t":"code","b":[176,28],"m":"bcs","oa":4662,"o":"loc_1236"},{"a":4634,"t":"code","b":[165,81],"m":"lda","oa":81,"o":"JSW_State_fall_counter_or_title_first_key"},{"a":4636,"t":"code","b":[201,17],"m":"cmp","o":"#$11"},{"a":4638,"t":"code","b":[144,4],"m":"bcc","oa":4644,"o":"loc_1224"},{"a":4640,"t":"code","b":[169,255],"m":"lda","o":"#$FF"},{"a":4642,"t":"code","b":[133,83],"m":"sta","oa":83,"o":"JSW_State_lethal_fall_flag"},{"a":4644,"l":"loc_1224","t":"code","b":[32,233,18],"m":"jsr","oa":4841,"o":"JSW_Player_probe_jump_landing","x":[4638]},{"a":4647,"t":"code","b":[165,51],"m":"lda","oa":51,"o":"JSW_State_player_state"},{"a":4649,"t":"code","b":[201,2],"m":"cmp","o":"#$02"},{"a":4651,"t":"code","b":[240,216],"m":"beq","oa":4613,"o":"loc_1205"},{"a":4653,"t":"code","b":[165,83],"m":"lda","oa":83,"o":"JSW_State_lethal_fall_flag"},{"a":4655,"t":"code","b":[201,255],"m":"cmp","o":"#$FF"},{"a":4657,"t":"code","b":[208,219],"m":"bne","oa":4622,"o":"loc_120e"},{"a":4659,"t":"code","b":[76,240,21],"m":"jmp","oa":5616,"o":"JSW_Player_kill_player"},{"a":4662,"l":"loc_1236","t":"code","b":[165,30],"m":"lda","oa":30,"o":"JSW_State_previous_exit_down","x":[4632]},{"a":4664,"t":"code","b":[133,14],"m":"sta","oa":14,"o":"JSW_State_current_room_or_title_voice3_pointer_low"},{"a":4666,"t":"code","b":[76,39,16],"m":"jmp","oa":4135,"o":"JSW_Player_prepare_room_via_vector"},{"a":4669,"l":"JSW_Player_update_player_jumping","c":"Purpose: player state-1 jump handling, with direction, vertical delta and collision probes. An input-only fire pulse in the bathroom reached Y=84 from 104; every consecutive jump-state step matched $102D. No-input replay stayed at state 0/Y=104. Bathroom geometry changed the jump state at index 33, so the replay does not establish an unobstructed full-curve landing.","t":"code","b":[173,19,16],"m":"lda","oa":4115,"o":"JSW_State_jump_horizontal_direction"},{"a":4672,"t":"code","b":[16,3],"m":"bpl","oa":4677,"o":"loc_1245"},{"a":4674,"t":"code","b":[76,4,20],"m":"jmp","oa":5124,"o":"JSW_Player_advance_jump_left"},{"a":4677,"l":"loc_1245","t":"code","b":[240,3],"m":"beq","oa":4682,"o":"loc_124a","x":[4672]},{"a":4679,"t":"code","b":[76,98,19],"m":"jmp","oa":4962,"o":"JSW_Player_advance_jump_right"},{"a":4682,"l":"loc_124a","t":"code","b":[166,82],"m":"ldx","oa":82,"o":"JSW_State_jump_curve_index","x":[4677]},{"a":4684,"t":"code","b":[189,45,16],"m":"lda","oa":4141,"o":"JSW_State_jump_vertical_delta_table,x"},{"a":4687,"t":"code","b":[240,6],"m":"beq","oa":4695,"o":"loc_1257"},{"a":4689,"t":"code","b":[165,28],"m":"lda","oa":28,"o":"JSW_State_player_y"},{"a":4691,"t":"code","b":[41,6],"m":"and","o":"#$06"},{"a":4693,"t":"code","b":[240,29],"m":"beq","oa":4724,"o":"loc_1274"},{"a":4695,"l":"loc_1257","t":"code","b":[24],"m":"clc","x":[4687,4749,4755]},{"a":4696,"t":"code","b":[166,82],"m":"ldx","oa":82,"o":"JSW_State_jump_curve_index"},{"a":4698,"t":"code","b":[165,28],"m":"lda","oa":28,"o":"JSW_State_player_y"},{"a":4700,"t":"code","b":[125,45,16],"m":"adc","oa":4141,"o":"JSW_State_jump_vertical_delta_table,x"},{"a":4703,"t":"code","b":[133,28],"m":"sta","oa":28,"o":"JSW_State_player_y"},{"a":4705,"t":"code","b":[230,82],"m":"inc","oa":82,"o":"JSW_State_jump_curve_index"},{"a":4707,"t":"code","b":[165,82],"m":"lda","oa":82,"o":"JSW_State_jump_curve_index"},{"a":4709,"t":"code","b":[201,36],"m":"cmp","o":"#$24"},{"a":4711,"t":"code","b":[208,8],"m":"bne","oa":4721,"o":"loc_1271"},{"a":4713,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":4715,"t":"code","b":[133,82],"m":"sta","oa":82,"o":"JSW_State_jump_curve_index"},{"a":4717,"t":"code","b":[169,2],"m":"lda","o":"#$02"},{"a":4719,"t":"code","b":[133,51],"m":"sta","oa":51,"o":"JSW_State_player_state"},{"a":4721,"l":"loc_1271","t":"code","b":[76,33,16],"m":"jmp","oa":4129,"o":"JSW_Player_continue_main_loop_via_vector","x":[4711]},{"a":4724,"l":"loc_1274","t":"code","b":[165,28],"m":"lda","oa":28,"o":"JSW_State_player_y","x":[4693]},{"a":4726,"t":"code","b":[201,2],"m":"cmp","o":"#$02"},{"a":4728,"t":"code","b":[176,7],"m":"bcs","oa":4737,"o":"loc_1281"},{"a":4730,"t":"code","b":[165,29],"m":"lda","oa":29,"o":"JSW_State_previous_exit_up"},{"a":4732,"t":"code","b":[133,14],"m":"sta","oa":14,"o":"JSW_State_current_room_or_title_voice3_pointer_low"},{"a":4734,"t":"code","b":[76,39,16],"m":"jmp","oa":4135,"o":"JSW_Player_prepare_room_via_vector"},{"a":4737,"l":"loc_1281","t":"code","b":[32,136,22],"m":"jsr","oa":5768,"o":"JSW_Player_initialize_tile_location","x":[4728]},{"a":4740,"t":"code","b":[165,82],"m":"lda","oa":82,"o":"JSW_State_jump_curve_index"},{"a":4742,"t":"code","b":[201,18],"m":"cmp","o":"#$12"},{"a":4744,"t":"code","b":[176,6],"m":"bcs","oa":4752,"o":"loc_1290"},{"a":4746,"t":"code","b":[32,150,18],"m":"jsr","oa":4758,"o":"JSW_Player_probe_jump_ceiling"},{"a":4749,"t":"code","b":[76,87,18],"m":"jmp","oa":4695,"o":"loc_1257"},{"a":4752,"l":"loc_1290","t":"code","b":[32,233,18],"m":"jsr","oa":4841,"o":"JSW_Player_probe_jump_landing","x":[4744]},{"a":4755,"t":"code","b":[76,87,18],"m":"jmp","oa":4695,"o":"loc_1257"},{"a":4758,"l":"JSW_Player_probe_jump_ceiling","c":"Purpose: Probe upper cells during ascent. Inputs: current jump position and direction. Outputs: A/carry and collision path selection. Assumptions: the active phase is initialized and the stated inputs and state are valid. Clobbers: A,X,Y and tile temporaries. Hardware: screen/color state read through tile lookup.","t":"code","b":[165,80],"m":"lda","oa":80,"o":"JSW_State_player_facing_frame_or_title_key_count","x":[4746,5112,5277]},{"a":4760,"t":"code","b":[201,4],"m":"cmp","o":"#$04"},{"a":4762,"t":"code","b":[144,22],"m":"bcc","oa":4786,"o":"loc_12b2"},{"a":4764,"t":"code","b":[165,50],"m":"lda","oa":50,"o":"JSW_State_player_horizontal_phase"},{"a":4766,"t":"code","b":[201,6],"m":"cmp","o":"#$06"},{"a":4768,"t":"code","b":[176,6],"m":"bcs","oa":4776,"o":"loc_12a8"},{"a":4770,"t":"code","b":[32,98,16],"m":"jsr","oa":4194,"o":"JSW_Player_probe_tile_above"},{"a":4773,"t":"code","b":[32,203,18],"m":"jsr","oa":4811,"o":"JSW_Player_handle_upward_jump_collision"},{"a":4776,"l":"loc_12a8","t":"code","b":[238,20,16],"m":"inc","oa":4116,"o":"JSW_State_tile_probe_x","x":[4768]},{"a":4779,"t":"code","b":[32,98,16],"m":"jsr","oa":4194,"o":"JSW_Player_probe_tile_above"},{"a":4782,"t":"code","b":[32,203,18],"m":"jsr","oa":4811,"o":"JSW_Player_handle_upward_jump_collision"},{"a":4785,"t":"code","b":[96],"m":"rts"},{"a":4786,"l":"loc_12b2","t":"code","b":[165,50],"m":"lda","oa":50,"o":"JSW_State_player_horizontal_phase","x":[4762]},{"a":4788,"t":"code","b":[201,2],"m":"cmp","o":"#$02"},{"a":4790,"t":"code","b":[144,12],"m":"bcc","oa":4804,"o":"loc_12c4"},{"a":4792,"t":"code","b":[238,20,16],"m":"inc","oa":4116,"o":"JSW_State_tile_probe_x"},{"a":4795,"t":"code","b":[32,98,16],"m":"jsr","oa":4194,"o":"JSW_Player_probe_tile_above"},{"a":4798,"t":"code","b":[32,203,18],"m":"jsr","oa":4811,"o":"JSW_Player_handle_upward_jump_collision"},{"a":4801,"t":"code","b":[206,20,16],"m":"dec","oa":4116,"o":"JSW_State_tile_probe_x"},{"a":4804,"l":"loc_12c4","t":"code","b":[32,98,16],"m":"jsr","oa":4194,"o":"JSW_Player_probe_tile_above","x":[4790]},{"a":4807,"t":"code","b":[32,203,18],"m":"jsr","oa":4811,"o":"JSW_Player_handle_upward_jump_collision"},{"a":4810,"t":"code","b":[96],"m":"rts"},{"a":4811,"l":"JSW_Player_handle_upward_jump_collision","c":"Purpose: Resolve ceiling contact with solid, fire, and item tiles. Inputs: tile code from ascent probes. Outputs: continued jump, item collection, or death. Assumptions: the active phase is initialized and the stated inputs and state are valid. Clobbers: A and called helpers. Hardware: none directly.","t":"code","b":[201,2],"m":"cmp","o":"#$02","x":[4773,4782,4798,4807]},{"a":4813,"t":"code","b":[208,11],"m":"bne","oa":4826,"o":"loc_12da"},{"a":4815,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":4817,"t":"code","b":[133,82],"m":"sta","oa":82,"o":"JSW_State_jump_curve_index"},{"a":4819,"t":"code","b":[169,2],"m":"lda","o":"#$02"},{"a":4821,"t":"code","b":[133,51],"m":"sta","oa":51,"o":"JSW_State_player_state"},{"a":4823,"t":"code","b":[76,33,16],"m":"jmp","oa":4129,"o":"JSW_Player_continue_main_loop_via_vector"},{"a":4826,"l":"loc_12da","t":"code","b":[201,3],"m":"cmp","o":"#$03","x":[4813]},{"a":4828,"t":"code","b":[208,3],"m":"bne","oa":4833,"o":"loc_12e1"},{"a":4830,"t":"code","b":[76,240,21],"m":"jmp","oa":5616,"o":"JSW_Player_kill_player"},{"a":4833,"l":"loc_12e1","t":"code","b":[201,6],"m":"cmp","o":"#$06","x":[4828]},{"a":4835,"t":"code","b":[208,3],"m":"bne","oa":4840,"o":"loc_12e8"},{"a":4837,"t":"code","b":[32,251,21],"m":"jsr","oa":5627,"o":"JSW_Player_collect_item_if_present"},{"a":4840,"l":"loc_12e8","t":"code","b":[96],"m":"rts","x":[4835]},{"a":4841,"l":"JSW_Player_probe_jump_landing","c":"Purpose: Probe cells below Willy during descending jump motion. Inputs: player position/direction. Outputs: landing tile classification. Assumptions: the active phase is initialized and the stated inputs and state are valid. Clobbers: A,X,Y and tile temporaries. Hardware: screen/color state read through tile lookup.","t":"code","b":[32,136,22],"m":"jsr","oa":5768,"o":"JSW_Player_initialize_tile_location","x":[4644,4752,5118,5283]},{"a":4844,"t":"code","b":[165,80],"m":"lda","oa":80,"o":"JSW_State_player_facing_frame_or_title_key_count"},{"a":4846,"t":"code","b":[201,4],"m":"cmp","o":"#$04"},{"a":4848,"t":"code","b":[144,22],"m":"bcc","oa":4872,"o":"loc_1308"},{"a":4850,"t":"code","b":[165,50],"m":"lda","oa":50,"o":"JSW_State_player_horizontal_phase"},{"a":4852,"t":"code","b":[201,6],"m":"cmp","o":"#$06"},{"a":4854,"t":"code","b":[176,6],"m":"bcs","oa":4862,"o":"loc_12fe"},{"a":4856,"t":"code","b":[32,107,16],"m":"jsr","oa":4203,"o":"JSW_Player_probe_tile_two_rows_below"},{"a":4859,"t":"code","b":[32,33,19],"m":"jsr","oa":4897,"o":"JSW_Player_handle_landing_tile"},{"a":4862,"l":"loc_12fe","t":"code","b":[238,20,16],"m":"inc","oa":4116,"o":"JSW_State_tile_probe_x","x":[4854]},{"a":4865,"t":"code","b":[32,107,16],"m":"jsr","oa":4203,"o":"JSW_Player_probe_tile_two_rows_below"},{"a":4868,"t":"code","b":[32,33,19],"m":"jsr","oa":4897,"o":"JSW_Player_handle_landing_tile"},{"a":4871,"t":"code","b":[96],"m":"rts"},{"a":4872,"l":"loc_1308","t":"code","b":[165,50],"m":"lda","oa":50,"o":"JSW_State_player_horizontal_phase","x":[4848]},{"a":4874,"t":"code","b":[201,2],"m":"cmp","o":"#$02"},{"a":4876,"t":"code","b":[144,12],"m":"bcc","oa":4890,"o":"loc_131a"},{"a":4878,"t":"code","b":[238,20,16],"m":"inc","oa":4116,"o":"JSW_State_tile_probe_x"},{"a":4881,"t":"code","b":[32,107,16],"m":"jsr","oa":4203,"o":"JSW_Player_probe_tile_two_rows_below"},{"a":4884,"t":"code","b":[32,33,19],"m":"jsr","oa":4897,"o":"JSW_Player_handle_landing_tile"},{"a":4887,"t":"code","b":[206,20,16],"m":"dec","oa":4116,"o":"JSW_State_tile_probe_x"},{"a":4890,"l":"loc_131a","t":"code","b":[32,107,16],"m":"jsr","oa":4203,"o":"JSW_Player_probe_tile_two_rows_below","x":[4876]},{"a":4893,"t":"code","b":[32,33,19],"m":"jsr","oa":4897,"o":"JSW_Player_handle_landing_tile"},{"a":4896,"t":"code","b":[96],"m":"rts"},{"a":4897,"l":"JSW_Player_handle_landing_tile","c":"Purpose: Resolve landing on solid, fire, item, ramp, or conveyor tiles. Inputs: tile code and movement state. Outputs: grounded/ramp/conveyor state, item collection, or death. Assumptions: the active phase is initialized and the stated inputs and state are valid. Clobbers: A and player state. Hardware: none directly.","t":"code","b":[201,1],"m":"cmp","o":"#$01","x":[4859,4868,4884,4893]},{"a":4899,"t":"code","b":[240,56],"m":"beq","oa":4957,"o":"loc_135d"},{"a":4901,"t":"code","b":[201,2],"m":"cmp","o":"#$02"},{"a":4903,"t":"code","b":[240,52],"m":"beq","oa":4957,"o":"loc_135d"},{"a":4905,"t":"code","b":[201,3],"m":"cmp","o":"#$03"},{"a":4907,"t":"code","b":[208,3],"m":"bne","oa":4912,"o":"loc_1330"},{"a":4909,"t":"code","b":[76,240,21],"m":"jmp","oa":5616,"o":"JSW_Player_kill_player"},{"a":4912,"l":"loc_1330","t":"code","b":[201,6],"m":"cmp","o":"#$06","x":[4907]},{"a":4914,"t":"code","b":[208,4],"m":"bne","oa":4920,"o":"loc_1338"},{"a":4916,"t":"code","b":[32,251,21],"m":"jsr","oa":5627,"o":"JSW_Player_collect_item_if_present"},{"a":4919,"t":"code","b":[96],"m":"rts"},{"a":4920,"l":"loc_1338","t":"code","b":[201,4],"m":"cmp","o":"#$04","x":[4914]},{"a":4922,"t":"code","b":[208,14],"m":"bne","oa":4938,"o":"loc_134a"},{"a":4924,"t":"code","b":[169,3],"m":"lda","o":"#$03"},{"a":4926,"t":"code","b":[133,51],"m":"sta","oa":51,"o":"JSW_State_player_state"},{"a":4928,"t":"code","b":[165,79],"m":"lda","oa":79,"o":"JSW_State_player_x_cell"},{"a":4930,"t":"code","b":[201,31],"m":"cmp","o":"#$1F"},{"a":4932,"t":"code","b":[240,3],"m":"beq","oa":4937,"o":"loc_1349"},{"a":4934,"t":"code","b":[32,149,22],"m":"jsr","oa":5781,"o":"JSW_Player_align_ramp_animation_phase"},{"a":4937,"l":"loc_1349","t":"code","b":[96],"m":"rts","x":[4932]},{"a":4938,"l":"loc_134a","t":"code","b":[201,5],"m":"cmp","o":"#$05","x":[4922]},{"a":4940,"t":"code","b":[208,14],"m":"bne","oa":4956,"o":"loc_135c"},{"a":4942,"t":"code","b":[165,51],"m":"lda","oa":51,"o":"JSW_State_player_state"},{"a":4944,"t":"code","b":[141,21,16],"m":"sta","oa":4117,"o":"JSW_State_conveyor_entry_saved_state"},{"a":4947,"t":"code","b":[169,5],"m":"lda","o":"#$05"},{"a":4949,"t":"code","b":[133,51],"m":"sta","oa":51,"o":"JSW_State_player_state"},{"a":4951,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":4953,"t":"code","b":[141,22,16],"m":"sta","oa":4118,"o":"JSW_State_conveyor_entry_first_pass"},{"a":4956,"l":"loc_135c","t":"code","b":[96],"m":"rts","x":[4940]},{"a":4957,"l":"loc_135d","t":"code","b":[169,0],"m":"lda","o":"#$00","x":[4899,4903]},{"a":4959,"t":"code","b":[133,51],"m":"sta","oa":51,"o":"JSW_State_player_state"},{"a":4961,"t":"code","b":[96],"m":"rts"},{"a":4962,"l":"JSW_Player_advance_jump_right","c":"Purpose: Advance right-moving jump, including screen-edge room transitions and side collisions. Inputs: player coordinates/jump state. Outputs: updated position or transition. Assumptions: the active phase is initialized and the stated inputs and state are valid. Clobbers: A,X,Y and player state. Hardware: tile probes read display state.","t":"code","b":[166,82],"m":"ldx","oa":82,"o":"JSW_State_jump_curve_index","x":[4679]},{"a":4964,"t":"code","b":[189,45,16],"m":"lda","oa":4141,"o":"JSW_State_jump_vertical_delta_table,x"},{"a":4967,"t":"code","b":[240,9],"m":"beq","oa":4978,"o":"JSW_Player_advance_jump_right_position"},{"a":4969,"t":"code","b":[165,28],"m":"lda","oa":28,"o":"JSW_State_player_y"},{"a":4971,"t":"code","b":[41,6],"m":"and","o":"#$06"},{"a":4973,"t":"code","b":[208,3],"m":"bne","oa":4978,"o":"JSW_Player_advance_jump_right_position"},{"a":4975,"t":"code","b":[76,226,19],"m":"jmp","oa":5090,"o":"loc_13e2"},{"a":4978,"l":"JSW_Player_advance_jump_right_position","c":"Purpose: Apply the current step of the 36-entry jump curve to the player's vertical pixel position and advance a right-moving jump by one horizontal sub-cell, crossing into the next cell when the phase wraps. Inputs: jump_curve_index $52, the signed vertical delta table at $102D, player_y $1C, player_horizontal_phase $32 and player_x_cell $4F. No register input: X is reloaded from $52 and A from the table. The external caller $0FDB in jump_right_collision_trampoline arrives with A = 1, the player state it has just compared, and Z set by the CMP #$01 at $0FD4; that value is dead here. C is cleared locally by the CLC at $1372, so the caller's carry does not matter. Outputs: updated $1C; then either the cell-aligned branch at $13AC, which takes the right-hand room exit at column $1F or runs the right-tile collision probes, or a phase advance that continues into the curve step at $138F. Nothing returns. Assumptions: $0FDB is a JMP tail call, and $0FD2 was itself reached by JMP from $1401 inside advance_jump_right, so neither owns a return address; player state 1 was entered by JMP ($1011), so the topmost stack word still belongs to the game main loop. $52 must be below $24 - the indexed table read is unchecked - and the caller guarantees this only by having come through the curve. Clobbers: A, X, flags, $1C and, on a cell crossing, $4F, $32 and $50; Y is preserved by this block but not by the probe paths it falls into, which also clobber $0F, $1014 and $07-$0A. Hardware: none at this address; the collision probes it reaches read screen RAM at $7C00-$7FFF in VIC bank 1, and the room-exit path hands VIC-II reconfiguration to prepare_room_entry $2DC6.","t":"code","b":[24],"m":"clc","x":[4059,4967,4973,5115]},{"a":4979,"t":"code","b":[166,82],"m":"ldx","oa":82,"o":"JSW_State_jump_curve_index"},{"a":4981,"t":"code","b":[189,45,16],"m":"lda","oa":4141,"o":"JSW_State_jump_vertical_delta_table,x"},{"a":4984,"t":"code","b":[101,28],"m":"adc","oa":28,"o":"JSW_State_player_y"},{"a":4986,"t":"code","b":[133,28],"m":"sta","oa":28,"o":"JSW_State_player_y"},{"a":4988,"t":"code","b":[165,50],"m":"lda","oa":50,"o":"JSW_State_player_horizontal_phase"},{"a":4990,"t":"code","b":[240,44],"m":"beq","oa":5036,"o":"loc_13ac"},{"a":4992,"t":"code","b":[24],"m":"clc"},{"a":4993,"t":"code","b":[105,1],"m":"adc","o":"#$01"},{"a":4995,"t":"code","b":[201,8],"m":"cmp","o":"#$08"},{"a":4997,"t":"code","b":[208,29],"m":"bne","oa":5028,"o":"loc_13a4"},{"a":4999,"t":"code","b":[230,79],"m":"inc","oa":79,"o":"JSW_State_player_x_cell"},{"a":5001,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":5003,"t":"code","b":[133,50],"m":"sta","oa":50,"o":"JSW_State_player_horizontal_phase"},{"a":5005,"t":"code","b":[133,80],"m":"sta","oa":80,"o":"JSW_State_player_facing_frame_or_title_key_count"},{"a":5007,"l":"JSW_Player_advance_jump_right_curve_index","c":"Purpose: Advance the jump curve index by one and, when the 36-step curve is exhausted at index $24, end the jump by clearing the curve and fall counters and switching the player to falling state 2; then leave through the main-loop continuation vector. Inputs: jump_curve_index $52. No register input: A is reloaded from $52 by the LDA at $1391. The external caller $14BC in handle_horizontal_jump_collision arrives with A = 2, the contacted tile code it has just compared, and Z set by the CMP #$02 at $14B8; that value is dead. Outputs: $52 incremented, or $52 = $51 = 0 and $33 = 2 at curve end; control leaves through continue_main_loop_via_vector $1021 in every case. Assumptions: this is the right-moving jump's curve step, but handle_horizontal_jump_collision is JSR-called from advance_jump_right at $13C5, $13CD and $13DB and from advance_jump_left at $1469, $1471 and $147F, so a left-moving jump that contacts tile code 2 also lands here and skips the left routine's own equivalent step at $1444. In every case $14BC abandons the JSR return address that handle_horizontal_jump_collision was entered with: it is never popped, and the stack is reclaimed only by the LDX #$FF / TXS at $334F reached through $1021. Clobbers: A and flags; $52, and at curve end $51 and $33. X and Y are preserved. Hardware: none directly; the vector target $334F resets the stack pointer and drives SID voice 3 when the collected-item count has changed.","t":"code","b":[230,82],"m":"inc","oa":82,"o":"JSW_State_jump_curve_index","x":[5033,5308]},{"a":5009,"t":"code","b":[165,82],"m":"lda","oa":82,"o":"JSW_State_jump_curve_index"},{"a":5011,"t":"code","b":[201,36],"m":"cmp","o":"#$24"},{"a":5013,"t":"code","b":[208,10],"m":"bne","oa":5025,"o":"loc_13a1"},{"a":5015,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":5017,"t":"code","b":[133,82],"m":"sta","oa":82,"o":"JSW_State_jump_curve_index"},{"a":5019,"t":"code","b":[133,81],"m":"sta","oa":81,"o":"JSW_State_fall_counter_or_title_first_key"},{"a":5021,"t":"code","b":[169,2],"m":"lda","o":"#$02"},{"a":5023,"t":"code","b":[133,51],"m":"sta","oa":51,"o":"JSW_State_player_state"},{"a":5025,"l":"loc_13a1","t":"code","b":[76,33,16],"m":"jmp","oa":4129,"o":"JSW_Player_continue_main_loop_via_vector","x":[5013]},{"a":5028,"l":"loc_13a4","t":"code","b":[133,50],"m":"sta","oa":50,"o":"JSW_State_player_horizontal_phase","x":[4997,5088]},{"a":5030,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":5031,"t":"code","b":[133,80],"m":"sta","oa":80,"o":"JSW_State_player_facing_frame_or_title_key_count"},{"a":5033,"t":"code","b":[76,143,19],"m":"jmp","oa":5007,"o":"JSW_Player_advance_jump_right_curve_index"},{"a":5036,"l":"loc_13ac","t":"code","b":[165,79],"m":"lda","oa":79,"o":"JSW_State_player_x_cell","x":[4990]},{"a":5038,"t":"code","b":[201,31],"m":"cmp","o":"#$1F"},{"a":5040,"t":"code","b":[208,13],"m":"bne","oa":5055,"o":"loc_13bf"},{"a":5042,"t":"code","b":[165,28],"m":"lda","oa":28,"o":"JSW_State_player_y"},{"a":5044,"t":"code","b":[41,254],"m":"and","o":"#$FE"},{"a":5046,"t":"code","b":[133,28],"m":"sta","oa":28,"o":"JSW_State_player_y"},{"a":5048,"t":"code","b":[165,32],"m":"lda","oa":32,"o":"JSW_State_previous_exit_right"},{"a":5050,"t":"code","b":[133,14],"m":"sta","oa":14,"o":"JSW_State_current_room_or_title_voice3_pointer_low"},{"a":5052,"t":"code","b":[76,39,16],"m":"jmp","oa":4135,"o":"JSW_Player_prepare_room_via_vector"},{"a":5055,"l":"loc_13bf","t":"code","b":[32,136,22],"m":"jsr","oa":5768,"o":"JSW_Player_initialize_tile_location","x":[5040]},{"a":5058,"t":"code","b":[32,81,16],"m":"jsr","oa":4177,"o":"JSW_Player_probe_tile_right"},{"a":5061,"t":"code","b":[32,169,20],"m":"jsr","oa":5289,"o":"JSW_Player_handle_horizontal_jump_collision"},{"a":5064,"t":"code","b":[230,15],"m":"inc","oa":15,"o":"JSW_State_working_tile_row_or_title_voice3_pointer_high"},{"a":5066,"t":"code","b":[32,81,16],"m":"jsr","oa":4177,"o":"JSW_Player_probe_tile_right"},{"a":5069,"t":"code","b":[32,169,20],"m":"jsr","oa":5289,"o":"JSW_Player_handle_horizontal_jump_collision"},{"a":5072,"t":"code","b":[165,28],"m":"lda","oa":28,"o":"JSW_State_player_y"},{"a":5074,"t":"code","b":[41,6],"m":"and","o":"#$06"},{"a":5076,"t":"code","b":[240,8],"m":"beq","oa":5086,"o":"loc_13de"},{"a":5078,"t":"code","b":[230,15],"m":"inc","oa":15,"o":"JSW_State_working_tile_row_or_title_voice3_pointer_high"},{"a":5080,"t":"code","b":[32,81,16],"m":"jsr","oa":4177,"o":"JSW_Player_probe_tile_right"},{"a":5083,"t":"code","b":[32,169,20],"m":"jsr","oa":5289,"o":"JSW_Player_handle_horizontal_jump_collision"},{"a":5086,"l":"loc_13de","t":"code","b":[169,1],"m":"lda","o":"#$01","x":[5076]},{"a":5088,"t":"code","b":[208,194],"m":"bne","oa":5028,"o":"loc_13a4"},{"a":5090,"l":"loc_13e2","t":"code","b":[165,28],"m":"lda","oa":28,"o":"JSW_State_player_y","x":[4975]},{"a":5092,"t":"code","b":[201,2],"m":"cmp","o":"#$02"},{"a":5094,"t":"code","b":[176,7],"m":"bcs","oa":5103,"o":"loc_13ef"},{"a":5096,"t":"code","b":[165,29],"m":"lda","oa":29,"o":"JSW_State_previous_exit_up"},{"a":5098,"t":"code","b":[133,14],"m":"sta","oa":14,"o":"JSW_State_current_room_or_title_voice3_pointer_low"},{"a":5100,"t":"code","b":[76,39,16],"m":"jmp","oa":4135,"o":"JSW_Player_prepare_room_via_vector"},{"a":5103,"l":"loc_13ef","t":"code","b":[32,136,22],"m":"jsr","oa":5768,"o":"JSW_Player_initialize_tile_location","x":[5094]},{"a":5106,"t":"code","b":[165,82],"m":"lda","oa":82,"o":"JSW_State_jump_curve_index"},{"a":5108,"t":"code","b":[201,18],"m":"cmp","o":"#$12"},{"a":5110,"t":"code","b":[176,6],"m":"bcs","oa":5118,"o":"loc_13fe"},{"a":5112,"t":"code","b":[32,150,18],"m":"jsr","oa":4758,"o":"JSW_Player_probe_jump_ceiling"},{"a":5115,"t":"code","b":[76,114,19],"m":"jmp","oa":4978,"o":"JSW_Player_advance_jump_right_position"},{"a":5118,"l":"loc_13fe","t":"code","b":[32,233,18],"m":"jsr","oa":4841,"o":"JSW_Player_probe_jump_landing","x":[5110]},{"a":5121,"t":"code","b":[76,210,15],"m":"jmp","oa":4050,"o":"JSW_Player_jump_right_collision_trampoline"},{"a":5124,"l":"JSW_Player_advance_jump_left","c":"Purpose: Advance left-moving jump, including screen-edge room transitions and side collisions. Inputs: player coordinates/jump state. Outputs: updated position or transition. Assumptions: the active phase is initialized and the stated inputs and state are valid. Clobbers: A,X,Y and player state. Hardware: tile probes read display state.","t":"code","b":[166,82],"m":"ldx","oa":82,"o":"JSW_State_jump_curve_index","x":[4674]},{"a":5126,"t":"code","b":[189,45,16],"m":"lda","oa":4141,"o":"JSW_State_jump_vertical_delta_table,x"},{"a":5129,"t":"code","b":[240,9],"m":"beq","oa":5140,"o":"JSW_Player_advance_jump_left_position"},{"a":5131,"t":"code","b":[165,28],"m":"lda","oa":28,"o":"JSW_State_player_y"},{"a":5133,"t":"code","b":[41,6],"m":"and","o":"#$06"},{"a":5135,"t":"code","b":[208,3],"m":"bne","oa":5140,"o":"JSW_Player_advance_jump_left_position"},{"a":5137,"t":"code","b":[76,135,20],"m":"jmp","oa":5255,"o":"loc_1487"},{"a":5140,"l":"JSW_Player_advance_jump_left_position","c":"Purpose: Apply the current step of the 36-entry jump curve to the player's vertical pixel position and advance a left-moving jump by one horizontal sub-cell, crossing into the previous cell when the phase underflows. Inputs: jump_curve_index $52, the signed vertical delta table at $102D, player_y $1C, player_x_cell $4F, player_horizontal_phase $32 and previous_exit_left $1F on the exit path. No register input: X is reloaded from $52 and A from the table. The external caller $0FEF in jump_left_collision_trampoline arrives with A = 1, the player state it has just compared, and Z set by the CMP #$01 at $0FE8; that value is dead. C is cleared locally by the CLC at $1414, so the caller's carry does not matter. Outputs: updated $1C; then either the left-edge room exit when $4F and $32 are both zero - $0E loaded from $1F, $1C forced even, prepare_room_via_vector $1027 - or a phase decrement, or the left-tile collision probes at $1463. Nothing returns. Assumptions: $0FEF is a JMP tail call, and $0FE6 was itself reached by JMP from $14A6 inside advance_jump_left, so neither owns a return address; player state 1 was entered by JMP ($1011), so the topmost stack word still belongs to the game main loop. $52 must be below $24 - the indexed table read is unchecked. Clobbers: A, X, flags, $1C and, on a cell crossing, $4F, $32 and $50; Y is preserved by this block but not by the probe paths it falls into, which also clobber $0F, $1014 and $07-$0A. Hardware: none at this address; the collision probes it reaches read screen RAM at $7C00-$7FFF in VIC bank 1, and the room-exit path hands VIC-II reconfiguration to prepare_room_entry $2DC6.","t":"code","b":[24],"m":"clc","x":[4079,5129,5135,5280]},{"a":5141,"t":"code","b":[166,82],"m":"ldx","oa":82,"o":"JSW_State_jump_curve_index"},{"a":5143,"t":"code","b":[189,45,16],"m":"lda","oa":4141,"o":"JSW_State_jump_vertical_delta_table,x"},{"a":5146,"t":"code","b":[101,28],"m":"adc","oa":28,"o":"JSW_State_player_y"},{"a":5148,"t":"code","b":[133,28],"m":"sta","oa":28,"o":"JSW_State_player_y"},{"a":5150,"t":"code","b":[165,79],"m":"lda","oa":79,"o":"JSW_State_player_x_cell"},{"a":5152,"t":"code","b":[5,50],"m":"ora","oa":50,"o":"JSW_State_player_horizontal_phase"},{"a":5154,"t":"code","b":[208,13],"m":"bne","oa":5169,"o":"loc_1431"},{"a":5156,"t":"code","b":[165,31],"m":"lda","oa":31,"o":"JSW_State_previous_exit_left"},{"a":5158,"t":"code","b":[133,14],"m":"sta","oa":14,"o":"JSW_State_current_room_or_title_voice3_pointer_low"},{"a":5160,"t":"code","b":[165,28],"m":"lda","oa":28,"o":"JSW_State_player_y"},{"a":5162,"t":"code","b":[41,254],"m":"and","o":"#$FE"},{"a":5164,"t":"code","b":[133,28],"m":"sta","oa":28,"o":"JSW_State_player_y"},{"a":5166,"t":"code","b":[76,39,16],"m":"jmp","oa":4135,"o":"JSW_Player_prepare_room_via_vector"},{"a":5169,"l":"loc_1431","t":"code","b":[165,50],"m":"lda","oa":50,"o":"JSW_State_player_horizontal_phase","x":[5154]},{"a":5171,"t":"code","b":[201,6],"m":"cmp","o":"#$06"},{"a":5173,"t":"code","b":[176,44],"m":"bcs","oa":5219,"o":"loc_1463"},{"a":5175,"t":"code","b":[56],"m":"sec"},{"a":5176,"t":"code","b":[233,1],"m":"sbc","o":"#$01"},{"a":5178,"t":"code","b":[16,29],"m":"bpl","oa":5209,"o":"loc_1459"},{"a":5180,"t":"code","b":[198,79],"m":"dec","oa":79,"o":"JSW_State_player_x_cell"},{"a":5182,"t":"code","b":[169,7],"m":"lda","o":"#$07"},{"a":5184,"t":"code","b":[133,50],"m":"sta","oa":50,"o":"JSW_State_player_horizontal_phase"},{"a":5186,"t":"code","b":[133,80],"m":"sta","oa":80,"o":"JSW_State_player_facing_frame_or_title_key_count"},{"a":5188,"l":"loc_1444","t":"code","b":[230,82],"m":"inc","oa":82,"o":"JSW_State_jump_curve_index","x":[5216]},{"a":5190,"t":"code","b":[165,82],"m":"lda","oa":82,"o":"JSW_State_jump_curve_index"},{"a":5192,"t":"code","b":[201,36],"m":"cmp","o":"#$24"},{"a":5194,"t":"code","b":[208,10],"m":"bne","oa":5206,"o":"loc_1456"},{"a":5196,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":5198,"t":"code","b":[133,82],"m":"sta","oa":82,"o":"JSW_State_jump_curve_index"},{"a":5200,"t":"code","b":[133,81],"m":"sta","oa":81,"o":"JSW_State_fall_counter_or_title_first_key"},{"a":5202,"t":"code","b":[169,2],"m":"lda","o":"#$02"},{"a":5204,"t":"code","b":[133,51],"m":"sta","oa":51,"o":"JSW_State_player_state"},{"a":5206,"l":"loc_1456","t":"code","b":[76,33,16],"m":"jmp","oa":4129,"o":"JSW_Player_continue_main_loop_via_vector","x":[5194]},{"a":5209,"l":"loc_1459","t":"code","b":[133,50],"m":"sta","oa":50,"o":"JSW_State_player_horizontal_phase","x":[5178,5252]},{"a":5211,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":5212,"t":"code","b":[9,4],"m":"ora","o":"#$04"},{"a":5214,"t":"code","b":[133,80],"m":"sta","oa":80,"o":"JSW_State_player_facing_frame_or_title_key_count"},{"a":5216,"t":"code","b":[76,68,20],"m":"jmp","oa":5188,"o":"loc_1444"},{"a":5219,"l":"loc_1463","t":"code","b":[32,136,22],"m":"jsr","oa":5768,"o":"JSW_Player_initialize_tile_location","x":[5173]},{"a":5222,"t":"code","b":[32,90,16],"m":"jsr","oa":4186,"o":"JSW_Player_probe_tile_current"},{"a":5225,"t":"code","b":[32,169,20],"m":"jsr","oa":5289,"o":"JSW_Player_handle_horizontal_jump_collision"},{"a":5228,"t":"code","b":[230,15],"m":"inc","oa":15,"o":"JSW_State_working_tile_row_or_title_voice3_pointer_high"},{"a":5230,"t":"code","b":[32,90,16],"m":"jsr","oa":4186,"o":"JSW_Player_probe_tile_current"},{"a":5233,"t":"code","b":[32,169,20],"m":"jsr","oa":5289,"o":"JSW_Player_handle_horizontal_jump_collision"},{"a":5236,"t":"code","b":[165,28],"m":"lda","oa":28,"o":"JSW_State_player_y"},{"a":5238,"t":"code","b":[41,6],"m":"and","o":"#$06"},{"a":5240,"t":"code","b":[240,8],"m":"beq","oa":5250,"o":"loc_1482"},{"a":5242,"t":"code","b":[230,15],"m":"inc","oa":15,"o":"JSW_State_working_tile_row_or_title_voice3_pointer_high"},{"a":5244,"t":"code","b":[32,90,16],"m":"jsr","oa":4186,"o":"JSW_Player_probe_tile_current"},{"a":5247,"t":"code","b":[32,169,20],"m":"jsr","oa":5289,"o":"JSW_Player_handle_horizontal_jump_collision"},{"a":5250,"l":"loc_1482","t":"code","b":[169,5],"m":"lda","o":"#$05","x":[5240]},{"a":5252,"t":"code","b":[76,89,20],"m":"jmp","oa":5209,"o":"loc_1459"},{"a":5255,"l":"loc_1487","t":"code","b":[165,28],"m":"lda","oa":28,"o":"JSW_State_player_y","x":[5137]},{"a":5257,"t":"code","b":[201,2],"m":"cmp","o":"#$02"},{"a":5259,"t":"code","b":[176,7],"m":"bcs","oa":5268,"o":"loc_1494"},{"a":5261,"t":"code","b":[165,29],"m":"lda","oa":29,"o":"JSW_State_previous_exit_up"},{"a":5263,"t":"code","b":[133,14],"m":"sta","oa":14,"o":"JSW_State_current_room_or_title_voice3_pointer_low"},{"a":5265,"t":"code","b":[76,39,16],"m":"jmp","oa":4135,"o":"JSW_Player_prepare_room_via_vector"},{"a":5268,"l":"loc_1494","t":"code","b":[32,136,22],"m":"jsr","oa":5768,"o":"JSW_Player_initialize_tile_location","x":[5259]},{"a":5271,"t":"code","b":[165,82],"m":"lda","oa":82,"o":"JSW_State_jump_curve_index"},{"a":5273,"t":"code","b":[201,18],"m":"cmp","o":"#$12"},{"a":5275,"t":"code","b":[176,6],"m":"bcs","oa":5283,"o":"loc_14a3"},{"a":5277,"t":"code","b":[32,150,18],"m":"jsr","oa":4758,"o":"JSW_Player_probe_jump_ceiling"},{"a":5280,"t":"code","b":[76,20,20],"m":"jmp","oa":5140,"o":"JSW_Player_advance_jump_left_position"},{"a":5283,"l":"loc_14a3","t":"code","b":[32,233,18],"m":"jsr","oa":4841,"o":"JSW_Player_probe_jump_landing","x":[5275]},{"a":5286,"t":"code","b":[76,230,15],"m":"jmp","oa":4070,"o":"JSW_Player_jump_left_collision_trampoline"},{"a":5289,"l":"JSW_Player_handle_horizontal_jump_collision","c":"Purpose: Shared response to a horizontal jump collision. Inputs: contacted tile code and jump direction. Outputs: item/death/state response or continued motion. Assumptions: the active phase is initialized and the stated inputs and state are valid. Clobbers: A and called helpers. Hardware: none directly.","t":"code","b":[201,3],"m":"cmp","o":"#$03","x":[5061,5069,5083,5225,5233,5247]},{"a":5291,"t":"code","b":[208,3],"m":"bne","oa":5296,"o":"loc_14b0"},{"a":5293,"t":"code","b":[76,240,21],"m":"jmp","oa":5616,"o":"JSW_Player_kill_player"},{"a":5296,"l":"loc_14b0","t":"code","b":[201,6],"m":"cmp","o":"#$06","x":[5291]},{"a":5298,"t":"code","b":[208,4],"m":"bne","oa":5304,"o":"loc_14b8"},{"a":5300,"t":"code","b":[32,251,21],"m":"jsr","oa":5627,"o":"JSW_Player_collect_item_if_present"},{"a":5303,"t":"code","b":[96],"m":"rts"},{"a":5304,"l":"loc_14b8","t":"code","b":[201,2],"m":"cmp","o":"#$02","x":[5298]},{"a":5306,"t":"code","b":[208,3],"m":"bne","oa":5311,"o":"loc_14bf"},{"a":5308,"t":"code","b":[76,143,19],"m":"jmp","oa":5007,"o":"JSW_Player_advance_jump_right_curve_index"},{"a":5311,"l":"loc_14bf","t":"code","b":[96],"m":"rts","x":[5306]},{"a":5312,"l":"JSW_State_ramp_traversal_counter","c":"Writable ramp traversal counter used by player state 3.","t":"byte","b":[0],"x":[5313,5375,5389,5396,5399]},{"a":5313,"l":"JSW_Player_update_player_on_ramp","c":"Mutable player-state-3 ramp traversal counter.\nPurpose: Player state 3 traverses a ramp opposite the stored ramp direction and rises two pixels per update. Inputs: $11 ramp direction, $14C0 counter, input/player state. Outputs: new position/state. Assumptions: the active phase is initialized and the stated inputs and state are valid. Clobbers: A,X,Y and player state. Hardware: tile probes may read display state.","t":"code","b":[173,192,20],"m":"lda","oa":5312,"o":"JSW_State_ramp_traversal_counter"},{"a":5316,"l":"annotation_14c4","c":"Player state 3 is ramp traversal: motion opposes the stored ramp direction, rises two pixels per update, and returns to ordinary grounded state when input or alignment no longer sustains the traversal.","t":"code","b":[208,74],"m":"bne","oa":5392,"o":"loc_1510"},{"a":5318,"t":"code","b":[165,75],"m":"lda","oa":75,"o":"JSW_State_dormant_turnaround_marker"},{"a":5320,"t":"code","b":[240,9],"m":"beq","oa":5331,"o":"loc_14d3"},{"a":5322,"t":"code","b":[165,80],"m":"lda","oa":80,"o":"JSW_State_player_facing_frame_or_title_key_count"},{"a":5324,"t":"code","b":[73,4],"m":"eor","o":"#$04"},{"a":5326,"t":"code","b":[133,80],"m":"sta","oa":80,"o":"JSW_State_player_facing_frame_or_title_key_count"},{"a":5328,"t":"code","b":[76,33,16],"m":"jmp","oa":4129,"o":"JSW_Player_continue_main_loop_via_vector"},{"a":5331,"l":"loc_14d3","t":"code","b":[165,73],"m":"lda","oa":73,"o":"JSW_State_manual_horizontal_direction","x":[5320]},{"a":5333,"t":"code","b":[69,17],"m":"eor","oa":17,"o":"JSW_State_ramp_direction"},{"a":5335,"t":"code","b":[201,254],"m":"cmp","o":"#$FE"},{"a":5337,"t":"code","b":[240,7],"m":"beq","oa":5346,"o":"loc_14e2"},{"a":5339,"l":"loc_14db","t":"code","b":[169,0],"m":"lda","o":"#$00","x":[5371,5385,5402]},{"a":5341,"t":"code","b":[133,51],"m":"sta","oa":51,"o":"JSW_State_player_state"},{"a":5343,"t":"code","b":[76,33,16],"m":"jmp","oa":4129,"o":"JSW_Player_continue_main_loop_via_vector"},{"a":5346,"l":"loc_14e2","t":"code","b":[165,28],"m":"lda","oa":28,"o":"JSW_State_player_y","x":[5337]},{"a":5348,"t":"code","b":[41,248],"m":"and","o":"#$F8"},{"a":5350,"t":"code","b":[133,28],"m":"sta","oa":28,"o":"JSW_State_player_y"},{"a":5352,"t":"code","b":[208,7],"m":"bne","oa":5361,"o":"loc_14f1"},{"a":5354,"t":"code","b":[165,29],"m":"lda","oa":29,"o":"JSW_State_previous_exit_up"},{"a":5356,"t":"code","b":[133,14],"m":"sta","oa":14,"o":"JSW_State_current_room_or_title_voice3_pointer_low"},{"a":5358,"t":"code","b":[76,39,16],"m":"jmp","oa":4135,"o":"JSW_Player_prepare_room_via_vector"},{"a":5361,"l":"loc_14f1","t":"code","b":[165,80],"m":"lda","oa":80,"o":"JSW_State_player_facing_frame_or_title_key_count","x":[5352]},{"a":5363,"t":"code","b":[201,4],"m":"cmp","o":"#$04"},{"a":5365,"t":"code","b":[176,14],"m":"bcs","oa":5381,"o":"loc_1505"},{"a":5367,"t":"code","b":[165,50],"m":"lda","oa":50,"o":"JSW_State_player_horizontal_phase"},{"a":5369,"t":"code","b":[201,2],"m":"cmp","o":"#$02"},{"a":5371,"t":"code","b":[208,222],"m":"bne","oa":5339,"o":"loc_14db"},{"a":5373,"t":"code","b":[169,8],"m":"lda","o":"#$08"},{"a":5375,"t":"code","b":[141,192,20],"m":"sta","oa":5312,"o":"JSW_State_ramp_traversal_counter"},{"a":5378,"t":"code","b":[76,16,21],"m":"jmp","oa":5392,"o":"loc_1510"},{"a":5381,"l":"loc_1505","t":"code","b":[165,50],"m":"lda","oa":50,"o":"JSW_State_player_horizontal_phase","x":[5365]},{"a":5383,"t":"code","b":[201,6],"m":"cmp","o":"#$06"},{"a":5385,"t":"code","b":[208,208],"m":"bne","oa":5339,"o":"loc_14db"},{"a":5387,"t":"code","b":[169,8],"m":"lda","o":"#$08"},{"a":5389,"t":"code","b":[141,192,20],"m":"sta","oa":5312,"o":"JSW_State_ramp_traversal_counter"},{"a":5392,"l":"loc_1510","t":"code","b":[198,28],"m":"dec","oa":28,"o":"JSW_State_player_y","x":[5316,5378]},{"a":5394,"t":"code","b":[198,28],"m":"dec","oa":28,"o":"JSW_State_player_y"},{"a":5396,"t":"code","b":[206,192,20],"m":"dec","oa":5312,"o":"JSW_State_ramp_traversal_counter"},{"a":5399,"t":"code","b":[206,192,20],"m":"dec","oa":5312,"o":"JSW_State_ramp_traversal_counter"},{"a":5402,"t":"code","b":[240,191],"m":"beq","oa":5339,"o":"loc_14db"},{"a":5404,"t":"code","b":[76,33,16],"m":"jmp","oa":4129,"o":"JSW_Player_continue_main_loop_via_vector"},{"a":5407,"l":"JSW_Player_update_player_on_conveyor","c":"Purpose: Player state 4 substitutes signed conveyor direction $13 for manual motion and permits jumping. Inputs: conveyor and player/input state. Outputs: forced movement or jump transition. Assumptions: the active phase is initialized and the stated inputs and state are valid. Clobbers: A and player state. Hardware: none directly.","t":"code","b":[165,74],"m":"lda","oa":74,"o":"JSW_State_jump_request"},{"a":5409,"l":"annotation_1521","c":"Player state 4 is conveyor-driven grounded movement: the signed room conveyor direction replaces manual horizontal motion, while a jump request enters the normal jump state.","t":"code","b":[240,16],"m":"beq","oa":5427,"o":"loc_1533"},{"a":5411,"t":"code","b":[169,1],"m":"lda","o":"#$01"},{"a":5413,"t":"code","b":[133,51],"m":"sta","oa":51,"o":"JSW_State_player_state"},{"a":5415,"t":"code","b":[165,19],"m":"lda","oa":19,"o":"JSW_State_conveyor_direction"},{"a":5417,"t":"code","b":[141,19,16],"m":"sta","oa":4115,"o":"JSW_State_jump_horizontal_direction"},{"a":5420,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":5422,"t":"code","b":[133,82],"m":"sta","oa":82,"o":"JSW_State_jump_curve_index"},{"a":5424,"t":"code","b":[76,30,16],"m":"jmp","oa":4126,"o":"JSW_Player_redispatch_player_via_vector"},{"a":5427,"l":"loc_1533","t":"code","b":[165,19],"m":"lda","oa":19,"o":"JSW_State_conveyor_direction","x":[5409]},{"a":5429,"t":"code","b":[76,199,16],"m":"jmp","oa":4295,"o":"JSW_Player_grounded_route_by_direction_sign"},{"a":5432,"l":"JSW_Player_enter_or_reconcile_conveyor","c":"Purpose: Player state 5 resolves approach direction and entry onto a conveyor. Inputs: stored state $1015-$1017, direction, jump request. Outputs: state 4, jump, or ordinary grounded state. Assumptions: the active phase is initialized and the stated inputs and state are valid. Clobbers: A and player state. Hardware: none directly.","t":"code","b":[173,22,16],"m":"lda","oa":4118,"o":"JSW_State_conveyor_entry_first_pass"},{"a":5435,"l":"annotation_153b","c":"Player state 5 is conveyor-entry reconciliation: cached approach direction and facing determine whether the player settles into state 4, jumps, or returns to ordinary grounded motion.","t":"code","b":[208,56],"m":"bne","oa":5493,"o":"loc_1575"},{"a":5437,"t":"code","b":[165,28],"m":"lda","oa":28,"o":"JSW_State_player_y"},{"a":5439,"t":"code","b":[41,248],"m":"and","o":"#$F8"},{"a":5441,"t":"code","b":[133,28],"m":"sta","oa":28,"o":"JSW_State_player_y"},{"a":5443,"t":"code","b":[169,255],"m":"lda","o":"#$FF"},{"a":5445,"t":"code","b":[141,22,16],"m":"sta","oa":4118,"o":"JSW_State_conveyor_entry_first_pass"},{"a":5448,"t":"code","b":[173,21,16],"m":"lda","oa":4117,"o":"JSW_State_conveyor_entry_saved_state"},{"a":5451,"t":"code","b":[208,16],"m":"bne","oa":5469,"o":"loc_155d"},{"a":5453,"t":"code","b":[162,255],"m":"ldx","o":"#$FF"},{"a":5455,"t":"code","b":[165,80],"m":"lda","oa":80,"o":"JSW_State_player_facing_frame_or_title_key_count"},{"a":5457,"t":"code","b":[201,4],"m":"cmp","o":"#$04"},{"a":5459,"t":"code","b":[176,2],"m":"bcs","oa":5463,"o":"loc_1557"},{"a":5461,"t":"code","b":[162,1],"m":"ldx","o":"#$01"},{"a":5463,"l":"loc_1557","t":"code","b":[142,23,16],"m":"stx","oa":4119,"o":"JSW_State_resolved_conveyor_direction","x":[5459]},{"a":5466,"t":"code","b":[76,117,21],"m":"jmp","oa":5493,"o":"loc_1575"},{"a":5469,"l":"loc_155d","t":"code","b":[201,1],"m":"cmp","o":"#$01","x":[5451]},{"a":5471,"t":"code","b":[208,9],"m":"bne","oa":5482,"o":"loc_156a"},{"a":5473,"l":"loc_1561","t":"code","b":[173,19,16],"m":"lda","oa":4115,"o":"JSW_State_jump_horizontal_direction","x":[5486]},{"a":5476,"t":"code","b":[141,23,16],"m":"sta","oa":4119,"o":"JSW_State_resolved_conveyor_direction"},{"a":5479,"t":"code","b":[76,117,21],"m":"jmp","oa":5493,"o":"loc_1575"},{"a":5482,"l":"loc_156a","t":"code","b":[165,81],"m":"lda","oa":81,"o":"JSW_State_fall_counter_or_title_first_key","x":[5471]},{"a":5484,"t":"code","b":[201,2],"m":"cmp","o":"#$02"},{"a":5486,"t":"code","b":[144,241],"m":"bcc","oa":5473,"o":"loc_1561"},{"a":5488,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":5490,"t":"code","b":[141,23,16],"m":"sta","oa":4119,"o":"JSW_State_resolved_conveyor_direction"},{"a":5493,"l":"loc_1575","t":"code","b":[173,23,16],"m":"lda","oa":4119,"o":"JSW_State_resolved_conveyor_direction","x":[5435,5466,5479]},{"a":5496,"t":"code","b":[69,19],"m":"eor","oa":19,"o":"JSW_State_conveyor_direction"},{"a":5498,"t":"code","b":[208,7],"m":"bne","oa":5507,"o":"loc_1583"},{"a":5500,"t":"code","b":[169,4],"m":"lda","o":"#$04"},{"a":5502,"t":"code","b":[133,51],"m":"sta","oa":51,"o":"JSW_State_player_state"},{"a":5504,"t":"code","b":[76,30,16],"m":"jmp","oa":4126,"o":"JSW_Player_redispatch_player_via_vector"},{"a":5507,"l":"loc_1583","t":"code","b":[173,23,16],"m":"lda","oa":4119,"o":"JSW_State_resolved_conveyor_direction","x":[5498]},{"a":5510,"t":"code","b":[208,53],"m":"bne","oa":5565,"o":"loc_15bd"},{"a":5512,"t":"code","b":[165,80],"m":"lda","oa":80,"o":"JSW_State_player_facing_frame_or_title_key_count"},{"a":5514,"t":"code","b":[41,4],"m":"and","o":"#$04"},{"a":5516,"t":"code","b":[42],"m":"rol","o":"a"},{"a":5517,"t":"code","b":[42],"m":"rol","o":"a"},{"a":5518,"t":"code","b":[42],"m":"rol","o":"a"},{"a":5519,"t":"code","b":[42],"m":"rol","o":"a"},{"a":5520,"t":"code","b":[42],"m":"rol","o":"a"},{"a":5521,"t":"code","b":[69,19],"m":"eor","oa":19,"o":"JSW_State_conveyor_direction"},{"a":5523,"t":"code","b":[48,7],"m":"bmi","oa":5532,"o":"loc_159c"},{"a":5525,"t":"code","b":[169,4],"m":"lda","o":"#$04"},{"a":5527,"t":"code","b":[133,51],"m":"sta","oa":51,"o":"JSW_State_player_state"},{"a":5529,"t":"code","b":[76,30,16],"m":"jmp","oa":4126,"o":"JSW_Player_redispatch_player_via_vector"},{"a":5532,"l":"loc_159c","t":"code","b":[165,74],"m":"lda","oa":74,"o":"JSW_State_jump_request","x":[5523]},{"a":5534,"t":"code","b":[240,14],"m":"beq","oa":5550,"o":"loc_15ae"},{"a":5536,"t":"code","b":[169,1],"m":"lda","o":"#$01"},{"a":5538,"t":"code","b":[133,51],"m":"sta","oa":51,"o":"JSW_State_player_state"},{"a":5540,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":5542,"t":"code","b":[133,82],"m":"sta","oa":82,"o":"JSW_State_jump_curve_index"},{"a":5544,"t":"code","b":[141,19,16],"m":"sta","oa":4115,"o":"JSW_State_jump_horizontal_direction"},{"a":5547,"t":"code","b":[76,30,16],"m":"jmp","oa":4126,"o":"JSW_Player_redispatch_player_via_vector"},{"a":5550,"l":"loc_15ae","t":"code","b":[165,73],"m":"lda","oa":73,"o":"JSW_State_manual_horizontal_direction","x":[5534]},{"a":5552,"t":"code","b":[69,19],"m":"eor","oa":19,"o":"JSW_State_conveyor_direction"},{"a":5554,"t":"code","b":[201,254],"m":"cmp","o":"#$FE"},{"a":5556,"t":"code","b":[240,4],"m":"beq","oa":5562,"o":"loc_15ba"},{"a":5558,"t":"code","b":[169,4],"m":"lda","o":"#$04"},{"a":5560,"t":"code","b":[133,51],"m":"sta","oa":51,"o":"JSW_State_player_state"},{"a":5562,"l":"loc_15ba","t":"code","b":[76,33,16],"m":"jmp","oa":4129,"o":"JSW_Player_continue_main_loop_via_vector","x":[5556]},{"a":5565,"l":"loc_15bd","t":"code","b":[165,73],"m":"lda","oa":73,"o":"JSW_State_manual_horizontal_direction","x":[5510]},{"a":5567,"t":"code","b":[69,19],"m":"eor","oa":19,"o":"JSW_State_conveyor_direction"},{"a":5569,"t":"code","b":[201,254],"m":"cmp","o":"#$FE"},{"a":5571,"t":"code","b":[240,7],"m":"beq","oa":5580,"o":"loc_15cc"},{"a":5573,"t":"code","b":[169,4],"m":"lda","o":"#$04"},{"a":5575,"t":"code","b":[133,51],"m":"sta","oa":51,"o":"JSW_State_player_state"},{"a":5577,"t":"code","b":[76,33,16],"m":"jmp","oa":4129,"o":"JSW_Player_continue_main_loop_via_vector"},{"a":5580,"l":"loc_15cc","t":"code","b":[165,74],"m":"lda","oa":74,"o":"JSW_State_jump_request","x":[5571]},{"a":5582,"t":"code","b":[240,21],"m":"beq","oa":5605,"o":"loc_15e5"},{"a":5584,"t":"code","b":[169,1],"m":"lda","o":"#$01"},{"a":5586,"t":"code","b":[133,51],"m":"sta","oa":51,"o":"JSW_State_player_state"},{"a":5588,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":5590,"t":"code","b":[133,82],"m":"sta","oa":82,"o":"JSW_State_jump_curve_index"},{"a":5592,"t":"code","b":[165,19],"m":"lda","oa":19,"o":"JSW_State_conveyor_direction"},{"a":5594,"t":"code","b":[73,255],"m":"eor","o":"#$FF"},{"a":5596,"t":"code","b":[24],"m":"clc"},{"a":5597,"t":"code","b":[105,1],"m":"adc","o":"#$01"},{"a":5599,"t":"code","b":[141,19,16],"m":"sta","oa":4115,"o":"JSW_State_jump_horizontal_direction"},{"a":5602,"t":"code","b":[76,30,16],"m":"jmp","oa":4126,"o":"JSW_Player_redispatch_player_via_vector"},{"a":5605,"l":"loc_15e5","t":"code","b":[173,23,16],"m":"lda","oa":4119,"o":"JSW_State_resolved_conveyor_direction","x":[5582]},{"a":5608,"t":"code","b":[16,3],"m":"bpl","oa":5613,"o":"loc_15ed"},{"a":5610,"t":"code","b":[76,42,17],"m":"jmp","oa":4394,"o":"JSW_Player_grounded_move_left"},{"a":5613,"l":"loc_15ed","t":"code","b":[76,204,16],"m":"jmp","oa":4300,"o":"JSW_Player_grounded_move_right","x":[5608]},{"a":5616,"l":"JSW_Player_kill_player","c":"Purpose: Clear fall state and tail-call the death vector. Inputs: current player/room checkpoint state. Outputs: does not return normally. Assumptions: the active phase is initialized and the stated inputs and state are valid. Clobbers: A,$51,$53 and death-handler state. Hardware: death target drives SID/VIC effects.","t":"code","b":[169,0],"m":"lda","o":"#$00","x":[4518,4599,4659,4830,4909,5293,7068]},{"a":5618,"t":"code","b":[133,81],"m":"sta","oa":81,"o":"JSW_State_fall_counter_or_title_first_key"},{"a":5620,"t":"code","b":[133,83],"m":"sta","oa":83,"o":"JSW_State_lethal_fall_flag"},{"a":5622,"t":"code","b":[76,42,16],"m":"jmp","oa":4138,"o":"JSW_Player_kill_player_via_vector"},{"a":5625,"l":"JSW_State_item_candidate_screen_low","c":"Low byte of the candidate screen address, copied from zero-page $07 by $1609/$160B. Compared against each item cell address at $162D/$162F. This is an address byte, not an X coordinate.","t":"byte","b":[0],"x":[5643,5679]},{"a":5626,"l":"JSW_State_item_candidate_screen_high","c":"High byte of the candidate screen address, copied from zero-page $08 by $160E/$1610. Compared against each item cell address at $1634/$1636. It is not an input Y coordinate.","t":"byte","b":[0],"x":[5648,5686]},{"a":5627,"l":"JSW_Player_collect_item_if_present","c":"Purpose: scan 80 item records for an untaken item in room $0E whose looked-up screen address equals the incoming $07/$08 pointer. Copies that pointer into $15F9/$15FA, marks a match $FF, clears its screen cell, increments packed-BCD $0401 and writes the two display digits. Only a resulting count exactly $50 sets Maria flag $0400. All 80 records and nine count/rejection cases matched native calls; this verifies controlled candidates, not routes to every item. The matched-item path uses SED/CLD; a nonmatch leaves decimal mode unchanged. Both display digits are refreshed on every call.","t":"code","b":[169,0],"m":"lda","o":"#$00","x":[4525,4837,4916,5300]},{"a":5629,"t":"code","b":[133,24],"m":"sta","oa":24,"o":"item_or_arrow_record_index"},{"a":5631,"t":"code","b":[173,252,207],"m":"lda","oa":53244,"o":"JSW_State_item_table_base_vector"},{"a":5634,"t":"code","b":[133,22],"m":"sta","oa":22,"o":"item_or_arrow_record_pointer_low"},{"a":5636,"t":"code","b":[173,253,207],"m":"lda","oa":53245,"o":"a_CFFD"},{"a":5639,"t":"code","b":[133,23],"m":"sta","oa":23,"o":"item_or_arrow_record_pointer_high"},{"a":5641,"t":"code","b":[165,7],"m":"lda","oa":7,"o":"JSW_State_zp_work_low"},{"a":5643,"t":"code","b":[141,249,21],"m":"sta","oa":5625,"o":"JSW_State_item_candidate_screen_low"},{"a":5646,"t":"code","b":[165,8],"m":"lda","oa":8,"o":"JSW_State_zp_work_high"},{"a":5648,"t":"code","b":[141,250,21],"m":"sta","oa":5626,"o":"JSW_State_item_candidate_screen_high"},{"a":5651,"l":"loc_1613","t":"code","b":[160,0],"m":"ldy","o":"#$00","x":[5744]},{"a":5653,"t":"code","b":[177,22],"m":"lda","oa":22,"o":"(item_or_arrow_record_pointer_low),y"},{"a":5655,"t":"code","b":[197,14],"m":"cmp","oa":14,"o":"JSW_State_current_room_or_title_voice3_pointer_low"},{"a":5657,"t":"code","b":[208,66],"m":"bne","oa":5725,"o":"loc_165d"},{"a":5659,"t":"code","b":[160,3],"m":"ldy","o":"#$03"},{"a":5661,"t":"code","b":[177,22],"m":"lda","oa":22,"o":"(item_or_arrow_record_pointer_low),y"},{"a":5663,"t":"code","b":[208,60],"m":"bne","oa":5725,"o":"loc_165d"},{"a":5665,"t":"code","b":[160,1],"m":"ldy","o":"#$01"},{"a":5667,"t":"code","b":[177,22],"m":"lda","oa":22,"o":"(item_or_arrow_record_pointer_low),y"},{"a":5669,"t":"code","b":[170],"m":"tax"},{"a":5670,"t":"code","b":[200],"m":"iny"},{"a":5671,"t":"code","b":[177,22],"m":"lda","oa":22,"o":"(item_or_arrow_record_pointer_low),y"},{"a":5673,"t":"code","b":[168],"m":"tay"},{"a":5674,"t":"code","b":[32,36,16],"m":"jsr","oa":4132,"o":"JSW_Player_lookup_tile_via_vector"},{"a":5677,"t":"code","b":[165,7],"m":"lda","oa":7,"o":"JSW_State_zp_work_low"},{"a":5679,"t":"code","b":[205,249,21],"m":"cmp","oa":5625,"o":"JSW_State_item_candidate_screen_low"},{"a":5682,"t":"code","b":[208,41],"m":"bne","oa":5725,"o":"loc_165d"},{"a":5684,"t":"code","b":[165,8],"m":"lda","oa":8,"o":"JSW_State_zp_work_high"},{"a":5686,"t":"code","b":[205,250,21],"m":"cmp","oa":5626,"o":"JSW_State_item_candidate_screen_high"},{"a":5689,"t":"code","b":[208,34],"m":"bne","oa":5725,"o":"loc_165d"},{"a":5691,"t":"code","b":[169,32],"m":"lda","o":"#$20"},{"a":5693,"t":"code","b":[160,0],"m":"ldy","o":"#$00"},{"a":5695,"t":"code","b":[145,7],"m":"sta","oa":7,"o":"(JSW_State_zp_work_low),y"},{"a":5697,"t":"code","b":[160,3],"m":"ldy","o":"#$03"},{"a":5699,"t":"code","b":[169,255],"m":"lda","o":"#$FF"},{"a":5701,"t":"code","b":[145,22],"m":"sta","oa":22,"o":"(item_or_arrow_record_pointer_low),y"},{"a":5703,"t":"code","b":[120],"m":"sei"},{"a":5704,"t":"code","b":[248],"m":"sed"},{"a":5705,"t":"code","b":[24],"m":"clc"},{"a":5706,"t":"code","b":[173,1,4],"m":"lda","oa":1025,"o":"JSW_State_collected_item_count_bcd"},{"a":5709,"t":"code","b":[105,1],"m":"adc","o":"#$01"},{"a":5711,"t":"code","b":[141,1,4],"m":"sta","oa":1025,"o":"JSW_State_collected_item_count_bcd"},{"a":5714,"t":"code","b":[201,80],"m":"cmp","o":"#$50"},{"a":5716,"t":"code","b":[208,5],"m":"bne","oa":5723,"o":"loc_165b"},{"a":5718,"t":"code","b":[169,1],"m":"lda","o":"#$01"},{"a":5720,"t":"code","b":[141,0,4],"m":"sta","oa":1024,"o":"JSW_State_completion_maria_removed"},{"a":5723,"l":"loc_165b","t":"code","b":[216],"m":"cld","x":[5716]},{"a":5724,"t":"code","b":[88],"m":"cli"},{"a":5725,"l":"loc_165d","t":"code","b":[24],"m":"clc","x":[5657,5663,5682,5689]},{"a":5726,"t":"code","b":[169,4],"m":"lda","o":"#$04"},{"a":5728,"t":"code","b":[101,22],"m":"adc","oa":22,"o":"item_or_arrow_record_pointer_low"},{"a":5730,"t":"code","b":[133,22],"m":"sta","oa":22,"o":"item_or_arrow_record_pointer_low"},{"a":5732,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":5734,"t":"code","b":[101,23],"m":"adc","oa":23,"o":"item_or_arrow_record_pointer_high"},{"a":5736,"t":"code","b":[133,23],"m":"sta","oa":23,"o":"item_or_arrow_record_pointer_high"},{"a":5738,"t":"code","b":[230,24],"m":"inc","oa":24,"o":"item_or_arrow_record_index"},{"a":5740,"t":"code","b":[165,24],"m":"lda","oa":24,"o":"item_or_arrow_record_index"},{"a":5742,"t":"code","b":[201,80],"m":"cmp","o":"#$50"},{"a":5744,"t":"code","b":[208,161],"m":"bne","oa":5651,"o":"loc_1613"},{"a":5746,"t":"code","b":[173,1,4],"m":"lda","oa":1025,"o":"JSW_State_collected_item_count_bcd"},{"a":5749,"t":"code","b":[72],"m":"pha"},{"a":5750,"t":"code","b":[41,15],"m":"and","o":"#$0F"},{"a":5752,"t":"code","b":[9,176],"m":"ora","o":"#$B0"},{"a":5754,"t":"code","b":[141,50,127],"m":"sta","oa":32562,"o":"a_7F32"},{"a":5757,"t":"code","b":[104],"m":"pla"},{"a":5758,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":5759,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":5760,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":5761,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":5762,"t":"code","b":[9,176],"m":"ora","o":"#$B0"},{"a":5764,"t":"code","b":[141,49,127],"m":"sta","oa":32561,"o":"a_7F31"},{"a":5767,"t":"code","b":[96],"m":"rts"},{"a":5768,"l":"JSW_Player_initialize_tile_location","c":"Purpose: Derive the current player tile coordinate from horizontal cell $4F and vertical pixel $1C. Inputs: player position. Outputs: tile-location temporaries including $0F/$1014. Assumptions: the active phase is initialized and the stated inputs and state are valid. Clobbers: A. Hardware: none.","t":"code","b":[165,79],"m":"lda","oa":79,"o":"JSW_State_player_x_cell","x":[4321,4361,4438,4457,4737,4841,5055,5103,5219,5268,6974]},{"a":5770,"t":"code","b":[141,20,16],"m":"sta","oa":4116,"o":"JSW_State_tile_probe_x"},{"a":5773,"t":"code","b":[165,28],"m":"lda","oa":28,"o":"JSW_State_player_y"},{"a":5775,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":5776,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":5777,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":5778,"t":"code","b":[133,15],"m":"sta","oa":15,"o":"JSW_State_working_tile_row_or_title_voice3_pointer_high"},{"a":5780,"t":"code","b":[96],"m":"rts"},{"a":5781,"l":"JSW_Player_align_ramp_animation_phase","c":"Purpose: Align horizontal animation/sub-cell phase before ramp entry. Inputs: player facing/phase. Outputs: normalized ramp animation state. Assumptions: the active phase is initialized and the stated inputs and state are valid. Clobbers: A and player phase. Hardware: none.","t":"code","b":[162,2],"m":"ldx","o":"#$02","x":[4508,4934]},{"a":5783,"t":"code","b":[165,80],"m":"lda","oa":80,"o":"JSW_State_player_facing_frame_or_title_key_count"},{"a":5785,"t":"code","b":[201,4],"m":"cmp","o":"#$04"},{"a":5787,"t":"code","b":[144,2],"m":"bcc","oa":5791,"o":"loc_169f"},{"a":5789,"t":"code","b":[162,6],"m":"ldx","o":"#$06"},{"a":5791,"l":"loc_169f","t":"code","b":[134,50],"m":"stx","oa":50,"o":"JSW_State_player_horizontal_phase","x":[5787]},{"a":5793,"t":"code","b":[96],"m":"rts"},{"a":5794,"l":"JSW_Player_produce_rope_sprite_staging","c":"Purpose: Every second player tick choose three rope source sprites, copy 192 bytes to $0500-$05BF, stage six coordinates, and advance oscillator. Inputs: room rope flag and oscillator state. Outputs: staged graphics/coordinates and handshake. Assumptions: the active phase is initialized and the stated inputs and state are valid. Clobbers: A,X,Y and rope state. Hardware: IRQ later copies staged sprites into VIC bank 1.","t":"code","b":[173,2,4],"m":"lda","oa":1026,"o":"JSW_State_room_has_rope","x":[4219]},{"a":5797,"t":"code","b":[208,6],"m":"bne","oa":5805,"o":"loc_16ad"},{"a":5799,"t":"code","b":[169,2],"m":"lda","o":"#$02"},{"a":5801,"t":"code","b":[141,24,16],"m":"sta","oa":4120,"o":"JSW_State_rope_animation_divider"},{"a":5804,"t":"code","b":[96],"m":"rts"},{"a":5805,"l":"loc_16ad","t":"code","b":[206,24,16],"m":"dec","oa":4120,"o":"JSW_State_rope_animation_divider","x":[5797]},{"a":5808,"t":"code","b":[240,1],"m":"beq","oa":5811,"o":"loc_16b3"},{"a":5810,"t":"code","b":[96],"m":"rts"},{"a":5811,"l":"loc_16b3","t":"code","b":[169,2],"m":"lda","o":"#$02","x":[5808]},{"a":5813,"t":"code","b":[141,24,16],"m":"sta","oa":4120,"o":"JSW_State_rope_animation_divider"},{"a":5816,"t":"code","b":[173,21,208],"m":"lda","o":"vic_sprite_enable"},{"a":5819,"t":"code","b":[9,224],"m":"ora","o":"#$E0"},{"a":5821,"t":"code","b":[141,21,208],"m":"sta","o":"vic_sprite_enable"},{"a":5824,"t":"code","b":[173,16,208],"m":"lda","o":"vic_sprite_x_msb"},{"a":5827,"t":"code","b":[41,31],"m":"and","o":"#$1F"},{"a":5829,"t":"code","b":[141,16,208],"m":"sta","o":"vic_sprite_x_msb"},{"a":5832,"t":"code","b":[173,3,4],"m":"lda","oa":1027,"o":"JSW_State_rope_oscillator_position"},{"a":5835,"t":"code","b":[10],"m":"asl","o":"a"},{"a":5836,"t":"code","b":[170],"m":"tax"},{"a":5837,"t":"code","b":[189,86,24],"m":"lda","oa":6230,"o":"rope_sprite_source_pointer_table,x"},{"a":5840,"t":"code","b":[133,7],"m":"sta","oa":7,"o":"JSW_State_zp_work_low"},{"a":5842,"t":"code","b":[189,87,24],"m":"lda","oa":6231,"o":"rope_sprite_source_pointer_table_first_high_byte,x"},{"a":5845,"t":"code","b":[133,8],"m":"sta","oa":8,"o":"JSW_State_zp_work_high"},{"a":5847,"t":"code","b":[169,255],"m":"lda","o":"#$FF"},{"a":5849,"t":"code","b":[141,7,4],"m":"sta","oa":1031,"o":"JSW_State_rope_staging_handshake"},{"a":5852,"t":"code","b":[160,0],"m":"ldy","o":"#$00"},{"a":5854,"l":"loc_16de","t":"code","b":[177,7],"m":"lda","oa":7,"o":"(JSW_State_zp_work_low),y","x":[5862]},{"a":5856,"t":"code","b":[153,0,5],"m":"sta","oa":1280,"o":"JSW_State_staged_rope_sprites,y"},{"a":5859,"t":"code","b":[200],"m":"iny"},{"a":5860,"t":"code","b":[192,192],"m":"cpy","o":"#$C0"},{"a":5862,"t":"code","b":[208,246],"m":"bne","oa":5854,"o":"loc_16de"},{"a":5864,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":5866,"t":"code","b":[133,8],"m":"sta","oa":8,"o":"JSW_State_zp_work_high"},{"a":5868,"t":"code","b":[173,3,4],"m":"lda","oa":1027,"o":"JSW_State_rope_oscillator_position"},{"a":5871,"t":"code","b":[10],"m":"asl","o":"a"},{"a":5872,"t":"code","b":[133,49],"m":"sta","oa":49,"o":"shared_arithmetic_scratch"},{"a":5874,"t":"code","b":[38,8],"m":"rol","oa":8,"o":"JSW_State_zp_work_high"},{"a":5876,"t":"code","b":[10],"m":"asl","o":"a"},{"a":5877,"t":"code","b":[38,8],"m":"rol","oa":8,"o":"JSW_State_zp_work_high"},{"a":5879,"t":"code","b":[24],"m":"clc"},{"a":5880,"t":"code","b":[101,49],"m":"adc","oa":49,"o":"shared_arithmetic_scratch"},{"a":5882,"t":"code","b":[133,7],"m":"sta","oa":7,"o":"JSW_State_zp_work_low"},{"a":5884,"t":"code","b":[165,8],"m":"lda","oa":8,"o":"JSW_State_zp_work_high"},{"a":5886,"t":"code","b":[105,0],"m":"adc","o":"#$00"},{"a":5888,"t":"code","b":[133,8],"m":"sta","oa":8,"o":"JSW_State_zp_work_high"},{"a":5890,"t":"code","b":[24],"m":"clc"},{"a":5891,"t":"code","b":[169,138],"m":"lda","o":"#$8A"},{"a":5893,"t":"code","b":[101,7],"m":"adc","oa":7,"o":"JSW_State_zp_work_low"},{"a":5895,"t":"code","b":[133,7],"m":"sta","oa":7,"o":"JSW_State_zp_work_low"},{"a":5897,"t":"code","b":[169,23],"m":"lda","o":"#$17"},{"a":5899,"t":"code","b":[101,8],"m":"adc","oa":8,"o":"JSW_State_zp_work_high"},{"a":5901,"t":"code","b":[133,8],"m":"sta","oa":8,"o":"JSW_State_zp_work_high"},{"a":5903,"t":"code","b":[160,0],"m":"ldy","o":"#$00"},{"a":5905,"l":"loc_1711","t":"code","b":[177,7],"m":"lda","oa":7,"o":"(JSW_State_zp_work_low),y","x":[5913]},{"a":5907,"t":"code","b":[153,192,5],"m":"sta","oa":1472,"o":"JSW_State_staged_rope_coordinates,y"},{"a":5910,"t":"code","b":[200],"m":"iny"},{"a":5911,"t":"code","b":[192,6],"m":"cpy","o":"#$06"},{"a":5913,"t":"code","b":[208,246],"m":"bne","oa":5905,"o":"loc_1711"},{"a":5915,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":5917,"t":"code","b":[141,7,4],"m":"sta","oa":1031,"o":"JSW_State_rope_staging_handshake"},{"a":5920,"t":"code","b":[173,4,4],"m":"lda","oa":1028,"o":"JSW_State_rope_oscillator_half"},{"a":5923,"t":"code","b":[48,3],"m":"bmi","oa":5928,"o":"loc_1728"},{"a":5925,"t":"code","b":[76,87,23],"m":"jmp","oa":5975,"o":"loc_1757"},{"a":5928,"l":"loc_1728","t":"code","b":[173,3,4],"m":"lda","oa":1027,"o":"JSW_State_rope_oscillator_position","x":[5923]},{"a":5931,"t":"code","b":[24],"m":"clc"},{"a":5932,"t":"code","b":[109,6,4],"m":"adc","oa":1030,"o":"JSW_State_rope_oscillator_step"},{"a":5935,"t":"code","b":[201,16],"m":"cmp","o":"#$10"},{"a":5937,"t":"code","b":[208,14],"m":"bne","oa":5953,"o":"loc_1741"},{"a":5939,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":5941,"t":"code","b":[141,3,4],"m":"sta","oa":1027,"o":"JSW_State_rope_oscillator_position"},{"a":5944,"t":"code","b":[169,1],"m":"lda","o":"#$01"},{"a":5946,"t":"code","b":[141,6,4],"m":"sta","oa":1030,"o":"JSW_State_rope_oscillator_step"},{"a":5949,"t":"code","b":[141,4,4],"m":"sta","oa":1028,"o":"JSW_State_rope_oscillator_half"},{"a":5952,"t":"code","b":[96],"m":"rts"},{"a":5953,"l":"loc_1741","t":"code","b":[201,34],"m":"cmp","o":"#$22","x":[5937]},{"a":5955,"t":"code","b":[208,14],"m":"bne","oa":5971,"o":"loc_1753"},{"a":5957,"t":"code","b":[169,33],"m":"lda","o":"#$21"},{"a":5959,"t":"code","b":[141,3,4],"m":"sta","oa":1027,"o":"JSW_State_rope_oscillator_position"},{"a":5962,"t":"code","b":[169,255],"m":"lda","o":"#$FF"},{"a":5964,"t":"code","b":[141,6,4],"m":"sta","oa":1030,"o":"JSW_State_rope_oscillator_step"},{"a":5967,"t":"code","b":[141,4,4],"m":"sta","oa":1028,"o":"JSW_State_rope_oscillator_half"},{"a":5970,"t":"code","b":[96],"m":"rts"},{"a":5971,"l":"loc_1753","t":"code","b":[141,3,4],"m":"sta","oa":1027,"o":"JSW_State_rope_oscillator_position","x":[5955]},{"a":5974,"t":"code","b":[96],"m":"rts"},{"a":5975,"l":"loc_1757","t":"code","b":[173,3,4],"m":"lda","oa":1027,"o":"JSW_State_rope_oscillator_position","x":[5925]},{"a":5978,"t":"code","b":[24],"m":"clc"},{"a":5979,"t":"code","b":[109,6,4],"m":"adc","oa":1030,"o":"JSW_State_rope_oscillator_step"},{"a":5982,"t":"code","b":[201,255],"m":"cmp","o":"#$FF"},{"a":5984,"t":"code","b":[208,16],"m":"bne","oa":6002,"o":"loc_1772"},{"a":5986,"t":"code","b":[169,17],"m":"lda","o":"#$11"},{"a":5988,"t":"code","b":[141,3,4],"m":"sta","oa":1027,"o":"JSW_State_rope_oscillator_position"},{"a":5991,"t":"code","b":[169,1],"m":"lda","o":"#$01"},{"a":5993,"t":"code","b":[141,6,4],"m":"sta","oa":1030,"o":"JSW_State_rope_oscillator_step"},{"a":5996,"t":"code","b":[169,255],"m":"lda","o":"#$FF"},{"a":5998,"t":"code","b":[141,4,4],"m":"sta","oa":1028,"o":"JSW_State_rope_oscillator_half"},{"a":6001,"t":"code","b":[96],"m":"rts"},{"a":6002,"l":"loc_1772","t":"code","b":[201,17],"m":"cmp","o":"#$11","x":[5984]},{"a":6004,"t":"code","b":[208,16],"m":"bne","oa":6022,"o":"loc_1786"},{"a":6006,"t":"code","b":[169,16],"m":"lda","o":"#$10"},{"a":6008,"t":"code","b":[141,3,4],"m":"sta","oa":1027,"o":"JSW_State_rope_oscillator_position"},{"a":6011,"t":"code","b":[169,255],"m":"lda","o":"#$FF"},{"a":6013,"t":"code","b":[141,6,4],"m":"sta","oa":1030,"o":"JSW_State_rope_oscillator_step"},{"a":6016,"t":"code","b":[169,1],"m":"lda","o":"#$01"},{"a":6018,"t":"code","b":[141,4,4],"m":"sta","oa":1028,"o":"JSW_State_rope_oscillator_half"},{"a":6021,"t":"code","b":[96],"m":"rts"},{"a":6022,"l":"loc_1786","t":"code","b":[141,3,4],"m":"sta","oa":1027,"o":"JSW_State_rope_oscillator_position","x":[6004]},{"a":6025,"t":"code","b":[96],"m":"rts"},{"a":6026,"l":"JSW_State_rope_position_coordinates","c":"34 positions times six VIC coordinate bytes for the three rope sprites.","t":"byte","b":[184,50,184,92,184,134]},{"a":6032,"l":"annotation_1790","c":"34 records of three rope-sprite X/Y coordinate pairs.","t":"byte","b":[184,50,184,92,184,134,184,50]},{"a":6040,"t":"byte","b":[184,92,184,134,184,50,184,92]},{"a":6048,"t":"byte","b":[184,134,184,50,184,92,184,134]},{"a":6056,"t":"byte","b":[184,50,184,92,184,134,184,50]},{"a":6064,"t":"byte","b":[184,92,184,134,184,50,184,92]},{"a":6072,"t":"byte","b":[194,134,184,50,194,92,194,134]},{"a":6080,"t":"byte","b":[184,50,194,92,194,134,184,50]},{"a":6088,"t":"byte","b":[204,92,194,134,184,50,208,92]},{"a":6096,"t":"byte","b":[194,134,184,50,208,88,232,108]},{"a":6104,"t":"byte","b":[184,50,208,68,232,88,184,50]},{"a":6112,"t":"byte","b":[208,68,232,98,184,50,208,68]},{"a":6120,"t":"byte","b":[232,98,184,50,208,68,232,98]},{"a":6128,"t":"byte","b":[160,50,160,92,160,134,160,50]},{"a":6136,"t":"byte","b":[160,92,160,134,160,50,160,92]},{"a":6144,"t":"byte","b":[160,134,160,50,160,92,160,134]},{"a":6152,"t":"byte","b":[160,50,160,92,160,134,160,50]},{"a":6160,"t":"byte","b":[160,92,160,134,160,50,160,92]},{"a":6168,"t":"byte","b":[160,134,160,50,160,92,150,134]},{"a":6176,"t":"byte","b":[160,50,150,92,150,134,160,50]},{"a":6184,"t":"byte","b":[150,92,150,134,160,50,140,92]},{"a":6192,"t":"byte","b":[150,134,160,50,136,92,150,134]},{"a":6200,"t":"byte","b":[160,50,136,88,112,108,160,50]},{"a":6208,"t":"byte","b":[136,68,112,88,160,50,136,68]},{"a":6216,"t":"byte","b":[112,98,160,50,136,68,112,98]},{"a":6224,"t":"byte","b":[160,50,136,68,112,98]},{"a":6230,"l":"rope_sprite_source_pointer_table","c":"Rope source-sprite pointer selection followed by per-position attachment trajectories consumed by player state 6.","t":"byte","b":[0],"x":[5837]},{"a":6231,"l":"rope_sprite_source_pointer_table_first_high_byte","c":"Interleaved little-endian pointers selecting the rope source-sprite triplet for each rope position.\nHigh-byte operand base for indexed reads of the interleaved rope source-sprite pointer table.","t":"byte","b":[129],"x":[5842]},{"a":6232,"l":"annotation_1858","c":"Remaining 33 little-endian source pointers in the 34-position rope directory $1856-$1899: pointer i is $8100+192*i and $16CD/$16D2 select it with twice oscillator position $0403. The following $189A-$1ABB contains the rope attachment coordinate storage: two leading bytes $80,$04 precede the active trajectory windows. $1C86 returns $189C+32*(position modulo 17); player state 6 at $1B65 doubles attachment index $1019 to read alternating horizontal and vertical bytes, mirroring horizontal values as $F7-x in the second half-cycle. The seventeen 32-byte windows end exactly at the code entry $1ABC. All 34 directory values and trajectory-pointer calls are checked by reference/review-checks.js. The two leading bytes are retained coordinate-shaped storage; no separate header meaning is asserted.","t":"byte","b":[192,129,128,130,64,131,0,132]},{"a":6240,"t":"byte","b":[192,132,128,133,64,134,0,135]},{"a":6248,"t":"byte","b":[192,135,128,136,64,137,0,138]},{"a":6256,"t":"byte","b":[192,138,128,139,64,140,0,141]},{"a":6264,"t":"byte","b":[192,141,128,142,64,143,0,144]},{"a":6272,"t":"byte","b":[192,144,128,145,64,146,0,147]},{"a":6280,"t":"byte","b":[192,147,128,148,64,149,0,150]},{"a":6288,"t":"byte","b":[192,150,128,151,64,152,0,153]},{"a":6296,"t":"byte","b":[192,153,128,154,128,4,128,10]},{"a":6304,"t":"byte","b":[128,16,128,22,128,28,128,34]},{"a":6312,"t":"byte","b":[128,40,128,46,128,52,128,58]},{"a":6320,"t":"byte","b":[128,64,128,70,128,76,128,82]},{"a":6328,"t":"byte","b":[128,88,128,94,128,4,128,10]},{"a":6336,"t":"byte","b":[128,16,128,22,128,28,128,34]},{"a":6344,"t":"byte","b":[128,40,128,46,128,52,128,58]},{"a":6352,"t":"byte","b":[128,64,128,70,128,76,128,82]},{"a":6360,"t":"byte","b":[130,88,133,94,128,4,128,10]},{"a":6368,"t":"byte","b":[128,16,128,22,128,28,128,34]},{"a":6376,"t":"byte","b":[128,40,128,46,128,52,128,58]},{"a":6384,"t":"byte","b":[128,64,128,70,130,76,131,82]},{"a":6392,"t":"byte","b":[134,88,137,94,128,4,128,10]},{"a":6400,"t":"byte","b":[128,16,128,22,128,28,128,34]},{"a":6408,"t":"byte","b":[128,40,128,46,128,52,128,58]},{"a":6416,"t":"byte","b":[128,64,130,70,133,76,136,82]},{"a":6424,"t":"byte","b":[139,88,142,94,128,4,128,10]},{"a":6432,"t":"byte","b":[128,16,128,22,128,28,128,34]},{"a":6440,"t":"byte","b":[128,40,128,46,128,52,128,58]},{"a":6448,"t":"byte","b":[130,64,133,70,138,76,139,82]},{"a":6456,"t":"byte","b":[143,88,148,94,128,4,128,10]},{"a":6464,"t":"byte","b":[128,16,128,22,128,28,128,34]},{"a":6472,"t":"byte","b":[128,40,128,46,128,52,130,58]},{"a":6480,"t":"byte","b":[133,64,137,70,140,76,142,82]},{"a":6488,"t":"byte","b":[146,88,150,94,128,4,128,10]},{"a":6496,"t":"byte","b":[129,16,130,22,130,28,132,34]},{"a":6504,"t":"byte","b":[134,40,135,46,136,52,138,58]},{"a":6512,"t":"byte","b":[140,62,142,68,143,72,145,78]},{"a":6520,"t":"byte","b":[147,84,150,92,128,4,129,8]},{"a":6528,"t":"byte","b":[131,14,133,20,135,26,137,32]},{"a":6536,"t":"byte","b":[138,38,140,42,141,48,143,54]},{"a":6544,"t":"byte","b":[144,60,146,64,147,70,148,76]},{"a":6552,"t":"byte","b":[150,82,153,88,128,4,130,10]},{"a":6560,"t":"byte","b":[132,16,134,20,135,24,137,28]},{"a":6568,"t":"byte","b":[140,32,141,38,143,42,145,48]},{"a":6576,"t":"byte","b":[147,54,148,60,150,66,152,70]},{"a":6584,"t":"byte","b":[153,76,155,82,128,4,130,10]},{"a":6592,"t":"byte","b":[133,14,136,18,138,22,141,28]},{"a":6600,"t":"byte","b":[143,34,145,40,147,46,149,52]},{"a":6608,"t":"byte","b":[151,58,153,64,155,68,156,74]},{"a":6616,"t":"byte","b":[158,78,160,82,128,4,131,8]},{"a":6624,"t":"byte","b":[134,12,136,18,140,20,143,24]},{"a":6632,"t":"byte","b":[146,30,149,36,152,42,155,46]},{"a":6640,"t":"byte","b":[158,50,161,56,164,60,167,66]},{"a":6648,"t":"byte","b":[169,74,171,80,128,4,131,8]},{"a":6656,"t":"byte","b":[133,12,135,16,138,20,142,24]},{"a":6664,"t":"byte","b":[145,30,149,34,151,42,154,48]},{"a":6672,"t":"byte","b":[157,52,160,56,164,62,167,68]},{"a":6680,"t":"byte","b":[170,74,174,78,128,4,131,8]},{"a":6688,"t":"byte","b":[134,16,137,20,140,26,144,32]},{"a":6696,"t":"byte","b":[148,36,153,40,155,44,158,48]},{"a":6704,"t":"byte","b":[161,52,165,58,168,64,171,70]},{"a":6712,"t":"byte","b":[175,74,180,78,128,4,131,8]},{"a":6720,"t":"byte","b":[135,14,138,20,141,26,144,32]},{"a":6728,"t":"byte","b":[149,36,153,42,156,46,161,50]},{"a":6736,"t":"byte","b":[167,54,173,56,178,62,180,68]},{"a":6744,"t":"byte","b":[182,74,185,78,128,4,132,10]},{"a":6752,"t":"byte","b":[135,14,138,18,142,24,146,30]},{"a":6760,"t":"byte","b":[150,38,154,42,159,46,164,50]},{"a":6768,"t":"byte","b":[168,54,173,58,179,60,183,64]},{"a":6776,"t":"byte","b":[186,70,191,72,128,4,136,10]},{"a":6784,"t":"byte","b":[139,16,142,20,145,24,149,30]},{"a":6792,"t":"byte","b":[154,36,159,42,164,48,169,50]},{"a":6800,"t":"byte","b":[173,54,176,56,180,60,184,66]},{"a":6808,"t":"byte","b":[188,68,194,70,128,4,132,8]},{"a":6816,"t":"byte","b":[136,16,141,20,146,26,150,30]},{"a":6824,"t":"byte","b":[155,34,158,40,162,44,166,50]},{"a":6832,"t":"byte","b":[171,54,176,56,180,62,185,64]},{"a":6840,"t":"byte","b":[191,66,196,68]},{"a":6844,"l":"JSW_Player_update_player_attached_to_rope","c":"Purpose: Player state 6 follows the selected rope trajectory, permits jump-off, screen-top transition, and tile checks. Inputs: rope trajectory pointer, oscillator/player/input state. Outputs: player position/state/room or death. Assumptions: the active phase is initialized and the stated inputs and state are valid. Clobbers: A,X,Y and player state. Hardware: relies on staged rope sprite/collision state.","t":"code","b":[173,6,4],"m":"lda","oa":1030,"o":"JSW_State_rope_oscillator_step"},{"a":6847,"t":"code","b":[77,4,4],"m":"eor","oa":1028,"o":"JSW_State_rope_oscillator_half"},{"a":6850,"t":"code","b":[24],"m":"clc"},{"a":6851,"t":"code","b":[105,1],"m":"adc","o":"#$01"},{"a":6853,"t":"code","b":[141,5,4],"m":"sta","oa":1029,"o":"JSW_State_rope_oscillator_direction"},{"a":6856,"t":"code","b":[206,26,16],"m":"dec","oa":4122,"o":"JSW_State_rope_movement_divider"},{"a":6859,"t":"code","b":[240,3],"m":"beq","oa":6864,"o":"loc_1ad0"},{"a":6861,"t":"code","b":[76,98,27],"m":"jmp","oa":7010,"o":"loc_1b62"},{"a":6864,"l":"loc_1ad0","t":"code","b":[169,2],"m":"lda","o":"#$02","x":[6859]},{"a":6866,"t":"code","b":[141,26,16],"m":"sta","oa":4122,"o":"JSW_State_rope_movement_divider"},{"a":6869,"t":"code","b":[165,75],"m":"lda","oa":75,"o":"JSW_State_dormant_turnaround_marker"},{"a":6871,"t":"code","b":[201,254],"m":"cmp","o":"#$FE"},{"a":6873,"t":"code","b":[208,13],"m":"bne","oa":6888,"o":"loc_1ae8"},{"a":6875,"t":"code","b":[165,80],"m":"lda","oa":80,"o":"JSW_State_player_facing_frame_or_title_key_count"},{"a":6877,"t":"code","b":[73,4],"m":"eor","o":"#$04"},{"a":6879,"t":"code","b":[133,80],"m":"sta","oa":80,"o":"JSW_State_player_facing_frame_or_title_key_count"},{"a":6881,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":6883,"t":"code","b":[133,73],"m":"sta","oa":73,"o":"JSW_State_manual_horizontal_direction"},{"a":6885,"t":"code","b":[76,55,27],"m":"jmp","oa":6967,"o":"loc_1b37"},{"a":6888,"l":"loc_1ae8","t":"code","b":[165,73],"m":"lda","oa":73,"o":"JSW_State_manual_horizontal_direction","x":[6873]},{"a":6890,"t":"code","b":[77,5,4],"m":"eor","oa":1029,"o":"JSW_State_rope_oscillator_direction"},{"a":6893,"t":"code","b":[24],"m":"clc"},{"a":6894,"t":"code","b":[105,1],"m":"adc","o":"#$01"},{"a":6896,"t":"code","b":[201,2],"m":"cmp","o":"#$02"},{"a":6898,"t":"code","b":[208,2],"m":"bne","oa":6902,"o":"loc_1af6"},{"a":6900,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":6902,"l":"loc_1af6","t":"code","b":[24],"m":"clc","x":[6898]},{"a":6903,"t":"code","b":[109,25,16],"m":"adc","oa":4121,"o":"JSW_State_rope_trajectory_index"},{"a":6906,"t":"code","b":[201,16],"m":"cmp","o":"#$10"},{"a":6908,"t":"code","b":[208,16],"m":"bne","oa":6926,"o":"loc_1b0e"},{"a":6910,"t":"code","b":[169,2],"m":"lda","o":"#$02"},{"a":6912,"t":"code","b":[133,51],"m":"sta","oa":51,"o":"JSW_State_player_state"},{"a":6914,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":6916,"t":"code","b":[133,81],"m":"sta","oa":81,"o":"JSW_State_fall_counter_or_title_first_key"},{"a":6918,"t":"code","b":[133,83],"m":"sta","oa":83,"o":"JSW_State_lethal_fall_flag"},{"a":6920,"t":"code","b":[173,30,208],"m":"lda","o":"vic_sprite_collision"},{"a":6923,"t":"code","b":[76,123,16],"m":"jmp","oa":4219,"o":"JSW_Player_dispatch_state_after_rope_staging"},{"a":6926,"l":"loc_1b0e","t":"code","b":[201,255],"m":"cmp","o":"#$FF","x":[6908]},{"a":6928,"t":"code","b":[208,7],"m":"bne","oa":6937,"o":"loc_1b19"},{"a":6930,"t":"code","b":[165,29],"m":"lda","oa":29,"o":"JSW_State_previous_exit_up"},{"a":6932,"t":"code","b":[133,14],"m":"sta","oa":14,"o":"JSW_State_current_room_or_title_voice3_pointer_low"},{"a":6934,"t":"code","b":[76,39,16],"m":"jmp","oa":4135,"o":"JSW_Player_prepare_room_via_vector"},{"a":6937,"l":"loc_1b19","t":"code","b":[141,25,16],"m":"sta","oa":4121,"o":"JSW_State_rope_trajectory_index","x":[6928]},{"a":6940,"t":"code","b":[165,74],"m":"lda","oa":74,"o":"JSW_State_jump_request"},{"a":6942,"t":"code","b":[240,23],"m":"beq","oa":6967,"o":"loc_1b37"},{"a":6944,"t":"code","b":[165,73],"m":"lda","oa":73,"o":"JSW_State_manual_horizontal_direction"},{"a":6946,"t":"code","b":[141,19,16],"m":"sta","oa":4115,"o":"JSW_State_jump_horizontal_direction"},{"a":6949,"t":"code","b":[169,1],"m":"lda","o":"#$01"},{"a":6951,"t":"code","b":[133,51],"m":"sta","oa":51,"o":"JSW_State_player_state"},{"a":6953,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":6955,"t":"code","b":[133,82],"m":"sta","oa":82,"o":"JSW_State_jump_curve_index"},{"a":6957,"t":"code","b":[133,83],"m":"sta","oa":83,"o":"JSW_State_lethal_fall_flag"},{"a":6959,"t":"code","b":[133,81],"m":"sta","oa":81,"o":"JSW_State_fall_counter_or_title_first_key"},{"a":6961,"t":"code","b":[173,30,208],"m":"lda","o":"vic_sprite_collision"},{"a":6964,"t":"code","b":[76,126,16],"m":"jmp","oa":4222,"o":"JSW_Player_dispatch_state_from_table"},{"a":6967,"l":"loc_1b37","t":"code","b":[173,31,208],"m":"lda","o":"vic_sprite_bg_collision","x":[6885,6942]},{"a":6970,"t":"code","b":[41,1],"m":"and","o":"#$01"},{"a":6972,"t":"code","b":[240,36],"m":"beq","oa":7010,"o":"loc_1b62"},{"a":6974,"t":"code","b":[32,136,22],"m":"jsr","oa":5768,"o":"JSW_Player_initialize_tile_location"},{"a":6977,"t":"code","b":[174,20,16],"m":"ldx","oa":4116,"o":"JSW_State_tile_probe_x"},{"a":6980,"t":"code","b":[164,15],"m":"ldy","oa":15,"o":"JSW_State_working_tile_row_or_title_voice3_pointer_high"},{"a":6982,"t":"code","b":[32,36,16],"m":"jsr","oa":4132,"o":"JSW_Player_lookup_tile_via_vector"},{"a":6985,"t":"code","b":[32,150,27],"m":"jsr","oa":7062,"o":"JSW_Player_handle_rope_tile_collision"},{"a":6988,"t":"code","b":[200],"m":"iny"},{"a":6989,"t":"code","b":[32,150,27],"m":"jsr","oa":7062,"o":"JSW_Player_handle_rope_tile_collision"},{"a":6992,"t":"code","b":[160,40],"m":"ldy","o":"#$28"},{"a":6994,"t":"code","b":[32,150,27],"m":"jsr","oa":7062,"o":"JSW_Player_handle_rope_tile_collision"},{"a":6997,"t":"code","b":[200],"m":"iny"},{"a":6998,"t":"code","b":[32,150,27],"m":"jsr","oa":7062,"o":"JSW_Player_handle_rope_tile_collision"},{"a":7001,"t":"code","b":[160,80],"m":"ldy","o":"#$50"},{"a":7003,"t":"code","b":[32,150,27],"m":"jsr","oa":7062,"o":"JSW_Player_handle_rope_tile_collision"},{"a":7006,"t":"code","b":[200],"m":"iny"},{"a":7007,"t":"code","b":[32,150,27],"m":"jsr","oa":7062,"o":"JSW_Player_handle_rope_tile_collision"},{"a":7010,"l":"loc_1b62","t":"code","b":[32,134,28],"m":"jsr","oa":7302,"o":"JSW_Player_compute_rope_trajectory_pointer","x":[6861,6972]},{"a":7013,"t":"code","b":[173,25,16],"m":"lda","oa":4121,"o":"JSW_State_rope_trajectory_index"},{"a":7016,"t":"code","b":[10],"m":"asl","o":"a"},{"a":7017,"t":"code","b":[168],"m":"tay"},{"a":7018,"t":"code","b":[177,7],"m":"lda","oa":7,"o":"(JSW_State_zp_work_low),y"},{"a":7020,"t":"code","b":[174,3,4],"m":"ldx","oa":1027,"o":"JSW_State_rope_oscillator_position"},{"a":7023,"t":"code","b":[224,17],"m":"cpx","o":"#$11"},{"a":7025,"t":"code","b":[144,5],"m":"bcc","oa":7032,"o":"loc_1b78"},{"a":7027,"t":"code","b":[169,247],"m":"lda","o":"#$F7"},{"a":7029,"t":"code","b":[56],"m":"sec"},{"a":7030,"t":"code","b":[241,7],"m":"sbc","oa":7,"o":"(JSW_State_zp_work_low),y"},{"a":7032,"l":"loc_1b78","t":"code","b":[72],"m":"pha","x":[7025]},{"a":7033,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":7034,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":7035,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":7036,"t":"code","b":[133,79],"m":"sta","oa":79,"o":"JSW_State_player_x_cell"},{"a":7038,"t":"code","b":[104],"m":"pla"},{"a":7039,"t":"code","b":[41,7],"m":"and","o":"#$07"},{"a":7041,"t":"code","b":[133,50],"m":"sta","oa":50,"o":"JSW_State_player_horizontal_phase"},{"a":7043,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":7044,"t":"code","b":[133,49],"m":"sta","oa":49,"o":"shared_arithmetic_scratch"},{"a":7046,"t":"code","b":[165,80],"m":"lda","oa":80,"o":"JSW_State_player_facing_frame_or_title_key_count"},{"a":7048,"t":"code","b":[41,4],"m":"and","o":"#$04"},{"a":7050,"t":"code","b":[5,49],"m":"ora","oa":49,"o":"shared_arithmetic_scratch"},{"a":7052,"t":"code","b":[133,80],"m":"sta","oa":80,"o":"JSW_State_player_facing_frame_or_title_key_count"},{"a":7054,"t":"code","b":[200],"m":"iny"},{"a":7055,"t":"code","b":[177,7],"m":"lda","oa":7,"o":"(JSW_State_zp_work_low),y"},{"a":7057,"t":"code","b":[133,28],"m":"sta","oa":28,"o":"JSW_State_player_y"},{"a":7059,"t":"code","b":[76,33,16],"m":"jmp","oa":4129,"o":"JSW_Player_continue_main_loop_via_vector"},{"a":7062,"l":"JSW_Player_handle_rope_tile_collision","c":"Purpose: Resolve tile contact while attached to rope. Inputs: A tile code. Outputs: fire death, falling state for non-air contact, or return. Assumptions: the active phase is initialized and the stated inputs and state are valid. Clobbers: A and player state. Hardware: none directly.","t":"code","b":[177,7],"m":"lda","oa":7,"o":"(JSW_State_zp_work_low),y","x":[6985,6989,6994,6998,7003,7007]},{"a":7064,"t":"code","b":[201,3],"m":"cmp","o":"#$03"},{"a":7066,"t":"code","b":[208,3],"m":"bne","oa":7071,"o":"loc_1b9f"},{"a":7068,"t":"code","b":[76,240,21],"m":"jmp","oa":5616,"o":"JSW_Player_kill_player"},{"a":7071,"l":"loc_1b9f","t":"code","b":[201,0],"m":"cmp","o":"#$00","x":[7066]},{"a":7073,"t":"code","b":[240,16],"m":"beq","oa":7091,"o":"loc_1bb3"},{"a":7075,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":7077,"t":"code","b":[133,83],"m":"sta","oa":83,"o":"JSW_State_lethal_fall_flag"},{"a":7079,"t":"code","b":[133,81],"m":"sta","oa":81,"o":"JSW_State_fall_counter_or_title_first_key"},{"a":7081,"t":"code","b":[169,2],"m":"lda","o":"#$02"},{"a":7083,"t":"code","b":[133,51],"m":"sta","oa":51,"o":"JSW_State_player_state"},{"a":7085,"t":"code","b":[173,30,208],"m":"lda","o":"vic_sprite_collision"},{"a":7088,"t":"code","b":[76,123,16],"m":"jmp","oa":4219,"o":"JSW_Player_dispatch_state_after_rope_staging"},{"a":7091,"l":"loc_1bb3","t":"code","b":[96],"m":"rts","x":[7073]},{"a":7092,"l":"annotation_1bb4","c":"Data immediately preceding the disabled room selector, including the text FACES.","t":"byte","b":[0,70,65,67,69,83,88,96]},{"a":7100,"l":"JSW_Player_disabled_room_selector","c":"Purpose: Disable the dormant FACES room-selector hook. Inputs: none. Outputs: returns immediately, leaving the inactive bytes that follow unreachable. Assumptions: callers may invoke the hook during normal player dispatch. Clobbers: none. Hardware: none.","t":"code","b":[96],"m":"rts","x":[4213]},{"a":7101,"l":"annotation_1bbd","c":"Captured unreachable bytes following the disabled FACES hook. They are retained as data because the in-scope runtime returns at $1BBC and has no control-flow edge into this range.","t":"byte","b":[67,201,1,208,248,165,68,201]},{"a":7109,"t":"byte","b":[94,208,242,120,169,0,141,24]},{"a":7117,"t":"byte","b":[212,162,0,138,72,32,27,16]},{"a":7125,"t":"byte","b":[165,67,208,249,32,27,16,165]},{"a":7133,"t":"byte","b":[67,201,1,208,247,104,170,165]},{"a":7141,"t":"byte","b":[68,221,181,27,208,207,232,224]},{"a":7149,"t":"byte","b":[5,208,224,173,32,208,72,169]},{"a":7157,"t":"byte","b":[1,141,32,208,32,27,16,165]},{"a":7165,"t":"byte","b":[67,208,249,32,27,16,165,67]},{"a":7173,"t":"byte","b":[201,1,208,247,165,68,201,48]},{"a":7181,"t":"byte","b":[144,234,201,54,176,230,41,15]},{"a":7189,"t":"byte","b":[170,189,70,28,141,180,27,32]},{"a":7197,"t":"byte","b":[27,16,165,67,208,249,32,27]},{"a":7205,"t":"byte","b":[16,165,67,201,1,208,247,165]},{"a":7213,"t":"byte","b":[68,201,48,144,241,201,58,176]},{"a":7221,"t":"byte","b":[237,41,15,24,109,180,27,133]},{"a":7229,"t":"byte","b":[14,88,104,141,20,208,76,39]},{"a":7237,"t":"byte","b":[16,0,10,20,30,40,50]},{"a":7244,"l":"JSW_Player_attach_player_to_rope_if_colliding","c":"Purpose: In rope rooms, use VIC sprite-collision latch and proximity to sprites 5-7 to attach Willy to the nearest segment. Inputs: rope flag, player/rope coordinates, $D01E. Outputs: player state 6 and trajectory selection. Assumptions: the active phase is initialized and the stated inputs and state are valid. Clobbers: A,X,Y and rope/player state. Hardware: reading $D01E clears the VIC collision latch.","t":"code","b":[173,2,4],"m":"lda","oa":1026,"o":"JSW_State_room_has_rope","x":[4216]},{"a":7247,"t":"code","b":[208,1],"m":"bne","oa":7250,"o":"loc_1c52"},{"a":7249,"l":"loc_1c51","t":"code","b":[96],"m":"rts","x":[7257,7263,7269]},{"a":7250,"l":"loc_1c52","t":"code","b":[173,30,208],"m":"lda","o":"vic_sprite_collision","x":[7247]},{"a":7253,"t":"code","b":[133,49],"m":"sta","oa":49,"o":"shared_arithmetic_scratch"},{"a":7255,"t":"code","b":[41,1],"m":"and","o":"#$01"},{"a":7257,"t":"code","b":[240,246],"m":"beq","oa":7249,"o":"loc_1c51"},{"a":7259,"t":"code","b":[165,49],"m":"lda","oa":49,"o":"shared_arithmetic_scratch"},{"a":7261,"t":"code","b":[41,224],"m":"and","o":"#$E0"},{"a":7263,"t":"code","b":[240,240],"m":"beq","oa":7249,"o":"loc_1c51"},{"a":7265,"t":"code","b":[165,51],"m":"lda","oa":51,"o":"JSW_State_player_state"},{"a":7267,"t":"code","b":[201,6],"m":"cmp","o":"#$06"},{"a":7269,"t":"code","b":[240,234],"m":"beq","oa":7249,"o":"loc_1c51"},{"a":7271,"t":"code","b":[32,134,28],"m":"jsr","oa":7302,"o":"JSW_Player_compute_rope_trajectory_pointer"},{"a":7274,"t":"code","b":[160,31],"m":"ldy","o":"#$1F"},{"a":7276,"t":"code","b":[165,28],"m":"lda","oa":28,"o":"JSW_State_player_y"},{"a":7278,"l":"loc_1c6e","t":"code","b":[209,7],"m":"cmp","oa":7,"o":"(JSW_State_zp_work_low),y","x":[7284]},{"a":7280,"t":"code","b":[176,5],"m":"bcs","oa":7287,"o":"loc_1c77"},{"a":7282,"t":"code","b":[136],"m":"dey"},{"a":7283,"t":"code","b":[136],"m":"dey"},{"a":7284,"t":"code","b":[16,248],"m":"bpl","oa":7278,"o":"loc_1c6e"},{"a":7286,"t":"code","b":[96],"m":"rts"},{"a":7287,"l":"loc_1c77","t":"code","b":[152],"m":"tya","x":[7280]},{"a":7288,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":7289,"t":"code","b":[141,25,16],"m":"sta","oa":4121,"o":"JSW_State_rope_trajectory_index"},{"a":7292,"t":"code","b":[169,6],"m":"lda","o":"#$06"},{"a":7294,"t":"code","b":[133,51],"m":"sta","oa":51,"o":"JSW_State_player_state"},{"a":7296,"t":"code","b":[169,2],"m":"lda","o":"#$02"},{"a":7298,"t":"code","b":[141,26,16],"m":"sta","oa":4122,"o":"JSW_State_rope_movement_divider"},{"a":7301,"t":"code","b":[96],"m":"rts"},{"a":7302,"l":"JSW_Player_compute_rope_trajectory_pointer","c":"Purpose: Compute the player trajectory pointer for the current rope oscillator half-cycle. Inputs: oscillator/segment selection. Outputs: zero-page trajectory pointer. Assumptions: the active phase is initialized and the stated inputs and state are valid. Clobbers: A,X,Y and pointer state. Hardware: none.","t":"code","b":[169,0],"m":"lda","o":"#$00","x":[7010,7271]},{"a":7304,"t":"code","b":[133,8],"m":"sta","oa":8,"o":"JSW_State_zp_work_high"},{"a":7306,"t":"code","b":[173,3,4],"m":"lda","oa":1027,"o":"JSW_State_rope_oscillator_position"},{"a":7309,"t":"code","b":[201,17],"m":"cmp","o":"#$11"},{"a":7311,"t":"code","b":[144,2],"m":"bcc","oa":7315,"o":"loc_1c93"},{"a":7313,"t":"code","b":[233,17],"m":"sbc","o":"#$11"},{"a":7315,"l":"loc_1c93","t":"code","b":[10],"m":"asl","o":"a","x":[7311]},{"a":7316,"t":"code","b":[38,8],"m":"rol","oa":8,"o":"JSW_State_zp_work_high"},{"a":7318,"t":"code","b":[10],"m":"asl","o":"a"},{"a":7319,"t":"code","b":[38,8],"m":"rol","oa":8,"o":"JSW_State_zp_work_high"},{"a":7321,"t":"code","b":[10],"m":"asl","o":"a"},{"a":7322,"t":"code","b":[38,8],"m":"rol","oa":8,"o":"JSW_State_zp_work_high"},{"a":7324,"t":"code","b":[10],"m":"asl","o":"a"},{"a":7325,"t":"code","b":[38,8],"m":"rol","oa":8,"o":"JSW_State_zp_work_high"},{"a":7327,"t":"code","b":[10],"m":"asl","o":"a"},{"a":7328,"t":"code","b":[38,8],"m":"rol","oa":8,"o":"JSW_State_zp_work_high"},{"a":7330,"t":"code","b":[24],"m":"clc"},{"a":7331,"t":"code","b":[105,156],"m":"adc","o":"#$9C"},{"a":7333,"t":"code","b":[133,7],"m":"sta","oa":7,"o":"JSW_State_zp_work_low"},{"a":7335,"t":"code","b":[169,24],"m":"lda","o":"#$18"},{"a":7337,"t":"code","b":[101,8],"m":"adc","oa":8,"o":"JSW_State_zp_work_high"},{"a":7339,"t":"code","b":[133,8],"m":"sta","oa":8,"o":"JSW_State_zp_work_high"},{"a":7341,"t":"code","b":[96],"m":"rts"},{"a":7342,"l":"annotation_1cae","c":"Unreferenced graphics/build remnant between rope code and the game-entry trampoline.","t":"byte","b":[0,127,44,25,44,25,52,9]},{"a":7350,"t":"byte","b":[44,159,8,155,8,25,48,27]},{"a":7358,"t":"byte","b":[8,189,0,255,0,223,0,27]},{"a":7366,"t":"byte","b":[0,9,44,25,0,25,0,159]},{"a":7374,"t":"byte","b":[0,25,40,29,100,155,0,255]},{"a":7382,"t":"byte","b":[36,153,52,223,44,223,40,223]},{"a":7390,"t":"byte","b":[36,25,100,223,8,219,44,27]},{"a":7398,"t":"byte","b":[44,25,0,255,0,25,36,255]},{"a":7406,"t":"byte","b":[8,255,8,27,0,27,36,27]},{"a":7414,"t":"byte","b":[44,255,48,155,40,27,0,155]},{"a":7422,"t":"byte","b":[52,25,0,45,0,36,18,45]},{"a":7430,"t":"byte","b":[214,44,0,9,100,45,246,45]},{"a":7438,"t":"byte","b":[214,41,18,45,2,9,214,45]},{"a":7446,"t":"byte","b":[150,61,18,61,146,9,246,45]},{"a":7454,"t":"byte","b":[246,9,150,60,146,45,18,9]},{"a":7462,"t":"byte","b":[146,45,182,45,214,45,155,41]},{"a":7470,"t":"byte","b":[214,9,182,45,178,45,2,61]},{"a":7478,"t":"byte","b":[150,41,246,45,246,45,36,45]},{"a":7486,"t":"byte","b":[210,45,214,9,246,41,214,45]},{"a":7494,"t":"byte","b":[246,45,182,45,246,45,246,45]},{"a":7502,"t":"byte","b":[214,45,246,45,146,45,182,41]},{"a":7510,"t":"byte","b":[146,45,4,41,146,9,246,9]},{"a":7518,"t":"byte","b":[150,45,146,41,214,45,150,45]},{"a":7526,"t":"byte","b":[146,45,246,9,214,45,150,9]},{"a":7534,"t":"byte","b":[246,9,214,45,246,45,214,45]},{"a":7542,"t":"byte","b":[150,9,68,41,214,45,180,45]},{"a":7550,"t":"byte","b":[132,45,52,25,52,18,36,155]},{"a":7558,"t":"byte","b":[32,24,52,61,16,27,36,27]},{"a":7566,"t":"byte","b":[0,45,36,25,52,253,0,27]},{"a":7574,"t":"byte","b":[36,9,4,11,36,255,0,27]},{"a":7582,"t":"byte","b":[0,159,36,9,36,27,36,191]},{"a":7590,"t":"byte","b":[36,155,36,219,32,27,37,155]},{"a":7598,"t":"byte","b":[0,255,36,155,36,25,52,9]},{"a":7606,"t":"byte","b":[36,223,4,155,0,25,16,27]},{"a":7614,"t":"byte","b":[36,189,0,255,0,223,0,155]},{"a":7622,"t":"byte","b":[0,9,36,27,0,27,0,159]},{"a":7630,"t":"byte","b":[0,25,0,29,36,155,0,255]},{"a":7638,"t":"byte","b":[36,153,52,223,36,223,32,223]},{"a":7646,"t":"byte","b":[36,27,36,223,32,219,0,27]},{"a":7654,"t":"byte","b":[36,25,0,255,0,25,36,255]},{"a":7662,"t":"byte","b":[0,255,0,27,0,27,36,27]},{"a":7670,"t":"byte","b":[36,255,48,155,32,155,0,155]},{"a":7678,"t":"byte","b":[52,25,1,36,1,45,19,36]},{"a":7686,"t":"byte","b":[215,37,1,0,101,36,247,36]},{"a":7694,"t":"byte","b":[223,32,19,36,3,0,215,36]},{"a":7702,"t":"byte","b":[159,52,19,52,19,0,247,36]},{"a":7710,"t":"byte","b":[255,0,147,117,155,36,19,0]},{"a":7718,"t":"byte","b":[147,36,243,32,215,36,146,32]},{"a":7726,"t":"byte","b":[223,0,183,36,179,36,11,52]},{"a":7734,"t":"byte","b":[147,32,247,36,247,36,45,36]},{"a":7742,"t":"byte","b":[211,96,223,0,255,32,223,36]},{"a":7750,"t":"byte","b":[255,36,159,100,255,36,255,32]},{"a":7758,"t":"byte","b":[223,36,255,36,27,36,183,32]},{"a":7766,"t":"byte","b":[187,36,9,32,147,0,247,0]},{"a":7774,"t":"byte","b":[27,36,27,32,215,32,151,36]},{"a":7782,"t":"byte","b":[147,36,255,0,223,36,155,0]},{"a":7790,"t":"byte","b":[247,0,215,36,255,36,215,36]},{"a":7798,"t":"byte","b":[151,0,77,36,215,36,189,36]},{"a":7806,"t":"byte","b":[137,36,61,16,53,27,37,146]},{"a":7814,"t":"byte","b":[1,17,61,52,25,18,37,18]},{"a":7822,"t":"byte","b":[9,36,37,16,125,244,5,18]},{"a":7830,"t":"byte","b":[45,0,5,2,45,246,9,18]},{"a":7838,"t":"byte","b":[9,150,37,0,45,18,53,182]},{"a":7846,"t":"byte","b":[37,146,37,210,37,18,36,146]},{"a":7854,"t":"byte","b":[9,118,37,18,37,16,61,0]},{"a":7862,"t":"byte","b":[37,214,1,146,1,16,57,18]},{"a":7870,"t":"byte","b":[1,180,9,246,9,214,9,18]},{"a":7878,"t":"byte","b":[9,0,37,16,9,18,9,150]},{"a":7886,"t":"byte","b":[9,16,33,20,109,146,9,214]},{"a":7894,"t":"byte","b":[45,144,61,214,37,214,33,214]},{"a":7902,"t":"byte","b":[45,16,109,214,33,210,33,18]},{"a":7910,"t":"byte","b":[37,16,9,246,9,16,45,246]},{"a":7918,"t":"byte","b":[1,214,1,18,9,18,37,18]},{"a":7926,"t":"byte","b":[37,246,57,146,33,146,9,146]},{"a":7934,"t":"byte","b":[61,16,169,0,133,7,169,192]},{"a":7942,"t":"byte","b":[133,8,169,0,133,9,169,16]},{"a":7950,"t":"byte","b":[133,10,160,0,162,16,177,7]},{"a":7958,"t":"byte","b":[145,9,200,208,249,230,8,230]},{"a":7966,"t":"byte","b":[10,202,208,242,96,36,27,0]},{"a":7974,"t":"byte","b":[255,100,255,32,223,36,210,0]},{"a":7982,"t":"byte","b":[223,0,255,32,255,36,47,36]},{"a":7990,"t":"byte","b":[223,0,255,32,255,32,45,36]},{"a":7998,"t":"byte","b":[223,100,223,0,255,0,223,36]},{"a":8006,"t":"byte","b":[255,36,255,36,255,32,255,32]},{"a":8014,"t":"byte","b":[223,36,255,36,159,32,255,0]},{"a":8022,"t":"byte","b":[191,32,77,32,159,0,255,0]},{"a":8030,"t":"byte","b":[255,36,159,32,223,36,159,36]},{"a":8038,"t":"byte","b":[159,36,255,0,223,36,223,0]},{"a":8046,"t":"byte","b":[255,0,223,36,255,32,223,36]},{"a":8054,"t":"byte","b":[255,0,77,32,223,32,189,32]},{"a":8062,"t":"byte","b":[205,36,61,20,61,155,45,146]},{"a":8070,"t":"byte","b":[9,17,61,52,25,182,41,146]},{"a":8078,"t":"byte","b":[9,54,45,16,61,244,9,146]},{"a":8086,"t":"byte","b":[45,4,13,18,45,246,9,150]},{"a":8094,"t":"byte","b":[9,150,45,16,45,18,45,182]},{"a":8102,"t":"byte","b":[45,146,45,214,9,18,36,182]},{"a":8110,"t":"byte","b":[9,246,41,150,45,16,61,16]},{"a":8118,"t":"byte","b":[45,214,9,146,9,16,25,18]},{"a":8126,"t":"byte","b":[45,180,9,246,9,214,9,146]},{"a":8134,"t":"byte","b":[9,18,41,18,9,146,9,150]},{"a":8142,"t":"byte","b":[9,16,9,18,45,150,9,246]},{"a":8150,"t":"byte","b":[45,144,61,214,45,214,9,214]},{"a":8158,"t":"byte","b":[45,18,45,214,41,210,9,146]},{"a":8166,"t":"byte","b":[45,144,9,246,9,16,41,246]},{"a":8174,"t":"byte","b":[9,246,41,146,9,146,41,18]},{"a":8182,"t":"byte","b":[41,246,57,150,41,146,9,146]},{"a":8190,"t":"byte","b":[61,16]},{"a":8192,"l":"JSW_Game_game_entry","c":"Purpose: Stable game entry trampoline to $2C57. Inputs: title has selected start. Outputs: gameplay initialization begins. Assumptions: the active phase is initialized and the stated inputs and state are valid. Clobbers: initializer-defined. Hardware: initializer configures VIC, CIA, SID, banking, and IRQ.","t":"code","b":[76,87,44],"m":"jmp","oa":11351,"o":"JSW_Game_initialize_game","x":[42987]},{"a":8195,"l":"annotation_2003","c":"Two-byte separator before the in-game music initializer.","t":"byte","b":[2,58]},{"a":8197,"l":"JSW_Game_initialize_game_music","c":"Purpose: Initialize two-voice gameplay SID state and stream pointers $9C00/$9DEE. Inputs: music data present. Outputs: duration counters, pointers, SID envelopes/pulse/control. Assumptions: the active phase is initialized and the stated inputs and state are valid. Clobbers: A,X. Hardware: writes SID voices 1-2 and master volume with I/O visible.","t":"code","b":[169,0],"m":"lda","o":"#$00","x":[8367,11578]},{"a":8199,"t":"code","b":[133,144],"m":"sta","oa":144,"o":"JSW_State_game_music_voice1_pointer_low"},{"a":8201,"t":"code","b":[169,156],"m":"lda","o":"#$9C"},{"a":8203,"t":"code","b":[133,145],"m":"sta","oa":145,"o":"JSW_State_game_music_voice1_pointer_high"},{"a":8205,"t":"code","b":[169,238],"m":"lda","o":"#$EE"},{"a":8207,"t":"code","b":[133,146],"m":"sta","oa":146,"o":"JSW_State_game_music_voice2_pointer_low"},{"a":8209,"t":"code","b":[169,157],"m":"lda","o":"#$9D"},{"a":8211,"t":"code","b":[133,147],"m":"sta","oa":147,"o":"JSW_State_game_music_voice2_pointer_high"},{"a":8213,"t":"code","b":[169,236],"m":"lda","o":"#$EC"},{"a":8215,"t":"code","b":[141,128,1],"m":"sta","oa":384,"o":"game_note_frequency_table_pointer_low"},{"a":8218,"t":"code","b":[169,32],"m":"lda","o":"#$20"},{"a":8220,"t":"code","b":[141,129,1],"m":"sta","oa":385,"o":"game_note_frequency_table_pointer_high"},{"a":8223,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":8225,"t":"code","b":[170],"m":"tax"},{"a":8226,"l":"loc_2022","t":"code","b":[157,0,212],"m":"sta","o":"sid_v1_freq_lo,x","x":[8232]},{"a":8229,"t":"code","b":[232],"m":"inx"},{"a":8230,"t":"code","b":[224,25],"m":"cpx","o":"#$19"},{"a":8232,"t":"code","b":[144,248],"m":"bcc","oa":8226,"o":"loc_2022"},{"a":8234,"t":"code","b":[169,58],"m":"lda","o":"#$3A"},{"a":8236,"t":"code","b":[141,5,212],"m":"sta","o":"sid_v1_attack_decay"},{"a":8239,"t":"code","b":[169,152],"m":"lda","o":"#$98"},{"a":8241,"t":"code","b":[141,6,212],"m":"sta","o":"sid_v1_sustain_release"},{"a":8244,"t":"code","b":[169,40],"m":"lda","o":"#$28"},{"a":8246,"t":"code","b":[141,12,212],"m":"sta","o":"sid_v2_attack_decay"},{"a":8249,"t":"code","b":[169,170],"m":"lda","o":"#$AA"},{"a":8251,"t":"code","b":[141,13,212],"m":"sta","o":"sid_v2_sustain_release"},{"a":8254,"t":"code","b":[169,32],"m":"lda","o":"#$20"},{"a":8256,"t":"code","b":[141,2,212],"m":"sta","o":"sid_v1_pulse_lo"},{"a":8259,"t":"code","b":[169,3],"m":"lda","o":"#$03"},{"a":8261,"t":"code","b":[141,3,212],"m":"sta","o":"sid_v1_pulse_hi"},{"a":8264,"t":"code","b":[169,88],"m":"lda","o":"#$58"},{"a":8266,"t":"code","b":[141,9,212],"m":"sta","o":"sid_v2_pulse_lo"},{"a":8269,"t":"code","b":[169,2],"m":"lda","o":"#$02"},{"a":8271,"t":"code","b":[141,10,212],"m":"sta","o":"sid_v2_pulse_hi"},{"a":8274,"t":"code","b":[169,65],"m":"lda","o":"#$41"},{"a":8276,"t":"code","b":[141,4,212],"m":"sta","o":"sid_v1_control"},{"a":8279,"t":"code","b":[141,11,212],"m":"sta","o":"sid_v2_control"},{"a":8282,"t":"code","b":[169,12],"m":"lda","o":"#$0C"},{"a":8284,"t":"code","b":[141,24,212],"m":"sta","o":"sid_filter_mode_volume"},{"a":8287,"t":"code","b":[169,1],"m":"lda","o":"#$01"},{"a":8289,"t":"code","b":[133,148],"m":"sta","oa":148,"o":"JSW_State_game_music_voice1_duration"},{"a":8291,"t":"code","b":[133,149],"m":"sta","oa":149,"o":"JSW_State_game_music_voice2_duration"},{"a":8293,"t":"code","b":[96],"m":"rts"},{"a":8294,"l":"JSW_Game_tick_game_music","c":"Purpose: Decrement both voice durations and fetch events when due. Inputs: stream pointers/counters. Outputs: updated SID frequencies/gates and stream state. Assumptions: the active phase is initialized and the stated inputs and state are valid. Clobbers: A,X,Y. Hardware: writes SID voices 1-2; $FF restarts through $2005.","t":"code","b":[198,148],"m":"dec","oa":148,"o":"JSW_State_game_music_voice1_duration","x":[13369,13372,13375]},{"a":8296,"t":"code","b":[208,3],"m":"bne","oa":8301,"o":"loc_206d"},{"a":8298,"t":"code","b":[32,117,32],"m":"jsr","oa":8309,"o":"JSW_Game_read_game_music_voice1"},{"a":8301,"l":"loc_206d","t":"code","b":[198,149],"m":"dec","oa":149,"o":"JSW_State_game_music_voice2_duration","x":[8296]},{"a":8303,"t":"code","b":[208,3],"m":"bne","oa":8308,"o":"loc_2074"},{"a":8305,"t":"code","b":[32,178,32],"m":"jsr","oa":8370,"o":"JSW_Game_read_game_music_voice2"},{"a":8308,"l":"loc_2074","t":"code","b":[96],"m":"rts","x":[8303]},{"a":8309,"l":"JSW_Game_read_game_music_voice1","c":"Purpose: Consume one note/duration event for SID voice 1. Inputs: pointer $90/$91. Outputs: new duration, frequency/control, advanced pointer. Assumptions: the active phase is initialized and the stated inputs and state are valid. Clobbers: A,X,Y. Hardware: writes $D400/$D401/$D404; note zero silences the voice.","t":"code","b":[160,1],"m":"ldy","o":"#$01","x":[8298]},{"a":8311,"t":"code","b":[177,144],"m":"lda","oa":144,"o":"(JSW_State_game_music_voice1_pointer_low),y"},{"a":8313,"t":"code","b":[201,255],"m":"cmp","o":"#$FF"},{"a":8315,"t":"code","b":[240,48],"m":"beq","oa":8365,"o":"loc_20ad"},{"a":8317,"t":"code","b":[133,148],"m":"sta","oa":148,"o":"JSW_State_game_music_voice1_duration"},{"a":8319,"t":"code","b":[136],"m":"dey"},{"a":8320,"t":"code","b":[177,144],"m":"lda","oa":144,"o":"(JSW_State_game_music_voice1_pointer_low),y"},{"a":8322,"t":"code","b":[208,8],"m":"bne","oa":8332,"o":"loc_208c"},{"a":8324,"t":"code","b":[162,4],"m":"ldx","o":"#$04"},{"a":8326,"t":"code","b":[32,230,32],"m":"jsr","oa":8422,"o":"JSW_Game_silence_sid_voice_by_offset"},{"a":8329,"t":"code","b":[76,159,32],"m":"jmp","oa":8351,"o":"loc_209f"},{"a":8332,"l":"loc_208c","t":"code","b":[10],"m":"asl","o":"a","x":[8322]},{"a":8333,"t":"code","b":[170],"m":"tax"},{"a":8334,"t":"code","b":[189,236,32],"m":"lda","oa":8428,"o":"JSW_State_game_note_frequency_table,x"},{"a":8337,"t":"code","b":[141,0,212],"m":"sta","o":"sid_v1_freq_lo"},{"a":8340,"t":"code","b":[189,237,32],"m":"lda","oa":8429,"o":"f_20ED,x"},{"a":8343,"t":"code","b":[141,1,212],"m":"sta","o":"sid_v1_freq_hi"},{"a":8346,"t":"code","b":[169,65],"m":"lda","o":"#$41"},{"a":8348,"t":"code","b":[141,4,212],"m":"sta","o":"sid_v1_control"},{"a":8351,"l":"loc_209f","t":"code","b":[24],"m":"clc","x":[8329]},{"a":8352,"t":"code","b":[165,144],"m":"lda","oa":144,"o":"JSW_State_game_music_voice1_pointer_low"},{"a":8354,"t":"code","b":[105,2],"m":"adc","o":"#$02"},{"a":8356,"t":"code","b":[133,144],"m":"sta","oa":144,"o":"JSW_State_game_music_voice1_pointer_low"},{"a":8358,"t":"code","b":[165,145],"m":"lda","oa":145,"o":"JSW_State_game_music_voice1_pointer_high"},{"a":8360,"t":"code","b":[105,0],"m":"adc","o":"#$00"},{"a":8362,"t":"code","b":[133,145],"m":"sta","oa":145,"o":"JSW_State_game_music_voice1_pointer_high"},{"a":8364,"t":"code","b":[96],"m":"rts"},{"a":8365,"l":"loc_20ad","t":"code","b":[104],"m":"pla","x":[8315]},{"a":8366,"t":"code","b":[104],"m":"pla"},{"a":8367,"t":"code","b":[76,5,32],"m":"jmp","oa":8197,"o":"JSW_Game_initialize_game_music"},{"a":8370,"l":"JSW_Game_read_game_music_voice2","c":"Purpose: Consume one note/duration event for SID voice 2. Inputs: pointer $92/$93. Outputs: new duration, frequency/control, advanced pointer. Assumptions: the active phase is initialized and the stated inputs and state are valid. Clobbers: A,X,Y. Hardware: writes $D407/$D408/$D40B.","t":"code","b":[160,1],"m":"ldy","o":"#$01","x":[8305]},{"a":8372,"t":"code","b":[177,146],"m":"lda","oa":146,"o":"(JSW_State_game_music_voice2_pointer_low),y"},{"a":8374,"t":"code","b":[133,149],"m":"sta","oa":149,"o":"JSW_State_game_music_voice2_duration"},{"a":8376,"t":"code","b":[136],"m":"dey"},{"a":8377,"t":"code","b":[177,146],"m":"lda","oa":146,"o":"(JSW_State_game_music_voice2_pointer_low),y"},{"a":8379,"t":"code","b":[208,8],"m":"bne","oa":8389,"o":"loc_20c5"},{"a":8381,"t":"code","b":[162,11],"m":"ldx","o":"#$0B"},{"a":8383,"t":"code","b":[32,230,32],"m":"jsr","oa":8422,"o":"JSW_Game_silence_sid_voice_by_offset"},{"a":8386,"t":"code","b":[76,216,32],"m":"jmp","oa":8408,"o":"loc_20d8"},{"a":8389,"l":"loc_20c5","t":"code","b":[10],"m":"asl","o":"a","x":[8379]},{"a":8390,"t":"code","b":[170],"m":"tax"},{"a":8391,"t":"code","b":[189,236,32],"m":"lda","oa":8428,"o":"JSW_State_game_note_frequency_table,x"},{"a":8394,"t":"code","b":[141,7,212],"m":"sta","o":"sid_v2_freq_lo"},{"a":8397,"t":"code","b":[189,237,32],"m":"lda","oa":8429,"o":"f_20ED,x"},{"a":8400,"t":"code","b":[141,8,212],"m":"sta","o":"sid_v2_freq_hi"},{"a":8403,"t":"code","b":[169,65],"m":"lda","o":"#$41"},{"a":8405,"t":"code","b":[141,11,212],"m":"sta","o":"sid_v2_control"},{"a":8408,"l":"loc_20d8","t":"code","b":[24],"m":"clc","x":[8386]},{"a":8409,"t":"code","b":[165,146],"m":"lda","oa":146,"o":"JSW_State_game_music_voice2_pointer_low"},{"a":8411,"t":"code","b":[105,2],"m":"adc","o":"#$02"},{"a":8413,"t":"code","b":[133,146],"m":"sta","oa":146,"o":"JSW_State_game_music_voice2_pointer_low"},{"a":8415,"t":"code","b":[165,147],"m":"lda","oa":147,"o":"JSW_State_game_music_voice2_pointer_high"},{"a":8417,"t":"code","b":[105,0],"m":"adc","o":"#$00"},{"a":8419,"t":"code","b":[133,147],"m":"sta","oa":147,"o":"JSW_State_game_music_voice2_pointer_high"},{"a":8421,"t":"code","b":[96],"m":"rts"},{"a":8422,"l":"JSW_Game_silence_sid_voice_by_offset","c":"Purpose: Clear the control register of the SID voice selected by X register-group offset. Inputs: X equals 4 for voice 1 or 11 for voice 2. Outputs: gate/control cleared. Assumptions: the active phase is initialized and the stated inputs and state are valid. Clobbers: A. Hardware: indexed write to SID base $D400,X.","t":"code","b":[169,64],"m":"lda","o":"#$40","x":[8326,8383]},{"a":8424,"t":"code","b":[157,0,212],"m":"sta","o":"sid_v1_freq_lo,x"},{"a":8427,"t":"code","b":[96],"m":"rts"},{"a":8428,"l":"JSW_State_game_note_frequency_table","c":"96 little-endian PAL SID frequency words indexed by doubled note number.","t":"word","b":[0,0],"d":[0],"x":[8334,8391]},{"a":8429,"t":"note","l":"f_20ED","c":"High byte $00 of the first little-endian word at $20EC (JSW_State_game_note_frequency_table); the parent description defines the table or writable pointer.","note":"inside the item at $20EC","x":[8340,8397]},{"a":8430,"l":"annotation_20ee","c":"96 little-endian PAL SID note frequencies.","t":"word","b":[28,1,45,1,62,1,81,1],"d":[284,301,318,337]},{"a":8438,"t":"word","b":[102,1,123,1,145,1,169,1],"d":[358,379,401,425]},{"a":8446,"t":"word","b":[195,1,221,1,250,1,24,2],"d":[451,477,506,536]},{"a":8454,"t":"word","b":[56,2,90,2,125,2,163,2],"d":[568,602,637,675]},{"a":8462,"t":"word","b":[204,2,246,2,35,3,83,3],"d":[716,758,803,851]},{"a":8470,"t":"word","b":[134,3,187,3,244,3,48,4],"d":[902,955,1012,1072]},{"a":8478,"t":"word","b":[112,4,180,4,251,4,71,5],"d":[1136,1204,1275,1351]},{"a":8486,"t":"word","b":[152,5,237,5,71,6,167,6],"d":[1432,1517,1607,1703]},{"a":8494,"t":"word","b":[12,7,119,7,233,7,97,8],"d":[1804,1911,2025,2145]},{"a":8502,"t":"word","b":[225,8,104,9,247,9,143,10],"d":[2273,2408,2551,2703]},{"a":8510,"t":"word","b":[48,11,218,11,143,12,78,13],"d":[2864,3034,3215,3406]},{"a":8518,"t":"word","b":[24,14,239,14,210,15,195,16],"d":[3608,3823,4050,4291]},{"a":8526,"t":"word","b":[195,17,209,18,239,19,31,21],"d":[4547,4817,5103,5407]},{"a":8534,"t":"word","b":[96,22,181,23,30,25,156,26],"d":[5728,6069,6430,6812]},{"a":8542,"t":"word","b":[49,28,223,29,165,31,135,33],"d":[7217,7647,8101,8583]},{"a":8550,"t":"word","b":[134,35,162,37,223,39,62,42],"d":[9094,9634,10207,10814]},{"a":8558,"t":"word","b":[193,44,107,47,60,50,57,53],"d":[11457,12139,12860,13625]},{"a":8566,"t":"word","b":[99,56,190,59,75,63,15,67],"d":[14435,15294,16203,17167]},{"a":8574,"t":"word","b":[12,71,69,75,191,79,125,84],"d":[18188,19269,20415,21629]},{"a":8582,"t":"word","b":[131,89,214,94,183,98,115,106],"d":[22915,24278,25271,27251]},{"a":8590,"t":"word","b":[199,112,124,119,151,126,30,134],"d":[28871,30588,32407,34334]},{"a":8598,"t":"word","b":[24,142,139,150,126,159,250,168],"d":[36376,38539,40830,43258]},{"a":8606,"t":"word","b":[6,179,172,189,243,200,230,212],"d":[45830,48556,51443,54502]},{"a":8614,"t":"word","b":[143,225,248,238,46,253],"d":[57743,61176,64814]},{"a":8620,"l":"JSW_State_spare_life_glyph_frames","c":"Four 32-byte spare-life glyph animation frames.","t":"byte","b":[60,60,126,52,62,60,24,60],"x":[13607]},{"a":8628,"t":"byte","b":[126,126,247,251,60,118,110,119]},{"a":8636,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":8644,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":8652,"l":"annotation_21cc","c":"Four 32-byte spare-life glyph frames.","t":"byte","b":[15,15,31,13,15,15,6,15]},{"a":8660,"t":"byte","b":[27,27,27,29,15,6,6,7]},{"a":8668,"t":"byte","b":[0,0,128,0,128,0,0,0]},{"a":8676,"t":"byte","b":[128,128,128,128,0,0,0,0]},{"a":8684,"t":"byte","b":[3,3,7,3,3,3,1,3]},{"a":8692,"t":"byte","b":[7,7,15,15,3,7,6,7]},{"a":8700,"t":"byte","b":[192,192,224,64,224,192,128,192]},{"a":8708,"t":"byte","b":[224,224,112,176,192,96,224,112]},{"a":8716,"t":"byte","b":[0,0,1,0,0,0,0,0]},{"a":8724,"t":"byte","b":[1,3,7,6,0,1,3,3]},{"a":8732,"t":"byte","b":[240,240,248,208,248,240,96,240]},{"a":8740,"t":"byte","b":[248,252,254,246,248,218,14,140]},{"a":8748,"l":"tile_code_table","c":"Tile codes, masks, display constants, clock thresholds, and initial clock digits.","t":"byte","b":[32],"x":[13770]},{"a":8749,"l":"annotation_222d","c":"Four room tile codes written while constructing the expanded room display.","t":"byte","b":[33,34,35]},{"a":8752,"l":"room_direction_bit7_mask","c":"Bit 7 mask used to test signed direction/control fields in packed room and guardian metadata.","t":"byte","b":[128],"x":[12133,12160]},{"a":8753,"l":"bit_mask_table","c":"Eight ascending bit masks $01,$02,$04,$08,$10,$20,$40,$80, selected by the sprite or guardian index.\nAscending single-bit masks $01,$02,$04,$08,$10,$20,$40,$80.","t":"byte","b":[1],"x":[12299]},{"a":8754,"l":"bit_mask_table_index_1","c":"Second entry of the ascending bit-mask table, named because indexed references begin here.","t":"byte","b":[2],"x":[12391,14093]},{"a":8755,"l":"annotation_2233","c":"Entries 2-7 ($04,$08,$10,$20,$40,$80) of the ascending bit-mask table $2231-$2238, followed by entry 0 ($FE) of its bitwise-inverted counterpart $2239-$2240. Indexed consumers use bases $2231/$2232 for setting bits and $223A for clearing them. Each inverted entry is $FF XOR the matching ascending mask; the final seven inverse entries are described at $223A.","t":"byte","b":[4,8,16,32,64,128,254]},{"a":8762,"l":"inverted_bit_mask_table_index_1","c":"Second entry of the descending inverted-mask table $FE,$FD,$FB,$F7,$EF,$DF,$BF,$7F.","t":"byte","b":[253,251,247,239,223,191,127],"x":[12399,14101]},{"a":8769,"l":"status_line_screen_codes","c":"32 C64 screen codes for the gameplay status-line template.","t":"byte","b":[9,20,5,13,19,32,3,15],"x":[11707]},{"a":8777,"t":"byte","b":[12,12,5,3,20,5,4,58]},{"a":8785,"t":"byte","b":[32,48,48,32,32,32,32,32]},{"a":8793,"t":"byte","b":[32,32,20,9,13,5,58,32]},{"a":8801,"l":"clock_digit_rollover_thresholds","c":"Per-digit ASCII rollover thresholds used by the six-digit clock incrementer.","t":"byte","b":[50,58,54,58,54,58],"x":[13396]},{"a":8807,"l":"initial_clock_digits","c":"Initial ASCII clock digits copied to $37-$3C, representing 07:00:00.","t":"byte","b":[48,55,48,48,48,48,56,241],"x":[11697]},{"a":8815,"t":"byte","b":[24,113]},{"a":8817,"l":"glyph_rotate_right_pointer_table","c":"19 pointers to room glyph bytes rotated right by the raster IRQ.","t":"word","b":[194,176],"d":[45250],"x":[13469,13475]},{"a":8819,"l":"annotation_2273","c":"Nineteen little-endian character-glyph pointers rotated right by the raster IRQ.","t":"word","b":[192,181,192,180,194,239,194,240],"d":[46528,46272,61378,61634]},{"a":8827,"t":"word","b":[194,252,192,190,192,235,192,236],"d":[64706,48832,60352,60608]},{"a":8835,"t":"word","b":[192,244,192,200,194,198,194,248],"d":[62656,51392,50882,63682]},{"a":8843,"t":"word","b":[194,193,192,243,192,242,194,234],"d":[49602,62400,62144,60098]},{"a":8851,"t":"word","b":[192,246,192,194],"d":[63168,49856]},{"a":8855,"l":"glyph_rotate_left_pointer_table","c":"22 pointers to room glyph bytes rotated left by the raster IRQ.","t":"word","b":[192,227],"d":[58304],"x":[13496,13502]},{"a":8857,"l":"annotation_2299","c":"Twenty-two little-endian character-glyph pointers rotated left by the raster IRQ.","t":"word","b":[192,176,194,181,194,180,192,239],"d":[45248,46530,46274,61376]},{"a":8865,"t":"word","b":[192,240,192,251,192,252,192,205],"d":[61632,64448,64704,52672]},{"a":8873,"t":"word","b":[194,190,192,231,194,235,194,236],"d":[48834,59328,60354,60610]},{"a":8881,"t":"word","b":[192,198,192,195,192,248,192,193],"d":[50880,50112,63680,49600]},{"a":8889,"t":"word","b":[194,243,194,242,192,234,194,246],"d":[62402,62146,60096,63170]},{"a":8897,"t":"word","b":[194,194],"d":[49858]},{"a":8899,"l":"JSW_State_item_records","c":"80 item records: room, X, Y, and mutable taken flag. Collection uses BCD count $0401 and sets completion flag at decimal 50.","t":"byte","b":[0,30,4,0]},{"a":8903,"l":"annotation_22c7","c":"80 mutable item records.","t":"byte","b":[0,29,4,0,0,28,4,0]},{"a":8911,"t":"byte","b":[0,27,4,0,0,26,4,0]},{"a":8919,"t":"byte","b":[0,25,4,0,0,24,4,0]},{"a":8927,"t":"byte","b":[0,23,4,0,0,22,4,0]},{"a":8935,"t":"byte","b":[0,21,4,0,0,20,4,0]},{"a":8943,"t":"byte","b":[0,19,4,0,2,22,0,0]},{"a":8951,"t":"byte","b":[3,1,11,0,3,4,10,0]},{"a":8959,"t":"byte","b":[3,7,11,0,7,15,7,0]},{"a":8967,"t":"byte","b":[9,5,11,0,10,11,4,0]},{"a":8975,"t":"byte","b":[12,19,13,0,12,22,4,0]},{"a":8983,"t":"byte","b":[12,16,3,0,13,5,1,0]},{"a":8991,"t":"byte","b":[13,2,6,0,14,26,2,0]},{"a":8999,"t":"byte","b":[14,26,3,0,15,31,4,0]},{"a":9007,"t":"byte","b":[16,31,4,0,17,31,4,0]},{"a":9015,"t":"byte","b":[18,25,12,0,19,2,3,0]},{"a":9023,"t":"byte","b":[21,27,12,0,21,25,12,0]},{"a":9031,"t":"byte","b":[21,23,12,0,21,22,12,0]},{"a":9039,"t":"byte","b":[21,20,12,0,21,18,12,0]},{"a":9047,"t":"byte","b":[21,17,12,0,22,2,9,0]},{"a":9055,"t":"byte","b":[22,9,6,0,25,6,11,0]},{"a":9063,"t":"byte","b":[25,6,8,0,25,8,5,0]},{"a":9071,"t":"byte","b":[25,3,2,0,27,29,6,0]},{"a":9079,"t":"byte","b":[29,26,9,0,30,8,14,0]},{"a":9087,"t":"byte","b":[33,23,13,0,34,2,9,0]},{"a":9095,"t":"byte","b":[37,6,13,0,37,16,6,0]},{"a":9103,"t":"byte","b":[37,28,1,0,38,9,2,0]},{"a":9111,"t":"byte","b":[40,19,7,0,43,31,8,0]},{"a":9119,"t":"byte","b":[43,28,8,0,43,25,8,0]},{"a":9127,"t":"byte","b":[43,22,8,0,44,18,4,0]},{"a":9135,"t":"byte","b":[46,10,3,0,46,29,4,0]},{"a":9143,"t":"byte","b":[48,28,10,0,48,28,7,0]},{"a":9151,"t":"byte","b":[48,28,4,0,48,4,13,0]},{"a":9159,"t":"byte","b":[48,2,10,0,48,4,7,0]},{"a":9167,"t":"byte","b":[49,10,9,0,49,20,9,0]},{"a":9175,"t":"byte","b":[49,24,9,0,49,25,8,0]},{"a":9183,"t":"byte","b":[50,7,14,0,55,6,10,0]},{"a":9191,"t":"byte","b":[55,9,14,0,55,19,13,0]},{"a":9199,"t":"byte","b":[55,27,11,0,56,23,9,0]},{"a":9207,"t":"byte","b":[57,22,13,0,58,13,14,0]},{"a":9215,"t":"byte","b":[59,26,8,0]},{"a":9219,"l":"JSW_State_arrow_records","c":"16 arrow records; the main loop processes the first 15. Byte 0 combines room with visible bit 7; byte 2 combines X with direction bit 7.","t":"byte","b":[7,50,0,11]},{"a":9223,"l":"annotation_2407","c":"16 arrow records; only first 15 are processed.","t":"byte","b":[9,50,0,4,11,10,159,4]},{"a":9231,"t":"byte","b":[11,150,0,1,12,150,159,8]},{"a":9239,"t":"byte","b":[15,75,159,6,15,100,0,5]},{"a":9247,"t":"byte","b":[99,125,0,8,17,10,159,8]},{"a":9255,"t":"byte","b":[36,5,156,9,37,150,0,8]},{"a":9263,"t":"byte","b":[99,50,159,5,99,175,0,9]},{"a":9271,"t":"byte","b":[42,150,0,12,55,100,0,5]},{"a":9279,"t":"byte","b":[57,200,0,5]},{"a":9283,"l":"JSW_State_guardian_records","c":"181 guardian definitions selected by each room record. Type bit 7 selects horizontal movement and bit 6 supplies initial direction.","t":"byte","b":[0,7,5,122,13,3,1,0]},{"a":9291,"l":"annotation_244b","c":"181 eight-byte guardian definitions.","t":"byte","b":[0,10,7,158,13,3,4,1]},{"a":9299,"t":"byte","b":[128,28,7,154,30,3,1,19]},{"a":9307,"t":"byte","b":[192,8,10,138,10,7,1,0]},{"a":9315,"t":"byte","b":[128,20,10,138,30,7,1,14]},{"a":9323,"t":"byte","b":[0,12,4,118,13,3,8,0]},{"a":9331,"t":"byte","b":[192,28,3,90,31,7,1,5]},{"a":9339,"t":"byte","b":[192,16,13,106,31,7,1,0]},{"a":9347,"t":"byte","b":[0,14,10,122,12,3,2,6]},{"a":9355,"t":"byte","b":[192,9,13,82,15,7,1,4]},{"a":9363,"t":"byte","b":[0,2,5,162,13,1,2,5]},{"a":9371,"t":"byte","b":[64,5,7,162,13,3,2,3]},{"a":9379,"t":"byte","b":[0,8,10,162,12,3,1,3]},{"a":9387,"t":"byte","b":[192,20,5,138,31,7,1,0]},{"a":9395,"t":"byte","b":[192,8,9,138,30,7,1,5]},{"a":9403,"t":"byte","b":[128,19,11,138,30,7,1,14]},{"a":9411,"t":"byte","b":[192,21,12,138,30,7,1,16]},{"a":9419,"t":"byte","b":[128,15,13,54,31,3,1,11]},{"a":9427,"t":"byte","b":[0,11,11,166,13,1,1,6]},{"a":9435,"t":"byte","b":[0,14,9,166,13,1,2,5]},{"a":9443,"t":"byte","b":[0,17,7,166,13,1,4,7]},{"a":9451,"t":"byte","b":[0,23,11,166,13,1,2,6]},{"a":9459,"t":"byte","b":[0,2,6,126,12,0,1,0]},{"a":9467,"t":"byte","b":[0,4,6,127,12,0,1,0]},{"a":9475,"t":"byte","b":[0,3,8,128,14,1,1,2]},{"a":9483,"l":"guardian_25_room06_offscreen_dummy_horizontal","c":"Room 6 final guardian slot. Copied normally to work slot 3 and assigned to VIC sprite 4. Type $80 uses the horizontal updater, but row $19 maps to sprite Y $FA outside the 16-row gameplay field. It cycles frames $2C-$2F and horizontal state off-screen; room color $00 also matches the background. Ordinary-format off-screen dummy, not a special dispatch record.","t":"byte","b":[128,55,25,44,1,0,0,0]},{"a":9491,"t":"byte","b":[192,5,11,82,13,7,1,0]},{"a":9499,"t":"byte","b":[192,16,8,54,18,3,1,12]},{"a":9507,"t":"byte","b":[0,2,12,162,14,1,2,8]},{"a":9515,"t":"byte","b":[0,5,12,162,14,1,2,8]},{"a":9523,"t":"byte","b":[0,8,12,162,14,1,2,8]},{"a":9531,"t":"byte","b":[192,6,5,138,13,7,1,0]},{"a":9539,"t":"byte","b":[192,19,3,134,31,3,1,17]},{"a":9547,"t":"byte","b":[192,26,11,138,30,7,1,16]},{"a":9555,"t":"byte","b":[0,12,5,122,14,3,2,0]},{"a":9563,"t":"byte","b":[128,19,5,34,31,3,1,16]},{"a":9571,"t":"byte","b":[0,14,7,114,7,3,1,0]},{"a":9579,"t":"byte","b":[64,7,10,70,14,3,2,9]},{"a":9587,"t":"byte","b":[192,19,3,90,31,7,1,5]},{"a":9595,"t":"byte","b":[192,19,10,138,17,7,1,9]},{"a":9603,"t":"byte","b":[0,10,6,64,7,1,0,6]},{"a":9611,"t":"byte","b":[192,8,10,134,20,3,1,0]},{"a":9619,"t":"byte","b":[192,7,5,138,12,7,1,0]},{"a":9627,"t":"byte","b":[192,24,3,90,31,7,1,5]},{"a":9635,"t":"byte","b":[192,19,7,138,24,7,1,14]},{"a":9643,"t":"byte","b":[192,20,10,82,31,7,1,19]},{"a":9651,"t":"byte","b":[0,12,11,122,14,3,4,0]},{"a":9659,"t":"byte","b":[0,24,1,62,2,1,2,0]},{"a":9667,"t":"byte","b":[192,5,5,138,12,7,1,0]},{"a":9675,"t":"byte","b":[0,4,7,168,12,1,4,7]},{"a":9683,"t":"byte","b":[0,12,9,168,13,1,1,5]},{"a":9691,"t":"byte","b":[0,5,7,166,13,1,4,6]},{"a":9699,"t":"byte","b":[0,11,10,166,13,1,2,5]},{"a":9707,"t":"byte","b":[0,19,5,166,13,1,4,4]},{"a":9715,"t":"byte","b":[0,25,8,166,13,1,1,5]},{"a":9723,"t":"byte","b":[192,5,4,138,11,7,1,0]},{"a":9731,"t":"byte","b":[192,7,5,138,9,7,1,0]},{"a":9739,"t":"byte","b":[0,5,8,166,13,1,1,5]},{"a":9747,"t":"byte","b":[0,11,10,166,13,1,2,5]},{"a":9755,"t":"byte","b":[0,19,6,166,13,1,4,5]},{"a":9763,"t":"byte","b":[0,25,4,166,13,1,8,4]},{"a":9771,"t":"byte","b":[128,22,13,106,25,7,1,13]},{"a":9779,"t":"byte","b":[128,9,5,74,21,7,1,4]},{"a":9787,"t":"byte","b":[128,16,5,74,29,7,1,12]},{"a":9795,"t":"byte","b":[192,11,9,74,27,7,1,8]},{"a":9803,"t":"byte","b":[192,7,13,74,13,7,1,5]},{"a":9811,"t":"byte","b":[192,12,13,74,20,7,1,12]},{"a":9819,"t":"byte","b":[192,18,13,74,25,7,1,16]},{"a":9827,"t":"byte","b":[192,24,13,74,31,7,1,23]},{"a":9835,"t":"byte","b":[64,5,10,122,12,3,4,7]},{"a":9843,"t":"byte","b":[0,7,8,122,12,3,2,7]},{"a":9851,"t":"byte","b":[0,11,10,122,12,3,1,10]},{"a":9859,"t":"byte","b":[0,12,2,1,6,0,1,2]},{"a":9867,"t":"byte","b":[128,24,10,138,30,7,1,15]},{"a":9875,"t":"byte","b":[64,6,10,122,12,3,2,7]},{"a":9883,"t":"byte","b":[0,14,8,122,12,3,2,7]},{"a":9891,"t":"byte","b":[192,24,11,106,27,7,1,16]},{"a":9899,"t":"byte","b":[128,4,3,42,12,3,1,0]},{"a":9907,"t":"byte","b":[192,16,3,154,22,3,1,13]},{"a":9915,"t":"byte","b":[192,21,6,102,25,3,1,12]},{"a":9923,"t":"byte","b":[128,4,9,114,7,3,1,2]},{"a":9931,"t":"byte","b":[192,10,9,138,18,7,1,9]},{"a":9939,"t":"byte","b":[192,21,12,54,31,3,1,0]},{"a":9947,"t":"byte","b":[0,3,4,98,13,1,4,0]},{"a":9955,"t":"byte","b":[0,9,12,98,13,1,2,0]},{"a":9963,"t":"byte","b":[64,15,7,98,14,1,4,0]},{"a":9971,"t":"byte","b":[0,20,5,98,13,1,4,0]},{"a":9979,"t":"byte","b":[0,9,12,98,13,1,2,0]},{"a":9987,"t":"byte","b":[64,14,8,98,13,1,4,0]},{"a":9995,"t":"byte","b":[0,20,12,98,13,1,2,0]},{"a":10003,"t":"byte","b":[0,27,4,98,13,1,4,0]},{"a":10011,"t":"byte","b":[128,8,3,130,11,3,1,0]},{"a":10019,"t":"byte","b":[128,3,6,146,8,7,1,0]},{"a":10027,"t":"byte","b":[128,4,9,130,6,3,1,0]},{"a":10035,"t":"byte","b":[192,15,13,146,25,7,1,0]},{"a":10043,"t":"byte","b":[64,3,9,26,13,3,2,0]},{"a":10051,"t":"byte","b":[0,7,12,122,14,3,8,0]},{"a":10059,"t":"byte","b":[64,6,8,26,11,3,1,7]},{"a":10067,"t":"byte","b":[192,12,12,74,17,3,1,0]},{"a":10075,"t":"byte","b":[0,17,9,22,10,3,1,7]},{"a":10083,"t":"byte","b":[0,25,6,126,11,0,1,0]},{"a":10091,"t":"byte","b":[0,27,6,127,11,0,1,0]},{"a":10099,"t":"byte","b":[0,26,8,128,13,1,1,2]},{"a":10107,"l":"guardian_103_room27_offscreen_dummy_horizontal","c":"Room 27 final guardian slot. Copied normally to work slot 6 and assigned to VIC sprite 7. Type $80 uses the horizontal updater and frames $2C-$2F, but row $19 maps to Y $FA outside the gameplay field. Sprite 7 is not overridden by the room-33/35 special animation here. Ordinary-format off-screen dummy.","t":"byte","b":[128,55,25,44,1,0,0,0]},{"a":10115,"t":"byte","b":[128,26,12,74,31,7,1,25]},{"a":10123,"t":"byte","b":[64,8,3,2,11,3,2,0]},{"a":10131,"t":"byte","b":[0,11,2,4,13,1,1,0]},{"a":10139,"t":"byte","b":[0,14,9,0,13,0,4,0]},{"a":10147,"t":"byte","b":[64,17,7,4,14,1,8,1]},{"a":10155,"t":"byte","b":[64,20,3,2,13,3,2,0]},{"a":10163,"t":"byte","b":[0,23,2,2,13,1,1,0]},{"a":10171,"t":"byte","b":[0,28,9,2,13,0,4,0]},{"a":10179,"t":"byte","b":[64,10,7,30,10,3,1,6]},{"a":10187,"t":"byte","b":[0,13,7,22,10,3,2,5]},{"a":10195,"t":"byte","b":[64,16,10,18,10,3,1,5]},{"a":10203,"t":"byte","b":[192,22,10,82,31,7,1,19]},{"a":10211,"t":"byte","b":[192,12,13,74,13,7,1,5]},{"a":10219,"t":"byte","b":[192,4,6,42,8,3,1,2]},{"a":10227,"t":"byte","b":[192,16,3,114,29,3,1,0]},{"a":10235,"t":"byte","b":[0,6,5,38,13,3,4,2]},{"a":10243,"t":"byte","b":[0,12,2,1,8,0,1,2]},{"a":10251,"t":"byte","b":[128,16,13,50,31,3,1,10]},{"a":10259,"t":"byte","b":[192,2,2,138,11,7,1,0]},{"a":10267,"t":"byte","b":[0,7,7,18,12,3,2,6]},{"a":10275,"t":"byte","b":[64,9,10,70,14,3,2,9]},{"a":10283,"t":"byte","b":[0,20,5,30,12,3,4,0]},{"a":10291,"t":"byte","b":[192,22,10,138,25,7,1,9]},{"a":10299,"t":"byte","b":[0,4,7,126,12,0,1,0]},{"a":10307,"t":"byte","b":[0,6,7,127,12,0,1,0]},{"a":10315,"t":"byte","b":[0,5,9,128,14,1,1,2]},{"a":10323,"l":"guardian_130_room38_offscreen_dummy_vertical","c":"Room 38 final guardian slot. Copied normally to work slot 4 and assigned to VIC sprite 5. Type $00 selects the vertical updater; row $19 maps to Y $FA and zero vertical-pixel step leaves it parked there, with only the direction bit toggling. Ordinary-format off-screen dummy.","t":"byte","b":[0,55,25,44,1,0,0,0]},{"a":10331,"t":"byte","b":[192,8,2,90,31,7,1,5]},{"a":10339,"t":"byte","b":[64,10,13,162,12,3,4,7]},{"a":10347,"t":"byte","b":[64,18,10,70,13,3,2,9]},{"a":10355,"t":"byte","b":[0,4,9,58,11,1,2,7]},{"a":10363,"t":"byte","b":[0,6,10,58,11,1,2,7]},{"a":10371,"t":"byte","b":[0,8,11,58,11,1,2,7]},{"a":10379,"t":"byte","b":[0,10,12,58,11,1,2,7]},{"a":10387,"t":"byte","b":[0,12,13,58,11,1,2,7]},{"a":10395,"t":"byte","b":[64,14,14,60,11,1,2,7]},{"a":10403,"t":"byte","b":[192,16,9,50,19,3,1,12]},{"a":10411,"t":"byte","b":[128,4,9,130,6,3,1,0]},{"a":10419,"t":"byte","b":[128,24,5,34,31,3,1,16]},{"a":10427,"t":"byte","b":[192,20,11,42,31,3,1,17]},{"a":10435,"t":"byte","b":[0,20,4,66,9,3,2,0]},{"a":10443,"t":"byte","b":[0,18,4,70,8,3,2,0]},{"a":10451,"t":"byte","b":[192,21,8,46,31,3,1,21]},{"a":10459,"t":"byte","b":[192,15,11,138,30,7,1,12]},{"a":10467,"t":"byte","b":[64,4,4,38,8,3,2,0]},{"a":10475,"t":"byte","b":[0,13,8,122,13,3,2,6]},{"a":10483,"t":"byte","b":[128,19,9,106,24,7,1,15]},{"a":10491,"t":"byte","b":[0,26,8,100,9,1,2,4]},{"a":10499,"t":"byte","b":[192,5,3,138,12,7,1,0]},{"a":10507,"t":"byte","b":[0,16,4,70,9,3,1,0]},{"a":10515,"t":"byte","b":[128,20,3,154,23,3,1,18]},{"a":10523,"t":"byte","b":[64,22,11,162,12,3,4,8]},{"a":10531,"t":"byte","b":[192,25,3,74,28,7,1,0]},{"a":10539,"t":"byte","b":[128,10,6,74,28,7,1,4]},{"a":10547,"t":"byte","b":[192,19,9,74,28,7,1,2]},{"a":10555,"t":"byte","b":[192,16,13,82,23,7,1,7]},{"a":10563,"t":"byte","b":[192,11,6,138,31,7,1,9]},{"a":10571,"t":"byte","b":[128,17,9,134,19,3,1,11]},{"a":10579,"t":"byte","b":[192,20,6,34,17,3,1,7]},{"a":10587,"t":"byte","b":[128,9,9,50,20,3,1,7]},{"a":10595,"t":"byte","b":[192,16,13,82,23,7,1,7]},{"a":10603,"t":"byte","b":[0,3,3,70,9,3,1,0]},{"a":10611,"t":"byte","b":[192,15,6,102,24,3,1,12]},{"a":10619,"t":"byte","b":[128,22,13,54,31,3,1,10]},{"a":10627,"t":"byte","b":[192,9,10,138,12,7,1,0]},{"a":10635,"t":"byte","b":[0,14,5,26,14,3,4,0]},{"a":10643,"t":"byte","b":[0,4,6,64,7,1,0,6]},{"a":10651,"t":"byte","b":[64,11,4,38,10,3,2,0]},{"a":10659,"t":"byte","b":[0,14,3,100,10,1,1,0]},{"a":10667,"t":"byte","b":[192,20,11,138,30,7,1,12]},{"a":10675,"t":"byte","b":[192,19,13,82,23,7,1,7]},{"a":10683,"t":"byte","b":[64,11,6,168,14,1,8,2]},{"a":10691,"t":"byte","b":[0,15,3,100,12,1,1,0]},{"a":10699,"t":"byte","b":[64,21,10,66,13,3,2,8]},{"a":10707,"t":"byte","b":[192,8,13,82,15,7,1,4]},{"a":10715,"t":"byte","b":[192,23,3,154,31,3,1,22]},{"a":10723,"t":"byte","b":[192,20,13,42,31,3,1,18]},{"a":10731,"l":"JSW_State_room_sprite_colors","c":"60 rows times eight VIC sprite colors: Willy followed by up to seven guardians or special sprites.","t":"byte","b":[1,2,3,7,0,0,0,0]},{"a":10739,"l":"annotation_29f3","c":"60 rows of eight sprite colors.","t":"byte","b":[1,5,6,3,0,0,0,0]},{"a":10747,"t":"byte","b":[1,2,3,9,0,0,0,0]},{"a":10755,"t":"byte","b":[1,14,3,6,5,0,0,0]},{"a":10763,"t":"byte","b":[1,11,10,9,8,6,0,0]},{"a":10771,"t":"byte","b":[1,8,12,13,7,0,0,0]},{"a":10779,"t":"byte","b":[2,2,2,2,0,0,0,0]},{"a":10787,"t":"byte","b":[1,2,3,0,0,0,1,1]},{"a":10795,"t":"byte","b":[1,2,6,10,13,8,1,7]},{"a":10803,"t":"byte","b":[1,2,3,4,0,0,1,1]},{"a":10811,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":10819,"t":"byte","b":[1,2,15,1,0,0,1,1]},{"a":10827,"t":"byte","b":[1,8,3,2,0,0,1,1]},{"a":10835,"t":"byte","b":[1,7,3,4,1,1,1,1]},{"a":10843,"t":"byte","b":[1,7,6,13,14,1,1,1]},{"a":10851,"t":"byte","b":[1,0,1,7,3,14,1,1]},{"a":10859,"t":"byte","b":[1,2,1,1,1,1,1,1]},{"a":10867,"t":"byte","b":[1,0,3,11,13,1,1,1]},{"a":10875,"t":"byte","b":[1,4,1,1,1,1,1,1]},{"a":10883,"t":"byte","b":[1,2,3,4,5,6,7,1]},{"a":10891,"t":"byte","b":[1,2,3,4,9,6,1,1]},{"a":10899,"t":"byte","b":[1,2,14,5,1,1,1,1]},{"a":10907,"t":"byte","b":[1,0,3,9,5,7,1,1]},{"a":10915,"t":"byte","b":[1,2,3,4,5,1,1,1]},{"a":10923,"t":"byte","b":[1,12,14,6,8,1,1,1]},{"a":10931,"t":"byte","b":[1,0,3,7,5,1,1,1]},{"a":10939,"t":"byte","b":[1,6,2,1,1,1,1,1]},{"a":10947,"t":"byte","b":[1,2,3,4,6,6,6,1]},{"a":10955,"t":"byte","b":[1,11,1,1,1,1,1,1]},{"a":10963,"t":"byte","b":[1,2,3,1,5,6,1,7]},{"a":10971,"t":"byte","b":[1,2,6,4,5,1,1,1]},{"a":10979,"t":"byte","b":[1,2,1,1,1,1,1,1]},{"a":10987,"t":"byte","b":[1,14,1,1,1,1,1,1]},{"a":10995,"t":"byte","b":[1,2,1,1,1,1,1,1]},{"a":11003,"t":"byte","b":[1,2,3,4,1,1,1,1]},{"a":11011,"t":"byte","b":[1,7,7,7,7,7,7,7]},{"a":11019,"t":"byte","b":[1,7,8,1,1,1,1,1]},{"a":11027,"t":"byte","b":[1,2,9,1,1,1,1,1]},{"a":11035,"t":"byte","b":[1,4,4,4,3,1,1,1]},{"a":11043,"t":"byte","b":[1,2,1,1,1,1,1,1]},{"a":11051,"t":"byte","b":[1,5,3,1,1,1,1,1]},{"a":11059,"t":"byte","b":[1,2,3,4,5,6,1,1]},{"a":11067,"t":"byte","b":[1,6,5,0,0,0,0,0]},{"a":11075,"t":"byte","b":[1,2,7,1,1,1,1,1]},{"a":11083,"t":"byte","b":[1,7,1,1,1,1,1,1]},{"a":11091,"t":"byte","b":[1,2,3,4,1,1,1,1]},{"a":11099,"t":"byte","b":[1,2,3,4,5,1,1,1]},{"a":11107,"t":"byte","b":[1,2,3,4,5,1,1,1]},{"a":11115,"t":"byte","b":[1,9,6,7,15,1,1,1]},{"a":11123,"t":"byte","b":[1,3,1,1,1,1,1,1]},{"a":11131,"t":"byte","b":[1,2,6,9,1,1,1,1]},{"a":11139,"t":"byte","b":[1,2,6,7,1,1,1,1]},{"a":11147,"t":"byte","b":[1,0,0,0,0,0,0,0]},{"a":11155,"t":"byte","b":[1,3,5,1,0,0,0,0]},{"a":11163,"t":"byte","b":[1,14,8,1,1,1,1,1]},{"a":11171,"t":"byte","b":[1,6,3,1,1,1,1,1]},{"a":11179,"t":"byte","b":[1,10,5,1,1,1,1,1]},{"a":11187,"t":"byte","b":[1,1,1,1,1,1,1,1]},{"a":11195,"t":"byte","b":[1,7,13,1,1,1,1,1]},{"a":11203,"t":"byte","b":[1,2,9,1,1,1,1,1]},{"a":11211,"l":"JSW_State_room_screen_row_pointers","c":"16 pointers to playable 32-column screen rows; adding $5C to the high byte derives the color-RAM row.","t":"word","b":[4,124],"d":[31748],"x":[13746,13805,14778]},{"a":11212,"t":"note","l":"f_2BCC","c":"High byte $7C of the first little-endian word at $2BCB (JSW_State_room_screen_row_pointers); the parent description defines the table or writable pointer.","note":"inside the item at $2BCB","x":[13756,13815,14788]},{"a":11213,"l":"annotation_2bcd","c":"16 little-endian screen-row pointers.","t":"word","b":[44,124,84,124,124,124,164,124],"d":[31788,31828,31868,31908]},{"a":11221,"t":"word","b":[204,124,244,124,28,125,68,125],"d":[31948,31988,32028,32068]},{"a":11229,"t":"word","b":[108,125,148,125,188,125,228,125],"d":[32108,32148,32188,32228]},{"a":11237,"t":"word","b":[12,126,52,126,92,126],"d":[32268,32308,32348]},{"a":11243,"l":"JSW_State_game_keyboard_lookup","c":"Keyboard-matrix decoding table used by gameplay input.","t":"byte","b":[17],"x":[14312]},{"a":11244,"l":"annotation_2bec","c":"Gameplay keyboard matrix lookup table.","t":"byte","b":[135,134,133,136,29,13,20,0]},{"a":11252,"t":"byte","b":[69,83,90,52,65,87,51,88]},{"a":11260,"t":"byte","b":[84,70,67,54,68,82,53,86]},{"a":11268,"t":"byte","b":[85,72,66,56,71,89,55,78]},{"a":11276,"t":"byte","b":[79,75,77,48,74,73,57,44]},{"a":11284,"t":"byte","b":[64,58,46,45,76,80,43,47]},{"a":11292,"t":"byte","b":[94,61,1,19,59,42,92,3]},{"a":11300,"t":"byte","b":[81,2,32,50,4,95,49]},{"a":11307,"l":"JSW_State_control_key_lists","c":"Key groups for left, right, jump, and pause controls.","t":"byte","b":[81],"x":[14347]},{"a":11308,"l":"annotation_2c2c","c":"Left/right/jump/pause key alias lists.","t":"byte","b":[69,84,85,79,64,49,51,53]},{"a":11316,"t":"byte","b":[55,57]},{"a":11318,"l":"right_control_key_list","c":"Keyboard aliases accepted for movement to the right.","t":"byte","b":[87,82,89,73,80,42,50,52],"x":[14356]},{"a":11326,"t":"byte","b":[54,56,48]},{"a":11329,"l":"jump_control_key_list","c":"Keyboard aliases accepted for jump.","t":"byte","b":[90,88,67,86,66,78,77,44],"x":[14365]},{"a":11337,"t":"byte","b":[46,32,47]},{"a":11340,"l":"pause_control_key_list","c":"Keyboard aliases accepted for pause/resume.","t":"byte","b":[65,83,68,70,71,72,74,75],"x":[12576]},{"a":11348,"t":"byte","b":[76,58,59]},{"a":11351,"l":"JSW_Game_initialize_game","c":"Purpose: Initialize gameplay, clear item flags, install vectors/IRQ, seed room 33, clock 07:00:00, eight spare lives, music, and UI. Inputs: title start action. Outputs: complete game state then room build. Assumptions: the active phase is initialized and the stated inputs and state are valid. Clobbers: A,X,Y and broad RAM state. Hardware/banking: selects VIC bank $4000-$7FFF, screen $7C00, charset $7800, ECM, $01=$36, CIA/VIC raster IRQ, SID.","t":"code","b":[120],"m":"sei","x":[8192]},{"a":11352,"t":"code","b":[173,2,221],"m":"lda","o":"cia2_ddr_a"},{"a":11355,"t":"code","b":[9,3],"m":"ora","o":"#$03"},{"a":11357,"t":"code","b":[141,2,221],"m":"sta","o":"cia2_ddr_a"},{"a":11360,"t":"code","b":[173,0,221],"m":"lda","o":"cia2_port_a"},{"a":11363,"t":"code","b":[41,252],"m":"and","o":"#$FC"},{"a":11365,"t":"code","b":[9,2],"m":"ora","o":"#$02"},{"a":11367,"t":"code","b":[141,0,221],"m":"sta","o":"cia2_port_a"},{"a":11370,"t":"code","b":[169,254],"m":"lda","o":"#$FE"},{"a":11372,"t":"code","b":[141,24,208],"m":"sta","o":"vic_memory"},{"a":11375,"t":"code","b":[169,8],"m":"lda","o":"#$08"},{"a":11377,"t":"code","b":[32,210,255],"m":"jsr","oa":65490,"o":"KERNAL_CHROUT"},{"a":11380,"t":"code","b":[169,54],"m":"lda","o":"#$36"},{"a":11382,"t":"code","b":[133,1],"m":"sta","oa":1,"o":"C64_CPU_PROCESSOR_PORT"},{"a":11384,"t":"code","b":[173,13,220],"m":"lda","o":"cia1_interrupt"},{"a":11387,"t":"code","b":[41,127],"m":"and","o":"#$7F"},{"a":11389,"t":"code","b":[141,13,220],"m":"sta","o":"cia1_interrupt"},{"a":11392,"t":"code","b":[173,14,220],"m":"lda","o":"cia1_control_a"},{"a":11395,"t":"code","b":[41,254],"m":"and","o":"#$FE"},{"a":11397,"t":"code","b":[141,14,220],"m":"sta","o":"cia1_control_a"},{"a":11400,"t":"code","b":[173,17,208],"m":"lda","o":"vic_control1"},{"a":11403,"t":"code","b":[9,64],"m":"ora","o":"#$40"},{"a":11405,"t":"code","b":[141,17,208],"m":"sta","o":"vic_control1"},{"a":11408,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":11410,"t":"code","b":[170],"m":"tax"},{"a":11411,"l":"loc_2c93","s":"X=$00..$58 clears $07-$5F; $60 is outside the loop.","t":"code","b":[149,7],"m":"sta","oa":7,"o":"JSW_State_zp_work_low,x","x":[11416]},{"a":11413,"t":"code","b":[232],"m":"inx"},{"a":11414,"t":"code","b":[224,89],"m":"cpx","o":"#$59"},{"a":11416,"t":"code","b":[144,249],"m":"bcc","oa":11411,"o":"loc_2c93"},{"a":11418,"t":"code","b":[169,195],"m":"lda","o":"#$C3"},{"a":11420,"t":"code","b":[133,22],"m":"sta","oa":22,"o":"item_or_arrow_record_pointer_low"},{"a":11422,"t":"code","b":[169,34],"m":"lda","o":"#$22"},{"a":11424,"t":"code","b":[133,23],"m":"sta","oa":23,"o":"item_or_arrow_record_pointer_high"},{"a":11426,"t":"code","b":[162,79],"m":"ldx","o":"#$4F"},{"a":11428,"t":"code","b":[160,3],"m":"ldy","o":"#$03"},{"a":11430,"l":"loc_2ca6","t":"code","b":[169,0],"m":"lda","o":"#$00","x":[11448]},{"a":11432,"t":"code","b":[145,22],"m":"sta","oa":22,"o":"(item_or_arrow_record_pointer_low),y"},{"a":11434,"t":"code","b":[24],"m":"clc"},{"a":11435,"t":"code","b":[165,22],"m":"lda","oa":22,"o":"item_or_arrow_record_pointer_low"},{"a":11437,"t":"code","b":[105,4],"m":"adc","o":"#$04"},{"a":11439,"t":"code","b":[133,22],"m":"sta","oa":22,"o":"item_or_arrow_record_pointer_low"},{"a":11441,"t":"code","b":[165,23],"m":"lda","oa":23,"o":"item_or_arrow_record_pointer_high"},{"a":11443,"t":"code","b":[105,0],"m":"adc","o":"#$00"},{"a":11445,"t":"code","b":[133,23],"m":"sta","oa":23,"o":"item_or_arrow_record_pointer_high"},{"a":11447,"t":"code","b":[202],"m":"dex"},{"a":11448,"t":"code","b":[16,236],"m":"bpl","oa":11430,"o":"loc_2ca6"},{"a":11450,"t":"code","b":[169,6],"m":"lda","o":"#$06"},{"a":11452,"t":"code","b":[133,86],"m":"sta","oa":86,"o":"JSW_State_player_update_divider"},{"a":11454,"t":"code","b":[133,85],"m":"sta","oa":85,"o":"JSW_State_item_render_divider_or_title_row_mask"},{"a":11456,"t":"code","b":[169,33],"m":"lda","o":"#$21"},{"a":11458,"t":"code","b":[133,14],"m":"sta","oa":14,"o":"JSW_State_current_room_or_title_voice3_pointer_low"},{"a":11460,"t":"code","b":[133,92],"m":"sta","oa":92,"o":"JSW_State_checkpoint_room"},{"a":11462,"t":"code","b":[169,20],"m":"lda","o":"#$14"},{"a":11464,"t":"code","b":[133,79],"m":"sta","oa":79,"o":"JSW_State_player_x_cell"},{"a":11466,"t":"code","b":[133,91],"m":"sta","oa":91,"o":"JSW_State_checkpoint_player_x"},{"a":11468,"t":"code","b":[169,104],"m":"lda","o":"#$68"},{"a":11470,"t":"code","b":[133,28],"m":"sta","oa":28,"o":"JSW_State_player_y"},{"a":11472,"t":"code","b":[133,88],"m":"sta","oa":88,"o":"JSW_State_checkpoint_player_y"},{"a":11474,"t":"code","b":[141,1,208],"m":"sta","o":"vic_sprite0_y"},{"a":11477,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":11479,"t":"code","b":[141,34,208],"m":"sta","o":"vic_background1"},{"a":11482,"t":"code","b":[141,21,208],"m":"sta","o":"vic_sprite_enable"},{"a":11485,"t":"code","b":[141,0,4],"m":"sta","oa":1024,"o":"JSW_State_completion_maria_removed"},{"a":11488,"t":"code","b":[141,1,4],"m":"sta","oa":1025,"o":"JSW_State_collected_item_count_bcd"},{"a":11491,"t":"code","b":[141,35,208],"m":"sta","o":"vic_background2"},{"a":11494,"t":"code","b":[169,216],"m":"lda","o":"#$D8"},{"a":11496,"t":"code","b":[141,0,208],"m":"sta","o":"vic_sprite0_x"},{"a":11499,"t":"code","b":[169,104],"m":"lda","o":"#$68"},{"a":11501,"t":"code","b":[141,1,208],"m":"sta","o":"vic_sprite0_y"},{"a":11504,"t":"code","b":[169,6],"m":"lda","o":"#$06"},{"a":11506,"t":"code","b":[141,248,127],"m":"sta","oa":32760,"o":"a_7FF8"},{"a":11509,"t":"code","b":[169,12],"m":"lda","o":"#$0C"},{"a":11511,"t":"code","b":[133,62],"m":"sta","oa":62,"o":"JSW_State_guardian_update_divider"},{"a":11513,"t":"code","b":[133,95],"m":"sta","oa":95,"o":"JSW_State_sid_master_volume"},{"a":11515,"t":"code","b":[169,2],"m":"lda","o":"#$02"},{"a":11517,"t":"code","b":[133,66],"m":"sta","oa":66,"o":"JSW_State_game_music_divider"},{"a":11519,"t":"code","b":[169,8],"m":"lda","o":"#$08"},{"a":11521,"t":"code","b":[133,65],"m":"sta","oa":65,"o":"JSW_State_spare_lives"},{"a":11523,"t":"code","b":[169,255],"m":"lda","o":"#$FF"},{"a":11525,"t":"code","b":[133,53],"m":"sta","oa":53,"o":"JSW_State_game_music_enabled"},{"a":11527,"t":"code","b":[169,1],"m":"lda","o":"#$01"},{"a":11529,"t":"code","b":[141,45,208],"m":"sta","o":"vic_sprite6_colour"},{"a":11532,"t":"code","b":[169,15],"m":"lda","o":"#$0F"},{"a":11534,"t":"code","b":[133,63],"m":"sta","oa":63,"o":"JSW_State_life_glyph_divider"},{"a":11536,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":11538,"t":"code","b":[170],"m":"tax"},{"a":11539,"l":"loc_2d13","t":"code","b":[157,0,212],"m":"sta","o":"sid_v1_freq_lo,x","x":[11545]},{"a":11542,"t":"code","b":[232],"m":"inx"},{"a":11543,"t":"code","b":[224,25],"m":"cpx","o":"#$19"},{"a":11545,"t":"code","b":[144,248],"m":"bcc","oa":11539,"o":"loc_2d13"},{"a":11547,"t":"code","b":[173,17,208],"m":"lda","o":"vic_control1"},{"a":11550,"t":"code","b":[41,127],"m":"and","o":"#$7F"},{"a":11552,"t":"code","b":[141,17,208],"m":"sta","o":"vic_control1"},{"a":11555,"t":"code","b":[169,251],"m":"lda","o":"#$FB"},{"a":11557,"t":"code","b":[141,18,208],"m":"sta","o":"vic_raster"},{"a":11560,"t":"code","b":[169,1],"m":"lda","o":"#$01"},{"a":11562,"t":"code","b":[141,26,208],"m":"sta","o":"vic_irq_enable"},{"a":11565,"t":"code","b":[120],"m":"sei"},{"a":11566,"t":"code","b":[169,225],"m":"lda","o":"#$E1"},{"a":11568,"t":"code","b":[141,20,3],"m":"sta","oa":788,"o":"C64_WORKSPACE_IRQ_RAM_VECTOR"},{"a":11571,"t":"code","b":[169,51],"m":"lda","o":"#$33"},{"a":11573,"t":"code","b":[141,21,3],"m":"sta","oa":789,"o":"IRQ_RAM_VECTOR_HIGH"},{"a":11576,"t":"code","b":[88],"m":"cli"},{"a":11577,"t":"code","b":[120],"m":"sei"},{"a":11578,"t":"code","b":[32,5,32],"m":"jsr","oa":8197,"o":"JSW_Game_initialize_game_music"},{"a":11581,"t":"code","b":[88],"m":"cli"},{"a":11582,"t":"code","b":[169,145],"m":"lda","o":"#$91"},{"a":11584,"t":"code","b":[141,240,207],"m":"sta","oa":53232,"o":"JSW_State_input_vector"},{"a":11587,"t":"code","b":[169,55],"m":"lda","o":"#$37"},{"a":11589,"t":"code","b":[141,241,207],"m":"sta","oa":53233,"o":"a_CFF1"},{"a":11592,"t":"code","b":[169,73],"m":"lda","o":"#$49"},{"a":11594,"t":"code","b":[141,242,207],"m":"sta","oa":53234,"o":"JSW_State_player_redispatch_vector"},{"a":11597,"t":"code","b":[169,51],"m":"lda","o":"#$33"},{"a":11599,"t":"code","b":[141,243,207],"m":"sta","oa":53235,"o":"a_CFF3"},{"a":11602,"t":"code","b":[169,79],"m":"lda","o":"#$4F"},{"a":11604,"t":"code","b":[141,244,207],"m":"sta","oa":53236,"o":"JSW_State_main_continue_vector"},{"a":11607,"t":"code","b":[169,51],"m":"lda","o":"#$33"},{"a":11609,"t":"code","b":[141,245,207],"m":"sta","oa":53237,"o":"a_CFF5"},{"a":11612,"t":"code","b":[169,228],"m":"lda","o":"#$E4"},{"a":11614,"t":"code","b":[141,246,207],"m":"sta","oa":53238,"o":"JSW_State_tile_lookup_vector"},{"a":11617,"t":"code","b":[169,53],"m":"lda","o":"#$35"},{"a":11619,"t":"code","b":[141,247,207],"m":"sta","oa":53239,"o":"a_CFF7"},{"a":11622,"t":"code","b":[169,198],"m":"lda","o":"#$C6"},{"a":11624,"t":"code","b":[141,248,207],"m":"sta","oa":53240,"o":"JSW_State_room_prepare_vector"},{"a":11627,"t":"code","b":[169,45],"m":"lda","o":"#$2D"},{"a":11629,"t":"code","b":[141,249,207],"m":"sta","oa":53241,"o":"a_CFF9"},{"a":11632,"t":"code","b":[169,239],"m":"lda","o":"#$EF"},{"a":11634,"t":"code","b":[141,250,207],"m":"sta","oa":53242,"o":"JSW_State_death_vector"},{"a":11637,"t":"code","b":[169,56],"m":"lda","o":"#$38"},{"a":11639,"t":"code","b":[141,251,207],"m":"sta","oa":53243,"o":"a_CFFB"},{"a":11642,"t":"code","b":[169,195],"m":"lda","o":"#$C3"},{"a":11644,"t":"code","b":[141,252,207],"m":"sta","oa":53244,"o":"JSW_State_item_table_base_vector"},{"a":11647,"t":"code","b":[169,34],"m":"lda","o":"#$22"},{"a":11649,"t":"code","b":[141,253,207],"m":"sta","oa":53245,"o":"a_CFFD"},{"a":11652,"t":"code","b":[162,0],"m":"ldx","o":"#$00"},{"a":11654,"t":"code","b":[169,192],"m":"lda","o":"#$C0"},{"a":11656,"l":"loc_2d88","t":"code","b":[157,0,124],"m":"sta","oa":31744,"o":"JSW_State_vic_screen_ram,x","x":[11669]},{"a":11659,"t":"code","b":[157,0,125],"m":"sta","oa":32000,"o":"vic_screen_ram_page_1,x"},{"a":11662,"t":"code","b":[157,0,126],"m":"sta","oa":32256,"o":"vic_screen_ram_page_2,x"},{"a":11665,"t":"code","b":[157,0,127],"m":"sta","oa":32512,"o":"vic_screen_ram_page_3,x"},{"a":11668,"t":"code","b":[232],"m":"inx"},{"a":11669,"t":"code","b":[208,241],"m":"bne","oa":11656,"o":"loc_2d88"},{"a":11671,"t":"code","b":[162,0],"m":"ldx","o":"#$00"},{"a":11673,"t":"code","b":[169,160],"m":"lda","o":"#$A0"},{"a":11675,"l":"loc_2d9b","t":"code","b":[157,248,126],"m":"sta","oa":32504,"o":"f_7EF8,x","x":[11681]},{"a":11678,"t":"code","b":[232],"m":"inx"},{"a":11679,"t":"code","b":[224,255],"m":"cpx","o":"#$FF"},{"a":11681,"t":"code","b":[144,248],"m":"bcc","oa":11675,"o":"loc_2d9b"},{"a":11683,"t":"code","b":[162,0],"m":"ldx","o":"#$00"},{"a":11685,"t":"code","b":[169,1],"m":"lda","o":"#$01"},{"a":11687,"l":"loc_2da7","t":"code","b":[157,248,218],"m":"sta","o":"$DAF8,x","x":[11693]},{"a":11690,"t":"code","b":[232],"m":"inx"},{"a":11691,"t":"code","b":[224,255],"m":"cpx","o":"#$FF"},{"a":11693,"t":"code","b":[144,248],"m":"bcc","oa":11687,"o":"loc_2da7"},{"a":11695,"t":"code","b":[162,5],"m":"ldx","o":"#$05"},{"a":11697,"l":"loc_2db1","t":"code","b":[189,103,34],"m":"lda","oa":8807,"o":"initial_clock_digits,x","x":[11703]},{"a":11700,"t":"code","b":[149,55],"m":"sta","oa":55,"o":"JSW_State_clock_digit_h10,x"},{"a":11702,"t":"code","b":[202],"m":"dex"},{"a":11703,"t":"code","b":[16,248],"m":"bpl","oa":11697,"o":"loc_2db1"},{"a":11705,"t":"code","b":[162,31],"m":"ldx","o":"#$1F"},{"a":11707,"l":"loc_2dbb","t":"code","b":[189,65,34],"m":"lda","oa":8769,"o":"status_line_screen_codes,x","x":[11716]},{"a":11710,"t":"code","b":[9,64],"m":"ora","o":"#$40"},{"a":11712,"t":"code","b":[157,32,127],"m":"sta","oa":32544,"o":"f_7F20,x"},{"a":11715,"t":"code","b":[202],"m":"dex"},{"a":11716,"t":"code","b":[16,245],"m":"bpl","oa":11707,"o":"loc_2dbb"},{"a":11718,"l":"JSW_Game_prepare_room_entry","c":"Purpose: Reconcile destination room with prior exits and place Willy at the corresponding incoming edge. Inputs: new room $0E, prior exits $1D-$20, player coordinates/state. Outputs: entry position/state and room rebuild. Assumptions: the active phase is initialized and the stated inputs and state are valid. Clobbers: A,X,Y and room/player state. Hardware: flows into VIC room setup.","t":"code","b":[165,14],"m":"lda","oa":14,"o":"JSW_State_current_room_or_title_voice3_pointer_low"},{"a":11720,"t":"code","b":[197,29],"m":"cmp","oa":29,"o":"JSW_State_previous_exit_up"},{"a":11722,"t":"code","b":[208,17],"m":"bne","oa":11741,"o":"loc_2ddd"},{"a":11724,"t":"code","b":[169,2],"m":"lda","o":"#$02"},{"a":11726,"t":"code","b":[133,51],"m":"sta","oa":51,"o":"JSW_State_player_state"},{"a":11728,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":11730,"t":"code","b":[133,81],"m":"sta","oa":81,"o":"JSW_State_fall_counter_or_title_first_key"},{"a":11732,"t":"code","b":[133,83],"m":"sta","oa":83,"o":"JSW_State_lethal_fall_flag"},{"a":11734,"t":"code","b":[169,104],"m":"lda","o":"#$68"},{"a":11736,"t":"code","b":[133,28],"m":"sta","oa":28,"o":"JSW_State_player_y"},{"a":11738,"t":"code","b":[76,7,46],"m":"jmp","oa":11783,"o":"JSW_Game_initialize_room_vic_state"},{"a":11741,"l":"loc_2ddd","t":"code","b":[197,30],"m":"cmp","oa":30,"o":"JSW_State_previous_exit_down","x":[11722]},{"a":11743,"t":"code","b":[208,11],"m":"bne","oa":11756,"o":"loc_2dec"},{"a":11745,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":11747,"t":"code","b":[133,28],"m":"sta","oa":28,"o":"JSW_State_player_y"},{"a":11749,"t":"code","b":[169,2],"m":"lda","o":"#$02"},{"a":11751,"t":"code","b":[133,51],"m":"sta","oa":51,"o":"JSW_State_player_state"},{"a":11753,"t":"code","b":[76,7,46],"m":"jmp","oa":11783,"o":"JSW_Game_initialize_room_vic_state"},{"a":11756,"l":"loc_2dec","t":"code","b":[197,32],"m":"cmp","oa":32,"o":"JSW_State_previous_exit_right","x":[11743]},{"a":11758,"t":"code","b":[208,11],"m":"bne","oa":11771,"o":"loc_2dfb"},{"a":11760,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":11762,"t":"code","b":[133,79],"m":"sta","oa":79,"o":"JSW_State_player_x_cell"},{"a":11764,"t":"code","b":[169,4],"m":"lda","o":"#$04"},{"a":11766,"t":"code","b":[133,50],"m":"sta","oa":50,"o":"JSW_State_player_horizontal_phase"},{"a":11768,"t":"code","b":[76,7,46],"m":"jmp","oa":11783,"o":"JSW_Game_initialize_room_vic_state"},{"a":11771,"l":"loc_2dfb","t":"code","b":[197,31],"m":"cmp","oa":31,"o":"JSW_State_previous_exit_left","x":[11758]},{"a":11773,"t":"code","b":[208,8],"m":"bne","oa":11783,"o":"JSW_Game_initialize_room_vic_state"},{"a":11775,"t":"code","b":[169,30],"m":"lda","o":"#$1E"},{"a":11777,"t":"code","b":[133,79],"m":"sta","oa":79,"o":"JSW_State_player_x_cell"},{"a":11779,"t":"code","b":[169,4],"m":"lda","o":"#$04"},{"a":11781,"t":"code","b":[133,50],"m":"sta","oa":50,"o":"JSW_State_player_horizontal_phase"},{"a":11783,"l":"JSW_Game_initialize_room_vic_state","c":"Purpose: Clear/seed sprite registers and room work state before a room build. Inputs: selected room/player entry. Outputs: baseline sprite and collision state. Assumptions: the active phase is initialized and the stated inputs and state are valid. Clobbers: A,X,Y and VIC-related RAM. Hardware: writes VIC sprite enable/coordinates/pointers and clears collision latch.","t":"code","b":[169,1],"m":"lda","o":"#$01","x":[11738,11753,11768,11773,14720]},{"a":11785,"t":"code","b":[141,21,208],"m":"sta","o":"vic_sprite_enable"},{"a":11788,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":11790,"t":"code","b":[141,0,208],"m":"sta","o":"vic_sprite0_x"},{"a":11793,"t":"code","b":[141,16,208],"m":"sta","o":"vic_sprite_x_msb"},{"a":11796,"t":"code","b":[141,2,208],"m":"sta","o":"vic_sprite1_x"},{"a":11799,"t":"code","b":[141,4,208],"m":"sta","o":"vic_sprite2_x"},{"a":11802,"t":"code","b":[141,6,208],"m":"sta","o":"vic_sprite3_x"},{"a":11805,"t":"code","b":[141,8,208],"m":"sta","o":"vic_sprite4_x"},{"a":11808,"t":"code","b":[141,10,208],"m":"sta","o":"vic_sprite5_x"},{"a":11811,"t":"code","b":[141,12,208],"m":"sta","o":"vic_sprite6_x"},{"a":11814,"t":"code","b":[141,14,208],"m":"sta","o":"vic_sprite7_x"},{"a":11817,"t":"code","b":[141,18,208],"m":"sta","o":"vic_raster"},{"a":11820,"t":"code","b":[141,1,208],"m":"sta","o":"vic_sprite0_y"},{"a":11823,"t":"code","b":[169,16],"m":"lda","o":"#$10"},{"a":11825,"t":"code","b":[141,3,208],"m":"sta","o":"vic_sprite1_y"},{"a":11828,"t":"code","b":[169,48],"m":"lda","o":"#$30"},{"a":11830,"t":"code","b":[141,5,208],"m":"sta","o":"vic_sprite2_y"},{"a":11833,"t":"code","b":[169,80],"m":"lda","o":"#$50"},{"a":11835,"t":"code","b":[141,7,208],"m":"sta","o":"vic_sprite3_y"},{"a":11838,"t":"code","b":[169,112],"m":"lda","o":"#$70"},{"a":11840,"t":"code","b":[141,9,208],"m":"sta","o":"vic_sprite4_y"},{"a":11843,"t":"code","b":[169,144],"m":"lda","o":"#$90"},{"a":11845,"t":"code","b":[141,11,208],"m":"sta","o":"vic_sprite5_y"},{"a":11848,"t":"code","b":[169,176],"m":"lda","o":"#$B0"},{"a":11850,"t":"code","b":[141,13,208],"m":"sta","o":"vic_sprite6_y"},{"a":11853,"t":"code","b":[169,208],"m":"lda","o":"#$D0"},{"a":11855,"t":"code","b":[141,15,208],"m":"sta","o":"vic_sprite7_y"},{"a":11858,"t":"code","b":[173,30,208],"m":"lda","o":"vic_sprite_collision"},{"a":11861,"l":"JSW_Game_copy_room_record","c":"Purpose: Copy one canonical 256-byte room page to $0840-$093F. Inputs: room $0E. Outputs: current-room work record. Assumptions: the active phase is initialized and the stated inputs and state are valid. Clobbers: A,X,Y and zero-page pointer. Hardware/banking: sets $01=$34 so RAM under I/O/KERNAL is visible, copies, then restores $01=$36; rooms 0-29 are $B000-$CDFF and 30-59 are $E000-$FDFF.","t":"code","b":[165,14],"m":"lda","oa":14,"o":"JSW_State_current_room_or_title_voice3_pointer_low"},{"a":11863,"t":"code","b":[201,30],"m":"cmp","o":"#$1E"},{"a":11865,"t":"code","b":[176,5],"m":"bcs","oa":11872,"o":"loc_2e60"},{"a":11867,"t":"code","b":[24],"m":"clc"},{"a":11868,"t":"code","b":[105,176],"m":"adc","o":"#$B0"},{"a":11870,"t":"code","b":[208,3],"m":"bne","oa":11875,"o":"loc_2e63"},{"a":11872,"l":"loc_2e60","t":"code","b":[24],"m":"clc","x":[11865]},{"a":11873,"t":"code","b":[105,194],"m":"adc","o":"#$C2"},{"a":11875,"l":"loc_2e63","t":"code","b":[133,40],"m":"sta","oa":40,"o":"room_record_source_pointer_high","x":[11870]},{"a":11877,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":11879,"t":"code","b":[133,39],"m":"sta","oa":39,"o":"room_record_source_pointer_low"},{"a":11881,"t":"code","b":[168],"m":"tay"},{"a":11882,"t":"code","b":[120],"m":"sei"},{"a":11883,"t":"code","b":[169,52],"m":"lda","o":"#$34"},{"a":11885,"t":"code","b":[133,1],"m":"sta","oa":1,"o":"C64_CPU_PROCESSOR_PORT"},{"a":11887,"l":"loc_2e6f","t":"code","b":[177,39],"m":"lda","oa":39,"o":"(room_record_source_pointer_low),y","x":[11893]},{"a":11889,"t":"code","b":[153,64,8],"m":"sta","oa":2112,"o":"JSW_State_current_room_record,y"},{"a":11892,"t":"code","b":[200],"m":"iny"},{"a":11893,"t":"code","b":[208,248],"m":"bne","oa":11887,"o":"loc_2e6f"},{"a":11895,"t":"code","b":[169,54],"m":"lda","o":"#$36"},{"a":11897,"t":"code","b":[133,1],"m":"sta","oa":1,"o":"C64_CPU_PROCESSOR_PORT"},{"a":11899,"t":"code","b":[88],"m":"cli"},{"a":11900,"l":"JSW_Game_capture_room_entry_checkpoint","c":"Purpose: Save the eight fields restored after death. Inputs: state $33, Y $1C, fall $51, phase $32, X $4F, room $0E, facing $50, jump index $52. Outputs: checkpoint $57-$5E. Assumptions: the active phase is initialized and the stated inputs and state are valid. Clobbers: A,X. Hardware: none.","t":"code","b":[165,51],"m":"lda","oa":51,"o":"JSW_State_player_state"},{"a":11902,"t":"code","b":[133,87],"m":"sta","oa":87,"o":"JSW_State_checkpoint_player_state"},{"a":11904,"t":"code","b":[165,81],"m":"lda","oa":81,"o":"JSW_State_fall_counter_or_title_first_key"},{"a":11906,"t":"code","b":[133,89],"m":"sta","oa":89,"o":"JSW_State_checkpoint_fall_counter"},{"a":11908,"t":"code","b":[165,79],"m":"lda","oa":79,"o":"JSW_State_player_x_cell"},{"a":11910,"t":"code","b":[133,91],"m":"sta","oa":91,"o":"JSW_State_checkpoint_player_x"},{"a":11912,"t":"code","b":[165,28],"m":"lda","oa":28,"o":"JSW_State_player_y"},{"a":11914,"t":"code","b":[133,88],"m":"sta","oa":88,"o":"JSW_State_checkpoint_player_y"},{"a":11916,"t":"code","b":[165,14],"m":"lda","oa":14,"o":"JSW_State_current_room_or_title_voice3_pointer_low"},{"a":11918,"t":"code","b":[133,92],"m":"sta","oa":92,"o":"JSW_State_checkpoint_room"},{"a":11920,"t":"code","b":[165,50],"m":"lda","oa":50,"o":"JSW_State_player_horizontal_phase"},{"a":11922,"t":"code","b":[133,90],"m":"sta","oa":90,"o":"JSW_State_checkpoint_horizontal_phase"},{"a":11924,"t":"code","b":[165,80],"m":"lda","oa":80,"o":"JSW_State_player_facing_frame_or_title_key_count"},{"a":11926,"t":"code","b":[133,93],"m":"sta","oa":93,"o":"JSW_State_checkpoint_facing_frame"},{"a":11928,"t":"code","b":[165,82],"m":"lda","oa":82,"o":"JSW_State_jump_curve_index"},{"a":11930,"t":"code","b":[133,94],"m":"sta","oa":94,"o":"JSW_State_checkpoint_jump_index"},{"a":11932,"l":"JSW_Game_build_room_visuals","c":"Purpose: Load colors/name/exits, expand the packed 32x16 layout, and install six room glyphs. Inputs: current room record $0840. Outputs: screen/color/charset room representation and exits. Assumptions: the active phase is initialized and the stated inputs and state are valid. Clobbers: A,X,Y and drawing pointers. Hardware: writes VIC-visible screen $7C00 and charset $7800 in bank 1.","t":"code","b":[173,22,9],"m":"lda","oa":2326,"o":"a_0916"},{"a":11935,"t":"code","b":[141,32,208],"m":"sta","o":"vic_border"},{"a":11938,"t":"code","b":[141,36,208],"m":"sta","o":"vic_background3"},{"a":11941,"t":"code","b":[173,23,9],"m":"lda","oa":2327,"o":"a_0917"},{"a":11944,"t":"code","b":[133,35],"m":"sta","oa":35,"o":"room_tile_color_0"},{"a":11946,"t":"code","b":[141,33,208],"m":"sta","o":"vic_background0"},{"a":11949,"t":"code","b":[173,24,9],"m":"lda","oa":2328,"o":"a_0918"},{"a":11952,"t":"code","b":[133,36],"m":"sta","oa":36,"o":"room_tile_color_1"},{"a":11954,"t":"code","b":[173,25,9],"m":"lda","oa":2329,"o":"a_0919"},{"a":11957,"t":"code","b":[133,37],"m":"sta","oa":37,"o":"room_tile_color_2"},{"a":11959,"t":"code","b":[173,26,9],"m":"lda","oa":2330,"o":"a_091A"},{"a":11962,"t":"code","b":[133,38],"m":"sta","oa":38,"o":"room_tile_color_3"},{"a":11964,"t":"code","b":[173,27,9],"m":"lda","oa":2331,"o":"a_091B"},{"a":11967,"t":"code","b":[133,21],"m":"sta","oa":21,"o":"conveyor_color"},{"a":11969,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":11971,"t":"code","b":[133,97],"m":"sta","oa":97,"o":"packed_room_column"},{"a":11973,"t":"code","b":[133,98],"m":"sta","oa":98,"o":"packed_room_row"},{"a":11975,"t":"code","b":[141,14,212],"m":"sta","o":"sid_v3_freq_lo"},{"a":11978,"t":"code","b":[141,15,212],"m":"sta","o":"sid_v3_freq_hi"},{"a":11981,"t":"code","b":[160,31],"m":"ldy","o":"#$1F"},{"a":11983,"l":"loc_2ecf","t":"code","b":[185,64,8],"m":"lda","oa":2112,"o":"JSW_State_current_room_record,y","x":[12003]},{"a":11986,"t":"code","b":[201,65],"m":"cmp","o":"#$41"},{"a":11988,"t":"code","b":[144,2],"m":"bcc","oa":11992,"o":"loc_2ed8"},{"a":11990,"t":"code","b":[41,31],"m":"and","o":"#$1F"},{"a":11992,"l":"loc_2ed8","t":"code","b":[9,128],"m":"ora","o":"#$80","x":[11988]},{"a":11994,"t":"code","b":[153,172,126],"m":"sta","oa":32428,"o":"f_7EAC,y"},{"a":11997,"t":"code","b":[169,1],"m":"lda","o":"#$01"},{"a":11999,"t":"code","b":[153,172,218],"m":"sta","o":"$DAAC,y"},{"a":12002,"t":"code","b":[136],"m":"dey"},{"a":12003,"t":"code","b":[16,234],"m":"bpl","oa":11983,"o":"loc_2ecf"},{"a":12005,"t":"code","b":[160,32],"m":"ldy","o":"#$20"},{"a":12007,"l":"loc_2ee7","t":"code","b":[132,15],"m":"sty","oa":15,"o":"JSW_State_working_tile_row_or_title_voice3_pointer_high","x":[12045]},{"a":12009,"t":"code","b":[185,64,8],"m":"lda","oa":2112,"o":"JSW_State_current_room_record,y"},{"a":12012,"t":"code","b":[133,12],"m":"sta","oa":12,"o":"shared_game_scratch_or_title_voice2_pointer_low"},{"a":12014,"t":"code","b":[160,0],"m":"ldy","o":"#$00"},{"a":12016,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":12017,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":12018,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":12019,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":12020,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":12021,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":12022,"t":"code","b":[32,167,53],"m":"jsr","oa":13735,"o":"JSW_Game_expand_packed_room_cell"},{"a":12025,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":12026,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":12027,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":12028,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":12029,"t":"code","b":[32,167,53],"m":"jsr","oa":13735,"o":"JSW_Game_expand_packed_room_cell"},{"a":12032,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":12033,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":12034,"t":"code","b":[32,167,53],"m":"jsr","oa":13735,"o":"JSW_Game_expand_packed_room_cell"},{"a":12037,"t":"code","b":[32,167,53],"m":"jsr","oa":13735,"o":"JSW_Game_expand_packed_room_cell"},{"a":12040,"t":"code","b":[164,15],"m":"ldy","oa":15,"o":"JSW_State_working_tile_row_or_title_voice3_pointer_high"},{"a":12042,"t":"code","b":[200],"m":"iny"},{"a":12043,"t":"code","b":[192,160],"m":"cpy","o":"#$A0"},{"a":12045,"t":"code","b":[208,216],"m":"bne","oa":12007,"o":"loc_2ee7"},{"a":12047,"t":"code","b":[162,47],"m":"ldx","o":"#$2F"},{"a":12049,"l":"loc_2f11","t":"code","b":[189,224,8],"m":"lda","oa":2272,"o":"f_08E0,x","x":[12056]},{"a":12052,"t":"code","b":[157,8,121],"m":"sta","oa":30984,"o":"room_dynamic_glyphs,x"},{"a":12055,"t":"code","b":[202],"m":"dex"},{"a":12056,"t":"code","b":[16,247],"m":"bpl","oa":12049,"o":"loc_2f11"},{"a":12058,"t":"code","b":[169,4],"m":"lda","o":"#$04"},{"a":12060,"t":"code","b":[133,26],"m":"sta","oa":26,"o":"JSW_State_arrow_update_divider"},{"a":12062,"t":"code","b":[162,3],"m":"ldx","o":"#$03"},{"a":12064,"l":"loc_2f20","t":"code","b":[189,28,9],"m":"lda","oa":2332,"o":"f_091C,x","x":[12070]},{"a":12067,"t":"code","b":[149,29],"m":"sta","oa":29,"o":"JSW_State_previous_exit_up,x"},{"a":12069,"t":"code","b":[202],"m":"dex"},{"a":12070,"t":"code","b":[16,248],"m":"bpl","oa":12064,"o":"loc_2f20"},{"a":12072,"l":"JSW_Game_draw_room_conveyor","c":"Purpose: Draw the room conveyor and derive signed direction $13. Inputs: room offsets $D0-$D2 and conveyor glyph/color. Outputs: conveyor cells/direction. Assumptions: the active phase is initialized and the stated inputs and state are valid. Clobbers: A,X,Y and drawing pointers. Hardware: writes screen/color memory.","t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":12074,"t":"code","b":[133,19],"m":"sta","oa":19,"o":"JSW_State_conveyor_direction"},{"a":12076,"t":"code","b":[173,16,9],"m":"lda","oa":2320,"o":"a_0910"},{"a":12079,"t":"code","b":[208,3],"m":"bne","oa":12084,"o":"loc_2f34"},{"a":12081,"t":"code","b":[76,90,47],"m":"jmp","oa":12122,"o":"JSW_Game_draw_room_ramp"},{"a":12084,"l":"loc_2f34","t":"code","b":[16,4],"m":"bpl","oa":12090,"o":"loc_2f3a","x":[12079]},{"a":12086,"t":"code","b":[162,254],"m":"ldx","o":"#$FE"},{"a":12088,"t":"code","b":[134,19],"m":"stx","oa":19,"o":"JSW_State_conveyor_direction"},{"a":12090,"l":"loc_2f3a","t":"code","b":[230,19],"m":"inc","oa":19,"o":"JSW_State_conveyor_direction","x":[12084]},{"a":12092,"t":"code","b":[41,63],"m":"and","o":"#$3F"},{"a":12094,"t":"code","b":[133,13],"m":"sta","oa":13,"o":"shared_game_scratch_or_title_voice2_pointer_high"},{"a":12096,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":12098,"t":"code","b":[133,8],"m":"sta","oa":8,"o":"JSW_State_zp_work_high"},{"a":12100,"t":"code","b":[174,18,9],"m":"ldx","oa":2322,"o":"a_0912"},{"a":12103,"t":"code","b":[172,17,9],"m":"ldy","oa":2321,"o":"a_0911"},{"a":12106,"t":"code","b":[32,228,53],"m":"jsr","oa":13796,"o":"JSW_Game_lookup_tile_at_cell"},{"a":12109,"l":"loc_2f4d","t":"code","b":[169,37],"m":"lda","o":"#$25","x":[12120]},{"a":12111,"t":"code","b":[145,7],"m":"sta","oa":7,"o":"(JSW_State_zp_work_low),y"},{"a":12113,"t":"code","b":[165,21],"m":"lda","oa":21,"o":"conveyor_color"},{"a":12115,"t":"code","b":[145,9],"m":"sta","oa":9,"o":"(gameplay_color_ram_pointer_low),y"},{"a":12117,"t":"code","b":[200],"m":"iny"},{"a":12118,"t":"code","b":[198,13],"m":"dec","oa":13,"o":"shared_game_scratch_or_title_voice2_pointer_high"},{"a":12120,"t":"code","b":[208,243],"m":"bne","oa":12109,"o":"loc_2f4d"},{"a":12122,"l":"JSW_Game_draw_room_ramp","c":"Purpose: Draw the room ramp and derive signed direction $11. Inputs: room offsets $D3-$D5 and ramp glyph/color. Outputs: ramp cells/direction; bit 6 is recorded only in the write-only latch $0012. Assumptions: the active phase is initialized and the stated inputs and state are valid. Clobbers: A,X,Y and drawing pointers. Hardware: writes VIC-visible screen and color memory; no active code reads the bit-6 latch.","t":"code","b":[169,0],"m":"lda","o":"#$00","x":[12081]},{"a":12124,"t":"code","b":[133,16],"m":"sta","oa":16,"o":"ramp_tile_override_flag"},{"a":12126,"t":"code","b":[169,41],"m":"lda","o":"#$29"},{"a":12128,"t":"code","b":[133,11],"m":"sta","oa":11,"o":"shared_game_stride_or_title_voice1_pointer_high"},{"a":12130,"t":"code","b":[173,19,9],"m":"lda","oa":2323,"o":"a_0913"},{"a":12133,"t":"code","b":[44,48,34],"m":"bit","oa":8752,"o":"room_direction_bit7_mask"},{"a":12136,"t":"code","b":[240,12],"m":"beq","oa":12150,"o":"loc_2f76"},{"a":12138,"t":"code","b":[169,255],"m":"lda","o":"#$FF"},{"a":12140,"t":"code","b":[133,16],"m":"sta","oa":16,"o":"ramp_tile_override_flag"},{"a":12142,"t":"code","b":[173,20,9],"m":"lda","oa":2324,"o":"a_0914"},{"a":12145,"t":"code","b":[133,17],"m":"sta","oa":17,"o":"JSW_State_ramp_direction"},{"a":12147,"t":"code","b":[76,205,47],"m":"jmp","oa":12237,"o":"JSW_Game_load_room_guardians"},{"a":12150,"l":"loc_2f76","t":"code","b":[173,21,9],"m":"lda","oa":2325,"o":"a_0915","x":[12136]},{"a":12153,"t":"code","b":[208,3],"m":"bne","oa":12158,"o":"loc_2f7e"},{"a":12155,"t":"code","b":[76,205,47],"m":"jmp","oa":12237,"o":"JSW_Game_load_room_guardians"},{"a":12158,"l":"loc_2f7e","t":"code","b":[162,1],"m":"ldx","o":"#$01","x":[12153]},{"a":12160,"t":"code","b":[44,48,34],"m":"bit","oa":8752,"o":"room_direction_bit7_mask"},{"a":12163,"t":"code","b":[240,6],"m":"beq","oa":12171,"o":"loc_2f8b"},{"a":12165,"t":"code","b":[162,39],"m":"ldx","o":"#$27"},{"a":12167,"t":"code","b":[134,11],"m":"stx","oa":11,"o":"shared_game_stride_or_title_voice1_pointer_high"},{"a":12169,"t":"code","b":[162,255],"m":"ldx","o":"#$FF"},{"a":12171,"l":"loc_2f8b","t":"code","b":[134,17],"m":"stx","oa":17,"o":"JSW_State_ramp_direction","x":[12163]},{"a":12173,"t":"code","b":[170],"m":"tax"},{"a":12174,"t":"code","b":[41,64],"m":"and","o":"#$40"},{"a":12176,"t":"code","b":[240,4],"m":"beq","oa":12182,"o":"loc_2f96"},{"a":12178,"t":"code","b":[169,255],"m":"lda","o":"#$FF"},{"a":12180,"t":"code","b":[133,18],"m":"sta","oa":18,"o":"jsw_ramp_bit6_write_only_latch"},{"a":12182,"l":"loc_2f96","t":"code","b":[138],"m":"txa","x":[12176]},{"a":12183,"t":"code","b":[41,63],"m":"and","o":"#$3F"},{"a":12185,"t":"code","b":[133,13],"m":"sta","oa":13,"o":"shared_game_scratch_or_title_voice2_pointer_high"},{"a":12187,"t":"code","b":[174,20,9],"m":"ldx","oa":2324,"o":"a_0914"},{"a":12190,"t":"code","b":[172,19,9],"m":"ldy","oa":2323,"o":"a_0913"},{"a":12193,"t":"code","b":[32,228,53],"m":"jsr","oa":13796,"o":"JSW_Game_lookup_tile_at_cell"},{"a":12196,"t":"code","b":[166,13],"m":"ldx","oa":13,"o":"shared_game_scratch_or_title_voice2_pointer_high"},{"a":12198,"t":"code","b":[160,0],"m":"ldy","o":"#$00"},{"a":12200,"l":"loc_2fa8","t":"code","b":[169,36],"m":"lda","o":"#$24","x":[12235]},{"a":12202,"t":"code","b":[145,7],"m":"sta","oa":7,"o":"(JSW_State_zp_work_low),y"},{"a":12204,"t":"code","b":[165,38],"m":"lda","oa":38,"o":"room_tile_color_3"},{"a":12206,"t":"code","b":[145,9],"m":"sta","oa":9,"o":"(gameplay_color_ram_pointer_low),y"},{"a":12208,"t":"code","b":[24],"m":"clc"},{"a":12209,"t":"code","b":[165,7],"m":"lda","oa":7,"o":"JSW_State_zp_work_low"},{"a":12211,"t":"code","b":[101,11],"m":"adc","oa":11,"o":"shared_game_stride_or_title_voice1_pointer_high"},{"a":12213,"t":"code","b":[133,7],"m":"sta","oa":7,"o":"JSW_State_zp_work_low"},{"a":12215,"t":"code","b":[165,8],"m":"lda","oa":8,"o":"JSW_State_zp_work_high"},{"a":12217,"t":"code","b":[105,0],"m":"adc","o":"#$00"},{"a":12219,"t":"code","b":[133,8],"m":"sta","oa":8,"o":"JSW_State_zp_work_high"},{"a":12221,"t":"code","b":[24],"m":"clc"},{"a":12222,"t":"code","b":[165,9],"m":"lda","oa":9,"o":"gameplay_color_ram_pointer_low"},{"a":12224,"t":"code","b":[101,11],"m":"adc","oa":11,"o":"shared_game_stride_or_title_voice1_pointer_high"},{"a":12226,"t":"code","b":[133,9],"m":"sta","oa":9,"o":"gameplay_color_ram_pointer_low"},{"a":12228,"t":"code","b":[165,10],"m":"lda","oa":10,"o":"shared_color_pointer_high_or_title_voice1_pointer_low"},{"a":12230,"t":"code","b":[105,0],"m":"adc","o":"#$00"},{"a":12232,"t":"code","b":[133,10],"m":"sta","oa":10,"o":"shared_color_pointer_high_or_title_voice1_pointer_low"},{"a":12234,"t":"code","b":[202],"m":"dex"},{"a":12235,"t":"code","b":[208,219],"m":"bne","oa":12200,"o":"loc_2fa8"},{"a":12237,"l":"JSW_Game_load_room_guardians","c":"Purpose: Copy selected guardian definitions to $0940, initialize positions/frames, enable sprites, and load eight colors. Inputs: room first-index/count and global guardian/color tables. Outputs: guardian work state and VIC sprite setup. Assumptions: the active phase is initialized and the stated inputs and state are valid. Clobbers: A,X,Y and guardian state. Hardware: writes VIC sprite/color registers and pointers.","t":"code","b":[173,33,9],"m":"lda","oa":2337,"o":"a_0921","x":[12147,12155]},{"a":12240,"t":"code","b":[133,45],"m":"sta","oa":45,"o":"JSW_State_room_guardian_count"},{"a":12242,"t":"code","b":[208,3],"m":"bne","oa":12247,"o":"loc_2fd7"},{"a":12244,"t":"code","b":[76,168,48],"m":"jmp","oa":12456,"o":"JSW_Game_initialize_room_rope"},{"a":12247,"l":"loc_2fd7","t":"code","b":[133,12],"m":"sta","oa":12,"o":"shared_game_scratch_or_title_voice2_pointer_low","x":[12242]},{"a":12249,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":12251,"t":"code","b":[133,44],"m":"sta","oa":44,"o":"guardian_definition_source_pointer_high"},{"a":12253,"t":"code","b":[173,32,9],"m":"lda","oa":2336,"o":"a_0920"},{"a":12256,"t":"code","b":[10],"m":"asl","o":"a"},{"a":12257,"t":"code","b":[38,44],"m":"rol","oa":44,"o":"guardian_definition_source_pointer_high"},{"a":12259,"t":"code","b":[10],"m":"asl","o":"a"},{"a":12260,"t":"code","b":[38,44],"m":"rol","oa":44,"o":"guardian_definition_source_pointer_high"},{"a":12262,"t":"code","b":[10],"m":"asl","o":"a"},{"a":12263,"t":"code","b":[38,44],"m":"rol","oa":44,"o":"guardian_definition_source_pointer_high"},{"a":12265,"t":"code","b":[24],"m":"clc"},{"a":12266,"t":"code","b":[105,67],"m":"adc","o":"#$43"},{"a":12268,"t":"code","b":[133,43],"m":"sta","oa":43,"o":"guardian_definition_source_pointer_low"},{"a":12270,"t":"code","b":[165,44],"m":"lda","oa":44,"o":"guardian_definition_source_pointer_high"},{"a":12272,"t":"code","b":[105,36],"m":"adc","o":"#$24"},{"a":12274,"t":"code","b":[133,44],"m":"sta","oa":44,"o":"guardian_definition_source_pointer_high"},{"a":12276,"t":"code","b":[160,0],"m":"ldy","o":"#$00"},{"a":12278,"l":"loc_2ff6","t":"code","b":[162,7],"m":"ldx","o":"#$07","x":[12291]},{"a":12280,"l":"loc_2ff8","t":"code","b":[177,43],"m":"lda","oa":43,"o":"(guardian_definition_source_pointer_low),y","x":[12287]},{"a":12282,"t":"code","b":[153,64,9],"m":"sta","oa":2368,"o":"JSW_State_current_guardian_records,y"},{"a":12285,"t":"code","b":[200],"m":"iny"},{"a":12286,"t":"code","b":[202],"m":"dex"},{"a":12287,"t":"code","b":[16,247],"m":"bpl","oa":12280,"o":"loc_2ff8"},{"a":12289,"t":"code","b":[198,12],"m":"dec","oa":12,"o":"shared_game_scratch_or_title_voice2_pointer_low"},{"a":12291,"t":"code","b":[208,241],"m":"bne","oa":12278,"o":"loc_2ff6"},{"a":12293,"t":"code","b":[165,45],"m":"lda","oa":45,"o":"JSW_State_room_guardian_count"},{"a":12295,"t":"code","b":[133,12],"m":"sta","oa":12,"o":"shared_game_scratch_or_title_voice2_pointer_low"},{"a":12297,"t":"code","b":[162,1],"m":"ldx","o":"#$01"},{"a":12299,"l":"loc_300b","t":"code","b":[189,49,34],"m":"lda","oa":8753,"o":"bit_mask_table,x","x":[12311]},{"a":12302,"t":"code","b":[13,21,208],"m":"ora","o":"vic_sprite_enable"},{"a":12305,"t":"code","b":[141,21,208],"m":"sta","o":"vic_sprite_enable"},{"a":12308,"t":"code","b":[232],"m":"inx"},{"a":12309,"t":"code","b":[198,12],"m":"dec","oa":12,"o":"shared_game_scratch_or_title_voice2_pointer_low"},{"a":12311,"t":"code","b":[208,242],"m":"bne","oa":12299,"o":"loc_300b"},{"a":12313,"t":"code","b":[165,45],"m":"lda","oa":45,"o":"JSW_State_room_guardian_count"},{"a":12315,"t":"code","b":[133,12],"m":"sta","oa":12,"o":"shared_game_scratch_or_title_voice2_pointer_low"},{"a":12317,"t":"code","b":[162,0],"m":"ldx","o":"#$00"},{"a":12319,"t":"code","b":[160,0],"m":"ldy","o":"#$00"},{"a":12321,"l":"loc_3021","t":"code","b":[189,64,9],"m":"lda","oa":2368,"o":"JSW_State_current_guardian_records,x","x":[12413]},{"a":12324,"t":"code","b":[41,64],"m":"and","o":"#$40"},{"a":12326,"t":"code","b":[240,7],"m":"beq","oa":12335,"o":"loc_302f"},{"a":12328,"t":"code","b":[169,128],"m":"lda","o":"#$80"},{"a":12330,"t":"code","b":[153,128,9],"m":"sta","oa":2432,"o":"JSW_State_guardian_direction_animation_state,y"},{"a":12333,"t":"code","b":[208,5],"m":"bne","oa":12340,"o":"loc_3034"},{"a":12335,"l":"loc_302f","t":"code","b":[169,0],"m":"lda","o":"#$00","x":[12326]},{"a":12337,"t":"code","b":[153,128,9],"m":"sta","oa":2432,"o":"JSW_State_guardian_direction_animation_state,y"},{"a":12340,"l":"loc_3034","t":"code","b":[189,65,9],"m":"lda","oa":2369,"o":"f_0941,x","x":[12333]},{"a":12343,"t":"code","b":[153,136,9],"m":"sta","oa":2440,"o":"JSW_State_guardian_moving_coordinates,y"},{"a":12346,"t":"code","b":[10],"m":"asl","o":"a"},{"a":12347,"t":"code","b":[10],"m":"asl","o":"a"},{"a":12348,"t":"code","b":[10],"m":"asl","o":"a"},{"a":12349,"t":"code","b":[133,20],"m":"sta","oa":20,"o":"horizontal_coordinate_scratch"},{"a":12351,"t":"code","b":[189,66,9],"m":"lda","oa":2370,"o":"f_0942,x"},{"a":12354,"t":"code","b":[10],"m":"asl","o":"a"},{"a":12355,"t":"code","b":[10],"m":"asl","o":"a"},{"a":12356,"t":"code","b":[10],"m":"asl","o":"a"},{"a":12357,"t":"code","b":[133,15],"m":"sta","oa":15,"o":"JSW_State_working_tile_row_or_title_voice3_pointer_high"},{"a":12359,"t":"code","b":[189,67,9],"m":"lda","oa":2371,"o":"f_0943,x"},{"a":12362,"t":"code","b":[153,249,127],"m":"sta","oa":32761,"o":"f_7FF9,y"},{"a":12365,"t":"code","b":[138],"m":"txa"},{"a":12366,"t":"code","b":[72],"m":"pha"},{"a":12367,"t":"code","b":[152],"m":"tya"},{"a":12368,"t":"code","b":[10],"m":"asl","o":"a"},{"a":12369,"t":"code","b":[170],"m":"tax"},{"a":12370,"t":"code","b":[24],"m":"clc"},{"a":12371,"t":"code","b":[165,15],"m":"lda","oa":15,"o":"JSW_State_working_tile_row_or_title_voice3_pointer_high"},{"a":12373,"t":"code","b":[105,50],"m":"adc","o":"#$32"},{"a":12375,"t":"code","b":[157,3,208],"m":"sta","o":"vic_sprite1_y,x"},{"a":12378,"t":"code","b":[24],"m":"clc"},{"a":12379,"t":"code","b":[165,20],"m":"lda","oa":20,"o":"horizontal_coordinate_scratch"},{"a":12381,"t":"code","b":[105,56],"m":"adc","o":"#$38"},{"a":12383,"t":"code","b":[157,2,208],"m":"sta","o":"vic_sprite1_x,x"},{"a":12386,"t":"code","b":[144,8],"m":"bcc","oa":12396,"o":"loc_306c"},{"a":12388,"t":"code","b":[173,16,208],"m":"lda","o":"vic_sprite_x_msb"},{"a":12391,"t":"code","b":[25,50,34],"m":"ora","oa":8754,"o":"bit_mask_table_index_1,y"},{"a":12394,"t":"code","b":[208,6],"m":"bne","oa":12402,"o":"loc_3072"},{"a":12396,"l":"loc_306c","t":"code","b":[173,16,208],"m":"lda","o":"vic_sprite_x_msb","x":[12386]},{"a":12399,"t":"code","b":[57,58,34],"m":"and","oa":8762,"o":"inverted_bit_mask_table_index_1,y"},{"a":12402,"l":"loc_3072","t":"code","b":[141,16,208],"m":"sta","o":"vic_sprite_x_msb","x":[12394]},{"a":12405,"t":"code","b":[200],"m":"iny"},{"a":12406,"t":"code","b":[104],"m":"pla"},{"a":12407,"t":"code","b":[24],"m":"clc"},{"a":12408,"t":"code","b":[105,8],"m":"adc","o":"#$08"},{"a":12410,"t":"code","b":[170],"m":"tax"},{"a":12411,"t":"code","b":[198,12],"m":"dec","oa":12,"o":"shared_game_scratch_or_title_voice2_pointer_low"},{"a":12413,"t":"code","b":[208,162],"m":"bne","oa":12321,"o":"loc_3021"},{"a":12415,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":12417,"t":"code","b":[133,8],"m":"sta","oa":8,"o":"JSW_State_zp_work_high"},{"a":12419,"t":"code","b":[165,14],"m":"lda","oa":14,"o":"JSW_State_current_room_or_title_voice3_pointer_low"},{"a":12421,"t":"code","b":[10],"m":"asl","o":"a"},{"a":12422,"t":"code","b":[38,8],"m":"rol","oa":8,"o":"JSW_State_zp_work_high"},{"a":12424,"t":"code","b":[10],"m":"asl","o":"a"},{"a":12425,"t":"code","b":[38,8],"m":"rol","oa":8,"o":"JSW_State_zp_work_high"},{"a":12427,"t":"code","b":[10],"m":"asl","o":"a"},{"a":12428,"t":"code","b":[38,8],"m":"rol","oa":8,"o":"JSW_State_zp_work_high"},{"a":12430,"t":"code","b":[24],"m":"clc"},{"a":12431,"t":"code","b":[105,235],"m":"adc","o":"#$EB"},{"a":12433,"t":"code","b":[133,7],"m":"sta","oa":7,"o":"JSW_State_zp_work_low"},{"a":12435,"t":"code","b":[165,8],"m":"lda","oa":8,"o":"JSW_State_zp_work_high"},{"a":12437,"t":"code","b":[105,41],"m":"adc","o":"#$29"},{"a":12439,"t":"code","b":[133,8],"m":"sta","oa":8,"o":"JSW_State_zp_work_high"},{"a":12441,"t":"code","b":[160,7],"m":"ldy","o":"#$07"},{"a":12443,"l":"loc_309b","t":"code","b":[177,7],"m":"lda","oa":7,"o":"(JSW_State_zp_work_low),y","x":[12449]},{"a":12445,"t":"code","b":[153,39,208],"m":"sta","o":"vic_sprite0_colour,y"},{"a":12448,"t":"code","b":[136],"m":"dey"},{"a":12449,"t":"code","b":[16,248],"m":"bpl","oa":12443,"o":"loc_309b"},{"a":12451,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":12453,"t":"code","b":[141,23,208],"m":"sta","o":"vic_sprite_expand_y"},{"a":12456,"l":"JSW_Game_initialize_room_rope","c":"Purpose: Configure sprites 5-7 and oscillator state when room rope flag $0402 is set. Inputs: current room rope flag. Outputs: rope runtime/sprite state. Assumptions: the active phase is initialized and the stated inputs and state are valid. Clobbers: A,X,Y. Hardware: writes VIC sprite registers/pointers.","t":"code","b":[173,34,9],"m":"lda","oa":2338,"o":"a_0922","x":[12244]},{"a":12459,"t":"code","b":[141,2,4],"m":"sta","oa":1026,"o":"JSW_State_room_has_rope"},{"a":12462,"t":"code","b":[240,41],"m":"beq","oa":12505,"o":"JSW_Game_settle_collision_latches"},{"a":12464,"t":"code","b":[169,224],"m":"lda","o":"#$E0"},{"a":12466,"t":"code","b":[141,23,208],"m":"sta","o":"vic_sprite_expand_y"},{"a":12469,"t":"code","b":[169,16],"m":"lda","o":"#$10"},{"a":12471,"t":"code","b":[141,3,4],"m":"sta","oa":1027,"o":"JSW_State_rope_oscillator_position"},{"a":12474,"t":"code","b":[169,1],"m":"lda","o":"#$01"},{"a":12476,"t":"code","b":[141,4,4],"m":"sta","oa":1028,"o":"JSW_State_rope_oscillator_half"},{"a":12479,"t":"code","b":[169,255],"m":"lda","o":"#$FF"},{"a":12481,"t":"code","b":[141,5,4],"m":"sta","oa":1029,"o":"JSW_State_rope_oscillator_direction"},{"a":12484,"t":"code","b":[141,6,4],"m":"sta","oa":1030,"o":"JSW_State_rope_oscillator_step"},{"a":12487,"t":"code","b":[169,172],"m":"lda","o":"#$AC"},{"a":12489,"t":"code","b":[141,253,127],"m":"sta","oa":32765,"o":"a_7FFD"},{"a":12492,"t":"code","b":[169,173],"m":"lda","o":"#$AD"},{"a":12494,"t":"code","b":[141,254,127],"m":"sta","oa":32766,"o":"a_7FFE"},{"a":12497,"t":"code","b":[169,174],"m":"lda","o":"#$AE"},{"a":12499,"t":"code","b":[141,255,127],"m":"sta","oa":32767,"o":"a_7FFF"},{"a":12502,"t":"code","b":[173,31,208],"m":"lda","o":"vic_sprite_bg_collision"},{"a":12505,"l":"JSW_Game_settle_collision_latches","c":"Purpose: Short pre-loop delay/latch settling after room construction. Inputs: freshly configured VIC sprites. Outputs: entry to room-specific correction/main loop. Assumptions: the active phase is initialized and the stated inputs and state are valid. Clobbers: X and flags. Hardware: allows VIC collision state to settle.","t":"code","b":[162,0],"m":"ldx","o":"#$00","x":[12462]},{"a":12507,"l":"loc_30db","t":"code","b":[173,30,208],"m":"lda","o":"vic_sprite_collision","x":[12511]},{"a":12510,"t":"code","b":[232],"m":"inx"},{"a":12511,"t":"code","b":[208,250],"m":"bne","oa":12507,"o":"loc_30db"},{"a":12513,"l":"JSW_Game_apply_room32_conveyor_fix","c":"Purpose: In room 32 place six hard-coded conveyor cells and force direction right. Inputs: room $0E. Outputs: corrected screen cells and $13=1 for room 32; otherwise unchanged. Assumptions: the active phase is initialized and the stated inputs and state are valid. Clobbers: A,X. Hardware: writes screen RAM.","t":"code","b":[165,14],"m":"lda","oa":14,"o":"JSW_State_current_room_or_title_voice3_pointer_low"},{"a":12515,"t":"code","b":[201,32],"m":"cmp","o":"#$20"},{"a":12517,"t":"code","b":[208,24],"m":"bne","oa":12543,"o":"JSW_Game_game_main_loop"},{"a":12519,"t":"code","b":[169,1],"m":"lda","o":"#$01"},{"a":12521,"t":"code","b":[133,19],"m":"sta","oa":19,"o":"JSW_State_conveyor_direction"},{"a":12523,"t":"code","b":[169,37],"m":"lda","o":"#$25"},{"a":12525,"t":"code","b":[141,90,124],"m":"sta","oa":31834,"o":"a_7C5A"},{"a":12528,"t":"code","b":[141,131,124],"m":"sta","oa":31875,"o":"a_7C83"},{"a":12531,"t":"code","b":[141,172,124],"m":"sta","oa":31916,"o":"a_7CAC"},{"a":12534,"t":"code","b":[141,213,124],"m":"sta","oa":31957,"o":"a_7CD5"},{"a":12537,"t":"code","b":[141,254,124],"m":"sta","oa":31998,"o":"a_7CFE"},{"a":12540,"t":"code","b":[141,39,125],"m":"sta","oa":32039,"o":"a_7D27"},{"a":12543,"l":"JSW_Game_game_main_loop","c":"Purpose: Main gameplay scheduler and pause loop. Inputs: complete runtime state. Outputs: repeatedly updates items, arrows, specials, guardians, lives, player, collisions, and clock. Assumptions: the active phase is initialized and the stated inputs and state are valid. Clobbers: A,X,Y and scheduler state. Hardware: pause mutes SID; input and downstream routines use CIA/VIC/SID.","t":"code","b":[32,208,51],"m":"jsr","oa":13264,"o":"JSW_Game_short_busy_wait","x":[12517,12562,12591,13249,13258]},{"a":12546,"t":"code","b":[165,54],"m":"lda","oa":54,"o":"JSW_State_game_paused"},{"a":12548,"t":"code","b":[240,14],"m":"beq","oa":12564,"o":"loc_3114"},{"a":12550,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":12552,"t":"code","b":[141,24,212],"m":"sta","o":"sid_filter_mode_volume"},{"a":12555,"t":"code","b":[120],"m":"sei"},{"a":12556,"t":"code","b":[32,145,55],"m":"jsr","oa":14225,"o":"JSW_Game_scan_gameplay_input"},{"a":12559,"t":"code","b":[88],"m":"cli"},{"a":12560,"t":"code","b":[165,67],"m":"lda","oa":67,"o":"JSW_State_decoded_key_count"},{"a":12562,"t":"code","b":[240,235],"m":"beq","oa":12543,"o":"JSW_Game_game_main_loop"},{"a":12564,"l":"loc_3114","t":"code","b":[165,67],"m":"lda","oa":67,"o":"JSW_State_decoded_key_count","x":[12548]},{"a":12566,"t":"code","b":[240,26],"m":"beq","oa":12594,"o":"JSW_Game_check_stop_key"},{"a":12568,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":12570,"t":"code","b":[133,54],"m":"sta","oa":54,"o":"JSW_State_game_paused"},{"a":12572,"t":"code","b":[162,10],"m":"ldx","o":"#$0A"},{"a":12574,"t":"code","b":[165,68],"m":"lda","oa":68,"o":"JSW_State_decoded_key_1"},{"a":12576,"l":"loc_3120","t":"code","b":[221,76,44],"m":"cmp","oa":11340,"o":"pause_control_key_list,x","x":[12582]},{"a":12579,"t":"code","b":[240,6],"m":"beq","oa":12587,"o":"loc_312b"},{"a":12581,"t":"code","b":[202],"m":"dex"},{"a":12582,"t":"code","b":[16,248],"m":"bpl","oa":12576,"o":"loc_3120"},{"a":12584,"t":"code","b":[76,50,49],"m":"jmp","oa":12594,"o":"JSW_Game_check_stop_key"},{"a":12587,"l":"loc_312b","t":"code","b":[169,255],"m":"lda","o":"#$FF","x":[12579]},{"a":12589,"t":"code","b":[133,54],"m":"sta","oa":54,"o":"JSW_State_game_paused"},{"a":12591,"t":"code","b":[76,255,48],"m":"jmp","oa":12543,"o":"JSW_Game_game_main_loop"},{"a":12594,"l":"JSW_Game_check_stop_key","c":"Purpose: Detect KERNAL STOP flag and abandon to title when pressed. Inputs: STOP key state. Outputs: continues or jumps game-over transition. Assumptions: the active phase is initialized and the stated inputs and state are valid. Clobbers: A and flags. Hardware: uses KERNAL-maintained keyboard state while KERNAL remains mapped.","t":"code","b":[165,67],"m":"lda","oa":67,"o":"JSW_State_decoded_key_count","x":[12566,12584]},{"a":12596,"t":"code","b":[240,9],"m":"beq","oa":12607,"o":"JSW_Game_update_items_and_schedule_arrows"},{"a":12598,"t":"code","b":[165,68],"m":"lda","oa":68,"o":"JSW_State_decoded_key_1"},{"a":12600,"t":"code","b":[201,3],"m":"cmp","o":"#$03"},{"a":12602,"t":"code","b":[208,3],"m":"bne","oa":12607,"o":"JSW_Game_update_items_and_schedule_arrows"},{"a":12604,"t":"code","b":[76,59,56],"m":"jmp","oa":14395,"o":"JSW_Game_game_over_or_abort_to_title"},{"a":12607,"l":"JSW_Game_update_items_and_schedule_arrows","c":"Purpose: Render item animation and dispatch arrow processing every eight loop iterations. Inputs: item/arrow dividers and tables. Outputs: screen/item animation and possible arrow update. Assumptions: the active phase is initialized and the stated inputs and state are valid. Clobbers: A,X,Y through callees. Hardware: screen, sprite, and SID effects through callees.","t":"code","b":[32,131,57],"m":"jsr","oa":14723,"o":"JSW_Game_render_room_items","x":[12596,12602]},{"a":12610,"t":"code","b":[198,26],"m":"dec","oa":26,"o":"JSW_State_arrow_update_divider"},{"a":12612,"t":"code","b":[240,3],"m":"beq","oa":12617,"o":"loc_3149"},{"a":12614,"t":"code","b":[76,78,50],"m":"jmp","oa":12878,"o":"JSW_Game_animate_bathroom_toilet"},{"a":12617,"l":"loc_3149","t":"code","b":[169,8],"m":"lda","o":"#$08","x":[12612]},{"a":12619,"t":"code","b":[133,26],"m":"sta","oa":26,"o":"JSW_State_arrow_update_divider"},{"a":12621,"l":"JSW_Game_update_arrows","c":"Purpose: Process the first 15 arrow records for countdown, firing, motion, visibility, and sound. Inputs: current room and arrow table. Outputs: mutable records and sprite 6 state. Assumptions: the active phase is initialized and the stated inputs and state are valid. Clobbers: A,X,Y and arrow state. Hardware: writes VIC sprite 6 and SID effect registers. Record 16 is statically dormant.","t":"code","b":[169,15],"m":"lda","o":"#$0F"},{"a":12623,"t":"code","b":[133,24],"m":"sta","oa":24,"o":"item_or_arrow_record_index"},{"a":12625,"t":"code","b":[169,3],"m":"lda","o":"#$03"},{"a":12627,"t":"code","b":[133,22],"m":"sta","oa":22,"o":"item_or_arrow_record_pointer_low"},{"a":12629,"t":"code","b":[169,36],"m":"lda","o":"#$24"},{"a":12631,"t":"code","b":[133,23],"m":"sta","oa":23,"o":"item_or_arrow_record_pointer_high"},{"a":12633,"l":"loc_3159","t":"code","b":[160,0],"m":"ldy","o":"#$00","x":[12875]},{"a":12635,"t":"code","b":[177,22],"m":"lda","oa":22,"o":"(item_or_arrow_record_pointer_low),y"},{"a":12637,"t":"code","b":[41,127],"m":"and","o":"#$7F"},{"a":12639,"t":"code","b":[197,14],"m":"cmp","oa":14,"o":"JSW_State_current_room_or_title_voice3_pointer_low"},{"a":12641,"t":"code","b":[240,3],"m":"beq","oa":12646,"o":"loc_3166"},{"a":12643,"t":"code","b":[76,58,50],"m":"jmp","oa":12858,"o":"loc_323a"},{"a":12646,"l":"loc_3166","t":"code","b":[177,22],"m":"lda","oa":22,"o":"(item_or_arrow_record_pointer_low),y","x":[12641]},{"a":12648,"t":"code","b":[41,128],"m":"and","o":"#$80"},{"a":12650,"t":"code","b":[240,4],"m":"beq","oa":12656,"o":"loc_3170"},{"a":12652,"t":"code","b":[200],"m":"iny"},{"a":12653,"t":"code","b":[76,176,49],"m":"jmp","oa":12720,"o":"loc_31b0"},{"a":12656,"l":"loc_3170","t":"code","b":[200],"m":"iny","x":[12650]},{"a":12657,"t":"code","b":[177,22],"m":"lda","oa":22,"o":"(item_or_arrow_record_pointer_low),y"},{"a":12659,"t":"code","b":[56],"m":"sec"},{"a":12660,"t":"code","b":[233,1],"m":"sbc","o":"#$01"},{"a":12662,"t":"code","b":[145,22],"m":"sta","oa":22,"o":"(item_or_arrow_record_pointer_low),y"},{"a":12664,"t":"code","b":[240,27],"m":"beq","oa":12693,"o":"loc_3195"},{"a":12666,"t":"code","b":[201,10],"m":"cmp","o":"#$0A"},{"a":12668,"t":"code","b":[208,20],"m":"bne","oa":12690,"o":"loc_3192"},{"a":12670,"t":"code","b":[169,41],"m":"lda","o":"#$29"},{"a":12672,"t":"code","b":[141,19,212],"m":"sta","o":"sid_v3_attack_decay"},{"a":12675,"t":"code","b":[169,73],"m":"lda","o":"#$49"},{"a":12677,"t":"code","b":[141,20,212],"m":"sta","o":"sid_v3_sustain_release"},{"a":12680,"t":"code","b":[169,20],"m":"lda","o":"#$14"},{"a":12682,"t":"code","b":[141,15,212],"m":"sta","o":"sid_v3_freq_hi"},{"a":12685,"t":"code","b":[169,129],"m":"lda","o":"#$81"},{"a":12687,"t":"code","b":[141,18,212],"m":"sta","o":"sid_v3_control"},{"a":12690,"l":"loc_3192","t":"code","b":[76,58,50],"m":"jmp","oa":12858,"o":"loc_323a","x":[12668]},{"a":12693,"l":"loc_3195","t":"code","b":[169,0],"m":"lda","o":"#$00","x":[12664]},{"a":12695,"t":"code","b":[141,18,212],"m":"sta","o":"sid_v3_control"},{"a":12698,"t":"code","b":[141,14,212],"m":"sta","o":"sid_v3_freq_lo"},{"a":12701,"t":"code","b":[141,15,212],"m":"sta","o":"sid_v3_freq_hi"},{"a":12704,"t":"code","b":[136],"m":"dey"},{"a":12705,"t":"code","b":[177,22],"m":"lda","oa":22,"o":"(item_or_arrow_record_pointer_low),y"},{"a":12707,"t":"code","b":[9,128],"m":"ora","o":"#$80"},{"a":12709,"t":"code","b":[145,22],"m":"sta","oa":22,"o":"(item_or_arrow_record_pointer_low),y"},{"a":12711,"t":"code","b":[173,21,208],"m":"lda","o":"vic_sprite_enable"},{"a":12714,"t":"code","b":[9,64],"m":"ora","o":"#$40"},{"a":12716,"t":"code","b":[141,21,208],"m":"sta","o":"vic_sprite_enable"},{"a":12719,"t":"code","b":[200],"m":"iny"},{"a":12720,"l":"loc_31b0","t":"code","b":[200],"m":"iny","x":[12653]},{"a":12721,"t":"code","b":[177,22],"m":"lda","oa":22,"o":"(item_or_arrow_record_pointer_low),y"},{"a":12723,"t":"code","b":[48,47],"m":"bmi","oa":12772,"o":"loc_31e4"},{"a":12725,"t":"code","b":[24],"m":"clc"},{"a":12726,"t":"code","b":[105,1],"m":"adc","o":"#$01"},{"a":12728,"t":"code","b":[201,32],"m":"cmp","o":"#$20"},{"a":12730,"t":"code","b":[176,15],"m":"bcs","oa":12747,"o":"loc_31cb"},{"a":12732,"t":"code","b":[145,22],"m":"sta","oa":22,"o":"(item_or_arrow_record_pointer_low),y"},{"a":12734,"t":"code","b":[170],"m":"tax"},{"a":12735,"t":"code","b":[200],"m":"iny"},{"a":12736,"t":"code","b":[177,22],"m":"lda","oa":22,"o":"(item_or_arrow_record_pointer_low),y"},{"a":12738,"t":"code","b":[168],"m":"tay"},{"a":12739,"t":"code","b":[169,170],"m":"lda","o":"#$AA"},{"a":12741,"t":"code","b":[32,14,50],"m":"jsr","oa":12814,"o":"JSW_Game_position_arrow_sprite"},{"a":12744,"t":"code","b":[76,58,50],"m":"jmp","oa":12858,"o":"loc_323a"},{"a":12747,"l":"loc_31cb","t":"code","b":[169,0],"m":"lda","o":"#$00","x":[12730]},{"a":12749,"t":"code","b":[145,22],"m":"sta","oa":22,"o":"(item_or_arrow_record_pointer_low),y"},{"a":12751,"t":"code","b":[141,13,208],"m":"sta","o":"vic_sprite6_y"},{"a":12754,"t":"code","b":[168],"m":"tay"},{"a":12755,"t":"code","b":[177,22],"m":"lda","oa":22,"o":"(item_or_arrow_record_pointer_low),y"},{"a":12757,"t":"code","b":[41,127],"m":"and","o":"#$7F"},{"a":12759,"t":"code","b":[145,22],"m":"sta","oa":22,"o":"(item_or_arrow_record_pointer_low),y"},{"a":12761,"t":"code","b":[173,21,208],"m":"lda","o":"vic_sprite_enable"},{"a":12764,"t":"code","b":[41,191],"m":"and","o":"#$BF"},{"a":12766,"t":"code","b":[141,21,208],"m":"sta","o":"vic_sprite_enable"},{"a":12769,"t":"code","b":[76,58,50],"m":"jmp","oa":12858,"o":"loc_323a"},{"a":12772,"l":"loc_31e4","t":"code","b":[41,127],"m":"and","o":"#$7F","x":[12723]},{"a":12774,"t":"code","b":[56],"m":"sec"},{"a":12775,"t":"code","b":[233,1],"m":"sbc","o":"#$01"},{"a":12777,"t":"code","b":[48,17],"m":"bmi","oa":12796,"o":"loc_31fc"},{"a":12779,"t":"code","b":[170],"m":"tax"},{"a":12780,"t":"code","b":[9,128],"m":"ora","o":"#$80"},{"a":12782,"t":"code","b":[145,22],"m":"sta","oa":22,"o":"(item_or_arrow_record_pointer_low),y"},{"a":12784,"t":"code","b":[200],"m":"iny"},{"a":12785,"t":"code","b":[177,22],"m":"lda","oa":22,"o":"(item_or_arrow_record_pointer_low),y"},{"a":12787,"t":"code","b":[168],"m":"tay"},{"a":12788,"t":"code","b":[169,171],"m":"lda","o":"#$AB"},{"a":12790,"t":"code","b":[32,14,50],"m":"jsr","oa":12814,"o":"JSW_Game_position_arrow_sprite"},{"a":12793,"t":"code","b":[76,58,50],"m":"jmp","oa":12858,"o":"loc_323a"},{"a":12796,"l":"loc_31fc","t":"code","b":[169,159],"m":"lda","o":"#$9F","x":[12777]},{"a":12798,"t":"code","b":[145,22],"m":"sta","oa":22,"o":"(item_or_arrow_record_pointer_low),y"},{"a":12800,"t":"code","b":[160,0],"m":"ldy","o":"#$00"},{"a":12802,"t":"code","b":[140,13,208],"m":"sty","o":"vic_sprite6_y"},{"a":12805,"t":"code","b":[177,22],"m":"lda","oa":22,"o":"(item_or_arrow_record_pointer_low),y"},{"a":12807,"t":"code","b":[41,127],"m":"and","o":"#$7F"},{"a":12809,"t":"code","b":[145,22],"m":"sta","oa":22,"o":"(item_or_arrow_record_pointer_low),y"},{"a":12811,"t":"code","b":[76,58,50],"m":"jmp","oa":12858,"o":"loc_323a"},{"a":12814,"l":"JSW_Game_position_arrow_sprite","c":"Purpose: Convert current arrow record coordinates/direction to sprite 6 VIC position and ninth X bit. Inputs: selected arrow record. Outputs: VIC sprite 6 position/pointer/visibility state. Assumptions: the active phase is initialized and the stated inputs and state are valid. Clobbers: A,X,Y. Hardware: writes $D00C/$D00D/$D010 and screen sprite pointer.","t":"code","b":[141,254,127],"m":"sta","oa":32766,"o":"a_7FFE","x":[12741,12790]},{"a":12817,"t":"code","b":[152],"m":"tya"},{"a":12818,"t":"code","b":[10],"m":"asl","o":"a"},{"a":12819,"t":"code","b":[10],"m":"asl","o":"a"},{"a":12820,"t":"code","b":[10],"m":"asl","o":"a"},{"a":12821,"t":"code","b":[24],"m":"clc"},{"a":12822,"t":"code","b":[105,50],"m":"adc","o":"#$32"},{"a":12824,"t":"code","b":[141,13,208],"m":"sta","o":"vic_sprite6_y"},{"a":12827,"t":"code","b":[138],"m":"txa"},{"a":12828,"t":"code","b":[10],"m":"asl","o":"a"},{"a":12829,"t":"code","b":[10],"m":"asl","o":"a"},{"a":12830,"t":"code","b":[10],"m":"asl","o":"a"},{"a":12831,"t":"code","b":[24],"m":"clc"},{"a":12832,"t":"code","b":[105,56],"m":"adc","o":"#$38"},{"a":12834,"t":"code","b":[141,12,208],"m":"sta","o":"vic_sprite6_x"},{"a":12837,"t":"code","b":[144,10],"m":"bcc","oa":12849,"o":"loc_3231"},{"a":12839,"t":"code","b":[173,16,208],"m":"lda","o":"vic_sprite_x_msb"},{"a":12842,"t":"code","b":[9,64],"m":"ora","o":"#$40"},{"a":12844,"t":"code","b":[141,16,208],"m":"sta","o":"vic_sprite_x_msb"},{"a":12847,"t":"code","b":[208,8],"m":"bne","oa":12857,"o":"loc_3239"},{"a":12849,"l":"loc_3231","t":"code","b":[173,16,208],"m":"lda","o":"vic_sprite_x_msb","x":[12837]},{"a":12852,"t":"code","b":[41,191],"m":"and","o":"#$BF"},{"a":12854,"t":"code","b":[141,16,208],"m":"sta","o":"vic_sprite_x_msb"},{"a":12857,"l":"loc_3239","t":"code","b":[96],"m":"rts","x":[12847]},{"a":12858,"l":"loc_323a","t":"code","b":[24],"m":"clc","x":[12643,12690,12744,12769,12793,12811]},{"a":12859,"t":"code","b":[165,22],"m":"lda","oa":22,"o":"item_or_arrow_record_pointer_low"},{"a":12861,"t":"code","b":[105,4],"m":"adc","o":"#$04"},{"a":12863,"t":"code","b":[133,22],"m":"sta","oa":22,"o":"item_or_arrow_record_pointer_low"},{"a":12865,"t":"code","b":[165,23],"m":"lda","oa":23,"o":"item_or_arrow_record_pointer_high"},{"a":12867,"t":"code","b":[105,0],"m":"adc","o":"#$00"},{"a":12869,"t":"code","b":[133,23],"m":"sta","oa":23,"o":"item_or_arrow_record_pointer_high"},{"a":12871,"t":"code","b":[198,24],"m":"dec","oa":24,"o":"item_or_arrow_record_index"},{"a":12873,"t":"code","b":[240,3],"m":"beq","oa":12878,"o":"JSW_Game_animate_bathroom_toilet"},{"a":12875,"t":"code","b":[76,89,49],"m":"jmp","oa":12633,"o":"loc_3159"},{"a":12878,"l":"JSW_Game_animate_bathroom_toilet","c":"Purpose: Room 33 special animation using sprite 7. Inputs: room ID and shared special phase. Outputs: toilet sprite frame/position. Assumptions: the active phase is initialized and the stated inputs and state are valid. Clobbers: A,X. Hardware: writes sprite 7 registers/pointer; collision logic later makes toilet contact nonlethal.","t":"code","b":[165,14],"m":"lda","oa":14,"o":"JSW_State_current_room_or_title_voice3_pointer_low","x":[12614,12873]},{"a":12880,"t":"code","b":[201,33],"m":"cmp","o":"#$21"},{"a":12882,"t":"code","b":[208,48],"m":"bne","oa":12932,"o":"JSW_Game_animate_maria"},{"a":12884,"t":"code","b":[173,21,208],"m":"lda","o":"vic_sprite_enable"},{"a":12887,"t":"code","b":[9,128],"m":"ora","o":"#$80"},{"a":12889,"t":"code","b":[141,21,208],"m":"sta","o":"vic_sprite_enable"},{"a":12892,"t":"code","b":[169,1],"m":"lda","o":"#$01"},{"a":12894,"t":"code","b":[141,46,208],"m":"sta","o":"vic_sprite7_colour"},{"a":12897,"t":"code","b":[230,27],"m":"inc","oa":27,"o":"JSW_State_special_animation_phase"},{"a":12899,"t":"code","b":[165,27],"m":"lda","oa":27,"o":"JSW_State_special_animation_phase"},{"a":12901,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":12902,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":12903,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":12904,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":12905,"t":"code","b":[41,1],"m":"and","o":"#$01"},{"a":12907,"t":"code","b":[9,14],"m":"ora","o":"#$0E"},{"a":12909,"t":"code","b":[141,255,127],"m":"sta","oa":32767,"o":"a_7FFF"},{"a":12912,"t":"code","b":[173,16,208],"m":"lda","o":"vic_sprite_x_msb"},{"a":12915,"t":"code","b":[9,128],"m":"ora","o":"#$80"},{"a":12917,"t":"code","b":[141,16,208],"m":"sta","o":"vic_sprite_x_msb"},{"a":12920,"t":"code","b":[169,24],"m":"lda","o":"#$18"},{"a":12922,"t":"code","b":[141,14,208],"m":"sta","o":"vic_sprite7_x"},{"a":12925,"t":"code","b":[169,154],"m":"lda","o":"#$9A"},{"a":12927,"t":"code","b":[141,15,208],"m":"sta","o":"vic_sprite7_y"},{"a":12930,"t":"code","b":[208,80],"m":"bne","oa":13012,"o":"JSW_Game_schedule_guardian_updates"},{"a":12932,"l":"JSW_Game_animate_maria","c":"Purpose: update Maria sprite 7 only when flag $0400 is zero and room $0E is 35. A nonzero flag skips writes but does not clear an already enabled bit 7 in $D015; room initialization at $2E07 clears it. Five controlled room/flag/enable cases and a room reset matched. Player reachability of a fiftieth pickup with Maria already displayed remains open.","t":"code","b":[173,0,4],"m":"lda","oa":1024,"o":"JSW_State_completion_maria_removed","x":[12882]},{"a":12935,"t":"code","b":[208,75],"m":"bne","oa":13012,"o":"JSW_Game_schedule_guardian_updates"},{"a":12937,"t":"code","b":[165,14],"m":"lda","oa":14,"o":"JSW_State_current_room_or_title_voice3_pointer_low"},{"a":12939,"t":"code","b":[201,35],"m":"cmp","o":"#$23"},{"a":12941,"t":"code","b":[208,69],"m":"bne","oa":13012,"o":"JSW_Game_schedule_guardian_updates"},{"a":12943,"t":"code","b":[169,129],"m":"lda","o":"#$81"},{"a":12945,"t":"code","b":[141,21,208],"m":"sta","o":"vic_sprite_enable"},{"a":12948,"t":"code","b":[173,16,208],"m":"lda","o":"vic_sprite_x_msb"},{"a":12951,"t":"code","b":[41,127],"m":"and","o":"#$7F"},{"a":12953,"t":"code","b":[141,16,208],"m":"sta","o":"vic_sprite_x_msb"},{"a":12956,"t":"code","b":[169,168],"m":"lda","o":"#$A8"},{"a":12958,"t":"code","b":[141,14,208],"m":"sta","o":"vic_sprite7_x"},{"a":12961,"t":"code","b":[169,138],"m":"lda","o":"#$8A"},{"a":12963,"t":"code","b":[141,15,208],"m":"sta","o":"vic_sprite7_y"},{"a":12966,"t":"code","b":[169,7],"m":"lda","o":"#$07"},{"a":12968,"t":"code","b":[141,46,208],"m":"sta","o":"vic_sprite7_colour"},{"a":12971,"t":"code","b":[165,28],"m":"lda","oa":28,"o":"JSW_State_player_y"},{"a":12973,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":12974,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":12975,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":12976,"t":"code","b":[201,13],"m":"cmp","o":"#$0D"},{"a":12978,"t":"code","b":[144,16],"m":"bcc","oa":12996,"o":"loc_32c4"},{"a":12980,"t":"code","b":[230,27],"m":"inc","oa":27,"o":"JSW_State_special_animation_phase"},{"a":12982,"t":"code","b":[165,27],"m":"lda","oa":27,"o":"JSW_State_special_animation_phase"},{"a":12984,"t":"code","b":[41,8],"m":"and","o":"#$08"},{"a":12986,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":12987,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":12988,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":12989,"t":"code","b":[9,2],"m":"ora","o":"#$02"},{"a":12991,"t":"code","b":[141,255,127],"m":"sta","oa":32767,"o":"a_7FFF"},{"a":12994,"t":"code","b":[208,16],"m":"bne","oa":13012,"o":"JSW_Game_schedule_guardian_updates"},{"a":12996,"l":"loc_32c4","t":"code","b":[201,12],"m":"cmp","o":"#$0C","x":[12978]},{"a":12998,"t":"code","b":[144,7],"m":"bcc","oa":13007,"o":"loc_32cf"},{"a":13000,"t":"code","b":[169,4],"m":"lda","o":"#$04"},{"a":13002,"t":"code","b":[141,255,127],"m":"sta","oa":32767,"o":"a_7FFF"},{"a":13005,"t":"code","b":[208,5],"m":"bne","oa":13012,"o":"JSW_Game_schedule_guardian_updates"},{"a":13007,"l":"loc_32cf","t":"code","b":[169,5],"m":"lda","o":"#$05","x":[12998]},{"a":13009,"t":"code","b":[141,255,127],"m":"sta","oa":32767,"o":"a_7FFF"},{"a":13012,"l":"JSW_Game_schedule_guardian_updates","c":"Purpose: Every 12 main-loop passes update each room guardian by type bit 7. Inputs: copied guardian records and runtime direction/position arrays. Outputs: positions/frames/VIC sprites. Assumptions: the active phase is initialized and the stated inputs and state are valid. Clobbers: A,X,Y and guardian state. Hardware: dispatches vertical or horizontal sprite updates.","t":"code","b":[198,62],"m":"dec","oa":62,"o":"JSW_State_guardian_update_divider","x":[12930,12935,12941,12994,13005]},{"a":13014,"t":"code","b":[208,44],"m":"bne","oa":13060,"o":"JSW_Game_draw_spare_life_icons"},{"a":13016,"t":"code","b":[169,12],"m":"lda","o":"#$0C"},{"a":13018,"t":"code","b":[133,62],"m":"sta","oa":62,"o":"JSW_State_guardian_update_divider"},{"a":13020,"t":"code","b":[165,45],"m":"lda","oa":45,"o":"JSW_State_room_guardian_count"},{"a":13022,"t":"code","b":[133,52],"m":"sta","oa":52,"o":"loop_counter"},{"a":13024,"t":"code","b":[240,34],"m":"beq","oa":13060,"o":"JSW_Game_draw_spare_life_icons"},{"a":13026,"t":"code","b":[162,0],"m":"ldx","o":"#$00"},{"a":13028,"l":"loc_32e4","t":"code","b":[138],"m":"txa","x":[13058]},{"a":13029,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":13030,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":13031,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":13032,"t":"code","b":[133,47],"m":"sta","oa":47,"o":"guardian_slot_index"},{"a":13034,"t":"code","b":[134,46],"m":"stx","oa":46,"o":"guardian_record_byte_offset"},{"a":13036,"t":"code","b":[189,64,9],"m":"lda","oa":2368,"o":"JSW_State_current_guardian_records,x"},{"a":13039,"t":"code","b":[16,6],"m":"bpl","oa":13047,"o":"loc_32f7"},{"a":13041,"t":"code","b":[32,158,54],"m":"jsr","oa":13982,"o":"JSW_Game_update_horizontal_guardian"},{"a":13044,"t":"code","b":[76,250,50],"m":"jmp","oa":13050,"o":"loc_32fa"},{"a":13047,"l":"loc_32f7","t":"code","b":[32,20,54],"m":"jsr","oa":13844,"o":"JSW_Game_update_vertical_guardian","x":[13039]},{"a":13050,"l":"loc_32fa","t":"code","b":[165,46],"m":"lda","oa":46,"o":"guardian_record_byte_offset","x":[13044]},{"a":13052,"t":"code","b":[24],"m":"clc"},{"a":13053,"t":"code","b":[105,8],"m":"adc","o":"#$08"},{"a":13055,"t":"code","b":[170],"m":"tax"},{"a":13056,"t":"code","b":[198,52],"m":"dec","oa":52,"o":"loop_counter"},{"a":13058,"t":"code","b":[208,224],"m":"bne","oa":13028,"o":"loc_32e4"},{"a":13060,"l":"JSW_Game_draw_spare_life_icons","c":"Purpose: Draw spare-life icons and animate their glyph frame. Inputs: remaining spare count $41 and frame state. Outputs: status display icons. Assumptions: the active phase is initialized and the stated inputs and state are valid. Clobbers: A,X,Y. Hardware: writes screen/charset-visible memory.","t":"code","b":[165,65],"m":"lda","oa":65,"o":"JSW_State_spare_lives","x":[13014,13024]},{"a":13062,"t":"code","b":[240,51],"m":"beq","oa":13115,"o":"JSW_Game_schedule_player_update"},{"a":13064,"t":"code","b":[160,1],"m":"ldy","o":"#$01"},{"a":13066,"t":"code","b":[162,0],"m":"ldx","o":"#$00"},{"a":13068,"l":"loc_330c","t":"code","b":[169,123],"m":"lda","o":"#$7B","x":[13112]},{"a":13070,"t":"code","b":[157,112,127],"m":"sta","oa":32624,"o":"f_7F70,x"},{"a":13073,"t":"code","b":[152],"m":"tya"},{"a":13074,"t":"code","b":[157,112,219],"m":"sta","o":"$DB70,x"},{"a":13077,"t":"code","b":[169,125],"m":"lda","o":"#$7D"},{"a":13079,"t":"code","b":[157,113,127],"m":"sta","oa":32625,"o":"f_7F71,x"},{"a":13082,"t":"code","b":[152],"m":"tya"},{"a":13083,"t":"code","b":[157,113,219],"m":"sta","o":"$DB71,x"},{"a":13086,"t":"code","b":[169,124],"m":"lda","o":"#$7C"},{"a":13088,"t":"code","b":[157,152,127],"m":"sta","oa":32664,"o":"f_7F98,x"},{"a":13091,"t":"code","b":[152],"m":"tya"},{"a":13092,"t":"code","b":[157,152,219],"m":"sta","o":"$DB98,x"},{"a":13095,"t":"code","b":[169,126],"m":"lda","o":"#$7E"},{"a":13097,"t":"code","b":[157,153,127],"m":"sta","oa":32665,"o":"f_7F99,x"},{"a":13100,"t":"code","b":[152],"m":"tya"},{"a":13101,"t":"code","b":[157,153,219],"m":"sta","o":"$DB99,x"},{"a":13104,"t":"code","b":[232],"m":"inx"},{"a":13105,"t":"code","b":[232],"m":"inx"},{"a":13106,"t":"code","b":[232],"m":"inx"},{"a":13107,"t":"code","b":[196,65],"m":"cpy","oa":65,"o":"JSW_State_spare_lives"},{"a":13109,"t":"code","b":[240,4],"m":"beq","oa":13115,"o":"JSW_Game_schedule_player_update"},{"a":13111,"t":"code","b":[200],"m":"iny"},{"a":13112,"t":"code","b":[76,12,51],"m":"jmp","oa":13068,"o":"loc_330c"},{"a":13115,"l":"JSW_Game_schedule_player_update","c":"Purpose: Every six main-loop passes cache item count, reset hardware stack, and jump to player entry $1000. Inputs: divider $56 and runtime state. Outputs: player update begins. Assumptions: the active phase is initialized and the stated inputs and state are valid. Clobbers: A,X and SP; sets SP=$FF. Hardware: none directly.","t":"code","b":[198,86],"m":"dec","oa":86,"o":"JSW_State_player_update_divider","x":[13062,13109]},{"a":13117,"t":"code","b":[208,83],"m":"bne","oa":13202,"o":"JSW_Game_handle_sprite_collisions"},{"a":13119,"t":"code","b":[169,6],"m":"lda","o":"#$06"},{"a":13121,"t":"code","b":[133,86],"m":"sta","oa":86,"o":"JSW_State_player_update_divider"},{"a":13123,"t":"code","b":[173,1,4],"m":"lda","oa":1025,"o":"JSW_State_collected_item_count_bcd"},{"a":13126,"t":"code","b":[141,8,4],"m":"sta","oa":1032,"o":"JSW_State_cached_item_count"},{"a":13129,"l":"JSW_Game_reset_stack_and_enter_player_tick","c":"Purpose: Discard the entire hardware stack with LDX #$FF / TXS and enter the player update at player_tick_entry $1000. It serves both as the tail of schedule_player_update's sixth-pass path and as the standing target of the player redispatch vector. Inputs: none in registers. X is overwritten immediately; A, Y and the flags carried in are never read. Externally it is entered through JMP ($CFF2) at redispatch_player_via_vector $101E, whose callers have just written a new player state to $33 and expect $1000 to dispatch it: $10BD and $15AB and $15E2 and $1530 set state 1, $119F sets state 3, $1580 and $1599 set state 4. $CFF2/$CFF3 hold $49/$33, that is $3349, stored by LDA #$49 / STA $CFF2 at $2D48-$2D4A and LDA #$33 / STA $CFF3 at $2D4D-$2D4F during initialize_game. Outputs: SP = $FF and control passes to $1000. It never returns and cannot: the return address of whatever called it has just been discarded. Assumptions: unusually for a routine entry, this block deliberately destroys its caller's stack frame and every frame beneath it. That is precisely the engine's mechanism for tolerating tail-jumps out of JSR-called helpers - $119F leaves handle_grounded_tile, entered by JSR from $110F, $1117, $116F and $1177, without ever executing its RTS, and $14BC leaves handle_horizontal_jump_collision the same way. Consequently nothing may be held on the stack across this address, it must never be reached by JSR expecting a return, and callers must have committed all state to memory before jumping. Only the stack pointer is reset; the bytes in page 1 are left as they are. Clobbers: X, set to $FF; SP, set to $FF; N and Z from the LDX. A, Y, C, V and all memory are untouched. Hardware: none. Interrupts are not masked here, so a raster IRQ taken immediately after the TXS pushes onto the freshly reset stack at $01FF downwards, which is the intended behaviour.","t":"code","b":[162,255],"m":"ldx","o":"#$FF"},{"a":13131,"t":"code","b":[154],"m":"txs"},{"a":13132,"t":"code","b":[76,0,16],"m":"jmp","oa":4096,"o":"JSW_Player_player_tick_entry"},{"a":13135,"l":"JSW_Game_continue_after_player_update","c":"Purpose: Restore SP=$FF, detect a changed item count, and sweep SID voice 3 as collection feedback before collision checks. Inputs: $0401 versus cached $0408. Outputs: sound effect then fallthrough $3392. Assumptions: the active phase is initialized and the stated inputs and state are valid. Clobbers: A,X,SP,$07/$08. Hardware: writes SID voice 3 frequency/envelope/control.","t":"code","b":[162,255],"m":"ldx","o":"#$FF"},{"a":13137,"t":"code","b":[154],"m":"txs"},{"a":13138,"t":"code","b":[173,1,4],"m":"lda","oa":1025,"o":"JSW_State_collected_item_count_bcd"},{"a":13141,"t":"code","b":[205,8,4],"m":"cmp","oa":1032,"o":"JSW_State_cached_item_count"},{"a":13144,"t":"code","b":[240,56],"m":"beq","oa":13202,"o":"JSW_Game_handle_sprite_collisions"},{"a":13146,"t":"code","b":[169,74],"m":"lda","o":"#$4A"},{"a":13148,"t":"code","b":[141,19,212],"m":"sta","o":"sid_v3_attack_decay"},{"a":13151,"t":"code","b":[169,104],"m":"lda","o":"#$68"},{"a":13153,"t":"code","b":[141,20,212],"m":"sta","o":"sid_v3_sustain_release"},{"a":13156,"t":"code","b":[169,32],"m":"lda","o":"#$20"},{"a":13158,"t":"code","b":[133,8],"m":"sta","oa":8,"o":"JSW_State_zp_work_high"},{"a":13160,"t":"code","b":[169,65],"m":"lda","o":"#$41"},{"a":13162,"t":"code","b":[141,18,212],"m":"sta","o":"sid_v3_control"},{"a":13165,"t":"code","b":[169,76],"m":"lda","o":"#$4C"},{"a":13167,"t":"code","b":[141,16,212],"m":"sta","o":"sid_v3_pulse_lo"},{"a":13170,"t":"code","b":[169,4],"m":"lda","o":"#$04"},{"a":13172,"t":"code","b":[141,17,212],"m":"sta","o":"sid_v3_pulse_hi"},{"a":13175,"l":"loc_3377","t":"code","b":[230,7],"m":"inc","oa":7,"o":"JSW_State_zp_work_low","x":[13195]},{"a":13177,"t":"code","b":[208,2],"m":"bne","oa":13181,"o":"loc_337d"},{"a":13179,"t":"code","b":[230,8],"m":"inc","oa":8,"o":"JSW_State_zp_work_high"},{"a":13181,"l":"loc_337d","t":"code","b":[165,7],"m":"lda","oa":7,"o":"JSW_State_zp_work_low","x":[13177]},{"a":13183,"t":"code","b":[141,14,212],"m":"sta","o":"sid_v3_freq_lo"},{"a":13186,"t":"code","b":[165,8],"m":"lda","oa":8,"o":"JSW_State_zp_work_high"},{"a":13188,"t":"code","b":[141,15,212],"m":"sta","o":"sid_v3_freq_hi"},{"a":13191,"t":"code","b":[165,8],"m":"lda","oa":8,"o":"JSW_State_zp_work_high"},{"a":13193,"t":"code","b":[201,37],"m":"cmp","o":"#$25"},{"a":13195,"t":"code","b":[208,234],"m":"bne","oa":13175,"o":"loc_3377"},{"a":13197,"t":"code","b":[169,32],"m":"lda","o":"#$20"},{"a":13199,"t":"code","b":[141,18,212],"m":"sta","o":"sid_v3_control"},{"a":13202,"l":"JSW_Game_handle_sprite_collisions","c":"Purpose: Interpret VIC sprite-sprite collision latch for Willy and dispatch death with Bathroom/rope exceptions. Inputs: $D01E, room and rope flags. Outputs: continuation or death. Assumptions: the active phase is initialized and the stated inputs and state are valid. Clobbers: A and latch state. Hardware: reading $D01E clears the VIC latch; toilet and rope-only contacts are ignored as documented.","t":"code","b":[173,30,208],"m":"lda","o":"vic_sprite_collision","x":[13117,13144]},{"a":13205,"t":"code","b":[133,49],"m":"sta","oa":49,"o":"shared_arithmetic_scratch"},{"a":13207,"t":"code","b":[41,1],"m":"and","o":"#$01"},{"a":13209,"t":"code","b":[240,32],"m":"beq","oa":13243,"o":"JSW_Game_check_clock_deadline"},{"a":13211,"t":"code","b":[165,14],"m":"lda","oa":14,"o":"JSW_State_current_room_or_title_voice3_pointer_low"},{"a":13213,"t":"code","b":[201,33],"m":"cmp","o":"#$21"},{"a":13215,"t":"code","b":[208,9],"m":"bne","oa":13226,"o":"loc_33aa"},{"a":13217,"t":"code","b":[165,49],"m":"lda","oa":49,"o":"shared_arithmetic_scratch"},{"a":13219,"t":"code","b":[41,128],"m":"and","o":"#$80"},{"a":13221,"t":"code","b":[208,20],"m":"bne","oa":13243,"o":"JSW_Game_check_clock_deadline"},{"a":13223,"t":"code","b":[76,239,56],"m":"jmp","oa":14575,"o":"JSW_Game_run_death_sequence"},{"a":13226,"l":"loc_33aa","t":"code","b":[173,2,4],"m":"lda","oa":1026,"o":"JSW_State_room_has_rope","x":[13215]},{"a":13229,"t":"code","b":[208,3],"m":"bne","oa":13234,"o":"loc_33b2"},{"a":13231,"t":"code","b":[76,239,56],"m":"jmp","oa":14575,"o":"JSW_Game_run_death_sequence"},{"a":13234,"l":"loc_33b2","t":"code","b":[165,49],"m":"lda","oa":49,"o":"shared_arithmetic_scratch","x":[13229]},{"a":13236,"t":"code","b":[41,30],"m":"and","o":"#$1E"},{"a":13238,"t":"code","b":[240,3],"m":"beq","oa":13243,"o":"JSW_Game_check_clock_deadline"},{"a":13240,"t":"code","b":[76,239,56],"m":"jmp","oa":14575,"o":"JSW_Game_run_death_sequence"},{"a":13243,"l":"JSW_Game_check_clock_deadline","c":"Purpose: End the game when leading clock digits reach ASCII 12. Inputs: $37/$38 clock digits. Outputs: main-loop branch or game-over transition. Assumptions: the active phase is initialized and the stated inputs and state are valid. Clobbers: A and flags. Hardware: none.","t":"code","b":[165,55],"m":"lda","oa":55,"o":"JSW_State_clock_digit_h10","x":[13209,13221,13238]},{"a":13245,"t":"code","b":[201,49],"m":"cmp","o":"#$31"},{"a":13247,"t":"code","b":[240,3],"m":"beq","oa":13252,"o":"loc_33c4"},{"a":13249,"t":"code","b":[76,255,48],"m":"jmp","oa":12543,"o":"JSW_Game_game_main_loop"},{"a":13252,"l":"loc_33c4","t":"code","b":[165,56],"m":"lda","oa":56,"o":"JSW_State_clock_digit_h1","x":[13247]},{"a":13254,"t":"code","b":[201,50],"m":"cmp","o":"#$32"},{"a":13256,"t":"code","b":[240,3],"m":"beq","oa":13261,"o":"loc_33cd"},{"a":13258,"t":"code","b":[76,255,48],"m":"jmp","oa":12543,"o":"JSW_Game_game_main_loop"},{"a":13261,"l":"loc_33cd","t":"code","b":[76,59,56],"m":"jmp","oa":14395,"o":"JSW_Game_game_over_or_abort_to_title","x":[13256]},{"a":13264,"l":"JSW_Game_short_busy_wait","c":"Purpose: Bounded timing delay used by the main loop. Inputs: none significant. Outputs: delayed return. Assumptions: the active phase is initialized and the stated inputs and state are valid. Clobbers: X and flags. Hardware: consumes CPU cycles only.","t":"code","b":[160,3],"m":"ldy","o":"#$03","x":[12543,14529,14567]},{"a":13266,"t":"code","b":[162,0],"m":"ldx","o":"#$00"},{"a":13268,"l":"loc_33d4","t":"code","b":[202],"m":"dex","x":[13269,13272]},{"a":13269,"t":"code","b":[208,253],"m":"bne","oa":13268,"o":"loc_33d4"},{"a":13271,"t":"code","b":[136],"m":"dey"},{"a":13272,"t":"code","b":[208,250],"m":"bne","oa":13268,"o":"loc_33d4"},{"a":13274,"t":"code","b":[96],"m":"rts"},{"a":13275,"l":"JSW_Game_restore_irq_registers_and_rti","c":"Purpose: Common raster-IRQ exit restoring Y,X,A from the stack and executing RTI. Inputs: interrupt stack frame plus three saved registers. Outputs: resumes interrupted code. Assumptions: the active phase is initialized and the stated inputs and state are valid. Clobbers: restored registers only. Hardware: IRQ status must already be acknowledged.","t":"code","b":[104],"m":"pla","x":[13291,13298,13331,13713,13732]},{"a":13276,"t":"code","b":[168],"m":"tay"},{"a":13277,"t":"code","b":[104],"m":"pla"},{"a":13278,"t":"code","b":[170],"m":"tax"},{"a":13279,"t":"code","b":[104],"m":"pla"},{"a":13280,"t":"code","b":[64],"m":"rti"},{"a":13281,"l":"JSW_Game_gameplay_frame_irq","c":"Purpose: Raster $FB phase: acknowledge VIC IRQ; update music, one-second clock/status, animated glyphs/conveyor/lives, rope transfer, and Willy sprite. Inputs: CINV interrupt context and game state. Outputs: schedules raster 0 then exits through $33DB. Assumptions: the active phase is initialized and the stated inputs and state are valid. Clobbers: A,X,Y and scheduler/display state. Hardware: writes $D019/$D012/$D011, SID, VIC screen/charset/sprite registers; temporarily uses $01=$34 when updating RAM hidden by I/O.","t":"code","b":[173,25,208],"m":"lda","o":"vic_irq_status"},{"a":13284,"t":"code","b":[141,25,208],"m":"sta","o":"vic_irq_status"},{"a":13287,"t":"code","b":[41,1],"m":"and","o":"#$01"},{"a":13289,"t":"code","b":[208,3],"m":"bne","oa":13294,"o":"loc_33ee"},{"a":13291,"t":"code","b":[76,219,51],"m":"jmp","oa":13275,"o":"JSW_Game_restore_irq_registers_and_rti"},{"a":13294,"l":"loc_33ee","t":"code","b":[165,54],"m":"lda","oa":54,"o":"JSW_State_game_paused","x":[13289]},{"a":13296,"t":"code","b":[240,3],"m":"beq","oa":13301,"o":"loc_33f5"},{"a":13298,"t":"code","b":[76,219,51],"m":"jmp","oa":13275,"o":"JSW_Game_restore_irq_registers_and_rti"},{"a":13301,"l":"loc_33f5","t":"code","b":[173,18,208],"m":"lda","o":"vic_raster","x":[13296]},{"a":13304,"t":"code","b":[48,3],"m":"bmi","oa":13309,"o":"loc_33fd"},{"a":13306,"t":"code","b":[76,148,53],"m":"jmp","oa":13716,"o":"JSW_Game_gameplay_input_irq"},{"a":13309,"l":"loc_33fd","t":"code","b":[169,0],"m":"lda","o":"#$00","x":[13304]},{"a":13311,"t":"code","b":[141,18,208],"m":"sta","o":"vic_raster"},{"a":13314,"t":"code","b":[173,17,208],"m":"lda","o":"vic_control1"},{"a":13317,"t":"code","b":[41,127],"m":"and","o":"#$7F"},{"a":13319,"t":"code","b":[141,17,208],"m":"sta","o":"vic_control1"},{"a":13322,"t":"code","b":[165,54],"m":"lda","oa":54,"o":"JSW_State_game_paused"},{"a":13324,"t":"code","b":[240,8],"m":"beq","oa":13334,"o":"loc_3416"},{"a":13326,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":13328,"t":"code","b":[141,24,212],"m":"sta","o":"sid_filter_mode_volume"},{"a":13331,"t":"code","b":[76,219,51],"m":"jmp","oa":13275,"o":"JSW_Game_restore_irq_registers_and_rti"},{"a":13334,"l":"loc_3416","t":"code","b":[165,53],"m":"lda","oa":53,"o":"JSW_State_game_music_enabled","x":[13324]},{"a":13336,"t":"code","b":[208,27],"m":"bne","oa":13365,"o":"loc_3435"},{"a":13338,"t":"code","b":[169,64],"m":"lda","o":"#$40"},{"a":13340,"t":"code","b":[141,4,212],"m":"sta","o":"sid_v1_control"},{"a":13343,"t":"code","b":[169,64],"m":"lda","o":"#$40"},{"a":13345,"t":"code","b":[141,11,212],"m":"sta","o":"sid_v2_control"},{"a":13348,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":13350,"t":"code","b":[141,0,212],"m":"sta","o":"sid_v1_freq_lo"},{"a":13353,"t":"code","b":[141,1,212],"m":"sta","o":"sid_v1_freq_hi"},{"a":13356,"t":"code","b":[141,7,212],"m":"sta","o":"sid_v2_freq_lo"},{"a":13359,"t":"code","b":[141,8,212],"m":"sta","o":"sid_v2_freq_hi"},{"a":13362,"t":"code","b":[76,70,52],"m":"jmp","oa":13382,"o":"loc_3446"},{"a":13365,"l":"loc_3435","t":"code","b":[198,66],"m":"dec","oa":66,"o":"JSW_State_game_music_divider","x":[13336]},{"a":13367,"t":"code","b":[208,13],"m":"bne","oa":13382,"o":"loc_3446"},{"a":13369,"t":"code","b":[32,102,32],"m":"jsr","oa":8294,"o":"JSW_Game_tick_game_music"},{"a":13372,"t":"code","b":[32,102,32],"m":"jsr","oa":8294,"o":"JSW_Game_tick_game_music"},{"a":13375,"t":"code","b":[32,102,32],"m":"jsr","oa":8294,"o":"JSW_Game_tick_game_music"},{"a":13378,"t":"code","b":[169,2],"m":"lda","o":"#$02"},{"a":13380,"t":"code","b":[133,66],"m":"sta","oa":66,"o":"JSW_State_game_music_divider"},{"a":13382,"l":"loc_3446","t":"code","b":[198,61],"m":"dec","oa":61,"o":"JSW_State_clock_tick_divider","x":[13362,13367]},{"a":13384,"t":"code","b":[208,22],"m":"bne","oa":13408,"o":"loc_3460"},{"a":13386,"t":"code","b":[169,50],"m":"lda","o":"#$32"},{"a":13388,"t":"code","b":[133,61],"m":"sta","oa":61,"o":"JSW_State_clock_tick_divider"},{"a":13390,"t":"code","b":[162,5],"m":"ldx","o":"#$05"},{"a":13392,"l":"loc_3450","t":"code","b":[246,55],"m":"inc","oa":55,"o":"JSW_State_clock_digit_h10,x","x":[13406]},{"a":13394,"t":"code","b":[181,55],"m":"lda","oa":55,"o":"JSW_State_clock_digit_h10,x"},{"a":13396,"t":"code","b":[221,97,34],"m":"cmp","oa":8801,"o":"clock_digit_rollover_thresholds,x"},{"a":13399,"t":"code","b":[144,7],"m":"bcc","oa":13408,"o":"loc_3460"},{"a":13401,"t":"code","b":[169,48],"m":"lda","o":"#$30"},{"a":13403,"t":"code","b":[149,55],"m":"sta","oa":55,"o":"JSW_State_clock_digit_h10,x"},{"a":13405,"t":"code","b":[202],"m":"dex"},{"a":13406,"t":"code","b":[16,240],"m":"bpl","oa":13392,"o":"loc_3450"},{"a":13408,"l":"loc_3460","t":"code","b":[165,60],"m":"lda","oa":60,"o":"JSW_State_clock_digit_s1","x":[13384,13399]},{"a":13410,"t":"code","b":[141,71,127],"m":"sta","oa":32583,"o":"a_7F47"},{"a":13413,"t":"code","b":[165,59],"m":"lda","oa":59,"o":"JSW_State_clock_digit_s10"},{"a":13415,"t":"code","b":[141,70,127],"m":"sta","oa":32582,"o":"a_7F46"},{"a":13418,"t":"code","b":[169,58],"m":"lda","o":"#$3A"},{"a":13420,"t":"code","b":[141,69,127],"m":"sta","oa":32581,"o":"a_7F45"},{"a":13423,"t":"code","b":[165,58],"m":"lda","oa":58,"o":"JSW_State_clock_digit_m1"},{"a":13425,"t":"code","b":[141,68,127],"m":"sta","oa":32580,"o":"a_7F44"},{"a":13428,"t":"code","b":[165,57],"m":"lda","oa":57,"o":"JSW_State_clock_digit_m10"},{"a":13430,"t":"code","b":[141,67,127],"m":"sta","oa":32579,"o":"a_7F43"},{"a":13433,"t":"code","b":[169,58],"m":"lda","o":"#$3A"},{"a":13435,"t":"code","b":[141,66,127],"m":"sta","oa":32578,"o":"a_7F42"},{"a":13438,"t":"code","b":[165,56],"m":"lda","oa":56,"o":"JSW_State_clock_digit_h1"},{"a":13440,"t":"code","b":[141,65,127],"m":"sta","oa":32577,"o":"a_7F41"},{"a":13443,"t":"code","b":[165,55],"m":"lda","oa":55,"o":"JSW_State_clock_digit_h10"},{"a":13445,"t":"code","b":[141,64,127],"m":"sta","oa":32576,"o":"a_7F40"},{"a":13448,"t":"code","b":[162,7],"m":"ldx","o":"#$07"},{"a":13450,"l":"loc_348a","t":"code","b":[189,64,127],"m":"lda","oa":32576,"o":"a_7F40,x","x":[13459]},{"a":13453,"t":"code","b":[9,64],"m":"ora","o":"#$40"},{"a":13455,"t":"code","b":[157,64,127],"m":"sta","oa":32576,"o":"a_7F40,x"},{"a":13458,"t":"code","b":[202],"m":"dex"},{"a":13459,"t":"code","b":[16,245],"m":"bpl","oa":13450,"o":"loc_348a"},{"a":13461,"t":"code","b":[169,52],"m":"lda","o":"#$34"},{"a":13463,"t":"code","b":[133,1],"m":"sta","oa":1,"o":"C64_CPU_PROCESSOR_PORT"},{"a":13465,"t":"code","b":[162,37],"m":"ldx","o":"#$25"},{"a":13467,"t":"code","b":[160,0],"m":"ldy","o":"#$00"},{"a":13469,"l":"loc_349d","t":"code","b":[189,113,34],"m":"lda","oa":8817,"o":"glyph_rotate_right_pointer_table,x","x":[13490]},{"a":13472,"t":"code","b":[133,34],"m":"sta","oa":34,"o":"glyph_rotation_target_pointer_high"},{"a":13474,"t":"code","b":[202],"m":"dex"},{"a":13475,"t":"code","b":[189,113,34],"m":"lda","oa":8817,"o":"glyph_rotate_right_pointer_table,x"},{"a":13478,"t":"code","b":[133,33],"m":"sta","oa":33,"o":"glyph_rotation_target_pointer_low"},{"a":13480,"t":"code","b":[177,33],"m":"lda","oa":33,"o":"(glyph_rotation_target_pointer_low),y"},{"a":13482,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":13483,"t":"code","b":[144,2],"m":"bcc","oa":13487,"o":"loc_34af"},{"a":13485,"t":"code","b":[9,128],"m":"ora","o":"#$80"},{"a":13487,"l":"loc_34af","t":"code","b":[145,33],"m":"sta","oa":33,"o":"(glyph_rotation_target_pointer_low),y","x":[13483]},{"a":13489,"t":"code","b":[202],"m":"dex"},{"a":13490,"t":"code","b":[16,233],"m":"bpl","oa":13469,"o":"loc_349d"},{"a":13492,"t":"code","b":[162,43],"m":"ldx","o":"#$2B"},{"a":13494,"t":"code","b":[160,0],"m":"ldy","o":"#$00"},{"a":13496,"l":"loc_34b8","t":"code","b":[189,151,34],"m":"lda","oa":8855,"o":"glyph_rotate_left_pointer_table,x","x":[13517]},{"a":13499,"t":"code","b":[133,34],"m":"sta","oa":34,"o":"glyph_rotation_target_pointer_high"},{"a":13501,"t":"code","b":[202],"m":"dex"},{"a":13502,"t":"code","b":[189,151,34],"m":"lda","oa":8855,"o":"glyph_rotate_left_pointer_table,x"},{"a":13505,"t":"code","b":[133,33],"m":"sta","oa":33,"o":"glyph_rotation_target_pointer_low"},{"a":13507,"t":"code","b":[177,33],"m":"lda","oa":33,"o":"(glyph_rotation_target_pointer_low),y"},{"a":13509,"t":"code","b":[10],"m":"asl","o":"a"},{"a":13510,"t":"code","b":[144,2],"m":"bcc","oa":13514,"o":"loc_34ca"},{"a":13512,"t":"code","b":[9,1],"m":"ora","o":"#$01"},{"a":13514,"l":"loc_34ca","t":"code","b":[145,33],"m":"sta","oa":33,"o":"(glyph_rotation_target_pointer_low),y","x":[13510]},{"a":13516,"t":"code","b":[202],"m":"dex"},{"a":13517,"t":"code","b":[16,233],"m":"bpl","oa":13496,"o":"loc_34b8"},{"a":13519,"t":"code","b":[160,199],"m":"ldy","o":"#$C7"},{"a":13521,"t":"code","b":[162,7],"m":"ldx","o":"#$07"},{"a":13523,"l":"loc_34d3","t":"code","b":[177,39],"m":"lda","oa":39,"o":"(room_record_source_pointer_low),y","x":[13530]},{"a":13525,"t":"code","b":[157,40,121],"m":"sta","oa":31016,"o":"animated_room_glyph,x"},{"a":13528,"t":"code","b":[136],"m":"dey"},{"a":13529,"t":"code","b":[202],"m":"dex"},{"a":13530,"t":"code","b":[16,247],"m":"bpl","oa":13523,"o":"loc_34d3"},{"a":13532,"t":"code","b":[169,54],"m":"lda","o":"#$36"},{"a":13534,"t":"code","b":[133,1],"m":"sta","oa":1,"o":"C64_CPU_PROCESSOR_PORT"},{"a":13536,"t":"code","b":[198,63],"m":"dec","oa":63,"o":"JSW_State_life_glyph_divider"},{"a":13538,"t":"code","b":[208,79],"m":"bne","oa":13619,"o":"loc_3533"},{"a":13540,"t":"code","b":[169,15],"m":"lda","o":"#$0F"},{"a":13542,"t":"code","b":[133,63],"m":"sta","oa":63,"o":"JSW_State_life_glyph_divider"},{"a":13544,"t":"code","b":[165,53],"m":"lda","oa":53,"o":"JSW_State_game_music_enabled"},{"a":13546,"t":"code","b":[240,71],"m":"beq","oa":13619,"o":"loc_3533"},{"a":13548,"t":"code","b":[165,68],"m":"lda","oa":68,"o":"JSW_State_decoded_key_1"},{"a":13550,"t":"code","b":[201,43],"m":"cmp","o":"#$2B"},{"a":13552,"t":"code","b":[208,16],"m":"bne","oa":13570,"o":"loc_3502"},{"a":13554,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":13556,"t":"code","b":[133,68],"m":"sta","oa":68,"o":"JSW_State_decoded_key_1"},{"a":13558,"t":"code","b":[230,95],"m":"inc","oa":95,"o":"JSW_State_sid_master_volume"},{"a":13560,"t":"code","b":[165,95],"m":"lda","oa":95,"o":"JSW_State_sid_master_volume"},{"a":13562,"t":"code","b":[201,16],"m":"cmp","o":"#$10"},{"a":13564,"t":"code","b":[208,22],"m":"bne","oa":13588,"o":"loc_3514"},{"a":13566,"t":"code","b":[169,15],"m":"lda","o":"#$0F"},{"a":13568,"t":"code","b":[133,95],"m":"sta","oa":95,"o":"JSW_State_sid_master_volume"},{"a":13570,"l":"loc_3502","t":"code","b":[201,45],"m":"cmp","o":"#$2D","x":[13552]},{"a":13572,"t":"code","b":[208,14],"m":"bne","oa":13588,"o":"loc_3514"},{"a":13574,"t":"code","b":[198,95],"m":"dec","oa":95,"o":"JSW_State_sid_master_volume"},{"a":13576,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":13578,"t":"code","b":[133,68],"m":"sta","oa":68,"o":"JSW_State_decoded_key_1"},{"a":13580,"t":"code","b":[165,95],"m":"lda","oa":95,"o":"JSW_State_sid_master_volume"},{"a":13582,"t":"code","b":[16,4],"m":"bpl","oa":13588,"o":"loc_3514"},{"a":13584,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":13586,"t":"code","b":[133,95],"m":"sta","oa":95,"o":"JSW_State_sid_master_volume"},{"a":13588,"l":"loc_3514","t":"code","b":[165,95],"m":"lda","oa":95,"o":"JSW_State_sid_master_volume","x":[13564,13572,13582]},{"a":13590,"t":"code","b":[141,24,212],"m":"sta","o":"sid_filter_mode_volume"},{"a":13593,"t":"code","b":[230,64],"m":"inc","oa":64,"o":"JSW_State_life_glyph_frame"},{"a":13595,"t":"code","b":[165,64],"m":"lda","oa":64,"o":"JSW_State_life_glyph_frame"},{"a":13597,"t":"code","b":[41,3],"m":"and","o":"#$03"},{"a":13599,"t":"code","b":[10],"m":"asl","o":"a"},{"a":13600,"t":"code","b":[10],"m":"asl","o":"a"},{"a":13601,"t":"code","b":[10],"m":"asl","o":"a"},{"a":13602,"t":"code","b":[10],"m":"asl","o":"a"},{"a":13603,"t":"code","b":[10],"m":"asl","o":"a"},{"a":13604,"t":"code","b":[170],"m":"tax"},{"a":13605,"t":"code","b":[160,0],"m":"ldy","o":"#$00"},{"a":13607,"l":"loc_3527","t":"code","b":[189,172,33],"m":"lda","oa":8620,"o":"JSW_State_spare_life_glyph_frames,x","x":[13617]},{"a":13610,"t":"code","b":[153,216,121],"m":"sta","oa":31192,"o":"animated_spare_life_glyph,y"},{"a":13613,"t":"code","b":[232],"m":"inx"},{"a":13614,"t":"code","b":[200],"m":"iny"},{"a":13615,"t":"code","b":[192,32],"m":"cpy","o":"#$20"},{"a":13617,"t":"code","b":[208,244],"m":"bne","oa":13607,"o":"loc_3527"},{"a":13619,"l":"loc_3533","t":"code","b":[173,2,4],"m":"lda","oa":1026,"o":"JSW_State_room_has_rope","x":[13538,13546]},{"a":13622,"t":"code","b":[240,34],"m":"beq","oa":13658,"o":"loc_355a"},{"a":13624,"t":"code","b":[173,7,4],"m":"lda","oa":1031,"o":"JSW_State_rope_staging_handshake"},{"a":13627,"t":"code","b":[208,29],"m":"bne","oa":13658,"o":"loc_355a"},{"a":13629,"t":"code","b":[162,0],"m":"ldx","o":"#$00"},{"a":13631,"l":"loc_353f","t":"code","b":[189,0,5],"m":"lda","oa":1280,"o":"JSW_State_staged_rope_sprites,x","x":[13640]},{"a":13634,"t":"code","b":[157,0,107],"m":"sta","oa":27392,"o":"rope_sprite_buffer,x"},{"a":13637,"t":"code","b":[232],"m":"inx"},{"a":13638,"t":"code","b":[224,192],"m":"cpx","o":"#$C0"},{"a":13640,"t":"code","b":[208,245],"m":"bne","oa":13631,"o":"loc_353f"},{"a":13642,"t":"code","b":[162,5],"m":"ldx","o":"#$05"},{"a":13644,"l":"loc_354c","t":"code","b":[189,192,5],"m":"lda","oa":1472,"o":"JSW_State_staged_rope_coordinates,x","x":[13651]},{"a":13647,"t":"code","b":[157,10,208],"m":"sta","o":"vic_sprite5_x,x"},{"a":13650,"t":"code","b":[202],"m":"dex"},{"a":13651,"t":"code","b":[16,247],"m":"bpl","oa":13644,"o":"loc_354c"},{"a":13653,"t":"code","b":[169,255],"m":"lda","o":"#$FF"},{"a":13655,"t":"code","b":[141,7,4],"m":"sta","oa":1031,"o":"JSW_State_rope_staging_handshake"},{"a":13658,"l":"loc_355a","t":"code","b":[165,79],"m":"lda","oa":79,"o":"JSW_State_player_x_cell","x":[13622,13627]},{"a":13660,"t":"code","b":[10],"m":"asl","o":"a"},{"a":13661,"t":"code","b":[10],"m":"asl","o":"a"},{"a":13662,"t":"code","b":[10],"m":"asl","o":"a"},{"a":13663,"t":"code","b":[24],"m":"clc"},{"a":13664,"t":"code","b":[105,56],"m":"adc","o":"#$38"},{"a":13666,"t":"code","b":[141,0,208],"m":"sta","o":"vic_sprite0_x"},{"a":13669,"t":"code","b":[144,7],"m":"bcc","oa":13678,"o":"loc_356e"},{"a":13671,"t":"code","b":[173,16,208],"m":"lda","o":"vic_sprite_x_msb"},{"a":13674,"t":"code","b":[9,1],"m":"ora","o":"#$01"},{"a":13676,"t":"code","b":[208,5],"m":"bne","oa":13683,"o":"loc_3573"},{"a":13678,"l":"loc_356e","t":"code","b":[173,16,208],"m":"lda","o":"vic_sprite_x_msb","x":[13669]},{"a":13681,"t":"code","b":[41,254],"m":"and","o":"#$FE"},{"a":13683,"l":"loc_3573","t":"code","b":[141,16,208],"m":"sta","o":"vic_sprite_x_msb","x":[13676]},{"a":13686,"t":"code","b":[165,28],"m":"lda","oa":28,"o":"JSW_State_player_y"},{"a":13688,"t":"code","b":[24],"m":"clc"},{"a":13689,"t":"code","b":[105,50],"m":"adc","o":"#$32"},{"a":13691,"t":"code","b":[141,1,208],"m":"sta","o":"vic_sprite0_y"},{"a":13694,"t":"code","b":[165,50],"m":"lda","oa":50,"o":"JSW_State_player_horizontal_phase"},{"a":13696,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":13697,"t":"code","b":[133,84],"m":"sta","oa":84,"o":"shared_player_and_keyboard_scratch"},{"a":13699,"t":"code","b":[165,80],"m":"lda","oa":80,"o":"JSW_State_player_facing_frame_or_title_key_count"},{"a":13701,"t":"code","b":[41,4],"m":"and","o":"#$04"},{"a":13703,"t":"code","b":[5,84],"m":"ora","oa":84,"o":"shared_player_and_keyboard_scratch"},{"a":13705,"t":"code","b":[133,80],"m":"sta","oa":80,"o":"JSW_State_player_facing_frame_or_title_key_count"},{"a":13707,"t":"code","b":[24],"m":"clc"},{"a":13708,"t":"code","b":[105,6],"m":"adc","o":"#$06"},{"a":13710,"t":"code","b":[141,248,127],"m":"sta","oa":32760,"o":"a_7FF8"},{"a":13713,"t":"code","b":[76,219,51],"m":"jmp","oa":13275,"o":"JSW_Game_restore_irq_registers_and_rti"},{"a":13716,"l":"JSW_Game_gameplay_input_irq","c":"Purpose: Raster 0 phase: clear VIC raster-high bit, schedule line $FB, and scan controls. Inputs: CINV interrupt context. Outputs: input state and next raster. Assumptions: the active phase is initialized and the stated inputs and state are valid. Clobbers: A,X,Y through scanner. Hardware: writes $D011/$D012, reads CIA 1, then exits through $33DB.","t":"code","b":[173,17,208],"m":"lda","o":"vic_control1","x":[13306]},{"a":13719,"t":"code","b":[41,127],"m":"and","o":"#$7F"},{"a":13721,"t":"code","b":[141,17,208],"m":"sta","o":"vic_control1"},{"a":13724,"t":"code","b":[169,251],"m":"lda","o":"#$FB"},{"a":13726,"t":"code","b":[141,18,208],"m":"sta","o":"vic_raster"},{"a":13729,"t":"code","b":[32,145,55],"m":"jsr","oa":14225,"o":"JSW_Game_scan_gameplay_input"},{"a":13732,"t":"code","b":[76,219,51],"m":"jmp","oa":13275,"o":"JSW_Game_restore_irq_registers_and_rti"},{"a":13735,"l":"JSW_Game_expand_packed_room_cell","c":"Purpose: Expand one 2-bit packed room cell into screen/color representation during room drawing. Inputs: packed value, cell position, room colors. Outputs: screen code/color cell. Assumptions: the active phase is initialized and the stated inputs and state are valid. Clobbers: A,X,Y and address temporaries. Hardware: writes VIC screen/color RAM.","t":"code","b":[41,3],"m":"and","o":"#$03","x":[12022,12029,12034,12037]},{"a":13737,"t":"code","b":[170],"m":"tax"},{"a":13738,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":13740,"t":"code","b":[133,8],"m":"sta","oa":8,"o":"JSW_State_zp_work_high"},{"a":13742,"t":"code","b":[165,98],"m":"lda","oa":98,"o":"packed_room_row"},{"a":13744,"t":"code","b":[10],"m":"asl","o":"a"},{"a":13745,"t":"code","b":[168],"m":"tay"},{"a":13746,"t":"code","b":[185,203,43],"m":"lda","oa":11211,"o":"JSW_State_room_screen_row_pointers,y"},{"a":13749,"t":"code","b":[24],"m":"clc"},{"a":13750,"t":"code","b":[101,97],"m":"adc","oa":97,"o":"packed_room_column"},{"a":13752,"t":"code","b":[133,7],"m":"sta","oa":7,"o":"JSW_State_zp_work_low"},{"a":13754,"t":"code","b":[133,9],"m":"sta","oa":9,"o":"gameplay_color_ram_pointer_low"},{"a":13756,"t":"code","b":[185,204,43],"m":"lda","oa":11212,"o":"f_2BCC,y"},{"a":13759,"t":"code","b":[105,0],"m":"adc","o":"#$00"},{"a":13761,"t":"code","b":[133,8],"m":"sta","oa":8,"o":"JSW_State_zp_work_high"},{"a":13763,"t":"code","b":[24],"m":"clc"},{"a":13764,"t":"code","b":[105,92],"m":"adc","o":"#$5C"},{"a":13766,"t":"code","b":[133,10],"m":"sta","oa":10,"o":"shared_color_pointer_high_or_title_voice1_pointer_low"},{"a":13768,"t":"code","b":[160,0],"m":"ldy","o":"#$00"},{"a":13770,"t":"code","b":[189,44,34],"m":"lda","oa":8748,"o":"tile_code_table,x"},{"a":13773,"t":"code","b":[145,7],"m":"sta","oa":7,"o":"(JSW_State_zp_work_low),y"},{"a":13775,"t":"code","b":[181,35],"m":"lda","oa":35,"o":"room_tile_color_0,x"},{"a":13777,"t":"code","b":[145,9],"m":"sta","oa":9,"o":"(gameplay_color_ram_pointer_low),y"},{"a":13779,"t":"code","b":[230,97],"m":"inc","oa":97,"o":"packed_room_column"},{"a":13781,"t":"code","b":[165,97],"m":"lda","oa":97,"o":"packed_room_column"},{"a":13783,"t":"code","b":[201,32],"m":"cmp","o":"#$20"},{"a":13785,"t":"code","b":[208,6],"m":"bne","oa":13793,"o":"loc_35e1"},{"a":13787,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":13789,"t":"code","b":[133,97],"m":"sta","oa":97,"o":"packed_room_column"},{"a":13791,"t":"code","b":[230,98],"m":"inc","oa":98,"o":"packed_room_row"},{"a":13793,"l":"loc_35e1","t":"code","b":[165,12],"m":"lda","oa":12,"o":"shared_game_scratch_or_title_voice2_pointer_low","x":[13785]},{"a":13795,"t":"code","b":[96],"m":"rts"},{"a":13796,"l":"JSW_Game_lookup_tile_at_cell","c":"Purpose: Convert X/Y cell to screen/color addresses and return logical tile code. Inputs: X column and Y row. Outputs: A code 0-6 after masking screen code with $1F. Assumptions: the active phase is initialized and the stated inputs and state are valid. Clobbers: A,X,Y and pointer temporaries. Hardware: reads screen/color memory.","t":"code","b":[169,0],"m":"lda","o":"#$00","x":[12106,12193,14417]},{"a":13798,"t":"code","b":[133,8],"m":"sta","oa":8,"o":"JSW_State_zp_work_high"},{"a":13800,"t":"code","b":[134,20],"m":"stx","oa":20,"o":"horizontal_coordinate_scratch"},{"a":13802,"t":"code","b":[152],"m":"tya"},{"a":13803,"t":"code","b":[10],"m":"asl","o":"a"},{"a":13804,"t":"code","b":[170],"m":"tax"},{"a":13805,"t":"code","b":[189,203,43],"m":"lda","oa":11211,"o":"JSW_State_room_screen_row_pointers,x"},{"a":13808,"t":"code","b":[24],"m":"clc"},{"a":13809,"t":"code","b":[101,20],"m":"adc","oa":20,"o":"horizontal_coordinate_scratch"},{"a":13811,"t":"code","b":[133,7],"m":"sta","oa":7,"o":"JSW_State_zp_work_low"},{"a":13813,"t":"code","b":[133,9],"m":"sta","oa":9,"o":"gameplay_color_ram_pointer_low"},{"a":13815,"t":"code","b":[189,204,43],"m":"lda","oa":11212,"o":"f_2BCC,x"},{"a":13818,"t":"code","b":[105,0],"m":"adc","o":"#$00"},{"a":13820,"t":"code","b":[133,8],"m":"sta","oa":8,"o":"JSW_State_zp_work_high"},{"a":13822,"t":"code","b":[24],"m":"clc"},{"a":13823,"t":"code","b":[105,92],"m":"adc","o":"#$5C"},{"a":13825,"t":"code","b":[133,10],"m":"sta","oa":10,"o":"shared_color_pointer_high_or_title_voice1_pointer_low"},{"a":13827,"t":"code","b":[160,0],"m":"ldy","o":"#$00"},{"a":13829,"t":"code","b":[177,7],"m":"lda","oa":7,"o":"(JSW_State_zp_work_low),y"},{"a":13831,"t":"code","b":[41,31],"m":"and","o":"#$1F"},{"a":13833,"t":"code","b":[201,1],"m":"cmp","o":"#$01"},{"a":13835,"t":"code","b":[208,6],"m":"bne","oa":13843,"o":"loc_3613"},{"a":13837,"t":"code","b":[166,16],"m":"ldx","oa":16,"o":"ramp_tile_override_flag"},{"a":13839,"t":"code","b":[240,2],"m":"beq","oa":13843,"o":"loc_3613"},{"a":13841,"t":"code","b":[169,4],"m":"lda","o":"#$04"},{"a":13843,"l":"loc_3613","t":"code","b":[96],"m":"rts","x":[13835,13839]},{"a":13844,"l":"JSW_Game_update_vertical_guardian","c":"Purpose: Advance one vertical guardian within bounds, reverse direction, select frame, and update sprite Y. Inputs: guardian record/work index. Outputs: position/direction/frame/VIC state. Assumptions: the active phase is initialized and the stated inputs and state are valid. Clobbers: A,X,Y and guardian arrays. Hardware: writes VIC sprite Y/pointer.","t":"code","b":[138],"m":"txa","x":[13047]},{"a":13845,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":13846,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":13847,"t":"code","b":[168],"m":"tay"},{"a":13848,"t":"code","b":[166,47],"m":"ldx","oa":47,"o":"guardian_slot_index"},{"a":13850,"t":"code","b":[189,128,9],"m":"lda","oa":2432,"o":"JSW_State_guardian_direction_animation_state,x"},{"a":13853,"t":"code","b":[133,12],"m":"sta","oa":12,"o":"shared_game_scratch_or_title_voice2_pointer_low"},{"a":13855,"t":"code","b":[48,64],"m":"bmi","oa":13921,"o":"loc_3661"},{"a":13857,"t":"code","b":[166,46],"m":"ldx","oa":46,"o":"guardian_record_byte_offset"},{"a":13859,"t":"code","b":[24],"m":"clc"},{"a":13860,"t":"code","b":[185,3,208],"m":"lda","o":"vic_sprite1_y,y"},{"a":13863,"t":"code","b":[125,70,9],"m":"adc","oa":2374,"o":"f_0946,x"},{"a":13866,"t":"code","b":[133,49],"m":"sta","oa":49,"o":"shared_arithmetic_scratch"},{"a":13868,"t":"code","b":[56],"m":"sec"},{"a":13869,"t":"code","b":[233,50],"m":"sbc","o":"#$32"},{"a":13871,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":13872,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":13873,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":13874,"t":"code","b":[221,68,9],"m":"cmp","oa":2372,"o":"f_0944,x"},{"a":13877,"t":"code","b":[144,11],"m":"bcc","oa":13890,"o":"loc_3642"},{"a":13879,"l":"loc_3637","t":"code","b":[166,47],"m":"ldx","oa":47,"o":"guardian_slot_index","x":[13940,13945]},{"a":13881,"t":"code","b":[189,128,9],"m":"lda","oa":2432,"o":"JSW_State_guardian_direction_animation_state,x"},{"a":13884,"t":"code","b":[73,128],"m":"eor","o":"#$80"},{"a":13886,"t":"code","b":[157,128,9],"m":"sta","oa":2432,"o":"JSW_State_guardian_direction_animation_state,x"},{"a":13889,"t":"code","b":[96],"m":"rts"},{"a":13890,"l":"loc_3642","t":"code","b":[165,49],"m":"lda","oa":49,"o":"shared_arithmetic_scratch","x":[13877]},{"a":13892,"t":"code","b":[153,3,208],"m":"sta","o":"vic_sprite1_y,y"},{"a":13895,"t":"code","b":[230,12],"m":"inc","oa":12,"o":"shared_game_scratch_or_title_voice2_pointer_low"},{"a":13897,"t":"code","b":[165,12],"m":"lda","oa":12,"o":"shared_game_scratch_or_title_voice2_pointer_low"},{"a":13899,"t":"code","b":[61,69,9],"m":"and","oa":2373,"o":"f_0945,x"},{"a":13902,"t":"code","b":[41,3],"m":"and","o":"#$03"},{"a":13904,"t":"code","b":[166,47],"m":"ldx","oa":47,"o":"guardian_slot_index"},{"a":13906,"t":"code","b":[157,128,9],"m":"sta","oa":2432,"o":"JSW_State_guardian_direction_animation_state,x"},{"a":13909,"t":"code","b":[166,46],"m":"ldx","oa":46,"o":"guardian_record_byte_offset"},{"a":13911,"t":"code","b":[24],"m":"clc"},{"a":13912,"t":"code","b":[125,67,9],"m":"adc","oa":2371,"o":"f_0943,x"},{"a":13915,"t":"code","b":[166,47],"m":"ldx","oa":47,"o":"guardian_slot_index"},{"a":13917,"t":"code","b":[157,249,127],"m":"sta","oa":32761,"o":"f_7FF9,x"},{"a":13920,"t":"code","b":[96],"m":"rts"},{"a":13921,"l":"loc_3661","t":"code","b":[166,46],"m":"ldx","oa":46,"o":"guardian_record_byte_offset","x":[13855]},{"a":13923,"t":"code","b":[56],"m":"sec"},{"a":13924,"t":"code","b":[185,3,208],"m":"lda","o":"vic_sprite1_y,y"},{"a":13927,"t":"code","b":[253,70,9],"m":"sbc","oa":2374,"o":"f_0946,x"},{"a":13930,"t":"code","b":[133,49],"m":"sta","oa":49,"o":"shared_arithmetic_scratch"},{"a":13932,"t":"code","b":[56],"m":"sec"},{"a":13933,"t":"code","b":[233,50],"m":"sbc","o":"#$32"},{"a":13935,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":13936,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":13937,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":13938,"t":"code","b":[201,15],"m":"cmp","o":"#$0F"},{"a":13940,"t":"code","b":[176,193],"m":"bcs","oa":13879,"o":"loc_3637"},{"a":13942,"t":"code","b":[221,71,9],"m":"cmp","oa":2375,"o":"f_0947,x"},{"a":13945,"t":"code","b":[144,188],"m":"bcc","oa":13879,"o":"loc_3637"},{"a":13947,"t":"code","b":[165,49],"m":"lda","oa":49,"o":"shared_arithmetic_scratch"},{"a":13949,"t":"code","b":[153,3,208],"m":"sta","o":"vic_sprite1_y,y"},{"a":13952,"t":"code","b":[198,12],"m":"dec","oa":12,"o":"shared_game_scratch_or_title_voice2_pointer_low"},{"a":13954,"t":"code","b":[165,12],"m":"lda","oa":12,"o":"shared_game_scratch_or_title_voice2_pointer_low"},{"a":13956,"t":"code","b":[61,69,9],"m":"and","oa":2373,"o":"f_0945,x"},{"a":13959,"t":"code","b":[41,3],"m":"and","o":"#$03"},{"a":13961,"t":"code","b":[9,128],"m":"ora","o":"#$80"},{"a":13963,"t":"code","b":[166,47],"m":"ldx","oa":47,"o":"guardian_slot_index"},{"a":13965,"t":"code","b":[157,128,9],"m":"sta","oa":2432,"o":"JSW_State_guardian_direction_animation_state,x"},{"a":13968,"t":"code","b":[166,46],"m":"ldx","oa":46,"o":"guardian_record_byte_offset"},{"a":13970,"t":"code","b":[24],"m":"clc"},{"a":13971,"t":"code","b":[41,3],"m":"and","o":"#$03"},{"a":13973,"t":"code","b":[125,67,9],"m":"adc","oa":2371,"o":"f_0943,x"},{"a":13976,"t":"code","b":[166,47],"m":"ldx","oa":47,"o":"guardian_slot_index"},{"a":13978,"t":"code","b":[157,249,127],"m":"sta","oa":32761,"o":"f_7FF9,x"},{"a":13981,"t":"code","b":[96],"m":"rts"},{"a":13982,"l":"JSW_Game_update_horizontal_guardian","c":"Purpose: Advance one horizontal guardian within bounds, reverse direction, select frame, and update sprite X plus ninth bit. Inputs: guardian record/work index. Outputs: position/direction/frame/VIC state. Assumptions: the active phase is initialized and the stated inputs and state are valid. Clobbers: A,X,Y and guardian arrays. Hardware: writes VIC sprite X/$D010/pointer.","t":"code","b":[138],"m":"txa","x":[13041]},{"a":13983,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":13984,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":13985,"t":"code","b":[168],"m":"tay"},{"a":13986,"t":"code","b":[166,47],"m":"ldx","oa":47,"o":"guardian_slot_index"},{"a":13988,"t":"code","b":[189,128,9],"m":"lda","oa":2432,"o":"JSW_State_guardian_direction_animation_state,x"},{"a":13991,"t":"code","b":[16,3],"m":"bpl","oa":13996,"o":"loc_36ac"},{"a":13993,"t":"code","b":[76,87,55],"m":"jmp","oa":14167,"o":"loc_3757"},{"a":13996,"l":"loc_36ac","t":"code","b":[166,46],"m":"ldx","oa":46,"o":"guardian_record_byte_offset","x":[13991]},{"a":13998,"t":"code","b":[24],"m":"clc"},{"a":13999,"t":"code","b":[105,1],"m":"adc","o":"#$01"},{"a":14001,"t":"code","b":[41,15],"m":"and","o":"#$0F"},{"a":14003,"t":"code","b":[133,49],"m":"sta","oa":49,"o":"shared_arithmetic_scratch"},{"a":14005,"t":"code","b":[189,69,9],"m":"lda","oa":2373,"o":"f_0945,x"},{"a":14008,"t":"code","b":[41,3],"m":"and","o":"#$03"},{"a":14010,"t":"code","b":[197,49],"m":"cmp","oa":49,"o":"shared_arithmetic_scratch"},{"a":14012,"t":"code","b":[144,35],"m":"bcc","oa":14049,"o":"loc_36e1"},{"a":14014,"t":"code","b":[165,49],"m":"lda","oa":49,"o":"shared_arithmetic_scratch"},{"a":14016,"t":"code","b":[166,47],"m":"ldx","oa":47,"o":"guardian_slot_index"},{"a":14018,"t":"code","b":[157,128,9],"m":"sta","oa":2432,"o":"JSW_State_guardian_direction_animation_state,x"},{"a":14021,"t":"code","b":[41,3],"m":"and","o":"#$03"},{"a":14023,"t":"code","b":[166,46],"m":"ldx","oa":46,"o":"guardian_record_byte_offset"},{"a":14025,"t":"code","b":[24],"m":"clc"},{"a":14026,"t":"code","b":[125,67,9],"m":"adc","oa":2371,"o":"f_0943,x"},{"a":14029,"t":"code","b":[168],"m":"tay"},{"a":14030,"t":"code","b":[189,69,9],"m":"lda","oa":2373,"o":"f_0945,x"},{"a":14033,"t":"code","b":[201,4],"m":"cmp","o":"#$04"},{"a":14035,"t":"code","b":[144,5],"m":"bcc","oa":14042,"o":"loc_36da"},{"a":14037,"t":"code","b":[152],"m":"tya"},{"a":14038,"t":"code","b":[24],"m":"clc"},{"a":14039,"t":"code","b":[105,4],"m":"adc","o":"#$04"},{"a":14041,"t":"code","b":[168],"m":"tay"},{"a":14042,"l":"loc_36da","t":"code","b":[152],"m":"tya","x":[14035]},{"a":14043,"t":"code","b":[166,47],"m":"ldx","oa":47,"o":"guardian_slot_index"},{"a":14045,"t":"code","b":[157,249,127],"m":"sta","oa":32761,"o":"f_7FF9,x"},{"a":14048,"t":"code","b":[96],"m":"rts"},{"a":14049,"l":"loc_36e1","t":"code","b":[166,47],"m":"ldx","oa":47,"o":"guardian_slot_index","x":[14012]},{"a":14051,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":14053,"t":"code","b":[157,128,9],"m":"sta","oa":2432,"o":"JSW_State_guardian_direction_animation_state,x"},{"a":14056,"t":"code","b":[189,136,9],"m":"lda","oa":2440,"o":"JSW_State_guardian_moving_coordinates,x"},{"a":14059,"t":"code","b":[24],"m":"clc"},{"a":14060,"t":"code","b":[105,1],"m":"adc","o":"#$01"},{"a":14062,"t":"code","b":[157,136,9],"m":"sta","oa":2440,"o":"JSW_State_guardian_moving_coordinates,x"},{"a":14065,"t":"code","b":[166,46],"m":"ldx","oa":46,"o":"guardian_record_byte_offset"},{"a":14067,"t":"code","b":[221,68,9],"m":"cmp","oa":2372,"o":"f_0944,x"},{"a":14070,"t":"code","b":[176,84],"m":"bcs","oa":14156,"o":"loc_374c"},{"a":14072,"l":"loc_36f8","t":"code","b":[166,47],"m":"ldx","oa":47,"o":"guardian_slot_index","x":[14222]},{"a":14074,"t":"code","b":[157,136,9],"m":"sta","oa":2440,"o":"JSW_State_guardian_moving_coordinates,x"},{"a":14077,"t":"code","b":[10],"m":"asl","o":"a"},{"a":14078,"t":"code","b":[10],"m":"asl","o":"a"},{"a":14079,"t":"code","b":[10],"m":"asl","o":"a"},{"a":14080,"t":"code","b":[24],"m":"clc"},{"a":14081,"t":"code","b":[105,56],"m":"adc","o":"#$38"},{"a":14083,"t":"code","b":[153,2,208],"m":"sta","o":"vic_sprite1_x,y"},{"a":14086,"t":"code","b":[144,10],"m":"bcc","oa":14098,"o":"loc_3712"},{"a":14088,"t":"code","b":[166,47],"m":"ldx","oa":47,"o":"guardian_slot_index"},{"a":14090,"t":"code","b":[173,16,208],"m":"lda","o":"vic_sprite_x_msb"},{"a":14093,"t":"code","b":[29,50,34],"m":"ora","oa":8754,"o":"bit_mask_table_index_1,x"},{"a":14096,"t":"code","b":[208,6],"m":"bne","oa":14104,"o":"loc_3718"},{"a":14098,"l":"loc_3712","t":"code","b":[173,16,208],"m":"lda","o":"vic_sprite_x_msb","x":[14086]},{"a":14101,"t":"code","b":[61,58,34],"m":"and","oa":8762,"o":"inverted_bit_mask_table_index_1,x"},{"a":14104,"l":"loc_3718","t":"code","b":[141,16,208],"m":"sta","o":"vic_sprite_x_msb","x":[14096]},{"a":14107,"t":"code","b":[166,47],"m":"ldx","oa":47,"o":"guardian_slot_index"},{"a":14109,"t":"code","b":[189,128,9],"m":"lda","oa":2432,"o":"JSW_State_guardian_direction_animation_state,x"},{"a":14112,"t":"code","b":[16,14],"m":"bpl","oa":14128,"o":"loc_3730"},{"a":14114,"t":"code","b":[41,3],"m":"and","o":"#$03"},{"a":14116,"t":"code","b":[166,46],"m":"ldx","oa":46,"o":"guardian_record_byte_offset"},{"a":14118,"t":"code","b":[24],"m":"clc"},{"a":14119,"t":"code","b":[125,67,9],"m":"adc","oa":2371,"o":"f_0943,x"},{"a":14122,"t":"code","b":[166,47],"m":"ldx","oa":47,"o":"guardian_slot_index"},{"a":14124,"t":"code","b":[157,249,127],"m":"sta","oa":32761,"o":"f_7FF9,x"},{"a":14127,"t":"code","b":[96],"m":"rts"},{"a":14128,"l":"loc_3730","t":"code","b":[41,3],"m":"and","o":"#$03","x":[14112]},{"a":14130,"t":"code","b":[166,46],"m":"ldx","oa":46,"o":"guardian_record_byte_offset"},{"a":14132,"t":"code","b":[24],"m":"clc"},{"a":14133,"t":"code","b":[125,67,9],"m":"adc","oa":2371,"o":"f_0943,x"},{"a":14136,"t":"code","b":[168],"m":"tay"},{"a":14137,"t":"code","b":[189,69,9],"m":"lda","oa":2373,"o":"f_0945,x"},{"a":14140,"t":"code","b":[201,4],"m":"cmp","o":"#$04"},{"a":14142,"t":"code","b":[144,5],"m":"bcc","oa":14149,"o":"loc_3745"},{"a":14144,"t":"code","b":[152],"m":"tya"},{"a":14145,"t":"code","b":[24],"m":"clc"},{"a":14146,"t":"code","b":[105,4],"m":"adc","o":"#$04"},{"a":14148,"t":"code","b":[168],"m":"tay"},{"a":14149,"l":"loc_3745","t":"code","b":[152],"m":"tya","x":[14142]},{"a":14150,"t":"code","b":[166,47],"m":"ldx","oa":47,"o":"guardian_slot_index"},{"a":14152,"t":"code","b":[157,249,127],"m":"sta","oa":32761,"o":"f_7FF9,x"},{"a":14155,"t":"code","b":[96],"m":"rts"},{"a":14156,"l":"loc_374c","t":"code","b":[166,47],"m":"ldx","oa":47,"o":"guardian_slot_index","x":[14070,14213,14220]},{"a":14158,"t":"code","b":[189,128,9],"m":"lda","oa":2432,"o":"JSW_State_guardian_direction_animation_state,x"},{"a":14161,"t":"code","b":[73,128],"m":"eor","o":"#$80"},{"a":14163,"t":"code","b":[157,128,9],"m":"sta","oa":2432,"o":"JSW_State_guardian_direction_animation_state,x"},{"a":14166,"t":"code","b":[96],"m":"rts"},{"a":14167,"l":"loc_3757","t":"code","b":[166,46],"m":"ldx","oa":46,"o":"guardian_record_byte_offset","x":[13993]},{"a":14169,"t":"code","b":[41,127],"m":"and","o":"#$7F"},{"a":14171,"t":"code","b":[56],"m":"sec"},{"a":14172,"t":"code","b":[233,1],"m":"sbc","o":"#$01"},{"a":14174,"t":"code","b":[48,21],"m":"bmi","oa":14197,"o":"loc_3775"},{"a":14176,"t":"code","b":[9,128],"m":"ora","o":"#$80"},{"a":14178,"t":"code","b":[166,47],"m":"ldx","oa":47,"o":"guardian_slot_index"},{"a":14180,"t":"code","b":[157,128,9],"m":"sta","oa":2432,"o":"JSW_State_guardian_direction_animation_state,x"},{"a":14183,"t":"code","b":[41,127],"m":"and","o":"#$7F"},{"a":14185,"t":"code","b":[166,46],"m":"ldx","oa":46,"o":"guardian_record_byte_offset"},{"a":14187,"t":"code","b":[24],"m":"clc"},{"a":14188,"t":"code","b":[125,67,9],"m":"adc","oa":2371,"o":"f_0943,x"},{"a":14191,"t":"code","b":[166,47],"m":"ldx","oa":47,"o":"guardian_slot_index"},{"a":14193,"t":"code","b":[157,249,127],"m":"sta","oa":32761,"o":"f_7FF9,x"},{"a":14196,"t":"code","b":[96],"m":"rts"},{"a":14197,"l":"loc_3775","t":"code","b":[166,47],"m":"ldx","oa":47,"o":"guardian_slot_index","x":[14174]},{"a":14199,"t":"code","b":[169,131],"m":"lda","o":"#$83"},{"a":14201,"t":"code","b":[157,128,9],"m":"sta","oa":2432,"o":"JSW_State_guardian_direction_animation_state,x"},{"a":14204,"t":"code","b":[189,136,9],"m":"lda","oa":2440,"o":"JSW_State_guardian_moving_coordinates,x"},{"a":14207,"t":"code","b":[56],"m":"sec"},{"a":14208,"t":"code","b":[233,1],"m":"sbc","o":"#$01"},{"a":14210,"t":"code","b":[157,136,9],"m":"sta","oa":2440,"o":"JSW_State_guardian_moving_coordinates,x"},{"a":14213,"t":"code","b":[48,197],"m":"bmi","oa":14156,"o":"loc_374c"},{"a":14215,"t":"code","b":[166,46],"m":"ldx","oa":46,"o":"guardian_record_byte_offset"},{"a":14217,"t":"code","b":[221,71,9],"m":"cmp","oa":2375,"o":"f_0947,x"},{"a":14220,"t":"code","b":[144,190],"m":"bcc","oa":14156,"o":"loc_374c"},{"a":14222,"t":"code","b":[76,248,54],"m":"jmp","oa":14072,"o":"loc_36f8"},{"a":14225,"l":"JSW_Game_scan_gameplay_input","c":"Purpose: Read port-2 joystick and keyboard aliases into signed direction $49 and jump request $4A. The reversal detector is dormant on the captured route: each call clears $4B, while unseeded $60 remains $00. Inputs: CIA 1 ports, keyboard tables, captured $60=$00. Outputs: $49 in {$00,$FF,$01}, $4A, and $4B=$00; $60 remains unchanged. Assumptions: active gameplay initialized through $2C57. Clobbers: A,X,Y and matrix scratch. Hardware: drives/reads CIA 1 keyboard matrix; joystick bits 2/3/4 are active-low left/right/fire.","t":"code","b":[169,0],"m":"lda","o":"#$00","x":[12556,13729,14936,15312,15361,15562]},{"a":14227,"t":"code","b":[133,75],"m":"sta","oa":75,"o":"JSW_State_dormant_turnaround_marker"},{"a":14229,"t":"code","b":[133,73],"m":"sta","oa":73,"o":"JSW_State_manual_horizontal_direction"},{"a":14231,"t":"code","b":[133,74],"m":"sta","oa":74,"o":"JSW_State_jump_request"},{"a":14233,"t":"code","b":[173,0,220],"m":"lda","o":"cia1_port_a"},{"a":14236,"t":"code","b":[133,84],"m":"sta","oa":84,"o":"shared_player_and_keyboard_scratch"},{"a":14238,"t":"code","b":[41,16],"m":"and","o":"#$10"},{"a":14240,"t":"code","b":[208,4],"m":"bne","oa":14246,"o":"loc_37a6"},{"a":14242,"t":"code","b":[169,255],"m":"lda","o":"#$FF"},{"a":14244,"t":"code","b":[133,74],"m":"sta","oa":74,"o":"JSW_State_jump_request"},{"a":14246,"l":"loc_37a6","t":"code","b":[165,84],"m":"lda","oa":84,"o":"shared_player_and_keyboard_scratch","x":[14240]},{"a":14248,"t":"code","b":[41,4],"m":"and","o":"#$04"},{"a":14250,"t":"code","b":[208,4],"m":"bne","oa":14256,"o":"loc_37b0"},{"a":14252,"t":"code","b":[169,255],"m":"lda","o":"#$FF"},{"a":14254,"t":"code","b":[133,73],"m":"sta","oa":73,"o":"JSW_State_manual_horizontal_direction"},{"a":14256,"l":"loc_37b0","t":"code","b":[165,84],"m":"lda","oa":84,"o":"shared_player_and_keyboard_scratch","x":[14250]},{"a":14258,"t":"code","b":[41,8],"m":"and","o":"#$08"},{"a":14260,"t":"code","b":[208,4],"m":"bne","oa":14266,"o":"loc_37ba"},{"a":14262,"t":"code","b":[169,1],"m":"lda","o":"#$01"},{"a":14264,"t":"code","b":[133,73],"m":"sta","oa":73,"o":"JSW_State_manual_horizontal_direction"},{"a":14266,"l":"loc_37ba","t":"code","b":[169,0],"m":"lda","o":"#$00","x":[14260]},{"a":14268,"t":"code","b":[133,67],"m":"sta","oa":67,"o":"JSW_State_decoded_key_count"},{"a":14270,"t":"code","b":[170],"m":"tax"},{"a":14271,"t":"code","b":[169,254],"m":"lda","o":"#$FE"},{"a":14273,"t":"code","b":[133,72],"m":"sta","oa":72,"o":"keyboard_row_select_mask"},{"a":14275,"l":"loc_37c3","t":"code","b":[165,72],"m":"lda","oa":72,"o":"keyboard_row_select_mask","x":[14290]},{"a":14277,"t":"code","b":[141,0,220],"m":"sta","o":"cia1_port_a"},{"a":14280,"t":"code","b":[173,1,220],"m":"lda","o":"cia1_port_b"},{"a":14283,"t":"code","b":[157,0,8],"m":"sta","oa":2048,"o":"JSW_State_game_keyboard_matrix,x"},{"a":14286,"t":"code","b":[232],"m":"inx"},{"a":14287,"t":"code","b":[56],"m":"sec"},{"a":14288,"t":"code","b":[38,72],"m":"rol","oa":72,"o":"keyboard_row_select_mask"},{"a":14290,"t":"code","b":[176,239],"m":"bcs","oa":14275,"o":"loc_37c3"},{"a":14292,"t":"code","b":[162,0],"m":"ldx","o":"#$00"},{"a":14294,"l":"loc_37d6","t":"code","b":[160,0],"m":"ldy","o":"#$00","x":[14337]},{"a":14296,"t":"code","b":[189,0,8],"m":"lda","oa":2048,"o":"JSW_State_game_keyboard_matrix,x"},{"a":14299,"l":"loc_37db","t":"code","b":[42],"m":"rol","o":"a","x":[14332]},{"a":14300,"t":"code","b":[176,27],"m":"bcs","oa":14329,"o":"loc_37f9"},{"a":14302,"t":"code","b":[72],"m":"pha"},{"a":14303,"t":"code","b":[132,71],"m":"sty","oa":71,"o":"keyboard_bit_index"},{"a":14305,"t":"code","b":[138],"m":"txa"},{"a":14306,"t":"code","b":[10],"m":"asl","o":"a"},{"a":14307,"t":"code","b":[10],"m":"asl","o":"a"},{"a":14308,"t":"code","b":[10],"m":"asl","o":"a"},{"a":14309,"t":"code","b":[5,71],"m":"ora","oa":71,"o":"keyboard_bit_index"},{"a":14311,"t":"code","b":[168],"m":"tay"},{"a":14312,"t":"code","b":[185,235,43],"m":"lda","oa":11243,"o":"JSW_State_game_keyboard_lookup,y"},{"a":14315,"t":"code","b":[230,67],"m":"inc","oa":67,"o":"JSW_State_decoded_key_count"},{"a":14317,"t":"code","b":[164,67],"m":"ldy","oa":67,"o":"JSW_State_decoded_key_count"},{"a":14319,"t":"code","b":[153,67,0],"m":"sta","oa":67,"o":"JSW_State_decoded_key_count,y"},{"a":14322,"t":"code","b":[104],"m":"pla"},{"a":14323,"t":"code","b":[192,3],"m":"cpy","o":"#$03"},{"a":14325,"t":"code","b":[240,12],"m":"beq","oa":14339,"o":"loc_3803"},{"a":14327,"t":"code","b":[164,71],"m":"ldy","oa":71,"o":"keyboard_bit_index"},{"a":14329,"l":"loc_37f9","t":"code","b":[200],"m":"iny","x":[14300]},{"a":14330,"t":"code","b":[192,8],"m":"cpy","o":"#$08"},{"a":14332,"t":"code","b":[208,221],"m":"bne","oa":14299,"o":"loc_37db"},{"a":14334,"t":"code","b":[232],"m":"inx"},{"a":14335,"t":"code","b":[224,8],"m":"cpx","o":"#$08"},{"a":14337,"t":"code","b":[208,211],"m":"bne","oa":14294,"o":"loc_37d6"},{"a":14339,"l":"loc_3803","t":"code","b":[166,67],"m":"ldx","oa":67,"o":"JSW_State_decoded_key_count","x":[14325]},{"a":14341,"t":"code","b":[240,51],"m":"beq","oa":14394,"o":"loc_383a"},{"a":14343,"l":"loc_3807","t":"code","b":[160,10],"m":"ldy","o":"#$0A","x":[14378]},{"a":14345,"t":"code","b":[181,67],"m":"lda","oa":67,"o":"JSW_State_decoded_key_count,x"},{"a":14347,"l":"loc_380b","t":"code","b":[217,43,44],"m":"cmp","oa":11307,"o":"JSW_State_control_key_lists,y","x":[14375]},{"a":14350,"t":"code","b":[208,4],"m":"bne","oa":14356,"o":"loc_3814"},{"a":14352,"t":"code","b":[169,255],"m":"lda","o":"#$FF"},{"a":14354,"t":"code","b":[133,73],"m":"sta","oa":73,"o":"JSW_State_manual_horizontal_direction"},{"a":14356,"l":"loc_3814","t":"code","b":[217,54,44],"m":"cmp","oa":11318,"o":"right_control_key_list,y","x":[14350]},{"a":14359,"t":"code","b":[208,4],"m":"bne","oa":14365,"o":"loc_381d"},{"a":14361,"t":"code","b":[169,1],"m":"lda","o":"#$01"},{"a":14363,"t":"code","b":[133,73],"m":"sta","oa":73,"o":"JSW_State_manual_horizontal_direction"},{"a":14365,"l":"loc_381d","t":"code","b":[217,65,44],"m":"cmp","oa":11329,"o":"jump_control_key_list,y","x":[14359]},{"a":14368,"t":"code","b":[208,4],"m":"bne","oa":14374,"o":"loc_3826"},{"a":14370,"t":"code","b":[169,255],"m":"lda","o":"#$FF"},{"a":14372,"t":"code","b":[133,74],"m":"sta","oa":74,"o":"JSW_State_jump_request"},{"a":14374,"l":"loc_3826","t":"code","b":[136],"m":"dey","x":[14368]},{"a":14375,"t":"code","b":[16,226],"m":"bpl","oa":14347,"o":"loc_380b"},{"a":14377,"t":"code","b":[202],"m":"dex"},{"a":14378,"t":"code","b":[208,219],"m":"bne","oa":14343,"o":"loc_3807"},{"a":14380,"t":"code","b":[165,73],"m":"lda","oa":73,"o":"JSW_State_manual_horizontal_direction"},{"a":14382,"t":"code","b":[69,96],"m":"eor","oa":96,"o":"JSW_State_unseeded_previous_horizontal_direction"},{"a":14384,"s":"From unseeded $60=$00 and $49 in {$00,$FF,$01}, A cannot equal $FE; branch body is unreachable on this route.","t":"code","b":[201,254],"m":"cmp","o":"#$FE"},{"a":14386,"t":"code","b":[208,6],"m":"bne","oa":14394,"o":"loc_383a"},{"a":14388,"t":"code","b":[133,75],"m":"sta","oa":75,"o":"JSW_State_dormant_turnaround_marker"},{"a":14390,"t":"code","b":[165,73],"m":"lda","oa":73,"o":"JSW_State_manual_horizontal_direction"},{"a":14392,"t":"code","b":[133,96],"m":"sta","oa":96,"o":"JSW_State_unseeded_previous_horizontal_direction"},{"a":14394,"l":"loc_383a","t":"code","b":[96],"m":"rts","x":[14341,14386]},{"a":14395,"l":"JSW_Game_game_over_or_abort_to_title","c":"Purpose: Mute SID, animate room clear, configure title-transition sprites, and jump $A000. Inputs: STOP, clock deadline, or lives underflow. Outputs: title phase. Assumptions: the active phase is initialized and the stated inputs and state are valid. Clobbers: A,X,Y and broad display/audio state. Hardware: writes SID/VIC screen/color/sprites; title reinitializes its IRQ.","t":"code","b":[169,0],"m":"lda","o":"#$00","x":[12604,13261,14717]},{"a":14397,"t":"code","b":[141,24,212],"m":"sta","o":"sid_filter_mode_volume"},{"a":14400,"t":"code","b":[141,21,208],"m":"sta","o":"vic_sprite_enable"},{"a":14403,"t":"code","b":[169,255],"m":"lda","o":"#$FF"},{"a":14405,"t":"code","b":[133,54],"m":"sta","oa":54,"o":"JSW_State_game_paused"},{"a":14407,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":14409,"t":"code","b":[133,52],"m":"sta","oa":52,"o":"loop_counter"},{"a":14411,"t":"code","b":[133,15],"m":"sta","oa":15,"o":"JSW_State_working_tile_row_or_title_voice3_pointer_high"},{"a":14413,"l":"loc_384d","t":"code","b":[166,52],"m":"ldx","oa":52,"o":"loop_counter","x":[14434,14454]},{"a":14415,"t":"code","b":[164,15],"m":"ldy","oa":15,"o":"JSW_State_working_tile_row_or_title_voice3_pointer_high"},{"a":14417,"t":"code","b":[32,228,53],"m":"jsr","oa":13796,"o":"JSW_Game_lookup_tile_at_cell"},{"a":14420,"t":"code","b":[169,32],"m":"lda","o":"#$20"},{"a":14422,"t":"code","b":[145,7],"m":"sta","oa":7,"o":"(JSW_State_zp_work_low),y"},{"a":14424,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":14426,"t":"code","b":[145,9],"m":"sta","oa":9,"o":"(gameplay_color_ram_pointer_low),y"},{"a":14428,"t":"code","b":[230,15],"m":"inc","oa":15,"o":"JSW_State_working_tile_row_or_title_voice3_pointer_high"},{"a":14430,"t":"code","b":[165,15],"m":"lda","oa":15,"o":"JSW_State_working_tile_row_or_title_voice3_pointer_high"},{"a":14432,"t":"code","b":[201,16],"m":"cmp","o":"#$10"},{"a":14434,"t":"code","b":[208,233],"m":"bne","oa":14413,"o":"loc_384d"},{"a":14436,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":14438,"t":"code","b":[133,15],"m":"sta","oa":15,"o":"JSW_State_working_tile_row_or_title_voice3_pointer_high"},{"a":14440,"t":"code","b":[165,52],"m":"lda","oa":52,"o":"loop_counter"},{"a":14442,"t":"code","b":[141,32,208],"m":"sta","o":"vic_border"},{"a":14445,"t":"code","b":[32,227,56],"m":"jsr","oa":14563,"o":"JSW_Game_game_over_delay_inner"},{"a":14448,"t":"code","b":[230,52],"m":"inc","oa":52,"o":"loop_counter"},{"a":14450,"t":"code","b":[165,52],"m":"lda","oa":52,"o":"loop_counter"},{"a":14452,"t":"code","b":[201,32],"m":"cmp","o":"#$20"},{"a":14454,"t":"code","b":[208,213],"m":"bne","oa":14413,"o":"loc_384d"},{"a":14456,"t":"code","b":[169,162],"m":"lda","o":"#$A2"},{"a":14458,"t":"code","b":[141,5,208],"m":"sta","o":"vic_sprite2_y"},{"a":14461,"t":"code","b":[169,176],"m":"lda","o":"#$B0"},{"a":14463,"t":"code","b":[141,2,208],"m":"sta","o":"vic_sprite1_x"},{"a":14466,"t":"code","b":[141,4,208],"m":"sta","o":"vic_sprite2_x"},{"a":14469,"t":"code","b":[169,8],"m":"lda","o":"#$08"},{"a":14471,"t":"code","b":[141,249,127],"m":"sta","oa":32761,"o":"f_7FF9"},{"a":14474,"t":"code","b":[169,1],"m":"lda","o":"#$01"},{"a":14476,"t":"code","b":[141,250,127],"m":"sta","oa":32762,"o":"a_7FFA"},{"a":14479,"t":"code","b":[169,146],"m":"lda","o":"#$92"},{"a":14481,"t":"code","b":[141,3,208],"m":"sta","o":"vic_sprite1_y"},{"a":14484,"t":"code","b":[169,1],"m":"lda","o":"#$01"},{"a":14486,"t":"code","b":[141,39,208],"m":"sta","o":"vic_sprite0_colour"},{"a":14489,"t":"code","b":[141,40,208],"m":"sta","o":"vic_sprite1_colour"},{"a":14492,"t":"code","b":[169,10],"m":"lda","o":"#$0A"},{"a":14494,"t":"code","b":[141,41,208],"m":"sta","o":"vic_sprite2_colour"},{"a":14497,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":14499,"t":"code","b":[141,16,208],"m":"sta","o":"vic_sprite_x_msb"},{"a":14502,"t":"code","b":[169,7],"m":"lda","o":"#$07"},{"a":14504,"t":"code","b":[141,21,208],"m":"sta","o":"vic_sprite_enable"},{"a":14507,"t":"code","b":[169,176],"m":"lda","o":"#$B0"},{"a":14509,"t":"code","b":[141,0,208],"m":"sta","o":"vic_sprite0_x"},{"a":14512,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":14514,"t":"code","b":[141,1,208],"m":"sta","o":"vic_sprite0_y"},{"a":14517,"t":"code","b":[141,248,127],"m":"sta","oa":32760,"o":"a_7FF8"},{"a":14520,"l":"loc_38b8","t":"code","b":[238,1,208],"m":"inc","o":"vic_sprite0_y","x":[14537]},{"a":14523,"t":"code","b":[173,1,208],"m":"lda","o":"vic_sprite0_y"},{"a":14526,"t":"code","b":[141,32,208],"m":"sta","o":"vic_border"},{"a":14529,"t":"code","b":[32,208,51],"m":"jsr","oa":13264,"o":"JSW_Game_short_busy_wait"},{"a":14532,"t":"code","b":[173,1,208],"m":"lda","o":"vic_sprite0_y"},{"a":14535,"t":"code","b":[201,146],"m":"cmp","o":"#$92"},{"a":14537,"t":"code","b":[208,237],"m":"bne","oa":14520,"o":"loc_38b8"},{"a":14539,"t":"code","b":[173,33,208],"m":"lda","o":"vic_background0"},{"a":14542,"t":"code","b":[141,40,208],"m":"sta","o":"vic_sprite1_colour"},{"a":14545,"t":"code","b":[32,216,56],"m":"jsr","oa":14552,"o":"JSW_Game_game_over_delay_outer"},{"a":14548,"t":"code","b":[120],"m":"sei"},{"a":14549,"t":"code","b":[76,0,160],"m":"jmp","oa":40960,"o":"JSW_Title_title_entry"},{"a":14552,"l":"JSW_Game_game_over_delay_outer","c":"Purpose: Outer nested delay used by the game-over visual effect. Inputs: caller timing state. Outputs: delayed return. Assumptions: the active phase is initialized and the stated inputs and state are valid. Clobbers: X,Y and flags. Hardware: consumes CPU cycles.","t":"code","b":[169,20],"m":"lda","o":"#$14","x":[14545]},{"a":14554,"t":"code","b":[133,52],"m":"sta","oa":52,"o":"loop_counter"},{"a":14556,"l":"loc_38dc","t":"code","b":[32,227,56],"m":"jsr","oa":14563,"o":"JSW_Game_game_over_delay_inner","x":[14561]},{"a":14559,"t":"code","b":[198,52],"m":"dec","oa":52,"o":"loop_counter"},{"a":14561,"t":"code","b":[208,249],"m":"bne","oa":14556,"o":"loc_38dc"},{"a":14563,"l":"JSW_Game_game_over_delay_inner","c":"Purpose: Inner delay loop used by the game-over visual effect. Inputs: loop count. Outputs: delayed return. Assumptions: the active phase is initialized and the stated inputs and state are valid. Clobbers: Y and flags. Hardware: consumes CPU cycles.","t":"code","b":[169,16],"m":"lda","o":"#$10","x":[14445,14556]},{"a":14565,"t":"code","b":[133,49],"m":"sta","oa":49,"o":"shared_arithmetic_scratch"},{"a":14567,"l":"loc_38e7","t":"code","b":[32,208,51],"m":"jsr","oa":13264,"o":"JSW_Game_short_busy_wait","x":[14572]},{"a":14570,"t":"code","b":[198,49],"m":"dec","oa":49,"o":"shared_arithmetic_scratch"},{"a":14572,"t":"code","b":[208,249],"m":"bne","oa":14567,"o":"loc_38e7"},{"a":14574,"t":"code","b":[96],"m":"rts"},{"a":14575,"l":"JSW_Game_run_death_sequence","c":"Purpose: perform death effect, restore the eight checkpoint fields at $57-$5E, decrement spare count $41 and branch on the resulting sign. $00-$7F after decrement enters room setup $2E07; $80-$FF enters game over $383B. All eight fields and input spare values 8,1,0,$80,$81,$FF matched controlled calls. High-value cases test arithmetic, not reachable extra lives.","t":"code","b":[169,0],"m":"lda","o":"#$00","x":[13223,13231,13240]},{"a":14577,"t":"code","b":[141,21,208],"m":"sta","o":"vic_sprite_enable"},{"a":14580,"t":"code","b":[173,32,208],"m":"lda","o":"vic_border"},{"a":14583,"t":"code","b":[72],"m":"pha"},{"a":14584,"t":"code","b":[169,1],"m":"lda","o":"#$01"},{"a":14586,"t":"code","b":[141,32,208],"m":"sta","o":"vic_border"},{"a":14589,"t":"code","b":[169,74],"m":"lda","o":"#$4A"},{"a":14591,"t":"code","b":[141,19,212],"m":"sta","o":"sid_v3_attack_decay"},{"a":14594,"t":"code","b":[169,166],"m":"lda","o":"#$A6"},{"a":14596,"t":"code","b":[141,20,212],"m":"sta","o":"sid_v3_sustain_release"},{"a":14599,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":14601,"t":"code","b":[133,7],"m":"sta","oa":7,"o":"JSW_State_zp_work_low"},{"a":14603,"t":"code","b":[169,2],"m":"lda","o":"#$02"},{"a":14605,"t":"code","b":[133,8],"m":"sta","oa":8,"o":"JSW_State_zp_work_high"},{"a":14607,"t":"code","b":[169,129],"m":"lda","o":"#$81"},{"a":14609,"t":"code","b":[141,18,212],"m":"sta","o":"sid_v3_control"},{"a":14612,"t":"code","b":[169,15],"m":"lda","o":"#$0F"},{"a":14614,"t":"code","b":[141,24,212],"m":"sta","o":"sid_filter_mode_volume"},{"a":14617,"l":"loc_3919","t":"code","b":[165,7],"m":"lda","oa":7,"o":"JSW_State_zp_work_low","x":[14637]},{"a":14619,"t":"code","b":[141,14,212],"m":"sta","o":"sid_v3_freq_lo"},{"a":14622,"t":"code","b":[165,8],"m":"lda","oa":8,"o":"JSW_State_zp_work_high"},{"a":14624,"t":"code","b":[141,15,212],"m":"sta","o":"sid_v3_freq_hi"},{"a":14627,"t":"code","b":[230,7],"m":"inc","oa":7,"o":"JSW_State_zp_work_low"},{"a":14629,"t":"code","b":[208,2],"m":"bne","oa":14633,"o":"loc_3929"},{"a":14631,"t":"code","b":[230,8],"m":"inc","oa":8,"o":"JSW_State_zp_work_high"},{"a":14633,"l":"loc_3929","t":"code","b":[165,8],"m":"lda","oa":8,"o":"JSW_State_zp_work_high","x":[14629]},{"a":14635,"t":"code","b":[201,18],"m":"cmp","o":"#$12"},{"a":14637,"t":"code","b":[208,234],"m":"bne","oa":14617,"o":"loc_3919"},{"a":14639,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":14641,"t":"code","b":[141,14,212],"m":"sta","o":"sid_v3_freq_lo"},{"a":14644,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":14646,"t":"code","b":[141,15,212],"m":"sta","o":"sid_v3_freq_hi"},{"a":14649,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":14651,"t":"code","b":[141,18,212],"m":"sta","o":"sid_v3_control"},{"a":14654,"t":"code","b":[165,95],"m":"lda","oa":95,"o":"JSW_State_sid_master_volume"},{"a":14656,"t":"code","b":[141,24,212],"m":"sta","o":"sid_filter_mode_volume"},{"a":14659,"t":"code","b":[104],"m":"pla"},{"a":14660,"t":"code","b":[141,32,208],"m":"sta","o":"vic_border"},{"a":14663,"t":"code","b":[165,87],"m":"lda","oa":87,"o":"JSW_State_checkpoint_player_state"},{"a":14665,"t":"code","b":[133,51],"m":"sta","oa":51,"o":"JSW_State_player_state"},{"a":14667,"t":"code","b":[165,89],"m":"lda","oa":89,"o":"JSW_State_checkpoint_fall_counter"},{"a":14669,"t":"code","b":[133,81],"m":"sta","oa":81,"o":"JSW_State_fall_counter_or_title_first_key"},{"a":14671,"t":"code","b":[165,91],"m":"lda","oa":91,"o":"JSW_State_checkpoint_player_x"},{"a":14673,"t":"code","b":[133,79],"m":"sta","oa":79,"o":"JSW_State_player_x_cell"},{"a":14675,"t":"code","b":[165,88],"m":"lda","oa":88,"o":"JSW_State_checkpoint_player_y"},{"a":14677,"t":"code","b":[133,28],"m":"sta","oa":28,"o":"JSW_State_player_y"},{"a":14679,"t":"code","b":[165,92],"m":"lda","oa":92,"o":"JSW_State_checkpoint_room"},{"a":14681,"t":"code","b":[133,14],"m":"sta","oa":14,"o":"JSW_State_current_room_or_title_voice3_pointer_low"},{"a":14683,"t":"code","b":[165,90],"m":"lda","oa":90,"o":"JSW_State_checkpoint_horizontal_phase"},{"a":14685,"t":"code","b":[133,50],"m":"sta","oa":50,"o":"JSW_State_player_horizontal_phase"},{"a":14687,"t":"code","b":[165,93],"m":"lda","oa":93,"o":"JSW_State_checkpoint_facing_frame"},{"a":14689,"t":"code","b":[133,80],"m":"sta","oa":80,"o":"JSW_State_player_facing_frame_or_title_key_count"},{"a":14691,"t":"code","b":[165,94],"m":"lda","oa":94,"o":"JSW_State_checkpoint_jump_index"},{"a":14693,"t":"code","b":[133,82],"m":"sta","oa":82,"o":"JSW_State_jump_curve_index"},{"a":14695,"t":"code","b":[162,31],"m":"ldx","o":"#$1F"},{"a":14697,"t":"code","b":[169,128],"m":"lda","o":"#$80"},{"a":14699,"l":"loc_396b","t":"code","b":[157,112,127],"m":"sta","oa":32624,"o":"f_7F70,x","x":[14706]},{"a":14702,"t":"code","b":[157,152,127],"m":"sta","oa":32664,"o":"f_7F98,x"},{"a":14705,"t":"code","b":[202],"m":"dex"},{"a":14706,"t":"code","b":[16,247],"m":"bpl","oa":14699,"o":"loc_396b"},{"a":14708,"t":"code","b":[173,30,208],"m":"lda","o":"vic_sprite_collision"},{"a":14711,"t":"code","b":[198,65],"m":"dec","oa":65,"o":"JSW_State_spare_lives"},{"a":14713,"t":"code","b":[165,65],"m":"lda","oa":65,"o":"JSW_State_spare_lives"},{"a":14715,"t":"code","b":[16,3],"m":"bpl","oa":14720,"o":"loc_3980"},{"a":14717,"t":"code","b":[76,59,56],"m":"jmp","oa":14395,"o":"JSW_Game_game_over_or_abort_to_title"},{"a":14720,"l":"loc_3980","t":"code","b":[76,7,46],"m":"jmp","oa":11783,"o":"JSW_Game_initialize_room_vic_state","x":[14715]},{"a":14723,"l":"JSW_Game_render_room_items","c":"Purpose: Every 18 calls scan all 80 items and draw untaken items in the current room with cycling color. Inputs: item table, room $0E, divider $55. Outputs: screen/color cells and animation phase. Assumptions: the active phase is initialized and the stated inputs and state are valid. Clobbers: A,X,Y and pointers. Hardware: writes screen/color RAM.","t":"code","b":[198,85],"m":"dec","oa":85,"o":"JSW_State_item_render_divider_or_title_row_mask","x":[12607]},{"a":14725,"t":"code","b":[240,1],"m":"beq","oa":14728,"o":"loc_3988"},{"a":14727,"t":"code","b":[96],"m":"rts"},{"a":14728,"l":"loc_3988","t":"code","b":[169,18],"m":"lda","o":"#$12","x":[14725]},{"a":14730,"t":"code","b":[133,85],"m":"sta","oa":85,"o":"JSW_State_item_render_divider_or_title_row_mask"},{"a":14732,"t":"code","b":[230,25],"m":"inc","oa":25,"o":"item_animation_color_phase"},{"a":14734,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":14736,"t":"code","b":[133,24],"m":"sta","oa":24,"o":"item_or_arrow_record_index"},{"a":14738,"t":"code","b":[169,195],"m":"lda","o":"#$C3"},{"a":14740,"t":"code","b":[133,22],"m":"sta","oa":22,"o":"item_or_arrow_record_pointer_low"},{"a":14742,"t":"code","b":[169,34],"m":"lda","o":"#$22"},{"a":14744,"t":"code","b":[133,23],"m":"sta","oa":23,"o":"item_or_arrow_record_pointer_high"},{"a":14746,"l":"loc_399a","t":"code","b":[160,0],"m":"ldy","o":"#$00","x":[14831]},{"a":14748,"t":"code","b":[177,22],"m":"lda","oa":22,"o":"(item_or_arrow_record_pointer_low),y"},{"a":14750,"t":"code","b":[197,14],"m":"cmp","oa":14,"o":"JSW_State_current_room_or_title_voice3_pointer_low"},{"a":14752,"t":"code","b":[208,56],"m":"bne","oa":14810,"o":"loc_39da"},{"a":14754,"t":"code","b":[160,3],"m":"ldy","o":"#$03"},{"a":14756,"t":"code","b":[177,22],"m":"lda","oa":22,"o":"(item_or_arrow_record_pointer_low),y"},{"a":14758,"t":"code","b":[208,50],"m":"bne","oa":14810,"o":"loc_39da"},{"a":14760,"t":"code","b":[160,1],"m":"ldy","o":"#$01"},{"a":14762,"t":"code","b":[177,22],"m":"lda","oa":22,"o":"(item_or_arrow_record_pointer_low),y"},{"a":14764,"t":"code","b":[170],"m":"tax"},{"a":14765,"t":"code","b":[200],"m":"iny"},{"a":14766,"t":"code","b":[177,22],"m":"lda","oa":22,"o":"(item_or_arrow_record_pointer_low),y"},{"a":14768,"t":"code","b":[168],"m":"tay"},{"a":14769,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":14771,"t":"code","b":[133,8],"m":"sta","oa":8,"o":"JSW_State_zp_work_high"},{"a":14773,"t":"code","b":[134,20],"m":"stx","oa":20,"o":"horizontal_coordinate_scratch"},{"a":14775,"t":"code","b":[152],"m":"tya"},{"a":14776,"t":"code","b":[10],"m":"asl","o":"a"},{"a":14777,"t":"code","b":[170],"m":"tax"},{"a":14778,"t":"code","b":[189,203,43],"m":"lda","oa":11211,"o":"JSW_State_room_screen_row_pointers,x"},{"a":14781,"t":"code","b":[24],"m":"clc"},{"a":14782,"t":"code","b":[101,20],"m":"adc","oa":20,"o":"horizontal_coordinate_scratch"},{"a":14784,"t":"code","b":[133,7],"m":"sta","oa":7,"o":"JSW_State_zp_work_low"},{"a":14786,"t":"code","b":[133,9],"m":"sta","oa":9,"o":"gameplay_color_ram_pointer_low"},{"a":14788,"t":"code","b":[189,204,43],"m":"lda","oa":11212,"o":"f_2BCC,x"},{"a":14791,"t":"code","b":[105,0],"m":"adc","o":"#$00"},{"a":14793,"t":"code","b":[133,8],"m":"sta","oa":8,"o":"JSW_State_zp_work_high"},{"a":14795,"t":"code","b":[24],"m":"clc"},{"a":14796,"t":"code","b":[105,92],"m":"adc","o":"#$5C"},{"a":14798,"t":"code","b":[133,10],"m":"sta","oa":10,"o":"shared_color_pointer_high_or_title_voice1_pointer_low"},{"a":14800,"t":"code","b":[160,0],"m":"ldy","o":"#$00"},{"a":14802,"t":"code","b":[169,38],"m":"lda","o":"#$26"},{"a":14804,"t":"code","b":[145,7],"m":"sta","oa":7,"o":"(JSW_State_zp_work_low),y"},{"a":14806,"t":"code","b":[165,25],"m":"lda","oa":25,"o":"item_animation_color_phase"},{"a":14808,"t":"code","b":[145,9],"m":"sta","oa":9,"o":"(gameplay_color_ram_pointer_low),y"},{"a":14810,"l":"loc_39da","t":"code","b":[24],"m":"clc","x":[14752,14758]},{"a":14811,"t":"code","b":[165,22],"m":"lda","oa":22,"o":"item_or_arrow_record_pointer_low"},{"a":14813,"t":"code","b":[105,4],"m":"adc","o":"#$04"},{"a":14815,"t":"code","b":[133,22],"m":"sta","oa":22,"o":"item_or_arrow_record_pointer_low"},{"a":14817,"t":"code","b":[165,23],"m":"lda","oa":23,"o":"item_or_arrow_record_pointer_high"},{"a":14819,"t":"code","b":[105,0],"m":"adc","o":"#$00"},{"a":14821,"t":"code","b":[133,23],"m":"sta","oa":23,"o":"item_or_arrow_record_pointer_high"},{"a":14823,"t":"code","b":[230,25],"m":"inc","oa":25,"o":"item_animation_color_phase"},{"a":14825,"t":"code","b":[230,24],"m":"inc","oa":24,"o":"item_or_arrow_record_index"},{"a":14827,"t":"code","b":[165,24],"m":"lda","oa":24,"o":"item_or_arrow_record_index"},{"a":14829,"t":"code","b":[201,80],"m":"cmp","o":"#$50"},{"a":14831,"t":"code","b":[208,169],"m":"bne","oa":14746,"o":"loc_399a"},{"a":14833,"l":"JSW_Game_toggle_music_on_return","c":"Purpose: Toggle gameplay music when Return is detected after item rendering. Inputs: decoded input and music flag $35. Outputs: $35 and SID volume/mute state. Assumptions: the active phase is initialized and the stated inputs and state are valid. Clobbers: A and flags. Hardware: writes SID master volume as needed; falls back to main loop.","t":"code","b":[165,67],"m":"lda","oa":67,"o":"JSW_State_decoded_key_count"},{"a":14835,"t":"code","b":[240,12],"m":"beq","oa":14849,"o":"loc_3a01"},{"a":14837,"t":"code","b":[165,68],"m":"lda","oa":68,"o":"JSW_State_decoded_key_1"},{"a":14839,"t":"code","b":[201,13],"m":"cmp","o":"#$0D"},{"a":14841,"t":"code","b":[208,6],"m":"bne","oa":14849,"o":"loc_3a01"},{"a":14843,"t":"code","b":[165,53],"m":"lda","oa":53,"o":"JSW_State_game_music_enabled"},{"a":14845,"t":"code","b":[73,255],"m":"eor","o":"#$FF"},{"a":14847,"t":"code","b":[133,53],"m":"sta","oa":53,"o":"JSW_State_game_music_enabled"},{"a":14849,"l":"loc_3a01","t":"code","b":[96],"m":"rts","x":[14835,14841]},{"a":14850,"l":"COPYRIGHT_LOADING_COMPLETE","c":"Retained loading-complete entry: installs failure cartridge vectors via $3C77, clears the KERNAL screen, initializes voice 3 and prints the message at $3C8F. It waits for a decoded key through $3A57, then enters the four-color code prompt at $3B20. This predecessor phase is separate from initialized gameplay.","t":"code","b":[32,119,60],"m":"jsr","oa":15479,"o":"COPYRIGHT_INSTALL_FAILURE_HEADER"},{"a":14853,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":14855,"t":"code","b":[141,124,58],"m":"sta","oa":14972,"o":"COPYRIGHT_RETRY_FLAG"},{"a":14858,"t":"code","b":[141,33,208],"m":"sta","o":"vic_background0"},{"a":14861,"t":"code","b":[141,16,208],"m":"sta","o":"vic_sprite_x_msb"},{"a":14864,"t":"code","b":[141,115,58],"m":"sta","oa":14963,"o":"COPYRIGHT_ENTERED_DIGIT_INDEX"},{"a":14867,"t":"code","b":[169,8],"m":"lda","o":"#$08"},{"a":14869,"t":"code","b":[32,210,255],"m":"jsr","oa":65490,"o":"KERNAL_CHROUT"},{"a":14872,"t":"code","b":[169,147],"m":"lda","o":"#$93"},{"a":14874,"t":"code","b":[32,210,255],"m":"jsr","oa":65490,"o":"KERNAL_CHROUT"},{"a":14877,"t":"code","b":[162,0],"m":"ldx","o":"#$00"},{"a":14879,"t":"code","b":[169,1],"m":"lda","o":"#$01"},{"a":14881,"l":"b_3A21","t":"code","b":[157,0,216],"m":"sta","o":"colour_ram,x","x":[14887]},{"a":14884,"t":"code","b":[232],"m":"inx"},{"a":14885,"t":"code","b":[224,254],"m":"cpx","o":"#$FE"},{"a":14887,"t":"code","b":[144,248],"m":"bcc","oa":14881,"o":"b_3A21"},{"a":14889,"t":"code","b":[169,1],"m":"lda","o":"#$01"},{"a":14891,"t":"code","b":[141,32,208],"m":"sta","o":"vic_border"},{"a":14894,"t":"code","b":[169,129],"m":"lda","o":"#$81"},{"a":14896,"t":"code","b":[141,18,212],"m":"sta","o":"sid_v3_control"},{"a":14899,"t":"code","b":[169,170],"m":"lda","o":"#$AA"},{"a":14901,"t":"code","b":[141,14,212],"m":"sta","o":"sid_v3_freq_lo"},{"a":14904,"t":"code","b":[169,170],"m":"lda","o":"#$AA"},{"a":14906,"t":"code","b":[141,15,212],"m":"sta","o":"sid_v3_freq_hi"},{"a":14909,"t":"code","b":[32,183,60],"m":"jsr","oa":15543,"o":"COPYRIGHT_DRAW_LOADING_MESSAGE"},{"a":14912,"t":"code","b":[32,87,58],"m":"jsr","oa":14935,"o":"COPYRIGHT_WAIT_FOR_KEY"},{"a":14915,"t":"code","b":[169,147],"m":"lda","o":"#$93"},{"a":14917,"t":"code","b":[32,210,255],"m":"jsr","oa":65490,"o":"KERNAL_CHROUT"},{"a":14920,"t":"code","b":[162,0],"m":"ldx","o":"#$00"},{"a":14922,"t":"code","b":[169,1],"m":"lda","o":"#$01"},{"a":14924,"l":"b_3A4C","t":"code","b":[157,0,216],"m":"sta","o":"colour_ram,x","x":[14930]},{"a":14927,"t":"code","b":[232],"m":"inx"},{"a":14928,"t":"code","b":[224,254],"m":"cpx","o":"#$FE"},{"a":14930,"t":"code","b":[144,248],"m":"bcc","oa":14924,"o":"b_3A4C"},{"a":14932,"t":"code","b":[76,32,59],"m":"jmp","oa":15136,"o":"COPYRIGHT_SELECT_CODE"},{"a":14935,"l":"COPYRIGHT_WAIT_FOR_KEY","c":"Waits until keyboard scanner $3791 reports nonzero key count in $43. The scan runs with interrupts disabled; CLI precedes RTS.","t":"code","b":[120],"m":"sei","x":[14912]},{"a":14936,"l":"b_3A58","t":"code","b":[32,145,55],"m":"jsr","oa":14225,"o":"JSW_Game_scan_gameplay_input","x":[14941]},{"a":14939,"t":"code","b":[165,67],"m":"lda","oa":67,"o":"JSW_State_decoded_key_count"},{"a":14941,"t":"code","b":[240,249],"m":"beq","oa":14936,"o":"b_3A58"},{"a":14943,"t":"code","b":[88],"m":"cli"},{"a":14944,"t":"code","b":[96],"m":"rts"},{"a":14945,"l":"COPYRIGHT_COLOR_SOURCE_BASE","c":"Little-endian base word used at $3B65/$3B6C to fetch four expected color indexes. The captured image contains $2C57, inside the gameplay initializer. Do not substitute a protection-sheet table from another release; the origin of this captured base remains open.","t":"word","b":[87,44],"d":[11351],"x":[15205]},{"a":14946,"t":"note","l":"a_3A62","c":"High byte of the expected-color base word at $3A61. $3B6C adds it, with carry, to the high byte of four times the selected row/column cell offset.","note":"inside the item at $3A61","x":[15212]},{"a":14947,"l":"COPYRIGHT_SPRITE_COORDINATES","c":"Eight bytes loaded into sprite 0-3 X/Y registers at $3BC1/$3BC4; the X bytes are also used by the current-digit cursor at $3C15.","t":"byte","b":[56,128,88,128,120,128,152,128],"x":[15297,15381]},{"a":14955,"t":"byte","b":[56,152,0,0,0,0,0,0]},{"a":14963,"l":"COPYRIGHT_ENTERED_DIGIT_INDEX","c":"Current input slot, incremented and masked to 0-3 at $3C08-$3C10. Values entered with keys 1-4 are stored at $3A7D plus this index.","t":"byte","b":[0],"x":[14864,15152,15340,15368,15371,15376]},{"a":14964,"l":"COPYRIGHT_SPRITE_COLORS","c":"Eight sprite colors loaded at $3BBB; the first four are selected again when keys 1-4 enter their corresponding color indexes.","t":"byte","b":[2,5,6,7,2,5,6,7],"x":[15291,15354]},{"a":14972,"l":"COPYRIGHT_RETRY_FLAG","c":"Zero at the initial loading-complete entry. A failed full code increments it then retries once; a subsequent failure branches to the permanent red-screen loop $3C6B.","t":"byte","b":[0],"x":[14855,15231,15438,15443]},{"a":14973,"l":"COPYRIGHT_ENTERED_COLORS","c":"Four entered color indexes. Initialization writes $FF for unset slots. $3C23 first rejects any negative byte as incomplete, then compares all four bytes with $3A81-$3A84. Positive, four individual mismatches and one unset-slot case were checked live.","t":"byte","b":[3,0,1,1],"x":[15141,15343,15397,15407]},{"a":14977,"l":"COPYRIGHT_EXPECTED_COLORS","c":"Four expected values fetched indirectly by $3B73, each masked with $03. The captured checker accepts exactly these four bytes in order.","t":"byte","b":[3,0,1,1],"x":[15223,15410]},{"a":14981,"l":"COPYRIGHT_RANDOM_BOUND","c":"Upper bound saved by $3B12; oscillator-3 samples are masked with $1F and retried while greater than or equal to this bound.","t":"byte","b":[18],"x":[15122,15130]},{"a":14982,"l":"COPYRIGHT_SELECTED_ROW","c":"Selected row 0-19 from $3B35. Its table offset is read from $3AE8 and its displayed row label from $3AC0.","t":"byte","b":[18],"x":[15160,15267]},{"a":14983,"l":"COPYRIGHT_SELECTED_COLUMN","c":"Selected column 0-17 from $3B49. Added to the row offset, multiplied by four and added to the captured base at $3A61.","t":"byte","b":[9],"x":[15180,15258]},{"a":14984,"l":"COPYRIGHT_FIRST_PROMPT","c":"28-byte first-attempt prompt drawn by $3B84-$3B98 into $042E-$0449, with uppercase ASCII converted to screen codes.","t":"byte","b":[69,78,84,69,82,32,67,79],"x":[15236]},{"a":14992,"t":"byte","b":[68,69,32,65,84,32,71,82]},{"a":15000,"t":"byte","b":[73,68,32,76,79,67,65,84]},{"a":15008,"t":"byte","b":[73,79,78,32]},{"a":15012,"l":"COPYRIGHT_RETRY_PROMPT","c":"28-byte retry prompt selected when $3A7C is nonzero; drawn into the same screen cells as the first prompt.","t":"byte","b":[83,79,82,82,89,44,84,82],"x":[15242]},{"a":15020,"t":"byte","b":[89,32,65,71,65,73,78,32]},{"a":15028,"t":"byte","b":[65,84,32,76,79,67,65,84]},{"a":15036,"t":"byte","b":[73,79,78,32]},{"a":15040,"l":"COPYRIGHT_ROW_LABELS","c":"20 two-byte row labels, selected at $3BA8 by twice the chosen row and written to screen cells $044B-$044C.","t":"byte","b":[48],"x":[15272]},{"a":15041,"l":"f_3AC1","c":"Second-byte operand base for the 20 two-character row labels at $3AC0-$3AE7. $3BAE reads this base plus twice the selected row and writes the right-hand displayed character.","t":"byte","b":[32,49,32,50,32,51,32,52],"x":[15278]},{"a":15049,"t":"byte","b":[32,53,32,54,32,55,32,56]},{"a":15057,"t":"byte","b":[32,57,32,49,48,49,49,49]},{"a":15065,"t":"byte","b":[50,49,51,49,52,49,53,49]},{"a":15073,"t":"byte","b":[54,49,55,49,56,49,57]},{"a":15080,"l":"COPYRIGHT_ROW_OFFSETS","c":"20 little-endian offsets indexed by twice the selected row at $3B3D/$3B42. The selected column is added before multiplying by four.","t":"word","b":[0,0,18,0,36,0,54,0],"d":[0,18,36,54],"x":[15165]},{"a":15081,"t":"note","l":"f_3AE9","c":"High-byte operand base for the 20 little-endian row offsets at $3AE8-$3B0F. $3B42 reads this base plus twice the chosen row. The following two bytes at $3B10-$3B11 are outside the indexed table and their meaning is open.","note":"inside the item at $3AE8","x":[15170]},{"a":15088,"t":"word","b":[72,0,90,0,108,0,126,0],"d":[72,90,108,126]},{"a":15096,"t":"word","b":[144,0,162,0,180,0,198,0],"d":[144,162,180,198]},{"a":15104,"t":"word","b":[216,0,234,0,252,0,14,1],"d":[216,234,252,270]},{"a":15112,"t":"word","b":[32,1,50,1,68,1,86,1],"d":[288,306,324,342]},{"a":15120,"l":"COPYRIGHT_ROW_OFFSET_20","c":"Additional row-offset word $0168, equal to 20 times 18. It continues the 18-byte stride sequence at $3AE8. The observed row selector rejects values >=20, so this final word is outside the selected indexes; no other consumer is established.","t":"word","b":[104,1],"d":[360]},{"a":15122,"l":"COPYRIGHT_RANDOM_BELOW_BOUND","c":"Samples SID oscillator-3 output, masks to five bits and rejects samples >= A. Called with $14 for the row and $12 for the column. No statistical distribution claim is made.","t":"code","b":[141,133,58],"m":"sta","oa":14981,"o":"COPYRIGHT_RANDOM_BOUND","x":[15157,15177]},{"a":15125,"l":"b_3B15","t":"code","b":[173,27,212],"m":"lda","o":"sid_v3_oscillator","x":[15133]},{"a":15128,"t":"code","b":[41,31],"m":"and","o":"#$1F"},{"a":15130,"t":"code","b":[205,133,58],"m":"cmp","oa":14981,"o":"COPYRIGHT_RANDOM_BOUND"},{"a":15133,"t":"code","b":[176,246],"m":"bcs","oa":15125,"o":"b_3B15"},{"a":15135,"t":"code","b":[96],"m":"rts"},{"a":15136,"l":"COPYRIGHT_SELECT_CODE","c":"Waits for keys to clear, resets entered slots to $FF, selects the row/column and fetches four two-bit color values. Draws the prompt and sprite-based input display, then polls keys 1-4 and Return.","t":"code","b":[32,201,60],"m":"jsr","oa":15561,"o":"COPYRIGHT_WAIT_FOR_KEY_RELEASE","x":[14932,15446]},{"a":15139,"t":"code","b":[169,255],"m":"lda","o":"#$FF"},{"a":15141,"l":"b_3B25","t":"code","b":[157,125,58],"m":"sta","oa":14973,"o":"COPYRIGHT_ENTERED_COLORS,x","x":[15145]},{"a":15144,"t":"code","b":[202],"m":"dex"},{"a":15145,"t":"code","b":[16,250],"m":"bpl","oa":15141,"o":"b_3B25"},{"a":15147,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":15149,"t":"code","b":[141,16,208],"m":"sta","o":"vic_sprite_x_msb"},{"a":15152,"t":"code","b":[141,115,58],"m":"sta","oa":14963,"o":"COPYRIGHT_ENTERED_DIGIT_INDEX"},{"a":15155,"t":"code","b":[169,20],"m":"lda","o":"#$14"},{"a":15157,"t":"code","b":[32,18,59],"m":"jsr","oa":15122,"o":"COPYRIGHT_RANDOM_BELOW_BOUND"},{"a":15160,"t":"code","b":[141,134,58],"m":"sta","oa":14982,"o":"COPYRIGHT_SELECTED_ROW"},{"a":15163,"t":"code","b":[10],"m":"asl","o":"a"},{"a":15164,"t":"code","b":[170],"m":"tax"},{"a":15165,"t":"code","b":[189,232,58],"m":"lda","oa":15080,"o":"COPYRIGHT_ROW_OFFSETS,x"},{"a":15168,"t":"code","b":[133,7],"m":"sta","oa":7,"o":"JSW_State_zp_work_low"},{"a":15170,"t":"code","b":[189,233,58],"m":"lda","oa":15081,"o":"f_3AE9,x"},{"a":15173,"t":"code","b":[133,8],"m":"sta","oa":8,"o":"JSW_State_zp_work_high"},{"a":15175,"t":"code","b":[169,18],"m":"lda","o":"#$12"},{"a":15177,"t":"code","b":[32,18,59],"m":"jsr","oa":15122,"o":"COPYRIGHT_RANDOM_BELOW_BOUND"},{"a":15180,"t":"code","b":[141,135,58],"m":"sta","oa":14983,"o":"COPYRIGHT_SELECTED_COLUMN"},{"a":15183,"t":"code","b":[24],"m":"clc"},{"a":15184,"t":"code","b":[101,7],"m":"adc","oa":7,"o":"JSW_State_zp_work_low"},{"a":15186,"t":"code","b":[133,7],"m":"sta","oa":7,"o":"JSW_State_zp_work_low"},{"a":15188,"t":"code","b":[165,8],"m":"lda","oa":8,"o":"JSW_State_zp_work_high"},{"a":15190,"t":"code","b":[105,0],"m":"adc","o":"#$00"},{"a":15192,"t":"code","b":[133,8],"m":"sta","oa":8,"o":"JSW_State_zp_work_high"},{"a":15194,"t":"code","b":[6,7],"m":"asl","oa":7,"o":"JSW_State_zp_work_low"},{"a":15196,"t":"code","b":[38,8],"m":"rol","oa":8,"o":"JSW_State_zp_work_high"},{"a":15198,"t":"code","b":[6,7],"m":"asl","oa":7,"o":"JSW_State_zp_work_low"},{"a":15200,"t":"code","b":[38,8],"m":"rol","oa":8,"o":"JSW_State_zp_work_high"},{"a":15202,"t":"code","b":[24],"m":"clc"},{"a":15203,"t":"code","b":[165,7],"m":"lda","oa":7,"o":"JSW_State_zp_work_low"},{"a":15205,"t":"code","b":[109,97,58],"m":"adc","oa":14945,"o":"COPYRIGHT_COLOR_SOURCE_BASE"},{"a":15208,"t":"code","b":[133,7],"m":"sta","oa":7,"o":"JSW_State_zp_work_low"},{"a":15210,"t":"code","b":[165,8],"m":"lda","oa":8,"o":"JSW_State_zp_work_high"},{"a":15212,"t":"code","b":[109,98,58],"m":"adc","oa":14946,"o":"a_3A62"},{"a":15215,"t":"code","b":[133,8],"m":"sta","oa":8,"o":"JSW_State_zp_work_high"},{"a":15217,"t":"code","b":[160,3],"m":"ldy","o":"#$03"},{"a":15219,"l":"b_3B73","t":"code","b":[177,7],"m":"lda","oa":7,"o":"(JSW_State_zp_work_low),y","x":[15227]},{"a":15221,"t":"code","b":[41,3],"m":"and","o":"#$03"},{"a":15223,"t":"code","b":[153,129,58],"m":"sta","oa":14977,"o":"COPYRIGHT_EXPECTED_COLORS,y"},{"a":15226,"t":"code","b":[136],"m":"dey"},{"a":15227,"t":"code","b":[16,246],"m":"bpl","oa":15219,"o":"b_3B73"},{"a":15229,"t":"code","b":[162,27],"m":"ldx","o":"#$1B"},{"a":15231,"l":"b_3B7F","t":"code","b":[173,124,58],"m":"lda","oa":14972,"o":"COPYRIGHT_RETRY_FLAG","x":[15256]},{"a":15234,"t":"code","b":[208,6],"m":"bne","oa":15242,"o":"b_3B8A"},{"a":15236,"t":"code","b":[189,136,58],"m":"lda","oa":14984,"o":"COPYRIGHT_FIRST_PROMPT,x"},{"a":15239,"t":"code","b":[76,141,59],"m":"jmp","oa":15245,"o":"j_3B8D"},{"a":15242,"l":"b_3B8A","t":"code","b":[189,164,58],"m":"lda","oa":15012,"o":"COPYRIGHT_RETRY_PROMPT,x","x":[15234]},{"a":15245,"l":"j_3B8D","t":"code","b":[201,65],"m":"cmp","o":"#$41","x":[15239]},{"a":15247,"t":"code","b":[144,3],"m":"bcc","oa":15252,"o":"b_3B94"},{"a":15249,"t":"code","b":[56],"m":"sec"},{"a":15250,"t":"code","b":[233,64],"m":"sbc","o":"#$40"},{"a":15252,"l":"b_3B94","t":"code","b":[157,46,4],"m":"sta","oa":1070,"o":"f_042E,x","x":[15247]},{"a":15255,"t":"code","b":[202],"m":"dex"},{"a":15256,"t":"code","b":[16,229],"m":"bpl","oa":15231,"o":"b_3B7F"},{"a":15258,"t":"code","b":[173,135,58],"m":"lda","oa":14983,"o":"COPYRIGHT_SELECTED_COLUMN"},{"a":15261,"t":"code","b":[24],"m":"clc"},{"a":15262,"t":"code","b":[105,1],"m":"adc","o":"#$01"},{"a":15264,"t":"code","b":[141,74,4],"m":"sta","oa":1098,"o":"a_044A"},{"a":15267,"t":"code","b":[173,134,58],"m":"lda","oa":14982,"o":"COPYRIGHT_SELECTED_ROW"},{"a":15270,"t":"code","b":[10],"m":"asl","o":"a"},{"a":15271,"t":"code","b":[170],"m":"tax"},{"a":15272,"t":"code","b":[189,192,58],"m":"lda","oa":15040,"o":"COPYRIGHT_ROW_LABELS,x"},{"a":15275,"t":"code","b":[141,75,4],"m":"sta","oa":1099,"o":"a_044B"},{"a":15278,"t":"code","b":[189,193,58],"m":"lda","oa":15041,"o":"f_3AC1,x"},{"a":15281,"t":"code","b":[141,76,4],"m":"sta","oa":1100,"o":"a_044C"},{"a":15284,"t":"code","b":[169,31],"m":"lda","o":"#$1F"},{"a":15286,"t":"code","b":[141,21,208],"m":"sta","o":"vic_sprite_enable"},{"a":15289,"t":"code","b":[162,7],"m":"ldx","o":"#$07"},{"a":15291,"l":"b_3BBB","t":"code","b":[189,116,58],"m":"lda","oa":14964,"o":"COPYRIGHT_SPRITE_COLORS,x","x":[15309]},{"a":15294,"t":"code","b":[157,39,208],"m":"sta","o":"vic_sprite0_colour,x"},{"a":15297,"t":"code","b":[189,99,58],"m":"lda","oa":14947,"o":"COPYRIGHT_SPRITE_COORDINATES,x"},{"a":15300,"t":"code","b":[157,0,208],"m":"sta","o":"vic_sprite0_x,x"},{"a":15303,"t":"code","b":[169,40],"m":"lda","o":"#$28"},{"a":15305,"t":"code","b":[157,248,7],"m":"sta","oa":2040,"o":"JSW_State_vic_sprite_pointer_table,x"},{"a":15308,"t":"code","b":[202],"m":"dex"},{"a":15309,"t":"code","b":[16,236],"m":"bpl","oa":15291,"o":"b_3BBB"},{"a":15311,"l":"COPYRIGHT_POLL_INPUT","c":"Accepts a single decoded key: Return enters $3C23; keys 1-4 store indexes 0-3 at the current slot and update its sprite pointer/color. Other keys return to polling.","t":"code","b":[120],"m":"sei","x":[15320,15330,15334,15392]},{"a":15312,"t":"code","b":[32,145,55],"m":"jsr","oa":14225,"o":"JSW_Game_scan_gameplay_input"},{"a":15315,"t":"code","b":[88],"m":"cli"},{"a":15316,"t":"code","b":[165,67],"m":"lda","oa":67,"o":"JSW_State_decoded_key_count"},{"a":15318,"t":"code","b":[201,1],"m":"cmp","o":"#$01"},{"a":15320,"t":"code","b":[208,245],"m":"bne","oa":15311,"o":"COPYRIGHT_POLL_INPUT"},{"a":15322,"t":"code","b":[165,68],"m":"lda","oa":68,"o":"JSW_State_decoded_key_1"},{"a":15324,"t":"code","b":[201,13],"m":"cmp","o":"#$0D"},{"a":15326,"t":"code","b":[240,67],"m":"beq","oa":15395,"o":"COPYRIGHT_COMPARE_ENTERED_CODE"},{"a":15328,"t":"code","b":[201,53],"m":"cmp","o":"#$35"},{"a":15330,"t":"code","b":[176,235],"m":"bcs","oa":15311,"o":"COPYRIGHT_POLL_INPUT"},{"a":15332,"t":"code","b":[201,49],"m":"cmp","o":"#$31"},{"a":15334,"t":"code","b":[144,231],"m":"bcc","oa":15311,"o":"COPYRIGHT_POLL_INPUT"},{"a":15336,"t":"code","b":[56],"m":"sec"},{"a":15337,"t":"code","b":[233,49],"m":"sbc","o":"#$31"},{"a":15339,"t":"code","b":[72],"m":"pha"},{"a":15340,"t":"code","b":[174,115,58],"m":"ldx","oa":14963,"o":"COPYRIGHT_ENTERED_DIGIT_INDEX"},{"a":15343,"t":"code","b":[157,125,58],"m":"sta","oa":14973,"o":"COPYRIGHT_ENTERED_COLORS,x"},{"a":15346,"t":"code","b":[24],"m":"clc"},{"a":15347,"t":"code","b":[105,41],"m":"adc","o":"#$29"},{"a":15349,"t":"code","b":[157,248,7],"m":"sta","oa":2040,"o":"JSW_State_vic_sprite_pointer_table,x"},{"a":15352,"t":"code","b":[104],"m":"pla"},{"a":15353,"t":"code","b":[168],"m":"tay"},{"a":15354,"t":"code","b":[185,116,58],"m":"lda","oa":14964,"o":"COPYRIGHT_SPRITE_COLORS,y"},{"a":15357,"t":"code","b":[157,39,208],"m":"sta","o":"vic_sprite0_colour,x"},{"a":15360,"l":"COPYRIGHT_ADVANCE_INPUT_SLOT","c":"Waits until no key is held, advances the slot modulo four, moves the cursor and resumes code input. An incomplete Return check also branches here.","t":"code","b":[120],"m":"sei","x":[15400]},{"a":15361,"l":"b_3C01","t":"code","b":[32,145,55],"m":"jsr","oa":14225,"o":"JSW_Game_scan_gameplay_input","x":[15366]},{"a":15364,"t":"code","b":[165,67],"m":"lda","oa":67,"o":"JSW_State_decoded_key_count"},{"a":15366,"t":"code","b":[208,249],"m":"bne","oa":15361,"o":"b_3C01"},{"a":15368,"t":"code","b":[238,115,58],"m":"inc","oa":14963,"o":"COPYRIGHT_ENTERED_DIGIT_INDEX"},{"a":15371,"t":"code","b":[173,115,58],"m":"lda","oa":14963,"o":"COPYRIGHT_ENTERED_DIGIT_INDEX"},{"a":15374,"t":"code","b":[41,3],"m":"and","o":"#$03"},{"a":15376,"t":"code","b":[141,115,58],"m":"sta","oa":14963,"o":"COPYRIGHT_ENTERED_DIGIT_INDEX"},{"a":15379,"t":"code","b":[10],"m":"asl","o":"a"},{"a":15380,"t":"code","b":[170],"m":"tax"},{"a":15381,"t":"code","b":[189,99,58],"m":"lda","oa":14947,"o":"COPYRIGHT_SPRITE_COORDINATES,x"},{"a":15384,"t":"code","b":[141,8,208],"m":"sta","o":"vic_sprite4_x"},{"a":15387,"t":"code","b":[169,156],"m":"lda","o":"#$9C"},{"a":15389,"t":"code","b":[141,9,208],"m":"sta","o":"vic_sprite4_y"},{"a":15392,"t":"code","b":[76,207,59],"m":"jmp","oa":15311,"o":"COPYRIGHT_POLL_INPUT"},{"a":15395,"l":"COPYRIGHT_COMPARE_ENTERED_CODE","c":"First tests all four entered bytes with BMI for unset slots, then compares them in reverse index order against the four expected bytes. Exact match reaches $3C3A; any mismatch reaches $3C4E. Six controlled live cases agreed.","t":"code","b":[162,3],"m":"ldx","o":"#$03","x":[15326,53303]},{"a":15397,"l":"b_3C25","t":"code","b":[189,125,58],"m":"lda","oa":14973,"o":"COPYRIGHT_ENTERED_COLORS,x","x":[15403]},{"a":15400,"t":"code","b":[48,214],"m":"bmi","oa":15360,"o":"COPYRIGHT_ADVANCE_INPUT_SLOT"},{"a":15402,"t":"code","b":[202],"m":"dex"},{"a":15403,"t":"code","b":[16,248],"m":"bpl","oa":15397,"o":"b_3C25"},{"a":15405,"t":"code","b":[162,3],"m":"ldx","o":"#$03"},{"a":15407,"l":"b_3C2F","t":"code","b":[189,125,58],"m":"lda","oa":14973,"o":"COPYRIGHT_ENTERED_COLORS,x","x":[15416]},{"a":15410,"t":"code","b":[221,129,58],"m":"cmp","oa":14977,"o":"COPYRIGHT_EXPECTED_COLORS,x"},{"a":15413,"t":"code","b":[208,23],"m":"bne","oa":15438,"o":"COPYRIGHT_REJECT_CODE"},{"a":15415,"t":"code","b":[202],"m":"dex"},{"a":15416,"t":"code","b":[16,245],"m":"bpl","oa":15407,"o":"b_3C2F"},{"a":15418,"l":"COPYRIGHT_ACCEPT_CODE","c":"Installs success cartridge vectors via $3C83, waits for key release, clears five decoded-key bytes and jumps through $0FA0 with interrupts disabled.","t":"code","b":[32,131,60],"m":"jsr","oa":15491,"o":"COPYRIGHT_INSTALL_SUCCESS_HEADER"},{"a":15421,"t":"code","b":[32,201,60],"m":"jsr","oa":15561,"o":"COPYRIGHT_WAIT_FOR_KEY_RELEASE"},{"a":15424,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":15426,"t":"code","b":[170],"m":"tax"},{"a":15427,"l":"b_3C43","t":"code","b":[149,67],"m":"sta","oa":67,"o":"JSW_State_decoded_key_count,x","x":[15432]},{"a":15429,"t":"code","b":[232],"m":"inx"},{"a":15430,"t":"code","b":[224,5],"m":"cpx","o":"#$05"},{"a":15432,"t":"code","b":[144,249],"m":"bcc","oa":15427,"o":"b_3C43"},{"a":15434,"t":"code","b":[120],"m":"sei"},{"a":15435,"t":"code","b":[76,160,15],"m":"jmp","oa":4000,"o":"BOOTSTRAP_ENTER_TITLE_STUB"},{"a":15438,"l":"COPYRIGHT_REJECT_CODE","c":"On the first failure sets the retry flag and re-enters $3B20. With a nonzero retry flag, branches directly to the red-screen failure loop.","t":"code","b":[173,124,58],"m":"lda","oa":14972,"o":"COPYRIGHT_RETRY_FLAG","x":[15413]},{"a":15441,"t":"code","b":[208,24],"m":"bne","oa":15467,"o":"COPYRIGHT_PERMANENT_FAILURE"},{"a":15443,"t":"code","b":[238,124,58],"m":"inc","oa":14972,"o":"COPYRIGHT_RETRY_FLAG"},{"a":15446,"t":"code","b":[76,32,59],"m":"jmp","oa":15136,"o":"COPYRIGHT_SELECT_CODE"},{"a":15449,"l":"COPYRIGHT_FAILURE_CARTRIDGE_HEADER","c":"Nine-byte cartridge header copied to $8000 by $3C77: both entry vectors point to $3C6B, followed by the CBM80 signature.","t":"byte","b":[107,60,107,60,195,194,205,56],"x":[15481]},{"a":15457,"t":"byte","b":[48]},{"a":15458,"l":"COPYRIGHT_SUCCESS_CARTRIDGE_HEADER","c":"Nine-byte cartridge header copied to $8000 by $3C83: both entry vectors point to $0FA0, followed by the CBM80 signature. All nine copied bytes matched in a controlled live call.","t":"byte","b":[160,15,160,15,195,194,205,56],"x":[15493]},{"a":15466,"t":"byte","b":[48]},{"a":15467,"l":"COPYRIGHT_PERMANENT_FAILURE","c":"SEI, sets background and border to color 2, then loops to itself. This is the target of the retained failure cartridge entry vectors.","t":"code","b":[120],"m":"sei","x":[15441,15476]},{"a":15468,"t":"code","b":[169,2],"m":"lda","o":"#$02"},{"a":15470,"t":"code","b":[141,33,208],"m":"sta","o":"vic_background0"},{"a":15473,"t":"code","b":[141,32,208],"m":"sta","o":"vic_border"},{"a":15476,"t":"code","b":[76,107,60],"m":"jmp","oa":15467,"o":"COPYRIGHT_PERMANENT_FAILURE"},{"a":15479,"l":"COPYRIGHT_INSTALL_FAILURE_HEADER","c":"Copies nine bytes from $3C59-$3C61 into $8000-$8008, descending X=8..0, then returns.","t":"code","b":[162,8],"m":"ldx","o":"#$08","x":[14850]},{"a":15481,"l":"b_3C79","t":"code","b":[189,89,60],"m":"lda","oa":15449,"o":"COPYRIGHT_FAILURE_CARTRIDGE_HEADER,x","x":[15488]},{"a":15484,"t":"code","b":[157,0,128],"m":"sta","oa":32768,"o":"annotation_8000,x"},{"a":15487,"t":"code","b":[202],"m":"dex"},{"a":15488,"t":"code","b":[16,247],"m":"bpl","oa":15481,"o":"b_3C79"},{"a":15490,"t":"code","b":[96],"m":"rts"},{"a":15491,"l":"COPYRIGHT_INSTALL_SUCCESS_HEADER","c":"Copies nine bytes from $3C62-$3C6A into $8000-$8008, descending X=8..0. Live output matched the entire source header.","t":"code","b":[162,8],"m":"ldx","o":"#$08","x":[15418]},{"a":15493,"l":"b_3C85","t":"code","b":[189,98,60],"m":"lda","oa":15458,"o":"COPYRIGHT_SUCCESS_CARTRIDGE_HEADER,x","x":[15500]},{"a":15496,"t":"code","b":[157,0,128],"m":"sta","oa":32768,"o":"annotation_8000,x"},{"a":15499,"t":"code","b":[202],"m":"dex"},{"a":15500,"t":"code","b":[16,247],"m":"bpl","oa":15493,"o":"b_3C85"},{"a":15502,"t":"code","b":[96],"m":"rts"},{"a":15503,"l":"COPYRIGHT_LOADING_MESSAGE","c":"40-byte ASCII loading-complete message. $3CB7 copies it to $0400-$0427, converting uppercase letters with AND $1F.","t":"byte","b":[76,79,65,68,73,78,71,32],"x":[15545]},{"a":15511,"t":"byte","b":[67,79,77,80,76,69,84,69]},{"a":15519,"t":"byte","b":[46,46,46,32,80,82,69,83]},{"a":15527,"t":"byte","b":[83,32,65,32,75,69,89,32]},{"a":15535,"t":"byte","b":[84,79,32,83,84,65,82,84]},{"a":15543,"l":"COPYRIGHT_DRAW_LOADING_MESSAGE","c":"Draws the 40-byte message at $3C8F into KERNAL screen RAM $0400, from X=39 down to zero, converting uppercase ASCII to screen codes.","t":"code","b":[162,39],"m":"ldx","o":"#$27","x":[14909]},{"a":15545,"l":"b_3CB9","t":"code","b":[189,143,60],"m":"lda","oa":15503,"o":"COPYRIGHT_LOADING_MESSAGE,x","x":[15558]},{"a":15548,"t":"code","b":[201,65],"m":"cmp","o":"#$41"},{"a":15550,"t":"code","b":[144,2],"m":"bcc","oa":15554,"o":"b_3CC2"},{"a":15552,"t":"code","b":[41,31],"m":"and","o":"#$1F"},{"a":15554,"l":"b_3CC2","t":"code","b":[157,0,4],"m":"sta","oa":1024,"o":"JSW_State_completion_maria_removed,x","x":[15550]},{"a":15557,"t":"code","b":[202],"m":"dex"},{"a":15558,"t":"code","b":[16,241],"m":"bpl","oa":15545,"o":"b_3CB9"},{"a":15560,"t":"code","b":[96],"m":"rts"},{"a":15561,"l":"COPYRIGHT_WAIT_FOR_KEY_RELEASE","c":"Repeatedly calls $3791 while decoded key count $43 is nonzero; then enables interrupts and returns.","t":"code","b":[120],"m":"sei","x":[15136,15421,15567]},{"a":15562,"t":"code","b":[32,145,55],"m":"jsr","oa":14225,"o":"JSW_Game_scan_gameplay_input"},{"a":15565,"t":"code","b":[165,67],"m":"lda","oa":67,"o":"JSW_State_decoded_key_count"},{"a":15567,"t":"code","b":[208,248],"m":"bne","oa":15561,"o":"COPYRIGHT_WAIT_FOR_KEY_RELEASE"},{"a":15569,"t":"code","b":[88],"m":"cli"},{"a":15570,"t":"code","b":[96],"m":"rts"},{"a":15571,"t":"gap","n":557},{"a":16128,"l":"RETAINED_COPY_B000_TO_2000","c":"Retained helper: sets port $36, source $07/$08=$B000, destination $09/$0A=$2000 and copies 32 pages ascending, then sets port $37 and returns. An isolated clone at $0200 copied all 8192 source bytes exactly. The original address lies inside its destination range, so that controlled relocation does not establish safe execution from the retained address or identify its earlier caller.","t":"code","b":[169,54],"m":"lda","o":"#$36"},{"a":16130,"t":"code","b":[133,1],"m":"sta","oa":1,"o":"C64_CPU_PROCESSOR_PORT"},{"a":16132,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":16134,"t":"code","b":[133,9],"m":"sta","oa":9,"o":"gameplay_color_ram_pointer_low"},{"a":16136,"t":"code","b":[169,32],"m":"lda","o":"#$20"},{"a":16138,"t":"code","b":[133,10],"m":"sta","oa":10,"o":"shared_color_pointer_high_or_title_voice1_pointer_low"},{"a":16140,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":16142,"t":"code","b":[133,7],"m":"sta","oa":7,"o":"JSW_State_zp_work_low"},{"a":16144,"t":"code","b":[169,176],"m":"lda","o":"#$B0"},{"a":16146,"t":"code","b":[133,8],"m":"sta","oa":8,"o":"JSW_State_zp_work_high"},{"a":16148,"t":"code","b":[160,0],"m":"ldy","o":"#$00"},{"a":16150,"t":"code","b":[162,32],"m":"ldx","o":"#$20"},{"a":16152,"l":"b_3F18","t":"code","b":[177,7],"m":"lda","oa":7,"o":"(JSW_State_zp_work_low),y","x":[16157,16164]},{"a":16154,"t":"code","b":[145,9],"m":"sta","oa":9,"o":"(gameplay_color_ram_pointer_low),y"},{"a":16156,"t":"code","b":[200],"m":"iny"},{"a":16157,"t":"code","b":[208,249],"m":"bne","oa":16152,"o":"b_3F18"},{"a":16159,"t":"code","b":[230,8],"m":"inc","oa":8,"o":"JSW_State_zp_work_high"},{"a":16161,"t":"code","b":[230,10],"m":"inc","oa":10,"o":"shared_color_pointer_high_or_title_voice1_pointer_low"},{"a":16163,"t":"code","b":[202],"m":"dex"},{"a":16164,"t":"code","b":[208,242],"m":"bne","oa":16152,"o":"b_3F18"},{"a":16166,"t":"code","b":[169,55],"m":"lda","o":"#$37"},{"a":16168,"t":"code","b":[133,1],"m":"sta","oa":1,"o":"C64_CPU_PROCESSOR_PORT"},{"a":16170,"t":"code","b":[96],"m":"rts"},{"a":16171,"t":"gap","n":213},{"a":16384,"l":"sprite_frame_000","c":"Hardware sprite image 0: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $00. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[16,128,0,16,128,0,16,128]},{"a":16392,"t":"byte","b":[0,16,128,0,16,128,0,16]},{"a":16400,"t":"byte","b":[128,0,16,128,0,32,128,0]},{"a":16408,"t":"byte","b":[32,128,0,72,66,0,136,53]},{"a":16416,"t":"byte","b":[0,132,9,0,128,1,0,128]},{"a":16424,"t":"byte","b":[2,0,67,141,0,60,118,0]},{"a":16432,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":16440,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":16448,"l":"sprite_frame_001","c":"Hardware sprite image 1: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $01. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[55,236,0,119,238,0,0,0]},{"a":16456,"t":"byte","b":[0,111,246,0,239,247,0,239]},{"a":16464,"t":"byte","b":[247,0,213,91,0,219,187,0]},{"a":16472,"t":"byte","b":[213,91,0,223,251,0,237,119]},{"a":16480,"t":"byte","b":[0,238,247,0,109,118,0,0]},{"a":16488,"t":"byte","b":[0,0,119,238,0,55,236,0]},{"a":16496,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":16504,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":16512,"l":"sprite_frame_002","c":"Hardware sprite image 2: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $02. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[3,0,0,3,192,0,1,224]},{"a":16520,"t":"byte","b":[0,1,64,0,1,224,0,7]},{"a":16528,"t":"byte","b":[128,0,31,248,0,63,252,0]},{"a":16536,"t":"byte","b":[55,108,0,20,152,0,15,240]},{"a":16544,"t":"byte","b":[0,15,240,0,15,240,0,2]},{"a":16552,"t":"byte","b":[64,0,2,64,0,6,96,0]},{"a":16560,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":16568,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":16576,"l":"sprite_frame_003","c":"Hardware sprite image 3: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $03. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[3,0,0,3,192,0,1,224]},{"a":16584,"t":"byte","b":[0,1,64,0,1,224,0,7]},{"a":16592,"t":"byte","b":[128,0,31,248,0,63,252,0]},{"a":16600,"t":"byte","b":[55,108,0,20,152,0,15,240]},{"a":16608,"t":"byte","b":[0,15,240,0,15,240,0,2]},{"a":16616,"t":"byte","b":[64,0,6,64,0,2,96,0]},{"a":16624,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":16632,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":16640,"l":"sprite_frame_004","c":"Hardware sprite image 4: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $04. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[3,0,0,3,192,0,1,224]},{"a":16648,"t":"byte","b":[0,1,64,0,1,224,0,7]},{"a":16656,"t":"byte","b":[128,0,31,252,0,63,254,0]},{"a":16664,"t":"byte","b":[55,102,0,20,146,0,15,240]},{"a":16672,"t":"byte","b":[0,15,240,0,15,240,0,2]},{"a":16680,"t":"byte","b":[64,0,2,64,0,6,96,0]},{"a":16688,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":16696,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":16704,"l":"sprite_frame_005","c":"Hardware sprite image 5: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $05. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[3,0,0,3,192,0,1,224]},{"a":16712,"t":"byte","b":[0,1,64,0,1,224,0,7]},{"a":16720,"t":"byte","b":[128,0,31,255,0,63,254,0]},{"a":16728,"t":"byte","b":[55,96,0,20,144,0,15,240]},{"a":16736,"t":"byte","b":[0,15,240,0,15,240,0,2]},{"a":16744,"t":"byte","b":[64,0,2,64,0,6,96,0]},{"a":16752,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":16760,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":16768,"l":"sprite_frame_006","c":"Hardware sprite image 6: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $06. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[60,0,0,60,0,0,126,0]},{"a":16776,"t":"byte","b":[0,52,0,0,62,0,0,60]},{"a":16784,"t":"byte","b":[0,0,24,0,0,60,0,0]},{"a":16792,"t":"byte","b":[126,0,0,126,0,0,247,0]},{"a":16800,"t":"byte","b":[0,251,0,0,60,0,0,118]},{"a":16808,"t":"byte","b":[0,0,110,0,0,119,0,0]},{"a":16816,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":16824,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":16832,"l":"sprite_frame_007","c":"Hardware sprite image 7: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $07. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[15,0,0,15,0,0,31,128]},{"a":16840,"t":"byte","b":[0,13,0,0,15,128,0,15]},{"a":16848,"t":"byte","b":[0,0,6,0,0,15,0,0]},{"a":16856,"t":"byte","b":[27,128,0,27,128,0,27,128]},{"a":16864,"t":"byte","b":[0,29,128,0,15,0,0,6]},{"a":16872,"t":"byte","b":[0,0,6,0,0,7,0,0]},{"a":16880,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":16888,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":16896,"l":"sprite_frame_008","c":"Hardware sprite image 8: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $08. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[3,192,0,3,192,0,7,224]},{"a":16904,"t":"byte","b":[0,3,64,0,3,224,0,3]},{"a":16912,"t":"byte","b":[192,0,1,128,0,3,192,0]},{"a":16920,"t":"byte","b":[7,224,0,7,224,0,15,112]},{"a":16928,"t":"byte","b":[0,15,176,0,3,192,0,7]},{"a":16936,"t":"byte","b":[96,0,6,224,0,7,112,0]},{"a":16944,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":16952,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":16960,"l":"sprite_frame_009","c":"Hardware sprite image 9: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $09. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[0,240,0,0,240,0,1,248]},{"a":16968,"t":"byte","b":[0,0,208,0,0,248,0,0]},{"a":16976,"t":"byte","b":[240,0,0,96,0,0,240,0]},{"a":16984,"t":"byte","b":[1,248,0,3,252,0,7,254]},{"a":16992,"t":"byte","b":[0,6,246,0,0,248,0,1]},{"a":17000,"t":"byte","b":[218,0,3,14,0,3,140,0]},{"a":17008,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":17016,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":17024,"l":"sprite_frame_010","c":"Hardware sprite image 10: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $0A. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[15,0,0,15,0,0,31,128]},{"a":17032,"t":"byte","b":[0,11,0,0,31,0,0,15]},{"a":17040,"t":"byte","b":[0,0,6,0,0,15,0,0]},{"a":17048,"t":"byte","b":[31,128,0,63,192,0,127,224]},{"a":17056,"t":"byte","b":[0,111,96,0,31,0,0,91]},{"a":17064,"t":"byte","b":[128,0,112,192,0,49,192,0]},{"a":17072,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":17080,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":17088,"l":"sprite_frame_011","c":"Hardware sprite image 11: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $0B. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[3,192,0,3,192,0,7,224]},{"a":17096,"t":"byte","b":[0,2,192,0,7,192,0,3]},{"a":17104,"t":"byte","b":[192,0,1,128,0,3,192,0]},{"a":17112,"t":"byte","b":[7,224,0,7,224,0,14,240]},{"a":17120,"t":"byte","b":[0,13,240,0,3,192,0,6]},{"a":17128,"t":"byte","b":[224,0,7,96,0,14,224,0]},{"a":17136,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":17144,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":17152,"l":"sprite_frame_012","c":"Hardware sprite image 12: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $0C. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[0,240,0,0,240,0,1,248]},{"a":17160,"t":"byte","b":[0,0,176,0,1,240,0,0]},{"a":17168,"t":"byte","b":[240,0,0,96,0,0,240,0]},{"a":17176,"t":"byte","b":[1,216,0,1,216,0,1,216]},{"a":17184,"t":"byte","b":[0,1,184,0,0,240,0,0]},{"a":17192,"t":"byte","b":[96,0,0,96,0,0,224,0]},{"a":17200,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":17208,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":17216,"l":"sprite_frame_013","c":"Hardware sprite image 13: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $0D. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[0,60,0,0,60,0,0,126]},{"a":17224,"t":"byte","b":[0,0,44,0,0,124,0,0]},{"a":17232,"t":"byte","b":[60,0,0,24,0,0,60,0]},{"a":17240,"t":"byte","b":[0,126,0,0,126,0,0,239]},{"a":17248,"t":"byte","b":[0,0,223,0,0,60,0,0]},{"a":17256,"t":"byte","b":[110,0,0,118,0,0,238,0]},{"a":17264,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":17272,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":17280,"l":"sprite_frame_014","c":"Hardware sprite image 14: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $0E. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[0,15,0,0,63,0,0,15]},{"a":17288,"t":"byte","b":[0,48,15,0,12,15,0,3]},{"a":17296,"t":"byte","b":[15,0,0,207,0,0,47,0]},{"a":17304,"t":"byte","b":[0,8,0,63,248,0,63,240]},{"a":17312,"t":"byte","b":[0,63,238,0,31,223,0,31]},{"a":17320,"t":"byte","b":[219,0,15,251,0,15,251,0]},{"a":17328,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":17336,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":17344,"l":"sprite_frame_015","c":"Hardware sprite image 15: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $0F. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[0,15,0,0,63,0,0,15]},{"a":17352,"t":"byte","b":[0,0,15,0,0,15,0,0]},{"a":17360,"t":"byte","b":[15,0,0,15,0,63,239,0]},{"a":17368,"t":"byte","b":[0,8,0,63,248,0,63,240]},{"a":17376,"t":"byte","b":[0,63,238,0,31,223,0,31]},{"a":17384,"t":"byte","b":[219,0,15,251,0,15,251,0]},{"a":17392,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":17400,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":17408,"l":"sprite_frame_016","c":"Hardware sprite image 16: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $10. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[3,175,0,1,191,0,1,143]},{"a":17416,"t":"byte","b":[0,1,143,0,127,143,0,127]},{"a":17424,"t":"byte","b":[143,0,71,207,0,15,207,0]},{"a":17432,"t":"byte","b":[0,8,0,63,248,0,63,240]},{"a":17440,"t":"byte","b":[0,63,238,0,31,223,0,31]},{"a":17448,"t":"byte","b":[219,0,15,251,0,15,251,0]},{"a":17456,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":17464,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":17472,"l":"sprite_frame_017","c":"Hardware sprite image 17: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $11. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[0,15,0,4,63,0,30,47]},{"a":17480,"t":"byte","b":[0,59,47,0,93,143,0,14]},{"a":17488,"t":"byte","b":[143,0,7,207,0,15,207,0]},{"a":17496,"t":"byte","b":[0,8,0,63,248,0,63,240]},{"a":17504,"t":"byte","b":[0,63,238,0,31,223,0,31]},{"a":17512,"t":"byte","b":[219,0,15,251,0,15,251,0]},{"a":17520,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":17528,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":17536,"l":"sprite_frame_018","c":"Hardware sprite image 18: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $12. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[0,0,0,0,0,0,42,170]},{"a":17544,"t":"byte","b":[0,127,255,0,127,255,0,124]},{"a":17552,"t":"byte","b":[63,0,124,63,0,127,255,0]},{"a":17560,"t":"byte","b":[127,255,0,127,255,0,0,0]},{"a":17568,"t":"byte","b":[0,42,170,0,0,0,0,42]},{"a":17576,"t":"byte","b":[170,0,0,0,0,0,0,0]},{"a":17584,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":17592,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":17600,"l":"sprite_frame_019","c":"Hardware sprite image 19: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $13. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[0,72,0,1,44,0,4,188]},{"a":17608,"t":"byte","b":[0,18,254,0,75,254,0,46]},{"a":17616,"t":"byte","b":[127,0,188,63,0,254,124,0]},{"a":17624,"t":"byte","b":[255,242,0,127,201,0,127,37]},{"a":17632,"t":"byte","b":[0,60,148,0,50,80,0,9]},{"a":17640,"t":"byte","b":[64,0,5,0,0,4,0,0]},{"a":17648,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":17656,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":17664,"l":"sprite_frame_020","c":"Hardware sprite image 20: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $14. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[0,0,0,7,224,0,15,240]},{"a":17672,"t":"byte","b":[0,23,232,0,15,240,0,22]},{"a":17680,"t":"byte","b":[104,0,14,112,0,22,104,0]},{"a":17688,"t":"byte","b":[15,240,0,23,232,0,15,240]},{"a":17696,"t":"byte","b":[0,23,232,0,8,16,0,23]},{"a":17704,"t":"byte","b":[232,0,16,8,0,0,0,0]},{"a":17712,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":17720,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":17728,"l":"sprite_frame_021","c":"Hardware sprite image 21: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $15. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[18,0,0,52,128,0,61,32]},{"a":17736,"t":"byte","b":[0,127,72,0,127,210,0,254]},{"a":17744,"t":"byte","b":[116,0,252,61,0,62,127,0]},{"a":17752,"t":"byte","b":[79,255,0,147,254,0,164,254]},{"a":17760,"t":"byte","b":[0,41,60,0,10,76,0,2]},{"a":17768,"t":"byte","b":[144,0,0,160,0,0,32,0]},{"a":17776,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":17784,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":17792,"l":"sprite_frame_022","c":"Hardware sprite image 22: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $16. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":17800,"t":"byte","b":[0,2,2,0,34,2,0,169]},{"a":17808,"t":"byte","b":[84,0,168,216,0,113,116,0]},{"a":17816,"t":"byte","b":[34,218,0,59,174,0,46,171]},{"a":17824,"t":"byte","b":[0,36,249,0,32,219,0,32]},{"a":17832,"t":"byte","b":[216,0,1,84,0,2,138,0]},{"a":17840,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":17848,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":17856,"l":"sprite_frame_023","c":"Hardware sprite image 23: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $17. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[0,0,0,2,2,0,2,2]},{"a":17864,"t":"byte","b":[0,1,116,0,0,216,0,81]},{"a":17872,"t":"byte","b":[84,0,82,250,0,35,222,0]},{"a":17880,"t":"byte","b":[231,171,0,30,249,0,24,217]},{"a":17888,"t":"byte","b":[0,8,217,0,9,84,0,6]},{"a":17896,"t":"byte","b":[138,0,4,0,0,0,0,0]},{"a":17904,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":17912,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":17920,"l":"sprite_frame_024","c":"Hardware sprite image 24: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $18. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[2,2,0,3,142,0,0,248]},{"a":17928,"t":"byte","b":[0,1,84,0,2,218,0,3]},{"a":17936,"t":"byte","b":[254,0,17,139,0,75,169,0]},{"a":17944,"t":"byte","b":[43,251,0,150,248,0,108,216]},{"a":17952,"t":"byte","b":[0,5,84,0,2,138,0,1]},{"a":17960,"t":"byte","b":[0,0,0,128,0,0,64,0]},{"a":17968,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":17976,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":17984,"l":"sprite_frame_025","c":"Hardware sprite image 25: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $19. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[0,0,0,2,2,0,2,2]},{"a":17992,"t":"byte","b":[0,1,116,0,0,216,0,81]},{"a":18000,"t":"byte","b":[84,0,82,250,0,35,222,0]},{"a":18008,"t":"byte","b":[231,171,0,30,249,0,24,217]},{"a":18016,"t":"byte","b":[0,8,217,0,9,84,0,6]},{"a":18024,"t":"byte","b":[138,0,4,0,0,0,0,0]},{"a":18032,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":18040,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":18048,"l":"sprite_frame_026","c":"Hardware sprite image 26: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $1A. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[32,4,0,174,236,0,187,125]},{"a":18056,"t":"byte","b":[0,224,7,0,189,181,0,160]},{"a":18064,"t":"byte","b":[4,0,59,124,0,0,0,0]},{"a":18072,"t":"byte","b":[29,176,0,32,4,0,59,124]},{"a":18080,"t":"byte","b":[0,162,68,0,253,183,0,160]},{"a":18088,"t":"byte","b":[4,0,59,220,0,32,4,0]},{"a":18096,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":18104,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":18112,"l":"sprite_frame_027","c":"Hardware sprite image 27: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $1B. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[32,4,0,55,180,0,160,4]},{"a":18120,"t":"byte","b":[0,251,127,0,160,4,0,61]},{"a":18128,"t":"byte","b":[180,0,32,4,0,27,120,0]},{"a":18136,"t":"byte","b":[0,0,0,61,180,0,162,68]},{"a":18144,"t":"byte","b":[0,187,125,0,224,7,0,189]},{"a":18152,"t":"byte","b":[181,0,183,236,0,32,4,0]},{"a":18160,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":18168,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":18176,"l":"sprite_frame_028","c":"Hardware sprite image 28: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $1C. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[32,4,0,58,220,0,61,189]},{"a":18184,"t":"byte","b":[0,224,7,0,59,117,0,32]},{"a":18192,"t":"byte","b":[4,0,61,188,0,0,0,0]},{"a":18200,"t":"byte","b":[27,112,0,32,4,0,61,189]},{"a":18208,"t":"byte","b":[0,162,69,0,251,119,0,160]},{"a":18216,"t":"byte","b":[5,0,61,237,0,32,4,0]},{"a":18224,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":18232,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":18240,"l":"sprite_frame_029","c":"Hardware sprite image 29: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $1D. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[32,4,0,59,117,0,160,5]},{"a":18248,"t":"byte","b":[0,253,191,0,160,5,0,59]},{"a":18256,"t":"byte","b":[117,0,32,4,0,29,184,0]},{"a":18264,"t":"byte","b":[0,0,0,59,116,0,36,132]},{"a":18272,"t":"byte","b":[0,61,189,0,224,7,0,59]},{"a":18280,"t":"byte","b":[117,0,46,236,0,32,4,0]},{"a":18288,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":18296,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":18304,"l":"sprite_frame_030","c":"Hardware sprite image 30: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $1E. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[15,240,0,23,232,0,24,24]},{"a":18312,"t":"byte","b":[0,55,204,0,40,36,0,83]},{"a":18320,"t":"byte","b":[146,0,100,74,0,169,43,0]},{"a":18328,"t":"byte","b":[170,43,0,106,74,0,105,146]},{"a":18336,"t":"byte","b":[0,36,36,0,51,204,0,24]},{"a":18344,"t":"byte","b":[24,0,23,232,0,15,240,0]},{"a":18352,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":18360,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":18368,"l":"sprite_frame_031","c":"Hardware sprite image 31: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $1F. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[0,224,0,7,240,0,56,24]},{"a":18376,"t":"byte","b":[0,115,204,0,100,38,0,73]},{"a":18384,"t":"byte","b":[147,0,82,75,0,212,43,0]},{"a":18392,"t":"byte","b":[213,42,0,212,202,0,210,18]},{"a":18400,"t":"byte","b":[0,73,228,0,36,12,0,19]},{"a":18408,"t":"byte","b":[244,0,8,120,0,7,128,0]},{"a":18416,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":18424,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":18432,"l":"sprite_frame_032","c":"Hardware sprite image 32: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $20. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[1,128,0,7,224,0,24,24]},{"a":18440,"t":"byte","b":[0,115,206,0,164,37,0,201]},{"a":18448,"t":"byte","b":[149,0,210,85,0,212,85,0]},{"a":18456,"t":"byte","b":[212,149,0,210,37,0,201,201]},{"a":18464,"t":"byte","b":[0,228,19,0,115,230,0,24]},{"a":18472,"t":"byte","b":[24,0,7,224,0,1,128,0]},{"a":18480,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":18488,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":18496,"l":"sprite_frame_033","c":"Hardware sprite image 33: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $21. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[7,0,0,8,224,0,31,220]},{"a":18504,"t":"byte","b":[0,48,38,0,103,146,0,200]},{"a":18512,"t":"byte","b":[74,0,211,42,0,212,171,0]},{"a":18520,"t":"byte","b":[84,43,0,82,75,0,73,147]},{"a":18528,"t":"byte","b":[0,36,38,0,51,204,0,40]},{"a":18536,"t":"byte","b":[24,0,31,240,0,1,224,0]},{"a":18544,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":18552,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":18560,"l":"sprite_frame_034","c":"Hardware sprite image 34: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $22. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[12,0,0,12,0,0,12,0]},{"a":18568,"t":"byte","b":[0,12,0,0,12,0,0,30]},{"a":18576,"t":"byte","b":[0,0,18,0,0,51,0,0]},{"a":18584,"t":"byte","b":[63,0,0,115,128,0,97,128]},{"a":18592,"t":"byte","b":[0,97,128,0,192,192,0,192]},{"a":18600,"t":"byte","b":[192,0,128,64,0,128,64,0]},{"a":18608,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":18616,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":18624,"l":"sprite_frame_035","c":"Hardware sprite image 35: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $23. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[8,64,0,8,64,0,12,192]},{"a":18632,"t":"byte","b":[0,4,128,0,7,128,0,7]},{"a":18640,"t":"byte","b":[128,0,12,192,0,28,224,0]},{"a":18648,"t":"byte","b":[59,112,0,48,48,0,96,24]},{"a":18656,"t":"byte","b":[0,96,24,0,64,8,0,192]},{"a":18664,"t":"byte","b":[12,0,128,4,0,128,4,0]},{"a":18672,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":18680,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":18688,"l":"sprite_frame_036","c":"Hardware sprite image 36: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $24. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[2,16,0,2,16,0,3,48]},{"a":18696,"t":"byte","b":[0,1,32,0,1,224,0,1]},{"a":18704,"t":"byte","b":[224,0,3,48,0,7,56,0]},{"a":18712,"t":"byte","b":[14,220,0,12,12,0,24,6]},{"a":18720,"t":"byte","b":[0,24,6,0,16,2,0,48]},{"a":18728,"t":"byte","b":[3,0,32,1,0,32,1,0]},{"a":18736,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":18744,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":18752,"l":"sprite_frame_037","c":"Hardware sprite image 37: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $25. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[0,48,0,0,48,0,0,48]},{"a":18760,"t":"byte","b":[0,0,48,0,0,48,0,0]},{"a":18768,"t":"byte","b":[120,0,0,72,0,0,204,0]},{"a":18776,"t":"byte","b":[0,252,0,1,206,0,1,134]},{"a":18784,"t":"byte","b":[0,1,134,0,3,3,0,3]},{"a":18792,"t":"byte","b":[3,0,2,1,0,2,1,0]},{"a":18800,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":18808,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":18816,"l":"sprite_frame_038","c":"Hardware sprite image 38: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $26. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":18824,"t":"byte","b":[0,127,254,0,64,2,0,255]},{"a":18832,"t":"byte","b":[255,0,222,123,0,192,3,0]},{"a":18840,"t":"byte","b":[192,3,0,222,123,0,255,255]},{"a":18848,"t":"byte","b":[0,64,2,0,127,254,0,0]},{"a":18856,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":18864,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":18872,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":18880,"l":"sprite_frame_039","c":"Hardware sprite image 39: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $27. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[10,0,0,29,0,0,54,128]},{"a":18888,"t":"byte","b":[0,103,64,0,195,160,0,113]},{"a":18896,"t":"byte","b":[208,0,184,104,0,92,52,0]},{"a":18904,"t":"byte","b":[44,58,0,22,29,0,11,142]},{"a":18912,"t":"byte","b":[0,5,195,0,2,230,0,1]},{"a":18920,"t":"byte","b":[108,0,0,184,0,0,80,0]},{"a":18928,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":18936,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":18944,"l":"sprite_frame_040","c":"Hardware sprite image 40: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $28. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[7,224,0,31,248,0,20,40]},{"a":18952,"t":"byte","b":[0,133,104,0,22,134,0,22]},{"a":18960,"t":"byte","b":[104,0,22,104,0,20,40,0]},{"a":18968,"t":"byte","b":[20,40,0,22,104,0,22,104]},{"a":18976,"t":"byte","b":[0,22,104,0,22,104,0,20]},{"a":18984,"t":"byte","b":[40,0,31,248,0,7,224,0]},{"a":18992,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":19000,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":19008,"l":"sprite_frame_041","c":"Hardware sprite image 41: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $29. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[0,80,0,0,184,0,1,108]},{"a":19016,"t":"byte","b":[0,2,230,0,5,195,0,11]},{"a":19024,"t":"byte","b":[142,0,22,29,0,44,58,0]},{"a":19032,"t":"byte","b":[92,52,0,184,104,0,113,208]},{"a":19040,"t":"byte","b":[0,195,160,0,103,64,0,54]},{"a":19048,"t":"byte","b":[128,0,29,0,0,10,0,0]},{"a":19056,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":19064,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":19072,"l":"sprite_frame_042","c":"Hardware sprite image 42: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $2A. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[126,0,0,153,0,0,255,0]},{"a":19080,"t":"byte","b":[0,129,0,0,126,0,0,24]},{"a":19088,"t":"byte","b":[0,0,36,0,0,36,0,0]},{"a":19096,"t":"byte","b":[66,0,0,66,0,0,129,0]},{"a":19104,"t":"byte","b":[0,231,0,0,165,0,0,195]},{"a":19112,"t":"byte","b":[0,0,165,0,0,231,0,0]},{"a":19120,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":19128,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":19136,"l":"sprite_frame_043","c":"Hardware sprite image 43: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $2B. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[0,0,0,31,128,0,38,64]},{"a":19144,"t":"byte","b":[0,57,192,0,48,192,0,31]},{"a":19152,"t":"byte","b":[128,0,9,0,0,16,128,0]},{"a":19160,"t":"byte","b":[32,64,0,64,32,0,128,16]},{"a":19168,"t":"byte","b":[0,224,112,0,160,80,0,192]},{"a":19176,"t":"byte","b":[48,0,160,80,0,224,112,0]},{"a":19184,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":19192,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":19200,"l":"sprite_frame_044","c":"Hardware sprite image 44: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $2C. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":19208,"t":"byte","b":[0,7,224,0,9,144,0,14]},{"a":19216,"t":"byte","b":[112,0,14,112,0,6,96,0]},{"a":19224,"t":"byte","b":[27,216,0,96,6,0,128,1]},{"a":19232,"t":"byte","b":[0,224,7,0,160,5,0,192]},{"a":19240,"t":"byte","b":[3,0,160,5,0,224,7,0]},{"a":19248,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":19256,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":19264,"l":"sprite_frame_045","c":"Hardware sprite image 45: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $2D. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[0,0,0,1,248,0,2,100]},{"a":19272,"t":"byte","b":[0,3,156,0,3,12,0,1]},{"a":19280,"t":"byte","b":[248,0,0,144,0,1,8,0]},{"a":19288,"t":"byte","b":[2,4,0,4,2,0,8,1]},{"a":19296,"t":"byte","b":[0,14,7,0,10,5,0,12]},{"a":19304,"t":"byte","b":[3,0,10,5,0,14,7,0]},{"a":19312,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":19320,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":19328,"l":"sprite_frame_046","c":"Hardware sprite image 46: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $2E. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[12,0,0,18,0,0,33,16]},{"a":19336,"t":"byte","b":[0,18,32,0,140,64,0,82]},{"a":19344,"t":"byte","b":[128,0,47,0,0,47,0,0]},{"a":19352,"t":"byte","b":[95,128,0,95,128,0,95,128]},{"a":19360,"t":"byte","b":[0,0,0,0,255,192,0,93]},{"a":19368,"t":"byte","b":[128,0,93,128,0,255,192,0]},{"a":19376,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":19384,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":19392,"l":"sprite_frame_047","c":"Hardware sprite image 47: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $2F. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[0,1,0,0,2,0,131,4]},{"a":19400,"t":"byte","b":[0,76,200,0,35,16,0,20]},{"a":19408,"t":"byte","b":[160,0,11,192,0,11,192,0]},{"a":19416,"t":"byte","b":[23,224,0,23,224,0,23,224]},{"a":19424,"t":"byte","b":[0,0,0,0,63,240,0,27]},{"a":19432,"t":"byte","b":[176,0,27,176,0,63,240,0]},{"a":19440,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":19448,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":19456,"l":"sprite_frame_048","c":"Hardware sprite image 48: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $30. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[128,0,0,64,0,0,32,1]},{"a":19464,"t":"byte","b":[0,17,226,0,8,196,0,5]},{"a":19472,"t":"byte","b":[40,0,2,240,0,2,240,0]},{"a":19480,"t":"byte","b":[5,248,0,5,248,0,5,248]},{"a":19488,"t":"byte","b":[0,0,0,0,15,252,0,11]},{"a":19496,"t":"byte","b":[116,0,11,116,0,15,252,0]},{"a":19504,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":19512,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":19520,"l":"sprite_frame_049","c":"Hardware sprite image 49: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $31. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[0,0,0,0,0,0,8,48]},{"a":19528,"t":"byte","b":[0,4,204,0,2,49,0,1]},{"a":19536,"t":"byte","b":[74,0,0,188,0,0,188,0]},{"a":19544,"t":"byte","b":[1,126,0,1,126,0,1,126]},{"a":19552,"t":"byte","b":[0,0,0,0,3,255,0,2]},{"a":19560,"t":"byte","b":[237,0,2,237,0,3,255,0]},{"a":19568,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":19576,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":19584,"l":"sprite_frame_050","c":"Hardware sprite image 50: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $32. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[56,0,0,124,0,0,126,0]},{"a":19592,"t":"byte","b":[0,109,128,0,68,64,0,108]},{"a":19600,"t":"byte","b":[64,0,124,32,0,124,0,0]},{"a":19608,"t":"byte","b":[124,12,0,124,50,0,252,204]},{"a":19616,"t":"byte","b":[0,255,48,0,252,192,0,127]},{"a":19624,"t":"byte","b":[0,0,108,0,0,56,0,0]},{"a":19632,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":19640,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":19648,"l":"sprite_frame_051","c":"Hardware sprite image 51: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $33. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[14,96,0,31,148,0,31,8]},{"a":19656,"t":"byte","b":[0,27,32,0,17,80,0,27]},{"a":19664,"t":"byte","b":[80,0,31,160,0,31,160,0]},{"a":19672,"t":"byte","b":[127,64,0,223,64,0,223,128]},{"a":19680,"t":"byte","b":[0,159,128,0,127,0,0,31]},{"a":19688,"t":"byte","b":[0,0,27,0,0,14,0,0]},{"a":19696,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":19704,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":19712,"l":"sprite_frame_052","c":"Hardware sprite image 52: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $34. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[3,128,0,7,192,0,7,224]},{"a":19720,"t":"byte","b":[0,6,216,0,4,68,0,14]},{"a":19728,"t":"byte","b":[196,0,127,194,0,239,192,0]},{"a":19736,"t":"byte","b":[239,192,0,143,192,0,119,192]},{"a":19744,"t":"byte","b":[0,7,192,0,7,192,0,7]},{"a":19752,"t":"byte","b":[192,0,6,192,0,3,128,0]},{"a":19760,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":19768,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":19776,"l":"sprite_frame_053","c":"Hardware sprite image 53: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $35. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[0,224,0,1,240,0,1,240]},{"a":19784,"t":"byte","b":[0,1,178,0,1,21,0,1]},{"a":19792,"t":"byte","b":[181,0,1,250,0,1,250,0]},{"a":19800,"t":"byte","b":[7,244,0,13,244,0,13,248]},{"a":19808,"t":"byte","b":[0,9,248,0,7,240,0,1]},{"a":19816,"t":"byte","b":[240,0,1,176,0,0,224,0]},{"a":19824,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":19832,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":19840,"l":"sprite_frame_054","c":"Hardware sprite image 54: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $36. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[12,0,0,22,0,0,47,0]},{"a":19848,"t":"byte","b":[0,47,0,0,79,128,0,95]},{"a":19856,"t":"byte","b":[128,0,95,128,0,159,192,0]},{"a":19864,"t":"byte","b":[191,192,0,189,192,0,186,192]},{"a":19872,"t":"byte","b":[0,189,64,0,90,128,0,93]},{"a":19880,"t":"byte","b":[128,0,63,0,0,12,0,0]},{"a":19888,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":19896,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":19904,"l":"sprite_frame_055","c":"Hardware sprite image 55: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $37. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":19912,"t":"byte","b":[0,0,112,0,3,152,0,12]},{"a":19920,"t":"byte","b":[120,0,51,248,0,71,240,0]},{"a":19928,"t":"byte","b":[95,240,0,191,240,0,190,160]},{"a":19936,"t":"byte","b":[0,189,96,0,90,192,0,93]},{"a":19944,"t":"byte","b":[64,0,63,128,0,14,0,0]},{"a":19952,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":19960,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":19968,"l":"sprite_frame_056","c":"Hardware sprite image 56: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $38. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":19976,"t":"byte","b":[0,0,0,0,3,192,0,28]},{"a":19984,"t":"byte","b":[120,0,33,252,0,79,254,0]},{"a":19992,"t":"byte","b":[95,254,0,159,255,0,191,239]},{"a":20000,"t":"byte","b":[0,95,86,0,95,174,0,35]},{"a":20008,"t":"byte","b":[84,0,31,248,0,3,192,0]},{"a":20016,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":20024,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":20032,"l":"sprite_frame_057","c":"Hardware sprite image 57: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $39. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":20040,"t":"byte","b":[0,14,0,0,23,192,0,23]},{"a":20048,"t":"byte","b":[240,0,19,252,0,11,254,0]},{"a":20056,"t":"byte","b":[11,254,0,11,215,0,5,235]},{"a":20064,"t":"byte","b":[0,5,215,0,2,234,0,2]},{"a":20072,"t":"byte","b":[126,0,1,140,0,0,112,0]},{"a":20080,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":20088,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":20096,"l":"sprite_frame_058","c":"Hardware sprite image 58: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $3A. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[7,192,0,24,48,0,35,136]},{"a":20104,"t":"byte","b":[0,68,68,0,136,34,0,144]},{"a":20112,"t":"byte","b":[19,0,144,19,0,136,34,0]},{"a":20120,"t":"byte","b":[68,68,0,35,136,0,24,48]},{"a":20128,"t":"byte","b":[0,7,192,0,3,0,0,3]},{"a":20136,"t":"byte","b":[0,0,3,0,0,3,128,0]},{"a":20144,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":20152,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":20160,"l":"sprite_frame_059","c":"Hardware sprite image 59: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $3B. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[7,192,0,24,48,0,32,8]},{"a":20168,"t":"byte","b":[0,67,132,0,132,66,0,136]},{"a":20176,"t":"byte","b":[35,0,136,35,0,132,66,0]},{"a":20184,"t":"byte","b":[67,132,0,32,8,0,24,48]},{"a":20192,"t":"byte","b":[0,7,192,0,15,128,0,29]},{"a":20200,"t":"byte","b":[208,0,8,224,0,4,64,0]},{"a":20208,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":20216,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":20224,"l":"sprite_frame_060","c":"Hardware sprite image 60: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $3C. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[7,192,0,31,240,0,62,120]},{"a":20232,"t":"byte","b":[0,124,60,0,126,124,0,255]},{"a":20240,"t":"byte","b":[254,0,255,254,0,240,0,0]},{"a":20248,"t":"byte","b":[255,128,0,127,240,0,127,252]},{"a":20256,"t":"byte","b":[0,63,248,0,31,240,0,7]},{"a":20264,"t":"byte","b":[192,0,0,0,0,0,0,0]},{"a":20272,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":20280,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":20288,"l":"sprite_frame_061","c":"Hardware sprite image 61: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $3D. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[7,192,0,31,240,0,60,248]},{"a":20296,"t":"byte","b":[0,120,124,0,124,252,0,255]},{"a":20304,"t":"byte","b":[128,0,252,0,0,240,0,0]},{"a":20312,"t":"byte","b":[248,0,0,126,0,0,127,128]},{"a":20320,"t":"byte","b":[0,63,224,0,31,240,0,7]},{"a":20328,"t":"byte","b":[192,0,0,0,0,0,0,0]},{"a":20336,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":20344,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":20352,"l":"sprite_frame_062","c":"Hardware sprite image 62: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $3E. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[7,192,0,8,32,0,10,160]},{"a":20360,"t":"byte","b":[0,8,32,0,11,160,0,16]},{"a":20368,"t":"byte","b":[16,0,37,72,0,10,160,0]},{"a":20376,"t":"byte","b":[61,120,0,70,196,0,7,192]},{"a":20384,"t":"byte","b":[0,2,128,0,5,64,0,15]},{"a":20392,"t":"byte","b":[224,0,20,128,0,8,192,0]},{"a":20400,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":20408,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":20416,"l":"sprite_frame_063","c":"Hardware sprite image 63: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $3F. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[7,192,0,8,32,0,10,160]},{"a":20424,"t":"byte","b":[0,8,32,0,57,56,0,0]},{"a":20432,"t":"byte","b":[0,0,5,64,0,10,160,0]},{"a":20440,"t":"byte","b":[29,112,0,22,208,0,23,208]},{"a":20448,"t":"byte","b":[0,10,160,0,5,64,0,15]},{"a":20456,"t":"byte","b":[224,0,2,80,0,6,32,0]},{"a":20464,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":20472,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":20480,"l":"sprite_frame_064","c":"Hardware sprite image 64: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $40. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[1,128,0,0,0,0,1,128]},{"a":20488,"t":"byte","b":[0,69,145,0,1,128,0,137]},{"a":20496,"t":"byte","b":[162,0,69,145,0,1,128,0]},{"a":20504,"t":"byte","b":[205,179,0,205,179,0,205,179]},{"a":20512,"t":"byte","b":[0,205,179,0,35,196,0,18]},{"a":20520,"t":"byte","b":[72,0,13,176,0,0,0,0]},{"a":20528,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":20536,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":20544,"l":"sprite_frame_065","c":"Hardware sprite image 65: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $41. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[1,128,0,0,0,0,1,128]},{"a":20552,"t":"byte","b":[0,137,162,0,1,128,0,69]},{"a":20560,"t":"byte","b":[145,0,137,162,0,1,128,0]},{"a":20568,"t":"byte","b":[205,179,0,205,179,0,205,179]},{"a":20576,"t":"byte","b":[0,205,179,0,35,196,0,18]},{"a":20584,"t":"byte","b":[72,0,13,176,0,0,0,0]},{"a":20592,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":20600,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":20608,"l":"sprite_frame_066","c":"Hardware sprite image 66: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $42. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[0,3,0,0,15,0,0,31]},{"a":20616,"t":"byte","b":[0,128,63,0,192,127,0,209]},{"a":20624,"t":"byte","b":[255,0,95,255,0,159,255,0]},{"a":20632,"t":"byte","b":[207,255,0,211,255,0,223,252]},{"a":20640,"t":"byte","b":[0,255,240,0,255,224,0,127]},{"a":20648,"t":"byte","b":[192,0,63,128,0,14,0,0]},{"a":20656,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":20664,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":20672,"l":"sprite_frame_067","c":"Hardware sprite image 67: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $43. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[0,0,0,0,0,0,80,1]},{"a":20680,"t":"byte","b":[0,216,3,0,156,7,0,79]},{"a":20688,"t":"byte","b":[31,0,215,255,0,219,255,0]},{"a":20696,"t":"byte","b":[255,255,0,255,255,0,255,255]},{"a":20704,"t":"byte","b":[0,255,255,0,143,254,0,7]},{"a":20712,"t":"byte","b":[252,0,3,248,0,0,224,0]},{"a":20720,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":20728,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":20736,"l":"sprite_frame_068","c":"Hardware sprite image 68: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $44. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[0,0,0,3,128,0,7,192]},{"a":20744,"t":"byte","b":[0,143,192,0,223,224,0,219]},{"a":20752,"t":"byte","b":[241,0,87,255,0,143,255,0]},{"a":20760,"t":"byte","b":[223,255,0,223,255,0,255,255]},{"a":20768,"t":"byte","b":[0,252,127,0,248,63,0,112]},{"a":20776,"t":"byte","b":[63,0,0,31,0,0,14,0]},{"a":20784,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":20792,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":20800,"l":"sprite_frame_069","c":"Hardware sprite image 69: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $45. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[0,56,0,0,254,0,1,255]},{"a":20808,"t":"byte","b":[0,131,255,0,199,255,0,223]},{"a":20816,"t":"byte","b":[255,0,95,255,0,155,255,0]},{"a":20824,"t":"byte","b":[199,255,0,223,255,0,223,199]},{"a":20832,"t":"byte","b":[0,255,1,0,254,0,0,124]},{"a":20840,"t":"byte","b":[0,0,56,0,0,0,0,0]},{"a":20848,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":20856,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":20864,"l":"sprite_frame_070","c":"Hardware sprite image 70: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $46. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[3,192,0,14,240,0,29,248]},{"a":20872,"t":"byte","b":[0,62,252,0,83,206,0,101]},{"a":20880,"t":"byte","b":[166,0,164,39,0,113,143,0]},{"a":20888,"t":"byte","b":[191,247,0,85,239,0,110,118]},{"a":20896,"t":"byte","b":[0,83,202,0,56,28,0,22]},{"a":20904,"t":"byte","b":[120,0,11,240,0,2,192,0]},{"a":20912,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":20920,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":20928,"l":"sprite_frame_071","c":"Hardware sprite image 71: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $47. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[3,192,0,13,240,0,26,248]},{"a":20936,"t":"byte","b":[0,63,252,0,81,140,0,100]},{"a":20944,"t":"byte","b":[38,0,197,167,0,179,207,0]},{"a":20952,"t":"byte","b":[93,187,0,170,119,0,95,250]},{"a":20960,"t":"byte","b":[0,114,78,0,56,28,0,28]},{"a":20968,"t":"byte","b":[56,0,11,240,0,2,192,0]},{"a":20976,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":20984,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":20992,"l":"sprite_frame_072","c":"Hardware sprite image 72: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $48. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[3,192,0,11,240,0,21,120]},{"a":21000,"t":"byte","b":[0,63,252,0,80,12,0,101]},{"a":21008,"t":"byte","b":[166,0,199,231,0,241,143,0]},{"a":21016,"t":"byte","b":[190,127,0,221,247,0,44,58]},{"a":21024,"t":"byte","b":[0,90,94,0,44,60,0,22]},{"a":21032,"t":"byte","b":[120,0,11,240,0,3,192,0]},{"a":21040,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":21048,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":21056,"l":"sprite_frame_073","c":"Hardware sprite image 73: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $49. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[3,192,0,13,240,0,26,248]},{"a":21064,"t":"byte","b":[0,63,252,0,81,140,0,100]},{"a":21072,"t":"byte","b":[38,0,197,167,0,179,207,0]},{"a":21080,"t":"byte","b":[93,187,0,170,119,0,95,250]},{"a":21088,"t":"byte","b":[0,114,78,0,56,28,0,28]},{"a":21096,"t":"byte","b":[56,0,11,240,0,2,192,0]},{"a":21104,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":21112,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":21120,"l":"sprite_frame_074","c":"Hardware sprite image 74: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $4A. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[14,0,0,21,0,0,42,128]},{"a":21128,"t":"byte","b":[0,23,0,0,255,0,0,22]},{"a":21136,"t":"byte","b":[0,0,12,0,0,31,128,0]},{"a":21144,"t":"byte","b":[63,128,0,127,0,0,42,0]},{"a":21152,"t":"byte","b":[0,127,0,0,111,0,0,127]},{"a":21160,"t":"byte","b":[0,0,24,0,0,56,0,0]},{"a":21168,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":21176,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":21184,"l":"sprite_frame_075","c":"Hardware sprite image 75: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $4B. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[3,128,0,5,64,0,10,160]},{"a":21192,"t":"byte","b":[0,5,192,0,127,192,0,5]},{"a":21200,"t":"byte","b":[128,0,3,0,0,7,224,0]},{"a":21208,"t":"byte","b":[15,224,0,31,192,0,10,128]},{"a":21216,"t":"byte","b":[0,31,192,0,27,192,0,31]},{"a":21224,"t":"byte","b":[192,0,24,128,0,56,0,0]},{"a":21232,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":21240,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":21248,"l":"sprite_frame_076","c":"Hardware sprite image 76: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $4C. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[0,224,0,1,80,0,2,168]},{"a":21256,"t":"byte","b":[0,1,112,0,15,240,0,1]},{"a":21264,"t":"byte","b":[96,0,0,192,0,1,248,0]},{"a":21272,"t":"byte","b":[3,248,0,7,240,0,2,160]},{"a":21280,"t":"byte","b":[0,7,240,0,6,240,0,7]},{"a":21288,"t":"byte","b":[240,0,6,48,0,0,96,0]},{"a":21296,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":21304,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":21312,"l":"sprite_frame_077","c":"Hardware sprite image 77: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $4D. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[0,56,0,0,84,0,0,170]},{"a":21320,"t":"byte","b":[0,0,92,0,1,252,0,0]},{"a":21328,"t":"byte","b":[88,0,0,48,0,0,126,0]},{"a":21336,"t":"byte","b":[0,254,0,1,252,0,0,168]},{"a":21344,"t":"byte","b":[0,1,252,0,1,188,0,1]},{"a":21352,"t":"byte","b":[252,0,1,24,0,0,56,0]},{"a":21360,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":21368,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":21376,"l":"sprite_frame_078","c":"Hardware sprite image 78: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $4E. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[28,0,0,42,0,0,85,0]},{"a":21384,"t":"byte","b":[0,58,0,0,63,128,0,26]},{"a":21392,"t":"byte","b":[0,0,12,0,0,126,0,0]},{"a":21400,"t":"byte","b":[127,0,0,63,128,0,21,0]},{"a":21408,"t":"byte","b":[0,63,128,0,61,128,0,63]},{"a":21416,"t":"byte","b":[128,0,24,128,0,28,0,0]},{"a":21424,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":21432,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":21440,"l":"sprite_frame_079","c":"Hardware sprite image 79: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $4F. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[7,0,0,10,128,0,21,64]},{"a":21448,"t":"byte","b":[0,14,128,0,15,240,0,6]},{"a":21456,"t":"byte","b":[128,0,3,0,0,31,128,0]},{"a":21464,"t":"byte","b":[31,192,0,15,224,0,5,64]},{"a":21472,"t":"byte","b":[0,15,224,0,15,96,0,15]},{"a":21480,"t":"byte","b":[224,0,12,96,0,6,0,0]},{"a":21488,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":21496,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":21504,"l":"sprite_frame_080","c":"Hardware sprite image 80: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $50. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[1,192,0,2,160,0,5,80]},{"a":21512,"t":"byte","b":[0,3,160,0,3,254,0,1]},{"a":21520,"t":"byte","b":[160,0,0,192,0,7,224,0]},{"a":21528,"t":"byte","b":[7,240,0,3,248,0,1,80]},{"a":21536,"t":"byte","b":[0,3,248,0,3,216,0,3]},{"a":21544,"t":"byte","b":[248,0,1,24,0,0,28,0]},{"a":21552,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":21560,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":21568,"l":"sprite_frame_081","c":"Hardware sprite image 81: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $51. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[0,112,0,0,168,0,1,84]},{"a":21576,"t":"byte","b":[0,0,232,0,0,255,0,0]},{"a":21584,"t":"byte","b":[104,0,0,48,0,1,248,0]},{"a":21592,"t":"byte","b":[1,252,0,0,254,0,0,84]},{"a":21600,"t":"byte","b":[0,0,254,0,0,246,0,0]},{"a":21608,"t":"byte","b":[254,0,0,24,0,0,28,0]},{"a":21616,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":21624,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":21632,"l":"sprite_frame_082","c":"Hardware sprite image 82: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $52. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":21640,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":21648,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":21656,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":21664,"t":"byte","b":[0,0,0,0,6,0,0,63]},{"a":21672,"t":"byte","b":[0,0,31,0,0,13,0,0]},{"a":21680,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":21688,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":21696,"l":"sprite_frame_083","c":"Hardware sprite image 83: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $53. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":21704,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":21712,"t":"byte","b":[0,0,0,0,0,1,128,0]},{"a":21720,"t":"byte","b":[15,192,0,7,64,0,3,64]},{"a":21728,"t":"byte","b":[0,79,64,0,7,64,0,3]},{"a":21736,"t":"byte","b":[32,0,15,32,0,135,32,0]},{"a":21744,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":21752,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":21760,"l":"sprite_frame_084","c":"Hardware sprite image 84: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $54. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[0,96,0,3,240,0,1,208]},{"a":21768,"t":"byte","b":[0,0,208,0,3,208,0,1]},{"a":21776,"t":"byte","b":[208,0,0,200,0,3,200,0]},{"a":21784,"t":"byte","b":[1,200,0,0,200,0,11,200]},{"a":21792,"t":"byte","b":[0,33,200,0,0,200,0,11]},{"a":21800,"t":"byte","b":[196,0,1,196,0,32,196,0]},{"a":21808,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":21816,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":21824,"l":"sprite_frame_085","c":"Hardware sprite image 85: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $55. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":21832,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":21840,"t":"byte","b":[24,0,0,252,0,0,116,0]},{"a":21848,"t":"byte","b":[0,52,0,0,244,0,0,116]},{"a":21856,"t":"byte","b":[0,1,54,0,0,250,0,2]},{"a":21864,"t":"byte","b":[122,0,0,58,0,4,250,0]},{"a":21872,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":21880,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":21888,"l":"sprite_frame_086","c":"Hardware sprite image 86: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $56. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":21896,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":21904,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":21912,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":21920,"t":"byte","b":[0,0,0,0,48,0,0,126]},{"a":21928,"t":"byte","b":[0,0,124,0,0,88,0,0]},{"a":21936,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":21944,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":21952,"l":"sprite_frame_087","c":"Hardware sprite image 87: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $57. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":21960,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":21968,"t":"byte","b":[0,0,0,0,0,12,0,0]},{"a":21976,"t":"byte","b":[31,128,0,23,0,0,22,0]},{"a":21984,"t":"byte","b":[0,23,128,0,23,0,0,38]},{"a":21992,"t":"byte","b":[16,0,39,128,0,39,8,0]},{"a":22000,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":22008,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":22016,"l":"sprite_frame_088","c":"Hardware sprite image 88: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $58. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[3,0,0,7,224,0,5,192]},{"a":22024,"t":"byte","b":[0,5,128,0,5,224,0,5]},{"a":22032,"t":"byte","b":[192,0,9,128,0,9,224,0]},{"a":22040,"t":"byte","b":[9,208,0,9,128,0,9,232]},{"a":22048,"t":"byte","b":[0,9,194,0,9,128,0,17]},{"a":22056,"t":"byte","b":[232,0,17,192,0,17,130,0]},{"a":22064,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":22072,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":22080,"l":"sprite_frame_089","c":"Hardware sprite image 89: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $59. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":22088,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":22096,"t":"byte","b":[192,0,1,248,0,1,112,0]},{"a":22104,"t":"byte","b":[1,96,0,1,120,0,1,112]},{"a":22112,"t":"byte","b":[0,2,96,0,2,120,0,2]},{"a":22120,"t":"byte","b":[112,0,2,97,0,2,120,0]},{"a":22128,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":22136,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":22144,"l":"sprite_frame_090","c":"Hardware sprite image 90: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $5A. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":22152,"t":"byte","b":[0,0,0,0,0,0,0,19]},{"a":22160,"t":"byte","b":[64,0,23,128,0,63,192,0]},{"a":22168,"t":"byte","b":[85,64,0,250,160,0,253,64]},{"a":22176,"t":"byte","b":[0,31,160,0,8,128,0,5]},{"a":22184,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":22192,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":22200,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":22208,"l":"sprite_frame_091","c":"Hardware sprite image 91: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $5B. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":22216,"t":"byte","b":[0,0,0,0,0,0,0,8]},{"a":22224,"t":"byte","b":[208,0,5,224,0,15,240,0]},{"a":22232,"t":"byte","b":[22,176,0,61,80,0,62,168]},{"a":22240,"t":"byte","b":[0,7,80,0,2,168,0,2]},{"a":22248,"t":"byte","b":[84,0,0,40,0,0,20,0]},{"a":22256,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":22264,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":22272,"l":"sprite_frame_092","c":"Hardware sprite image 92: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $5C. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":22280,"t":"byte","b":[0,0,0,0,0,0,0,2]},{"a":22288,"t":"byte","b":[52,0,1,120,0,3,252,0]},{"a":22296,"t":"byte","b":[5,84,0,15,170,0,15,212]},{"a":22304,"t":"byte","b":[0,1,250,0,0,136,0,1]},{"a":22312,"t":"byte","b":[4,0,0,0,0,0,0,0]},{"a":22320,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":22328,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":22336,"l":"sprite_frame_093","c":"Hardware sprite image 93: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $5D. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[0,3,0,0,10,0,0,21]},{"a":22344,"t":"byte","b":[0,0,10,0,0,21,0,0]},{"a":22352,"t":"byte","b":[171,0,0,86,0,0,235,0]},{"a":22360,"t":"byte","b":[1,85,0,3,235,0,3,255]},{"a":22368,"t":"byte","b":[0,0,126,0,0,34,0,0]},{"a":22376,"t":"byte","b":[34,0,0,0,0,0,0,0]},{"a":22384,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":22392,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":22400,"l":"sprite_frame_094","c":"Hardware sprite image 94: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $5E. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[128,0,0,80,0,0,168,0]},{"a":22408,"t":"byte","b":[0,80,0,0,168,0,0,213]},{"a":22416,"t":"byte","b":[0,0,106,0,0,215,0,0]},{"a":22424,"t":"byte","b":[170,128,0,215,192,0,255,192]},{"a":22432,"t":"byte","b":[0,126,0,0,68,0,0,68]},{"a":22440,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":22448,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":22456,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":22464,"l":"sprite_frame_095","c":"Hardware sprite image 95: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $5F. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":22472,"t":"byte","b":[0,0,0,0,0,0,0,44]},{"a":22480,"t":"byte","b":[64,0,30,128,0,63,192,0]},{"a":22488,"t":"byte","b":[42,160,0,85,240,0,43,240]},{"a":22496,"t":"byte","b":[0,95,128,0,17,0,0,32]},{"a":22504,"t":"byte","b":[128,0,0,0,0,0,0,0]},{"a":22512,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":22520,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":22528,"l":"sprite_frame_096","c":"Hardware sprite image 96: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $60. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":22536,"t":"byte","b":[0,0,0,0,0,0,0,11]},{"a":22544,"t":"byte","b":[16,0,7,160,0,15,240,0]},{"a":22552,"t":"byte","b":[13,104,0,10,188,0,21,124]},{"a":22560,"t":"byte","b":[0,10,224,0,21,64,0,42]},{"a":22568,"t":"byte","b":[64,0,20,0,0,40,0,0]},{"a":22576,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":22584,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":22592,"l":"sprite_frame_097","c":"Hardware sprite image 97: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $61. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":22600,"t":"byte","b":[0,0,0,0,0,0,0,2]},{"a":22608,"t":"byte","b":[200,0,1,232,0,3,252,0]},{"a":22616,"t":"byte","b":[2,170,0,5,95,0,2,191]},{"a":22624,"t":"byte","b":[0,5,248,0,1,16,0,0]},{"a":22632,"t":"byte","b":[160,0,0,0,0,0,0,0]},{"a":22640,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":22648,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":22656,"l":"sprite_frame_098","c":"Hardware sprite image 98: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $62. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[10,160,0,21,80,0,10,160]},{"a":22664,"t":"byte","b":[0,5,66,0,5,69,0,5]},{"a":22672,"t":"byte","b":[69,0,7,194,0,13,98,0]},{"a":22680,"t":"byte","b":[15,227,0,60,127,0,123,191]},{"a":22688,"t":"byte","b":[0,239,227,0,174,226,0,71]},{"a":22696,"t":"byte","b":[194,0,206,192,0,192,224,0]},{"a":22704,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":22712,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":22720,"l":"sprite_frame_099","c":"Hardware sprite image 99: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $63. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[192,0,0,202,160,0,213,80]},{"a":22728,"t":"byte","b":[0,202,160,0,69,64,0,69]},{"a":22736,"t":"byte","b":[66,0,167,197,0,205,101,0]},{"a":22744,"t":"byte","b":[111,226,0,124,122,0,58,191]},{"a":22752,"t":"byte","b":[0,15,239,0,14,227,0,7]},{"a":22760,"t":"byte","b":[194,0,6,226,0,14,2,0]},{"a":22768,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":22776,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":22784,"l":"sprite_frame_100","c":"Hardware sprite image 100: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $64. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[3,0,0,4,128,0,5,192]},{"a":22792,"t":"byte","b":[0,11,160,0,21,64,0,23]},{"a":22800,"t":"byte","b":[96,0,23,96,0,31,224,0]},{"a":22808,"t":"byte","b":[19,144,0,45,104,0,47,120]},{"a":22816,"t":"byte","b":[0,47,120,0,47,120,0,47]},{"a":22824,"t":"byte","b":[120,0,175,121,0,127,254,0]},{"a":22832,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":22840,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":22848,"l":"sprite_frame_101","c":"Hardware sprite image 101: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $65. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[0,192,0,1,32,0,1,112]},{"a":22856,"t":"byte","b":[0,2,232,0,5,80,0,5]},{"a":22864,"t":"byte","b":[216,0,5,216,0,7,248,0]},{"a":22872,"t":"byte","b":[9,200,0,22,180,0,23,188]},{"a":22880,"t":"byte","b":[0,23,188,0,23,188,0,23]},{"a":22888,"t":"byte","b":[188,0,151,189,0,127,254,0]},{"a":22896,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":22904,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":22912,"l":"sprite_frame_102","c":"Hardware sprite image 102: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $66. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[118,0,0,0,0,0,110,0]},{"a":22920,"t":"byte","b":[0,118,0,0,110,0,0,0]},{"a":22928,"t":"byte","b":[0,0,118,0,0,110,0,0]},{"a":22936,"t":"byte","b":[0,0,0,118,0,0,0,0]},{"a":22944,"t":"byte","b":[0,0,0,0,110,0,0,118]},{"a":22952,"t":"byte","b":[0,0,0,0,0,110,0,0]},{"a":22960,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":22968,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":22976,"l":"sprite_frame_103","c":"Hardware sprite image 103: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $67. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[29,128,0,42,0,0,39,96]},{"a":22984,"t":"byte","b":[0,81,176,0,75,208,0,144]},{"a":22992,"t":"byte","b":[128,0,170,232,0,148,184,0]},{"a":23000,"t":"byte","b":[145,128,0,170,216,0,145,0]},{"a":23008,"t":"byte","b":[0,85,0,0,75,176,0,43]},{"a":23016,"t":"byte","b":[96,0,36,0,0,29,128,0]},{"a":23024,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":23032,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":23040,"l":"sprite_frame_104","c":"Hardware sprite image 104: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $68. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[3,192,0,12,48,0,16,152]},{"a":23048,"t":"byte","b":[0,50,20,0,104,130,0,64]},{"a":23056,"t":"byte","b":[42,0,181,17,0,200,69,0]},{"a":23064,"t":"byte","b":[164,145,0,154,5,0,72,66]},{"a":23072,"t":"byte","b":[0,85,10,0,40,84,0,18]},{"a":23080,"t":"byte","b":[136,0,13,112,0,3,192,0]},{"a":23088,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":23096,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":23104,"l":"sprite_frame_105","c":"Hardware sprite image 105: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $69. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[1,184,0,0,84,0,6,228]},{"a":23112,"t":"byte","b":[0,13,138,0,11,210,0,1]},{"a":23120,"t":"byte","b":[9,0,23,85,0,29,41,0]},{"a":23128,"t":"byte","b":[1,137,0,27,85,0,0,137]},{"a":23136,"t":"byte","b":[0,0,170,0,13,210,0,6]},{"a":23144,"t":"byte","b":[212,0,0,36,0,1,184,0]},{"a":23152,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":23160,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":23168,"l":"sprite_frame_106","c":"Hardware sprite image 106: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $6A. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[0,0,0,6,0,0,8,0]},{"a":23176,"t":"byte","b":[0,56,0,0,80,0,0,240]},{"a":23184,"t":"byte","b":[0,0,248,0,0,60,0,0]},{"a":23192,"t":"byte","b":[62,0,0,126,0,0,159,0]},{"a":23200,"t":"byte","b":[0,31,0,0,31,192,0,14]},{"a":23208,"t":"byte","b":[192,0,24,0,0,96,0,0]},{"a":23216,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":23224,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":23232,"l":"sprite_frame_107","c":"Hardware sprite image 107: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $6B. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[0,0,0,0,0,0,15,0]},{"a":23240,"t":"byte","b":[0,20,128,0,60,0,0,14]},{"a":23248,"t":"byte","b":[0,0,63,0,0,15,128,0]},{"a":23256,"t":"byte","b":[31,128,0,47,192,0,15,192]},{"a":23264,"t":"byte","b":[0,7,240,0,3,176,0,1]},{"a":23272,"t":"byte","b":[0,0,2,0,0,4,0,0]},{"a":23280,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":23288,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":23296,"l":"sprite_frame_108","c":"Hardware sprite image 108: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $6C. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[0,0,0,0,96,0,0,128]},{"a":23304,"t":"byte","b":[0,3,128,0,13,0,0,7]},{"a":23312,"t":"byte","b":[0,0,3,128,0,7,192,0]},{"a":23320,"t":"byte","b":[11,224,0,7,224,0,9,240]},{"a":23328,"t":"byte","b":[0,1,240,0,1,252,0,0]},{"a":23336,"t":"byte","b":[236,0,1,128,0,6,0,0]},{"a":23344,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":23352,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":23360,"l":"sprite_frame_109","c":"Hardware sprite image 109: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $6D. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[0,0,0,0,0,0,0,4]},{"a":23368,"t":"byte","b":[0,0,8,0,0,112,0,0]},{"a":23376,"t":"byte","b":[160,0,1,224,0,0,112,0]},{"a":23384,"t":"byte","b":[1,248,0,0,120,0,1,252]},{"a":23392,"t":"byte","b":[0,0,124,0,0,124,0,0]},{"a":23400,"t":"byte","b":[127,0,0,59,0,0,240,0]},{"a":23408,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":23416,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":23424,"l":"sprite_frame_110","c":"Hardware sprite image 110: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $6E. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[4,0,0,4,0,0,12,0]},{"a":23432,"t":"byte","b":[0,12,0,0,22,0,0,30]},{"a":23440,"t":"byte","b":[0,0,62,0,0,108,0,0]},{"a":23448,"t":"byte","b":[158,0,0,63,0,0,63,0]},{"a":23456,"t":"byte","b":[0,63,0,0,127,0,0,86]},{"a":23464,"t":"byte","b":[0,0,28,0,0,6,0,0]},{"a":23472,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":23480,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":23488,"l":"sprite_frame_111","c":"Hardware sprite image 111: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $6F. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[4,128,0,8,64,0,19,32]},{"a":23496,"t":"byte","b":[0,19,32,0,23,160,0,19]},{"a":23504,"t":"byte","b":[32,0,31,224,0,27,96,0]},{"a":23512,"t":"byte","b":[39,144,0,15,192,0,15,192]},{"a":23520,"t":"byte","b":[0,15,192,0,15,192,0,29]},{"a":23528,"t":"byte","b":[128,0,3,128,0,1,0,0]},{"a":23536,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":23544,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":23552,"l":"sprite_frame_112","c":"Hardware sprite image 112: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $70. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[0,128,0,0,128,0,0,192]},{"a":23560,"t":"byte","b":[0,0,192,0,1,160,0,1]},{"a":23568,"t":"byte","b":[224,0,1,240,0,0,216,0]},{"a":23576,"t":"byte","b":[1,228,0,3,240,0,3,240]},{"a":23584,"t":"byte","b":[0,3,240,0,3,248,0,1]},{"a":23592,"t":"byte","b":[168,0,0,224,0,1,128,0]},{"a":23600,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":23608,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":23616,"l":"sprite_frame_113","c":"Hardware sprite image 113: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $71. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[0,72,0,0,132,0,1,50]},{"a":23624,"t":"byte","b":[0,1,2,0,1,122,0,1]},{"a":23632,"t":"byte","b":[122,0,1,254,0,1,182,0]},{"a":23640,"t":"byte","b":[2,121,0,0,252,0,0,252]},{"a":23648,"t":"byte","b":[0,0,252,0,0,252,0,0]},{"a":23656,"t":"byte","b":[110,0,0,112,0,0,32,0]},{"a":23664,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":23672,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":23680,"l":"sprite_frame_114","c":"Hardware sprite image 114: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $72. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[60,0,0,110,0,0,167,0]},{"a":23688,"t":"byte","b":[0,165,0,0,119,0,0,163]},{"a":23696,"t":"byte","b":[0,0,98,0,0,44,0,0]},{"a":23704,"t":"byte","b":[52,0,0,70,0,0,197,0]},{"a":23712,"t":"byte","b":[0,238,0,0,165,0,0,229]},{"a":23720,"t":"byte","b":[0,0,118,0,0,60,0,0]},{"a":23728,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":23736,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":23744,"l":"sprite_frame_115","c":"Hardware sprite image 115: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $73. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[0,0,0,0,0,0,0,176]},{"a":23752,"t":"byte","b":[0,1,72,0,3,252,0,0]},{"a":23760,"t":"byte","b":[68,0,2,12,0,2,124,0]},{"a":23768,"t":"byte","b":[53,216,0,70,240,0,197,0]},{"a":23776,"t":"byte","b":[0,238,0,0,165,0,0,229]},{"a":23784,"t":"byte","b":[0,0,118,0,0,60,0,0]},{"a":23792,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":23800,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":23808,"l":"sprite_frame_116","c":"Hardware sprite image 116: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $74. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":23816,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":23824,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":23832,"t":"byte","b":[52,52,0,70,70,0,197,197]},{"a":23840,"t":"byte","b":[0,238,238,0,165,165,0,229]},{"a":23848,"t":"byte","b":[229,0,118,118,0,60,60,0]},{"a":23856,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":23864,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":23872,"l":"sprite_frame_117","c":"Hardware sprite image 117: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $75. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[0,0,0,0,0,0,15,0]},{"a":23880,"t":"byte","b":[0,27,128,0,62,64,0,48]},{"a":23888,"t":"byte","b":[64,0,34,0,0,63,192,0]},{"a":23896,"t":"byte","b":[18,180,0,13,70,0,0,197]},{"a":23904,"t":"byte","b":[0,0,238,0,0,165,0,0]},{"a":23912,"t":"byte","b":[229,0,0,118,0,0,60,0]},{"a":23920,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":23928,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":23936,"l":"sprite_frame_118","c":"Hardware sprite image 118: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $76. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[3,192,0,6,96,0,13,240]},{"a":23944,"t":"byte","b":[0,26,216,0,53,92,0,32]},{"a":23952,"t":"byte","b":[4,0,127,254,0,215,117,0]},{"a":23960,"t":"byte","b":[178,39,0,215,117,0,127,254]},{"a":23968,"t":"byte","b":[0,21,120,0,37,164,0,2]},{"a":23976,"t":"byte","b":[64,0,17,136,0,0,0,0]},{"a":23984,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":23992,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":24000,"l":"sprite_frame_119","c":"Hardware sprite image 119: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $77. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[3,192,0,6,96,0,13,240]},{"a":24008,"t":"byte","b":[0,26,184,0,53,92,0,32]},{"a":24016,"t":"byte","b":[4,0,127,254,0,174,235,0]},{"a":24024,"t":"byte","b":[228,77,0,174,235,0,127,254]},{"a":24032,"t":"byte","b":[0,21,120,0,10,80,0,1]},{"a":24040,"t":"byte","b":[128,0,4,32,0,1,0,0]},{"a":24048,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":24056,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":24064,"l":"sprite_frame_120","c":"Hardware sprite image 120: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $78. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[3,192,0,6,96,0,13,240]},{"a":24072,"t":"byte","b":[0,26,216,0,53,92,0,32]},{"a":24080,"t":"byte","b":[4,0,127,254,0,237,219,0]},{"a":24088,"t":"byte","b":[168,147,0,237,219,0,127,254]},{"a":24096,"t":"byte","b":[0,21,120,0,37,164,0,2]},{"a":24104,"t":"byte","b":[64,0,17,136,0,4,32,0]},{"a":24112,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":24120,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":24128,"l":"sprite_frame_121","c":"Hardware sprite image 121: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $79. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[3,192,0,6,96,0,29,240]},{"a":24136,"t":"byte","b":[0,26,232,0,53,92,0,32]},{"a":24144,"t":"byte","b":[4,0,127,254,0,219,183,0]},{"a":24152,"t":"byte","b":[201,21,0,219,183,0,127,254]},{"a":24160,"t":"byte","b":[0,21,120,0,10,66,0,65]},{"a":24168,"t":"byte","b":[144,0,4,0,0,17,68,0]},{"a":24176,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":24184,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":24192,"l":"sprite_frame_122","c":"Hardware sprite image 122: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $7A. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[7,224,0,15,240,0,223,251]},{"a":24200,"t":"byte","b":[0,63,252,0,31,248,0,31]},{"a":24208,"t":"byte","b":[248,0,49,140,0,106,86,0]},{"a":24216,"t":"byte","b":[177,141,0,158,249,0,13,240]},{"a":24224,"t":"byte","b":[0,29,184,0,54,108,0,89]},{"a":24232,"t":"byte","b":[154,0,140,49,0,7,224,0]},{"a":24240,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":24248,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":24256,"l":"sprite_frame_123","c":"Hardware sprite image 123: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $7B. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[7,224,0,15,240,0,31,248]},{"a":24264,"t":"byte","b":[0,255,255,0,31,248,0,31]},{"a":24272,"t":"byte","b":[248,0,49,140,0,42,84,0]},{"a":24280,"t":"byte","b":[113,142,0,158,249,0,141,241]},{"a":24288,"t":"byte","b":[0,29,184,0,50,76,0,88]},{"a":24296,"t":"byte","b":[26,0,76,50,0,7,224,0]},{"a":24304,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":24312,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":24320,"l":"sprite_frame_124","c":"Hardware sprite image 124: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $7C. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[7,224,0,15,240,0,31,248]},{"a":24328,"t":"byte","b":[0,223,251,0,63,252,0,31]},{"a":24336,"t":"byte","b":[248,0,49,140,0,42,84,0]},{"a":24344,"t":"byte","b":[48,140,0,93,250,0,141,177]},{"a":24352,"t":"byte","b":[0,154,89,0,18,72,0,24]},{"a":24360,"t":"byte","b":[24,0,44,52,0,199,227,0]},{"a":24368,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":24376,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":24384,"l":"sprite_frame_125","c":"Hardware sprite image 125: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $7D. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[7,224,0,143,241,0,95,250]},{"a":24392,"t":"byte","b":[0,63,252,0,31,248,0,17]},{"a":24400,"t":"byte","b":[136,0,46,116,0,42,84,0]},{"a":24408,"t":"byte","b":[113,142,0,94,250,0,141,241]},{"a":24416,"t":"byte","b":[0,29,184,0,18,72,0,120]},{"a":24424,"t":"byte","b":[30,0,140,49,0,7,224,0]},{"a":24432,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":24440,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":24448,"l":"sprite_frame_126","c":"Hardware sprite image 126: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $7E. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[21,3,0,42,190,0,21,94]},{"a":24456,"t":"byte","b":[0,74,168,0,53,92,0,138]},{"a":24464,"t":"byte","b":[174,0,109,92,0,153,249,0]},{"a":24472,"t":"byte","b":[110,191,0,221,99,0,46,73]},{"a":24480,"t":"byte","b":[0,89,129,0,4,130,0,43]},{"a":24488,"t":"byte","b":[198,0,18,252,0,12,253,0]},{"a":24496,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":24504,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":24512,"l":"sprite_frame_127","c":"Hardware sprite image 127: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $7F. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[64,168,0,253,84,0,122,168]},{"a":24520,"t":"byte","b":[0,21,82,0,58,172,0,117]},{"a":24528,"t":"byte","b":[81,0,58,182,0,159,153,0]},{"a":24536,"t":"byte","b":[253,118,0,198,187,0,146,116]},{"a":24544,"t":"byte","b":[0,129,154,0,65,32,0,99]},{"a":24552,"t":"byte","b":[212,0,63,72,0,191,48,0]},{"a":24560,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":24568,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":24576,"l":"sprite_frame_128","c":"Hardware sprite image 128: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $80. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[253,191,0,191,239,0,234,215]},{"a":24584,"t":"byte","b":[0,170,69,0,104,212,0,72]},{"a":24592,"t":"byte","b":[132,0,64,4,0,64,1,0]},{"a":24600,"t":"byte","b":[80,0,0,18,10,0,64,12]},{"a":24608,"t":"byte","b":[0,42,34,0,20,168,0,32]},{"a":24616,"t":"byte","b":[132,0,20,40,0,5,32,0]},{"a":24624,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":24632,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":24640,"l":"sprite_frame_129","c":"Hardware sprite image 129: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $81. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[253,191,0,255,251,0,172,215]},{"a":24648,"t":"byte","b":[0,170,209,0,42,84,0,130]},{"a":24656,"t":"byte","b":[68,0,66,1,0,8,4,0]},{"a":24664,"t":"byte","b":[74,16,0,34,130,0,8,168]},{"a":24672,"t":"byte","b":[0,20,4,0,10,144,0,1]},{"a":24680,"t":"byte","b":[64,0,0,0,0,0,0,0]},{"a":24688,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":24696,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":24704,"l":"sprite_frame_130","c":"Hardware sprite image 130: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $82. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[12,0,0,54,128,0,127,64]},{"a":24712,"t":"byte","b":[0,126,128,0,253,0,0,254]},{"a":24720,"t":"byte","b":[128,0,255,128,0,255,0,0]},{"a":24728,"t":"byte","b":[85,0,0,42,0,0,20,0]},{"a":24736,"t":"byte","b":[0,42,0,0,20,0,0,8]},{"a":24744,"t":"byte","b":[0,0,20,0,0,8,0,0]},{"a":24752,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":24760,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":24768,"l":"sprite_frame_131","c":"Hardware sprite image 131: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $83. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[3,0,0,13,160,0,31,208]},{"a":24776,"t":"byte","b":[0,31,160,0,63,64,0,63]},{"a":24784,"t":"byte","b":[160,0,63,224,0,63,192,0]},{"a":24792,"t":"byte","b":[53,64,0,42,128,0,5,0]},{"a":24800,"t":"byte","b":[0,10,128,0,5,0,0,2]},{"a":24808,"t":"byte","b":[0,0,5,0,0,2,0,0]},{"a":24816,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":24824,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":24832,"l":"sprite_frame_132","c":"Hardware sprite image 132: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $84. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[0,192,0,3,104,0,7,244]},{"a":24840,"t":"byte","b":[0,7,232,0,15,208,0,15]},{"a":24848,"t":"byte","b":[232,0,15,248,0,15,240,0]},{"a":24856,"t":"byte","b":[5,80,0,10,160,0,1,64]},{"a":24864,"t":"byte","b":[0,2,160,0,9,64,0,0]},{"a":24872,"t":"byte","b":[128,0,1,64,0,0,128,0]},{"a":24880,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":24888,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":24896,"l":"sprite_frame_133","c":"Hardware sprite image 133: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $85. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[0,48,0,0,218,0,1,253]},{"a":24904,"t":"byte","b":[0,1,250,0,3,244,0,3]},{"a":24912,"t":"byte","b":[250,0,3,254,0,3,252,0]},{"a":24920,"t":"byte","b":[3,84,0,2,168,0,0,80]},{"a":24928,"t":"byte","b":[0,0,168,0,0,80,0,0]},{"a":24936,"t":"byte","b":[32,0,0,80,0,0,32,0]},{"a":24944,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":24952,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":24960,"l":"sprite_frame_134","c":"Hardware sprite image 134: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $86. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[4,0,0,42,128,0,85,64]},{"a":24968,"t":"byte","b":[0,43,128,0,68,64,0,175]},{"a":24976,"t":"byte","b":[160,0,95,64,0,32,128,0]},{"a":24984,"t":"byte","b":[85,64,0,42,128,0,4,0]},{"a":24992,"t":"byte","b":[0,4,0,0,8,0,0,62]},{"a":25000,"t":"byte","b":[0,0,65,0,0,129,0,0]},{"a":25008,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":25016,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":25024,"l":"sprite_frame_135","c":"Hardware sprite image 135: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $87. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[2,0,0,21,64,0,42,160]},{"a":25032,"t":"byte","b":[0,21,192,0,34,32,0,95]},{"a":25040,"t":"byte","b":[80,0,42,160,0,16,64,0]},{"a":25048,"t":"byte","b":[42,160,0,21,64,0,2,0]},{"a":25056,"t":"byte","b":[0,2,0,0,14,0,0,17]},{"a":25064,"t":"byte","b":[128,0,32,64,0,0,0,0]},{"a":25072,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":25080,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":25088,"l":"sprite_frame_136","c":"Hardware sprite image 136: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $88. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[0,64,0,2,168,0,5,84]},{"a":25096,"t":"byte","b":[0,3,168,0,4,68,0,11]},{"a":25104,"t":"byte","b":[234,0,5,244,0,2,8,0]},{"a":25112,"t":"byte","b":[5,84,0,2,168,0,0,64]},{"a":25120,"t":"byte","b":[0,0,64,0,0,112,0,1]},{"a":25128,"t":"byte","b":[136,0,2,4,0,0,0,0]},{"a":25136,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":25144,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":25152,"l":"sprite_frame_137","c":"Hardware sprite image 137: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $89. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[0,32,0,1,84,0,2,170]},{"a":25160,"t":"byte","b":[0,1,212,0,2,34,0,5]},{"a":25168,"t":"byte","b":[125,0,2,250,0,1,84,0]},{"a":25176,"t":"byte","b":[2,170,0,1,84,0,0,32]},{"a":25184,"t":"byte","b":[0,0,32,0,0,16,0,0]},{"a":25192,"t":"byte","b":[124,0,0,130,0,0,129,0]},{"a":25200,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":25208,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":25216,"l":"sprite_frame_138","c":"Hardware sprite image 138: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $8A. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":25224,"t":"byte","b":[0,0,0,0,0,0,0,111]},{"a":25232,"t":"byte","b":[64,0,187,128,0,117,64,0]},{"a":25240,"t":"byte","b":[26,128,0,5,0,0,0,128]},{"a":25248,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":25256,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":25264,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":25272,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":25280,"l":"sprite_frame_139","c":"Hardware sprite image 139: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $8B. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[0,0,0,0,0,0,0,160]},{"a":25288,"t":"byte","b":[0,1,64,0,2,128,0,1]},{"a":25296,"t":"byte","b":[80,0,54,160,0,93,112,0]},{"a":25304,"t":"byte","b":[55,224,0,3,192,0,0,0]},{"a":25312,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":25320,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":25328,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":25336,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":25344,"l":"sprite_frame_140","c":"Hardware sprite image 140: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $8C. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":25352,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":25360,"t":"byte","b":[244,0,25,184,0,47,84,0]},{"a":25368,"t":"byte","b":[25,168,0,0,80,0,0,8]},{"a":25376,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":25384,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":25392,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":25400,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":25408,"l":"sprite_frame_141","c":"Hardware sprite image 141: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $8D. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":25416,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":25424,"t":"byte","b":[61,0,3,126,0,5,215,0]},{"a":25432,"t":"byte","b":[3,106,0,0,20,0,0,40]},{"a":25440,"t":"byte","b":[0,0,20,0,0,10,0,0]},{"a":25448,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":25456,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":25464,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":25472,"l":"sprite_frame_142","c":"Hardware sprite image 142: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $8E. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":25480,"t":"byte","b":[0,0,0,0,0,0,0,188]},{"a":25488,"t":"byte","b":[0,0,126,192,0,235,160,0]},{"a":25496,"t":"byte","b":[86,192,0,40,0,0,20,0]},{"a":25504,"t":"byte","b":[0,40,0,0,80,0,0,0]},{"a":25512,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":25520,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":25528,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":25536,"l":"sprite_frame_143","c":"Hardware sprite image 143: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $8F. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":25544,"t":"byte","b":[0,0,0,0,0,0,0,47]},{"a":25552,"t":"byte","b":[0,0,29,152,0,42,244,0]},{"a":25560,"t":"byte","b":[21,152,0,10,0,0,16,0]},{"a":25568,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":25576,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":25584,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":25592,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":25600,"l":"sprite_frame_144","c":"Hardware sprite image 144: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $90. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[0,0,0,0,0,0,5,0]},{"a":25608,"t":"byte","b":[0,2,128,0,1,64,0,10]},{"a":25616,"t":"byte","b":[128,0,5,108,0,14,186,0]},{"a":25624,"t":"byte","b":[7,236,0,3,192,0,0,0]},{"a":25632,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":25640,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":25648,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":25656,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":25664,"l":"sprite_frame_145","c":"Hardware sprite image 145: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $91. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":25672,"t":"byte","b":[0,0,0,0,0,0,0,2]},{"a":25680,"t":"byte","b":[246,0,1,221,0,2,174,0]},{"a":25688,"t":"byte","b":[1,88,0,0,160,0,1,0]},{"a":25696,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":25704,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":25712,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":25720,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":25728,"l":"sprite_frame_146","c":"Hardware sprite image 146: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $92. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[24,0,0,60,0,0,212,0]},{"a":25736,"t":"byte","b":[0,46,0,0,58,0,0,58]},{"a":25744,"t":"byte","b":[0,0,90,0,0,93,0,0]},{"a":25752,"t":"byte","b":[79,0,0,67,0,0,33,128]},{"a":25760,"t":"byte","b":[0,34,0,0,30,0,0,20]},{"a":25768,"t":"byte","b":[0,0,19,0,0,60,0,0]},{"a":25776,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":25784,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":25792,"l":"sprite_frame_147","c":"Hardware sprite image 147: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $93. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[6,0,0,15,0,0,63,0]},{"a":25800,"t":"byte","b":[0,11,128,0,14,128,0,14]},{"a":25808,"t":"byte","b":[128,0,31,0,0,23,128,0]},{"a":25816,"t":"byte","b":[17,192,0,16,96,0,8,64]},{"a":25824,"t":"byte","b":[0,8,128,0,7,128,0,2]},{"a":25832,"t":"byte","b":[0,0,2,0,0,7,0,0]},{"a":25840,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":25848,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":25856,"l":"sprite_frame_148","c":"Hardware sprite image 148: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $94. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[1,128,0,11,192,0,5,64]},{"a":25864,"t":"byte","b":[0,10,224,0,3,160,0,3]},{"a":25872,"t":"byte","b":[160,0,5,160,0,5,208,0]},{"a":25880,"t":"byte","b":[4,240,0,4,48,0,2,24]},{"a":25888,"t":"byte","b":[0,2,32,0,1,224,0,1]},{"a":25896,"t":"byte","b":[64,0,6,48,0,1,64,0]},{"a":25904,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":25912,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":25920,"l":"sprite_frame_149","c":"Hardware sprite image 149: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $95. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[0,96,0,0,176,0,3,80]},{"a":25928,"t":"byte","b":[0,0,184,0,0,232,0,0]},{"a":25936,"t":"byte","b":[232,0,1,104,0,1,116,0]},{"a":25944,"t":"byte","b":[1,60,0,1,12,0,0,134]},{"a":25952,"t":"byte","b":[0,0,136,0,0,120,0,0]},{"a":25960,"t":"byte","b":[37,0,0,34,0,0,116,0]},{"a":25968,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":25976,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":25984,"l":"sprite_frame_150","c":"Hardware sprite image 150: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $96. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[6,0,0,13,0,0,10,192]},{"a":25992,"t":"byte","b":[0,29,0,0,23,0,0,23]},{"a":26000,"t":"byte","b":[0,0,22,128,0,46,128,0]},{"a":26008,"t":"byte","b":[60,128,0,48,128,0,97,0]},{"a":26016,"t":"byte","b":[0,17,0,0,30,0,0,164]},{"a":26024,"t":"byte","b":[0,0,68,0,0,46,0,0]},{"a":26032,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":26040,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":26048,"l":"sprite_frame_151","c":"Hardware sprite image 151: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $97. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[1,128,0,3,208,0,2,160]},{"a":26056,"t":"byte","b":[0,7,80,0,5,192,0,5]},{"a":26064,"t":"byte","b":[192,0,5,160,0,11,160,0]},{"a":26072,"t":"byte","b":[15,32,0,12,32,0,24,64]},{"a":26080,"t":"byte","b":[0,4,64,0,7,128,0,2]},{"a":26088,"t":"byte","b":[128,0,12,96,0,2,128,0]},{"a":26096,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":26104,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":26112,"l":"sprite_frame_152","c":"Hardware sprite image 152: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $98. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[0,96,0,0,240,0,0,252]},{"a":26120,"t":"byte","b":[0,1,208,0,1,112,0,1]},{"a":26128,"t":"byte","b":[112,0,0,248,0,1,232,0]},{"a":26136,"t":"byte","b":[3,136,0,6,8,0,2,16]},{"a":26144,"t":"byte","b":[0,1,16,0,1,224,0,0]},{"a":26152,"t":"byte","b":[64,0,0,64,0,0,224,0]},{"a":26160,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":26168,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":26176,"l":"sprite_frame_153","c":"Hardware sprite image 153: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $99. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[0,24,0,0,60,0,0,43]},{"a":26184,"t":"byte","b":[0,0,116,0,0,92,0,0]},{"a":26192,"t":"byte","b":[92,0,0,90,0,0,186,0]},{"a":26200,"t":"byte","b":[0,242,0,0,194,0,1,132]},{"a":26208,"t":"byte","b":[0,0,68,0,0,120,0,0]},{"a":26216,"t":"byte","b":[80,0,1,144,0,0,120,0]},{"a":26224,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":26232,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":26240,"l":"sprite_frame_154","c":"Hardware sprite image 154: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $9A. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[12,0,0,18,0,0,33,0]},{"a":26248,"t":"byte","b":[0,45,0,0,33,0,0,18]},{"a":26256,"t":"byte","b":[0,0,12,0,0,12,0,0]},{"a":26264,"t":"byte","b":[30,0,0,0,0,0,55,0]},{"a":26272,"t":"byte","b":[0,64,0,0,13,64,0,172]},{"a":26280,"t":"byte","b":[64,0,64,128,0,46,0,0]},{"a":26288,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":26296,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":26304,"l":"sprite_frame_155","c":"Hardware sprite image 155: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $9B. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[14,192,0,29,160,0,31,0]},{"a":26312,"t":"byte","b":[0,31,224,0,31,0,0,29]},{"a":26320,"t":"byte","b":[160,0,14,192,0,3,0,0]},{"a":26328,"t":"byte","b":[7,128,0,0,0,0,14,192]},{"a":26336,"t":"byte","b":[0,0,32,0,43,0,0,35]},{"a":26344,"t":"byte","b":[80,0,16,96,0,7,0,0]},{"a":26352,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":26360,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":26368,"l":"sprite_frame_156","c":"Hardware sprite image 156: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $9C. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[4,8,0,6,24,0,7,56]},{"a":26376,"t":"byte","b":[0,15,252,0,7,56,0,6]},{"a":26384,"t":"byte","b":[216,0,4,200,0,0,192,0]},{"a":26392,"t":"byte","b":[1,224,0,0,0,0,1,208]},{"a":26400,"t":"byte","b":[0,4,8,0,8,212,0,10]},{"a":26408,"t":"byte","b":[192,0,0,8,0,3,176,0]},{"a":26416,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":26424,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":26432,"l":"sprite_frame_157","c":"Hardware sprite image 157: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $9D. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[0,220,0,1,110,0,0,62]},{"a":26440,"t":"byte","b":[0,1,254,0,0,62,0,1]},{"a":26448,"t":"byte","b":[110,0,0,220,0,0,48,0]},{"a":26456,"t":"byte","b":[0,120,0,0,0,0,0,184]},{"a":26464,"t":"byte","b":[0,1,2,0,2,177,0,0]},{"a":26472,"t":"byte","b":[53,0,1,0,0,0,220,0]},{"a":26480,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":26488,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":26496,"l":"sprite_frame_158","c":"Hardware sprite image 158: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $9E. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[0,0,0,0,0,0,7,224]},{"a":26504,"t":"byte","b":[0,31,184,0,61,236,0,127]},{"a":26512,"t":"byte","b":[254,0,125,246,0,251,247,0]},{"a":26520,"t":"byte","b":[251,247,0,127,238,0,127,222]},{"a":26528,"t":"byte","b":[0,63,252,0,31,248,0,7]},{"a":26536,"t":"byte","b":[224,0,0,0,0,0,0,0]},{"a":26544,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":26552,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":26560,"l":"sprite_frame_159","c":"Hardware sprite image 159: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $9F. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[0,0,0,1,128,0,7,224]},{"a":26568,"t":"byte","b":[0,13,112,0,31,248,0,63]},{"a":26576,"t":"byte","b":[252,0,63,244,0,125,254,0]},{"a":26584,"t":"byte","b":[123,246,0,59,236,0,63,220]},{"a":26592,"t":"byte","b":[0,31,56,0,15,240,0,7]},{"a":26600,"t":"byte","b":[224,0,1,128,0,0,0,0]},{"a":26608,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":26616,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":26624,"l":"sprite_frame_160","c":"Hardware sprite image 160: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $A0. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[1,128,0,7,224,0,15,240]},{"a":26632,"t":"byte","b":[0,30,248,0,31,120,0,63]},{"a":26640,"t":"byte","b":[124,0,59,252,0,55,244,0]},{"a":26648,"t":"byte","b":[55,252,0,63,236,0,63,236]},{"a":26656,"t":"byte","b":[0,31,216,0,31,56,0,15]},{"a":26664,"t":"byte","b":[240,0,7,224,0,1,128,0]},{"a":26672,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":26680,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":26688,"l":"sprite_frame_161","c":"Hardware sprite image 161: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $A1. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[0,0,0,1,128,0,7,224]},{"a":26696,"t":"byte","b":[0,15,240,0,30,184,0,63]},{"a":26704,"t":"byte","b":[252,0,63,244,0,123,254,0]},{"a":26712,"t":"byte","b":[119,246,0,55,236,0,63,220]},{"a":26720,"t":"byte","b":[0,31,56,0,15,240,0,7]},{"a":26728,"t":"byte","b":[224,0,1,128,0,0,0,0]},{"a":26736,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":26744,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":26752,"l":"sprite_frame_162","c":"Hardware sprite image 162: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $A2. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[128,0,0,64,0,0,163,96]},{"a":26760,"t":"byte","b":[0,83,96,0,41,192,0,22]},{"a":26768,"t":"byte","b":[160,0,11,224,0,7,112,0]},{"a":26776,"t":"byte","b":[2,168,0,5,212,0,2,42]},{"a":26784,"t":"byte","b":[0,3,229,0,3,226,0,3]},{"a":26792,"t":"byte","b":[97,0,3,98,0,7,112,0]},{"a":26800,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":26808,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":26816,"l":"sprite_frame_163","c":"Hardware sprite image 163: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $A3. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[0,0,0,0,0,0,6,48]},{"a":26824,"t":"byte","b":[0,86,48,0,169,192,0,86]},{"a":26832,"t":"byte","b":[160,0,11,224,0,6,48,0]},{"a":26840,"t":"byte","b":[3,232,0,5,212,0,2,42]},{"a":26848,"t":"byte","b":[0,3,228,0,3,234,0,23]},{"a":26856,"t":"byte","b":[100,0,14,96,0,4,112,0]},{"a":26864,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":26872,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":26880,"l":"sprite_frame_164","c":"Hardware sprite image 164: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $A4. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[0,0,0,0,0,0,3,96]},{"a":26888,"t":"byte","b":[0,3,96,0,1,192,0,30]},{"a":26896,"t":"byte","b":[160,0,43,224,0,86,180,0]},{"a":26904,"t":"byte","b":[163,106,0,69,213,0,130,34]},{"a":26912,"t":"byte","b":[0,3,225,0,3,226,0,3]},{"a":26920,"t":"byte","b":[96,0,3,96,0,7,112,0]},{"a":26928,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":26936,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":26944,"l":"sprite_frame_165","c":"Hardware sprite image 165: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $A5. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[0,0,0,0,0,0,6,48]},{"a":26952,"t":"byte","b":[0,86,48,0,169,192,0,86]},{"a":26960,"t":"byte","b":[160,0,11,224,0,7,244,0]},{"a":26968,"t":"byte","b":[2,42,0,5,213,0,2,34]},{"a":26976,"t":"byte","b":[0,3,225,0,3,224,0,3]},{"a":26984,"t":"byte","b":[116,0,3,56,0,7,16,0]},{"a":26992,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":27000,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":27008,"l":"sprite_frame_166","c":"Hardware sprite image 166: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $A6. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[2,4,0,5,14,0,10,132]},{"a":27016,"t":"byte","b":[0,21,196,0,23,68,0,43]},{"a":27024,"t":"byte","b":[228,0,47,224,0,18,68,0]},{"a":27032,"t":"byte","b":[8,130,0,7,44,0,21,80]},{"a":27040,"t":"byte","b":[0,42,164,0,85,68,0,170]},{"a":27048,"t":"byte","b":[132,0,69,0,0,29,192,0]},{"a":27056,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":27064,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":27072,"l":"sprite_frame_167","c":"Hardware sprite image 167: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $A7. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[2,0,0,5,0,0,10,132]},{"a":27080,"t":"byte","b":[0,21,206,0,23,68,0,43]},{"a":27088,"t":"byte","b":[228,0,47,228,0,18,68,0]},{"a":27096,"t":"byte","b":[8,128,0,7,4,0,21,82]},{"a":27104,"t":"byte","b":[0,42,172,0,85,64,0,170]},{"a":27112,"t":"byte","b":[132,0,69,4,0,29,196,0]},{"a":27120,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":27128,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":27136,"l":"sprite_frame_168","c":"Hardware sprite image 168: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $A8. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[0,4,0,7,6,0,47,164]},{"a":27144,"t":"byte","b":[0,95,212,0,48,25,0,66]},{"a":27152,"t":"byte","b":[20,0,50,96,0,31,196,0]},{"a":27160,"t":"byte","b":[8,130,0,7,44,0,21,80]},{"a":27168,"t":"byte","b":[0,42,164,0,85,68,0,170]},{"a":27176,"t":"byte","b":[132,0,69,0,0,12,192,0]},{"a":27184,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":27192,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":27200,"l":"sprite_frame_169","c":"Hardware sprite image 169: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $A9. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[0,0,0,7,0,0,47,164]},{"a":27208,"t":"byte","b":[0,80,86,0,34,36,0,82]},{"a":27216,"t":"byte","b":[84,0,63,228,0,23,68,0]},{"a":27224,"t":"byte","b":[8,128,0,7,4,0,21,82]},{"a":27232,"t":"byte","b":[0,42,172,0,85,64,0,170]},{"a":27240,"t":"byte","b":[132,0,69,4,0,25,132,0]},{"a":27248,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":27256,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":27264,"l":"sprite_frame_170","c":"Hardware sprite image 170: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $AA. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[0,0,0,0,0,0,194,0]},{"a":27272,"t":"byte","b":[0,127,0,0,127,0,0,194]},{"a":27280,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":27288,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":27296,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":27304,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":27312,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":27320,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":27328,"l":"sprite_frame_171","c":"Hardware sprite image 171: 21 rows of three bytes, followed by one alignment byte. VIC bank $4000 addresses this record with sprite pointer $AB. Bit order within each row follows the VIC sprite format; renderer mode and colours are set separately by the game.","t":"byte","b":[0,0,0,0,0,0,67,0]},{"a":27336,"t":"byte","b":[0,254,0,0,254,0,0,67]},{"a":27344,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":27352,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":27360,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":27368,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":27376,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":27384,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":27392,"t":"gap","n":192,"x":[13634]},{"a":27392,"t":"note","l":"rope_sprite_buffer","c":"Three 64-byte VIC sprite slots holding the rope sprites copied from the selected source triplet.","note":"outside the tracked image","x":[13634]},{"a":27456,"t":"note","l":"annotation_6b40","note":"outside the tracked image"},{"a":27584,"l":"annotation_6bc0","c":"Unreferenced sprite-bank tail/remnant; no active title or gameplay read targets this range.","t":"byte","b":[82,32,87,73,76,76,89,39]},{"a":27592,"t":"byte","b":[83,32,83,72,65,80,69,46]},{"a":27600,"t":"byte","b":[13,13,87,73,76,76,89,9]},{"a":27608,"t":"byte","b":[68,70,66,32,36,51,67,44]},{"a":27616,"t":"byte","b":[36,51,67,44,36,55,69,44]},{"a":27624,"t":"byte","b":[36,51,52,44,36,51,69,44]},{"a":27632,"t":"byte","b":[36,51,67,44,36,49,56,44]},{"a":27640,"t":"byte","b":[36,51,67,44,36,55,69,44]},{"a":27648,"l":"TITLE_MUSIC_VOICE_1","c":"Title voice 1: 803 note/duration pairs at $6C00-$7245, followed by $FF,$FF at $7246-$7247. Reader $A14F recognizes duration $FF and stops all voices. Durations sum to 13,248 native ticks; duration zero denotes 256 ticks.","t":"byte","b":[44,16,49,16,52,16,44,16]},{"a":27656,"t":"byte","b":[49,16,52,16,44,16,49,16]},{"a":27664,"t":"byte","b":[52,16,44,16,49,16,52,16]},{"a":27672,"t":"byte","b":[44,16,49,16,52,16,44,16]},{"a":27680,"t":"byte","b":[49,16,52,16,44,16,49,16]},{"a":27688,"t":"byte","b":[52,16,44,16,49,16,52,16]},{"a":27696,"t":"byte","b":[45,16,49,16,52,16,45,16]},{"a":27704,"t":"byte","b":[49,16,52,16,45,16,50,16]},{"a":27712,"t":"byte","b":[54,16,45,16,50,16,54,16]},{"a":27720,"t":"byte","b":[44,16,48,16,54,16,44,16]},{"a":27728,"t":"byte","b":[49,16,52,16,44,16,49,16]},{"a":27736,"t":"byte","b":[51,16,42,16,48,16,51,16]},{"a":27744,"t":"byte","b":[40,16,44,16,49,16,44,16]},{"a":27752,"t":"byte","b":[49,16,52,16,44,16,49,16]},{"a":27760,"t":"byte","b":[52,16,44,16,49,16,52,16]},{"a":27768,"t":"byte","b":[44,16,51,16,54,16,44,16]},{"a":27776,"t":"byte","b":[51,16,54,16,44,16,51,16]},{"a":27784,"t":"byte","b":[54,16,44,16,51,16,54,16]},{"a":27792,"t":"byte","b":[44,16,49,16,52,16,44,16]},{"a":27800,"t":"byte","b":[49,16,52,16,45,16,49,16]},{"a":27808,"t":"byte","b":[54,16,45,16,49,16,54,16]},{"a":27816,"t":"byte","b":[44,16,47,16,52,16,44,16]},{"a":27824,"t":"byte","b":[47,16,52,16,45,16,47,16]},{"a":27832,"t":"byte","b":[51,16,45,16,47,16,51,16]},{"a":27840,"t":"byte","b":[44,16,47,16,52,16,44,16]},{"a":27848,"t":"byte","b":[47,16,52,16,44,16,47,16]},{"a":27856,"t":"byte","b":[52,16,44,16,47,16,52,16]},{"a":27864,"t":"byte","b":[43,16,47,16,52,16,43,16]},{"a":27872,"t":"byte","b":[47,16,52,16,43,16,47,16]},{"a":27880,"t":"byte","b":[52,16,43,16,47,16,52,16]},{"a":27888,"t":"byte","b":[43,16,47,16,53,16,43,16]},{"a":27896,"t":"byte","b":[47,16,53,16,43,16,47,16]},{"a":27904,"l":"annotation_6d00","c":"Title music event streams.","t":"byte","b":[53,16,43,16,47,16,53,16]},{"a":27912,"t":"byte","b":[43,16,48,16,52,16,43,16]},{"a":27920,"t":"byte","b":[47,16,52,16,43,16,49,16]},{"a":27928,"t":"byte","b":[52,16,42,16,49,16,52,16]},{"a":27936,"t":"byte","b":[42,16,47,16,50,16,42,16]},{"a":27944,"t":"byte","b":[47,16,50,16,43,16,47,16]},{"a":27952,"t":"byte","b":[49,16,40,16,47,16,49,16]},{"a":27960,"t":"byte","b":[42,16,47,16,50,16,42,16]},{"a":27968,"t":"byte","b":[47,16,50,16,42,16,46,16]},{"a":27976,"t":"byte","b":[49,16,42,16,46,16,49,16]},{"a":27984,"t":"byte","b":[47,16,50,16,54,16,47,16]},{"a":27992,"t":"byte","b":[50,16,54,16,47,16,51,16]},{"a":28000,"t":"byte","b":[54,16,47,16,51,16,54,16]},{"a":28008,"t":"byte","b":[47,16,52,16,55,16,47,16]},{"a":28016,"t":"byte","b":[52,16,55,16,47,16,52,16]},{"a":28024,"t":"byte","b":[55,16,47,16,52,16,55,16]},{"a":28032,"t":"byte","b":[47,16,51,16,54,16,47,16]},{"a":28040,"t":"byte","b":[51,16,54,16,47,16,51,16]},{"a":28048,"t":"byte","b":[54,16,47,16,51,16,54,16]},{"a":28056,"t":"byte","b":[47,16,52,16,55,16,47,16]},{"a":28064,"t":"byte","b":[52,16,55,16,47,16,52,16]},{"a":28072,"t":"byte","b":[55,16,47,16,52,16,55,16]},{"a":28080,"t":"byte","b":[47,16,51,16,54,16,47,16]},{"a":28088,"t":"byte","b":[51,16,54,16,47,16,50,16]},{"a":28096,"t":"byte","b":[53,16,47,16,50,16,53,16]},{"a":28104,"t":"byte","b":[47,16,49,16,56,16,47,16]},{"a":28112,"t":"byte","b":[49,16,56,16,45,16,49,16]},{"a":28120,"t":"byte","b":[54,16,45,16,49,16,54,16]},{"a":28128,"t":"byte","b":[43,16,47,16,50,16,43,16]},{"a":28136,"t":"byte","b":[47,16,50,16,42,16,45,16]},{"a":28144,"t":"byte","b":[51,16,42,16,45,16,51,16]},{"a":28152,"t":"byte","b":[37,16,42,16,45,16,37,16]},{"a":28160,"t":"byte","b":[42,16,45,16,37,16,42,16]},{"a":28168,"t":"byte","b":[44,16,37,16,41,16,44,16]},{"a":28176,"t":"byte","b":[42,16,45,16,49,16,45,16]},{"a":28184,"t":"byte","b":[49,16,54,16,49,16,54,16]},{"a":28192,"t":"byte","b":[57,16,49,16,54,16,57,16]},{"a":28200,"t":"byte","b":[49,16,56,16,59,16,49,16]},{"a":28208,"t":"byte","b":[56,16,59,16,49,16,56,16]},{"a":28216,"t":"byte","b":[59,16,49,16,56,16,59,16]},{"a":28224,"t":"byte","b":[49,16,54,16,57,16,49,16]},{"a":28232,"t":"byte","b":[54,16,57,16,48,16,54,16]},{"a":28240,"t":"byte","b":[57,16,49,16,54,16,57,16]},{"a":28248,"t":"byte","b":[51,16,54,16,56,16,51,16]},{"a":28256,"t":"byte","b":[54,16,56,16,51,16,54,16]},{"a":28264,"t":"byte","b":[56,16,51,16,54,16,56,16]},{"a":28272,"t":"byte","b":[52,16,56,16,61,16,52,16]},{"a":28280,"t":"byte","b":[56,16,61,16,51,16,54,16]},{"a":28288,"t":"byte","b":[57,16,49,16,52,16,58,16]},{"a":28296,"t":"byte","b":[60,16,48,16,51,16,56,16]},{"a":28304,"t":"byte","b":[48,16,51,16,57,16,48,16]},{"a":28312,"t":"byte","b":[51,16,54,16,48,16,51,16]},{"a":28320,"t":"byte","b":[0,16,48,16,51,16,44,16]},{"a":28328,"t":"byte","b":[48,16,51,16,45,16,48,16]},{"a":28336,"t":"byte","b":[51,16,42,16,48,16,51,16]},{"a":28344,"t":"byte","b":[40,16,52,16,56,16,61,16]},{"a":28352,"t":"byte","b":[52,16,56,16,64,16,52,16]},{"a":28360,"t":"byte","b":[56,16,61,16,52,16,56,16]},{"a":28368,"t":"byte","b":[0,16,40,16,44,16,49,16]},{"a":28376,"t":"byte","b":[40,16,44,16,52,16,40,16]},{"a":28384,"t":"byte","b":[44,16,49,16,40,16,44,16]},{"a":28392,"t":"byte","b":[39,16,45,16,42,16,48,16]},{"a":28400,"t":"byte","b":[45,16,51,16,48,16,54,16]},{"a":28408,"t":"byte","b":[51,16,57,16,54,16,60,16]},{"a":28416,"t":"byte","b":[40,16,49,16,44,16,52,16]},{"a":28424,"t":"byte","b":[49,16,56,16,52,16,61,16]},{"a":28432,"t":"byte","b":[56,16,64,16,61,16,56,16]},{"a":28440,"t":"byte","b":[49,16,55,16,52,16,58,16]},{"a":28448,"t":"byte","b":[55,16,61,16,58,16,64,16]},{"a":28456,"t":"byte","b":[61,16,67,16,64,16,70,16]},{"a":28464,"t":"byte","b":[54,16,60,16,57,16,63,16]},{"a":28472,"t":"byte","b":[60,16,66,16,63,16,69,16]},{"a":28480,"t":"byte","b":[66,16,72,16,69,16,75,16]},{"a":28488,"t":"byte","b":[72,16,66,16,69,16,63,16]},{"a":28496,"t":"byte","b":[66,16,60,16,63,16,57,16]},{"a":28504,"t":"byte","b":[60,16,54,16,57,16,51,16]},{"a":28512,"t":"byte","b":[54,16,48,16,51,16,45,16]},{"a":28520,"t":"byte","b":[48,16,42,16,45,16,39,16]},{"a":28528,"t":"byte","b":[42,16,37,16,42,16,45,16]},{"a":28536,"t":"byte","b":[36,16,42,16,44,16,45,16]},{"a":28544,"t":"byte","b":[44,16,42,16,39,16,42,16]},{"a":28552,"t":"byte","b":[45,16,37,16,42,16,45,16]},{"a":28560,"t":"byte","b":[36,16,42,16,44,16,45,16]},{"a":28568,"t":"byte","b":[44,16,42,16,38,16,42,16]},{"a":28576,"t":"byte","b":[45,16,37,16,42,16,45,16]},{"a":28584,"t":"byte","b":[36,16,42,16,44,16,45,16]},{"a":28592,"t":"byte","b":[44,16,42,16,37,16,40,16]},{"a":28600,"t":"byte","b":[49,16,37,16,40,16,49,16]},{"a":28608,"t":"byte","b":[39,16,45,16,49,16,39,16]},{"a":28616,"t":"byte","b":[45,16,49,16,39,16,44,16]},{"a":28624,"t":"byte","b":[48,16,39,16,42,16,48,16]},{"a":28632,"t":"byte","b":[40,16,44,16,49,16,44,16]},{"a":28640,"t":"byte","b":[49,16,52,16,44,16,49,16]},{"a":28648,"t":"byte","b":[52,16,44,16,49,16,52,16]},{"a":28656,"t":"byte","b":[44,16,51,16,54,16,44,16]},{"a":28664,"t":"byte","b":[51,16,54,16,44,16,51,16]},{"a":28672,"l":"TITLE_MUSIC_VOICE_1_PAGE_4","c":"Continuation of the bounded voice-1 event stream. Each pair is note index then duration; $A14F advances by two bytes and the final control is $7246-$7247.","t":"byte","b":[54,16,44,16,51,16,54,16]},{"a":28680,"t":"byte","b":[44,16,49,16,52,16,44,16]},{"a":28688,"t":"byte","b":[49,16,52,16,45,16,49,16]},{"a":28696,"t":"byte","b":[54,16,45,16,49,16,54,16]},{"a":28704,"t":"byte","b":[44,16,47,16,52,16,44,16]},{"a":28712,"t":"byte","b":[47,16,52,16,45,16,47,16]},{"a":28720,"t":"byte","b":[51,16,45,16,47,16,51,16]},{"a":28728,"t":"byte","b":[44,16,47,16,52,16,47,16]},{"a":28736,"t":"byte","b":[52,16,56,16,47,16,52,16]},{"a":28744,"t":"byte","b":[56,16,47,16,52,16,56,16]},{"a":28752,"t":"byte","b":[47,16,54,16,57,16,47,16]},{"a":28760,"t":"byte","b":[54,16,57,16,47,16,54,16]},{"a":28768,"t":"byte","b":[57,16,47,16,54,16,57,16]},{"a":28776,"t":"byte","b":[47,16,52,16,56,16,47,16]},{"a":28784,"t":"byte","b":[52,16,56,16,48,16,54,16]},{"a":28792,"t":"byte","b":[56,16,49,16,52,16,56,16]},{"a":28800,"t":"byte","b":[51,16,54,16,56,16,51,16]},{"a":28808,"t":"byte","b":[54,16,56,16,52,16,56,16]},{"a":28816,"t":"byte","b":[61,16,52,16,56,16,61,16]},{"a":28824,"t":"byte","b":[50,16,54,16,57,16,50,16]},{"a":28832,"t":"byte","b":[54,16,57,16,48,16,54,16]},{"a":28840,"t":"byte","b":[56,16,48,16,54,16,56,16]},{"a":28848,"t":"byte","b":[49,16,52,16,56,16,49,16]},{"a":28856,"t":"byte","b":[52,16,56,16,49,16,53,16]},{"a":28864,"t":"byte","b":[56,16,49,16,53,16,56,16]},{"a":28872,"t":"byte","b":[49,16,54,16,57,16,49,16]},{"a":28880,"t":"byte","b":[54,16,57,16,49,16,54,16]},{"a":28888,"t":"byte","b":[57,16,49,16,54,16,57,16]},{"a":28896,"t":"byte","b":[49,16,53,16,56,16,49,16]},{"a":28904,"t":"byte","b":[53,16,56,16,49,16,53,16]},{"a":28912,"t":"byte","b":[56,16,49,16,53,16,56,16]},{"a":28920,"t":"byte","b":[49,16,54,16,57,16,49,16]},{"a":28928,"l":"TITLE_MUSIC_VOICE_1_PAGE_5","c":"Continuation of voice-1 note/duration pairs through the terminal pair at $7246-$7247. A native playback loop ended with voice-1 pointer $7246.","t":"byte","b":[54,16,57,16,49,16,54,16]},{"a":28936,"t":"byte","b":[57,16,49,16,54,16,57,16]},{"a":28944,"t":"byte","b":[49,16,53,16,56,16,49,16]},{"a":28952,"t":"byte","b":[53,16,56,16,49,16,54,16]},{"a":28960,"t":"byte","b":[57,16,49,16,54,16,57,16]},{"a":28968,"t":"byte","b":[47,16,54,16,57,16,47,16]},{"a":28976,"t":"byte","b":[54,16,57,16,47,16,54,16]},{"a":28984,"t":"byte","b":[57,16,47,16,52,16,56,16]},{"a":28992,"t":"byte","b":[45,16,52,16,56,16,45,16]},{"a":29000,"t":"byte","b":[51,16,54,16,44,16,51,16]},{"a":29008,"t":"byte","b":[54,16,44,16,49,16,52,16]},{"a":29016,"t":"byte","b":[42,16,49,16,51,16,42,16]},{"a":29024,"t":"byte","b":[49,16,51,16,44,16,49,16]},{"a":29032,"t":"byte","b":[51,16,45,16,49,16,51,16]},{"a":29040,"t":"byte","b":[44,16,49,16,52,16,44,16]},{"a":29048,"t":"byte","b":[49,16,52,16,42,16,48,16]},{"a":29056,"t":"byte","b":[51,16,42,16,48,16,51,16]},{"a":29064,"t":"byte","b":[40,16,44,16,49,16,44,16]},{"a":29072,"t":"byte","b":[49,16,52,16,44,16,49,16]},{"a":29080,"t":"byte","b":[52,16,44,16,49,16,52,16]},{"a":29088,"t":"byte","b":[44,16,51,16,54,16,44,16]},{"a":29096,"t":"byte","b":[51,16,54,16,44,16,51,16]},{"a":29104,"t":"byte","b":[54,16,44,16,51,16,54,16]},{"a":29112,"t":"byte","b":[44,16,52,16,49,16,56,16]},{"a":29120,"t":"byte","b":[52,16,61,16,56,16,64,16]},{"a":29128,"t":"byte","b":[61,16,68,16,64,16,61,16]},{"a":29136,"t":"byte","b":[60,16,63,16,57,16,60,16]},{"a":29144,"t":"byte","b":[54,16,57,16,51,16,54,16]},{"a":29152,"t":"byte","b":[45,16,48,16,44,16,42,16]},{"a":29160,"t":"byte","b":[40,16,52,16,49,16,56,16]},{"a":29168,"t":"byte","b":[52,16,61,16,56,16,64,16]},{"a":29176,"t":"byte","b":[61,16,68,16,64,16,61,16]},{"a":29184,"t":"byte","b":[60,16,63,16,57,16,60,16]},{"a":29192,"t":"byte","b":[54,16,57,16,51,16,54,16]},{"a":29200,"t":"byte","b":[45,16,48,16,44,16,42,16]},{"a":29208,"t":"byte","b":[40,16,44,16,49,16,52,16]},{"a":29216,"t":"byte","b":[49,16,44,16,0,16,40,16]},{"a":29224,"t":"byte","b":[44,16,49,16,44,16,40,16]},{"a":29232,"t":"byte","b":[0,16,37,16,40,16,44,16]},{"a":29240,"t":"byte","b":[40,16,37,16,0,96,0,96]},{"a":29248,"t":"byte","b":[49,93,0,3,49,192,255,255]},{"a":29256,"l":"TITLE_MUSIC_VOICE_2","c":"132 note/duration pairs, $7248-$734F. Durations total 13,248 ticks. Reader $A191 does not have the voice-1 $FF end check; the voice-1 end controls overall playback. Native end pointer was $7350.","t":"byte","b":[25,192,23,192,21,96,18,96]},{"a":29264,"t":"byte","b":[20,93,0,3,20,96,25,192]},{"a":29272,"t":"byte","b":[24,192,25,96,18,96,23,93]},{"a":29280,"t":"byte","b":[0,3,23,96,28,190,0,2]},{"a":29288,"t":"byte","b":[28,192,26,192,24,48,23,48]},{"a":29296,"t":"byte","b":[22,96,23,96,28,48,31,48]},{"a":29304,"t":"byte","b":[30,96,18,96,23,240,28,48]},{"a":29312,"t":"byte","b":[31,48,28,48,23,240,28,48]},{"a":29320,"t":"byte","b":[31,48,28,48,23,96,20,96]},{"a":29328,"t":"byte","b":[17,96,18,96,23,96,24,96]},{"a":29336,"t":"byte","b":[25,93,0,3,25,96,18,192]},{"a":29344,"t":"byte","b":[29,192,30,96,27,48,25,48]},{"a":29352,"t":"byte","b":[24,141,0,3,24,48,25,96]},{"a":29360,"t":"byte","b":[18,48,19,48,20,190,0,2]},{"a":29368,"t":"byte","b":[20,190,0,2,20,190,0,2]},{"a":29376,"t":"byte","b":[20,190,0,2,20,190,0,2]},{"a":29384,"t":"byte","b":[20,190,0,2,20,190,0,2]},{"a":29392,"t":"byte","b":[20,192,20,192,20,190,0,2]},{"a":29400,"t":"byte","b":[20,190,0,2,20,190,0,2]},{"a":29408,"t":"byte","b":[20,96,21,96,18,96,20,96]},{"a":29416,"t":"byte","b":[25,192,24,192,25,96,18,96]},{"a":29424,"t":"byte","b":[23,93,0,3,23,96,28,192]},{"a":29432,"t":"byte","b":[27,192,28,96,27,48,25,48]},{"a":29440,"t":"byte","b":[24,96,25,96,18,96,20,96]},{"a":29448,"t":"byte","b":[25,240,30,48,33,48,30,48]},{"a":29456,"t":"byte","b":[25,240,30,48,33,48,30,48]},{"a":29464,"t":"byte","b":[25,96,18,96,27,144,28,48]},{"a":29472,"t":"byte","b":[25,48,27,48,24,48,25,48]},{"a":29480,"t":"byte","b":[21,96,20,48,18,48,20,93]},{"a":29488,"t":"byte","b":[0,3,20,96,25,192,24,192]},{"a":29496,"t":"byte","b":[25,192,20,192,25,192,20,192]},{"a":29504,"t":"byte","b":[25,144,25,144,0,96,25,93]},{"a":29512,"t":"byte","b":[0,3,25,93,0,3,25,192]},{"a":29520,"l":"TITLE_MUSIC_VOICE_3","c":"228 note/duration pairs consumed at $7350-$7517 before voice 1 ends. Durations total 13,250 ticks, so this voice ends with two ticks remaining in its last event. Native end pointer was $7518. The bytes beyond that are not established as active title playback.","t":"byte","b":[37,192,35,192,33,96,30,96]},{"a":29528,"t":"byte","b":[32,93,0,3,32,96,37,144]},{"a":29536,"t":"byte","b":[56,33,0,3,56,9,0,3]},{"a":29544,"t":"byte","b":[56,141,0,3,56,33,0,3]},{"a":29552,"t":"byte","b":[56,9,0,3,56,96,57,96]},{"a":29560,"t":"byte","b":[56,96,54,48,59,48,52,48]},{"a":29568,"t":"byte","b":[0,144,0,144,55,33,0,3]},{"a":29576,"t":"byte","b":[55,9,0,3,55,141,0,3]},{"a":29584,"t":"byte","b":[55,33,0,3,55,9,0,3]},{"a":29592,"t":"byte","b":[55,144,54,45,0,3,54,96]},{"a":29600,"t":"byte","b":[55,48,52,48,54,93,0,3]},{"a":29608,"t":"byte","b":[54,96,0,48,0,48,0,48]},{"a":29616,"t":"byte","b":[59,48,60,144,58,48,59,141]},{"a":29624,"t":"byte","b":[0,3,59,48,60,144,58,48]},{"a":29632,"t":"byte","b":[59,93,0,3,59,93,0,3]},{"a":29640,"t":"byte","b":[59,96,57,96,55,96,54,96]},{"a":29648,"t":"byte","b":[49,93,0,3,49,45,0,3]},{"a":29656,"t":"byte","b":[49,48,0,144,61,33,0,3]},{"a":29664,"t":"byte","b":[61,9,0,3,61,141,0,3]},{"a":29672,"t":"byte","b":[61,33,0,3,61,9,0,3]},{"a":29680,"t":"byte","b":[61,96,60,48,61,48,63,141]},{"a":29688,"t":"byte","b":[0,3,63,48,64,96,63,48]},{"a":29696,"t":"byte","b":[61,48,32,189,0,3,32,189]},{"a":29704,"t":"byte","b":[0,3,32,189,0,3,32,189]},{"a":29712,"t":"byte","b":[0,3,32,191,0,3,32,189]},{"a":29720,"t":"byte","b":[0,3,32,189,0,3,32,192]},{"a":29728,"t":"byte","b":[32,192,32,189,0,3,32,189]},{"a":29736,"t":"byte","b":[0,3,32,189,0,3,32,96]},{"a":29744,"t":"byte","b":[33,96,30,96,32,96,37,144]},{"a":29752,"t":"byte","b":[56,33,0,3,56,9,0,3]},{"a":29760,"t":"byte","b":[56,141,0,3,56,33,0,3]},{"a":29768,"t":"byte","b":[56,9,0,3,56,96,57,96]},{"a":29776,"t":"byte","b":[56,96,54,48,59,48,52,48]},{"a":29784,"t":"byte","b":[0,48,0,48,59,33,0,3]},{"a":29792,"t":"byte","b":[59,9,0,3,59,141,0,3]},{"a":29800,"t":"byte","b":[59,33,0,3,59,9,0,3]},{"a":29808,"t":"byte","b":[59,96,60,48,61,48,63,96]},{"a":29816,"t":"byte","b":[64,96,62,96,60,96,61,141]},{"a":29824,"t":"byte","b":[0,3,61,48,62,144,60,48]},{"a":29832,"t":"byte","b":[61,141,0,3,61,48,62,144]},{"a":29840,"t":"byte","b":[60,48,61,93,0,3,61,96]},{"a":29848,"t":"byte","b":[59,141,0,3,59,48,57,45]},{"a":29856,"t":"byte","b":[0,3,57,48,56,45,0,3]},{"a":29864,"t":"byte","b":[56,48,54,96,56,48,57,48]},{"a":29872,"t":"byte","b":[56,93,0,3,56,96,32,141]},{"a":29880,"t":"byte","b":[0,3,32,33,0,3,32,9]},{"a":29888,"t":"byte","b":[0,3,32,141,0,3,32,33]},{"a":29896,"t":"byte","b":[0,3,32,9,0,3,32,141]},{"a":29904,"t":"byte","b":[0,3,32,33,0,3,29,9]},{"a":29912,"t":"byte","b":[0,3,32,141,0,3,32,33]},{"a":29920,"t":"byte","b":[0,3,32,9,0,3,32,141]},{"a":29928,"t":"byte","b":[0,3,32,33,0,3,32,9]},{"a":29936,"t":"byte","b":[0,3,32,141,0,3,32,33]},{"a":29944,"t":"byte","b":[0,3,32,9,0,3,32,96]},{"a":29952,"t":"byte","b":[37,96,32,93,0,3,32,16]},{"a":29960,"t":"byte","b":[37,16,32,16,28,16,32,16]},{"a":29968,"t":"byte","b":[28,16,0,96,32,96,32,192]},{"a":29976,"t":"byte","b":[255,255,32,32,32,32,32,32]},{"a":29984,"t":"byte","b":[0,3,0,0,0,0,0,0]},{"a":29992,"t":"byte","b":[0,0,0,48,0,0,192,0]},{"a":30000,"t":"byte","b":[84,0,0,0,0,0,0,0]},{"a":30008,"t":"byte","b":[0,0,0,0,0,192,3,0]},{"a":30016,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":30024,"t":"byte","b":[85,85,0,0,0,0,0,0]},{"a":30032,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":30040,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":30048,"t":"byte","b":[85,80,0,0,0,0,10,170]},{"a":30056,"t":"byte","b":[0,0,0,0,0,0,10,170]},{"a":30064,"t":"byte","b":[0,0,0,0,0,0,10,170]},{"a":30072,"t":"byte","b":[85,80,0,0,0,0,10,170]},{"a":30080,"t":"byte","b":[0,0,48,0,0,20,10,170]},{"a":30088,"t":"byte","b":[0,0,0,0,0,0,10,170]},{"a":30096,"t":"byte","b":[0,0,0,0,0,0,10,170]},{"a":30104,"t":"byte","b":[85,85,85,85,85,85,90,170]},{"a":30112,"t":"byte","b":[255,255,85,170,85,170,0,0]},{"a":30120,"t":"byte","b":[146,82,74,73,41,37,164,146]},{"a":30128,"t":"byte","b":[32,34,20,216,27,40,68,4]},{"a":30136,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":30144,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":30152,"t":"byte","b":[112,140,114,250,239,173,37,33]},{"a":30160,"t":"byte","b":[0,0,0,0,0,0,6,6]},{"a":30168,"t":"byte","b":[3,5,1,0,31,25,51,24]},{"a":30176,"t":"byte","b":[91,4,255,0,0,246,0,246]},{"a":30184,"t":"byte","b":[0,247,0,247,0,246,0,246]},{"a":30192,"t":"byte","b":[0,247,0,247,0,246,0,246]},{"a":30200,"t":"byte","b":[0,247,0,247,0,246,0,198]},{"a":30208,"l":"annotation_7600","c":"Unreferenced music/graphics-bank remnant or padding in the captured phase.","t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":30216,"t":"byte","b":[32,69,65,83,84,32,87,65]},{"a":30224,"t":"byte","b":[76,76,32,66,65,83,69,32]},{"a":30232,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":30240,"t":"byte","b":[160,0,10,0,0,0,0,0]},{"a":30248,"t":"byte","b":[160,0,10,0,0,0,0,0]},{"a":30256,"t":"byte","b":[160,0,10,0,0,0,0,0]},{"a":30264,"t":"byte","b":[160,0,10,0,0,0,0,0]},{"a":30272,"t":"byte","b":[160,0,26,0,0,0,0,0]},{"a":30280,"t":"byte","b":[160,4,10,0,0,0,0,0]},{"a":30288,"t":"byte","b":[160,0,10,0,0,0,0,0]},{"a":30296,"t":"byte","b":[164,0,10,0,0,0,0,0]},{"a":30304,"t":"byte","b":[160,4,0,0,0,0,0,0]},{"a":30312,"t":"byte","b":[160,0,0,0,0,0,0,0]},{"a":30320,"t":"byte","b":[160,0,26,0,0,0,0,0]},{"a":30328,"t":"byte","b":[160,16,10,0,0,0,0,0]},{"a":30336,"t":"byte","b":[160,0,10,0,0,0,0,0]},{"a":30344,"t":"byte","b":[160,4,10,0,0,9,76,68]},{"a":30352,"t":"byte","b":[65,32,49,13,9,65,78,68]},{"a":30360,"t":"byte","b":[32,35,36,70,69,13,9,83]},{"a":30368,"t":"byte","b":[84,65,32,49,9,42,32,83]},{"a":30376,"t":"byte","b":[87,73,84,67,72,32,79,85]},{"a":30384,"t":"byte","b":[84,32,66,65,83,73,67,13]},{"a":30392,"t":"byte","b":[9,76,68,65,32,86,73,67]},{"a":30400,"t":"byte","b":[43,36,49,49,9,13,9,79]},{"a":30408,"t":"byte","b":[82,65,32,35,36,52,48,13]},{"a":30416,"t":"byte","b":[9,83,84,65,32,86,73,67]},{"a":30424,"t":"byte","b":[43,36,49,49,32,42,32,83]},{"a":30432,"t":"byte","b":[69,84,32,85,80,32,69,88]},{"a":30440,"t":"byte","b":[84,69,78,68,69,68,32,67]},{"a":30448,"t":"byte","b":[79,76,79,85,82,32,77,79]},{"a":30456,"t":"byte","b":[68,69,46,13,9,83,84,90]},{"a":30464,"t":"byte","b":[32,80,65,85,83,69,79,78]},{"a":30472,"t":"byte","b":[9,42,32,80,65,85,83,69]},{"a":30480,"t":"byte","b":[32,77,79,68,69,32,68,73]},{"a":30488,"t":"byte","b":[83,65,66,76,69,68,46,13]},{"a":30496,"t":"byte","b":[9,80,79,75,69,32,77,85]},{"a":30504,"t":"byte","b":[83,73,67,79,78,44,36,70]},{"a":30512,"t":"byte","b":[70,9,42,32,77,85,83,73]},{"a":30520,"t":"byte","b":[67,32,69,78,65,66,76,69]},{"a":30528,"t":"byte","b":[68,46,13,9,80,79,75,69]},{"a":30536,"t":"byte","b":[32,87,73,76,84,77,82,44]},{"a":30544,"t":"byte","b":[49,53,13,9,74,83,82,32]},{"a":30552,"t":"byte","b":[83,69,84,85,80,77,76,77]},{"a":30560,"t":"byte","b":[13,13,9,83,69,73,13,13]},{"a":30568,"t":"byte","b":[9,76,68,65,32,36,68,67]},{"a":30576,"t":"byte","b":[48,68,13,9,65,78,68,32]},{"a":30584,"t":"byte","b":[35,36,55,70,13,9,83,84]},{"a":30592,"t":"byte","b":[65,32,36,68,67,48,68,13]},{"a":30600,"t":"byte","b":[9,76,68,65,32,36,68,67]},{"a":30608,"t":"byte","b":[48,69,13,9,65,78,68,32]},{"a":30616,"t":"byte","b":[35,36,70,69,13,9,83,84]},{"a":30624,"t":"byte","b":[65,32,36,68,67,48,69,32]},{"a":30632,"t":"byte","b":[42,32,68,73,83,65,66,76]},{"a":30640,"t":"byte","b":[69,32,73,78,84,69,82,82]},{"a":30648,"t":"byte","b":[85,80,84,83,46,13,13,9]},{"a":30656,"t":"byte","b":[76,68,65,32,82,65,83,84]},{"a":30664,"t":"byte","b":[69,82,72,13,9,65,78,68]},{"a":30672,"t":"byte","b":[32,35,36,55,70,13,9,83]},{"a":30680,"t":"byte","b":[84,65,32,82,65,83,84,69]},{"a":30688,"t":"byte","b":[82,72,13,9,80,79,75,69]},{"a":30696,"t":"byte","b":[32,82,65,83,84,69,82,76]},{"a":30704,"t":"byte","b":[44,86,66,76,65,78,75,13]},{"a":30712,"t":"byte","b":[9,80,79,75,69,32,73,78]},{"a":30720,"l":"JSW_State_game_charset","c":"128 eight-byte character glyphs used by both title and extended-color gameplay displays.","t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":30728,"l":"annotation_7808","c":"128 eight-byte character glyphs in VIC bank 1.","t":"byte","b":[0,56,108,198,254,198,198,0]},{"a":30736,"t":"byte","b":[0,252,198,252,198,198,252,0]},{"a":30744,"t":"byte","b":[0,124,198,192,192,198,124,0]},{"a":30752,"t":"byte","b":[0,248,204,198,198,204,248,0]},{"a":30760,"t":"byte","b":[0,254,192,248,192,192,254,0]},{"a":30768,"t":"byte","b":[0,254,192,248,192,192,192,0]},{"a":30776,"t":"byte","b":[0,124,198,192,222,198,124,0]},{"a":30784,"t":"byte","b":[0,198,198,254,198,198,198,0]},{"a":30792,"t":"byte","b":[0,60,24,24,24,24,60,0]},{"a":30800,"t":"byte","b":[0,126,12,12,12,108,56,0]},{"a":30808,"t":"byte","b":[0,198,204,240,216,204,198,0]},{"a":30816,"t":"byte","b":[0,192,192,192,192,192,254,0]},{"a":30824,"t":"byte","b":[0,198,238,254,214,198,198,0]},{"a":30832,"t":"byte","b":[0,198,230,246,222,206,198,0]},{"a":30840,"t":"byte","b":[0,124,198,198,198,198,124,0]},{"a":30848,"t":"byte","b":[0,252,198,198,252,192,192,0]},{"a":30856,"t":"byte","b":[0,124,198,198,198,222,124,6]},{"a":30864,"t":"byte","b":[0,252,198,198,252,204,198,0]},{"a":30872,"t":"byte","b":[0,124,192,124,6,198,124,0]},{"a":30880,"t":"byte","b":[0,126,24,24,24,24,24,0]},{"a":30888,"t":"byte","b":[0,198,198,198,198,198,124,0]},{"a":30896,"t":"byte","b":[0,198,198,198,198,108,56,0]},{"a":30904,"t":"byte","b":[0,198,198,198,214,214,124,0]},{"a":30912,"t":"byte","b":[0,198,108,56,56,108,198,0]},{"a":30920,"t":"byte","b":[0,102,102,60,24,24,24,0]},{"a":30928,"t":"byte","b":[0,254,12,24,48,96,254,0]},{"a":30936,"t":"byte","b":[60,48,48,48,48,48,60,0]},{"a":30944,"t":"byte","b":[14,16,48,254,48,96,255,0]},{"a":30952,"t":"byte","b":[60,12,12,12,12,12,60,0]},{"a":30960,"t":"byte","b":[0,24,60,126,24,24,24,24]},{"a":30968,"t":"byte","b":[0,16,48,127,127,48,16,0]},{"a":30976,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":30984,"t":"gap","n":48,"x":[12052]},{"a":30984,"t":"note","l":"room_dynamic_glyphs","c":"Six current-room character glyphs copied from room-record offset $A0 and used by the shared charset.","note":"outside the tracked image","x":[12052]},{"a":31016,"t":"note","l":"animated_room_glyph","c":"One current-room glyph rewritten by the animated-room-tile routine.","note":"outside the tracked image","x":[13525]},{"a":31032,"l":"static_charset_glyphs_39_58","c":"Static eight-byte character bitmaps for codes 39 through 58, beginning at charset offset $138; each byte holds one row, bit 7 at the left. Runtime glyph code 59 at $79D8 follows this span.","t":"byte","b":[6,12,24,0,0,0,0,0]},{"a":31040,"t":"byte","b":[12,24,48,48,48,24,12,0]},{"a":31048,"t":"byte","b":[48,24,12,12,12,24,48,0]},{"a":31056,"t":"byte","b":[0,102,60,255,60,102,0,0]},{"a":31064,"t":"byte","b":[0,24,24,126,24,24,0,0]},{"a":31072,"t":"byte","b":[0,0,0,0,0,24,24,48]},{"a":31080,"t":"byte","b":[0,0,0,126,0,0,0,0]},{"a":31088,"t":"byte","b":[0,0,0,0,0,24,24,0]},{"a":31096,"t":"byte","b":[0,3,6,12,24,48,96,0]},{"a":31104,"t":"byte","b":[0,124,134,138,146,162,124,0]},{"a":31112,"t":"byte","b":[0,24,56,24,24,24,60,0]},{"a":31120,"t":"byte","b":[0,252,6,126,192,192,254,0]},{"a":31128,"t":"byte","b":[0,252,6,124,6,6,252,0]},{"a":31136,"t":"byte","b":[0,204,204,204,254,12,12,0]},{"a":31144,"t":"byte","b":[0,254,192,252,6,6,252,0]},{"a":31152,"t":"byte","b":[0,124,192,252,198,198,124,0]},{"a":31160,"t":"byte","b":[0,254,6,12,12,24,24,0]},{"a":31168,"t":"byte","b":[0,124,198,124,198,198,124,0]},{"a":31176,"t":"byte","b":[0,124,198,198,126,6,124,0]},{"a":31184,"t":"byte","b":[0,0,24,0,0,24,0,0]},{"a":31192,"t":"gap","n":8,"x":[13610]},{"a":31192,"t":"note","l":"animated_spare_life_glyph","c":"One charset glyph rewritten from the current spare-life animation frame.","note":"outside the tracked image","x":[13610]},{"a":31200,"l":"static_charset_glyphs_60_127","c":"Static character bitmaps for codes 60 through 127, eight bytes per glyph, from $79E0 through $7BFF. Bit 7 is the leftmost pixel of each glyph row. Screen memory starts at $7C00.","t":"byte","b":[7,7,15,15,3,7,6,7]},{"a":31208,"t":"byte","b":[192,192,224,64,224,192,128,192]},{"a":31216,"t":"byte","b":[224,224,112,176,192,96,224,112]},{"a":31224,"t":"byte","b":[60,102,6,12,24,0,24,0]},{"a":31232,"t":"byte","b":[0,0,0,255,255,0,0,0]},{"a":31240,"t":"byte","b":[32,28,248,127,127,28,62,0]},{"a":31248,"t":"byte","b":[24,24,24,24,24,24,24,24]},{"a":31256,"t":"byte","b":[0,0,0,255,255,0,0,0]},{"a":31264,"t":"byte","b":[0,0,255,255,0,0,0,0]},{"a":31272,"t":"byte","b":[0,255,255,0,0,0,0,0]},{"a":31280,"t":"byte","b":[0,0,0,0,255,255,0,0]},{"a":31288,"t":"byte","b":[48,48,48,48,48,48,48,48]},{"a":31296,"t":"byte","b":[12,12,12,12,12,12,12,12]},{"a":31304,"t":"byte","b":[0,0,0,224,240,56,24,24]},{"a":31312,"t":"byte","b":[24,24,28,15,7,0,0,0]},{"a":31320,"t":"byte","b":[24,24,56,240,224,0,0,0]},{"a":31328,"t":"byte","b":[192,192,192,192,192,192,255,255]},{"a":31336,"t":"byte","b":[192,224,112,56,28,14,7,3]},{"a":31344,"t":"byte","b":[3,7,14,28,56,112,224,192]},{"a":31352,"t":"byte","b":[255,255,192,192,192,192,192,192]},{"a":31360,"t":"byte","b":[255,255,3,3,3,3,3,3]},{"a":31368,"t":"byte","b":[0,60,126,126,126,126,60,0]},{"a":31376,"t":"byte","b":[0,0,0,0,0,255,255,0]},{"a":31384,"t":"byte","b":[54,127,127,127,62,28,8,0]},{"a":31392,"t":"byte","b":[96,96,96,96,96,96,96,96]},{"a":31400,"t":"byte","b":[0,0,0,7,15,28,24,24]},{"a":31408,"t":"byte","b":[195,231,126,60,60,126,231,195]},{"a":31416,"t":"byte","b":[0,60,126,102,102,126,60,0]},{"a":31424,"t":"byte","b":[24,24,102,102,24,24,60,0]},{"a":31432,"t":"byte","b":[6,6,6,6,6,6,6,6]},{"a":31440,"t":"byte","b":[8,28,62,127,62,28,8,0]},{"a":31448,"t":"byte","b":[24,24,24,255,255,24,24,24]},{"a":31456,"t":"byte","b":[192,192,48,48,192,192,48,48]},{"a":31464,"t":"byte","b":[24,24,24,24,24,24,24,24]},{"a":31472,"t":"byte","b":[0,0,3,62,118,54,54,0]},{"a":31480,"t":"byte","b":[255,127,63,31,15,7,3,1]},{"a":31488,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":31496,"t":"byte","b":[240,240,240,240,240,240,240,240]},{"a":31504,"t":"byte","b":[0,0,0,0,255,255,255,255]},{"a":31512,"t":"byte","b":[255,255,0,0,0,0,0,0]},{"a":31520,"t":"byte","b":[0,0,0,0,0,0,0,255]},{"a":31528,"t":"byte","b":[192,192,192,192,192,192,192,192]},{"a":31536,"t":"byte","b":[204,204,51,51,204,204,51,51]},{"a":31544,"t":"byte","b":[3,3,3,3,3,3,3,3]},{"a":31552,"t":"byte","b":[0,0,0,0,204,204,51,51]},{"a":31560,"t":"byte","b":[255,254,252,248,240,224,192,128]},{"a":31568,"t":"byte","b":[3,3,3,3,3,3,3,3]},{"a":31576,"t":"byte","b":[24,24,24,31,31,24,24,24]},{"a":31584,"t":"byte","b":[0,0,0,0,15,15,15,15]},{"a":31592,"t":"byte","b":[24,24,24,31,31,0,0,0]},{"a":31600,"t":"byte","b":[0,0,0,248,248,24,24,24]},{"a":31608,"t":"byte","b":[0,0,0,0,0,0,255,255]},{"a":31616,"t":"byte","b":[0,0,0,31,31,24,24,24]},{"a":31624,"t":"byte","b":[24,24,24,255,255,0,0,0]},{"a":31632,"t":"byte","b":[0,0,0,255,255,24,24,24]},{"a":31640,"t":"byte","b":[24,24,24,248,248,24,24,24]},{"a":31648,"t":"byte","b":[192,192,192,192,192,192,192,192]},{"a":31656,"t":"byte","b":[224,224,224,224,224,224,224,224]},{"a":31664,"t":"byte","b":[7,7,7,7,7,7,7,7]},{"a":31672,"t":"byte","b":[255,255,0,0,0,0,0,0]},{"a":31680,"t":"byte","b":[255,255,255,0,0,0,0,0]},{"a":31688,"t":"byte","b":[0,0,0,0,0,255,255,255]},{"a":31696,"t":"byte","b":[3,3,3,3,3,3,255,255]},{"a":31704,"t":"byte","b":[0,0,0,0,240,240,240,240]},{"a":31712,"t":"byte","b":[15,15,15,15,0,0,0,0]},{"a":31720,"t":"byte","b":[24,24,24,248,248,0,0,0]},{"a":31728,"t":"byte","b":[240,240,240,240,0,0,0,0]},{"a":31736,"t":"byte","b":[240,240,240,240,15,15,15,77]},{"a":31744,"t":"gap","n":1024,"x":[11656,43182]},{"a":31744,"t":"note","l":"JSW_State_vic_screen_ram","c":"VIC screen RAM in bank $4000-$7FFF. Gameplay uses extended-color character cells; the title uses ordinary character mode.","note":"outside the tracked image","x":[11656,43182]},{"a":32000,"t":"note","l":"vic_screen_ram_page_1","c":"Second 256-byte page of VIC screen RAM at $7C00-$7FFF.","note":"outside the tracked image","x":[11659,43185]},{"a":32256,"t":"note","l":"vic_screen_ram_page_2","c":"Third 256-byte page of VIC screen RAM at $7C00-$7FFF.","note":"outside the tracked image","x":[11662,43188]},{"a":32512,"t":"note","l":"vic_screen_ram_page_3","c":"Fourth 256-byte page of VIC screen RAM at $7C00-$7FFF.","note":"outside the tracked image","x":[11665,43191]},{"a":32768,"l":"annotation_8000","c":"Nine-byte scratch area overwritten from $3C62-$3C6A by the copyright-success routine at $3C83. This is outside the VIC screen at $7C00-$7FFF; the imported fourth-screen-page comment was displaced onto this address.","t":"byte","b":[160,15,160,15,195,194,205,56],"x":[15484,15496]},{"a":32776,"t":"byte","b":[48,128,74,0,0,128,74,74]},{"a":32784,"t":"byte","b":[251,131,122,122,1,131,122,122]},{"a":32792,"t":"byte","b":[0,82,122,62,138,168,168,166]},{"a":32800,"t":"byte","b":[166,128,128,128,0,128,0,0]},{"a":32808,"t":"byte","b":[166,106,74,74,74,74,74,74]},{"a":32816,"t":"byte","b":[74,122,122,122,1,138,122,122]},{"a":32824,"t":"byte","b":[106,82,122,62,138,168,168,166]},{"a":32832,"t":"byte","b":[166,128,128,128,0,128,0,128]},{"a":32840,"t":"byte","b":[0,128,0,0,0,74,74,74]},{"a":32848,"t":"byte","b":[74,122,122,122,1,138,122,122]},{"a":32856,"t":"byte","b":[106,82,122,62,138,168,168,166]},{"a":32864,"t":"byte","b":[166,128,128,128,0,128,0,128]},{"a":32872,"t":"byte","b":[0,128,0,0,0,128,0,0]},{"a":32880,"t":"byte","b":[0,122,122,122,1,138,122,122]},{"a":32888,"t":"byte","b":[106,82,122,62,138,168,168,166]},{"a":32896,"t":"byte","b":[166,128,128,128,0,128,0,128]},{"a":32904,"t":"byte","b":[0,128,0,0,0,128,0,0]},{"a":32912,"t":"byte","b":[0,128,0,0,0,0,122,122]},{"a":32920,"t":"byte","b":[106,82,122,62,138,168,168,166]},{"a":32928,"t":"byte","b":[166,128,128,128,0,128,0,128]},{"a":32936,"t":"byte","b":[255,128,0,0,0,128,0,0]},{"a":32944,"t":"byte","b":[0,128,0,0,0,128,0,0]},{"a":32952,"t":"byte","b":[0,82,122,62,138,168,168,166]},{"a":32960,"t":"byte","b":[166,128,128,128,0,128,0,128]},{"a":32968,"t":"byte","b":[0,128,0,0,0,128,0,80]},{"a":32976,"t":"byte","b":[83,9,68,69,67,32,77,65]},{"a":32984,"t":"byte","b":[78,89,80,79,83,13,9,68]},{"a":32992,"t":"byte","b":[69,67,32,77,65,78,89,80]},{"a":33000,"t":"byte","b":[79,83,13,9,68,69,67,32]},{"a":33008,"t":"byte","b":[67,76,73,77,66,13,9,68]},{"a":33016,"t":"byte","b":[69,67,32,67,76,73,77,66]},{"a":33024,"l":"ROPE_POSITION_00_SEGMENT_0","c":"Rope oscillator position 0, segment 0: 21 three-byte sprite rows and one alignment byte. Pointer 0x1856 selects the three adjacent 64-byte segments; $16DE copies the complete 192-byte triplet to $0500-$05BF for the raster IRQ. All 34 valid positions were checked against the native staging loop.","t":"byte","b":[0,0,0,0,0,0,192,0]},{"a":33032,"t":"byte","b":[0,0,0,0,0,0,0,192]},{"a":33040,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":33048,"t":"byte","b":[192,0,0,0,0,0,0,0]},{"a":33056,"t":"byte","b":[0,192,0,0,0,0,0,0]},{"a":33064,"t":"byte","b":[0,0,192,0,0,0,0,0]},{"a":33072,"t":"byte","b":[0,0,0,192,0,0,0,0]},{"a":33080,"t":"byte","b":[0,0,0,0,192,0,0,0]},{"a":33088,"l":"ROPE_POSITION_00_SEGMENT_1","c":"Rope oscillator position 0, segment 1: 21 three-byte sprite rows and one alignment byte. Pointer 0x1856 selects the three adjacent 64-byte segments; $16DE copies the complete 192-byte triplet to $0500-$05BF for the raster IRQ. All 34 valid positions were checked against the native staging loop.","t":"byte","b":[0,0,0,0,0,0,192,0]},{"a":33096,"t":"byte","b":[0,0,0,0,0,0,0,192]},{"a":33104,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":33112,"t":"byte","b":[192,0,0,0,0,0,0,0]},{"a":33120,"t":"byte","b":[0,192,0,0,0,0,0,0]},{"a":33128,"t":"byte","b":[0,0,192,0,0,0,0,0]},{"a":33136,"t":"byte","b":[0,0,0,192,0,0,0,0]},{"a":33144,"t":"byte","b":[0,0,0,0,192,0,0,0]},{"a":33152,"l":"ROPE_POSITION_00_SEGMENT_2","c":"Rope oscillator position 0, segment 2: 21 three-byte sprite rows and one alignment byte. Pointer 0x1856 selects the three adjacent 64-byte segments; $16DE copies the complete 192-byte triplet to $0500-$05BF for the raster IRQ. All 34 valid positions were checked against the native staging loop.","t":"byte","b":[0,0,0,0,0,0,192,0]},{"a":33160,"t":"byte","b":[0,0,0,0,0,0,0,192]},{"a":33168,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":33176,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":33184,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":33192,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":33200,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":33208,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":33216,"l":"ROPE_POSITION_01_SEGMENT_0","c":"Rope oscillator position 1, segment 0: 21 three-byte sprite rows and one alignment byte. Pointer 0x1858 selects the three adjacent 64-byte segments; $16DE copies the complete 192-byte triplet to $0500-$05BF for the raster IRQ. All 34 valid positions were checked against the native staging loop.","t":"byte","b":[0,0,0,0,0,0,192,0]},{"a":33224,"t":"byte","b":[0,0,0,0,0,0,0,192]},{"a":33232,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":33240,"t":"byte","b":[192,0,0,0,0,0,0,0]},{"a":33248,"t":"byte","b":[0,192,0,0,0,0,0,0]},{"a":33256,"t":"byte","b":[0,0,192,0,0,0,0,0]},{"a":33264,"t":"byte","b":[0,0,0,192,0,0,0,0]},{"a":33272,"t":"byte","b":[0,0,0,0,192,0,0,0]},{"a":33280,"l":"ROPE_POSITION_01_SEGMENT_1","c":"Rope oscillator position 1, segment 1: 21 three-byte sprite rows and one alignment byte. Pointer 0x1858 selects the three adjacent 64-byte segments; $16DE copies the complete 192-byte triplet to $0500-$05BF for the raster IRQ. All 34 valid positions were checked against the native staging loop.","t":"byte","b":[0,0,0,0,0,0,192,0]},{"a":33288,"t":"byte","b":[0,0,0,0,0,0,0,192]},{"a":33296,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":33304,"t":"byte","b":[192,0,0,0,0,0,0,0]},{"a":33312,"t":"byte","b":[0,192,0,0,0,0,0,0]},{"a":33320,"t":"byte","b":[0,0,192,0,0,0,0,0]},{"a":33328,"t":"byte","b":[0,0,0,192,0,0,0,0]},{"a":33336,"t":"byte","b":[0,0,0,0,192,0,0,0]},{"a":33344,"l":"ROPE_POSITION_01_SEGMENT_2","c":"Rope oscillator position 1, segment 2: 21 three-byte sprite rows and one alignment byte. Pointer 0x1858 selects the three adjacent 64-byte segments; $16DE copies the complete 192-byte triplet to $0500-$05BF for the raster IRQ. All 34 valid positions were checked against the native staging loop.","t":"byte","b":[0,0,0,0,0,0,48,0]},{"a":33352,"t":"byte","b":[0,0,0,0,0,0,0,6]},{"a":33360,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":33368,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":33376,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":33384,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":33392,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":33400,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":33408,"l":"ROPE_POSITION_02_SEGMENT_0","c":"Rope oscillator position 2, segment 0: 21 three-byte sprite rows and one alignment byte. Pointer 0x185a selects the three adjacent 64-byte segments; $16DE copies the complete 192-byte triplet to $0500-$05BF for the raster IRQ. All 34 valid positions were checked against the native staging loop.","t":"byte","b":[0,0,0,0,0,0,192,0]},{"a":33416,"t":"byte","b":[0,0,0,0,0,0,0,192]},{"a":33424,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":33432,"t":"byte","b":[192,0,0,0,0,0,0,0]},{"a":33440,"t":"byte","b":[0,192,0,0,0,0,0,0]},{"a":33448,"t":"byte","b":[0,0,192,0,0,0,0,0]},{"a":33456,"t":"byte","b":[0,0,0,192,0,0,0,0]},{"a":33464,"t":"byte","b":[0,0,0,0,192,0,0,0]},{"a":33472,"l":"ROPE_POSITION_02_SEGMENT_1","c":"Rope oscillator position 2, segment 1: 21 three-byte sprite rows and one alignment byte. Pointer 0x185a selects the three adjacent 64-byte segments; $16DE copies the complete 192-byte triplet to $0500-$05BF for the raster IRQ. All 34 valid positions were checked against the native staging loop.","t":"byte","b":[0,0,0,0,0,0,192,0]},{"a":33480,"t":"byte","b":[0,0,0,0,0,0,0,192]},{"a":33488,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":33496,"t":"byte","b":[192,0,0,0,0,0,0,0]},{"a":33504,"t":"byte","b":[0,192,0,0,0,0,0,0]},{"a":33512,"t":"byte","b":[0,0,192,0,0,0,0,0]},{"a":33520,"t":"byte","b":[0,0,0,48,0,0,0,0]},{"a":33528,"t":"byte","b":[0,0,0,0,24,0,0,0]},{"a":33536,"l":"ROPE_POSITION_02_SEGMENT_2","c":"Rope oscillator position 2, segment 2: 21 three-byte sprite rows and one alignment byte. Pointer 0x185a selects the three adjacent 64-byte segments; $16DE copies the complete 192-byte triplet to $0500-$05BF for the raster IRQ. All 34 valid positions were checked against the native staging loop.","t":"byte","b":[0,0,0,0,0,0,3,0]},{"a":33544,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":33552,"t":"byte","b":[96,0,0,0,0,0,0,0]},{"a":33560,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":33568,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":33576,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":33584,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":33592,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":33600,"l":"ROPE_POSITION_03_SEGMENT_0","c":"Rope oscillator position 3, segment 0: 21 three-byte sprite rows and one alignment byte. Pointer 0x185c selects the three adjacent 64-byte segments; $16DE copies the complete 192-byte triplet to $0500-$05BF for the raster IRQ. All 34 valid positions were checked against the native staging loop.","t":"byte","b":[0,0,0,0,0,0,192,0]},{"a":33608,"t":"byte","b":[0,0,0,0,0,0,0,192]},{"a":33616,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":33624,"t":"byte","b":[192,0,0,0,0,0,0,0]},{"a":33632,"t":"byte","b":[0,192,0,0,0,0,0,0]},{"a":33640,"t":"byte","b":[0,0,192,0,0,0,0,0]},{"a":33648,"t":"byte","b":[0,0,0,192,0,0,0,0]},{"a":33656,"t":"byte","b":[0,0,0,0,192,0,0,0]},{"a":33664,"l":"ROPE_POSITION_03_SEGMENT_1","c":"Rope oscillator position 3, segment 1: 21 three-byte sprite rows and one alignment byte. Pointer 0x185c selects the three adjacent 64-byte segments; $16DE copies the complete 192-byte triplet to $0500-$05BF for the raster IRQ. All 34 valid positions were checked against the native staging loop.","t":"byte","b":[0,0,0,0,0,0,192,0]},{"a":33672,"t":"byte","b":[0,0,0,0,0,0,0,192]},{"a":33680,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":33688,"t":"byte","b":[192,0,0,0,0,0,0,0]},{"a":33696,"t":"byte","b":[0,192,0,0,0,0,0,0]},{"a":33704,"t":"byte","b":[0,0,48,0,0,0,0,0]},{"a":33712,"t":"byte","b":[0,0,0,12,0,0,0,0]},{"a":33720,"t":"byte","b":[0,0,0,0,1,128,0,0]},{"a":33728,"l":"ROPE_POSITION_03_SEGMENT_2","c":"Rope oscillator position 3, segment 2: 21 three-byte sprite rows and one alignment byte. Pointer 0x185c selects the three adjacent 64-byte segments; $16DE copies the complete 192-byte triplet to $0500-$05BF for the raster IRQ. All 34 valid positions were checked against the native staging loop.","t":"byte","b":[0,0,0,0,0,0,0,24]},{"a":33736,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":33744,"t":"byte","b":[3,0,0,0,0,0,0,0]},{"a":33752,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":33760,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":33768,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":33776,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":33784,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":33792,"l":"ROPE_POSITION_04_SEGMENT_0","c":"Rope oscillator position 4, segment 0: 21 three-byte sprite rows and one alignment byte. Pointer 0x185e selects the three adjacent 64-byte segments; $16DE copies the complete 192-byte triplet to $0500-$05BF for the raster IRQ. All 34 valid positions were checked against the native staging loop.","t":"byte","b":[0,0,0,0,0,0,192,0]},{"a":33800,"t":"byte","b":[0,0,0,0,0,0,0,192]},{"a":33808,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":33816,"t":"byte","b":[192,0,0,0,0,0,0,0]},{"a":33824,"t":"byte","b":[0,192,0,0,0,0,0,0]},{"a":33832,"t":"byte","b":[0,0,192,0,0,0,0,0]},{"a":33840,"t":"byte","b":[0,0,0,192,0,0,0,0]},{"a":33848,"t":"byte","b":[0,0,0,0,192,0,0,0]},{"a":33856,"l":"ROPE_POSITION_04_SEGMENT_1","c":"Rope oscillator position 4, segment 1: 21 three-byte sprite rows and one alignment byte. Pointer 0x185e selects the three adjacent 64-byte segments; $16DE copies the complete 192-byte triplet to $0500-$05BF for the raster IRQ. All 34 valid positions were checked against the native staging loop.","t":"byte","b":[0,0,0,0,0,0,192,0]},{"a":33864,"t":"byte","b":[0,0,0,0,0,0,0,192]},{"a":33872,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":33880,"t":"byte","b":[192,0,0,0,0,0,0,0]},{"a":33888,"t":"byte","b":[0,48,0,0,0,0,0,0]},{"a":33896,"t":"byte","b":[0,0,6,0,0,0,0,0]},{"a":33904,"t":"byte","b":[0,0,0,0,192,0,0,0]},{"a":33912,"t":"byte","b":[0,0,0,0,0,24,0,0]},{"a":33920,"l":"ROPE_POSITION_04_SEGMENT_2","c":"Rope oscillator position 4, segment 2: 21 three-byte sprite rows and one alignment byte. Pointer 0x185e selects the three adjacent 64-byte segments; $16DE copies the complete 192-byte triplet to $0500-$05BF for the raster IRQ. All 34 valid positions were checked against the native staging loop.","t":"byte","b":[0,0,0,0,0,0,0,1]},{"a":33928,"t":"byte","b":[128,0,0,0,0,0,0,0]},{"a":33936,"t":"byte","b":[0,48,0,0,0,0,0,0]},{"a":33944,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":33952,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":33960,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":33968,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":33976,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":33984,"l":"ROPE_POSITION_05_SEGMENT_0","c":"Rope oscillator position 5, segment 0: 21 three-byte sprite rows and one alignment byte. Pointer 0x1860 selects the three adjacent 64-byte segments; $16DE copies the complete 192-byte triplet to $0500-$05BF for the raster IRQ. All 34 valid positions were checked against the native staging loop.","t":"byte","b":[0,0,0,0,0,0,192,0]},{"a":33992,"t":"byte","b":[0,0,0,0,0,0,0,192]},{"a":34000,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":34008,"t":"byte","b":[192,0,0,0,0,0,0,0]},{"a":34016,"t":"byte","b":[0,192,0,0,0,0,0,0]},{"a":34024,"t":"byte","b":[0,0,192,0,0,0,0,0]},{"a":34032,"t":"byte","b":[0,0,0,192,0,0,0,0]},{"a":34040,"t":"byte","b":[0,0,0,0,192,0,0,0]},{"a":34048,"l":"ROPE_POSITION_05_SEGMENT_1","c":"Rope oscillator position 5, segment 1: 21 three-byte sprite rows and one alignment byte. Pointer 0x1860 selects the three adjacent 64-byte segments; $16DE copies the complete 192-byte triplet to $0500-$05BF for the raster IRQ. All 34 valid positions were checked against the native staging loop.","t":"byte","b":[0,0,0,0,0,0,192,0]},{"a":34056,"t":"byte","b":[0,0,0,0,0,0,0,192]},{"a":34064,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":34072,"t":"byte","b":[48,0,0,0,0,0,0,0]},{"a":34080,"t":"byte","b":[0,6,0,0,0,0,0,0]},{"a":34088,"t":"byte","b":[0,0,0,96,0,0,0,0]},{"a":34096,"t":"byte","b":[0,0,0,0,12,0,0,0]},{"a":34104,"t":"byte","b":[0,0,0,0,0,3,0,0]},{"a":34112,"l":"ROPE_POSITION_05_SEGMENT_2","c":"Rope oscillator position 5, segment 2: 21 three-byte sprite rows and one alignment byte. Pointer 0x1860 selects the three adjacent 64-byte segments; $16DE copies the complete 192-byte triplet to $0500-$05BF for the raster IRQ. All 34 valid positions were checked against the native staging loop.","t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":34120,"t":"byte","b":[48,0,0,0,0,0,0,0]},{"a":34128,"t":"byte","b":[0,3,0,0,0,0,0,0]},{"a":34136,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":34144,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":34152,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":34160,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":34168,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":34176,"l":"ROPE_POSITION_06_SEGMENT_0","c":"Rope oscillator position 6, segment 0: 21 three-byte sprite rows and one alignment byte. Pointer 0x1862 selects the three adjacent 64-byte segments; $16DE copies the complete 192-byte triplet to $0500-$05BF for the raster IRQ. All 34 valid positions were checked against the native staging loop.","t":"byte","b":[0,0,0,0,0,0,192,0]},{"a":34184,"t":"byte","b":[0,0,0,0,0,0,0,192]},{"a":34192,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":34200,"t":"byte","b":[96,0,0,0,0,0,0,0]},{"a":34208,"t":"byte","b":[0,48,0,0,0,0,0,0]},{"a":34216,"t":"byte","b":[0,0,48,0,0,0,0,0]},{"a":34224,"t":"byte","b":[0,0,0,24,0,0,0,0]},{"a":34232,"t":"byte","b":[0,0,0,0,12,0,0,0]},{"a":34240,"l":"ROPE_POSITION_06_SEGMENT_1","c":"Rope oscillator position 6, segment 1: 21 three-byte sprite rows and one alignment byte. Pointer 0x1862 selects the three adjacent 64-byte segments; $16DE copies the complete 192-byte triplet to $0500-$05BF for the raster IRQ. All 34 valid positions were checked against the native staging loop.","t":"byte","b":[0,0,0,0,0,0,3,0]},{"a":34248,"t":"byte","b":[0,0,0,0,0,0,0,1]},{"a":34256,"t":"byte","b":[128,0,0,0,0,0,0,0]},{"a":34264,"t":"byte","b":[0,96,0,0,0,0,0,24]},{"a":34272,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":34280,"t":"byte","b":[6,0,0,0,0,0,3,0]},{"a":34288,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":34296,"t":"byte","b":[192,0,0,0,0,0,0,0]},{"a":34304,"l":"ROPE_POSITION_06_SEGMENT_2","c":"Rope oscillator position 6, segment 2: 21 three-byte sprite rows and one alignment byte. Pointer 0x1862 selects the three adjacent 64-byte segments; $16DE copies the complete 192-byte triplet to $0500-$05BF for the raster IRQ. All 34 valid positions were checked against the native staging loop.","t":"byte","b":[0,0,48,0,0,0,0,0]},{"a":34312,"t":"byte","b":[0,0,0,0,0,0,6,0]},{"a":34320,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":34328,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":34336,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":34344,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":34352,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":34360,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":34368,"l":"ROPE_POSITION_07_SEGMENT_0","c":"Rope oscillator position 7, segment 0: 21 three-byte sprite rows and one alignment byte. Pointer 0x1864 selects the three adjacent 64-byte segments; $16DE copies the complete 192-byte triplet to $0500-$05BF for the raster IRQ. All 34 valid positions were checked against the native staging loop.","t":"byte","b":[0,0,0,0,0,0,192,0]},{"a":34376,"t":"byte","b":[0,0,0,0,96,0,0,0]},{"a":34384,"t":"byte","b":[0,0,0,0,0,24,0,0]},{"a":34392,"t":"byte","b":[0,0,0,0,0,0,6,0]},{"a":34400,"t":"byte","b":[0,0,0,0,0,0,0,1]},{"a":34408,"t":"byte","b":[128,0,0,0,0,0,0,0]},{"a":34416,"t":"byte","b":[0,96,0,0,0,0,0,0]},{"a":34424,"t":"byte","b":[0,0,48,0,0,0,0,0]},{"a":34432,"l":"ROPE_POSITION_07_SEGMENT_1","c":"Rope oscillator position 7, segment 1: 21 three-byte sprite rows and one alignment byte. Pointer 0x1864 selects the three adjacent 64-byte segments; $16DE copies the complete 192-byte triplet to $0500-$05BF for the raster IRQ. All 34 valid positions were checked against the native staging loop.","t":"byte","b":[0,12,0,0,0,0,0,0]},{"a":34440,"t":"byte","b":[0,0,6,0,0,0,0,0]},{"a":34448,"t":"byte","b":[0,0,0,1,128,0,0,0]},{"a":34456,"t":"byte","b":[0,0,0,0,0,192,0,0]},{"a":34464,"t":"byte","b":[0,0,0,48,0,0,0,0]},{"a":34472,"t":"byte","b":[0,0,0,0,24,0,0,0]},{"a":34480,"t":"byte","b":[0,0,0,0,0,12,0,0]},{"a":34488,"t":"byte","b":[0,0,0,0,0,0,3,0]},{"a":34496,"l":"ROPE_POSITION_07_SEGMENT_2","c":"Rope oscillator position 7, segment 2: 21 three-byte sprite rows and one alignment byte. Pointer 0x1864 selects the three adjacent 64-byte segments; $16DE copies the complete 192-byte triplet to $0500-$05BF for the raster IRQ. All 34 valid positions were checked against the native staging loop.","t":"byte","b":[0,0,0,0,0,0,0,3]},{"a":34504,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":34512,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":34520,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":34528,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":34536,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":34544,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":34552,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":34560,"l":"ROPE_POSITION_08_SEGMENT_0","c":"Rope oscillator position 8, segment 0: 21 three-byte sprite rows and one alignment byte. Pointer 0x1866 selects the three adjacent 64-byte segments; $16DE copies the complete 192-byte triplet to $0500-$05BF for the raster IRQ. All 34 valid positions were checked against the native staging loop.","t":"byte","b":[0,0,0,0,0,0,192,0]},{"a":34568,"t":"byte","b":[0,0,0,0,0,0,0,48]},{"a":34576,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":34584,"t":"byte","b":[12,0,0,0,0,0,3,0]},{"a":34592,"t":"byte","b":[0,0,0,0,1,128,0,0]},{"a":34600,"t":"byte","b":[0,0,0,96,0,0,0,0]},{"a":34608,"t":"byte","b":[0,12,0,0,0,0,0,0]},{"a":34616,"t":"byte","b":[0,0,6,0,0,0,0,0]},{"a":34624,"l":"ROPE_POSITION_08_SEGMENT_1","c":"Rope oscillator position 8, segment 1: 21 three-byte sprite rows and one alignment byte. Pointer 0x1866 selects the three adjacent 64-byte segments; $16DE copies the complete 192-byte triplet to $0500-$05BF for the raster IRQ. All 34 valid positions were checked against the native staging loop.","t":"byte","b":[0,0,0,6,0,0,0,0]},{"a":34632,"t":"byte","b":[0,0,0,0,1,128,0,0]},{"a":34640,"t":"byte","b":[0,0,0,0,0,0,96,0]},{"a":34648,"t":"byte","b":[0,0,0,0,0,0,0,48]},{"a":34656,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":34664,"t":"byte","b":[12,0,0,0,0,0,3,0]},{"a":34672,"t":"byte","b":[0,0,0,0,0,0,0,1]},{"a":34680,"t":"byte","b":[128,0,0,0,0,0,0,0]},{"a":34688,"l":"ROPE_POSITION_08_SEGMENT_2","c":"Rope oscillator position 8, segment 2: 21 three-byte sprite rows and one alignment byte. Pointer 0x1866 selects the three adjacent 64-byte segments; $16DE copies the complete 192-byte triplet to $0500-$05BF for the raster IRQ. All 34 valid positions were checked against the native staging loop.","t":"byte","b":[0,0,96,0,0,0,0,0]},{"a":34696,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":34704,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":34712,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":34720,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":34728,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":34736,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":34744,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":34752,"l":"ROPE_POSITION_09_SEGMENT_0","c":"Rope oscillator position 9, segment 0: 21 three-byte sprite rows and one alignment byte. Pointer 0x1868 selects the three adjacent 64-byte segments; $16DE copies the complete 192-byte triplet to $0500-$05BF for the raster IRQ. All 34 valid positions were checked against the native staging loop.","t":"byte","b":[0,0,0,0,0,0,192,0]},{"a":34760,"t":"byte","b":[0,0,0,0,0,0,0,48]},{"a":34768,"t":"byte","b":[0,0,0,0,0,6,0,0]},{"a":34776,"t":"byte","b":[0,0,0,0,192,0,0,0]},{"a":34784,"t":"byte","b":[0,0,48,0,0,0,0,0]},{"a":34792,"t":"byte","b":[0,0,0,6,0,0,0,0]},{"a":34800,"t":"byte","b":[0,0,0,0,1,128,0,0]},{"a":34808,"t":"byte","b":[0,0,0,0,0,0,96,0]},{"a":34816,"l":"ROPE_POSITION_09_SEGMENT_1","c":"Rope oscillator position 9, segment 1: 21 three-byte sprite rows and one alignment byte. Pointer 0x1868 selects the three adjacent 64-byte segments; $16DE copies the complete 192-byte triplet to $0500-$05BF for the raster IRQ. All 34 valid positions were checked against the native staging loop.","t":"byte","b":[0,0,0,0,0,0,0,96]},{"a":34824,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":34832,"t":"byte","b":[24,0,0,0,0,0,0,0]},{"a":34840,"t":"byte","b":[0,6,0,0,0,0,0,0]},{"a":34848,"t":"byte","b":[0,0,1,128,0,0,0,0]},{"a":34856,"t":"byte","b":[0,96,0,0,0,0,0,0]},{"a":34864,"t":"byte","b":[0,0,48,0,0,0,0,0]},{"a":34872,"t":"byte","b":[12,0,0,0,0,0,3,0]},{"a":34880,"l":"ROPE_POSITION_09_SEGMENT_2","c":"Rope oscillator position 9, segment 2: 21 three-byte sprite rows and one alignment byte. Pointer 0x1868 selects the three adjacent 64-byte segments; $16DE copies the complete 192-byte triplet to $0500-$05BF for the raster IRQ. All 34 valid positions were checked against the native staging loop.","t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":34888,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":34896,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":34904,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":34912,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":34920,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":34928,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":34936,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":34944,"l":"ROPE_POSITION_10_SEGMENT_0","c":"Rope oscillator position 10, segment 0: 21 three-byte sprite rows and one alignment byte. Pointer 0x186a selects the three adjacent 64-byte segments; $16DE copies the complete 192-byte triplet to $0500-$05BF for the raster IRQ. All 34 valid positions were checked against the native staging loop.","t":"byte","b":[0,0,0,0,0,0,192,0]},{"a":34952,"t":"byte","b":[0,0,0,0,24,0,0,0]},{"a":34960,"t":"byte","b":[0,0,3,0,0,0,0,0]},{"a":34968,"t":"byte","b":[0,192,0,0,0,0,0,12]},{"a":34976,"t":"byte","b":[0,0,0,0,0,1,128,0]},{"a":34984,"t":"byte","b":[0,0,0,0,0,0,0,48]},{"a":34992,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":35000,"t":"byte","b":[6,0,0,0,0,0,0,0]},{"a":35008,"l":"ROPE_POSITION_10_SEGMENT_1","c":"Rope oscillator position 10, segment 1: 21 three-byte sprite rows and one alignment byte. Pointer 0x186a selects the three adjacent 64-byte segments; $16DE copies the complete 192-byte triplet to $0500-$05BF for the raster IRQ. All 34 valid positions were checked against the native staging loop.","t":"byte","b":[12,0,0,0,0,0,1,128]},{"a":35016,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":35024,"t":"byte","b":[48,0,0,0,0,0,6,0]},{"a":35032,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":35040,"t":"byte","b":[192,0,0,0,0,0,0,0]},{"a":35048,"t":"byte","b":[0,48,0,0,0,0,0,0]},{"a":35056,"t":"byte","b":[0,0,12,0,0,0,0,0]},{"a":35064,"t":"byte","b":[0,0,0,3,0,0,0,0]},{"a":35072,"l":"ROPE_POSITION_10_SEGMENT_2","c":"Rope oscillator position 10, segment 2: 21 three-byte sprite rows and one alignment byte. Pointer 0x186a selects the three adjacent 64-byte segments; $16DE copies the complete 192-byte triplet to $0500-$05BF for the raster IRQ. All 34 valid positions were checked against the native staging loop.","t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":35080,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":35088,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":35096,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":35104,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":35112,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":35120,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":35128,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":35136,"l":"ROPE_POSITION_11_SEGMENT_0","c":"Rope oscillator position 11, segment 0: 21 three-byte sprite rows and one alignment byte. Pointer 0x186c selects the three adjacent 64-byte segments; $16DE copies the complete 192-byte triplet to $0500-$05BF for the raster IRQ. All 34 valid positions were checked against the native staging loop.","t":"byte","b":[0,0,0,0,0,0,192,0]},{"a":35144,"t":"byte","b":[0,0,0,0,24,0,0,0]},{"a":35152,"t":"byte","b":[0,0,6,0,0,0,0,0]},{"a":35160,"t":"byte","b":[1,128,0,0,0,0,0,48]},{"a":35168,"t":"byte","b":[0,0,0,0,0,3,0,0]},{"a":35176,"t":"byte","b":[0,0,0,0,0,0,0,96]},{"a":35184,"t":"byte","b":[0,0,0,0,0,6,0,0]},{"a":35192,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":35200,"l":"ROPE_POSITION_11_SEGMENT_1","c":"Rope oscillator position 11, segment 1: 21 three-byte sprite rows and one alignment byte. Pointer 0x186c selects the three adjacent 64-byte segments; $16DE copies the complete 192-byte triplet to $0500-$05BF for the raster IRQ. All 34 valid positions were checked against the native staging loop.","t":"byte","b":[192,0,0,0,0,0,0,0]},{"a":35208,"t":"byte","b":[0,24,0,0,0,0,0,3]},{"a":35216,"t":"byte","b":[0,0,0,0,0,0,96,0]},{"a":35224,"t":"byte","b":[0,0,0,0,0,0,0,6]},{"a":35232,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":35240,"t":"byte","b":[0,192,0,0,0,0,0,0]},{"a":35248,"t":"byte","b":[0,0,24,0,0,0,0,0]},{"a":35256,"t":"byte","b":[3,0,0,0,0,0,0,0]},{"a":35264,"l":"ROPE_POSITION_11_SEGMENT_2","c":"Rope oscillator position 11, segment 2: 21 three-byte sprite rows and one alignment byte. Pointer 0x186c selects the three adjacent 64-byte segments; $16DE copies the complete 192-byte triplet to $0500-$05BF for the raster IRQ. All 34 valid positions were checked against the native staging loop.","t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":35272,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":35280,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":35288,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":35296,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":35304,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":35312,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":35320,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":35328,"l":"ROPE_POSITION_12_SEGMENT_0","c":"Rope oscillator position 12, segment 0: 21 three-byte sprite rows and one alignment byte. Pointer 0x186e selects the three adjacent 64-byte segments; $16DE copies the complete 192-byte triplet to $0500-$05BF for the raster IRQ. All 34 valid positions were checked against the native staging loop.","t":"byte","b":[0,0,0,0,0,0,192,0]},{"a":35336,"t":"byte","b":[0,0,0,0,24,0,0,0]},{"a":35344,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":35352,"t":"byte","b":[3,0,0,0,0,0,0,96]},{"a":35360,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":35368,"t":"byte","b":[12,0,0,0,0,0,0,0]},{"a":35376,"t":"byte","b":[0,0,192,0,0,0,0,0]},{"a":35384,"t":"byte","b":[12,0,0,0,0,0,0,0]},{"a":35392,"l":"ROPE_POSITION_12_SEGMENT_1","c":"Rope oscillator position 12, segment 1: 21 three-byte sprite rows and one alignment byte. Pointer 0x186e selects the three adjacent 64-byte segments; $16DE copies the complete 192-byte triplet to $0500-$05BF for the raster IRQ. All 34 valid positions were checked against the native staging loop.","t":"byte","b":[0,0,0,96,0,0,0,0]},{"a":35400,"t":"byte","b":[0,24,0,0,0,0,0,3]},{"a":35408,"t":"byte","b":[0,0,0,0,0,0,96,0]},{"a":35416,"t":"byte","b":[0,0,0,0,0,0,0,6]},{"a":35424,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":35432,"t":"byte","b":[0,192,0,0,0,0,0,0]},{"a":35440,"t":"byte","b":[0,0,24,0,0,0,0,0]},{"a":35448,"t":"byte","b":[3,0,0,0,0,0,0,0]},{"a":35456,"l":"ROPE_POSITION_12_SEGMENT_2","c":"Rope oscillator position 12, segment 2: 21 three-byte sprite rows and one alignment byte. Pointer 0x186e selects the three adjacent 64-byte segments; $16DE copies the complete 192-byte triplet to $0500-$05BF for the raster IRQ. All 34 valid positions were checked against the native staging loop.","t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":35464,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":35472,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":35480,"t":"byte","b":[0,0,0,0,0,0,12,0]},{"a":35488,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":35496,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":35504,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":35512,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":35520,"l":"ROPE_POSITION_13_SEGMENT_0","c":"Rope oscillator position 13, segment 0: 21 three-byte sprite rows and one alignment byte. Pointer 0x1870 selects the three adjacent 64-byte segments; $16DE copies the complete 192-byte triplet to $0500-$05BF for the raster IRQ. All 34 valid positions were checked against the native staging loop.","t":"byte","b":[0,0,0,0,0,0,192,0]},{"a":35528,"t":"byte","b":[0,0,0,0,24,0,0,0]},{"a":35536,"t":"byte","b":[0,0,0,0,0,1,128,0]},{"a":35544,"t":"byte","b":[0,0,0,0,0,0,0,48]},{"a":35552,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":35560,"t":"byte","b":[6,0,0,0,0,0,0,0]},{"a":35568,"t":"byte","b":[0,0,192,0,0,0,0,0]},{"a":35576,"t":"byte","b":[6,0,0,0,0,0,0,0]},{"a":35584,"l":"ROPE_POSITION_13_SEGMENT_1","c":"Rope oscillator position 13, segment 1: 21 three-byte sprite rows and one alignment byte. Pointer 0x1870 selects the three adjacent 64-byte segments; $16DE copies the complete 192-byte triplet to $0500-$05BF for the raster IRQ. All 34 valid positions were checked against the native staging loop.","t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":35592,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":35600,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":35608,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":35616,"t":"byte","b":[0,0,0,0,96,0,0,0]},{"a":35624,"t":"byte","b":[0,0,12,0,0,0,0,0]},{"a":35632,"t":"byte","b":[0,96,0,0,0,0,0,1]},{"a":35640,"t":"byte","b":[128,0,0,6,0,0,0,0]},{"a":35648,"l":"ROPE_POSITION_13_SEGMENT_2","c":"Rope oscillator position 13, segment 2: 21 three-byte sprite rows and one alignment byte. Pointer 0x1870 selects the three adjacent 64-byte segments; $16DE copies the complete 192-byte triplet to $0500-$05BF for the raster IRQ. All 34 valid positions were checked against the native staging loop.","t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":35656,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":35664,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":35672,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":35680,"t":"byte","b":[0,48,0,0,0,0,0,0]},{"a":35688,"t":"byte","b":[0,0,12,0,0,0,0,0]},{"a":35696,"t":"byte","b":[0,0,0,3,0,0,0,0]},{"a":35704,"t":"byte","b":[0,0,96,0,0,0,0,0]},{"a":35712,"l":"ROPE_POSITION_14_SEGMENT_0","c":"Rope oscillator position 14, segment 0: 21 three-byte sprite rows and one alignment byte. Pointer 0x1872 selects the three adjacent 64-byte segments; $16DE copies the complete 192-byte triplet to $0500-$05BF for the raster IRQ. All 34 valid positions were checked against the native staging loop.","t":"byte","b":[0,0,0,0,0,0,192,0]},{"a":35720,"t":"byte","b":[0,0,0,0,0,0,0,12]},{"a":35728,"t":"byte","b":[0,0,0,0,0,1,128,0]},{"a":35736,"t":"byte","b":[0,0,0,0,48,0,0,0]},{"a":35744,"t":"byte","b":[0,0,0,0,0,3,0,0]},{"a":35752,"t":"byte","b":[0,0,0,0,0,0,0,48]},{"a":35760,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":35768,"t":"byte","b":[0,0,0,3,0,0,0,0]},{"a":35776,"l":"ROPE_POSITION_14_SEGMENT_1","c":"Rope oscillator position 14, segment 1: 21 three-byte sprite rows and one alignment byte. Pointer 0x1872 selects the three adjacent 64-byte segments; $16DE copies the complete 192-byte triplet to $0500-$05BF for the raster IRQ. All 34 valid positions were checked against the native staging loop.","t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":35784,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":35792,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":35800,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":35808,"t":"byte","b":[0,0,0,0,48,0,0,0]},{"a":35816,"t":"byte","b":[0,0,1,128,0,0,0,0]},{"a":35824,"t":"byte","b":[0,24,0,0,0,0,0,0]},{"a":35832,"t":"byte","b":[192,0,0,3,0,0,0,0]},{"a":35840,"l":"ROPE_POSITION_14_SEGMENT_2","c":"Rope oscillator position 14, segment 2: 21 three-byte sprite rows and one alignment byte. Pointer 0x1872 selects the three adjacent 64-byte segments; $16DE copies the complete 192-byte triplet to $0500-$05BF for the raster IRQ. All 34 valid positions were checked against the native staging loop.","t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":35848,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":35856,"t":"byte","b":[0,0,48,0,0,0,0,0]},{"a":35864,"t":"byte","b":[0,0,0,6,0,0,0,0]},{"a":35872,"t":"byte","b":[0,0,96,0,0,3,0,0]},{"a":35880,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":35888,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":35896,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":35904,"l":"ROPE_POSITION_15_SEGMENT_0","c":"Rope oscillator position 15, segment 0: 21 three-byte sprite rows and one alignment byte. Pointer 0x1874 selects the three adjacent 64-byte segments; $16DE copies the complete 192-byte triplet to $0500-$05BF for the raster IRQ. All 34 valid positions were checked against the native staging loop.","t":"byte","b":[0,0,0,0,0,0,192,0]},{"a":35912,"t":"byte","b":[0,0,0,0,0,0,0,12]},{"a":35920,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":35928,"t":"byte","b":[1,128,0,0,0,0,0,48]},{"a":35936,"t":"byte","b":[0,0,0,0,0,6,0,0]},{"a":35944,"t":"byte","b":[0,0,0,0,0,0,0,96]},{"a":35952,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":35960,"t":"byte","b":[3,0,0,0,0,0,0,0]},{"a":35968,"l":"ROPE_POSITION_15_SEGMENT_1","c":"Rope oscillator position 15, segment 1: 21 three-byte sprite rows and one alignment byte. Pointer 0x1874 selects the three adjacent 64-byte segments; $16DE copies the complete 192-byte triplet to $0500-$05BF for the raster IRQ. All 34 valid positions were checked against the native staging loop.","t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":35976,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":35984,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":35992,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":36000,"t":"byte","b":[0,0,0,0,24,0,0,0]},{"a":36008,"t":"byte","b":[0,0,0,0,0,0,192,0]},{"a":36016,"t":"byte","b":[0,6,0,0,0,0,0,0]},{"a":36024,"t":"byte","b":[96,0,0,12,0,0,0,0]},{"a":36032,"l":"ROPE_POSITION_15_SEGMENT_2","c":"Rope oscillator position 15, segment 2: 21 three-byte sprite rows and one alignment byte. Pointer 0x1874 selects the three adjacent 64-byte segments; $16DE copies the complete 192-byte triplet to $0500-$05BF for the raster IRQ. All 34 valid positions were checked against the native staging loop.","t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":36040,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":36048,"t":"byte","b":[0,0,24,0,0,0,0,0]},{"a":36056,"t":"byte","b":[0,0,0,1,128,0,0,12]},{"a":36064,"t":"byte","b":[0,0,0,96,0,0,0,0]},{"a":36072,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":36080,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":36088,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":36096,"l":"ROPE_POSITION_16_SEGMENT_0","c":"Rope oscillator position 16, segment 0: 21 three-byte sprite rows and one alignment byte. Pointer 0x1876 selects the three adjacent 64-byte segments; $16DE copies the complete 192-byte triplet to $0500-$05BF for the raster IRQ. All 34 valid positions were checked against the native staging loop.","t":"byte","b":[0,0,0,0,0,0,192,0]},{"a":36104,"t":"byte","b":[0,0,0,0,12,0,0,0]},{"a":36112,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":36120,"t":"byte","b":[0,192,0,0,0,0,0,6]},{"a":36128,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":36136,"t":"byte","b":[0,48,0,0,0,0,0,3]},{"a":36144,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":36152,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":36160,"l":"ROPE_POSITION_16_SEGMENT_1","c":"Rope oscillator position 16, segment 1: 21 three-byte sprite rows and one alignment byte. Pointer 0x1876 selects the three adjacent 64-byte segments; $16DE copies the complete 192-byte triplet to $0500-$05BF for the raster IRQ. All 34 valid positions were checked against the native staging loop.","t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":36168,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":36176,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":36184,"t":"byte","b":[24,0,0,0,0,0,0,0]},{"a":36192,"t":"byte","b":[0,3,0,0,0,0,0,0]},{"a":36200,"t":"byte","b":[48,0,0,0,0,0,0,0]},{"a":36208,"t":"byte","b":[0,3,0,0,0,0,0,0]},{"a":36216,"t":"byte","b":[24,0,0,0,0,0,0,0]},{"a":36224,"l":"ROPE_POSITION_16_SEGMENT_2","c":"Rope oscillator position 16, segment 2: 21 three-byte sprite rows and one alignment byte. Pointer 0x1876 selects the three adjacent 64-byte segments; $16DE copies the complete 192-byte triplet to $0500-$05BF for the raster IRQ. All 34 valid positions were checked against the native staging loop.","t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":36232,"t":"byte","b":[0,0,0,0,192,0,0,0]},{"a":36240,"t":"byte","b":[0,0,0,0,0,12,0,0]},{"a":36248,"t":"byte","b":[0,96,0,0,1,128,0,0]},{"a":36256,"t":"byte","b":[12,0,0,0,0,0,0,0]},{"a":36264,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":36272,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":36280,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":36288,"l":"ROPE_POSITION_17_SEGMENT_0","c":"Rope oscillator position 17, segment 0: 21 three-byte sprite rows and one alignment byte. Pointer 0x1878 selects the three adjacent 64-byte segments; $16DE copies the complete 192-byte triplet to $0500-$05BF for the raster IRQ. All 34 valid positions were checked against the native staging loop.","t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":36296,"t":"byte","b":[3,0,0,0,0,0,0,0]},{"a":36304,"t":"byte","b":[0,3,0,0,0,0,0,0]},{"a":36312,"t":"byte","b":[0,0,3,0,0,0,0,0]},{"a":36320,"t":"byte","b":[0,0,0,3,0,0,0,0]},{"a":36328,"t":"byte","b":[0,0,0,0,3,0,0,0]},{"a":36336,"t":"byte","b":[0,0,0,0,0,3,0,0]},{"a":36344,"t":"byte","b":[0,0,0,0,0,0,3,0]},{"a":36352,"l":"ROPE_POSITION_17_SEGMENT_1","c":"Rope oscillator position 17, segment 1: 21 three-byte sprite rows and one alignment byte. Pointer 0x1878 selects the three adjacent 64-byte segments; $16DE copies the complete 192-byte triplet to $0500-$05BF for the raster IRQ. All 34 valid positions were checked against the native staging loop.","t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":36360,"t":"byte","b":[3,0,0,0,0,0,0,0]},{"a":36368,"t":"byte","b":[0,3,0,0,0,0,0,0]},{"a":36376,"t":"byte","b":[0,0,3,0,0,0,0,0]},{"a":36384,"t":"byte","b":[0,0,0,3,0,0,0,0]},{"a":36392,"t":"byte","b":[0,0,0,0,3,0,0,0]},{"a":36400,"t":"byte","b":[0,0,0,0,0,3,0,0]},{"a":36408,"t":"byte","b":[0,0,0,0,0,0,3,0]},{"a":36416,"l":"ROPE_POSITION_17_SEGMENT_2","c":"Rope oscillator position 17, segment 2: 21 three-byte sprite rows and one alignment byte. Pointer 0x1878 selects the three adjacent 64-byte segments; $16DE copies the complete 192-byte triplet to $0500-$05BF for the raster IRQ. All 34 valid positions were checked against the native staging loop.","t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":36424,"t":"byte","b":[3,0,0,0,0,0,0,0]},{"a":36432,"t":"byte","b":[0,3,0,0,0,0,0,0]},{"a":36440,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":36448,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":36456,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":36464,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":36472,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":36480,"l":"ROPE_POSITION_18_SEGMENT_0","c":"Rope oscillator position 18, segment 0: 21 three-byte sprite rows and one alignment byte. Pointer 0x187a selects the three adjacent 64-byte segments; $16DE copies the complete 192-byte triplet to $0500-$05BF for the raster IRQ. All 34 valid positions were checked against the native staging loop.","t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":36488,"t":"byte","b":[3,0,0,0,0,0,0,0]},{"a":36496,"t":"byte","b":[0,3,0,0,0,0,0,0]},{"a":36504,"t":"byte","b":[0,0,3,0,0,0,0,0]},{"a":36512,"t":"byte","b":[0,0,0,3,0,0,0,0]},{"a":36520,"t":"byte","b":[0,0,0,0,3,0,0,0]},{"a":36528,"t":"byte","b":[0,0,0,0,0,3,0,0]},{"a":36536,"t":"byte","b":[0,0,0,0,0,0,3,0]},{"a":36544,"l":"ROPE_POSITION_18_SEGMENT_1","c":"Rope oscillator position 18, segment 1: 21 three-byte sprite rows and one alignment byte. Pointer 0x187a selects the three adjacent 64-byte segments; $16DE copies the complete 192-byte triplet to $0500-$05BF for the raster IRQ. All 34 valid positions were checked against the native staging loop.","t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":36552,"t":"byte","b":[3,0,0,0,0,0,0,0]},{"a":36560,"t":"byte","b":[0,3,0,0,0,0,0,0]},{"a":36568,"t":"byte","b":[0,0,3,0,0,0,0,0]},{"a":36576,"t":"byte","b":[0,0,0,3,0,0,0,0]},{"a":36584,"t":"byte","b":[0,0,0,0,3,0,0,0]},{"a":36592,"t":"byte","b":[0,0,0,0,0,3,0,0]},{"a":36600,"t":"byte","b":[0,0,0,0,0,0,3,0]},{"a":36608,"l":"ROPE_POSITION_18_SEGMENT_2","c":"Rope oscillator position 18, segment 2: 21 three-byte sprite rows and one alignment byte. Pointer 0x187a selects the three adjacent 64-byte segments; $16DE copies the complete 192-byte triplet to $0500-$05BF for the raster IRQ. All 34 valid positions were checked against the native staging loop.","t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":36616,"t":"byte","b":[12,0,0,0,0,0,0,0]},{"a":36624,"t":"byte","b":[0,96,0,0,0,0,0,0]},{"a":36632,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":36640,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":36648,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":36656,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":36664,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":36672,"l":"ROPE_POSITION_19_SEGMENT_0","c":"Rope oscillator position 19, segment 0: 21 three-byte sprite rows and one alignment byte. Pointer 0x187c selects the three adjacent 64-byte segments; $16DE copies the complete 192-byte triplet to $0500-$05BF for the raster IRQ. All 34 valid positions were checked against the native staging loop.","t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":36680,"t":"byte","b":[3,0,0,0,0,0,0,0]},{"a":36688,"t":"byte","b":[0,3,0,0,0,0,0,0]},{"a":36696,"t":"byte","b":[0,0,3,0,0,0,0,0]},{"a":36704,"t":"byte","b":[0,0,0,3,0,0,0,0]},{"a":36712,"t":"byte","b":[0,0,0,0,3,0,0,0]},{"a":36720,"t":"byte","b":[0,0,0,0,0,3,0,0]},{"a":36728,"t":"byte","b":[0,0,0,0,0,0,3,0]},{"a":36736,"l":"ROPE_POSITION_19_SEGMENT_1","c":"Rope oscillator position 19, segment 1: 21 three-byte sprite rows and one alignment byte. Pointer 0x187c selects the three adjacent 64-byte segments; $16DE copies the complete 192-byte triplet to $0500-$05BF for the raster IRQ. All 34 valid positions were checked against the native staging loop.","t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":36744,"t":"byte","b":[3,0,0,0,0,0,0,0]},{"a":36752,"t":"byte","b":[0,3,0,0,0,0,0,0]},{"a":36760,"t":"byte","b":[0,0,3,0,0,0,0,0]},{"a":36768,"t":"byte","b":[0,0,0,3,0,0,0,0]},{"a":36776,"t":"byte","b":[0,0,0,0,3,0,0,0]},{"a":36784,"t":"byte","b":[0,0,0,0,0,12,0,0]},{"a":36792,"t":"byte","b":[0,0,0,0,0,0,24,0]},{"a":36800,"l":"ROPE_POSITION_19_SEGMENT_2","c":"Rope oscillator position 19, segment 2: 21 three-byte sprite rows and one alignment byte. Pointer 0x187c selects the three adjacent 64-byte segments; $16DE copies the complete 192-byte triplet to $0500-$05BF for the raster IRQ. All 34 valid positions were checked against the native staging loop.","t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":36808,"t":"byte","b":[192,0,0,0,0,0,0,0]},{"a":36816,"t":"byte","b":[6,0,0,0,0,0,0,0]},{"a":36824,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":36832,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":36840,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":36848,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":36856,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":36864,"l":"ROPE_POSITION_20_SEGMENT_0","c":"Rope oscillator position 20, segment 0: 21 three-byte sprite rows and one alignment byte. Pointer 0x187e selects the three adjacent 64-byte segments; $16DE copies the complete 192-byte triplet to $0500-$05BF for the raster IRQ. All 34 valid positions were checked against the native staging loop.","t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":36872,"t":"byte","b":[3,0,0,0,0,0,0,0]},{"a":36880,"t":"byte","b":[0,3,0,0,0,0,0,0]},{"a":36888,"t":"byte","b":[0,0,3,0,0,0,0,0]},{"a":36896,"t":"byte","b":[0,0,0,3,0,0,0,0]},{"a":36904,"t":"byte","b":[0,0,0,0,3,0,0,0]},{"a":36912,"t":"byte","b":[0,0,0,0,0,3,0,0]},{"a":36920,"t":"byte","b":[0,0,0,0,0,0,3,0]},{"a":36928,"l":"ROPE_POSITION_20_SEGMENT_1","c":"Rope oscillator position 20, segment 1: 21 three-byte sprite rows and one alignment byte. Pointer 0x187e selects the three adjacent 64-byte segments; $16DE copies the complete 192-byte triplet to $0500-$05BF for the raster IRQ. All 34 valid positions were checked against the native staging loop.","t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":36936,"t":"byte","b":[3,0,0,0,0,0,0,0]},{"a":36944,"t":"byte","b":[0,3,0,0,0,0,0,0]},{"a":36952,"t":"byte","b":[0,0,3,0,0,0,0,0]},{"a":36960,"t":"byte","b":[0,0,0,3,0,0,0,0]},{"a":36968,"t":"byte","b":[0,0,0,0,12,0,0,0]},{"a":36976,"t":"byte","b":[0,0,0,0,0,48,0,0]},{"a":36984,"t":"byte","b":[0,0,0,0,0,1,128,0]},{"a":36992,"l":"ROPE_POSITION_20_SEGMENT_2","c":"Rope oscillator position 20, segment 2: 21 three-byte sprite rows and one alignment byte. Pointer 0x187e selects the three adjacent 64-byte segments; $16DE copies the complete 192-byte triplet to $0500-$05BF for the raster IRQ. All 34 valid positions were checked against the native staging loop.","t":"byte","b":[0,0,0,0,0,0,0,24]},{"a":37000,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":37008,"t":"byte","b":[192,0,0,0,0,0,0,0]},{"a":37016,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":37024,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":37032,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":37040,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":37048,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":37056,"l":"ROPE_POSITION_21_SEGMENT_0","c":"Rope oscillator position 21, segment 0: 21 three-byte sprite rows and one alignment byte. Pointer 0x1880 selects the three adjacent 64-byte segments; $16DE copies the complete 192-byte triplet to $0500-$05BF for the raster IRQ. All 34 valid positions were checked against the native staging loop.","t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":37064,"t":"byte","b":[3,0,0,0,0,0,0,0]},{"a":37072,"t":"byte","b":[0,3,0,0,0,0,0,0]},{"a":37080,"t":"byte","b":[0,0,3,0,0,0,0,0]},{"a":37088,"t":"byte","b":[0,0,0,3,0,0,0,0]},{"a":37096,"t":"byte","b":[0,0,0,0,3,0,0,0]},{"a":37104,"t":"byte","b":[0,0,0,0,0,3,0,0]},{"a":37112,"t":"byte","b":[0,0,0,0,0,0,3,0]},{"a":37120,"l":"ROPE_POSITION_21_SEGMENT_1","c":"Rope oscillator position 21, segment 1: 21 three-byte sprite rows and one alignment byte. Pointer 0x1880 selects the three adjacent 64-byte segments; $16DE copies the complete 192-byte triplet to $0500-$05BF for the raster IRQ. All 34 valid positions were checked against the native staging loop.","t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":37128,"t":"byte","b":[3,0,0,0,0,0,0,0]},{"a":37136,"t":"byte","b":[0,3,0,0,0,0,0,0]},{"a":37144,"t":"byte","b":[0,0,3,0,0,0,0,0]},{"a":37152,"t":"byte","b":[0,0,0,12,0,0,0,0]},{"a":37160,"t":"byte","b":[0,0,0,0,96,0,0,0]},{"a":37168,"t":"byte","b":[0,0,0,0,3,0,0,0]},{"a":37176,"t":"byte","b":[0,0,0,0,0,24,0,0]},{"a":37184,"l":"ROPE_POSITION_21_SEGMENT_2","c":"Rope oscillator position 21, segment 2: 21 three-byte sprite rows and one alignment byte. Pointer 0x1880 selects the three adjacent 64-byte segments; $16DE copies the complete 192-byte triplet to $0500-$05BF for the raster IRQ. All 34 valid positions were checked against the native staging loop.","t":"byte","b":[0,0,0,0,0,0,1,128]},{"a":37192,"t":"byte","b":[0,0,0,0,0,0,0,12]},{"a":37200,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":37208,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":37216,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":37224,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":37232,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":37240,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":37248,"l":"ROPE_POSITION_22_SEGMENT_0","c":"Rope oscillator position 22, segment 0: 21 three-byte sprite rows and one alignment byte. Pointer 0x1882 selects the three adjacent 64-byte segments; $16DE copies the complete 192-byte triplet to $0500-$05BF for the raster IRQ. All 34 valid positions were checked against the native staging loop.","t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":37256,"t":"byte","b":[3,0,0,0,0,0,0,0]},{"a":37264,"t":"byte","b":[0,3,0,0,0,0,0,0]},{"a":37272,"t":"byte","b":[0,0,3,0,0,0,0,0]},{"a":37280,"t":"byte","b":[0,0,0,3,0,0,0,0]},{"a":37288,"t":"byte","b":[0,0,0,0,3,0,0,0]},{"a":37296,"t":"byte","b":[0,0,0,0,0,3,0,0]},{"a":37304,"t":"byte","b":[0,0,0,0,0,0,3,0]},{"a":37312,"l":"ROPE_POSITION_22_SEGMENT_1","c":"Rope oscillator position 22, segment 1: 21 three-byte sprite rows and one alignment byte. Pointer 0x1882 selects the three adjacent 64-byte segments; $16DE copies the complete 192-byte triplet to $0500-$05BF for the raster IRQ. All 34 valid positions were checked against the native staging loop.","t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":37320,"t":"byte","b":[3,0,0,0,0,0,0,0]},{"a":37328,"t":"byte","b":[0,3,0,0,0,0,0,0]},{"a":37336,"t":"byte","b":[0,0,12,0,0,0,0,0]},{"a":37344,"t":"byte","b":[0,0,0,96,0,0,0,0]},{"a":37352,"t":"byte","b":[0,0,0,6,0,0,0,0]},{"a":37360,"t":"byte","b":[0,0,0,0,48,0,0,0]},{"a":37368,"t":"byte","b":[0,0,0,0,0,192,0,0]},{"a":37376,"l":"ROPE_POSITION_22_SEGMENT_2","c":"Rope oscillator position 22, segment 2: 21 three-byte sprite rows and one alignment byte. Pointer 0x1882 selects the three adjacent 64-byte segments; $16DE copies the complete 192-byte triplet to $0500-$05BF for the raster IRQ. All 34 valid positions were checked against the native staging loop.","t":"byte","b":[0,0,0,0,0,0,12,0]},{"a":37384,"t":"byte","b":[0,0,0,0,0,0,0,192]},{"a":37392,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":37400,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":37408,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":37416,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":37424,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":37432,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":37440,"l":"ROPE_POSITION_23_SEGMENT_0","c":"Rope oscillator position 23, segment 0: 21 three-byte sprite rows and one alignment byte. Pointer 0x1884 selects the three adjacent 64-byte segments; $16DE copies the complete 192-byte triplet to $0500-$05BF for the raster IRQ. All 34 valid positions were checked against the native staging loop.","t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":37448,"t":"byte","b":[3,0,0,0,0,0,0,0]},{"a":37456,"t":"byte","b":[0,3,0,0,0,0,0,0]},{"a":37464,"t":"byte","b":[0,0,6,0,0,0,0,0]},{"a":37472,"t":"byte","b":[0,0,0,12,0,0,0,0]},{"a":37480,"t":"byte","b":[0,0,0,0,12,0,0,0]},{"a":37488,"t":"byte","b":[0,0,0,0,0,24,0,0]},{"a":37496,"t":"byte","b":[0,0,0,0,0,0,48,0]},{"a":37504,"l":"ROPE_POSITION_23_SEGMENT_1","c":"Rope oscillator position 23, segment 1: 21 three-byte sprite rows and one alignment byte. Pointer 0x1884 selects the three adjacent 64-byte segments; $16DE copies the complete 192-byte triplet to $0500-$05BF for the raster IRQ. All 34 valid positions were checked against the native staging loop.","t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":37512,"t":"byte","b":[192,0,0,0,0,0,0,0]},{"a":37520,"t":"byte","b":[1,128,0,0,0,0,0,0]},{"a":37528,"t":"byte","b":[0,6,0,0,0,0,0,24]},{"a":37536,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":37544,"t":"byte","b":[96,0,0,0,0,0,192,0]},{"a":37552,"t":"byte","b":[0,0,0,0,0,0,3,0]},{"a":37560,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":37568,"l":"ROPE_POSITION_23_SEGMENT_2","c":"Rope oscillator position 23, segment 2: 21 three-byte sprite rows and one alignment byte. Pointer 0x1884 selects the three adjacent 64-byte segments; $16DE copies the complete 192-byte triplet to $0500-$05BF for the raster IRQ. All 34 valid positions were checked against the native staging loop.","t":"byte","b":[12,0,0,0,0,0,0,0]},{"a":37576,"t":"byte","b":[0,0,0,0,96,0,0,0]},{"a":37584,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":37592,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":37600,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":37608,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":37616,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":37624,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":37632,"l":"ROPE_POSITION_24_SEGMENT_0","c":"Rope oscillator position 24, segment 0: 21 three-byte sprite rows and one alignment byte. Pointer 0x1886 selects the three adjacent 64-byte segments; $16DE copies the complete 192-byte triplet to $0500-$05BF for the raster IRQ. All 34 valid positions were checked against the native staging loop.","t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":37640,"t":"byte","b":[3,0,0,0,0,0,6,0]},{"a":37648,"t":"byte","b":[0,0,0,0,0,0,0,24]},{"a":37656,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":37664,"t":"byte","b":[96,0,0,0,0,0,0,0]},{"a":37672,"t":"byte","b":[1,128,0,0,0,0,0,0]},{"a":37680,"t":"byte","b":[0,6,0,0,0,0,0,0]},{"a":37688,"t":"byte","b":[0,0,12,0,0,0,0,0]},{"a":37696,"l":"ROPE_POSITION_24_SEGMENT_1","c":"Rope oscillator position 24, segment 1: 21 three-byte sprite rows and one alignment byte. Pointer 0x1886 selects the three adjacent 64-byte segments; $16DE copies the complete 192-byte triplet to $0500-$05BF for the raster IRQ. All 34 valid positions were checked against the native staging loop.","t":"byte","b":[0,48,0,0,0,0,0,0]},{"a":37704,"t":"byte","b":[0,0,96,0,0,0,0,0]},{"a":37712,"t":"byte","b":[0,0,1,128,0,0,0,0]},{"a":37720,"t":"byte","b":[0,0,0,3,0,0,0,0]},{"a":37728,"t":"byte","b":[0,12,0,0,0,0,0,0]},{"a":37736,"t":"byte","b":[0,0,24,0,0,0,0,0]},{"a":37744,"t":"byte","b":[0,0,0,48,0,0,0,0]},{"a":37752,"t":"byte","b":[0,0,0,0,192,0,0,0]},{"a":37760,"l":"ROPE_POSITION_24_SEGMENT_2","c":"Rope oscillator position 24, segment 2: 21 three-byte sprite rows and one alignment byte. Pointer 0x1886 selects the three adjacent 64-byte segments; $16DE copies the complete 192-byte triplet to $0500-$05BF for the raster IRQ. All 34 valid positions were checked against the native staging loop.","t":"byte","b":[0,0,0,0,0,0,0,192]},{"a":37768,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":37776,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":37784,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":37792,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":37800,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":37808,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":37816,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":37824,"l":"ROPE_POSITION_25_SEGMENT_0","c":"Rope oscillator position 25, segment 0: 21 three-byte sprite rows and one alignment byte. Pointer 0x1888 selects the three adjacent 64-byte segments; $16DE copies the complete 192-byte triplet to $0500-$05BF for the raster IRQ. All 34 valid positions were checked against the native staging loop.","t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":37832,"t":"byte","b":[3,0,0,0,0,0,0,0]},{"a":37840,"t":"byte","b":[0,12,0,0,0,0,0,0]},{"a":37848,"t":"byte","b":[0,0,48,0,0,0,0,0]},{"a":37856,"t":"byte","b":[192,0,0,0,0,1,128,0]},{"a":37864,"t":"byte","b":[0,0,0,6,0,0,0,0]},{"a":37872,"t":"byte","b":[0,48,0,0,0,0,0,0]},{"a":37880,"t":"byte","b":[0,0,96,0,0,0,0,0]},{"a":37888,"l":"ROPE_POSITION_25_SEGMENT_1","c":"Rope oscillator position 25, segment 1: 21 three-byte sprite rows and one alignment byte. Pointer 0x1888 selects the three adjacent 64-byte segments; $16DE copies the complete 192-byte triplet to $0500-$05BF for the raster IRQ. All 34 valid positions were checked against the native staging loop.","t":"byte","b":[0,0,0,0,0,96,0,0]},{"a":37896,"t":"byte","b":[0,0,0,0,0,1,128,0]},{"a":37904,"t":"byte","b":[0,0,0,0,0,0,6,0]},{"a":37912,"t":"byte","b":[0,0,0,0,0,0,0,12]},{"a":37920,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":37928,"t":"byte","b":[48,0,0,0,0,0,192,0]},{"a":37936,"t":"byte","b":[0,0,0,0,0,0,1,128]},{"a":37944,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":37952,"l":"ROPE_POSITION_25_SEGMENT_2","c":"Rope oscillator position 25, segment 2: 21 three-byte sprite rows and one alignment byte. Pointer 0x1888 selects the three adjacent 64-byte segments; $16DE copies the complete 192-byte triplet to $0500-$05BF for the raster IRQ. All 34 valid positions were checked against the native staging loop.","t":"byte","b":[6,0,0,0,0,0,0,0]},{"a":37960,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":37968,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":37976,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":37984,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":37992,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":38000,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":38008,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":38016,"l":"ROPE_POSITION_26_SEGMENT_0","c":"Rope oscillator position 26, segment 0: 21 three-byte sprite rows and one alignment byte. Pointer 0x188a selects the three adjacent 64-byte segments; $16DE copies the complete 192-byte triplet to $0500-$05BF for the raster IRQ. All 34 valid positions were checked against the native staging loop.","t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":38024,"t":"byte","b":[3,0,0,0,0,0,0,0]},{"a":38032,"t":"byte","b":[0,12,0,0,0,0,0,96]},{"a":38040,"t":"byte","b":[0,0,0,0,3,0,0,0]},{"a":38048,"t":"byte","b":[0,0,12,0,0,0,0,0]},{"a":38056,"t":"byte","b":[0,0,0,96,0,0,0,0]},{"a":38064,"t":"byte","b":[0,0,0,1,128,0,0,0]},{"a":38072,"t":"byte","b":[0,0,0,0,6,0,0,0]},{"a":38080,"l":"ROPE_POSITION_26_SEGMENT_1","c":"Rope oscillator position 26, segment 1: 21 three-byte sprite rows and one alignment byte. Pointer 0x188a selects the three adjacent 64-byte segments; $16DE copies the complete 192-byte triplet to $0500-$05BF for the raster IRQ. All 34 valid positions were checked against the native staging loop.","t":"byte","b":[0,0,0,0,0,0,0,6]},{"a":38088,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":38096,"t":"byte","b":[24,0,0,0,0,0,0,0]},{"a":38104,"t":"byte","b":[0,96,0,0,0,0,0,0]},{"a":38112,"t":"byte","b":[0,1,128,0,0,0,0,6]},{"a":38120,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":38128,"t":"byte","b":[12,0,0,0,0,0,48,0]},{"a":38136,"t":"byte","b":[0,0,0,0,192,0,0,0]},{"a":38144,"l":"ROPE_POSITION_26_SEGMENT_2","c":"Rope oscillator position 26, segment 2: 21 three-byte sprite rows and one alignment byte. Pointer 0x188a selects the three adjacent 64-byte segments; $16DE copies the complete 192-byte triplet to $0500-$05BF for the raster IRQ. All 34 valid positions were checked against the native staging loop.","t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":38152,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":38160,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":38168,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":38176,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":38184,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":38192,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":38200,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":38208,"l":"ROPE_POSITION_27_SEGMENT_0","c":"Rope oscillator position 27, segment 0: 21 three-byte sprite rows and one alignment byte. Pointer 0x188c selects the three adjacent 64-byte segments; $16DE copies the complete 192-byte triplet to $0500-$05BF for the raster IRQ. All 34 valid positions were checked against the native staging loop.","t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":38216,"t":"byte","b":[3,0,0,0,0,0,24,0]},{"a":38224,"t":"byte","b":[0,0,0,0,192,0,0,0]},{"a":38232,"t":"byte","b":[0,3,0,0,0,0,0,48]},{"a":38240,"t":"byte","b":[0,0,0,0,1,128,0,0]},{"a":38248,"t":"byte","b":[0,0,0,0,0,12,0,0]},{"a":38256,"t":"byte","b":[0,0,0,0,0,0,96,0]},{"a":38264,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":38272,"l":"ROPE_POSITION_27_SEGMENT_1","c":"Rope oscillator position 27, segment 1: 21 three-byte sprite rows and one alignment byte. Pointer 0x188c selects the three adjacent 64-byte segments; $16DE copies the complete 192-byte triplet to $0500-$05BF for the raster IRQ. All 34 valid positions were checked against the native staging loop.","t":"byte","b":[0,0,48,0,0,0,0,1]},{"a":38280,"t":"byte","b":[128,0,0,0,0,0,0,0]},{"a":38288,"t":"byte","b":[12,0,0,0,0,0,96,0]},{"a":38296,"t":"byte","b":[0,0,0,0,0,0,3,0]},{"a":38304,"t":"byte","b":[0,0,0,0,0,0,0,12]},{"a":38312,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":38320,"t":"byte","b":[48,0,0,0,0,0,0,0]},{"a":38328,"t":"byte","b":[0,192,0,0,0,0,0,0]},{"a":38336,"l":"ROPE_POSITION_27_SEGMENT_2","c":"Rope oscillator position 27, segment 2: 21 three-byte sprite rows and one alignment byte. Pointer 0x188c selects the three adjacent 64-byte segments; $16DE copies the complete 192-byte triplet to $0500-$05BF for the raster IRQ. All 34 valid positions were checked against the native staging loop.","t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":38344,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":38352,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":38360,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":38368,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":38376,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":38384,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":38392,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":38400,"l":"ROPE_POSITION_28_SEGMENT_0","c":"Rope oscillator position 28, segment 0: 21 three-byte sprite rows and one alignment byte. Pointer 0x188e selects the three adjacent 64-byte segments; $16DE copies the complete 192-byte triplet to $0500-$05BF for the raster IRQ. All 34 valid positions were checked against the native staging loop.","t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":38408,"t":"byte","b":[3,0,0,0,0,0,24,0]},{"a":38416,"t":"byte","b":[0,0,0,0,96,0,0,0]},{"a":38424,"t":"byte","b":[0,1,128,0,0,0,0,12]},{"a":38432,"t":"byte","b":[0,0,0,0,0,192,0,0]},{"a":38440,"t":"byte","b":[0,0,0,0,0,6,0,0]},{"a":38448,"t":"byte","b":[0,0,0,96,0,0,0,0]},{"a":38456,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":38464,"l":"ROPE_POSITION_28_SEGMENT_1","c":"Rope oscillator position 28, segment 1: 21 three-byte sprite rows and one alignment byte. Pointer 0x188e selects the three adjacent 64-byte segments; $16DE copies the complete 192-byte triplet to $0500-$05BF for the raster IRQ. All 34 valid positions were checked against the native staging loop.","t":"byte","b":[0,0,3,0,0,0,0,0]},{"a":38472,"t":"byte","b":[0,0,0,24,0,0,0,0]},{"a":38480,"t":"byte","b":[0,192,0,0,0,0,6,0]},{"a":38488,"t":"byte","b":[0,0,0,0,0,0,0,96]},{"a":38496,"t":"byte","b":[0,0,0,0,0,0,0,3]},{"a":38504,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":38512,"t":"byte","b":[24,0,0,0,0,0,192,0]},{"a":38520,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":38528,"l":"ROPE_POSITION_28_SEGMENT_2","c":"Rope oscillator position 28, segment 2: 21 three-byte sprite rows and one alignment byte. Pointer 0x188e selects the three adjacent 64-byte segments; $16DE copies the complete 192-byte triplet to $0500-$05BF for the raster IRQ. All 34 valid positions were checked against the native staging loop.","t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":38536,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":38544,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":38552,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":38560,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":38568,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":38576,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":38584,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":38592,"l":"ROPE_POSITION_29_SEGMENT_0","c":"Rope oscillator position 29, segment 0: 21 three-byte sprite rows and one alignment byte. Pointer 0x1890 selects the three adjacent 64-byte segments; $16DE copies the complete 192-byte triplet to $0500-$05BF for the raster IRQ. All 34 valid positions were checked against the native staging loop.","t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":38600,"t":"byte","b":[3,0,0,0,0,0,24,0]},{"a":38608,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":38616,"t":"byte","b":[0,0,192,0,0,0,0,6]},{"a":38624,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":38632,"t":"byte","b":[48,0,0,0,0,0,0,0]},{"a":38640,"t":"byte","b":[3,0,0,0,0,0,48,0]},{"a":38648,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":38656,"l":"ROPE_POSITION_29_SEGMENT_1","c":"Rope oscillator position 29, segment 1: 21 three-byte sprite rows and one alignment byte. Pointer 0x1890 selects the three adjacent 64-byte segments; $16DE copies the complete 192-byte triplet to $0500-$05BF for the raster IRQ. All 34 valid positions were checked against the native staging loop.","t":"byte","b":[0,0,0,0,0,6,0,0]},{"a":38664,"t":"byte","b":[0,0,0,24,0,0,0,0]},{"a":38672,"t":"byte","b":[0,192,0,0,0,0,6,0]},{"a":38680,"t":"byte","b":[0,0,0,0,0,0,0,96]},{"a":38688,"t":"byte","b":[0,0,0,0,0,0,0,3]},{"a":38696,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":38704,"t":"byte","b":[24,0,0,0,0,0,192,0]},{"a":38712,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":38720,"l":"ROPE_POSITION_29_SEGMENT_2","c":"Rope oscillator position 29, segment 2: 21 three-byte sprite rows and one alignment byte. Pointer 0x1890 selects the three adjacent 64-byte segments; $16DE copies the complete 192-byte triplet to $0500-$05BF for the raster IRQ. All 34 valid positions were checked against the native staging loop.","t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":38728,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":38736,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":38744,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":38752,"t":"byte","b":[48,0,0,0,0,0,0,0]},{"a":38760,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":38768,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":38776,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":38784,"l":"ROPE_POSITION_30_SEGMENT_0","c":"Rope oscillator position 30, segment 0: 21 three-byte sprite rows and one alignment byte. Pointer 0x1892 selects the three adjacent 64-byte segments; $16DE copies the complete 192-byte triplet to $0500-$05BF for the raster IRQ. All 34 valid positions were checked against the native staging loop.","t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":38792,"t":"byte","b":[3,0,0,0,0,0,24,0]},{"a":38800,"t":"byte","b":[0,0,0,0,0,0,1,128]},{"a":38808,"t":"byte","b":[0,0,0,0,0,0,0,12]},{"a":38816,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":38824,"t":"byte","b":[96,0,0,0,0,0,0,0]},{"a":38832,"t":"byte","b":[3,0,0,0,0,0,96,0]},{"a":38840,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":38848,"l":"ROPE_POSITION_30_SEGMENT_1","c":"Rope oscillator position 30, segment 1: 21 three-byte sprite rows and one alignment byte. Pointer 0x1892 selects the three adjacent 64-byte segments; $16DE copies the complete 192-byte triplet to $0500-$05BF for the raster IRQ. All 34 valid positions were checked against the native staging loop.","t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":38856,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":38864,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":38872,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":38880,"t":"byte","b":[0,0,0,0,0,0,6,0]},{"a":38888,"t":"byte","b":[0,0,0,0,48,0,0,0]},{"a":38896,"t":"byte","b":[0,6,0,0,0,0,1,128]},{"a":38904,"t":"byte","b":[0,96,0,0,0,0,0,0]},{"a":38912,"l":"ROPE_POSITION_30_SEGMENT_2","c":"Rope oscillator position 30, segment 2: 21 three-byte sprite rows and one alignment byte. Pointer 0x1892 selects the three adjacent 64-byte segments; $16DE copies the complete 192-byte triplet to $0500-$05BF for the raster IRQ. All 34 valid positions were checked against the native staging loop.","t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":38920,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":38928,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":38936,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":38944,"t":"byte","b":[0,0,0,12,0,0,0,0]},{"a":38952,"t":"byte","b":[0,0,0,0,48,0,0,0]},{"a":38960,"t":"byte","b":[0,0,0,0,0,192,0,0]},{"a":38968,"t":"byte","b":[0,0,6,0,0,0,0,0]},{"a":38976,"l":"ROPE_POSITION_31_SEGMENT_0","c":"Rope oscillator position 31, segment 0: 21 three-byte sprite rows and one alignment byte. Pointer 0x1894 selects the three adjacent 64-byte segments; $16DE copies the complete 192-byte triplet to $0500-$05BF for the raster IRQ. All 34 valid positions were checked against the native staging loop.","t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":38984,"t":"byte","b":[3,0,0,0,0,0,0,0]},{"a":38992,"t":"byte","b":[0,48,0,0,0,0,1,128]},{"a":39000,"t":"byte","b":[0,0,0,0,12,0,0,0]},{"a":39008,"t":"byte","b":[0,0,0,0,0,192,0,0]},{"a":39016,"t":"byte","b":[0,0,0,0,0,12,0,0]},{"a":39024,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":39032,"t":"byte","b":[0,192,0,0,0,0,0,0]},{"a":39040,"l":"ROPE_POSITION_31_SEGMENT_1","c":"Rope oscillator position 31, segment 1: 21 three-byte sprite rows and one alignment byte. Pointer 0x1894 selects the three adjacent 64-byte segments; $16DE copies the complete 192-byte triplet to $0500-$05BF for the raster IRQ. All 34 valid positions were checked against the native staging loop.","t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":39048,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":39056,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":39064,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":39072,"t":"byte","b":[0,0,0,0,0,0,12,0]},{"a":39080,"t":"byte","b":[0,0,0,1,128,0,0,0]},{"a":39088,"t":"byte","b":[0,24,0,0,0,0,3,0]},{"a":39096,"t":"byte","b":[0,192,0,0,0,0,0,0]},{"a":39104,"l":"ROPE_POSITION_31_SEGMENT_2","c":"Rope oscillator position 31, segment 2: 21 three-byte sprite rows and one alignment byte. Pointer 0x1894 selects the three adjacent 64-byte segments; $16DE copies the complete 192-byte triplet to $0500-$05BF for the raster IRQ. All 34 valid positions were checked against the native staging loop.","t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":39112,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":39120,"t":"byte","b":[0,0,0,0,12,0,0,0]},{"a":39128,"t":"byte","b":[0,0,0,0,0,96,0,0]},{"a":39136,"t":"byte","b":[0,0,6,0,0,192,0,0]},{"a":39144,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":39152,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":39160,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":39168,"l":"ROPE_POSITION_32_SEGMENT_0","c":"Rope oscillator position 32, segment 0: 21 three-byte sprite rows and one alignment byte. Pointer 0x1896 selects the three adjacent 64-byte segments; $16DE copies the complete 192-byte triplet to $0500-$05BF for the raster IRQ. All 34 valid positions were checked against the native staging loop.","t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":39176,"t":"byte","b":[3,0,0,0,0,0,0,0]},{"a":39184,"t":"byte","b":[0,48,0,0,0,0,0,0]},{"a":39192,"t":"byte","b":[0,1,128,0,0,0,0,12]},{"a":39200,"t":"byte","b":[0,0,0,0,0,96,0,0]},{"a":39208,"t":"byte","b":[0,0,0,0,0,6,0,0]},{"a":39216,"t":"byte","b":[0,0,0,0,0,0,192,0]},{"a":39224,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":39232,"l":"ROPE_POSITION_32_SEGMENT_1","c":"Rope oscillator position 32, segment 1: 21 three-byte sprite rows and one alignment byte. Pointer 0x1896 selects the three adjacent 64-byte segments; $16DE copies the complete 192-byte triplet to $0500-$05BF for the raster IRQ. All 34 valid positions were checked against the native staging loop.","t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":39240,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":39248,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":39256,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":39264,"t":"byte","b":[0,0,0,0,0,0,24,0]},{"a":39272,"t":"byte","b":[0,0,0,0,0,0,3,0]},{"a":39280,"t":"byte","b":[0,96,0,0,0,0,6,0]},{"a":39288,"t":"byte","b":[0,48,0,0,0,0,0,0]},{"a":39296,"l":"ROPE_POSITION_32_SEGMENT_2","c":"Rope oscillator position 32, segment 2: 21 three-byte sprite rows and one alignment byte. Pointer 0x1896 selects the three adjacent 64-byte segments; $16DE copies the complete 192-byte triplet to $0500-$05BF for the raster IRQ. All 34 valid positions were checked against the native staging loop.","t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":39304,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":39312,"t":"byte","b":[0,0,0,0,24,0,0,0]},{"a":39320,"t":"byte","b":[0,0,0,0,1,128,0,48]},{"a":39328,"t":"byte","b":[0,6,0,0,0,0,0,0]},{"a":39336,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":39344,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":39352,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":39360,"l":"ROPE_POSITION_33_SEGMENT_0","c":"Rope oscillator position 33, segment 0: 21 three-byte sprite rows and one alignment byte. Pointer 0x1898 selects the three adjacent 64-byte segments; $16DE copies the complete 192-byte triplet to $0500-$05BF for the raster IRQ. All 34 valid positions were checked against the native staging loop.","t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":39368,"t":"byte","b":[3,0,0,0,0,0,48,0]},{"a":39376,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":39384,"t":"byte","b":[0,3,0,0,0,0,0,96]},{"a":39392,"t":"byte","b":[0,0,0,0,0,0,0,12]},{"a":39400,"t":"byte","b":[0,0,0,0,0,192,0,0]},{"a":39408,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":39416,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":39424,"l":"ROPE_POSITION_33_SEGMENT_1","c":"Rope oscillator position 33, segment 1: 21 three-byte sprite rows and one alignment byte. Pointer 0x1898 selects the three adjacent 64-byte segments; $16DE copies the complete 192-byte triplet to $0500-$05BF for the raster IRQ. All 34 valid positions were checked against the native staging loop.","t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":39432,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":39440,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":39448,"t":"byte","b":[0,0,24,0,0,0,0,0]},{"a":39456,"t":"byte","b":[0,0,0,192,0,0,0,0]},{"a":39464,"t":"byte","b":[12,0,0,0,0,0,0,0]},{"a":39472,"t":"byte","b":[0,192,0,0,0,0,24,0]},{"a":39480,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":39488,"l":"ROPE_POSITION_33_SEGMENT_2","c":"Rope oscillator position 33, segment 2: 21 three-byte sprite rows and one alignment byte. Pointer 0x1898 selects the three adjacent 64-byte segments; $16DE copies the complete 192-byte triplet to $0500-$05BF for the raster IRQ. All 34 valid positions were checked against the native staging loop.","t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":39496,"t":"byte","b":[0,0,0,0,0,0,3,0]},{"a":39504,"t":"byte","b":[0,0,0,0,0,0,0,48]},{"a":39512,"t":"byte","b":[0,6,0,1,128,0,48,0]},{"a":39520,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":39528,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":39536,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":39544,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":39552,"l":"JSW_State_embedded_source_fragment","c":"Embedded assembler-source fragment naming rope/fall state; documentary build remnant, not active machine code.","t":"byte","b":[68]},{"a":39553,"l":"annotation_9a81","c":"Inactive assembler-source fragment naming rope/fall logic.","t":"byte","b":[68,32,49,13,9,73,70,78]},{"a":39561,"t":"byte","b":[79,84,32,50,44,78,82,83]},{"a":39569,"t":"byte","b":[49,13,9,76,68,65,32,35]},{"a":39577,"t":"byte","b":[48,13,78,82,83,49,9,67]},{"a":39585,"t":"byte","b":[76,67,13,9,65,68,67,32]},{"a":39593,"t":"byte","b":[82,89,67,78,84,82,13,9]},{"a":39601,"t":"byte","b":[73,70,78,79,84,32,49,54]},{"a":39609,"t":"byte","b":[44,78,70,76,79,82,13,9]},{"a":39617,"t":"byte","b":[80,79,75,69,32,70,76,65]},{"a":39625,"t":"byte","b":[71,83,44,50,13,9,83,84]},{"a":39633,"t":"byte","b":[90,32,70,65,76,76,67,78]},{"a":39641,"t":"byte","b":[84,13,9,83,84,65,32,68]},{"a":39649,"t":"byte","b":[69,65,68,70,65,76,76,13]},{"a":39657,"t":"byte","b":[9,76,68,65,32,86,73,67]},{"a":39665,"t":"byte","b":[43,36,49,69,32,67,76,82]},{"a":39673,"t":"byte","b":[32,67,79,76,76,46,13,9]},{"a":39681,"t":"byte","b":[74,77,80,32,78,82,80,67]},{"a":39689,"t":"byte","b":[72,75,13,78,70,76,79,82]},{"a":39697,"t":"byte","b":[9,73,70,78,79,84,32,36]},{"a":39705,"t":"byte","b":[70,70,44,78,85,80,83,82]},{"a":39713,"t":"byte","b":[13,9,84,82,65,32,83,72]},{"a":39721,"t":"byte","b":[69,69,84,85,80,44,82,79]},{"a":39729,"t":"byte","b":[79,77,13,9,74,77,80,32]},{"a":39737,"t":"byte","b":[82,79,79,77,68,82,65,87]},{"a":39745,"t":"byte","b":[13,78,85,80,83,82,9,83]},{"a":39753,"t":"byte","b":[84,65,32,82,89,67,78,84]},{"a":39761,"t":"byte","b":[82,13,9,76,68,65,32,74]},{"a":39769,"t":"byte","b":[85,77,80,82,69,81,13,9]},{"a":39777,"t":"byte","b":[66,69,81,32,78,74,79,82]},{"a":39785,"t":"byte","b":[13,9,84,82,65,32,77,65]},{"a":39793,"t":"byte","b":[78,88,68,73,82,44,74,80]},{"a":39801,"t":"byte","b":[68,73,82,13,9,80,79,75]},{"a":39809,"t":"byte","b":[69,32,70,76,65,71,83,44]},{"a":39817,"t":"byte","b":[49,13,9,83,84,90,32,74]},{"a":39825,"t":"byte","b":[85,77,80,67,78,84,82,13]},{"a":39833,"t":"byte","b":[9,83,84,65,32,68,69,65]},{"a":39841,"t":"byte","b":[68,70,65,76,76,13,9,83]},{"a":39849,"t":"byte","b":[84,65,32,70,65,76,76,67]},{"a":39857,"t":"byte","b":[78,84,13,9,76,68,65,32]},{"a":39865,"t":"byte","b":[86,73,67,43,36,49,69,13]},{"a":39873,"t":"byte","b":[9,74,77,80,32,78,82,80]},{"a":39881,"t":"byte","b":[67,72,75,13,78,74,79,82]},{"a":39889,"t":"byte","b":[9,76,68,65,32,86,73,67]},{"a":39897,"t":"byte","b":[43,36,49,70,13,9,65,78]},{"a":39905,"t":"byte","b":[68,32,35,49,13,9,66,69]},{"a":39913,"t":"byte","b":[81,32,80,79,83,82,80,13]},{"a":39921,"t":"byte","b":[9,74,83,82,32,73,78,73]},{"a":39929,"t":"byte","b":[84,76,79,67,84,13,9]},{"a":39936,"l":"JSW_State_game_music_streams","c":"In-game two-voice music event streams; voice starts are $9C00 and $9DEE.","t":"byte","b":[0,12,48,12,50,12,52,12]},{"a":39944,"t":"byte","b":[53,12,50,12,52,12,48,12]},{"a":39952,"t":"byte","b":[55,24,60,24,59,24,60,24]},{"a":39960,"t":"byte","b":[62,12,55,12,57,12,59,12]},{"a":39968,"t":"byte","b":[60,12,57,12,59,12,55,12]},{"a":39976,"t":"byte","b":[62,24,67,24,65,24,67,24]},{"a":39984,"t":"byte","b":[64,12,69,12,67,12,65,12]},{"a":39992,"t":"byte","b":[64,12,67,12,65,12,69,12]},{"a":40000,"t":"byte","b":[67,12,65,12,64,12,62,12]},{"a":40008,"t":"byte","b":[60,12,64,12,62,12,65,12]},{"a":40016,"t":"byte","b":[64,12,62,12,60,12,59,12]},{"a":40024,"t":"byte","b":[57,12,60,12,59,12,62,12]},{"a":40032,"t":"byte","b":[60,12,59,12,57,12,55,12]},{"a":40040,"t":"byte","b":[54,12,57,12,55,12,59,12]},{"a":40048,"t":"byte","b":[57,24,50,24,60,36,62,12]},{"a":40056,"t":"byte","b":[59,12,57,12,55,12,54,12]},{"a":40064,"t":"byte","b":[52,12,55,12,54,12,57,12]},{"a":40072,"t":"byte","b":[55,12,59,12,57,12,60,12]},{"a":40080,"t":"byte","b":[59,12,62,12,60,12,64,12]},{"a":40088,"t":"byte","b":[62,12,59,6,60,6,62,12]},{"a":40096,"t":"byte","b":[67,12,59,24,57,12,55,10]},{"a":40104,"t":"byte","b":[0,2,55,24,0,84,55,12]},{"a":40112,"t":"byte","b":[57,12,59,12,60,12,57,12]},{"a":40120,"t":"byte","b":[59,12,55,12,54,24,0,84]},{"a":40128,"t":"byte","b":[57,12,59,12,60,12,62,12]},{"a":40136,"t":"byte","b":[59,12,60,12,57,12,59,24]},{"a":40144,"t":"byte","b":[0,84,62,12,60,12,59,12]},{"a":40152,"t":"byte","b":[57,12,60,12,59,12,62,12]},{"a":40160,"t":"byte","b":[60,24,0,84,64,12,62,12]},{"a":40168,"t":"byte","b":[60,12,59,12,62,12,61,12]},{"a":40176,"t":"byte","b":[64,12,62,24,61,24,62,24]},{"a":40184,"t":"byte","b":[64,24,65,24,57,24,59,24]},{"a":40192,"l":"annotation_9d00","c":"Two gameplay music streams, starting $9C00 and $9DEE.","t":"byte","b":[61,24,62,24,54,24,56,24]},{"a":40200,"t":"byte","b":[57,24,59,24,60,24,62,60]},{"a":40208,"t":"byte","b":[52,12,54,12,56,12,57,12]},{"a":40216,"t":"byte","b":[54,12,56,12,52,12,64,12]},{"a":40224,"t":"byte","b":[62,12,60,12,64,12,62,12]},{"a":40232,"t":"byte","b":[60,12,59,12,62,12,60,12]},{"a":40240,"t":"byte","b":[69,12,68,12,71,12,69,12]},{"a":40248,"t":"byte","b":[64,12,65,12,62,12,56,12]},{"a":40256,"t":"byte","b":[65,12,64,12,62,12,60,24]},{"a":40264,"t":"byte","b":[59,12,57,10,0,2,57,12]},{"a":40272,"t":"byte","b":[69,12,67,12,65,12,64,12]},{"a":40280,"t":"byte","b":[67,12,65,12,69,12,67,108]},{"a":40288,"t":"byte","b":[64,12,65,12,67,12,69,12]},{"a":40296,"t":"byte","b":[65,12,67,12,64,12,65,108]},{"a":40304,"t":"byte","b":[67,12,65,12,64,12,62,12]},{"a":40312,"t":"byte","b":[65,12,64,12,67,12,65,108]},{"a":40320,"t":"byte","b":[62,12,64,12,65,12,67,12]},{"a":40328,"t":"byte","b":[64,12,65,12,62,12,64,108]},{"a":40336,"t":"byte","b":[60,12,62,12,64,12,65,12]},{"a":40344,"t":"byte","b":[62,12,64,12,60,12,62,12]},{"a":40352,"t":"byte","b":[64,12,65,12,67,12,69,12]},{"a":40360,"t":"byte","b":[65,12,67,12,64,12,65,12]},{"a":40368,"t":"byte","b":[67,12,69,12,71,12,72,12]},{"a":40376,"t":"byte","b":[69,12,71,12,67,12,72,24]},{"a":40384,"t":"byte","b":[67,24,64,24,62,12,60,10]},{"a":40392,"t":"byte","b":[0,2,60,12,58,12,57,12]},{"a":40400,"t":"byte","b":[55,12,53,12,57,12,55,12]},{"a":40408,"t":"byte","b":[58,12,57,12,59,12,60,12]},{"a":40416,"t":"byte","b":[52,12,50,12,60,12,53,12]},{"a":40424,"t":"byte","b":[59,12,60,192,255,255,0,108]},{"a":40432,"t":"byte","b":[36,12,38,12,40,12,41,12]},{"a":40440,"t":"byte","b":[38,12,40,12,36,12,43,24]},{"a":40448,"t":"byte","b":[31,24,0,60,43,12,45,12]},{"a":40456,"t":"byte","b":[47,12,48,12,45,12,47,12]},{"a":40464,"t":"byte","b":[43,12,48,24,47,24,48,24]},{"a":40472,"t":"byte","b":[50,24,52,24,43,24,45,24]},{"a":40480,"t":"byte","b":[47,24,48,24,40,24,42,24]},{"a":40488,"t":"byte","b":[43,24,45,24,47,24,48,60]},{"a":40496,"t":"byte","b":[38,12,40,12,42,12,43,12]},{"a":40504,"t":"byte","b":[40,12,42,12,38,12,43,24]},{"a":40512,"t":"byte","b":[35,24,36,24,38,24,40,24]},{"a":40520,"t":"byte","b":[42,24,43,24,40,24,35,36]},{"a":40528,"t":"byte","b":[36,12,38,24,26,24,0,12]},{"a":40536,"t":"byte","b":[31,12,33,12,35,12,36,12]},{"a":40544,"t":"byte","b":[33,12,35,12,31,12,38,24]},{"a":40552,"t":"byte","b":[43,24,42,24,43,24,45,12]},{"a":40560,"t":"byte","b":[38,12,40,12,42,12,43,12]},{"a":40568,"t":"byte","b":[40,12,42,12,38,12,45,24]},{"a":40576,"t":"byte","b":[50,24,48,24,50,24,43,12]},{"a":40584,"t":"byte","b":[55,12,53,12,52,12,50,12]},{"a":40592,"t":"byte","b":[53,12,52,12,55,12,53,24]},{"a":40600,"t":"byte","b":[52,24,53,24,50,24,52,12]},{"a":40608,"t":"byte","b":[57,12,55,12,53,12,52,12]},{"a":40616,"t":"byte","b":[55,12,53,12,57,12,55,24]},{"a":40624,"t":"byte","b":[53,24,55,24,52,24,53,12]},{"a":40632,"t":"byte","b":[58,12,57,12,55,12,53,12]},{"a":40640,"t":"byte","b":[57,12,55,12,58,12,57,12]},{"a":40648,"t":"byte","b":[55,12,53,12,52,12,50,12]},{"a":40656,"t":"byte","b":[53,12,52,12,55,12,53,12]},{"a":40664,"t":"byte","b":[52,12,50,12,48,12,47,12]},{"a":40672,"t":"byte","b":[50,12,48,12,52,12,50,12]},{"a":40680,"t":"byte","b":[48,12,47,12,45,12,44,12]},{"a":40688,"t":"byte","b":[47,12,45,12,48,12,47,24]},{"a":40696,"t":"byte","b":[40,24,50,36,52,12,48,12]},{"a":40704,"l":"annotation_9f00","c":"Tail of in-game music event streams ending at $9FA9.","t":"byte","b":[47,12,45,12,43,12,42,12]},{"a":40712,"t":"byte","b":[45,12,44,12,47,12,45,12]},{"a":40720,"t":"byte","b":[48,12,47,12,50,12,48,12]},{"a":40728,"t":"byte","b":[52,12,50,12,53,12,52,24]},{"a":40736,"t":"byte","b":[45,24,52,24,40,24,45,24]},{"a":40744,"t":"byte","b":[33,24,0,60,52,12,50,12]},{"a":40752,"t":"byte","b":[48,12,47,12,50,12,49,12]},{"a":40760,"t":"byte","b":[52,12,50,108,45,12,47,12]},{"a":40768,"t":"byte","b":[48,12,50,12,47,12,48,12]},{"a":40776,"t":"byte","b":[45,12,47,108,50,12,48,12]},{"a":40784,"t":"byte","b":[47,12,45,12,48,12,47,12]},{"a":40792,"t":"byte","b":[50,12,48,108,43,12,45,12]},{"a":40800,"t":"byte","b":[46,12,48,12,45,12,46,12]},{"a":40808,"t":"byte","b":[43,12,45,24,46,24,45,24]},{"a":40816,"t":"byte","b":[43,24,41,24,50,24,48,24]},{"a":40824,"t":"byte","b":[46,24,45,24,53,24,52,24]},{"a":40832,"t":"byte","b":[50,24,52,12,38,12,40,12]},{"a":40840,"t":"byte","b":[41,12,43,12,40,12,41,12]},{"a":40848,"t":"byte","b":[38,12,40,24,36,24,38,24]},{"a":40856,"t":"byte","b":[40,24,41,12,38,12,40,12]},{"a":40864,"t":"byte","b":[41,12,43,24,31,24,24,192]},{"a":40872,"t":"byte","b":[255,255]},{"a":40874,"l":"annotation_9faa","c":"Unreferenced tail/padding after the in-game music streams.","t":"byte","b":[66,78,69,32,71,69,84,73]},{"a":40882,"t":"byte","b":[78,49,13,71,69,84,73,78]},{"a":40890,"t":"byte","b":[50,9,74,83,82,32,73,78]},{"a":40898,"t":"byte","b":[80,85,84,13,9,76,68,65]},{"a":40906,"t":"byte","b":[32,75,77,48,13,9,73,70]},{"a":40914,"t":"byte","b":[78,79,84,32,49,44,71,69]},{"a":40922,"t":"byte","b":[84,73,78,50,13,9,76,68]},{"a":40930,"t":"byte","b":[65,32,75,77,49,13,9,73]},{"a":40938,"t":"byte","b":[70,76,69,78,48,58,74,69]},{"a":40946,"t":"byte","b":[84,32,77,79,78,73,84,79]},{"a":40954,"t":"byte","b":[82,36,67,48,48,48]},{"a":40960,"l":"JSW_Title_title_entry","c":"Purpose: Stable title entry trampoline to $A744. Inputs: reset from loader or game-over transition. Outputs: title initialization. Assumptions: the active phase is initialized and the stated inputs and state are valid. Clobbers: initializer-defined. Hardware: initializer replaces gameplay VIC/CIA/SID/IRQ state.","t":"code","b":[76,68,167],"m":"jmp","oa":42820,"o":"JSW_Title_initialize_title","x":[4006,14549]},{"a":40963,"l":"title_keyboard_matrix_rows","c":"Title keyboard-matrix scratch bytes.","t":"byte","b":[253],"x":[41108,41121]},{"a":40964,"l":"annotation_a004","c":"Eight scratch bytes receiving raw CIA 1 keyboard-matrix rows during title input scanning.","t":"byte","b":[255,255,255,255,255,255,255]},{"a":40971,"l":"annotation_a00b","c":"Unreferenced title-side scratch/table gap preceding the keyboard lookup table.","t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":40979,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":40987,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":40995,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":41003,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":41011,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":41019,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":41027,"l":"title_key_decode_table","c":"Title keyboard lookup table used by the matrix scanner at $A083.","t":"byte","b":[17],"x":[41137]},{"a":41028,"l":"annotation_a044","c":"Title keyboard decode table indexed by row and bit number.","t":"byte","b":[135,134,133,136,29,13,20,0]},{"a":41036,"t":"byte","b":[69,83,90,52,65,87,51,88]},{"a":41044,"t":"byte","b":[84,70,67,54,68,82,53,86]},{"a":41052,"t":"byte","b":[85,72,66,56,71,89,55,78]},{"a":41060,"t":"byte","b":[79,75,77,48,74,73,57,44]},{"a":41068,"t":"byte","b":[64,58,46,45,76,80,43,47]},{"a":41076,"t":"byte","b":[94,61,1,19,59,42,92,3]},{"a":41084,"t":"byte","b":[81,2,32,50,4,95,49]},{"a":41091,"l":"JSW_Title_scan_title_keyboard","c":"Purpose: Scan the C64 keyboard matrix for the title and decode up to the first keys. Inputs: CIA 1 and lookup table $A043. Outputs: key count $50 and first key $51. Assumptions: the active phase is initialized and the stated inputs and state are valid. Clobbers: A,X,Y and title scratch. Hardware: drives CIA 1 port A and reads port B.","t":"code","b":[169,0],"m":"lda","o":"#$00","x":[43078]},{"a":41093,"t":"code","b":[133,80],"m":"sta","oa":80,"o":"JSW_State_player_facing_frame_or_title_key_count"},{"a":41095,"t":"code","b":[170],"m":"tax"},{"a":41096,"t":"code","b":[169,254],"m":"lda","o":"#$FE"},{"a":41098,"t":"code","b":[133,85],"m":"sta","oa":85,"o":"JSW_State_item_render_divider_or_title_row_mask"},{"a":41100,"l":"loc_a08c","t":"code","b":[165,85],"m":"lda","oa":85,"o":"JSW_State_item_render_divider_or_title_row_mask","x":[41115]},{"a":41102,"t":"code","b":[141,0,220],"m":"sta","o":"cia1_port_a"},{"a":41105,"t":"code","b":[173,1,220],"m":"lda","o":"cia1_port_b"},{"a":41108,"t":"code","b":[157,3,160],"m":"sta","oa":40963,"o":"title_keyboard_matrix_rows,x"},{"a":41111,"t":"code","b":[232],"m":"inx"},{"a":41112,"t":"code","b":[56],"m":"sec"},{"a":41113,"t":"code","b":[38,85],"m":"rol","oa":85,"o":"JSW_State_item_render_divider_or_title_row_mask"},{"a":41115,"t":"code","b":[176,239],"m":"bcs","oa":41100,"o":"loc_a08c"},{"a":41117,"t":"code","b":[162,0],"m":"ldx","o":"#$00"},{"a":41119,"l":"loc_a09f","t":"code","b":[160,0],"m":"ldy","o":"#$00","x":[41162]},{"a":41121,"t":"code","b":[189,3,160],"m":"lda","oa":40963,"o":"title_keyboard_matrix_rows,x"},{"a":41124,"l":"loc_a0a4","t":"code","b":[42],"m":"rol","o":"a","x":[41157]},{"a":41125,"t":"code","b":[176,27],"m":"bcs","oa":41154,"o":"loc_a0c2"},{"a":41127,"t":"code","b":[72],"m":"pha"},{"a":41128,"t":"code","b":[132,84],"m":"sty","oa":84,"o":"shared_player_and_keyboard_scratch"},{"a":41130,"t":"code","b":[138],"m":"txa"},{"a":41131,"t":"code","b":[10],"m":"asl","o":"a"},{"a":41132,"t":"code","b":[10],"m":"asl","o":"a"},{"a":41133,"t":"code","b":[10],"m":"asl","o":"a"},{"a":41134,"t":"code","b":[5,84],"m":"ora","oa":84,"o":"shared_player_and_keyboard_scratch"},{"a":41136,"t":"code","b":[168],"m":"tay"},{"a":41137,"t":"code","b":[185,67,160],"m":"lda","oa":41027,"o":"title_key_decode_table,y"},{"a":41140,"t":"code","b":[230,80],"m":"inc","oa":80,"o":"JSW_State_player_facing_frame_or_title_key_count"},{"a":41142,"t":"code","b":[164,80],"m":"ldy","oa":80,"o":"JSW_State_player_facing_frame_or_title_key_count"},{"a":41144,"t":"code","b":[153,80,0],"m":"sta","oa":80,"o":"JSW_State_player_facing_frame_or_title_key_count,y"},{"a":41147,"t":"code","b":[104],"m":"pla"},{"a":41148,"t":"code","b":[192,1],"m":"cpy","o":"#$01"},{"a":41150,"t":"code","b":[240,12],"m":"beq","oa":41164,"o":"loc_a0cc"},{"a":41152,"t":"code","b":[164,84],"m":"ldy","oa":84,"o":"shared_player_and_keyboard_scratch"},{"a":41154,"l":"loc_a0c2","t":"code","b":[200],"m":"iny","x":[41125]},{"a":41155,"t":"code","b":[192,8],"m":"cpy","o":"#$08"},{"a":41157,"t":"code","b":[208,221],"m":"bne","oa":41124,"o":"loc_a0a4"},{"a":41159,"t":"code","b":[232],"m":"inx"},{"a":41160,"t":"code","b":[224,8],"m":"cpx","o":"#$08"},{"a":41162,"t":"code","b":[208,211],"m":"bne","oa":41119,"o":"loc_a09f"},{"a":41164,"l":"loc_a0cc","t":"code","b":[96],"m":"rts","x":[41150]},{"a":41165,"l":"JSW_Title_initialize_title_music","c":"Purpose: Initialize three-voice title music streams at $6C00,$7248,$7350 and SID parameters. Inputs: title music data. Outputs: stream pointers/durations and active SID voices. Assumptions: the active phase is initialized and the stated inputs and state are valid. Clobbers: A,X. Hardware: writes all three SID voices and master volume.","t":"code","b":[169,0],"m":"lda","o":"#$00","x":[42899,43002]},{"a":41167,"t":"code","b":[133,10],"m":"sta","oa":10,"o":"shared_color_pointer_high_or_title_voice1_pointer_low"},{"a":41169,"t":"code","b":[169,108],"m":"lda","o":"#$6C"},{"a":41171,"t":"code","b":[133,11],"m":"sta","oa":11,"o":"shared_game_stride_or_title_voice1_pointer_high"},{"a":41173,"t":"code","b":[169,72],"m":"lda","o":"#$48"},{"a":41175,"t":"code","b":[133,12],"m":"sta","oa":12,"o":"shared_game_scratch_or_title_voice2_pointer_low"},{"a":41177,"t":"code","b":[169,114],"m":"lda","o":"#$72"},{"a":41179,"t":"code","b":[133,13],"m":"sta","oa":13,"o":"shared_game_scratch_or_title_voice2_pointer_high"},{"a":41181,"t":"code","b":[169,80],"m":"lda","o":"#$50"},{"a":41183,"t":"code","b":[133,14],"m":"sta","oa":14,"o":"JSW_State_current_room_or_title_voice3_pointer_low"},{"a":41185,"t":"code","b":[169,115],"m":"lda","o":"#$73"},{"a":41187,"t":"code","b":[133,15],"m":"sta","oa":15,"o":"JSW_State_working_tile_row_or_title_voice3_pointer_high"},{"a":41189,"t":"code","b":[32,137,170],"m":"jsr","oa":43657,"o":"JSW_Title_clear_sid_registers"},{"a":41192,"t":"code","b":[169,8],"m":"lda","o":"#$08"},{"a":41194,"t":"code","b":[141,5,212],"m":"sta","o":"sid_v1_attack_decay"},{"a":41197,"t":"code","b":[141,12,212],"m":"sta","o":"sid_v2_attack_decay"},{"a":41200,"t":"code","b":[141,19,212],"m":"sta","o":"sid_v3_attack_decay"},{"a":41203,"t":"code","b":[169,144],"m":"lda","o":"#$90"},{"a":41205,"t":"code","b":[141,6,212],"m":"sta","o":"sid_v1_sustain_release"},{"a":41208,"t":"code","b":[141,13,212],"m":"sta","o":"sid_v2_sustain_release"},{"a":41211,"t":"code","b":[141,20,212],"m":"sta","o":"sid_v3_sustain_release"},{"a":41214,"t":"code","b":[169,88],"m":"lda","o":"#$58"},{"a":41216,"t":"code","b":[141,2,212],"m":"sta","o":"sid_v1_pulse_lo"},{"a":41219,"t":"code","b":[169,2],"m":"lda","o":"#$02"},{"a":41221,"t":"code","b":[141,3,212],"m":"sta","o":"sid_v1_pulse_hi"},{"a":41224,"t":"code","b":[169,108],"m":"lda","o":"#$6C"},{"a":41226,"t":"code","b":[141,9,212],"m":"sta","o":"sid_v2_pulse_lo"},{"a":41229,"t":"code","b":[169,2],"m":"lda","o":"#$02"},{"a":41231,"t":"code","b":[141,10,212],"m":"sta","o":"sid_v2_pulse_hi"},{"a":41234,"t":"code","b":[169,128],"m":"lda","o":"#$80"},{"a":41236,"t":"code","b":[141,16,212],"m":"sta","o":"sid_v3_pulse_lo"},{"a":41239,"t":"code","b":[169,2],"m":"lda","o":"#$02"},{"a":41241,"t":"code","b":[141,17,212],"m":"sta","o":"sid_v3_pulse_hi"},{"a":41244,"t":"code","b":[169,65],"m":"lda","o":"#$41"},{"a":41246,"t":"code","b":[141,4,212],"m":"sta","o":"sid_v1_control"},{"a":41249,"t":"code","b":[141,11,212],"m":"sta","o":"sid_v2_control"},{"a":41252,"t":"code","b":[141,18,212],"m":"sta","o":"sid_v3_control"},{"a":41255,"t":"code","b":[169,10],"m":"lda","o":"#$0A"},{"a":41257,"t":"code","b":[141,24,212],"m":"sta","o":"sid_filter_mode_volume"},{"a":41260,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":41262,"t":"code","b":[133,254],"m":"sta","oa":254,"o":"title_music_ended_flag"},{"a":41264,"t":"code","b":[169,1],"m":"lda","o":"#$01"},{"a":41266,"t":"code","b":[133,76],"m":"sta","oa":76,"o":"title_voice1_duration"},{"a":41268,"t":"code","b":[133,77],"m":"sta","oa":77,"o":"title_voice2_duration"},{"a":41270,"t":"code","b":[133,78],"m":"sta","oa":78,"o":"title_voice3_duration"},{"a":41272,"t":"code","b":[96],"m":"rts"},{"a":41273,"l":"JSW_Title_tick_title_music","c":"Purpose: Tick three title-music voices and dispatch readers when durations expire. Inputs: voice counters/pointers. Outputs: SID frequencies/gates and stream progress. Assumptions: the active phase is initialized and the stated inputs and state are valid. Clobbers: A,X,Y. Hardware: writes SID; voice 1 $FF sets end flag $FE and clears SID.","t":"code","b":[198,76],"m":"dec","oa":76,"o":"title_voice1_duration","x":[43049,43052,43055]},{"a":41275,"t":"code","b":[208,3],"m":"bne","oa":41280,"o":"loc_a140"},{"a":41277,"t":"code","b":[32,79,161],"m":"jsr","oa":41295,"o":"JSW_Title_read_title_music_voice1"},{"a":41280,"l":"loc_a140","t":"code","b":[198,77],"m":"dec","oa":77,"o":"title_voice2_duration","x":[41275]},{"a":41282,"t":"code","b":[208,3],"m":"bne","oa":41287,"o":"loc_a147"},{"a":41284,"t":"code","b":[32,145,161],"m":"jsr","oa":41361,"o":"JSW_Title_read_title_music_voice2"},{"a":41287,"l":"loc_a147","t":"code","b":[198,78],"m":"dec","oa":78,"o":"title_voice3_duration","x":[41282]},{"a":41289,"t":"code","b":[208,3],"m":"bne","oa":41294,"o":"loc_a14e"},{"a":41291,"t":"code","b":[32,197,161],"m":"jsr","oa":41413,"o":"JSW_Title_read_title_music_voice3"},{"a":41294,"l":"loc_a14e","t":"code","b":[96],"m":"rts","x":[41289]},{"a":41295,"l":"JSW_Title_read_title_music_voice1","c":"Purpose: Consume one title event for SID voice 1 and handle tune-end $FF. Inputs: voice 1 stream pointer. Outputs: duration/frequency/control or end flag $FE. Assumptions: the active phase is initialized and the stated inputs and state are valid. Clobbers: A,X,Y and stream state. Hardware: writes SID voice 1; end calls SID clear and unwinds.","t":"code","b":[160,1],"m":"ldy","o":"#$01","x":[41277]},{"a":41297,"t":"code","b":[177,10],"m":"lda","oa":10,"o":"(shared_color_pointer_high_or_title_voice1_pointer_low),y"},{"a":41299,"t":"code","b":[201,255],"m":"cmp","o":"#$FF"},{"a":41301,"t":"code","b":[240,48],"m":"beq","oa":41351,"o":"loc_a187"},{"a":41303,"t":"code","b":[133,76],"m":"sta","oa":76,"o":"title_voice1_duration"},{"a":41305,"t":"code","b":[136],"m":"dey"},{"a":41306,"t":"code","b":[177,10],"m":"lda","oa":10,"o":"(shared_color_pointer_high_or_title_voice1_pointer_low),y"},{"a":41308,"t":"code","b":[208,8],"m":"bne","oa":41318,"o":"loc_a166"},{"a":41310,"t":"code","b":[162,0],"m":"ldx","o":"#$00"},{"a":41312,"t":"code","b":[32,249,161],"m":"jsr","oa":41465,"o":"JSW_Title_silence_title_sid_voice"},{"a":41315,"t":"code","b":[76,121,161],"m":"jmp","oa":41337,"o":"loc_a179"},{"a":41318,"l":"loc_a166","t":"code","b":[10],"m":"asl","o":"a","x":[41308]},{"a":41319,"t":"code","b":[170],"m":"tax"},{"a":41320,"t":"code","b":[189,7,162],"m":"lda","oa":41479,"o":"JSW_State_title_note_frequency_table,x"},{"a":41323,"t":"code","b":[141,0,212],"m":"sta","o":"sid_v1_freq_lo"},{"a":41326,"t":"code","b":[189,8,162],"m":"lda","oa":41480,"o":"f_A208,x"},{"a":41329,"t":"code","b":[141,1,212],"m":"sta","o":"sid_v1_freq_hi"},{"a":41332,"t":"code","b":[169,65],"m":"lda","o":"#$41"},{"a":41334,"t":"code","b":[141,4,212],"m":"sta","o":"sid_v1_control"},{"a":41337,"l":"loc_a179","t":"code","b":[24],"m":"clc","x":[41315]},{"a":41338,"t":"code","b":[165,10],"m":"lda","oa":10,"o":"shared_color_pointer_high_or_title_voice1_pointer_low"},{"a":41340,"t":"code","b":[105,2],"m":"adc","o":"#$02"},{"a":41342,"t":"code","b":[133,10],"m":"sta","oa":10,"o":"shared_color_pointer_high_or_title_voice1_pointer_low"},{"a":41344,"t":"code","b":[165,11],"m":"lda","oa":11,"o":"shared_game_stride_or_title_voice1_pointer_high"},{"a":41346,"t":"code","b":[105,0],"m":"adc","o":"#$00"},{"a":41348,"t":"code","b":[133,11],"m":"sta","oa":11,"o":"shared_game_stride_or_title_voice1_pointer_high"},{"a":41350,"t":"code","b":[96],"m":"rts"},{"a":41351,"l":"loc_a187","t":"code","b":[169,255],"m":"lda","o":"#$FF","x":[41301]},{"a":41353,"t":"code","b":[133,254],"m":"sta","oa":254,"o":"title_music_ended_flag"},{"a":41355,"t":"code","b":[32,137,170],"m":"jsr","oa":43657,"o":"JSW_Title_clear_sid_registers"},{"a":41358,"t":"code","b":[104],"m":"pla"},{"a":41359,"t":"code","b":[104],"m":"pla"},{"a":41360,"t":"code","b":[96],"m":"rts"},{"a":41361,"l":"JSW_Title_read_title_music_voice2","c":"Purpose: Consume one title event for SID voice 2. Inputs: voice 2 pointer/duration. Outputs: new SID frequency/control and advanced pointer. Assumptions: the active phase is initialized and the stated inputs and state are valid. Clobbers: A,X,Y and stream state. Hardware: writes SID voice 2.","t":"code","b":[160,1],"m":"ldy","o":"#$01","x":[41284]},{"a":41363,"t":"code","b":[177,12],"m":"lda","oa":12,"o":"(shared_game_scratch_or_title_voice2_pointer_low),y"},{"a":41365,"t":"code","b":[133,77],"m":"sta","oa":77,"o":"title_voice2_duration"},{"a":41367,"t":"code","b":[136],"m":"dey"},{"a":41368,"t":"code","b":[177,12],"m":"lda","oa":12,"o":"(shared_game_scratch_or_title_voice2_pointer_low),y"},{"a":41370,"t":"code","b":[208,8],"m":"bne","oa":41380,"o":"loc_a1a4"},{"a":41372,"t":"code","b":[162,7],"m":"ldx","o":"#$07"},{"a":41374,"t":"code","b":[32,249,161],"m":"jsr","oa":41465,"o":"JSW_Title_silence_title_sid_voice"},{"a":41377,"t":"code","b":[76,183,161],"m":"jmp","oa":41399,"o":"loc_a1b7"},{"a":41380,"l":"loc_a1a4","t":"code","b":[10],"m":"asl","o":"a","x":[41370]},{"a":41381,"t":"code","b":[170],"m":"tax"},{"a":41382,"t":"code","b":[189,7,162],"m":"lda","oa":41479,"o":"JSW_State_title_note_frequency_table,x"},{"a":41385,"t":"code","b":[141,7,212],"m":"sta","o":"sid_v2_freq_lo"},{"a":41388,"t":"code","b":[189,8,162],"m":"lda","oa":41480,"o":"f_A208,x"},{"a":41391,"t":"code","b":[141,8,212],"m":"sta","o":"sid_v2_freq_hi"},{"a":41394,"t":"code","b":[169,65],"m":"lda","o":"#$41"},{"a":41396,"t":"code","b":[141,11,212],"m":"sta","o":"sid_v2_control"},{"a":41399,"l":"loc_a1b7","t":"code","b":[24],"m":"clc","x":[41377]},{"a":41400,"t":"code","b":[165,12],"m":"lda","oa":12,"o":"shared_game_scratch_or_title_voice2_pointer_low"},{"a":41402,"t":"code","b":[105,2],"m":"adc","o":"#$02"},{"a":41404,"t":"code","b":[133,12],"m":"sta","oa":12,"o":"shared_game_scratch_or_title_voice2_pointer_low"},{"a":41406,"t":"code","b":[165,13],"m":"lda","oa":13,"o":"shared_game_scratch_or_title_voice2_pointer_high"},{"a":41408,"t":"code","b":[105,0],"m":"adc","o":"#$00"},{"a":41410,"t":"code","b":[133,13],"m":"sta","oa":13,"o":"shared_game_scratch_or_title_voice2_pointer_high"},{"a":41412,"t":"code","b":[96],"m":"rts"},{"a":41413,"l":"JSW_Title_read_title_music_voice3","c":"Purpose: Consume one title event for SID voice 3. Inputs: voice 3 pointer/duration. Outputs: new SID frequency/control and advanced pointer. Assumptions: the active phase is initialized and the stated inputs and state are valid. Clobbers: A,X,Y and stream state. Hardware: writes SID voice 3.","t":"code","b":[160,1],"m":"ldy","o":"#$01","x":[41291]},{"a":41415,"t":"code","b":[177,14],"m":"lda","oa":14,"o":"(JSW_State_current_room_or_title_voice3_pointer_low),y"},{"a":41417,"t":"code","b":[133,78],"m":"sta","oa":78,"o":"title_voice3_duration"},{"a":41419,"t":"code","b":[136],"m":"dey"},{"a":41420,"t":"code","b":[177,14],"m":"lda","oa":14,"o":"(JSW_State_current_room_or_title_voice3_pointer_low),y"},{"a":41422,"t":"code","b":[208,8],"m":"bne","oa":41432,"o":"loc_a1d8"},{"a":41424,"t":"code","b":[162,14],"m":"ldx","o":"#$0E"},{"a":41426,"t":"code","b":[32,249,161],"m":"jsr","oa":41465,"o":"JSW_Title_silence_title_sid_voice"},{"a":41429,"t":"code","b":[76,235,161],"m":"jmp","oa":41451,"o":"loc_a1eb"},{"a":41432,"l":"loc_a1d8","t":"code","b":[10],"m":"asl","o":"a","x":[41422]},{"a":41433,"t":"code","b":[170],"m":"tax"},{"a":41434,"t":"code","b":[189,7,162],"m":"lda","oa":41479,"o":"JSW_State_title_note_frequency_table,x"},{"a":41437,"t":"code","b":[141,14,212],"m":"sta","o":"sid_v3_freq_lo"},{"a":41440,"t":"code","b":[189,8,162],"m":"lda","oa":41480,"o":"f_A208,x"},{"a":41443,"t":"code","b":[141,15,212],"m":"sta","o":"sid_v3_freq_hi"},{"a":41446,"t":"code","b":[169,65],"m":"lda","o":"#$41"},{"a":41448,"t":"code","b":[141,18,212],"m":"sta","o":"sid_v3_control"},{"a":41451,"l":"loc_a1eb","t":"code","b":[24],"m":"clc","x":[41429]},{"a":41452,"t":"code","b":[165,14],"m":"lda","oa":14,"o":"JSW_State_current_room_or_title_voice3_pointer_low"},{"a":41454,"t":"code","b":[105,2],"m":"adc","o":"#$02"},{"a":41456,"t":"code","b":[133,14],"m":"sta","oa":14,"o":"JSW_State_current_room_or_title_voice3_pointer_low"},{"a":41458,"t":"code","b":[165,15],"m":"lda","oa":15,"o":"JSW_State_working_tile_row_or_title_voice3_pointer_high"},{"a":41460,"t":"code","b":[105,0],"m":"adc","o":"#$00"},{"a":41462,"t":"code","b":[133,15],"m":"sta","oa":15,"o":"JSW_State_working_tile_row_or_title_voice3_pointer_high"},{"a":41464,"t":"code","b":[96],"m":"rts"},{"a":41465,"l":"JSW_Title_silence_title_sid_voice","c":"Purpose: Clear control for the SID voice selected by X register-group offset. Inputs: X voice control offset. Outputs: selected voice gated off. Assumptions: the active phase is initialized and the stated inputs and state are valid. Clobbers: A. Hardware: indexed SID writes at $D400,X/$D401,X/$D404,X.","t":"code","b":[169,0],"m":"lda","o":"#$00","x":[41312,41374,41426]},{"a":41467,"t":"code","b":[157,0,212],"m":"sta","o":"sid_v1_freq_lo,x"},{"a":41470,"t":"code","b":[157,1,212],"m":"sta","o":"sid_v1_freq_hi,x"},{"a":41473,"t":"code","b":[169,64],"m":"lda","o":"#$40"},{"a":41475,"t":"code","b":[157,4,212],"m":"sta","o":"sid_v1_control,x"},{"a":41478,"t":"code","b":[96],"m":"rts"},{"a":41479,"l":"JSW_State_title_note_frequency_table","c":"96 little-endian PAL SID frequency words for title music.","t":"word","b":[0,0],"d":[0],"x":[41320,41382,41434]},{"a":41480,"t":"note","l":"f_A208","c":"High byte $00 of the first little-endian word at $A207 (JSW_State_title_note_frequency_table); the parent description defines the table or writable pointer.","note":"inside the item at $A207","x":[41326,41388,41440]},{"a":41481,"l":"annotation_a209","c":"96 little-endian PAL SID note frequencies for title music.","t":"word","b":[28,1,45,1,62,1,81,1],"d":[284,301,318,337]},{"a":41489,"t":"word","b":[102,1,123,1,145,1,169,1],"d":[358,379,401,425]},{"a":41497,"t":"word","b":[195,1,221,1,250,1,24,2],"d":[451,477,506,536]},{"a":41505,"t":"word","b":[56,2,90,2,125,2,163,2],"d":[568,602,637,675]},{"a":41513,"t":"word","b":[204,2,246,2,35,3,83,3],"d":[716,758,803,851]},{"a":41521,"t":"word","b":[134,3,187,3,244,3,48,4],"d":[902,955,1012,1072]},{"a":41529,"t":"word","b":[112,4,180,4,251,4,71,5],"d":[1136,1204,1275,1351]},{"a":41537,"t":"word","b":[152,5,237,5,71,6,167,6],"d":[1432,1517,1607,1703]},{"a":41545,"t":"word","b":[12,7,119,7,233,7,97,8],"d":[1804,1911,2025,2145]},{"a":41553,"t":"word","b":[225,8,104,9,247,9,143,10],"d":[2273,2408,2551,2703]},{"a":41561,"t":"word","b":[48,11,218,11,143,12,78,13],"d":[2864,3034,3215,3406]},{"a":41569,"t":"word","b":[24,14,239,14,210,15,195,16],"d":[3608,3823,4050,4291]},{"a":41577,"t":"word","b":[195,17,209,18,239,19,31,21],"d":[4547,4817,5103,5407]},{"a":41585,"t":"word","b":[96,22,181,23,30,25,156,26],"d":[5728,6069,6430,6812]},{"a":41593,"t":"word","b":[49,28,223,29,165,31,135,33],"d":[7217,7647,8101,8583]},{"a":41601,"t":"word","b":[134,35,162,37,223,39,62,42],"d":[9094,9634,10207,10814]},{"a":41609,"t":"word","b":[193,44,107,47,60,50,57,53],"d":[11457,12139,12860,13625]},{"a":41617,"t":"word","b":[99,56,190,59,75,63,15,67],"d":[14435,15294,16203,17167]},{"a":41625,"t":"word","b":[12,71,69,75,191,79,125,84],"d":[18188,19269,20415,21629]},{"a":41633,"t":"word","b":[131,89,214,94,183,98,115,106],"d":[22915,24278,25271,27251]},{"a":41641,"t":"word","b":[199,112,124,119,151,126,30,134],"d":[28871,30588,32407,34334]},{"a":41649,"t":"word","b":[24,142,139,150,126,159,250,168],"d":[36376,38539,40830,43258]},{"a":41657,"t":"word","b":[6,179,172,189,243,200,230,212],"d":[45830,48556,51443,54502]},{"a":41665,"t":"word","b":[143,225,248,238,46,253],"d":[57743,61176,64814]},{"a":41671,"l":"TITLE_TICKER_TEXT","c":"Title ticker text begins here. The IRQ compares the pointer with $A71C before resetting it to $A2C7; its 40-byte indexed read can reach the trailing spaces at $A71C-$A743.","t":"byte","b":[32]},{"a":41672,"l":"annotation_a2c8","c":"Title ticker text/control stream including crack attribution.","t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":41680,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":41688,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":41696,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":41704,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":41712,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":41720,"t":"byte","b":[32,74,69,84,32,83,69,84]},{"a":41728,"t":"byte","b":[32,87,73,76,76,89,32,32]},{"a":41736,"t":"byte","b":[66,89,32,83,72,65,72,73]},{"a":41744,"t":"byte","b":[68,32,65,72,77,65,68,46]},{"a":41752,"t":"byte","b":[32,66,65,83,69,68,32,79]},{"a":41760,"t":"byte","b":[78,32,84,72,69,32,79,82]},{"a":41768,"t":"byte","b":[73,71,73,78,65,76,32,83]},{"a":41776,"t":"byte","b":[80,69,67,84,82,85,77,32]},{"a":41784,"t":"byte","b":[86,69,82,83,73,79,78,32]},{"a":41792,"t":"byte","b":[66,89,32,77,65,84,84,72]},{"a":41800,"t":"byte","b":[69,87,32,83,77,73,84,72]},{"a":41808,"t":"byte","b":[46,32,32,32,32,84,72,69]},{"a":41816,"t":"byte","b":[32,77,85,83,73,67,32,87]},{"a":41824,"t":"byte","b":[65,83,32,65,82,82,65,78]},{"a":41832,"t":"byte","b":[71,69,68,32,66,89,32,71]},{"a":41840,"t":"byte","b":[69,79,82,71,69,32,78,69]},{"a":41848,"t":"byte","b":[79,80,72,89,84,79,85,32]},{"a":41856,"t":"byte","b":[85,83,73,78,71,32,65,32]},{"a":41864,"t":"byte","b":[77,69,84,72,79,68,32,68]},{"a":41872,"t":"byte","b":[69,86,73,83,69,68,32,66]},{"a":41880,"t":"byte","b":[89,32,83,46,65,72,77,65]},{"a":41888,"t":"byte","b":[68,46,32,32,32,32,32,32]},{"a":41896,"t":"byte","b":[32,70,46,65,46,87,46,32]},{"a":41904,"t":"byte","b":[73,83,32,66,65,67,75,32]},{"a":41912,"t":"byte","b":[65,71,65,73,78,32,65,78]},{"a":41920,"t":"byte","b":[68,32,87,69,32,80,82,69]},{"a":41928,"t":"byte","b":[83,69,78,84,32,89,79,85]},{"a":41936,"t":"byte","b":[32,84,72,69,32,67,79,82]},{"a":41944,"t":"byte","b":[82,69,67,84,32,86,69,82]},{"a":41952,"t":"byte","b":[83,73,79,78,32,79,70,32]},{"a":41960,"t":"byte","b":[74,69,84,32,83,69,84,32]},{"a":41968,"t":"byte","b":[87,73,76,76,89,32,87,72]},{"a":41976,"t":"byte","b":[73,67,72,32,73,83,32,67]},{"a":41984,"t":"byte","b":[82,65,67,75,69,68,32,66]},{"a":41992,"t":"byte","b":[89,32,69,88,67,65,76,73]},{"a":42000,"t":"byte","b":[66,85,82,32,73,78,32,65]},{"a":42008,"t":"byte","b":[78,78,79,32,68,79,77,73]},{"a":42016,"t":"byte","b":[78,73,32,77,67,77,76,88]},{"a":42024,"t":"byte","b":[88,88,86,46,32,32,32,32]},{"a":42032,"t":"byte","b":[32,32,32,83,80,69,67,73]},{"a":42040,"t":"byte","b":[65,76,32,84,72,65,78,75]},{"a":42048,"t":"byte","b":[83,32,84,79,32,65,76,76]},{"a":42056,"t":"byte","b":[32,77,69,77,66,69,82,83]},{"a":42064,"t":"byte","b":[32,79,70,32,70,46,65,46]},{"a":42072,"t":"byte","b":[87,46,32,32,32,77,65,68]},{"a":42080,"t":"byte","b":[44,32,73,46,67,73,82,67]},{"a":42088,"t":"byte","b":[85,73,84,44,32,77,72,76]},{"a":42096,"t":"byte","b":[32,65,78,68,32,76,65,83]},{"a":42104,"t":"byte","b":[84,32,78,79,84,32,76,69]},{"a":42112,"t":"byte","b":[65,83,84,32,73,78,68,73]},{"a":42120,"t":"byte","b":[65,78,65,32,74,79,78,69]},{"a":42128,"t":"byte","b":[83,32,65,76,73,65,83,32]},{"a":42136,"t":"byte","b":[74,69,68,73,32,74,85,78]},{"a":42144,"t":"byte","b":[73,79,82,46,32,32,32,32]},{"a":42152,"t":"byte","b":[32,32,71,82,69,69,84,73]},{"a":42160,"t":"byte","b":[78,71,83,32,84,79,32,65]},{"a":42168,"t":"byte","b":[76,76,32,79,85,82,32,70]},{"a":42176,"t":"byte","b":[82,73,69,78,68,83,46,46]},{"a":42184,"t":"byte","b":[46,32,73,78,32,84,46,66]},{"a":42192,"t":"byte","b":[46,67,46,32,65,78,68,32]},{"a":42200,"t":"byte","b":[65,76,83,79,32,84,79,32]},{"a":42208,"t":"byte","b":[77,82,46,32,76,32,45,32]},{"a":42216,"t":"byte","b":[68,82,46,32,66,65,75,84]},{"a":42224,"t":"byte","b":[69,82,73,85,83,32,70,79]},{"a":42232,"t":"byte","b":[82,32,68,69,83,80,73,83]},{"a":42240,"t":"byte","b":[73,78,71,32,83,69,67,84]},{"a":42248,"t":"byte","b":[73,79,78,32,56,46,32,32]},{"a":42256,"t":"byte","b":[32,32,32,84,79,32,84,72]},{"a":42264,"t":"byte","b":[69,32,68,69,83,80,73,67]},{"a":42272,"t":"byte","b":[65,66,76,69,32,83,69,67]},{"a":42280,"t":"byte","b":[84,73,79,78,32,56,32,73]},{"a":42288,"t":"byte","b":[32,83,69,78,68,32,65,76]},{"a":42296,"t":"byte","b":[76,32,67,85,82,83,69,83]},{"a":42304,"t":"byte","b":[32,79,70,32,84,72,69,32]},{"a":42312,"t":"byte","b":[69,86,73,76,32,65,78,68]},{"a":42320,"t":"byte","b":[32,68,65,82,75,32,80,79]},{"a":42328,"t":"byte","b":[87,69,82,83,46,32,32,32]},{"a":42336,"t":"byte","b":[32,32,76,79,79,75,32,79]},{"a":42344,"t":"byte","b":[85,84,32,70,79,82,32,84]},{"a":42352,"t":"byte","b":[72,69,32,74,69,84,32,83]},{"a":42360,"t":"byte","b":[69,84,32,87,73,76,76,89]},{"a":42368,"t":"byte","b":[32,84,82,65,73,78,69,82]},{"a":42376,"t":"byte","b":[32,87,72,73,67,72,32,77]},{"a":42384,"t":"byte","b":[65,75,69,83,32,87,73,76]},{"a":42392,"t":"byte","b":[76,89,32,73,77,77,79,82]},{"a":42400,"t":"byte","b":[84,65,66,76,69,46,32,32]},{"a":42408,"t":"byte","b":[32,32,32,32,32,82,69,77]},{"a":42416,"t":"byte","b":[69,77,66,69,82,32,84,72]},{"a":42424,"t":"byte","b":[65,84,32,71,65,77,69,83]},{"a":42432,"t":"byte","b":[32,72,65,86,69,32,78,79]},{"a":42440,"t":"byte","b":[32,35,79,50,89,82,73,71]},{"a":42448,"t":"byte","b":[72,84,46,46,46,32,79,78]},{"a":42456,"t":"byte","b":[76,89,32,66,85,73,83,78]},{"a":42464,"t":"byte","b":[69,83,83,79,70,84,87,65]},{"a":42472,"t":"byte","b":[82,69,32,73,83,32,80,82]},{"a":42480,"t":"byte","b":[79,84,69,67,84,69,68,32]},{"a":42488,"t":"byte","b":[66,89,32,84,72,69,32,76]},{"a":42496,"t":"byte","b":[65,87,46,32,32,32,32,32]},{"a":42504,"t":"byte","b":[76,79,79,75,32,79,85,84]},{"a":42512,"t":"byte","b":[32,70,79,82,32,32,84,82]},{"a":42520,"t":"byte","b":[65,83,72,83,84,65,82,44]},{"a":42528,"t":"byte","b":[32,80,73,84,83,84,79,80]},{"a":42536,"t":"byte","b":[32,73,73,44,32,81,85,65]},{"a":42544,"t":"byte","b":[83,73,77,79,68,79,44,32]},{"a":42552,"t":"byte","b":[51,68,32,77,89,67,72,69]},{"a":42560,"t":"byte","b":[83,83,32,65,78,68,32,84]},{"a":42568,"t":"byte","b":[72,69,32,70,79,76,76,79]},{"a":42576,"t":"byte","b":[87,73,78,71,46,46,46,46]},{"a":42584,"t":"byte","b":[46,32,32,32,32,32,32,32]},{"a":42592,"t":"byte","b":[32,32,70,46,65,46,87,46]},{"a":42600,"t":"byte","b":[32,73,83,32,66,65,67,75]},{"a":42608,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":42616,"t":"byte","b":[32,32,32,32,32,46,46,46]},{"a":42624,"t":"byte","b":[89,79,85,32,77,85,83,84]},{"a":42632,"t":"byte","b":[32,71,85,73,68,69,32,87]},{"a":42640,"t":"byte","b":[73,76,76,89,32,84,79,32]},{"a":42648,"t":"byte","b":[67,79,76,76,69,67,84,32]},{"a":42656,"t":"byte","b":[65,76,76,32,84,72,69,32]},{"a":42664,"t":"byte","b":[73,84,69,77,83,32,65,82]},{"a":42672,"t":"byte","b":[79,85,78,68,32,84,72,69]},{"a":42680,"t":"byte","b":[32,72,79,85,83,69,32,66]},{"a":42688,"t":"byte","b":[69,70,79,82,69,32,77]},{"a":42695,"l":"TITLE_TICKER_TEXT_CONTINUATION","c":"Continuation of the title ticker stream beyond its first 1024 bytes. The title IRQ reads a moving 40-character window and resets the base pointer at $A71C.","t":"byte","b":[73,68,78,73,71,72,84,32]},{"a":42703,"t":"byte","b":[83,79,32,84,72,65,84,32]},{"a":42711,"t":"byte","b":[77,65,82,73,65,32,87,73]},{"a":42719,"t":"byte","b":[76,76,32,76,69,84,32,72]},{"a":42727,"t":"byte","b":[73,77,32,71,79,32,84,79]},{"a":42735,"t":"byte","b":[32,66,69,68,46,46,46,46]},{"a":42743,"t":"byte","b":[46,46,46,46,46,80,82,69]},{"a":42751,"t":"byte","b":[83,83,32,82,69,84,85,82]},{"a":42759,"t":"byte","b":[78,32,84,79,32,80,76,65]},{"a":42767,"t":"byte","b":[89,32,84,72,69,32,71,65]},{"a":42775,"t":"byte","b":[77,69,46,46,46]},{"a":42780,"l":"TITLE_TICKER_WRAP_SPACES","c":"40 space characters used as look-ahead for the final title ticker window before its base resets to $A2C7. Maximum indexed read reaches $A743, immediately before the title initializer at $A744.","t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":42788,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":42796,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":42804,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":42812,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":42820,"l":"JSW_Title_initialize_title","c":"Purpose: Configure title VIC bank/screen/charset, static layout, scroller, music, and raster IRQ. Inputs: title phase entry. Outputs: initialized title loop. Assumptions: the active phase is initialized and the stated inputs and state are valid. Clobbers: A,X,Y and title state. Hardware: selects VIC bank 1 via CIA 2, $D018=$FE, ordinary character mode, raster IRQ, CIA timer state, SID, screen/color RAM; $01 remains $36.","t":"code","b":[173,2,221],"m":"lda","o":"cia2_ddr_a","x":[40960]},{"a":42823,"t":"code","b":[9,3],"m":"ora","o":"#$03"},{"a":42825,"t":"code","b":[141,2,221],"m":"sta","o":"cia2_ddr_a"},{"a":42828,"t":"code","b":[173,0,221],"m":"lda","o":"cia2_port_a"},{"a":42831,"t":"code","b":[41,252],"m":"and","o":"#$FC"},{"a":42833,"t":"code","b":[9,2],"m":"ora","o":"#$02"},{"a":42835,"t":"code","b":[141,0,221],"m":"sta","o":"cia2_port_a"},{"a":42838,"t":"code","b":[173,24,208],"m":"lda","o":"vic_memory"},{"a":42841,"t":"code","b":[41,15],"m":"and","o":"#$0F"},{"a":42843,"t":"code","b":[9,240],"m":"ora","o":"#$F0"},{"a":42845,"t":"code","b":[141,24,208],"m":"sta","o":"vic_memory"},{"a":42848,"t":"code","b":[173,24,208],"m":"lda","o":"vic_memory"},{"a":42851,"t":"code","b":[41,240],"m":"and","o":"#$F0"},{"a":42853,"t":"code","b":[9,14],"m":"ora","o":"#$0E"},{"a":42855,"t":"code","b":[141,24,208],"m":"sta","o":"vic_memory"},{"a":42858,"t":"code","b":[173,17,208],"m":"lda","o":"vic_control1"},{"a":42861,"t":"code","b":[41,191],"m":"and","o":"#$BF"},{"a":42863,"t":"code","b":[141,17,208],"m":"sta","o":"vic_control1"},{"a":42866,"t":"code","b":[32,170,168],"m":"jsr","oa":43178,"o":"JSW_Title_clear_and_copy_title_screen"},{"a":42869,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":42871,"t":"code","b":[141,33,208],"m":"sta","o":"vic_background0"},{"a":42874,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":42876,"t":"code","b":[141,32,208],"m":"sta","o":"vic_border"},{"a":42879,"t":"code","b":[162,0],"m":"ldx","o":"#$00"},{"a":42881,"t":"code","b":[169,1],"m":"lda","o":"#$01"},{"a":42883,"l":"loc_a783","t":"code","b":[157,152,219],"m":"sta","o":"$DB98,x","x":[42889]},{"a":42886,"t":"code","b":[232],"m":"inx"},{"a":42887,"t":"code","b":[224,40],"m":"cpx","o":"#$28"},{"a":42889,"t":"code","b":[144,248],"m":"bcc","oa":42883,"o":"loc_a783"},{"a":42891,"t":"code","b":[169,8],"m":"lda","o":"#$08"},{"a":42893,"t":"code","b":[133,75],"m":"sta","oa":75,"o":"JSW_State_dormant_turnaround_marker"},{"a":42895,"t":"code","b":[169,2],"m":"lda","o":"#$02"},{"a":42897,"t":"code","b":[133,79],"m":"sta","oa":79,"o":"JSW_State_player_x_cell"},{"a":42899,"t":"code","b":[32,205,160],"m":"jsr","oa":41165,"o":"JSW_Title_initialize_title_music"},{"a":42902,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":42904,"t":"code","b":[141,22,208],"m":"sta","o":"vic_control2"},{"a":42907,"t":"code","b":[169,199],"m":"lda","o":"#$C7"},{"a":42909,"t":"code","b":[133,251],"m":"sta","oa":251,"o":"title_ticker_source_pointer_low"},{"a":42911,"t":"code","b":[169,162],"m":"lda","o":"#$A2"},{"a":42913,"t":"code","b":[133,252],"m":"sta","oa":252,"o":"title_ticker_source_pointer_high"},{"a":42915,"t":"code","b":[120],"m":"sei"},{"a":42916,"t":"code","b":[169,1],"m":"lda","o":"#$01"},{"a":42918,"t":"code","b":[141,26,208],"m":"sta","o":"vic_irq_enable"},{"a":42921,"t":"code","b":[169,234],"m":"lda","o":"#$EA"},{"a":42923,"t":"code","b":[141,18,208],"m":"sta","o":"vic_raster"},{"a":42926,"t":"code","b":[173,17,208],"m":"lda","o":"vic_control1"},{"a":42929,"t":"code","b":[41,127],"m":"and","o":"#$7F"},{"a":42931,"t":"code","b":[141,17,208],"m":"sta","o":"vic_control1"},{"a":42934,"t":"code","b":[173,14,220],"m":"lda","o":"cia1_control_a"},{"a":42937,"t":"code","b":[41,254],"m":"and","o":"#$FE"},{"a":42939,"t":"code","b":[141,14,220],"m":"sta","o":"cia1_control_a"},{"a":42942,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":42944,"t":"code","b":[133,80],"m":"sta","oa":80,"o":"JSW_State_player_facing_frame_or_title_key_count"},{"a":42946,"t":"code","b":[133,81],"m":"sta","oa":81,"o":"JSW_State_fall_counter_or_title_first_key"},{"a":42948,"t":"code","b":[141,21,208],"m":"sta","o":"vic_sprite_enable"},{"a":42951,"t":"code","b":[120],"m":"sei"},{"a":42952,"t":"code","b":[169,1],"m":"lda","o":"#$01"},{"a":42954,"t":"code","b":[141,20,3],"m":"sta","oa":788,"o":"C64_WORKSPACE_IRQ_RAM_VECTOR"},{"a":42957,"t":"code","b":[169,168],"m":"lda","o":"#$A8"},{"a":42959,"t":"code","b":[141,21,3],"m":"sta","oa":789,"o":"IRQ_RAM_VECTOR_HIGH"},{"a":42962,"t":"code","b":[88],"m":"cli"},{"a":42963,"l":"JSW_Title_title_main_loop","c":"Waits for a decoded title key before testing launch inputs. With $50=0, the loop skips the port-2 fire read entirely. Return ($51=$0D) starts through $2000; with another decoded key held, port-2 fire can also select that launch path. Fire alone does not start the game. The end flag $FE restarts title music through $A0CD.","t":"code","b":[32,143,168],"m":"jsr","oa":43151,"o":"JSW_Title_fill_title_color_rows","x":[42999,43006]},{"a":42966,"t":"code","b":[165,80],"m":"lda","oa":80,"o":"JSW_State_player_facing_frame_or_title_key_count"},{"a":42968,"t":"code","b":[240,27],"m":"beq","oa":42997,"o":"loc_a7f5"},{"a":42970,"t":"code","b":[165,81],"m":"lda","oa":81,"o":"JSW_State_fall_counter_or_title_first_key"},{"a":42972,"t":"code","b":[201,13],"m":"cmp","o":"#$0D"},{"a":42974,"t":"code","b":[208,14],"m":"bne","oa":42990,"o":"loc_a7ee"},{"a":42976,"l":"loc_a7e0","t":"code","b":[120],"m":"sei","x":[42995]},{"a":42977,"t":"code","b":[169,91],"m":"lda","o":"#$5B"},{"a":42979,"t":"code","b":[141,17,208],"m":"sta","o":"vic_control1"},{"a":42982,"t":"code","b":[169,8],"m":"lda","o":"#$08"},{"a":42984,"t":"code","b":[141,22,208],"m":"sta","o":"vic_control2"},{"a":42987,"t":"code","b":[76,0,32],"m":"jmp","oa":8192,"o":"JSW_Game_game_entry"},{"a":42990,"l":"loc_a7ee","t":"code","b":[173,0,220],"m":"lda","o":"cia1_port_a","x":[42974]},{"a":42993,"t":"code","b":[41,16],"m":"and","o":"#$10"},{"a":42995,"t":"code","b":[240,235],"m":"beq","oa":42976,"o":"loc_a7e0"},{"a":42997,"l":"loc_a7f5","t":"code","b":[165,254],"m":"lda","oa":254,"o":"title_music_ended_flag","x":[42968]},{"a":42999,"t":"code","b":[240,218],"m":"beq","oa":42963,"o":"JSW_Title_title_main_loop"},{"a":43001,"t":"code","b":[120],"m":"sei"},{"a":43002,"t":"code","b":[32,205,160],"m":"jsr","oa":41165,"o":"JSW_Title_initialize_title_music"},{"a":43005,"t":"code","b":[88],"m":"cli"},{"a":43006,"t":"code","b":[76,211,167],"m":"jmp","oa":42963,"o":"JSW_Title_title_main_loop"},{"a":43009,"l":"JSW_Title_title_raster_irq","c":"Purpose: Two-phase title IRQ alternating raster lines $EA and 0; one phase handles music/input, the other fine-scrolls and shifts the 40-character ticker. Inputs: title IRQ state. Outputs: next raster, scroller/screen/color state. Assumptions: the active phase is initialized and the stated inputs and state are valid. Clobbers: A,X,Y and title counters. Hardware: acknowledges $D019, writes $D012/$D011/$D016, screen/color RAM, calls KERNAL IRQ tail $FEBC.","t":"code","b":[173,25,208],"m":"lda","o":"vic_irq_status"},{"a":43012,"t":"code","b":[141,25,208],"m":"sta","o":"vic_irq_status"},{"a":43015,"t":"code","b":[173,18,208],"m":"lda","o":"vic_raster"},{"a":43018,"t":"code","b":[48,64],"m":"bmi","oa":43084,"o":"loc_a84c"},{"a":43020,"t":"code","b":[169,234],"m":"lda","o":"#$EA"},{"a":43022,"t":"code","b":[141,18,208],"m":"sta","o":"vic_raster"},{"a":43025,"t":"code","b":[173,17,208],"m":"lda","o":"vic_control1"},{"a":43028,"t":"code","b":[41,127],"m":"and","o":"#$7F"},{"a":43030,"t":"code","b":[141,17,208],"m":"sta","o":"vic_control1"},{"a":43033,"t":"code","b":[173,22,208],"m":"lda","o":"vic_control2"},{"a":43036,"t":"code","b":[41,248],"m":"and","o":"#$F8"},{"a":43038,"t":"code","b":[141,22,208],"m":"sta","o":"vic_control2"},{"a":43041,"t":"code","b":[198,79],"m":"dec","oa":79,"o":"JSW_State_player_x_cell"},{"a":43043,"t":"code","b":[208,13],"m":"bne","oa":43058,"o":"loc_a832"},{"a":43045,"t":"code","b":[169,2],"m":"lda","o":"#$02"},{"a":43047,"t":"code","b":[133,79],"m":"sta","oa":79,"o":"JSW_State_player_x_cell"},{"a":43049,"t":"code","b":[32,57,161],"m":"jsr","oa":41273,"o":"JSW_Title_tick_title_music"},{"a":43052,"t":"code","b":[32,57,161],"m":"jsr","oa":41273,"o":"JSW_Title_tick_title_music"},{"a":43055,"t":"code","b":[32,57,161],"m":"jsr","oa":41273,"o":"JSW_Title_tick_title_music"},{"a":43058,"l":"loc_a832","t":"code","b":[169,167],"m":"lda","o":"#$A7","x":[43043]},{"a":43060,"t":"code","b":[197,252],"m":"cmp","oa":252,"o":"title_ticker_source_pointer_high"},{"a":43062,"t":"code","b":[208,14],"m":"bne","oa":43078,"o":"loc_a846"},{"a":43064,"t":"code","b":[169,28],"m":"lda","o":"#$1C"},{"a":43066,"t":"code","b":[197,251],"m":"cmp","oa":251,"o":"title_ticker_source_pointer_low"},{"a":43068,"t":"code","b":[208,8],"m":"bne","oa":43078,"o":"loc_a846"},{"a":43070,"t":"code","b":[169,199],"m":"lda","o":"#$C7"},{"a":43072,"t":"code","b":[133,251],"m":"sta","oa":251,"o":"title_ticker_source_pointer_low"},{"a":43074,"t":"code","b":[169,162],"m":"lda","o":"#$A2"},{"a":43076,"t":"code","b":[133,252],"m":"sta","oa":252,"o":"title_ticker_source_pointer_high"},{"a":43078,"l":"loc_a846","t":"code","b":[32,131,160],"m":"jsr","oa":41091,"o":"JSW_Title_scan_title_keyboard","x":[43062,43068]},{"a":43081,"t":"code","b":[76,188,254],"m":"jmp","oa":65212,"o":"j_FEBC"},{"a":43084,"l":"loc_a84c","t":"code","b":[169,0],"m":"lda","o":"#$00","x":[43018]},{"a":43086,"t":"code","b":[141,18,208],"m":"sta","o":"vic_raster"},{"a":43089,"t":"code","b":[173,17,208],"m":"lda","o":"vic_control1"},{"a":43092,"t":"code","b":[41,127],"m":"and","o":"#$7F"},{"a":43094,"t":"code","b":[141,17,208],"m":"sta","o":"vic_control1"},{"a":43097,"t":"code","b":[198,75],"m":"dec","oa":75,"o":"JSW_State_dormant_turnaround_marker"},{"a":43099,"t":"code","b":[208,37],"m":"bne","oa":43138,"o":"loc_a882"},{"a":43101,"t":"code","b":[230,251],"m":"inc","oa":251,"o":"title_ticker_source_pointer_low"},{"a":43103,"t":"code","b":[208,2],"m":"bne","oa":43107,"o":"loc_a863"},{"a":43105,"t":"code","b":[230,252],"m":"inc","oa":252,"o":"title_ticker_source_pointer_high"},{"a":43107,"l":"loc_a863","t":"code","b":[160,39],"m":"ldy","o":"#$27","x":[43103]},{"a":43109,"l":"loc_a865","t":"code","b":[177,251],"m":"lda","oa":251,"o":"(title_ticker_source_pointer_low),y","x":[43121]},{"a":43111,"t":"code","b":[201,65],"m":"cmp","o":"#$41"},{"a":43113,"t":"code","b":[144,2],"m":"bcc","oa":43117,"o":"loc_a86d"},{"a":43115,"t":"code","b":[41,31],"m":"and","o":"#$1F"},{"a":43117,"l":"loc_a86d","t":"code","b":[153,152,127],"m":"sta","oa":32664,"o":"f_7F98,y","x":[43113]},{"a":43120,"t":"code","b":[136],"m":"dey"},{"a":43121,"t":"code","b":[16,242],"m":"bpl","oa":43109,"o":"loc_a865"},{"a":43123,"t":"code","b":[169,8],"m":"lda","o":"#$08"},{"a":43125,"t":"code","b":[133,75],"m":"sta","oa":75,"o":"JSW_State_dormant_turnaround_marker"},{"a":43127,"t":"code","b":[173,22,208],"m":"lda","o":"vic_control2"},{"a":43130,"t":"code","b":[41,248],"m":"and","o":"#$F8"},{"a":43132,"t":"code","b":[141,22,208],"m":"sta","o":"vic_control2"},{"a":43135,"t":"code","b":[76,188,254],"m":"jmp","oa":65212,"o":"j_FEBC"},{"a":43138,"l":"loc_a882","t":"code","b":[173,22,208],"m":"lda","o":"vic_control2","x":[43099]},{"a":43141,"t":"code","b":[41,240],"m":"and","o":"#$F0"},{"a":43143,"t":"code","b":[5,75],"m":"ora","oa":75,"o":"JSW_State_dormant_turnaround_marker"},{"a":43145,"t":"code","b":[141,22,208],"m":"sta","o":"vic_control2"},{"a":43148,"t":"code","b":[76,188,254],"m":"jmp","oa":65212,"o":"j_FEBC"},{"a":43151,"l":"JSW_Title_fill_title_color_rows","c":"Purpose: Fill three color-RAM pages with alternating values from $A8A8/$A8A9. Inputs: color pair and loop index. Outputs: title color RAM. Assumptions: the active phase is initialized and the stated inputs and state are valid. Clobbers: A,X. Hardware: writes $D800-$DAFF; snapshot PC $A8A4 lies inside this loop.","t":"code","b":[165,251],"m":"lda","oa":251,"o":"title_ticker_source_pointer_low","x":[42963]},{"a":43153,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":43154,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":43155,"t":"code","b":[41,1],"m":"and","o":"#$01"},{"a":43157,"t":"code","b":[168],"m":"tay"},{"a":43158,"t":"code","b":[185,168,168],"m":"lda","oa":43176,"o":"JSW_State_title_color_pair,y"},{"a":43161,"t":"code","b":[162,0],"m":"ldx","o":"#$00"},{"a":43163,"l":"loc_a89b","t":"code","b":[157,0,216],"m":"sta","o":"colour_ram,x","x":[43173]},{"a":43166,"t":"code","b":[157,0,217],"m":"sta","o":"$D900,x"},{"a":43169,"t":"code","b":[157,0,218],"m":"sta","o":"$DA00,x"},{"a":43172,"t":"code","b":[232],"m":"inx"},{"a":43173,"t":"code","b":[208,244],"m":"bne","oa":43163,"o":"loc_a89b"},{"a":43175,"t":"code","b":[96],"m":"rts"},{"a":43176,"l":"JSW_State_title_color_pair","c":"Two alternating color values used by the title color-RAM fill.","t":"byte","b":[2],"x":[43158]},{"a":43177,"l":"annotation_a8a9","c":"Two colors alternated across title color RAM.","t":"byte","b":[5]},{"a":43178,"l":"JSW_Title_clear_and_copy_title_screen","c":"Purpose: Clear screen RAM and copy the static title layout $A8D9-$AA88 into $7CF0-$7E9F. Inputs: layout data. Outputs: title screen cells. Assumptions: the active phase is initialized and the stated inputs and state are valid. Clobbers: A,X. Hardware: calls KERNAL CHROUT for clear and writes VIC screen RAM.","t":"code","b":[162,0],"m":"ldx","o":"#$00","x":[42866]},{"a":43180,"t":"code","b":[169,32],"m":"lda","o":"#$20"},{"a":43182,"l":"loc_a8ae","t":"code","b":[157,0,124],"m":"sta","oa":31744,"o":"JSW_State_vic_screen_ram,x","x":[43195]},{"a":43185,"t":"code","b":[157,0,125],"m":"sta","oa":32000,"o":"vic_screen_ram_page_1,x"},{"a":43188,"t":"code","b":[157,0,126],"m":"sta","oa":32256,"o":"vic_screen_ram_page_2,x"},{"a":43191,"t":"code","b":[157,0,127],"m":"sta","oa":32512,"o":"vic_screen_ram_page_3,x"},{"a":43194,"t":"code","b":[232],"m":"inx"},{"a":43195,"t":"code","b":[208,241],"m":"bne","oa":43182,"o":"loc_a8ae"},{"a":43197,"t":"code","b":[169,8],"m":"lda","o":"#$08"},{"a":43199,"t":"code","b":[32,210,255],"m":"jsr","oa":65490,"o":"KERNAL_CHROUT"},{"a":43202,"t":"code","b":[162,0],"m":"ldx","o":"#$00"},{"a":43204,"l":"loc_a8c4","t":"code","b":[189,217,168],"m":"lda","oa":43225,"o":"JSW_State_title_screen_layout,x","x":[43211]},{"a":43207,"t":"code","b":[157,240,124],"m":"sta","oa":31984,"o":"f_7CF0,x"},{"a":43210,"t":"code","b":[232],"m":"inx"},{"a":43211,"t":"code","b":[208,247],"m":"bne","oa":43204,"o":"loc_a8c4"},{"a":43213,"l":"loc_a8cd","t":"code","b":[189,217,169],"m":"lda","oa":43481,"o":"title_screen_layout_page_1,x","x":[43222]},{"a":43216,"t":"code","b":[157,240,125],"m":"sta","oa":32240,"o":"f_7DF0,x"},{"a":43219,"t":"code","b":[232],"m":"inx"},{"a":43220,"t":"code","b":[224,176],"m":"cpx","o":"#$B0"},{"a":43222,"t":"code","b":[208,245],"m":"bne","oa":43213,"o":"loc_a8cd"},{"a":43224,"t":"code","b":[96],"m":"rts"},{"a":43225,"l":"JSW_State_title_screen_layout","c":"Static title-screen character layout copied into screen RAM by $A8AA.","t":"byte","b":[32],"x":[43204]},{"a":43226,"l":"annotation_a8da","c":"Static title character layout copied into screen RAM.","t":"byte","b":[32,32,32,32,112,64,114,64]},{"a":43234,"t":"byte","b":[110,112,64,64,64,110,112,64]},{"a":43242,"t":"byte","b":[114,64,110,32,32,85,64,64]},{"a":43250,"t":"byte","b":[73,112,64,64,64,110,112,64]},{"a":43258,"t":"byte","b":[114,64,110,32,32,32,32,32]},{"a":43266,"t":"byte","b":[32,32,32,32,32,32,66,32]},{"a":43274,"t":"byte","b":[32,66,32,32,32,32,32,32]},{"a":43282,"t":"byte","b":[66,32,32,32,32,66,32,32]},{"a":43290,"t":"byte","b":[32,66,32,32,32,32,32,32]},{"a":43298,"t":"byte","b":[66,32,32,32,32,32,32,32]},{"a":43306,"t":"byte","b":[32,32,32,32,32,32,66,32]},{"a":43314,"t":"byte","b":[32,107,64,115,32,32,32,32]},{"a":43322,"t":"byte","b":[66,32,32,32,32,74,64,64]},{"a":43330,"t":"byte","b":[73,107,64,115,32,32,32,32]},{"a":43338,"t":"byte","b":[66,32,32,32,32,32,32,32]},{"a":43346,"t":"byte","b":[32,32,32,32,114,32,66,32]},{"a":43354,"t":"byte","b":[32,66,32,32,32,32,32,32]},{"a":43362,"t":"byte","b":[66,32,32,32,32,32,32,32]},{"a":43370,"t":"byte","b":[66,66,32,32,32,32,32,32]},{"a":43378,"t":"byte","b":[66,32,32,32,32,32,32,32]},{"a":43386,"t":"byte","b":[32,32,32,32,74,64,75,32]},{"a":43394,"t":"byte","b":[32,109,64,64,64,125,32,32]},{"a":43402,"t":"byte","b":[113,32,32,32,32,74,64,64]},{"a":43410,"t":"byte","b":[75,109,64,64,64,125,32,32]},{"a":43418,"t":"byte","b":[113,32,32,32,32,32,32,32]},{"a":43426,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":43434,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":43442,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":43450,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":43458,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":43466,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":43474,"t":"byte","b":[114,32,32,32,114,32,112]},{"a":43481,"l":"title_screen_layout_page_1","c":"Second page of the static title-screen layout copied into VIC screen RAM.","t":"byte","b":[114,110,32,114,32,32,32,114],"x":[43213]},{"a":43489,"t":"byte","b":[32,32,32,114,32,32,32,114]},{"a":43497,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":43505,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":43513,"t":"byte","b":[32,66,32,114,32,66,32,32]},{"a":43521,"t":"byte","b":[66,32,32,66,32,32,32,66]},{"a":43529,"t":"byte","b":[32,32,32,66,32,32,32,66]},{"a":43537,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":43545,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":43553,"t":"byte","b":[32,66,32,66,32,66,32,32]},{"a":43561,"t":"byte","b":[66,32,32,66,32,32,32,66]},{"a":43569,"t":"byte","b":[32,32,32,74,64,114,64,75]},{"a":43577,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":43585,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":43593,"t":"byte","b":[32,66,32,66,32,66,32,32]},{"a":43601,"t":"byte","b":[66,32,32,66,32,32,32,66]},{"a":43609,"t":"byte","b":[32,32,32,32,32,66,32,32]},{"a":43617,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":43625,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":43633,"t":"byte","b":[32,74,64,113,64,75,32,109]},{"a":43641,"t":"byte","b":[113,125,32,109,64,64,125,109]},{"a":43649,"t":"byte","b":[64,64,125,32,32,113,32,32]},{"a":43657,"l":"JSW_Title_clear_sid_registers","c":"Purpose: Zero all 25 SID registers. Inputs: none. Outputs: SID silent/reset register state. Assumptions: the active phase is initialized and the stated inputs and state are valid. Clobbers: A,X. Hardware: indexed writes $D400-$D418 with I/O visible.","t":"code","b":[169,0],"m":"lda","o":"#$00","x":[41189,41355]},{"a":43659,"t":"code","b":[170],"m":"tax"},{"a":43660,"l":"loc_aa8c","t":"code","b":[157,0,212],"m":"sta","o":"sid_v1_freq_lo,x","x":[43666]},{"a":43663,"t":"code","b":[232],"m":"inx"},{"a":43664,"t":"code","b":[224,25],"m":"cpx","o":"#$19"},{"a":43666,"t":"code","b":[144,248],"m":"bcc","oa":43660,"o":"loc_aa8c"},{"a":43668,"t":"code","b":[96],"m":"rts"},{"a":43669,"l":"annotation_aa95","c":"Captured unreferenced bytes after the active SID-clear routine; no title or gameplay reference targets this range.","t":"byte","b":[255,0,0,255,255,0,0,255]},{"a":43677,"t":"byte","b":[255,0,0,255,255,0,0,255]},{"a":43685,"t":"byte","b":[255,0,0,255,255,0,0,255]},{"a":43693,"t":"byte","b":[255,0,0,255,255,0,0,255]},{"a":43701,"t":"byte","b":[255,0,0,255,255,0,0,255]},{"a":43709,"t":"byte","b":[251,0,66,255,255,0,0,255]},{"a":43717,"t":"byte","b":[255,0,0,211,255,0,0,255]},{"a":43725,"t":"byte","b":[255,0,0,255,255,0,0,255]},{"a":43733,"t":"byte","b":[255,0,0,255,255,0,0,255]},{"a":43741,"t":"byte","b":[255,0,16,255,255,0,0,255]},{"a":43749,"t":"byte","b":[255,0,0,255,255,0,0,255]},{"a":43757,"t":"byte","b":[255,0,0,255,255,0,0,255]},{"a":43765,"t":"byte","b":[255,0,0,172,253,0,0,40]},{"a":43773,"t":"byte","b":[249,0,195,0,0,255,111,0]},{"a":43781,"t":"byte","b":[0,255,239,0,0,255,239,0]},{"a":43789,"t":"byte","b":[66,255,239,0,8,255,239,0]},{"a":43797,"t":"byte","b":[66,255,239,0,0,255,237,0]},{"a":43805,"t":"byte","b":[0,255,255,0,0,255,239,0]},{"a":43813,"t":"byte","b":[0,255,255,0,0,255,255,0]},{"a":43821,"t":"byte","b":[0,255,255,0,0,255,255,0]},{"a":43829,"t":"byte","b":[0,255,255,0,0,255,255,0]},{"a":43837,"t":"byte","b":[4,253,189,0,0,255,111,0]},{"a":43845,"t":"byte","b":[2,255,239,44,0,255,173,0]},{"a":43853,"t":"byte","b":[0,255,255,0,0,255,255,0]},{"a":43861,"t":"byte","b":[0,255,255,0,0,255,239,0]},{"a":43869,"t":"byte","b":[0,255,239,0,0,255,255,0]},{"a":43877,"t":"byte","b":[0,255,255,0,0,255,255,0]},{"a":43885,"t":"byte","b":[0,255,255,131,0,255,255,0]},{"a":43893,"t":"byte","b":[0,255,255,211,0,255,255,223]},{"a":43901,"t":"byte","b":[14,255,60,169,0,133,80,169]},{"a":43909,"t":"byte","b":[192,133,81,169,0,133,82,169]},{"a":43917,"t":"byte","b":[160,133,83,162,16,160,0,177]},{"a":43925,"t":"byte","b":[80,145,82,200,208,249,230,81]},{"a":43933,"t":"byte","b":[230,83,202,208,242,96,255,0]},{"a":43941,"t":"byte","b":[0,255,255,0,0,255,255,0]},{"a":43949,"t":"byte","b":[0,255,255,0,0,255,255,0]},{"a":43957,"t":"byte","b":[0,255,255,0,0,255,255,0]},{"a":43965,"t":"byte","b":[4,255,189,0,0,255,255,0]},{"a":43973,"t":"byte","b":[0,255,255,44,0,255,255,0]},{"a":43981,"t":"byte","b":[0,255,255,0,0,255,255,0]},{"a":43989,"t":"byte","b":[0,255,255,0,0,255,255,0]},{"a":43997,"t":"byte","b":[0,255,239,0,0,255,255,0]},{"a":44005,"t":"byte","b":[0,255,255,0,0,255,255,0]},{"a":44013,"t":"byte","b":[0,255,255,64,0,255,255,0]},{"a":44021,"t":"byte","b":[0,255,255,83,0,255,255,223]},{"a":44029,"t":"byte","b":[6,255,60,255,255,128,144,255]},{"a":44037,"t":"byte","b":[255,0,16,255,255,0,16,255]},{"a":44045,"t":"byte","b":[189,0,16,255,247,0,16,255]},{"a":44053,"t":"byte","b":[189,0,16,255,255,2,18,255]},{"a":44061,"t":"byte","b":[255,0,0,255,255,0,16,255]},{"a":44069,"t":"byte","b":[255,0,0,255,255,0,0,255]},{"a":44077,"t":"byte","b":[255,0,0,255,255,0,0,255]},{"a":44085,"t":"byte","b":[255,0,0,255,255,0,0,255]},{"a":44093,"t":"byte","b":[251,2,66,255,255,0,144,255]},{"a":44101,"t":"byte","b":[253,0,16,211,255,1,82,255]},{"a":44109,"t":"byte","b":[255,0,0,255,255,0,0,255]},{"a":44117,"t":"byte","b":[255,0,0,255,255,0,16,255]},{"a":44125,"t":"byte","b":[255,0,16,255,255,0,0,255]},{"a":44133,"t":"byte","b":[255,0,0,255,255,0,0,255]},{"a":44141,"t":"byte","b":[255,0,0,124,255,0,0,255]},{"a":44149,"t":"byte","b":[255,0,0,44,255,0,0,32]},{"a":44157,"t":"byte","b":[241,0,195,255,255,0,0,255]},{"a":44165,"t":"byte","b":[255,0,0,255,255,0,0,255]},{"a":44173,"t":"byte","b":[255,0,0,255,255,0,0,255]},{"a":44181,"t":"byte","b":[255,0,0,255,255,0,0,255]},{"a":44189,"t":"byte","b":[255,0,0,255,255,0,0,255]},{"a":44197,"t":"byte","b":[255,0,0,255,255,0,0,255]},{"a":44205,"t":"byte","b":[255,0,0,255,255,0,0,255]},{"a":44213,"t":"byte","b":[255,0,0,255,255,0,0,255]},{"a":44221,"t":"byte","b":[251,0,66,255,255,0,0,255]},{"a":44229,"t":"byte","b":[255,0,0,211,255,0,0,255]},{"a":44237,"t":"byte","b":[255,0,0,255,255,0,0,255]},{"a":44245,"t":"byte","b":[255,0,0,255,255,0,0,255]},{"a":44253,"t":"byte","b":[255,0,16,255,255,0,0,255]},{"a":44261,"t":"byte","b":[255,0,0,255,255,0,0,255]},{"a":44269,"t":"byte","b":[255,0,0,191,255,0,0,255]},{"a":44277,"t":"byte","b":[255,0,0,172,255,0,0,40]},{"a":44285,"t":"byte","b":[249,0,195,0,0,127,111,0]},{"a":44293,"t":"byte","b":[0,255,239,0,0,255,239,0]},{"a":44301,"t":"byte","b":[66,255,239,0,8,255,239,0]},{"a":44309,"t":"byte","b":[66,255,239,0,0,255,237,0]},{"a":44317,"t":"byte","b":[0,255,255,0,0,255,239,0]},{"a":44325,"t":"byte","b":[0,255,255,0,0,255,255,0]},{"a":44333,"t":"byte","b":[0,255,255,0,0,255,255,0]},{"a":44341,"t":"byte","b":[0,255,255,0,0,255,255,0]},{"a":44349,"t":"byte","b":[4,253,189,0,0,255,111,0]},{"a":44357,"t":"byte","b":[2,255,239,44,0,191,173,0]},{"a":44365,"t":"byte","b":[0,253,255,0,0,255,255,0]},{"a":44373,"t":"byte","b":[0,255,255,0,0,255,239,0]},{"a":44381,"t":"byte","b":[0,255,239,0,0,255,255,0]},{"a":44389,"t":"byte","b":[0,255,255,0,0,255,255,0]},{"a":44397,"t":"byte","b":[0,255,255,131,0,255,255,0]},{"a":44405,"t":"byte","b":[0,255,255,211,0,255,255,223]},{"a":44413,"t":"byte","b":[14,255,60,0,0,255,255,0]},{"a":44421,"t":"byte","b":[0,255,255,0,0,255,255,0]},{"a":44429,"t":"byte","b":[0,255,255,0,0,255,255,0]},{"a":44437,"t":"byte","b":[0,255,255,0,0,255,255,0]},{"a":44445,"t":"byte","b":[0,255,255,0,0,255,255,0]},{"a":44453,"t":"byte","b":[0,255,255,0,0,255,255,0]},{"a":44461,"t":"byte","b":[0,255,255,0,0,255,255,0]},{"a":44469,"t":"byte","b":[0,255,255,0,0,255,255,0]},{"a":44477,"t":"byte","b":[4,255,189,0,0,255,255,0]},{"a":44485,"t":"byte","b":[0,255,255,44,0,255,255,0]},{"a":44493,"t":"byte","b":[0,255,255,0,0,255,255,0]},{"a":44501,"t":"byte","b":[0,255,255,0,0,255,255,0]},{"a":44509,"t":"byte","b":[0,255,239,0,0,255,255,0]},{"a":44517,"t":"byte","b":[0,255,255,0,0,255,255,0]},{"a":44525,"t":"byte","b":[0,255,255,0,0,255,255,0]},{"a":44533,"t":"byte","b":[0,255,255,83,0,255,255,223]},{"a":44541,"t":"byte","b":[6,255,60,255,255,0,144,255]},{"a":44549,"t":"byte","b":[255,0,16,255,255,0,16,255]},{"a":44557,"t":"byte","b":[189,0,16,255,247,0,16,255]},{"a":44565,"t":"byte","b":[189,0,16,255,255,2,18,255]},{"a":44573,"t":"byte","b":[255,0,0,255,255,0,16,255]},{"a":44581,"t":"byte","b":[255,0,0,255,255,0,0,255]},{"a":44589,"t":"byte","b":[255,0,0,255,255,0,0,255]},{"a":44597,"t":"byte","b":[255,0,0,255,255,0,0,255]},{"a":44605,"t":"byte","b":[251,2,66,255,255,0,144,255]},{"a":44613,"t":"byte","b":[253,0,16,211,255,64,82,255]},{"a":44621,"t":"byte","b":[255,0,0,255,255,0,0,255]},{"a":44629,"t":"byte","b":[255,0,0,255,255,0,16,255]},{"a":44637,"t":"byte","b":[255,0,16,255,255,0,0,255]},{"a":44645,"t":"byte","b":[255,0,0,255,255,0,0,255]},{"a":44653,"t":"byte","b":[255,0,0,124,255,0,0,255]},{"a":44661,"t":"byte","b":[255,0,0,108,255,0,0,32]},{"a":44669,"t":"byte","b":[241,0,195,255,255,0,0,255]},{"a":44677,"t":"byte","b":[255,0,0,255,255,0,0,255]},{"a":44685,"t":"byte","b":[255,0,0,255,255,0,0,255]},{"a":44693,"t":"gap","n":363},{"a":45056,"l":"room_00_the_off_licence","c":"Room 0: THE OFF LICENCE. One 256-byte room record, copied to $0840 by $2E55. $20-$9F stores 32 by 16 terrain cells as four two-bit cells per byte, most-significant pair first; $A0-$CF holds six eight-byte tile glyphs. Up/down/left/right exits are 60, 49, 1, 60 at $DC-$DF. Guardian start/count and rope flag occupy $E0-$E2. Remaining room fields are decoded by the construction routines.","t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":45064,"t":"byte","b":[32,84,72,69,32,79,70,70]},{"a":45072,"t":"byte","b":[32,76,73,67,69,78,67,69]},{"a":45080,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":45088,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":45096,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":45104,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":45112,"t":"byte","b":[0,0,0,170,170,170,170,170]},{"a":45120,"t":"byte","b":[0,0,0,128,0,0,0,2]},{"a":45128,"t":"byte","b":[0,0,0,128,0,0,0,2]},{"a":45136,"t":"byte","b":[0,0,0,140,0,0,0,2]},{"a":45144,"t":"byte","b":[0,0,0,128,0,0,0,2]},{"a":45152,"t":"byte","b":[0,0,0,128,0,0,0,2]},{"a":45160,"t":"byte","b":[0,0,0,128,0,0,0,2]},{"a":45168,"t":"byte","b":[0,0,0,128,0,0,0,2]},{"a":45176,"t":"byte","b":[0,0,0,170,0,0,2,170]},{"a":45184,"t":"byte","b":[0,0,0,0,0,0,0,2]},{"a":45192,"t":"byte","b":[0,0,0,0,0,0,0,2]},{"a":45200,"t":"byte","b":[0,0,0,0,0,0,0,2]},{"a":45208,"t":"byte","b":[85,85,85,85,85,85,85,85]},{"a":45216,"t":"byte","b":[255,222,108,136,18,64,4,0]},{"a":45224,"t":"byte","b":[34,255,136,255,34,255,136,255]},{"a":45232,"t":"byte","b":[248,136,158,189,189,158,136,248]},{"a":45240,"t":"byte","b":[255,128,128,128,128,128,128,128]},{"a":45248,"t":"byte","b":[51,255,51,0,255,0,170,0]},{"a":45256,"t":"byte","b":[24,24,60,126,98,98,98,126]},{"a":45264,"t":"byte","b":[140,9,19,11,26,132,4,0]},{"a":45272,"t":"byte","b":[13,1,3,6,60,49,1,60]},{"a":45280,"t":"byte","b":[0,3,0,0,32,32,0,7]},{"a":45288,"t":"byte","b":[177,33,0,32,32,34,82,79]},{"a":45296,"t":"byte","b":[79,77,50,46,79,66,74,34]},{"a":45304,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":45312,"l":"room_01_the_bridge","c":"Room 1: THE BRIDGE. One 256-byte room record, copied to $0840 by $2E55. $20-$9F stores 32 by 16 terrain cells as four two-bit cells per byte, most-significant pair first; $A0-$CF holds six eight-byte tile glyphs. Up/down/left/right exits are 60, 60, 2, 0 at $DC-$DF. Guardian start/count and rope flag occupy $E0-$E2. Remaining room fields are decoded by the construction routines.","t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":45320,"t":"byte","b":[32,84,72,69,32,66,82,73]},{"a":45328,"t":"byte","b":[68,71,69,32,32,32,32,32]},{"a":45336,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":45344,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":45352,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":45360,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":45368,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":45376,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":45384,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":45392,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":45400,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":45408,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":45416,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":45424,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":45432,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":45440,"t":"byte","b":[0,0,10,0,42,0,0,0]},{"a":45448,"t":"byte","b":[0,0,42,0,42,128,0,0]},{"a":45456,"t":"byte","b":[0,0,170,255,234,160,0,0]},{"a":45464,"t":"byte","b":[85,85,170,255,234,165,85,85]},{"a":45472,"t":"byte","b":[255,255,253,187,214,114,96,64]},{"a":45480,"t":"byte","b":[34,119,34,136,34,119,34,136]},{"a":45488,"t":"byte","b":[3,132,72,48,3,132,72,48]},{"a":45496,"t":"byte","b":[255,91,214,175,210,183,226,247]},{"a":45504,"t":"byte","b":[1,64,4,70,79,121,240,249]},{"a":45512,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":45520,"t":"byte","b":[0,0,0,12,9,131,5,0]},{"a":45528,"t":"byte","b":[13,11,6,0,60,60,2,0]},{"a":45536,"t":"byte","b":[3,3,0,0,0,0,0,0]},{"a":45544,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":45552,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":45560,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":45568,"l":"room_02_under_the_megatree","c":"Room 2: UNDER THE MEGATREE. One 256-byte room record, copied to $0840 by $2E55. $20-$9F stores 32 by 16 terrain cells as four two-bit cells per byte, most-significant pair first; $A0-$CF holds six eight-byte tile glyphs. Up/down/left/right exits are 60, 60, 3, 1 at $DC-$DF. Guardian start/count and rope flag occupy $E0-$E2. Remaining room fields are decoded by the construction routines.","t":"byte","b":[32,32,32,32,32,32,32,85]},{"a":45576,"t":"byte","b":[78,68,69,82,32,84,72,69]},{"a":45584,"t":"byte","b":[32,77,69,71,65,84,82,69]},{"a":45592,"t":"byte","b":[69,32,32,32,32,32,32,32]},{"a":45600,"t":"byte","b":[0,3,255,207,252,0,0,0]},{"a":45608,"t":"byte","b":[170,170,175,255,63,0,0,0]},{"a":45616,"t":"byte","b":[0,0,63,208,92,0,0,0]},{"a":45624,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":45632,"t":"byte","b":[170,128,0,0,0,0,0,0]},{"a":45640,"t":"byte","b":[0,1,64,4,0,4,0,0]},{"a":45648,"t":"byte","b":[0,0,1,0,4,0,0,0]},{"a":45656,"t":"byte","b":[170,168,0,0,0,1,0,0]},{"a":45664,"t":"byte","b":[0,0,20,16,16,0,0,0]},{"a":45672,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":45680,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":45688,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":45696,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":45704,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":45712,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":45720,"t":"byte","b":[85,85,85,85,85,85,85,85]},{"a":45728,"t":"byte","b":[215,179,117,109,92,24,8,4]},{"a":45736,"t":"byte","b":[189,170,93,162,243,10,6,1]},{"a":45744,"t":"byte","b":[73,106,59,58,252,30,107,232]},{"a":45752,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":45760,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":45768,"t":"byte","b":[129,66,36,24,60,24,60,195]},{"a":45776,"t":"byte","b":[0,0,0,0,0,0,7,0]},{"a":45784,"t":"byte","b":[13,4,7,0,60,60,3,1]},{"a":45792,"t":"byte","b":[6,3,0,0,0,0,0,0]},{"a":45800,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":45808,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":45816,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":45824,"l":"room_03_at_the_foot_of_the_megatree","c":"Room 3: AT THE FOOT OF THE MEGATREE. One 256-byte room record, copied to $0840 by $2E55. $20-$9F stores 32 by 16 terrain cells as four two-bit cells per byte, most-significant pair first; $A0-$CF holds six eight-byte tile glyphs. Up/down/left/right exits are 8, 60, 4, 2 at $DC-$DF. Guardian start/count and rope flag occupy $E0-$E2. Remaining room fields are decoded by the construction routines.","t":"byte","b":[32,32,65,84,32,84,72,69]},{"a":45832,"t":"byte","b":[32,70,79,79,84,32,79,70]},{"a":45840,"t":"byte","b":[32,84,72,69,32,77,69,71]},{"a":45848,"t":"byte","b":[65,84,82,69,69,32,32,32]},{"a":45856,"t":"byte","b":[48,195,8,0,8,0,0,0]},{"a":45864,"t":"byte","b":[48,195,8,0,10,170,170,170]},{"a":45872,"t":"byte","b":[48,195,8,0,8,0,0,0]},{"a":45880,"t":"byte","b":[48,195,8,1,88,0,0,0]},{"a":45888,"t":"byte","b":[48,195,9,0,10,170,170,170]},{"a":45896,"t":"byte","b":[48,195,8,21,0,0,0,0]},{"a":45904,"t":"byte","b":[48,195,8,0,0,0,0,0]},{"a":45912,"t":"byte","b":[48,195,9,0,26,170,170,170]},{"a":45920,"t":"byte","b":[48,195,8,0,8,0,0,0]},{"a":45928,"t":"byte","b":[48,195,8,0,88,0,0,0]},{"a":45936,"t":"byte","b":[48,3,9,64,8,0,0,0]},{"a":45944,"t":"byte","b":[0,0,8,0,8,0,0,0]},{"a":45952,"t":"byte","b":[0,0,8,0,8,0,0,0]},{"a":45960,"t":"byte","b":[0,0,0,0,80,0,0,0]},{"a":45968,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":45976,"t":"byte","b":[85,85,85,85,85,85,85,85]},{"a":45984,"t":"byte","b":[240,249,191,31,12,16,40,68]},{"a":45992,"t":"byte","b":[171,171,173,170,170,174,85,85]},{"a":46000,"t":"byte","b":[110,116,56,30,110,116,56,30]},{"a":46008,"t":"byte","b":[255,3,3,3,3,3,3,3]},{"a":46016,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":46024,"t":"byte","b":[64,160,92,34,33,34,20,8]},{"a":46032,"t":"byte","b":[0,0,0,10,13,3,2,0]},{"a":46040,"t":"byte","b":[5,8,7,0,8,60,4,2]},{"a":46048,"t":"byte","b":[9,4,0,0,0,0,0,0]},{"a":46056,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":46064,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":46072,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":46080,"l":"room_04_the_drive","c":"Room 4: THE DRIVE. One 256-byte room record, copied to $0840 by $2E55. $20-$9F stores 32 by 16 terrain cells as four two-bit cells per byte, most-significant pair first; $A0-$CF holds six eight-byte tile glyphs. Up/down/left/right exits are 60, 45, 5, 3 at $DC-$DF. Guardian start/count and rope flag occupy $E0-$E2. Remaining room fields are decoded by the construction routines.","t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":46088,"t":"byte","b":[32,32,32,32,84,72,69,32]},{"a":46096,"t":"byte","b":[68,82,73,86,69,32,32,32]},{"a":46104,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":46112,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":46120,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":46128,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":46136,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":46144,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":46152,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":46160,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":46168,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":46176,"t":"byte","b":[84,0,0,0,0,0,0,0]},{"a":46184,"t":"byte","b":[170,0,0,0,0,0,0,0]},{"a":46192,"t":"byte","b":[170,128,0,0,0,0,0,0]},{"a":46200,"t":"byte","b":[0,160,0,0,0,0,0,0]},{"a":46208,"t":"byte","b":[0,168,0,0,0,0,0,0]},{"a":46216,"t":"byte","b":[0,170,0,0,0,0,0,0]},{"a":46224,"t":"byte","b":[160,170,128,0,0,0,0,0]},{"a":46232,"t":"byte","b":[160,170,165,85,85,90,85,85]},{"a":46240,"t":"byte","b":[170,85,170,255,255,85,170,85]},{"a":46248,"t":"byte","b":[112,7,119,119,0,59,11,125]},{"a":46256,"t":"byte","b":[20,42,20,9,106,156,8,8]},{"a":46264,"t":"byte","b":[255,213,235,245,251,253,255,255]},{"a":46272,"t":"byte","b":[183,0,222,0,170,85,170,85]},{"a":46280,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":46288,"t":"byte","b":[2,13,0,8,3,7,4,0]},{"a":46296,"t":"byte","b":[8,6,6,6,60,45,5,3]},{"a":46304,"t":"byte","b":[13,5,0,0,0,0,0,0]},{"a":46312,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":46320,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":46328,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":46336,"l":"room_05_the_security_guard","c":"Room 5: THE SECURITY GUARD. One 256-byte room record, copied to $0840 by $2E55. $20-$9F stores 32 by 16 terrain cells as four two-bit cells per byte, most-significant pair first; $A0-$CF holds six eight-byte tile glyphs. Up/down/left/right exits are 10, 6, 19, 4 at $DC-$DF. Guardian start/count and rope flag occupy $E0-$E2. Remaining room fields are decoded by the construction routines.","t":"byte","b":[32,32,32,32,32,32,32,84]},{"a":46344,"t":"byte","b":[72,69,32,83,69,67,85,82]},{"a":46352,"t":"byte","b":[73,84,89,32,71,85,65,82]},{"a":46360,"t":"byte","b":[68,32,32,32,32,32,32,32]},{"a":46368,"t":"byte","b":[128,0,0,0,0,0,0,0]},{"a":46376,"t":"byte","b":[160,0,0,0,0,0,0,0]},{"a":46384,"t":"byte","b":[168,0,0,0,0,0,0,0]},{"a":46392,"t":"byte","b":[170,0,0,0,0,0,0,0]},{"a":46400,"t":"byte","b":[170,128,0,0,0,0,0,0]},{"a":46408,"t":"byte","b":[170,160,0,0,0,0,0,0]},{"a":46416,"t":"byte","b":[168,0,0,0,0,0,0,0]},{"a":46424,"t":"byte","b":[168,0,0,0,0,0,0,0]},{"a":46432,"t":"byte","b":[168,21,84,16,65,84,21,85]},{"a":46440,"t":"byte","b":[168,42,168,32,130,168,42,170]},{"a":46448,"t":"byte","b":[0,0,168,32,130,168,42,170]},{"a":46456,"t":"byte","b":[0,0,168,32,130,168,40,0]},{"a":46464,"t":"byte","b":[0,0,168,32,130,168,40,0]},{"a":46472,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":46480,"t":"byte","b":[0,0,0,0,0,0,0,42]},{"a":46488,"t":"byte","b":[160,10,170,170,170,170,170,170]},{"a":46496,"t":"byte","b":[255,255,170,85,170,85,170,85]},{"a":46504,"t":"byte","b":[14,198,149,176,54,134,192,237]},{"a":46512,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":46520,"t":"byte","b":[255,127,31,15,7,3,3,3]},{"a":46528,"t":"byte","b":[246,0,123,0,170,85,170,85]},{"a":46536,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":46544,"t":"byte","b":[3,13,29,0,1,8,4,0]},{"a":46552,"t":"byte","b":[5,14,6,6,10,6,19,4]},{"a":46560,"t":"byte","b":[18,4,0,0,0,0,0,0]},{"a":46568,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":46576,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":46584,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":46592,"l":"room_06_entrance_to_hades","c":"Room 6: ENTRANCE TO HADES. One 256-byte room record, copied to $0840 by $2E55. $20-$9F stores 32 by 16 terrain cells as four two-bit cells per byte, most-significant pair first; $A0-$CF holds six eight-byte tile glyphs. Up/down/left/right exits are 6, 6, 6, 6 at $DC-$DF. Guardian start/count and rope flag occupy $E0-$E2. Remaining room fields are decoded by the construction routines.","t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":46600,"t":"byte","b":[69,78,84,82,65,78,67,69]},{"a":46608,"t":"byte","b":[32,84,79,32,72,65,68,69]},{"a":46616,"t":"byte","b":[83,32,32,32,32,32,32,32]},{"a":46624,"t":"byte","b":[160,0,0,0,0,0,0,0]},{"a":46632,"t":"byte","b":[160,0,0,0,0,0,0,0]},{"a":46640,"t":"byte","b":[160,0,0,21,4,85,0,0]},{"a":46648,"t":"byte","b":[160,0,0,16,68,67,0,0]},{"a":46656,"t":"byte","b":[160,0,0,16,68,84,0,0]},{"a":46664,"t":"byte","b":[160,0,0,16,68,64,0,0]},{"a":46672,"t":"byte","b":[160,0,0,21,4,85,0,0]},{"a":46680,"t":"byte","b":[160,0,0,12,12,48,0,0]},{"a":46688,"t":"byte","b":[160,0,0,0,0,0,0,0]},{"a":46696,"t":"byte","b":[160,1,1,4,20,21,4,16]},{"a":46704,"t":"byte","b":[160,1,69,17,17,4,17,16]},{"a":46712,"t":"byte","b":[160,1,17,17,20,4,17,16]},{"a":46720,"t":"byte","b":[160,1,49,17,17,4,21,16]},{"a":46728,"t":"byte","b":[160,1,1,4,17,4,17,21]},{"a":46736,"t":"byte","b":[160,3,3,12,51,12,51,12]},{"a":46744,"t":"byte","b":[160,0,0,0,0,0,0,0]},{"a":46752,"t":"byte","b":[160,20,130,80,10,65,40,5]},{"a":46760,"t":"byte","b":[187,187,56,187,187,187,131,187]},{"a":46768,"t":"byte","b":[191,92,88,48,40,88,72,48]},{"a":46776,"t":"byte","b":[64,64,16,16,4,4,1,1]},{"a":46784,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":46792,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":46800,"t":"byte","b":[0,0,0,0,0,0,2,7]},{"a":46808,"t":"byte","b":[12,2,2,0,6,6,6,6]},{"a":46816,"t":"byte","b":[22,4,0,0,0,0,0,0]},{"a":46824,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":46832,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":46840,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":46848,"l":"room_07_cuckoo_s_nest","c":"Room 7: CUCKOO'S NEST. One 256-byte room record, copied to $0840 by $2E55. $20-$9F stores 32 by 16 terrain cells as four two-bit cells per byte, most-significant pair first; $A0-$CF holds six eight-byte tile glyphs. Up/down/left/right exits are 7, 2, 8, 7 at $DC-$DF. Guardian start/count and rope flag occupy $E0-$E2. Remaining room fields are decoded by the construction routines.","t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":46856,"t":"byte","b":[32,67,85,67,75,79,79,39]},{"a":46864,"t":"byte","b":[83,32,78,69,83,84,32,32]},{"a":46872,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":46880,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":46888,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":46896,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":46904,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":46912,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":46920,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":46928,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":46936,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":46944,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":46952,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":46960,"t":"byte","b":[0,0,0,0,240,0,0,0]},{"a":46968,"t":"byte","b":[0,0,0,1,84,0,0,0]},{"a":46976,"t":"byte","b":[0,0,0,5,84,0,0,0]},{"a":46984,"t":"byte","b":[170,170,170,169,84,0,0,0]},{"a":46992,"t":"byte","b":[0,0,0,5,80,0,0,0]},{"a":47000,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":47008,"t":"byte","b":[4,3,201,216,48,54,35,1]},{"a":47016,"t":"byte","b":[25,96,14,240,3,60,199,56]},{"a":47024,"t":"byte","b":[194,52,11,68,136,11,48,8]},{"a":47032,"t":"byte","b":[255,192,192,192,192,192,192,192]},{"a":47040,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":47048,"t":"byte","b":[32,24,169,219,126,126,60,90]},{"a":47056,"t":"byte","b":[0,0,0,11,14,130,4,0]},{"a":47064,"t":"byte","b":[5,8,7,0,7,2,8,7]},{"a":47072,"t":"byte","b":[26,2,0,0,0,0,0,0]},{"a":47080,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":47088,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":47096,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":47104,"l":"room_08_inside_the_megatrunk","c":"Room 8: INSIDE THE MEGATRUNK. One 256-byte room record, copied to $0840 by $2E55. $20-$9F stores 32 by 16 terrain cells as four two-bit cells per byte, most-significant pair first; $A0-$CF holds six eight-byte tile glyphs. Up/down/left/right exits are 12, 3, 9, 7 at $DC-$DF. Guardian start/count and rope flag occupy $E0-$E2. Remaining room fields are decoded by the construction routines.","t":"byte","b":[32,32,32,32,32,32,73,78]},{"a":47112,"t":"byte","b":[83,73,68,69,32,84,72,69]},{"a":47120,"t":"byte","b":[32,77,69,71,65,84,82,85]},{"a":47128,"t":"byte","b":[78,75,32,32,32,32,32,32]},{"a":47136,"t":"byte","b":[0,0,8,0,8,0,0,0]},{"a":47144,"t":"byte","b":[0,0,8,0,8,0,0,0]},{"a":47152,"t":"byte","b":[0,0,8,0,8,0,0,0]},{"a":47160,"t":"byte","b":[0,0,8,1,64,0,0,0]},{"a":47168,"t":"byte","b":[0,0,9,0,0,0,0,0]},{"a":47176,"t":"byte","b":[0,0,0,0,26,170,128,0]},{"a":47184,"t":"byte","b":[0,0,0,5,8,0,0,0]},{"a":47192,"t":"byte","b":[170,170,168,0,8,0,0,0]},{"a":47200,"t":"byte","b":[48,195,9,0,8,0,0,0]},{"a":47208,"t":"byte","b":[48,195,8,0,88,0,0,0]},{"a":47216,"t":"byte","b":[48,195,8,0,8,0,0,0]},{"a":47224,"t":"byte","b":[48,195,8,5,0,0,0,0]},{"a":47232,"t":"byte","b":[48,195,8,0,0,0,0,0]},{"a":47240,"t":"byte","b":[48,195,9,0,10,170,170,170]},{"a":47248,"t":"byte","b":[48,195,8,0,8,0,0,0]},{"a":47256,"t":"byte","b":[48,195,8,0,88,0,0,0]},{"a":47264,"t":"byte","b":[245,250,191,31,38,20,34,16]},{"a":47272,"t":"byte","b":[171,171,173,170,170,174,85,85]},{"a":47280,"t":"byte","b":[110,116,56,30,110,116,56,30]},{"a":47288,"t":"byte","b":[255,85,43,21,11,5,3,1]},{"a":47296,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":47304,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":47312,"t":"byte","b":[0,0,0,5,25,3,5,0]},{"a":47320,"t":"byte","b":[5,8,8,0,12,3,9,7]},{"a":47328,"t":"byte","b":[28,7,0,0,0,0,0,0]},{"a":47336,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":47344,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":47352,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":47360,"l":"room_09_on_a_branch_over_the_drive","c":"Room 9: ON A BRANCH OVER THE DRIVE. One 256-byte room record, copied to $0840 by $2E55. $20-$9F stores 32 by 16 terrain cells as four two-bit cells per byte, most-significant pair first; $A0-$CF holds six eight-byte tile glyphs. Up/down/left/right exits are 9, 4, 10, 8 at $DC-$DF. Guardian start/count and rope flag occupy $E0-$E2. Remaining room fields are decoded by the construction routines.","t":"byte","b":[32,32,32,79,78,32,65,32]},{"a":47368,"t":"byte","b":[66,82,65,78,67,72,32,79]},{"a":47376,"t":"byte","b":[86,69,82,32,84,72,69,32]},{"a":47384,"t":"byte","b":[68,82,73,86,69,32,32,32]},{"a":47392,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":47400,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":47408,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":47416,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":47424,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":47432,"t":"byte","b":[0,0,60,0,0,0,0,0]},{"a":47440,"t":"byte","b":[0,0,253,80,0,0,0,0]},{"a":47448,"t":"byte","b":[0,0,63,192,5,85,85,85]},{"a":47456,"t":"byte","b":[0,0,0,0,15,191,59,192]},{"a":47464,"t":"byte","b":[0,0,0,0,3,240,59,0]},{"a":47472,"t":"byte","b":[0,0,0,0,0,0,15,0]},{"a":47480,"t":"byte","b":[0,0,0,80,0,0,0,0]},{"a":47488,"t":"byte","b":[0,80,0,0,0,0,0,0]},{"a":47496,"t":"byte","b":[0,0,5,0,0,0,0,0]},{"a":47504,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":47512,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":47520,"t":"byte","b":[31,243,225,96,48,44,64,128]},{"a":47528,"t":"byte","b":[9,18,10,31,228,8,8,8]},{"a":47536,"t":"byte","b":[66,41,84,38,135,35,42,4]},{"a":47544,"t":"byte","b":[255,192,192,192,192,192,192,192]},{"a":47552,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":47560,"t":"byte","b":[48,60,79,67,130,134,228,252]},{"a":47568,"t":"byte","b":[0,0,0,7,17,132,2,0]},{"a":47576,"t":"byte","b":[4,2,4,0,9,4,10,8]},{"a":47584,"t":"byte","b":[35,3,0,0,0,0,0,0]},{"a":47592,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":47600,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":47608,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":47616,"l":"room_10_the_front_door","c":"Room 10: THE FRONT DOOR. One 256-byte room record, copied to $0840 by $2E55. $20-$9F stores 32 by 16 terrain cells as four two-bit cells per byte, most-significant pair first; $A0-$CF holds six eight-byte tile glyphs. Up/down/left/right exits are 10, 5, 11, 10 at $DC-$DF. Guardian start/count and rope flag occupy $E0-$E2. Remaining room fields are decoded by the construction routines.","t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":47624,"t":"byte","b":[32,84,72,69,32,70,82,79]},{"a":47632,"t":"byte","b":[78,84,32,68,79,79,82,32]},{"a":47640,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":47648,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":47656,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":47664,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":47672,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":47680,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":47688,"t":"byte","b":[170,170,170,0,0,0,0,0]},{"a":47696,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":47704,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":47712,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":47720,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":47728,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":47736,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":47744,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":47752,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":47760,"t":"byte","b":[64,0,0,0,0,0,0,0]},{"a":47768,"t":"byte","b":[160,0,0,0,0,0,0,0]},{"a":47776,"t":"byte","b":[255,170,19,170,119,170,85,170]},{"a":47784,"t":"byte","b":[32,16,14,193,48,9,198,32]},{"a":47792,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":47800,"t":"byte","b":[255,85,43,21,11,5,3,1]},{"a":47808,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":47816,"t":"byte","b":[12,28,28,30,27,63,120,255]},{"a":47824,"t":"byte","b":[0,0,0,14,1,2,2,3]},{"a":47832,"t":"byte","b":[1,2,0,0,10,5,11,10]},{"a":47840,"t":"byte","b":[38,0,0,0,0,0,0,0]},{"a":47848,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":47856,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":47864,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":47872,"l":"room_11_the_hall","c":"Room 11: THE HALL. One 256-byte room record, copied to $0840 by $2E55. $20-$9F stores 32 by 16 terrain cells as four two-bit cells per byte, most-significant pair first; $A0-$CF holds six eight-byte tile glyphs. Up/down/left/right exits are 11, 11, 20, 10 at $DC-$DF. Guardian start/count and rope flag occupy $E0-$E2. Remaining room fields are decoded by the construction routines.","t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":47880,"t":"byte","b":[32,32,32,32,84,72,69,32]},{"a":47888,"t":"byte","b":[72,65,76,76,32,32,32,32]},{"a":47896,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":47904,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":47912,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":47920,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":47928,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":47936,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":47944,"t":"byte","b":[170,170,170,170,170,170,170,170]},{"a":47952,"t":"byte","b":[0,0,0,0,0,40,0,0]},{"a":47960,"t":"byte","b":[0,0,0,0,0,40,0,0]},{"a":47968,"t":"byte","b":[0,0,0,0,0,40,0,0]},{"a":47976,"t":"byte","b":[0,0,0,0,0,40,0,0]},{"a":47984,"t":"byte","b":[0,0,0,0,0,40,0,0]},{"a":47992,"t":"byte","b":[0,0,0,0,0,40,0,0]},{"a":48000,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":48008,"t":"byte","b":[0,0,192,192,48,0,0,0]},{"a":48016,"t":"byte","b":[170,170,170,170,170,170,170,170]},{"a":48024,"t":"byte","b":[170,170,170,170,170,170,170,170]},{"a":48032,"t":"byte","b":[255,170,119,170,119,170,85,170]},{"a":48040,"t":"byte","b":[32,16,14,193,48,9,198,32]},{"a":48048,"t":"byte","b":[136,169,169,187,191,191,191,94]},{"a":48056,"t":"byte","b":[255,3,3,3,3,3,3,3]},{"a":48064,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":48072,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":48080,"t":"byte","b":[0,0,0,8,0,6,5,0]},{"a":48088,"t":"byte","b":[0,7,7,0,11,11,20,10]},{"a":48096,"t":"byte","b":[38,3,0,0,0,0,0,0]},{"a":48104,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":48112,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":48120,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":48128,"l":"room_12_tree_top","c":"Room 12: TREE TOP. One 256-byte room record, copied to $0840 by $2E55. $20-$9F stores 32 by 16 terrain cells as four two-bit cells per byte, most-significant pair first; $A0-$CF holds six eight-byte tile glyphs. Up/down/left/right exits are 12, 8, 13, 12 at $DC-$DF. Guardian start/count and rope flag occupy $E0-$E2. Remaining room fields are decoded by the construction routines.","t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":48136,"t":"byte","b":[32,32,32,32,84,82,69,69]},{"a":48144,"t":"byte","b":[32,84,79,80,32,32,32,32]},{"a":48152,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":48160,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":48168,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":48176,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":48184,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":48192,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":48200,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":48208,"t":"byte","b":[0,0,0,0,64,0,0,0]},{"a":48216,"t":"byte","b":[0,0,84,0,0,0,0,0]},{"a":48224,"t":"byte","b":[0,0,0,20,0,4,0,0]},{"a":48232,"t":"byte","b":[1,80,0,0,20,0,0,0]},{"a":48240,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":48248,"t":"byte","b":[0,0,0,0,0,20,0,0]},{"a":48256,"t":"byte","b":[85,85,84,0,8,0,0,0]},{"a":48264,"t":"byte","b":[12,243,200,16,8,0,80,0]},{"a":48272,"t":"byte","b":[207,63,8,0,8,80,0,0]},{"a":48280,"t":"byte","b":[48,48,8,0,88,0,0,0]},{"a":48288,"t":"byte","b":[170,85,170,88,48,16,16,8]},{"a":48296,"t":"byte","b":[165,40,82,85,85,73,162,181]},{"a":48304,"t":"byte","b":[137,74,18,52,24,52,82,145]},{"a":48312,"t":"byte","b":[255,3,3,3,3,3,3,3]},{"a":48320,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":48328,"t":"byte","b":[30,45,55,123,109,94,184,192]},{"a":48336,"t":"byte","b":[0,0,0,13,14,2,7,0]},{"a":48344,"t":"byte","b":[5,8,9,0,12,8,13,12]},{"a":48352,"t":"byte","b":[41,3,0,0,0,0,0,0]},{"a":48360,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":48368,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":48376,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":48384,"l":"room_13_out_on_a_limb","c":"Room 13: OUT ON A LIMB. One 256-byte room record, copied to $0840 by $2E55. $20-$9F stores 32 by 16 terrain cells as four two-bit cells per byte, most-significant pair first; $A0-$CF holds six eight-byte tile glyphs. Up/down/left/right exits are 13, 9, 10, 12 at $DC-$DF. Guardian start/count and rope flag occupy $E0-$E2. Remaining room fields are decoded by the construction routines.","t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":48392,"t":"byte","b":[79,85,84,32,79,78,32,65]},{"a":48400,"t":"byte","b":[32,76,73,77,66,32,32,32]},{"a":48408,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":48416,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":48424,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":48432,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":48440,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":48448,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":48456,"t":"byte","b":[0,0,0,4,0,0,0,0]},{"a":48464,"t":"byte","b":[0,16,0,0,4,1,0,0]},{"a":48472,"t":"byte","b":[0,0,4,0,0,0,0,0]},{"a":48480,"t":"byte","b":[0,0,0,0,0,0,16,0]},{"a":48488,"t":"byte","b":[0,0,0,1,0,64,0,0]},{"a":48496,"t":"byte","b":[4,0,0,4,64,0,0,0]},{"a":48504,"t":"byte","b":[0,4,0,1,16,0,0,0]},{"a":48512,"t":"byte","b":[0,0,1,0,74,170,170,170]},{"a":48520,"t":"byte","b":[1,0,0,0,0,127,255,0]},{"a":48528,"t":"byte","b":[0,0,64,0,64,31,252,0]},{"a":48536,"t":"byte","b":[0,0,0,64,0,1,80,0]},{"a":48544,"t":"byte","b":[1,30,6,122,26,232,104,160]},{"a":48552,"t":"byte","b":[7,255,252,56,24,16,32,0]},{"a":48560,"t":"byte","b":[1,129,6,88,32,64,136,130]},{"a":48568,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":48576,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":48584,"t":"byte","b":[96,184,190,93,90,53,42,21]},{"a":48592,"t":"byte","b":[0,0,0,255,255,128,3,0]},{"a":48600,"t":"byte","b":[5,2,9,0,13,9,10,12]},{"a":48608,"t":"byte","b":[44,3,0,0,0,0,0,0]},{"a":48616,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":48624,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":48632,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":48640,"l":"room_14_rescue_esmerelda","c":"Room 14: RESCUE ESMERELDA. One 256-byte room record, copied to $0840 by $2E55. $20-$9F stores 32 by 16 terrain cells as four two-bit cells per byte, most-significant pair first; $A0-$CF holds six eight-byte tile glyphs. Up/down/left/right exits are 20, 39, 15, 44 at $DC-$DF. Guardian start/count and rope flag occupy $E0-$E2. Remaining room fields are decoded by the construction routines.","t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":48648,"t":"byte","b":[82,69,83,67,85,69,32,69]},{"a":48656,"t":"byte","b":[83,77,69,82,69,76,68,65]},{"a":48664,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":48672,"t":"byte","b":[0,0,0,0,0,0,8,2]},{"a":48680,"t":"byte","b":[0,0,0,0,0,0,8,2]},{"a":48688,"t":"byte","b":[0,0,0,0,0,0,0,2]},{"a":48696,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":48704,"t":"byte","b":[0,0,0,0,0,0,170,0]},{"a":48712,"t":"byte","b":[0,0,0,0,0,0,8,6]},{"a":48720,"t":"byte","b":[0,0,0,0,0,0,0,18]},{"a":48728,"t":"byte","b":[0,0,0,0,0,0,0,66]},{"a":48736,"t":"byte","b":[0,0,0,0,0,0,1,2]},{"a":48744,"t":"byte","b":[170,6,170,6,170,10,170,18]},{"a":48752,"t":"byte","b":[170,14,170,14,170,0,0,18]},{"a":48760,"t":"byte","b":[170,14,170,14,170,0,0,18]},{"a":48768,"t":"byte","b":[170,14,170,14,170,128,0,18]},{"a":48776,"t":"byte","b":[170,14,170,14,170,160,0,64]},{"a":48784,"t":"byte","b":[170,14,170,14,170,168,1,0]},{"a":48792,"t":"byte","b":[170,170,170,170,170,170,4,10]},{"a":48800,"t":"byte","b":[255,128,129,130,132,136,144,160]},{"a":48808,"t":"byte","b":[238,0,187,0,238,0,187,0]},{"a":48816,"t":"byte","b":[209,226,196,200,209,226,196,200]},{"a":48824,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":48832,"t":"byte","b":[31,170,143,170,0,238,0,187]},{"a":48840,"t":"byte","b":[25,73,73,73,73,73,73,255]},{"a":48848,"t":"byte","b":[4,4,24,255,255,128,6,2]},{"a":48856,"t":"byte","b":[1,5,1,7,20,39,15,44]},{"a":48864,"t":"byte","b":[47,4,0,0,0,0,0,0]},{"a":48872,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":48880,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":48888,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":48896,"l":"room_15_i_m_sure_i_ve_seen_this_before","c":"Room 15: I'M SURE I'VE SEEN THIS BEFORE... One 256-byte room record, copied to $0840 by $2E55. $20-$9F stores 32 by 16 terrain cells as four two-bit cells per byte, most-significant pair first; $A0-$CF holds six eight-byte tile glyphs. Up/down/left/right exits are 15, 15, 16, 14 at $DC-$DF. Guardian start/count and rope flag occupy $E0-$E2. Remaining room fields are decoded by the construction routines.","t":"byte","b":[73,39,77,32,83,85,82,69]},{"a":48904,"t":"byte","b":[32,73,39,86,69,32,83,69]},{"a":48912,"t":"byte","b":[69,78,32,84,72,73,83,32]},{"a":48920,"t":"byte","b":[66,69,70,79,82,69,46,46]},{"a":48928,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":48936,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":48944,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":48952,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":48960,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":48968,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":48976,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":48984,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":48992,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":49000,"t":"byte","b":[170,66,164,42,164,42,66,170]},{"a":49008,"t":"byte","b":[170,194,172,42,172,42,194,170]},{"a":49016,"t":"byte","b":[170,194,172,42,172,42,194,170]},{"a":49024,"t":"byte","b":[170,194,172,42,172,42,194,170]},{"a":49032,"t":"byte","b":[170,194,172,42,172,42,194,170]},{"a":49040,"t":"byte","b":[170,194,172,42,172,42,194,170]},{"a":49048,"t":"byte","b":[170,170,170,170,170,170,170,170]},{"a":49056,"t":"byte","b":[128,64,32,80,72,84,82,85]},{"a":49064,"t":"byte","b":[102,102,102,0,102,102,102,102]},{"a":49072,"t":"byte","b":[81,85,84,85,21,85,69,85]},{"a":49080,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":49088,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":49096,"t":"byte","b":[24,36,24,44,94,94,231,102]},{"a":49104,"t":"byte","b":[0,0,0,0,0,0,4,6]},{"a":49112,"t":"byte","b":[1,8,1,0,15,15,16,14]},{"a":49120,"t":"byte","b":[51,5,0,0,0,0,0,0]},{"a":49128,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":49136,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":49144,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":49152,"l":"room_16_we_must_perform_a_quirkafleeg","c":"Room 16: WE MUST PERFORM A QUIRKAFLEEG. One 256-byte room record, copied to $0840 by $2E55. $20-$9F stores 32 by 16 terrain cells as four two-bit cells per byte, most-significant pair first; $A0-$CF holds six eight-byte tile glyphs. Up/down/left/right exits are 49, 16, 17, 15 at $DC-$DF. Guardian start/count and rope flag occupy $E0-$E2. Remaining room fields are decoded by the construction routines.","t":"byte","b":[32,32,87,69,32,77,85,83]},{"a":49160,"t":"byte","b":[84,32,80,69,82,70,79,82]},{"a":49168,"t":"byte","b":[77,32,65,32,81,85,73,82]},{"a":49176,"t":"byte","b":[75,65,70,76,69,69,71,32]},{"a":49184,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":49192,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":49200,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":49208,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":49216,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":49224,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":49232,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":49240,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":49248,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":49256,"t":"byte","b":[170,0,0,0,0,0,2,170]},{"a":49264,"t":"byte","b":[170,64,0,0,0,0,2,170]},{"a":49272,"t":"byte","b":[170,64,0,0,0,0,2,170]},{"a":49280,"t":"byte","b":[170,64,0,0,0,0,2,170]},{"a":49288,"t":"byte","b":[170,64,0,0,0,0,2,170]},{"a":49296,"t":"byte","b":[170,64,0,0,0,0,2,170]},{"a":49304,"t":"byte","b":[170,127,255,255,255,255,254,170]},{"a":49312,"t":"byte","b":[51,187,221,204,85,153,221,238]},{"a":49320,"t":"byte","b":[39,246,0,220,209,4,119,128]},{"a":49328,"t":"byte","b":[64,228,78,68,68,68,238,255]},{"a":49336,"t":"byte","b":[128,64,32,48,168,100,34,17]},{"a":49344,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":49352,"t":"byte","b":[24,36,24,44,94,94,231,102]},{"a":49360,"t":"byte","b":[0,0,0,9,4,1,2,0]},{"a":49368,"t":"byte","b":[1,6,1,0,49,16,17,15]},{"a":49376,"t":"byte","b":[56,1,255,0,0,0,0,0]},{"a":49384,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":49392,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":49400,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":49408,"l":"room_17_up_on_the_battlements","c":"Room 17: UP ON THE BATTLEMENTS. One 256-byte room record, copied to $0840 by $2E55. $20-$9F stores 32 by 16 terrain cells as four two-bit cells per byte, most-significant pair first; $A0-$CF holds six eight-byte tile glyphs. Up/down/left/right exits are 17, 17, 18, 16 at $DC-$DF. Guardian start/count and rope flag occupy $E0-$E2. Remaining room fields are decoded by the construction routines.","t":"byte","b":[32,32,32,32,32,32,85,80]},{"a":49416,"t":"byte","b":[32,79,78,32,84,72,69,32]},{"a":49424,"t":"byte","b":[66,65,84,84,76,69,77,69]},{"a":49432,"t":"byte","b":[78,84,83,32,32,32,32,32]},{"a":49440,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":49448,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":49456,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":49464,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":49472,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":49480,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":49488,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":49496,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":49504,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":49512,"t":"byte","b":[170,66,164,42,164,42,66,170]},{"a":49520,"t":"byte","b":[170,194,172,42,172,42,194,170]},{"a":49528,"t":"byte","b":[170,194,172,42,172,42,194,170]},{"a":49536,"t":"byte","b":[170,194,172,42,172,42,194,170]},{"a":49544,"t":"byte","b":[170,194,172,42,172,42,194,170]},{"a":49552,"t":"byte","b":[170,194,172,42,172,42,194,170]},{"a":49560,"t":"byte","b":[170,170,170,170,170,170,170,170]},{"a":49568,"t":"byte","b":[128,192,224,176,144,148,214,119]},{"a":49576,"t":"byte","b":[0,127,127,99,107,99,127,127]},{"a":49584,"t":"byte","b":[74,42,26,72,108,106,41,136]},{"a":49592,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":49600,"t":"byte","b":[130,170,160,0,85,85,85,255]},{"a":49608,"t":"byte","b":[24,36,24,44,94,94,231,102]},{"a":49616,"t":"byte","b":[133,9,13,0,0,0,5,6]},{"a":49624,"t":"byte","b":[5,7,5,2,17,17,18,16]},{"a":49632,"t":"byte","b":[57,4,0,0,0,0,0,0]},{"a":49640,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":49648,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":49656,"t":"byte","b":[0,0,0,0,0,0,8,0]},{"a":49664,"l":"room_18_on_the_roof","c":"Room 18: ON THE ROOF. One 256-byte room record, copied to $0840 by $2E55. $20-$9F stores 32 by 16 terrain cells as four two-bit cells per byte, most-significant pair first; $A0-$CF holds six eight-byte tile glyphs. Up/down/left/right exits are 18, 18, 47, 17 at $DC-$DF. Guardian start/count and rope flag occupy $E0-$E2. Remaining room fields are decoded by the construction routines.","t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":49672,"t":"byte","b":[32,32,79,78,32,84,72,69]},{"a":49680,"t":"byte","b":[32,82,79,79,70,32,32,32]},{"a":49688,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":49696,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":49704,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":49712,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":49720,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":49728,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":49736,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":49744,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":49752,"t":"byte","b":[0,0,0,0,0,0,10,64]},{"a":49760,"t":"byte","b":[0,0,0,0,0,0,10,208]},{"a":49768,"t":"byte","b":[170,64,0,0,0,0,10,170]},{"a":49776,"t":"byte","b":[170,192,0,0,0,0,10,170]},{"a":49784,"t":"byte","b":[170,192,0,0,0,0,10,170]},{"a":49792,"t":"byte","b":[170,144,0,0,0,0,10,170]},{"a":49800,"t":"byte","b":[170,176,0,0,0,0,10,170]},{"a":49808,"t":"byte","b":[170,176,10,64,0,0,10,170]},{"a":49816,"t":"byte","b":[170,170,170,170,170,170,170,170]},{"a":49824,"t":"byte","b":[128,192,224,208,88,156,222,205]},{"a":49832,"t":"byte","b":[17,248,7,8,240,15,208,63]},{"a":49840,"t":"byte","b":[85,153,221,204,85,153,221,204]},{"a":49848,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":49856,"t":"byte","b":[15,240,15,255,255,0,0,255]},{"a":49864,"t":"byte","b":[1,2,5,10,84,40,48,72]},{"a":49872,"t":"byte","b":[8,15,14,255,1,0,2,0]},{"a":49880,"t":"byte","b":[7,13,7,2,18,18,47,17]},{"a":49888,"t":"byte","b":[61,1,255,255,0,0,0,0]},{"a":49896,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":49904,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":49912,"t":"byte","b":[0,0,0,0,0,0,8,0]},{"a":49920,"l":"room_19_the_forgotten_abbey","c":"Room 19: THE FORGOTTEN ABBEY. One 256-byte room record, copied to $0840 by $2E55. $20-$9F stores 32 by 16 terrain cells as four two-bit cells per byte, most-significant pair first; $A0-$CF holds six eight-byte tile glyphs. Up/down/left/right exits are 19, 19, 48, 5 at $DC-$DF. Guardian start/count and rope flag occupy $E0-$E2. Remaining room fields are decoded by the construction routines.","t":"byte","b":[32,32,32,32,32,84,72,69]},{"a":49928,"t":"byte","b":[32,70,79,82,71,79,84,84]},{"a":49936,"t":"byte","b":[69,78,32,65,66,66,69,89]},{"a":49944,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":49952,"t":"byte","b":[170,170,170,170,170,170,170,170]},{"a":49960,"t":"byte","b":[170,170,170,170,170,170,170,170]},{"a":49968,"t":"byte","b":[160,0,48,0,192,0,192,10]},{"a":49976,"t":"byte","b":[160,0,0,0,0,0,0,10]},{"a":49984,"t":"byte","b":[160,0,0,0,0,0,0,10]},{"a":49992,"t":"byte","b":[168,0,0,0,0,0,0,10]},{"a":50000,"t":"byte","b":[160,0,0,0,0,0,0,10]},{"a":50008,"t":"byte","b":[160,0,0,0,0,0,0,10]},{"a":50016,"t":"byte","b":[160,0,0,0,48,0,0,10]},{"a":50024,"t":"byte","b":[160,0,0,0,0,0,0,26]},{"a":50032,"t":"byte","b":[165,0,0,0,0,0,0,10]},{"a":50040,"t":"byte","b":[80,5,85,85,85,85,85,90]},{"a":50048,"t":"byte","b":[80,0,0,0,0,0,0,10]},{"a":50056,"t":"byte","b":[168,0,0,0,0,0,0,0]},{"a":50064,"t":"byte","b":[170,0,0,0,0,0,0,0]},{"a":50072,"t":"byte","b":[170,170,170,170,170,170,170,170]},{"a":50080,"t":"byte","b":[255,255,242,36,64,2,0,136]},{"a":50088,"t":"byte","b":[68,170,17,68,17,170,68,17]},{"a":50096,"t":"byte","b":[24,60,126,153,153,126,66,60]},{"a":50104,"t":"byte","b":[128,64,224,48,168,212,34,137]},{"a":50112,"t":"byte","b":[7,85,0,187,170,170,170,170]},{"a":50120,"t":"byte","b":[24,36,219,219,36,24,24,24]},{"a":50128,"t":"byte","b":[154,7,4,0,0,0,6,0]},{"a":50136,"t":"byte","b":[14,4,2,3,19,19,48,5]},{"a":50144,"t":"byte","b":[62,7,0,0,0,0,0,0]},{"a":50152,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":50160,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":50168,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":50176,"l":"room_20_ballroom_east","c":"Room 20: BALLROOM EAST. One 256-byte room record, copied to $0840 by $2E55. $20-$9F stores 32 by 16 terrain cells as four two-bit cells per byte, most-significant pair first; $A0-$CF holds six eight-byte tile glyphs. Up/down/left/right exits are 26, 20, 21, 11 at $DC-$DF. Guardian start/count and rope flag occupy $E0-$E2. Remaining room fields are decoded by the construction routines.","t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":50184,"t":"byte","b":[32,66,65,76,76,82,79,79]},{"a":50192,"t":"byte","b":[77,32,69,65,83,84,32,32]},{"a":50200,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":50208,"t":"byte","b":[160,64,10,0,0,0,0,0]},{"a":50216,"t":"byte","b":[160,64,10,0,0,0,0,0]},{"a":50224,"t":"byte","b":[160,64,10,0,0,0,0,0]},{"a":50232,"t":"byte","b":[0,64,0,0,0,0,0,0]},{"a":50240,"t":"byte","b":[0,64,0,0,0,0,0,0]},{"a":50248,"t":"byte","b":[85,85,90,10,170,170,170,170]},{"a":50256,"t":"byte","b":[0,0,16,0,0,0,0,0]},{"a":50264,"t":"byte","b":[0,0,16,0,0,0,0,0]},{"a":50272,"t":"byte","b":[0,0,21,85,85,85,85,85]},{"a":50280,"t":"byte","b":[0,0,16,0,0,0,0,0]},{"a":50288,"t":"byte","b":[0,0,16,0,0,0,0,0]},{"a":50296,"t":"byte","b":[0,0,16,0,0,0,0,0]},{"a":50304,"t":"byte","b":[0,0,16,0,0,0,0,0]},{"a":50312,"t":"byte","b":[0,0,16,0,0,0,0,0]},{"a":50320,"t":"byte","b":[170,170,170,170,170,170,170,170]},{"a":50328,"t":"byte","b":[170,170,170,170,170,170,170,170]},{"a":50336,"t":"byte","b":[170,85,34,68,34,68,34,68]},{"a":50344,"t":"byte","b":[68,68,255,17,17,255,85,170]},{"a":50352,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":50360,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":50368,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":50376,"t":"byte","b":[129,129,66,36,24,24,24,231]},{"a":50384,"t":"byte","b":[0,0,0,0,0,0,2,0]},{"a":50392,"t":"byte","b":[10,5,6,3,26,20,21,11]},{"a":50400,"t":"byte","b":[69,5,0,0,0,0,0,0]},{"a":50408,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":50416,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":50424,"t":"byte","b":[0,0,0,0,0,0,8,0]},{"a":50432,"l":"room_21_ballroom_west","c":"Room 21: BALLROOM WEST. One 256-byte room record, copied to $0840 by $2E55. $20-$9F stores 32 by 16 terrain cells as four two-bit cells per byte, most-significant pair first; $A0-$CF holds six eight-byte tile glyphs. Up/down/left/right exits are 21, 21, 22, 20 at $DC-$DF. Guardian start/count and rope flag occupy $E0-$E2. Remaining room fields are decoded by the construction routines.","t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":50440,"t":"byte","b":[32,66,65,76,76,82,79,79]},{"a":50448,"t":"byte","b":[77,32,87,69,83,84,32,32]},{"a":50456,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":50464,"t":"byte","b":[0,0,0,0,0,0,0,10]},{"a":50472,"t":"byte","b":[0,0,0,0,0,0,0,10]},{"a":50480,"t":"byte","b":[0,0,0,0,0,0,0,10]},{"a":50488,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":50496,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":50504,"t":"byte","b":[85,85,85,85,85,85,85,85]},{"a":50512,"t":"byte","b":[0,0,160,0,0,0,0,0]},{"a":50520,"t":"byte","b":[0,0,160,0,0,0,0,0]},{"a":50528,"t":"byte","b":[0,0,160,0,0,0,85,85]},{"a":50536,"t":"byte","b":[0,0,160,0,0,0,0,0]},{"a":50544,"t":"byte","b":[0,0,160,0,0,0,0,0]},{"a":50552,"t":"byte","b":[0,0,160,0,0,0,0,0]},{"a":50560,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":50568,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":50576,"t":"byte","b":[85,85,85,85,85,85,85,85]},{"a":50584,"t":"byte","b":[170,170,170,170,170,170,170,170]},{"a":50592,"t":"byte","b":[170,168,173,175,32,170,85,85]},{"a":50600,"t":"byte","b":[17,34,136,17,68,136,34,68]},{"a":50608,"t":"byte","b":[40,84,170,84,168,84,20,46]},{"a":50616,"t":"byte","b":[255,1,1,1,1,1,1,1]},{"a":50624,"t":"byte","b":[255,255,255,170,85,24,24,24]},{"a":50632,"t":"byte","b":[4,4,174,174,162,66,66,238]},{"a":50640,"t":"byte","b":[12,13,16,10,0,4,6,0]},{"a":50648,"t":"byte","b":[8,5,6,8,21,21,22,20]},{"a":50656,"t":"byte","b":[74,3,0,0,0,0,0,0]},{"a":50664,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":50672,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":50680,"t":"byte","b":[0,0,0,0,0,0,8,0]},{"a":50688,"l":"room_22_to_the_kitchens_main_stairway","c":"Room 22: TO THE KITCHENS    MAIN STAIRWAY. One 256-byte room record, copied to $0840 by $2E55. $20-$9F stores 32 by 16 terrain cells as four two-bit cells per byte, most-significant pair first; $A0-$CF holds six eight-byte tile glyphs. Up/down/left/right exits are 28, 22, 23, 21 at $DC-$DF. Guardian start/count and rope flag occupy $E0-$E2. Remaining room fields are decoded by the construction routines.","t":"byte","b":[84,79,32,84,72,69,32,75]},{"a":50696,"t":"byte","b":[73,84,67,72,69,78,83,32]},{"a":50704,"t":"byte","b":[32,32,32,77,65,73,78,32]},{"a":50712,"t":"byte","b":[83,84,65,73,82,87,65,89]},{"a":50720,"t":"byte","b":[0,0,128,0,0,0,0,0]},{"a":50728,"t":"byte","b":[0,0,128,0,0,0,0,0]},{"a":50736,"t":"byte","b":[0,0,128,0,0,0,0,0]},{"a":50744,"t":"byte","b":[0,0,0,0,0,0,3,0]},{"a":50752,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":50760,"t":"byte","b":[0,1,149,85,85,80,0,85]},{"a":50768,"t":"byte","b":[0,0,128,0,0,0,0,0]},{"a":50776,"t":"byte","b":[0,0,128,0,0,0,0,0]},{"a":50784,"t":"byte","b":[165,85,133,0,0,0,0,0]},{"a":50792,"t":"byte","b":[160,0,128,0,0,0,85,64]},{"a":50800,"t":"byte","b":[160,0,128,0,1,64,0,0]},{"a":50808,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":50816,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":50824,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":50832,"t":"byte","b":[170,170,170,170,170,170,170,170]},{"a":50840,"t":"byte","b":[170,170,170,170,170,170,170,170]},{"a":50848,"t":"byte","b":[255,255,0,255,0,0,0,0]},{"a":50856,"t":"byte","b":[0,21,191,21,0,81,251,81]},{"a":50864,"t":"byte","b":[24,90,189,25,126,153,36,36]},{"a":50872,"t":"byte","b":[255,3,3,3,3,3,3,3]},{"a":50880,"t":"byte","b":[15,170,135,255,170,85,170,85]},{"a":50888,"t":"byte","b":[64,160,240,248,252,122,37,2]},{"a":50896,"t":"byte","b":[130,8,14,0,20,12,5,6]},{"a":50904,"t":"byte","b":[3,14,0,0,28,22,23,21]},{"a":50912,"t":"byte","b":[77,6,0,0,0,0,0,0]},{"a":50920,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":50928,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":50936,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":50944,"l":"room_23_the_kitchen","c":"Room 23: THE KITCHEN. One 256-byte room record, copied to $0840 by $2E55. $20-$9F stores 32 by 16 terrain cells as four two-bit cells per byte, most-significant pair first; $A0-$CF holds six eight-byte tile glyphs. Up/down/left/right exits are 23, 23, 24, 22 at $DC-$DF. Guardian start/count and rope flag occupy $E0-$E2. Remaining room fields are decoded by the construction routines.","t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":50952,"t":"byte","b":[32,32,84,72,69,32,75,73]},{"a":50960,"t":"byte","b":[84,67,72,69,78,32,32,32]},{"a":50968,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":50976,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":50984,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":50992,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":51000,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":51008,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":51016,"t":"byte","b":[84,21,65,80,0,0,0,0]},{"a":51024,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":51032,"t":"byte","b":[0,0,0,0,4,0,0,0]},{"a":51040,"t":"byte","b":[84,21,64,0,0,0,0,42]},{"a":51048,"t":"byte","b":[0,0,1,80,0,0,0,170]},{"a":51056,"t":"byte","b":[0,0,0,0,0,0,2,170]},{"a":51064,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":51072,"t":"byte","b":[84,21,65,80,0,0,0,0]},{"a":51080,"t":"byte","b":[0,0,0,0,21,0,0,0]},{"a":51088,"t":"byte","b":[0,0,0,0,0,2,170,170]},{"a":51096,"t":"byte","b":[170,170,170,170,170,170,170,170]},{"a":51104,"t":"byte","b":[254,1,125,133,129,129,129,1]},{"a":51112,"t":"byte","b":[66,165,90,36,36,90,165,66]},{"a":51120,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":51128,"t":"byte","b":[255,192,192,192,192,192,192,192]},{"a":51136,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":51144,"t":"byte","b":[32,64,160,24,22,9,8,4]},{"a":51152,"t":"byte","b":[0,0,0,8,28,135,5,0]},{"a":51160,"t":"byte","b":[5,6,6,0,23,23,24,22]},{"a":51168,"t":"byte","b":[83,4,0,0,0,0,0,0]},{"a":51176,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":51184,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":51192,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":51200,"l":"room_24_west_of_kitchen","c":"Room 24: WEST OF KITCHEN. One 256-byte room record, copied to $0840 by $2E55. $20-$9F stores 32 by 16 terrain cells as four two-bit cells per byte, most-significant pair first; $A0-$CF holds six eight-byte tile glyphs. Up/down/left/right exits are 30, 24, 25, 23 at $DC-$DF. Guardian start/count and rope flag occupy $E0-$E2. Remaining room fields are decoded by the construction routines.","t":"byte","b":[32,32,32,32,87,69,83,84]},{"a":51208,"t":"byte","b":[32,79,70,32,75,73,84,67]},{"a":51216,"t":"byte","b":[72,69,78,32,32,32,32,32]},{"a":51224,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":51232,"t":"byte","b":[0,0,1,0,0,0,0,0]},{"a":51240,"t":"byte","b":[0,0,1,0,0,0,0,0]},{"a":51248,"t":"byte","b":[0,0,1,0,0,0,0,0]},{"a":51256,"t":"byte","b":[0,0,1,0,0,0,0,0]},{"a":51264,"t":"byte","b":[0,0,1,0,0,0,0,0]},{"a":51272,"t":"byte","b":[0,0,1,0,16,5,84,21]},{"a":51280,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":51288,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":51296,"t":"byte","b":[160,0,0,0,0,4,0,21]},{"a":51304,"t":"byte","b":[168,0,0,0,21,0,80,0]},{"a":51312,"t":"byte","b":[170,0,0,80,0,0,0,0]},{"a":51320,"t":"byte","b":[170,128,0,0,0,0,0,0]},{"a":51328,"t":"byte","b":[170,160,0,0,21,5,84,21]},{"a":51336,"t":"byte","b":[170,168,0,0,0,0,0,0]},{"a":51344,"t":"byte","b":[170,170,0,0,0,0,0,0]},{"a":51352,"t":"byte","b":[170,170,170,170,170,170,170,170]},{"a":51360,"t":"byte","b":[255,189,165,165,165,66,0,0]},{"a":51368,"t":"byte","b":[9,66,144,36,9,66,144,36]},{"a":51376,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":51384,"t":"byte","b":[255,85,171,53,27,69,147,35]},{"a":51392,"t":"byte","b":[15,85,170,85,85,170,42,8]},{"a":51400,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":51408,"t":"byte","b":[133,12,22,8,2,7,6,0]},{"a":51416,"t":"byte","b":[5,5,14,2,30,24,25,23]},{"a":51424,"t":"byte","b":[87,4,0,0,0,0,0,0]},{"a":51432,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":51440,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":51448,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":51456,"l":"room_25_cold_store","c":"Room 25: COLD STORE. One 256-byte room record, copied to $0840 by $2E55. $20-$9F stores 32 by 16 terrain cells as four two-bit cells per byte, most-significant pair first; $A0-$CF holds six eight-byte tile glyphs. Up/down/left/right exits are 31, 25, 51, 24 at $DC-$DF. Guardian start/count and rope flag occupy $E0-$E2. Remaining room fields are decoded by the construction routines.","t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":51464,"t":"byte","b":[32,32,32,67,79,76,68,32]},{"a":51472,"t":"byte","b":[83,84,79,82,69,32,32,32]},{"a":51480,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":51488,"t":"byte","b":[0,3,0,0,0,0,0,0]},{"a":51496,"t":"byte","b":[0,0,0,48,0,0,192,0]},{"a":51504,"t":"byte","b":[84,0,0,0,0,0,0,0]},{"a":51512,"t":"byte","b":[0,0,0,0,0,192,3,0]},{"a":51520,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":51528,"t":"byte","b":[85,85,0,0,0,0,0,0]},{"a":51536,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":51544,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":51552,"t":"byte","b":[85,80,0,0,0,0,10,170]},{"a":51560,"t":"byte","b":[0,0,0,0,0,0,10,170]},{"a":51568,"t":"byte","b":[0,0,0,0,0,0,10,170]},{"a":51576,"t":"byte","b":[85,80,0,0,0,0,10,170]},{"a":51584,"t":"byte","b":[0,0,48,0,0,0,10,170]},{"a":51592,"t":"byte","b":[0,0,0,0,0,20,10,170]},{"a":51600,"t":"byte","b":[0,0,0,0,0,0,10,170]},{"a":51608,"t":"byte","b":[85,85,85,85,85,85,90,170]},{"a":51616,"t":"byte","b":[255,255,85,170,85,170,0,0]},{"a":51624,"t":"byte","b":[146,82,74,73,41,37,164,146]},{"a":51632,"t":"byte","b":[32,34,20,216,27,40,68,4]},{"a":51640,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":51648,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":51656,"t":"byte","b":[112,140,114,250,239,173,37,33]},{"a":51664,"t":"byte","b":[0,0,0,0,0,0,6,6]},{"a":51672,"t":"byte","b":[3,5,1,0,31,25,51,24]},{"a":51680,"t":"byte","b":[91,4,255,0,0,0,0,0]},{"a":51688,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":51696,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":51704,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":51712,"l":"room_26_east_wall_base","c":"Room 26: EAST WALL BASE. One 256-byte room record, copied to $0840 by $2E55. $20-$9F stores 32 by 16 terrain cells as four two-bit cells per byte, most-significant pair first; $A0-$CF holds six eight-byte tile glyphs. Up/down/left/right exits are 32, 20, 26, 26 at $DC-$DF. Guardian start/count and rope flag occupy $E0-$E2. Remaining room fields are decoded by the construction routines.","t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":51720,"t":"byte","b":[32,69,65,83,84,32,87,65]},{"a":51728,"t":"byte","b":[76,76,32,66,65,83,69,32]},{"a":51736,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":51744,"t":"byte","b":[160,0,10,0,0,0,0,0]},{"a":51752,"t":"byte","b":[160,0,10,0,0,0,0,0]},{"a":51760,"t":"byte","b":[160,0,10,0,0,0,0,0]},{"a":51768,"t":"byte","b":[160,0,10,0,0,0,0,0]},{"a":51776,"t":"byte","b":[160,0,26,0,0,0,0,0]},{"a":51784,"t":"byte","b":[160,4,10,0,0,0,0,0]},{"a":51792,"t":"byte","b":[160,0,10,0,0,0,0,0]},{"a":51800,"t":"byte","b":[164,0,10,0,0,0,0,0]},{"a":51808,"t":"byte","b":[160,4,0,0,0,0,0,0]},{"a":51816,"t":"byte","b":[160,0,0,0,0,0,0,0]},{"a":51824,"t":"byte","b":[160,0,26,0,0,0,0,0]},{"a":51832,"t":"byte","b":[160,16,10,0,0,0,0,0]},{"a":51840,"t":"byte","b":[160,0,10,0,0,0,0,0]},{"a":51848,"t":"byte","b":[160,4,10,0,0,0,0,0]},{"a":51856,"t":"byte","b":[160,0,26,0,0,0,0,0]},{"a":51864,"t":"byte","b":[160,64,10,0,0,0,0,0]},{"a":51872,"t":"byte","b":[91,164,164,85,10,0,0,0]},{"a":51880,"t":"byte","b":[89,37,38,217,41,214,84,150]},{"a":51888,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":51896,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":51904,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":51912,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":51920,"t":"byte","b":[0,0,0,0,0,0,3,0]},{"a":51928,"t":"byte","b":[5,5,0,0,32,20,26,26]},{"a":51936,"t":"byte","b":[95,2,0,0,0,0,0,0]},{"a":51944,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":51952,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":51960,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":51968,"l":"room_27_the_chapel","c":"Room 27: THE CHAPEL. One 256-byte room record, copied to $0840 by $2E55. $20-$9F stores 32 by 16 terrain cells as four two-bit cells per byte, most-significant pair first; $A0-$CF holds six eight-byte tile glyphs. Up/down/left/right exits are 27, 21, 28, 27 at $DC-$DF. Guardian start/count and rope flag occupy $E0-$E2. Remaining room fields are decoded by the construction routines.","t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":51976,"t":"byte","b":[32,32,32,84,72,69,32,67]},{"a":51984,"t":"byte","b":[72,65,80,69,76,32,32,32]},{"a":51992,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":52000,"t":"byte","b":[0,0,0,0,0,0,0,10]},{"a":52008,"t":"byte","b":[0,0,0,0,0,0,0,10]},{"a":52016,"t":"byte","b":[0,0,0,0,0,0,0,10]},{"a":52024,"t":"byte","b":[0,0,0,0,0,0,0,10]},{"a":52032,"t":"byte","b":[0,0,0,0,0,0,0,10]},{"a":52040,"t":"byte","b":[0,0,0,0,0,0,0,10]},{"a":52048,"t":"byte","b":[0,0,0,0,0,0,0,10]},{"a":52056,"t":"byte","b":[0,0,0,0,0,0,128,26]},{"a":52064,"t":"byte","b":[0,0,0,0,0,2,128,26]},{"a":52072,"t":"byte","b":[0,0,0,0,0,10,128,26]},{"a":52080,"t":"byte","b":[0,0,0,0,0,42,128,26]},{"a":52088,"t":"byte","b":[0,0,0,0,0,170,128,26]},{"a":52096,"t":"byte","b":[0,0,0,0,0,0,0,26]},{"a":52104,"t":"byte","b":[0,0,0,0,0,0,0,26]},{"a":52112,"t":"byte","b":[170,170,170,170,170,170,160,170]},{"a":52120,"t":"byte","b":[170,170,170,170,170,170,160,170]},{"a":52128,"t":"byte","b":[73,73,73,73,73,73,73,73]},{"a":52136,"t":"byte","b":[168,37,0,37,168,64,221,64]},{"a":52144,"t":"byte","b":[40,84,170,85,170,40,40,40]},{"a":52152,"t":"byte","b":[255,128,128,128,128,128,128,128]},{"a":52160,"t":"byte","b":[0,10,189,255,0,170,85,170]},{"a":52168,"t":"byte","b":[16,48,56,108,198,198,108,16]},{"a":52176,"t":"byte","b":[0,0,0,7,23,199,2,0]},{"a":52184,"t":"byte","b":[6,8,2,0,27,21,28,27]},{"a":52192,"t":"byte","b":[97,7,0,0,0,0,0,0]},{"a":52200,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":52208,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":52216,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":52224,"l":"room_28_first_landing","c":"Room 28: FIRST LANDING. One 256-byte room record, copied to $0840 by $2E55. $20-$9F stores 32 by 16 terrain cells as four two-bit cells per byte, most-significant pair first; $A0-$CF holds six eight-byte tile glyphs. Up/down/left/right exits are 34, 22, 29, 27 at $DC-$DF. Guardian start/count and rope flag occupy $E0-$E2. Remaining room fields are decoded by the construction routines.","t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":52232,"t":"byte","b":[70,73,82,83,84,32,76,65]},{"a":52240,"t":"byte","b":[78,68,73,78,71,32,32,32]},{"a":52248,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":52256,"t":"byte","b":[160,0,0,0,0,0,160,0]},{"a":52264,"t":"byte","b":[160,0,0,0,0,0,160,0]},{"a":52272,"t":"byte","b":[160,0,0,0,0,0,160,0]},{"a":52280,"t":"byte","b":[160,0,0,0,0,0,160,48]},{"a":52288,"t":"byte","b":[160,0,0,0,0,0,160,252]},{"a":52296,"t":"byte","b":[160,0,0,0,0,0,160,48]},{"a":52304,"t":"byte","b":[160,0,0,0,0,0,160,48]},{"a":52312,"t":"byte","b":[160,0,0,0,0,0,160,48]},{"a":52320,"t":"byte","b":[160,0,0,0,0,0,160,0]},{"a":52328,"t":"byte","b":[160,0,0,0,0,0,160,0]},{"a":52336,"t":"byte","b":[160,0,0,0,0,0,160,0]},{"a":52344,"t":"byte","b":[160,0,0,0,0,0,160,0]},{"a":52352,"t":"byte","b":[160,0,0,0,0,0,0,0]},{"a":52360,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":52368,"t":"byte","b":[0,0,0,0,0,0,153,153]},{"a":52376,"t":"byte","b":[85,85,85,85,85,80,170,170]},{"a":52384,"t":"byte","b":[255,170,85,128,93,148,93,128]},{"a":52392,"t":"byte","b":[34,85,0,85,136,85,0,34]},{"a":52400,"t":"byte","b":[126,129,165,153,153,165,129,126]},{"a":52408,"t":"byte","b":[85,170,84,168,80,160,64,128]},{"a":52416,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":52424,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":52432,"t":"byte","b":[0,0,0,0,23,143,4,0]},{"a":52440,"t":"byte","b":[5,5,6,0,34,22,29,27]},{"a":52448,"t":"byte","b":[104,1,0,0,0,0,0,0]},{"a":52456,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":52464,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":52472,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":52480,"l":"room_29_the_nightmare_room","c":"Room 29: THE NIGHTMARE ROOM. One 256-byte room record, copied to $0840 by $2E55. $20-$9F stores 32 by 16 terrain cells as four two-bit cells per byte, most-significant pair first; $A0-$CF holds six eight-byte tile glyphs. Up/down/left/right exits are 29, 29, 30, 28 at $DC-$DF. Guardian start/count and rope flag occupy $E0-$E2. Remaining room fields are decoded by the construction routines.","t":"byte","b":[32,32,32,32,32,32,32,84]},{"a":52488,"t":"byte","b":[72,69,32,78,73,71,72,84]},{"a":52496,"t":"byte","b":[77,65,82,69,32,82,79,79]},{"a":52504,"t":"byte","b":[77,32,32,32,32,32,32,32]},{"a":52512,"t":"byte","b":[0,0,0,0,0,0,0,10]},{"a":52520,"t":"byte","b":[0,0,0,0,0,0,0,10]},{"a":52528,"t":"byte","b":[0,0,0,0,0,0,0,10]},{"a":52536,"t":"byte","b":[0,0,0,0,0,0,0,10]},{"a":52544,"t":"byte","b":[0,0,0,0,0,0,0,10]},{"a":52552,"t":"byte","b":[0,0,4,0,64,4,0,10]},{"a":52560,"t":"byte","b":[0,0,0,16,0,0,0,10]},{"a":52568,"t":"byte","b":[0,1,0,0,1,0,0,10]},{"a":52576,"t":"byte","b":[0,0,4,0,0,4,0,10]},{"a":52584,"t":"byte","b":[0,0,0,16,0,0,0,10]},{"a":52592,"t":"byte","b":[0,0,0,0,1,0,4,10]},{"a":52600,"t":"byte","b":[0,0,4,0,0,4,0,10]},{"a":52608,"t":"byte","b":[170,168,0,16,0,0,0,10]},{"a":52616,"t":"byte","b":[170,170,0,0,0,0,0,0]},{"a":52624,"t":"byte","b":[170,170,128,0,0,0,0,0]},{"a":52632,"t":"byte","b":[170,170,170,170,170,170,170,170]},{"a":52640,"t":"byte","b":[255,165,82,36,66,34,64,4]},{"a":52648,"t":"byte","b":[0,42,84,0,0,162,69,0]},{"a":52656,"t":"byte","b":[66,153,102,161,159,129,102,90]},{"a":52664,"t":"byte","b":[255,127,31,15,7,3,3,3]},{"a":52672,"t":"byte","b":[255,90,255,255,170,85,170,85]},{"a":52680,"t":"byte","b":[172,174,1,173,173,2,172,88]},{"a":52688,"t":"byte","b":[129,7,27,12,7,3,2,0]},{"a":52696,"t":"byte","b":[5,8,10,5,29,29,30,28]},{"a":52704,"t":"byte","b":[105,7,0,0,0,0,0,0]},{"a":52712,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":52720,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":52728,"t":"byte","b":[0,0,0,0,0,0,8,255]},{"a":52736,"l":"annotation_ce00","c":"Noncanonical physical-RAM tail between the first room bank and the stale mirrored residue.","t":"byte","b":[255,255,160,0,0,0,0,0]},{"a":52744,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":52752,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":52760,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":52768,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":52776,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":52784,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":52792,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":52800,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":52808,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":52816,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":52824,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":52832,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":52840,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":52848,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":52856,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":52864,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":52872,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":52880,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":52888,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":52896,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":52904,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":52912,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":52920,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":52928,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":52936,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":52944,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":52952,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":52960,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":52968,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":52976,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":52984,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":52992,"t":"gap","n":256},{"a":52992,"t":"note","l":"runtime_vector_page","c":"Ordinary RAM page below $D000, visible to the CPU in every $01 configuration and shadowed by neither KERNAL ROM nor the I/O block. Its top sixteen bytes $CFF0-$CFFF hold the seven runtime dispatch vectors written by initialize_game at $2D40-$2D83; the rest of the page is captured residue with no active reader.\n[offcut cff0] Runtime vector initialized to $3791.\n[offcut cff2] Runtime vector initialized to $3349.\n[offcut cff4] Runtime vector initialized to $334F.\n[offcut cff6] Runtime vector initialized to $35E4.\n[offcut cff8] Runtime vector initialized to $2DC6.\n[offcut cffa] Runtime vector initialized to $38EF.\n[offcut cffc] Runtime vector initialized to $22C3.","note":"outside the tracked image"},{"a":53232,"t":"note","l":"JSW_State_input_vector","note":"outside the tracked image","x":[4123,11584]},{"a":53234,"t":"note","l":"JSW_State_player_redispatch_vector","note":"outside the tracked image","x":[4126,11594]},{"a":53236,"t":"note","l":"JSW_State_main_continue_vector","note":"outside the tracked image","x":[4129,11604]},{"a":53238,"t":"note","l":"JSW_State_tile_lookup_vector","note":"outside the tracked image","x":[4132,11614]},{"a":53240,"t":"note","l":"JSW_State_room_prepare_vector","note":"outside the tracked image","x":[4135,11624]},{"a":53242,"t":"note","l":"JSW_State_death_vector","note":"outside the tracked image","x":[4138,11634]},{"a":53244,"t":"note","l":"JSW_State_item_table_base_vector","note":"outside the tracked image","x":[5631,11644]},{"a":53248,"l":"RETAINED_BOOTSTRAP_PREFIX_WORD","c":"Retained word $1002 preceding the copy bootstrap at $D002. Its original file/header role is open. The CMM disk run reaches $3C23 through a different decompressor; no execution checkpoint at $D002 or $0334 fired on that boot, while the $3C23 control did.","t":"word","b":[2,16],"d":[4098],"x":[53254]},{"a":53250,"l":"BOOTSTRAP_RELOCATE_COPY_ROUTINE","c":"Retained copy-bootstrap entry: relocates 37 bytes at $D015-$D039 to $0334-$0358 and jumps there. A controlled call copied 8192 bytes from $D100-$F0FF to $E000-$FFFF and returned via $3C23 with port $36. The observed CMM disk boot instead reaches $3C23 from the RLE decoder at $0140, with port $37; this retained bootstrap was not its executed hand-over path.","t":"code","b":[162,21],"m":"ldx","o":"#$15"},{"a":53252,"t":"code","b":[160,0],"m":"ldy","o":"#$00"},{"a":53254,"t":"code","b":[189,0,208],"m":"lda","oa":53248,"o":"RETAINED_BOOTSTRAP_PREFIX_WORD,x","x":[53264]},{"a":53257,"t":"code","b":[153,52,3],"m":"sta","oa":820,"o":"f_0334,y"},{"a":53260,"t":"code","b":[200],"m":"iny"},{"a":53261,"t":"code","b":[232],"m":"inx"},{"a":53262,"t":"code","b":[224,58],"m":"cpx","o":"#$3A"},{"a":53264,"t":"code","b":[208,244],"m":"bne","oa":53254,"o":"$D006"},{"a":53266,"t":"code","b":[76,52,3],"m":"jmp","oa":820,"o":"f_0334"},{"a":53269,"l":"BOOTSTRAP_HIGH_ROOM_COPY_BODY","c":"Copy body executed after relocation to $0334. Decrement the source high operand at $0346 and destination high operand at $0349 before each page; starting values $F1 and $00 yield first source $F000 and destination $FF00. Copy each 256-byte page with X decrementing through zero, then continue downward until destination high reaches $DF. Thus source $D100-$F0FF moves to $E000-$FFFF (32 pages). The exit restores processor port $36, enables IRQs and jumps to $3C23. The live final operands were $D0/$DF.","t":"code","b":[162,0],"m":"ldx","o":"#$00"},{"a":53271,"t":"code","b":[206,70,3],"m":"dec","oa":838,"o":"a_0346"},{"a":53274,"t":"code","b":[206,73,3],"m":"dec","oa":841,"o":"a_0349"},{"a":53277,"t":"code","b":[173,73,3],"m":"lda","oa":841,"o":"a_0349"},{"a":53280,"t":"code","b":[201,223],"m":"cmp","o":"#$DF"},{"a":53282,"t":"code","b":[240,14],"m":"beq","oa":53298,"o":"BOOTSTRAP_ENTER_TITLE"},{"a":53284,"t":"code","b":[202],"m":"dex","x":[53293]},{"a":53285,"t":"code","b":[189,0,241],"m":"lda","oa":61696,"o":"room_47_nomen_luni,x"},{"a":53288,"t":"code","b":[157,0,0],"m":"sta","oa":0,"o":"C64_CPU_PROCESSOR_PORT_DIRECTION,x"},{"a":53291,"t":"code","b":[224,0],"m":"cpx","o":"#$00"},{"a":53293,"t":"code","b":[208,245],"m":"bne","oa":53284,"o":"$D024"},{"a":53295,"t":"code","b":[76,54,3],"m":"jmp","oa":822,"o":"j_0336"},{"a":53298,"l":"BOOTSTRAP_ENTER_TITLE","c":"Exit of the page-copy body, executed at relocated $0351: set processor port $01=$36, CLI, then JMP $3C23. The selected banking exposes I/O and KERNAL while leaving the title code and high room data in RAM.","t":"code","b":[169,54],"m":"lda","o":"#$36","x":[53282]},{"a":53300,"t":"code","b":[133,1],"m":"sta","oa":1,"o":"C64_CPU_PROCESSOR_PORT"},{"a":53302,"t":"code","b":[88],"m":"cli"},{"a":53303,"t":"code","b":[76,35,60],"m":"jmp","oa":15395,"o":"COPYRIGHT_COMPARE_ENTERED_CODE"},{"a":53306,"t":"gap","n":198},{"a":53504,"l":"INITIAL_HIGH_ROOM_30","c":"Retained copy-bootstrap source record for room 30. In the controlled bootstrap test, its 256 bytes copied to $E000-$E0FF. Title is at offsets $00-$1F, packed map at $20-$9F and six glyphs at $A0-$CF; parameters follow. The observed CMM disk boot initializes the playable room bank via its RLE decoder, not by executing this retained copy entry. Later glyph changes can make the source and playable copies differ.","t":"byte","b":[32,32,32,32,32,32,32,84]},{"a":53512,"t":"byte","b":[72,69,32,66,65,78,89,65]},{"a":53520,"t":"byte","b":[78,32,84,82,69,69,32,32]},{"a":53528,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":53536,"t":"byte","b":[0,0,0,160,0,0,0,0]},{"a":53544,"t":"byte","b":[0,0,0,160,0,0,0,0]},{"a":53552,"t":"byte","b":[0,0,0,144,0,0,0,0]},{"a":53560,"t":"byte","b":[0,0,0,148,0,0,0,0]},{"a":53568,"t":"byte","b":[0,0,0,149,80,0,0,0]},{"a":53576,"t":"byte","b":[0,0,0,129,4,0,0,0]},{"a":53584,"t":"byte","b":[0,0,0,1,4,0,0,0]},{"a":53592,"t":"byte","b":[0,0,0,0,4,0,0,0]},{"a":53600,"t":"byte","b":[0,0,0,128,0,0,0,0]},{"a":53608,"t":"byte","b":[0,0,0,130,0,0,0,0]},{"a":53616,"t":"byte","b":[0,8,32,130,8,0,0,0]},{"a":53624,"t":"byte","b":[0,8,32,130,8,0,0,0]},{"a":53632,"t":"byte","b":[170,170,170,170,170,170,90,170]},{"a":53640,"t":"byte","b":[170,170,0,0,0,0,90,170]},{"a":53648,"t":"byte","b":[170,170,0,0,0,0,90,170]},{"a":53656,"t":"byte","b":[170,170,85,85,85,85,90,170]},{"a":53664,"t":"byte","b":[0,162,0,0,0,70,0,147]},{"a":53672,"t":"byte","b":[74,41,37,73,146,164,37,148]},{"a":53680,"t":"byte","b":[165,90,165,90,165,90,165,90]},{"a":53688,"t":"byte","b":[255,170,170,170,170,168,160,128]},{"a":53696,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":53704,"t":"byte","b":[5,56,69,130,130,130,68,56]},{"a":53712,"t":"byte","b":[0,0,0,4,11,136,2,0]},{"a":53720,"t":"byte","b":[14,8,9,0,36,30,31,29]},{"a":53728,"t":"byte","b":[112,4,0,0,32,32,0,7]},{"a":53736,"t":"byte","b":[177,33,0,32,32,34,82,79]},{"a":53744,"t":"byte","b":[79,77,50,46,79,66,74,34]},{"a":53752,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":53760,"l":"INITIAL_HIGH_ROOM_31","c":"Retained copy-bootstrap source record for room 31. In the controlled bootstrap test, its 256 bytes copied to $E100-$E1FF. Title is at offsets $00-$1F, packed map at $20-$9F and six glyphs at $A0-$CF; parameters follow. The observed CMM disk boot initializes the playable room bank via its RLE decoder, not by executing this retained copy entry. Later glyph changes can make the source and playable copies differ.","t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":53768,"t":"byte","b":[32,32,83,87,73,77,77,73]},{"a":53776,"t":"byte","b":[78,71,32,80,79,79,76,32]},{"a":53784,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":53792,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":53800,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":53808,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":53816,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":53824,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":53832,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":53840,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":53848,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":53856,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":53864,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":53872,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":53880,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":53888,"t":"byte","b":[170,85,85,85,85,85,84,170]},{"a":53896,"t":"byte","b":[170,85,85,85,85,85,82,170]},{"a":53904,"t":"byte","b":[170,85,85,85,85,85,74,170]},{"a":53912,"t":"byte","b":[170,170,170,170,170,170,170,170]},{"a":53920,"t":"byte","b":[255,255,255,255,255,255,255,255]},{"a":53928,"t":"byte","b":[68,68,187,68,68,68,187,68]},{"a":53936,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":53944,"t":"byte","b":[255,131,135,143,159,191,254,252]},{"a":53952,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":53960,"t":"byte","b":[112,32,32,80,80,136,136,136]},{"a":53968,"t":"byte","b":[0,0,0,12,27,131,2,0]},{"a":53976,"t":"byte","b":[3,8,6,0,37,31,53,30]},{"a":53984,"t":"byte","b":[116,1,255,0,0,0,0,0]},{"a":53992,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":54000,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":54008,"t":"byte","b":[0,0,10,0,0,0,32,0]},{"a":54016,"l":"INITIAL_HIGH_ROOM_32","c":"Retained copy-bootstrap source record for room 32. In the controlled bootstrap test, its 256 bytes copied to $E200-$E2FF. Title is at offsets $00-$1F, packed map at $20-$9F and six glyphs at $A0-$CF; parameters follow. The observed CMM disk boot initializes the playable room bank via its RLE decoder, not by executing this retained copy entry. Later glyph changes can make the source and playable copies differ.","t":"byte","b":[72,65,76,70,87,65,89,32]},{"a":54024,"t":"byte","b":[85,80,32,84,72,69,32,69]},{"a":54032,"t":"byte","b":[65,83,84,32,87,65,76,76]},{"a":54040,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":54048,"t":"byte","b":[160,0,10,0,0,0,0,0]},{"a":54056,"t":"byte","b":[160,0,10,0,0,0,0,0]},{"a":54064,"t":"byte","b":[160,0,10,0,0,0,0,0]},{"a":54072,"t":"byte","b":[160,8,0,0,0,0,0,0]},{"a":54080,"t":"byte","b":[128,10,0,0,0,0,0,0]},{"a":54088,"t":"byte","b":[128,26,128,0,0,0,0,0]},{"a":54096,"t":"byte","b":[160,0,32,0,0,0,0,0]},{"a":54104,"t":"byte","b":[160,0,40,0,0,0,0,0]},{"a":54112,"t":"byte","b":[160,74,170,0,0,0,0,0]},{"a":54120,"t":"byte","b":[160,10,170,0,0,0,0,0]},{"a":54128,"t":"byte","b":[160,16,10,0,0,0,0,0]},{"a":54136,"t":"byte","b":[164,0,10,0,0,0,0,0]},{"a":54144,"t":"byte","b":[160,0,10,0,0,0,0,0]},{"a":54152,"t":"byte","b":[160,4,10,0,0,0,0,0]},{"a":54160,"t":"byte","b":[160,0,10,0,0,0,0,0]},{"a":54168,"t":"byte","b":[160,0,26,0,0,0,0,0]},{"a":54176,"t":"byte","b":[255,255,90,153,189,90,60,90]},{"a":54184,"t":"byte","b":[51,17,68,204,51,17,68,204]},{"a":54192,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":54200,"t":"byte","b":[255,7,131,193,225,241,249,253]},{"a":54208,"t":"byte","b":[255,7,131,193,225,241,249,253]},{"a":54216,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":54224,"t":"byte","b":[0,0,0,2,6,70,2,0]},{"a":54232,"t":"byte","b":[5,6,6,6,38,26,32,32]},{"a":54240,"t":"byte","b":[117,1,0,0,0,0,0,0]},{"a":54248,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":54256,"t":"byte","b":[10,0,0,0,0,0,0,0]},{"a":54264,"t":"byte","b":[0,0,16,0,0,0,0,0]},{"a":54272,"l":"INITIAL_HIGH_ROOM_33","c":"Retained copy-bootstrap source record for room 33. In the controlled bootstrap test, its 256 bytes copied to $E300-$E3FF. Title is at offsets $00-$1F, packed map at $20-$9F and six glyphs at $A0-$CF; parameters follow. The observed CMM disk boot initializes the playable room bank via its RLE decoder, not by executing this retained copy entry. Later glyph changes can make the source and playable copies differ.","t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":54280,"t":"byte","b":[32,32,84,72,69,32,66,65]},{"a":54288,"t":"byte","b":[84,72,82,79,79,77,32,32]},{"a":54296,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":54304,"t":"byte","b":[160,0,0,0,0,0,0,10]},{"a":54312,"t":"byte","b":[160,0,0,0,0,0,0,10]},{"a":54320,"t":"byte","b":[160,0,0,0,0,0,0,10]},{"a":54328,"t":"byte","b":[0,0,0,0,0,0,0,10]},{"a":54336,"t":"byte","b":[0,0,0,0,0,0,0,10]},{"a":54344,"t":"byte","b":[85,85,85,80,37,85,85,90]},{"a":54352,"t":"byte","b":[128,0,0,0,32,0,0,10]},{"a":54360,"t":"byte","b":[128,0,0,0,32,0,0,10]},{"a":54368,"t":"byte","b":[128,0,0,0,32,0,0,10]},{"a":54376,"t":"byte","b":[128,0,0,0,32,0,0,10]},{"a":54384,"t":"byte","b":[128,0,0,0,32,0,0,10]},{"a":54392,"t":"byte","b":[128,0,0,0,32,0,0,10]},{"a":54400,"t":"byte","b":[128,0,0,0,32,0,0,10]},{"a":54408,"t":"byte","b":[0,5,64,0,0,0,0,10]},{"a":54416,"t":"byte","b":[0,0,0,0,0,0,0,10]},{"a":54424,"t":"byte","b":[85,85,85,85,85,85,85,90]},{"a":54432,"t":"byte","b":[0,64,9,100,146,45,150,255]},{"a":54440,"t":"byte","b":[31,170,0,85,248,85,0,170]},{"a":54448,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":54456,"t":"byte","b":[171,170,168,160,128,128,128,128]},{"a":54464,"t":"byte","b":[75,255,255,255,255,255,255,255]},{"a":54472,"t":"byte","b":[34,4,10,119,135,177,170,10]},{"a":54480,"t":"byte","b":[132,14,20,5,16,136,2,0]},{"a":54488,"t":"byte","b":[10,5,1,1,33,33,34,33]},{"a":54496,"t":"byte","b":[118,1,0,0,0,0,0,0]},{"a":54504,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":54512,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":54520,"t":"byte","b":[0,0,16,0,0,0,0,0]},{"a":54528,"l":"INITIAL_HIGH_ROOM_34","c":"Retained copy-bootstrap source record for room 34. In the controlled bootstrap test, its 256 bytes copied to $E400-$E4FF. Title is at offsets $00-$1F, packed map at $20-$9F and six glyphs at $A0-$CF; parameters follow. The observed CMM disk boot initializes the playable room bank via its RLE decoder, not by executing this retained copy entry. Later glyph changes can make the source and playable copies differ.","t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":54536,"t":"byte","b":[32,32,84,79,80,32,76,65]},{"a":54544,"t":"byte","b":[78,68,73,78,71,32,32,32]},{"a":54552,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":54560,"t":"byte","b":[170,170,170,170,170,170,170,170]},{"a":54568,"t":"byte","b":[170,170,170,170,170,170,170,170]},{"a":54576,"t":"byte","b":[160,0,0,0,0,0,0,10]},{"a":54584,"t":"byte","b":[160,0,0,0,0,0,0,0]},{"a":54592,"t":"byte","b":[165,80,85,5,85,85,0,0]},{"a":54600,"t":"byte","b":[160,0,0,0,0,0,170,170]},{"a":54608,"t":"byte","b":[160,0,0,0,0,0,0,10]},{"a":54616,"t":"byte","b":[160,0,0,0,0,0,0,10]},{"a":54624,"t":"byte","b":[165,80,85,5,84,0,0,10]},{"a":54632,"t":"byte","b":[160,0,0,0,0,0,0,10]},{"a":54640,"t":"byte","b":[160,0,0,0,0,0,0,10]},{"a":54648,"t":"byte","b":[160,0,0,0,0,0,0,10]},{"a":54656,"t":"byte","b":[165,80,85,5,64,0,0,10]},{"a":54664,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":54672,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":54680,"t":"byte","b":[85,85,85,85,85,5,85,85]},{"a":54688,"t":"byte","b":[255,170,85,255,0,0,0,0]},{"a":54696,"t":"byte","b":[105,144,144,105,150,105,105,150]},{"a":54704,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":54712,"t":"byte","b":[255,174,236,136,248,224,192,128]},{"a":54720,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":54728,"t":"byte","b":[24,36,164,202,149,10,21,10]},{"a":54736,"t":"byte","b":[0,0,0,5,23,135,6,0]},{"a":54744,"t":"byte","b":[8,2,6,0,34,28,35,33]},{"a":54752,"t":"byte","b":[119,3,0,0,0,0,0,0]},{"a":54760,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":54768,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":54776,"t":"byte","b":[0,0,16,0,0,0,0,0]},{"a":54784,"l":"INITIAL_HIGH_ROOM_35","c":"Retained copy-bootstrap source record for room 35. In the controlled bootstrap test, its 256 bytes copied to $E500-$E5FF. Title is at offsets $00-$1F, packed map at $20-$9F and six glyphs at $A0-$CF; parameters follow. The observed CMM disk boot initializes the playable room bank via its RLE decoder, not by executing this retained copy entry. Later glyph changes can make the source and playable copies differ.","t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":54792,"t":"byte","b":[32,77,65,83,84,69,82,32]},{"a":54800,"t":"byte","b":[66,69,68,82,79,79,77,32]},{"a":54808,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":54816,"t":"byte","b":[170,170,170,170,170,170,170,170]},{"a":54824,"t":"byte","b":[160,0,0,10,0,0,0,0]},{"a":54832,"t":"byte","b":[160,0,0,10,0,0,0,0]},{"a":54840,"t":"byte","b":[160,0,0,10,0,0,0,0]},{"a":54848,"t":"byte","b":[160,0,0,10,0,0,0,0]},{"a":54856,"t":"byte","b":[160,0,0,10,0,0,0,0]},{"a":54864,"t":"byte","b":[160,0,0,10,0,0,0,0]},{"a":54872,"t":"byte","b":[160,0,0,10,0,0,0,0]},{"a":54880,"t":"byte","b":[160,0,0,10,0,0,0,0]},{"a":54888,"t":"byte","b":[160,0,0,10,0,0,0,0]},{"a":54896,"t":"byte","b":[160,0,0,10,0,0,0,0]},{"a":54904,"t":"byte","b":[172,0,0,0,0,0,0,0]},{"a":54912,"t":"byte","b":[160,0,0,0,0,0,0,0]},{"a":54920,"t":"byte","b":[149,85,85,85,64,0,0,0]},{"a":54928,"t":"byte","b":[170,170,170,170,160,0,0,0]},{"a":54936,"t":"byte","b":[170,170,170,170,169,85,85,85]},{"a":54944,"t":"byte","b":[255,107,181,0,173,0,74,0]},{"a":54952,"t":"byte","b":[0,81,251,81,0,170,191,170]},{"a":54960,"t":"byte","b":[0,0,0,0,124,254,127,62]},{"a":54968,"t":"byte","b":[255,171,213,235,245,251,253,255]},{"a":54976,"t":"byte","b":[85,85,85,85,81,95,64,170]},{"a":54984,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":54992,"t":"byte","b":[4,12,2,13,17,2,6,0]},{"a":55000,"t":"byte","b":[8,8,8,6,35,35,35,34]},{"a":55008,"t":"byte","b":[122,0,0,0,0,0,0,0]},{"a":55016,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":55024,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":55032,"t":"byte","b":[0,0,16,0,0,0,0,0]},{"a":55040,"l":"INITIAL_HIGH_ROOM_36","c":"Retained copy-bootstrap source record for room 36. In the controlled bootstrap test, its 256 bytes copied to $E600-$E6FF. Title is at offsets $00-$1F, packed map at $20-$9F and six glyphs at $A0-$CF; parameters follow. The observed CMM disk boot initializes the playable room bank via its RLE decoder, not by executing this retained copy entry. Later glyph changes can make the source and playable copies differ.","t":"byte","b":[32,32,32,32,65,32,66,73]},{"a":55048,"t":"byte","b":[84,32,79,70,32,84,82,69]},{"a":55056,"t":"byte","b":[69,32,32,32,32,32,32,32]},{"a":55064,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":55072,"t":"byte","b":[0,0,0,160,0,0,0,3]},{"a":55080,"t":"byte","b":[0,0,0,160,0,0,0,3]},{"a":55088,"t":"byte","b":[0,0,0,160,0,0,0,3]},{"a":55096,"t":"byte","b":[0,0,0,160,0,0,0,3]},{"a":55104,"t":"byte","b":[0,0,16,160,0,64,0,3]},{"a":55112,"t":"byte","b":[0,0,0,160,0,0,0,3]},{"a":55120,"t":"byte","b":[0,20,0,160,0,1,64,3]},{"a":55128,"t":"byte","b":[0,0,16,160,0,0,0,3]},{"a":55136,"t":"byte","b":[0,0,0,160,0,0,0,3]},{"a":55144,"t":"byte","b":[0,0,20,160,0,0,64,3]},{"a":55152,"t":"byte","b":[85,80,0,165,64,0,0,3]},{"a":55160,"t":"byte","b":[0,0,0,160,0,0,1,3]},{"a":55168,"t":"byte","b":[0,0,0,160,0,0,64,3]},{"a":55176,"t":"byte","b":[0,0,0,160,5,0,0,3]},{"a":55184,"t":"byte","b":[0,0,0,160,0,0,0,3]},{"a":55192,"t":"byte","b":[0,0,1,164,0,0,0,3]},{"a":55200,"t":"byte","b":[173,82,41,0,1,2,0,0]},{"a":55208,"t":"byte","b":[214,107,102,219,105,107,217,109]},{"a":55216,"t":"byte","b":[21,0,170,85,170,0,21,10]},{"a":55224,"t":"byte","b":[3,8,36,16,64,32,128,128]},{"a":55232,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":55240,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":55248,"t":"byte","b":[0,0,0,8,21,130,3,0]},{"a":55256,"t":"byte","b":[5,7,2,0,42,30,37,36]},{"a":55264,"t":"byte","b":[122,2,0,0,0,0,0,0]},{"a":55272,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":55280,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":55288,"t":"byte","b":[0,0,16,0,0,0,0,0]},{"a":55296,"l":"INITIAL_HIGH_ROOM_37","c":"Retained copy-bootstrap source record for room 37. In the controlled bootstrap test, its 256 bytes copied to $E700-$E7FF. Title is at offsets $00-$1F, packed map at $20-$9F and six glyphs at $A0-$CF; parameters follow. The observed CMM disk boot initializes the playable room bank via its RLE decoder, not by executing this retained copy entry. Later glyph changes can make the source and playable copies differ.","t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":55304,"t":"byte","b":[32,32,32,32,79,82,65,78]},{"a":55312,"t":"byte","b":[71,69,82,89,32,32,32,32]},{"a":55320,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":55328,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":55336,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":55344,"t":"byte","b":[0,0,0,0,0,1,0,0]},{"a":55352,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":55360,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":55368,"t":"byte","b":[0,0,0,0,64,0,16,0]},{"a":55376,"t":"byte","b":[0,0,0,0,0,4,0,64]},{"a":55384,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":55392,"t":"byte","b":[160,0,0,4,0,0,0,0]},{"a":55400,"t":"byte","b":[0,0,0,0,1,0,0,0]},{"a":55408,"t":"byte","b":[0,32,0,64,0,0,5,0]},{"a":55416,"t":"byte","b":[0,37,0,0,64,0,0,85]},{"a":55424,"t":"byte","b":[0,32,0,0,0,0,16,0]},{"a":55432,"t":"byte","b":[0,32,1,0,0,0,0,0]},{"a":55440,"t":"byte","b":[0,32,0,0,0,64,0,0]},{"a":55448,"t":"byte","b":[170,170,0,1,64,0,0,0]},{"a":55456,"t":"byte","b":[165,74,36,2,4,0,2,0]},{"a":55464,"t":"byte","b":[21,85,85,36,37,85,73,34]},{"a":55472,"t":"byte","b":[130,65,62,106,183,25,37,68]},{"a":55480,"t":"byte","b":[255,254,248,240,224,224,192,192]},{"a":55488,"t":"byte","b":[141,170,168,42,89,36,0,0]},{"a":55496,"t":"byte","b":[2,20,46,85,42,69,42,20]},{"a":55504,"t":"byte","b":[132,10,28,0,13,142,7,0]},{"a":55512,"t":"byte","b":[5,10,9,5,43,31,55,36]},{"a":55520,"t":"byte","b":[124,2,0,0,0,0,0,0]},{"a":55528,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":55536,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":55544,"t":"byte","b":[0,0,16,0,0,0,0,0]},{"a":55552,"l":"INITIAL_HIGH_ROOM_38","c":"Retained copy-bootstrap source record for room 38. In the controlled bootstrap test, its 256 bytes copied to $E800-$E8FF. Title is at offsets $00-$1F, packed map at $20-$9F and six glyphs at $A0-$CF; parameters follow. The observed CMM disk boot initializes the playable room bank via its RLE decoder, not by executing this retained copy entry. Later glyph changes can make the source and playable copies differ.","t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":55560,"t":"byte","b":[32,80,82,73,69,83,84,83]},{"a":55568,"t":"byte","b":[39,32,72,79,76,69,32,32]},{"a":55576,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":55584,"t":"byte","b":[160,0,10,0,0,0,0,0]},{"a":55592,"t":"byte","b":[160,0,10,0,0,0,0,0]},{"a":55600,"t":"byte","b":[160,0,10,0,0,0,0,0]},{"a":55608,"t":"byte","b":[0,0,10,0,0,0,0,0]},{"a":55616,"t":"byte","b":[0,0,10,0,0,0,0,0]},{"a":55624,"t":"byte","b":[165,0,90,0,0,0,0,0]},{"a":55632,"t":"byte","b":[160,0,10,0,0,0,0,0]},{"a":55640,"t":"byte","b":[161,0,10,0,0,0,0,0]},{"a":55648,"t":"byte","b":[160,0,74,0,0,0,0,0]},{"a":55656,"t":"byte","b":[160,0,10,0,0,0,0,0]},{"a":55664,"t":"byte","b":[161,0,0,0,0,0,0,0]},{"a":55672,"t":"byte","b":[160,0,0,0,0,0,0,0]},{"a":55680,"t":"byte","b":[160,0,90,0,0,0,0,0]},{"a":55688,"t":"byte","b":[160,0,10,0,0,0,0,0]},{"a":55696,"t":"byte","b":[160,64,10,0,0,0,0,0]},{"a":55704,"t":"byte","b":[160,1,10,0,0,0,0,0]},{"a":55712,"t":"byte","b":[85,85,93,215,112,0,0,0]},{"a":55720,"t":"byte","b":[34,17,68,136,34,17,68,136]},{"a":55728,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":55736,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":55744,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":55752,"t":"byte","b":[191,191,187,177,187,187,191,191]},{"a":55760,"t":"byte","b":[0,0,0,0,0,0,2,0]},{"a":55768,"t":"byte","b":[7,13,0,0,38,32,39,38]},{"a":55776,"t":"byte","b":[126,5,0,0,0,0,0,0]},{"a":55784,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":55792,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":55800,"t":"byte","b":[0,0,16,0,0,0,32,0]},{"a":55808,"l":"INITIAL_HIGH_ROOM_39","c":"Retained copy-bootstrap source record for room 39. In the controlled bootstrap test, its 256 bytes copied to $E900-$E9FF. Title is at offsets $00-$1F, packed map at $20-$9F and six glyphs at $A0-$CF; parameters follow. The observed CMM disk boot initializes the playable room bank via its RLE decoder, not by executing this retained copy entry. Later glyph changes can make the source and playable copies differ.","t":"byte","b":[32,32,32,32,32,32,32,69]},{"a":55816,"t":"byte","b":[77,69,82,71,69,78,67,89]},{"a":55824,"t":"byte","b":[32,71,69,78,69,82,65,84]},{"a":55832,"t":"byte","b":[79,82,32,32,32,32,32,32]},{"a":55840,"t":"byte","b":[0,0,0,0,0,0,0,10]},{"a":55848,"t":"byte","b":[0,0,0,0,0,0,0,10]},{"a":55856,"t":"byte","b":[0,0,0,0,0,0,0,10]},{"a":55864,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":55872,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":55880,"t":"byte","b":[0,5,0,0,0,0,80,10]},{"a":55888,"t":"byte","b":[0,5,0,0,0,0,80,3]},{"a":55896,"t":"byte","b":[0,5,0,0,0,0,80,3]},{"a":55904,"t":"byte","b":[0,5,0,0,0,0,80,3]},{"a":55912,"t":"byte","b":[0,5,0,0,0,0,80,3]},{"a":55920,"t":"byte","b":[0,42,128,0,0,2,168,3]},{"a":55928,"t":"byte","b":[0,40,128,0,0,2,40,3]},{"a":55936,"t":"byte","b":[0,170,170,170,170,170,170,3]},{"a":55944,"t":"byte","b":[0,170,42,138,162,168,170,3]},{"a":55952,"t":"byte","b":[0,170,170,170,170,170,170,3]},{"a":55960,"t":"byte","b":[170,170,170,170,170,170,170,170]},{"a":55968,"t":"byte","b":[102,102,102,102,102,102,102,102]},{"a":55976,"t":"byte","b":[191,21,0,81]},{"a":55980,"l":"f_DAAC","c":"Initialization source room 39, glyph 1 byte 4 (room offset $AC). Copied to $E9AC by the high-room bootstrap. The automatic reference from $2EDF is a write to visible color RAM at the same CPU address, not a read of this physical RAM template.","t":"byte","b":[251,81,0,21,255,63,3,31]},{"a":55988,"t":"byte","b":[127,80,79,75,69,156,184,240]},{"a":55996,"t":"byte","b":[224,192,128,128,170,84,170,84]},{"a":56004,"t":"byte","b":[40,16,40,16,0,0,0,0]},{"a":56012,"t":"byte","b":[0,0,0,0,142,11,9,5]},{"a":56020,"t":"byte","b":[23,134,2,0,2,2,3,2]},{"a":56028,"t":"byte","b":[39,39,40,38,131,1,0,0]},{"a":56036,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":56044,"t":"gap","n":12},{"a":56056,"l":"f_DAF8","c":"Final eight bytes of initialization source room 39; copied to $E9F8-$E9FF by the bootstrap. Their room-field meaning is open. The $2DA7 reference writes visible color RAM, not this hidden source record.","t":"byte","b":[0,0,16,0,0,0,0,0]},{"a":56064,"l":"INITIAL_HIGH_ROOM_40","c":"Retained copy-bootstrap source record for room 40. In the controlled bootstrap test, its 256 bytes copied to $EA00-$EAFF. Title is at offsets $00-$1F, packed map at $20-$9F and six glyphs at $A0-$CF; parameters follow. The observed CMM disk boot initializes the playable room bank via its RLE decoder, not by executing this retained copy entry. Later glyph changes can make the source and playable copies differ.","t":"byte","b":[68,82,32,74,79,78,69,83]},{"a":56072,"t":"byte","b":[32,87,73,76,76,32,78,69]},{"a":56080,"t":"byte","b":[86,69,82,32,66,69,76,73]},{"a":56088,"t":"byte","b":[69,86,69,32,84,72,73,83]},{"a":56096,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":56104,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":56112,"t":"byte","b":[0,0,0,234,0,0,0,0]},{"a":56120,"t":"byte","b":[0,0,0,170,160,0,0,0]},{"a":56128,"t":"byte","b":[0,0,0,149,84,0,0,0]},{"a":56136,"t":"byte","b":[0,14,168,213,21,0,0,0]},{"a":56144,"t":"byte","b":[0,10,170,133,170,0,0,0]},{"a":56152,"t":"byte","b":[0,5,80,144,168,32,0,0]},{"a":56160,"t":"byte","b":[80,5,80,133,160,0,0,0]},{"a":56168,"t":"byte","b":[0,10,80,144,160,0,0,0]},{"a":56176,"l":"f_DB70","c":"Initialization source room 40, packed map byte 80: row 10, columns 0-3, most-significant two-bit cell first. Copied to $EA70. The $3312 store uses visible color RAM at this CPU address, independently of the retained room template.","t":"byte","b":[4]},{"a":56177,"l":"f_DB71","c":"Initialization source room 40, packed map byte 81: row 10, columns 4-7. Copied to $EA71. The $331B store addresses visible color RAM; it is not a consumer of these hidden template bytes.","t":"byte","b":[10,80,133,128,64,0,0,0]},{"a":56185,"t":"byte","b":[18,80,144,128,0,0,0,0]},{"a":56193,"t":"byte","b":[66,80,5,128,16,0,16,0]},{"a":56201,"t":"byte","b":[2,0,1,128,0,64,0,0]},{"a":56209,"t":"byte","b":[2,148,1,144,0,0,0]},{"a":56216,"l":"f_DB98","c":"Initialization source room 40, packed map byte 120: row 15, columns 0-3, most-significant two-bit cell first. The bootstrap copies this byte to $EA98. References at $3324 and $A783 address visible color RAM, independently of the physical room template.","t":"byte","b":[0]},{"a":56217,"l":"f_DB99","c":"Initialization source room 40, packed map byte 121: row 15, columns 4-7. Copied to $EA99; the visible color-RAM reference at this CPU address belongs to display output, not the hidden source record.","t":"byte","b":[0,0,0,0,0,0,0,254]},{"a":56225,"t":"byte","b":[85,42,170,85,170,170,255,17]},{"a":56233,"t":"byte","b":[68,34,136,17,68,34,136,1]},{"a":56241,"t":"byte","b":[4,34,8,17,68,34,136,64]},{"a":56249,"t":"byte","b":[144,36,72,18,36,9,2,75]},{"a":56257,"t":"byte","b":[0,210,0,170,255,255,85,240]},{"a":56265,"t":"byte","b":[240,120,184,76,50,13,3]},{"a":56272,"l":"INITIAL_ROOM_40_PARAMETERS","c":"Initialization room-40 parameter tail, copied to $EAD0-$EAFF. Offsets $D0-$D2 describe the conveyor, $D3-$D5 the ramp, $D6 the border, $D7-$DA terrain colors and $DC-$DF exits. Guardian fields begin at $E0. Remaining tail-field meanings are open; all 48 bytes are consumed by the bounded bootstrap copy.","t":"byte","b":[160,15,0,6,20,5,6,0]},{"a":56280,"t":"byte","b":[2,10,2,5,16,40,41,39]},{"a":56288,"t":"byte","b":[132,2,0,0,0,0,0,0]},{"a":56296,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":56304,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":56312,"t":"byte","b":[0,0,16,0,0,0,32,0]},{"a":56320,"l":"INITIAL_HIGH_ROOM_41","c":"Retained copy-bootstrap source record for room 41. In the controlled bootstrap test, its 256 bytes copied to $EB00-$EBFF. Title is at offsets $00-$1F, packed map at $20-$9F and six glyphs at $A0-$CF; parameters follow. The observed CMM disk boot initializes the playable room bank via its RLE decoder, not by executing this retained copy entry. Later glyph changes can make the source and playable copies differ.","t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":56328,"t":"byte","b":[32,32,84,72,69,32,65,84]},{"a":56336,"t":"byte","b":[84,73,67,32,32,32,32,32]},{"a":56344,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":56352,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":56360,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":56368,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":56376,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":56384,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":56392,"t":"byte","b":[0,192,3,0,0,0,0,0]},{"a":56400,"t":"byte","b":[85,149,86,80,0,0,0,0]},{"a":56408,"t":"byte","b":[160,0,0,0,0,0,0,0]},{"a":56416,"t":"byte","b":[164,0,0,0,5,0,0,5]},{"a":56424,"t":"byte","b":[160,0,0,0,0,0,0,0]},{"a":56432,"t":"byte","b":[164,0,0,0,0,80,0,0]},{"a":56440,"t":"byte","b":[160,0,0,0,0,0,0,0]},{"a":56448,"t":"byte","b":[164,0,0,0,0,4,0,0]},{"a":56456,"t":"byte","b":[160,0,0,0,0,0,0,0]},{"a":56464,"t":"byte","b":[164,3,0,192,192,0,0,0]},{"a":56472,"t":"byte","b":[85,101,149,150,85,149,86,89]},{"a":56480,"t":"byte","b":[206,255,0,231,0,127,0,251]},{"a":56488,"t":"byte","b":[238,17,108,146,17,201,34,156]},{"a":56496,"t":"byte","b":[36,18,68,170,85,170,91,255]},{"a":56504,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":56512,"t":"byte","b":[120,170,120,170,85,170,85,170]},{"a":56520,"t":"byte","b":[17,34,51,68,85,102,119,136]},{"a":56528,"t":"byte","b":[4,8,24,0,0,0,6,0]},{"a":56536,"t":"byte","b":[2,2,5,2,41,41,42,40]},{"a":56544,"t":"byte","b":[134,6,0,0,0,0,0,0]},{"a":56552,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":56560,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":56568,"t":"byte","b":[0,0,16,0,0,0,0,0]},{"a":56576,"l":"INITIAL_HIGH_ROOM_42","c":"Retained copy-bootstrap source record for room 42. In the controlled bootstrap test, its 256 bytes copied to $EC00-$ECFF. Title is at offsets $00-$1F, packed map at $20-$9F and six glyphs at $A0-$CF; parameters follow. The observed CMM disk boot initializes the playable room bank via its RLE decoder, not by executing this retained copy entry. Later glyph changes can make the source and playable copies differ.","t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":56584,"t":"byte","b":[32,85,78,68,69,82,32,84]},{"a":56592,"t":"byte","b":[72,69,32,82,79,79,70,32]},{"a":56600,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":56608,"t":"byte","b":[0,0,0,255,255,255,255,240]},{"a":56616,"t":"byte","b":[0,0,0,0,195,252,48,0]},{"a":56624,"t":"byte","b":[0,0,0,3,243,252,252,0]},{"a":56632,"t":"byte","b":[0,0,0,0,0,240,0,0]},{"a":56640,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":56648,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":56656,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":56664,"t":"byte","b":[170,85,0,0,0,0,0,0]},{"a":56672,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":56680,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":56688,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":56696,"t":"byte","b":[0,0,0,160,0,1,64,0]},{"a":56704,"t":"byte","b":[0,0,80,160,1,0,0,0]},{"a":56712,"t":"byte","b":[85,80,0,160,64,0,0,0]},{"a":56720,"t":"byte","b":[84,0,1,160,0,0,0,0]},{"a":56728,"t":"byte","b":[0,0,0,160,0,64,0,0]},{"a":56736,"t":"byte","b":[181,170,85,74,37,66,1,2]},{"a":56744,"t":"byte","b":[102,182,109,187,102,185,109,182]},{"a":56752,"t":"byte","b":[102,170,95,188,99,172,107,164]},{"a":56760,"t":"byte","b":[213,255,96,192,64,192,64,192]},{"a":56768,"t":"byte","b":[210,170,123,102,102,102,102,102]},{"a":56776,"t":"byte","b":[255,255,255,255,255,255,255,255]},{"a":56784,"t":"byte","b":[20,6,12,0,10,135,2,0]},{"a":56792,"t":"byte","b":[5,10,3,8,47,36,43,41]},{"a":56800,"t":"byte","b":[140,2,0,0,0,0,0,0]},{"a":56808,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":56816,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":56824,"t":"byte","b":[0,0,16,0,0,0,0,0]},{"a":56832,"l":"INITIAL_HIGH_ROOM_43","c":"Retained copy-bootstrap source record for room 43. In the controlled bootstrap test, its 256 bytes copied to $ED00-$EDFF. Title is at offsets $00-$1F, packed map at $20-$9F and six glyphs at $A0-$CF; parameters follow. The observed CMM disk boot initializes the playable room bank via its RLE decoder, not by executing this retained copy entry. Later glyph changes can make the source and playable copies differ.","t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":56840,"t":"byte","b":[67,79,78,83,69,82,86,65]},{"a":56848,"t":"byte","b":[84,79,82,89,32,82,79,79]},{"a":56856,"t":"byte","b":[70,32,32,32,32,32,32,32]},{"a":56864,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":56872,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":56880,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":56888,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":56896,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":56904,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":56912,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":56920,"t":"byte","b":[0,0,0,0,0,42,170,170]},{"a":56928,"t":"byte","b":[0,0,0,0,0,48,195,0]},{"a":56936,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":56944,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":56952,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":56960,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":56968,"t":"byte","b":[0,0,0,0,0,0,80,0]},{"a":56976,"t":"byte","b":[0,0,0,0,0,0,5,85]},{"a":56984,"t":"byte","b":[0,0,0,0,0,4,0,0]},{"a":56992,"t":"byte","b":[172,83,42,208,138,36,34,4]},{"a":57000,"t":"byte","b":[247,239,0,0,0,102,102,0]},{"a":57008,"t":"byte","b":[218,213,127,46,17,31,10,27]},{"a":57016,"t":"byte","b":[213,255,96,192,64,192,64,192]},{"a":57024,"t":"byte","b":[255,255,255,255,255,255,255,255]},{"a":57032,"t":"byte","b":[24,24,248,60,126,96,96,126]},{"a":57040,"t":"byte","b":[6,13,26,7,20,137,3,0]},{"a":57048,"t":"byte","b":[5,11,4,1,43,37,43,42]},{"a":57056,"t":"byte","b":[142,2,0,0,0,0,0,0]},{"a":57064,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":57072,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":57080,"t":"byte","b":[0,0,16,0,0,0,0,0]},{"a":57088,"l":"INITIAL_HIGH_ROOM_44","c":"Retained copy-bootstrap source record for room 44. In the controlled bootstrap test, its 256 bytes copied to $EE00-$EEFF. Title is at offsets $00-$1F, packed map at $20-$9F and six glyphs at $A0-$CF; parameters follow. The observed CMM disk boot initializes the playable room bank via its RLE decoder, not by executing this retained copy entry. Later glyph changes can make the source and playable copies differ.","t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":57096,"t":"byte","b":[32,79,78,32,84,79,80,32]},{"a":57104,"t":"byte","b":[79,70,32,84,72,69,32,72]},{"a":57112,"t":"byte","b":[79,85,83,69,32,32,32,32]},{"a":57120,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":57128,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":57136,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":57144,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":57152,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":57160,"t":"byte","b":[146,0,0,0,4,0,0,0]},{"a":57168,"t":"byte","b":[144,0,0,0,16,0,0,0]},{"a":57176,"t":"byte","b":[144,0,0,0,64,0,0,0]},{"a":57184,"t":"byte","b":[146,0,0,1,0,0,0,0]},{"a":57192,"t":"byte","b":[146,128,0,4,0,0,0,0]},{"a":57200,"t":"byte","b":[146,160,130,16,0,0,0,0]},{"a":57208,"t":"byte","b":[146,170,170,64,0,0,0,0]},{"a":57216,"t":"byte","b":[146,170,170,0,0,0,0,0]},{"a":57224,"t":"byte","b":[16,0,0,0,0,0,0,0]},{"a":57232,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":57240,"t":"byte","b":[170,170,170,0,0,0,0,0]},{"a":57248,"t":"byte","b":[160,64,128,0,0,0,0,0]},{"a":57256,"t":"byte","b":[81,170,0,170,21,170,0,170]},{"a":57264,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":57272,"t":"byte","b":[255,131,134,140,152,176,224,192]},{"a":57280,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":57288,"t":"byte","b":[0,0,24,20,26,53,107,208]},{"a":57296,"t":"byte","b":[0,0,0,5,17,134,4,6]},{"a":57304,"t":"byte","b":[2,3,0,0,44,38,14,44]},{"a":57312,"t":"byte","b":[144,1,0,0,0,0,0,0]},{"a":57320,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":57328,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":57336,"t":"byte","b":[0,0,16,0,0,0,0,0]},{"a":57344,"l":"room_30_the_banyan_tree","c":"Room 30: THE BANYAN TREE. One 256-byte room record, copied to $0840 by $2E55. $20-$9F stores 32 by 16 terrain cells as four two-bit cells per byte, most-significant pair first; $A0-$CF holds six eight-byte tile glyphs. Up/down/left/right exits are 36, 30, 31, 29 at $DC-$DF. Guardian start/count and rope flag occupy $E0-$E2. Remaining room fields are decoded by the construction routines.","t":"byte","b":[32,32,32,32,32,32,32,84]},{"a":57352,"t":"byte","b":[72,69,32,66,65,78,89,65]},{"a":57360,"t":"byte","b":[78,32,84,82,69,69,32,32]},{"a":57368,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":57376,"t":"byte","b":[0,0,0,160,0,0,0,0]},{"a":57384,"t":"byte","b":[0,0,0,160,0,0,0,0]},{"a":57392,"t":"byte","b":[0,0,0,144,0,0,0,0]},{"a":57400,"t":"byte","b":[0,0,0,148,0,0,0,0]},{"a":57408,"t":"byte","b":[0,0,0,149,80,0,0,0]},{"a":57416,"t":"byte","b":[0,0,0,129,4,0,0,0]},{"a":57424,"t":"byte","b":[0,0,0,1,4,0,0,0]},{"a":57432,"t":"byte","b":[0,0,0,0,4,0,0,0]},{"a":57440,"t":"byte","b":[0,0,0,128,0,0,0,0]},{"a":57448,"t":"byte","b":[0,0,0,130,0,0,0,0]},{"a":57456,"t":"byte","b":[0,8,32,130,8,0,0,0]},{"a":57464,"t":"byte","b":[0,8,32,130,8,0,0,0]},{"a":57472,"t":"byte","b":[170,170,170,170,170,170,90,170]},{"a":57480,"t":"byte","b":[170,170,0,0,0,0,90,170]},{"a":57488,"t":"byte","b":[170,170,0,0,0,0,90,170]},{"a":57496,"t":"byte","b":[170,170,85,85,85,85,90,170]},{"a":57504,"t":"byte","b":[0,162,0,0,0,70,0,147]},{"a":57512,"t":"byte","b":[74,41,37,73,146,164,37,148]},{"a":57520,"t":"byte","b":[165,90,165,90,165,90,165,90]},{"a":57528,"t":"byte","b":[255,170,170,170,170,168,160,128]},{"a":57536,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":57544,"t":"byte","b":[5,56,69,130,130,130,68,56]},{"a":57552,"t":"byte","b":[0,0,0,4,11,136,2,0]},{"a":57560,"t":"byte","b":[14,8,9,0,36,30,31,29]},{"a":57568,"t":"byte","b":[112,4,0,0,32,32,0,7]},{"a":57576,"t":"byte","b":[177,33,0,32,32,34,82,79]},{"a":57584,"t":"byte","b":[79,77,50,46,79,66,74,34]},{"a":57592,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":57600,"l":"room_31_swimming_pool","c":"Room 31: SWIMMING POOL. One 256-byte room record, copied to $0840 by $2E55. $20-$9F stores 32 by 16 terrain cells as four two-bit cells per byte, most-significant pair first; $A0-$CF holds six eight-byte tile glyphs. Up/down/left/right exits are 37, 31, 53, 30 at $DC-$DF. Guardian start/count and rope flag occupy $E0-$E2. Remaining room fields are decoded by the construction routines.","t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":57608,"t":"byte","b":[32,32,83,87,73,77,77,73]},{"a":57616,"t":"byte","b":[78,71,32,80,79,79,76,32]},{"a":57624,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":57632,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":57640,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":57648,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":57656,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":57664,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":57672,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":57680,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":57688,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":57696,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":57704,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":57712,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":57720,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":57728,"t":"byte","b":[170,85,85,85,85,85,84,170]},{"a":57736,"t":"byte","b":[170,85,85,85,85,85,82,170]},{"a":57744,"t":"byte","b":[170,85,85,85,85,85,74,170]},{"a":57752,"t":"byte","b":[170,170,170,170,170,170,170,170]},{"a":57760,"t":"byte","b":[255,255,255,255,255,255,255,255]},{"a":57768,"t":"byte","b":[68,68,187,68,68,68,187,68]},{"a":57776,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":57784,"t":"byte","b":[255,131,135,143,159,191,254,252]},{"a":57792,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":57800,"t":"byte","b":[112,32,32,80,80,136,136,136]},{"a":57808,"t":"byte","b":[0,0,0,12,27,131,2,0]},{"a":57816,"t":"byte","b":[3,8,6,0,37,31,53,30]},{"a":57824,"t":"byte","b":[116,1,255,0,0,0,0,0]},{"a":57832,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":57840,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":57848,"t":"byte","b":[0,0,10,0,0,0,32,0]},{"a":57856,"l":"room_32_halfway_up_the_east_wall","c":"Room 32: HALFWAY UP THE EAST WALL. One 256-byte room record, copied to $0840 by $2E55. $20-$9F stores 32 by 16 terrain cells as four two-bit cells per byte, most-significant pair first; $A0-$CF holds six eight-byte tile glyphs. Up/down/left/right exits are 38, 26, 32, 32 at $DC-$DF. Guardian start/count and rope flag occupy $E0-$E2. Remaining room fields are decoded by the construction routines.","t":"byte","b":[72,65,76,70,87,65,89,32]},{"a":57864,"t":"byte","b":[85,80,32,84,72,69,32,69]},{"a":57872,"t":"byte","b":[65,83,84,32,87,65,76,76]},{"a":57880,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":57888,"t":"byte","b":[160,0,10,0,0,0,0,0]},{"a":57896,"t":"byte","b":[160,0,10,0,0,0,0,0]},{"a":57904,"t":"byte","b":[160,0,10,0,0,0,0,0]},{"a":57912,"t":"byte","b":[160,8,0,0,0,0,0,0]},{"a":57920,"t":"byte","b":[128,10,0,0,0,0,0,0]},{"a":57928,"t":"byte","b":[128,26,128,0,0,0,0,0]},{"a":57936,"t":"byte","b":[160,0,32,0,0,0,0,0]},{"a":57944,"t":"byte","b":[160,0,40,0,0,0,0,0]},{"a":57952,"t":"byte","b":[160,74,170,0,0,0,0,0]},{"a":57960,"t":"byte","b":[160,10,170,0,0,0,0,0]},{"a":57968,"t":"byte","b":[160,16,10,0,0,0,0,0]},{"a":57976,"t":"byte","b":[164,0,10,0,0,0,0,0]},{"a":57984,"t":"byte","b":[160,0,10,0,0,0,0,0]},{"a":57992,"t":"byte","b":[160,4,10,0,0,0,0,0]},{"a":58000,"t":"byte","b":[160,0,10,0,0,0,0,0]},{"a":58008,"t":"byte","b":[160,0,26,0,0,0,0,0]},{"a":58016,"t":"byte","b":[255,255,90,153,189,90,60,90]},{"a":58024,"t":"byte","b":[51,17,68,204,51,17,68,204]},{"a":58032,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":58040,"t":"byte","b":[255,7,131,193,225,241,249,253]},{"a":58048,"t":"byte","b":[255,7,131,193,225,241,249,253]},{"a":58056,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":58064,"t":"byte","b":[0,0,0,2,6,70,2,0]},{"a":58072,"t":"byte","b":[5,6,6,6,38,26,32,32]},{"a":58080,"t":"byte","b":[117,1,0,0,0,0,0,0]},{"a":58088,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":58096,"t":"byte","b":[10,0,0,0,0,0,0,0]},{"a":58104,"t":"byte","b":[0,0,16,0,0,0,0,0]},{"a":58112,"l":"room_33_the_bathroom","c":"Room 33: THE BATHROOM. One 256-byte room record, copied to $0840 by $2E55. $20-$9F stores 32 by 16 terrain cells as four two-bit cells per byte, most-significant pair first; $A0-$CF holds six eight-byte tile glyphs. Up/down/left/right exits are 33, 33, 34, 33 at $DC-$DF. Guardian start/count and rope flag occupy $E0-$E2. Remaining room fields are decoded by the construction routines.","t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":58120,"t":"byte","b":[32,32,84,72,69,32,66,65]},{"a":58128,"t":"byte","b":[84,72,82,79,79,77,32,32]},{"a":58136,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":58144,"t":"byte","b":[160,0,0,0,0,0,0,10]},{"a":58152,"t":"byte","b":[160,0,0,0,0,0,0,10]},{"a":58160,"t":"byte","b":[160,0,0,0,0,0,0,10]},{"a":58168,"t":"byte","b":[0,0,0,0,0,0,0,10]},{"a":58176,"t":"byte","b":[0,0,0,0,0,0,0,10]},{"a":58184,"t":"byte","b":[85,85,85,80,37,85,85,90]},{"a":58192,"t":"byte","b":[128,0,0,0,32,0,0,10]},{"a":58200,"t":"byte","b":[128,0,0,0,32,0,0,10]},{"a":58208,"t":"byte","b":[128,0,0,0,32,0,0,10]},{"a":58216,"t":"byte","b":[128,0,0,0,32,0,0,10]},{"a":58224,"t":"byte","b":[128,0,0,0,32,0,0,10]},{"a":58232,"t":"byte","b":[128,0,0,0,32,0,0,10]},{"a":58240,"t":"byte","b":[128,0,0,0,32,0,0,10]},{"a":58248,"t":"byte","b":[0,5,64,0,0,0,0,10]},{"a":58256,"t":"byte","b":[0,0,0,0,0,0,0,10]},{"a":58264,"t":"byte","b":[85,85,85,85,85,85,85,90]},{"a":58272,"t":"byte","b":[0,64,9,100,146,45,150,255]},{"a":58280,"t":"byte","b":[31,170,0,85,248,85,0,170]},{"a":58288,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":58296,"t":"byte","b":[171,170,168,160,128,128,128,128]},{"a":58304,"t":"byte","b":[90,255,255,255,255,255,255,255]},{"a":58312,"t":"byte","b":[34,4,10,119,135,177,170,10]},{"a":58320,"t":"byte","b":[132,14,20,5,16,136,2,0]},{"a":58328,"t":"byte","b":[10,5,1,1,33,33,34,33]},{"a":58336,"t":"byte","b":[118,1,0,0,0,0,0,0]},{"a":58344,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":58352,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":58360,"t":"byte","b":[0,0,16,0,0,0,0,0]},{"a":58368,"l":"room_34_top_landing","c":"Room 34: TOP LANDING. One 256-byte room record, copied to $0840 by $2E55. $20-$9F stores 32 by 16 terrain cells as four two-bit cells per byte, most-significant pair first; $A0-$CF holds six eight-byte tile glyphs. Up/down/left/right exits are 34, 28, 35, 33 at $DC-$DF. Guardian start/count and rope flag occupy $E0-$E2. Remaining room fields are decoded by the construction routines.","t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":58376,"t":"byte","b":[32,32,84,79,80,32,76,65]},{"a":58384,"t":"byte","b":[78,68,73,78,71,32,32,32]},{"a":58392,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":58400,"t":"byte","b":[170,170,170,170,170,170,170,170]},{"a":58408,"t":"byte","b":[170,170,170,170,170,170,170,170]},{"a":58416,"t":"byte","b":[160,0,0,0,0,0,0,10]},{"a":58424,"t":"byte","b":[160,0,0,0,0,0,0,0]},{"a":58432,"t":"byte","b":[165,80,85,5,85,85,0,0]},{"a":58440,"t":"byte","b":[160,0,0,0,0,0,170,170]},{"a":58448,"t":"byte","b":[160,0,0,0,0,0,0,10]},{"a":58456,"t":"byte","b":[160,0,0,0,0,0,0,10]},{"a":58464,"t":"byte","b":[165,80,85,5,84,0,0,10]},{"a":58472,"t":"byte","b":[160,0,0,0,0,0,0,10]},{"a":58480,"t":"byte","b":[160,0,0,0,0,0,0,10]},{"a":58488,"t":"byte","b":[160,0,0,0,0,0,0,10]},{"a":58496,"t":"byte","b":[165,80,85,5,64,0,0,10]},{"a":58504,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":58512,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":58520,"t":"byte","b":[85,85,85,85,85,5,85,85]},{"a":58528,"t":"byte","b":[255,170,85,255,0,0,0,0]},{"a":58536,"t":"byte","b":[105,144,144,105,150,105,105,150]},{"a":58544,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":58552,"t":"byte","b":[255,174,236,136,248,224,192,128]},{"a":58560,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":58568,"t":"byte","b":[24,36,164,202,149,10,21,10]},{"a":58576,"t":"byte","b":[0,0,0,5,23,135,6,0]},{"a":58584,"t":"byte","b":[8,2,6,0,34,28,35,33]},{"a":58592,"t":"byte","b":[119,3,0,0,0,0,0,0]},{"a":58600,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":58608,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":58616,"t":"byte","b":[0,0,16,0,0,0,0,0]},{"a":58624,"l":"room_35_master_bedroom","c":"Room 35: MASTER BEDROOM. One 256-byte room record, copied to $0840 by $2E55. $20-$9F stores 32 by 16 terrain cells as four two-bit cells per byte, most-significant pair first; $A0-$CF holds six eight-byte tile glyphs. Up/down/left/right exits are 35, 35, 35, 34 at $DC-$DF. Guardian start/count and rope flag occupy $E0-$E2. Remaining room fields are decoded by the construction routines.","t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":58632,"t":"byte","b":[32,77,65,83,84,69,82,32]},{"a":58640,"t":"byte","b":[66,69,68,82,79,79,77,32]},{"a":58648,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":58656,"t":"byte","b":[170,170,170,170,170,170,170,170]},{"a":58664,"t":"byte","b":[160,0,0,10,0,0,0,0]},{"a":58672,"t":"byte","b":[160,0,0,10,0,0,0,0]},{"a":58680,"t":"byte","b":[160,0,0,10,0,0,0,0]},{"a":58688,"t":"byte","b":[160,0,0,10,0,0,0,0]},{"a":58696,"t":"byte","b":[160,0,0,10,0,0,0,0]},{"a":58704,"t":"byte","b":[160,0,0,10,0,0,0,0]},{"a":58712,"t":"byte","b":[160,0,0,10,0,0,0,0]},{"a":58720,"t":"byte","b":[160,0,0,10,0,0,0,0]},{"a":58728,"t":"byte","b":[160,0,0,10,0,0,0,0]},{"a":58736,"t":"byte","b":[160,0,0,10,0,0,0,0]},{"a":58744,"t":"byte","b":[172,0,0,0,0,0,0,0]},{"a":58752,"t":"byte","b":[160,0,0,0,0,0,0,0]},{"a":58760,"t":"byte","b":[149,85,85,85,64,0,0,0]},{"a":58768,"t":"byte","b":[170,170,170,170,160,0,0,0]},{"a":58776,"t":"byte","b":[170,170,170,170,169,85,85,85]},{"a":58784,"t":"byte","b":[255,107,181,0,173,0,74,0]},{"a":58792,"t":"byte","b":[0,81,251,81,0,170,191,170]},{"a":58800,"t":"byte","b":[0,0,0,0,124,254,127,62]},{"a":58808,"t":"byte","b":[255,171,213,235,245,251,253,255]},{"a":58816,"t":"byte","b":[85,85,85,85,81,95,64,170]},{"a":58824,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":58832,"t":"byte","b":[4,12,2,13,17,2,6,0]},{"a":58840,"t":"byte","b":[8,8,8,6,35,35,35,34]},{"a":58848,"t":"byte","b":[122,0,0,0,0,0,0,0]},{"a":58856,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":58864,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":58872,"t":"byte","b":[0,0,16,0,0,0,0,0]},{"a":58880,"l":"room_36_a_bit_of_tree","c":"Room 36: A BIT OF TREE. One 256-byte room record, copied to $0840 by $2E55. $20-$9F stores 32 by 16 terrain cells as four two-bit cells per byte, most-significant pair first; $A0-$CF holds six eight-byte tile glyphs. Up/down/left/right exits are 42, 30, 37, 36 at $DC-$DF. Guardian start/count and rope flag occupy $E0-$E2. Remaining room fields are decoded by the construction routines.","t":"byte","b":[32,32,32,32,65,32,66,73]},{"a":58888,"t":"byte","b":[84,32,79,70,32,84,82,69]},{"a":58896,"t":"byte","b":[69,32,32,32,32,32,32,32]},{"a":58904,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":58912,"t":"byte","b":[0,0,0,160,0,0,0,3]},{"a":58920,"t":"byte","b":[0,0,0,160,0,0,0,3]},{"a":58928,"t":"byte","b":[0,0,0,160,0,0,0,3]},{"a":58936,"t":"byte","b":[0,0,0,160,0,0,0,3]},{"a":58944,"t":"byte","b":[0,0,16,160,0,64,0,3]},{"a":58952,"t":"byte","b":[0,0,0,160,0,0,0,3]},{"a":58960,"t":"byte","b":[0,20,0,160,0,1,64,3]},{"a":58968,"t":"byte","b":[0,0,16,160,0,0,0,3]},{"a":58976,"t":"byte","b":[0,0,0,160,0,0,0,3]},{"a":58984,"t":"byte","b":[0,0,20,160,0,0,64,3]},{"a":58992,"t":"byte","b":[85,80,0,165,64,0,0,3]},{"a":59000,"t":"byte","b":[0,0,0,160,0,0,1,3]},{"a":59008,"t":"byte","b":[0,0,0,160,0,0,64,3]},{"a":59016,"t":"byte","b":[0,0,0,160,5,0,0,3]},{"a":59024,"t":"byte","b":[0,0,0,160,0,0,0,3]},{"a":59032,"t":"byte","b":[0,0,1,164,0,0,0,3]},{"a":59040,"t":"byte","b":[173,82,41,0,1,2,0,0]},{"a":59048,"t":"byte","b":[214,107,102,219,105,107,217,109]},{"a":59056,"t":"byte","b":[21,0,170,85,170,0,21,10]},{"a":59064,"t":"byte","b":[3,8,36,16,64,32,128,128]},{"a":59072,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":59080,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":59088,"t":"byte","b":[0,0,0,8,21,130,3,0]},{"a":59096,"t":"byte","b":[5,7,2,0,42,30,37,36]},{"a":59104,"t":"byte","b":[122,2,0,0,0,0,0,0]},{"a":59112,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":59120,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":59128,"t":"byte","b":[0,0,16,0,0,0,0,0]},{"a":59136,"l":"room_37_orangery","c":"Room 37: ORANGERY. One 256-byte room record, copied to $0840 by $2E55. $20-$9F stores 32 by 16 terrain cells as four two-bit cells per byte, most-significant pair first; $A0-$CF holds six eight-byte tile glyphs. Up/down/left/right exits are 43, 31, 55, 36 at $DC-$DF. Guardian start/count and rope flag occupy $E0-$E2. Remaining room fields are decoded by the construction routines.","t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":59144,"t":"byte","b":[32,32,32,32,79,82,65,78]},{"a":59152,"t":"byte","b":[71,69,82,89,32,32,32,32]},{"a":59160,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":59168,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":59176,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":59184,"t":"byte","b":[0,0,0,0,0,1,0,0]},{"a":59192,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":59200,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":59208,"t":"byte","b":[0,0,0,0,64,0,16,0]},{"a":59216,"t":"byte","b":[0,0,0,0,0,4,0,64]},{"a":59224,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":59232,"t":"byte","b":[160,0,0,4,0,0,0,0]},{"a":59240,"t":"byte","b":[0,0,0,0,1,0,0,0]},{"a":59248,"t":"byte","b":[0,32,0,64,0,0,5,0]},{"a":59256,"t":"byte","b":[0,37,0,0,64,0,0,85]},{"a":59264,"t":"byte","b":[0,32,0,0,0,0,16,0]},{"a":59272,"t":"byte","b":[0,32,1,0,0,0,0,0]},{"a":59280,"t":"byte","b":[0,32,0,0,0,64,0,0]},{"a":59288,"t":"byte","b":[170,170,0,1,64,0,0,0]},{"a":59296,"t":"byte","b":[165,74,36,2,4,0,2,0]},{"a":59304,"t":"byte","b":[21,85,85,36,37,85,73,34]},{"a":59312,"t":"byte","b":[130,65,62,106,183,25,37,68]},{"a":59320,"t":"byte","b":[255,254,248,240,224,224,192,192]},{"a":59328,"t":"byte","b":[108,170,168,42,89,36,0,0]},{"a":59336,"t":"byte","b":[2,20,46,85,42,69,42,20]},{"a":59344,"t":"byte","b":[132,10,28,0,13,142,7,0]},{"a":59352,"t":"byte","b":[5,10,9,5,43,31,55,36]},{"a":59360,"t":"byte","b":[124,2,0,0,0,0,0,0]},{"a":59368,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":59376,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":59384,"t":"byte","b":[0,0,16,0,0,0,0,0]},{"a":59392,"l":"room_38_priests_hole","c":"Room 38: PRIESTS' HOLE. One 256-byte room record, copied to $0840 by $2E55. $20-$9F stores 32 by 16 terrain cells as four two-bit cells per byte, most-significant pair first; $A0-$CF holds six eight-byte tile glyphs. Up/down/left/right exits are 38, 32, 39, 38 at $DC-$DF. Guardian start/count and rope flag occupy $E0-$E2. Remaining room fields are decoded by the construction routines.","t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":59400,"t":"byte","b":[32,80,82,73,69,83,84,83]},{"a":59408,"t":"byte","b":[39,32,72,79,76,69,32,32]},{"a":59416,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":59424,"t":"byte","b":[160,0,10,0,0,0,0,0]},{"a":59432,"t":"byte","b":[160,0,10,0,0,0,0,0]},{"a":59440,"t":"byte","b":[160,0,10,0,0,0,0,0]},{"a":59448,"t":"byte","b":[0,0,10,0,0,0,0,0]},{"a":59456,"t":"byte","b":[0,0,10,0,0,0,0,0]},{"a":59464,"t":"byte","b":[165,0,90,0,0,0,0,0]},{"a":59472,"t":"byte","b":[160,0,10,0,0,0,0,0]},{"a":59480,"t":"byte","b":[161,0,10,0,0,0,0,0]},{"a":59488,"t":"byte","b":[160,0,74,0,0,0,0,0]},{"a":59496,"t":"byte","b":[160,0,10,0,0,0,0,0]},{"a":59504,"t":"byte","b":[161,0,0,0,0,0,0,0]},{"a":59512,"t":"byte","b":[160,0,0,0,0,0,0,0]},{"a":59520,"t":"byte","b":[160,0,90,0,0,0,0,0]},{"a":59528,"t":"byte","b":[160,0,10,0,0,0,0,0]},{"a":59536,"t":"byte","b":[160,64,10,0,0,0,0,0]},{"a":59544,"t":"byte","b":[160,1,10,0,0,0,0,0]},{"a":59552,"t":"byte","b":[85,85,93,215,112,0,0,0]},{"a":59560,"t":"byte","b":[34,17,68,136,34,17,68,136]},{"a":59568,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":59576,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":59584,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":59592,"t":"byte","b":[191,191,187,177,187,187,191,191]},{"a":59600,"t":"byte","b":[0,0,0,0,0,0,2,0]},{"a":59608,"t":"byte","b":[7,13,0,0,38,32,39,38]},{"a":59616,"t":"byte","b":[126,5,0,0,0,0,0,0]},{"a":59624,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":59632,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":59640,"t":"byte","b":[0,0,16,0,0,0,32,0]},{"a":59648,"l":"room_39_emergency_generator","c":"Room 39: EMERGENCY GENERATOR. One 256-byte room record, copied to $0840 by $2E55. $20-$9F stores 32 by 16 terrain cells as four two-bit cells per byte, most-significant pair first; $A0-$CF holds six eight-byte tile glyphs. Up/down/left/right exits are 39, 39, 40, 38 at $DC-$DF. Guardian start/count and rope flag occupy $E0-$E2. Remaining room fields are decoded by the construction routines.","t":"byte","b":[32,32,32,32,32,32,32,69]},{"a":59656,"t":"byte","b":[77,69,82,71,69,78,67,89]},{"a":59664,"t":"byte","b":[32,71,69,78,69,82,65,84]},{"a":59672,"t":"byte","b":[79,82,32,32,32,32,32,32]},{"a":59680,"t":"byte","b":[0,0,0,0,0,0,0,10]},{"a":59688,"t":"byte","b":[0,0,0,0,0,0,0,10]},{"a":59696,"t":"byte","b":[0,0,0,0,0,0,0,10]},{"a":59704,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":59712,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":59720,"t":"byte","b":[0,5,0,0,0,0,80,10]},{"a":59728,"t":"byte","b":[0,5,0,0,0,0,80,3]},{"a":59736,"t":"byte","b":[0,5,0,0,0,0,80,3]},{"a":59744,"t":"byte","b":[0,5,0,0,0,0,80,3]},{"a":59752,"t":"byte","b":[0,5,0,0,0,0,80,3]},{"a":59760,"t":"byte","b":[0,42,128,0,0,2,168,3]},{"a":59768,"t":"byte","b":[0,40,128,0,0,2,40,3]},{"a":59776,"t":"byte","b":[0,170,170,170,170,170,170,3]},{"a":59784,"t":"byte","b":[0,170,42,138,162,168,170,3]},{"a":59792,"t":"byte","b":[0,170,170,170,170,170,170,3]},{"a":59800,"t":"byte","b":[170,170,170,170,170,170,170,170]},{"a":59808,"t":"byte","b":[102,102,102,102,102,102,102,102]},{"a":59816,"t":"byte","b":[191,21,0,81,251,81,0,21]},{"a":59824,"t":"byte","b":[255,63,3,31,127,31,3,63]},{"a":59832,"t":"byte","b":[255,156,184,240,224,192,128,128]},{"a":59840,"t":"byte","b":[170,84,170,84,40,16,40,16]},{"a":59848,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":59856,"t":"byte","b":[142,11,9,5,23,134,2,0]},{"a":59864,"t":"byte","b":[2,2,3,2,39,39,40,38]},{"a":59872,"t":"byte","b":[131,1,0,0,0,0,0,0]},{"a":59880,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":59888,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":59896,"t":"byte","b":[0,0,16,0,0,0,0,0]},{"a":59904,"l":"room_40_dr_jones_will_never_believe_this","c":"Room 40: DR JONES WILL NEVER BELIEVE THIS. One 256-byte room record, copied to $0840 by $2E55. $20-$9F stores 32 by 16 terrain cells as four two-bit cells per byte, most-significant pair first; $A0-$CF holds six eight-byte tile glyphs. Up/down/left/right exits are 16, 40, 41, 39 at $DC-$DF. Guardian start/count and rope flag occupy $E0-$E2. Remaining room fields are decoded by the construction routines.","t":"byte","b":[68,82,32,74,79,78,69,83]},{"a":59912,"t":"byte","b":[32,87,73,76,76,32,78,69]},{"a":59920,"t":"byte","b":[86,69,82,32,66,69,76,73]},{"a":59928,"t":"byte","b":[69,86,69,32,84,72,73,83]},{"a":59936,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":59944,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":59952,"t":"byte","b":[0,0,0,234,0,0,0,0]},{"a":59960,"t":"byte","b":[0,0,0,170,160,0,0,0]},{"a":59968,"t":"byte","b":[0,0,0,149,84,0,0,0]},{"a":59976,"t":"byte","b":[0,14,168,213,21,0,0,0]},{"a":59984,"t":"byte","b":[0,10,170,133,170,0,0,0]},{"a":59992,"t":"byte","b":[0,5,80,144,168,32,0,0]},{"a":60000,"t":"byte","b":[80,5,80,133,160,0,0,0]},{"a":60008,"t":"byte","b":[0,10,80,144,160,0,0,0]},{"a":60016,"t":"byte","b":[4,10,80,133,128,64,0,0]},{"a":60024,"t":"byte","b":[0,18,80,144,128,0,0,0]},{"a":60032,"t":"byte","b":[0,66,80,5,128,16,0,16]},{"a":60040,"t":"byte","b":[0,2,0,1,128,0,64,0]},{"a":60048,"t":"byte","b":[0,2,148,1,144,0,0,0]},{"a":60056,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":60064,"t":"byte","b":[254,85,42,170,85,170,170,255]},{"a":60072,"t":"byte","b":[17,68,34,136,17,68,34,136]},{"a":60080,"t":"byte","b":[1,4,34,8,17,68,34,136]},{"a":60088,"t":"byte","b":[64,144,36,72,18,36,9,2]},{"a":60096,"t":"byte","b":[90,0,90,0,170,255,255,85]},{"a":60104,"t":"byte","b":[240,240,120,184,76,50,13,3]},{"a":60112,"t":"byte","b":[160,15,0,6,20,5,6,0]},{"a":60120,"t":"byte","b":[2,10,2,5,16,40,41,39]},{"a":60128,"t":"byte","b":[132,2,0,0,0,0,0,0]},{"a":60136,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":60144,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":60152,"t":"byte","b":[0,0,16,0,0,0,32,0]},{"a":60160,"l":"room_41_the_attic","c":"Room 41: THE ATTIC. One 256-byte room record, copied to $0840 by $2E55. $20-$9F stores 32 by 16 terrain cells as four two-bit cells per byte, most-significant pair first; $A0-$CF holds six eight-byte tile glyphs. Up/down/left/right exits are 41, 41, 42, 40 at $DC-$DF. Guardian start/count and rope flag occupy $E0-$E2. Remaining room fields are decoded by the construction routines.","t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":60168,"t":"byte","b":[32,32,84,72,69,32,65,84]},{"a":60176,"t":"byte","b":[84,73,67,32,32,32,32,32]},{"a":60184,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":60192,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":60200,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":60208,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":60216,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":60224,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":60232,"t":"byte","b":[0,192,3,0,0,0,0,0]},{"a":60240,"t":"byte","b":[85,149,86,80,0,0,0,0]},{"a":60248,"t":"byte","b":[160,0,0,0,0,0,0,0]},{"a":60256,"t":"byte","b":[164,0,0,0,5,0,0,5]},{"a":60264,"t":"byte","b":[160,0,0,0,0,0,0,0]},{"a":60272,"t":"byte","b":[164,0,0,0,0,80,0,0]},{"a":60280,"t":"byte","b":[160,0,0,0,0,0,0,0]},{"a":60288,"t":"byte","b":[164,0,0,0,0,4,0,0]},{"a":60296,"t":"byte","b":[160,0,0,0,0,0,0,0]},{"a":60304,"t":"byte","b":[164,3,0,192,192,0,0,0]},{"a":60312,"t":"byte","b":[85,101,149,150,85,149,86,89]},{"a":60320,"t":"byte","b":[206,255,0,231,0,127,0,251]},{"a":60328,"t":"byte","b":[238,17,108,146,17,201,34,156]},{"a":60336,"t":"byte","b":[36,18,68,170,85,170,91,255]},{"a":60344,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":60352,"t":"byte","b":[15,170,195,170,85,170,85,170]},{"a":60360,"t":"byte","b":[17,34,51,68,85,102,119,136]},{"a":60368,"t":"byte","b":[4,8,24,0,0,0,6,0]},{"a":60376,"t":"byte","b":[2,2,5,2,41,41,42,40]},{"a":60384,"t":"byte","b":[134,6,0,0,0,0,0,0]},{"a":60392,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":60400,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":60408,"t":"byte","b":[0,0,16,0,0,0,0,0]},{"a":60416,"l":"room_42_under_the_roof","c":"Room 42: UNDER THE ROOF. One 256-byte room record, copied to $0840 by $2E55. $20-$9F stores 32 by 16 terrain cells as four two-bit cells per byte, most-significant pair first; $A0-$CF holds six eight-byte tile glyphs. Up/down/left/right exits are 47, 36, 43, 41 at $DC-$DF. Guardian start/count and rope flag occupy $E0-$E2. Remaining room fields are decoded by the construction routines.","t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":60424,"t":"byte","b":[32,85,78,68,69,82,32,84]},{"a":60432,"t":"byte","b":[72,69,32,82,79,79,70,32]},{"a":60440,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":60448,"t":"byte","b":[0,0,0,255,255,255,255,240]},{"a":60456,"t":"byte","b":[0,0,0,0,195,252,48,0]},{"a":60464,"t":"byte","b":[0,0,0,3,243,252,252,0]},{"a":60472,"t":"byte","b":[0,0,0,0,0,240,0,0]},{"a":60480,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":60488,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":60496,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":60504,"t":"byte","b":[170,85,0,0,0,0,0,0]},{"a":60512,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":60520,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":60528,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":60536,"t":"byte","b":[0,0,0,160,0,1,64,0]},{"a":60544,"t":"byte","b":[0,0,80,160,1,0,0,0]},{"a":60552,"t":"byte","b":[85,80,0,160,64,0,0,0]},{"a":60560,"t":"byte","b":[84,0,1,160,0,0,0,0]},{"a":60568,"t":"byte","b":[0,0,0,160,0,64,0,0]},{"a":60576,"t":"byte","b":[181,170,85,74,37,66,1,2]},{"a":60584,"t":"byte","b":[102,182,109,187,102,185,109,182]},{"a":60592,"t":"byte","b":[102,170,95,188,99,172,107,164]},{"a":60600,"t":"byte","b":[213,255,96,192,64,192,64,192]},{"a":60608,"t":"byte","b":[90,170,219,102,102,102,102,102]},{"a":60616,"t":"byte","b":[255,255,255,255,255,255,255,255]},{"a":60624,"t":"byte","b":[20,6,12,0,10,135,2,0]},{"a":60632,"t":"byte","b":[5,10,3,8,47,36,43,41]},{"a":60640,"t":"byte","b":[140,2,0,0,0,0,0,0]},{"a":60648,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":60656,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":60664,"t":"byte","b":[0,0,16,0,0,0,0,0]},{"a":60672,"l":"room_43_conservatory_roof","c":"Room 43: CONSERVATORY ROOF. One 256-byte room record, copied to $0840 by $2E55. $20-$9F stores 32 by 16 terrain cells as four two-bit cells per byte, most-significant pair first; $A0-$CF holds six eight-byte tile glyphs. Up/down/left/right exits are 43, 37, 43, 42 at $DC-$DF. Guardian start/count and rope flag occupy $E0-$E2. Remaining room fields are decoded by the construction routines.","t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":60680,"t":"byte","b":[67,79,78,83,69,82,86,65]},{"a":60688,"t":"byte","b":[84,79,82,89,32,82,79,79]},{"a":60696,"t":"byte","b":[70,32,32,32,32,32,32,32]},{"a":60704,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":60712,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":60720,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":60728,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":60736,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":60744,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":60752,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":60760,"t":"byte","b":[0,0,0,0,0,42,170,170]},{"a":60768,"t":"byte","b":[0,0,0,0,0,48,195,0]},{"a":60776,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":60784,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":60792,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":60800,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":60808,"t":"byte","b":[0,0,0,0,0,0,80,0]},{"a":60816,"t":"byte","b":[0,0,0,0,0,0,5,85]},{"a":60824,"t":"byte","b":[0,0,0,0,0,4,0,0]},{"a":60832,"t":"byte","b":[172,83,42,208,138,36,34,4]},{"a":60840,"t":"byte","b":[247,239,0,0,0,102,102,0]},{"a":60848,"t":"byte","b":[218,213,127,46,17,31,10,27]},{"a":60856,"t":"byte","b":[213,255,96,192,64,192,64,192]},{"a":60864,"t":"byte","b":[255,255,255,255,255,255,255,255]},{"a":60872,"t":"byte","b":[24,24,248,60,126,96,96,126]},{"a":60880,"t":"byte","b":[6,13,26,7,20,137,3,0]},{"a":60888,"t":"byte","b":[5,11,4,1,43,37,43,42]},{"a":60896,"t":"byte","b":[142,2,0,0,0,0,0,0]},{"a":60904,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":60912,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":60920,"t":"byte","b":[0,0,16,0,0,0,0,0]},{"a":60928,"l":"room_44_on_top_of_the_house","c":"Room 44: ON TOP OF THE HOUSE. One 256-byte room record, copied to $0840 by $2E55. $20-$9F stores 32 by 16 terrain cells as four two-bit cells per byte, most-significant pair first; $A0-$CF holds six eight-byte tile glyphs. Up/down/left/right exits are 44, 38, 14, 44 at $DC-$DF. Guardian start/count and rope flag occupy $E0-$E2. Remaining room fields are decoded by the construction routines.","t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":60936,"t":"byte","b":[32,79,78,32,84,79,80,32]},{"a":60944,"t":"byte","b":[79,70,32,84,72,69,32,72]},{"a":60952,"t":"byte","b":[79,85,83,69,32,32,32,32]},{"a":60960,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":60968,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":60976,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":60984,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":60992,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":61000,"t":"byte","b":[146,0,0,0,4,0,0,0]},{"a":61008,"t":"byte","b":[144,0,0,0,16,0,0,0]},{"a":61016,"t":"byte","b":[144,0,0,0,64,0,0,0]},{"a":61024,"t":"byte","b":[146,0,0,1,0,0,0,0]},{"a":61032,"t":"byte","b":[146,128,0,4,0,0,0,0]},{"a":61040,"t":"byte","b":[146,160,130,16,0,0,0,0]},{"a":61048,"t":"byte","b":[146,170,170,64,0,0,0,0]},{"a":61056,"t":"byte","b":[146,170,170,0,0,0,0,0]},{"a":61064,"t":"byte","b":[16,0,0,0,0,0,0,0]},{"a":61072,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":61080,"t":"byte","b":[170,170,170,0,0,0,0,0]},{"a":61088,"t":"byte","b":[160,64,128,0,0,0,0,0]},{"a":61096,"t":"byte","b":[81,170,0,170,21,170,0,170]},{"a":61104,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":61112,"t":"byte","b":[255,131,134,140,152,176,224,192]},{"a":61120,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":61128,"t":"byte","b":[0,0,24,20,26,53,107,208]},{"a":61136,"t":"byte","b":[0,0,0,5,17,134,4,6]},{"a":61144,"t":"byte","b":[2,3,0,0,44,38,14,44]},{"a":61152,"t":"byte","b":[144,1,0,0,0,0,0,0]},{"a":61160,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":61168,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":61176,"t":"byte","b":[0,0,16,0,0,0,0,0]},{"a":61184,"l":"room_45_under_the_drive","c":"Room 45: UNDER THE DRIVE. One 256-byte room record, copied to $0840 by $2E55. $20-$9F stores 32 by 16 terrain cells as four two-bit cells per byte, most-significant pair first; $A0-$CF holds six eight-byte tile glyphs. Up/down/left/right exits are 4, 45, 45, 46 at $DC-$DF. Guardian start/count and rope flag occupy $E0-$E2. Remaining room fields are decoded by the construction routines.","t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":61192,"t":"byte","b":[32,32,85,78,68,69,82,32]},{"a":61200,"t":"byte","b":[84,72,69,32,68,82,73,86]},{"a":61208,"t":"byte","b":[69,32,32,32,32,32,32,32]},{"a":61216,"t":"byte","b":[160,0,0,0,0,0,170,170]},{"a":61224,"t":"byte","b":[160,0,0,0,0,0,170,170]},{"a":61232,"t":"byte","b":[160,0,0,0,0,0,170,170]},{"a":61240,"t":"byte","b":[160,0,0,0,0,5,170,170]},{"a":61248,"t":"byte","b":[168,0,0,0,0,0,170,170]},{"a":61256,"t":"byte","b":[170,0,0,0,16,0,2,170]},{"a":61264,"t":"byte","b":[170,128,0,0,0,80,0,170]},{"a":61272,"t":"byte","b":[170,160,0,0,0,0,0,10]},{"a":61280,"t":"byte","b":[170,168,0,5,80,0,0,0]},{"a":61288,"t":"byte","b":[170,170,0,0,0,192,0,0]},{"a":61296,"t":"byte","b":[170,170,128,0,0,0,0,0]},{"a":61304,"t":"byte","b":[170,170,160,0,0,0,0,0]},{"a":61312,"t":"byte","b":[170,170,168,0,0,0,0,0]},{"a":61320,"t":"byte","b":[170,170,170,0,0,0,0,0]},{"a":61328,"t":"byte","b":[170,170,170,128,48,12,12,0]},{"a":61336,"t":"byte","b":[170,170,170,170,170,170,170,170]},{"a":61344,"t":"byte","b":[255,255,165,88,36,66,32,0]},{"a":61352,"t":"byte","b":[16,42,85,160,16,32,16,8]},{"a":61360,"t":"byte","b":[24,24,20,34,34,85,17,40]},{"a":61368,"t":"byte","b":[255,127,191,95,175,87,171,85]},{"a":61376,"t":"byte","b":[14,170,143,0,255,255,102,102]},{"a":61384,"t":"byte","b":[129,100,205,15,97,218,51,26]},{"a":61392,"t":"byte","b":[143,10,17,3,2,12,5,0]},{"a":61400,"t":"byte","b":[7,6,5,4,4,45,45,46]},{"a":61408,"t":"byte","b":[145,3,0,0,0,0,0,0]},{"a":61416,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":61424,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":61432,"t":"byte","b":[0,0,16,0,0,0,0,0]},{"a":61440,"l":"room_46_tree_root","c":"Room 46: TREE ROOT. One 256-byte room record, copied to $0840 by $2E55. $20-$9F stores 32 by 16 terrain cells as four two-bit cells per byte, most-significant pair first; $A0-$CF holds six eight-byte tile glyphs. Up/down/left/right exits are 46, 46, 45, 46 at $DC-$DF. Guardian start/count and rope flag occupy $E0-$E2. Remaining room fields are decoded by the construction routines.","t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":61448,"t":"byte","b":[32,32,32,84,82,69,69,32]},{"a":61456,"t":"byte","b":[82,79,79,84,32,32,32,32]},{"a":61464,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":61472,"t":"byte","b":[170,10,170,170,170,170,170,170]},{"a":61480,"t":"byte","b":[170,10,170,170,170,170,170,170]},{"a":61488,"t":"byte","b":[170,10,170,170,170,170,170,170]},{"a":61496,"t":"byte","b":[170,10,160,170,170,170,170,170]},{"a":61504,"t":"byte","b":[170,10,160,170,0,160,0,10]},{"a":61512,"t":"byte","b":[170,10,160,170,0,160,0,10]},{"a":61520,"t":"byte","b":[170,10,160,0,0,160,0,10]},{"a":61528,"t":"byte","b":[170,10,160,0,0,160,0,10]},{"a":61536,"t":"byte","b":[0,0,5,0,0,160,0,10]},{"a":61544,"t":"byte","b":[0,0,0,0,0,0,0,10]},{"a":61552,"t":"byte","b":[0,0,0,0,0,0,0,42]},{"a":61560,"t":"byte","b":[0,0,0,1,85,85,64,170]},{"a":61568,"t":"byte","b":[0,0,0,0,0,0,2,170]},{"a":61576,"t":"byte","b":[0,0,0,0,0,0,10,170]},{"a":61584,"t":"byte","b":[0,12,3,3,0,48,42,170]},{"a":61592,"t":"byte","b":[170,170,170,170,170,170,170,170]},{"a":61600,"t":"byte","b":[255,255,0,0,0,0,0,0]},{"a":61608,"t":"byte","b":[102,153,36,36,119,136,141,114]},{"a":61616,"t":"byte","b":[28,42,95,125,190,254,210,124]},{"a":61624,"t":"byte","b":[255,254,253,250,245,234,213,170]},{"a":61632,"t":"byte","b":[238,170,131,255,255,16,16,56]},{"a":61640,"t":"byte","b":[2,29,34,94,190,124,56,16]},{"a":61648,"t":"byte","b":[141,10,0,9,29,134,6,0]},{"a":61656,"t":"byte","b":[8,4,2,5,46,46,45,46]},{"a":61664,"t":"byte","b":[148,4,0,0,0,0,0,0]},{"a":61672,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":61680,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":61688,"t":"byte","b":[0,0,16,0,0,0,32,0]},{"a":61696,"l":"room_47_nomen_luni","c":"Room 47: NOMEN LUNI. One 256-byte room record, copied to $0840 by $2E55. $20-$9F stores 32 by 16 terrain cells as four two-bit cells per byte, most-significant pair first; $A0-$CF holds six eight-byte tile glyphs. Up/down/left/right exits are 47, 42, 47, 18 at $DC-$DF. Guardian start/count and rope flag occupy $E0-$E2. Remaining room fields are decoded by the construction routines.","t":"byte","b":[32,32,32,32,32,32,32,32],"x":[53285]},{"a":61704,"t":"byte","b":[32,32,32,78,79,77,69,78]},{"a":61712,"t":"byte","b":[32,76,85,78,73,32,32,32]},{"a":61720,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":61728,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":61736,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":61744,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":61752,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":61760,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":61768,"t":"byte","b":[0,0,0,0,10,170,0,0]},{"a":61776,"t":"byte","b":[0,0,0,1,10,170,0,80]},{"a":61784,"t":"byte","b":[0,0,0,0,0,160,0,0]},{"a":61792,"t":"byte","b":[0,0,1,80,0,160,64,0]},{"a":61800,"t":"byte","b":[0,0,0,0,4,160,0,10]},{"a":61808,"t":"byte","b":[0,0,0,0,0,160,0,42]},{"a":61816,"t":"byte","b":[0,0,0,0,64,160,10,162]},{"a":61824,"t":"byte","b":[0,0,0,0,1,160,33,66]},{"a":61832,"t":"byte","b":[0,0,0,0,0,160,0,10]},{"a":61840,"t":"byte","b":[0,0,0,170,170,170,170,162]},{"a":61848,"t":"byte","b":[0,0,0,170,170,170,170,162]},{"a":61856,"t":"byte","b":[255,34,68,136,85,34,0,0]},{"a":61864,"t":"byte","b":[170,112,170,108,177,95,170,85]},{"a":61872,"t":"byte","b":[85,162,85,12,28,42,69,138]},{"a":61880,"t":"byte","b":[255,192,192,192,192,192,192,192]},{"a":61888,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":61896,"t":"byte","b":[18,18,18,18,18,18,18,18]},{"a":61904,"t":"byte","b":[0,0,0,11,13,133,2,0]},{"a":61912,"t":"byte","b":[6,14,14,0,47,42,47,18]},{"a":61920,"t":"byte","b":[152,4,0,0,0,0,0,0]},{"a":61928,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":61936,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":61944,"t":"byte","b":[0,0,16,0,0,0,32,0]},{"a":61952,"l":"room_48_the_wine_cellar","c":"Room 48: THE WINE CELLAR. One 256-byte room record, copied to $0840 by $2E55. $20-$9F stores 32 by 16 terrain cells as four two-bit cells per byte, most-significant pair first; $A0-$CF holds six eight-byte tile glyphs. Up/down/left/right exits are 51, 48, 50, 19 at $DC-$DF. Guardian start/count and rope flag occupy $E0-$E2. Remaining room fields are decoded by the construction routines.","t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":61960,"t":"byte","b":[84,72,69,32,87,73,78,69]},{"a":61968,"t":"byte","b":[32,67,69,76,76,65,82,32]},{"a":61976,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":61984,"t":"byte","b":[0,0,0,0,0,12,2,170]},{"a":61992,"t":"byte","b":[0,0,0,0,0,0,2,170]},{"a":62000,"t":"byte","b":[85,64,0,0,0,0,2,170]},{"a":62008,"t":"byte","b":[0,0,0,0,0,0,0,42]},{"a":62016,"t":"byte","b":[0,0,0,0,0,0,0,42]},{"a":62024,"t":"byte","b":[170,168,0,65,0,21,86,170]},{"a":62032,"t":"byte","b":[170,0,0,0,0,0,0,42]},{"a":62040,"t":"byte","b":[170,0,0,0,0,0,0,42]},{"a":62048,"t":"byte","b":[170,168,0,65,0,85,86,170]},{"a":62056,"t":"byte","b":[160,0,0,0,0,0,0,42]},{"a":62064,"t":"byte","b":[160,0,0,0,0,0,0,42]},{"a":62072,"t":"byte","b":[170,168,0,65,1,85,85,85]},{"a":62080,"t":"byte","b":[170,0,0,195,3,0,0,0]},{"a":62088,"t":"byte","b":[170,0,0,0,0,0,10,170]},{"a":62096,"t":"byte","b":[170,168,0,0,0,0,42,170]},{"a":62104,"t":"byte","b":[170,170,170,170,170,170,170,170]},{"a":62112,"t":"byte","b":[255,24,231,16,199,56,0,0]},{"a":62120,"t":"byte","b":[10,65,40,5,160,20,130,80]},{"a":62128,"t":"byte","b":[36,36,36,90,219,189,195,126]},{"a":62136,"t":"byte","b":[255,254,253,250,245,234,213,170]},{"a":62144,"t":"byte","b":[170,85,170,85,170,85,170,85]},{"a":62152,"t":"byte","b":[0,25,249,31,0,25,255,31]},{"a":62160,"t":"byte","b":[5,12,27,12,26,131,5,0]},{"a":62168,"t":"byte","b":[4,3,1,6,51,48,50,19]},{"a":62176,"t":"byte","b":[156,4,0,0,0,0,0,0]},{"a":62184,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":62192,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":62200,"t":"byte","b":[0,0,16,0,0,0,32,0]},{"a":62208,"l":"room_49_watch_tower","c":"Room 49: WATCH TOWER. One 256-byte room record, copied to $0840 by $2E55. $20-$9F stores 32 by 16 terrain cells as four two-bit cells per byte, most-significant pair first; $A0-$CF holds six eight-byte tile glyphs. Up/down/left/right exits are 0, 16, 49, 49 at $DC-$DF. Guardian start/count and rope flag occupy $E0-$E2. Remaining room fields are decoded by the construction routines.","t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":62216,"t":"byte","b":[32,32,87,65,84,67,72,32]},{"a":62224,"t":"byte","b":[84,79,87,69,82,32,32,32]},{"a":62232,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":62240,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":62248,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":62256,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":62264,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":62272,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":62280,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":62288,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":62296,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":62304,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":62312,"t":"byte","b":[0,8,0,0,0,0,32,0]},{"a":62320,"t":"byte","b":[0,8,12,0,0,192,224,0]},{"a":62328,"t":"byte","b":[0,10,170,160,26,170,160,0]},{"a":62336,"t":"byte","b":[0,0,0,160,10,0,0,0]},{"a":62344,"t":"byte","b":[0,0,0,165,10,0,0,0]},{"a":62352,"t":"byte","b":[0,0,0,160,10,0,0,0]},{"a":62360,"t":"byte","b":[0,0,0,160,90,0,0,0]},{"a":62368,"t":"byte","b":[255,255,170,85,170,85,0,0]},{"a":62376,"t":"byte","b":[170,85,85,170,85,170,170,85]},{"a":62384,"t":"byte","b":[70,137,137,54,72,131,132,104]},{"a":62392,"t":"byte","b":[255,254,248,240,224,192,192,192]},{"a":62400,"t":"byte","b":[111,255,126,0,0,0,0,0]},{"a":62408,"t":"byte","b":[116,56,102,191,191,157,66,60]},{"a":62416,"t":"byte","b":[8,4,12,4,11,133,3,6]},{"a":62424,"t":"byte","b":[9,1,3,3,0,16,49,49]},{"a":62432,"t":"byte","b":[160,2,0,0,0,0,0,0]},{"a":62440,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":62448,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":62456,"t":"byte","b":[0,0,16,0,0,0,32,0]},{"a":62464,"l":"room_50_tool_shed","c":"Room 50: TOOL SHED. One 256-byte room record, copied to $0840 by $2E55. $20-$9F stores 32 by 16 terrain cells as four two-bit cells per byte, most-significant pair first; $A0-$CF holds six eight-byte tile glyphs. Up/down/left/right exits are 52, 50, 57, 48 at $DC-$DF. Guardian start/count and rope flag occupy $E0-$E2. Remaining room fields are decoded by the construction routines.","t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":62472,"t":"byte","b":[32,32,32,84,79,79,76,32]},{"a":62480,"t":"byte","b":[83,72,69,68,32,32,32,32]},{"a":62488,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":62496,"t":"byte","b":[0,0,2,170,160,0,0,0]},{"a":62504,"t":"byte","b":[0,0,10,170,160,0,0,0]},{"a":62512,"t":"byte","b":[0,0,42,170,170,170,170,170]},{"a":62520,"t":"byte","b":[0,0,0,0,192,0,0,0]},{"a":62528,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":62536,"t":"byte","b":[0,0,0,0,0,0,0,170]},{"a":62544,"t":"byte","b":[0,0,0,0,0,0,0,170]},{"a":62552,"t":"byte","b":[0,0,0,0,0,0,0,170]},{"a":62560,"t":"byte","b":[170,168,0,65,0,64,42,170]},{"a":62568,"t":"byte","b":[170,168,0,0,0,0,42,170]},{"a":62576,"t":"byte","b":[170,168,0,0,0,0,106,170]},{"a":62584,"t":"byte","b":[170,168,17,0,16,0,42,170]},{"a":62592,"t":"byte","b":[170,168,0,0,0,64,42,170]},{"a":62600,"t":"byte","b":[170,168,0,0,0,0,106,170]},{"a":62608,"t":"byte","b":[170,168,0,0,0,0,42,170]},{"a":62616,"t":"byte","b":[170,170,170,170,170,170,170,170]},{"a":62624,"t":"byte","b":[90,255,34,68,34,64,0,0]},{"a":62632,"t":"byte","b":[85,170,68,34,85,170,68,34]},{"a":62640,"t":"byte","b":[4,4,4,136,80,32,16,8]},{"a":62648,"t":"byte","b":[255,192,192,192,192,192,192,192]},{"a":62656,"t":"byte","b":[14,170,0,102,102,102,102,102]},{"a":62664,"t":"byte","b":[24,24,24,24,24,155,127,59]},{"a":62672,"t":"byte","b":[18,15,7,0,10,136,3,0]},{"a":62680,"t":"byte","b":[3,2,9,5,52,50,57,48]},{"a":62688,"t":"byte","b":[162,3,0,0,0,0,0,0]},{"a":62696,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":62704,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":62712,"t":"byte","b":[0,0,16,0,0,0,0,0]},{"a":62720,"l":"room_51_back_stairway","c":"Room 51: BACK STAIRWAY. One 256-byte room record, copied to $0840 by $2E55. $20-$9F stores 32 by 16 terrain cells as four two-bit cells per byte, most-significant pair first; $A0-$CF holds six eight-byte tile glyphs. Up/down/left/right exits are 53, 48, 52, 25 at $DC-$DF. Guardian start/count and rope flag occupy $E0-$E2. Remaining room fields are decoded by the construction routines.","t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":62728,"t":"byte","b":[32,66,65,67,75,32,83,84]},{"a":62736,"t":"byte","b":[65,73,82,87,65,89,32,32]},{"a":62744,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":62752,"t":"byte","b":[0,0,0,0,10,170,170,170]},{"a":62760,"t":"byte","b":[0,0,0,0,42,170,170,170]},{"a":62768,"t":"byte","b":[0,0,0,0,85,85,85,85]},{"a":62776,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":62784,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":62792,"t":"byte","b":[0,0,0,21,85,85,85,85]},{"a":62800,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":62808,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":62816,"t":"byte","b":[0,0,5,85,85,85,85,85]},{"a":62824,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":62832,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":62840,"t":"byte","b":[85,84,85,85,85,85,85,85]},{"a":62848,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":62856,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":62864,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":62872,"t":"byte","b":[69,85,85,85,85,85,85,85]},{"a":62880,"t":"byte","b":[255,68,68,255,17,17,255,0]},{"a":62888,"t":"byte","b":[21,241,143,168,138,248,31,21]},{"a":62896,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":62904,"t":"byte","b":[255,227,198,134,140,188,240,192]},{"a":62912,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":62920,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":62928,"t":"byte","b":[0,0,0,0,17,144,2,0]},{"a":62936,"t":"byte","b":[6,2,7,0,53,48,52,25]},{"a":62944,"t":"byte","b":[165,3,0,0,0,0,0,0]},{"a":62952,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":62960,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":62968,"t":"byte","b":[0,0,16,0,0,0,32,0]},{"a":62976,"l":"room_52_back_door","c":"Room 52: BACK DOOR. One 256-byte room record, copied to $0840 by $2E55. $20-$9F stores 32 by 16 terrain cells as four two-bit cells per byte, most-significant pair first; $A0-$CF holds six eight-byte tile glyphs. Up/down/left/right exits are 52, 50, 52, 51 at $DC-$DF. Guardian start/count and rope flag occupy $E0-$E2. Remaining room fields are decoded by the construction routines.","t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":62984,"t":"byte","b":[32,32,32,32,66,65,67,75]},{"a":62992,"t":"byte","b":[32,68,79,79,82,32,32,32]},{"a":63000,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":63008,"t":"byte","b":[0,0,0,0,160,0,0,0]},{"a":63016,"t":"byte","b":[0,0,0,0,160,0,0,0]},{"a":63024,"t":"byte","b":[0,0,0,0,160,0,0,0]},{"a":63032,"t":"byte","b":[0,0,0,0,160,0,0,0]},{"a":63040,"t":"byte","b":[0,0,0,0,160,0,0,0]},{"a":63048,"t":"byte","b":[0,0,0,0,160,0,0,0]},{"a":63056,"t":"byte","b":[0,0,0,0,160,0,0,0]},{"a":63064,"t":"byte","b":[0,0,0,0,160,0,0,0]},{"a":63072,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":63080,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":63088,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":63096,"t":"byte","b":[0,0,0,5,85,85,85,85]},{"a":63104,"t":"byte","b":[0,0,0,42,160,0,0,0]},{"a":63112,"t":"byte","b":[0,0,0,170,160,0,0,0]},{"a":63120,"t":"byte","b":[0,0,2,170,160,0,0,0]},{"a":63128,"t":"byte","b":[0,0,10,170,160,0,0,0]},{"a":63136,"t":"byte","b":[255,255,255,170,85,170,85,0]},{"a":63144,"t":"byte","b":[105,210,165,75,150,45,90,180]},{"a":63152,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":63160,"t":"byte","b":[255,131,135,143,159,191,254,252]},{"a":63168,"t":"byte","b":[15,240,15,240,102,102,0,0]},{"a":63176,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":63184,"t":"byte","b":[14,15,18,11,13,133,6,0]},{"a":63192,"t":"byte","b":[4,5,6,5,52,50,52,51]},{"a":63200,"t":"byte","b":[168,0,0,0,0,0,0,0]},{"a":63208,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":63216,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":63224,"t":"byte","b":[0,0,16,0,0,0,32,0]},{"a":63232,"l":"room_53_west_wing","c":"Room 53: WEST  WING. One 256-byte room record, copied to $0840 by $2E55. $20-$9F stores 32 by 16 terrain cells as four two-bit cells per byte, most-significant pair first; $A0-$CF holds six eight-byte tile glyphs. Up/down/left/right exits are 55, 51, 54, 31 at $DC-$DF. Guardian start/count and rope flag occupy $E0-$E2. Remaining room fields are decoded by the construction routines.","t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":63240,"t":"byte","b":[32,32,32,87,69,83,84,32]},{"a":63248,"t":"byte","b":[32,87,73,78,71,32,32,32]},{"a":63256,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":63264,"t":"byte","b":[0,160,0,0,0,0,0,0]},{"a":63272,"t":"byte","b":[0,160,0,0,0,0,0,0]},{"a":63280,"t":"byte","b":[0,160,0,0,0,0,0,0]},{"a":63288,"t":"byte","b":[85,160,0,0,0,0,0,0]},{"a":63296,"t":"byte","b":[0,160,0,0,0,0,0,0]},{"a":63304,"t":"byte","b":[0,160,0,0,0,0,0,0]},{"a":63312,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":63320,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":63328,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":63336,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":63344,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":63352,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":63360,"t":"byte","b":[85,85,85,80,0,85,85,85]},{"a":63368,"t":"byte","b":[0,0,0,0,2,170,170,170]},{"a":63376,"t":"byte","b":[0,0,0,0,10,170,170,170]},{"a":63384,"t":"byte","b":[0,0,0,0,42,170,170,170]},{"a":63392,"t":"byte","b":[249,255,63,213,170,21,74,132]},{"a":63400,"t":"byte","b":[172,174,1,173,173,2,172,232]},{"a":63408,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":63416,"t":"byte","b":[255,254,248,240,224,192,192,192]},{"a":63424,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":63432,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":63440,"t":"byte","b":[0,0,0,0,31,144,2,0]},{"a":63448,"t":"byte","b":[6,5,6,0,55,51,54,31]},{"a":63456,"t":"byte","b":[168,3,0,0,0,0,0,0]},{"a":63464,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":63472,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":63480,"t":"byte","b":[0,0,16,0,0,0,32,0]},{"a":63488,"l":"room_54_west_bedroom","c":"Room 54: WEST BEDROOM. One 256-byte room record, copied to $0840 by $2E55. $20-$9F stores 32 by 16 terrain cells as four two-bit cells per byte, most-significant pair first; $A0-$CF holds six eight-byte tile glyphs. Up/down/left/right exits are 56, 52, 54, 53 at $DC-$DF. Guardian start/count and rope flag occupy $E0-$E2. Remaining room fields are decoded by the construction routines.","t":"byte","b":[32,32,32,32,87,69,83,84]},{"a":63496,"t":"byte","b":[32,66,69,68,82,79,79,77]},{"a":63504,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":63512,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":63520,"t":"byte","b":[0,0,4,0,160,64,0,0]},{"a":63528,"t":"byte","b":[0,0,0,0,160,64,0,0]},{"a":63536,"t":"byte","b":[0,0,16,0,160,64,0,0]},{"a":63544,"t":"byte","b":[0,0,0,0,160,64,0,21]},{"a":63552,"t":"byte","b":[0,0,4,0,160,64,0,0]},{"a":63560,"t":"byte","b":[0,0,0,0,160,64,0,0]},{"a":63568,"t":"byte","b":[0,0,0,16,160,64,0,0]},{"a":63576,"t":"byte","b":[0,0,0,0,160,64,0,0]},{"a":63584,"t":"byte","b":[0,0,4,0,0,64,0,0]},{"a":63592,"t":"byte","b":[0,0,0,0,0,64,0,0]},{"a":63600,"t":"byte","b":[0,0,16,0,0,64,0,0]},{"a":63608,"t":"byte","b":[0,0,8,0,0,64,0,0]},{"a":63616,"t":"byte","b":[0,0,9,85,85,85,85,85]},{"a":63624,"t":"byte","b":[0,0,10,170,160,0,0,0]},{"a":63632,"t":"byte","b":[0,0,0,0,160,0,0,0]},{"a":63640,"t":"byte","b":[0,0,0,0,160,0,0,0]},{"a":63648,"t":"byte","b":[170,85,130,65,130,65,130,65]},{"a":63656,"t":"byte","b":[168,85,168,86,207,46,38,193]},{"a":63664,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":63672,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":63680,"t":"byte","b":[90,255,219,170,85,186,69,131]},{"a":63688,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":63696,"t":"byte","b":[131,3,26,0,0,0,3,0]},{"a":63704,"t":"byte","b":[9,6,0,2,56,52,54,53]},{"a":63712,"t":"byte","b":[171,2,0,0,0,0,0,0]},{"a":63720,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":63728,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":63736,"t":"byte","b":[0,0,16,0,0,0,32,0]},{"a":63744,"l":"room_55_west_wing_roof","c":"Room 55: WEST WING ROOF. One 256-byte room record, copied to $0840 by $2E55. $20-$9F stores 32 by 16 terrain cells as four two-bit cells per byte, most-significant pair first; $A0-$CF holds six eight-byte tile glyphs. Up/down/left/right exits are 55, 53, 56, 37 at $DC-$DF. Guardian start/count and rope flag occupy $E0-$E2. Remaining room fields are decoded by the construction routines.","t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":63752,"t":"byte","b":[32,87,69,83,84,32,87,73]},{"a":63760,"t":"byte","b":[78,71,32,82,79,79,70,32]},{"a":63768,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":63776,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":63784,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":63792,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":63800,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":63808,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":63816,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":63824,"t":"byte","b":[85,160,0,0,0,0,0,0]},{"a":63832,"t":"byte","b":[0,160,48,48,12,12,3,0]},{"a":63840,"t":"byte","b":[0,165,85,85,85,85,85,85]},{"a":63848,"t":"byte","b":[0,160,0,0,0,0,0,0]},{"a":63856,"t":"byte","b":[0,160,0,0,0,0,0,0]},{"a":63864,"t":"byte","b":[80,160,0,0,0,0,0,0]},{"a":63872,"t":"byte","b":[0,160,0,0,0,0,0,0]},{"a":63880,"t":"byte","b":[1,160,0,0,0,0,0,0]},{"a":63888,"t":"byte","b":[0,160,0,0,0,0,0,0]},{"a":63896,"t":"byte","b":[4,165,85,85,85,85,85,5]},{"a":63904,"t":"byte","b":[255,170,255,164,164,167,228,60]},{"a":63912,"t":"byte","b":[225,132,30,72,225,132,30,72]},{"a":63920,"t":"byte","b":[24,60,126,255,175,85,58,16]},{"a":63928,"t":"byte","b":[170,0,168,0,160,0,128,0]},{"a":63936,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":63944,"t":"byte","b":[0,0,0,10,13,60,242,192]},{"a":63952,"t":"byte","b":[0,0,0,12,31,132,6,0]},{"a":63960,"t":"byte","b":[4,5,2,0,55,53,56,37]},{"a":63968,"t":"byte","b":[173,2,0,0,0,0,0,0]},{"a":63976,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":63984,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":63992,"t":"byte","b":[0,0,16,0,0,0,32,0]},{"a":64000,"l":"room_56_above_the_west_bedroom","c":"Room 56: ABOVE THE WEST BEDROOM. One 256-byte room record, copied to $0840 by $2E55. $20-$9F stores 32 by 16 terrain cells as four two-bit cells per byte, most-significant pair first; $A0-$CF holds six eight-byte tile glyphs. Up/down/left/right exits are 56, 54, 55, 55 at $DC-$DF. Guardian start/count and rope flag occupy $E0-$E2. Remaining room fields are decoded by the construction routines.","t":"byte","b":[32,32,32,65,66,79,86,69]},{"a":64008,"t":"byte","b":[32,84,72,69,32,87,69,83]},{"a":64016,"t":"byte","b":[84,32,66,69,68,82,79,79]},{"a":64024,"t":"byte","b":[77,32,32,32,32,32,32,32]},{"a":64032,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":64040,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":64048,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":64056,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":64064,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":64072,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":64080,"t":"byte","b":[0,0,0,0,0,0,21,85]},{"a":64088,"t":"byte","b":[0,0,0,0,0,0,208,0]},{"a":64096,"t":"byte","b":[0,0,0,0,0,3,16,0]},{"a":64104,"t":"byte","b":[0,0,0,0,0,12,16,0]},{"a":64112,"t":"byte","b":[0,0,0,0,0,48,16,0]},{"a":64120,"t":"byte","b":[0,0,0,0,1,85,85,85]},{"a":64128,"t":"byte","b":[0,0,0,0,3,0,0,0]},{"a":64136,"t":"byte","b":[0,0,4,0,12,0,0,0]},{"a":64144,"t":"byte","b":[0,0,0,0,160,0,0,0]},{"a":64152,"t":"byte","b":[0,0,16,0,160,85,85,0]},{"a":64160,"t":"byte","b":[247,170,85,239,0,0,0,0]},{"a":64168,"t":"byte","b":[170,85,170,85,170,85,170,85]},{"a":64176,"t":"byte","b":[48,96,192,128,0,0,0,0]},{"a":64184,"t":"byte","b":[255,254,253,250,245,234,213,170]},{"a":64192,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":64200,"t":"byte","b":[8,16,32,33,18,172,64,32]},{"a":64208,"t":"byte","b":[0,0,0,6,24,136,2,0]},{"a":64216,"t":"byte","b":[5,1,5,0,56,54,55,55]},{"a":64224,"t":"byte","b":[175,2,0,0,0,0,0,0]},{"a":64232,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":64240,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":64248,"t":"byte","b":[0,0,16,0,0,0,32,0]},{"a":64256,"l":"room_57_the_beach","c":"Room 57: THE BEACH. One 256-byte room record, copied to $0840 by $2E55. $20-$9F stores 32 by 16 terrain cells as four two-bit cells per byte, most-significant pair first; $A0-$CF holds six eight-byte tile glyphs. Up/down/left/right exits are 57, 57, 58, 50 at $DC-$DF. Guardian start/count and rope flag occupy $E0-$E2. Remaining room fields are decoded by the construction routines.","t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":64264,"t":"byte","b":[32,32,32,32,84,72,69,32]},{"a":64272,"t":"byte","b":[66,69,65,67,72,32,32,32]},{"a":64280,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":64288,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":64296,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":64304,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":64312,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":64320,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":64328,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":64336,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":64344,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":64352,"t":"byte","b":[0,0,0,0,0,0,10,170]},{"a":64360,"t":"byte","b":[0,0,0,0,0,0,10,170]},{"a":64368,"t":"byte","b":[170,160,0,0,0,0,10,170]},{"a":64376,"t":"byte","b":[0,0,0,0,0,0,10,170]},{"a":64384,"t":"byte","b":[0,0,0,0,0,0,10,170]},{"a":64392,"t":"byte","b":[0,0,0,0,0,0,10,170]},{"a":64400,"t":"byte","b":[0,5,213,117,93,117,90,170]},{"a":64408,"t":"byte","b":[0,21,85,85,85,85,90,170]},{"a":64416,"t":"byte","b":[0,0,64,4,0,16,0,1]},{"a":64424,"t":"byte","b":[68,0,146,36,128,40,130,80]},{"a":64432,"t":"byte","b":[66,129,231,129,90,126,60,66]},{"a":64440,"t":"byte","b":[1,3,7,15,30,55,127,251]},{"a":64448,"t":"byte","b":[228,170,0,64,64,68,170,255]},{"a":64456,"t":"byte","b":[4,5,11,11,23,55,111,239]},{"a":64464,"t":"byte","b":[133,15,0,14,5,129,2,6]},{"a":64472,"t":"byte","b":[14,9,0,3,57,57,58,50]},{"a":64480,"t":"byte","b":[177,0,255,255,0,0,0,0]},{"a":64488,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":64496,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":64504,"t":"byte","b":[0,0,16,0,0,0,32,0]},{"a":64512,"l":"room_58_the_yacht","c":"Room 58: THE YACHT. One 256-byte room record, copied to $0840 by $2E55. $20-$9F stores 32 by 16 terrain cells as four two-bit cells per byte, most-significant pair first; $A0-$CF holds six eight-byte tile glyphs. Up/down/left/right exits are 58, 58, 59, 57 at $DC-$DF. Guardian start/count and rope flag occupy $E0-$E2. Remaining room fields are decoded by the construction routines.","t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":64520,"t":"byte","b":[32,32,32,84,72,69,32,89]},{"a":64528,"t":"byte","b":[65,67,72,84,32,32,32,32]},{"a":64536,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":64544,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":64552,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":64560,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":64568,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":64576,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":64584,"t":"byte","b":[85,96,0,0,0,0,0,0]},{"a":64592,"t":"byte","b":[0,32,0,0,0,0,0,0]},{"a":64600,"t":"byte","b":[0,32,0,0,0,0,0,0]},{"a":64608,"t":"byte","b":[0,32,0,0,0,0,0,0]},{"a":64616,"t":"byte","b":[0,32,0,195,0,192,0,0]},{"a":64624,"t":"byte","b":[85,106,170,170,170,129,85,85]},{"a":64632,"t":"byte","b":[1,0,0,0,2,129,0,0]},{"a":64640,"t":"byte","b":[1,0,0,0,2,129,0,0]},{"a":64648,"t":"byte","b":[1,0,0,0,2,129,0,0]},{"a":64656,"t":"byte","b":[1,0,0,0,2,128,0,0]},{"a":64664,"t":"byte","b":[170,170,170,170,170,128,0,0]},{"a":64672,"t":"byte","b":[187,221,221,238,0,0,0,0]},{"a":64680,"t":"byte","b":[187,119,238,221,187,119,238,221]},{"a":64688,"t":"byte","b":[126,191,191,110,44,44,173,255]},{"a":64696,"t":"byte","b":[255,1,1,1,1,1,1,1]},{"a":64704,"t":"byte","b":[14,170,131,1,131,199,124,16]},{"a":64712,"t":"byte","b":[206,241,185,213,239,215,187,255]},{"a":64720,"t":"byte","b":[139,15,21,5,6,5,3,0]},{"a":64728,"t":"byte","b":[9,3,2,6,58,58,59,57]},{"a":64736,"t":"byte","b":[177,2,0,0,0,0,0,0]},{"a":64744,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":64752,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":64760,"t":"byte","b":[0,0,16,0,0,0,32,0]},{"a":64768,"l":"room_59_the_bow","c":"Room 59: THE BOW. One 256-byte room record, copied to $0840 by $2E55. $20-$9F stores 32 by 16 terrain cells as four two-bit cells per byte, most-significant pair first; $A0-$CF holds six eight-byte tile glyphs. Up/down/left/right exits are 59, 59, 59, 58 at $DC-$DF. Guardian start/count and rope flag occupy $E0-$E2. Remaining room fields are decoded by the construction routines.","t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":64776,"t":"byte","b":[32,32,32,32,32,84,72,69]},{"a":64784,"t":"byte","b":[32,66,79,87,32,32,32,32]},{"a":64792,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":64800,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":64808,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":64816,"t":"byte","b":[49,234,102,254,71,254,74,243]},{"a":64824,"t":"byte","b":[145,242,14,242,80,242,51,243]},{"a":64832,"t":"byte","b":[87,241,202,241,237,246,62,241]},{"a":64840,"t":"byte","b":[47,243,102,254,165,244,237,245]},{"a":64848,"t":"byte","b":[0,0,0,0,0,0,128,0]},{"a":64856,"t":"byte","b":[0,0,0,0,4,4,128,0]},{"a":64864,"t":"byte","b":[0,0,0,0,0,0,144,0]},{"a":64872,"t":"byte","b":[0,0,0,0,0,0,128,0]},{"a":64880,"t":"byte","b":[0,0,0,5,85,85,85,85]},{"a":64888,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":64896,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":64904,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":64912,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":64920,"t":"byte","b":[255,255,255,255,192,0,0,0]},{"a":64928,"t":"byte","b":[255,170,85,255,0,0,0,0]},{"a":64936,"t":"byte","b":[201,201,201,201,201,201,201,201]},{"a":64944,"t":"byte","b":[64,130,82,0,0,0,0,0]},{"a":64952,"t":"byte","b":[255,85,43,21,11,5,3,1]},{"a":64960,"t":"byte","b":[255,170,170,0,170,255,0,0]},{"a":64968,"t":"byte","b":[72,57,38,218,91,100,156,18]},{"a":64976,"t":"byte","b":[15,15,17,9,11,6,3,0]},{"a":64984,"t":"byte","b":[7,1,6,2,59,59,59,58]},{"a":64992,"t":"byte","b":[179,2,0,0,0,0,0,0]},{"a":65000,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":65008,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":65016,"t":"byte","b":[0,0,16,0,0,0,32,0]},{"a":65024,"t":"gap","n":256},{"a":65280,"l":"RETAINED_COPY_B000_TO_E000","c":"Retained helper: clears LORAM in $01, copies 32 pages from $B000-$CFFF to $E000-$FFFF using pointers $FB/$FC and $FD/$FE, then sets LORAM again and returns. An isolated clone at $0200 copied all 8192 source bytes exactly and returned with port $37. Its retained address lies inside the destination; original phase/caller is open.","t":"code","b":[165,1],"m":"lda","oa":1,"o":"C64_CPU_PROCESSOR_PORT"},{"a":65282,"t":"code","b":[41,254],"m":"and","o":"#$FE"},{"a":65284,"t":"code","b":[133,1],"m":"sta","oa":1,"o":"C64_CPU_PROCESSOR_PORT"},{"a":65286,"t":"code","b":[169,176],"m":"lda","o":"#$B0"},{"a":65288,"t":"code","b":[133,252],"m":"sta","oa":252,"o":"title_ticker_source_pointer_high"},{"a":65290,"t":"code","b":[169,224],"m":"lda","o":"#$E0"},{"a":65292,"t":"code","b":[133,254],"m":"sta","oa":254,"o":"title_music_ended_flag"},{"a":65294,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":65296,"t":"code","b":[133,251],"m":"sta","oa":251,"o":"title_ticker_source_pointer_low"},{"a":65298,"t":"code","b":[133,253],"m":"sta","oa":253,"o":"annotation_00fd"},{"a":65300,"t":"code","b":[168],"m":"tay"},{"a":65301,"t":"code","b":[162,32],"m":"ldx","o":"#$20"},{"a":65303,"l":"b_FF17","t":"code","b":[177,251],"m":"lda","oa":251,"o":"(title_ticker_source_pointer_low),y","x":[65308,65315]},{"a":65305,"t":"code","b":[145,253],"m":"sta","oa":253,"o":"(annotation_00fd),y"},{"a":65307,"t":"code","b":[200],"m":"iny"},{"a":65308,"t":"code","b":[208,249],"m":"bne","oa":65303,"o":"b_FF17"},{"a":65310,"t":"code","b":[230,252],"m":"inc","oa":252,"o":"title_ticker_source_pointer_high"},{"a":65312,"t":"code","b":[230,254],"m":"inc","oa":254,"o":"title_music_ended_flag"},{"a":65314,"t":"code","b":[202],"m":"dex"},{"a":65315,"t":"code","b":[208,242],"m":"bne","oa":65303,"o":"b_FF17"},{"a":65317,"t":"code","b":[165,1],"m":"lda","oa":1,"o":"C64_CPU_PROCESSOR_PORT"},{"a":65319,"t":"code","b":[9,1],"m":"ora","o":"#$01"},{"a":65321,"t":"code","b":[133,1],"m":"sta","oa":1,"o":"C64_CPU_PROCESSOR_PORT"},{"a":65323,"t":"code","b":[96],"m":"rts"},{"a":65324,"t":"gap","n":212}]}