{"schema":1,"platform":"nes","game":"balloon-fight","title":"Balloon Fight","build":"Balloon Fight (USA).nes, the original cartridge program on an NROM-128 board (mapper 0): 16 KB of PRG at $C000 (mirrored at $8000) and 8 KB of CHR, with an NES 2.0 header; CRC32 of the PRG and CHR 401349A8","symbols_sha256":"dae422c97006f5aef601f5aeec29eb293942936d45aa08a4156b5d79b6d1deb4","snapshot":{"file":"work/play-phase1.json.gz","sha256":"783d662fa9a62dc56f6fbf640368d9a89d1c982ddeab41c90c7df281ace8ab83"},"index":[{"a":0,"n":"ppuctrl_shadow","k":"variable","len":1,"c":true},{"a":1,"n":"ppumask_shadow","k":"variable","len":1,"c":true},{"a":2,"n":"frame_flag","k":"variable","len":1,"c":true},{"a":3,"n":"score_p1","k":"variable","len":1,"c":true},{"a":4,"n":"score_p1_hundreds","k":"variable","len":1,"c":true},{"a":5,"n":"score_p1_thousands","k":"variable","len":1,"c":true},{"a":6,"n":"score_p1_tenthousands","k":"variable","len":1,"c":true},{"a":7,"n":"score_p1_hundredthousands","k":"variable","len":1,"c":true},{"a":8,"n":"score_p2","k":"table","len":5,"c":true},{"a":13,"n":"score_top","k":"table","len":5,"c":true},{"a":18,"n":"tmp12","k":"variable","len":1,"c":true},{"a":19,"n":"tmp13","k":"variable","len":1,"c":true},{"a":20,"n":"tmp14","k":"variable","len":1,"c":true},{"a":21,"n":"tmp15","k":"variable","len":1,"c":true},{"a":22,"n":"game_mode","k":"variable","len":1,"c":true},{"a":23,"n":"trip_scroll_x","k":"variable","len":1,"c":true},{"a":24,"n":"trip_nametable","k":"variable","len":1,"c":true},{"a":25,"n":"frame_counter","k":"variable","len":2,"c":true},{"a":27,"n":"random","k":"variable","len":1,"c":true},{"a":28,"n":"random_hi","k":"variable","len":1,"c":true},{"a":29,"n":"ptr1","k":"variable","len":1,"c":true},{"a":30,"n":"ptr1_hi","k":"variable","len":1,"c":true},{"a":31,"n":"ptr2","k":"variable","len":1,"c":true},{"a":32,"n":"ptr2_hi","k":"variable","len":1,"c":true},{"a":33,"n":"ptr3","k":"variable","len":1,"c":true},{"a":34,"n":"ptr3_hi","k":"variable","len":1,"c":true},{"a":35,"n":"platform_left_ptr","k":"variable","len":1,"c":true},{"a":36,"n":"platform_left_ptr_hi","k":"variable","len":1,"c":true},{"a":37,"n":"platform_right_ptr","k":"variable","len":1,"c":true},{"a":38,"n":"platform_right_ptr_hi","k":"variable","len":1,"c":true},{"a":39,"n":"platform_top_ptr","k":"variable","len":1,"c":true},{"a":40,"n":"platform_top_ptr_hi","k":"variable","len":1,"c":true},{"a":41,"n":"platform_bottom_ptr","k":"variable","len":1,"c":true},{"a":42,"n":"platform_bottom_ptr_hi","k":"variable","len":1,"c":true},{"a":43,"n":"mul_a","k":"variable","len":1,"c":true},{"a":44,"n":"mul_a_hi","k":"variable","len":1,"c":true},{"a":45,"n":"mul_b","k":"variable","len":1,"c":true},{"a":46,"n":"mul_result","k":"variable","len":1,"c":true},{"a":47,"n":"mul_result_mid","k":"variable","len":1,"c":true},{"a":48,"n":"mul_result_hi","k":"variable","len":1,"c":true},{"a":49,"n":"buttons","k":"table","len":9,"c":true},{"a":58,"n":"demo_flag","k":"variable","len":1,"c":true},{"a":59,"n":"phase_index","k":"variable","len":1,"c":true},{"a":60,"n":"phase_counter","k":"variable","len":1,"c":true},{"a":61,"n":"phase_text_timer","k":"variable","len":1,"c":true},{"a":62,"n":"scoring_player","k":"variable","len":1,"c":true},{"a":63,"n":"title_option","k":"variable","len":1,"c":true},{"a":64,"n":"two_players","k":"variable","len":1,"c":true},{"a":65,"n":"lives","k":"variable","len":1,"c":true},{"a":66,"n":"lives_p2","k":"variable","len":1,"c":true},{"a":67,"n":"score_add","k":"variable","len":1,"c":true},{"a":68,"n":"score_add_hundreds","k":"variable","len":1,"c":true},{"a":69,"n":"score_add_thousands","k":"variable","len":1,"c":true},{"a":70,"n":"status_request","k":"variable","len":1,"c":true},{"a":71,"n":"score_extra_thousands","k":"variable","len":1,"c":true},{"a":72,"n":"score_extra_hundreds","k":"variable","len":1,"c":true},{"a":73,"n":"trip_rank_units","k":"variable","len":1,"c":true},{"a":74,"n":"trip_rank_tens","k":"variable","len":1,"c":true},{"a":75,"n":"collision_flag","k":"variable","len":1,"c":true},{"a":76,"n":"stars_to_twinkle","k":"table","len":3,"c":true},{"a":79,"n":"star_index","k":"variable","len":1,"c":true},{"a":80,"n":"ppu_addr_lo","k":"variable","len":1,"c":true},{"a":81,"n":"ppu_addr_hi","k":"variable","len":1,"c":true},{"a":82,"n":"ppu_queue_read","k":"variable","len":1,"c":true},{"a":83,"n":"ppu_queue_write","k":"variable","len":1,"c":true},{"a":84,"n":"text_col","k":"variable","len":1,"c":true},{"a":85,"n":"text_row","k":"variable","len":1,"c":true},{"a":86,"n":"text_len","k":"variable","len":1,"c":true},{"a":87,"n":"text_buf","k":"variable","len":1,"c":true},{"a":88,"n":"text_buf_1","k":"variable","len":1,"c":true},{"a":89,"n":"text_buf_2","k":"variable","len":1,"c":true},{"a":90,"n":"text_buf_3","k":"variable","len":1,"c":true},{"a":91,"n":"text_buf_4","k":"variable","len":1,"c":true},{"a":92,"n":"text_buf_5","k":"variable","len":1,"c":true},{"a":93,"n":"text_buf_6","k":"table","len":3,"c":true},{"a":96,"n":"phase_text_tens","k":"variable","len":1,"c":true},{"a":97,"n":"phase_text_digits","k":"table","len":7,"c":true},{"a":104,"n":"super_bonus_digits","k":"variable","len":1,"c":true},{"a":105,"n":"super_bonus_units","k":"variable","len":2,"c":true},{"a":107,"n":"bonus_total_p2","k":"table","len":7,"c":true},{"a":114,"n":"bonus_palette","k":"table","len":13,"c":true},{"a":127,"n":"actor_action","k":"variable","len":1,"c":true},{"a":128,"n":"actor_action_p2","k":"variable","len":1,"c":true},{"a":129,"n":"actor_action_birds","k":"table","len":6,"c":true},{"a":135,"n":"fish_state","k":"variable","len":1,"c":true},{"a":136,"n":"actor_balloons","k":"variable","len":1,"c":true},{"a":137,"n":"actor_balloons_p2","k":"variable","len":1,"c":true},{"a":138,"n":"actor_balloons_birds","k":"table","len":6,"c":true},{"a":144,"n":"fish_balloons","k":"variable","len":1,"c":true},{"a":145,"n":"actor_x","k":"variable","len":1,"c":true},{"a":146,"n":"actor_x_p2","k":"variable","len":1,"c":true},{"a":147,"n":"actor_x_birds","k":"table","len":6,"c":true},{"a":153,"n":"fish_x","k":"variable","len":1,"c":true},{"a":154,"n":"actor_y","k":"variable","len":1,"c":true},{"a":155,"n":"actor_y_p2","k":"variable","len":1,"c":true},{"a":156,"n":"actor_y_birds","k":"table","len":6,"c":true},{"a":162,"n":"fish_y","k":"variable","len":1,"c":true},{"a":163,"n":"cloud_count","k":"variable","len":1,"c":true},{"a":164,"n":"lightning_cloud","k":"variable","len":1,"c":true},{"a":165,"n":"lightning_cloud_copy","k":"variable","len":1,"c":true},{"a":166,"n":"cloud_attr_tl","k":"table","len":3,"c":true},{"a":169,"n":"cloud_attr_tr","k":"table","len":3,"c":true},{"a":172,"n":"cloud_attr_bl","k":"table","len":3,"c":true},{"a":175,"n":"cloud_attr_br","k":"table","len":3,"c":true},{"a":178,"n":"cloud_x","k":"table","len":3,"c":true},{"a":181,"n":"cloud_y","k":"table","len":3,"c":true},{"a":184,"n":"lightning_timer","k":"variable","len":2,"c":true},{"a":186,"n":"spark_speed_level","k":"variable","len":1,"c":true},{"a":187,"n":"splash_frame","k":"variable","len":1,"c":true},{"a":188,"n":"splash_x","k":"variable","len":1,"c":true},{"a":189,"n":"invulnerable","k":"variable","len":1,"c":true},{"a":190,"n":"invulnerable_p2","k":"variable","len":1,"c":true},{"a":191,"n":"invulnerable_timer","k":"variable","len":2,"c":true},{"a":193,"n":"spark_hit","k":"variable","len":2,"c":true},{"a":195,"n":"respawn_timer","k":"variable","len":2,"c":true},{"a":197,"n":"trip_scroll_pause","k":"variable","len":1,"c":true},{"a":198,"n":"enemy_inflate_rate","k":"variable","len":1,"c":true},{"a":199,"n":"enemy_launch_delay","k":"variable","len":1,"c":true},{"a":200,"n":"no_enemies","k":"variable","len":1,"c":true},{"a":201,"n":"trip_progress","k":"variable","len":1,"c":true},{"a":202,"n":"trip_difficulty","k":"variable","len":1,"c":true},{"a":203,"n":"landed_flag","k":"variable","len":1,"c":true},{"a":204,"n":"collision_bits","k":"variable","len":1,"c":true},{"a":205,"n":"platform_count","k":"table","len":3,"c":true},{"a":208,"n":"snd_counters","k":"variable","len":1,"c":true},{"a":209,"n":"snd_counter_sq2","k":"variable","len":1,"c":true},{"a":210,"n":"snd_counter_tri","k":"variable","len":1,"c":true},{"a":211,"n":"snd_counter_noise","k":"variable","len":1,"c":true},{"a":212,"n":"snd_note_lengths","k":"table","len":4,"c":true},{"a":216,"n":"snd_repeats","k":"table","len":4,"c":true},{"a":220,"n":"snd_volume_sq1","k":"variable","len":1,"c":true},{"a":221,"n":"snd_volume_sq2","k":"variable","len":1,"c":true},{"a":222,"n":"snd_tri_linear","k":"variable","len":1,"c":true},{"a":223,"n":"snd_tempo","k":"variable","len":1,"c":true},{"a":224,"n":"snd_channel_ptr","k":"variable","len":1,"c":true},{"a":225,"n":"snd_channel_ptr_hi","k":"table","len":7,"c":true},{"a":232,"n":"snd_positions","k":"variable","len":1,"c":true},{"a":233,"n":"snd_position_sq2","k":"variable","len":1,"c":true},{"a":234,"n":"snd_position_tri","k":"variable","len":1,"c":true},{"a":235,"n":"snd_position_noise","k":"variable","len":1,"c":true},{"a":236,"n":"snd_loop_positions","k":"table","len":4,"c":true},{"a":240,"n":"sfx_request_a","k":"variable","len":1,"c":true},{"a":241,"n":"sfx_request_b","k":"variable","len":1,"c":true},{"a":242,"n":"music_request","k":"variable","len":1,"c":true},{"a":243,"n":"sfx_request_c","k":"variable","len":1,"c":true},{"a":244,"n":"sfx_state_a","k":"variable","len":1,"c":true},{"a":245,"n":"sfx_state_b","k":"variable","len":1,"c":true},{"a":246,"n":"music_playing","k":"variable","len":1,"c":true},{"a":247,"n":"sfx_state_c","k":"variable","len":2,"c":true},{"a":249,"n":"sfx_data_ptr","k":"variable","len":1,"c":true},{"a":250,"n":"sfx_data_ptr_hi","k":"variable","len":1,"c":true},{"a":251,"n":"sfx_src_ptr","k":"variable","len":1,"c":true},{"a":252,"n":"sfx_src_ptr_hi","k":"variable","len":1,"c":true},{"a":253,"n":"snd_channel_offset","k":"variable","len":1,"c":true},{"a":254,"n":"snd_stream_ptr","k":"variable","len":1,"c":true},{"a":255,"n":"snd_stream_ptr_hi","k":"variable","len":1,"c":true},{"a":512,"n":"sprite_table","k":"variable","len":1,"c":true},{"a":513,"n":"sprite_tile_0","k":"variable","len":1,"c":true},{"a":514,"n":"sprite_attr_0","k":"variable","len":1,"c":true},{"a":515,"n":"sprite_x_0","k":"variable","len":1,"c":true},{"a":516,"n":"sprite_y_1","k":"variable","len":1,"c":true},{"a":517,"n":"sprite_tile_1","k":"variable","len":1,"c":true},{"a":518,"n":"sprite_attr_1","k":"variable","len":1,"c":true},{"a":519,"n":"sprite_x_1","k":"variable","len":1,"c":true},{"a":520,"n":"sprite_y_2","k":"variable","len":1,"c":true},{"a":521,"n":"sprite_tile_2","k":"variable","len":1,"c":true},{"a":522,"n":"sprite_attr_2","k":"variable","len":1,"c":true},{"a":523,"n":"sprite_x_2","k":"variable","len":1,"c":true},{"a":524,"n":"sprite_y_3","k":"variable","len":1,"c":true},{"a":525,"n":"sprite_tile_3","k":"variable","len":1,"c":true},{"a":526,"n":"sprite_attr_3","k":"variable","len":1,"c":true},{"a":527,"n":"sprite_x_3","k":"variable","len":1,"c":true},{"a":528,"n":"sprite_y_4","k":"table","len":4,"c":true},{"a":532,"n":"sprite_y_5","k":"table","len":60,"c":true},{"a":592,"n":"sprite_bubbles","k":"variable","len":1,"c":true},{"a":593,"n":"sprite_bubbles_tile","k":"variable","len":1,"c":true},{"a":594,"n":"sprite_bubbles_attr","k":"variable","len":1,"c":true},{"a":595,"n":"sprite_bubbles_x","k":"variable","len":1,"c":true},{"a":596,"n":"sprite_bubbles_y2","k":"variable","len":1,"c":true},{"a":597,"n":"sprite_bubbles_tile2","k":"variable","len":1,"c":true},{"a":598,"n":"sprite_bubbles_attr2","k":"variable","len":1,"c":true},{"a":599,"n":"sprite_bubbles_x2","k":"variable","len":1,"c":true},{"a":600,"n":"sprite_bubbles_y3","k":"variable","len":1,"c":true},{"a":601,"n":"sprite_bubbles_tile3","k":"variable","len":1,"c":true},{"a":602,"n":"sprite_bubbles_attr3","k":"variable","len":1,"c":true},{"a":603,"n":"sprite_bubbles_x3","k":"table","len":64,"c":true},{"a":688,"n":"sprite_sparks","k":"variable","len":1,"c":true},{"a":689,"n":"sprite_sparks_tile","k":"variable","len":1,"c":true},{"a":690,"n":"sprite_sparks_attr","k":"variable","len":1,"c":true},{"a":691,"n":"sprite_sparks_x","k":"table","len":45,"c":true},{"a":736,"n":"sprite_bolt","k":"variable","len":1,"c":true},{"a":737,"n":"sprite_bolt_tile","k":"variable","len":1,"c":true},{"a":738,"n":"sprite_bolt_attr","k":"variable","len":1,"c":true},{"a":739,"n":"sprite_bolt_x","k":"variable","len":1,"c":true},{"a":740,"n":"sprite_bolt_y2","k":"variable","len":1,"c":true},{"a":741,"n":"sprite_bolt_tile2","k":"variable","len":1,"c":true},{"a":742,"n":"sprite_bolt_attr2","k":"variable","len":1,"c":true},{"a":743,"n":"sprite_bolt_x2","k":"variable","len":1,"c":true},{"a":744,"n":"sprite_bolt_y3","k":"variable","len":1,"c":true},{"a":745,"n":"sprite_bolt_tile3","k":"variable","len":1,"c":true},{"a":746,"n":"sprite_bolt_attr3","k":"variable","len":1,"c":true},{"a":747,"n":"sprite_bolt_x3","k":"table","len":5,"c":true},{"a":752,"n":"sprite_popups","k":"variable","len":1,"c":true},{"a":753,"n":"sprite_popups_tile","k":"variable","len":1,"c":true},{"a":754,"n":"sprite_popups_attr","k":"variable","len":1,"c":true},{"a":755,"n":"sprite_popups_x","k":"variable","len":1,"c":true},{"a":756,"n":"sprite_popups_y2","k":"variable","len":1,"c":true},{"a":757,"n":"sprite_popups_tile2","k":"variable","len":1,"c":true},{"a":758,"n":"sprite_popups_attr2","k":"variable","len":1,"c":true},{"a":759,"n":"sprite_popups_x2","k":"table","len":9,"c":true},{"a":768,"n":"ppu_queue","k":"table","len":64,"c":true},{"a":1024,"n":"actor_x_frac","k":"table","len":9,"c":true},{"a":1033,"n":"actor_y_frac","k":"table","len":9,"c":true},{"a":1042,"n":"actor_vy_lo","k":"table","len":9,"c":true},{"a":1051,"n":"actor_vy_hi","k":"table","len":9,"c":true},{"a":1060,"n":"actor_vx_lo","k":"table","len":9,"c":true},{"a":1069,"n":"actor_vx_hi","k":"table","len":9,"c":true},{"a":1078,"n":"actor_frame","k":"table","len":9,"c":true},{"a":1087,"n":"actor_frame_timer","k":"variable","len":2,"c":true},{"a":1089,"n":"actor_frame_timer_birds","k":"table","len":7,"c":true},{"a":1096,"n":"actor_facing","k":"table","len":8,"c":true},{"a":1104,"n":"fish_facing","k":"variable","len":1,"c":true},{"a":1105,"n":"actor_type","k":"variable","len":2,"c":true},{"a":1107,"n":"actor_type_birds","k":"table","len":6,"c":true},{"a":1113,"n":"fish_type","k":"variable","len":1,"c":true},{"a":1114,"n":"actor_timer","k":"table","len":9,"c":true},{"a":1123,"n":"actor_vx_target_lo","k":"table","len":9,"c":true},{"a":1132,"n":"actor_vx_target_hi","k":"table","len":9,"c":true},{"a":1141,"n":"actor_hit_cooldown","k":"table","len":9,"c":true},{"a":1150,"n":"actor_was_hit","k":"table","len":9,"c":true},{"a":1159,"n":"kicked_flag","k":"variable","len":1,"c":true},{"a":1160,"n":"trip_platform_x","k":"variable","len":1,"c":true},{"a":1161,"n":"fish_rising","k":"variable","len":1,"c":true},{"a":1162,"n":"fish_sinking","k":"variable","len":1,"c":true},{"a":1163,"n":"fish_target","k":"variable","len":1,"c":true},{"a":1164,"n":"fish_caught","k":"variable","len":1,"c":true},{"a":1165,"n":"fish_timer","k":"variable","len":1,"c":true},{"a":1166,"n":"fish_flags","k":"variable","len":1,"c":true},{"a":1167,"n":"fish_flags_2","k":"variable","len":1,"c":true},{"a":1168,"n":"spark_x","k":"table","len":20,"c":true},{"a":1188,"n":"spark_y","k":"table","len":20,"c":true},{"a":1208,"n":"spark_x_frac","k":"table","len":20,"c":true},{"a":1228,"n":"spark_y_frac","k":"table","len":20,"c":true},{"a":1248,"n":"spark_vx_hi","k":"table","len":20,"c":true},{"a":1268,"n":"spark_vy_hi","k":"table","len":20,"c":true},{"a":1288,"n":"spark_vx_lo","k":"table","len":20,"c":true},{"a":1308,"n":"spark_vy_lo","k":"table","len":20,"c":true},{"a":1328,"n":"spark_state","k":"variable","len":1,"c":true},{"a":1329,"n":"spark_state_1","k":"table","len":19,"c":true},{"a":1348,"n":"spark_bolt_phase","k":"table","len":20,"c":true},{"a":1368,"n":"bonus_round","k":"variable","len":1,"c":true},{"a":1369,"n":"bonus_value","k":"variable","len":1,"c":true},{"a":1370,"n":"balloon_rise_speed","k":"variable","len":1,"c":true},{"a":1371,"n":"perfect_tens","k":"variable","len":1,"c":true},{"a":1372,"n":"perfect_units","k":"variable","len":1,"c":true},{"a":1373,"n":"balloon_state","k":"variable","len":1,"c":true},{"a":1374,"n":"balloon_state_1","k":"table","len":9,"c":true},{"a":1383,"n":"balloon_x","k":"variable","len":1,"c":true},{"a":1384,"n":"balloon_x_1","k":"table","len":9,"c":true},{"a":1393,"n":"balloon_x_frac","k":"table","len":10,"c":true},{"a":1403,"n":"balloon_y","k":"variable","len":1,"c":true},{"a":1404,"n":"balloon_y_1","k":"table","len":9,"c":true},{"a":1413,"n":"balloon_y_frac","k":"table","len":10,"c":true},{"a":1423,"n":"balloon_vx_hi","k":"table","len":10,"c":true},{"a":1433,"n":"balloon_vx_lo","k":"table","len":10,"c":true},{"a":1443,"n":"balloon_unused","k":"table","len":20,"c":true},{"a":1463,"n":"balloon_sway_lo","k":"table","len":10,"c":true},{"a":1473,"n":"balloon_sway_hi","k":"table","len":10,"c":true},{"a":1483,"n":"balloons_to_launch","k":"variable","len":1,"c":true},{"a":1484,"n":"balloon_spawn_timer","k":"variable","len":1,"c":true},{"a":1485,"n":"balloons_popped","k":"variable","len":1,"c":true},{"a":1486,"n":"balloons_popped_p2","k":"table","len":3,"c":true},{"a":1489,"n":"propeller_count","k":"variable","len":1,"c":true},{"a":1490,"n":"propeller_x","k":"table","len":10,"c":true},{"a":1500,"n":"propeller_y","k":"table","len":10,"c":true},{"a":1510,"n":"propeller_addr_lo","k":"table","len":10,"c":true},{"a":1520,"n":"propeller_addr_hi","k":"table","len":10,"c":true},{"a":1530,"n":"propeller_phase","k":"table","len":10,"c":true},{"a":1540,"n":"propeller_spinning","k":"table","len":10,"c":true},{"a":1550,"n":"propeller_spin_timer","k":"table","len":10,"c":true},{"a":1560,"n":"popup_timer","k":"variable","len":1,"c":true},{"a":1561,"n":"popup_timer_2","k":"variable","len":1,"c":true},{"a":1562,"n":"popup_kind","k":"variable","len":2,"c":true},{"a":1564,"n":"joypad","k":"variable","len":2,"c":true},{"a":1566,"n":"joypad_last","k":"variable","len":2,"c":true},{"a":1568,"n":"flap_latch","k":"table","len":9,"c":true},{"a":1577,"n":"top_scores","k":"table","len":11,"c":true},{"a":1588,"n":"top_score_trip_2","k":"table","len":204,"c":true},{"a":1792,"n":"trip_ranking","k":"table","len":64,"c":true},{"a":2016,"n":"snd_var_e0","k":"variable","len":1,"c":true},{"a":2017,"n":"snd_spark_hit_len","k":"table","len":3,"c":true},{"a":2020,"n":"snd_plop_count","k":"table","len":4,"c":true},{"a":2024,"n":"snd_music_loop","k":"variable","len":1,"c":true},{"a":2025,"n":"snd_request_b_last","k":"table","len":7,"c":true},{"a":2032,"n":"snd_tri_flag","k":"variable","len":1,"c":true},{"a":2033,"n":"snd_lightning_step","k":"variable","len":2,"c":true},{"a":2035,"n":"snd_lightning_count","k":"variable","len":2,"c":true},{"a":2037,"n":"snd_pending_hit","k":"variable","len":1,"c":true},{"a":2038,"n":"snd_landing_count","k":"variable","len":1,"c":true},{"a":2039,"n":"snd_hit_count","k":"variable","len":2,"c":true},{"a":2041,"n":"snd_bounce_count","k":"variable","len":1,"c":true},{"a":2042,"n":"ram_signature","k":"variable","len":1,"c":true},{"a":2043,"n":"snd_fall_count","k":"variable","len":1,"c":true},{"a":2044,"n":"snd_fish_count","k":"variable","len":1,"c":true},{"a":2045,"n":"snd_fish_period2","k":"variable","len":1,"c":true},{"a":2046,"n":"snd_fish_period1","k":"variable","len":2,"c":true},{"a":49152,"n":"reset","k":"routine","len":130,"c":true},{"a":49160,"n":"b_C008","k":"branch","len":1,"c":false},{"a":49165,"n":"b_C00D","k":"branch","len":1,"c":false},{"a":49170,"n":"b_C012","k":"branch","len":1,"c":false},{"a":49184,"n":"b_C020","k":"branch","len":1,"c":false},{"a":49191,"n":"b_C027","k":"branch","len":1,"c":false},{"a":49204,"n":"b_C034","k":"branch","len":1,"c":false},{"a":49207,"n":"b_C037","k":"branch","len":1,"c":false},{"a":49219,"n":"b_C043","k":"branch","len":1,"c":false},{"a":49237,"n":"b_C055","k":"branch","len":1,"c":false},{"a":49248,"n":"b_C060","k":"branch","len":1,"c":false},{"a":49262,"n":"b_C06E","k":"branch","len":1,"c":false},{"a":49271,"n":"b_C077","k":"branch","len":1,"c":false},{"a":49282,"n":"ram_signature_text","k":"table","len":3,"c":true},{"a":49285,"n":"initial_top_scores","k":"table","len":15,"c":true},{"a":49300,"n":"nmi","k":"routine","len":99,"c":true},{"a":49324,"n":"b_C0AC","k":"branch","len":1,"c":false},{"a":49361,"n":"b_C0D1","k":"branch","len":1,"c":false},{"a":49370,"n":"b_C0DA","k":"branch","len":1,"c":false},{"a":49393,"n":"b_C0F1","k":"branch","len":1,"c":false},{"a":49399,"n":"irq_hang","k":"routine","len":3,"c":true},{"a":49402,"n":"nmi_off","k":"routine","len":10,"c":true},{"a":49406,"n":"b_C0FE","k":"branch","len":1,"c":false},{"a":49412,"n":"nmi_on","k":"routine","len":6,"c":true},{"a":49418,"n":"screen_off","k":"routine","len":11,"c":true},{"a":49420,"n":"b_C10C","k":"branch","len":1,"c":false},{"a":49429,"n":"screen_on","k":"routine","len":4,"c":true},{"a":49433,"n":"queue_text","k":"routine","len":20,"c":true},{"a":49438,"n":"b_C11E","k":"branch","len":1,"c":false},{"a":49453,"n":"queue_block_from_text","k":"routine","len":4,"c":true},{"a":49457,"n":"queue_block","k":"routine","len":35,"c":true},{"a":49476,"n":"b_C144","k":"branch","len":1,"c":false},{"a":49492,"n":"queue_text_header","k":"routine","len":40,"c":true},{"a":49532,"n":"flush_ppu_queue","k":"routine","len":12,"c":true},{"a":49544,"n":"flush_ppu_queue_loop","k":"routine","len":61,"c":true},{"a":49566,"n":"b_C19E","k":"branch","len":1,"c":false},{"a":49598,"n":"b_C1BE","k":"branch","len":1,"c":false},{"a":49605,"n":"trip_start","k":"routine","len":68,"c":true},{"a":49660,"n":"b_C1FC","k":"branch","len":1,"c":false},{"a":49673,"n":"trip_loop","k":"routine","len":425,"c":true},{"a":49686,"n":"b_C216","k":"branch","len":1,"c":false},{"a":49694,"n":"b_C21E","k":"branch","len":1,"c":false},{"a":49703,"n":"b_C227","k":"branch","len":1,"c":false},{"a":49713,"n":"b_C231","k":"branch","len":1,"c":false},{"a":49735,"n":"b_C247","k":"branch","len":1,"c":false},{"a":49741,"n":"b_C24D","k":"branch","len":1,"c":false},{"a":49743,"n":"b_C24F","k":"branch","len":1,"c":false},{"a":49773,"n":"b_C26D","k":"branch","len":1,"c":false},{"a":49778,"n":"b_C272","k":"branch","len":1,"c":false},{"a":49801,"n":"b_C289","k":"branch","len":1,"c":false},{"a":49852,"n":"b_C2BC","k":"branch","len":1,"c":false},{"a":49872,"n":"j_C2D0","k":"branch","len":1,"c":false},{"a":49874,"n":"b_C2D2","k":"branch","len":1,"c":false},{"a":49903,"n":"b_C2EF","k":"branch","len":1,"c":false},{"a":49911,"n":"b_C2F7","k":"branch","len":1,"c":false},{"a":49933,"n":"b_C30D","k":"branch","len":1,"c":false},{"a":49940,"n":"b_C314","k":"branch","len":1,"c":false},{"a":49943,"n":"b_C317","k":"branch","len":1,"c":false},{"a":49965,"n":"b_C32D","k":"branch","len":1,"c":false},{"a":50031,"n":"b_C36F","k":"branch","len":1,"c":false},{"a":50040,"n":"b_C378","k":"branch","len":1,"c":false},{"a":50081,"n":"b_C3A1","k":"branch","len":1,"c":false},{"a":50098,"n":"jmp_trip_handler","k":"routine","len":3,"c":true},{"a":50101,"n":"trip_handlers","k":"variable","len":1,"c":true},{"a":50102,"n":"trip_handlers_hi","k":"table","len":9,"c":true},{"a":50111,"n":"trip_handler_order","k":"table","len":10,"c":true},{"a":50121,"n":"trip_stream_reader","k":"routine","len":46,"c":true},{"a":50131,"n":"b_C3D3","k":"branch","len":1,"c":false},{"a":50156,"n":"b_C3EC","k":"branch","len":1,"c":false},{"a":50166,"n":"r_C3F6","k":"branch","len":1,"c":false},{"a":50167,"n":"trip_gen_balloon_and_sparks","k":"routine","len":21,"c":true},{"a":50188,"n":"trip_gen_sparks","k":"routine","len":46,"c":true},{"a":50233,"n":"r_C439","k":"branch","len":1,"c":false},{"a":50234,"n":"trip_spark_speeds","k":"table","len":4,"c":true},{"a":50238,"n":"trip_gen_rare_bubble","k":"routine","len":32,"c":true},{"a":50270,"n":"trip_gen_nothing","k":"routine","len":1,"c":true},{"a":50271,"n":"trip_gen_sparks_only","k":"routine","len":12,"c":true},{"a":50283,"n":"trip_spawn_balloon","k":"routine","len":27,"c":true},{"a":50285,"n":"b_C46D","k":"branch","len":1,"c":false},{"a":50294,"n":"b_C476","k":"branch","len":1,"c":false},{"a":50310,"n":"trip_spawn_spark","k":"routine","len":39,"c":true},{"a":50312,"n":"b_C488","k":"branch","len":1,"c":false},{"a":50321,"n":"b_C491","k":"branch","len":1,"c":false},{"a":50349,"n":"trip_layout","k":"table","len":122,"c":true},{"a":50471,"n":"set_balloon_value","k":"routine","len":18,"c":true},{"a":50489,"n":"find_trip_rank","k":"routine","len":64,"c":true},{"a":50493,"n":"b_C53D","k":"branch","len":1,"c":false},{"a":50507,"n":"b_C54B","k":"branch","len":1,"c":false},{"a":50521,"n":"b_C559","k":"branch","len":1,"c":false},{"a":50531,"n":"b_C563","k":"branch","len":1,"c":false},{"a":50553,"n":"insert_trip_rank","k":"routine","len":62,"c":true},{"a":50593,"n":"b_C5A1","k":"branch","len":1,"c":false},{"a":50604,"n":"b_C5AC","k":"branch","len":1,"c":false},{"a":50606,"n":"b_C5AE","k":"branch","len":1,"c":false},{"a":50615,"n":"fish_frames_rising","k":"table","len":4,"c":true},{"a":50619,"n":"fish_frames_sinking","k":"table","len":8,"c":true},{"a":50627,"n":"fish_draw","k":"routine","len":81,"c":true},{"a":50645,"n":"b_C5D5","k":"branch","len":1,"c":false},{"a":50648,"n":"j_C5D8","k":"branch","len":1,"c":false},{"a":50676,"n":"b_C5F4","k":"branch","len":1,"c":false},{"a":50690,"n":"b_C602","k":"branch","len":1,"c":false},{"a":50695,"n":"b_C607","k":"branch","len":1,"c":false},{"a":50704,"n":"b_C610","k":"branch","len":1,"c":false},{"a":50707,"n":"r_C613","k":"branch","len":1,"c":false},{"a":50708,"n":"fish_find_target","k":"routine","len":55,"c":true},{"a":50715,"n":"b_C61B","k":"branch","len":1,"c":false},{"a":50731,"n":"b_C62B","k":"branch","len":1,"c":false},{"a":50735,"n":"b_C62F","k":"branch","len":1,"c":false},{"a":50763,"n":"fish_swim","k":"routine","len":13,"c":true},{"a":50775,"n":"r_C657","k":"branch","len":1,"c":false},{"a":50776,"n":"fish_rise","k":"routine","len":96,"c":true},{"a":50799,"n":"b_C66F","k":"branch","len":1,"c":false},{"a":50801,"n":"b_C671","k":"branch","len":1,"c":false},{"a":50851,"n":"b_C6A3","k":"branch","len":1,"c":false},{"a":50867,"n":"b_C6B3","k":"branch","len":1,"c":false},{"a":50871,"n":"r_C6B7","k":"branch","len":1,"c":false},{"a":50872,"n":"fish_victim_types","k":"table","len":12,"c":true},{"a":50884,"n":"fish_check_target","k":"routine","len":53,"c":true},{"a":50912,"n":"b_C6E0","k":"branch","len":1,"c":false},{"a":50926,"n":"b_C6EE","k":"branch","len":1,"c":false},{"a":50936,"n":"r_C6F8","k":"branch","len":1,"c":false},{"a":50937,"n":"fish_update","k":"routine","len":29,"c":true},{"a":50953,"n":"b_C709","k":"branch","len":1,"c":false},{"a":50957,"n":"b_C70D","k":"branch","len":1,"c":false},{"a":50966,"n":"lightning_init","k":"routine","len":16,"c":true},{"a":50968,"n":"b_C718","k":"branch","len":1,"c":false},{"a":50982,"n":"lightning_set_phase","k":"routine","len":34,"c":true},{"a":50990,"n":"b_C72E","k":"branch","len":1,"c":false},{"a":51016,"n":"spark_speed_by_phase","k":"table","len":25,"c":true},{"a":51041,"n":"lightning_delays","k":"table","len":25,"c":true},{"a":51066,"n":"pick_lightning_cloud","k":"routine","len":22,"c":true},{"a":51070,"n":"b_C77E","k":"branch","len":1,"c":false},{"a":51073,"n":"b_C781","k":"branch","len":1,"c":false},{"a":51076,"n":"j_C784","k":"branch","len":1,"c":false},{"a":51088,"n":"lightning_countdown","k":"routine","len":161,"c":true},{"a":51094,"n":"r_C796","k":"branch","len":1,"c":false},{"a":51095,"n":"b_C797","k":"branch","len":1,"c":false},{"a":51117,"n":"b_C7AD","k":"branch","len":1,"c":false},{"a":51124,"n":"b_C7B4","k":"branch","len":1,"c":false},{"a":51217,"n":"b_C811","k":"branch","len":1,"c":false},{"a":51225,"n":"b_C819","k":"branch","len":1,"c":false},{"a":51233,"n":"b_C821","k":"branch","len":1,"c":false},{"a":51249,"n":"cloud_flash","k":"routine","len":82,"c":true},{"a":51270,"n":"b_C846","k":"branch","len":1,"c":false},{"a":51286,"n":"j_C856","k":"branch","len":1,"c":false},{"a":51331,"n":"queue_text_buf","k":"routine","len":8,"c":true},{"a":51338,"n":"r_C88A","k":"branch","len":1,"c":false},{"a":51339,"n":"cloud_flash_attrs","k":"table","len":4,"c":true},{"a":51343,"n":"spark_dir_flip_x","k":"table","len":4,"c":true},{"a":51347,"n":"spark_dir_flip_y","k":"table","len":4,"c":true},{"a":51351,"n":"spark_dir_dx","k":"table","len":4,"c":true},{"a":51355,"n":"spark_dir_dy","k":"table","len":4,"c":true},{"a":51359,"n":"spark_base_speeds","k":"table","len":6,"c":true},{"a":51365,"n":"spark_vx_hi_by_level","k":"table","len":6,"c":true},{"a":51371,"n":"spark_vy_by_level","k":"table","len":6,"c":true},{"a":51377,"n":"spark_vy_hi_by_level","k":"table","len":6,"c":true},{"a":51383,"n":"sparks_update","k":"routine","len":255,"c":true},{"a":51385,"n":"j_C8B9","k":"branch","len":1,"c":false},{"a":51393,"n":"b_C8C1","k":"branch","len":1,"c":false},{"a":51455,"n":"b_C8FF","k":"branch","len":1,"c":false},{"a":51511,"n":"b_C937","k":"branch","len":1,"c":false},{"a":51521,"n":"b_C941","k":"branch","len":1,"c":false},{"a":51534,"n":"b_C94E","k":"branch","len":1,"c":false},{"a":51544,"n":"b_C958","k":"branch","len":1,"c":false},{"a":51554,"n":"b_C962","k":"branch","len":1,"c":false},{"a":51574,"n":"b_C976","k":"branch","len":1,"c":false},{"a":51628,"n":"b_C9AC","k":"branch","len":1,"c":false},{"a":51631,"n":"j_C9AF","k":"branch","len":1,"c":false},{"a":51637,"n":"r_C9B5","k":"branch","len":1,"c":false},{"a":51638,"n":"spark_move","k":"routine","len":39,"c":true},{"a":51677,"n":"spark_tiles","k":"table","len":8,"c":true},{"a":51685,"n":"bolt_dx1","k":"table","len":16,"c":true},{"a":51701,"n":"bolt_dy1","k":"table","len":16,"c":true},{"a":51717,"n":"bolt_dy_step","k":"table","len":16,"c":true},{"a":51733,"n":"bolt_tiles1","k":"table","len":10,"c":true},{"a":51743,"n":"bolt_tiles2","k":"table","len":10,"c":true},{"a":51753,"n":"bolt_tiles3","k":"table","len":10,"c":true},{"a":51763,"n":"bolt_attrs","k":"table","len":4,"c":true},{"a":51767,"n":"spark_flip_vx_sound","k":"routine","len":6,"c":true},{"a":51773,"n":"spark_flip_vx","k":"routine","len":18,"c":true},{"a":51791,"n":"spark_flip_vy_sound","k":"routine","len":6,"c":true},{"a":51797,"n":"spark_flip_vy","k":"routine","len":18,"c":true},{"a":51815,"n":"spark_platforms","k":"routine","len":180,"c":true},{"a":51817,"n":"j_CA69","k":"branch","len":1,"c":false},{"a":51842,"n":"b_CA82","k":"branch","len":1,"c":false},{"a":51858,"n":"b_CA92","k":"branch","len":1,"c":false},{"a":51874,"n":"b_CAA2","k":"branch","len":1,"c":false},{"a":51881,"n":"b_CAA9","k":"branch","len":1,"c":false},{"a":51885,"n":"b_CAAD","k":"branch","len":1,"c":false},{"a":51912,"n":"b_CAC8","k":"branch","len":1,"c":false},{"a":51931,"n":"b_CADB","k":"branch","len":1,"c":false},{"a":51933,"n":"b_CADD","k":"branch","len":1,"c":false},{"a":51937,"n":"j_CAE1","k":"branch","len":1,"c":false},{"a":51943,"n":"r_CAE7","k":"branch","len":1,"c":false},{"a":51944,"n":"b_CAE8","k":"branch","len":1,"c":false},{"a":51956,"n":"b_CAF4","k":"branch","len":1,"c":false},{"a":51968,"n":"b_CB00","k":"branch","len":1,"c":false},{"a":51980,"n":"b_CB0C","k":"branch","len":1,"c":false},{"a":51992,"n":"b_CB18","k":"branch","len":1,"c":false},{"a":51995,"n":"unused_rts","k":"variable","len":1,"c":true},{"a":51996,"n":"spark_hit_players","k":"routine","len":88,"c":true},{"a":51998,"n":"b_CB1E","k":"branch","len":1,"c":false},{"a":52080,"n":"b_CB70","k":"branch","len":1,"c":false},{"a":52084,"n":"propellers_update","k":"routine","len":52,"c":true},{"a":52089,"n":"b_CB79","k":"branch","len":1,"c":false},{"a":52132,"n":"b_CBA4","k":"branch","len":1,"c":false},{"a":52135,"n":"r_CBA7","k":"branch","len":1,"c":false},{"a":52136,"n":"propeller_push","k":"routine","len":139,"c":true},{"a":52146,"n":"b_CBB2","k":"branch","len":1,"c":false},{"a":52161,"n":"b_CBC1","k":"branch","len":1,"c":false},{"a":52220,"n":"b_CBFC","k":"branch","len":1,"c":false},{"a":52235,"n":"b_CC0B","k":"branch","len":1,"c":false},{"a":52256,"n":"b_CC20","k":"branch","len":1,"c":false},{"a":52271,"n":"b_CC2F","k":"branch","len":1,"c":false},{"a":52275,"n":"request_bounce_sound","k":"routine","len":7,"c":true},{"a":52282,"n":"propeller_touch","k":"routine","len":133,"c":true},{"a":52339,"n":"b_CC73","k":"branch","len":1,"c":false},{"a":52386,"n":"b_CCA2","k":"branch","len":1,"c":false},{"a":52408,"n":"b_CCB8","k":"branch","len":1,"c":false},{"a":52414,"n":"r_CCBE","k":"branch","len":1,"c":false},{"a":52415,"n":"propeller_stand","k":"routine","len":12,"c":true},{"a":52427,"n":"propeller_draw","k":"routine","len":68,"c":true},{"a":52495,"n":"queue_propeller_row","k":"routine","len":23,"c":true},{"a":52517,"n":"r_CD25","k":"branch","len":1,"c":false},{"a":52518,"n":"propeller_tiles","k":"table","len":4,"c":true},{"a":52522,"n":"propeller_tiles_2","k":"table","len":4,"c":true},{"a":52526,"n":"propeller_tiles_3","k":"table","len":4,"c":true},{"a":52530,"n":"propeller_tiles_4","k":"table","len":4,"c":true},{"a":52534,"n":"propeller_tiles_5","k":"table","len":4,"c":true},{"a":52538,"n":"propeller_tiles_6","k":"table","len":4,"c":true},{"a":52542,"n":"propeller_tiles_7","k":"table","len":4,"c":true},{"a":52546,"n":"propeller_tiles_8","k":"table","len":4,"c":true},{"a":52550,"n":"propeller_tiles_9","k":"table","len":4,"c":true},{"a":52554,"n":"balloons_clear","k":"routine","len":16,"c":true},{"a":52556,"n":"b_CD4C","k":"branch","len":1,"c":false},{"a":52570,"n":"balloon_spawn","k":"routine","len":80,"c":true},{"a":52576,"n":"b_CD60","k":"branch","len":1,"c":false},{"a":52587,"n":"b_CD6B","k":"branch","len":1,"c":false},{"a":52596,"n":"b_CD74","k":"branch","len":1,"c":false},{"a":52642,"n":"b_CDA2","k":"branch","len":1,"c":false},{"a":52650,"n":"balloons_update","k":"routine","len":133,"c":true},{"a":52652,"n":"j_CDAC","k":"branch","len":1,"c":false},{"a":52732,"n":"b_CDFC","k":"branch","len":1,"c":false},{"a":52747,"n":"b_CE0B","k":"branch","len":1,"c":false},{"a":52765,"n":"b_CE1D","k":"branch","len":1,"c":false},{"a":52770,"n":"b_CE22","k":"branch","len":1,"c":false},{"a":52782,"n":"r_CE2E","k":"branch","len":1,"c":false},{"a":52783,"n":"balloon_draw","k":"routine","len":127,"c":true},{"a":52889,"n":"b_CE99","k":"branch","len":1,"c":false},{"a":52910,"n":"chimney_x","k":"table","len":4,"c":true},{"a":52914,"n":"balloon_palettes","k":"table","len":3,"c":true},{"a":52917,"n":"balloon_bottom_tiles","k":"table","len":8,"c":true},{"a":52925,"n":"balloon_bottom_flips","k":"table","len":17,"c":true},{"a":52942,"n":"balloon_hit_players","k":"routine","len":69,"c":true},{"a":52944,"n":"b_CED0","k":"branch","len":1,"c":false},{"a":53007,"n":"b_CF0F","k":"branch","len":1,"c":false},{"a":53010,"n":"r_CF12","k":"branch","len":1,"c":false},{"a":53011,"n":"bonus_round_play","k":"routine","len":463,"c":true},{"a":53023,"n":"b_CF1F","k":"branch","len":1,"c":false},{"a":53030,"n":"b_CF26","k":"branch","len":1,"c":false},{"a":53044,"n":"b_CF34","k":"branch","len":1,"c":false},{"a":53063,"n":"b_CF47","k":"branch","len":1,"c":false},{"a":53073,"n":"b_CF51","k":"branch","len":1,"c":false},{"a":53118,"n":"b_CF7E","k":"branch","len":1,"c":false},{"a":53173,"n":"b_CFB5","k":"branch","len":1,"c":false},{"a":53224,"n":"b_CFE8","k":"branch","len":1,"c":false},{"a":53267,"n":"b_D013","k":"branch","len":1,"c":false},{"a":53277,"n":"b_D01D","k":"branch","len":1,"c":false},{"a":53294,"n":"b_D02E","k":"branch","len":1,"c":false},{"a":53327,"n":"b_D04F","k":"branch","len":1,"c":false},{"a":53352,"n":"b_D068","k":"branch","len":1,"c":false},{"a":53360,"n":"b_D070","k":"branch","len":1,"c":false},{"a":53390,"n":"b_D08E","k":"branch","len":1,"c":false},{"a":53416,"n":"b_D0A8","k":"branch","len":1,"c":false},{"a":53440,"n":"b_D0C0","k":"branch","len":1,"c":false},{"a":53454,"n":"b_D0CE","k":"branch","len":1,"c":false},{"a":53462,"n":"b_D0D6","k":"branch","len":1,"c":false},{"a":53468,"n":"b_D0DC","k":"branch","len":1,"c":false},{"a":53474,"n":"set_bonus_round_values","k":"routine","len":43,"c":true},{"a":53508,"n":"b_D104","k":"branch","len":1,"c":false},{"a":53517,"n":"bonus_values","k":"table","len":5,"c":true},{"a":53522,"n":"bonus_rise_speeds","k":"table","len":5,"c":true},{"a":53527,"n":"perfect_tens_table","k":"table","len":5,"c":true},{"a":53532,"n":"perfect_units_table","k":"table","len":5,"c":true},{"a":53537,"n":"check_perfect","k":"routine","len":10,"c":true},{"a":53547,"n":"bonus_result_palette","k":"table","len":19,"c":true},{"a":53566,"n":"bonus_result_text","k":"table","len":28,"c":true},{"a":53594,"n":"bonus_result_attrs1","k":"table","len":11,"c":true},{"a":53605,"n":"bonus_result_attrs2","k":"table","len":11,"c":true},{"a":53616,"n":"perfect_text","k":"table","len":20,"c":true},{"a":53636,"n":"super_bonus_text","k":"table","len":26,"c":true},{"a":53662,"n":"bonus_player_y","k":"variable","len":2,"c":true},{"a":53664,"n":"bonus_show_totals","k":"routine","len":41,"c":true},{"a":53666,"n":"b_D1A2","k":"branch","len":1,"c":false},{"a":53698,"n":"b_D1C2","k":"branch","len":1,"c":false},{"a":53705,"n":"queue_two_digits","k":"routine","len":19,"c":true},{"a":53707,"n":"j_D1CB","k":"branch","len":1,"c":false},{"a":53717,"n":"b_D1D5","k":"branch","len":1,"c":false},{"a":53724,"n":"add_value_to_digits","k":"routine","len":34,"c":true},{"a":53741,"n":"b_D1ED","k":"branch","len":1,"c":false},{"a":53755,"n":"b_D1FB","k":"branch","len":1,"c":false},{"a":53758,"n":"blank_leading_zeros","k":"routine","len":21,"c":true},{"a":53760,"n":"b_D200","k":"branch","len":1,"c":false},{"a":53768,"n":"b_D208","k":"branch","len":1,"c":false},{"a":53778,"n":"r_D212","k":"branch","len":1,"c":false},{"a":53779,"n":"count_down_into_score","k":"routine","len":51,"c":true},{"a":53810,"n":"b_D232","k":"branch","len":1,"c":false},{"a":53816,"n":"b_D238","k":"branch","len":1,"c":false},{"a":53827,"n":"b_D243","k":"branch","len":1,"c":false},{"a":53830,"n":"clear_screen","k":"routine","len":47,"c":true},{"a":53864,"n":"b_D268","k":"branch","len":1,"c":false},{"a":53877,"n":"fill_nametable","k":"routine","len":30,"c":true},{"a":53881,"n":"b_D279","k":"branch","len":1,"c":false},{"a":53900,"n":"b_D28C","k":"branch","len":1,"c":false},{"a":53907,"n":"build_phase_screen","k":"routine","len":346,"c":true},{"a":53920,"n":"b_D2A0","k":"branch","len":1,"c":false},{"a":53937,"n":"j_D2B1","k":"branch","len":1,"c":false},{"a":53953,"n":"b_D2C1","k":"branch","len":1,"c":false},{"a":53963,"n":"b_D2CB","k":"branch","len":1,"c":false},{"a":54050,"n":"b_D322","k":"branch","len":1,"c":false},{"a":54055,"n":"j_D327","k":"branch","len":1,"c":false},{"a":54142,"n":"b_D37E","k":"branch","len":1,"c":false},{"a":54169,"n":"b_D399","k":"branch","len":1,"c":false},{"a":54170,"n":"b_D39A","k":"branch","len":1,"c":false},{"a":54202,"n":"j_D3BA","k":"branch","len":1,"c":false},{"a":54241,"n":"j_D3E1","k":"branch","len":1,"c":false},{"a":54253,"n":"load_palette","k":"routine","len":74,"c":true},{"a":54255,"n":"b_D3EF","k":"branch","len":1,"c":false},{"a":54276,"n":"b_D404","k":"branch","len":1,"c":false},{"a":54285,"n":"b_D40D","k":"branch","len":1,"c":false},{"a":54288,"n":"b_D410","k":"branch","len":1,"c":false},{"a":54305,"n":"b_D421","k":"branch","len":1,"c":false},{"a":54317,"n":"b_D42D","k":"branch","len":1,"c":false},{"a":54327,"n":"base_palette","k":"table","len":35,"c":true},{"a":54362,"n":"phase_bg_palettes","k":"table","len":16,"c":true},{"a":54378,"n":"bonus_palette_ptrs","k":"table","len":5,"c":true},{"a":54383,"n":"bonus_palette_ptrs_hi","k":"table","len":5,"c":true},{"a":54388,"n":"bonus_palettes","k":"table","len":24,"c":true},{"a":54412,"n":"advance_platform_ptr","k":"routine","len":7,"c":true},{"a":54418,"n":"r_D492","k":"branch","len":1,"c":false},{"a":54419,"n":"cloud_tiles","k":"table","len":4,"c":true},{"a":54423,"n":"draw_block_lists","k":"routine","len":78,"c":true},{"a":54436,"n":"b_D4A4","k":"branch","len":1,"c":false},{"a":54476,"n":"b_D4CC","k":"branch","len":1,"c":false},{"a":54488,"n":"b_D4D8","k":"branch","len":1,"c":false},{"a":54491,"n":"b_D4DB","k":"branch","len":1,"c":false},{"a":54500,"n":"r_D4E4","k":"branch","len":1,"c":false},{"a":54501,"n":"read_level_byte","k":"routine","len":11,"c":true},{"a":54511,"n":"r_D4EF","k":"branch","len":1,"c":false},{"a":54512,"n":"read_block_byte","k":"routine","len":11,"c":true},{"a":54522,"n":"r_D4FA","k":"branch","len":1,"c":false},{"a":54523,"n":"set_ppu_addr_from_tile_xy","k":"routine","len":33,"c":true},{"a":54556,"n":"attr_addr_and_quadrant","k":"routine","len":32,"c":true},{"a":54588,"n":"set_attr_quadrant_palette1","k":"routine","len":40,"c":true},{"a":54628,"n":"attr_quadrant_masks","k":"table","len":4,"c":true},{"a":54632,"n":"attr_quadrant_values","k":"table","len":4,"c":true},{"a":54636,"n":"draw_propeller_now","k":"routine","len":6,"c":true},{"a":54642,"n":"build_trip_screen","k":"routine","len":33,"c":true},{"a":54675,"n":"write_trip_attrs","k":"routine","len":30,"c":true},{"a":54683,"n":"b_D59B","k":"branch","len":1,"c":false},{"a":54705,"n":"write_repeated","k":"routine","len":7,"c":true},{"a":54712,"n":"write_water_rows","k":"routine","len":17,"c":true},{"a":54729,"n":"write_tile_cycle","k":"routine","len":16,"c":true},{"a":54731,"n":"b_D5CB","k":"branch","len":1,"c":false},{"a":54745,"n":"draw_stars","k":"routine","len":24,"c":true},{"a":54747,"n":"b_D5DB","k":"branch","len":1,"c":false},{"a":54769,"n":"draw_star_if_blank","k":"routine","len":28,"c":true},{"a":54796,"n":"r_D60C","k":"branch","len":1,"c":false},{"a":54797,"n":"twinkle_stars","k":"routine","len":63,"c":true},{"a":54834,"n":"b_D632","k":"branch","len":1,"c":false},{"a":54842,"n":"r_D63A","k":"branch","len":1,"c":false},{"a":54843,"n":"j_D63B","k":"branch","len":1,"c":false},{"a":54860,"n":"star_tiles","k":"variable","len":1,"c":true},{"a":54861,"n":"star_tiles_next","k":"table","len":4,"c":true},{"a":54865,"n":"star_addr","k":"routine","len":11,"c":true},{"a":54876,"n":"star_addresses","k":"variable","len":1,"c":true},{"a":54877,"n":"star_addresses_hi","k":"table","len":127,"c":true},{"a":55004,"n":"add_score_zero","k":"routine","len":2,"c":true},{"a":55006,"n":"add_score","k":"routine","len":155,"c":true},{"a":55012,"n":"r_D6E4","k":"branch","len":1,"c":false},{"a":55013,"n":"b_D6E5","k":"branch","len":1,"c":false},{"a":55110,"n":"b_D746","k":"branch","len":1,"c":false},{"a":55122,"n":"b_D752","k":"branch","len":1,"c":false},{"a":55131,"n":"b_D75B","k":"branch","len":1,"c":false},{"a":55141,"n":"b_D765","k":"branch","len":1,"c":false},{"a":55143,"n":"b_D767","k":"branch","len":1,"c":false},{"a":55160,"n":"r_D778","k":"branch","len":1,"c":false},{"a":55161,"n":"top_score_ptrs","k":"table","len":3,"c":true},{"a":55164,"n":"divide","k":"routine","len":19,"c":true},{"a":55170,"n":"b_D782","k":"branch","len":1,"c":false},{"a":55183,"n":"mod10","k":"routine","len":9,"c":true},{"a":55188,"n":"b_D794","k":"branch","len":1,"c":false},{"a":55192,"n":"status_bar_update","k":"routine","len":142,"c":true},{"a":55200,"n":"b_D7A0","k":"branch","len":1,"c":false},{"a":55217,"n":"b_D7B1","k":"branch","len":1,"c":false},{"a":55249,"n":"b_D7D1","k":"branch","len":1,"c":false},{"a":55285,"n":"b_D7F5","k":"branch","len":1,"c":false},{"a":55298,"n":"b_D802","k":"branch","len":1,"c":false},{"a":55301,"n":"b_D805","k":"branch","len":1,"c":false},{"a":55334,"n":"draw_lives_or_gameover","k":"routine","len":37,"c":true},{"a":55336,"n":"b_D828","k":"branch","len":1,"c":false},{"a":55340,"n":"b_D82C","k":"branch","len":1,"c":false},{"a":55348,"n":"b_D834","k":"branch","len":1,"c":false},{"a":55354,"n":"r_D83A","k":"branch","len":1,"c":false},{"a":55355,"n":"b_D83B","k":"branch","len":1,"c":false},{"a":55361,"n":"b_D841","k":"branch","len":1,"c":false},{"a":55371,"n":"gameover_text_rev","k":"table","len":9,"c":true},{"a":55380,"n":"status_rank","k":"routine","len":24,"c":true},{"a":55382,"n":"b_D856","k":"branch","len":1,"c":false},{"a":55404,"n":"rank_text_rev","k":"table","len":5,"c":true},{"a":55409,"n":"show_popup","k":"routine","len":96,"c":true},{"a":55417,"n":"b_D879","k":"branch","len":1,"c":false},{"a":55436,"n":"b_D88C","k":"branch","len":1,"c":false},{"a":55505,"n":"popup_tiles","k":"table","len":6,"c":true},{"a":55511,"n":"popup_tiles2","k":"table","len":6,"c":true},{"a":55517,"n":"popups_countdown","k":"routine","len":34,"c":true},{"a":55519,"n":"b_D8DF","k":"branch","len":1,"c":false},{"a":55547,"n":"b_D8FB","k":"branch","len":1,"c":false},{"a":55551,"n":"popups_clear","k":"routine","len":16,"c":true},{"a":55553,"n":"b_D901","k":"branch","len":1,"c":false},{"a":55567,"n":"draw_title_screen","k":"routine","len":29,"c":true},{"a":55596,"n":"title_block_list","k":"table","len":4,"c":true},{"a":55600,"n":"title_blocks","k":"table","len":401,"c":true},{"a":56001,"n":"title_loop","k":"routine","len":68,"c":true},{"a":56011,"n":"j_DACB","k":"branch","len":1,"c":false},{"a":56045,"n":"b_DAED","k":"branch","len":1,"c":false},{"a":56048,"n":"r_DAF0","k":"branch","len":1,"c":false},{"a":56049,"n":"b_DAF1","k":"branch","len":1,"c":false},{"a":56069,"n":"title_next_option","k":"table","len":3,"c":true},{"a":56072,"n":"draw_title_cursor","k":"routine","len":31,"c":true},{"a":56103,"n":"title_cursor_y","k":"table","len":3,"c":true},{"a":56106,"n":"phase_layouts","k":"table","len":16,"c":true},{"a":56122,"n":"phase_layouts_hi","k":"table","len":16,"c":true},{"a":56138,"n":"phase_layout_1","k":"table","len":15,"c":true},{"a":56153,"n":"phase_layout_2","k":"table","len":19,"c":true},{"a":56172,"n":"bonus_layout","k":"table","len":11,"c":true},{"a":56183,"n":"phase_layout_4","k":"table","len":17,"c":true},{"a":56200,"n":"phase_layout_5","k":"table","len":17,"c":true},{"a":56217,"n":"phase_layout_7","k":"table","len":20,"c":true},{"a":56237,"n":"phase_layout_10","k":"table","len":29,"c":true},{"a":56266,"n":"phase_layout_9","k":"table","len":23,"c":true},{"a":56289,"n":"phase_layout_6","k":"table","len":17,"c":true},{"a":56306,"n":"phase_layout_3","k":"table","len":17,"c":true},{"a":56323,"n":"phase_layout_8","k":"table","len":20,"c":true},{"a":56343,"n":"phase_layout_11","k":"table","len":20,"c":true},{"a":56363,"n":"common_blocks","k":"table","len":131,"c":true},{"a":56494,"n":"trip_water_attrs","k":"table","len":28,"c":true},{"a":56522,"n":"bonus_blocks","k":"table","len":111,"c":true},{"a":56633,"n":"phase_blocks","k":"table","len":321,"c":true},{"a":56954,"n":"platform_tables","k":"table","len":284,"c":true},{"a":57238,"n":"bird_lists","k":"table","len":167,"c":true},{"a":57405,"n":"actor_sprite_dy","k":"table","len":6,"c":true},{"a":57411,"n":"actor_sprite_dx","k":"table","len":54,"c":true},{"a":57465,"n":"actor_sprite_dx_left","k":"table","len":54,"c":true},{"a":57519,"n":"sprite_layouts","k":"table","len":413,"c":true},{"a":57932,"n":"player_layout_ptrs","k":"table","len":76,"c":true},{"a":58008,"n":"player_layout_ptrs_hi","k":"table","len":76,"c":true},{"a":58084,"n":"player_flash_ptrs","k":"table","len":8,"c":true},{"a":58092,"n":"player_flash_ptrs_hi","k":"table","len":8,"c":true},{"a":58100,"n":"bird_layout_ptrs","k":"table","len":44,"c":true},{"a":58144,"n":"bird_layout_ptrs_hi","k":"table","len":44,"c":true},{"a":58188,"n":"player_layout_base","k":"table","len":3,"c":true},{"a":58191,"n":"player_flash_base","k":"table","len":3,"c":true},{"a":58194,"n":"bird_layout_base","k":"table","len":3,"c":true},{"a":58197,"n":"fish_layouts","k":"table","len":47,"c":true},{"a":58244,"n":"fish_layout_ptrs","k":"table","len":7,"c":true},{"a":58251,"n":"fish_layout_ptrs_hi","k":"table","len":7,"c":true},{"a":58258,"n":"actor_sprite_slots","k":"table","len":9,"c":true},{"a":58267,"n":"actor_sprite_slots_alt","k":"table","len":9,"c":true},{"a":58276,"n":"draw_actor","k":"routine","len":305,"c":true},{"a":58291,"n":"b_E3B3","k":"branch","len":1,"c":false},{"a":58306,"n":"b_E3C2","k":"branch","len":1,"c":false},{"a":58308,"n":"b_E3C4","k":"branch","len":1,"c":false},{"a":58319,"n":"b_E3CF","k":"branch","len":1,"c":false},{"a":58376,"n":"b_E408","k":"branch","len":1,"c":false},{"a":58395,"n":"b_E41B","k":"branch","len":1,"c":false},{"a":58409,"n":"b_E429","k":"branch","len":1,"c":false},{"a":58428,"n":"b_E43C","k":"branch","len":1,"c":false},{"a":58436,"n":"b_E444","k":"branch","len":1,"c":false},{"a":58443,"n":"b_E44B","k":"branch","len":1,"c":false},{"a":58457,"n":"b_E459","k":"branch","len":1,"c":false},{"a":58467,"n":"b_E463","k":"branch","len":1,"c":false},{"a":58469,"n":"b_E465","k":"branch","len":1,"c":false},{"a":58492,"n":"b_E47C","k":"branch","len":1,"c":false},{"a":58502,"n":"b_E486","k":"branch","len":1,"c":false},{"a":58516,"n":"b_E494","k":"branch","len":1,"c":false},{"a":58522,"n":"b_E49A","k":"branch","len":1,"c":false},{"a":58545,"n":"b_E4B1","k":"branch","len":1,"c":false},{"a":58570,"n":"b_E4CA","k":"branch","len":1,"c":false},{"a":58581,"n":"draw_actor_bubble","k":"routine","len":178,"c":true},{"a":58637,"n":"b_E50D","k":"branch","len":1,"c":false},{"a":58698,"n":"b_E54A","k":"branch","len":1,"c":false},{"a":58704,"n":"b_E550","k":"branch","len":1,"c":false},{"a":58707,"n":"b_E553","k":"branch","len":1,"c":false},{"a":58756,"n":"b_E584","k":"branch","len":1,"c":false},{"a":58759,"n":"draw_splash","k":"routine","len":62,"c":true},{"a":58777,"n":"b_E599","k":"branch","len":1,"c":false},{"a":58791,"n":"b_E5A7","k":"branch","len":1,"c":false},{"a":58797,"n":"b_E5AD","k":"branch","len":1,"c":false},{"a":58820,"n":"r_E5C4","k":"branch","len":1,"c":false},{"a":58821,"n":"splash_frame_ptrs","k":"table","len":5,"c":true},{"a":58826,"n":"splash_frame_ptrs_hi","k":"table","len":5,"c":true},{"a":58831,"n":"splash_frames","k":"table","len":50,"c":true},{"a":58881,"n":"gravity_by_type","k":"table","len":12,"c":true},{"a":58893,"n":"flap_strength","k":"table","len":12,"c":true},{"a":58905,"n":"run_accel","k":"table","len":12,"c":true},{"a":58917,"n":"air_accel","k":"table","len":12,"c":true},{"a":58929,"n":"max_vx_lo","k":"table","len":12,"c":true},{"a":58941,"n":"max_vx_hi","k":"table","len":12,"c":true},{"a":58953,"n":"max_vx_left_lo","k":"table","len":12,"c":true},{"a":58965,"n":"max_vx_left_hi","k":"table","len":12,"c":true},{"a":58977,"n":"max_vy_lo","k":"table","len":12,"c":true},{"a":58989,"n":"max_vy_hi","k":"table","len":12,"c":true},{"a":59001,"n":"max_vy_up_lo","k":"table","len":12,"c":true},{"a":59013,"n":"max_vy_up_hi","k":"table","len":12,"c":true},{"a":59025,"n":"actors_update","k":"routine","len":88,"c":true},{"a":59030,"n":"b_E696","k":"branch","len":1,"c":false},{"a":59044,"n":"b_E6A4","k":"branch","len":1,"c":false},{"a":59064,"n":"b_E6B8","k":"branch","len":1,"c":false},{"a":59086,"n":"b_E6CE","k":"branch","len":1,"c":false},{"a":59097,"n":"b_E6D9","k":"branch","len":1,"c":false},{"a":59106,"n":"b_E6E2","k":"branch","len":1,"c":false},{"a":59113,"n":"steer_actor","k":"routine","len":121,"c":true},{"a":59128,"n":"b_E6F8","k":"branch","len":1,"c":false},{"a":59140,"n":"r_E704","k":"branch","len":1,"c":false},{"a":59141,"n":"b_E705","k":"branch","len":1,"c":false},{"a":59154,"n":"b_E712","k":"branch","len":1,"c":false},{"a":59209,"n":"b_E749","k":"branch","len":1,"c":false},{"a":59213,"n":"b_E74D","k":"branch","len":1,"c":false},{"a":59227,"n":"b_E75B","k":"branch","len":1,"c":false},{"a":59234,"n":"bird_decision_masks","k":"table","len":3,"c":true},{"a":59237,"n":"bird_decision_bases","k":"table","len":3,"c":true},{"a":59240,"n":"read_joypads","k":"routine","len":2,"c":true},{"a":59242,"n":"read_joypad_x","k":"routine","len":44,"c":true},{"a":59254,"n":"b_E776","k":"branch","len":1,"c":false},{"a":59286,"n":"actor_move_control","k":"routine","len":27,"c":true},{"a":59290,"n":"b_E79A","k":"branch","len":1,"c":false},{"a":59299,"n":"b_E7A3","k":"branch","len":1,"c":false},{"a":59313,"n":"actor_sway","k":"routine","len":466,"c":true},{"a":59368,"n":"b_E7E8","k":"branch","len":1,"c":false},{"a":59375,"n":"b_E7EF","k":"branch","len":1,"c":false},{"a":59394,"n":"b_E802","k":"branch","len":1,"c":false},{"a":59405,"n":"b_E80D","k":"branch","len":1,"c":false},{"a":59409,"n":"b_E811","k":"branch","len":1,"c":false},{"a":59425,"n":"b_E821","k":"branch","len":1,"c":false},{"a":59433,"n":"b_E829","k":"branch","len":1,"c":false},{"a":59438,"n":"b_E82E","k":"branch","len":1,"c":false},{"a":59442,"n":"b_E832","k":"branch","len":1,"c":false},{"a":59461,"n":"b_E845","k":"branch","len":1,"c":false},{"a":59472,"n":"b_E850","k":"branch","len":1,"c":false},{"a":59476,"n":"b_E854","k":"branch","len":1,"c":false},{"a":59492,"n":"b_E864","k":"branch","len":1,"c":false},{"a":59508,"n":"b_E874","k":"branch","len":1,"c":false},{"a":59516,"n":"b_E87C","k":"branch","len":1,"c":false},{"a":59519,"n":"b_E87F","k":"branch","len":1,"c":false},{"a":59558,"n":"b_E8A6","k":"branch","len":1,"c":false},{"a":59576,"n":"b_E8B8","k":"branch","len":1,"c":false},{"a":59591,"n":"b_E8C7","k":"branch","len":1,"c":false},{"a":59601,"n":"b_E8D1","k":"branch","len":1,"c":false},{"a":59628,"n":"b_E8EC","k":"branch","len":1,"c":false},{"a":59649,"n":"j_E901","k":"branch","len":1,"c":false},{"a":59655,"n":"b_E907","k":"branch","len":1,"c":false},{"a":59689,"n":"b_E929","k":"branch","len":1,"c":false},{"a":59710,"n":"j_E93E","k":"branch","len":1,"c":false},{"a":59729,"n":"j_E951","k":"branch","len":1,"c":false},{"a":59747,"n":"b_E963","k":"branch","len":1,"c":false},{"a":59752,"n":"b_E968","k":"branch","len":1,"c":false},{"a":59766,"n":"b_E976","k":"branch","len":1,"c":false},{"a":59778,"n":"r_E982","k":"branch","len":1,"c":false},{"a":59779,"n":"actor_ground_state","k":"routine","len":149,"c":true},{"a":59802,"n":"b_E99A","k":"branch","len":1,"c":false},{"a":59812,"n":"b_E9A4","k":"branch","len":1,"c":false},{"a":59830,"n":"b_E9B6","k":"branch","len":1,"c":false},{"a":59890,"n":"r_E9F2","k":"branch","len":1,"c":false},{"a":59891,"n":"b_E9F3","k":"branch","len":1,"c":false},{"a":59901,"n":"b_E9FD","k":"branch","len":1,"c":false},{"a":59923,"n":"b_EA13","k":"branch","len":1,"c":false},{"a":59925,"n":"b_EA15","k":"branch","len":1,"c":false},{"a":59927,"n":"r_EA17","k":"branch","len":1,"c":false},{"a":59928,"n":"actor_animate","k":"routine","len":64,"c":true},{"a":59948,"n":"b_EA2C","k":"branch","len":1,"c":false},{"a":59966,"n":"b_EA3E","k":"branch","len":1,"c":false},{"a":59972,"n":"b_EA44","k":"branch","len":1,"c":false},{"a":59975,"n":"b_EA47","k":"branch","len":1,"c":false},{"a":59991,"n":"r_EA57","k":"branch","len":1,"c":false},{"a":59992,"n":"actor_physics","k":"routine","len":310,"c":true},{"a":60000,"n":"b_EA60","k":"branch","len":1,"c":false},{"a":60043,"n":"r_EA8B","k":"branch","len":1,"c":false},{"a":60044,"n":"b_EA8C","k":"branch","len":1,"c":false},{"a":60062,"n":"b_EA9E","k":"branch","len":1,"c":false},{"a":60082,"n":"b_EAB2","k":"branch","len":1,"c":false},{"a":60097,"n":"b_EAC1","k":"branch","len":1,"c":false},{"a":60112,"n":"b_EAD0","k":"branch","len":1,"c":false},{"a":60124,"n":"b_EADC","k":"branch","len":1,"c":false},{"a":60165,"n":"b_EB05","k":"branch","len":1,"c":false},{"a":60173,"n":"b_EB0D","k":"branch","len":1,"c":false},{"a":60193,"n":"b_EB21","k":"branch","len":1,"c":false},{"a":60208,"n":"b_EB30","k":"branch","len":1,"c":false},{"a":60223,"n":"b_EB3F","k":"branch","len":1,"c":false},{"a":60235,"n":"b_EB4B","k":"branch","len":1,"c":false},{"a":60250,"n":"b_EB5A","k":"branch","len":1,"c":false},{"a":60256,"n":"b_EB60","k":"branch","len":1,"c":false},{"a":60258,"n":"b_EB62","k":"branch","len":1,"c":false},{"a":60292,"n":"b_EB84","k":"branch","len":1,"c":false},{"a":60301,"n":"r_EB8D","k":"branch","len":1,"c":false},{"a":60302,"n":"actor_move_x","k":"routine","len":18,"c":true},{"a":60320,"n":"actor_move_y","k":"routine","len":18,"c":true},{"a":60338,"n":"actor_move_x_yreg","k":"routine","len":9,"c":true},{"a":60347,"n":"actor_move_y_yreg","k":"routine","len":9,"c":true},{"a":60356,"n":"actor_think","k":"routine","len":116,"c":true},{"a":60374,"n":"b_EBD6","k":"branch","len":1,"c":false},{"a":60387,"n":"b_EBE3","k":"branch","len":1,"c":false},{"a":60407,"n":"b_EBF7","k":"branch","len":1,"c":false},{"a":60413,"n":"r_EBFD","k":"branch","len":1,"c":false},{"a":60414,"n":"b_EBFE","k":"branch","len":1,"c":false},{"a":60463,"n":"b_EC2F","k":"branch","len":1,"c":false},{"a":60471,"n":"r_EC37","k":"branch","len":1,"c":false},{"a":60472,"n":"actor_controls","k":"routine","len":118,"c":true},{"a":60489,"n":"b_EC49","k":"branch","len":1,"c":false},{"a":60508,"n":"b_EC5C","k":"branch","len":1,"c":false},{"a":60513,"n":"b_EC61","k":"branch","len":1,"c":false},{"a":60533,"n":"b_EC75","k":"branch","len":1,"c":false},{"a":60542,"n":"b_EC7E","k":"branch","len":1,"c":false},{"a":60563,"n":"b_EC93","k":"branch","len":1,"c":false},{"a":60589,"n":"r_ECAD","k":"branch","len":1,"c":false},{"a":60590,"n":"relaunch_types","k":"table","len":12,"c":true},{"a":60602,"n":"actor_bubble_update","k":"routine","len":110,"c":true},{"a":60635,"n":"b_ECDB","k":"branch","len":1,"c":false},{"a":60639,"n":"b_ECDF","k":"branch","len":1,"c":false},{"a":60706,"n":"b_ED22","k":"branch","len":1,"c":false},{"a":60711,"n":"r_ED27","k":"branch","len":1,"c":false},{"a":60712,"n":"actor_platforms","k":"routine","len":253,"c":true},{"a":60717,"n":"r_ED2D","k":"branch","len":1,"c":false},{"a":60718,"n":"b_ED2E","k":"branch","len":1,"c":false},{"a":60736,"n":"b_ED40","k":"branch","len":1,"c":false},{"a":60740,"n":"j_ED44","k":"branch","len":1,"c":false},{"a":60763,"n":"b_ED5B","k":"branch","len":1,"c":false},{"a":60777,"n":"b_ED69","k":"branch","len":1,"c":false},{"a":60792,"n":"b_ED78","k":"branch","len":1,"c":false},{"a":60805,"n":"b_ED85","k":"branch","len":1,"c":false},{"a":60809,"n":"b_ED89","k":"branch","len":1,"c":false},{"a":60832,"n":"b_EDA0","k":"branch","len":1,"c":false},{"a":60852,"n":"b_EDB4","k":"branch","len":1,"c":false},{"a":60854,"n":"b_EDB6","k":"branch","len":1,"c":false},{"a":60864,"n":"r_EDC0","k":"branch","len":1,"c":false},{"a":60865,"n":"b_EDC1","k":"branch","len":1,"c":false},{"a":60886,"n":"b_EDD6","k":"branch","len":1,"c":false},{"a":60897,"n":"j_EDE1","k":"branch","len":1,"c":false},{"a":60912,"n":"b_EDF0","k":"branch","len":1,"c":false},{"a":60916,"n":"b_EDF4","k":"branch","len":1,"c":false},{"a":60927,"n":"b_EDFF","k":"branch","len":1,"c":false},{"a":60936,"n":"b_EE08","k":"branch","len":1,"c":false},{"a":60964,"n":"r_EE24","k":"branch","len":1,"c":false},{"a":60965,"n":"actors_collide","k":"routine","len":274,"c":true},{"a":60967,"n":"j_EE27","k":"branch","len":1,"c":false},{"a":60974,"n":"b_EE2E","k":"branch","len":1,"c":false},{"a":60977,"n":"b_EE31","k":"branch","len":1,"c":false},{"a":61034,"n":"b_EE6A","k":"branch","len":1,"c":false},{"a":61052,"n":"b_EE7C","k":"branch","len":1,"c":false},{"a":61071,"n":"b_EE8F","k":"branch","len":1,"c":false},{"a":61098,"n":"b_EEAA","k":"branch","len":1,"c":false},{"a":61116,"n":"b_EEBC","k":"branch","len":1,"c":false},{"a":61120,"n":"b_EEC0","k":"branch","len":1,"c":false},{"a":61133,"n":"b_EECD","k":"branch","len":1,"c":false},{"a":61142,"n":"b_EED6","k":"branch","len":1,"c":false},{"a":61165,"n":"b_EEED","k":"branch","len":1,"c":false},{"a":61169,"n":"b_EEF1","k":"branch","len":1,"c":false},{"a":61178,"n":"b_EEFA","k":"branch","len":1,"c":false},{"a":61187,"n":"b_EF03","k":"branch","len":1,"c":false},{"a":61210,"n":"b_EF1A","k":"branch","len":1,"c":false},{"a":61214,"n":"b_EF1E","k":"branch","len":1,"c":false},{"a":61226,"n":"j_EF2A","k":"branch","len":1,"c":false},{"a":61232,"n":"b_EF30","k":"branch","len":1,"c":false},{"a":61238,"n":"r_EF36","k":"branch","len":1,"c":false},{"a":61239,"n":"resolve_hit","k":"routine","len":284,"c":true},{"a":61250,"n":"b_EF42","k":"branch","len":1,"c":false},{"a":61263,"n":"b_EF4F","k":"branch","len":1,"c":false},{"a":61270,"n":"b_EF56","k":"branch","len":1,"c":false},{"a":61281,"n":"b_EF61","k":"branch","len":1,"c":false},{"a":61298,"n":"b_EF72","k":"branch","len":1,"c":false},{"a":61311,"n":"b_EF7F","k":"branch","len":1,"c":false},{"a":61335,"n":"b_EF97","k":"branch","len":1,"c":false},{"a":61367,"n":"b_EFB7","k":"branch","len":1,"c":false},{"a":61376,"n":"b_EFC0","k":"branch","len":1,"c":false},{"a":61390,"n":"b_EFCE","k":"branch","len":1,"c":false},{"a":61408,"n":"b_EFE0","k":"branch","len":1,"c":false},{"a":61410,"n":"b_EFE2","k":"branch","len":1,"c":false},{"a":61418,"n":"b_EFEA","k":"branch","len":1,"c":false},{"a":61457,"n":"b_F011","k":"branch","len":1,"c":false},{"a":61475,"n":"b_F023","k":"branch","len":1,"c":false},{"a":61507,"n":"j_F043","k":"branch","len":1,"c":false},{"a":61522,"n":"r_F052","k":"branch","len":1,"c":false},{"a":61523,"n":"player_burst_actions","k":"table","len":11,"c":true},{"a":61534,"n":"hit_next_type","k":"table","len":12,"c":true},{"a":61546,"n":"hit_scores","k":"table","len":12,"c":true},{"a":61558,"n":"hit_scores_kicked","k":"table","len":12,"c":true},{"a":61570,"n":"hit_popups","k":"table","len":12,"c":true},{"a":61582,"n":"abs","k":"routine","len":10,"c":true},{"a":61591,"n":"r_F097","k":"branch","len":1,"c":false},{"a":61592,"n":"vx_diff","k":"routine","len":14,"c":true},{"a":61606,"n":"vy_diff","k":"routine","len":14,"c":true},{"a":61620,"n":"swap_xy","k":"routine","len":9,"c":true},{"a":61629,"n":"both_birds_flying","k":"routine","len":33,"c":true},{"a":61661,"n":"r_F0DD","k":"branch","len":1,"c":false},{"a":61662,"n":"negate_vx","k":"routine","len":41,"c":true},{"a":61703,"n":"negate_vy","k":"routine","len":18,"c":true},{"a":61721,"n":"multiply_signed","k":"routine","len":42,"c":true},{"a":61763,"n":"multiply_unsigned","k":"routine","len":47,"c":true},{"a":61775,"n":"b_F14F","k":"branch","len":1,"c":false},{"a":61804,"n":"b_F16C","k":"branch","len":1,"c":false},{"a":61810,"n":"scale_vx_80pct","k":"routine","len":26,"c":true},{"a":61836,"n":"scale_vy_80pct","k":"routine","len":26,"c":true},{"a":61862,"n":"shift_right_4","k":"routine","len":13,"c":true},{"a":61864,"n":"b_F1A8","k":"branch","len":1,"c":false},{"a":61875,"n":"next_random","k":"routine","len":33,"c":true},{"a":61879,"n":"b_F1B7","k":"branch","len":1,"c":false},{"a":61908,"n":"main","k":"routine","len":30,"c":true},{"a":61913,"n":"b_F1D9","k":"branch","len":1,"c":false},{"a":61938,"n":"start_game","k":"routine","len":33,"c":true},{"a":61946,"n":"b_F1FA","k":"branch","len":1,"c":false},{"a":61965,"n":"b_F20D","k":"branch","len":1,"c":false},{"a":61971,"n":"phase_start","k":"routine","len":166,"c":true},{"a":61985,"n":"b_F221","k":"branch","len":1,"c":false},{"a":62008,"n":"b_F238","k":"branch","len":1,"c":false},{"a":62010,"n":"b_F23A","k":"branch","len":1,"c":false},{"a":62063,"n":"b_F26F","k":"branch","len":1,"c":false},{"a":62072,"n":"b_F278","k":"branch","len":1,"c":false},{"a":62094,"n":"b_F28E","k":"branch","len":1,"c":false},{"a":62107,"n":"b_F29B","k":"branch","len":1,"c":false},{"a":62114,"n":"b_F2A2","k":"branch","len":1,"c":false},{"a":62131,"n":"b_F2B3","k":"branch","len":1,"c":false},{"a":62137,"n":"phase_loop","k":"routine","len":173,"c":true},{"a":62149,"n":"b_F2C5","k":"branch","len":1,"c":false},{"a":62180,"n":"b_F2E4","k":"branch","len":1,"c":false},{"a":62221,"n":"b_F30D","k":"branch","len":1,"c":false},{"a":62232,"n":"b_F318","k":"branch","len":1,"c":false},{"a":62246,"n":"r_F326","k":"branch","len":1,"c":false},{"a":62247,"n":"b_F327","k":"branch","len":1,"c":false},{"a":62249,"n":"b_F329","k":"branch","len":1,"c":false},{"a":62255,"n":"b_F32F","k":"branch","len":1,"c":false},{"a":62264,"n":"b_F338","k":"branch","len":1,"c":false},{"a":62284,"n":"b_F34C","k":"branch","len":1,"c":false},{"a":62291,"n":"j_F353","k":"branch","len":1,"c":false},{"a":62305,"n":"b_F361","k":"branch","len":1,"c":false},{"a":62310,"n":"game_over","k":"routine","len":4,"c":true},{"a":62314,"n":"game_over_wait","k":"routine","len":28,"c":true},{"a":62325,"n":"b_F375","k":"branch","len":1,"c":false},{"a":62339,"n":"b_F383","k":"branch","len":1,"c":false},{"a":62342,"n":"player_place","k":"routine","len":40,"c":true},{"a":62369,"n":"b_F3A1","k":"branch","len":1,"c":false},{"a":62381,"n":"r_F3AD","k":"branch","len":1,"c":false},{"a":62382,"n":"player_start_x","k":"variable","len":2,"c":true},{"a":62384,"n":"actor_init_player","k":"routine","len":10,"c":true},{"a":62394,"n":"enemy_inflate_rates","k":"table","len":9,"c":true},{"a":62403,"n":"enemy_launch_delays","k":"table","len":9,"c":true},{"a":62412,"n":"phase_text","k":"routine","len":41,"c":true},{"a":62420,"n":"b_F3D4","k":"branch","len":1,"c":false},{"a":62446,"n":"b_F3EE","k":"branch","len":1,"c":false},{"a":62453,"n":"phase_text_block","k":"table","len":11,"c":true},{"a":62464,"n":"phase_text_blank","k":"table","len":11,"c":true},{"a":62475,"n":"show_game_over","k":"routine","len":48,"c":true},{"a":62480,"n":"b_F410","k":"branch","len":1,"c":false},{"a":62494,"n":"b_F41E","k":"branch","len":1,"c":false},{"a":62511,"n":"b_F42F","k":"branch","len":1,"c":false},{"a":62523,"n":"gameover_block_ptrs","k":"variable","len":2,"c":true},{"a":62525,"n":"gameover_block_ptrs_hi","k":"variable","len":2,"c":true},{"a":62527,"n":"gameover_rows","k":"table","len":3,"c":true},{"a":62530,"n":"gameover_block","k":"table","len":19,"c":true},{"a":62549,"n":"gameover_attr_block","k":"table","len":7,"c":true},{"a":62556,"n":"wait_20_frames","k":"routine","len":2,"c":true},{"a":62558,"n":"wait_x_frames","k":"routine","len":7,"c":true},{"a":62565,"n":"wait_frame","k":"routine","len":11,"c":true},{"a":62569,"n":"b_F469","k":"branch","len":1,"c":false},{"a":62575,"n":"r_F46F","k":"branch","len":1,"c":false},{"a":62576,"n":"wait_frame_pause","k":"routine","len":53,"c":true},{"a":62601,"n":"b_F489","k":"branch","len":1,"c":false},{"a":62626,"n":"b_F4A2","k":"branch","len":1,"c":false},{"a":62629,"n":"phase_vars_init","k":"routine","len":32,"c":true},{"a":62661,"n":"unused_fill","k":"table","len":59,"c":true},{"a":62720,"n":"music_channel_end","k":"routine","len":4,"c":true},{"a":62723,"n":"r_F503","k":"branch","len":1,"c":false},{"a":62724,"n":"music_play","k":"routine","len":248,"c":true},{"a":62731,"n":"b_F50B","k":"branch","len":1,"c":false},{"a":62734,"n":"b_F50E","k":"branch","len":1,"c":false},{"a":62747,"n":"b_F51B","k":"branch","len":1,"c":false},{"a":62769,"n":"j_F531","k":"branch","len":1,"c":false},{"a":62791,"n":"b_F547","k":"branch","len":1,"c":false},{"a":62803,"n":"b_F553","k":"branch","len":1,"c":false},{"a":62814,"n":"b_F55E","k":"branch","len":1,"c":false},{"a":62817,"n":"j_F561","k":"branch","len":1,"c":false},{"a":62837,"n":"j_F575","k":"branch","len":1,"c":false},{"a":62843,"n":"b_F57B","k":"branch","len":1,"c":false},{"a":62855,"n":"b_F587","k":"branch","len":1,"c":false},{"a":62873,"n":"b_F599","k":"branch","len":1,"c":false},{"a":62890,"n":"b_F5AA","k":"branch","len":1,"c":false},{"a":62892,"n":"b_F5AC","k":"branch","len":1,"c":false},{"a":62898,"n":"j_F5B2","k":"branch","len":1,"c":false},{"a":62905,"n":"b_F5B9","k":"branch","len":1,"c":false},{"a":62916,"n":"b_F5C4","k":"branch","len":1,"c":false},{"a":62926,"n":"b_F5CE","k":"branch","len":1,"c":false},{"a":62937,"n":"b_F5D9","k":"branch","len":1,"c":false},{"a":62945,"n":"b_F5E1","k":"branch","len":1,"c":false},{"a":62969,"n":"b_F5F9","k":"branch","len":1,"c":false},{"a":62972,"n":"bird_plop_sfx","k":"table","len":4,"c":true},{"a":62976,"n":"note_periods","k":"variable","len":1,"c":true},{"a":62977,"n":"note_periods_lo","k":"table","len":95,"c":true},{"a":63072,"n":"note_lengths","k":"table","len":35,"c":true},{"a":63107,"n":"sfx_set_registers","k":"routine","len":4,"c":true},{"a":63111,"n":"sfx_set_tri","k":"routine","len":4,"c":true},{"a":63115,"n":"sfx_set_noise","k":"routine","len":4,"c":true},{"a":63119,"n":"sfx_set_sq2","k":"routine","len":25,"c":true},{"a":63121,"n":"b_F691","k":"branch","len":1,"c":false},{"a":63133,"n":"b_F69D","k":"branch","len":1,"c":false},{"a":63144,"n":"music_start","k":"routine","len":61,"c":true},{"a":63166,"n":"b_F6BE","k":"branch","len":1,"c":false},{"a":63172,"n":"b_F6C4","k":"branch","len":1,"c":false},{"a":63205,"n":"flap_sfx","k":"table","len":4,"c":true},{"a":63209,"n":"footstep_sfx","k":"table","len":4,"c":true},{"a":63213,"n":"lightning_sfx","k":"table","len":4,"c":true},{"a":63217,"n":"hit_sfx","k":"table","len":4,"c":true},{"a":63221,"n":"fall_sfx","k":"table","len":4,"c":true},{"a":63225,"n":"spark_hit_sfx","k":"table","len":7,"c":true},{"a":63232,"n":"noise_periods","k":"variable","len":1,"c":true},{"a":63233,"n":"noise_periods_1","k":"variable","len":1,"c":true},{"a":63234,"n":"noise_periods_2","k":"table","len":16,"c":true},{"a":63250,"n":"sfx_reset_sweeps","k":"routine","len":8,"c":true},{"a":63258,"n":"set_music_volumes","k":"routine","len":5,"c":true},{"a":63263,"n":"flap_sound","k":"routine","len":6,"c":true},{"a":63269,"n":"bird_plop_sfx_update","k":"routine","len":51,"c":true},{"a":63286,"n":"b_F736","k":"branch","len":1,"c":false},{"a":63301,"n":"b_F745","k":"branch","len":1,"c":false},{"a":63305,"n":"b_F749","k":"branch","len":1,"c":false},{"a":63320,"n":"sound_frame","k":"routine","len":36,"c":true},{"a":63355,"n":"r_F77B","k":"branch","len":1,"c":false},{"a":63356,"n":"footstep_sfx_start","k":"routine","len":19,"c":true},{"a":63375,"n":"music_ended","k":"routine","len":9,"c":true},{"a":63384,"n":"silence_music","k":"routine","len":13,"c":true},{"a":63391,"n":"b_F79F","k":"branch","len":1,"c":false},{"a":63397,"n":"silence_all","k":"routine","len":34,"c":true},{"a":63412,"n":"b_F7B4","k":"branch","len":1,"c":false},{"a":63431,"n":"silence_sq2_noise","k":"routine","len":12,"c":true},{"a":63443,"n":"fall_sfx_end","k":"routine","len":6,"c":true},{"a":63449,"n":"fall_sfx_second","k":"routine","len":7,"c":true},{"a":63456,"n":"fall_sfx_update","k":"routine","len":15,"c":true},{"a":63471,"n":"fall_sfx_start","k":"routine","len":17,"c":true},{"a":63488,"n":"hit_sfx_start","k":"routine","len":20,"c":true},{"a":63508,"n":"hit_sfx_update","k":"routine","len":16,"c":true},{"a":63521,"n":"b_F821","k":"branch","len":1,"c":false},{"a":63524,"n":"sfx_stop_update","k":"routine","len":59,"c":true},{"a":63547,"n":"b_F83B","k":"branch","len":1,"c":false},{"a":63579,"n":"r_F85B","k":"branch","len":1,"c":false},{"a":63580,"n":"b_F85C","k":"branch","len":1,"c":false},{"a":63583,"n":"lightning_sfx_start","k":"routine","len":30,"c":true},{"a":63609,"n":"j_F879","k":"branch","len":1,"c":false},{"a":63613,"n":"lightning_sfx_update","k":"routine","len":41,"c":true},{"a":63643,"n":"j_F89B","k":"branch","len":1,"c":false},{"a":63649,"n":"r_F8A1","k":"branch","len":1,"c":false},{"a":63650,"n":"b_F8A2","k":"branch","len":1,"c":false},{"a":63654,"n":"spark_bounce_sfx_start","k":"routine","len":25,"c":true},{"a":63679,"n":"spark_bounce_sfx_update","k":"routine","len":11,"c":true},{"a":63690,"n":"sfx_squares_off","k":"routine","len":19,"c":true},{"a":63709,"n":"spark_hit_sfx_start","k":"routine","len":11,"c":true},{"a":63720,"n":"spark_tone","k":"routine","len":34,"c":true},{"a":63751,"n":"b_F907","k":"branch","len":1,"c":false},{"a":63754,"n":"sfx_update_a","k":"routine","len":72,"c":true},{"a":63771,"n":"b_F91B","k":"branch","len":1,"c":false},{"a":63819,"n":"b_F94B","k":"branch","len":1,"c":false},{"a":63822,"n":"r_F94E","k":"branch","len":1,"c":false},{"a":63823,"n":"b_F94F","k":"branch","len":1,"c":false},{"a":63826,"n":"fall_sfx_start_main","k":"routine","len":19,"c":true},{"a":63845,"n":"pop_sfx_start","k":"routine","len":18,"c":true},{"a":63863,"n":"fish_rise_sfx_start","k":"routine","len":28,"c":true},{"a":63887,"n":"b_F98F","k":"branch","len":1,"c":false},{"a":63891,"n":"fish_rise_sfx_update","k":"routine","len":58,"c":true},{"a":63921,"n":"b_F9B1","k":"branch","len":1,"c":false},{"a":63933,"n":"j_F9BD","k":"branch","len":1,"c":false},{"a":63946,"n":"b_F9CA","k":"branch","len":1,"c":false},{"a":63949,"n":"pop_sfx_regs","k":"table","len":4,"c":true},{"a":63953,"n":"fall_sfx_regs","k":"table","len":4,"c":true},{"a":63957,"n":"fish_rise_sfx_regs","k":"table","len":8,"c":true},{"a":63965,"n":"bounce_sfx_regs","k":"table","len":4,"c":true},{"a":63969,"n":"tick_sfx_regs","k":"table","len":8,"c":true},{"a":63977,"n":"bounce_sfx_start","k":"routine","len":35,"c":true},{"a":63993,"n":"b_F9F9","k":"branch","len":1,"c":false},{"a":64012,"n":"bounce_sfx_update","k":"routine","len":27,"c":true},{"a":64038,"n":"r_FA26","k":"branch","len":1,"c":false},{"a":64039,"n":"tick_sfx_start","k":"routine","len":17,"c":true},{"a":64056,"n":"sfx_update_b","k":"routine","len":44,"c":true},{"a":64066,"n":"b_FA42","k":"branch","len":1,"c":false},{"a":64099,"n":"r_FA63","k":"branch","len":1,"c":false},{"a":64100,"n":"bird_flap_sfx_start","k":"routine","len":31,"c":true},{"a":64127,"n":"b_FA7F","k":"branch","len":1,"c":false},{"a":64131,"n":"bubble_burst_tune","k":"routine","len":7,"c":true},{"a":64138,"n":"bird_flap_sfx_regs","k":"table","len":4,"c":true},{"a":64142,"n":"landing_sfx_regs","k":"table","len":8,"c":true},{"a":64150,"n":"landing_sfx_update","k":"routine","len":22,"c":true},{"a":64172,"n":"sfx_update_c","k":"routine","len":54,"c":true},{"a":64186,"n":"b_FABA","k":"branch","len":1,"c":false},{"a":64216,"n":"r_FAD8","k":"branch","len":1,"c":false},{"a":64217,"n":"b_FAD9","k":"branch","len":1,"c":false},{"a":64226,"n":"landing_sfx_start","k":"routine","len":34,"c":true},{"a":64256,"n":"b_FB00","k":"branch","len":1,"c":false},{"a":64260,"n":"pumping_tune","k":"routine","len":19,"c":true},{"a":64272,"n":"b_FB10","k":"branch","len":1,"c":false},{"a":64279,"n":"parachute_tune","k":"routine","len":7,"c":true},{"a":64286,"n":"clear_tune","k":"routine","len":7,"c":true},{"a":64293,"n":"music_update","k":"routine","len":72,"c":true},{"a":64329,"n":"b_FB49","k":"branch","len":1,"c":false},{"a":64332,"n":"b_FB4C","k":"branch","len":1,"c":false},{"a":64338,"n":"b_FB52","k":"branch","len":1,"c":false},{"a":64344,"n":"b_FB58","k":"branch","len":1,"c":false},{"a":64350,"n":"b_FB5E","k":"branch","len":1,"c":false},{"a":64361,"n":"b_FB69","k":"branch","len":1,"c":false},{"a":64365,"n":"music_start_quiet","k":"routine","len":25,"c":true},{"a":64380,"n":"b_FB7C","k":"branch","len":1,"c":false},{"a":64386,"n":"b_FB82","k":"branch","len":1,"c":false},{"a":64390,"n":"music_start_loud","k":"routine","len":31,"c":true},{"a":64397,"n":"b_FB8D","k":"branch","len":1,"c":false},{"a":64421,"n":"music_start_tune","k":"routine","len":28,"c":true},{"a":64428,"n":"b_FBAC","k":"branch","len":1,"c":false},{"a":64431,"n":"b_FBAF","k":"branch","len":1,"c":false},{"a":64449,"n":"music_start_fanfare","k":"routine","len":9,"c":true},{"a":64458,"n":"tune_headers","k":"table","len":110,"c":true},{"a":64568,"n":"bubble_tune_sq2","k":"table","len":17,"c":true},{"a":64585,"n":"bubble_tune_tri","k":"table","len":16,"c":true},{"a":64601,"n":"life_lost_sq1","k":"table","len":25,"c":true},{"a":64626,"n":"life_lost_sq2","k":"table","len":26,"c":true},{"a":64652,"n":"life_lost_tri","k":"table","len":25,"c":true},{"a":64677,"n":"trip_music_sq1","k":"table","len":101,"c":true},{"a":64778,"n":"trip_music_sq2","k":"table","len":142,"c":true},{"a":64920,"n":"trip_music_tri","k":"table","len":72,"c":true},{"a":64992,"n":"trip_music_noise","k":"table","len":45,"c":true},{"a":65037,"n":"pause_sq1","k":"table","len":6,"c":true},{"a":65043,"n":"pause_tri","k":"table","len":5,"c":true},{"a":65048,"n":"gameover_sq1","k":"table","len":18,"c":true},{"a":65066,"n":"gameover_sq2","k":"table","len":59,"c":true},{"a":65125,"n":"gameover_tri","k":"table","len":33,"c":true},{"a":65158,"n":"gameover_noise","k":"table","len":12,"c":true},{"a":65170,"n":"pumping_sq2","k":"table","len":15,"c":true},{"a":65185,"n":"pumping_tri","k":"table","len":17,"c":true},{"a":65202,"n":"fish_sq1","k":"table","len":19,"c":true},{"a":65221,"n":"fish_tri","k":"table","len":18,"c":true},{"a":65239,"n":"parachute_sq2","k":"table","len":22,"c":true},{"a":65261,"n":"parachute_tri","k":"table","len":21,"c":true},{"a":65282,"n":"clear_sq1","k":"table","len":9,"c":true},{"a":65291,"n":"clear_sq2","k":"table","len":19,"c":true},{"a":65310,"n":"clear_tri","k":"table","len":19,"c":true},{"a":65329,"n":"clear_noise","k":"table","len":7,"c":true},{"a":65336,"n":"fanfare_sq1","k":"table","len":34,"c":true},{"a":65370,"n":"fanfare_sq2","k":"table","len":31,"c":true},{"a":65401,"n":"fanfare_tri","k":"table","len":27,"c":true},{"a":65428,"n":"fanfare_noise","k":"table","len":31,"c":true},{"a":65459,"n":"perfect_sq1","k":"table","len":22,"c":true},{"a":65481,"n":"perfect_sq2","k":"table","len":17,"c":true},{"a":65498,"n":"perfect_tri","k":"table","len":21,"c":true},{"a":65519,"n":"perfect_noise","k":"table","len":8,"c":true},{"a":65527,"n":"nmi_sound_entry","k":"routine","len":3,"c":true},{"a":65530,"n":"vectors","k":"table","len":6,"c":true}],"records":[{"a":0,"l":"ppuctrl_shadow","c":"Copy of PPUCTRL as last written ($90 in play: NMI on, background tiles from $1000). The NMI handler ORs the Balloon Trip nametable bit into it for the scrolled band.","t":"byte","b":[144],"x":[49184,49207,49277,49378,49402,49409,49412,54466]},{"a":1,"l":"ppumask_shadow","c":"Copy of PPUMASK ($1E: background and sprites on, left 8 pixels shown). pause_in_frame clears bit 4 of it to hide the sprites while paused.","t":"byte","b":[30],"x":[49273,49429,62594,62611]},{"a":2,"l":"frame_flag","c":"Set to 1 by the NMI handler at the end of each frame; wait_frame spins until it is set and then decrements it, which paces the whole game at one pass a frame.","t":"byte","b":[0],"x":[49355,62567,62569,62573]},{"a":3,"l":"score_p1","c":"Player 1's score as five decimal digits, the tens first: $03 tens, $04 hundreds, $05 thousands, $06 ten-thousands, $07 hundred-thousands. The units digit is always 0 and is not stored.","t":"byte","b":[0],"x":[49250,50509,50606,55059,55066,55110,55131,55217,61915]},{"a":4,"l":"score_p1_hundreds","c":"score_p1's hundreds digit.","t":"byte","b":[0],"x":[55068,55075]},{"a":5,"l":"score_p1_thousands","c":"score_p1's thousands digit.","t":"byte","b":[0],"x":[55077,55084]},{"a":6,"l":"score_p1_tenthousands","c":"score_p1's ten-thousands digit.","t":"byte","b":[0],"x":[55086,55093]},{"a":7,"l":"score_p1_hundredthousands","c":"score_p1's hundred-thousands digit.","t":"byte","b":[0],"x":[55095,55102]},{"a":8,"l":"score_p2","c":"Player 2's score, five digits, tens first, as score_p1.","t":"byte","b":[0,0,0,0,0],"x":[55285]},{"a":13,"l":"score_top","c":"The top score shown in the status bar, five digits, tens first: a copy of the current mode's entry in top_scores after every score change.","t":"byte","b":[0,0,0,1,0],"x":[55145,55249]},{"a":18,"l":"tmp12","c":"Scratch byte for the routine in progress.","t":"byte","b":[194],"x":[49470,49483,49496,49504,49507,49512,49959,49963,50491,50493,50497,50521,50523,50529,50531,50533,50550,50556,50561,50570,50574,51596,51617,52171,52199,52352,52376,52381,52386,52662,52676,52681,52700,52793,52796,53958,53969,54456,54482,54494,54525,54529,54531,54533,54535,54538,54548,54561,54567,54576,54583,54729,54736,55164,55171,55177,55409,55441,55502,58415,58522,58530,59174,59180,59257,59260,59316,59330,59335,59354,60967,60969,61012,61021,61076,61085,61351,61358,61418,61434,61484,61620,61626,61869]},{"a":19,"l":"tmp13","c":"Scratch byte.","t":"byte","b":[23],"x":[50563,50567,52190,52235,52367,52379,52384,52392,52667,52686,52691,52708,52790,52834,52868,52886,54106,54546,55411,55464,55500,58503,58506,58533,58545,58555,58570,59321,59340,59345,59362,61463,61473,61491,61622,61624,61864,61867]},{"a":20,"l":"tmp14","c":"Scratch byte; in the Balloon Trip stream reader the new spark's horizontal speed.","t":"byte","b":[0],"x":[50141,50216,50338,55413,55498,58469,58550,61482,61494]},{"a":21,"l":"tmp15","c":"Scratch byte; in the Balloon Trip stream reader the new object's Y.","t":"byte","b":[32],"x":[49217,49231,50137,50183,50204,50304,50343,58411,58559,62320,62335]},{"a":22,"l":"game_mode","c":"0 for Balloon Fight (games A and B), 1 for Balloon Trip (game C). Set from the title option by draw_title_cursor; the NMI handler, the status bar and the screen builder branch on it.","t":"byte","b":[0],"x":[49357,53913,54313,55153,55270,56058,56075,60238,62100,62620]},{"a":23,"l":"trip_scroll_x","c":"Balloon Trip: the horizontal scroll the NMI handler sets after the status bar band; decremented once a frame by the trip loop so the scene drifts right to left.","t":"byte","b":[0],"x":[49383,49703,49713,49804,62316]},{"a":24,"l":"trip_nametable","c":"Balloon Trip: the nametable select bit (0 or 1) for the scrolled band, toggled each time trip_scroll_x wraps past 0.","t":"byte","b":[0],"x":[49376,49707,49711,62318]},{"a":25,"l":"frame_counter","c":"Counts up once a frame in the NMI handler. Animation and timing read its bits; on the title screen the demonstration starts when it wraps to 0.","t":"byte","b":[93,0],"x":[49330,49686,49943,49953,50055,51088,51270,51445,51487,52098,52860,53081,56009,56014,56036,58281,58678,58684,58812,59117,59176,59958,59966,60008]},{"a":27,"l":"random","c":"Two-byte linear feedback shift register advanced by next_random; its low byte is the random number used everywhere.","t":"byte","b":[222],"x":[50254,52576,52634,61879,61885,61888,61896,61898,61905,63660,63727,63741,63905,64117]},{"a":28,"l":"random_hi","c":"The high byte of random.","t":"byte","b":[5],"x":[61881]},{"a":29,"l":"ptr1","c":"A two-byte pointer: the level data stream, a score table entry, a sprite layout.","t":"byte","b":[210],"x":[50499,50507,50576,50593,50600,50609,53925,54294,54305,54317,54503,54505,55581,58343,58366,58386,58402,58494,58496,58537,58539,58766,58777]},{"a":30,"l":"ptr1_hi","c":"The high byte of ptr1.","t":"byte","b":[224],"x":[50503,50585,53930,54299,54509,55585,58348,58371,58391,58407,58500,58543,58771]},{"a":31,"l":"ptr2","c":"A two-byte pointer: a PPU block list, the sprite output position in the sprite table.","t":"byte","b":[32],"x":[50581,50595,50602,54149,54158,54170,54175,54180,54426,54514,54516,58279,58289,58310,58528,58547,58552,58572,58583,58676]},{"a":32,"l":"ptr2_hi","c":"The high byte of ptr2.","t":"byte","b":[2],"x":[50587,54154,54431,54520,58293]},{"a":33,"l":"ptr3","c":"A two-byte pointer: the PPU queue source, a top score entry, a sprite X offset row.","t":"byte","b":[73],"x":[49457,49465,49476,55045,55112,55133,55143,58473,58486,58508,58510,58562,58564]},{"a":34,"l":"ptr3_hi","c":"The high byte of ptr3.","t":"byte","b":[224],"x":[49459,55049,58477,58490,58514,58568]},{"a":35,"l":"platform_left_ptr","c":"Pointer to the current phase's table of platform left edges (X), one byte per platform; in Balloon Trip the pointer into the layout stream instead.","t":"byte","b":[122],"x":[49621,50123,50125,51860,51885,54210,54218,60779,60809]},{"a":36,"l":"platform_left_ptr_hi","c":"The high byte of platform_left_ptr.","t":"byte","b":[222],"x":[49625,50129,54216]},{"a":37,"l":"platform_right_ptr","c":"Pointer to the table of platform right edges (X); in Balloon Trip the address of the stream handler for jmp_platform_right.","t":"byte","b":[125],"x":[49862,50098,51874,51912,54223,60792,60832]},{"a":38,"l":"platform_right_ptr_hi","c":"The high byte of platform_right_ptr.","t":"byte","b":[222],"x":[49867,54225]},{"a":39,"l":"platform_top_ptr","c":"Pointer to the table of platform top edges (Y).","t":"byte","b":[128],"x":[51821,54230,60744,60874]},{"a":40,"l":"platform_top_ptr_hi","c":"The high byte of platform_top_ptr.","t":"byte","b":[222],"x":[54232]},{"a":41,"l":"platform_bottom_ptr","c":"Pointer to the table of platform bottom edges (Y).","t":"byte","b":[131],"x":[51842,54237,60763,60895]},{"a":42,"l":"platform_bottom_ptr_hi","c":"The high byte of platform_bottom_ptr.","t":"byte","b":[222],"x":[54239]},{"a":43,"l":"mul_a","c":"The 16-bit multiplicand for multiply_signed (low byte first).","t":"byte","b":[0],"x":[61730,61732,61786,61813,61839]},{"a":44,"l":"mul_a_hi","c":"The high byte of mul_a.","t":"byte","b":[0],"x":[61723,61736,61738,61792,61818,61844]},{"a":45,"l":"mul_b","c":"The 8-bit multiplier for multiply_signed.","t":"byte","b":[0],"x":[61721,61781]},{"a":46,"l":"mul_result","c":"The 24-bit product of multiply_signed, low byte first.","t":"byte","b":[0],"x":[61746,61748,61767,61775,61788,61790]},{"a":47,"l":"mul_result_mid","c":"The middle byte of mul_result.","t":"byte","b":[0],"x":[61752,61754,61769,61777,61794,61796,61825,61851]},{"a":48,"l":"mul_result_hi","c":"The high byte of mul_result.","t":"byte","b":[0],"x":[61758,61760,61771,61779,61800,61802,61830,61856]},{"a":49,"l":"buttons","c":"One byte per player ($31 player 1, $32 player 2): bit 0 right, bit 1 left, bit 6 B, bit 7 A (B held flaps on every control pass, A once per press). For a bird it is the computer's steering, written by steer_actor, bit 6 its flap.","t":"byte","b":[0,0,2,66,2,0,0,0],"x":[59126,59138,59147,59151,59197,59211,59220,59224,59227,59231,59381,59394,59415,59425,59448,59461,59482,59498,59508,59604,59628,59665,59689,59713,60475,60489,60495,61696,61700]},{"a":57,"t":"byte","b":[0]},{"a":58,"l":"demo_flag","c":"Nonzero while the title screen's demonstration game plays: input is ignored, scoring is skipped, and Start or Select ends it.","t":"byte","b":[0],"x":[55008,56049,56065,59128,62127,62184,62232,62579]},{"a":59,"l":"phase_index","c":"The phase layout number, 0 to 15: the index into phase_layouts. It wraps from 15 back to 4, so the layouts of phases 5 to 16 repeat for ever; phase_counter keeps counting.","t":"byte","b":[0],"x":[53920,54267,61953,62117,62296,62305]},{"a":60,"l":"phase_counter","c":"How many phases have been started this game, from 0; shown as PHASE-NN plus one, and the index into the difficulty tables enemy_inflate_rates and enemy_launch_delays.","t":"byte","b":[1],"x":[50982,61955,61975,61996,62135,62430]},{"a":61,"l":"phase_text_timer","c":"Counts down from 255 after a phase starts; while bit 5 is set the PHASE-NN text is shown, then it is cleared.","t":"byte","b":[15],"x":[62133,62140,62144,62412]},{"a":62,"l":"scoring_player","c":"Which player's score the next add_score goes to (0 or 1), and whose popup it is.","t":"byte","b":[2],"x":[49817,53362,53376,53438,53443,55013,55051,55055,55124,55128,55490,59089,60691,60698,61486,61920]},{"a":63,"l":"title_option","c":"The option the balloon cursor is on at the title screen: 0 one-player game, 1 two-player game, 2 Balloon Trip.","t":"byte","b":[0],"x":[55040,56038,56043,56072,56077]},{"a":64,"l":"two_players","c":"0 for a one-player game, 1 for two players (the title option's low bit; the demonstration always plays two).","t":"byte","b":[0],"x":[53021,53116,53171,53210,53256,53275,53292,53372,53405,53436,53693,55274,55318,55355,56051,56082,61940,61963,62070,62178,62262]},{"a":65,"l":"lives","c":"Lives left, one byte per player ($41 and $42): the spare balloons under the score. $FF means no player, or game over for that player.","t":"byte","b":[2],"x":[49643,53023,53462,55019,55313,61922,61938,62188,62205,62224,62269,62342,62363]},{"a":66,"l":"lives_p2","c":"lives of player 2.","t":"byte","b":[255],"x":[55332,61946,62228]},{"a":67,"l":"score_add","c":"The amount being added to the score, in tens of points, and the scratch for divide; in Balloon Trip the rank found by find_trip_rank.","t":"byte","b":[1],"x":[50536,50545,55006,55061,55168,55179,62432,62439]},{"a":68,"l":"score_add_hundreds","c":"Hundreds digit of the amount being added.","t":"byte","b":[0],"x":[55038,55070]},{"a":69,"l":"score_add_thousands","c":"Thousands digit of the amount being added, plus the extra thousands in score_extra_thousands.","t":"byte","b":[0],"x":[55031,55079]},{"a":70,"l":"status_request","c":"Asks the NMI handler to redraw part of the status bar: 1 the scores (and TOP, RANK), 2 the lives. It counts down, so 2 redraws both over two frames.","t":"byte","b":[0],"x":[49226,53090,55151,55192,55298,55301,55401,62207,62654]},{"a":71,"l":"score_extra_thousands","c":"Extra ten-thousands added by the next add_score (the perfect bonus); normally 0.","t":"byte","b":[0],"x":[49999,50006,53429,53456,55088]},{"a":72,"l":"score_extra_hundreds","c":"Extra hundreds added by the next add_score, in hundreds; normally 0.","t":"byte","b":[0],"x":[53434,53458,55029]},{"a":73,"l":"trip_rank_units","c":"Balloon Trip: the rank's units digit, shown after RANK-.","t":"byte","b":[1],"x":[50547,55396]},{"a":74,"l":"trip_rank_tens","c":"Balloon Trip: the rank's tens digit.","t":"byte","b":[0],"x":[50543,55391]},{"a":75,"l":"collision_flag","c":"Set to 1 by the actor collision pass when two actors overlapped this frame, so that the hit resolution runs.","t":"byte","b":[0],"x":[61122,61167,61212,61263]},{"a":76,"l":"stars_to_twinkle","c":"How many stars the NMI handler may step this frame; the game loops add one a frame and the handler uses them up.","t":"byte","b":[1,0,0],"x":[53047,53862,54797,54801,62176]},{"a":79,"l":"star_index","c":"Which of the 64 stars twinkled last, stepped by 2 each time.","t":"byte","b":[30],"x":[54803,54810]},{"a":80,"l":"ppu_addr_lo","c":"Low byte of the PPU address being written; also the high byte of the last queued block's address in flush_ppu_queue.","t":"byte","b":[11],"x":[49550,49576,54774,54821,54848,54868,55336,55342]},{"a":81,"l":"ppu_addr_hi","c":"High byte of the PPU address being written.","t":"byte","b":[35],"x":[54753,54757,54769,54816,54843,54873]},{"a":82,"l":"ppu_queue_read","c":"Index into ppu_queue of the next block the NMI handler will send to the PPU.","t":"byte","b":[136],"x":[49315,49544,49598]},{"a":83,"l":"ppu_queue_write","c":"Index into ppu_queue where the next block is appended. The handler flushes while read is not equal to write.","t":"byte","b":[147],"x":[49317,49450,49472,49487,49492,49600]},{"a":84,"l":"text_col","c":"Column (0 to 31) of the next text block queued by queue_text.","t":"byte","b":[16],"x":[49509,53194,53240,53944,53990,53992,54008,54010,54029,54062,54075,54117,54119,54131,54133,54550,54563,54578]},{"a":85,"l":"text_row","c":"Row (0 to 29) of the next text block queued by queue_text.","t":"byte","b":[8],"x":[49498,53198,53216,53244,53262,53949,53973,53978,53983,53999,54001,54039,54067,54085,54124,54126,54523,54556,54572]},{"a":86,"l":"text_len","c":"Length of the next text block queued by queue_text.","t":"byte","b":[0],"x":[49446,49525,53202,53248]},{"a":87,"l":"text_buf","c":"Staging area for a PPU block: queue_text copies text_len bytes from here; the block builders write a whole block (address, count, tiles) here and call queue_block_from_text.","t":"byte","b":[32],"x":[49438,51300,52430,52515,53184,53230,53330,53669,53751,53760,53770,53798,53808,54258,62423,62507]},{"a":88,"l":"text_buf_1","c":"text_buf's second byte: a block's address low byte, or the second tile of queued text.","t":"byte","b":[108],"x":[51304,51315,51322,51329,52435,52506,52511,53188,53234,53739,53743,53753,53788,53794,53806,53814,62514]},{"a":89,"l":"text_buf_2","c":"text_buf's third byte: a block's count, or the third tile.","t":"byte","b":[8],"x":[51308,52439,53190,53236,53731,53741,53779,53812,53816,62503]},{"a":90,"l":"text_buf_3","c":"text_buf's fourth byte: a block's first tile.","t":"byte","b":[25],"x":[51292,52447,52465,52483,53717,54279,54319,62496]},{"a":91,"l":"text_buf_4","c":"text_buf's fifth byte.","t":"byte","b":[17],"x":[52452,52470,52488,53719]},{"a":92,"l":"text_buf_5","c":"text_buf's sixth byte.","t":"byte","b":[10],"x":[52457,52475,52493]},{"a":93,"l":"text_buf_6","c":"text_buf's seventh byte: the first digit of a bonus total.","t":"byte","b":[28,14,37],"x":[53399]},{"a":96,"l":"phase_text_tens","c":"The tens digit cell of PHASE-NN in text_buf.","t":"byte","b":[0],"x":[62437]},{"a":97,"l":"phase_text_digits","c":"The two digit cells inside phase_text_block's copy in text_buf, filled by phase_text.","t":"byte","b":[1,15,48,2,33,15,48],"x":[62441]},{"a":104,"l":"super_bonus_digits","c":"The two bonus digits of SUPER BONUS NN000PTS! in text_buf.","t":"byte","b":[0],"x":[53338]},{"a":105,"l":"super_bonus_units","c":"The thousands digit of the super bonus text in text_buf.","t":"byte","b":[16,15],"x":[53343]},{"a":107,"l":"bonus_total_p2","c":"The second player's total inside bonus_result_text's copy in text_buf.","t":"byte","b":[22,18,55,15,18,22,55],"x":[53409]},{"a":114,"l":"bonus_palette","c":"Bytes 27 to 30 of text_buf while load_palette stages the palette block: sprite palette 2 ($3F18 to $3F1B), the birds' and the balloons' colours. A bonus round and Balloon Trip replace them from the round's entry in bonus_palettes (the balloons turn green), the phases keep the base palette's.","t":"byte","b":[15,23,17,53,15,23,17,43],"x":[54307]},{"a":122,"t":"byte","b":[0,0,0,0,0]},{"a":127,"l":"actor_action","c":"One byte per actor ($7F to $86, players 0 and 1, birds 2 to 7): what the actor is doing. 0 idle in the air, 1 flapping, 2 running, 3 standing, 4 skidding to a stop, 5 turning round, 6 and 7 a bird pumping up its balloon (then it takes off). For a player with no balloons it also counts the fall.","t":"byte","b":[1],"x":[50838,52048,53129,58323,58395,58449,58640,59052,59307,59368,59375,59407,59409,59440,59442,59474,59476,59490,59492,59519,59576,59729,59752,59768,59812,59824,59857,59865,59893,59901,59925,59936,59948,59985,59989,60026,60037,60157,60371,60374,60382,60404,60407,60411,60428,60430,60442,60513,60544,60602,60674,61287,61353,61367,61392,61633,61649]},{"a":128,"l":"actor_action_p2","c":"actor_action of player 2.","t":"byte","b":[0],"x":[50268]},{"a":129,"l":"actor_action_birds","c":"actor_action from the first bird (actor 2).","t":"byte","b":[0,0,0,0,0,0],"x":[54188]},{"a":135,"l":"fish_state","c":"The fish: $FF asleep under the water, otherwise rising, biting or sinking (see fish_update).","t":"byte","b":[255],"x":[50648,50937,62641]},{"a":136,"l":"actor_balloons","c":"One byte per actor ($88 to $8F): how many balloons it has. 2 flying, 1 a bird on its parachute or on the ground (a player with one balloon), 0 falling with none, $FF out of play, $80 a bird that has just fallen into the water (its splash is drawn until the timer ends).","t":"byte","b":[2],"x":[49810,50074,50672,50715,50814,50840,50892,51998,52043,52146,52282,52944,53466,58295,58334,58354,58376,58443,58746,59030,59185,59286,59806,59847,60137,60153,60262,60294,60360,60384,60387,60398,60438,60633,60639,60712,60977,60983,61281,61325,61341,61376,61641,61658,62180,62264,62275,62391]},{"a":137,"l":"actor_balloons_p2","c":"actor_balloons of player 2 (actor 1); $FF in a one-player game, where Balloon Trip uses the slot for its bubble.","t":"byte","b":[255],"x":[50245,50264,61961]},{"a":138,"l":"actor_balloons_birds","c":"actor_balloons from the first bird (actor 2); $FF for a bird out of play.","t":"byte","b":[2,2,2,255,255,255],"x":[54192,62065,62249]},{"a":144,"l":"fish_balloons","c":"The fish's slot in actor_balloons (actor 8): set to 1 so the fish counts as present.","t":"byte","b":[1],"x":[62651]},{"a":145,"l":"actor_x","c":"X position, one byte per actor ($91 to $98); the fish's is fish_x.","t":"byte","b":[32],"x":[49629,49739,50695,50725,50902,50926,52014,52161,52306,52313,52339,52974,53120,55478,58409,58610,59213,59215,59793,60143,60242,60256,60312,60317,60659,60662,60788,60801,60816,60822,60838,60844,61054,61058,61071,61078,61098,61105,61400,62349]},{"a":146,"l":"actor_x_p2","c":"actor_x of player 2.","t":"byte","b":[0],"x":[50260]},{"a":147,"l":"actor_x_birds","c":"actor_x from the first bird.","t":"byte","b":[148,103,84,0,0,0],"x":[54173]},{"a":153,"l":"fish_x","c":"The fish's X position; it swims right and wraps from $B1 back to $40.","t":"byte","b":[78],"x":[50683,50690,50727,50763,50765,50773,50928,62658]},{"a":154,"l":"actor_y","c":"Y position, one byte per actor ($9A to $A1); the fish's is fish_y. $F0 or more is off the bottom of the screen.","t":"byte","b":[178],"x":[49636,50702,50719,50818,50896,52028,52180,52324,52331,52354,52956,53125,55466,58413,58457,58585,58627,58750,59141,59199,59205,60266,60274,60330,60335,60519,60521,60621,60625,60646,60649,60718,60749,60755,60765,60771,60878,60880,60897,60994,60998,61007,61014,61034,61041,61298,61304,62353]},{"a":155,"l":"actor_y_p2","c":"actor_y of player 2.","t":"byte","b":[0],"x":[50252]},{"a":156,"l":"actor_y_birds","c":"actor_y from the first bird.","t":"byte","b":[120,97,120,0,0,0],"x":[54178]},{"a":162,"l":"fish_y","c":"The fish's Y position: $DC under the water, rising to bite.","t":"byte","b":[0],"x":[50697,50760,50781,50783,50789,50799,50823,50869]},{"a":163,"l":"cloud_count","c":"Number of clouds in the phase minus one; $FF when there are none (then no lightning). Phases 1 to 3 have one or two; phase 4 has none.","t":"byte","b":[0],"x":[51066,51076,51083,54051]},{"a":164,"l":"lightning_cloud","c":"Index of the cloud the next spark comes from, picked at random by pick_lightning_cloud.","t":"byte","b":[0],"x":[51070,51117,51294,54017,54027]},{"a":165,"l":"lightning_cloud_copy","c":"Copy of lightning_cloud taken when the spark is launched, for the bolt animation.","t":"byte","b":[0],"x":[51119,51401]},{"a":166,"l":"cloud_attr_tl","c":"Attribute table address, low byte, of each cloud's top-left quarter (one per cloud, 3); cloud_flash rewrites the four quarters to make the cloud flash.","t":"byte","b":[204,0,0],"x":[51302,53988]},{"a":169,"l":"cloud_attr_tr","c":"Attribute address of each cloud's top-right quarter.","t":"byte","b":[204,0,0],"x":[51313,53997]},{"a":172,"l":"cloud_attr_bl","c":"Attribute address of each cloud's bottom-left quarter.","t":"byte","b":[212,0,0],"x":[51320,54015]},{"a":175,"l":"cloud_attr_br","c":"Attribute address of each cloud's bottom-right quarter.","t":"byte","b":[212,0,0],"x":[51327,54006]},{"a":178,"l":"cloud_x","c":"X of each cloud's centre, one byte per cloud (3).","t":"byte","b":[144,0,0],"x":[51137,51403,54037]},{"a":181,"l":"cloud_y","c":"Y of each cloud's centre, one byte per cloud (3).","t":"byte","b":[64,0,0],"x":[51143,51417,54044]},{"a":184,"l":"lightning_timer","c":"Counts down once every 128 frames; at 0 a spark is launched. Reloaded from lightning_delays at the start of a phase and from 6 minus spark_speed_level after each launch.","t":"byte","b":[13,0],"x":[50998,51095,51114,51238,51249,51267]},{"a":186,"l":"spark_speed_level","c":"How fast the next spark will be, 0 to 5: rises by one with each spark launched, and starts the phase from spark_speed_by_phase. In Balloon Trip it is the speed rank of the stream's sparks.","t":"byte","b":[0],"x":[49649,49844,49850,50211,50993,51149,51225,51231,51236]},{"a":187,"l":"splash_frame","c":"Frame of the splash drawn where something fell into the water: 4 down to 0, $FF when none.","t":"byte","b":[255],"x":[58759,58818,60141,62258,62639]},{"a":188,"l":"splash_x","c":"X of the splash.","t":"byte","b":[0],"x":[58801,60145]},{"a":189,"l":"invulnerable","c":"One byte per player ($BD, $BE): nonzero for the first 200 frames after a player appears, during which birds and sparks cannot hit him.","t":"byte","b":[0],"x":[49735,52005,53035,58350,59084,59190,59783,59932,60487,61274,62355]},{"a":190,"l":"invulnerable_p2","c":"invulnerable of player 2.","t":"byte","b":[0],"x":[53037]},{"a":191,"l":"invulnerable_timer","c":"One byte per player: the 200-frame countdown behind invulnerable, in units of three frames.","t":"byte","b":[120,0],"x":[59078,62359]},{"a":193,"l":"spark_hit","c":"One byte per player ($C1, $C2): 1 while the player is being thrown by a spark (the stunned fall animation).","t":"byte","b":[0,0],"x":[52051,60004,60035,62373]},{"a":195,"l":"respawn_timer","c":"One byte per player ($C3, $C4): frames until a dead player comes back; 90 at the start of a phase, 1 for a player who just lost a life.","t":"byte","b":[90,0],"x":[62192,62279,62369]},{"a":197,"l":"trip_scroll_pause","c":"Balloon Trip: frames (120) for which the scene stops drifting after the player pops a bubble; the fish keeps still too.","t":"byte","b":[0],"x":[49651,49679,49694,49698,49916,60683]},{"a":198,"l":"enemy_inflate_rate","c":"Frames a bird takes for each step of pumping up its balloon, from enemy_inflate_rates by phase_counter (3 on the first two phases).","t":"byte","b":[88],"x":[54194,59867,61989,62004,62084,62092]},{"a":199,"l":"enemy_launch_delay","c":"Steps of the pumping animation before a bird takes off, from enemy_launch_delays by phase_counter.","t":"byte","b":[3],"x":[60423,61994,62006]},{"a":200,"l":"no_enemies","c":"Nonzero in a bonus round and in Balloon Trip: no birds, and falling into the water is not fatal in the bonus round.","t":"byte","b":[0],"x":[49653,50012,50020,54164,54263,54670,60165,60258,61514,61973,62107,62618]},{"a":201,"l":"trip_progress","c":"Balloon Trip: counts the stream handlers run; every 32 the difficulty step trip_difficulty rises.","t":"byte","b":[0],"x":[49645,49824,49826]},{"a":202,"l":"trip_difficulty","c":"Balloon Trip: 0 to 9, the index into trip_handler_order that picks which generator makes the next balloons and sparks.","t":"byte","b":[0],"x":[49647,49832,49834,49842,49852]},{"a":203,"l":"landed_flag","c":"Set when an actor has just landed on a platform or been kicked, so that pop_balloon_check can treat the ground.","t":"byte","b":[0],"x":[52419,59779,59841,60884,60912]},{"a":204,"l":"collision_bits","c":"Which sides met in a collision test: bit 0 top, bit 1 bottom, bit 2 left, bit 3 right.","t":"byte","b":[0],"x":[51819,51858,51883,51906,51927,51931,51933,51944,51956,51968,51980,60731,60742,60777,60807,60826,60848,60852,60854,60865,60886,60916,60927,60992,61052,61069,61116,61118,61124,61133,61169,61178]},{"a":205,"l":"platform_count","c":"Number of platforms in the phase minus one; $FF when there are none (Balloon Trip).","t":"byte","b":[2,0,0],"x":[49617,51815,54205,54413,60736]},{"a":208,"l":"snd_counters","c":"Sound driver: frames left in the current note, one per channel (square 1, square 2, triangle, noise).","t":"byte","b":[1],"x":[62765,62900,63186]},{"a":209,"l":"snd_counter_sq2","c":"snd_counters for square 2.","t":"byte","b":[1],"x":[63188]},{"a":210,"l":"snd_counter_tri","c":"snd_counters for the triangle.","t":"byte","b":[1],"x":[63190]},{"a":211,"l":"snd_counter_noise","c":"snd_counters for the noise channel.","t":"byte","b":[1],"x":[63192]},{"a":212,"l":"snd_note_lengths","c":"Sound driver: the current note length in frames, one per channel.","t":"byte","b":[16,16,16,16],"x":[62829,62898]},{"a":216,"l":"snd_repeats","c":"Sound driver: repeats left for the channel's loop, one per channel.","t":"byte","b":[0,0,0,0],"x":[62791,62795,62806,62808]},{"a":220,"l":"snd_volume_sq1","c":"Sound driver: the volume and duty byte written to SQ1_VOL for music notes.","t":"byte","b":[128],"x":[62890,63258]},{"a":221,"l":"snd_volume_sq2","c":"Sound driver: the volume and duty byte written to SQ2_VOL for music notes.","t":"byte","b":[128],"x":[63260]},{"a":222,"l":"snd_tri_linear","c":"Sound driver: the last value written to the triangle's linear counter.","t":"byte","b":[56],"x":[62940]},{"a":223,"l":"snd_tempo","c":"Sound driver: the tune's tempo, an index added to a note's length nibble to pick its frames in note_lengths.","t":"byte","b":[21],"x":[62823,63175]},{"a":224,"l":"snd_channel_ptr","c":"Sound driver: pointer to each channel's note stream (square 1, square 2, triangle, noise), two bytes each.","t":"byte","b":[56],"x":[62750]},{"a":225,"l":"snd_channel_ptr_hi","c":"The high byte of square 1's stream pointer; the four pointers are pairs at $E0 to $E7, read with X twice the channel number.","t":"byte","b":[255,90,255,121,255,148,255],"x":[62754,62758]},{"a":232,"l":"snd_positions","c":"Sound driver: the position in each channel's note stream.","t":"byte","b":[5],"x":[62769,62771,62799,62810,62837,62839,63196]},{"a":233,"l":"snd_position_sq2","c":"snd_positions for square 2.","t":"byte","b":[18],"x":[63198]},{"a":234,"l":"snd_position_tri","c":"snd_positions for the triangle.","t":"byte","b":[5],"x":[63200]},{"a":235,"l":"snd_position_noise","c":"snd_positions for the noise channel.","t":"byte","b":[5],"x":[63202]},{"a":236,"l":"snd_loop_positions","c":"Sound driver: the position each channel loops back to.","t":"byte","b":[1,8,1,1],"x":[62797,62812]},{"a":240,"l":"sfx_request_a","c":"Sound effect requests for this frame, cleared by the driver: bit 0 stop all sound, bit 1 a hit (balloon, bubble, kick), bit 2 lightning, bit 3 a footstep, bit 4 a flap, bit 5 a balloon popped, bit 6 a fall into the water, bit 7 hit by a spark.","t":"byte","b":[0],"x":[50086,51240,51244,52064,52068,53004,53285,53308,59723,59727,60041,60171,60563,60568,60687,61335,61339,61520,61934,63159,63279,63347,63524,63558,63718,63762,63771,63847]},{"a":241,"l":"sfx_request_b","c":"More requests: bit 0 the bonus count tick, bit 1 a bounce off a propeller or another actor, bit 2 the splash of a sunk bird's bubble bursting, bit 3 set by cloud_flash for the thunder but never read by the driver (the thunder is silent), bit 4 a bird's flap, bit 5 a bird pumping its balloon, bit 6 a bird landing, bit 7 a parachute torn.","t":"byte","b":[16],"x":[51280,51284,52275,52279,53392,53449,58754,59058,59062,59888,60958,60962,61451,61455,63340,63349,64078,64192,64206]},{"a":242,"l":"music_request","c":"Which tune to start: bit 0 game over, bit 1 phase cleared, bit 2 pause, bit 3 the phase start fanfare, bit 4 the perfect bonus, bit 5 the bonus round and Balloon Trip music, bit 6 eaten by the fish, bit 7 a life lost.","t":"byte","b":[0],"x":[49607,50010,50029,50093,50842,50846,53013,53350,62125,62219,62289,62312,62592,62626,63351,64298]},{"a":243,"l":"sfx_request_c","c":"More requests: bit 0 a bird falls into the water (the plop), bit 6 the fish rises for a bite, bit 7 a spark bounces.","t":"byte","b":[0],"x":[50955,51767,51771,51791,51795,60161,63269,63353,63803]},{"a":244,"l":"sfx_state_a","c":"Sound driver: which effects of sfx_request_a are playing and their phase (high nibble the effect, low nibble its step).","t":"byte","b":[0],"x":[62945,63356,63362,63366,63391,63410,63488,63494,63570,63583,63589,63595,63643,63647,63702,63706,63714,63782,63787,63831,63837,63849,63855,64066,64186,64436]},{"a":245,"l":"sfx_state_b","c":"Sound driver: which effects of sfx_request_b are playing.","t":"byte","b":[0],"x":[62905,63412,63977,63998,64004,64032,64036,64093,64104,64160,64164,64200,64226,64232]},{"a":246,"l":"music_playing","c":"Sound driver: the id of the tune playing (the request bit that started it), 0 when none.","t":"byte","b":[8],"x":[63148,63375,63414,63529,63543,63754,63793,63799,63983,63989,64056,64100,64172,64212,64217,64239,64324]},{"a":247,"l":"sfx_state_c","c":"Sound driver: which effects of sfx_request_c are playing.","t":"byte","b":[0,0],"x":[63274,63286,63290,63317,63419,63669,63675,63700,63811,63868,63874,64072]},{"a":249,"l":"sfx_data_ptr","c":"Sound driver: the register block being written (the low byte selects the channel: $00 square 1, $04 square 2, $08 triangle, $0C noise).","t":"byte","b":[0],"x":[63121,63135]},{"a":250,"l":"sfx_data_ptr_hi","c":"The high byte of sfx_data_ptr, always $40 (the APU's page).","t":"byte","b":[0],"x":[63125]},{"a":251,"l":"sfx_src_ptr","c":"Sound driver: pointer to the four bytes of register values being copied.","t":"byte","b":[0],"x":[63127,63133]},{"a":252,"l":"sfx_src_ptr_hi","c":"The high byte of sfx_src_ptr.","t":"byte","b":[0],"x":[63129]},{"a":253,"l":"snd_channel_offset","c":"Sound driver: 0, 4, 8 or 12, the register offset of the channel being played.","t":"byte","b":[12],"x":[62727,62740,62745,62855,62893]},{"a":254,"l":"snd_stream_ptr","c":"Sound driver: pointer to the note stream of the channel being played.","t":"byte","b":[148],"x":[62752,62773,62841]},{"a":255,"l":"snd_stream_ptr_hi","c":"The high byte of snd_stream_ptr.","t":"byte","b":[255],"x":[62756]},{"a":256,"t":"gap","n":256},{"a":512,"l":"sprite_table","c":"The copy of the PPU's sprite table (64 sprites, 4 bytes each: Y, tile, attributes, X) that the NMI handler sends with the sprite DMA. $0200 to $024F the actors, $0250 the bubbles and balloons, $02B0 the sparks, $02E0 the lightning bolt and splash, $02F0 the score popups.","t":"byte","b":[240],"x":[50040,51608,53866,58587,58690]},{"a":513,"l":"sprite_tile_0","c":"sprite_table, the tile of sprite 0; the start platform and the title cursor are written here directly.","t":"byte","b":[255],"x":[50067,51619,58658,58727]},{"a":514,"l":"sprite_attr_0","c":"sprite_table, the attributes of sprite 0.","t":"byte","b":[255],"x":[50059,51628,58637,58644,58707]},{"a":515,"l":"sprite_x_0","c":"sprite_table, the X of sprite 0.","t":"byte","b":[255],"x":[50046,51614,58612,58698]},{"a":516,"l":"sprite_y_1","c":"sprite_table, sprite 1 (the second half of the start platform).","t":"byte","b":[240],"x":[50043,58590,58693]},{"a":517,"l":"sprite_tile_1","c":"sprite_table, the tile of sprite 1.","t":"byte","b":[255],"x":[50071,58663,58730]},{"a":518,"l":"sprite_attr_1","c":"sprite_table, the attributes of sprite 1.","t":"byte","b":[255],"x":[50062,58647,58712]},{"a":519,"l":"sprite_x_1","c":"sprite_table, the X of sprite 1.","t":"byte","b":[255],"x":[50052,58621]},{"a":520,"l":"sprite_y_2","c":"sprite_table from sprite 2: the bubble's and the actors' sprites, indexed from an actor's slot.","t":"byte","b":[240],"x":[58596]},{"a":521,"l":"sprite_tile_2","c":"sprite_table, the tile of sprite 2 onward.","t":"byte","b":[255],"x":[58668,58733]},{"a":522,"l":"sprite_attr_2","c":"sprite_table, the attributes of sprite 2 onward.","t":"byte","b":[255],"x":[58650,58722]},{"a":523,"l":"sprite_x_2","c":"sprite_table, the X of sprite 2 onward.","t":"byte","b":[255],"x":[58615,58701]},{"a":524,"l":"sprite_y_3","c":"sprite_table from sprite 3 (the bubble's fourth sprite, indexed by slot).","t":"byte","b":[240],"x":[58599]},{"a":525,"l":"sprite_tile_3","c":"sprite_table, the tile of sprite 3 onward.","t":"byte","b":[255],"x":[58673,58736]},{"a":526,"l":"sprite_attr_3","c":"sprite_table, the attributes of sprite 3 onward.","t":"byte","b":[255],"x":[58653,58717]},{"a":527,"l":"sprite_x_3","c":"sprite_table, the X of sprite 3 onward.","t":"byte","b":[255],"x":[58624]},{"a":528,"l":"sprite_y_4","c":"sprite_table from sprite 4: the fifth and sixth sprites of an actor's slot.","t":"byte","b":[240,255,255,255],"x":[58604]},{"a":532,"l":"sprite_y_5","c":"sprite_table from sprite 5.","t":"byte","b":[240,255,255,255,240,255,255,255],"x":[58607]},{"a":540,"t":"byte","b":[240,255,255,255,178,0,0,32]},{"a":548,"t":"byte","b":[186,1,0,32,194,2,0,32]},{"a":556,"t":"byte","b":[178,3,0,40,186,4,0,40]},{"a":564,"t":"byte","b":[194,5,0,40,240,255,255,255]},{"a":572,"t":"byte","b":[240,255,255,255,240,255,255,255]},{"a":580,"t":"byte","b":[240,255,255,255,240,255,255,255]},{"a":588,"t":"byte","b":[240,255,255,255]},{"a":592,"l":"sprite_bubbles","c":"Sprites of the ten bubbles or balloons, three each.","t":"byte","b":[240],"x":[52804]},{"a":593,"l":"sprite_bubbles_tile","c":"sprite_bubbles, the tile of each balloon's first sprite (12 bytes a balloon).","t":"byte","b":[78],"x":[52852,52896]},{"a":594,"l":"sprite_bubbles_attr","c":"sprite_bubbles, the attributes of the first sprite.","t":"byte","b":[2],"x":[52836]},{"a":595,"l":"sprite_bubbles_x","c":"sprite_bubbles, the X of the first sprite.","t":"byte","b":[148],"x":[52819]},{"a":596,"l":"sprite_bubbles_y2","c":"sprite_bubbles, the Y of each balloon's second sprite.","t":"byte","b":[240],"x":[52807]},{"a":597,"l":"sprite_bubbles_tile2","c":"sprite_bubbles, the tile of the second sprite.","t":"byte","b":[79],"x":[52857,52901]},{"a":598,"l":"sprite_bubbles_attr2","c":"sprite_bubbles, the attributes of the second sprite.","t":"byte","b":[2],"x":[52839]},{"a":599,"l":"sprite_bubbles_x2","c":"sprite_bubbles, the X of the second sprite.","t":"byte","b":[148],"x":[52831]},{"a":600,"l":"sprite_bubbles_y3","c":"sprite_bubbles, the Y of each balloon's third sprite (the string).","t":"byte","b":[240],"x":[52813]},{"a":601,"l":"sprite_bubbles_tile3","c":"sprite_bubbles, the tile of the third sprite.","t":"byte","b":[80],"x":[52874,52906]},{"a":602,"l":"sprite_bubbles_attr3","c":"sprite_bubbles, the attributes of the third sprite.","t":"byte","b":[2],"x":[52842,52877,52883]},{"a":603,"l":"sprite_bubbles_x3","c":"sprite_bubbles, the X of the third sprite.","t":"byte","b":[148,240,81,2,156,240,94,2],"x":[52825]},{"a":611,"t":"byte","b":[156,240,93,2,156,240,78,2]},{"a":619,"t":"byte","b":[104,240,79,2,104,240,80,2]},{"a":627,"t":"byte","b":[104,240,81,2,112,240,94,2]},{"a":635,"t":"byte","b":[112,240,88,2,112,240,78,2]},{"a":643,"t":"byte","b":[84,240,79,2,84,240,80,2]},{"a":651,"t":"byte","b":[84,240,81,2,92,240,94,2]},{"a":659,"t":"byte","b":[92,240,93,2,92,120,78,2]},{"a":667,"t":"gap","n":21},{"a":688,"l":"sprite_sparks","c":"Sprites of Balloon Trip's sparks, one each (20); the phase's two sparks are drawn at $0200 and $0204 instead, and the balloons in sprite_bubbles.","t":"byte","b":[97],"x":[49975]},{"a":689,"l":"sprite_sparks_tile","c":"sprite_sparks, the tile of each spark's sprite.","t":"byte","b":[78],"x":[49969]},{"a":690,"l":"sprite_sparks_attr","c":"sprite_sparks, the attributes of each spark's sprite.","t":"byte","b":[2],"x":[49986]},{"a":691,"l":"sprite_sparks_x","c":"sprite_sparks, the X of each spark's sprite.","t":"byte","b":[103,105,79,2,103,113,80,2],"x":[49981]},{"a":699,"t":"byte","b":[103,97,81,2,111,105,94,2]},{"a":707,"t":"byte","b":[111,113,88,2,111,120,78,2]},{"a":715,"t":"byte","b":[148,128,79,2,148,136,80,2]},{"a":723,"t":"byte","b":[148,120,81,2,156,128,94,2]},{"a":731,"t":"byte","b":[156,136,88,2,156]},{"a":736,"l":"sprite_bolt","c":"Sprites of the lightning bolt as it is thrown, or of the splash.","t":"byte","b":[240],"x":[51002,51422,58779,58797,58803]},{"a":737,"l":"sprite_bolt_tile","c":"sprite_bolt, the tile of the bolt's first sprite.","t":"byte","b":[255],"x":[51458]},{"a":738,"l":"sprite_bolt_attr","c":"sprite_bolt, the attributes of the first sprite.","t":"byte","b":[255],"x":[51476]},{"a":739,"l":"sprite_bolt_x","c":"sprite_bolt, the X of the first sprite.","t":"byte","b":[255],"x":[51408]},{"a":740,"l":"sprite_bolt_y2","c":"sprite_bolt, the Y of the second sprite.","t":"byte","b":[240],"x":[51005,51428]},{"a":741,"l":"sprite_bolt_tile2","c":"sprite_bolt, the tile of the second sprite.","t":"byte","b":[255],"x":[51464]},{"a":742,"l":"sprite_bolt_attr2","c":"sprite_bolt, the attributes of the second sprite.","t":"byte","b":[255],"x":[51479]},{"a":743,"l":"sprite_bolt_x2","c":"sprite_bolt, the X of the second sprite.","t":"byte","b":[255],"x":[51411]},{"a":744,"l":"sprite_bolt_y3","c":"sprite_bolt, the Y of the third sprite.","t":"byte","b":[240],"x":[51008,51434]},{"a":745,"l":"sprite_bolt_tile3","c":"sprite_bolt, the tile of the third sprite.","t":"byte","b":[255],"x":[51470]},{"a":746,"l":"sprite_bolt_attr3","c":"sprite_bolt, the attributes of the third sprite.","t":"byte","b":[255],"x":[51482]},{"a":747,"l":"sprite_bolt_x3","c":"sprite_bolt, the X of the third sprite.","t":"byte","b":[255,240,255,255,255],"x":[51414]},{"a":752,"l":"sprite_popups","c":"Sprites of the two score popups, two each.","t":"byte","b":[240],"x":[55472,55541]},{"a":753,"l":"sprite_popups_tile","c":"sprite_popups, the tile of each popup's first sprite (8 bytes a popup).","t":"byte","b":[255],"x":[55455]},{"a":754,"l":"sprite_popups_attr","c":"sprite_popups, the attributes of the first sprite.","t":"byte","b":[255],"x":[55492]},{"a":755,"l":"sprite_popups_x","c":"sprite_popups, the X of the first sprite.","t":"byte","b":[255],"x":[55481]},{"a":756,"l":"sprite_popups_y2","c":"sprite_popups, the Y of each popup's second sprite.","t":"byte","b":[240],"x":[55475,55544]},{"a":757,"l":"sprite_popups_tile2","c":"sprite_popups, the tile of the second sprite.","t":"byte","b":[255],"x":[55461]},{"a":758,"l":"sprite_popups_attr2","c":"sprite_popups, the attributes of the second sprite.","t":"byte","b":[255],"x":[55495]},{"a":759,"l":"sprite_popups_x2","c":"sprite_popups, the X of the second sprite.","t":"byte","b":[255,240,255,255,255,240,255,255],"x":[55487]},{"a":767,"t":"byte","b":[255]},{"a":768,"l":"ppu_queue","c":"Blocks waiting for the NMI handler to write to the PPU: each is the address (high byte, low byte), a count, and the tiles. ppu_queue_read and ppu_queue_write index it; it wraps at 256 bytes.","t":"byte","b":[36,36,36,36,32,108,8,36],"x":[49441,49478,49516,49521,49527,49546,49555,49562,49566]},{"a":776,"t":"byte","b":[36,36,36,36,36,36,36,32]},{"a":784,"t":"byte","b":[108,8,36,36,36,36,36,36]},{"a":792,"t":"byte","b":[36,36,32,108,8,36,36,36]},{"a":800,"t":"byte","b":[36,36,36,36,36,32,108,8]},{"a":808,"t":"byte","b":[36,36,36,36,36,36,36,36]},{"a":816,"t":"byte","b":[32,108,8,36,36,36,36,36]},{"a":824,"t":"byte","b":[36,36,36,32,108,8,36,36]},{"a":832,"t":"gap","n":192},{"a":1024,"l":"actor_x_frac","c":"Fractional part of each actor's X (9 actors, the fish last).","t":"byte","b":[0,0,24,202,24,0,0,0],"x":[60302,60309,62039]},{"a":1032,"t":"byte","b":[255]},{"a":1033,"l":"actor_y_frac","c":"Fractional part of each actor's Y.","t":"byte","b":[214,0,0,36,0,0,0,0],"x":[59838,60320,60327,60612,60618,62042]},{"a":1041,"t":"byte","b":[255]},{"a":1042,"l":"actor_vy_lo","c":"Fractional part of each actor's vertical velocity.","t":"byte","b":[60,0,0,176,0,0,0,0],"x":[59832,60044,60054,60074,60085,60104,60115,60324,60525,60571,60581,61387,61606,61610,61706,61709,61836,61853,62027]},{"a":1050,"t":"byte","b":[255]},{"a":1051,"l":"actor_vy_hi","c":"Whole part of each actor's vertical velocity (positive down, $FF up).","t":"byte","b":[0,0,0,255,0,0,0,0],"x":[52209,52226,59835,60059,60062,60091,60121,60332,60468,60528,60586,60724,60869,60890,61382,61613,61616,61714,61717,61841,61858,62030]},{"a":1059,"t":"byte","b":[255]},{"a":1060,"l":"actor_vx_lo","c":"Fractional part of each actor's horizontal velocity.","t":"byte","b":[0,0,216,156,216,0,0,0],"x":[59292,59313,59350,59356,59540,59547,59558,59565,59610,59617,59634,59641,59671,59678,59695,59702,59772,59874,59911,60185,60196,60215,60226,60306,60945,61394,61592,61596,61665,61668,61810,61827,62021,62378]},{"a":1068,"t":"byte","b":[255]},{"a":1069,"l":"actor_vx_hi","c":"Whole part of each actor's horizontal velocity ($FF left).","t":"byte","b":[0,0,255,255,255,0,0,0],"x":[52245,52262,59295,59318,59359,59364,59550,59568,59620,59644,59649,59681,59705,59710,59740,59747,59775,59877,59914,60173,60202,60232,60314,60920,60931,60942,61397,61599,61602,61673,61676,61815,61832,62024,62375]},{"a":1077,"t":"byte","b":[255]},{"a":1078,"l":"actor_frame","c":"Animation frame of each actor, 0 to 3.","t":"byte","b":[1,3,3,1,3,3,3,3],"x":[58327,58359,59525,59591,59655,59972,59975,59980,60013,60016,60021,60364,60393,60537,60548,61318,61371,62055]},{"a":1086,"t":"byte","b":[255]},{"a":1087,"l":"actor_frame_timer","c":"Frames until the next animation step for each actor; a player's balloon regrows on it too.","t":"byte","b":[1,1],"x":[59064,59071,59869,62047]},{"a":1089,"l":"actor_frame_timer_birds","c":"actor_frame_timer from the first bird (actor 2), filled from the bird list.","t":"byte","b":[3,3,3,1,1,1,255],"x":[54196]},{"a":1096,"l":"actor_facing","c":"Which way each actor faces: 0 right, 1 left.","t":"byte","b":[0,0,0,0,0,0,0,0],"x":[50738,50930,53133,58436,58479,59387,59400,59433,59454,59467,59516,59535,59735,59758,59763,60950,60955,62012]},{"a":1104,"l":"fish_facing","c":"The fish's slot in actor_facing (actor 8).","t":"byte","b":[255],"x":[50678,50741,50933]},{"a":1105,"l":"actor_type","c":"Each actor's kind and colour. 0 to 2 a bird with its balloon (pink, green, white: slowest to fastest), 3 a player, 4 to 7 the same after the balloon is popped (on the parachute), 8 to 11 falling with no parachute. The fish's is 1.","t":"byte","b":[3,255],"x":[50827,50833,52056,58428,59162,59532,59601,59662,60048,60276,60283,60298,60444,60458,60463,60575,61420,61426,61440,61457,61507,62386]},{"a":1107,"l":"actor_type_birds","c":"actor_type from the first bird (actor 2), filled from the bird list.","t":"byte","b":[0,0,0,255,255,255],"x":[54183]},{"a":1113,"l":"fish_type","c":"The fish's slot in actor_type (actor 8): 1.","t":"byte","b":[1],"x":[62648]},{"a":1114,"l":"actor_timer","c":"A countdown for each actor: how long a bird keeps its steering, the pumping of a balloon, a player's stun.","t":"byte","b":[1,1,1,32,1,1,1,1],"x":[52061,58739,59154,59171,59826,59897,60028,60418,60425,60678,62050]},{"a":1122,"t":"byte","b":[255]},{"a":1123,"l":"actor_vx_target_lo","c":"The sway's displacement for actor_sway, fractional part: a parachuting bird's and a bubble's side-to-side swing.","t":"byte","b":[0,0,0,0,0,0,0,0],"x":[59326,59332,59880,61415,61682,61685,62033]},{"a":1131,"t":"byte","b":[255]},{"a":1132,"l":"actor_vx_target_hi","c":"Whole part of the sway's displacement.","t":"byte","b":[0,0,0,0,0,0,0,0],"x":[59337,59342,59883,61410,61690,61693,62036]},{"a":1140,"t":"byte","b":[255]},{"a":1141,"l":"actor_hit_cooldown","c":"Frames (20) after a collision during which the actor cannot be hit again.","t":"byte","b":[0,0,0,0,0,0,0,0],"x":[59992,59997,61255,61313,62015]},{"a":1149,"t":"byte","b":[255]},{"a":1150,"l":"actor_was_hit","c":"1 once a bird has lost a balloon: when it next takes off it comes back one colour faster.","t":"byte","b":[0,0,255,255,255,0,0,0],"x":[60450,60455,61431,62018]},{"a":1158,"t":"byte","b":[255]},{"a":1159,"l":"kicked_flag","c":"1 when the hit just resolved was a kick of a bird on the ground or its parachute, which scores more.","t":"byte","b":[0],"x":[61252,61295,61465,61479]},{"a":1160,"l":"trip_platform_x","c":"Balloon Trip: X of the starting platform as it scrolls off to the right; 0 once it has gone.","t":"byte","b":[0],"x":[49631,49715,49720,49723,49732,50033,59787,61950]},{"a":1161,"l":"fish_rising","c":"Fish: 0 while it rises, 1 once it has bitten and sinks.","t":"byte","b":[255],"x":[50755,50776,50794,50884,50921]},{"a":1162,"l":"fish_sinking","c":"Set when the fish has reached the top of its rise (Y $C4) or lost its target: from then on it sinks, and its frames come from fish_frames_sinking.","t":"byte","b":[255],"x":[50634,50746,50791,50851]},{"a":1163,"l":"fish_target","c":"Index of the actor the fish is going for, $FF for none.","t":"byte","b":[255],"x":[50660,50710,50735,50811,50889,50947]},{"a":1164,"l":"fish_caught","c":"Set when the fish has caught its target (the bite).","t":"byte","b":[255],"x":[50655,50752,50848,62643]},{"a":1165,"l":"fish_timer","c":"Frames since the fish started to rise; its phases are read off it.","t":"byte","b":[255],"x":[50627,50663,50749,50801,50804,50856,50915,50918]},{"a":1166,"l":"fish_flags","c":"Two bytes set to 1 at the start of a phase; nothing else reads them.","t":"byte","b":[1],"x":[62631]},{"a":1167,"l":"fish_flags_2","c":"The second of fish_flags.","t":"byte","b":[1],"x":[62634]},{"a":1168,"l":"spark_x","c":"X of each spark (20 slots: the phase's two, Balloon Trip's up to twenty).","t":"byte","b":[255,255,255,255,255,255,255,255],"x":[49783,49786,49978,50326,51140,51193,51196,51524,51534,51611,51651,51654,51869,51876,51894,51901,51918,52010]},{"a":1176,"t":"byte","b":[255,255,255,255,255,255,255,255]},{"a":1184,"t":"byte","b":[255,255,255,255]},{"a":1188,"l":"spark_y","c":"Y of each spark; $F0 is hidden.","t":"byte","b":[255,255,255,255,255,255,255,255],"x":[49667,49795,49923,49972,50345,51146,51203,51206,51544,51554,51568,51603,51670,51673,51826,51833,51844,51851,52024,52072]},{"a":1196,"t":"byte","b":[255,255,255,255,255,255,255,255]},{"a":1204,"t":"byte","b":[255,255,255,255]},{"a":1208,"l":"spark_x_frac","c":"Fractional X of each spark.","t":"byte","b":[255,255,255,255,255,255,255,255],"x":[51126,51642,51645]},{"a":1216,"t":"byte","b":[255,255,255,255,255,255,255,255]},{"a":1224,"t":"byte","b":[255,255,255,255]},{"a":1228,"l":"spark_y_frac","c":"Fractional Y of each spark.","t":"byte","b":[255,255,255,255,255,255,255,255],"x":[51129,51661,51664]},{"a":1236,"t":"byte","b":[255,255,255,255,255,255,255,255]},{"a":1244,"t":"byte","b":[255,255,255,255]},{"a":1248,"l":"spark_vx_hi","c":"Whole part of each spark's horizontal velocity.","t":"byte","b":[255,255,255,255,255,255,255,255],"x":[50335,51171,51648,51784,51787,51972,51984]},{"a":1256,"t":"byte","b":[255,255,255,255,255,255,255,255]},{"a":1264,"t":"byte","b":[255,255,255,255]},{"a":1268,"l":"spark_vy_hi","c":"Whole part of each spark's vertical velocity.","t":"byte","b":[255,255,255,255,255,255,255,255],"x":[50329,51177,51667,51808,51811,51948,51960]},{"a":1276,"t":"byte","b":[255,255,255,255,255,255,255,255]},{"a":1284,"t":"byte","b":[255,255,255,255]},{"a":1288,"l":"spark_vx_lo","c":"Fractional part of each spark's horizontal velocity.","t":"byte","b":[255,255,255,255,255,255,255,255],"x":[50279,50332,51159,51638,51776,51779]},{"a":1296,"t":"byte","b":[255,255,255,255,255,255,255,255]},{"a":1304,"t":"byte","b":[255,255,255,255]},{"a":1308,"l":"spark_vy_lo","c":"Fractional part of each spark's vertical velocity.","t":"byte","b":[255,255,255,255,255,255,255,255],"x":[50340,51165,51657,51800,51803]},{"a":1316,"t":"byte","b":[255,255,255,255,255,255,255,255]},{"a":1324,"t":"byte","b":[255,255,255,255]},{"a":1328,"l":"spark_state","c":"State of each spark: $FF none; for the phase's two sparks the animation step 0 to 7 that picks the tile; in Balloon Trip it stays 0 and the tile comes from frame_counter.","t":"byte","b":[255],"x":[49662,49778,49798,49911,50312,50323,50970,51101,51107,51134,51255,51385,51563,51580,51587,51590,52077]},{"a":1329,"l":"spark_state_1","c":"spark_state of the second phase spark (slot 1), tested by cloud_flash.","t":"byte","b":[255,255,255,255,255,255,255,255],"x":[51260]},{"a":1337,"t":"byte","b":[255,255,255,255,255,255,255,255]},{"a":1345,"t":"byte","b":[255,255,255]},{"a":1348,"l":"spark_bolt_phase","c":"For the two phase sparks: the frame of the lightning bolt being thrown, counted in fours, $FF when the spark is flying.","t":"byte","b":[255,255,255,255,255,255,255,255],"x":[50973,51185,51393,51493,51499,51508,51511]},{"a":1356,"t":"byte","b":[255,255,255,255,255,255,255,255]},{"a":1364,"t":"byte","b":[255,255,255,255]},{"a":1368,"l":"bonus_round","c":"Which bonus round is next, 0 to 4; stays at 4 after the fifth.","t":"byte","b":[0],"x":[53474,53505,54288,61957]},{"a":1369,"l":"bonus_value","c":"Points for each balloon: in the bonus round the hundreds digit (3, 5 or 7, from set_bonus_round_values); in Balloon Trip the same times ten (set_balloon_value), the tens that add_score takes.","t":"byte","b":[255],"x":[49895,50474,50477,50482,50485,53227,53250,53480,53727]},{"a":1370,"l":"balloon_rise_speed","c":"How fast the bonus round's and Balloon Trip's balloons rise (fractional pixels a frame).","t":"byte","b":[255],"x":[52736,53486]},{"a":1371,"l":"perfect_tens","c":"Tens of thousands of the perfect bonus for this round.","t":"byte","b":[255],"x":[53335,53426,53492]},{"a":1372,"l":"perfect_units","c":"Thousands of the perfect bonus for this round.","t":"byte","b":[255],"x":[53340,53431,53498]},{"a":1373,"l":"balloon_state","c":"State of each of the ten balloons of the bonus round and of Balloon Trip: $FF none, 0 rising from a chimney, 1 drifting near the top, and in Balloon Trip 1 for every balloon in the stream. Balloon Fight's own bubbles are not these: a sunk bird's slot in actor_balloons becomes its bubble.","t":"byte","b":[0],"x":[49743,49760,49874,50285,50296,52558,52587,52598,52652,52760,52767,52783,52845,52951,52990,53073,53165,53269,56097]},{"a":1374,"l":"balloon_state_1","c":"balloon_state of slot 1 (the second results-screen icon).","t":"byte","b":[255,255,255,255,255,255,255,255],"x":[53168,53272]},{"a":1382,"t":"byte","b":[255]},{"a":1383,"l":"balloon_x","c":"X of each balloon.","t":"byte","b":[44],"x":[49748,49751,50301,52629,52723,52729,52816,52978,53147,56092]},{"a":1384,"l":"balloon_x_1","c":"balloon_x of slot 1.","t":"byte","b":[255,255,255,255,255,255,255,255],"x":[53150]},{"a":1392,"t":"byte","b":[255]},{"a":1393,"l":"balloon_x_frac","c":"Fractional X of each balloon.","t":"byte","b":[255,255,255,255,255,255,255,255],"x":[52609,52713,52720]},{"a":1401,"t":"byte","b":[255,255]},{"a":1403,"l":"balloon_y","c":"Y of each balloon; $F0 is hidden.","t":"byte","b":[140],"x":[49765,50306,52563,52617,52744,52747,52801,52891,52964,53155,56087]},{"a":1404,"l":"balloon_y_1","c":"balloon_y of slot 1.","t":"byte","b":[255,255,255,255,255,255,255,255],"x":[53160]},{"a":1412,"t":"byte","b":[255]},{"a":1413,"l":"balloon_y_frac","c":"Fractional Y of each balloon.","t":"byte","b":[255,255,255,255,255,255,255,255],"x":[52612,52732,52739]},{"a":1421,"t":"byte","b":[255,255]},{"a":1423,"l":"balloon_vx_hi","c":"Whole part of each balloon's sideways sway velocity.","t":"byte","b":[255,255,255,255,255,255,255,255],"x":[52604,52664,52705,52710,52726]},{"a":1431,"t":"byte","b":[255,255]},{"a":1433,"l":"balloon_vx_lo","c":"Fractional part of each balloon's sway velocity.","t":"byte","b":[255,255,255,255,255,255,255,255],"x":[52601,52659,52696,52702,52717]},{"a":1441,"t":"byte","b":[255,255]},{"a":1443,"l":"balloon_unused","c":"Two rows of the balloon arrays nothing reads or writes.","t":"byte","b":[255,255,255,255,255,255,255,255]},{"a":1451,"t":"byte","b":[255,255,255,255,255,255,255,255]},{"a":1459,"t":"byte","b":[255,255,255,255]},{"a":1463,"l":"balloon_sway_lo","c":"Fractional part of each balloon's sway position; the sway is a spring pulled back toward the centre each frame.","t":"byte","b":[255,255,255,255,255,255,255,255],"x":[52636,52672,52678]},{"a":1471,"t":"byte","b":[255,255]},{"a":1473,"l":"balloon_sway_hi","c":"Whole part of each balloon's sway position (its sign).","t":"byte","b":[255,255,255,255,255,255,255,255],"x":[52643,52683,52688]},{"a":1481,"t":"byte","b":[255,255]},{"a":1483,"l":"balloons_to_launch","c":"Bonus round: balloons still to come out of the chimneys, from 20 down.","t":"byte","b":[255],"x":[52646,53041,53055,53066]},{"a":1484,"l":"balloon_spawn_timer","c":"Bonus round: frames until the next balloon comes out of a chimney, random 40 to 103.","t":"byte","b":[255],"x":[52570,52582]},{"a":1485,"l":"balloons_popped","c":"One byte per player ($05CD, $05CE). In the bonus round, balloons popped by each player, scored at the end. In Balloon Trip, $05CD is balloons popped and not yet scored and $05CE the run of balloons popped without a miss, reset by a balloon that drifts off the right edge; at 20 the super bonus is paid.","t":"byte","b":[255],"x":[49882,49887,52993,52999,53204,53510,53537,53676]},{"a":1486,"l":"balloons_popped_p2","c":"balloons_popped of player 2; in Balloon Trip the run of balloons popped in succession.","t":"byte","b":[255,255,255],"x":[49770,49890,49992,53218,53513,53541,53684]},{"a":1489,"l":"propeller_count","c":"Number of propellers in the phase minus one; $FF for none.","t":"byte","b":[255],"x":[52084,54143]},{"a":1490,"l":"propeller_x","c":"X of each propeller's centre (up to 10).","t":"byte","b":[255,255,255,255,255,255,255,255],"x":[52168,52300,52346,54082]},{"a":1498,"t":"byte","b":[255,255]},{"a":1500,"l":"propeller_y","c":"Y of each propeller's centre.","t":"byte","b":[255,255,255,255,255,255,255,255],"x":[52187,52318,52361,54092]},{"a":1508,"t":"byte","b":[255,255]},{"a":1510,"l":"propeller_addr_lo","c":"Low byte of the nametable address of each propeller's top-left tile.","t":"byte","b":[255,255,255,255,255,255,255,255],"x":[52432,54103]},{"a":1518,"t":"byte","b":[255,255]},{"a":1520,"l":"propeller_addr_hi","c":"High byte of each propeller's nametable address.","t":"byte","b":[255,255,255,255,255,255,255,255],"x":[52427,54108]},{"a":1528,"t":"byte","b":[255,255]},{"a":1530,"l":"propeller_phase","c":"Rotation of each propeller, 0 to 3 (0 and 2 horizontal, 1 and 3 vertical, 3 is upright).","t":"byte","b":[255,255,255,255,255,255,255,255],"x":[52104,52111,52117,52293,52369,52441,54072]},{"a":1538,"t":"byte","b":[255,255]},{"a":1540,"l":"propeller_spinning","c":"1 while a propeller spins after being hit.","t":"byte","b":[255,255,255,255,255,255,255,255],"x":[52092,52129,52138,52400,54097]},{"a":1548,"t":"byte","b":[255,255]},{"a":1550,"l":"propeller_spin_timer","c":"Quarter turns left in a propeller's spin (50 from a hit).","t":"byte","b":[255,255,255,255,255,255,255,255],"x":[52124,52405]},{"a":1558,"t":"byte","b":[255,255]},{"a":1560,"l":"popup_timer","c":"Frames left for each of the two score popups (100 from a hit).","t":"byte","b":[0],"x":[55430,55438,55524,55555]},{"a":1561,"l":"popup_timer_2","c":"popup_timer of the second popup.","t":"byte","b":[0],"x":[55427]},{"a":1562,"l":"popup_kind","c":"Which popup each slot shows, $FF for none: an index into popup_tiles.","t":"byte","b":[255,255],"x":[55417,55443,55519,55531,55560]},{"a":1564,"l":"joypad","c":"Controller 1 and 2 buttons as read this frame: bit 7 A, 6 B, 5 Select, 4 Start, 3 up, 2 down, 1 left, 0 right.","t":"byte","b":[0,255],"x":[59135,59263,59272,59279,59282,62239]},{"a":1566,"l":"joypad_last","c":"The previous frame's buttons, so read_joypads can return what was newly pressed.","t":"byte","b":[0,255],"x":[59269,59275]},{"a":1568,"l":"flap_latch","c":"One byte per player: 1 while a flap is in progress, so a held A gives one flap only.","t":"byte","b":[0,255,0,1,0,255,255,255],"x":[60503,60508,60553]},{"a":1576,"t":"byte","b":[255]},{"a":1577,"l":"top_scores","c":"The top score of each mode, five digits each tens first: game A at $0629, game B at $062E, Balloon Trip at $0633. Set to 10,000, 10,000 and 25,000 at power-on.","t":"byte","b":[0,0,0,1,0,0,0,0],"x":[49240]},{"a":1585,"t":"byte","b":[1,0,0]},{"a":1588,"l":"top_score_trip_2","c":"The second digit of Balloon Trip's top score in top_scores.","t":"byte","b":[0,5,2,0,255,255,255,255]},{"a":1596,"t":"byte","b":[255,255,255,255,255,255,255,255]},{"a":1604,"t":"byte","b":[255,255,255,255,255,255,255,255]},{"a":1612,"t":"byte","b":[255,255,255,255,255,255,255,255]},{"a":1620,"t":"byte","b":[255,255,255,255,255,255,255,255]},{"a":1628,"t":"byte","b":[255,255,255,255,255,255,255,255]},{"a":1636,"t":"byte","b":[255,255,255,255,255,255,255,255]},{"a":1644,"t":"byte","b":[255,255,255,255,255,255,255,255]},{"a":1652,"t":"byte","b":[255,255,255,255,255,255,255,255]},{"a":1660,"t":"byte","b":[255,255,255,255,255,255,255,255]},{"a":1668,"t":"byte","b":[255,255,255,255,255,255,255,255]},{"a":1676,"t":"byte","b":[255,255,255,255,255,255,255,255]},{"a":1684,"t":"byte","b":[255,255,255,255,255,255,255,255]},{"a":1692,"t":"byte","b":[255,255,255,255,255,255,255,255]},{"a":1700,"t":"byte","b":[255,255,255,255,255,255,255,255]},{"a":1708,"t":"byte","b":[255,255,255,255,255,255,255,255]},{"a":1716,"t":"byte","b":[255,255,255,255,255,255,255,255]},{"a":1724,"t":"byte","b":[255,255,255,255,255,255,255,255]},{"a":1732,"t":"byte","b":[255,255,255,255,255,255,255,255]},{"a":1740,"t":"byte","b":[255,255,255,255,255,255,255,255]},{"a":1748,"t":"byte","b":[255,255,255,255,255,255,255,255]},{"a":1756,"t":"byte","b":[255,255,255,255,255,255,255,255]},{"a":1764,"t":"byte","b":[255,255,255,255,255,255,255,255]},{"a":1772,"t":"byte","b":[255,255,255,255,255,255,255,255]},{"a":1780,"t":"byte","b":[255,255,255,255,255,255,255,255]},{"a":1788,"t":"byte","b":[255,255,255,255]},{"a":1792,"l":"trip_ranking","c":"Balloon Trip's table of the 50 best scores, five digits each, best first (250 bytes). The rank shown is the score's place in it; it survives a reset while ram_signature holds.","t":"byte","b":[0,0,5,2,0,0,5,4],"x":[49209]},{"a":1800,"t":"byte","b":[2,0,0,0,4,2,0,0]},{"a":1808,"t":"byte","b":[5,3,2,0,0,0,3,2]},{"a":1816,"t":"byte","b":[0,0,5,2,2,0,0,0]},{"a":1824,"t":"byte","b":[2,2,0,0,5,1,2,0]},{"a":1832,"t":"byte","b":[0,0,1,2,0,0,5,0]},{"a":1840,"t":"byte","b":[2,0,0,0,0,2,0,0]},{"a":1848,"t":"byte","b":[5,9,1,0,0,0,9,1]},{"a":1856,"t":"gap","n":160},{"a":2016,"l":"snd_var_e0","c":"Sound driver: counters and copies for the effects (the spark hit tone's length and target at $07E0 and $07E1, sfx_request_b's copy at $07E9, the splash at $07F6, the perfect jingle's counter at $07F0, the footstep and bubble counters at $07F1 to $07F9).","t":"byte","b":[0],"x":[63656,63679,63682]},{"a":2017,"l":"snd_spark_hit_len","c":"The spark hit tone's length (random 2 to 9 frames). It lies inside trip_ranking (rank 46), as do the driver's other variables below.","t":"byte","b":[0,5,2],"x":[63666,63685]},{"a":2020,"l":"snd_plop_count","c":"Frames the bird plop's flag has been held (to 88).","t":"byte","b":[0,0,0,0],"x":[63294,63305,63308]},{"a":2024,"l":"snd_music_loop","c":"Set when the bonus and Balloon Trip music reached its end, so music_update restarts it. Inside trip_ranking (rank 47's thousands digit): a fresh ranking table holds 2 here, which starts that tune, silently, on the title screen's first frame.","t":"byte","b":[0],"x":[63381,64293,64352]},{"a":2025,"l":"snd_request_b_last","c":"Last frame's sfx_request_b, so that the pumping tune's extra hit sounds once.","t":"byte","b":[0,0,0,5,1,0,0],"x":[63342,64260]},{"a":2032,"l":"snd_tri_flag","c":"Set when a tune was started quietly (the triangle plays its notes at full length).","t":"byte","b":[0],"x":[62917,63427,64375,64433]},{"a":2033,"l":"snd_lightning_step","c":"The lightning effect's period step (to 16).","t":"byte","b":[0,1],"x":[63602,63628,63631]},{"a":2035,"l":"snd_lightning_count","c":"The lightning effect's frame count (every 3 frames a step).","t":"byte","b":[0,0],"x":[63599,63613,63616,63625]},{"a":2037,"l":"snd_pending_hit","c":"A hit sound to be asked for when the next tune starts (2 after the pumping tune).","t":"byte","b":[0],"x":[63150,63163,64269]},{"a":2038,"l":"snd_landing_count","c":"The landing effect's frame count.","t":"byte","b":[5],"x":[64150,64153,64241]},{"a":2039,"l":"snd_hit_count","c":"The hit effect's frame count (to 16).","t":"byte","b":[0,0],"x":[63498,63508,63511]},{"a":2041,"l":"snd_bounce_count","c":"The bounce effect's frame count (to 7).","t":"byte","b":[0],"x":[63995,64012,64015]},{"a":2042,"l":"ram_signature","c":"The letters HAL, written at power-on after the RAM is cleared and checked by the reset code: a reset that finds them keeps the top scores and the Balloon Trip ranking. The sound driver also keeps its fall and tick state in $07FA and $07FB, so after play the check usually fails and a reset clears everything.","t":"byte","b":[0],"x":[49191,49265,63416,63445,63478,63547,63828]},{"a":2043,"l":"snd_fall_count","c":"The fall effect's frame count; the second byte of ram_signature.","t":"byte","b":[65],"x":[63456,63459,63473]},{"a":2044,"l":"snd_fish_count","c":"The fish effect's frame count; the third byte of ram_signature.","t":"byte","b":[76],"x":[63865,63891,63894]},{"a":2045,"l":"snd_fish_period2","c":"The fish effect's square 2 period.","t":"byte","b":[0],"x":[63915,63921,63924,63933]},{"a":2046,"l":"snd_fish_period1","c":"The fish effect's square 1 period.","t":"byte","b":[0,0],"x":[63911,63927,63930,63939]},{"a":2048,"t":"gap","n":47104},{"a":49152,"l":"reset","c":"The reset vector. Turns the PPU off, waits for three vertical blanks so the PPU has warmed up, sets the stack and clears zero page from $12 up. If ram_signature still reads HAL (the reset button, with the RAM intact) the scores and the Balloon Trip ranking are kept; otherwise all RAM is cleared, the ranking table is filled with 50 entries of 50,000 points (fifty times add_score of 500 then insert_trip_rank), the three top scores are set from initial_top_scores (10,000, 10,000, 25,000) and the signature is written. Then the PPU register shadows are set ($90, $1E) and it jumps to main.","t":"code","b":[169,0],"m":"lda","o":"#$00","x":[65532]},{"a":49154,"t":"code","b":[141,0,32],"m":"sta","o":"PPUCTRL"},{"a":49157,"t":"code","b":[141,1,32],"m":"sta","o":"PPUMASK"},{"a":49160,"l":"b_C008","t":"code","b":[173,2,32],"m":"lda","o":"PPUSTATUS","x":[49163]},{"a":49163,"t":"code","b":[16,251],"m":"bpl","oa":49160,"o":"b_C008"},{"a":49165,"l":"b_C00D","t":"code","b":[173,2,32],"m":"lda","o":"PPUSTATUS","x":[49168]},{"a":49168,"t":"code","b":[48,251],"m":"bmi","oa":49165,"o":"b_C00D"},{"a":49170,"l":"b_C012","t":"code","b":[173,2,32],"m":"lda","o":"PPUSTATUS","x":[49173]},{"a":49173,"t":"code","b":[16,251],"m":"bpl","oa":49170,"o":"b_C012"},{"a":49175,"t":"code","b":[120],"m":"sei"},{"a":49176,"t":"code","b":[216],"m":"cld"},{"a":49177,"t":"code","b":[162,255],"m":"ldx","o":"#$FF"},{"a":49179,"t":"code","b":[154],"m":"txs"},{"a":49180,"t":"code","b":[162,18],"m":"ldx","o":"#$12"},{"a":49182,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":49184,"l":"b_C020","t":"code","b":[149,0],"m":"sta","oa":0,"o":"ppuctrl_shadow,x","x":[49187]},{"a":49186,"t":"code","b":[232],"m":"inx"},{"a":49187,"t":"code","b":[208,251],"m":"bne","oa":49184,"o":"b_C020"},{"a":49189,"t":"code","b":[162,2],"m":"ldx","o":"#$02"},{"a":49191,"l":"b_C027","t":"code","b":[189,250,7],"m":"lda","oa":2042,"o":"ram_signature,x","x":[49200]},{"a":49194,"t":"code","b":[221,130,192],"m":"cmp","oa":49282,"o":"ram_signature_text,x"},{"a":49197,"t":"code","b":[208,5],"m":"bne","oa":49204,"o":"b_C034"},{"a":49199,"t":"code","b":[202],"m":"dex"},{"a":49200,"t":"code","b":[16,245],"m":"bpl","oa":49191,"o":"b_C027"},{"a":49202,"t":"code","b":[48,67],"m":"bmi","oa":49271,"o":"b_C077"},{"a":49204,"l":"b_C034","t":"code","b":[162,0],"m":"ldx","o":"#$00","x":[49197]},{"a":49206,"t":"code","b":[138],"m":"txa"},{"a":49207,"l":"b_C037","t":"code","b":[149,0],"m":"sta","oa":0,"o":"ppuctrl_shadow,x","x":[49213]},{"a":49209,"t":"code","b":[157,0,7],"m":"sta","oa":1792,"o":"trip_ranking,x"},{"a":49212,"t":"code","b":[232],"m":"inx"},{"a":49213,"t":"code","b":[208,248],"m":"bne","oa":49207,"o":"b_C037"},{"a":49215,"t":"code","b":[169,50],"m":"lda","o":"#$32"},{"a":49217,"t":"code","b":[133,21],"m":"sta","oa":21,"o":"tmp15"},{"a":49219,"l":"b_C043","t":"code","b":[169,50],"m":"lda","o":"#$32","x":[49233]},{"a":49221,"t":"code","b":[32,222,214],"m":"jsr","oa":55006,"o":"add_score"},{"a":49224,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":49226,"t":"code","b":[133,70],"m":"sta","oa":70,"o":"status_request"},{"a":49228,"t":"code","b":[32,121,197],"m":"jsr","oa":50553,"o":"insert_trip_rank"},{"a":49231,"t":"code","b":[198,21],"m":"dec","oa":21,"o":"tmp15"},{"a":49233,"t":"code","b":[208,240],"m":"bne","oa":49219,"o":"b_C043"},{"a":49235,"t":"code","b":[162,14],"m":"ldx","o":"#$0E"},{"a":49237,"l":"b_C055","t":"code","b":[189,133,192],"m":"lda","oa":49285,"o":"initial_top_scores,x","x":[49244]},{"a":49240,"t":"code","b":[157,41,6],"m":"sta","oa":1577,"o":"top_scores,x"},{"a":49243,"t":"code","b":[202],"m":"dex"},{"a":49244,"t":"code","b":[16,247],"m":"bpl","oa":49237,"o":"b_C055"},{"a":49246,"t":"code","b":[162,4],"m":"ldx","o":"#$04"},{"a":49248,"l":"b_C060","t":"code","b":[169,0],"m":"lda","o":"#$00","x":[49253]},{"a":49250,"t":"code","b":[149,3],"m":"sta","oa":3,"o":"score_p1,x"},{"a":49252,"t":"code","b":[202],"m":"dex"},{"a":49253,"t":"code","b":[16,249],"m":"bpl","oa":49248,"o":"b_C060"},{"a":49255,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":49257,"t":"code","b":[32,222,214],"m":"jsr","oa":55006,"o":"add_score"},{"a":49260,"t":"code","b":[162,2],"m":"ldx","o":"#$02"},{"a":49262,"l":"b_C06E","t":"code","b":[189,130,192],"m":"lda","oa":49282,"o":"ram_signature_text,x","x":[49269]},{"a":49265,"t":"code","b":[157,250,7],"m":"sta","oa":2042,"o":"ram_signature,x"},{"a":49268,"t":"code","b":[202],"m":"dex"},{"a":49269,"t":"code","b":[16,247],"m":"bpl","oa":49262,"o":"b_C06E"},{"a":49271,"l":"b_C077","t":"code","b":[169,30],"m":"lda","o":"#$1E","x":[49202]},{"a":49273,"t":"code","b":[133,1],"m":"sta","oa":1,"o":"ppumask_shadow"},{"a":49275,"t":"code","b":[169,144],"m":"lda","o":"#$90"},{"a":49277,"t":"code","b":[133,0],"m":"sta","oa":0,"o":"ppuctrl_shadow"},{"a":49279,"t":"code","b":[76,212,241],"m":"jmp","oa":61908,"o":"main"},{"a":49282,"l":"ram_signature_text","c":"The three letters HAL that reset writes into ram_signature and checks on the next reset.","t":"byte","b":[72,65,76],"x":[49194,49262]},{"a":49285,"l":"initial_top_scores","c":"The top scores at power-on, five digits each with the tens digit first: 10,000 for the one-player game, 10,000 for the two-player game, 25,000 for Balloon Trip.","t":"byte","b":[0,0,0,1,0,0,0,0],"x":[49237]},{"a":49293,"t":"byte","b":[1,0,0,0,5,2,0]},{"a":49300,"l":"nmi","c":"The NMI handler, once a frame at the start of vertical blank. Sends sprite_table to the PPU with the sprite DMA; flushes ppu_queue if anything is waiting; twinkles a star; redraws the status bar if asked; counts frame_counter; resets the PPU address to $2000 and the scroll to 0,0 for the top of the picture; runs the sound driver (nmi_sound_entry); sets frame_flag. In Balloon Trip it then waits for the end of vertical blank and spins for about 35 scanlines, below the status bar, and sets the scroll to trip_scroll_x with trip_nametable's nametable bit, so the play area scrolls while the status bar stays. No sprite-zero hit or timer: the split is timed by the delay loop alone.","t":"code","b":[72],"m":"pha","x":[65530]},{"a":49301,"t":"code","b":[138],"m":"txa"},{"a":49302,"t":"code","b":[72],"m":"pha"},{"a":49303,"t":"code","b":[152],"m":"tya"},{"a":49304,"t":"code","b":[72],"m":"pha"},{"a":49305,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":49307,"t":"code","b":[141,3,32],"m":"sta","o":"OAMADDR"},{"a":49310,"t":"code","b":[169,2],"m":"lda","o":"#$02"},{"a":49312,"t":"code","b":[141,20,64],"m":"sta","o":"OAMDMA"},{"a":49315,"t":"code","b":[165,82],"m":"lda","oa":82,"o":"ppu_queue_read"},{"a":49317,"t":"code","b":[197,83],"m":"cmp","oa":83,"o":"ppu_queue_write"},{"a":49319,"t":"code","b":[240,3],"m":"beq","oa":49324,"o":"b_C0AC"},{"a":49321,"t":"code","b":[32,124,193],"m":"jsr","oa":49532,"o":"flush_ppu_queue"},{"a":49324,"l":"b_C0AC","t":"code","b":[32,13,214],"m":"jsr","oa":54797,"o":"twinkle_stars","x":[49319]},{"a":49327,"t":"code","b":[32,152,215],"m":"jsr","oa":55192,"o":"status_bar_update"},{"a":49330,"t":"code","b":[230,25],"m":"inc","oa":25,"o":"frame_counter"},{"a":49332,"t":"code","b":[169,32],"m":"lda","o":"#$20"},{"a":49334,"t":"code","b":[141,6,32],"m":"sta","o":"PPUADDR"},{"a":49337,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":49339,"t":"code","b":[141,6,32],"m":"sta","o":"PPUADDR"},{"a":49342,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":49344,"t":"code","b":[141,5,32],"m":"sta","o":"PPUSCROLL"},{"a":49347,"t":"code","b":[141,5,32],"m":"sta","o":"PPUSCROLL"},{"a":49350,"t":"code","b":[32,247,255],"m":"jsr","oa":65527,"o":"nmi_sound_entry"},{"a":49353,"t":"code","b":[169,1],"m":"lda","o":"#$01"},{"a":49355,"t":"code","b":[133,2],"m":"sta","oa":2,"o":"frame_flag"},{"a":49357,"t":"code","b":[165,22],"m":"lda","oa":22,"o":"game_mode"},{"a":49359,"t":"code","b":[240,32],"m":"beq","oa":49393,"o":"b_C0F1"},{"a":49361,"l":"b_C0D1","t":"code","b":[173,2,32],"m":"lda","o":"PPUSTATUS","x":[49364]},{"a":49364,"t":"code","b":[48,251],"m":"bmi","oa":49361,"o":"b_C0D1"},{"a":49366,"t":"code","b":[162,4],"m":"ldx","o":"#$04"},{"a":49368,"t":"code","b":[160,198],"m":"ldy","o":"#$C6"},{"a":49370,"l":"b_C0DA","t":"code","b":[136],"m":"dey","x":[49371,49374]},{"a":49371,"t":"code","b":[208,253],"m":"bne","oa":49370,"o":"b_C0DA"},{"a":49373,"t":"code","b":[202],"m":"dex"},{"a":49374,"t":"code","b":[208,250],"m":"bne","oa":49370,"o":"b_C0DA"},{"a":49376,"t":"code","b":[165,24],"m":"lda","oa":24,"o":"trip_nametable"},{"a":49378,"t":"code","b":[5,0],"m":"ora","oa":0,"o":"ppuctrl_shadow"},{"a":49380,"t":"code","b":[141,0,32],"m":"sta","o":"PPUCTRL"},{"a":49383,"t":"code","b":[165,23],"m":"lda","oa":23,"o":"trip_scroll_x"},{"a":49385,"t":"code","b":[141,5,32],"m":"sta","o":"PPUSCROLL"},{"a":49388,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":49390,"t":"code","b":[141,5,32],"m":"sta","o":"PPUSCROLL"},{"a":49393,"l":"b_C0F1","t":"code","b":[104],"m":"pla","x":[49359]},{"a":49394,"t":"code","b":[168],"m":"tay"},{"a":49395,"t":"code","b":[104],"m":"pla"},{"a":49396,"t":"code","b":[170],"m":"tax"},{"a":49397,"t":"code","b":[104],"m":"pla"},{"a":49398,"t":"code","b":[64],"m":"rti"},{"a":49399,"l":"irq_hang","c":"The IRQ and BRK vector: a jump to itself. The game never enables an interrupt source, so an IRQ would hang it.","t":"code","b":[76,247,192],"m":"jmp","oa":49399,"o":"irq_hang","x":[49399,65534]},{"a":49402,"l":"nmi_off","c":"Clears bit 7 of PPUCTRL (and its shadow) so no NMI comes while the screen is rebuilt.","t":"code","b":[165,0],"m":"lda","oa":0,"o":"ppuctrl_shadow","x":[53833,53910,55576]},{"a":49404,"t":"code","b":[41,127],"m":"and","o":"#$7F"},{"a":49406,"l":"b_C0FE","t":"code","b":[141,0,32],"m":"sta","o":"PPUCTRL","x":[49416]},{"a":49409,"t":"code","b":[133,0],"m":"sta","oa":0,"o":"ppuctrl_shadow"},{"a":49411,"t":"code","b":[96],"m":"rts"},{"a":49412,"l":"nmi_on","c":"Sets bit 7 of PPUCTRL and its shadow: NMIs on.","t":"code","b":[165,0],"m":"lda","oa":0,"o":"ppuctrl_shadow","x":[53852,54247,55590,56001]},{"a":49414,"t":"code","b":[9,128],"m":"ora","o":"#$80"},{"a":49416,"t":"code","b":[208,244],"m":"bne","oa":49406,"o":"b_C0FE"},{"a":49418,"l":"screen_off","c":"Waits one frame then writes 0 to PPUMASK: picture off, for building a screen with the PPU idle.","t":"code","b":[169,0],"m":"lda","o":"#$00","x":[53830,53907,55570]},{"a":49420,"l":"b_C10C","t":"code","b":[72],"m":"pha","x":[49431]},{"a":49421,"t":"code","b":[32,101,244],"m":"jsr","oa":62565,"o":"wait_frame"},{"a":49424,"t":"code","b":[104],"m":"pla"},{"a":49425,"t":"code","b":[141,1,32],"m":"sta","o":"PPUMASK"},{"a":49428,"t":"code","b":[96],"m":"rts"},{"a":49429,"l":"screen_on","c":"Waits one frame then writes ppumask_shadow to PPUMASK: picture back on.","t":"code","b":[165,1],"m":"lda","oa":1,"o":"ppumask_shadow","x":[53855,54250,55593]},{"a":49431,"t":"code","b":[208,243],"m":"bne","oa":49420,"o":"b_C10C"},{"a":49433,"l":"queue_text","c":"Queues text for the PPU: a block header for row text_row, column text_col, length text_len, then text_len tiles copied from text_buf. The NMI handler writes it in the next vertical blank.","t":"code","b":[32,84,193],"m":"jsr","oa":49492,"o":"queue_text_header","x":[53253,53264,53721]},{"a":49436,"t":"code","b":[160,0],"m":"ldy","o":"#$00"},{"a":49438,"l":"b_C11E","t":"code","b":[185,87,0],"m":"lda","oa":87,"o":"text_buf,y","x":[49448]},{"a":49441,"t":"code","b":[157,0,3],"m":"sta","oa":768,"o":"ppu_queue,x"},{"a":49444,"t":"code","b":[232],"m":"inx"},{"a":49445,"t":"code","b":[200],"m":"iny"},{"a":49446,"t":"code","b":[196,86],"m":"cpy","oa":86,"o":"text_len"},{"a":49448,"t":"code","b":[208,244],"m":"bne","oa":49438,"o":"b_C11E"},{"a":49450,"t":"code","b":[134,83],"m":"stx","oa":83,"o":"ppu_queue_write"},{"a":49452,"t":"code","b":[96],"m":"rts"},{"a":49453,"l":"queue_block_from_text","c":"Queues the ready-made block (address, count, tiles) that text_buf holds; falls into queue_block.","t":"code","b":[169,87],"m":"lda","o":"#$57","x":[53345,53369,53690,54285,62443,62516]},{"a":49455,"t":"code","b":[160,0],"m":"ldy","o":"#$00"},{"a":49457,"l":"queue_block","c":"Appends the block at the address in A (low) and Y (high) to ppu_queue: its three header bytes and its count of tiles. The queue wraps at 256 bytes; X is preserved.","t":"code","b":[133,33],"m":"sta","oa":33,"o":"ptr3","x":[51335,52501,53099,53106,53113,53319,53387,53702,62450,62486]},{"a":49459,"t":"code","b":[132,34],"m":"sty","oa":34,"o":"ptr3_hi"},{"a":49461,"t":"code","b":[138],"m":"txa"},{"a":49462,"t":"code","b":[72],"m":"pha"},{"a":49463,"t":"code","b":[160,2],"m":"ldy","o":"#$02"},{"a":49465,"t":"code","b":[177,33],"m":"lda","oa":33,"o":"(ptr3),y"},{"a":49467,"t":"code","b":[24],"m":"clc"},{"a":49468,"t":"code","b":[105,3],"m":"adc","o":"#$03"},{"a":49470,"t":"code","b":[133,18],"m":"sta","oa":18,"o":"tmp12"},{"a":49472,"t":"code","b":[166,83],"m":"ldx","oa":83,"o":"ppu_queue_write"},{"a":49474,"t":"code","b":[160,0],"m":"ldy","o":"#$00"},{"a":49476,"l":"b_C144","t":"code","b":[177,33],"m":"lda","oa":33,"o":"(ptr3),y","x":[49485]},{"a":49478,"t":"code","b":[157,0,3],"m":"sta","oa":768,"o":"ppu_queue,x"},{"a":49481,"t":"code","b":[232],"m":"inx"},{"a":49482,"t":"code","b":[200],"m":"iny"},{"a":49483,"t":"code","b":[196,18],"m":"cpy","oa":18,"o":"tmp12"},{"a":49485,"t":"code","b":[208,245],"m":"bne","oa":49476,"o":"b_C144"},{"a":49487,"t":"code","b":[134,83],"m":"stx","oa":83,"o":"ppu_queue_write"},{"a":49489,"t":"code","b":[104],"m":"pla"},{"a":49490,"t":"code","b":[170],"m":"tax"},{"a":49491,"t":"code","b":[96],"m":"rts"},{"a":49492,"l":"queue_text_header","c":"Writes the three-byte header for queue_text into ppu_queue: PPU address $2000 plus row times 32 plus column, high byte first, then the length.","t":"code","b":[166,83],"m":"ldx","oa":83,"o":"ppu_queue_write","x":[49433]},{"a":49494,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":49496,"t":"code","b":[133,18],"m":"sta","oa":18,"o":"tmp12"},{"a":49498,"t":"code","b":[165,85],"m":"lda","oa":85,"o":"text_row"},{"a":49500,"t":"code","b":[10],"m":"asl","o":"a"},{"a":49501,"t":"code","b":[10],"m":"asl","o":"a"},{"a":49502,"t":"code","b":[10],"m":"asl","o":"a"},{"a":49503,"t":"code","b":[10],"m":"asl","o":"a"},{"a":49504,"t":"code","b":[38,18],"m":"rol","oa":18,"o":"tmp12"},{"a":49506,"t":"code","b":[10],"m":"asl","o":"a"},{"a":49507,"t":"code","b":[38,18],"m":"rol","oa":18,"o":"tmp12"},{"a":49509,"t":"code","b":[5,84],"m":"ora","oa":84,"o":"text_col"},{"a":49511,"t":"code","b":[72],"m":"pha"},{"a":49512,"t":"code","b":[165,18],"m":"lda","oa":18,"o":"tmp12"},{"a":49514,"t":"code","b":[9,32],"m":"ora","o":"#$20"},{"a":49516,"t":"code","b":[157,0,3],"m":"sta","oa":768,"o":"ppu_queue,x"},{"a":49519,"t":"code","b":[232],"m":"inx"},{"a":49520,"t":"code","b":[104],"m":"pla"},{"a":49521,"t":"code","b":[157,0,3],"m":"sta","oa":768,"o":"ppu_queue,x"},{"a":49524,"t":"code","b":[232],"m":"inx"},{"a":49525,"t":"code","b":[165,86],"m":"lda","oa":86,"o":"text_len"},{"a":49527,"t":"code","b":[157,0,3],"m":"sta","oa":768,"o":"ppu_queue,x"},{"a":49530,"t":"code","b":[232],"m":"inx"},{"a":49531,"t":"code","b":[96],"m":"rts"},{"a":49532,"l":"flush_ppu_queue","c":"Saves X and Y round flush_ppu_queue_loop; the NMI handler calls it when ppu_queue_read differs from ppu_queue_write.","t":"code","b":[152],"m":"tya","x":[49321,54024,54639]},{"a":49533,"t":"code","b":[72],"m":"pha"},{"a":49534,"t":"code","b":[138],"m":"txa"},{"a":49535,"t":"code","b":[72],"m":"pha"},{"a":49536,"t":"code","b":[32,136,193],"m":"jsr","oa":49544,"o":"flush_ppu_queue_loop"},{"a":49539,"t":"code","b":[104],"m":"pla"},{"a":49540,"t":"code","b":[170],"m":"tax"},{"a":49541,"t":"code","b":[104],"m":"pla"},{"a":49542,"t":"code","b":[168],"m":"tay"},{"a":49543,"t":"code","b":[96],"m":"rts"},{"a":49544,"l":"flush_ppu_queue_loop","c":"Sends every queued block to the PPU: address, then count tiles through PPUDATA. After a block that wrote the palette (address $3Fxx) it sets the PPU address to $3F00 and then $0000, which stops the PPU showing the last palette entry as the backdrop while rendering is off. Repeats until the read index reaches the write index.","t":"code","b":[166,82],"m":"ldx","oa":82,"o":"ppu_queue_read","x":[49536,49602]},{"a":49546,"t":"code","b":[189,0,3],"m":"lda","oa":768,"o":"ppu_queue,x"},{"a":49549,"t":"code","b":[232],"m":"inx"},{"a":49550,"t":"code","b":[133,80],"m":"sta","oa":80,"o":"ppu_addr_lo"},{"a":49552,"t":"code","b":[141,6,32],"m":"sta","o":"PPUADDR"},{"a":49555,"t":"code","b":[189,0,3],"m":"lda","oa":768,"o":"ppu_queue,x"},{"a":49558,"t":"code","b":[232],"m":"inx"},{"a":49559,"t":"code","b":[141,6,32],"m":"sta","o":"PPUADDR"},{"a":49562,"t":"code","b":[188,0,3],"m":"ldy","oa":768,"o":"ppu_queue,x"},{"a":49565,"t":"code","b":[232],"m":"inx"},{"a":49566,"l":"b_C19E","t":"code","b":[189,0,3],"m":"lda","oa":768,"o":"ppu_queue,x","x":[49574]},{"a":49569,"t":"code","b":[232],"m":"inx"},{"a":49570,"t":"code","b":[141,7,32],"m":"sta","o":"PPUDATA"},{"a":49573,"t":"code","b":[136],"m":"dey"},{"a":49574,"t":"code","b":[208,246],"m":"bne","oa":49566,"o":"b_C19E"},{"a":49576,"t":"code","b":[165,80],"m":"lda","oa":80,"o":"ppu_addr_lo"},{"a":49578,"t":"code","b":[201,63],"m":"cmp","o":"#$3F"},{"a":49580,"t":"code","b":[208,16],"m":"bne","oa":49598,"o":"b_C1BE"},{"a":49582,"t":"code","b":[169,63],"m":"lda","o":"#$3F"},{"a":49584,"t":"code","b":[141,6,32],"m":"sta","o":"PPUADDR"},{"a":49587,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":49589,"t":"code","b":[141,6,32],"m":"sta","o":"PPUADDR"},{"a":49592,"t":"code","b":[141,6,32],"m":"sta","o":"PPUADDR"},{"a":49595,"t":"code","b":[141,6,32],"m":"sta","o":"PPUADDR"},{"a":49598,"l":"b_C1BE","t":"code","b":[134,82],"m":"stx","oa":82,"o":"ppu_queue_read","x":[49580]},{"a":49600,"t":"code","b":[228,83],"m":"cpx","oa":83,"o":"ppu_queue_write"},{"a":49602,"t":"code","b":[208,196],"m":"bne","oa":49544,"o":"flush_ppu_queue_loop"},{"a":49604,"t":"code","b":[96],"m":"rts"},{"a":49605,"l":"trip_start","c":"Balloon Trip (game C) begins: music, the first balloon value (300), rank from the score, no platforms, the layout stream pointer at trip_layout, the player at X $80 and the start platform at X $80, fish asleep, lives 0, the scroll and the difficulty counters zeroed, every spark and balloon off. Falls into trip_loop.","t":"code","b":[169,32],"m":"lda","o":"#$20","x":[62104]},{"a":49607,"t":"code","b":[133,242],"m":"sta","oa":242,"o":"music_request"},{"a":49609,"t":"code","b":[32,39,197],"m":"jsr","oa":50471,"o":"set_balloon_value"},{"a":49612,"t":"code","b":[32,57,197],"m":"jsr","oa":50489,"o":"find_trip_rank"},{"a":49615,"t":"code","b":[169,255],"m":"lda","o":"#$FF"},{"a":49617,"t":"code","b":[133,205],"m":"sta","oa":205,"o":"platform_count"},{"a":49619,"t":"code","b":[169,173],"m":"lda","o":"#$AD"},{"a":49621,"t":"code","b":[133,35],"m":"sta","oa":35,"o":"platform_left_ptr"},{"a":49623,"t":"code","b":[169,196],"m":"lda","o":"#$C4"},{"a":49625,"t":"code","b":[133,36],"m":"sta","oa":36,"o":"platform_left_ptr_hi"},{"a":49627,"t":"code","b":[169,128],"m":"lda","o":"#$80"},{"a":49629,"t":"code","b":[133,145],"m":"sta","oa":145,"o":"actor_x"},{"a":49631,"t":"code","b":[141,136,4],"m":"sta","oa":1160,"o":"trip_platform_x"},{"a":49634,"t":"code","b":[169,112],"m":"lda","o":"#$70"},{"a":49636,"t":"code","b":[133,154],"m":"sta","oa":154,"o":"actor_y"},{"a":49638,"t":"code","b":[32,74,205],"m":"jsr","oa":52554,"o":"balloons_clear"},{"a":49641,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":49643,"t":"code","b":[133,65],"m":"sta","oa":65,"o":"lives"},{"a":49645,"t":"code","b":[133,201],"m":"sta","oa":201,"o":"trip_progress"},{"a":49647,"t":"code","b":[133,202],"m":"sta","oa":202,"o":"trip_difficulty"},{"a":49649,"t":"code","b":[133,186],"m":"sta","oa":186,"o":"spark_speed_level"},{"a":49651,"t":"code","b":[133,197],"m":"sta","oa":197,"o":"trip_scroll_pause"},{"a":49653,"t":"code","b":[133,200],"m":"sta","oa":200,"o":"no_enemies"},{"a":49655,"t":"code","b":[32,165,244],"m":"jsr","oa":62629,"o":"phase_vars_init"},{"a":49658,"t":"code","b":[162,19],"m":"ldx","o":"#$13"},{"a":49660,"l":"b_C1FC","t":"code","b":[169,255],"m":"lda","o":"#$FF","x":[49671]},{"a":49662,"t":"code","b":[157,48,5],"m":"sta","oa":1328,"o":"spark_state,x"},{"a":49665,"t":"code","b":[169,240],"m":"lda","o":"#$F0"},{"a":49667,"t":"code","b":[157,164,4],"m":"sta","oa":1188,"o":"spark_y,x"},{"a":49670,"t":"code","b":[202],"m":"dex"},{"a":49671,"t":"code","b":[16,243],"m":"bpl","oa":49660,"o":"b_C1FC"},{"a":49673,"l":"trip_loop","c":"Balloon Trip's frame loop. Waits a frame (pause allowed), updates the actors and the fish (not while the scroll is paused), and on odd frames only: scrolls (trip_scroll_x down, nametable bit when it wraps), moves the start platform off to the right (and the player with it while invulnerable), moves every balloon and spark right by one, drops those past X $F8 (a dropped balloon ends the run of balloons popped), and every 8 scroll steps while the player lives runs the next stream generator: trip_progress counts them, every 32 the difficulty step rises (2 to 9, then back to 2 with spark_speed_level up), and trip_handler_order picks the generator. Then every frame: for each balloon popped and not yet scored add 300 to 700 points; sparks move, bounce off the top and bottom, hit the player, and are drawn as sprites; at 20 balloons in succession the super bonus of 10,000 points, the perfect jingle, the next balloon value, a one-and-a-half-second stop; the start platform is drawn with two sprites; when the player is dead (actor_balloons $FF) the trip ends: insert_trip_rank, the phase-cleared jingle, then game_over_wait.","t":"code","b":[32,112,244],"m":"jsr","oa":62576,"o":"wait_frame_pause","x":[50078]},{"a":49676,"t":"code","b":[32,145,230],"m":"jsr","oa":59025,"o":"actors_update"},{"a":49679,"t":"code","b":[165,197],"m":"lda","oa":197,"o":"trip_scroll_pause"},{"a":49681,"t":"code","b":[208,3],"m":"bne","oa":49686,"o":"b_C216"},{"a":49683,"t":"code","b":[32,249,198],"m":"jsr","oa":50937,"o":"fish_update"},{"a":49686,"l":"b_C216","t":"code","b":[165,25],"m":"lda","oa":25,"o":"frame_counter","x":[49681]},{"a":49688,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":49689,"t":"code","b":[176,3],"m":"bcs","oa":49694,"o":"b_C21E"},{"a":49691,"t":"code","b":[76,208,194],"m":"jmp","oa":49872,"o":"j_C2D0"},{"a":49694,"l":"b_C21E","t":"code","b":[165,197],"m":"lda","oa":197,"o":"trip_scroll_pause","x":[49689]},{"a":49696,"t":"code","b":[240,5],"m":"beq","oa":49703,"o":"b_C227"},{"a":49698,"t":"code","b":[198,197],"m":"dec","oa":197,"o":"trip_scroll_pause"},{"a":49700,"t":"code","b":[76,208,194],"m":"jmp","oa":49872,"o":"j_C2D0"},{"a":49703,"l":"b_C227","t":"code","b":[165,23],"m":"lda","oa":23,"o":"trip_scroll_x","x":[49696]},{"a":49705,"t":"code","b":[208,6],"m":"bne","oa":49713,"o":"b_C231"},{"a":49707,"t":"code","b":[165,24],"m":"lda","oa":24,"o":"trip_nametable"},{"a":49709,"t":"code","b":[73,1],"m":"eor","o":"#$01"},{"a":49711,"t":"code","b":[133,24],"m":"sta","oa":24,"o":"trip_nametable"},{"a":49713,"l":"b_C231","t":"code","b":[198,23],"m":"dec","oa":23,"o":"trip_scroll_x","x":[49705]},{"a":49715,"t":"code","b":[173,136,4],"m":"lda","oa":1160,"o":"trip_platform_x"},{"a":49718,"t":"code","b":[240,21],"m":"beq","oa":49741,"o":"b_C24D"},{"a":49720,"t":"code","b":[238,136,4],"m":"inc","oa":1160,"o":"trip_platform_x"},{"a":49723,"t":"code","b":[173,136,4],"m":"lda","oa":1160,"o":"trip_platform_x"},{"a":49726,"t":"code","b":[201,240],"m":"cmp","o":"#$F0"},{"a":49728,"t":"code","b":[144,5],"m":"bcc","oa":49735,"o":"b_C247"},{"a":49730,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":49732,"t":"code","b":[141,136,4],"m":"sta","oa":1160,"o":"trip_platform_x"},{"a":49735,"l":"b_C247","t":"code","b":[165,189],"m":"lda","oa":189,"o":"invulnerable","x":[49728]},{"a":49737,"t":"code","b":[240,2],"m":"beq","oa":49741,"o":"b_C24D"},{"a":49739,"t":"code","b":[230,145],"m":"inc","oa":145,"o":"actor_x"},{"a":49741,"l":"b_C24D","t":"code","b":[162,7],"m":"ldx","o":"#$07","x":[49718,49737]},{"a":49743,"l":"b_C24F","t":"code","b":[189,93,5],"m":"lda","oa":1373,"o":"balloon_state,x","x":[49774]},{"a":49746,"t":"code","b":[48,25],"m":"bmi","oa":49773,"o":"b_C26D"},{"a":49748,"t":"code","b":[254,103,5],"m":"inc","oa":1383,"o":"balloon_x,x"},{"a":49751,"t":"code","b":[189,103,5],"m":"lda","oa":1383,"o":"balloon_x,x"},{"a":49754,"t":"code","b":[201,248],"m":"cmp","o":"#$F8"},{"a":49756,"t":"code","b":[208,15],"m":"bne","oa":49773,"o":"b_C26D"},{"a":49758,"t":"code","b":[169,255],"m":"lda","o":"#$FF"},{"a":49760,"t":"code","b":[157,93,5],"m":"sta","oa":1373,"o":"balloon_state,x"},{"a":49763,"t":"code","b":[169,240],"m":"lda","o":"#$F0"},{"a":49765,"t":"code","b":[157,123,5],"m":"sta","oa":1403,"o":"balloon_y,x"},{"a":49768,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":49770,"t":"code","b":[141,206,5],"m":"sta","oa":1486,"o":"balloons_popped_p2"},{"a":49773,"l":"b_C26D","t":"code","b":[202],"m":"dex","x":[49746,49756]},{"a":49774,"t":"code","b":[16,223],"m":"bpl","oa":49743,"o":"b_C24F"},{"a":49776,"t":"code","b":[162,19],"m":"ldx","o":"#$13"},{"a":49778,"l":"b_C272","t":"code","b":[189,48,5],"m":"lda","oa":1328,"o":"spark_state,x","x":[49802]},{"a":49781,"t":"code","b":[48,18],"m":"bmi","oa":49801,"o":"b_C289"},{"a":49783,"t":"code","b":[254,144,4],"m":"inc","oa":1168,"o":"spark_x,x"},{"a":49786,"t":"code","b":[189,144,4],"m":"lda","oa":1168,"o":"spark_x,x"},{"a":49789,"t":"code","b":[201,248],"m":"cmp","o":"#$F8"},{"a":49791,"t":"code","b":[144,8],"m":"bcc","oa":49801,"o":"b_C289"},{"a":49793,"t":"code","b":[169,240],"m":"lda","o":"#$F0"},{"a":49795,"t":"code","b":[157,164,4],"m":"sta","oa":1188,"o":"spark_y,x"},{"a":49798,"t":"code","b":[157,48,5],"m":"sta","oa":1328,"o":"spark_state,x"},{"a":49801,"l":"b_C289","t":"code","b":[202],"m":"dex","x":[49781,49791]},{"a":49802,"t":"code","b":[16,230],"m":"bpl","oa":49778,"o":"b_C272"},{"a":49804,"t":"code","b":[165,23],"m":"lda","oa":23,"o":"trip_scroll_x"},{"a":49806,"t":"code","b":[41,7],"m":"and","o":"#$07"},{"a":49808,"t":"code","b":[208,62],"m":"bne","oa":49872,"o":"j_C2D0"},{"a":49810,"t":"code","b":[166,136],"m":"ldx","oa":136,"o":"actor_balloons"},{"a":49812,"t":"code","b":[202],"m":"dex"},{"a":49813,"t":"code","b":[48,57],"m":"bmi","oa":49872,"o":"j_C2D0"},{"a":49815,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":49817,"t":"code","b":[133,62],"m":"sta","oa":62,"o":"scoring_player"},{"a":49819,"t":"code","b":[169,1],"m":"lda","o":"#$01"},{"a":49821,"t":"code","b":[32,222,214],"m":"jsr","oa":55006,"o":"add_score"},{"a":49824,"t":"code","b":[230,201],"m":"inc","oa":201,"o":"trip_progress"},{"a":49826,"t":"code","b":[165,201],"m":"lda","oa":201,"o":"trip_progress"},{"a":49828,"t":"code","b":[41,31],"m":"and","o":"#$1F"},{"a":49830,"t":"code","b":[208,20],"m":"bne","oa":49852,"o":"b_C2BC"},{"a":49832,"t":"code","b":[230,202],"m":"inc","oa":202,"o":"trip_difficulty"},{"a":49834,"t":"code","b":[165,202],"m":"lda","oa":202,"o":"trip_difficulty"},{"a":49836,"t":"code","b":[201,10],"m":"cmp","o":"#$0A"},{"a":49838,"t":"code","b":[208,12],"m":"bne","oa":49852,"o":"b_C2BC"},{"a":49840,"t":"code","b":[169,2],"m":"lda","o":"#$02"},{"a":49842,"t":"code","b":[133,202],"m":"sta","oa":202,"o":"trip_difficulty"},{"a":49844,"t":"code","b":[164,186],"m":"ldy","oa":186,"o":"spark_speed_level"},{"a":49846,"t":"code","b":[200],"m":"iny"},{"a":49847,"t":"code","b":[152],"m":"tya"},{"a":49848,"t":"code","b":[41,3],"m":"and","o":"#$03"},{"a":49850,"t":"code","b":[133,186],"m":"sta","oa":186,"o":"spark_speed_level"},{"a":49852,"l":"b_C2BC","t":"code","b":[166,202],"m":"ldx","oa":202,"o":"trip_difficulty","x":[49830,49838]},{"a":49854,"t":"code","b":[189,191,195],"m":"lda","oa":50111,"o":"trip_handler_order,x"},{"a":49857,"t":"code","b":[10],"m":"asl","o":"a"},{"a":49858,"t":"code","b":[168],"m":"tay"},{"a":49859,"t":"code","b":[185,181,195],"m":"lda","oa":50101,"o":"trip_handlers,y"},{"a":49862,"t":"code","b":[133,37],"m":"sta","oa":37,"o":"platform_right_ptr"},{"a":49864,"t":"code","b":[185,182,195],"m":"lda","oa":50102,"o":"trip_handlers_hi,y"},{"a":49867,"t":"code","b":[133,38],"m":"sta","oa":38,"o":"platform_right_ptr_hi"},{"a":49869,"t":"code","b":[32,178,195],"m":"jsr","oa":50098,"o":"jmp_trip_handler"},{"a":49872,"l":"j_C2D0","t":"code","b":[162,7],"m":"ldx","o":"#$07","x":[49691,49700,49808,49813]},{"a":49874,"l":"b_C2D2","t":"code","b":[189,93,5],"m":"lda","oa":1373,"o":"balloon_state,x","x":[49907]},{"a":49877,"t":"code","b":[48,24],"m":"bmi","oa":49903,"o":"b_C2EF"},{"a":49879,"t":"code","b":[32,206,206],"m":"jsr","oa":52942,"o":"balloon_hit_players"},{"a":49882,"t":"code","b":[173,205,5],"m":"lda","oa":1485,"o":"balloons_popped"},{"a":49885,"t":"code","b":[240,16],"m":"beq","oa":49903,"o":"b_C2EF"},{"a":49887,"t":"code","b":[206,205,5],"m":"dec","oa":1485,"o":"balloons_popped"},{"a":49890,"t":"code","b":[238,206,5],"m":"inc","oa":1486,"o":"balloons_popped_p2"},{"a":49893,"t":"code","b":[138],"m":"txa"},{"a":49894,"t":"code","b":[72],"m":"pha"},{"a":49895,"t":"code","b":[173,89,5],"m":"lda","oa":1369,"o":"bonus_value"},{"a":49898,"t":"code","b":[32,222,214],"m":"jsr","oa":55006,"o":"add_score"},{"a":49901,"t":"code","b":[104],"m":"pla"},{"a":49902,"t":"code","b":[170],"m":"tax"},{"a":49903,"l":"b_C2EF","t":"code","b":[32,47,206],"m":"jsr","oa":52783,"o":"balloon_draw","x":[49877,49885]},{"a":49906,"t":"code","b":[202],"m":"dex"},{"a":49907,"t":"code","b":[16,221],"m":"bpl","oa":49874,"o":"b_C2D2"},{"a":49909,"t":"code","b":[162,19],"m":"ldx","o":"#$13"},{"a":49911,"l":"b_C2F7","t":"code","b":[189,48,5],"m":"lda","oa":1328,"o":"spark_state,x","x":[49990]},{"a":49914,"t":"code","b":[48,27],"m":"bmi","oa":49943,"o":"b_C317"},{"a":49916,"t":"code","b":[165,197],"m":"lda","oa":197,"o":"trip_scroll_pause"},{"a":49918,"t":"code","b":[208,20],"m":"bne","oa":49940,"o":"b_C314"},{"a":49920,"t":"code","b":[32,182,201],"m":"jsr","oa":51638,"o":"spark_move"},{"a":49923,"t":"code","b":[189,164,4],"m":"lda","oa":1188,"o":"spark_y,x"},{"a":49926,"t":"code","b":[201,2],"m":"cmp","o":"#$02"},{"a":49928,"t":"code","b":[176,3],"m":"bcs","oa":49933,"o":"b_C30D"},{"a":49930,"t":"code","b":[32,79,202],"m":"jsr","oa":51791,"o":"spark_flip_vy_sound"},{"a":49933,"l":"b_C30D","t":"code","b":[201,216],"m":"cmp","o":"#$D8","x":[49928]},{"a":49935,"t":"code","b":[144,3],"m":"bcc","oa":49940,"o":"b_C314"},{"a":49937,"t":"code","b":[32,79,202],"m":"jsr","oa":51791,"o":"spark_flip_vy_sound"},{"a":49940,"l":"b_C314","t":"code","b":[32,28,203],"m":"jsr","oa":51996,"o":"spark_hit_players","x":[49918,49935]},{"a":49943,"l":"b_C317","t":"code","b":[165,25],"m":"lda","oa":25,"o":"frame_counter","x":[49914]},{"a":49945,"t":"code","b":[41,7],"m":"and","o":"#$07"},{"a":49947,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":49948,"t":"code","b":[168],"m":"tay"},{"a":49949,"t":"code","b":[185,221,201],"m":"lda","oa":51677,"o":"spark_tiles,y"},{"a":49952,"t":"code","b":[72],"m":"pha"},{"a":49953,"t":"code","b":[165,25],"m":"lda","oa":25,"o":"frame_counter"},{"a":49955,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":49956,"t":"code","b":[138],"m":"txa"},{"a":49957,"t":"code","b":[144,6],"m":"bcc","oa":49965,"o":"b_C32D"},{"a":49959,"t":"code","b":[133,18],"m":"sta","oa":18,"o":"tmp12"},{"a":49961,"t":"code","b":[169,19],"m":"lda","o":"#$13"},{"a":49963,"t":"code","b":[229,18],"m":"sbc","oa":18,"o":"tmp12"},{"a":49965,"l":"b_C32D","t":"code","b":[10],"m":"asl","o":"a","x":[49957]},{"a":49966,"t":"code","b":[10],"m":"asl","o":"a"},{"a":49967,"t":"code","b":[168],"m":"tay"},{"a":49968,"t":"code","b":[104],"m":"pla"},{"a":49969,"t":"code","b":[153,177,2],"m":"sta","oa":689,"o":"sprite_sparks_tile,y"},{"a":49972,"t":"code","b":[189,164,4],"m":"lda","oa":1188,"o":"spark_y,x"},{"a":49975,"t":"code","b":[153,176,2],"m":"sta","oa":688,"o":"sprite_sparks,y"},{"a":49978,"t":"code","b":[189,144,4],"m":"lda","oa":1168,"o":"spark_x,x"},{"a":49981,"t":"code","b":[153,179,2],"m":"sta","oa":691,"o":"sprite_sparks_x,y"},{"a":49984,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":49986,"t":"code","b":[153,178,2],"m":"sta","oa":690,"o":"sprite_sparks_attr,y"},{"a":49989,"t":"code","b":[202],"m":"dex"},{"a":49990,"t":"code","b":[16,175],"m":"bpl","oa":49911,"o":"b_C2F7"},{"a":49992,"t":"code","b":[173,206,5],"m":"lda","oa":1486,"o":"balloons_popped_p2"},{"a":49995,"t":"code","b":[201,20],"m":"cmp","o":"#$14"},{"a":49997,"t":"code","b":[144,32],"m":"bcc","oa":50031,"o":"b_C36F"},{"a":49999,"t":"code","b":[230,71],"m":"inc","oa":71,"o":"score_extra_thousands"},{"a":50001,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":50003,"t":"code","b":[32,222,214],"m":"jsr","oa":55006,"o":"add_score"},{"a":50006,"t":"code","b":[198,71],"m":"dec","oa":71,"o":"score_extra_thousands"},{"a":50008,"t":"code","b":[169,16],"m":"lda","o":"#$10"},{"a":50010,"t":"code","b":[133,242],"m":"sta","oa":242,"o":"music_request"},{"a":50012,"t":"code","b":[230,200],"m":"inc","oa":200,"o":"no_enemies"},{"a":50014,"t":"code","b":[32,237,211],"m":"jsr","oa":54253,"o":"load_palette"},{"a":50017,"t":"code","b":[32,39,197],"m":"jsr","oa":50471,"o":"set_balloon_value"},{"a":50020,"t":"code","b":[198,200],"m":"dec","oa":200,"o":"no_enemies"},{"a":50022,"t":"code","b":[162,100],"m":"ldx","o":"#$64"},{"a":50024,"t":"code","b":[32,94,244],"m":"jsr","oa":62558,"o":"wait_x_frames"},{"a":50027,"t":"code","b":[169,32],"m":"lda","o":"#$20"},{"a":50029,"t":"code","b":[133,242],"m":"sta","oa":242,"o":"music_request"},{"a":50031,"l":"b_C36F","t":"code","b":[162,240],"m":"ldx","o":"#$F0","x":[49997]},{"a":50033,"t":"code","b":[173,136,4],"m":"lda","oa":1160,"o":"trip_platform_x"},{"a":50036,"t":"code","b":[240,2],"m":"beq","oa":50040,"o":"b_C378"},{"a":50038,"t":"code","b":[162,136],"m":"ldx","o":"#$88"},{"a":50040,"l":"b_C378","t":"code","b":[142,0,2],"m":"stx","oa":512,"o":"sprite_table","x":[50036]},{"a":50043,"t":"code","b":[142,4,2],"m":"stx","oa":516,"o":"sprite_y_1"},{"a":50046,"t":"code","b":[141,3,2],"m":"sta","oa":515,"o":"sprite_x_0"},{"a":50049,"t":"code","b":[24],"m":"clc"},{"a":50050,"t":"code","b":[105,8],"m":"adc","o":"#$08"},{"a":50052,"t":"code","b":[141,7,2],"m":"sta","oa":519,"o":"sprite_x_1"},{"a":50055,"t":"code","b":[165,25],"m":"lda","oa":25,"o":"frame_counter"},{"a":50057,"t":"code","b":[41,3],"m":"and","o":"#$03"},{"a":50059,"t":"code","b":[141,2,2],"m":"sta","oa":514,"o":"sprite_attr_0"},{"a":50062,"t":"code","b":[141,6,2],"m":"sta","oa":518,"o":"sprite_attr_1"},{"a":50065,"t":"code","b":[162,227],"m":"ldx","o":"#$E3"},{"a":50067,"t":"code","b":[142,1,2],"m":"stx","oa":513,"o":"sprite_tile_0"},{"a":50070,"t":"code","b":[232],"m":"inx"},{"a":50071,"t":"code","b":[142,5,2],"m":"stx","oa":517,"o":"sprite_tile_1"},{"a":50074,"t":"code","b":[165,136],"m":"lda","oa":136,"o":"actor_balloons"},{"a":50076,"t":"code","b":[48,3],"m":"bmi","oa":50081,"o":"b_C3A1"},{"a":50078,"t":"code","b":[76,9,194],"m":"jmp","oa":49673,"o":"trip_loop"},{"a":50081,"l":"b_C3A1","t":"code","b":[32,121,197],"m":"jsr","oa":50553,"o":"insert_trip_rank","x":[50076]},{"a":50084,"t":"code","b":[169,1],"m":"lda","o":"#$01"},{"a":50086,"t":"code","b":[133,240],"m":"sta","oa":240,"o":"sfx_request_a"},{"a":50088,"t":"code","b":[32,101,244],"m":"jsr","oa":62565,"o":"wait_frame"},{"a":50091,"t":"code","b":[169,2],"m":"lda","o":"#$02"},{"a":50093,"t":"code","b":[133,242],"m":"sta","oa":242,"o":"music_request"},{"a":50095,"t":"code","b":[76,106,243],"m":"jmp","oa":62314,"o":"game_over_wait"},{"a":50098,"l":"jmp_trip_handler","c":"Jumps through platform_right_ptr, which trip_loop loaded with a generator's address from trip_handlers.","t":"code","b":[108,37,0],"m":"jmp","oa":37,"o":"(platform_right_ptr)","x":[49869]},{"a":50101,"l":"trip_handlers","c":"The five Balloon Trip generators, as addresses: trip_stream_reader (the fixed opening), trip_gen_balloon_and_sparks, trip_gen_rare_bubble, trip_gen_sparks_only, and trip_gen_nothing (an RTS).","t":"addr","b":[201,195],"oa":50121,"o":"trip_stream_reader","x":[49859]},{"a":50102,"t":"note","l":"trip_handlers_hi","c":"The high byte of the first entry of trip_handlers; the table is read as pairs from here with Y.","note":"inside the item at $C3B5","x":[49864]},{"a":50103,"t":"addr","b":[247,195],"oa":50167,"o":"trip_gen_balloon_and_sparks"},{"a":50105,"t":"addr","b":[62,196],"oa":50238,"o":"trip_gen_rare_bubble"},{"a":50107,"t":"addr","b":[95,196],"oa":50271,"o":"trip_gen_sparks_only"},{"a":50109,"t":"addr","b":[94,196],"oa":50270,"o":"trip_gen_nothing"},{"a":50111,"l":"trip_handler_order","c":"Which generator runs at each difficulty step 0 to 9: 0, 0, 2, 2, 2, 2, 2, 4, 3, 1: the fixed opening for two steps (runs 1 to 63, since trip_progress rises before each run; the pointer is never set back, so it reads on through trip_layout and past its end), five steps of the generator that also makes a bubble now and then, a quiet step where nothing is made, sparks alone, then balloons with sparks.","t":"byte","b":[0,0,2,2,2,2,2,4],"x":[49854]},{"a":50119,"t":"byte","b":[3,1]},{"a":50121,"l":"trip_stream_reader","c":"One run of the fixed opening. Reads bytes from trip_layout through platform_left_ptr until a 0: a byte $80 to $BF puts a balloon at Y equal to its low five bits times 8, a byte $01 to $3F puts a spark there with speed 0; any other byte ends the run as a 0 does. Each object enters from the left edge. The next run carries on from the byte after.","t":"code","b":[160,0],"m":"ldy","o":"#$00","x":[50101,50153,50163]},{"a":50123,"t":"code","b":[177,35],"m":"lda","oa":35,"o":"(platform_left_ptr),y"},{"a":50125,"t":"code","b":[230,35],"m":"inc","oa":35,"o":"platform_left_ptr"},{"a":50127,"t":"code","b":[208,2],"m":"bne","oa":50131,"o":"b_C3D3"},{"a":50129,"t":"code","b":[230,36],"m":"inc","oa":36,"o":"platform_left_ptr_hi"},{"a":50131,"l":"b_C3D3","t":"code","b":[170],"m":"tax","x":[50127]},{"a":50132,"t":"code","b":[240,32],"m":"beq","oa":50166,"o":"r_C3F6"},{"a":50134,"t":"code","b":[10],"m":"asl","o":"a"},{"a":50135,"t":"code","b":[10],"m":"asl","o":"a"},{"a":50136,"t":"code","b":[10],"m":"asl","o":"a"},{"a":50137,"t":"code","b":[133,21],"m":"sta","oa":21,"o":"tmp15"},{"a":50139,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":50141,"t":"code","b":[133,20],"m":"sta","oa":20,"o":"tmp14"},{"a":50143,"t":"code","b":[138],"m":"txa"},{"a":50144,"t":"code","b":[41,192],"m":"and","o":"#$C0"},{"a":50146,"t":"code","b":[201,128],"m":"cmp","o":"#$80"},{"a":50148,"t":"code","b":[208,6],"m":"bne","oa":50156,"o":"b_C3EC"},{"a":50150,"t":"code","b":[32,107,196],"m":"jsr","oa":50283,"o":"trip_spawn_balloon"},{"a":50153,"t":"code","b":[76,201,195],"m":"jmp","oa":50121,"o":"trip_stream_reader"},{"a":50156,"l":"b_C3EC","t":"code","b":[201,0],"m":"cmp","o":"#$00","x":[50148]},{"a":50158,"t":"code","b":[208,6],"m":"bne","oa":50166,"o":"r_C3F6"},{"a":50160,"t":"code","b":[32,134,196],"m":"jsr","oa":50310,"o":"trip_spawn_spark"},{"a":50163,"t":"code","b":[76,201,195],"m":"jmp","oa":50121,"o":"trip_stream_reader"},{"a":50166,"l":"r_C3F6","t":"code","b":[96],"m":"rts","x":[50132,50158]},{"a":50167,"l":"trip_gen_balloon_and_sparks","c":"Random generator: a balloon at a random row 4 to 23 (if the random number allows), then trip_gen_sparks.","t":"code","b":[32,179,241],"m":"jsr","oa":61875,"o":"next_random","x":[50103,50243,50248]},{"a":50170,"t":"code","b":[41,127],"m":"and","o":"#$7F"},{"a":50172,"t":"code","b":[201,4],"m":"cmp","o":"#$04"},{"a":50174,"t":"code","b":[144,12],"m":"bcc","oa":50188,"o":"trip_gen_sparks"},{"a":50176,"t":"code","b":[201,24],"m":"cmp","o":"#$18"},{"a":50178,"t":"code","b":[176,8],"m":"bcs","oa":50188,"o":"trip_gen_sparks"},{"a":50180,"t":"code","b":[10],"m":"asl","o":"a"},{"a":50181,"t":"code","b":[10],"m":"asl","o":"a"},{"a":50182,"t":"code","b":[10],"m":"asl","o":"a"},{"a":50183,"t":"code","b":[133,21],"m":"sta","oa":21,"o":"tmp15"},{"a":50185,"t":"code","b":[32,107,196],"m":"jsr","oa":50283,"o":"trip_spawn_balloon"},{"a":50188,"l":"trip_gen_sparks","c":"Random sparks: a spark at a random row 2 to 23 with a horizontal speed of the random number's low six bits plus trip_spark_speeds by spark_speed_level, half of them moving up; repeats while the next random number is even.","t":"code","b":[32,179,241],"m":"jsr","oa":61875,"o":"next_random","x":[50174,50178,50225,50230,50271]},{"a":50191,"t":"code","b":[41,63],"m":"and","o":"#$3F"},{"a":50193,"t":"code","b":[201,2],"m":"cmp","o":"#$02"},{"a":50195,"t":"code","b":[144,36],"m":"bcc","oa":50233,"o":"r_C439"},{"a":50197,"t":"code","b":[201,24],"m":"cmp","o":"#$18"},{"a":50199,"t":"code","b":[176,32],"m":"bcs","oa":50233,"o":"r_C439"},{"a":50201,"t":"code","b":[10],"m":"asl","o":"a"},{"a":50202,"t":"code","b":[10],"m":"asl","o":"a"},{"a":50203,"t":"code","b":[10],"m":"asl","o":"a"},{"a":50204,"t":"code","b":[133,21],"m":"sta","oa":21,"o":"tmp15"},{"a":50206,"t":"code","b":[32,179,241],"m":"jsr","oa":61875,"o":"next_random"},{"a":50209,"t":"code","b":[41,63],"m":"and","o":"#$3F"},{"a":50211,"t":"code","b":[166,186],"m":"ldx","oa":186,"o":"spark_speed_level"},{"a":50213,"t":"code","b":[125,58,196],"m":"adc","oa":50234,"o":"trip_spark_speeds,x"},{"a":50216,"t":"code","b":[133,20],"m":"sta","oa":20,"o":"tmp14"},{"a":50218,"t":"code","b":[32,134,196],"m":"jsr","oa":50310,"o":"trip_spawn_spark"},{"a":50221,"t":"code","b":[32,179,241],"m":"jsr","oa":61875,"o":"next_random"},{"a":50224,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":50225,"t":"code","b":[144,217],"m":"bcc","oa":50188,"o":"trip_gen_sparks"},{"a":50227,"t":"code","b":[32,79,202],"m":"jsr","oa":51791,"o":"spark_flip_vy_sound"},{"a":50230,"t":"code","b":[76,12,196],"m":"jmp","oa":50188,"o":"trip_gen_sparks"},{"a":50233,"l":"r_C439","t":"code","b":[96],"m":"rts","x":[50195,50199]},{"a":50234,"l":"trip_spark_speeds","c":"Base horizontal speed of a Balloon Trip spark for each spark_speed_level 0 to 3: $20, $30, $40, $60 (fractional pixels a frame).","t":"byte","b":[32,48,64,96],"x":[50213]},{"a":50238,"l":"trip_gen_rare_bubble","c":"Once in 16 runs, and only when actor slot 1 is free (a one-player game), puts a bubble at the water line (Y $E6) at a random X, as a sunk bird's bubble is made (actor_balloons $80); popping it stops the scrolling for two seconds. Otherwise trip_gen_balloon_and_sparks.","t":"code","b":[32,179,241],"m":"jsr","oa":61875,"o":"next_random","x":[50105]},{"a":50241,"t":"code","b":[41,207],"m":"and","o":"#$CF"},{"a":50243,"t":"code","b":[208,178],"m":"bne","oa":50167,"o":"trip_gen_balloon_and_sparks"},{"a":50245,"t":"code","b":[164,137],"m":"ldy","oa":137,"o":"actor_balloons_p2"},{"a":50247,"t":"code","b":[200],"m":"iny"},{"a":50248,"t":"code","b":[208,173],"m":"bne","oa":50167,"o":"trip_gen_balloon_and_sparks"},{"a":50250,"t":"code","b":[169,230],"m":"lda","o":"#$E6"},{"a":50252,"t":"code","b":[133,155],"m":"sta","oa":155,"o":"actor_y_p2"},{"a":50254,"t":"code","b":[165,27],"m":"lda","oa":27,"o":"random"},{"a":50256,"t":"code","b":[41,127],"m":"and","o":"#$7F"},{"a":50258,"t":"code","b":[105,64],"m":"adc","o":"#$40"},{"a":50260,"t":"code","b":[133,146],"m":"sta","oa":146,"o":"actor_x_p2"},{"a":50262,"t":"code","b":[169,128],"m":"lda","o":"#$80"},{"a":50264,"t":"code","b":[133,137],"m":"sta","oa":137,"o":"actor_balloons_p2"},{"a":50266,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":50268,"t":"code","b":[133,128],"m":"sta","oa":128,"o":"actor_action_p2"},{"a":50270,"l":"trip_gen_nothing","c":"The fifth Balloon Trip generator: the RTS that ends trip_gen_rare_bubble, so nothing is made for the eighth difficulty step.","t":"code","b":[96],"m":"rts","x":[50109]},{"a":50271,"l":"trip_gen_sparks_only","c":"Random sparks alone: trip_gen_sparks.","t":"code","b":[32,12,196],"m":"jsr","oa":50188,"o":"trip_gen_sparks","x":[50107]},{"a":50274,"t":"code","b":[32,179,241],"m":"jsr","oa":61875,"o":"next_random"},{"a":50277,"t":"code","b":[41,127],"m":"and","o":"#$7F"},{"a":50279,"t":"code","b":[157,8,5],"m":"sta","oa":1288,"o":"spark_vx_lo,x"},{"a":50282,"t":"code","b":[96],"m":"rts"},{"a":50283,"l":"trip_spawn_balloon","c":"Puts a balloon in a free slot of the ten (state 1, X 0, Y from tmp15); none if all are in use.","t":"code","b":[162,7],"m":"ldx","o":"#$07","x":[50150,50185]},{"a":50285,"l":"b_C46D","t":"code","b":[189,93,5],"m":"lda","oa":1373,"o":"balloon_state,x","x":[50291]},{"a":50288,"t":"code","b":[48,4],"m":"bmi","oa":50294,"o":"b_C476"},{"a":50290,"t":"code","b":[202],"m":"dex"},{"a":50291,"t":"code","b":[16,248],"m":"bpl","oa":50285,"o":"b_C46D"},{"a":50293,"t":"code","b":[96],"m":"rts"},{"a":50294,"l":"b_C476","t":"code","b":[169,1],"m":"lda","o":"#$01","x":[50288]},{"a":50296,"t":"code","b":[157,93,5],"m":"sta","oa":1373,"o":"balloon_state,x"},{"a":50299,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":50301,"t":"code","b":[157,103,5],"m":"sta","oa":1383,"o":"balloon_x,x"},{"a":50304,"t":"code","b":[165,21],"m":"lda","oa":21,"o":"tmp15"},{"a":50306,"t":"code","b":[157,123,5],"m":"sta","oa":1403,"o":"balloon_y,x"},{"a":50309,"t":"code","b":[96],"m":"rts"},{"a":50310,"l":"trip_spawn_spark","c":"Puts a spark in a free slot of the twenty: X 0, Y from tmp15, horizontal speed from tmp14, no vertical speed.","t":"code","b":[162,19],"m":"ldx","o":"#$13","x":[50160,50218]},{"a":50312,"l":"b_C488","t":"code","b":[189,48,5],"m":"lda","oa":1328,"o":"spark_state,x","x":[50318]},{"a":50315,"t":"code","b":[48,4],"m":"bmi","oa":50321,"o":"b_C491"},{"a":50317,"t":"code","b":[202],"m":"dex"},{"a":50318,"t":"code","b":[16,248],"m":"bpl","oa":50312,"o":"b_C488"},{"a":50320,"t":"code","b":[96],"m":"rts"},{"a":50321,"l":"b_C491","t":"code","b":[169,0],"m":"lda","o":"#$00","x":[50315]},{"a":50323,"t":"code","b":[157,48,5],"m":"sta","oa":1328,"o":"spark_state,x"},{"a":50326,"t":"code","b":[157,144,4],"m":"sta","oa":1168,"o":"spark_x,x"},{"a":50329,"t":"code","b":[157,244,4],"m":"sta","oa":1268,"o":"spark_vy_hi,x"},{"a":50332,"t":"code","b":[157,8,5],"m":"sta","oa":1288,"o":"spark_vx_lo,x"},{"a":50335,"t":"code","b":[157,224,4],"m":"sta","oa":1248,"o":"spark_vx_hi,x"},{"a":50338,"t":"code","b":[165,20],"m":"lda","oa":20,"o":"tmp14"},{"a":50340,"t":"code","b":[157,28,5],"m":"sta","oa":1308,"o":"spark_vy_lo,x"},{"a":50343,"t":"code","b":[165,21],"m":"lda","oa":21,"o":"tmp15"},{"a":50345,"t":"code","b":[157,164,4],"m":"sta","oa":1188,"o":"spark_y,x"},{"a":50348,"t":"code","b":[96],"m":"rts"},{"a":50349,"l":"trip_layout","c":"The fixed opening of Balloon Trip, 122 bytes read by trip_stream_reader: $80 to $BF a balloon at Y (its low five bits times 8), $01 to $3F a spark there, a 0 the end of one run's objects. 58 runs, the same every game, which is why the first screens of Balloon Trip never change. trip_handler_order gives the reader 63 runs, so its last five read on into set_balloon_value's code: six sparks and a balloon. After that the generators are random.","t":"byte","b":[0,0,9,0,8,140,0,7]},{"a":50357,"t":"byte","b":[24,0,24,0,25,0,26,0]},{"a":50365,"t":"byte","b":[132,148,26,0,26,0,26,0]},{"a":50373,"t":"byte","b":[11,18,0,12,19,0,13,20]},{"a":50381,"t":"byte","b":[0,20,0,0,144,0,7,0]},{"a":50389,"t":"byte","b":[7,140,150,0,8,0,9,0]},{"a":50397,"t":"byte","b":[0,24,0,23,0,22,0,0]},{"a":50405,"t":"byte","b":[0,0,0,0,138,144,0,0]},{"a":50413,"t":"byte","b":[0,8,0,9,152,0,10,0]},{"a":50421,"t":"byte","b":[0,0,134,138,21,0,20,0]},{"a":50429,"t":"byte","b":[142,19,0,0,3,13,0,13]},{"a":50437,"t":"byte","b":[14,0,12,13,0,13,25,0]},{"a":50445,"t":"byte","b":[134,146,0,0,152,0,0,10]},{"a":50453,"t":"byte","b":[18,0,9,19,0,8,20,0]},{"a":50461,"t":"byte","b":[7,21,0,7,22,0,7,0]},{"a":50469,"t":"byte","b":[0,0]},{"a":50471,"l":"set_balloon_value","c":"Loads the next bonus round's values (set_bonus_round_values) and multiplies the balloon value by ten, giving bonus_value in tens of points: 30, 50 or 70 for 300, 500 or 700 points. Its first twelve bytes, $C527 to $C532, are read as layout too, by the last five runs of trip_stream_reader, which run past the end of trip_layout.","t":"code","b":[32,226,208],"m":"jsr","oa":53474,"o":"set_bonus_round_values","x":[49609,50017]},{"a":50474,"t":"code","b":[14,89,5],"m":"asl","oa":1369,"o":"bonus_value"},{"a":50477,"t":"code","b":[173,89,5],"m":"lda","oa":1369,"o":"bonus_value"},{"a":50480,"t":"code","b":[10],"m":"asl","o":"a"},{"a":50481,"t":"code","b":[10],"m":"asl","o":"a"},{"a":50482,"t":"code","b":[109,89,5],"m":"adc","oa":1369,"o":"bonus_value"},{"a":50485,"t":"code","b":[141,89,5],"m":"sta","oa":1369,"o":"bonus_value"},{"a":50488,"t":"code","b":[96],"m":"rts"},{"a":50489,"l":"find_trip_rank","c":"Finds the player's rank: compares score_p1 with each of the 50 entries of trip_ranking from the best down, most significant digit first, until it finds one lower. The rank (1 to 50) goes to score_add and its two digits to trip_rank_tens and trip_rank_units.","t":"code","b":[169,0],"m":"lda","o":"#$00","x":[49612,50553,55157]},{"a":50491,"t":"code","b":[133,18],"m":"sta","oa":18,"o":"tmp12"},{"a":50493,"l":"b_C53D","t":"code","b":[165,18],"m":"lda","oa":18,"o":"tmp12","x":[50527]},{"a":50495,"t":"code","b":[10],"m":"asl","o":"a"},{"a":50496,"t":"code","b":[10],"m":"asl","o":"a"},{"a":50497,"t":"code","b":[101,18],"m":"adc","oa":18,"o":"tmp12"},{"a":50499,"t":"code","b":[133,29],"m":"sta","oa":29,"o":"ptr1"},{"a":50501,"t":"code","b":[169,7],"m":"lda","o":"#$07"},{"a":50503,"t":"code","b":[133,30],"m":"sta","oa":30,"o":"ptr1_hi"},{"a":50505,"t":"code","b":[160,4],"m":"ldy","o":"#$04"},{"a":50507,"l":"b_C54B","t":"code","b":[177,29],"m":"lda","oa":29,"o":"(ptr1),y","x":[50517]},{"a":50509,"t":"code","b":[217,3,0],"m":"cmp","oa":3,"o":"score_p1,y"},{"a":50512,"t":"code","b":[144,17],"m":"bcc","oa":50531,"o":"b_C563"},{"a":50514,"t":"code","b":[208,5],"m":"bne","oa":50521,"o":"b_C559"},{"a":50516,"t":"code","b":[136],"m":"dey"},{"a":50517,"t":"code","b":[16,244],"m":"bpl","oa":50507,"o":"b_C54B"},{"a":50519,"t":"code","b":[48,10],"m":"bmi","oa":50531,"o":"b_C563"},{"a":50521,"l":"b_C559","t":"code","b":[230,18],"m":"inc","oa":18,"o":"tmp12","x":[50514]},{"a":50523,"t":"code","b":[165,18],"m":"lda","oa":18,"o":"tmp12"},{"a":50525,"t":"code","b":[201,50],"m":"cmp","o":"#$32"},{"a":50527,"t":"code","b":[208,220],"m":"bne","oa":50493,"o":"b_C53D"},{"a":50529,"t":"code","b":[198,18],"m":"dec","oa":18,"o":"tmp12"},{"a":50531,"l":"b_C563","t":"code","b":[230,18],"m":"inc","oa":18,"o":"tmp12","x":[50512,50519]},{"a":50533,"t":"code","b":[165,18],"m":"lda","oa":18,"o":"tmp12"},{"a":50535,"t":"code","b":[72],"m":"pha"},{"a":50536,"t":"code","b":[133,67],"m":"sta","oa":67,"o":"score_add"},{"a":50538,"t":"code","b":[160,10],"m":"ldy","o":"#$0A"},{"a":50540,"t":"code","b":[32,124,215],"m":"jsr","oa":55164,"o":"divide"},{"a":50543,"t":"code","b":[133,74],"m":"sta","oa":74,"o":"trip_rank_tens"},{"a":50545,"t":"code","b":[165,67],"m":"lda","oa":67,"o":"score_add"},{"a":50547,"t":"code","b":[133,73],"m":"sta","oa":73,"o":"trip_rank_units"},{"a":50549,"t":"code","b":[104],"m":"pla"},{"a":50550,"t":"code","b":[133,18],"m":"sta","oa":18,"o":"tmp12"},{"a":50552,"t":"code","b":[96],"m":"rts"},{"a":50553,"l":"insert_trip_rank","c":"Puts the score into trip_ranking at its rank: moves every entry from that rank down one place (the fiftieth drops off) and copies score_p1 there. Called at the end of a Balloon Trip, and fifty times at power-on to fill the table.","t":"code","b":[32,57,197],"m":"jsr","oa":50489,"o":"find_trip_rank","x":[49228,50081]},{"a":50556,"t":"code","b":[198,18],"m":"dec","oa":18,"o":"tmp12"},{"a":50558,"t":"code","b":[169,49],"m":"lda","o":"#$31"},{"a":50560,"t":"code","b":[56],"m":"sec"},{"a":50561,"t":"code","b":[229,18],"m":"sbc","oa":18,"o":"tmp12"},{"a":50563,"t":"code","b":[133,19],"m":"sta","oa":19,"o":"tmp13"},{"a":50565,"t":"code","b":[10],"m":"asl","o":"a"},{"a":50566,"t":"code","b":[10],"m":"asl","o":"a"},{"a":50567,"t":"code","b":[101,19],"m":"adc","oa":19,"o":"tmp13"},{"a":50569,"t":"code","b":[168],"m":"tay"},{"a":50570,"t":"code","b":[165,18],"m":"lda","oa":18,"o":"tmp12"},{"a":50572,"t":"code","b":[10],"m":"asl","o":"a"},{"a":50573,"t":"code","b":[10],"m":"asl","o":"a"},{"a":50574,"t":"code","b":[101,18],"m":"adc","oa":18,"o":"tmp12"},{"a":50576,"t":"code","b":[133,29],"m":"sta","oa":29,"o":"ptr1"},{"a":50578,"t":"code","b":[24],"m":"clc"},{"a":50579,"t":"code","b":[105,5],"m":"adc","o":"#$05"},{"a":50581,"t":"code","b":[133,31],"m":"sta","oa":31,"o":"ptr2"},{"a":50583,"t":"code","b":[169,7],"m":"lda","o":"#$07"},{"a":50585,"t":"code","b":[133,30],"m":"sta","oa":30,"o":"ptr1_hi"},{"a":50587,"t":"code","b":[133,32],"m":"sta","oa":32,"o":"ptr2_hi"},{"a":50589,"t":"code","b":[152],"m":"tya"},{"a":50590,"t":"code","b":[240,12],"m":"beq","oa":50604,"o":"b_C5AC"},{"a":50592,"t":"code","b":[136],"m":"dey"},{"a":50593,"l":"b_C5A1","t":"code","b":[177,29],"m":"lda","oa":29,"o":"(ptr1),y","x":[50598]},{"a":50595,"t":"code","b":[145,31],"m":"sta","oa":31,"o":"(ptr2),y"},{"a":50597,"t":"code","b":[136],"m":"dey"},{"a":50598,"t":"code","b":[208,249],"m":"bne","oa":50593,"o":"b_C5A1"},{"a":50600,"t":"code","b":[177,29],"m":"lda","oa":29,"o":"(ptr1),y"},{"a":50602,"t":"code","b":[145,31],"m":"sta","oa":31,"o":"(ptr2),y"},{"a":50604,"l":"b_C5AC","t":"code","b":[160,4],"m":"ldy","o":"#$04","x":[50590]},{"a":50606,"l":"b_C5AE","t":"code","b":[185,3,0],"m":"lda","oa":3,"o":"score_p1,y","x":[50612]},{"a":50609,"t":"code","b":[145,29],"m":"sta","oa":29,"o":"(ptr1),y"},{"a":50611,"t":"code","b":[136],"m":"dey"},{"a":50612,"t":"code","b":[16,248],"m":"bpl","oa":50606,"o":"b_C5AE"},{"a":50614,"t":"code","b":[96],"m":"rts"},{"a":50615,"l":"fish_frames_rising","c":"The fish's animation frame for each eighth of fish_timer while it rises (fish_sinking clear): 1, 2, 3, 3.","t":"byte","b":[1,2,3,3],"x":[50639]},{"a":50619,"l":"fish_frames_sinking","c":"The fish's frames once fish_sinking is set, by eighth of fish_timer: 2, 1, hidden, then the chewing 3, 4, 5, 6, then hidden; the same sequence whether or not it caught anything.","t":"byte","b":[2,1,255,3,4,5,6,255],"x":[50645]},{"a":50627,"l":"fish_draw","c":"Picks the fish's frame from fish_timer, through fish_frames_rising while it rises and fish_frames_sinking once fish_sinking is set, draws the fish (actor 8), and while it has a catch draws the victim in its mouth: at the fish's X plus or minus 4 by facing, 10 above fish_y, and from fish_timer $20 on the victim is gone (actor_balloons $FF).","t":"code","b":[173,141,4],"m":"lda","oa":1165,"o":"fish_timer","x":[50963]},{"a":50630,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":50631,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":50632,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":50633,"t":"code","b":[170],"m":"tax"},{"a":50634,"t":"code","b":[173,138,4],"m":"lda","oa":1162,"o":"fish_sinking"},{"a":50637,"t":"code","b":[208,6],"m":"bne","oa":50645,"o":"b_C5D5"},{"a":50639,"t":"code","b":[189,183,197],"m":"lda","oa":50615,"o":"fish_frames_rising,x"},{"a":50642,"t":"code","b":[76,216,197],"m":"jmp","oa":50648,"o":"j_C5D8"},{"a":50645,"l":"b_C5D5","t":"code","b":[189,187,197],"m":"lda","oa":50619,"o":"fish_frames_sinking,x","x":[50637]},{"a":50648,"l":"j_C5D8","t":"code","b":[133,135],"m":"sta","oa":135,"o":"fish_state","x":[50642]},{"a":50650,"t":"code","b":[162,8],"m":"ldx","o":"#$08"},{"a":50652,"t":"code","b":[32,164,227],"m":"jsr","oa":58276,"o":"draw_actor"},{"a":50655,"t":"code","b":[173,140,4],"m":"lda","oa":1164,"o":"fish_caught"},{"a":50658,"t":"code","b":[240,47],"m":"beq","oa":50707,"o":"r_C613"},{"a":50660,"t":"code","b":[174,139,4],"m":"ldx","oa":1163,"o":"fish_target"},{"a":50663,"t":"code","b":[173,141,4],"m":"lda","oa":1165,"o":"fish_timer"},{"a":50666,"t":"code","b":[201,32],"m":"cmp","o":"#$20"},{"a":50668,"t":"code","b":[208,6],"m":"bne","oa":50676,"o":"b_C5F4"},{"a":50670,"t":"code","b":[169,255],"m":"lda","o":"#$FF"},{"a":50672,"t":"code","b":[149,136],"m":"sta","oa":136,"o":"actor_balloons,x"},{"a":50674,"t":"code","b":[48,28],"m":"bmi","oa":50704,"o":"b_C610"},{"a":50676,"l":"b_C5F4","t":"code","b":[176,29],"m":"bcs","oa":50707,"o":"r_C613","x":[50668]},{"a":50678,"t":"code","b":[173,80,4],"m":"lda","oa":1104,"o":"fish_facing"},{"a":50681,"t":"code","b":[208,7],"m":"bne","oa":50690,"o":"b_C602"},{"a":50683,"t":"code","b":[165,153],"m":"lda","oa":153,"o":"fish_x"},{"a":50685,"t":"code","b":[24],"m":"clc"},{"a":50686,"t":"code","b":[105,4],"m":"adc","o":"#$04"},{"a":50688,"t":"code","b":[208,5],"m":"bne","oa":50695,"o":"b_C607"},{"a":50690,"l":"b_C602","t":"code","b":[165,153],"m":"lda","oa":153,"o":"fish_x","x":[50681]},{"a":50692,"t":"code","b":[56],"m":"sec"},{"a":50693,"t":"code","b":[233,4],"m":"sbc","o":"#$04"},{"a":50695,"l":"b_C607","t":"code","b":[149,145],"m":"sta","oa":145,"o":"actor_x,x","x":[50688]},{"a":50697,"t":"code","b":[165,162],"m":"lda","oa":162,"o":"fish_y"},{"a":50699,"t":"code","b":[56],"m":"sec"},{"a":50700,"t":"code","b":[233,10],"m":"sbc","o":"#$0A"},{"a":50702,"t":"code","b":[149,154],"m":"sta","oa":154,"o":"actor_y,x"},{"a":50704,"l":"b_C610","t":"code","b":[32,164,227],"m":"jsr","oa":58276,"o":"draw_actor","x":[50674]},{"a":50707,"l":"r_C613","t":"code","b":[96],"m":"rts","x":[50658,50676]},{"a":50708,"l":"fish_find_target","c":"Looks for an actor to bite: alive, Y at or below $B4 (just above the water) and at exactly the fish's X. Finds one: fish_target set, the fish takes the victim's facing, its counters are cleared and it starts from Y $DC.","t":"code","b":[169,255],"m":"lda","o":"#$FF","x":[50944]},{"a":50710,"t":"code","b":[141,139,4],"m":"sta","oa":1163,"o":"fish_target"},{"a":50713,"t":"code","b":[162,7],"m":"ldx","o":"#$07"},{"a":50715,"l":"b_C61B","t":"code","b":[181,136],"m":"lda","oa":136,"o":"actor_balloons,x","x":[50732]},{"a":50717,"t":"code","b":[48,12],"m":"bmi","oa":50731,"o":"b_C62B"},{"a":50719,"t":"code","b":[181,154],"m":"lda","oa":154,"o":"actor_y,x"},{"a":50721,"t":"code","b":[201,180],"m":"cmp","o":"#$B4"},{"a":50723,"t":"code","b":[144,6],"m":"bcc","oa":50731,"o":"b_C62B"},{"a":50725,"t":"code","b":[181,145],"m":"lda","oa":145,"o":"actor_x,x"},{"a":50727,"t":"code","b":[197,153],"m":"cmp","oa":153,"o":"fish_x"},{"a":50729,"t":"code","b":[240,4],"m":"beq","oa":50735,"o":"b_C62F"},{"a":50731,"l":"b_C62B","t":"code","b":[202],"m":"dex","x":[50717,50723]},{"a":50732,"t":"code","b":[16,237],"m":"bpl","oa":50715,"o":"b_C61B"},{"a":50734,"t":"code","b":[96],"m":"rts"},{"a":50735,"l":"b_C62F","t":"code","b":[142,139,4],"m":"stx","oa":1163,"o":"fish_target","x":[50729]},{"a":50738,"t":"code","b":[189,72,4],"m":"lda","oa":1096,"o":"actor_facing,x"},{"a":50741,"t":"code","b":[141,80,4],"m":"sta","oa":1104,"o":"fish_facing"},{"a":50744,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":50746,"t":"code","b":[141,138,4],"m":"sta","oa":1162,"o":"fish_sinking"},{"a":50749,"t":"code","b":[141,141,4],"m":"sta","oa":1165,"o":"fish_timer"},{"a":50752,"t":"code","b":[141,140,4],"m":"sta","oa":1164,"o":"fish_caught"},{"a":50755,"t":"code","b":[141,137,4],"m":"sta","oa":1161,"o":"fish_rising"},{"a":50758,"t":"code","b":[169,220],"m":"lda","o":"#$DC"},{"a":50760,"t":"code","b":[133,162],"m":"sta","oa":162,"o":"fish_y"},{"a":50762,"t":"code","b":[96],"m":"rts"},{"a":50763,"l":"fish_swim","c":"The fish moves right one pixel a frame under the water and wraps from X $B1 back to $40.","t":"code","b":[230,153],"m":"inc","oa":153,"o":"fish_x","x":[50941]},{"a":50765,"t":"code","b":[165,153],"m":"lda","oa":153,"o":"fish_x"},{"a":50767,"t":"code","b":[201,177],"m":"cmp","o":"#$B1"},{"a":50769,"t":"code","b":[144,4],"m":"bcc","oa":50775,"o":"r_C657"},{"a":50771,"t":"code","b":[169,64],"m":"lda","o":"#$40"},{"a":50773,"t":"code","b":[133,153],"m":"sta","oa":153,"o":"fish_x"},{"a":50775,"l":"r_C657","t":"code","b":[96],"m":"rts","x":[50769]},{"a":50776,"l":"fish_rise","c":"The fish rises a pixel a frame to Y $C4 at most; past the top it has missed and sinks. At fish_timer $18 it bites: if the target is still alive and its bottom edge (Y plus 16) is at or below the fish, the victim is caught: its type goes to a falling one from fish_victim_types, its action and balloons to 0, fish_caught is set and the fish fanfare plays. With a catch, at timer $28 and $30 it jumps to Y $CC (the chew).","t":"code","b":[173,137,4],"m":"lda","oa":1161,"o":"fish_rising","x":[50960]},{"a":50779,"t":"code","b":[208,18],"m":"bne","oa":50799,"o":"b_C66F"},{"a":50781,"t":"code","b":[198,162],"m":"dec","oa":162,"o":"fish_y"},{"a":50783,"t":"code","b":[165,162],"m":"lda","oa":162,"o":"fish_y"},{"a":50785,"t":"code","b":[201,196],"m":"cmp","o":"#$C4"},{"a":50787,"t":"code","b":[176,12],"m":"bcs","oa":50801,"o":"b_C671"},{"a":50789,"t":"code","b":[230,162],"m":"inc","oa":162,"o":"fish_y"},{"a":50791,"t":"code","b":[238,138,4],"m":"inc","oa":1162,"o":"fish_sinking"},{"a":50794,"t":"code","b":[238,137,4],"m":"inc","oa":1161,"o":"fish_rising"},{"a":50797,"t":"code","b":[208,2],"m":"bne","oa":50801,"o":"b_C671"},{"a":50799,"l":"b_C66F","t":"code","b":[230,162],"m":"inc","oa":162,"o":"fish_y","x":[50779]},{"a":50801,"l":"b_C671","t":"code","b":[238,141,4],"m":"inc","oa":1165,"o":"fish_timer","x":[50787,50797]},{"a":50804,"t":"code","b":[173,141,4],"m":"lda","oa":1165,"o":"fish_timer"},{"a":50807,"t":"code","b":[201,24],"m":"cmp","o":"#$18"},{"a":50809,"t":"code","b":[208,40],"m":"bne","oa":50851,"o":"b_C6A3"},{"a":50811,"t":"code","b":[174,139,4],"m":"ldx","oa":1163,"o":"fish_target"},{"a":50814,"t":"code","b":[181,136],"m":"lda","oa":136,"o":"actor_balloons,x"},{"a":50816,"t":"code","b":[48,33],"m":"bmi","oa":50851,"o":"b_C6A3"},{"a":50818,"t":"code","b":[181,154],"m":"lda","oa":154,"o":"actor_y,x"},{"a":50820,"t":"code","b":[24],"m":"clc"},{"a":50821,"t":"code","b":[105,16],"m":"adc","o":"#$10"},{"a":50823,"t":"code","b":[197,162],"m":"cmp","oa":162,"o":"fish_y"},{"a":50825,"t":"code","b":[144,24],"m":"bcc","oa":50851,"o":"b_C6A3"},{"a":50827,"t":"code","b":[188,81,4],"m":"ldy","oa":1105,"o":"actor_type,x"},{"a":50830,"t":"code","b":[185,184,198],"m":"lda","oa":50872,"o":"fish_victim_types,y"},{"a":50833,"t":"code","b":[157,81,4],"m":"sta","oa":1105,"o":"actor_type,x"},{"a":50836,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":50838,"t":"code","b":[149,127],"m":"sta","oa":127,"o":"actor_action,x"},{"a":50840,"t":"code","b":[149,136],"m":"sta","oa":136,"o":"actor_balloons,x"},{"a":50842,"t":"code","b":[165,242],"m":"lda","oa":242,"o":"music_request"},{"a":50844,"t":"code","b":[9,64],"m":"ora","o":"#$40"},{"a":50846,"t":"code","b":[133,242],"m":"sta","oa":242,"o":"music_request"},{"a":50848,"t":"code","b":[238,140,4],"m":"inc","oa":1164,"o":"fish_caught"},{"a":50851,"l":"b_C6A3","t":"code","b":[173,138,4],"m":"lda","oa":1162,"o":"fish_sinking","x":[50809,50816,50825]},{"a":50854,"t":"code","b":[240,15],"m":"beq","oa":50871,"o":"r_C6B7"},{"a":50856,"t":"code","b":[173,141,4],"m":"lda","oa":1165,"o":"fish_timer"},{"a":50859,"t":"code","b":[201,40],"m":"cmp","o":"#$28"},{"a":50861,"t":"code","b":[240,4],"m":"beq","oa":50867,"o":"b_C6B3"},{"a":50863,"t":"code","b":[201,48],"m":"cmp","o":"#$30"},{"a":50865,"t":"code","b":[208,4],"m":"bne","oa":50871,"o":"r_C6B7"},{"a":50867,"l":"b_C6B3","t":"code","b":[169,204],"m":"lda","o":"#$CC","x":[50861]},{"a":50869,"t":"code","b":[133,162],"m":"sta","oa":162,"o":"fish_y"},{"a":50871,"l":"r_C6B7","t":"code","b":[96],"m":"rts","x":[50854,50865]},{"a":50872,"l":"fish_victim_types","c":"The type an actor becomes when the fish catches it, by its type: 8 to 11, the colour kept, falling with no parachute.","t":"byte","b":[8,9,10,11,8,9,10,11],"x":[50830]},{"a":50880,"t":"byte","b":[8,9,10,11]},{"a":50884,"l":"fish_check_target","c":"While rising: if the target is gone, has flown above Y $B4 or is outside X $40 to $B0, the fish gives up (fish_timer reversed so it sinks as it rose, fish_rising set); otherwise it follows the target's X and takes its facing.","t":"code","b":[173,137,4],"m":"lda","oa":1161,"o":"fish_rising","x":[50957]},{"a":50887,"t":"code","b":[208,47],"m":"bne","oa":50936,"o":"r_C6F8"},{"a":50889,"t":"code","b":[174,139,4],"m":"ldx","oa":1163,"o":"fish_target"},{"a":50892,"t":"code","b":[181,136],"m":"lda","oa":136,"o":"actor_balloons,x"},{"a":50894,"t":"code","b":[48,16],"m":"bmi","oa":50912,"o":"b_C6E0"},{"a":50896,"t":"code","b":[181,154],"m":"lda","oa":154,"o":"actor_y,x"},{"a":50898,"t":"code","b":[201,180],"m":"cmp","o":"#$B4"},{"a":50900,"t":"code","b":[144,10],"m":"bcc","oa":50912,"o":"b_C6E0"},{"a":50902,"t":"code","b":[181,145],"m":"lda","oa":145,"o":"actor_x,x"},{"a":50904,"t":"code","b":[201,64],"m":"cmp","o":"#$40"},{"a":50906,"t":"code","b":[144,4],"m":"bcc","oa":50912,"o":"b_C6E0"},{"a":50908,"t":"code","b":[201,177],"m":"cmp","o":"#$B1"},{"a":50910,"t":"code","b":[144,14],"m":"bcc","oa":50926,"o":"b_C6EE"},{"a":50912,"l":"b_C6E0","t":"code","b":[169,48],"m":"lda","o":"#$30","x":[50894,50900,50906]},{"a":50914,"t":"code","b":[56],"m":"sec"},{"a":50915,"t":"code","b":[237,141,4],"m":"sbc","oa":1165,"o":"fish_timer"},{"a":50918,"t":"code","b":[141,141,4],"m":"sta","oa":1165,"o":"fish_timer"},{"a":50921,"t":"code","b":[238,137,4],"m":"inc","oa":1161,"o":"fish_rising"},{"a":50924,"t":"code","b":[208,10],"m":"bne","oa":50936,"o":"r_C6F8"},{"a":50926,"l":"b_C6EE","t":"code","b":[181,145],"m":"lda","oa":145,"o":"actor_x,x","x":[50910]},{"a":50928,"t":"code","b":[133,153],"m":"sta","oa":153,"o":"fish_x"},{"a":50930,"t":"code","b":[189,72,4],"m":"lda","oa":1096,"o":"actor_facing,x"},{"a":50933,"t":"code","b":[141,80,4],"m":"sta","oa":1104,"o":"fish_facing"},{"a":50936,"l":"r_C6F8","t":"code","b":[96],"m":"rts","x":[50887,50924]},{"a":50937,"l":"fish_update","c":"The fish once a frame. Asleep: swim, look for a target, and when one is found play the rising sound. Awake: check the target, rise or sink, and draw.","t":"code","b":[165,135],"m":"lda","oa":135,"o":"fish_state","x":[49683,62155]},{"a":50939,"t":"code","b":[16,16],"m":"bpl","oa":50957,"o":"b_C70D"},{"a":50941,"t":"code","b":[32,75,198],"m":"jsr","oa":50763,"o":"fish_swim"},{"a":50944,"t":"code","b":[32,20,198],"m":"jsr","oa":50708,"o":"fish_find_target"},{"a":50947,"t":"code","b":[173,139,4],"m":"lda","oa":1163,"o":"fish_target"},{"a":50950,"t":"code","b":[16,1],"m":"bpl","oa":50953,"o":"b_C709"},{"a":50952,"t":"code","b":[96],"m":"rts"},{"a":50953,"l":"b_C709","t":"code","b":[169,64],"m":"lda","o":"#$40","x":[50950]},{"a":50955,"t":"code","b":[133,243],"m":"sta","oa":243,"o":"sfx_request_c"},{"a":50957,"l":"b_C70D","t":"code","b":[32,196,198],"m":"jsr","oa":50884,"o":"fish_check_target","x":[50939]},{"a":50960,"t":"code","b":[32,88,198],"m":"jsr","oa":50776,"o":"fish_rise"},{"a":50963,"t":"code","b":[76,195,197],"m":"jmp","oa":50627,"o":"fish_draw"},{"a":50966,"l":"lightning_init","c":"Starts a phase's lightning: both spark slots empty, pick_lightning_cloud, then lightning_set_phase.","t":"code","b":[162,1],"m":"ldx","o":"#$01","x":[62114]},{"a":50968,"l":"b_C718","t":"code","b":[169,255],"m":"lda","o":"#$FF","x":[50977]},{"a":50970,"t":"code","b":[157,48,5],"m":"sta","oa":1328,"o":"spark_state,x"},{"a":50973,"t":"code","b":[157,68,5],"m":"sta","oa":1348,"o":"spark_bolt_phase,x"},{"a":50976,"t":"code","b":[202],"m":"dex"},{"a":50977,"t":"code","b":[16,245],"m":"bpl","oa":50968,"o":"b_C718"},{"a":50979,"t":"code","b":[32,122,199],"m":"jsr","oa":51066,"o":"pick_lightning_cloud"},{"a":50982,"l":"lightning_set_phase","c":"Sets the storm for the phase from phase_counter (capped at 24): spark_speed_level from spark_speed_by_phase and lightning_timer from lightning_delays; hides the bolt sprites; ends by painting the clouds their resting colour (a jump to cloud_flash with 3).","t":"code","b":[166,60],"m":"ldx","oa":60,"o":"phase_counter","x":[62198]},{"a":50984,"t":"code","b":[224,24],"m":"cpx","o":"#$18"},{"a":50986,"t":"code","b":[144,2],"m":"bcc","oa":50990,"o":"b_C72E"},{"a":50988,"t":"code","b":[162,24],"m":"ldx","o":"#$18"},{"a":50990,"l":"b_C72E","t":"code","b":[189,72,199],"m":"lda","oa":51016,"o":"spark_speed_by_phase,x","x":[50986]},{"a":50993,"t":"code","b":[133,186],"m":"sta","oa":186,"o":"spark_speed_level"},{"a":50995,"t":"code","b":[189,97,199],"m":"lda","oa":51041,"o":"lightning_delays,x"},{"a":50998,"t":"code","b":[133,184],"m":"sta","oa":184,"o":"lightning_timer"},{"a":51000,"t":"code","b":[169,240],"m":"lda","o":"#$F0"},{"a":51002,"t":"code","b":[141,224,2],"m":"sta","oa":736,"o":"sprite_bolt"},{"a":51005,"t":"code","b":[141,228,2],"m":"sta","oa":740,"o":"sprite_bolt_y2"},{"a":51008,"t":"code","b":[141,232,2],"m":"sta","oa":744,"o":"sprite_bolt_y3"},{"a":51011,"t":"code","b":[169,3],"m":"lda","o":"#$03"},{"a":51013,"t":"code","b":[76,86,200],"m":"jmp","oa":51286,"o":"j_C856"},{"a":51016,"l":"spark_speed_by_phase","c":"The first spark's speed level for each phase 1 to 25: 0 for the first ten phases, then 1, with 2 at phase 17.","t":"byte","b":[0,0,0,0,0,0,0,0],"x":[50990]},{"a":51024,"t":"byte","b":[0,0,1,1,1,1,1,1]},{"a":51032,"t":"byte","b":[2,1,1,1,1,1,1,1]},{"a":51040,"t":"byte","b":[1]},{"a":51041,"l":"lightning_delays","c":"How long before the first lightning in each phase 1 to 25, in units of 128 frames: 15, 15, 12, 12, 12, 12, 10, 10, 10, 10, 12, 12, 10, 10, 10, 8, 10, 10, 8, 8, 8, 8, 8, 8, 5. About 32 seconds in phase 1, 11 in phase 25.","t":"byte","b":[15,15,12,12,12,12,10,10],"x":[50995]},{"a":51049,"t":"byte","b":[10,10,12,12,10,10,10,8]},{"a":51057,"t":"byte","b":[10,10,8,8,8,8,8,8]},{"a":51065,"t":"byte","b":[5]},{"a":51066,"l":"pick_lightning_cloud","c":"lightning_cloud becomes a random cloud: the random number reduced below cloud_count plus one by repeated subtraction. With no clouds it stays $FF and nothing is thrown.","t":"code","b":[165,163],"m":"lda","oa":163,"o":"cloud_count","x":[50979,51246]},{"a":51068,"t":"code","b":[16,3],"m":"bpl","oa":51073,"o":"b_C781"},{"a":51070,"l":"b_C77E","t":"code","b":[133,164],"m":"sta","oa":164,"o":"lightning_cloud","x":[51078,51080]},{"a":51072,"t":"code","b":[96],"m":"rts"},{"a":51073,"l":"b_C781","t":"code","b":[32,179,241],"m":"jsr","oa":61875,"o":"next_random","x":[51068]},{"a":51076,"l":"j_C784","t":"code","b":[197,163],"m":"cmp","oa":163,"o":"cloud_count","x":[51085]},{"a":51078,"t":"code","b":[144,246],"m":"bcc","oa":51070,"o":"b_C77E"},{"a":51080,"t":"code","b":[240,244],"m":"beq","oa":51070,"o":"b_C77E"},{"a":51082,"t":"code","b":[24],"m":"clc"},{"a":51083,"t":"code","b":[229,163],"m":"sbc","oa":163,"o":"cloud_count"},{"a":51085,"t":"code","b":[76,132,199],"m":"jmp","oa":51076,"o":"j_C784"},{"a":51088,"l":"lightning_countdown","c":"Every 128 frames lightning_timer counts down; at 0, if a spark slot is free, a spark is thrown from the chosen cloud: its state 0, its position the cloud's, horizontal speed from spark_base_speeds by level plus a random 0 to 31, vertical from spark_vy_by_level, and a random one of four directions (spark_bolt_phase) that offsets it and flips the signs. spark_speed_level rises by one (up to 5), the timer is reloaded with 6 minus the level, the lightning sound is asked for and a new cloud picked. With both slots busy it tries again next time.","t":"code","b":[165,25],"m":"lda","oa":25,"o":"frame_counter","x":[62158]},{"a":51090,"t":"code","b":[41,127],"m":"and","o":"#$7F"},{"a":51092,"t":"code","b":[240,1],"m":"beq","oa":51095,"o":"b_C797"},{"a":51094,"l":"r_C796","t":"code","b":[96],"m":"rts","x":[51097]},{"a":51095,"l":"b_C797","t":"code","b":[198,184],"m":"dec","oa":184,"o":"lightning_timer","x":[51092]},{"a":51097,"t":"code","b":[208,251],"m":"bne","oa":51094,"o":"r_C796"},{"a":51099,"t":"code","b":[162,0],"m":"ldx","o":"#$00"},{"a":51101,"t":"code","b":[189,48,5],"m":"lda","oa":1328,"o":"spark_state,x"},{"a":51104,"t":"code","b":[48,11],"m":"bmi","oa":51117,"o":"b_C7AD"},{"a":51106,"t":"code","b":[232],"m":"inx"},{"a":51107,"t":"code","b":[189,48,5],"m":"lda","oa":1328,"o":"spark_state,x"},{"a":51110,"t":"code","b":[48,5],"m":"bmi","oa":51117,"o":"b_C7AD"},{"a":51112,"t":"code","b":[169,1],"m":"lda","o":"#$01"},{"a":51114,"t":"code","b":[133,184],"m":"sta","oa":184,"o":"lightning_timer"},{"a":51116,"t":"code","b":[96],"m":"rts"},{"a":51117,"l":"b_C7AD","t":"code","b":[164,164],"m":"ldy","oa":164,"o":"lightning_cloud","x":[51104,51110]},{"a":51119,"t":"code","b":[132,165],"m":"sty","oa":165,"o":"lightning_cloud_copy"},{"a":51121,"t":"code","b":[16,1],"m":"bpl","oa":51124,"o":"b_C7B4"},{"a":51123,"t":"code","b":[96],"m":"rts"},{"a":51124,"l":"b_C7B4","t":"code","b":[169,128],"m":"lda","o":"#$80","x":[51121]},{"a":51126,"t":"code","b":[157,184,4],"m":"sta","oa":1208,"o":"spark_x_frac,x"},{"a":51129,"t":"code","b":[157,204,4],"m":"sta","oa":1228,"o":"spark_y_frac,x"},{"a":51132,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":51134,"t":"code","b":[157,48,5],"m":"sta","oa":1328,"o":"spark_state,x"},{"a":51137,"t":"code","b":[185,178,0],"m":"lda","oa":178,"o":"cloud_x,y"},{"a":51140,"t":"code","b":[157,144,4],"m":"sta","oa":1168,"o":"spark_x,x"},{"a":51143,"t":"code","b":[185,181,0],"m":"lda","oa":181,"o":"cloud_y,y"},{"a":51146,"t":"code","b":[157,164,4],"m":"sta","oa":1188,"o":"spark_y,x"},{"a":51149,"t":"code","b":[164,186],"m":"ldy","oa":186,"o":"spark_speed_level"},{"a":51151,"t":"code","b":[32,179,241],"m":"jsr","oa":61875,"o":"next_random"},{"a":51154,"t":"code","b":[41,31],"m":"and","o":"#$1F"},{"a":51156,"t":"code","b":[121,159,200],"m":"adc","oa":51359,"o":"spark_base_speeds,y"},{"a":51159,"t":"code","b":[157,8,5],"m":"sta","oa":1288,"o":"spark_vx_lo,x"},{"a":51162,"t":"code","b":[185,171,200],"m":"lda","oa":51371,"o":"spark_vy_by_level,y"},{"a":51165,"t":"code","b":[157,28,5],"m":"sta","oa":1308,"o":"spark_vy_lo,x"},{"a":51168,"t":"code","b":[185,165,200],"m":"lda","oa":51365,"o":"spark_vx_hi_by_level,y"},{"a":51171,"t":"code","b":[157,224,4],"m":"sta","oa":1248,"o":"spark_vx_hi,x"},{"a":51174,"t":"code","b":[185,177,200],"m":"lda","oa":51377,"o":"spark_vy_hi_by_level,y"},{"a":51177,"t":"code","b":[157,244,4],"m":"sta","oa":1268,"o":"spark_vy_hi,x"},{"a":51180,"t":"code","b":[32,179,241],"m":"jsr","oa":61875,"o":"next_random"},{"a":51183,"t":"code","b":[41,3],"m":"and","o":"#$03"},{"a":51185,"t":"code","b":[157,68,5],"m":"sta","oa":1348,"o":"spark_bolt_phase,x"},{"a":51188,"t":"code","b":[168],"m":"tay"},{"a":51189,"t":"code","b":[185,151,200],"m":"lda","oa":51351,"o":"spark_dir_dx,y"},{"a":51192,"t":"code","b":[24],"m":"clc"},{"a":51193,"t":"code","b":[125,144,4],"m":"adc","oa":1168,"o":"spark_x,x"},{"a":51196,"t":"code","b":[157,144,4],"m":"sta","oa":1168,"o":"spark_x,x"},{"a":51199,"t":"code","b":[185,155,200],"m":"lda","oa":51355,"o":"spark_dir_dy,y"},{"a":51202,"t":"code","b":[24],"m":"clc"},{"a":51203,"t":"code","b":[125,164,4],"m":"adc","oa":1188,"o":"spark_y,x"},{"a":51206,"t":"code","b":[157,164,4],"m":"sta","oa":1188,"o":"spark_y,x"},{"a":51209,"t":"code","b":[185,143,200],"m":"lda","oa":51343,"o":"spark_dir_flip_x,y"},{"a":51212,"t":"code","b":[240,3],"m":"beq","oa":51217,"o":"b_C811"},{"a":51214,"t":"code","b":[32,61,202],"m":"jsr","oa":51773,"o":"spark_flip_vx"},{"a":51217,"l":"b_C811","t":"code","b":[185,147,200],"m":"lda","oa":51347,"o":"spark_dir_flip_y,y","x":[51212]},{"a":51220,"t":"code","b":[240,3],"m":"beq","oa":51225,"o":"b_C819"},{"a":51222,"t":"code","b":[32,85,202],"m":"jsr","oa":51797,"o":"spark_flip_vy"},{"a":51225,"l":"b_C819","t":"code","b":[165,186],"m":"lda","oa":186,"o":"spark_speed_level","x":[51220]},{"a":51227,"t":"code","b":[201,5],"m":"cmp","o":"#$05"},{"a":51229,"t":"code","b":[176,2],"m":"bcs","oa":51233,"o":"b_C821"},{"a":51231,"t":"code","b":[230,186],"m":"inc","oa":186,"o":"spark_speed_level"},{"a":51233,"l":"b_C821","t":"code","b":[169,6],"m":"lda","o":"#$06","x":[51229]},{"a":51235,"t":"code","b":[56],"m":"sec"},{"a":51236,"t":"code","b":[229,186],"m":"sbc","oa":186,"o":"spark_speed_level"},{"a":51238,"t":"code","b":[133,184],"m":"sta","oa":184,"o":"lightning_timer"},{"a":51240,"t":"code","b":[165,240],"m":"lda","oa":240,"o":"sfx_request_a"},{"a":51242,"t":"code","b":[9,4],"m":"ora","o":"#$04"},{"a":51244,"t":"code","b":[133,240],"m":"sta","oa":240,"o":"sfx_request_a"},{"a":51246,"t":"code","b":[76,122,199],"m":"jmp","oa":51066,"o":"pick_lightning_cloud"},{"a":51249,"l":"cloud_flash","c":"With lightning_timer at 1 the chosen cloud flashes: if both sparks are already flying it waits (timer back to 2); otherwise in the second half of each 128 frames, once at frame $40, bit 3 of sfx_request_b is set, which the sound driver never reads (the flash is silent), and the cloud's four attribute quarters are rewritten from cloud_flash_attrs by the frame, through four queued one-byte blocks.","t":"code","b":[165,184],"m":"lda","oa":184,"o":"lightning_timer","x":[62161]},{"a":51251,"t":"code","b":[201,1],"m":"cmp","o":"#$01"},{"a":51253,"t":"code","b":[208,83],"m":"bne","oa":51338,"o":"r_C88A"},{"a":51255,"t":"code","b":[173,48,5],"m":"lda","oa":1328,"o":"spark_state"},{"a":51258,"t":"code","b":[48,10],"m":"bmi","oa":51270,"o":"b_C846"},{"a":51260,"t":"code","b":[173,49,5],"m":"lda","oa":1329,"o":"spark_state_1"},{"a":51263,"t":"code","b":[48,5],"m":"bmi","oa":51270,"o":"b_C846"},{"a":51265,"t":"code","b":[169,2],"m":"lda","o":"#$02"},{"a":51267,"t":"code","b":[133,184],"m":"sta","oa":184,"o":"lightning_timer"},{"a":51269,"t":"code","b":[96],"m":"rts"},{"a":51270,"l":"b_C846","t":"code","b":[165,25],"m":"lda","oa":25,"o":"frame_counter","x":[51258,51263]},{"a":51272,"t":"code","b":[41,127],"m":"and","o":"#$7F"},{"a":51274,"t":"code","b":[201,64],"m":"cmp","o":"#$40"},{"a":51276,"t":"code","b":[144,60],"m":"bcc","oa":51338,"o":"r_C88A"},{"a":51278,"t":"code","b":[208,6],"m":"bne","oa":51286,"o":"j_C856"},{"a":51280,"t":"code","b":[165,241],"m":"lda","oa":241,"o":"sfx_request_b"},{"a":51282,"t":"code","b":[9,8],"m":"ora","o":"#$08"},{"a":51284,"t":"code","b":[133,241],"m":"sta","oa":241,"o":"sfx_request_b"},{"a":51286,"l":"j_C856","t":"code","b":[41,3],"m":"and","o":"#$03","x":[51013,51278,54021]},{"a":51288,"t":"code","b":[170],"m":"tax"},{"a":51289,"t":"code","b":[189,139,200],"m":"lda","oa":51339,"o":"cloud_flash_attrs,x"},{"a":51292,"t":"code","b":[133,90],"m":"sta","oa":90,"o":"text_buf_3"},{"a":51294,"t":"code","b":[166,164],"m":"ldx","oa":164,"o":"lightning_cloud"},{"a":51296,"t":"code","b":[48,40],"m":"bmi","oa":51338,"o":"r_C88A"},{"a":51298,"t":"code","b":[169,35],"m":"lda","o":"#$23"},{"a":51300,"t":"code","b":[133,87],"m":"sta","oa":87,"o":"text_buf"},{"a":51302,"t":"code","b":[181,166],"m":"lda","oa":166,"o":"cloud_attr_tl,x"},{"a":51304,"t":"code","b":[133,88],"m":"sta","oa":88,"o":"text_buf_1"},{"a":51306,"t":"code","b":[169,1],"m":"lda","o":"#$01"},{"a":51308,"t":"code","b":[133,89],"m":"sta","oa":89,"o":"text_buf_2"},{"a":51310,"t":"code","b":[32,131,200],"m":"jsr","oa":51331,"o":"queue_text_buf"},{"a":51313,"t":"code","b":[181,169],"m":"lda","oa":169,"o":"cloud_attr_tr,x"},{"a":51315,"t":"code","b":[133,88],"m":"sta","oa":88,"o":"text_buf_1"},{"a":51317,"t":"code","b":[32,131,200],"m":"jsr","oa":51331,"o":"queue_text_buf"},{"a":51320,"t":"code","b":[181,172],"m":"lda","oa":172,"o":"cloud_attr_bl,x"},{"a":51322,"t":"code","b":[133,88],"m":"sta","oa":88,"o":"text_buf_1"},{"a":51324,"t":"code","b":[32,131,200],"m":"jsr","oa":51331,"o":"queue_text_buf"},{"a":51327,"t":"code","b":[181,175],"m":"lda","oa":175,"o":"cloud_attr_br,x"},{"a":51329,"t":"code","b":[133,88],"m":"sta","oa":88,"o":"text_buf_1"},{"a":51331,"l":"queue_text_buf","c":"Queues the block in text_buf (queue_block with its address).","t":"code","b":[169,87],"m":"lda","o":"#$57","x":[51310,51317,51324]},{"a":51333,"t":"code","b":[160,0],"m":"ldy","o":"#$00"},{"a":51335,"t":"code","b":[76,49,193],"m":"jmp","oa":49457,"o":"queue_block"},{"a":51338,"l":"r_C88A","t":"code","b":[96],"m":"rts","x":[51253,51276,51296]},{"a":51339,"l":"cloud_flash_attrs","c":"Attribute bytes for a flashing cloud by frame and 3: $55 (palette 1), $FF (palette 3, the resting colour), $00 (palette 0), $FF.","t":"byte","b":[85,255,0,255],"x":[51289]},{"a":51343,"l":"spark_dir_flip_x","c":"For each of the four throw directions, $FF when the spark's horizontal speed is negated (thrown left).","t":"byte","b":[0,0,255,255],"x":[51209]},{"a":51347,"l":"spark_dir_flip_y","c":"For each throw direction, $FF when the vertical speed is negated (thrown upward).","t":"byte","b":[255,0,0,255],"x":[51217]},{"a":51351,"l":"spark_dir_dx","c":"X offset of the spark from the cloud for each direction: 16, 16, -16, -16.","t":"byte","b":[16,16,240,240],"x":[51189]},{"a":51355,"l":"spark_dir_dy","c":"Y offset of the spark from the cloud for each direction: -34, 34, 34, -34.","t":"byte","b":[222,34,34,222],"x":[51199]},{"a":51359,"l":"spark_base_speeds","c":"Base horizontal speed for each spark_speed_level 0 to 5: $60 to $B0 in steps of $10 (fractional pixels a frame; a random 0 to 31 is added).","t":"byte","b":[96,112,128,144,160,176],"x":[51156]},{"a":51365,"l":"spark_vx_hi_by_level","c":"Whole part of the horizontal speed for each level: 0 (the speed is under one pixel a frame).","t":"byte","b":[0,0,0,0,0,0],"x":[51168]},{"a":51371,"l":"spark_vy_by_level","c":"Fractional vertical speed for each level: $C0, $F0, $20, $50, $80, $B0, with the whole part from spark_vy_hi_by_level.","t":"byte","b":[192,240,32,80,128,176],"x":[51162]},{"a":51377,"l":"spark_vy_hi_by_level","c":"Whole part of the vertical speed for each level: 0, 0, 1, 1, 1, 1.","t":"byte","b":[0,0,1,1,1,1],"x":[51174]},{"a":51383,"l":"sparks_update","c":"The phase's two sparks each frame. One being thrown (spark_bolt_phase not $FF) is drawn as a three-sprite bolt from the cloud, its segments from bolt_offsets and bolt_tiles by direction and frame, advancing every 8 frames and flying free at phase 16. One flying: spark_move, bounce off the left and right edges (X under 2 or past $F6) and the top (Y under 2) with the spark sound, lost off the bottom (Y $E0 or more), bounce off platforms (spark_platforms), hit the players (spark_hit_players), and its tile cycles through spark_tiles; its sprite goes behind the background below Y $D0.","t":"code","b":[162,1],"m":"ldx","o":"#$01","x":[62164]},{"a":51385,"l":"j_C8B9","t":"code","b":[189,48,5],"m":"lda","oa":1328,"o":"spark_state,x","x":[51634]},{"a":51388,"t":"code","b":[16,3],"m":"bpl","oa":51393,"o":"b_C8C1"},{"a":51390,"t":"code","b":[76,175,201],"m":"jmp","oa":51631,"o":"j_C9AF"},{"a":51393,"l":"b_C8C1","t":"code","b":[189,68,5],"m":"lda","oa":1348,"o":"spark_bolt_phase,x","x":[51388]},{"a":51396,"t":"code","b":[48,123],"m":"bmi","oa":51521,"o":"b_C941"},{"a":51398,"t":"code","b":[168],"m":"tay"},{"a":51399,"t":"code","b":[138],"m":"txa"},{"a":51400,"t":"code","b":[72],"m":"pha"},{"a":51401,"t":"code","b":[166,165],"m":"ldx","oa":165,"o":"lightning_cloud_copy"},{"a":51403,"t":"code","b":[181,178],"m":"lda","oa":178,"o":"cloud_x,x"},{"a":51405,"t":"code","b":[121,229,201],"m":"adc","oa":51685,"o":"bolt_dx1,y"},{"a":51408,"t":"code","b":[141,227,2],"m":"sta","oa":739,"o":"sprite_bolt_x"},{"a":51411,"t":"code","b":[141,231,2],"m":"sta","oa":743,"o":"sprite_bolt_x2"},{"a":51414,"t":"code","b":[141,235,2],"m":"sta","oa":747,"o":"sprite_bolt_x3"},{"a":51417,"t":"code","b":[181,181],"m":"lda","oa":181,"o":"cloud_y,x"},{"a":51419,"t":"code","b":[121,245,201],"m":"adc","oa":51701,"o":"bolt_dy1,y"},{"a":51422,"t":"code","b":[141,224,2],"m":"sta","oa":736,"o":"sprite_bolt"},{"a":51425,"t":"code","b":[121,5,202],"m":"adc","oa":51717,"o":"bolt_dy_step,y"},{"a":51428,"t":"code","b":[141,228,2],"m":"sta","oa":740,"o":"sprite_bolt_y2"},{"a":51431,"t":"code","b":[121,5,202],"m":"adc","oa":51717,"o":"bolt_dy_step,y"},{"a":51434,"t":"code","b":[141,232,2],"m":"sta","oa":744,"o":"sprite_bolt_y3"},{"a":51437,"t":"code","b":[152],"m":"tya"},{"a":51438,"t":"code","b":[41,3],"m":"and","o":"#$03"},{"a":51440,"t":"code","b":[170],"m":"tax"},{"a":51441,"t":"code","b":[152],"m":"tya"},{"a":51442,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":51443,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":51444,"t":"code","b":[168],"m":"tay"},{"a":51445,"t":"code","b":[165,25],"m":"lda","oa":25,"o":"frame_counter"},{"a":51447,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":51448,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":51449,"t":"code","b":[176,4],"m":"bcs","oa":51455,"o":"b_C8FF"},{"a":51451,"t":"code","b":[152],"m":"tya"},{"a":51452,"t":"code","b":[105,5],"m":"adc","o":"#$05"},{"a":51454,"t":"code","b":[168],"m":"tay"},{"a":51455,"l":"b_C8FF","t":"code","b":[185,21,202],"m":"lda","oa":51733,"o":"bolt_tiles1,y","x":[51449]},{"a":51458,"t":"code","b":[141,225,2],"m":"sta","oa":737,"o":"sprite_bolt_tile"},{"a":51461,"t":"code","b":[185,31,202],"m":"lda","oa":51743,"o":"bolt_tiles2,y"},{"a":51464,"t":"code","b":[141,229,2],"m":"sta","oa":741,"o":"sprite_bolt_tile2"},{"a":51467,"t":"code","b":[185,41,202],"m":"lda","oa":51753,"o":"bolt_tiles3,y"},{"a":51470,"t":"code","b":[141,233,2],"m":"sta","oa":745,"o":"sprite_bolt_tile3"},{"a":51473,"t":"code","b":[189,51,202],"m":"lda","oa":51763,"o":"bolt_attrs,x"},{"a":51476,"t":"code","b":[141,226,2],"m":"sta","oa":738,"o":"sprite_bolt_attr"},{"a":51479,"t":"code","b":[141,230,2],"m":"sta","oa":742,"o":"sprite_bolt_attr2"},{"a":51482,"t":"code","b":[141,234,2],"m":"sta","oa":746,"o":"sprite_bolt_attr3"},{"a":51485,"t":"code","b":[104],"m":"pla"},{"a":51486,"t":"code","b":[170],"m":"tax"},{"a":51487,"t":"code","b":[165,25],"m":"lda","oa":25,"o":"frame_counter"},{"a":51489,"t":"code","b":[41,7],"m":"and","o":"#$07"},{"a":51491,"t":"code","b":[208,18],"m":"bne","oa":51511,"o":"b_C937"},{"a":51493,"t":"code","b":[189,68,5],"m":"lda","oa":1348,"o":"spark_bolt_phase,x"},{"a":51496,"t":"code","b":[24],"m":"clc"},{"a":51497,"t":"code","b":[105,4],"m":"adc","o":"#$04"},{"a":51499,"t":"code","b":[157,68,5],"m":"sta","oa":1348,"o":"spark_bolt_phase,x"},{"a":51502,"t":"code","b":[201,20],"m":"cmp","o":"#$14"},{"a":51504,"t":"code","b":[144,5],"m":"bcc","oa":51511,"o":"b_C937"},{"a":51506,"t":"code","b":[169,255],"m":"lda","o":"#$FF"},{"a":51508,"t":"code","b":[157,68,5],"m":"sta","oa":1348,"o":"spark_bolt_phase,x"},{"a":51511,"l":"b_C937","t":"code","b":[189,68,5],"m":"lda","oa":1348,"o":"spark_bolt_phase,x","x":[51491,51504]},{"a":51514,"t":"code","b":[201,16],"m":"cmp","o":"#$10"},{"a":51516,"t":"code","b":[176,3],"m":"bcs","oa":51521,"o":"b_C941"},{"a":51518,"t":"code","b":[76,175,201],"m":"jmp","oa":51631,"o":"j_C9AF"},{"a":51521,"l":"b_C941","t":"code","b":[32,182,201],"m":"jsr","oa":51638,"o":"spark_move","x":[51396,51516]},{"a":51524,"t":"code","b":[189,144,4],"m":"lda","oa":1168,"o":"spark_x,x"},{"a":51527,"t":"code","b":[201,2],"m":"cmp","o":"#$02"},{"a":51529,"t":"code","b":[176,3],"m":"bcs","oa":51534,"o":"b_C94E"},{"a":51531,"t":"code","b":[32,55,202],"m":"jsr","oa":51767,"o":"spark_flip_vx_sound"},{"a":51534,"l":"b_C94E","t":"code","b":[189,144,4],"m":"lda","oa":1168,"o":"spark_x,x","x":[51529]},{"a":51537,"t":"code","b":[201,247],"m":"cmp","o":"#$F7"},{"a":51539,"t":"code","b":[144,3],"m":"bcc","oa":51544,"o":"b_C958"},{"a":51541,"t":"code","b":[32,55,202],"m":"jsr","oa":51767,"o":"spark_flip_vx_sound"},{"a":51544,"l":"b_C958","t":"code","b":[189,164,4],"m":"lda","oa":1188,"o":"spark_y,x","x":[51539]},{"a":51547,"t":"code","b":[201,2],"m":"cmp","o":"#$02"},{"a":51549,"t":"code","b":[176,3],"m":"bcs","oa":51554,"o":"b_C962"},{"a":51551,"t":"code","b":[32,79,202],"m":"jsr","oa":51791,"o":"spark_flip_vy_sound"},{"a":51554,"l":"b_C962","t":"code","b":[189,164,4],"m":"lda","oa":1188,"o":"spark_y,x","x":[51549]},{"a":51557,"t":"code","b":[201,224],"m":"cmp","o":"#$E0"},{"a":51559,"t":"code","b":[144,13],"m":"bcc","oa":51574,"o":"b_C976"},{"a":51561,"t":"code","b":[169,255],"m":"lda","o":"#$FF"},{"a":51563,"t":"code","b":[157,48,5],"m":"sta","oa":1328,"o":"spark_state,x"},{"a":51566,"t":"code","b":[169,240],"m":"lda","o":"#$F0"},{"a":51568,"t":"code","b":[157,164,4],"m":"sta","oa":1188,"o":"spark_y,x"},{"a":51571,"t":"code","b":[76,175,201],"m":"jmp","oa":51631,"o":"j_C9AF"},{"a":51574,"l":"b_C976","t":"code","b":[32,103,202],"m":"jsr","oa":51815,"o":"spark_platforms","x":[51559]},{"a":51577,"t":"code","b":[32,28,203],"m":"jsr","oa":51996,"o":"spark_hit_players"},{"a":51580,"t":"code","b":[188,48,5],"m":"ldy","oa":1328,"o":"spark_state,x"},{"a":51583,"t":"code","b":[200],"m":"iny"},{"a":51584,"t":"code","b":[152],"m":"tya"},{"a":51585,"t":"code","b":[41,7],"m":"and","o":"#$07"},{"a":51587,"t":"code","b":[157,48,5],"m":"sta","oa":1328,"o":"spark_state,x"},{"a":51590,"t":"code","b":[188,48,5],"m":"ldy","oa":1328,"o":"spark_state,x"},{"a":51593,"t":"code","b":[185,221,201],"m":"lda","oa":51677,"o":"spark_tiles,y"},{"a":51596,"t":"code","b":[133,18],"m":"sta","oa":18,"o":"tmp12"},{"a":51598,"t":"code","b":[138],"m":"txa"},{"a":51599,"t":"code","b":[10],"m":"asl","o":"a"},{"a":51600,"t":"code","b":[10],"m":"asl","o":"a"},{"a":51601,"t":"code","b":[24],"m":"clc"},{"a":51602,"t":"code","b":[168],"m":"tay"},{"a":51603,"t":"code","b":[189,164,4],"m":"lda","oa":1188,"o":"spark_y,x"},{"a":51606,"t":"code","b":[201,208],"m":"cmp","o":"#$D0"},{"a":51608,"t":"code","b":[153,0,2],"m":"sta","oa":512,"o":"sprite_table,y"},{"a":51611,"t":"code","b":[189,144,4],"m":"lda","oa":1168,"o":"spark_x,x"},{"a":51614,"t":"code","b":[153,3,2],"m":"sta","oa":515,"o":"sprite_x_0,y"},{"a":51617,"t":"code","b":[165,18],"m":"lda","oa":18,"o":"tmp12"},{"a":51619,"t":"code","b":[153,1,2],"m":"sta","oa":513,"o":"sprite_tile_0,y"},{"a":51622,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":51624,"t":"code","b":[144,2],"m":"bcc","oa":51628,"o":"b_C9AC"},{"a":51626,"t":"code","b":[169,32],"m":"lda","o":"#$20"},{"a":51628,"l":"b_C9AC","t":"code","b":[153,2,2],"m":"sta","oa":514,"o":"sprite_attr_0,y","x":[51624]},{"a":51631,"l":"j_C9AF","t":"code","b":[202],"m":"dex","x":[51390,51518,51571]},{"a":51632,"t":"code","b":[48,3],"m":"bmi","oa":51637,"o":"r_C9B5"},{"a":51634,"t":"code","b":[76,185,200],"m":"jmp","oa":51385,"o":"j_C8B9"},{"a":51637,"l":"r_C9B5","t":"code","b":[96],"m":"rts","x":[51632]},{"a":51638,"l":"spark_move","c":"Adds a spark's velocity to its position, fractional parts first.","t":"code","b":[189,8,5],"m":"lda","oa":1288,"o":"spark_vx_lo,x","x":[49920,51521]},{"a":51641,"t":"code","b":[24],"m":"clc"},{"a":51642,"t":"code","b":[125,184,4],"m":"adc","oa":1208,"o":"spark_x_frac,x"},{"a":51645,"t":"code","b":[157,184,4],"m":"sta","oa":1208,"o":"spark_x_frac,x"},{"a":51648,"t":"code","b":[189,224,4],"m":"lda","oa":1248,"o":"spark_vx_hi,x"},{"a":51651,"t":"code","b":[125,144,4],"m":"adc","oa":1168,"o":"spark_x,x"},{"a":51654,"t":"code","b":[157,144,4],"m":"sta","oa":1168,"o":"spark_x,x"},{"a":51657,"t":"code","b":[189,28,5],"m":"lda","oa":1308,"o":"spark_vy_lo,x"},{"a":51660,"t":"code","b":[24],"m":"clc"},{"a":51661,"t":"code","b":[125,204,4],"m":"adc","oa":1228,"o":"spark_y_frac,x"},{"a":51664,"t":"code","b":[157,204,4],"m":"sta","oa":1228,"o":"spark_y_frac,x"},{"a":51667,"t":"code","b":[189,244,4],"m":"lda","oa":1268,"o":"spark_vy_hi,x"},{"a":51670,"t":"code","b":[125,164,4],"m":"adc","oa":1188,"o":"spark_y,x"},{"a":51673,"t":"code","b":[157,164,4],"m":"sta","oa":1188,"o":"spark_y,x"},{"a":51676,"t":"code","b":[96],"m":"rts"},{"a":51677,"l":"spark_tiles","c":"The spark's eight animation tiles: $9D, $9E, $9F, $9E, $9D, $A0, $A1, $A0.","t":"byte","b":[157,158,159,158,157,160,161,160],"x":[49949,51593]},{"a":51685,"l":"bolt_dx1","c":"X offset of the bolt's first sprite from the cloud, for each of the 16 direction-and-frame steps.","t":"byte","b":[8,8,240,240,8,8,240,240],"x":[51405]},{"a":51693,"t":"byte","b":[8,8,240,240,8,8,240,240]},{"a":51701,"l":"bolt_dy1","c":"Y offset of the bolt's first sprite for each step.","t":"byte","b":[238,10,10,238,238,10,10,238],"x":[51419]},{"a":51709,"t":"byte","b":[238,10,10,238,238,10,10,238]},{"a":51717,"l":"bolt_dy_step","c":"Y added between the bolt's three sprites for each step.","t":"byte","b":[248,8,8,248,248,8,8,248],"x":[51425,51431]},{"a":51725,"t":"byte","b":[248,8,8,248,248,8,8,248]},{"a":51733,"l":"bolt_tiles1","c":"Tile of the bolt's first sprite by frame (two sets of five: the right-hand and the left-hand bolt); $FC is no sprite.","t":"byte","b":[145,147,151,151,252,146,149,154],"x":[51455]},{"a":51741,"t":"byte","b":[154,252]},{"a":51743,"l":"bolt_tiles2","c":"Tile of the bolt's second sprite by frame.","t":"byte","b":[252,148,152,152,252,252,150,155],"x":[51461]},{"a":51751,"t":"byte","b":[155,252]},{"a":51753,"l":"bolt_tiles3","c":"Tile of the bolt's third sprite by frame.","t":"byte","b":[252,252,153,153,252,252,252,156],"x":[51467]},{"a":51761,"t":"byte","b":[156,252]},{"a":51763,"l":"bolt_attrs","c":"Sprite attributes of the bolt for each direction: the flips ($C0, $40, $00, $80).","t":"byte","b":[192,64,0,128],"x":[51473]},{"a":51767,"l":"spark_flip_vx_sound","c":"Asks for the spark bounce sound and negates a spark's horizontal velocity.","t":"code","b":[165,243],"m":"lda","oa":243,"o":"sfx_request_c","x":[51531,51541,51977,51989]},{"a":51769,"t":"code","b":[9,128],"m":"ora","o":"#$80"},{"a":51771,"t":"code","b":[133,243],"m":"sta","oa":243,"o":"sfx_request_c"},{"a":51773,"l":"spark_flip_vx","c":"Negates a spark's horizontal velocity (fractional and whole parts).","t":"code","b":[169,0],"m":"lda","o":"#$00","x":[51214]},{"a":51775,"t":"code","b":[56],"m":"sec"},{"a":51776,"t":"code","b":[253,8,5],"m":"sbc","oa":1288,"o":"spark_vx_lo,x"},{"a":51779,"t":"code","b":[157,8,5],"m":"sta","oa":1288,"o":"spark_vx_lo,x"},{"a":51782,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":51784,"t":"code","b":[253,224,4],"m":"sbc","oa":1248,"o":"spark_vx_hi,x"},{"a":51787,"t":"code","b":[157,224,4],"m":"sta","oa":1248,"o":"spark_vx_hi,x"},{"a":51790,"t":"code","b":[96],"m":"rts"},{"a":51791,"l":"spark_flip_vy_sound","c":"Asks for the spark bounce sound and negates a spark's vertical velocity.","t":"code","b":[165,243],"m":"lda","oa":243,"o":"sfx_request_c","x":[49930,49937,50227,51551,51953,51965]},{"a":51793,"t":"code","b":[9,128],"m":"ora","o":"#$80"},{"a":51795,"t":"code","b":[133,243],"m":"sta","oa":243,"o":"sfx_request_c"},{"a":51797,"l":"spark_flip_vy","c":"Negates a spark's vertical velocity.","t":"code","b":[169,0],"m":"lda","o":"#$00","x":[51222]},{"a":51799,"t":"code","b":[56],"m":"sec"},{"a":51800,"t":"code","b":[253,28,5],"m":"sbc","oa":1308,"o":"spark_vy_lo,x"},{"a":51803,"t":"code","b":[157,28,5],"m":"sta","oa":1308,"o":"spark_vy_lo,x"},{"a":51806,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":51808,"t":"code","b":[253,244,4],"m":"sbc","oa":1268,"o":"spark_vy_hi,x"},{"a":51811,"t":"code","b":[157,244,4],"m":"sta","oa":1268,"o":"spark_vy_hi,x"},{"a":51814,"t":"code","b":[96],"m":"rts"},{"a":51815,"l":"spark_platforms","c":"Bounces a spark off every platform: for each (from platform_count down) tests whether the spark is within 3 pixels of the top or bottom edge (8 pixels allowed for) while between the sides, or of the left edge while between top and bottom, and negates the matching velocity, only if it was moving toward that edge. A platform whose left edge is $10 or right edge $FF (the screen edge) skips that side. The right edge is never met: its test subtracts 3 from the edge and branches on the borrow with no compare against the spark, so bit 3 is set only for an edge under 3, which no platform has; a spark coming from the right passes into the platform until the top or bottom test catches it.","t":"code","b":[164,205],"m":"ldy","oa":205,"o":"platform_count","x":[51574]},{"a":51817,"l":"j_CA69","t":"code","b":[169,0],"m":"lda","o":"#$00","x":[51940]},{"a":51819,"t":"code","b":[133,204],"m":"sta","oa":204,"o":"collision_bits"},{"a":51821,"t":"code","b":[177,39],"m":"lda","oa":39,"o":"(platform_top_ptr),y"},{"a":51823,"t":"code","b":[56],"m":"sec"},{"a":51824,"t":"code","b":[233,8],"m":"sbc","o":"#$08"},{"a":51826,"t":"code","b":[221,164,4],"m":"cmp","oa":1188,"o":"spark_y,x"},{"a":51829,"t":"code","b":[176,102],"m":"bcs","oa":51933,"o":"b_CADD"},{"a":51831,"t":"code","b":[105,3],"m":"adc","o":"#$03"},{"a":51833,"t":"code","b":[221,164,4],"m":"cmp","oa":1188,"o":"spark_y,x"},{"a":51836,"t":"code","b":[144,4],"m":"bcc","oa":51842,"o":"b_CA82"},{"a":51838,"t":"code","b":[169,1],"m":"lda","o":"#$01"},{"a":51840,"t":"code","b":[208,16],"m":"bne","oa":51858,"o":"b_CA92"},{"a":51842,"l":"b_CA82","t":"code","b":[177,41],"m":"lda","oa":41,"o":"(platform_bottom_ptr),y","x":[51836]},{"a":51844,"t":"code","b":[221,164,4],"m":"cmp","oa":1188,"o":"spark_y,x"},{"a":51847,"t":"code","b":[144,84],"m":"bcc","oa":51933,"o":"b_CADD"},{"a":51849,"t":"code","b":[233,3],"m":"sbc","o":"#$03"},{"a":51851,"t":"code","b":[221,164,4],"m":"cmp","oa":1188,"o":"spark_y,x"},{"a":51854,"t":"code","b":[176,29],"m":"bcs","oa":51885,"o":"b_CAAD"},{"a":51856,"t":"code","b":[169,2],"m":"lda","o":"#$02"},{"a":51858,"l":"b_CA92","t":"code","b":[133,204],"m":"sta","oa":204,"o":"collision_bits","x":[51840]},{"a":51860,"t":"code","b":[177,35],"m":"lda","oa":35,"o":"(platform_left_ptr),y"},{"a":51862,"t":"code","b":[201,16],"m":"cmp","o":"#$10"},{"a":51864,"t":"code","b":[240,8],"m":"beq","oa":51874,"o":"b_CAA2"},{"a":51866,"t":"code","b":[56],"m":"sec"},{"a":51867,"t":"code","b":[233,4],"m":"sbc","o":"#$04"},{"a":51869,"t":"code","b":[221,144,4],"m":"cmp","oa":1168,"o":"spark_x,x"},{"a":51872,"t":"code","b":[176,7],"m":"bcs","oa":51881,"o":"b_CAA9"},{"a":51874,"l":"b_CAA2","t":"code","b":[177,37],"m":"lda","oa":37,"o":"(platform_right_ptr),y","x":[51864]},{"a":51876,"t":"code","b":[221,144,4],"m":"cmp","oa":1168,"o":"spark_x,x"},{"a":51879,"t":"code","b":[176,4],"m":"bcs","oa":51885,"o":"b_CAAD"},{"a":51881,"l":"b_CAA9","t":"code","b":[169,0],"m":"lda","o":"#$00","x":[51872]},{"a":51883,"t":"code","b":[133,204],"m":"sta","oa":204,"o":"collision_bits"},{"a":51885,"l":"b_CAAD","t":"code","b":[177,35],"m":"lda","oa":35,"o":"(platform_left_ptr),y","x":[51854,51879]},{"a":51887,"t":"code","b":[201,16],"m":"cmp","o":"#$10"},{"a":51889,"t":"code","b":[240,21],"m":"beq","oa":51912,"o":"b_CAC8"},{"a":51891,"t":"code","b":[56],"m":"sec"},{"a":51892,"t":"code","b":[233,8],"m":"sbc","o":"#$08"},{"a":51894,"t":"code","b":[221,144,4],"m":"cmp","oa":1168,"o":"spark_x,x"},{"a":51897,"t":"code","b":[176,34],"m":"bcs","oa":51933,"o":"b_CADD"},{"a":51899,"t":"code","b":[105,3],"m":"adc","o":"#$03"},{"a":51901,"t":"code","b":[221,144,4],"m":"cmp","oa":1168,"o":"spark_x,x"},{"a":51904,"t":"code","b":[144,6],"m":"bcc","oa":51912,"o":"b_CAC8"},{"a":51906,"t":"code","b":[165,204],"m":"lda","oa":204,"o":"collision_bits"},{"a":51908,"t":"code","b":[9,4],"m":"ora","o":"#$04"},{"a":51910,"t":"code","b":[208,19],"m":"bne","oa":51931,"o":"b_CADB"},{"a":51912,"l":"b_CAC8","t":"code","b":[177,37],"m":"lda","oa":37,"o":"(platform_right_ptr),y","x":[51889,51904]},{"a":51914,"t":"code","b":[201,255],"m":"cmp","o":"#$FF"},{"a":51916,"t":"code","b":[240,15],"m":"beq","oa":51933,"o":"b_CADD"},{"a":51918,"t":"code","b":[221,144,4],"m":"cmp","oa":1168,"o":"spark_x,x"},{"a":51921,"t":"code","b":[144,10],"m":"bcc","oa":51933,"o":"b_CADD"},{"a":51923,"t":"code","b":[233,3],"m":"sbc","o":"#$03"},{"a":51925,"t":"code","b":[176,6],"m":"bcs","oa":51933,"o":"b_CADD"},{"a":51927,"t":"code","b":[165,204],"m":"lda","oa":204,"o":"collision_bits"},{"a":51929,"t":"code","b":[9,8],"m":"ora","o":"#$08"},{"a":51931,"l":"b_CADB","t":"code","b":[133,204],"m":"sta","oa":204,"o":"collision_bits","x":[51910]},{"a":51933,"l":"b_CADD","t":"code","b":[165,204],"m":"lda","oa":204,"o":"collision_bits","x":[51829,51847,51897,51916,51921,51925]},{"a":51935,"t":"code","b":[208,7],"m":"bne","oa":51944,"o":"b_CAE8"},{"a":51937,"l":"j_CAE1","t":"code","b":[136],"m":"dey","x":[51992]},{"a":51938,"t":"code","b":[48,3],"m":"bmi","oa":51943,"o":"r_CAE7"},{"a":51940,"t":"code","b":[76,105,202],"m":"jmp","oa":51817,"o":"j_CA69"},{"a":51943,"l":"r_CAE7","t":"code","b":[96],"m":"rts","x":[51938]},{"a":51944,"l":"b_CAE8","t":"code","b":[70,204],"m":"lsr","oa":204,"o":"collision_bits","x":[51935]},{"a":51946,"t":"code","b":[144,8],"m":"bcc","oa":51956,"o":"b_CAF4"},{"a":51948,"t":"code","b":[189,244,4],"m":"lda","oa":1268,"o":"spark_vy_hi,x"},{"a":51951,"t":"code","b":[48,3],"m":"bmi","oa":51956,"o":"b_CAF4"},{"a":51953,"t":"code","b":[32,79,202],"m":"jsr","oa":51791,"o":"spark_flip_vy_sound"},{"a":51956,"l":"b_CAF4","t":"code","b":[70,204],"m":"lsr","oa":204,"o":"collision_bits","x":[51946,51951]},{"a":51958,"t":"code","b":[144,8],"m":"bcc","oa":51968,"o":"b_CB00"},{"a":51960,"t":"code","b":[189,244,4],"m":"lda","oa":1268,"o":"spark_vy_hi,x"},{"a":51963,"t":"code","b":[16,3],"m":"bpl","oa":51968,"o":"b_CB00"},{"a":51965,"t":"code","b":[32,79,202],"m":"jsr","oa":51791,"o":"spark_flip_vy_sound"},{"a":51968,"l":"b_CB00","t":"code","b":[70,204],"m":"lsr","oa":204,"o":"collision_bits","x":[51958,51963]},{"a":51970,"t":"code","b":[144,8],"m":"bcc","oa":51980,"o":"b_CB0C"},{"a":51972,"t":"code","b":[189,224,4],"m":"lda","oa":1248,"o":"spark_vx_hi,x"},{"a":51975,"t":"code","b":[48,3],"m":"bmi","oa":51980,"o":"b_CB0C"},{"a":51977,"t":"code","b":[32,55,202],"m":"jsr","oa":51767,"o":"spark_flip_vx_sound"},{"a":51980,"l":"b_CB0C","t":"code","b":[70,204],"m":"lsr","oa":204,"o":"collision_bits","x":[51970,51975]},{"a":51982,"t":"code","b":[144,8],"m":"bcc","oa":51992,"o":"b_CB18"},{"a":51984,"t":"code","b":[189,224,4],"m":"lda","oa":1248,"o":"spark_vx_hi,x"},{"a":51987,"t":"code","b":[16,3],"m":"bpl","oa":51992,"o":"b_CB18"},{"a":51989,"t":"code","b":[32,55,202],"m":"jsr","oa":51767,"o":"spark_flip_vx_sound"},{"a":51992,"l":"b_CB18","t":"code","b":[76,225,202],"m":"jmp","oa":51937,"o":"j_CAE1","x":[51982,51987]},{"a":51995,"l":"unused_rts","c":"An RTS between spark_platforms and spark_hit_players that nothing reaches.","t":"byte","b":[96]},{"a":51996,"l":"spark_hit_players","c":"For each player alive, with balloons and not invulnerable: if the spark is within 8 pixels horizontally and 12 vertically (allowing 8 for the body) the player is hit: balloons 0, action 1, spark_hit set, type 11, timer $20, the spark-hit sound; the spark is removed.","t":"code","b":[160,1],"m":"ldy","o":"#$01","x":[49940,51577]},{"a":51998,"l":"b_CB1E","t":"code","b":[185,136,0],"m":"lda","oa":136,"o":"actor_balloons,y","x":[52081]},{"a":52001,"t":"code","b":[48,77],"m":"bmi","oa":52080,"o":"b_CB70"},{"a":52003,"t":"code","b":[240,75],"m":"beq","oa":52080,"o":"b_CB70"},{"a":52005,"t":"code","b":[185,189,0],"m":"lda","oa":189,"o":"invulnerable,y"},{"a":52008,"t":"code","b":[208,70],"m":"bne","oa":52080,"o":"b_CB70"},{"a":52010,"t":"code","b":[189,144,4],"m":"lda","oa":1168,"o":"spark_x,x"},{"a":52013,"t":"code","b":[56],"m":"sec"},{"a":52014,"t":"code","b":[249,145,0],"m":"sbc","oa":145,"o":"actor_x,y"},{"a":52017,"t":"code","b":[32,142,240],"m":"jsr","oa":61582,"o":"abs"},{"a":52020,"t":"code","b":[201,8],"m":"cmp","o":"#$08"},{"a":52022,"t":"code","b":[176,56],"m":"bcs","oa":52080,"o":"b_CB70"},{"a":52024,"t":"code","b":[189,164,4],"m":"lda","oa":1188,"o":"spark_y,x"},{"a":52027,"t":"code","b":[56],"m":"sec"},{"a":52028,"t":"code","b":[249,154,0],"m":"sbc","oa":154,"o":"actor_y,y"},{"a":52031,"t":"code","b":[56],"m":"sec"},{"a":52032,"t":"code","b":[233,8],"m":"sbc","o":"#$08"},{"a":52034,"t":"code","b":[32,142,240],"m":"jsr","oa":61582,"o":"abs"},{"a":52037,"t":"code","b":[201,12],"m":"cmp","o":"#$0C"},{"a":52039,"t":"code","b":[176,39],"m":"bcs","oa":52080,"o":"b_CB70"},{"a":52041,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":52043,"t":"code","b":[153,136,0],"m":"sta","oa":136,"o":"actor_balloons,y"},{"a":52046,"t":"code","b":[169,1],"m":"lda","o":"#$01"},{"a":52048,"t":"code","b":[153,127,0],"m":"sta","oa":127,"o":"actor_action,y"},{"a":52051,"t":"code","b":[153,193,0],"m":"sta","oa":193,"o":"spark_hit,y"},{"a":52054,"t":"code","b":[169,11],"m":"lda","o":"#$0B"},{"a":52056,"t":"code","b":[153,81,4],"m":"sta","oa":1105,"o":"actor_type,y"},{"a":52059,"t":"code","b":[169,32],"m":"lda","o":"#$20"},{"a":52061,"t":"code","b":[153,90,4],"m":"sta","oa":1114,"o":"actor_timer,y"},{"a":52064,"t":"code","b":[165,240],"m":"lda","oa":240,"o":"sfx_request_a"},{"a":52066,"t":"code","b":[9,128],"m":"ora","o":"#$80"},{"a":52068,"t":"code","b":[133,240],"m":"sta","oa":240,"o":"sfx_request_a"},{"a":52070,"t":"code","b":[169,240],"m":"lda","o":"#$F0"},{"a":52072,"t":"code","b":[157,164,4],"m":"sta","oa":1188,"o":"spark_y,x"},{"a":52075,"t":"code","b":[169,255],"m":"lda","o":"#$FF"},{"a":52077,"t":"code","b":[157,48,5],"m":"sta","oa":1328,"o":"spark_state,x"},{"a":52080,"l":"b_CB70","t":"code","b":[136],"m":"dey","x":[52001,52003,52008,52022,52039]},{"a":52081,"t":"code","b":[16,171],"m":"bpl","oa":51998,"o":"b_CB1E"},{"a":52083,"t":"code","b":[96],"m":"rts"},{"a":52084,"l":"propellers_update","c":"Each propeller once a frame: propeller_push and propeller_touch; a spinning one turns a quarter every other frame (propellers alternate frames), is redrawn, and counts propeller_spin_timer down once a turn until it stops.","t":"code","b":[174,209,5],"m":"ldx","oa":1489,"o":"propeller_count","x":[62173]},{"a":52087,"t":"code","b":[48,46],"m":"bmi","oa":52135,"o":"r_CBA7"},{"a":52089,"l":"b_CB79","t":"code","b":[32,168,203],"m":"jsr","oa":52136,"o":"propeller_push","x":[52133]},{"a":52092,"t":"code","b":[189,4,6],"m":"lda","oa":1540,"o":"propeller_spinning,x"},{"a":52095,"t":"code","b":[240,35],"m":"beq","oa":52132,"o":"b_CBA4"},{"a":52097,"t":"code","b":[138],"m":"txa"},{"a":52098,"t":"code","b":[69,25],"m":"eor","oa":25,"o":"frame_counter"},{"a":52100,"t":"code","b":[41,1],"m":"and","o":"#$01"},{"a":52102,"t":"code","b":[208,28],"m":"bne","oa":52132,"o":"b_CBA4"},{"a":52104,"t":"code","b":[188,250,5],"m":"ldy","oa":1530,"o":"propeller_phase,x"},{"a":52107,"t":"code","b":[200],"m":"iny"},{"a":52108,"t":"code","b":[152],"m":"tya"},{"a":52109,"t":"code","b":[41,3],"m":"and","o":"#$03"},{"a":52111,"t":"code","b":[157,250,5],"m":"sta","oa":1530,"o":"propeller_phase,x"},{"a":52114,"t":"code","b":[32,203,204],"m":"jsr","oa":52427,"o":"propeller_draw"},{"a":52117,"t":"code","b":[189,250,5],"m":"lda","oa":1530,"o":"propeller_phase,x"},{"a":52120,"t":"code","b":[201,1],"m":"cmp","o":"#$01"},{"a":52122,"t":"code","b":[208,8],"m":"bne","oa":52132,"o":"b_CBA4"},{"a":52124,"t":"code","b":[222,14,6],"m":"dec","oa":1550,"o":"propeller_spin_timer,x"},{"a":52127,"t":"code","b":[208,3],"m":"bne","oa":52132,"o":"b_CBA4"},{"a":52129,"t":"code","b":[222,4,6],"m":"dec","oa":1540,"o":"propeller_spinning,x"},{"a":52132,"l":"b_CBA4","t":"code","b":[202],"m":"dex","x":[52095,52102,52122,52127]},{"a":52133,"t":"code","b":[16,210],"m":"bpl","oa":52089,"o":"b_CB79"},{"a":52135,"l":"r_CBA7","t":"code","b":[96],"m":"rts","x":[52087]},{"a":52136,"l":"propeller_push","c":"For a spinning propeller: every actor alive and flying (a bird on its parachute is skipped) within 18 pixels each way is swirled round it, 2 pixels a frame, moved at once, with the bounce sound: to the right of the centre it is thrown down, to the left up, below it right, above it left. Two slips: after a vertical throw the horizontal test reads tmp13 after swap_xy has overwritten it with the propeller's index, so the horizontal throw is to the right for propellers 3 and up and none for the first three; and after a throw down the branch tests the actor's index instead of the offset, so player 1 on the right is thrown down and then up, and leaves moving up as if it had been on the left. A propeller not spinning goes to propeller_touch.","t":"code","b":[160,7],"m":"ldy","o":"#$07","x":[52089]},{"a":52138,"t":"code","b":[189,4,6],"m":"lda","oa":1540,"o":"propeller_spinning,x"},{"a":52141,"t":"code","b":[208,3],"m":"bne","oa":52146,"o":"b_CBB2"},{"a":52143,"t":"code","b":[76,58,204],"m":"jmp","oa":52282,"o":"propeller_touch"},{"a":52146,"l":"b_CBB2","t":"code","b":[185,136,0],"m":"lda","oa":136,"o":"actor_balloons,y","x":[52141,52272]},{"a":52149,"t":"code","b":[48,120],"m":"bmi","oa":52271,"o":"b_CC2F"},{"a":52151,"t":"code","b":[240,118],"m":"beq","oa":52271,"o":"b_CC2F"},{"a":52153,"t":"code","b":[192,2],"m":"cpy","o":"#$02"},{"a":52155,"t":"code","b":[144,4],"m":"bcc","oa":52161,"o":"b_CBC1"},{"a":52157,"t":"code","b":[201,1],"m":"cmp","o":"#$01"},{"a":52159,"t":"code","b":[240,110],"m":"beq","oa":52271,"o":"b_CC2F"},{"a":52161,"l":"b_CBC1","t":"code","b":[185,145,0],"m":"lda","oa":145,"o":"actor_x,y","x":[52155]},{"a":52164,"t":"code","b":[24],"m":"clc"},{"a":52165,"t":"code","b":[105,8],"m":"adc","o":"#$08"},{"a":52167,"t":"code","b":[56],"m":"sec"},{"a":52168,"t":"code","b":[253,210,5],"m":"sbc","oa":1490,"o":"propeller_x,x"},{"a":52171,"t":"code","b":[133,18],"m":"sta","oa":18,"o":"tmp12"},{"a":52173,"t":"code","b":[32,142,240],"m":"jsr","oa":61582,"o":"abs"},{"a":52176,"t":"code","b":[201,18],"m":"cmp","o":"#$12"},{"a":52178,"t":"code","b":[176,91],"m":"bcs","oa":52271,"o":"b_CC2F"},{"a":52180,"t":"code","b":[185,154,0],"m":"lda","oa":154,"o":"actor_y,y"},{"a":52183,"t":"code","b":[24],"m":"clc"},{"a":52184,"t":"code","b":[105,12],"m":"adc","o":"#$0C"},{"a":52186,"t":"code","b":[56],"m":"sec"},{"a":52187,"t":"code","b":[253,220,5],"m":"sbc","oa":1500,"o":"propeller_y,x"},{"a":52190,"t":"code","b":[133,19],"m":"sta","oa":19,"o":"tmp13"},{"a":52192,"t":"code","b":[32,142,240],"m":"jsr","oa":61582,"o":"abs"},{"a":52195,"t":"code","b":[201,18],"m":"cmp","o":"#$12"},{"a":52197,"t":"code","b":[176,72],"m":"bcs","oa":52271,"o":"b_CC2F"},{"a":52199,"t":"code","b":[165,18],"m":"lda","oa":18,"o":"tmp12"},{"a":52201,"t":"code","b":[48,17],"m":"bmi","oa":52220,"o":"b_CBFC"},{"a":52203,"t":"code","b":[201,3],"m":"cmp","o":"#$03"},{"a":52205,"t":"code","b":[144,28],"m":"bcc","oa":52235,"o":"b_CC0B"},{"a":52207,"t":"code","b":[169,2],"m":"lda","o":"#$02"},{"a":52209,"t":"code","b":[153,27,4],"m":"sta","oa":1051,"o":"actor_vy_hi,y"},{"a":52212,"t":"code","b":[32,51,204],"m":"jsr","oa":52275,"o":"request_bounce_sound"},{"a":52215,"t":"code","b":[32,187,235],"m":"jsr","oa":60347,"o":"actor_move_y_yreg"},{"a":52218,"t":"code","b":[208,15],"m":"bne","oa":52235,"o":"b_CC0B"},{"a":52220,"l":"b_CBFC","t":"code","b":[201,253],"m":"cmp","o":"#$FD","x":[52201]},{"a":52222,"t":"code","b":[176,11],"m":"bcs","oa":52235,"o":"b_CC0B"},{"a":52224,"t":"code","b":[169,254],"m":"lda","o":"#$FE"},{"a":52226,"t":"code","b":[153,27,4],"m":"sta","oa":1051,"o":"actor_vy_hi,y"},{"a":52229,"t":"code","b":[32,187,235],"m":"jsr","oa":60347,"o":"actor_move_y_yreg"},{"a":52232,"t":"code","b":[32,51,204],"m":"jsr","oa":52275,"o":"request_bounce_sound"},{"a":52235,"l":"b_CC0B","t":"code","b":[165,19],"m":"lda","oa":19,"o":"tmp13","x":[52205,52218,52222]},{"a":52237,"t":"code","b":[48,17],"m":"bmi","oa":52256,"o":"b_CC20"},{"a":52239,"t":"code","b":[201,3],"m":"cmp","o":"#$03"},{"a":52241,"t":"code","b":[144,28],"m":"bcc","oa":52271,"o":"b_CC2F"},{"a":52243,"t":"code","b":[169,2],"m":"lda","o":"#$02"},{"a":52245,"t":"code","b":[153,45,4],"m":"sta","oa":1069,"o":"actor_vx_hi,y"},{"a":52248,"t":"code","b":[32,178,235],"m":"jsr","oa":60338,"o":"actor_move_x_yreg"},{"a":52251,"t":"code","b":[32,51,204],"m":"jsr","oa":52275,"o":"request_bounce_sound"},{"a":52254,"t":"code","b":[208,15],"m":"bne","oa":52271,"o":"b_CC2F"},{"a":52256,"l":"b_CC20","t":"code","b":[201,253],"m":"cmp","o":"#$FD","x":[52237]},{"a":52258,"t":"code","b":[176,11],"m":"bcs","oa":52271,"o":"b_CC2F"},{"a":52260,"t":"code","b":[169,254],"m":"lda","o":"#$FE"},{"a":52262,"t":"code","b":[153,45,4],"m":"sta","oa":1069,"o":"actor_vx_hi,y"},{"a":52265,"t":"code","b":[32,178,235],"m":"jsr","oa":60338,"o":"actor_move_x_yreg"},{"a":52268,"t":"code","b":[32,51,204],"m":"jsr","oa":52275,"o":"request_bounce_sound"},{"a":52271,"l":"b_CC2F","t":"code","b":[136],"m":"dey","x":[52149,52151,52159,52178,52197,52241,52254,52258]},{"a":52272,"t":"code","b":[16,128],"m":"bpl","oa":52146,"o":"b_CBB2"},{"a":52274,"t":"code","b":[96],"m":"rts"},{"a":52275,"l":"request_bounce_sound","c":"Asks for the bounce sound (sfx_request_b bit 1).","t":"code","b":[165,241],"m":"lda","oa":241,"o":"sfx_request_b","x":[52212,52232,52251,52268,60909]},{"a":52277,"t":"code","b":[9,2],"m":"ora","o":"#$02"},{"a":52279,"t":"code","b":[133,241],"m":"sta","oa":241,"o":"sfx_request_b"},{"a":52281,"t":"code","b":[96],"m":"rts"},{"a":52282,"l":"propeller_touch","c":"For a propeller at rest: a bird or player flying that is just above an upright propeller's top (phase 3) stands on it (propeller_stand). Any actor overlapping it (within 20 pixels along the blade and 11 across, the blade's direction from its phase) starts it spinning for 50 quarter turns.","t":"code","b":[185,136,0],"m":"lda","oa":136,"o":"actor_balloons,y","x":[52143,52411]},{"a":52285,"t":"code","b":[48,121],"m":"bmi","oa":52408,"o":"b_CCB8"},{"a":52287,"t":"code","b":[240,119],"m":"beq","oa":52408,"o":"b_CCB8"},{"a":52289,"t":"code","b":[192,2],"m":"cpy","o":"#$02"},{"a":52291,"t":"code","b":[144,46],"m":"bcc","oa":52339,"o":"b_CC73"},{"a":52293,"t":"code","b":[189,250,5],"m":"lda","oa":1530,"o":"propeller_phase,x"},{"a":52296,"t":"code","b":[201,3],"m":"cmp","o":"#$03"},{"a":52298,"t":"code","b":[208,39],"m":"bne","oa":52339,"o":"b_CC73"},{"a":52300,"t":"code","b":[189,210,5],"m":"lda","oa":1490,"o":"propeller_x,x"},{"a":52303,"t":"code","b":[56],"m":"sec"},{"a":52304,"t":"code","b":[233,10],"m":"sbc","o":"#$0A"},{"a":52306,"t":"code","b":[217,145,0],"m":"cmp","oa":145,"o":"actor_x,y"},{"a":52309,"t":"code","b":[176,28],"m":"bcs","oa":52339,"o":"b_CC73"},{"a":52311,"t":"code","b":[105,4],"m":"adc","o":"#$04"},{"a":52313,"t":"code","b":[217,145,0],"m":"cmp","oa":145,"o":"actor_x,y"},{"a":52316,"t":"code","b":[144,21],"m":"bcc","oa":52339,"o":"b_CC73"},{"a":52318,"t":"code","b":[189,220,5],"m":"lda","oa":1500,"o":"propeller_y,x"},{"a":52321,"t":"code","b":[56],"m":"sec"},{"a":52322,"t":"code","b":[233,28],"m":"sbc","o":"#$1C"},{"a":52324,"t":"code","b":[217,154,0],"m":"cmp","oa":154,"o":"actor_y,y"},{"a":52327,"t":"code","b":[176,10],"m":"bcs","oa":52339,"o":"b_CC73"},{"a":52329,"t":"code","b":[105,4],"m":"adc","o":"#$04"},{"a":52331,"t":"code","b":[217,154,0],"m":"cmp","oa":154,"o":"actor_y,y"},{"a":52334,"t":"code","b":[144,3],"m":"bcc","oa":52339,"o":"b_CC73"},{"a":52336,"t":"code","b":[32,191,204],"m":"jsr","oa":52415,"o":"propeller_stand"},{"a":52339,"l":"b_CC73","t":"code","b":[185,145,0],"m":"lda","oa":145,"o":"actor_x,y","x":[52291,52298,52309,52316,52327,52334]},{"a":52342,"t":"code","b":[24],"m":"clc"},{"a":52343,"t":"code","b":[105,8],"m":"adc","o":"#$08"},{"a":52345,"t":"code","b":[56],"m":"sec"},{"a":52346,"t":"code","b":[253,210,5],"m":"sbc","oa":1490,"o":"propeller_x,x"},{"a":52349,"t":"code","b":[32,142,240],"m":"jsr","oa":61582,"o":"abs"},{"a":52352,"t":"code","b":[133,18],"m":"sta","oa":18,"o":"tmp12"},{"a":52354,"t":"code","b":[185,154,0],"m":"lda","oa":154,"o":"actor_y,y"},{"a":52357,"t":"code","b":[24],"m":"clc"},{"a":52358,"t":"code","b":[105,12],"m":"adc","o":"#$0C"},{"a":52360,"t":"code","b":[56],"m":"sec"},{"a":52361,"t":"code","b":[253,220,5],"m":"sbc","oa":1500,"o":"propeller_y,x"},{"a":52364,"t":"code","b":[32,142,240],"m":"jsr","oa":61582,"o":"abs"},{"a":52367,"t":"code","b":[133,19],"m":"sta","oa":19,"o":"tmp13"},{"a":52369,"t":"code","b":[189,250,5],"m":"lda","oa":1530,"o":"propeller_phase,x"},{"a":52372,"t":"code","b":[201,3],"m":"cmp","o":"#$03"},{"a":52374,"t":"code","b":[240,10],"m":"beq","oa":52386,"o":"b_CCA2"},{"a":52376,"t":"code","b":[165,18],"m":"lda","oa":18,"o":"tmp12"},{"a":52378,"t":"code","b":[72],"m":"pha"},{"a":52379,"t":"code","b":[165,19],"m":"lda","oa":19,"o":"tmp13"},{"a":52381,"t":"code","b":[133,18],"m":"sta","oa":18,"o":"tmp12"},{"a":52383,"t":"code","b":[104],"m":"pla"},{"a":52384,"t":"code","b":[133,19],"m":"sta","oa":19,"o":"tmp13"},{"a":52386,"l":"b_CCA2","t":"code","b":[165,18],"m":"lda","oa":18,"o":"tmp12","x":[52374]},{"a":52388,"t":"code","b":[201,20],"m":"cmp","o":"#$14"},{"a":52390,"t":"code","b":[176,16],"m":"bcs","oa":52408,"o":"b_CCB8"},{"a":52392,"t":"code","b":[165,19],"m":"lda","oa":19,"o":"tmp13"},{"a":52394,"t":"code","b":[201,11],"m":"cmp","o":"#$0B"},{"a":52396,"t":"code","b":[176,10],"m":"bcs","oa":52408,"o":"b_CCB8"},{"a":52398,"t":"code","b":[169,1],"m":"lda","o":"#$01"},{"a":52400,"t":"code","b":[157,4,6],"m":"sta","oa":1540,"o":"propeller_spinning,x"},{"a":52403,"t":"code","b":[169,50],"m":"lda","o":"#$32"},{"a":52405,"t":"code","b":[157,14,6],"m":"sta","oa":1550,"o":"propeller_spin_timer,x"},{"a":52408,"l":"b_CCB8","t":"code","b":[136],"m":"dey","x":[52285,52287,52390,52396]},{"a":52409,"t":"code","b":[48,3],"m":"bmi","oa":52414,"o":"r_CCBE"},{"a":52411,"t":"code","b":[76,58,204],"m":"jmp","oa":52282,"o":"propeller_touch"},{"a":52414,"l":"r_CCBE","t":"code","b":[96],"m":"rts","x":[52409]},{"a":52415,"l":"propeller_stand","c":"The actor stands on the propeller: landed_flag set and actor_ground_state run for it.","t":"code","b":[138],"m":"txa","x":[52336]},{"a":52416,"t":"code","b":[72],"m":"pha"},{"a":52417,"t":"code","b":[152],"m":"tya"},{"a":52418,"t":"code","b":[170],"m":"tax"},{"a":52419,"t":"code","b":[230,203],"m":"inc","oa":203,"o":"landed_flag"},{"a":52421,"t":"code","b":[32,131,233],"m":"jsr","oa":59779,"o":"actor_ground_state"},{"a":52424,"t":"code","b":[104],"m":"pla"},{"a":52425,"t":"code","b":[170],"m":"tax"},{"a":52426,"t":"code","b":[96],"m":"rts"},{"a":52427,"l":"propeller_draw","c":"Draws a propeller as three rows of three background tiles, queued one row at a time at its nametable address, the tiles from the nine propeller_tiles tables by its phase.","t":"code","b":[189,240,5],"m":"lda","oa":1520,"o":"propeller_addr_hi,x","x":[52114,54636]},{"a":52430,"t":"code","b":[133,87],"m":"sta","oa":87,"o":"text_buf"},{"a":52432,"t":"code","b":[189,230,5],"m":"lda","oa":1510,"o":"propeller_addr_lo,x"},{"a":52435,"t":"code","b":[133,88],"m":"sta","oa":88,"o":"text_buf_1"},{"a":52437,"t":"code","b":[169,3],"m":"lda","o":"#$03"},{"a":52439,"t":"code","b":[133,89],"m":"sta","oa":89,"o":"text_buf_2"},{"a":52441,"t":"code","b":[188,250,5],"m":"ldy","oa":1530,"o":"propeller_phase,x"},{"a":52444,"t":"code","b":[185,38,205],"m":"lda","oa":52518,"o":"propeller_tiles,y"},{"a":52447,"t":"code","b":[133,90],"m":"sta","oa":90,"o":"text_buf_3"},{"a":52449,"t":"code","b":[185,42,205],"m":"lda","oa":52522,"o":"propeller_tiles_2,y"},{"a":52452,"t":"code","b":[133,91],"m":"sta","oa":91,"o":"text_buf_4"},{"a":52454,"t":"code","b":[185,46,205],"m":"lda","oa":52526,"o":"propeller_tiles_3,y"},{"a":52457,"t":"code","b":[133,92],"m":"sta","oa":92,"o":"text_buf_5"},{"a":52459,"t":"code","b":[32,15,205],"m":"jsr","oa":52495,"o":"queue_propeller_row"},{"a":52462,"t":"code","b":[185,50,205],"m":"lda","oa":52530,"o":"propeller_tiles_4,y"},{"a":52465,"t":"code","b":[133,90],"m":"sta","oa":90,"o":"text_buf_3"},{"a":52467,"t":"code","b":[185,54,205],"m":"lda","oa":52534,"o":"propeller_tiles_5,y"},{"a":52470,"t":"code","b":[133,91],"m":"sta","oa":91,"o":"text_buf_4"},{"a":52472,"t":"code","b":[185,58,205],"m":"lda","oa":52538,"o":"propeller_tiles_6,y"},{"a":52475,"t":"code","b":[133,92],"m":"sta","oa":92,"o":"text_buf_5"},{"a":52477,"t":"code","b":[32,15,205],"m":"jsr","oa":52495,"o":"queue_propeller_row"},{"a":52480,"t":"code","b":[185,62,205],"m":"lda","oa":52542,"o":"propeller_tiles_7,y"},{"a":52483,"t":"code","b":[133,90],"m":"sta","oa":90,"o":"text_buf_3"},{"a":52485,"t":"code","b":[185,66,205],"m":"lda","oa":52546,"o":"propeller_tiles_8,y"},{"a":52488,"t":"code","b":[133,91],"m":"sta","oa":91,"o":"text_buf_4"},{"a":52490,"t":"code","b":[185,70,205],"m":"lda","oa":52550,"o":"propeller_tiles_9,y"},{"a":52493,"t":"code","b":[133,92],"m":"sta","oa":92,"o":"text_buf_5"},{"a":52495,"l":"queue_propeller_row","c":"Queues the row in text_buf and moves the address down one row (32).","t":"code","b":[152],"m":"tya","x":[52459,52477]},{"a":52496,"t":"code","b":[72],"m":"pha"},{"a":52497,"t":"code","b":[169,87],"m":"lda","o":"#$57"},{"a":52499,"t":"code","b":[160,0],"m":"ldy","o":"#$00"},{"a":52501,"t":"code","b":[32,49,193],"m":"jsr","oa":49457,"o":"queue_block"},{"a":52504,"t":"code","b":[104],"m":"pla"},{"a":52505,"t":"code","b":[168],"m":"tay"},{"a":52506,"t":"code","b":[165,88],"m":"lda","oa":88,"o":"text_buf_1"},{"a":52508,"t":"code","b":[24],"m":"clc"},{"a":52509,"t":"code","b":[105,32],"m":"adc","o":"#$20"},{"a":52511,"t":"code","b":[133,88],"m":"sta","oa":88,"o":"text_buf_1"},{"a":52513,"t":"code","b":[144,2],"m":"bcc","oa":52517,"o":"r_CD25"},{"a":52515,"t":"code","b":[230,87],"m":"inc","oa":87,"o":"text_buf"},{"a":52517,"l":"r_CD25","t":"code","b":[96],"m":"rts","x":[52513]},{"a":52518,"l":"propeller_tiles","c":"Nine tables of four bytes: the tile at each of the propeller's nine cells for each of its four phases ($24 is blank).","t":"byte","b":[161,36,36,36],"x":[52444]},{"a":52522,"l":"propeller_tiles_2","c":"propeller_tiles, cell 2 (top middle).","t":"byte","b":[162,158,171,36],"x":[52449]},{"a":52526,"l":"propeller_tiles_3","c":"propeller_tiles, cell 3 (top right).","t":"byte","b":[36,36,172,36],"x":[52454]},{"a":52530,"l":"propeller_tiles_4","c":"propeller_tiles, cell 4 (middle left).","t":"byte","b":[163,36,173,168],"x":[52462]},{"a":52534,"l":"propeller_tiles_5","c":"propeller_tiles, cell 5 (the centre).","t":"byte","b":[164,159,174,169],"x":[52467]},{"a":52538,"l":"propeller_tiles_6","c":"propeller_tiles, cell 6 (middle right).","t":"byte","b":[165,36,175,170],"x":[52472]},{"a":52542,"l":"propeller_tiles_7","c":"propeller_tiles, cell 7 (bottom left).","t":"byte","b":[36,36,176,36],"x":[52480]},{"a":52546,"l":"propeller_tiles_8","c":"propeller_tiles, cell 8 (bottom middle).","t":"byte","b":[166,160,177,36],"x":[52485]},{"a":52550,"l":"propeller_tiles_9","c":"propeller_tiles, cell 9 (bottom right).","t":"byte","b":[167,36,36,36],"x":[52490]},{"a":52554,"l":"balloons_clear","c":"All ten balloon slots off (state $FF, Y $F0).","t":"code","b":[162,9],"m":"ldx","o":"#$09","x":[49638,53018]},{"a":52556,"l":"b_CD4C","t":"code","b":[169,255],"m":"lda","o":"#$FF","x":[52567]},{"a":52558,"t":"code","b":[157,93,5],"m":"sta","oa":1373,"o":"balloon_state,x"},{"a":52561,"t":"code","b":[169,240],"m":"lda","o":"#$F0"},{"a":52563,"t":"code","b":[157,123,5],"m":"sta","oa":1403,"o":"balloon_y,x"},{"a":52566,"t":"code","b":[202],"m":"dex"},{"a":52567,"t":"code","b":[16,243],"m":"bpl","oa":52556,"o":"b_CD4C"},{"a":52569,"t":"code","b":[96],"m":"rts"},{"a":52570,"l":"balloon_spawn","c":"Bonus round: when balloon_spawn_timer runs out, reload it with a random 40 to 103 frames and start a balloon in a free slot from the water line (Y $D0) at one of the four chimneys (chimney_x by a random 0 to 3), with a random sway; one fewer to launch.","t":"code","b":[206,204,5],"m":"dec","oa":1484,"o":"balloon_spawn_timer","x":[53060]},{"a":52573,"t":"code","b":[240,1],"m":"beq","oa":52576,"o":"b_CD60"},{"a":52575,"t":"code","b":[96],"m":"rts"},{"a":52576,"l":"b_CD60","t":"code","b":[165,27],"m":"lda","oa":27,"o":"random","x":[52573]},{"a":52578,"t":"code","b":[41,63],"m":"and","o":"#$3F"},{"a":52580,"t":"code","b":[105,40],"m":"adc","o":"#$28"},{"a":52582,"t":"code","b":[141,204,5],"m":"sta","oa":1484,"o":"balloon_spawn_timer"},{"a":52585,"t":"code","b":[162,9],"m":"ldx","o":"#$09"},{"a":52587,"l":"b_CD6B","t":"code","b":[189,93,5],"m":"lda","oa":1373,"o":"balloon_state,x","x":[52593]},{"a":52590,"t":"code","b":[48,4],"m":"bmi","oa":52596,"o":"b_CD74"},{"a":52592,"t":"code","b":[202],"m":"dex"},{"a":52593,"t":"code","b":[16,248],"m":"bpl","oa":52587,"o":"b_CD6B"},{"a":52595,"t":"code","b":[96],"m":"rts"},{"a":52596,"l":"b_CD74","t":"code","b":[169,0],"m":"lda","o":"#$00","x":[52590]},{"a":52598,"t":"code","b":[157,93,5],"m":"sta","oa":1373,"o":"balloon_state,x"},{"a":52601,"t":"code","b":[157,153,5],"m":"sta","oa":1433,"o":"balloon_vx_lo,x"},{"a":52604,"t":"code","b":[157,143,5],"m":"sta","oa":1423,"o":"balloon_vx_hi,x"},{"a":52607,"t":"code","b":[169,128],"m":"lda","o":"#$80"},{"a":52609,"t":"code","b":[157,113,5],"m":"sta","oa":1393,"o":"balloon_x_frac,x"},{"a":52612,"t":"code","b":[157,133,5],"m":"sta","oa":1413,"o":"balloon_y_frac,x"},{"a":52615,"t":"code","b":[169,208],"m":"lda","o":"#$D0"},{"a":52617,"t":"code","b":[157,123,5],"m":"sta","oa":1403,"o":"balloon_y,x"},{"a":52620,"t":"code","b":[32,179,241],"m":"jsr","oa":61875,"o":"next_random"},{"a":52623,"t":"code","b":[41,3],"m":"and","o":"#$03"},{"a":52625,"t":"code","b":[168],"m":"tay"},{"a":52626,"t":"code","b":[185,174,206],"m":"lda","oa":52910,"o":"chimney_x,y"},{"a":52629,"t":"code","b":[157,103,5],"m":"sta","oa":1383,"o":"balloon_x,x"},{"a":52632,"t":"code","b":[160,0],"m":"ldy","o":"#$00"},{"a":52634,"t":"code","b":[165,27],"m":"lda","oa":27,"o":"random"},{"a":52636,"t":"code","b":[157,183,5],"m":"sta","oa":1463,"o":"balloon_sway_lo,x"},{"a":52639,"t":"code","b":[16,1],"m":"bpl","oa":52642,"o":"b_CDA2"},{"a":52641,"t":"code","b":[136],"m":"dey"},{"a":52642,"l":"b_CDA2","t":"code","b":[152],"m":"tya","x":[52639]},{"a":52643,"t":"code","b":[157,193,5],"m":"sta","oa":1473,"o":"balloon_sway_hi,x"},{"a":52646,"t":"code","b":[206,203,5],"m":"dec","oa":1483,"o":"balloons_to_launch"},{"a":52649,"t":"code","b":[96],"m":"rts"},{"a":52650,"l":"balloons_update","c":"Each balloon once a frame: a balloon rising sways from side to side (sway position and velocity drive each other, a spring, scaled by 16), rises by balloon_rise_speed, becomes state 1 at Y $A8 and is off at Y $F0; then draw and test against the players.","t":"code","b":[162,9],"m":"ldx","o":"#$09","x":[53063]},{"a":52652,"l":"j_CDAC","t":"code","b":[189,93,5],"m":"lda","oa":1373,"o":"balloon_state,x","x":[52779]},{"a":52655,"t":"code","b":[48,113],"m":"bmi","oa":52770,"o":"b_CE22"},{"a":52657,"t":"code","b":[240,73],"m":"beq","oa":52732,"o":"b_CDFC"},{"a":52659,"t":"code","b":[189,153,5],"m":"lda","oa":1433,"o":"balloon_vx_lo,x"},{"a":52662,"t":"code","b":[133,18],"m":"sta","oa":18,"o":"tmp12"},{"a":52664,"t":"code","b":[189,143,5],"m":"lda","oa":1423,"o":"balloon_vx_hi,x"},{"a":52667,"t":"code","b":[133,19],"m":"sta","oa":19,"o":"tmp13"},{"a":52669,"t":"code","b":[32,166,241],"m":"jsr","oa":61862,"o":"shift_right_4"},{"a":52672,"t":"code","b":[189,183,5],"m":"lda","oa":1463,"o":"balloon_sway_lo,x"},{"a":52675,"t":"code","b":[24],"m":"clc"},{"a":52676,"t":"code","b":[101,18],"m":"adc","oa":18,"o":"tmp12"},{"a":52678,"t":"code","b":[157,183,5],"m":"sta","oa":1463,"o":"balloon_sway_lo,x"},{"a":52681,"t":"code","b":[133,18],"m":"sta","oa":18,"o":"tmp12"},{"a":52683,"t":"code","b":[189,193,5],"m":"lda","oa":1473,"o":"balloon_sway_hi,x"},{"a":52686,"t":"code","b":[101,19],"m":"adc","oa":19,"o":"tmp13"},{"a":52688,"t":"code","b":[157,193,5],"m":"sta","oa":1473,"o":"balloon_sway_hi,x"},{"a":52691,"t":"code","b":[133,19],"m":"sta","oa":19,"o":"tmp13"},{"a":52693,"t":"code","b":[32,166,241],"m":"jsr","oa":61862,"o":"shift_right_4"},{"a":52696,"t":"code","b":[189,153,5],"m":"lda","oa":1433,"o":"balloon_vx_lo,x"},{"a":52699,"t":"code","b":[56],"m":"sec"},{"a":52700,"t":"code","b":[229,18],"m":"sbc","oa":18,"o":"tmp12"},{"a":52702,"t":"code","b":[157,153,5],"m":"sta","oa":1433,"o":"balloon_vx_lo,x"},{"a":52705,"t":"code","b":[189,143,5],"m":"lda","oa":1423,"o":"balloon_vx_hi,x"},{"a":52708,"t":"code","b":[229,19],"m":"sbc","oa":19,"o":"tmp13"},{"a":52710,"t":"code","b":[157,143,5],"m":"sta","oa":1423,"o":"balloon_vx_hi,x"},{"a":52713,"t":"code","b":[189,113,5],"m":"lda","oa":1393,"o":"balloon_x_frac,x"},{"a":52716,"t":"code","b":[24],"m":"clc"},{"a":52717,"t":"code","b":[125,153,5],"m":"adc","oa":1433,"o":"balloon_vx_lo,x"},{"a":52720,"t":"code","b":[157,113,5],"m":"sta","oa":1393,"o":"balloon_x_frac,x"},{"a":52723,"t":"code","b":[189,103,5],"m":"lda","oa":1383,"o":"balloon_x,x"},{"a":52726,"t":"code","b":[125,143,5],"m":"adc","oa":1423,"o":"balloon_vx_hi,x"},{"a":52729,"t":"code","b":[157,103,5],"m":"sta","oa":1383,"o":"balloon_x,x"},{"a":52732,"l":"b_CDFC","t":"code","b":[189,133,5],"m":"lda","oa":1413,"o":"balloon_y_frac,x","x":[52657]},{"a":52735,"t":"code","b":[56],"m":"sec"},{"a":52736,"t":"code","b":[237,90,5],"m":"sbc","oa":1370,"o":"balloon_rise_speed"},{"a":52739,"t":"code","b":[157,133,5],"m":"sta","oa":1413,"o":"balloon_y_frac,x"},{"a":52742,"t":"code","b":[176,3],"m":"bcs","oa":52747,"o":"b_CE0B"},{"a":52744,"t":"code","b":[222,123,5],"m":"dec","oa":1403,"o":"balloon_y,x"},{"a":52747,"l":"b_CE0B","t":"code","b":[189,123,5],"m":"lda","oa":1403,"o":"balloon_y,x","x":[52742]},{"a":52750,"t":"code","b":[201,240],"m":"cmp","o":"#$F0"},{"a":52752,"t":"code","b":[240,11],"m":"beq","oa":52765,"o":"b_CE1D"},{"a":52754,"t":"code","b":[201,168],"m":"cmp","o":"#$A8"},{"a":52756,"t":"code","b":[176,12],"m":"bcs","oa":52770,"o":"b_CE22"},{"a":52758,"t":"code","b":[169,1],"m":"lda","o":"#$01"},{"a":52760,"t":"code","b":[157,93,5],"m":"sta","oa":1373,"o":"balloon_state,x"},{"a":52763,"t":"code","b":[208,5],"m":"bne","oa":52770,"o":"b_CE22"},{"a":52765,"l":"b_CE1D","t":"code","b":[169,255],"m":"lda","o":"#$FF","x":[52752]},{"a":52767,"t":"code","b":[157,93,5],"m":"sta","oa":1373,"o":"balloon_state,x"},{"a":52770,"l":"b_CE22","t":"code","b":[32,47,206],"m":"jsr","oa":52783,"o":"balloon_draw","x":[52655,52756,52763]},{"a":52773,"t":"code","b":[32,206,206],"m":"jsr","oa":52942,"o":"balloon_hit_players"},{"a":52776,"t":"code","b":[202],"m":"dex"},{"a":52777,"t":"code","b":[48,3],"m":"bmi","oa":52782,"o":"r_CE2E"},{"a":52779,"t":"code","b":[76,172,205],"m":"jmp","oa":52652,"o":"j_CDAC"},{"a":52782,"l":"r_CE2E","t":"code","b":[96],"m":"rts","x":[52777]},{"a":52783,"l":"balloon_draw","c":"Draws a balloon with three sprites (two top tiles $A8, $A9 and a bottom tile animated from balloon_bottom_tiles and balloon_bottom_flips by the frame), its palette from balloon_palettes by state; a slot that is off hides them (Y $F0) with tiles $AC, $AD. The bonus round's and Balloon Trip's balloons, the results screen's icons and the title screen's cursor are all drawn here.","t":"code","b":[188,93,5],"m":"ldy","oa":1373,"o":"balloon_state,x","x":[49903,52770,53173,53277,53294,56100]},{"a":52786,"t":"code","b":[200],"m":"iny"},{"a":52787,"t":"code","b":[185,178,206],"m":"lda","oa":52914,"o":"balloon_palettes,y"},{"a":52790,"t":"code","b":[133,19],"m":"sta","oa":19,"o":"tmp13"},{"a":52792,"t":"code","b":[138],"m":"txa"},{"a":52793,"t":"code","b":[133,18],"m":"sta","oa":18,"o":"tmp12"},{"a":52795,"t":"code","b":[10],"m":"asl","o":"a"},{"a":52796,"t":"code","b":[101,18],"m":"adc","oa":18,"o":"tmp12"},{"a":52798,"t":"code","b":[10],"m":"asl","o":"a"},{"a":52799,"t":"code","b":[10],"m":"asl","o":"a"},{"a":52800,"t":"code","b":[168],"m":"tay"},{"a":52801,"t":"code","b":[189,123,5],"m":"lda","oa":1403,"o":"balloon_y,x"},{"a":52804,"t":"code","b":[153,80,2],"m":"sta","oa":592,"o":"sprite_bubbles,y"},{"a":52807,"t":"code","b":[153,84,2],"m":"sta","oa":596,"o":"sprite_bubbles_y2,y"},{"a":52810,"t":"code","b":[24],"m":"clc"},{"a":52811,"t":"code","b":[105,8],"m":"adc","o":"#$08"},{"a":52813,"t":"code","b":[153,88,2],"m":"sta","oa":600,"o":"sprite_bubbles_y3,y"},{"a":52816,"t":"code","b":[189,103,5],"m":"lda","oa":1383,"o":"balloon_x,x"},{"a":52819,"t":"code","b":[153,83,2],"m":"sta","oa":595,"o":"sprite_bubbles_x,y"},{"a":52822,"t":"code","b":[24],"m":"clc"},{"a":52823,"t":"code","b":[105,4],"m":"adc","o":"#$04"},{"a":52825,"t":"code","b":[153,91,2],"m":"sta","oa":603,"o":"sprite_bubbles_x3,y"},{"a":52828,"t":"code","b":[24],"m":"clc"},{"a":52829,"t":"code","b":[105,4],"m":"adc","o":"#$04"},{"a":52831,"t":"code","b":[153,87,2],"m":"sta","oa":599,"o":"sprite_bubbles_x2,y"},{"a":52834,"t":"code","b":[165,19],"m":"lda","oa":19,"o":"tmp13"},{"a":52836,"t":"code","b":[153,82,2],"m":"sta","oa":594,"o":"sprite_bubbles_attr,y"},{"a":52839,"t":"code","b":[153,86,2],"m":"sta","oa":598,"o":"sprite_bubbles_attr2,y"},{"a":52842,"t":"code","b":[153,90,2],"m":"sta","oa":602,"o":"sprite_bubbles_attr3,y"},{"a":52845,"t":"code","b":[189,93,5],"m":"lda","oa":1373,"o":"balloon_state,x"},{"a":52848,"t":"code","b":[48,39],"m":"bmi","oa":52889,"o":"b_CE99"},{"a":52850,"t":"code","b":[169,168],"m":"lda","o":"#$A8"},{"a":52852,"t":"code","b":[153,81,2],"m":"sta","oa":593,"o":"sprite_bubbles_tile,y"},{"a":52855,"t":"code","b":[169,169],"m":"lda","o":"#$A9"},{"a":52857,"t":"code","b":[153,85,2],"m":"sta","oa":597,"o":"sprite_bubbles_tile2,y"},{"a":52860,"t":"code","b":[165,25],"m":"lda","oa":25,"o":"frame_counter"},{"a":52862,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":52863,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":52864,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":52865,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":52866,"t":"code","b":[41,7],"m":"and","o":"#$07"},{"a":52868,"t":"code","b":[134,19],"m":"stx","oa":19,"o":"tmp13"},{"a":52870,"t":"code","b":[170],"m":"tax"},{"a":52871,"t":"code","b":[189,181,206],"m":"lda","oa":52917,"o":"balloon_bottom_tiles,x"},{"a":52874,"t":"code","b":[153,89,2],"m":"sta","oa":601,"o":"sprite_bubbles_tile3,y"},{"a":52877,"t":"code","b":[185,90,2],"m":"lda","oa":602,"o":"sprite_bubbles_attr3,y"},{"a":52880,"t":"code","b":[93,189,206],"m":"eor","oa":52925,"o":"balloon_bottom_flips,x"},{"a":52883,"t":"code","b":[153,90,2],"m":"sta","oa":602,"o":"sprite_bubbles_attr3,y"},{"a":52886,"t":"code","b":[166,19],"m":"ldx","oa":19,"o":"tmp13"},{"a":52888,"t":"code","b":[96],"m":"rts"},{"a":52889,"l":"b_CE99","t":"code","b":[169,240],"m":"lda","o":"#$F0","x":[52848]},{"a":52891,"t":"code","b":[157,123,5],"m":"sta","oa":1403,"o":"balloon_y,x"},{"a":52894,"t":"code","b":[169,172],"m":"lda","o":"#$AC"},{"a":52896,"t":"code","b":[153,81,2],"m":"sta","oa":593,"o":"sprite_bubbles_tile,y"},{"a":52899,"t":"code","b":[169,173],"m":"lda","o":"#$AD"},{"a":52901,"t":"code","b":[153,85,2],"m":"sta","oa":597,"o":"sprite_bubbles_tile2,y"},{"a":52904,"t":"code","b":[169,252],"m":"lda","o":"#$FC"},{"a":52906,"t":"code","b":[153,89,2],"m":"sta","oa":601,"o":"sprite_bubbles_tile3,y"},{"a":52909,"t":"code","b":[96],"m":"rts"},{"a":52910,"l":"chimney_x","c":"X of the four chimneys balloons rise from: $20, $50, $A0, $D0.","t":"byte","b":[32,80,160,208],"x":[52626]},{"a":52914,"l":"balloon_palettes","c":"Sprite attribute for a balloon by state plus one: 2, $22 (behind the background), 2.","t":"byte","b":[2,34,2],"x":[52787]},{"a":52917,"l":"balloon_bottom_tiles","c":"The bottom tile of a balloon's string for each of 8 animation steps: $AA or $AB.","t":"byte","b":[170,171,171,170,170,171,171,170],"x":[52871]},{"a":52925,"l":"balloon_bottom_flips","c":"The flip bit for the string's tile for each step. The nine bytes after ($FC, $FC, $DF, $FC, $FC, $E0, $E2, $E1, $FC) are not read.","t":"byte","b":[0,0,64,64,64,64,0,0],"x":[52880]},{"a":52933,"t":"byte","b":[252,252,223,252,252,224,226,225]},{"a":52941,"t":"byte","b":[252]},{"a":52942,"l":"balloon_hit_players","c":"For each player alive with balloons: a balloon within 24 pixels vertically and 16 horizontally is popped: it is removed, the player's balloons_popped goes up and the hit sound is asked for.","t":"code","b":[160,1],"m":"ldy","o":"#$01","x":[49879,52773]},{"a":52944,"l":"b_CED0","t":"code","b":[185,136,0],"m":"lda","oa":136,"o":"actor_balloons,y","x":[53008]},{"a":52947,"t":"code","b":[48,58],"m":"bmi","oa":53007,"o":"b_CF0F"},{"a":52949,"t":"code","b":[240,56],"m":"beq","oa":53007,"o":"b_CF0F"},{"a":52951,"t":"code","b":[189,93,5],"m":"lda","oa":1373,"o":"balloon_state,x"},{"a":52954,"t":"code","b":[48,54],"m":"bmi","oa":53010,"o":"r_CF12"},{"a":52956,"t":"code","b":[185,154,0],"m":"lda","oa":154,"o":"actor_y,y"},{"a":52959,"t":"code","b":[201,192],"m":"cmp","o":"#$C0"},{"a":52961,"t":"code","b":[176,44],"m":"bcs","oa":53007,"o":"b_CF0F"},{"a":52963,"t":"code","b":[56],"m":"sec"},{"a":52964,"t":"code","b":[253,123,5],"m":"sbc","oa":1403,"o":"balloon_y,x"},{"a":52967,"t":"code","b":[32,142,240],"m":"jsr","oa":61582,"o":"abs"},{"a":52970,"t":"code","b":[201,24],"m":"cmp","o":"#$18"},{"a":52972,"t":"code","b":[176,33],"m":"bcs","oa":53007,"o":"b_CF0F"},{"a":52974,"t":"code","b":[185,145,0],"m":"lda","oa":145,"o":"actor_x,y"},{"a":52977,"t":"code","b":[56],"m":"sec"},{"a":52978,"t":"code","b":[253,103,5],"m":"sbc","oa":1383,"o":"balloon_x,x"},{"a":52981,"t":"code","b":[32,142,240],"m":"jsr","oa":61582,"o":"abs"},{"a":52984,"t":"code","b":[201,16],"m":"cmp","o":"#$10"},{"a":52986,"t":"code","b":[176,19],"m":"bcs","oa":53007,"o":"b_CF0F"},{"a":52988,"t":"code","b":[169,255],"m":"lda","o":"#$FF"},{"a":52990,"t":"code","b":[157,93,5],"m":"sta","oa":1373,"o":"balloon_state,x"},{"a":52993,"t":"code","b":[185,205,5],"m":"lda","oa":1485,"o":"balloons_popped,y"},{"a":52996,"t":"code","b":[24],"m":"clc"},{"a":52997,"t":"code","b":[105,1],"m":"adc","o":"#$01"},{"a":52999,"t":"code","b":[153,205,5],"m":"sta","oa":1485,"o":"balloons_popped,y"},{"a":53002,"t":"code","b":[169,2],"m":"lda","o":"#$02"},{"a":53004,"t":"code","b":[133,240],"m":"sta","oa":240,"o":"sfx_request_a"},{"a":53006,"t":"code","b":[96],"m":"rts"},{"a":53007,"l":"b_CF0F","t":"code","b":[136],"m":"dey","x":[52947,52949,52961,52972,52986]},{"a":53008,"t":"code","b":[16,190],"m":"bpl","oa":52944,"o":"b_CED0"},{"a":53010,"l":"r_CF12","t":"code","b":[96],"m":"rts","x":[52954]},{"a":53011,"l":"bonus_round_play","c":"A bonus round (every fourth phase index). The music, the round's values, the balloons cleared, both players placed standing, 20 balloons to launch; then a loop: wait, a star, popups, actors, spawn a balloon while any are left, update them; until every balloon has been launched and has gone (or popped), ending on a frame where frame_counter is 0. Then the results screen: the palette and attributes, each player standing with a balloon icon, the counts, then each count is multiplied by the balloon value and written as text (bonus_show_totals), and counted down into the score 100 points at a time with a tick. All 20 popped: PERFECT!!! and SUPER BONUS NN000PTS! with the perfect jingle, and the perfect bonus added (perfect_tens and perfect_units in thousands). Then the next phase.","t":"code","b":[169,32],"m":"lda","o":"#$20","x":[62111]},{"a":53013,"t":"code","b":[133,242],"m":"sta","oa":242,"o":"music_request"},{"a":53015,"t":"code","b":[32,226,208],"m":"jsr","oa":53474,"o":"set_bonus_round_values"},{"a":53018,"t":"code","b":[32,74,205],"m":"jsr","oa":52554,"o":"balloons_clear"},{"a":53021,"t":"code","b":[166,64],"m":"ldx","oa":64,"o":"two_players"},{"a":53023,"l":"b_CF1F","t":"code","b":[181,65],"m":"lda","oa":65,"o":"lives,x","x":[53031]},{"a":53025,"t":"code","b":[48,3],"m":"bmi","oa":53030,"o":"b_CF26"},{"a":53027,"t":"code","b":[32,176,243],"m":"jsr","oa":62384,"o":"actor_init_player"},{"a":53030,"l":"b_CF26","t":"code","b":[202],"m":"dex","x":[53025]},{"a":53031,"t":"code","b":[16,246],"m":"bpl","oa":53023,"o":"b_CF1F"},{"a":53033,"t":"code","b":[162,0],"m":"ldx","o":"#$00"},{"a":53035,"t":"code","b":[134,189],"m":"stx","oa":189,"o":"invulnerable"},{"a":53037,"t":"code","b":[134,190],"m":"stx","oa":190,"o":"invulnerable_p2"},{"a":53039,"t":"code","b":[169,20],"m":"lda","o":"#$14"},{"a":53041,"t":"code","b":[141,203,5],"m":"sta","oa":1483,"o":"balloons_to_launch"},{"a":53044,"l":"b_CF34","t":"code","b":[32,112,244],"m":"jsr","oa":62576,"o":"wait_frame_pause","x":[53069,53076,53083]},{"a":53047,"t":"code","b":[230,76],"m":"inc","oa":76,"o":"stars_to_twinkle"},{"a":53049,"t":"code","b":[32,221,216],"m":"jsr","oa":55517,"o":"popups_countdown"},{"a":53052,"t":"code","b":[32,145,230],"m":"jsr","oa":59025,"o":"actors_update"},{"a":53055,"t":"code","b":[173,203,5],"m":"lda","oa":1483,"o":"balloons_to_launch"},{"a":53058,"t":"code","b":[240,3],"m":"beq","oa":53063,"o":"b_CF47"},{"a":53060,"t":"code","b":[32,90,205],"m":"jsr","oa":52570,"o":"balloon_spawn"},{"a":53063,"l":"b_CF47","t":"code","b":[32,170,205],"m":"jsr","oa":52650,"o":"balloons_update","x":[53058]},{"a":53066,"t":"code","b":[173,203,5],"m":"lda","oa":1483,"o":"balloons_to_launch"},{"a":53069,"t":"code","b":[208,229],"m":"bne","oa":53044,"o":"b_CF34"},{"a":53071,"t":"code","b":[162,9],"m":"ldx","o":"#$09"},{"a":53073,"l":"b_CF51","t":"code","b":[189,93,5],"m":"lda","oa":1373,"o":"balloon_state,x","x":[53079]},{"a":53076,"t":"code","b":[16,222],"m":"bpl","oa":53044,"o":"b_CF34"},{"a":53078,"t":"code","b":[202],"m":"dex"},{"a":53079,"t":"code","b":[16,248],"m":"bpl","oa":53073,"o":"b_CF51"},{"a":53081,"t":"code","b":[165,25],"m":"lda","oa":25,"o":"frame_counter"},{"a":53083,"t":"code","b":[208,215],"m":"bne","oa":53044,"o":"b_CF34"},{"a":53085,"t":"code","b":[32,70,210],"m":"jsr","oa":53830,"o":"clear_screen"},{"a":53088,"t":"code","b":[162,2],"m":"ldx","o":"#$02"},{"a":53090,"t":"code","b":[134,70],"m":"stx","oa":70,"o":"status_request"},{"a":53092,"t":"code","b":[32,94,244],"m":"jsr","oa":62558,"o":"wait_x_frames"},{"a":53095,"t":"code","b":[169,43],"m":"lda","o":"#$2B"},{"a":53097,"t":"code","b":[160,209],"m":"ldy","o":"#$D1"},{"a":53099,"t":"code","b":[32,49,193],"m":"jsr","oa":49457,"o":"queue_block"},{"a":53102,"t":"code","b":[169,90],"m":"lda","o":"#$5A"},{"a":53104,"t":"code","b":[160,209],"m":"ldy","o":"#$D1"},{"a":53106,"t":"code","b":[32,49,193],"m":"jsr","oa":49457,"o":"queue_block"},{"a":53109,"t":"code","b":[169,101],"m":"lda","o":"#$65"},{"a":53111,"t":"code","b":[160,209],"m":"ldy","o":"#$D1"},{"a":53113,"t":"code","b":[32,49,193],"m":"jsr","oa":49457,"o":"queue_block"},{"a":53116,"t":"code","b":[166,64],"m":"ldx","oa":64,"o":"two_players"},{"a":53118,"l":"b_CF7E","t":"code","b":[169,32],"m":"lda","o":"#$20","x":[53143]},{"a":53120,"t":"code","b":[149,145],"m":"sta","oa":145,"o":"actor_x,x"},{"a":53122,"t":"code","b":[189,158,209],"m":"lda","oa":53662,"o":"bonus_player_y,x"},{"a":53125,"t":"code","b":[149,154],"m":"sta","oa":154,"o":"actor_y,x"},{"a":53127,"t":"code","b":[169,3],"m":"lda","o":"#$03"},{"a":53129,"t":"code","b":[149,127],"m":"sta","oa":127,"o":"actor_action,x"},{"a":53131,"t":"code","b":[169,1],"m":"lda","o":"#$01"},{"a":53133,"t":"code","b":[157,72,4],"m":"sta","oa":1096,"o":"actor_facing,x"},{"a":53136,"t":"code","b":[32,176,243],"m":"jsr","oa":62384,"o":"actor_init_player"},{"a":53139,"t":"code","b":[32,164,227],"m":"jsr","oa":58276,"o":"draw_actor"},{"a":53142,"t":"code","b":[202],"m":"dex"},{"a":53143,"t":"code","b":[16,229],"m":"bpl","oa":53118,"o":"b_CF7E"},{"a":53145,"t":"code","b":[169,68],"m":"lda","o":"#$44"},{"a":53147,"t":"code","b":[141,103,5],"m":"sta","oa":1383,"o":"balloon_x"},{"a":53150,"t":"code","b":[141,104,5],"m":"sta","oa":1384,"o":"balloon_x_1"},{"a":53153,"t":"code","b":[169,84],"m":"lda","o":"#$54"},{"a":53155,"t":"code","b":[141,123,5],"m":"sta","oa":1403,"o":"balloon_y"},{"a":53158,"t":"code","b":[169,116],"m":"lda","o":"#$74"},{"a":53160,"t":"code","b":[141,124,5],"m":"sta","oa":1404,"o":"balloon_y_1"},{"a":53163,"t":"code","b":[169,1],"m":"lda","o":"#$01"},{"a":53165,"t":"code","b":[141,93,5],"m":"sta","oa":1373,"o":"balloon_state"},{"a":53168,"t":"code","b":[141,94,5],"m":"sta","oa":1374,"o":"balloon_state_1"},{"a":53171,"t":"code","b":[166,64],"m":"ldx","oa":64,"o":"two_players"},{"a":53173,"l":"b_CFB5","t":"code","b":[32,47,206],"m":"jsr","oa":52783,"o":"balloon_draw","x":[53177]},{"a":53176,"t":"code","b":[202],"m":"dex"},{"a":53177,"t":"code","b":[16,250],"m":"bpl","oa":53173,"o":"b_CFB5"},{"a":53179,"t":"code","b":[32,92,244],"m":"jsr","oa":62556,"o":"wait_20_frames"},{"a":53182,"t":"code","b":[169,43],"m":"lda","o":"#$2B"},{"a":53184,"t":"code","b":[133,87],"m":"sta","oa":87,"o":"text_buf"},{"a":53186,"t":"code","b":[169,36],"m":"lda","o":"#$24"},{"a":53188,"t":"code","b":[133,88],"m":"sta","oa":88,"o":"text_buf_1"},{"a":53190,"t":"code","b":[133,89],"m":"sta","oa":89,"o":"text_buf_2"},{"a":53192,"t":"code","b":[169,12],"m":"lda","o":"#$0C"},{"a":53194,"t":"code","b":[133,84],"m":"sta","oa":84,"o":"text_col"},{"a":53196,"t":"code","b":[169,11],"m":"lda","o":"#$0B"},{"a":53198,"t":"code","b":[133,85],"m":"sta","oa":85,"o":"text_row"},{"a":53200,"t":"code","b":[169,5],"m":"lda","o":"#$05"},{"a":53202,"t":"code","b":[133,86],"m":"sta","oa":86,"o":"text_len"},{"a":53204,"t":"code","b":[173,205,5],"m":"lda","oa":1485,"o":"balloons_popped"},{"a":53207,"t":"code","b":[32,201,209],"m":"jsr","oa":53705,"o":"queue_two_digits"},{"a":53210,"t":"code","b":[165,64],"m":"lda","oa":64,"o":"two_players"},{"a":53212,"t":"code","b":[240,10],"m":"beq","oa":53224,"o":"b_CFE8"},{"a":53214,"t":"code","b":[169,15],"m":"lda","o":"#$0F"},{"a":53216,"t":"code","b":[133,85],"m":"sta","oa":85,"o":"text_row"},{"a":53218,"t":"code","b":[173,206,5],"m":"lda","oa":1486,"o":"balloons_popped_p2"},{"a":53221,"t":"code","b":[32,201,209],"m":"jsr","oa":53705,"o":"queue_two_digits"},{"a":53224,"l":"b_CFE8","t":"code","b":[32,92,244],"m":"jsr","oa":62556,"o":"wait_20_frames","x":[53212]},{"a":53227,"t":"code","b":[173,89,5],"m":"lda","oa":1369,"o":"bonus_value"},{"a":53230,"t":"code","b":[133,87],"m":"sta","oa":87,"o":"text_buf"},{"a":53232,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":53234,"t":"code","b":[133,88],"m":"sta","oa":88,"o":"text_buf_1"},{"a":53236,"t":"code","b":[133,89],"m":"sta","oa":89,"o":"text_buf_2"},{"a":53238,"t":"code","b":[169,8],"m":"lda","o":"#$08"},{"a":53240,"t":"code","b":[133,84],"m":"sta","oa":84,"o":"text_col"},{"a":53242,"t":"code","b":[169,11],"m":"lda","o":"#$0B"},{"a":53244,"t":"code","b":[133,85],"m":"sta","oa":85,"o":"text_row"},{"a":53246,"t":"code","b":[169,3],"m":"lda","o":"#$03"},{"a":53248,"t":"code","b":[133,86],"m":"sta","oa":86,"o":"text_len"},{"a":53250,"t":"code","b":[173,89,5],"m":"lda","oa":1369,"o":"bonus_value"},{"a":53253,"t":"code","b":[32,25,193],"m":"jsr","oa":49433,"o":"queue_text"},{"a":53256,"t":"code","b":[165,64],"m":"lda","oa":64,"o":"two_players"},{"a":53258,"t":"code","b":[240,7],"m":"beq","oa":53267,"o":"b_D013"},{"a":53260,"t":"code","b":[169,15],"m":"lda","o":"#$0F"},{"a":53262,"t":"code","b":[133,85],"m":"sta","oa":85,"o":"text_row"},{"a":53264,"t":"code","b":[32,25,193],"m":"jsr","oa":49433,"o":"queue_text"},{"a":53267,"l":"b_D013","t":"code","b":[169,255],"m":"lda","o":"#$FF","x":[53258]},{"a":53269,"t":"code","b":[141,93,5],"m":"sta","oa":1373,"o":"balloon_state"},{"a":53272,"t":"code","b":[141,94,5],"m":"sta","oa":1374,"o":"balloon_state_1"},{"a":53275,"t":"code","b":[166,64],"m":"ldx","oa":64,"o":"two_players"},{"a":53277,"l":"b_D01D","t":"code","b":[32,47,206],"m":"jsr","oa":52783,"o":"balloon_draw","x":[53281]},{"a":53280,"t":"code","b":[202],"m":"dex"},{"a":53281,"t":"code","b":[16,250],"m":"bpl","oa":53277,"o":"b_D01D"},{"a":53283,"t":"code","b":[169,2],"m":"lda","o":"#$02"},{"a":53285,"t":"code","b":[133,240],"m":"sta","oa":240,"o":"sfx_request_a"},{"a":53287,"t":"code","b":[162,2],"m":"ldx","o":"#$02"},{"a":53289,"t":"code","b":[32,94,244],"m":"jsr","oa":62558,"o":"wait_x_frames"},{"a":53292,"t":"code","b":[166,64],"m":"ldx","oa":64,"o":"two_players"},{"a":53294,"l":"b_D02E","t":"code","b":[32,47,206],"m":"jsr","oa":52783,"o":"balloon_draw","x":[53298]},{"a":53297,"t":"code","b":[202],"m":"dex"},{"a":53298,"t":"code","b":[16,250],"m":"bpl","oa":53294,"o":"b_D02E"},{"a":53300,"t":"code","b":[32,160,209],"m":"jsr","oa":53664,"o":"bonus_show_totals"},{"a":53303,"t":"code","b":[32,92,244],"m":"jsr","oa":62556,"o":"wait_20_frames"},{"a":53306,"t":"code","b":[169,1],"m":"lda","o":"#$01"},{"a":53308,"t":"code","b":[133,240],"m":"sta","oa":240,"o":"sfx_request_a"},{"a":53310,"t":"code","b":[32,33,209],"m":"jsr","oa":53537,"o":"check_perfect"},{"a":53313,"t":"code","b":[208,37],"m":"bne","oa":53352,"o":"b_D068"},{"a":53315,"t":"code","b":[169,112],"m":"lda","o":"#$70"},{"a":53317,"t":"code","b":[160,209],"m":"ldy","o":"#$D1"},{"a":53319,"t":"code","b":[32,49,193],"m":"jsr","oa":49457,"o":"queue_block"},{"a":53322,"t":"code","b":[32,101,244],"m":"jsr","oa":62565,"o":"wait_frame"},{"a":53325,"t":"code","b":[162,26],"m":"ldx","o":"#$1A"},{"a":53327,"l":"b_D04F","t":"code","b":[189,132,209],"m":"lda","oa":53636,"o":"super_bonus_text,x","x":[53333]},{"a":53330,"t":"code","b":[149,87],"m":"sta","oa":87,"o":"text_buf,x"},{"a":53332,"t":"code","b":[202],"m":"dex"},{"a":53333,"t":"code","b":[16,248],"m":"bpl","oa":53327,"o":"b_D04F"},{"a":53335,"t":"code","b":[173,91,5],"m":"lda","oa":1371,"o":"perfect_tens"},{"a":53338,"t":"code","b":[133,104],"m":"sta","oa":104,"o":"super_bonus_digits"},{"a":53340,"t":"code","b":[173,92,5],"m":"lda","oa":1372,"o":"perfect_units"},{"a":53343,"t":"code","b":[133,105],"m":"sta","oa":105,"o":"super_bonus_units"},{"a":53345,"t":"code","b":[32,45,193],"m":"jsr","oa":49453,"o":"queue_block_from_text"},{"a":53348,"t":"code","b":[169,16],"m":"lda","o":"#$10"},{"a":53350,"t":"code","b":[133,242],"m":"sta","oa":242,"o":"music_request"},{"a":53352,"l":"b_D068","t":"code","b":[162,120],"m":"ldx","o":"#$78","x":[53313]},{"a":53354,"t":"code","b":[32,94,244],"m":"jsr","oa":62558,"o":"wait_x_frames"},{"a":53357,"t":"code","b":[32,160,209],"m":"jsr","oa":53664,"o":"bonus_show_totals"},{"a":53360,"l":"b_D070","t":"code","b":[169,0],"m":"lda","o":"#$00","x":[53403,53414]},{"a":53362,"t":"code","b":[133,62],"m":"sta","oa":62,"o":"scoring_player"},{"a":53364,"t":"code","b":[162,4],"m":"ldx","o":"#$04"},{"a":53366,"t":"code","b":[32,19,210],"m":"jsr","oa":53779,"o":"count_down_into_score"},{"a":53369,"t":"code","b":[32,45,193],"m":"jsr","oa":49453,"o":"queue_block_from_text"},{"a":53372,"t":"code","b":[165,64],"m":"lda","oa":64,"o":"two_players"},{"a":53374,"t":"code","b":[240,14],"m":"beq","oa":53390,"o":"b_D08E"},{"a":53376,"t":"code","b":[230,62],"m":"inc","oa":62,"o":"scoring_player"},{"a":53378,"t":"code","b":[162,18],"m":"ldx","o":"#$12"},{"a":53380,"t":"code","b":[32,19,210],"m":"jsr","oa":53779,"o":"count_down_into_score"},{"a":53383,"t":"code","b":[169,101],"m":"lda","o":"#$65"},{"a":53385,"t":"code","b":[160,0],"m":"ldy","o":"#$00"},{"a":53387,"t":"code","b":[32,49,193],"m":"jsr","oa":49457,"o":"queue_block"},{"a":53390,"l":"b_D08E","t":"code","b":[169,1],"m":"lda","o":"#$01","x":[53374]},{"a":53392,"t":"code","b":[133,241],"m":"sta","oa":241,"o":"sfx_request_b"},{"a":53394,"t":"code","b":[162,2],"m":"ldx","o":"#$02"},{"a":53396,"t":"code","b":[32,94,244],"m":"jsr","oa":62558,"o":"wait_x_frames"},{"a":53399,"t":"code","b":[165,93],"m":"lda","oa":93,"o":"text_buf_6"},{"a":53401,"t":"code","b":[201,36],"m":"cmp","o":"#$24"},{"a":53403,"t":"code","b":[208,211],"m":"bne","oa":53360,"o":"b_D070"},{"a":53405,"t":"code","b":[165,64],"m":"lda","oa":64,"o":"two_players"},{"a":53407,"t":"code","b":[240,7],"m":"beq","oa":53416,"o":"b_D0A8"},{"a":53409,"t":"code","b":[173,107,0],"m":"lda","oa":107,"o":"bonus_total_p2"},{"a":53412,"t":"code","b":[201,36],"m":"cmp","o":"#$24"},{"a":53414,"t":"code","b":[208,200],"m":"bne","oa":53360,"o":"b_D070"},{"a":53416,"l":"b_D0A8","t":"code","b":[162,10],"m":"ldx","o":"#$0A","x":[53407]},{"a":53418,"t":"code","b":[32,94,244],"m":"jsr","oa":62558,"o":"wait_x_frames"},{"a":53421,"t":"code","b":[32,33,209],"m":"jsr","oa":53537,"o":"check_perfect"},{"a":53424,"t":"code","b":[208,28],"m":"bne","oa":53454,"o":"b_D0CE"},{"a":53426,"t":"code","b":[173,91,5],"m":"lda","oa":1371,"o":"perfect_tens"},{"a":53429,"t":"code","b":[133,71],"m":"sta","oa":71,"o":"score_extra_thousands"},{"a":53431,"t":"code","b":[173,92,5],"m":"lda","oa":1372,"o":"perfect_units"},{"a":53434,"t":"code","b":[133,72],"m":"sta","oa":72,"o":"score_extra_hundreds"},{"a":53436,"t":"code","b":[165,64],"m":"lda","oa":64,"o":"two_players"},{"a":53438,"t":"code","b":[133,62],"m":"sta","oa":62,"o":"scoring_player"},{"a":53440,"l":"b_D0C0","t":"code","b":[32,220,214],"m":"jsr","oa":55004,"o":"add_score_zero","x":[53445]},{"a":53443,"t":"code","b":[198,62],"m":"dec","oa":62,"o":"scoring_player"},{"a":53445,"t":"code","b":[16,249],"m":"bpl","oa":53440,"o":"b_D0C0"},{"a":53447,"t":"code","b":[169,1],"m":"lda","o":"#$01"},{"a":53449,"t":"code","b":[133,241],"m":"sta","oa":241,"o":"sfx_request_b"},{"a":53451,"t":"code","b":[32,92,244],"m":"jsr","oa":62556,"o":"wait_20_frames"},{"a":53454,"l":"b_D0CE","t":"code","b":[169,0],"m":"lda","o":"#$00","x":[53424]},{"a":53456,"t":"code","b":[133,71],"m":"sta","oa":71,"o":"score_extra_thousands"},{"a":53458,"t":"code","b":[133,72],"m":"sta","oa":72,"o":"score_extra_hundreds"},{"a":53460,"t":"code","b":[162,1],"m":"ldx","o":"#$01"},{"a":53462,"l":"b_D0D6","t":"code","b":[181,65],"m":"lda","oa":65,"o":"lives,x","x":[53469]},{"a":53464,"t":"code","b":[16,2],"m":"bpl","oa":53468,"o":"b_D0DC"},{"a":53466,"t":"code","b":[149,136],"m":"sta","oa":136,"o":"actor_balloons,x"},{"a":53468,"l":"b_D0DC","t":"code","b":[202],"m":"dex","x":[53464]},{"a":53469,"t":"code","b":[16,247],"m":"bpl","oa":53462,"o":"b_D0D6"},{"a":53471,"t":"code","b":[76,83,243],"m":"jmp","oa":62291,"o":"j_F353"},{"a":53474,"l":"set_bonus_round_values","c":"Loads the values of the next bonus round from bonus_round: bonus_value (3, 5, 7, 7, 7 hundreds a balloon), balloon_rise_speed, and the perfect bonus's two digits (10,000, 15,000, 20,000, 25,000, 30,000); bonus_round goes up to 4 at most, and both players' balloons_popped are cleared.","t":"code","b":[174,88,5],"m":"ldx","oa":1368,"o":"bonus_round","x":[50471,53015]},{"a":53477,"t":"code","b":[189,13,209],"m":"lda","oa":53517,"o":"bonus_values,x"},{"a":53480,"t":"code","b":[141,89,5],"m":"sta","oa":1369,"o":"bonus_value"},{"a":53483,"t":"code","b":[189,18,209],"m":"lda","oa":53522,"o":"bonus_rise_speeds,x"},{"a":53486,"t":"code","b":[141,90,5],"m":"sta","oa":1370,"o":"balloon_rise_speed"},{"a":53489,"t":"code","b":[189,23,209],"m":"lda","oa":53527,"o":"perfect_tens_table,x"},{"a":53492,"t":"code","b":[141,91,5],"m":"sta","oa":1371,"o":"perfect_tens"},{"a":53495,"t":"code","b":[189,28,209],"m":"lda","oa":53532,"o":"perfect_units_table,x"},{"a":53498,"t":"code","b":[141,92,5],"m":"sta","oa":1372,"o":"perfect_units"},{"a":53501,"t":"code","b":[224,4],"m":"cpx","o":"#$04"},{"a":53503,"t":"code","b":[176,3],"m":"bcs","oa":53508,"o":"b_D104"},{"a":53505,"t":"code","b":[238,88,5],"m":"inc","oa":1368,"o":"bonus_round"},{"a":53508,"l":"b_D104","t":"code","b":[169,0],"m":"lda","o":"#$00","x":[53503]},{"a":53510,"t":"code","b":[141,205,5],"m":"sta","oa":1485,"o":"balloons_popped"},{"a":53513,"t":"code","b":[141,206,5],"m":"sta","oa":1486,"o":"balloons_popped_p2"},{"a":53516,"t":"code","b":[96],"m":"rts"},{"a":53517,"l":"bonus_values","c":"Points for a balloon in each bonus round, in hundreds: 3, 5, 7, 7, 7.","t":"byte","b":[3,5,7,7,7],"x":[53477]},{"a":53522,"l":"bonus_rise_speeds","c":"How fast balloons rise in each bonus round: $80, $90, $98, $A0, $A8 (fractional pixels a frame: half a pixel, up to two thirds).","t":"byte","b":[128,144,152,160,168],"x":[53483]},{"a":53527,"l":"perfect_tens_table","c":"Ten-thousands of the perfect bonus for each round: 1, 1, 2, 2, 3.","t":"byte","b":[1,1,2,2,3],"x":[53489]},{"a":53532,"l":"perfect_units_table","c":"Thousands of the perfect bonus for each round: 0, 5, 0, 5, 0 (10,000 to 30,000).","t":"byte","b":[0,5,0,5,0],"x":[53495]},{"a":53537,"l":"check_perfect","c":"Carry set when both players' balloons popped add up to 20: all the balloons.","t":"code","b":[173,205,5],"m":"lda","oa":1485,"o":"balloons_popped","x":[53310,53421]},{"a":53540,"t":"code","b":[24],"m":"clc"},{"a":53541,"t":"code","b":[109,206,5],"m":"adc","oa":1486,"o":"balloons_popped_p2"},{"a":53544,"t":"code","b":[201,20],"m":"cmp","o":"#$14"},{"a":53546,"t":"code","b":[96],"m":"rts"},{"a":53547,"l":"bonus_result_palette","c":"A palette block for the results screen: 16 colours to $3F10.","t":"byte","b":[63,0,16,15,48,48,48,15]},{"a":53555,"t":"byte","b":[48,39,21,15,48,2,33,15]},{"a":53563,"t":"byte","b":[22,22,22]},{"a":53566,"l":"bonus_result_text","c":"The results text: \"=00000 PTS.\" at $2173 for player 1 and at $21F3 for player 2, the digits filled in by bonus_show_totals. The balloon icon, the value (300, 500 or 700) and \"x NN\" (the count) before it are queued separately by bonus_round_play, so the line reads 300 x 05 = 1500 PTS.","t":"byte","b":[33,115,11,41,0,0,0,0],"x":[53666]},{"a":53574,"t":"byte","b":[0,36,25,29,28,38,33,243]},{"a":53582,"t":"byte","b":[11,41,0,0,0,0,0,36]},{"a":53590,"t":"byte","b":[25,29,28,38]},{"a":53594,"l":"bonus_result_attrs1","c":"Attribute block: eight $FF at $23E8.","t":"byte","b":[35,232,8,255,255,255,255,255]},{"a":53602,"t":"byte","b":[255,255,255]},{"a":53605,"l":"bonus_result_attrs2","c":"Attribute block: eight bytes at $23C0.","t":"byte","b":[35,192,8,64,80,80,80,80]},{"a":53613,"t":"byte","b":[144,160,160]},{"a":53616,"l":"perfect_text","c":"\"P E R F E C T !!!\" at $2288, 17 tiles.","t":"byte","b":[34,136,17,25,36,14,36,27]},{"a":53624,"t":"byte","b":[36,15,36,14,36,12,36,29]},{"a":53632,"t":"byte","b":[36,44,44,44]},{"a":53636,"l":"super_bonus_text","c":"\"SUPER BONUS   10000PTS!\" at $22C6, 23 tiles; the two bonus digits are replaced from perfect_tens and perfect_units before it is queued.","t":"byte","b":[34,198,23,28,30,25,14,27],"x":[53327]},{"a":53644,"t":"byte","b":[36,11,24,23,30,28,36,36]},{"a":53652,"t":"byte","b":[36,1,0,0,0,0,25,29]},{"a":53660,"t":"byte","b":[28,44]},{"a":53662,"l":"bonus_player_y","c":"Y of each player on the results screen: $50, $70.","t":"byte","b":[80,112],"x":[53122]},{"a":53664,"l":"bonus_show_totals","c":"Fills bonus_result_text with each player's total, balloons popped times bonus_value, by adding the value that many times in decimal (add_value_to_digits), and queues it; the second line only with two players.","t":"code","b":[162,28],"m":"ldx","o":"#$1C","x":[53300,53357]},{"a":53666,"l":"b_D1A2","t":"code","b":[189,62,209],"m":"lda","oa":53566,"o":"bonus_result_text,x","x":[53672]},{"a":53669,"t":"code","b":[149,87],"m":"sta","oa":87,"o":"text_buf,x"},{"a":53671,"t":"code","b":[202],"m":"dex"},{"a":53672,"t":"code","b":[16,248],"m":"bpl","oa":53666,"o":"b_D1A2"},{"a":53674,"t":"code","b":[162,4],"m":"ldx","o":"#$04"},{"a":53676,"t":"code","b":[172,205,5],"m":"ldy","oa":1485,"o":"balloons_popped"},{"a":53679,"t":"code","b":[32,220,209],"m":"jsr","oa":53724,"o":"add_value_to_digits"},{"a":53682,"t":"code","b":[162,18],"m":"ldx","o":"#$12"},{"a":53684,"t":"code","b":[172,206,5],"m":"ldy","oa":1486,"o":"balloons_popped_p2"},{"a":53687,"t":"code","b":[32,220,209],"m":"jsr","oa":53724,"o":"add_value_to_digits"},{"a":53690,"t":"code","b":[32,45,193],"m":"jsr","oa":49453,"o":"queue_block_from_text"},{"a":53693,"t":"code","b":[165,64],"m":"lda","oa":64,"o":"two_players"},{"a":53695,"t":"code","b":[208,1],"m":"bne","oa":53698,"o":"b_D1C2"},{"a":53697,"t":"code","b":[96],"m":"rts"},{"a":53698,"l":"b_D1C2","t":"code","b":[169,101],"m":"lda","o":"#$65","x":[53695]},{"a":53700,"t":"code","b":[160,0],"m":"ldy","o":"#$00"},{"a":53702,"t":"code","b":[76,49,193],"m":"jmp","oa":49457,"o":"queue_block"},{"a":53705,"l":"queue_two_digits","c":"Splits A into tens and units in the text buffer and queues the text.","t":"code","b":[160,0],"m":"ldy","o":"#$00","x":[53207,53221]},{"a":53707,"l":"j_D1CB","t":"code","b":[201,10],"m":"cmp","o":"#$0A","x":[53714]},{"a":53709,"t":"code","b":[144,6],"m":"bcc","oa":53717,"o":"b_D1D5"},{"a":53711,"t":"code","b":[200],"m":"iny"},{"a":53712,"t":"code","b":[233,10],"m":"sbc","o":"#$0A"},{"a":53714,"t":"code","b":[76,203,209],"m":"jmp","oa":53707,"o":"j_D1CB"},{"a":53717,"l":"b_D1D5","t":"code","b":[132,90],"m":"sty","oa":90,"o":"text_buf_3","x":[53709]},{"a":53719,"t":"code","b":[133,91],"m":"sta","oa":91,"o":"text_buf_4"},{"a":53721,"t":"code","b":[76,25,193],"m":"jmp","oa":49433,"o":"queue_text"},{"a":53724,"l":"add_value_to_digits","c":"Adds bonus_value to a five-digit number at text_buf plus X, Y times, carrying between digits; then blank_leading_zeros.","t":"code","b":[136],"m":"dey","x":[53679,53687,53755]},{"a":53725,"t":"code","b":[48,31],"m":"bmi","oa":53758,"o":"blank_leading_zeros"},{"a":53727,"t":"code","b":[173,89,5],"m":"lda","oa":1369,"o":"bonus_value"},{"a":53730,"t":"code","b":[24],"m":"clc"},{"a":53731,"t":"code","b":[117,89],"m":"adc","oa":89,"o":"text_buf_2,x"},{"a":53733,"t":"code","b":[201,10],"m":"cmp","o":"#$0A"},{"a":53735,"t":"code","b":[144,4],"m":"bcc","oa":53741,"o":"b_D1ED"},{"a":53737,"t":"code","b":[233,10],"m":"sbc","o":"#$0A"},{"a":53739,"t":"code","b":[246,88],"m":"inc","oa":88,"o":"text_buf_1,x"},{"a":53741,"l":"b_D1ED","t":"code","b":[149,89],"m":"sta","oa":89,"o":"text_buf_2,x","x":[53735]},{"a":53743,"t":"code","b":[181,88],"m":"lda","oa":88,"o":"text_buf_1,x"},{"a":53745,"t":"code","b":[201,10],"m":"cmp","o":"#$0A"},{"a":53747,"t":"code","b":[144,6],"m":"bcc","oa":53755,"o":"b_D1FB"},{"a":53749,"t":"code","b":[233,10],"m":"sbc","o":"#$0A"},{"a":53751,"t":"code","b":[246,87],"m":"inc","oa":87,"o":"text_buf,x"},{"a":53753,"t":"code","b":[149,88],"m":"sta","oa":88,"o":"text_buf_1,x"},{"a":53755,"l":"b_D1FB","t":"code","b":[76,220,209],"m":"jmp","oa":53724,"o":"add_value_to_digits","x":[53747]},{"a":53758,"l":"blank_leading_zeros","c":"Replaces leading zeros of a four-digit number with spaces ($24).","t":"code","b":[160,0],"m":"ldy","o":"#$00","x":[53725,53827]},{"a":53760,"l":"b_D200","t":"code","b":[181,87],"m":"lda","oa":87,"o":"text_buf,x","x":[53776]},{"a":53762,"t":"code","b":[240,4],"m":"beq","oa":53768,"o":"b_D208"},{"a":53764,"t":"code","b":[201,36],"m":"cmp","o":"#$24"},{"a":53766,"t":"code","b":[208,10],"m":"bne","oa":53778,"o":"r_D212"},{"a":53768,"l":"b_D208","t":"code","b":[169,36],"m":"lda","o":"#$24","x":[53762]},{"a":53770,"t":"code","b":[149,87],"m":"sta","oa":87,"o":"text_buf,x"},{"a":53772,"t":"code","b":[232],"m":"inx"},{"a":53773,"t":"code","b":[200],"m":"iny"},{"a":53774,"t":"code","b":[192,4],"m":"cpy","o":"#$04"},{"a":53776,"t":"code","b":[208,238],"m":"bne","oa":53760,"o":"b_D200"},{"a":53778,"l":"r_D212","t":"code","b":[96],"m":"rts","x":[53766]},{"a":53779,"l":"count_down_into_score","c":"One tick of the bonus count: takes 100 off the displayed total (borrowing across digits, blanking as it goes) and adds 100 points to the score; the total shown blank means done.","t":"code","b":[181,89],"m":"lda","oa":89,"o":"text_buf_2,x","x":[53366,53380]},{"a":53781,"t":"code","b":[201,36],"m":"cmp","o":"#$24"},{"a":53783,"t":"code","b":[240,42],"m":"beq","oa":53827,"o":"b_D243"},{"a":53785,"t":"code","b":[168],"m":"tay"},{"a":53786,"t":"code","b":[208,28],"m":"bne","oa":53816,"o":"b_D238"},{"a":53788,"t":"code","b":[181,88],"m":"lda","oa":88,"o":"text_buf_1,x"},{"a":53790,"t":"code","b":[201,36],"m":"cmp","o":"#$24"},{"a":53792,"t":"code","b":[240,33],"m":"beq","oa":53827,"o":"b_D243"},{"a":53794,"t":"code","b":[181,88],"m":"lda","oa":88,"o":"text_buf_1,x"},{"a":53796,"t":"code","b":[208,12],"m":"bne","oa":53810,"o":"b_D232"},{"a":53798,"t":"code","b":[181,87],"m":"lda","oa":87,"o":"text_buf,x"},{"a":53800,"t":"code","b":[201,36],"m":"cmp","o":"#$24"},{"a":53802,"t":"code","b":[240,23],"m":"beq","oa":53827,"o":"b_D243"},{"a":53804,"t":"code","b":[169,10],"m":"lda","o":"#$0A"},{"a":53806,"t":"code","b":[149,88],"m":"sta","oa":88,"o":"text_buf_1,x"},{"a":53808,"t":"code","b":[214,87],"m":"dec","oa":87,"o":"text_buf,x"},{"a":53810,"l":"b_D232","t":"code","b":[169,10],"m":"lda","o":"#$0A","x":[53796]},{"a":53812,"t":"code","b":[149,89],"m":"sta","oa":89,"o":"text_buf_2,x"},{"a":53814,"t":"code","b":[214,88],"m":"dec","oa":88,"o":"text_buf_1,x"},{"a":53816,"l":"b_D238","t":"code","b":[214,89],"m":"dec","oa":89,"o":"text_buf_2,x","x":[53786]},{"a":53818,"t":"code","b":[138],"m":"txa"},{"a":53819,"t":"code","b":[72],"m":"pha"},{"a":53820,"t":"code","b":[169,10],"m":"lda","o":"#$0A"},{"a":53822,"t":"code","b":[32,222,214],"m":"jsr","oa":55006,"o":"add_score"},{"a":53825,"t":"code","b":[104],"m":"pla"},{"a":53826,"t":"code","b":[170],"m":"tax"},{"a":53827,"l":"b_D243","t":"code","b":[76,254,209],"m":"jmp","oa":53758,"o":"blank_leading_zeros","x":[53783,53792,53802]},{"a":53830,"l":"clear_screen","c":"Picture and NMI off, PPU address $2000, both nametables filled with the blank tile $24 and zero attributes (fill_nametable twice), NMI and picture on, stars_to_twinkle 0, and every sprite hidden (Y $F0).","t":"code","b":[32,10,193],"m":"jsr","oa":49418,"o":"screen_off","x":[53085,55567,62078]},{"a":53833,"t":"code","b":[32,250,192],"m":"jsr","oa":49402,"o":"nmi_off"},{"a":53836,"t":"code","b":[169,32],"m":"lda","o":"#$20"},{"a":53838,"t":"code","b":[141,6,32],"m":"sta","o":"PPUADDR"},{"a":53841,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":53843,"t":"code","b":[141,6,32],"m":"sta","o":"PPUADDR"},{"a":53846,"t":"code","b":[32,117,210],"m":"jsr","oa":53877,"o":"fill_nametable"},{"a":53849,"t":"code","b":[32,117,210],"m":"jsr","oa":53877,"o":"fill_nametable"},{"a":53852,"t":"code","b":[32,4,193],"m":"jsr","oa":49412,"o":"nmi_on"},{"a":53855,"t":"code","b":[32,21,193],"m":"jsr","oa":49429,"o":"screen_on"},{"a":53858,"t":"code","b":[162,63],"m":"ldx","o":"#$3F"},{"a":53860,"t":"code","b":[160,0],"m":"ldy","o":"#$00"},{"a":53862,"t":"code","b":[132,76],"m":"sty","oa":76,"o":"stars_to_twinkle"},{"a":53864,"l":"b_D268","t":"code","b":[169,240],"m":"lda","o":"#$F0","x":[53874]},{"a":53866,"t":"code","b":[153,0,2],"m":"sta","oa":512,"o":"sprite_table,y"},{"a":53869,"t":"code","b":[200],"m":"iny"},{"a":53870,"t":"code","b":[200],"m":"iny"},{"a":53871,"t":"code","b":[200],"m":"iny"},{"a":53872,"t":"code","b":[200],"m":"iny"},{"a":53873,"t":"code","b":[202],"m":"dex"},{"a":53874,"t":"code","b":[16,244],"m":"bpl","oa":53864,"o":"b_D268"},{"a":53876,"t":"code","b":[96],"m":"rts"},{"a":53877,"l":"fill_nametable","c":"960 tiles of $24 then 64 attribute bytes of 0 through PPUDATA.","t":"code","b":[162,240],"m":"ldx","o":"#$F0","x":[53846,53849]},{"a":53879,"t":"code","b":[169,36],"m":"lda","o":"#$24"},{"a":53881,"l":"b_D279","t":"code","b":[141,7,32],"m":"sta","o":"PPUDATA","x":[53894]},{"a":53884,"t":"code","b":[141,7,32],"m":"sta","o":"PPUDATA"},{"a":53887,"t":"code","b":[141,7,32],"m":"sta","o":"PPUDATA"},{"a":53890,"t":"code","b":[141,7,32],"m":"sta","o":"PPUDATA"},{"a":53893,"t":"code","b":[202],"m":"dex"},{"a":53894,"t":"code","b":[208,241],"m":"bne","oa":53881,"o":"b_D279"},{"a":53896,"t":"code","b":[162,64],"m":"ldx","o":"#$40"},{"a":53898,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":53900,"l":"b_D28C","t":"code","b":[141,7,32],"m":"sta","o":"PPUDATA","x":[53904]},{"a":53903,"t":"code","b":[202],"m":"dex"},{"a":53904,"t":"code","b":[208,250],"m":"bne","oa":53900,"o":"b_D28C"},{"a":53906,"t":"code","b":[96],"m":"rts"},{"a":53907,"l":"build_phase_screen","c":"Builds the phase's picture with the picture off. Balloon Trip: build_trip_screen. Otherwise from phase_layouts by phase_index: the block lists (draw_block_lists), then the clouds (each as a 4 by 4 of cloud_tiles with its attributes set to palette 3, its centre into cloud_x and cloud_y and its four attribute addresses into the cloud_attr tables), the propellers (position, phase, nametable address, drawn and their attributes set), the bird list (each bird's X, Y and type into actors 2 to 7, action 2, balloons 1, its frame timer; an empty list makes the phase a bonus round), the platform count and the four platform tables; then the stars, the palette, NMI and picture on.","t":"code","b":[32,10,193],"m":"jsr","oa":49418,"o":"screen_off","x":[62081]},{"a":53910,"t":"code","b":[32,250,192],"m":"jsr","oa":49402,"o":"nmi_off"},{"a":53913,"t":"code","b":[165,22],"m":"lda","oa":22,"o":"game_mode"},{"a":53915,"t":"code","b":[240,3],"m":"beq","oa":53920,"o":"b_D2A0"},{"a":53917,"t":"code","b":[76,114,213],"m":"jmp","oa":54642,"o":"build_trip_screen"},{"a":53920,"l":"b_D2A0","t":"code","b":[164,59],"m":"ldy","oa":59,"o":"phase_index","x":[53915]},{"a":53922,"t":"code","b":[185,42,219],"m":"lda","oa":56106,"o":"phase_layouts,y"},{"a":53925,"t":"code","b":[133,29],"m":"sta","oa":29,"o":"ptr1"},{"a":53927,"t":"code","b":[185,58,219],"m":"lda","oa":56122,"o":"phase_layouts_hi,y"},{"a":53930,"t":"code","b":[133,30],"m":"sta","oa":30,"o":"ptr1_hi"},{"a":53932,"t":"code","b":[32,151,212],"m":"jsr","oa":54423,"o":"draw_block_lists"},{"a":53935,"t":"code","b":[162,0],"m":"ldx","o":"#$00"},{"a":53937,"l":"j_D2B1","t":"code","b":[32,229,212],"m":"jsr","oa":54501,"o":"read_level_byte","x":[54047]},{"a":53940,"t":"code","b":[201,255],"m":"cmp","o":"#$FF"},{"a":53942,"t":"code","b":[240,106],"m":"beq","oa":54050,"o":"b_D322"},{"a":53944,"t":"code","b":[133,84],"m":"sta","oa":84,"o":"text_col"},{"a":53946,"t":"code","b":[32,229,212],"m":"jsr","oa":54501,"o":"read_level_byte"},{"a":53949,"t":"code","b":[133,85],"m":"sta","oa":85,"o":"text_row"},{"a":53951,"t":"code","b":[160,3],"m":"ldy","o":"#$03"},{"a":53953,"l":"b_D2C1","t":"code","b":[32,251,212],"m":"jsr","oa":54523,"o":"set_ppu_addr_from_tile_xy","x":[53976]},{"a":53956,"t":"code","b":[169,4],"m":"lda","o":"#$04"},{"a":53958,"t":"code","b":[133,18],"m":"sta","oa":18,"o":"tmp12"},{"a":53960,"t":"code","b":[185,147,212],"m":"lda","oa":54419,"o":"cloud_tiles,y"},{"a":53963,"l":"b_D2CB","t":"code","b":[141,7,32],"m":"sta","o":"PPUDATA","x":[53971]},{"a":53966,"t":"code","b":[24],"m":"clc"},{"a":53967,"t":"code","b":[105,4],"m":"adc","o":"#$04"},{"a":53969,"t":"code","b":[198,18],"m":"dec","oa":18,"o":"tmp12"},{"a":53971,"t":"code","b":[208,246],"m":"bne","oa":53963,"o":"b_D2CB"},{"a":53973,"t":"code","b":[230,85],"m":"inc","oa":85,"o":"text_row"},{"a":53975,"t":"code","b":[136],"m":"dey"},{"a":53976,"t":"code","b":[16,231],"m":"bpl","oa":53953,"o":"b_D2C1"},{"a":53978,"t":"code","b":[165,85],"m":"lda","oa":85,"o":"text_row"},{"a":53980,"t":"code","b":[56],"m":"sec"},{"a":53981,"t":"code","b":[233,4],"m":"sbc","o":"#$04"},{"a":53983,"t":"code","b":[133,85],"m":"sta","oa":85,"o":"text_row"},{"a":53985,"t":"code","b":[32,28,213],"m":"jsr","oa":54556,"o":"attr_addr_and_quadrant"},{"a":53988,"t":"code","b":[149,166],"m":"sta","oa":166,"o":"cloud_attr_tl,x"},{"a":53990,"t":"code","b":[230,84],"m":"inc","oa":84,"o":"text_col"},{"a":53992,"t":"code","b":[230,84],"m":"inc","oa":84,"o":"text_col"},{"a":53994,"t":"code","b":[32,28,213],"m":"jsr","oa":54556,"o":"attr_addr_and_quadrant"},{"a":53997,"t":"code","b":[149,169],"m":"sta","oa":169,"o":"cloud_attr_tr,x"},{"a":53999,"t":"code","b":[230,85],"m":"inc","oa":85,"o":"text_row"},{"a":54001,"t":"code","b":[230,85],"m":"inc","oa":85,"o":"text_row"},{"a":54003,"t":"code","b":[32,28,213],"m":"jsr","oa":54556,"o":"attr_addr_and_quadrant"},{"a":54006,"t":"code","b":[149,175],"m":"sta","oa":175,"o":"cloud_attr_br,x"},{"a":54008,"t":"code","b":[198,84],"m":"dec","oa":84,"o":"text_col"},{"a":54010,"t":"code","b":[198,84],"m":"dec","oa":84,"o":"text_col"},{"a":54012,"t":"code","b":[32,28,213],"m":"jsr","oa":54556,"o":"attr_addr_and_quadrant"},{"a":54015,"t":"code","b":[149,172],"m":"sta","oa":172,"o":"cloud_attr_bl,x"},{"a":54017,"t":"code","b":[134,164],"m":"stx","oa":164,"o":"lightning_cloud"},{"a":54019,"t":"code","b":[169,3],"m":"lda","o":"#$03"},{"a":54021,"t":"code","b":[32,86,200],"m":"jsr","oa":51286,"o":"j_C856"},{"a":54024,"t":"code","b":[32,124,193],"m":"jsr","oa":49532,"o":"flush_ppu_queue"},{"a":54027,"t":"code","b":[166,164],"m":"ldx","oa":164,"o":"lightning_cloud"},{"a":54029,"t":"code","b":[165,84],"m":"lda","oa":84,"o":"text_col"},{"a":54031,"t":"code","b":[10],"m":"asl","o":"a"},{"a":54032,"t":"code","b":[10],"m":"asl","o":"a"},{"a":54033,"t":"code","b":[10],"m":"asl","o":"a"},{"a":54034,"t":"code","b":[24],"m":"clc"},{"a":54035,"t":"code","b":[105,16],"m":"adc","o":"#$10"},{"a":54037,"t":"code","b":[149,178],"m":"sta","oa":178,"o":"cloud_x,x"},{"a":54039,"t":"code","b":[165,85],"m":"lda","oa":85,"o":"text_row"},{"a":54041,"t":"code","b":[10],"m":"asl","o":"a"},{"a":54042,"t":"code","b":[10],"m":"asl","o":"a"},{"a":54043,"t":"code","b":[10],"m":"asl","o":"a"},{"a":54044,"t":"code","b":[149,181],"m":"sta","oa":181,"o":"cloud_y,x"},{"a":54046,"t":"code","b":[232],"m":"inx"},{"a":54047,"t":"code","b":[76,177,210],"m":"jmp","oa":53937,"o":"j_D2B1"},{"a":54050,"l":"b_D322","t":"code","b":[202],"m":"dex","x":[53942]},{"a":54051,"t":"code","b":[134,163],"m":"stx","oa":163,"o":"cloud_count"},{"a":54053,"t":"code","b":[162,0],"m":"ldx","o":"#$00"},{"a":54055,"l":"j_D327","t":"code","b":[32,229,212],"m":"jsr","oa":54501,"o":"read_level_byte","x":[54139]},{"a":54058,"t":"code","b":[201,255],"m":"cmp","o":"#$FF"},{"a":54060,"t":"code","b":[240,80],"m":"beq","oa":54142,"o":"b_D37E"},{"a":54062,"t":"code","b":[133,84],"m":"sta","oa":84,"o":"text_col"},{"a":54064,"t":"code","b":[32,229,212],"m":"jsr","oa":54501,"o":"read_level_byte"},{"a":54067,"t":"code","b":[133,85],"m":"sta","oa":85,"o":"text_row"},{"a":54069,"t":"code","b":[32,229,212],"m":"jsr","oa":54501,"o":"read_level_byte"},{"a":54072,"t":"code","b":[157,250,5],"m":"sta","oa":1530,"o":"propeller_phase,x"},{"a":54075,"t":"code","b":[165,84],"m":"lda","oa":84,"o":"text_col"},{"a":54077,"t":"code","b":[10],"m":"asl","o":"a"},{"a":54078,"t":"code","b":[10],"m":"asl","o":"a"},{"a":54079,"t":"code","b":[10],"m":"asl","o":"a"},{"a":54080,"t":"code","b":[105,12],"m":"adc","o":"#$0C"},{"a":54082,"t":"code","b":[157,210,5],"m":"sta","oa":1490,"o":"propeller_x,x"},{"a":54085,"t":"code","b":[165,85],"m":"lda","oa":85,"o":"text_row"},{"a":54087,"t":"code","b":[10],"m":"asl","o":"a"},{"a":54088,"t":"code","b":[10],"m":"asl","o":"a"},{"a":54089,"t":"code","b":[10],"m":"asl","o":"a"},{"a":54090,"t":"code","b":[105,12],"m":"adc","o":"#$0C"},{"a":54092,"t":"code","b":[157,220,5],"m":"sta","oa":1500,"o":"propeller_y,x"},{"a":54095,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":54097,"t":"code","b":[157,4,6],"m":"sta","oa":1540,"o":"propeller_spinning,x"},{"a":54100,"t":"code","b":[32,251,212],"m":"jsr","oa":54523,"o":"set_ppu_addr_from_tile_xy"},{"a":54103,"t":"code","b":[157,230,5],"m":"sta","oa":1510,"o":"propeller_addr_lo,x"},{"a":54106,"t":"code","b":[165,19],"m":"lda","oa":19,"o":"tmp13"},{"a":54108,"t":"code","b":[157,240,5],"m":"sta","oa":1520,"o":"propeller_addr_hi,x"},{"a":54111,"t":"code","b":[32,108,213],"m":"jsr","oa":54636,"o":"draw_propeller_now"},{"a":54114,"t":"code","b":[32,60,213],"m":"jsr","oa":54588,"o":"set_attr_quadrant_palette1"},{"a":54117,"t":"code","b":[230,84],"m":"inc","oa":84,"o":"text_col"},{"a":54119,"t":"code","b":[230,84],"m":"inc","oa":84,"o":"text_col"},{"a":54121,"t":"code","b":[32,60,213],"m":"jsr","oa":54588,"o":"set_attr_quadrant_palette1"},{"a":54124,"t":"code","b":[230,85],"m":"inc","oa":85,"o":"text_row"},{"a":54126,"t":"code","b":[230,85],"m":"inc","oa":85,"o":"text_row"},{"a":54128,"t":"code","b":[32,60,213],"m":"jsr","oa":54588,"o":"set_attr_quadrant_palette1"},{"a":54131,"t":"code","b":[198,84],"m":"dec","oa":84,"o":"text_col"},{"a":54133,"t":"code","b":[198,84],"m":"dec","oa":84,"o":"text_col"},{"a":54135,"t":"code","b":[32,60,213],"m":"jsr","oa":54588,"o":"set_attr_quadrant_palette1"},{"a":54138,"t":"code","b":[232],"m":"inx"},{"a":54139,"t":"code","b":[76,39,211],"m":"jmp","oa":54055,"o":"j_D327"},{"a":54142,"l":"b_D37E","t":"code","b":[202],"m":"dex","x":[54060]},{"a":54143,"t":"code","b":[142,209,5],"m":"stx","oa":1489,"o":"propeller_count"},{"a":54146,"t":"code","b":[32,229,212],"m":"jsr","oa":54501,"o":"read_level_byte"},{"a":54149,"t":"code","b":[133,31],"m":"sta","oa":31,"o":"ptr2"},{"a":54151,"t":"code","b":[32,229,212],"m":"jsr","oa":54501,"o":"read_level_byte"},{"a":54154,"t":"code","b":[133,32],"m":"sta","oa":32,"o":"ptr2_hi"},{"a":54156,"t":"code","b":[160,0],"m":"ldy","o":"#$00"},{"a":54158,"t":"code","b":[177,31],"m":"lda","oa":31,"o":"(ptr2),y"},{"a":54160,"t":"code","b":[170],"m":"tax"},{"a":54161,"t":"code","b":[202],"m":"dex"},{"a":54162,"t":"code","b":[16,5],"m":"bpl","oa":54169,"o":"b_D399"},{"a":54164,"t":"code","b":[230,200],"m":"inc","oa":200,"o":"no_enemies"},{"a":54166,"t":"code","b":[76,186,211],"m":"jmp","oa":54202,"o":"j_D3BA"},{"a":54169,"l":"b_D399","t":"code","b":[200],"m":"iny","x":[54162]},{"a":54170,"l":"b_D39A","t":"code","b":[177,31],"m":"lda","oa":31,"o":"(ptr2),y","x":[54200]},{"a":54172,"t":"code","b":[200],"m":"iny"},{"a":54173,"t":"code","b":[149,147],"m":"sta","oa":147,"o":"actor_x_birds,x"},{"a":54175,"t":"code","b":[177,31],"m":"lda","oa":31,"o":"(ptr2),y"},{"a":54177,"t":"code","b":[200],"m":"iny"},{"a":54178,"t":"code","b":[149,156],"m":"sta","oa":156,"o":"actor_y_birds,x"},{"a":54180,"t":"code","b":[177,31],"m":"lda","oa":31,"o":"(ptr2),y"},{"a":54182,"t":"code","b":[200],"m":"iny"},{"a":54183,"t":"code","b":[157,83,4],"m":"sta","oa":1107,"o":"actor_type_birds,x"},{"a":54186,"t":"code","b":[169,2],"m":"lda","o":"#$02"},{"a":54188,"t":"code","b":[149,129],"m":"sta","oa":129,"o":"actor_action_birds,x"},{"a":54190,"t":"code","b":[169,1],"m":"lda","o":"#$01"},{"a":54192,"t":"code","b":[149,138],"m":"sta","oa":138,"o":"actor_balloons_birds,x"},{"a":54194,"t":"code","b":[165,198],"m":"lda","oa":198,"o":"enemy_inflate_rate"},{"a":54196,"t":"code","b":[157,65,4],"m":"sta","oa":1089,"o":"actor_frame_timer_birds,x"},{"a":54199,"t":"code","b":[202],"m":"dex"},{"a":54200,"t":"code","b":[16,224],"m":"bpl","oa":54170,"o":"b_D39A"},{"a":54202,"l":"j_D3BA","t":"code","b":[32,229,212],"m":"jsr","oa":54501,"o":"read_level_byte","x":[54166]},{"a":54205,"t":"code","b":[133,205],"m":"sta","oa":205,"o":"platform_count"},{"a":54207,"t":"code","b":[32,229,212],"m":"jsr","oa":54501,"o":"read_level_byte"},{"a":54210,"t":"code","b":[133,35],"m":"sta","oa":35,"o":"platform_left_ptr"},{"a":54212,"t":"code","b":[32,229,212],"m":"jsr","oa":54501,"o":"read_level_byte"},{"a":54215,"t":"code","b":[168],"m":"tay"},{"a":54216,"t":"code","b":[133,36],"m":"sta","oa":36,"o":"platform_left_ptr_hi"},{"a":54218,"t":"code","b":[165,35],"m":"lda","oa":35,"o":"platform_left_ptr"},{"a":54220,"t":"code","b":[32,140,212],"m":"jsr","oa":54412,"o":"advance_platform_ptr"},{"a":54223,"t":"code","b":[133,37],"m":"sta","oa":37,"o":"platform_right_ptr"},{"a":54225,"t":"code","b":[132,38],"m":"sty","oa":38,"o":"platform_right_ptr_hi"},{"a":54227,"t":"code","b":[32,140,212],"m":"jsr","oa":54412,"o":"advance_platform_ptr"},{"a":54230,"t":"code","b":[133,39],"m":"sta","oa":39,"o":"platform_top_ptr"},{"a":54232,"t":"code","b":[132,40],"m":"sty","oa":40,"o":"platform_top_ptr_hi"},{"a":54234,"t":"code","b":[32,140,212],"m":"jsr","oa":54412,"o":"advance_platform_ptr"},{"a":54237,"t":"code","b":[133,41],"m":"sta","oa":41,"o":"platform_bottom_ptr"},{"a":54239,"t":"code","b":[132,42],"m":"sty","oa":42,"o":"platform_bottom_ptr_hi"},{"a":54241,"l":"j_D3E1","t":"code","b":[32,217,213],"m":"jsr","oa":54745,"o":"draw_stars","x":[54672]},{"a":54244,"t":"code","b":[32,237,211],"m":"jsr","oa":54253,"o":"load_palette"},{"a":54247,"t":"code","b":[32,4,193],"m":"jsr","oa":49412,"o":"nmi_on"},{"a":54250,"t":"code","b":[76,21,193],"m":"jmp","oa":49429,"o":"screen_on"},{"a":54253,"l":"load_palette","c":"Queues the whole palette: base_palette into text_buf, then for a phase the first four bytes (the backdrop and background palette 0) from phase_bg_palettes by phase group (phase_index and $0C: the platforms change colour every four phases). In a bonus round or Balloon Trip the round's entry in bonus_palettes replaces sprite palette 2 (bonus_palette, the balloons' colours) and, in the bonus round only, the first four bytes too.","t":"code","b":[162,34],"m":"ldx","o":"#$22","x":[50014,54244]},{"a":54255,"l":"b_D3EF","t":"code","b":[189,55,212],"m":"lda","oa":54327,"o":"base_palette,x","x":[54261]},{"a":54258,"t":"code","b":[149,87],"m":"sta","oa":87,"o":"text_buf,x"},{"a":54260,"t":"code","b":[202],"m":"dex"},{"a":54261,"t":"code","b":[16,248],"m":"bpl","oa":54255,"o":"b_D3EF"},{"a":54263,"t":"code","b":[165,200],"m":"lda","oa":200,"o":"no_enemies"},{"a":54265,"t":"code","b":[208,21],"m":"bne","oa":54288,"o":"b_D410"},{"a":54267,"t":"code","b":[165,59],"m":"lda","oa":59,"o":"phase_index"},{"a":54269,"t":"code","b":[41,12],"m":"and","o":"#$0C"},{"a":54271,"t":"code","b":[9,3],"m":"ora","o":"#$03"},{"a":54273,"t":"code","b":[168],"m":"tay"},{"a":54274,"t":"code","b":[162,3],"m":"ldx","o":"#$03"},{"a":54276,"l":"b_D404","t":"code","b":[185,90,212],"m":"lda","oa":54362,"o":"phase_bg_palettes,y","x":[54283]},{"a":54279,"t":"code","b":[149,90],"m":"sta","oa":90,"o":"text_buf_3,x"},{"a":54281,"t":"code","b":[136],"m":"dey"},{"a":54282,"t":"code","b":[202],"m":"dex"},{"a":54283,"t":"code","b":[16,247],"m":"bpl","oa":54276,"o":"b_D404"},{"a":54285,"l":"b_D40D","t":"code","b":[76,45,193],"m":"jmp","oa":49453,"o":"queue_block_from_text","x":[54315,54325]},{"a":54288,"l":"b_D410","t":"code","b":[174,88,5],"m":"ldx","oa":1368,"o":"bonus_round","x":[54265]},{"a":54291,"t":"code","b":[189,106,212],"m":"lda","oa":54378,"o":"bonus_palette_ptrs,x"},{"a":54294,"t":"code","b":[133,29],"m":"sta","oa":29,"o":"ptr1"},{"a":54296,"t":"code","b":[189,111,212],"m":"lda","oa":54383,"o":"bonus_palette_ptrs_hi,x"},{"a":54299,"t":"code","b":[133,30],"m":"sta","oa":30,"o":"ptr1_hi"},{"a":54301,"t":"code","b":[162,3],"m":"ldx","o":"#$03"},{"a":54303,"t":"code","b":[160,7],"m":"ldy","o":"#$07"},{"a":54305,"l":"b_D421","t":"code","b":[177,29],"m":"lda","oa":29,"o":"(ptr1),y","x":[54311]},{"a":54307,"t":"code","b":[149,114],"m":"sta","oa":114,"o":"bonus_palette,x"},{"a":54309,"t":"code","b":[136],"m":"dey"},{"a":54310,"t":"code","b":[202],"m":"dex"},{"a":54311,"t":"code","b":[16,248],"m":"bpl","oa":54305,"o":"b_D421"},{"a":54313,"t":"code","b":[165,22],"m":"lda","oa":22,"o":"game_mode"},{"a":54315,"t":"code","b":[208,224],"m":"bne","oa":54285,"o":"b_D40D"},{"a":54317,"l":"b_D42D","t":"code","b":[177,29],"m":"lda","oa":29,"o":"(ptr1),y","x":[54323]},{"a":54319,"t":"code","b":[153,90,0],"m":"sta","oa":90,"o":"text_buf_3,y"},{"a":54322,"t":"code","b":[136],"m":"dey"},{"a":54323,"t":"code","b":[16,248],"m":"bpl","oa":54317,"o":"b_D42D"},{"a":54325,"t":"code","b":[48,214],"m":"bmi","oa":54285,"o":"b_D40D"},{"a":54327,"l":"base_palette","c":"The palette block: $3F00, 32 colours. Background: black, pink, green and brown for the platforms; white, orange, grey for the status bar; white, blue, green; white, black, grey. Sprites: the players (blue, red, flesh), (blue, red, flesh), the birds (grey, red, pink), (grey, red, pink).","t":"byte","b":[63,0,32,15,42,9,7,15],"x":[54255]},{"a":54335,"t":"byte","b":[48,39,21,15,48,2,33,15]},{"a":54343,"t":"byte","b":[48,0,16,15,22,18,55,15]},{"a":54351,"t":"byte","b":[18,22,55,15,23,17,53,15]},{"a":54359,"t":"byte","b":[23,17,43]},{"a":54362,"l":"phase_bg_palettes","c":"Three colours of background palette 0 for each group of four phases: $2A $09 $07, $2A $06 $07, $1B $0C $07, $2C $01 $06 (greens, then browns, then blues).","t":"byte","b":[15,42,9,7,15,38,6,7],"x":[54276]},{"a":54370,"t":"byte","b":[15,27,12,7,15,44,1,6]},{"a":54378,"l":"bonus_palette_ptrs","c":"Pointers to the five entries of bonus_palettes, one per bonus round.","t":"byte","b":[116,124,132,132,132],"x":[54291]},{"a":54383,"l":"bonus_palette_ptrs_hi","c":"The high bytes of bonus_palette_ptrs.","t":"byte","b":[212,212,212,212,212],"x":[54296]},{"a":54388,"l":"bonus_palettes","c":"Five entries of eight bytes, one per bonus round: four colours for the background palette (the backdrop and the chimneys) and four for sprite palette 2 (the balloons).","t":"byte","b":[15,2,8,6,15,43,48,18]},{"a":54396,"t":"byte","b":[15,7,10,25,15,38,48,43]},{"a":54404,"t":"byte","b":[15,7,12,28,15,21,48,38]},{"a":54412,"l":"advance_platform_ptr","c":"Adds platform_count plus one to the address in A and Y: the next of the four platform tables.","t":"code","b":[56],"m":"sec","x":[54220,54227,54234]},{"a":54413,"t":"code","b":[101,205],"m":"adc","oa":205,"o":"platform_count"},{"a":54415,"t":"code","b":[144,1],"m":"bcc","oa":54418,"o":"r_D492"},{"a":54417,"t":"code","b":[200],"m":"iny"},{"a":54418,"l":"r_D492","t":"code","b":[96],"m":"rts","x":[54415]},{"a":54419,"l":"cloud_tiles","c":"The first tile of each of a cloud's four rows: $7F, $7E, $7D, $7C; the row's other three tiles are 4, 8 and 12 higher.","t":"byte","b":[127,126,125,124],"x":[53960]},{"a":54423,"l":"draw_block_lists","c":"Reads pointers from the level stream (ptr1) and draws each block list until a pointer whose high byte is 0. A block: PPU address high byte (bit 7: step the address by 32, a column; bit 6: one tile repeated), address low byte, a count, then the tiles (or the one tile); a high byte of 0 ends the list.","t":"code","b":[32,229,212],"m":"jsr","oa":54501,"o":"read_level_byte","x":[53932,54440,55587]},{"a":54426,"t":"code","b":[133,31],"m":"sta","oa":31,"o":"ptr2"},{"a":54428,"t":"code","b":[32,229,212],"m":"jsr","oa":54501,"o":"read_level_byte"},{"a":54431,"t":"code","b":[133,32],"m":"sta","oa":32,"o":"ptr2_hi"},{"a":54433,"t":"code","b":[170],"m":"tax"},{"a":54434,"t":"code","b":[240,64],"m":"beq","oa":54500,"o":"r_D4E4"},{"a":54436,"l":"b_D4A4","t":"code","b":[32,240,212],"m":"jsr","oa":54512,"o":"read_block_byte","x":[54486,54498]},{"a":54439,"t":"code","b":[170],"m":"tax"},{"a":54440,"t":"code","b":[240,237],"m":"beq","oa":54423,"o":"draw_block_lists"},{"a":54442,"t":"code","b":[41,127],"m":"and","o":"#$7F"},{"a":54444,"t":"code","b":[141,6,32],"m":"sta","o":"PPUADDR"},{"a":54447,"t":"code","b":[32,240,212],"m":"jsr","oa":54512,"o":"read_block_byte"},{"a":54450,"t":"code","b":[141,6,32],"m":"sta","o":"PPUADDR"},{"a":54453,"t":"code","b":[32,240,212],"m":"jsr","oa":54512,"o":"read_block_byte"},{"a":54456,"t":"code","b":[133,18],"m":"sta","oa":18,"o":"tmp12"},{"a":54458,"t":"code","b":[138],"m":"txa"},{"a":54459,"t":"code","b":[41,128],"m":"and","o":"#$80"},{"a":54461,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":54462,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":54463,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":54464,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":54465,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":54466,"t":"code","b":[5,0],"m":"ora","oa":0,"o":"ppuctrl_shadow"},{"a":54468,"t":"code","b":[141,0,32],"m":"sta","o":"PPUCTRL"},{"a":54471,"t":"code","b":[138],"m":"txa"},{"a":54472,"t":"code","b":[41,64],"m":"and","o":"#$40"},{"a":54474,"t":"code","b":[208,12],"m":"bne","oa":54488,"o":"b_D4D8"},{"a":54476,"l":"b_D4CC","t":"code","b":[32,240,212],"m":"jsr","oa":54512,"o":"read_block_byte","x":[54484]},{"a":54479,"t":"code","b":[141,7,32],"m":"sta","o":"PPUDATA"},{"a":54482,"t":"code","b":[198,18],"m":"dec","oa":18,"o":"tmp12"},{"a":54484,"t":"code","b":[208,246],"m":"bne","oa":54476,"o":"b_D4CC"},{"a":54486,"t":"code","b":[240,204],"m":"beq","oa":54436,"o":"b_D4A4"},{"a":54488,"l":"b_D4D8","t":"code","b":[32,240,212],"m":"jsr","oa":54512,"o":"read_block_byte","x":[54474]},{"a":54491,"l":"b_D4DB","t":"code","b":[141,7,32],"m":"sta","o":"PPUDATA","x":[54496]},{"a":54494,"t":"code","b":[198,18],"m":"dec","oa":18,"o":"tmp12"},{"a":54496,"t":"code","b":[208,249],"m":"bne","oa":54491,"o":"b_D4DB"},{"a":54498,"t":"code","b":[240,192],"m":"beq","oa":54436,"o":"b_D4A4"},{"a":54500,"l":"r_D4E4","t":"code","b":[96],"m":"rts","x":[54434]},{"a":54501,"l":"read_level_byte","c":"The next byte of the level stream at ptr1.","t":"code","b":[160,0],"m":"ldy","o":"#$00","x":[53937,53946,54055,54064,54069,54146,54151,54202,54207,54212,54423,54428]},{"a":54503,"t":"code","b":[177,29],"m":"lda","oa":29,"o":"(ptr1),y"},{"a":54505,"t":"code","b":[230,29],"m":"inc","oa":29,"o":"ptr1"},{"a":54507,"t":"code","b":[208,2],"m":"bne","oa":54511,"o":"r_D4EF"},{"a":54509,"t":"code","b":[230,30],"m":"inc","oa":30,"o":"ptr1_hi"},{"a":54511,"l":"r_D4EF","t":"code","b":[96],"m":"rts","x":[54507]},{"a":54512,"l":"read_block_byte","c":"The next byte of the block list at ptr2.","t":"code","b":[160,0],"m":"ldy","o":"#$00","x":[54436,54447,54453,54476,54488]},{"a":54514,"t":"code","b":[177,31],"m":"lda","oa":31,"o":"(ptr2),y"},{"a":54516,"t":"code","b":[230,31],"m":"inc","oa":31,"o":"ptr2"},{"a":54518,"t":"code","b":[208,2],"m":"bne","oa":54522,"o":"r_D4FA"},{"a":54520,"t":"code","b":[230,32],"m":"inc","oa":32,"o":"ptr2_hi"},{"a":54522,"l":"r_D4FA","t":"code","b":[96],"m":"rts","x":[54518]},{"a":54523,"l":"set_ppu_addr_from_tile_xy","c":"Sets the PPU address to nametable 0's cell at column text_col, row text_row; tmp13 keeps the high byte.","t":"code","b":[165,85],"m":"lda","oa":85,"o":"text_row","x":[53953,54100]},{"a":54525,"t":"code","b":[133,18],"m":"sta","oa":18,"o":"tmp12"},{"a":54527,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":54529,"t":"code","b":[6,18],"m":"asl","oa":18,"o":"tmp12"},{"a":54531,"t":"code","b":[6,18],"m":"asl","oa":18,"o":"tmp12"},{"a":54533,"t":"code","b":[6,18],"m":"asl","oa":18,"o":"tmp12"},{"a":54535,"t":"code","b":[6,18],"m":"asl","oa":18,"o":"tmp12"},{"a":54537,"t":"code","b":[42],"m":"rol","o":"a"},{"a":54538,"t":"code","b":[6,18],"m":"asl","oa":18,"o":"tmp12"},{"a":54540,"t":"code","b":[42],"m":"rol","o":"a"},{"a":54541,"t":"code","b":[9,32],"m":"ora","o":"#$20"},{"a":54543,"t":"code","b":[141,6,32],"m":"sta","o":"PPUADDR"},{"a":54546,"t":"code","b":[133,19],"m":"sta","oa":19,"o":"tmp13"},{"a":54548,"t":"code","b":[165,18],"m":"lda","oa":18,"o":"tmp12"},{"a":54550,"t":"code","b":[5,84],"m":"ora","oa":84,"o":"text_col"},{"a":54552,"t":"code","b":[141,6,32],"m":"sta","o":"PPUADDR"},{"a":54555,"t":"code","b":[96],"m":"rts"},{"a":54556,"l":"attr_addr_and_quadrant","c":"For the cell at text_col, text_row: returns the attribute byte's address low byte ($C0 plus row/4 times 8 plus column/4) in A and its quadrant (0 to 3) in Y.","t":"code","b":[165,85],"m":"lda","oa":85,"o":"text_row","x":[53985,53994,54003,54012,54593,54617]},{"a":54558,"t":"code","b":[41,252],"m":"and","o":"#$FC"},{"a":54560,"t":"code","b":[10],"m":"asl","o":"a"},{"a":54561,"t":"code","b":[133,18],"m":"sta","oa":18,"o":"tmp12"},{"a":54563,"t":"code","b":[165,84],"m":"lda","oa":84,"o":"text_col"},{"a":54565,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":54566,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":54567,"t":"code","b":[5,18],"m":"ora","oa":18,"o":"tmp12"},{"a":54569,"t":"code","b":[9,192],"m":"ora","o":"#$C0"},{"a":54571,"t":"code","b":[72],"m":"pha"},{"a":54572,"t":"code","b":[165,85],"m":"lda","oa":85,"o":"text_row"},{"a":54574,"t":"code","b":[41,2],"m":"and","o":"#$02"},{"a":54576,"t":"code","b":[133,18],"m":"sta","oa":18,"o":"tmp12"},{"a":54578,"t":"code","b":[165,84],"m":"lda","oa":84,"o":"text_col"},{"a":54580,"t":"code","b":[41,2],"m":"and","o":"#$02"},{"a":54582,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":54583,"t":"code","b":[5,18],"m":"ora","oa":18,"o":"tmp12"},{"a":54585,"t":"code","b":[168],"m":"tay"},{"a":54586,"t":"code","b":[104],"m":"pla"},{"a":54587,"t":"code","b":[96],"m":"rts"},{"a":54588,"l":"set_attr_quadrant_palette1","c":"Reads the attribute byte at $23xx for the cell and writes it back with the cell's quadrant set to palette 1 (masks attr_quadrant_masks and attr_quadrant_values).","t":"code","b":[169,35],"m":"lda","o":"#$23","x":[54114,54121,54128,54135]},{"a":54590,"t":"code","b":[141,6,32],"m":"sta","o":"PPUADDR"},{"a":54593,"t":"code","b":[32,28,213],"m":"jsr","oa":54556,"o":"attr_addr_and_quadrant"},{"a":54596,"t":"code","b":[141,6,32],"m":"sta","o":"PPUADDR"},{"a":54599,"t":"code","b":[173,7,32],"m":"lda","o":"PPUDATA"},{"a":54602,"t":"code","b":[173,7,32],"m":"lda","o":"PPUDATA"},{"a":54605,"t":"code","b":[57,100,213],"m":"and","oa":54628,"o":"attr_quadrant_masks,y"},{"a":54608,"t":"code","b":[25,104,213],"m":"ora","oa":54632,"o":"attr_quadrant_values,y"},{"a":54611,"t":"code","b":[72],"m":"pha"},{"a":54612,"t":"code","b":[169,35],"m":"lda","o":"#$23"},{"a":54614,"t":"code","b":[141,6,32],"m":"sta","o":"PPUADDR"},{"a":54617,"t":"code","b":[32,28,213],"m":"jsr","oa":54556,"o":"attr_addr_and_quadrant"},{"a":54620,"t":"code","b":[141,6,32],"m":"sta","o":"PPUADDR"},{"a":54623,"t":"code","b":[104],"m":"pla"},{"a":54624,"t":"code","b":[141,7,32],"m":"sta","o":"PPUDATA"},{"a":54627,"t":"code","b":[96],"m":"rts"},{"a":54628,"l":"attr_quadrant_masks","c":"The mask that clears one quadrant of an attribute byte: $FC, $F3, $CF, $3F.","t":"byte","b":[252,243,207,63],"x":[54605]},{"a":54632,"l":"attr_quadrant_values","c":"Palette 1 in one quadrant: $01, $04, $10, $40.","t":"byte","b":[1,4,16,64],"x":[54608]},{"a":54636,"l":"draw_propeller_now","c":"Draws a propeller through the queue and flushes the queue at once (the picture is off).","t":"code","b":[32,203,204],"m":"jsr","oa":52427,"o":"propeller_draw","x":[54111]},{"a":54639,"t":"code","b":[76,124,193],"m":"jmp","oa":49532,"o":"flush_ppu_queue"},{"a":54642,"l":"build_trip_screen","c":"Balloon Trip's picture: the attribute rows for the water in both nametables (trip_water_attrs and 40 zeros, 16 of $AA), then at row 27 of each nametable 32 shore tiles ($58 to $5B) and 64 water tiles ($5C to $5F), and no_enemies set. Then the stars and the palette.","t":"code","b":[169,192],"m":"lda","o":"#$C0","x":[53917]},{"a":54644,"t":"code","b":[160,35],"m":"ldy","o":"#$23"},{"a":54646,"t":"code","b":[32,147,213],"m":"jsr","oa":54675,"o":"write_trip_attrs"},{"a":54649,"t":"code","b":[169,192],"m":"lda","o":"#$C0"},{"a":54651,"t":"code","b":[160,39],"m":"ldy","o":"#$27"},{"a":54653,"t":"code","b":[32,147,213],"m":"jsr","oa":54675,"o":"write_trip_attrs"},{"a":54656,"t":"code","b":[160,35],"m":"ldy","o":"#$23"},{"a":54658,"t":"code","b":[169,96],"m":"lda","o":"#$60"},{"a":54660,"t":"code","b":[32,184,213],"m":"jsr","oa":54712,"o":"write_water_rows"},{"a":54663,"t":"code","b":[160,39],"m":"ldy","o":"#$27"},{"a":54665,"t":"code","b":[169,96],"m":"lda","o":"#$60"},{"a":54667,"t":"code","b":[32,184,213],"m":"jsr","oa":54712,"o":"write_water_rows"},{"a":54670,"t":"code","b":[230,200],"m":"inc","oa":200,"o":"no_enemies"},{"a":54672,"t":"code","b":[76,225,211],"m":"jmp","oa":54241,"o":"j_D3E1"},{"a":54675,"l":"write_trip_attrs","c":"Writes 8 attribute bytes from trip_water_attrs, 40 zeros and 16 of $AA at the address in A and Y.","t":"code","b":[140,6,32],"m":"sty","o":"PPUADDR","x":[54646,54653]},{"a":54678,"t":"code","b":[141,6,32],"m":"sta","o":"PPUADDR"},{"a":54681,"t":"code","b":[162,0],"m":"ldx","o":"#$00"},{"a":54683,"l":"b_D59B","t":"code","b":[189,174,220],"m":"lda","oa":56494,"o":"trip_water_attrs,x","x":[54692]},{"a":54686,"t":"code","b":[141,7,32],"m":"sta","o":"PPUDATA"},{"a":54689,"t":"code","b":[232],"m":"inx"},{"a":54690,"t":"code","b":[224,8],"m":"cpx","o":"#$08"},{"a":54692,"t":"code","b":[208,245],"m":"bne","oa":54683,"o":"b_D59B"},{"a":54694,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":54696,"t":"code","b":[162,40],"m":"ldx","o":"#$28"},{"a":54698,"t":"code","b":[32,177,213],"m":"jsr","oa":54705,"o":"write_repeated"},{"a":54701,"t":"code","b":[169,170],"m":"lda","o":"#$AA"},{"a":54703,"t":"code","b":[162,16],"m":"ldx","o":"#$10"},{"a":54705,"l":"write_repeated","c":"Writes A to PPUDATA X times.","t":"code","b":[141,7,32],"m":"sta","o":"PPUDATA","x":[54698,54709]},{"a":54708,"t":"code","b":[202],"m":"dex"},{"a":54709,"t":"code","b":[208,250],"m":"bne","oa":54705,"o":"write_repeated"},{"a":54711,"t":"code","b":[96],"m":"rts"},{"a":54712,"l":"write_water_rows","c":"At the address in A and Y, 32 tiles cycling $58 to $5B then 64 cycling $5C to $5F.","t":"code","b":[140,6,32],"m":"sty","o":"PPUADDR","x":[54660,54667]},{"a":54715,"t":"code","b":[141,6,32],"m":"sta","o":"PPUADDR"},{"a":54718,"t":"code","b":[162,32],"m":"ldx","o":"#$20"},{"a":54720,"t":"code","b":[169,88],"m":"lda","o":"#$58"},{"a":54722,"t":"code","b":[32,201,213],"m":"jsr","oa":54729,"o":"write_tile_cycle"},{"a":54725,"t":"code","b":[162,64],"m":"ldx","o":"#$40"},{"a":54727,"t":"code","b":[169,92],"m":"lda","o":"#$5C"},{"a":54729,"l":"write_tile_cycle","c":"Writes X tiles of A plus (3 minus X and 3), the four-tile water pattern.","t":"code","b":[133,18],"m":"sta","oa":18,"o":"tmp12","x":[54722]},{"a":54731,"l":"b_D5CB","t":"code","b":[138],"m":"txa","x":[54742]},{"a":54732,"t":"code","b":[41,3],"m":"and","o":"#$03"},{"a":54734,"t":"code","b":[73,3],"m":"eor","o":"#$03"},{"a":54736,"t":"code","b":[5,18],"m":"ora","oa":18,"o":"tmp12"},{"a":54738,"t":"code","b":[141,7,32],"m":"sta","o":"PPUDATA"},{"a":54741,"t":"code","b":[202],"m":"dex"},{"a":54742,"t":"code","b":[208,243],"m":"bne","oa":54731,"o":"b_D5CB"},{"a":54744,"t":"code","b":[96],"m":"rts"},{"a":54745,"l":"draw_stars","c":"For each of the 64 star positions (star_addresses, stepped by 2 through X 0 to $7E) in both nametables, draws a star where the cell is blank.","t":"code","b":[162,0],"m":"ldx","o":"#$00","x":[54241]},{"a":54747,"l":"b_D5DB","t":"code","b":[32,81,214],"m":"jsr","oa":54865,"o":"star_addr","x":[54766]},{"a":54750,"t":"code","b":[32,241,213],"m":"jsr","oa":54769,"o":"draw_star_if_blank"},{"a":54753,"t":"code","b":[165,81],"m":"lda","oa":81,"o":"ppu_addr_hi"},{"a":54755,"t":"code","b":[9,4],"m":"ora","o":"#$04"},{"a":54757,"t":"code","b":[133,81],"m":"sta","oa":81,"o":"ppu_addr_hi"},{"a":54759,"t":"code","b":[32,241,213],"m":"jsr","oa":54769,"o":"draw_star_if_blank"},{"a":54762,"t":"code","b":[232],"m":"inx"},{"a":54763,"t":"code","b":[232],"m":"inx"},{"a":54764,"t":"code","b":[224,128],"m":"cpx","o":"#$80"},{"a":54766,"t":"code","b":[208,235],"m":"bne","oa":54747,"o":"b_D5DB"},{"a":54768,"t":"code","b":[96],"m":"rts"},{"a":54769,"l":"draw_star_if_blank","c":"Reads the cell at ppu_addr; if it is the blank tile, writes the star tile from star_tiles by X and 3.","t":"code","b":[165,81],"m":"lda","oa":81,"o":"ppu_addr_hi","x":[54750,54759]},{"a":54771,"t":"code","b":[141,6,32],"m":"sta","o":"PPUADDR"},{"a":54774,"t":"code","b":[165,80],"m":"lda","oa":80,"o":"ppu_addr_lo"},{"a":54776,"t":"code","b":[141,6,32],"m":"sta","o":"PPUADDR"},{"a":54779,"t":"code","b":[173,7,32],"m":"lda","o":"PPUDATA"},{"a":54782,"t":"code","b":[173,7,32],"m":"lda","o":"PPUDATA"},{"a":54785,"t":"code","b":[201,36],"m":"cmp","o":"#$24"},{"a":54787,"t":"code","b":[208,7],"m":"bne","oa":54796,"o":"r_D60C"},{"a":54789,"t":"code","b":[138],"m":"txa"},{"a":54790,"t":"code","b":[41,3],"m":"and","o":"#$03"},{"a":54792,"t":"code","b":[168],"m":"tay"},{"a":54793,"t":"code","b":[76,59,214],"m":"jmp","oa":54843,"o":"j_D63B"},{"a":54796,"l":"r_D60C","t":"code","b":[96],"m":"rts","x":[54787]},{"a":54797,"l":"twinkle_stars","c":"In the NMI handler: while stars_to_twinkle is nonzero, one star a frame: star_index moves on by 2, the cell is read, and its tile is stepped along star_tiles (blank, $ED, $EE, $EF, blank), so the stars twinkle one after another.","t":"code","b":[165,76],"m":"lda","oa":76,"o":"stars_to_twinkle","x":[49324]},{"a":54799,"t":"code","b":[240,41],"m":"beq","oa":54842,"o":"r_D63A"},{"a":54801,"t":"code","b":[198,76],"m":"dec","oa":76,"o":"stars_to_twinkle"},{"a":54803,"t":"code","b":[165,79],"m":"lda","oa":79,"o":"star_index"},{"a":54805,"t":"code","b":[24],"m":"clc"},{"a":54806,"t":"code","b":[105,2],"m":"adc","o":"#$02"},{"a":54808,"t":"code","b":[41,63],"m":"and","o":"#$3F"},{"a":54810,"t":"code","b":[133,79],"m":"sta","oa":79,"o":"star_index"},{"a":54812,"t":"code","b":[170],"m":"tax"},{"a":54813,"t":"code","b":[32,81,214],"m":"jsr","oa":54865,"o":"star_addr"},{"a":54816,"t":"code","b":[165,81],"m":"lda","oa":81,"o":"ppu_addr_hi"},{"a":54818,"t":"code","b":[141,6,32],"m":"sta","o":"PPUADDR"},{"a":54821,"t":"code","b":[165,80],"m":"lda","oa":80,"o":"ppu_addr_lo"},{"a":54823,"t":"code","b":[141,6,32],"m":"sta","o":"PPUADDR"},{"a":54826,"t":"code","b":[173,7,32],"m":"lda","o":"PPUDATA"},{"a":54829,"t":"code","b":[173,7,32],"m":"lda","o":"PPUDATA"},{"a":54832,"t":"code","b":[160,3],"m":"ldy","o":"#$03"},{"a":54834,"l":"b_D632","t":"code","b":[217,76,214],"m":"cmp","oa":54860,"o":"star_tiles,y","x":[54840]},{"a":54837,"t":"code","b":[240,4],"m":"beq","oa":54843,"o":"j_D63B"},{"a":54839,"t":"code","b":[136],"m":"dey"},{"a":54840,"t":"code","b":[16,248],"m":"bpl","oa":54834,"o":"b_D632"},{"a":54842,"l":"r_D63A","t":"code","b":[96],"m":"rts","x":[54799]},{"a":54843,"l":"j_D63B","t":"code","b":[165,81],"m":"lda","oa":81,"o":"ppu_addr_hi","x":[54793,54837]},{"a":54845,"t":"code","b":[141,6,32],"m":"sta","o":"PPUADDR"},{"a":54848,"t":"code","b":[165,80],"m":"lda","oa":80,"o":"ppu_addr_lo"},{"a":54850,"t":"code","b":[141,6,32],"m":"sta","o":"PPUADDR"},{"a":54853,"t":"code","b":[185,77,214],"m":"lda","oa":54861,"o":"star_tiles_next,y"},{"a":54856,"t":"code","b":[141,7,32],"m":"sta","o":"PPUDATA"},{"a":54859,"t":"code","b":[96],"m":"rts"},{"a":54860,"l":"star_tiles","c":"The twinkle cycle: $24 (blank), $ED, $EE, $EF, $24.","t":"byte","b":[36],"x":[54834]},{"a":54861,"l":"star_tiles_next","c":"star_tiles from its second entry: the tile that follows each in the twinkle.","t":"byte","b":[237,238,239,36],"x":[54853]},{"a":54865,"l":"star_addr","c":"ppu_addr from star_addresses entry X.","t":"code","b":[189,92,214],"m":"lda","oa":54876,"o":"star_addresses,x","x":[54747,54813]},{"a":54868,"t":"code","b":[133,80],"m":"sta","oa":80,"o":"ppu_addr_lo"},{"a":54870,"t":"code","b":[189,93,214],"m":"lda","oa":54877,"o":"star_addresses_hi,x"},{"a":54873,"t":"code","b":[133,81],"m":"sta","oa":81,"o":"ppu_addr_hi"},{"a":54875,"t":"code","b":[96],"m":"rts"},{"a":54876,"l":"star_addresses","c":"The nametable address of each of the 64 stars, low byte first.","t":"addr","b":[99,33],"oa":8547,"o":"a_2163","x":[54865]},{"a":54877,"t":"note","l":"star_addresses_hi","c":"The high byte of the first star address; star_addr reads the pairs from star_addresses with X.","note":"inside the item at $D65C","x":[54870]},{"a":54878,"t":"addr","b":[165,33],"oa":8613,"o":"a_21A5"},{"a":54880,"t":"addr","b":[203,32],"oa":8395,"o":"a_20CB"},{"a":54882,"t":"addr","b":[183,32],"oa":8375,"o":"a_20B7"},{"a":54884,"t":"addr","b":[125,33],"oa":8573,"o":"a_217D"},{"a":54886,"t":"addr","b":[155,34],"oa":8859,"o":"a_229B"},{"a":54888,"t":"addr","b":[242,32],"oa":8434,"o":"a_20F2"},{"a":54890,"t":"addr","b":[73,34],"oa":8777,"o":"a_2249"},{"a":54892,"t":"addr","b":[109,33],"oa":8557,"o":"a_216D"},{"a":54894,"t":"addr","b":[11,34],"oa":8715,"o":"a_220B"},{"a":54896,"t":"addr","b":[146,34],"oa":8850,"o":"a_2292"},{"a":54898,"t":"addr","b":[149,33],"oa":8597,"o":"a_2195"},{"a":54900,"t":"addr","b":[28,33],"oa":8476,"o":"a_211C"},{"a":54902,"t":"addr","b":[72,33],"oa":8520,"o":"a_2148"},{"a":54904,"t":"addr","b":[224,32],"oa":8416,"o":"a_20E0"},{"a":54906,"t":"addr","b":[11,35],"oa":8971,"o":"a_230B"},{"a":54908,"t":"addr","b":[206,32],"oa":8398,"o":"a_20CE"},{"a":54910,"t":"addr","b":[208,33],"oa":8656,"o":"a_21D0"},{"a":54912,"t":"addr","b":[6,33],"oa":8454,"o":"a_2106"},{"a":54914,"t":"addr","b":[25,33],"oa":8473,"o":"a_2119"},{"a":54916,"t":"addr","b":[48,34],"oa":8752,"o":"a_2230"},{"a":54918,"t":"addr","b":[138,34],"oa":8842,"o":"a_228A"},{"a":54920,"t":"addr","b":[136,34],"oa":8840,"o":"a_2288"},{"a":54922,"t":"addr","b":[164,32],"oa":8356,"o":"a_20A4"},{"a":54924,"t":"addr","b":[66,34],"oa":8770,"o":"a_2242"},{"a":54926,"t":"addr","b":[104,33],"oa":8552,"o":"a_2168"},{"a":54928,"t":"addr","b":[60,34],"oa":8764,"o":"a_223C"},{"a":54930,"t":"addr","b":[54,33],"oa":8502,"o":"a_2136"},{"a":54932,"t":"addr","b":[202,33],"oa":8650,"o":"a_21CA"},{"a":54934,"t":"addr","b":[188,32],"oa":8380,"o":"a_20BC"},{"a":54936,"t":"addr","b":[150,33],"oa":8598,"o":"a_2196"},{"a":54938,"t":"addr","b":[76,33],"oa":8524,"o":"a_214C"},{"a":54940,"t":"addr","b":[53,34],"oa":8757,"o":"a_2235"},{"a":54942,"t":"addr","b":[239,32],"oa":8431,"o":"a_20EF"},{"a":54944,"t":"addr","b":[104,34],"oa":8808,"o":"a_2268"},{"a":54946,"t":"addr","b":[166,32],"oa":8358,"o":"a_20A6"},{"a":54948,"t":"addr","b":[187,33],"oa":8635,"o":"a_21BB"},{"a":54950,"t":"addr","b":[122,33],"oa":8570,"o":"a_217A"},{"a":54952,"t":"addr","b":[234,32],"oa":8426,"o":"a_20EA"},{"a":54954,"t":"addr","b":[241,33],"oa":8689,"o":"a_21F1"},{"a":54956,"t":"addr","b":[194,32],"oa":8386,"o":"a_20C2"},{"a":54958,"t":"addr","b":[119,33],"oa":8567,"o":"a_2177"},{"a":54960,"t":"addr","b":[84,33],"oa":8532,"o":"a_2154"},{"a":54962,"t":"addr","b":[186,32],"oa":8378,"o":"a_20BA"},{"a":54964,"t":"addr","b":[197,34],"oa":8901,"o":"a_22C5"},{"a":54966,"t":"addr","b":[190,32],"oa":8382,"o":"a_20BE"},{"a":54968,"t":"addr","b":[250,32],"oa":8442,"o":"a_20FA"},{"a":54970,"t":"addr","b":[174,33],"oa":8622,"o":"a_21AE"},{"a":54972,"t":"addr","b":[70,33],"oa":8518,"o":"a_2146"},{"a":54974,"t":"addr","b":[154,33],"oa":8602,"o":"a_219A"},{"a":54976,"t":"addr","b":[210,32],"oa":8402,"o":"a_20D2"},{"a":54978,"t":"addr","b":[61,33],"oa":8509,"o":"a_213D"},{"a":54980,"t":"addr","b":[43,34],"oa":8747,"o":"a_222B"},{"a":54982,"t":"addr","b":[176,32],"oa":8368,"o":"a_20B0"},{"a":54984,"t":"addr","b":[182,33],"oa":8630,"o":"a_21B6"},{"a":54986,"t":"addr","b":[172,32],"oa":8364,"o":"a_20AC"},{"a":54988,"t":"addr","b":[179,32],"oa":8371,"o":"a_20B3"},{"a":54990,"t":"addr","b":[219,32],"oa":8411,"o":"a_20DB"},{"a":54992,"t":"addr","b":[246,32],"oa":8438,"o":"a_20F6"},{"a":54994,"t":"addr","b":[44,33],"oa":8492,"o":"a_212C"},{"a":54996,"t":"addr","b":[231,32],"oa":8423,"o":"a_20E7"},{"a":54998,"t":"addr","b":[98,33],"oa":8546,"o":"a_2162"},{"a":55000,"t":"addr","b":[228,33],"oa":8676,"o":"a_21E4"},{"a":55002,"t":"addr","b":[78,33],"oa":8526,"o":"a_214E"},{"a":55004,"l":"add_score_zero","c":"add_score with 0, to refresh the display and the top score.","t":"code","b":[169,0],"m":"lda","o":"#$00","x":[53440]},{"a":55006,"l":"add_score","c":"Adds A tens of points to scoring_player's score, plus score_extra_hundreds hundreds and score_extra_thousands ten-thousands; nothing in the demonstration, for a player who does not exist or has no lives. Splits A into digits with divide, adds digit by digit with mod10; if the score beats the mode's top score (top_score_ptrs by title_option) it becomes the top score; score_top is refreshed, the status bar asked to redraw, and in Balloon Trip the rank recomputed.","t":"code","b":[133,67],"m":"sta","oa":67,"o":"score_add","x":[49221,49257,49821,49898,50003,53822,60693,61500,61924]},{"a":55008,"t":"code","b":[165,58],"m":"lda","oa":58,"o":"demo_flag"},{"a":55010,"t":"code","b":[240,1],"m":"beq","oa":55013,"o":"b_D6E5"},{"a":55012,"l":"r_D6E4","t":"code","b":[96],"m":"rts","x":[55017,55021]},{"a":55013,"l":"b_D6E5","t":"code","b":[166,62],"m":"ldx","oa":62,"o":"scoring_player","x":[55010]},{"a":55015,"t":"code","b":[224,2],"m":"cpx","o":"#$02"},{"a":55017,"t":"code","b":[176,249],"m":"bcs","oa":55012,"o":"r_D6E4"},{"a":55019,"t":"code","b":[181,65],"m":"lda","oa":65,"o":"lives,x"},{"a":55021,"t":"code","b":[48,245],"m":"bmi","oa":55012,"o":"r_D6E4"},{"a":55023,"t":"code","b":[160,100],"m":"ldy","o":"#$64"},{"a":55025,"t":"code","b":[32,124,215],"m":"jsr","oa":55164,"o":"divide"},{"a":55028,"t":"code","b":[24],"m":"clc"},{"a":55029,"t":"code","b":[101,72],"m":"adc","oa":72,"o":"score_extra_hundreds"},{"a":55031,"t":"code","b":[133,69],"m":"sta","oa":69,"o":"score_add_thousands"},{"a":55033,"t":"code","b":[160,10],"m":"ldy","o":"#$0A"},{"a":55035,"t":"code","b":[32,124,215],"m":"jsr","oa":55164,"o":"divide"},{"a":55038,"t":"code","b":[133,68],"m":"sta","oa":68,"o":"score_add_hundreds"},{"a":55040,"t":"code","b":[166,63],"m":"ldx","oa":63,"o":"title_option"},{"a":55042,"t":"code","b":[189,121,215],"m":"lda","oa":55161,"o":"top_score_ptrs,x"},{"a":55045,"t":"code","b":[133,33],"m":"sta","oa":33,"o":"ptr3"},{"a":55047,"t":"code","b":[169,6],"m":"lda","o":"#$06"},{"a":55049,"t":"code","b":[133,34],"m":"sta","oa":34,"o":"ptr3_hi"},{"a":55051,"t":"code","b":[165,62],"m":"lda","oa":62,"o":"scoring_player"},{"a":55053,"t":"code","b":[10],"m":"asl","o":"a"},{"a":55054,"t":"code","b":[10],"m":"asl","o":"a"},{"a":55055,"t":"code","b":[5,62],"m":"ora","oa":62,"o":"scoring_player"},{"a":55057,"t":"code","b":[170],"m":"tax"},{"a":55058,"t":"code","b":[24],"m":"clc"},{"a":55059,"t":"code","b":[181,3],"m":"lda","oa":3,"o":"score_p1,x"},{"a":55061,"t":"code","b":[101,67],"m":"adc","oa":67,"o":"score_add"},{"a":55063,"t":"code","b":[32,143,215],"m":"jsr","oa":55183,"o":"mod10"},{"a":55066,"t":"code","b":[149,3],"m":"sta","oa":3,"o":"score_p1,x"},{"a":55068,"t":"code","b":[181,4],"m":"lda","oa":4,"o":"score_p1_hundreds,x"},{"a":55070,"t":"code","b":[101,68],"m":"adc","oa":68,"o":"score_add_hundreds"},{"a":55072,"t":"code","b":[32,143,215],"m":"jsr","oa":55183,"o":"mod10"},{"a":55075,"t":"code","b":[149,4],"m":"sta","oa":4,"o":"score_p1_hundreds,x"},{"a":55077,"t":"code","b":[181,5],"m":"lda","oa":5,"o":"score_p1_thousands,x"},{"a":55079,"t":"code","b":[101,69],"m":"adc","oa":69,"o":"score_add_thousands"},{"a":55081,"t":"code","b":[32,143,215],"m":"jsr","oa":55183,"o":"mod10"},{"a":55084,"t":"code","b":[149,5],"m":"sta","oa":5,"o":"score_p1_thousands,x"},{"a":55086,"t":"code","b":[181,6],"m":"lda","oa":6,"o":"score_p1_tenthousands,x"},{"a":55088,"t":"code","b":[101,71],"m":"adc","oa":71,"o":"score_extra_thousands"},{"a":55090,"t":"code","b":[32,143,215],"m":"jsr","oa":55183,"o":"mod10"},{"a":55093,"t":"code","b":[149,6],"m":"sta","oa":6,"o":"score_p1_tenthousands,x"},{"a":55095,"t":"code","b":[181,7],"m":"lda","oa":7,"o":"score_p1_hundredthousands,x"},{"a":55097,"t":"code","b":[105,0],"m":"adc","o":"#$00"},{"a":55099,"t":"code","b":[32,143,215],"m":"jsr","oa":55183,"o":"mod10"},{"a":55102,"t":"code","b":[149,7],"m":"sta","oa":7,"o":"score_p1_hundredthousands,x"},{"a":55104,"t":"code","b":[232],"m":"inx"},{"a":55105,"t":"code","b":[232],"m":"inx"},{"a":55106,"t":"code","b":[232],"m":"inx"},{"a":55107,"t":"code","b":[232],"m":"inx"},{"a":55108,"t":"code","b":[160,4],"m":"ldy","o":"#$04"},{"a":55110,"l":"b_D746","t":"code","b":[181,3],"m":"lda","oa":3,"o":"score_p1,x","x":[55120]},{"a":55112,"t":"code","b":[209,33],"m":"cmp","oa":33,"o":"(ptr3),y"},{"a":55114,"t":"code","b":[144,25],"m":"bcc","oa":55141,"o":"b_D765"},{"a":55116,"t":"code","b":[208,4],"m":"bne","oa":55122,"o":"b_D752"},{"a":55118,"t":"code","b":[202],"m":"dex"},{"a":55119,"t":"code","b":[136],"m":"dey"},{"a":55120,"t":"code","b":[16,244],"m":"bpl","oa":55110,"o":"b_D746"},{"a":55122,"l":"b_D752","t":"code","b":[160,0],"m":"ldy","o":"#$00","x":[55116]},{"a":55124,"t":"code","b":[165,62],"m":"lda","oa":62,"o":"scoring_player"},{"a":55126,"t":"code","b":[10],"m":"asl","o":"a"},{"a":55127,"t":"code","b":[10],"m":"asl","o":"a"},{"a":55128,"t":"code","b":[5,62],"m":"ora","oa":62,"o":"scoring_player"},{"a":55130,"t":"code","b":[170],"m":"tax"},{"a":55131,"l":"b_D75B","t":"code","b":[181,3],"m":"lda","oa":3,"o":"score_p1,x","x":[55139]},{"a":55133,"t":"code","b":[145,33],"m":"sta","oa":33,"o":"(ptr3),y"},{"a":55135,"t":"code","b":[232],"m":"inx"},{"a":55136,"t":"code","b":[200],"m":"iny"},{"a":55137,"t":"code","b":[192,5],"m":"cpy","o":"#$05"},{"a":55139,"t":"code","b":[208,246],"m":"bne","oa":55131,"o":"b_D75B"},{"a":55141,"l":"b_D765","t":"code","b":[160,4],"m":"ldy","o":"#$04","x":[55114]},{"a":55143,"l":"b_D767","t":"code","b":[177,33],"m":"lda","oa":33,"o":"(ptr3),y","x":[55149]},{"a":55145,"t":"code","b":[153,13,0],"m":"sta","oa":13,"o":"score_top,y"},{"a":55148,"t":"code","b":[136],"m":"dey"},{"a":55149,"t":"code","b":[16,248],"m":"bpl","oa":55143,"o":"b_D767"},{"a":55151,"t":"code","b":[230,70],"m":"inc","oa":70,"o":"status_request"},{"a":55153,"t":"code","b":[165,22],"m":"lda","oa":22,"o":"game_mode"},{"a":55155,"t":"code","b":[240,3],"m":"beq","oa":55160,"o":"r_D778"},{"a":55157,"t":"code","b":[32,57,197],"m":"jsr","oa":50489,"o":"find_trip_rank"},{"a":55160,"l":"r_D778","t":"code","b":[96],"m":"rts","x":[55155]},{"a":55161,"l":"top_score_ptrs","c":"Low byte of each mode's entry in top_scores ($29, $2E, $33 in page 6).","t":"byte","b":[41,46,51],"x":[55042]},{"a":55164,"l":"divide","c":"Divides score_add by Y: the quotient in A, the remainder left in score_add.","t":"code","b":[132,18],"m":"sty","oa":18,"o":"tmp12","x":[50540,55025,55035,62434]},{"a":55166,"t":"code","b":[162,255],"m":"ldx","o":"#$FF"},{"a":55168,"t":"code","b":[165,67],"m":"lda","oa":67,"o":"score_add"},{"a":55170,"l":"b_D782","t":"code","b":[56],"m":"sec","x":[55174]},{"a":55171,"t":"code","b":[229,18],"m":"sbc","oa":18,"o":"tmp12"},{"a":55173,"t":"code","b":[232],"m":"inx"},{"a":55174,"t":"code","b":[176,250],"m":"bcs","oa":55170,"o":"b_D782"},{"a":55176,"t":"code","b":[24],"m":"clc"},{"a":55177,"t":"code","b":[101,18],"m":"adc","oa":18,"o":"tmp12"},{"a":55179,"t":"code","b":[133,67],"m":"sta","oa":67,"o":"score_add"},{"a":55181,"t":"code","b":[138],"m":"txa"},{"a":55182,"t":"code","b":[96],"m":"rts"},{"a":55183,"l":"mod10","c":"Takes 10 off A if A is 10 or more (one decimal digit after an add with carry).","t":"code","b":[201,10],"m":"cmp","o":"#$0A","x":[55063,55072,55081,55090,55099]},{"a":55185,"t":"code","b":[176,1],"m":"bcs","oa":55188,"o":"b_D794"},{"a":55187,"t":"code","b":[96],"m":"rts"},{"a":55188,"l":"b_D794","t":"code","b":[56],"m":"sec","x":[55185]},{"a":55189,"t":"code","b":[233,10],"m":"sbc","o":"#$0A"},{"a":55191,"t":"code","b":[96],"m":"rts"},{"a":55192,"l":"status_bar_update","c":"In the NMI handler, when status_request is set. 1: the score line at $2043: the I- marker, player 1's five digits and a 0, TOP- and the top score; then RANK- and the two rank digits in Balloon Trip, or II- and player 2's score with two players. 2: the lives: at $2062 player 1's spare balloons (draw_lives_or_gameover) and at $2075 player 2's. status_request counts down one a frame.","t":"code","b":[164,70],"m":"ldy","oa":70,"o":"status_request","x":[49327]},{"a":55194,"t":"code","b":[136],"m":"dey"},{"a":55195,"t":"code","b":[240,3],"m":"beq","oa":55200,"o":"b_D7A0"},{"a":55197,"t":"code","b":[16,102],"m":"bpl","oa":55301,"o":"b_D805"},{"a":55199,"t":"code","b":[96],"m":"rts"},{"a":55200,"l":"b_D7A0","t":"code","b":[169,32],"m":"lda","o":"#$20","x":[55195]},{"a":55202,"t":"code","b":[141,6,32],"m":"sta","o":"PPUADDR"},{"a":55205,"t":"code","b":[169,67],"m":"lda","o":"#$43"},{"a":55207,"t":"code","b":[141,6,32],"m":"sta","o":"PPUADDR"},{"a":55210,"t":"code","b":[169,142],"m":"lda","o":"#$8E"},{"a":55212,"t":"code","b":[141,7,32],"m":"sta","o":"PPUDATA"},{"a":55215,"t":"code","b":[162,4],"m":"ldx","o":"#$04"},{"a":55217,"l":"b_D7B1","t":"code","b":[181,3],"m":"lda","oa":3,"o":"score_p1,x","x":[55223]},{"a":55219,"t":"code","b":[141,7,32],"m":"sta","o":"PPUDATA"},{"a":55222,"t":"code","b":[202],"m":"dex"},{"a":55223,"t":"code","b":[16,248],"m":"bpl","oa":55217,"o":"b_D7B1"},{"a":55225,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":55227,"t":"code","b":[141,7,32],"m":"sta","o":"PPUDATA"},{"a":55230,"t":"code","b":[169,36],"m":"lda","o":"#$24"},{"a":55232,"t":"code","b":[141,7,32],"m":"sta","o":"PPUDATA"},{"a":55235,"t":"code","b":[141,7,32],"m":"sta","o":"PPUDATA"},{"a":55238,"t":"code","b":[162,140],"m":"ldx","o":"#$8C"},{"a":55240,"t":"code","b":[142,7,32],"m":"stx","o":"PPUDATA"},{"a":55243,"t":"code","b":[232],"m":"inx"},{"a":55244,"t":"code","b":[142,7,32],"m":"stx","o":"PPUDATA"},{"a":55247,"t":"code","b":[162,4],"m":"ldx","o":"#$04"},{"a":55249,"l":"b_D7D1","t":"code","b":[181,13],"m":"lda","oa":13,"o":"score_top,x","x":[55255]},{"a":55251,"t":"code","b":[141,7,32],"m":"sta","o":"PPUDATA"},{"a":55254,"t":"code","b":[202],"m":"dex"},{"a":55255,"t":"code","b":[16,248],"m":"bpl","oa":55249,"o":"b_D7D1"},{"a":55257,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":55259,"t":"code","b":[141,7,32],"m":"sta","o":"PPUDATA"},{"a":55262,"t":"code","b":[169,36],"m":"lda","o":"#$24"},{"a":55264,"t":"code","b":[141,7,32],"m":"sta","o":"PPUDATA"},{"a":55267,"t":"code","b":[141,7,32],"m":"sta","o":"PPUDATA"},{"a":55270,"t":"code","b":[165,22],"m":"lda","oa":22,"o":"game_mode"},{"a":55272,"t":"code","b":[208,106],"m":"bne","oa":55380,"o":"status_rank"},{"a":55274,"t":"code","b":[165,64],"m":"lda","oa":64,"o":"two_players"},{"a":55276,"t":"code","b":[240,20],"m":"beq","oa":55298,"o":"b_D802"},{"a":55278,"t":"code","b":[169,143],"m":"lda","o":"#$8F"},{"a":55280,"t":"code","b":[141,7,32],"m":"sta","o":"PPUDATA"},{"a":55283,"t":"code","b":[162,4],"m":"ldx","o":"#$04"},{"a":55285,"l":"b_D7F5","t":"code","b":[181,8],"m":"lda","oa":8,"o":"score_p2,x","x":[55291]},{"a":55287,"t":"code","b":[141,7,32],"m":"sta","o":"PPUDATA"},{"a":55290,"t":"code","b":[202],"m":"dex"},{"a":55291,"t":"code","b":[16,248],"m":"bpl","oa":55285,"o":"b_D7F5"},{"a":55293,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":55295,"t":"code","b":[141,7,32],"m":"sta","o":"PPUDATA"},{"a":55298,"l":"b_D802","t":"code","b":[198,70],"m":"dec","oa":70,"o":"status_request","x":[55276]},{"a":55300,"t":"code","b":[96],"m":"rts"},{"a":55301,"l":"b_D805","t":"code","b":[198,70],"m":"dec","oa":70,"o":"status_request","x":[55197]},{"a":55303,"t":"code","b":[169,32],"m":"lda","o":"#$20"},{"a":55305,"t":"code","b":[141,6,32],"m":"sta","o":"PPUADDR"},{"a":55308,"t":"code","b":[169,98],"m":"lda","o":"#$62"},{"a":55310,"t":"code","b":[141,6,32],"m":"sta","o":"PPUADDR"},{"a":55313,"t":"code","b":[165,65],"m":"lda","oa":65,"o":"lives"},{"a":55315,"t":"code","b":[32,38,216],"m":"jsr","oa":55334,"o":"draw_lives_or_gameover"},{"a":55318,"t":"code","b":[165,64],"m":"lda","oa":64,"o":"two_players"},{"a":55320,"t":"code","b":[240,32],"m":"beq","oa":55354,"o":"r_D83A"},{"a":55322,"t":"code","b":[169,32],"m":"lda","o":"#$20"},{"a":55324,"t":"code","b":[141,6,32],"m":"sta","o":"PPUADDR"},{"a":55327,"t":"code","b":[169,117],"m":"lda","o":"#$75"},{"a":55329,"t":"code","b":[141,6,32],"m":"sta","o":"PPUADDR"},{"a":55332,"t":"code","b":[165,66],"m":"lda","oa":66,"o":"lives_p2"},{"a":55334,"l":"draw_lives_or_gameover","c":"Writes 7 cells: a balloon tile for each life left and blanks after; for a player whose lives are negative, GAME OVER in a two-player game (gameover_text_rev written backwards) and seven blanks in a one-player game, where the count written is two_players, 0.","t":"code","b":[48,19],"m":"bmi","oa":55355,"o":"b_D83B","x":[55315]},{"a":55336,"l":"b_D828","t":"code","b":[133,80],"m":"sta","oa":80,"o":"ppu_addr_lo","x":[55357]},{"a":55338,"t":"code","b":[162,6],"m":"ldx","o":"#$06"},{"a":55340,"l":"b_D82C","t":"code","b":[169,36],"m":"lda","o":"#$24","x":[55352]},{"a":55342,"t":"code","b":[228,80],"m":"cpx","oa":80,"o":"ppu_addr_lo"},{"a":55344,"t":"code","b":[176,2],"m":"bcs","oa":55348,"o":"b_D834"},{"a":55346,"t":"code","b":[169,42],"m":"lda","o":"#$2A"},{"a":55348,"l":"b_D834","t":"code","b":[141,7,32],"m":"sta","o":"PPUDATA","x":[55344]},{"a":55351,"t":"code","b":[202],"m":"dex"},{"a":55352,"t":"code","b":[16,242],"m":"bpl","oa":55340,"o":"b_D82C"},{"a":55354,"l":"r_D83A","t":"code","b":[96],"m":"rts","x":[55320]},{"a":55355,"l":"b_D83B","t":"code","b":[165,64],"m":"lda","oa":64,"o":"two_players","x":[55334]},{"a":55357,"t":"code","b":[240,233],"m":"beq","oa":55336,"o":"b_D828"},{"a":55359,"t":"code","b":[162,8],"m":"ldx","o":"#$08"},{"a":55361,"l":"b_D841","t":"code","b":[189,75,216],"m":"lda","oa":55371,"o":"gameover_text_rev,x","x":[55368]},{"a":55364,"t":"code","b":[141,7,32],"m":"sta","o":"PPUDATA"},{"a":55367,"t":"code","b":[202],"m":"dex"},{"a":55368,"t":"code","b":[16,247],"m":"bpl","oa":55361,"o":"b_D841"},{"a":55370,"t":"code","b":[96],"m":"rts"},{"a":55371,"l":"gameover_text_rev","c":"\"REVO EMAG\": the letters of GAME OVER in reverse, written from the last cell backwards.","t":"byte","b":[27,14,31,24,36,14,22,10],"x":[55361]},{"a":55379,"t":"byte","b":[16]},{"a":55380,"l":"status_rank","c":"Balloon Trip's status bar tail: RANK- (rank_text_rev backwards) and the two digits.","t":"code","b":[160,4],"m":"ldy","o":"#$04","x":[55272]},{"a":55382,"l":"b_D856","t":"code","b":[185,108,216],"m":"lda","oa":55404,"o":"rank_text_rev,y","x":[55389]},{"a":55385,"t":"code","b":[141,7,32],"m":"sta","o":"PPUDATA"},{"a":55388,"t":"code","b":[136],"m":"dey"},{"a":55389,"t":"code","b":[16,247],"m":"bpl","oa":55382,"o":"b_D856"},{"a":55391,"t":"code","b":[165,74],"m":"lda","oa":74,"o":"trip_rank_tens"},{"a":55393,"t":"code","b":[141,7,32],"m":"sta","o":"PPUDATA"},{"a":55396,"t":"code","b":[165,73],"m":"lda","oa":73,"o":"trip_rank_units"},{"a":55398,"t":"code","b":[141,7,32],"m":"sta","o":"PPUDATA"},{"a":55401,"t":"code","b":[198,70],"m":"dec","oa":70,"o":"status_request"},{"a":55403,"t":"code","b":[96],"m":"rts"},{"a":55404,"l":"rank_text_rev","c":"The tiles of RANK- in reverse: $FB, $FA, $F9, $F8, $F7.","t":"byte","b":[251,250,249,248,247],"x":[55382]},{"a":55409,"l":"show_popup","c":"Shows a score popup (kind in A: 0 to 5) above actor X: in a free popup slot, or the one with less time left; 100 frames; two sprites from popup_tiles and popup_tiles2 at the actor's X and X plus 8, 8 above it, in the scoring player's palette.","t":"code","b":[133,18],"m":"sta","oa":18,"o":"tmp12","x":[60700,61496]},{"a":55411,"t":"code","b":[134,19],"m":"stx","oa":19,"o":"tmp13"},{"a":55413,"t":"code","b":[132,20],"m":"sty","oa":20,"o":"tmp14"},{"a":55415,"t":"code","b":[162,1],"m":"ldx","o":"#$01"},{"a":55417,"l":"b_D879","t":"code","b":[189,26,6],"m":"lda","oa":1562,"o":"popup_kind,x","x":[55423]},{"a":55420,"t":"code","b":[48,14],"m":"bmi","oa":55436,"o":"b_D88C"},{"a":55422,"t":"code","b":[202],"m":"dex"},{"a":55423,"t":"code","b":[16,248],"m":"bpl","oa":55417,"o":"b_D879"},{"a":55425,"t":"code","b":[162,1],"m":"ldx","o":"#$01"},{"a":55427,"t":"code","b":[173,25,6],"m":"lda","oa":1561,"o":"popup_timer_2"},{"a":55430,"t":"code","b":[205,24,6],"m":"cmp","oa":1560,"o":"popup_timer"},{"a":55433,"t":"code","b":[144,1],"m":"bcc","oa":55436,"o":"b_D88C"},{"a":55435,"t":"code","b":[202],"m":"dex"},{"a":55436,"l":"b_D88C","t":"code","b":[169,100],"m":"lda","o":"#$64","x":[55420,55433]},{"a":55438,"t":"code","b":[157,24,6],"m":"sta","oa":1560,"o":"popup_timer,x"},{"a":55441,"t":"code","b":[165,18],"m":"lda","oa":18,"o":"tmp12"},{"a":55443,"t":"code","b":[157,26,6],"m":"sta","oa":1562,"o":"popup_kind,x"},{"a":55446,"t":"code","b":[168],"m":"tay"},{"a":55447,"t":"code","b":[138],"m":"txa"},{"a":55448,"t":"code","b":[10],"m":"asl","o":"a"},{"a":55449,"t":"code","b":[10],"m":"asl","o":"a"},{"a":55450,"t":"code","b":[10],"m":"asl","o":"a"},{"a":55451,"t":"code","b":[170],"m":"tax"},{"a":55452,"t":"code","b":[185,209,216],"m":"lda","oa":55505,"o":"popup_tiles,y"},{"a":55455,"t":"code","b":[157,241,2],"m":"sta","oa":753,"o":"sprite_popups_tile,x"},{"a":55458,"t":"code","b":[185,215,216],"m":"lda","oa":55511,"o":"popup_tiles2,y"},{"a":55461,"t":"code","b":[157,245,2],"m":"sta","oa":757,"o":"sprite_popups_tile2,x"},{"a":55464,"t":"code","b":[164,19],"m":"ldy","oa":19,"o":"tmp13"},{"a":55466,"t":"code","b":[185,154,0],"m":"lda","oa":154,"o":"actor_y,y"},{"a":55469,"t":"code","b":[56],"m":"sec"},{"a":55470,"t":"code","b":[233,8],"m":"sbc","o":"#$08"},{"a":55472,"t":"code","b":[157,240,2],"m":"sta","oa":752,"o":"sprite_popups,x"},{"a":55475,"t":"code","b":[157,244,2],"m":"sta","oa":756,"o":"sprite_popups_y2,x"},{"a":55478,"t":"code","b":[185,145,0],"m":"lda","oa":145,"o":"actor_x,y"},{"a":55481,"t":"code","b":[157,243,2],"m":"sta","oa":755,"o":"sprite_popups_x,x"},{"a":55484,"t":"code","b":[24],"m":"clc"},{"a":55485,"t":"code","b":[105,8],"m":"adc","o":"#$08"},{"a":55487,"t":"code","b":[157,247,2],"m":"sta","oa":759,"o":"sprite_popups_x2,x"},{"a":55490,"t":"code","b":[165,62],"m":"lda","oa":62,"o":"scoring_player"},{"a":55492,"t":"code","b":[157,242,2],"m":"sta","oa":754,"o":"sprite_popups_attr,x"},{"a":55495,"t":"code","b":[157,246,2],"m":"sta","oa":758,"o":"sprite_popups_attr2,x"},{"a":55498,"t":"code","b":[164,20],"m":"ldy","oa":20,"o":"tmp14"},{"a":55500,"t":"code","b":[166,19],"m":"ldx","oa":19,"o":"tmp13"},{"a":55502,"t":"code","b":[165,18],"m":"lda","oa":18,"o":"tmp12"},{"a":55504,"t":"code","b":[96],"m":"rts"},{"a":55505,"l":"popup_tiles","c":"Left tile of each popup kind: $F4 to $F9 (the 500, 750, 1000, 1500 and 2000 figures).","t":"byte","b":[244,245,246,247,248,249],"x":[55452]},{"a":55511,"l":"popup_tiles2","c":"Right tile of each popup kind: $FB, $FB, $FA, $FB, $FB, $FB.","t":"byte","b":[251,251,250,251,251,251],"x":[55458]},{"a":55517,"l":"popups_countdown","c":"Each popup's timer counts down; at 0 it is hidden.","t":"code","b":[162,1],"m":"ldx","o":"#$01","x":[53049,62167]},{"a":55519,"l":"b_D8DF","t":"code","b":[189,26,6],"m":"lda","oa":1562,"o":"popup_kind,x","x":[55548]},{"a":55522,"t":"code","b":[48,23],"m":"bmi","oa":55547,"o":"b_D8FB"},{"a":55524,"t":"code","b":[222,24,6],"m":"dec","oa":1560,"o":"popup_timer,x"},{"a":55527,"t":"code","b":[208,18],"m":"bne","oa":55547,"o":"b_D8FB"},{"a":55529,"t":"code","b":[169,255],"m":"lda","o":"#$FF"},{"a":55531,"t":"code","b":[157,26,6],"m":"sta","oa":1562,"o":"popup_kind,x"},{"a":55534,"t":"code","b":[138],"m":"txa"},{"a":55535,"t":"code","b":[10],"m":"asl","o":"a"},{"a":55536,"t":"code","b":[10],"m":"asl","o":"a"},{"a":55537,"t":"code","b":[10],"m":"asl","o":"a"},{"a":55538,"t":"code","b":[168],"m":"tay"},{"a":55539,"t":"code","b":[169,240],"m":"lda","o":"#$F0"},{"a":55541,"t":"code","b":[153,240,2],"m":"sta","oa":752,"o":"sprite_popups,y"},{"a":55544,"t":"code","b":[153,244,2],"m":"sta","oa":756,"o":"sprite_popups_y2,y"},{"a":55547,"l":"b_D8FB","t":"code","b":[202],"m":"dex","x":[55522,55527]},{"a":55548,"t":"code","b":[16,225],"m":"bpl","oa":55519,"o":"b_D8DF"},{"a":55550,"t":"code","b":[96],"m":"rts"},{"a":55551,"l":"popups_clear","c":"Both popups off.","t":"code","b":[162,1],"m":"ldx","o":"#$01","x":[62097]},{"a":55553,"l":"b_D901","t":"code","b":[169,0],"m":"lda","o":"#$00","x":[55564]},{"a":55555,"t":"code","b":[157,24,6],"m":"sta","oa":1560,"o":"popup_timer,x"},{"a":55558,"t":"code","b":[169,255],"m":"lda","o":"#$FF"},{"a":55560,"t":"code","b":[157,26,6],"m":"sta","oa":1562,"o":"popup_kind,x"},{"a":55563,"t":"code","b":[202],"m":"dex"},{"a":55564,"t":"code","b":[16,243],"m":"bpl","oa":55553,"o":"b_D901"},{"a":55566,"t":"code","b":[96],"m":"rts"},{"a":55567,"l":"draw_title_screen","c":"Clears the screen and draws the title from title_blocks with the picture off.","t":"code","b":[32,70,210],"m":"jsr","oa":53830,"o":"clear_screen","x":[56004]},{"a":55570,"t":"code","b":[32,10,193],"m":"jsr","oa":49418,"o":"screen_off"},{"a":55573,"t":"code","b":[32,101,244],"m":"jsr","oa":62565,"o":"wait_frame"},{"a":55576,"t":"code","b":[32,250,192],"m":"jsr","oa":49402,"o":"nmi_off"},{"a":55579,"t":"code","b":[169,44],"m":"lda","o":"#$2C"},{"a":55581,"t":"code","b":[133,29],"m":"sta","oa":29,"o":"ptr1"},{"a":55583,"t":"code","b":[169,217],"m":"lda","o":"#$D9"},{"a":55585,"t":"code","b":[133,30],"m":"sta","oa":30,"o":"ptr1_hi"},{"a":55587,"t":"code","b":[32,151,212],"m":"jsr","oa":54423,"o":"draw_block_lists"},{"a":55590,"t":"code","b":[32,4,193],"m":"jsr","oa":49412,"o":"nmi_on"},{"a":55593,"t":"code","b":[76,21,193],"m":"jmp","oa":49429,"o":"screen_on"},{"a":55596,"l":"title_block_list","c":"The pointer to title_blocks and a 0 end.","t":"byte","b":[48,217,0,0]},{"a":55600,"l":"title_blocks","c":"The title screen's blocks: the palette ($3F00 and $3F18), the BALLOON FIGHT logo (tiles $E0 to $F6 in 11 rows), the menu lines \"A  1-PLAYER GAME\", \"B  2-PLAYER GAME\", \"C  BALLOON  TRIP\", and \"\u00a91984 NINTENDO\"; 0 ends.","t":"byte","b":[63,0,4,15,48,39,42,63]},{"a":55608,"t":"byte","b":[24,4,15,22,48,33,32,124]},{"a":55616,"t":"byte","b":[33,240,241,36,36,36,36,224]},{"a":55624,"t":"byte","b":[225,225,226,224,225,225,226,224]},{"a":55632,"t":"byte","b":[226,36,224,226,36,224,225,225]},{"a":55640,"t":"byte","b":[226,224,225,225,226,224,236,36]},{"a":55648,"t":"byte","b":[224,226,32,162,27,227,227,227]},{"a":55656,"t":"byte","b":[229,227,227,227,229,227,229,36]},{"a":55664,"t":"byte","b":[227,229,36,227,227,227,229,227]},{"a":55672,"t":"byte","b":[227,227,229,227,227,243,227,229]},{"a":55680,"t":"byte","b":[32,194,27,227,228,227,231,227]},{"a":55688,"t":"byte","b":[228,227,229,227,229,36,227,229]},{"a":55696,"t":"byte","b":[36,227,228,227,229,227,228,227]},{"a":55704,"t":"byte","b":[229,227,227,227,227,229,32,226]},{"a":55712,"t":"byte","b":[27,227,227,227,226,227,227,227]},{"a":55720,"t":"byte","b":[229,227,229,36,227,229,36,227]},{"a":55728,"t":"byte","b":[227,227,229,227,227,227,229,227]},{"a":55736,"t":"byte","b":[227,227,227,229,33,2,27,227]},{"a":55744,"t":"byte","b":[228,227,229,227,242,227,229,227]},{"a":55752,"t":"byte","b":[227,226,227,227,226,227,227,227]},{"a":55760,"t":"byte","b":[229,227,227,227,229,227,242,227]},{"a":55768,"t":"byte","b":[227,229,33,34,27,230,227,227]},{"a":55776,"t":"byte","b":[231,235,36,230,231,230,227,231]},{"a":55784,"t":"byte","b":[230,227,231,230,227,227,231,230]},{"a":55792,"t":"byte","b":[227,227,231,235,36,230,227,231]},{"a":55800,"t":"byte","b":[33,76,18,224,225,225,226,224]},{"a":55808,"t":"byte","b":[226,224,225,225,226,232,36,224]},{"a":55816,"t":"byte","b":[226,224,225,225,226,33,108,18]},{"a":55824,"t":"byte","b":[227,227,227,231,227,229,227,245]},{"a":55832,"t":"byte","b":[246,231,227,243,227,229,230,227]},{"a":55840,"t":"byte","b":[227,231,33,140,18,227,227,239]},{"a":55848,"t":"byte","b":[36,227,229,227,36,36,36,227]},{"a":55856,"t":"byte","b":[227,227,229,36,227,229,36,33]},{"a":55864,"t":"byte","b":[172,18,227,227,225,234,227,229]},{"a":55872,"t":"byte","b":[227,233,227,226,227,227,227,229]},{"a":55880,"t":"byte","b":[36,227,229,36,33,204,18,227]},{"a":55888,"t":"byte","b":[227,239,36,227,229,227,243,227]},{"a":55896,"t":"byte","b":[229,227,242,227,229,36,227,229]},{"a":55904,"t":"byte","b":[36,33,236,18,230,231,36,36]},{"a":55912,"t":"byte","b":[230,231,230,231,230,231,235,36]},{"a":55920,"t":"byte","b":[230,231,36,230,231,36,34,72]},{"a":55928,"t":"byte","b":[16,10,36,36,1,37,25,21]},{"a":55936,"t":"byte","b":[10,34,14,27,36,16,10,22]},{"a":55944,"t":"byte","b":[14,34,136,16,11,36,36,2]},{"a":55952,"t":"byte","b":[37,25,21,10,34,14,27,36]},{"a":55960,"t":"byte","b":[16,10,22,14,34,200,16,12]},{"a":55968,"t":"byte","b":[36,36,11,10,21,21,24,24]},{"a":55976,"t":"byte","b":[23,36,36,29,27,18,25,35]},{"a":55984,"t":"byte","b":[73,14,244,1,9,8,4,36]},{"a":55992,"t":"byte","b":[23,18,23,29,14,23,13,24]},{"a":56000,"t":"byte","b":[0]},{"a":56001,"l":"title_loop","c":"The title screen. NMI on, the picture drawn, frame_counter 0; each frame: when the counter wraps to 0 a demonstration starts (demo_flag, two players, the APU off, start_game, then the title again); the balloon cursor is drawn; Start returns to main to begin; Select moves the cursor to the next option (title_next_option) and restarts the demonstration count.","t":"code","b":[32,4,193],"m":"jsr","oa":49412,"o":"nmi_on","x":[56067,61908]},{"a":56004,"t":"code","b":[32,15,217],"m":"jsr","oa":55567,"o":"draw_title_screen"},{"a":56007,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":56009,"t":"code","b":[133,25],"m":"sta","oa":25,"o":"frame_counter"},{"a":56011,"l":"j_DACB","t":"code","b":[32,101,244],"m":"jsr","oa":62565,"o":"wait_frame","x":[56045]},{"a":56014,"t":"code","b":[165,25],"m":"lda","oa":25,"o":"frame_counter"},{"a":56016,"t":"code","b":[240,31],"m":"beq","oa":56049,"o":"b_DAF1"},{"a":56018,"t":"code","b":[32,8,219],"m":"jsr","oa":56072,"o":"draw_title_cursor"},{"a":56021,"t":"code","b":[32,104,231],"m":"jsr","oa":59240,"o":"read_joypads"},{"a":56024,"t":"code","b":[170],"m":"tax"},{"a":56025,"t":"code","b":[41,16],"m":"and","o":"#$10"},{"a":56027,"t":"code","b":[208,19],"m":"bne","oa":56048,"o":"r_DAF0"},{"a":56029,"t":"code","b":[138],"m":"txa"},{"a":56030,"t":"code","b":[41,32],"m":"and","o":"#$20"},{"a":56032,"t":"code","b":[240,11],"m":"beq","oa":56045,"o":"b_DAED"},{"a":56034,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":56036,"t":"code","b":[133,25],"m":"sta","oa":25,"o":"frame_counter"},{"a":56038,"t":"code","b":[166,63],"m":"ldx","oa":63,"o":"title_option"},{"a":56040,"t":"code","b":[189,5,219],"m":"lda","oa":56069,"o":"title_next_option,x"},{"a":56043,"t":"code","b":[133,63],"m":"sta","oa":63,"o":"title_option"},{"a":56045,"l":"b_DAED","t":"code","b":[76,203,218],"m":"jmp","oa":56011,"o":"j_DACB","x":[56032]},{"a":56048,"l":"r_DAF0","t":"code","b":[96],"m":"rts","x":[56027]},{"a":56049,"l":"b_DAF1","t":"code","b":[230,58],"m":"inc","oa":58,"o":"demo_flag","x":[56016]},{"a":56051,"t":"code","b":[230,64],"m":"inc","oa":64,"o":"two_players"},{"a":56053,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":56055,"t":"code","b":[141,21,64],"m":"sta","o":"SND_CHN"},{"a":56058,"t":"code","b":[133,22],"m":"sta","oa":22,"o":"game_mode"},{"a":56060,"t":"code","b":[32,242,241],"m":"jsr","oa":61938,"o":"start_game"},{"a":56063,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":56065,"t":"code","b":[133,58],"m":"sta","oa":58,"o":"demo_flag"},{"a":56067,"t":"code","b":[240,188],"m":"beq","oa":56001,"o":"title_loop"},{"a":56069,"l":"title_next_option","c":"The option after each: 1, 2, 0.","t":"byte","b":[1,2,0],"x":[56040]},{"a":56072,"l":"draw_title_cursor","c":"Sets game_mode (option 2) and two_players (option 1) from title_option and draws the balloon cursor as balloon 0 at X $2C and the row from title_cursor_y.","t":"code","b":[165,63],"m":"lda","oa":63,"o":"title_option","x":[56018]},{"a":56074,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":56075,"t":"code","b":[133,22],"m":"sta","oa":22,"o":"game_mode"},{"a":56077,"t":"code","b":[165,63],"m":"lda","oa":63,"o":"title_option"},{"a":56079,"t":"code","b":[170],"m":"tax"},{"a":56080,"t":"code","b":[41,1],"m":"and","o":"#$01"},{"a":56082,"t":"code","b":[133,64],"m":"sta","oa":64,"o":"two_players"},{"a":56084,"t":"code","b":[189,39,219],"m":"lda","oa":56103,"o":"title_cursor_y,x"},{"a":56087,"t":"code","b":[141,123,5],"m":"sta","oa":1403,"o":"balloon_y"},{"a":56090,"t":"code","b":[169,44],"m":"lda","o":"#$2C"},{"a":56092,"t":"code","b":[141,103,5],"m":"sta","oa":1383,"o":"balloon_x"},{"a":56095,"t":"code","b":[162,0],"m":"ldx","o":"#$00"},{"a":56097,"t":"code","b":[142,93,5],"m":"stx","oa":1373,"o":"balloon_state"},{"a":56100,"t":"code","b":[76,47,206],"m":"jmp","oa":52783,"o":"balloon_draw"},{"a":56103,"l":"title_cursor_y","c":"Y of the cursor for each option: $8C, $9C, $AC.","t":"byte","b":[140,156,172],"x":[56084]},{"a":56106,"l":"phase_layouts","c":"The address of each of the 16 phase layouts by phase_index (low bytes, then high bytes). Index 0 is phase 1; indexes 3, 7, 11 and 15 are the bonus round; 6 and 14 share a layout; after 15 the index goes back to 4, so phases 13 on repeat phases 4 to 12 with their bonus rounds.","t":"byte","b":[74,89,242,108,119,136,225,108],"x":[53922]},{"a":56114,"t":"byte","b":[153,3,202,108,173,23,225,108]},{"a":56122,"l":"phase_layouts_hi","c":"The high bytes of phase_layouts.","t":"byte","b":[219,219,219,219,219,219,219,219],"x":[53927]},{"a":56130,"t":"byte","b":[219,220,219,219,219,220,219,219]},{"a":56138,"l":"phase_layout_1","c":"Phase layout records. Each: the addresses of its block lists (two bytes each, ended by $0000: common_blocks first, then the phase's own platforms from phase_blocks); clouds as X, Y pairs in cells, ended by $FF; propellers as X, Y, phase, ended by $FF; the address of its bird list; the platform count minus one; the address of its platform tables. Phase 1 (index 0) here: one cloud at cell 16, 6; no propellers; three pink birds on the middle ledge; three platforms.","t":"byte","b":[43,220,57,221,0,0,16,6]},{"a":56146,"t":"byte","b":[255,255,150,223,2,122,222]},{"a":56153,"l":"phase_layout_2","c":"Phase 2 (index 1): two clouds; no propellers; five birds (two green, three pink); five platforms.","t":"byte","b":[43,220,57,221,75,221,0,0]},{"a":56161,"t":"byte","b":[24,12,4,14,255,255,160,223]},{"a":56169,"t":"byte","b":[4,134,222]},{"a":56172,"l":"bonus_layout","c":"The bonus round (indexes 3, 7, 11 and 15): bonus_blocks only; no clouds; no propellers; an empty bird list, which is what makes it a bonus round; one platform, the whole ground.","t":"byte","b":[202,220,0,0,255,255,176,223]},{"a":56180,"t":"byte","b":[0,154,222]},{"a":56183,"l":"phase_layout_4","c":"Phase 4 (index 4): two clouds; no propellers; five birds (one white, one green, three pink); seven platforms. Phase 9 reuses its birds and platforms.","t":"byte","b":[43,220,94,221,0,0,8,6]},{"a":56191,"t":"byte","b":[24,10,255,255,177,223,6,158]},{"a":56199,"t":"byte","b":[222]},{"a":56200,"l":"phase_layout_5","c":"Phase 5 (index 5): two clouds; no propellers; six birds (one white, three green, two pink); eight platforms.","t":"byte","b":[43,220,125,221,0,0,4,6]},{"a":56208,"t":"byte","b":[18,8,255,255,193,223,7,186]},{"a":56216,"t":"byte","b":[222]},{"a":56217,"l":"phase_layout_7","c":"Phase 7 (index 8): two clouds; the first propeller the player meets, at cell 15, 13; six birds (two white, three green, one pink); ten platforms.","t":"byte","b":[43,220,163,221,0,0,6,6]},{"a":56225,"t":"byte","b":[20,16,255,15,13,1,255,212]},{"a":56233,"t":"byte","b":[223,9,218,222]},{"a":56237,"l":"phase_layout_10","c":"Phase 10 (index 12): two clouds; four propellers, all upright; five birds (three white, two green); four platforms.","t":"byte","b":[43,220,206,221,0,0,4,6]},{"a":56245,"t":"byte","b":[16,14,255,8,14,3,13,9]},{"a":56253,"t":"byte","b":[3,18,8,3,23,13,3,255]},{"a":56261,"t":"byte","b":[231,223,3,2,223]},{"a":56266,"l":"phase_layout_9","c":"Phase 9 (index 10): two clouds; two propellers; phase 4's five birds and seven platforms.","t":"byte","b":[43,220,94,221,0,0,16,6]},{"a":56274,"t":"byte","b":[26,12,255,8,8,1,24,4]},{"a":56282,"t":"byte","b":[1,255,177,223,6,158,222]},{"a":56289,"l":"phase_layout_6","c":"Phases 6 and 12 (indexes 6 and 14): two clouds; no propellers; five birds (four white, one pink); seven platforms.","t":"byte","b":[43,220,219,221,0,0,14,6]},{"a":56297,"t":"byte","b":[12,20,255,255,247,223,6,18]},{"a":56305,"t":"byte","b":[223]},{"a":56306,"l":"phase_layout_3","c":"Phase 3 (index 2): two clouds; no propellers; five birds (two white, two green, one pink); ten platforms.","t":"byte","b":[43,220,1,222,0,0,4,8]},{"a":56314,"t":"byte","b":[22,16,255,255,7,224,9,46]},{"a":56322,"t":"byte","b":[223]},{"a":56323,"l":"phase_layout_8","c":"Phase 8 (index 9): two clouds; one propeller; six birds (two white, two green, two pink); eight platforms.","t":"byte","b":[43,220,50,222,0,0,4,16]},{"a":56331,"t":"byte","b":[24,16,255,14,6,1,255,23]},{"a":56339,"t":"byte","b":[224,7,86,223]},{"a":56343,"l":"phase_layout_11","c":"Phase 11 (index 13): two clouds; one propeller; six birds (two white, two green, two pink); eight platforms.","t":"byte","b":[43,220,91,222,0,0,4,8]},{"a":56351,"t":"byte","b":[14,16,255,16,7,1,255,42]},{"a":56359,"t":"byte","b":[224,7,118,223]},{"a":56363,"l":"common_blocks","c":"The block list every phase shares: at $2340 the ground and water rows (136 tiles: the water pattern, the shore tiles $58 to $63), then 16 attribute bytes at $23F0; 0 ends.","t":"byte","b":[35,64,136,57,56,57,56,57]},{"a":56371,"t":"byte","b":[56,57,51,36,36,36,36,36]},{"a":56379,"t":"byte","b":[36,36,36,36,36,36,36,36]},{"a":56387,"t":"byte","b":[36,36,36,48,56,57,56,57]},{"a":56395,"t":"byte","b":[56,57,56,60,59,60,59,60]},{"a":56403,"t":"byte","b":[59,60,61,88,89,90,91,88]},{"a":56411,"t":"byte","b":[89,90,91,88,89,90,91,88]},{"a":56419,"t":"byte","b":[89,90,91,58,59,60,59,60]},{"a":56427,"t":"byte","b":[59,60,59,96,97,98,99,96]},{"a":56435,"t":"byte","b":[97,98,99,92,93,94,95,92]},{"a":56443,"t":"byte","b":[93,94,95,92,93,94,95,92]},{"a":56451,"t":"byte","b":[93,94,95,96,97,98,99,96]},{"a":56459,"t":"byte","b":[97,98,99,92,93,94,95,92]},{"a":56467,"t":"byte","b":[93,94,95,92,93,94,95,92]},{"a":56475,"t":"byte","b":[93,94,95,92,93,94,95,92]},{"a":56483,"t":"byte","b":[93,94,95,92,93,94,95,92]},{"a":56491,"t":"byte","b":[93,94,95]},{"a":56494,"l":"trip_water_attrs","c":"Inside common_blocks: the 8 attribute bytes of the water rows, which build_trip_screen writes too.","t":"byte","b":[64,80,80,80,80,144,160,160],"x":[54683]},{"a":56502,"t":"byte","b":[35,240,16,0,0,160,160,160]},{"a":56510,"t":"byte","b":[160,0,0,10,10,10,10,10]},{"a":56518,"t":"byte","b":[10,10,10,0]},{"a":56522,"l":"bonus_blocks","c":"The bonus round's block list: the four chimneys as vertical runs of tiles $93 to $96 at $2304, $22EA, $2334 and $231A, the chimney tops at $2380, the ground row at $23A0, and the attributes; 0 ends.","t":"byte","b":[163,4,4,147,148,148,148,163]},{"a":56530,"t":"byte","b":[5,4,149,150,150,150,162,234]},{"a":56538,"t":"byte","b":[5,147,148,148,148,148,162,235]},{"a":56546,"t":"byte","b":[5,149,150,150,150,150,163,52]},{"a":56554,"t":"byte","b":[3,147,148,148,163,53,3,149]},{"a":56562,"t":"byte","b":[150,150,163,26,4,147,148,148]},{"a":56570,"t":"byte","b":[148,163,27,4,149,150,150,150]},{"a":56578,"t":"byte","b":[99,128,32,151,35,160,32,152]},{"a":56586,"t":"byte","b":[153,152,153,152,153,152,153,152]},{"a":56594,"t":"byte","b":[153,152,153,152,153,152,153,152]},{"a":56602,"t":"byte","b":[153,152,153,152,153,152,153,152]},{"a":56610,"t":"byte","b":[153,152,153,152,153,152,153,35]},{"a":56618,"t":"byte","b":[192,8,64,80,80,80,80,144]},{"a":56626,"t":"byte","b":[160,160,99,232,16,255,0]},{"a":56633,"l":"phase_blocks","c":"The phases' own block lists, one after another: the platforms as runs of tiles $30 to $33 (a ledge) and $3E to $40 (a wider one), each list ended by 0. Phase 1's at $DD39 (the middle ledge, used by phase 2 too with $DD4B added), then $DD5E (phases 4 and 9), $DD7D (5), $DDA3 (7), $DDCE (10), $DDDB (6 and 12), $DE01 (3), $DE32 (8), $DE5B (11).","t":"byte","b":[34,73,14,48,49,50,49,50]},{"a":56641,"t":"byte","b":[49,50,49,50,49,50,49,50]},{"a":56649,"t":"byte","b":[51,0,33,87,6,48,49,50]},{"a":56657,"t":"byte","b":[49,50,51,33,101,6,48,49]},{"a":56665,"t":"byte","b":[50,49,50,51,0,33,144,3]},{"a":56673,"t":"byte","b":[48,49,51,34,38,3,48,49]},{"a":56681,"t":"byte","b":[51,34,87,3,48,49,51,34]},{"a":56689,"t":"byte","b":[108,3,48,49,51,34,242,3]},{"a":56697,"t":"byte","b":[48,49,51,0,32,203,3,48]},{"a":56705,"t":"byte","b":[49,51,161,109,3,62,63,64]},{"a":56713,"t":"byte","b":[161,89,4,62,63,63,64,161]},{"a":56721,"t":"byte","b":[165,3,62,63,64,34,170,3]},{"a":56729,"t":"byte","b":[48,49,51,34,179,3,48,49]},{"a":56737,"t":"byte","b":[51,0,32,226,2,48,51,32]},{"a":56745,"t":"byte","b":[251,2,48,51,33,87,2,48]},{"a":56753,"t":"byte","b":[51,33,147,2,48,51,34,11]},{"a":56761,"t":"byte","b":[2,48,51,34,71,2,48,51]},{"a":56769,"t":"byte","b":[34,131,2,48,51,34,207,4]},{"a":56777,"t":"byte","b":[48,49,50,51,0,34,202,3]},{"a":56785,"t":"byte","b":[48,49,51,34,210,3,48,49]},{"a":56793,"t":"byte","b":[51,0,33,8,4,48,49,50]},{"a":56801,"t":"byte","b":[51,33,20,4,48,49,50,51]},{"a":56809,"t":"byte","b":[161,165,4,62,63,63,64,161]},{"a":56817,"t":"byte","b":[186,4,62,63,63,64,34,108]},{"a":56825,"t":"byte","b":[6,48,49,50,49,50,51,0]},{"a":56833,"t":"byte","b":[34,238,4,48,49,50,51,32]},{"a":56841,"t":"byte","b":[249,3,48,49,51,161,26,3]},{"a":56849,"t":"byte","b":[63,63,64,33,144,3,48,49]},{"a":56857,"t":"byte","b":[51,161,177,3,63,63,64,34]},{"a":56865,"t":"byte","b":[40,3,48,49,51,162,73,3]},{"a":56873,"t":"byte","b":[63,63,64,32,234,2,48,51]},{"a":56881,"t":"byte","b":[0,162,108,3,62,63,64,162]},{"a":56889,"t":"byte","b":[115,3,62,63,64,32,228,4]},{"a":56897,"t":"byte","b":[48,49,50,51,32,248,4,48]},{"a":56905,"t":"byte","b":[49,50,51,33,168,4,48,49]},{"a":56913,"t":"byte","b":[50,51,33,181,4,48,49,50]},{"a":56921,"t":"byte","b":[51,0,34,100,2,48,51,34]},{"a":56929,"t":"byte","b":[8,2,48,51,33,172,2,48]},{"a":56937,"t":"byte","b":[51,33,180,2,48,51,34,24]},{"a":56945,"t":"byte","b":[2,48,51,34,124,2,48,51]},{"a":56953,"t":"byte","b":[0]},{"a":56954,"l":"platform_tables","c":"The platforms of each phase as four tables of platform_count plus one bytes, one after another: left X, right X, top Y, bottom Y (a left X of $10 or a right X of $FF is the screen edge). Phase 1's at $DE7A: the two shores (X $10 to $38 and $C8 to $FF, Y $CF to $E0) and the middle ledge (X $48 to $B8, Y $8F to $98); then $DE86 (phase 2), $DE9A (the bonus round's whole ground), $DE9E (4 and 9), $DEBA (5), $DEDA (7), $DF02 (10), $DF12 (6 and 12), $DF2E (3), $DF56 (8), $DF76 (11).","t":"byte","b":[16,200,72,56,255,184,207,207]},{"a":56962,"t":"byte","b":[143,224,224,152,16,196,72,184]},{"a":56970,"t":"byte","b":[40,60,255,184,232,88,207,207]},{"a":56978,"t":"byte","b":[143,79,87,224,224,152,88,96]},{"a":56986,"t":"byte","b":[16,255,223,236,16,200,128,48]},{"a":56994,"t":"byte","b":[184,96,144,56,255,152,72,208]},{"a":57002,"t":"byte","b":[120,168,207,207,95,135,143,151]},{"a":57010,"t":"byte","b":[183,224,224,104,144,152,160,192]},{"a":57018,"t":"byte","b":[16,200,88,104,200,40,80,152]},{"a":57026,"t":"byte","b":[56,255,112,120,208,48,104,176]},{"a":57034,"t":"byte","b":[207,207,47,87,79,103,167,167]},{"a":57042,"t":"byte","b":[224,224,56,108,108,124,176,176]},{"a":57050,"t":"byte","b":[16,200,18,218,186,154,90,58]},{"a":57058,"t":"byte","b":[26,122,56,255,30,230,198,166]},{"a":57066,"t":"byte","b":[102,70,38,150,207,207,55,55]},{"a":57074,"t":"byte","b":[79,95,127,143,159,175,224,224]},{"a":57082,"t":"byte","b":[64,64,88,104,136,152,168,184]},{"a":57090,"t":"byte","b":[16,200,82,146,56,255,102,166]},{"a":57098,"t":"byte","b":[207,207,175,175,224,224,184,184]},{"a":57106,"t":"byte","b":[16,200,64,160,40,208,96,56]},{"a":57114,"t":"byte","b":[255,96,192,48,216,144,207,207]},{"a":57122,"t":"byte","b":[63,63,103,103,151,224,224,72]},{"a":57130,"t":"byte","b":[72,136,136,160,16,200,80,200]},{"a":57138,"t":"byte","b":[136,64,112,208,136,72,56,255]},{"a":57146,"t":"byte","b":[96,224,152,88,144,216,144,80]},{"a":57154,"t":"byte","b":[207,207,55,55,95,135,183,60]},{"a":57162,"t":"byte","b":[100,140,224,224,64,64,104,144]},{"a":57170,"t":"byte","b":[192,96,128,168,16,200,32,192]},{"a":57178,"t":"byte","b":[64,168,96,152,56,255,64,224]},{"a":57186,"t":"byte","b":[96,200,104,160,207,207,55,55]},{"a":57194,"t":"byte","b":[103,103,151,151,224,224,64,64]},{"a":57202,"t":"byte","b":[112,112,176,176,16,200,32,64]},{"a":57210,"t":"byte","b":[96,160,192,224,56,255,48,80]},{"a":57218,"t":"byte","b":[112,176,208,240,207,207,151,127]},{"a":57226,"t":"byte","b":[103,103,127,151,224,224,160,136]},{"a":57234,"t":"byte","b":[112,112,136,160]},{"a":57238,"l":"bird_lists","c":"The birds of each phase: a count, then X, Y and type for each, type 4, 5 or 6 a pink, green or white bird on the ground about to blow up its balloon. Phase 1's at $DF96: three pink birds at Y $78 on the middle ledge; then $DFA0 (phase 2), $DFB0 (the bonus round: 0), $DFB1 (4 and 9), $DFC1 (5), $DFD4 (7), $DFE7 (10), $DFF7 (6 and 12), $E007 (3), $E017 (8), $E02A (11).","t":"byte","b":[3,88,120,4,120,120,4,152]},{"a":57246,"t":"byte","b":[120,4,5,200,56,5,56,64]},{"a":57254,"t":"byte","b":[5,88,120,4,120,120,4,152]},{"a":57262,"t":"byte","b":[120,4,0,5,148,160,6,132]},{"a":57270,"t":"byte","b":[72,5,52,112,4,100,128,4]},{"a":57278,"t":"byte","b":[188,120,4,6,92,24,6,36]},{"a":57286,"t":"byte","b":[80,5,100,64,5,196,56,5]},{"a":57294,"t":"byte","b":[84,144,4,156,144,4,6,16]},{"a":57302,"t":"byte","b":[32,6,216,32,6,184,56,5]},{"a":57310,"t":"byte","b":[152,72,5,88,104,5,56,120]},{"a":57318,"t":"byte","b":[4,5,84,152,5,148,152,5]},{"a":57326,"t":"byte","b":[108,57,6,148,49,6,188,89]},{"a":57334,"t":"byte","b":[6,5,80,40,6,168,40,6]},{"a":57342,"t":"byte","b":[36,80,6,204,80,6,112,128]},{"a":57350,"t":"byte","b":[4,5,80,32,6,200,32,6]},{"a":57358,"t":"byte","b":[132,72,5,68,112,5,120,160]},{"a":57366,"t":"byte","b":[4,6,40,32,6,200,32,6]},{"a":57374,"t":"byte","b":[72,80,5,176,80,5,92,128]},{"a":57382,"t":"byte","b":[4,148,128,4,6,32,128,4]},{"a":57390,"t":"byte","b":[64,104,5,96,80,6,160,80]},{"a":57398,"t":"byte","b":[6,192,104,5,224,128,4]},{"a":57405,"l":"actor_sprite_dy","c":"Y offset between an actor's six sprites, read from the end: 0, 8, 8 for the left column then -16, 8, 8 for the right column (each actor is two columns of three 8 by 8 sprites, 16 by 24 pixels).","t":"byte","b":[8,8,240,8,8,0],"x":[58525]},{"a":57411,"l":"actor_sprite_dx","c":"Nine sets of six X offsets for an actor's sprites facing right: the left column then the right, with a sprite shifted a pixel or two for the balloons, the parachute and the arms.","t":"byte","b":[0,0,0,8,8,8,0,0]},{"a":57419,"t":"byte","b":[1,8,8,9,0,0,255,8]},{"a":57427,"t":"byte","b":[8,7,254,0,0,6,8,8]},{"a":57435,"t":"byte","b":[2,0,0,10,8,8,2,0]},{"a":57443,"t":"byte","b":[1,10,8,9,4,0,0,12]},{"a":57451,"t":"byte","b":[8,8,0,0,254,8,8,6]},{"a":57459,"t":"byte","b":[253,253,253,5,5,5]},{"a":57465,"l":"actor_sprite_dx_left","c":"The same nine sets for an actor facing left: the columns swapped and the shifts mirrored.","t":"byte","b":[8,8,8,0,0,0,8,8]},{"a":57473,"t":"byte","b":[7,0,0,255,8,8,9,0]},{"a":57481,"t":"byte","b":[0,1,10,8,8,2,0,0]},{"a":57489,"t":"byte","b":[6,8,8,254,0,0,6,8]},{"a":57497,"t":"byte","b":[7,254,0,255,4,8,8,252]},{"a":57505,"t":"byte","b":[0,0,8,8,10,0,0,2]},{"a":57513,"t":"byte","b":[11,11,11,3,3,3]},{"a":57519,"l":"sprite_layouts","c":"The actors' sprite layouts, seven bytes each: the X offset set to use, then six tiles in column order ($FC for none). Players with two balloons, one balloon and none (eleven actions of four frames each, in player_layout_ptrs); the birds (bird_layout_ptrs); the fish (fish_layout_ptrs); the player's flashing frames.","t":"byte","b":[0,0,1,2,3,4,5,0]},{"a":57527,"t":"byte","b":[0,1,2,3,6,7,0,0]},{"a":57535,"t":"byte","b":[1,2,3,6,8,0,9,10]},{"a":57543,"t":"byte","b":[2,11,12,5,0,0,1,2]},{"a":57551,"t":"byte","b":[3,4,5,0,0,1,2,13]},{"a":57559,"t":"byte","b":[14,5,0,26,27,28,29,30]},{"a":57567,"t":"byte","b":[31,1,26,27,32,29,30,252]},{"a":57575,"t":"byte","b":[0,26,33,34,29,35,36,0]},{"a":57583,"t":"byte","b":[0,56,53,13,57,55,0,0]},{"a":57591,"t":"byte","b":[52,53,3,54,55,0,9,58]},{"a":57599,"t":"byte","b":[53,11,59,55,0,206,207,208]},{"a":57607,"t":"byte","b":[209,210,211,0,37,38,39,40]},{"a":57615,"t":"byte","b":[41,42,1,40,41,44,37,38]},{"a":57623,"t":"byte","b":[43,0,76,204,2,77,205,5]},{"a":57631,"t":"byte","b":[0,76,47,34,77,48,36,7]},{"a":57639,"t":"byte","b":[76,47,53,77,48,55,2,76]},{"a":57647,"t":"byte","b":[47,39,77,48,42,7,76,47]},{"a":57655,"t":"byte","b":[43,77,48,44,0,15,16,2]},{"a":57663,"t":"byte","b":[17,18,5,0,15,16,2,17]},{"a":57671,"t":"byte","b":[25,7,0,15,16,2,17,25]},{"a":57679,"t":"byte","b":[8,0,19,20,2,21,22,5]},{"a":57687,"t":"byte","b":[0,15,16,2,17,18,5,3]},{"a":57695,"t":"byte","b":[19,23,2,21,24,5,4,19]},{"a":57703,"t":"byte","b":[45,28,21,46,31,5,19,45]},{"a":57711,"t":"byte","b":[32,21,46,252,4,19,47,34]},{"a":57719,"t":"byte","b":[21,48,36,0,19,60,53,21]},{"a":57727,"t":"byte","b":[61,55,0,15,64,53,17,65]},{"a":57735,"t":"byte","b":[55,3,19,62,53,21,63,55]},{"a":57743,"t":"byte","b":[0,212,213,208,214,215,211,0]},{"a":57751,"t":"byte","b":[37,49,39,50,51,42,2,37]},{"a":57759,"t":"byte","b":[49,39,50,51,42,0,252,72]},{"a":57767,"t":"byte","b":[66,252,73,67,0,252,72,68]},{"a":57775,"t":"byte","b":[252,73,69,0,252,74,70,252]},{"a":57783,"t":"byte","b":[75,71,0,252,164,165,252,166]},{"a":57791,"t":"byte","b":[167,8,252,113,252,252,114,115]},{"a":57799,"t":"byte","b":[8,252,116,252,252,117,118,8]},{"a":57807,"t":"byte","b":[252,113,119,252,114,115,8,252]},{"a":57815,"t":"byte","b":[116,119,252,117,118,8,252,113]},{"a":57823,"t":"byte","b":[120,252,114,115,8,252,116,120]},{"a":57831,"t":"byte","b":[252,117,118,8,252,113,121,252]},{"a":57839,"t":"byte","b":[114,115,8,252,116,121,252,117]},{"a":57847,"t":"byte","b":[118,0,78,79,80,81,82,83]},{"a":57855,"t":"byte","b":[0,78,79,80,81,94,88,0]},{"a":57863,"t":"byte","b":[78,79,80,81,94,93,0,84]},{"a":57871,"t":"byte","b":[85,80,86,87,83,0,78,79]},{"a":57879,"t":"byte","b":[80,81,82,83,0,89,90,80]},{"a":57887,"t":"byte","b":[91,92,83,0,252,95,96,252]},{"a":57895,"t":"byte","b":[97,98,6,99,100,96,252,101]},{"a":57903,"t":"byte","b":[98,0,102,103,96,104,105,98]},{"a":57911,"t":"byte","b":[0,106,103,96,107,105,98,0]},{"a":57919,"t":"byte","b":[252,108,109,252,110,111,0,252]},{"a":57927,"t":"byte","b":[108,109,252,110,112]},{"a":57932,"l":"player_layout_ptrs","c":"The address of each player layout (low bytes, then high bytes) indexed by action times 4 plus frame plus player_layout_base by balloons: 44 entries for two balloons, 24 for one, and 24 for none.","t":"byte","b":[175,182,189,182,196,203,210,203],"x":[58340]},{"a":57940,"t":"byte","b":[217,224,231,224,238,245,252,245]},{"a":57948,"t":"byte","b":[10,10,10,10,17,17,17,17]},{"a":57956,"t":"byte","b":[24,24,24,24,31,31,31,31]},{"a":57964,"t":"byte","b":[38,38,38,38,45,45,45,45]},{"a":57972,"t":"byte","b":[52,52,52,52,59,66,73,66]},{"a":57980,"t":"byte","b":[80,87,94,87,101,108,115,108]},{"a":57988,"t":"byte","b":[122,129,136,129,150,150,150,150]},{"a":57996,"t":"byte","b":[157,157,157,157,164,171,178,171]},{"a":58004,"t":"byte","b":[185,164,185,164]},{"a":58008,"l":"player_layout_ptrs_hi","c":"The high bytes of player_layout_ptrs.","t":"byte","b":[224,224,224,224,224,224,224,224],"x":[58345]},{"a":58016,"t":"byte","b":[224,224,224,224,224,224,224,224]},{"a":58024,"t":"byte","b":[225,225,225,225,225,225,225,225]},{"a":58032,"t":"byte","b":[225,225,225,225,225,225,225,225]},{"a":58040,"t":"byte","b":[225,225,225,225,225,225,225,225]},{"a":58048,"t":"byte","b":[225,225,225,225,225,225,225,225]},{"a":58056,"t":"byte","b":[225,225,225,225,225,225,225,225]},{"a":58064,"t":"byte","b":[225,225,225,225,225,225,225,225]},{"a":58072,"t":"byte","b":[225,225,225,225,225,225,225,225]},{"a":58080,"t":"byte","b":[225,225,225,225]},{"a":58084,"l":"player_flash_ptrs","c":"Layouts of a player while invulnerable (just appeared): four per balloon count, indexed by player_flash_base plus the frame.","t":"byte","b":[129,129,143,129,245,245,3,245],"x":[58363]},{"a":58092,"l":"player_flash_ptrs_hi","c":"The high bytes of player_flash_ptrs.","t":"byte","b":[225,225,225,225,224,224,225,224],"x":[58368]},{"a":58100,"l":"bird_layout_ptrs","c":"The address of each bird layout (low, then high) indexed by action times 4 plus frame plus bird_layout_base: 36 with the balloon, 8 on the parachute.","t":"byte","b":[248,255,6,255,13,20,27,20],"x":[58383]},{"a":58108,"t":"byte","b":[62,62,34,41,48,48,48,48]},{"a":58116,"t":"byte","b":[192,192,192,192,192,199,192,199]},{"a":58124,"t":"byte","b":[206,213,206,213,220,227,220,227]},{"a":58132,"t":"byte","b":[234,241,234,241,62,69,62,69]},{"a":58140,"t":"byte","b":[55,55,55,55]},{"a":58144,"l":"bird_layout_ptrs_hi","c":"The high bytes of bird_layout_ptrs.","t":"byte","b":[225,225,226,225,226,226,226,226],"x":[58388]},{"a":58152,"t":"byte","b":[226,226,226,226,226,226,226,226]},{"a":58160,"t":"byte","b":[225,225,225,225,225,225,225,225]},{"a":58168,"t":"byte","b":[225,225,225,225,225,225,225,225]},{"a":58176,"t":"byte","b":[225,225,225,225,226,226,226,226]},{"a":58184,"t":"byte","b":[226,226,226,226]},{"a":58188,"l":"player_layout_base","c":"The first entry in player_layout_ptrs for each balloon count: $44 for none, $2C for one, 0 for two.","t":"byte","b":[68,44,0],"x":[58336]},{"a":58191,"l":"player_flash_base","c":"The first entry in player_flash_ptrs for each balloon count: 0, 0, 4.","t":"byte","b":[0,0,4],"x":[58356]},{"a":58194,"l":"bird_layout_base","c":"The first entry in bird_layout_ptrs for each balloon count: $24 for none, 8 for one (the parachute), 0 for two.","t":"byte","b":[36,8,0],"x":[58379]},{"a":58197,"l":"fish_layouts","c":"The fish's seven layouts, seven bytes each, like the actors'.","t":"byte","b":[0,252,252,254,252,0,123,252]},{"a":58205,"t":"byte","b":[252,124,252,252,0,125,126,252]},{"a":58213,"t":"byte","b":[127,128,252,0,129,130,131,132]},{"a":58221,"t":"byte","b":[133,134,0,135,136,252,137,138]},{"a":58229,"t":"byte","b":[252,0,139,140,252,141,142,252]},{"a":58237,"t":"byte","b":[0,143,144,252,252,252,252]},{"a":58244,"l":"fish_layout_ptrs","c":"The address of each fish layout (low, then high) by fish_state.","t":"byte","b":[85,90,97,104,111,118,125],"x":[58399]},{"a":58251,"l":"fish_layout_ptrs_hi","c":"The high bytes of fish_layout_ptrs.","t":"byte","b":[227,227,227,227,227,227,227],"x":[58404]},{"a":58258,"l":"actor_sprite_slots","c":"The sprite_table offset of each actor's six sprites (eight actors, then the fish at $08): $20, $38, $50, $68, $80, $98, $B0, $C8, $08.","t":"byte","b":[32,56,80,104,128,152,176,200],"x":[58276]},{"a":58266,"t":"byte","b":[8]},{"a":58267,"l":"actor_sprite_slots_alt","c":"The same slots in another order for odd frames, so that when the PPU drops sprites past eight on a line a different actor loses out each frame.","t":"byte","b":[32,56,200,176,152,128,104,80],"x":[58286]},{"a":58275,"t":"byte","b":[8]},{"a":58276,"l":"draw_actor","c":"Draws actor X as six sprites at its slot (alternating orders each frame). Out of play ($FF): hidden. A sunk bird's bubble ($80): draw_actor_bubble. Otherwise the layout: a player's by action, frame and balloons (or the flashing set while invulnerable), a bird's by the same, the fish's by its state. Attributes: palette by type for a bird, 0 or 1 for the players; flipped when facing left, and for the turning frame; behind the background when low in the water (Y $C9 or more). Then six sprites: Y from actor_sprite_dy, the tile, and X from the layout's offset set.","t":"code","b":[189,146,227],"m":"lda","oa":58258,"o":"actor_sprite_slots,x","x":[50652,50704,53139,59106]},{"a":58279,"t":"code","b":[133,31],"m":"sta","oa":31,"o":"ptr2"},{"a":58281,"t":"code","b":[165,25],"m":"lda","oa":25,"o":"frame_counter"},{"a":58283,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":58284,"t":"code","b":[144,5],"m":"bcc","oa":58291,"o":"b_E3B3"},{"a":58286,"t":"code","b":[189,155,227],"m":"lda","oa":58267,"o":"actor_sprite_slots_alt,x"},{"a":58289,"t":"code","b":[133,31],"m":"sta","oa":31,"o":"ptr2"},{"a":58291,"l":"b_E3B3","t":"code","b":[169,2],"m":"lda","o":"#$02","x":[58284]},{"a":58293,"t":"code","b":[133,32],"m":"sta","oa":32,"o":"ptr2_hi"},{"a":58295,"t":"code","b":[181,136],"m":"lda","oa":136,"o":"actor_balloons,x"},{"a":58297,"t":"code","b":[16,20],"m":"bpl","oa":58319,"o":"b_E3CF"},{"a":58299,"t":"code","b":[201,255],"m":"cmp","o":"#$FF"},{"a":58301,"t":"code","b":[240,3],"m":"beq","oa":58306,"o":"b_E3C2"},{"a":58303,"t":"code","b":[76,213,228],"m":"jmp","oa":58581,"o":"draw_actor_bubble"},{"a":58306,"l":"b_E3C2","t":"code","b":[160,20],"m":"ldy","o":"#$14","x":[58301,58397]},{"a":58308,"l":"b_E3C4","t":"code","b":[169,240],"m":"lda","o":"#$F0","x":[58316]},{"a":58310,"t":"code","b":[145,31],"m":"sta","oa":31,"o":"(ptr2),y"},{"a":58312,"t":"code","b":[136],"m":"dey"},{"a":58313,"t":"code","b":[136],"m":"dey"},{"a":58314,"t":"code","b":[136],"m":"dey"},{"a":58315,"t":"code","b":[136],"m":"dey"},{"a":58316,"t":"code","b":[16,246],"m":"bpl","oa":58308,"o":"b_E3C4"},{"a":58318,"t":"code","b":[96],"m":"rts"},{"a":58319,"l":"b_E3CF","t":"code","b":[224,8],"m":"cpx","o":"#$08","x":[58297]},{"a":58321,"t":"code","b":[240,72],"m":"beq","oa":58395,"o":"b_E41B"},{"a":58323,"t":"code","b":[181,127],"m":"lda","oa":127,"o":"actor_action,x"},{"a":58325,"t":"code","b":[10],"m":"asl","o":"a"},{"a":58326,"t":"code","b":[10],"m":"asl","o":"a"},{"a":58327,"t":"code","b":[125,54,4],"m":"adc","oa":1078,"o":"actor_frame,x"},{"a":58330,"t":"code","b":[224,2],"m":"cpx","o":"#$02"},{"a":58332,"t":"code","b":[176,42],"m":"bcs","oa":58376,"o":"b_E408"},{"a":58334,"t":"code","b":[180,136],"m":"ldy","oa":136,"o":"actor_balloons,x"},{"a":58336,"t":"code","b":[121,76,227],"m":"adc","oa":58188,"o":"player_layout_base,y"},{"a":58339,"t":"code","b":[168],"m":"tay"},{"a":58340,"t":"code","b":[185,76,226],"m":"lda","oa":57932,"o":"player_layout_ptrs,y"},{"a":58343,"t":"code","b":[133,29],"m":"sta","oa":29,"o":"ptr1"},{"a":58345,"t":"code","b":[185,152,226],"m":"lda","oa":58008,"o":"player_layout_ptrs_hi,y"},{"a":58348,"t":"code","b":[133,30],"m":"sta","oa":30,"o":"ptr1_hi"},{"a":58350,"t":"code","b":[181,189],"m":"lda","oa":189,"o":"invulnerable,x"},{"a":58352,"t":"code","b":[240,55],"m":"beq","oa":58409,"o":"b_E429"},{"a":58354,"t":"code","b":[180,136],"m":"ldy","oa":136,"o":"actor_balloons,x"},{"a":58356,"t":"code","b":[185,79,227],"m":"lda","oa":58191,"o":"player_flash_base,y"},{"a":58359,"t":"code","b":[125,54,4],"m":"adc","oa":1078,"o":"actor_frame,x"},{"a":58362,"t":"code","b":[168],"m":"tay"},{"a":58363,"t":"code","b":[185,228,226],"m":"lda","oa":58084,"o":"player_flash_ptrs,y"},{"a":58366,"t":"code","b":[133,29],"m":"sta","oa":29,"o":"ptr1"},{"a":58368,"t":"code","b":[185,236,226],"m":"lda","oa":58092,"o":"player_flash_ptrs_hi,y"},{"a":58371,"t":"code","b":[133,30],"m":"sta","oa":30,"o":"ptr1_hi"},{"a":58373,"t":"code","b":[76,41,228],"m":"jmp","oa":58409,"o":"b_E429"},{"a":58376,"l":"b_E408","t":"code","b":[180,136],"m":"ldy","oa":136,"o":"actor_balloons,x","x":[58332]},{"a":58378,"t":"code","b":[24],"m":"clc"},{"a":58379,"t":"code","b":[121,82,227],"m":"adc","oa":58194,"o":"bird_layout_base,y"},{"a":58382,"t":"code","b":[168],"m":"tay"},{"a":58383,"t":"code","b":[185,244,226],"m":"lda","oa":58100,"o":"bird_layout_ptrs,y"},{"a":58386,"t":"code","b":[133,29],"m":"sta","oa":29,"o":"ptr1"},{"a":58388,"t":"code","b":[185,32,227],"m":"lda","oa":58144,"o":"bird_layout_ptrs_hi,y"},{"a":58391,"t":"code","b":[133,30],"m":"sta","oa":30,"o":"ptr1_hi"},{"a":58393,"t":"code","b":[208,14],"m":"bne","oa":58409,"o":"b_E429"},{"a":58395,"l":"b_E41B","t":"code","b":[180,127],"m":"ldy","oa":127,"o":"actor_action,x","x":[58321]},{"a":58397,"t":"code","b":[48,163],"m":"bmi","oa":58306,"o":"b_E3C2"},{"a":58399,"t":"code","b":[185,132,227],"m":"lda","oa":58244,"o":"fish_layout_ptrs,y"},{"a":58402,"t":"code","b":[133,29],"m":"sta","oa":29,"o":"ptr1"},{"a":58404,"t":"code","b":[185,139,227],"m":"lda","oa":58251,"o":"fish_layout_ptrs_hi,y"},{"a":58407,"t":"code","b":[133,30],"m":"sta","oa":30,"o":"ptr1_hi"},{"a":58409,"l":"b_E429","t":"code","b":[181,145],"m":"lda","oa":145,"o":"actor_x,x","x":[58352,58373,58393]},{"a":58411,"t":"code","b":[133,21],"m":"sta","oa":21,"o":"tmp15"},{"a":58413,"t":"code","b":[181,154],"m":"lda","oa":154,"o":"actor_y,x"},{"a":58415,"t":"code","b":[133,18],"m":"sta","oa":18,"o":"tmp12"},{"a":58417,"t":"code","b":[138],"m":"txa"},{"a":58418,"t":"code","b":[240,16],"m":"beq","oa":58436,"o":"b_E444"},{"a":58420,"t":"code","b":[224,1],"m":"cpx","o":"#$01"},{"a":58422,"t":"code","b":[208,4],"m":"bne","oa":58428,"o":"b_E43C"},{"a":58424,"t":"code","b":[169,1],"m":"lda","o":"#$01"},{"a":58426,"t":"code","b":[208,8],"m":"bne","oa":58436,"o":"b_E444"},{"a":58428,"l":"b_E43C","t":"code","b":[189,81,4],"m":"lda","oa":1105,"o":"actor_type,x","x":[58422]},{"a":58431,"t":"code","b":[24],"m":"clc"},{"a":58432,"t":"code","b":[105,2],"m":"adc","o":"#$02"},{"a":58434,"t":"code","b":[41,3],"m":"and","o":"#$03"},{"a":58436,"l":"b_E444","t":"code","b":[188,72,4],"m":"ldy","oa":1096,"o":"actor_facing,x","x":[58418,58426]},{"a":58439,"t":"code","b":[240,2],"m":"beq","oa":58443,"o":"b_E44B"},{"a":58441,"t":"code","b":[9,64],"m":"ora","o":"#$40"},{"a":58443,"l":"b_E44B","t":"code","b":[180,136],"m":"ldy","oa":136,"o":"actor_balloons,x","x":[58439]},{"a":58445,"t":"code","b":[192,2],"m":"cpy","o":"#$02"},{"a":58447,"t":"code","b":[208,8],"m":"bne","oa":58457,"o":"b_E459"},{"a":58449,"t":"code","b":[180,127],"m":"ldy","oa":127,"o":"actor_action,x"},{"a":58451,"t":"code","b":[192,5],"m":"cpy","o":"#$05"},{"a":58453,"t":"code","b":[208,2],"m":"bne","oa":58457,"o":"b_E459"},{"a":58455,"t":"code","b":[73,64],"m":"eor","o":"#$40"},{"a":58457,"l":"b_E459","t":"code","b":[180,154],"m":"ldy","oa":154,"o":"actor_y,x","x":[58447,58453]},{"a":58459,"t":"code","b":[192,201],"m":"cpy","o":"#$C9"},{"a":58461,"t":"code","b":[176,4],"m":"bcs","oa":58467,"o":"b_E463"},{"a":58463,"t":"code","b":[224,9],"m":"cpx","o":"#$09"},{"a":58465,"t":"code","b":[208,2],"m":"bne","oa":58469,"o":"b_E465"},{"a":58467,"l":"b_E463","t":"code","b":[9,32],"m":"ora","o":"#$20","x":[58461]},{"a":58469,"l":"b_E465","t":"code","b":[133,20],"m":"sta","oa":20,"o":"tmp14","x":[58465]},{"a":58471,"t":"code","b":[169,67],"m":"lda","o":"#$43"},{"a":58473,"t":"code","b":[133,33],"m":"sta","oa":33,"o":"ptr3"},{"a":58475,"t":"code","b":[169,224],"m":"lda","o":"#$E0"},{"a":58477,"t":"code","b":[133,34],"m":"sta","oa":34,"o":"ptr3_hi"},{"a":58479,"t":"code","b":[189,72,4],"m":"lda","oa":1096,"o":"actor_facing,x"},{"a":58482,"t":"code","b":[240,8],"m":"beq","oa":58492,"o":"b_E47C"},{"a":58484,"t":"code","b":[169,121],"m":"lda","o":"#$79"},{"a":58486,"t":"code","b":[133,33],"m":"sta","oa":33,"o":"ptr3"},{"a":58488,"t":"code","b":[169,224],"m":"lda","o":"#$E0"},{"a":58490,"t":"code","b":[133,34],"m":"sta","oa":34,"o":"ptr3_hi"},{"a":58492,"l":"b_E47C","t":"code","b":[160,0],"m":"ldy","o":"#$00","x":[58482]},{"a":58494,"t":"code","b":[177,29],"m":"lda","oa":29,"o":"(ptr1),y"},{"a":58496,"t":"code","b":[230,29],"m":"inc","oa":29,"o":"ptr1"},{"a":58498,"t":"code","b":[208,2],"m":"bne","oa":58502,"o":"b_E486"},{"a":58500,"t":"code","b":[230,30],"m":"inc","oa":30,"o":"ptr1_hi"},{"a":58502,"l":"b_E486","t":"code","b":[10],"m":"asl","o":"a","x":[58498]},{"a":58503,"t":"code","b":[133,19],"m":"sta","oa":19,"o":"tmp13"},{"a":58505,"t":"code","b":[10],"m":"asl","o":"a"},{"a":58506,"t":"code","b":[101,19],"m":"adc","oa":19,"o":"tmp13"},{"a":58508,"t":"code","b":[101,33],"m":"adc","oa":33,"o":"ptr3"},{"a":58510,"t":"code","b":[133,33],"m":"sta","oa":33,"o":"ptr3"},{"a":58512,"t":"code","b":[144,2],"m":"bcc","oa":58516,"o":"b_E494"},{"a":58514,"t":"code","b":[230,34],"m":"inc","oa":34,"o":"ptr3_hi"},{"a":58516,"l":"b_E494","t":"code","b":[138],"m":"txa","x":[58512]},{"a":58517,"t":"code","b":[72],"m":"pha"},{"a":58518,"t":"code","b":[162,5],"m":"ldx","o":"#$05"},{"a":58520,"t":"code","b":[160,0],"m":"ldy","o":"#$00"},{"a":58522,"l":"b_E49A","t":"code","b":[165,18],"m":"lda","oa":18,"o":"tmp12","x":[58576]},{"a":58524,"t":"code","b":[24],"m":"clc"},{"a":58525,"t":"code","b":[125,61,224],"m":"adc","oa":57405,"o":"actor_sprite_dy,x"},{"a":58528,"t":"code","b":[145,31],"m":"sta","oa":31,"o":"(ptr2),y"},{"a":58530,"t":"code","b":[133,18],"m":"sta","oa":18,"o":"tmp12"},{"a":58532,"t":"code","b":[200],"m":"iny"},{"a":58533,"t":"code","b":[132,19],"m":"sty","oa":19,"o":"tmp13"},{"a":58535,"t":"code","b":[160,0],"m":"ldy","o":"#$00"},{"a":58537,"t":"code","b":[177,29],"m":"lda","oa":29,"o":"(ptr1),y"},{"a":58539,"t":"code","b":[230,29],"m":"inc","oa":29,"o":"ptr1"},{"a":58541,"t":"code","b":[208,2],"m":"bne","oa":58545,"o":"b_E4B1"},{"a":58543,"t":"code","b":[230,30],"m":"inc","oa":30,"o":"ptr1_hi"},{"a":58545,"l":"b_E4B1","t":"code","b":[164,19],"m":"ldy","oa":19,"o":"tmp13","x":[58541]},{"a":58547,"t":"code","b":[145,31],"m":"sta","oa":31,"o":"(ptr2),y"},{"a":58549,"t":"code","b":[200],"m":"iny"},{"a":58550,"t":"code","b":[165,20],"m":"lda","oa":20,"o":"tmp14"},{"a":58552,"t":"code","b":[145,31],"m":"sta","oa":31,"o":"(ptr2),y"},{"a":58554,"t":"code","b":[200],"m":"iny"},{"a":58555,"t":"code","b":[132,19],"m":"sty","oa":19,"o":"tmp13"},{"a":58557,"t":"code","b":[160,0],"m":"ldy","o":"#$00"},{"a":58559,"t":"code","b":[165,21],"m":"lda","oa":21,"o":"tmp15"},{"a":58561,"t":"code","b":[24],"m":"clc"},{"a":58562,"t":"code","b":[113,33],"m":"adc","oa":33,"o":"(ptr3),y"},{"a":58564,"t":"code","b":[230,33],"m":"inc","oa":33,"o":"ptr3"},{"a":58566,"t":"code","b":[208,2],"m":"bne","oa":58570,"o":"b_E4CA"},{"a":58568,"t":"code","b":[230,34],"m":"inc","oa":34,"o":"ptr3_hi"},{"a":58570,"l":"b_E4CA","t":"code","b":[164,19],"m":"ldy","oa":19,"o":"tmp13","x":[58566]},{"a":58572,"t":"code","b":[145,31],"m":"sta","oa":31,"o":"(ptr2),y"},{"a":58574,"t":"code","b":[200],"m":"iny"},{"a":58575,"t":"code","b":[202],"m":"dex"},{"a":58576,"t":"code","b":[16,200],"m":"bpl","oa":58522,"o":"b_E49A"},{"a":58578,"t":"code","b":[104],"m":"pla"},{"a":58579,"t":"code","b":[170],"m":"tax"},{"a":58580,"t":"code","b":[96],"m":"rts"},{"a":58581,"l":"draw_actor_bubble","c":"The bubble that rises where a bird sank: four sprites (tiles $DA to $DD) in a 2 by 2 at its position, behind the water when below Y $D0, jiggling by a pixel with frame_counter; once it is popped (action $FF) the four show the burst tile $DE flipped four ways for actor_timer frames, then the slot is freed and the burst sound asked for.","t":"code","b":[138],"m":"txa","x":[58303]},{"a":58582,"t":"code","b":[72],"m":"pha"},{"a":58583,"t":"code","b":[164,31],"m":"ldy","oa":31,"o":"ptr2"},{"a":58585,"t":"code","b":[181,154],"m":"lda","oa":154,"o":"actor_y,x"},{"a":58587,"t":"code","b":[153,0,2],"m":"sta","oa":512,"o":"sprite_table,y"},{"a":58590,"t":"code","b":[153,4,2],"m":"sta","oa":516,"o":"sprite_y_1,y"},{"a":58593,"t":"code","b":[24],"m":"clc"},{"a":58594,"t":"code","b":[105,8],"m":"adc","o":"#$08"},{"a":58596,"t":"code","b":[153,8,2],"m":"sta","oa":520,"o":"sprite_y_2,y"},{"a":58599,"t":"code","b":[153,12,2],"m":"sta","oa":524,"o":"sprite_y_3,y"},{"a":58602,"t":"code","b":[169,240],"m":"lda","o":"#$F0"},{"a":58604,"t":"code","b":[153,16,2],"m":"sta","oa":528,"o":"sprite_y_4,y"},{"a":58607,"t":"code","b":[153,20,2],"m":"sta","oa":532,"o":"sprite_y_5,y"},{"a":58610,"t":"code","b":[181,145],"m":"lda","oa":145,"o":"actor_x,x"},{"a":58612,"t":"code","b":[153,3,2],"m":"sta","oa":515,"o":"sprite_x_0,y"},{"a":58615,"t":"code","b":[153,11,2],"m":"sta","oa":523,"o":"sprite_x_2,y"},{"a":58618,"t":"code","b":[24],"m":"clc"},{"a":58619,"t":"code","b":[105,8],"m":"adc","o":"#$08"},{"a":58621,"t":"code","b":[153,7,2],"m":"sta","oa":519,"o":"sprite_x_1,y"},{"a":58624,"t":"code","b":[153,15,2],"m":"sta","oa":527,"o":"sprite_x_3,y"},{"a":58627,"t":"code","b":[181,154],"m":"lda","oa":154,"o":"actor_y,x"},{"a":58629,"t":"code","b":[201,208],"m":"cmp","o":"#$D0"},{"a":58631,"t":"code","b":[169,3],"m":"lda","o":"#$03"},{"a":58633,"t":"code","b":[144,2],"m":"bcc","oa":58637,"o":"b_E50D"},{"a":58635,"t":"code","b":[169,35],"m":"lda","o":"#$23"},{"a":58637,"l":"b_E50D","t":"code","b":[153,2,2],"m":"sta","oa":514,"o":"sprite_attr_0,y","x":[58633]},{"a":58640,"t":"code","b":[181,127],"m":"lda","oa":127,"o":"actor_action,x"},{"a":58642,"t":"code","b":[208,63],"m":"bne","oa":58707,"o":"b_E553"},{"a":58644,"t":"code","b":[185,2,2],"m":"lda","oa":514,"o":"sprite_attr_0,y"},{"a":58647,"t":"code","b":[153,6,2],"m":"sta","oa":518,"o":"sprite_attr_1,y"},{"a":58650,"t":"code","b":[153,10,2],"m":"sta","oa":522,"o":"sprite_attr_2,y"},{"a":58653,"t":"code","b":[153,14,2],"m":"sta","oa":526,"o":"sprite_attr_3,y"},{"a":58656,"t":"code","b":[169,218],"m":"lda","o":"#$DA"},{"a":58658,"t":"code","b":[153,1,2],"m":"sta","oa":513,"o":"sprite_tile_0,y"},{"a":58661,"t":"code","b":[169,219],"m":"lda","o":"#$DB"},{"a":58663,"t":"code","b":[153,5,2],"m":"sta","oa":517,"o":"sprite_tile_1,y"},{"a":58666,"t":"code","b":[169,220],"m":"lda","o":"#$DC"},{"a":58668,"t":"code","b":[153,9,2],"m":"sta","oa":521,"o":"sprite_tile_2,y"},{"a":58671,"t":"code","b":[169,221],"m":"lda","o":"#$DD"},{"a":58673,"t":"code","b":[153,13,2],"m":"sta","oa":525,"o":"sprite_tile_3,y"},{"a":58676,"t":"code","b":[166,31],"m":"ldx","oa":31,"o":"ptr2"},{"a":58678,"t":"code","b":[165,25],"m":"lda","oa":25,"o":"frame_counter"},{"a":58680,"t":"code","b":[41,32],"m":"and","o":"#$20"},{"a":58682,"t":"code","b":[240,20],"m":"beq","oa":58704,"o":"b_E550"},{"a":58684,"t":"code","b":[165,25],"m":"lda","oa":25,"o":"frame_counter"},{"a":58686,"t":"code","b":[41,64],"m":"and","o":"#$40"},{"a":58688,"t":"code","b":[208,8],"m":"bne","oa":58698,"o":"b_E54A"},{"a":58690,"t":"code","b":[254,0,2],"m":"inc","oa":512,"o":"sprite_table,x"},{"a":58693,"t":"code","b":[254,4,2],"m":"inc","oa":516,"o":"sprite_y_1,x"},{"a":58696,"t":"code","b":[208,6],"m":"bne","oa":58704,"o":"b_E550"},{"a":58698,"l":"b_E54A","t":"code","b":[254,3,2],"m":"inc","oa":515,"o":"sprite_x_0,x","x":[58688]},{"a":58701,"t":"code","b":[254,11,2],"m":"inc","oa":523,"o":"sprite_x_2,x"},{"a":58704,"l":"b_E550","t":"code","b":[104],"m":"pla","x":[58682,58696]},{"a":58705,"t":"code","b":[170],"m":"tax"},{"a":58706,"t":"code","b":[96],"m":"rts"},{"a":58707,"l":"b_E553","t":"code","b":[185,2,2],"m":"lda","oa":514,"o":"sprite_attr_0,y","x":[58642]},{"a":58710,"t":"code","b":[9,64],"m":"ora","o":"#$40"},{"a":58712,"t":"code","b":[153,6,2],"m":"sta","oa":518,"o":"sprite_attr_1,y"},{"a":58715,"t":"code","b":[9,128],"m":"ora","o":"#$80"},{"a":58717,"t":"code","b":[153,14,2],"m":"sta","oa":526,"o":"sprite_attr_3,y"},{"a":58720,"t":"code","b":[41,191],"m":"and","o":"#$BF"},{"a":58722,"t":"code","b":[153,10,2],"m":"sta","oa":522,"o":"sprite_attr_2,y"},{"a":58725,"t":"code","b":[169,222],"m":"lda","o":"#$DE"},{"a":58727,"t":"code","b":[153,1,2],"m":"sta","oa":513,"o":"sprite_tile_0,y"},{"a":58730,"t":"code","b":[153,5,2],"m":"sta","oa":517,"o":"sprite_tile_1,y"},{"a":58733,"t":"code","b":[153,9,2],"m":"sta","oa":521,"o":"sprite_tile_2,y"},{"a":58736,"t":"code","b":[153,13,2],"m":"sta","oa":525,"o":"sprite_tile_3,y"},{"a":58739,"t":"code","b":[222,90,4],"m":"dec","oa":1114,"o":"actor_timer,x"},{"a":58742,"t":"code","b":[16,12],"m":"bpl","oa":58756,"o":"b_E584"},{"a":58744,"t":"code","b":[169,255],"m":"lda","o":"#$FF"},{"a":58746,"t":"code","b":[149,136],"m":"sta","oa":136,"o":"actor_balloons,x"},{"a":58748,"t":"code","b":[169,240],"m":"lda","o":"#$F0"},{"a":58750,"t":"code","b":[149,154],"m":"sta","oa":154,"o":"actor_y,x"},{"a":58752,"t":"code","b":[169,4],"m":"lda","o":"#$04"},{"a":58754,"t":"code","b":[133,241],"m":"sta","oa":241,"o":"sfx_request_b"},{"a":58756,"l":"b_E584","t":"code","b":[104],"m":"pla","x":[58742]},{"a":58757,"t":"code","b":[170],"m":"tax"},{"a":58758,"t":"code","b":[96],"m":"rts"},{"a":58759,"l":"draw_splash","c":"Draws the splash where something fell in: splash_frame picks one of five sprite groups (splash_frame_ptrs), four sprites each with their X shifted by splash_x; the frame steps every four frames down to none.","t":"code","b":[166,187],"m":"ldx","oa":187,"o":"splash_frame","x":[62170]},{"a":58761,"t":"code","b":[48,57],"m":"bmi","oa":58820,"o":"r_E5C4"},{"a":58763,"t":"code","b":[189,197,229],"m":"lda","oa":58821,"o":"splash_frame_ptrs,x"},{"a":58766,"t":"code","b":[133,29],"m":"sta","oa":29,"o":"ptr1"},{"a":58768,"t":"code","b":[189,202,229],"m":"lda","oa":58826,"o":"splash_frame_ptrs_hi,x"},{"a":58771,"t":"code","b":[133,30],"m":"sta","oa":30,"o":"ptr1_hi"},{"a":58773,"t":"code","b":[160,0],"m":"ldy","o":"#$00"},{"a":58775,"t":"code","b":[162,0],"m":"ldx","o":"#$00"},{"a":58777,"l":"b_E599","t":"code","b":[177,29],"m":"lda","oa":29,"o":"(ptr1),y","x":[58793]},{"a":58779,"t":"code","b":[157,224,2],"m":"sta","oa":736,"o":"sprite_bolt,x"},{"a":58782,"t":"code","b":[200],"m":"iny"},{"a":58783,"t":"code","b":[232],"m":"inx"},{"a":58784,"t":"code","b":[201,240],"m":"cmp","o":"#$F0"},{"a":58786,"t":"code","b":[208,3],"m":"bne","oa":58791,"o":"b_E5A7"},{"a":58788,"t":"code","b":[232],"m":"inx"},{"a":58789,"t":"code","b":[232],"m":"inx"},{"a":58790,"t":"code","b":[232],"m":"inx"},{"a":58791,"l":"b_E5A7","t":"code","b":[224,16],"m":"cpx","o":"#$10","x":[58786]},{"a":58793,"t":"code","b":[208,238],"m":"bne","oa":58777,"o":"b_E599"},{"a":58795,"t":"code","b":[160,15],"m":"ldy","o":"#$0F"},{"a":58797,"l":"b_E5AD","t":"code","b":[185,224,2],"m":"lda","oa":736,"o":"sprite_bolt,y","x":[58810]},{"a":58800,"t":"code","b":[24],"m":"clc"},{"a":58801,"t":"code","b":[101,188],"m":"adc","oa":188,"o":"splash_x"},{"a":58803,"t":"code","b":[153,224,2],"m":"sta","oa":736,"o":"sprite_bolt,y"},{"a":58806,"t":"code","b":[136],"m":"dey"},{"a":58807,"t":"code","b":[136],"m":"dey"},{"a":58808,"t":"code","b":[136],"m":"dey"},{"a":58809,"t":"code","b":[136],"m":"dey"},{"a":58810,"t":"code","b":[16,241],"m":"bpl","oa":58797,"o":"b_E5AD"},{"a":58812,"t":"code","b":[165,25],"m":"lda","oa":25,"o":"frame_counter"},{"a":58814,"t":"code","b":[41,3],"m":"and","o":"#$03"},{"a":58816,"t":"code","b":[208,2],"m":"bne","oa":58820,"o":"r_E5C4"},{"a":58818,"t":"code","b":[198,187],"m":"dec","oa":187,"o":"splash_frame"},{"a":58820,"l":"r_E5C4","t":"code","b":[96],"m":"rts","x":[58761,58816]},{"a":58821,"l":"splash_frame_ptrs","c":"The address of each splash frame's sprite group (low, then high): splash_frames.","t":"byte","b":[253,237,224,214,207],"x":[58763]},{"a":58826,"l":"splash_frame_ptrs_hi","c":"The high bytes of splash_frame_ptrs.","t":"byte","b":[229,229,229,229,229],"x":[58768]},{"a":58831,"l":"splash_frames","c":"Five groups of four sprites (Y, tile, attribute, X; a Y of $F0 is a hidden sprite): the splash growing and falling.","t":"byte","b":[208,174,3,4,240,240,240,200]},{"a":58839,"t":"byte","b":[175,3,4,208,176,3,4,240]},{"a":58847,"t":"byte","b":[240,200,177,3,252,200,178,3]},{"a":58855,"t":"byte","b":[4,208,179,3,4,240,200,180]},{"a":58863,"t":"byte","b":[3,0,200,180,67,8,208,181]},{"a":58871,"t":"byte","b":[3,0,208,181,67,8,240,240]},{"a":58879,"t":"byte","b":[240,240]},{"a":58881,"l":"gravity_by_type","c":"How much each actor type falls faster each frame, in fractional pixels: birds with a balloon 4, 4, 5 (pink, green, white); a player 6; on the parachute 3, 3, 3; a player with one balloon 6; falling with nothing 10 for all four.","t":"byte","b":[4,4,5,6,3,3,3,6],"x":[60051]},{"a":58889,"t":"byte","b":[10,10,10,10]},{"a":58893,"l":"flap_strength","c":"Upward speed given by one flap, by type: $28, $32, $46 for the birds, $78 for a player (0.47 pixels a frame); the parachute types 0; $64 for a player with one balloon (less lift); the falling types 0.","t":"byte","b":[40,50,70,120,0,0,0,100],"x":[60578]},{"a":58901,"t":"byte","b":[0,0,0,0]},{"a":58905,"l":"run_accel","c":"Horizontal acceleration while running on the ground, by type: $0A, $1E, $32, $70 (a player: 0.44 pixels a frame each frame); 0 on a parachute; $70 for a player with one balloon.","t":"byte","b":[10,30,50,112,0,0,0,112],"x":[59614,59638]},{"a":58913,"t":"byte","b":[0,0,0,0]},{"a":58917,"l":"air_accel","c":"Horizontal acceleration in the air (the player with the pad held), by type: $14, $3C, $64, $A0; 0; $A0.","t":"byte","b":[20,60,100,160,0,0,0,160],"x":[59544,59562,59675,59699]},{"a":58925,"t":"byte","b":[0,0,0,0]},{"a":58929,"l":"max_vx_lo","c":"Fastest rightward speed by type, fractional part: $70, $B0, $E0, $40 (with 1 whole: 1.25 pixels a frame for a player); the parachute $80; a one-balloon player 1.25; the falling types 0.","t":"byte","b":[112,176,224,64,128,128,128,64],"x":[60188,60193]},{"a":58937,"t":"byte","b":[0,0,0,0]},{"a":58941,"l":"max_vx_hi","c":"Whole part of the fastest rightward speed by type: 0 except 1 for the players.","t":"byte","b":[0,0,0,1,0,0,0,1],"x":[60178,60199]},{"a":58949,"t":"byte","b":[0,0,0,0]},{"a":58953,"l":"max_vx_left_lo","c":"Fastest leftward speed by type, fractional part (two's complement): $90, $50, $20, $C0; $80; $C0.","t":"byte","b":[144,80,32,192,128,128,128,192],"x":[60218,60223]},{"a":58961,"t":"byte","b":[0,0,0,0]},{"a":58965,"l":"max_vx_left_hi","c":"Whole part of the fastest leftward speed: $FF, with $FE for the players.","t":"byte","b":[255,255,255,254,255,255,255,254],"x":[60208,60229]},{"a":58973,"t":"byte","b":[0,0,0,0]},{"a":58977,"l":"max_vy_lo","c":"Fastest downward speed by type, fractional part: $50, $90, $C0, $40 (birds slower, players 1.25); $40 on the parachute; the falling types 2.0.","t":"byte","b":[80,144,192,64,64,64,64,64],"x":[60077,60082]},{"a":58985,"t":"byte","b":[0,0,0,0]},{"a":58989,"l":"max_vy_hi","c":"Whole part of the fastest downward speed: 0, 0, 0, 1; 0, 0, 0, 1; 2, 2, 2, 2.","t":"byte","b":[0,0,0,1,0,0,0,1],"x":[60067,60088]},{"a":58997,"t":"byte","b":[2,2,2,2]},{"a":59001,"l":"max_vy_up_lo","c":"Fastest upward speed by type, fractional part: $B0, $70, $40, $C0; $C0 for the rest.","t":"byte","b":[176,112,64,192,192,192,192,192],"x":[60107,60112]},{"a":59009,"t":"byte","b":[192,192,192,192]},{"a":59013,"l":"max_vy_up_hi","c":"Whole part of the fastest upward speed: $FF, with $FE for the players and one of the falling types.","t":"byte","b":[255,255,255,254,255,255,255,254],"x":[60097,60118]},{"a":59021,"t":"byte","b":[254,1,254,254]},{"a":59025,"l":"actors_update","c":"All eight actors once a frame, after actors_collide. For each: out of play skipped; a sunk bird's bubble (actor_bubble_update); otherwise a bird on the ground with its balloon gone asks for the pumping sound; every third frame (actor_frame_timer) the invulnerability counts down, the actor animates (actor_animate), decides (actor_think) and accelerates (actor_move_control); every frame actor_physics, actor_platforms and actor_ground_state; then draw_actor.","t":"code","b":[32,37,238],"m":"jsr","oa":60965,"o":"actors_collide","x":[49676,53052,62152]},{"a":59028,"t":"code","b":[162,7],"m":"ldx","o":"#$07"},{"a":59030,"l":"b_E696","t":"code","b":[181,136],"m":"lda","oa":136,"o":"actor_balloons,x","x":[59110]},{"a":59032,"t":"code","b":[16,10],"m":"bpl","oa":59044,"o":"b_E6A4"},{"a":59034,"t":"code","b":[201,255],"m":"cmp","o":"#$FF"},{"a":59036,"t":"code","b":[240,68],"m":"beq","oa":59106,"o":"b_E6E2"},{"a":59038,"t":"code","b":[32,186,236],"m":"jsr","oa":60602,"o":"actor_bubble_update"},{"a":59041,"t":"code","b":[76,226,230],"m":"jmp","oa":59106,"o":"b_E6E2"},{"a":59044,"l":"b_E6A4","t":"code","b":[224,2],"m":"cpx","o":"#$02","x":[59032]},{"a":59046,"t":"code","b":[144,16],"m":"bcc","oa":59064,"o":"b_E6B8"},{"a":59048,"t":"code","b":[201,1],"m":"cmp","o":"#$01"},{"a":59050,"t":"code","b":[208,12],"m":"bne","oa":59064,"o":"b_E6B8"},{"a":59052,"t":"code","b":[181,127],"m":"lda","oa":127,"o":"actor_action,x"},{"a":59054,"t":"code","b":[201,2],"m":"cmp","o":"#$02"},{"a":59056,"t":"code","b":[176,6],"m":"bcs","oa":59064,"o":"b_E6B8"},{"a":59058,"t":"code","b":[165,241],"m":"lda","oa":241,"o":"sfx_request_b"},{"a":59060,"t":"code","b":[9,32],"m":"ora","o":"#$20"},{"a":59062,"t":"code","b":[133,241],"m":"sta","oa":241,"o":"sfx_request_b"},{"a":59064,"l":"b_E6B8","t":"code","b":[222,63,4],"m":"dec","oa":1087,"o":"actor_frame_timer,x","x":[59046,59050,59056]},{"a":59067,"t":"code","b":[208,28],"m":"bne","oa":59097,"o":"b_E6D9"},{"a":59069,"t":"code","b":[169,3],"m":"lda","o":"#$03"},{"a":59071,"t":"code","b":[157,63,4],"m":"sta","oa":1087,"o":"actor_frame_timer,x"},{"a":59074,"t":"code","b":[224,2],"m":"cpx","o":"#$02"},{"a":59076,"t":"code","b":[176,8],"m":"bcs","oa":59086,"o":"b_E6CE"},{"a":59078,"t":"code","b":[214,191],"m":"dec","oa":191,"o":"invulnerable_timer,x"},{"a":59080,"t":"code","b":[208,4],"m":"bne","oa":59086,"o":"b_E6CE"},{"a":59082,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":59084,"t":"code","b":[149,189],"m":"sta","oa":189,"o":"invulnerable,x"},{"a":59086,"l":"b_E6CE","t":"code","b":[32,24,234],"m":"jsr","oa":59928,"o":"actor_animate","x":[59076,59080]},{"a":59089,"t":"code","b":[134,62],"m":"stx","oa":62,"o":"scoring_player"},{"a":59091,"t":"code","b":[32,196,235],"m":"jsr","oa":60356,"o":"actor_think"},{"a":59094,"t":"code","b":[32,150,231],"m":"jsr","oa":59286,"o":"actor_move_control"},{"a":59097,"l":"b_E6D9","t":"code","b":[32,88,234],"m":"jsr","oa":59992,"o":"actor_physics","x":[59067]},{"a":59100,"t":"code","b":[32,40,237],"m":"jsr","oa":60712,"o":"actor_platforms"},{"a":59103,"t":"code","b":[32,131,233],"m":"jsr","oa":59779,"o":"actor_ground_state"},{"a":59106,"l":"b_E6E2","t":"code","b":[32,164,227],"m":"jsr","oa":58276,"o":"draw_actor","x":[59036,59041]},{"a":59109,"t":"code","b":[202],"m":"dex"},{"a":59110,"t":"code","b":[16,174],"m":"bpl","oa":59030,"o":"b_E696"},{"a":59112,"t":"code","b":[96],"m":"rts"},{"a":59113,"l":"steer_actor","c":"Fills buttons for the actor. A player: in the demonstration a random byte every 16 frames; otherwise its controller. A bird: below Y $A0 it flaps (bit 6); else when actor_timer runs out it picks a new one (random, masked by bird_decision_masks and offset by bird_decision_bases: pink birds think every 32 to 63 frames, white every 8 to 15) and looks at one player (alternating): if that player is alive and not invulnerable it flaps when the player is higher and steers toward the player's X; otherwise it just flaps.","t":"code","b":[224,2],"m":"cpx","o":"#$02","x":[60472]},{"a":59115,"t":"code","b":[176,24],"m":"bcs","oa":59141,"o":"b_E705"},{"a":59117,"t":"code","b":[165,25],"m":"lda","oa":25,"o":"frame_counter"},{"a":59119,"t":"code","b":[41,15],"m":"and","o":"#$0F"},{"a":59121,"t":"code","b":[208,5],"m":"bne","oa":59128,"o":"b_E6F8"},{"a":59123,"t":"code","b":[32,179,241],"m":"jsr","oa":61875,"o":"next_random"},{"a":59126,"t":"code","b":[149,49],"m":"sta","oa":49,"o":"buttons,x"},{"a":59128,"l":"b_E6F8","t":"code","b":[165,58],"m":"lda","oa":58,"o":"demo_flag","x":[59121]},{"a":59130,"t":"code","b":[208,9],"m":"bne","oa":59141,"o":"b_E705"},{"a":59132,"t":"code","b":[32,106,231],"m":"jsr","oa":59242,"o":"read_joypad_x"},{"a":59135,"t":"code","b":[189,28,6],"m":"lda","oa":1564,"o":"joypad,x"},{"a":59138,"t":"code","b":[149,49],"m":"sta","oa":49,"o":"buttons,x"},{"a":59140,"l":"r_E704","t":"code","b":[96],"m":"rts","x":[59157]},{"a":59141,"l":"b_E705","t":"code","b":[181,154],"m":"lda","oa":154,"o":"actor_y,x","x":[59115,59130]},{"a":59143,"t":"code","b":[201,160],"m":"cmp","o":"#$A0"},{"a":59145,"t":"code","b":[144,7],"m":"bcc","oa":59154,"o":"b_E712"},{"a":59147,"t":"code","b":[181,49],"m":"lda","oa":49,"o":"buttons,x"},{"a":59149,"t":"code","b":[9,64],"m":"ora","o":"#$40"},{"a":59151,"t":"code","b":[149,49],"m":"sta","oa":49,"o":"buttons,x"},{"a":59153,"t":"code","b":[96],"m":"rts"},{"a":59154,"l":"b_E712","t":"code","b":[222,90,4],"m":"dec","oa":1114,"o":"actor_timer,x","x":[59145]},{"a":59157,"t":"code","b":[208,237],"m":"bne","oa":59140,"o":"r_E704"},{"a":59159,"t":"code","b":[32,179,241],"m":"jsr","oa":61875,"o":"next_random"},{"a":59162,"t":"code","b":[188,81,4],"m":"ldy","oa":1105,"o":"actor_type,x"},{"a":59165,"t":"code","b":[57,98,231],"m":"and","oa":59234,"o":"bird_decision_masks,y"},{"a":59168,"t":"code","b":[121,101,231],"m":"adc","oa":59237,"o":"bird_decision_bases,y"},{"a":59171,"t":"code","b":[157,90,4],"m":"sta","oa":1114,"o":"actor_timer,x"},{"a":59174,"t":"code","b":[134,18],"m":"stx","oa":18,"o":"tmp12"},{"a":59176,"t":"code","b":[165,25],"m":"lda","oa":25,"o":"frame_counter"},{"a":59178,"t":"code","b":[42],"m":"rol","o":"a"},{"a":59179,"t":"code","b":[42],"m":"rol","o":"a"},{"a":59180,"t":"code","b":[69,18],"m":"eor","oa":18,"o":"tmp12"},{"a":59182,"t":"code","b":[41,1],"m":"and","o":"#$01"},{"a":59184,"t":"code","b":[168],"m":"tay"},{"a":59185,"t":"code","b":[185,136,0],"m":"lda","oa":136,"o":"actor_balloons,y"},{"a":59188,"t":"code","b":[48,19],"m":"bmi","oa":59209,"o":"b_E749"},{"a":59190,"t":"code","b":[185,189,0],"m":"lda","oa":189,"o":"invulnerable,y"},{"a":59193,"t":"code","b":[208,14],"m":"bne","oa":59209,"o":"b_E749"},{"a":59195,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":59197,"t":"code","b":[149,49],"m":"sta","oa":49,"o":"buttons,x"},{"a":59199,"t":"code","b":[185,154,0],"m":"lda","oa":154,"o":"actor_y,y"},{"a":59202,"t":"code","b":[56],"m":"sec"},{"a":59203,"t":"code","b":[233,4],"m":"sbc","o":"#$04"},{"a":59205,"t":"code","b":[213,154],"m":"cmp","oa":154,"o":"actor_y,x"},{"a":59207,"t":"code","b":[176,4],"m":"bcs","oa":59213,"o":"b_E74D"},{"a":59209,"l":"b_E749","t":"code","b":[169,64],"m":"lda","o":"#$40","x":[59188,59193]},{"a":59211,"t":"code","b":[149,49],"m":"sta","oa":49,"o":"buttons,x"},{"a":59213,"l":"b_E74D","t":"code","b":[181,145],"m":"lda","oa":145,"o":"actor_x,x","x":[59207]},{"a":59215,"t":"code","b":[217,145,0],"m":"cmp","oa":145,"o":"actor_x,y"},{"a":59218,"t":"code","b":[176,7],"m":"bcs","oa":59227,"o":"b_E75B"},{"a":59220,"t":"code","b":[181,49],"m":"lda","oa":49,"o":"buttons,x"},{"a":59222,"t":"code","b":[9,1],"m":"ora","o":"#$01"},{"a":59224,"t":"code","b":[149,49],"m":"sta","oa":49,"o":"buttons,x"},{"a":59226,"t":"code","b":[96],"m":"rts"},{"a":59227,"l":"b_E75B","t":"code","b":[181,49],"m":"lda","oa":49,"o":"buttons,x","x":[59218]},{"a":59229,"t":"code","b":[9,2],"m":"ora","o":"#$02"},{"a":59231,"t":"code","b":[149,49],"m":"sta","oa":49,"o":"buttons,x"},{"a":59233,"t":"code","b":[96],"m":"rts"},{"a":59234,"l":"bird_decision_masks","c":"The random mask for a bird's next decision time by colour: $1F, $0F, $07.","t":"byte","b":[31,15,7],"x":[59165]},{"a":59237,"l":"bird_decision_bases","c":"The minimum decision time by colour: 32, 16, 8 frames.","t":"byte","b":[32,16,8],"x":[59168]},{"a":59240,"l":"read_joypads","c":"Reads controller 1 (X 0; read_joypad_x reads controller X): strobes, shifts eight bits into joypad (bit 0 or bit 1 of each read, so a Famicom expansion controller works too) and returns the buttons newly pressed since last frame (joypad_last).","t":"code","b":[162,0],"m":"ldx","o":"#$00","x":[56021,62236,62328,62583,62604]},{"a":59242,"l":"read_joypad_x","c":"read_joypads for controller X (0 or 1): the strobe, eight reads shifted into joypad, and the newly pressed buttons returned.","t":"code","b":[169,1],"m":"lda","o":"#$01","x":[59132]},{"a":59244,"t":"code","b":[141,22,64],"m":"sta","o":"JOY1"},{"a":59247,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":59249,"t":"code","b":[141,22,64],"m":"sta","o":"JOY1"},{"a":59252,"t":"code","b":[160,7],"m":"ldy","o":"#$07"},{"a":59254,"l":"b_E776","t":"code","b":[189,22,64],"m":"lda","o":"JOY1,x","x":[59267]},{"a":59257,"t":"code","b":[133,18],"m":"sta","oa":18,"o":"tmp12"},{"a":59259,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":59260,"t":"code","b":[5,18],"m":"ora","oa":18,"o":"tmp12"},{"a":59262,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":59263,"t":"code","b":[62,28,6],"m":"rol","oa":1564,"o":"joypad,x"},{"a":59266,"t":"code","b":[136],"m":"dey"},{"a":59267,"t":"code","b":[16,241],"m":"bpl","oa":59254,"o":"b_E776"},{"a":59269,"t":"code","b":[188,30,6],"m":"ldy","oa":1566,"o":"joypad_last,x"},{"a":59272,"t":"code","b":[189,28,6],"m":"lda","oa":1564,"o":"joypad,x"},{"a":59275,"t":"code","b":[157,30,6],"m":"sta","oa":1566,"o":"joypad_last,x"},{"a":59278,"t":"code","b":[152],"m":"tya"},{"a":59279,"t":"code","b":[93,28,6],"m":"eor","oa":1564,"o":"joypad,x"},{"a":59282,"t":"code","b":[61,28,6],"m":"and","oa":1564,"o":"joypad,x"},{"a":59285,"t":"code","b":[96],"m":"rts"},{"a":59286,"l":"actor_move_control","c":"Horizontal movement from buttons for an actor with balloons (a bird on the ground only while its action is under 2). A player with none: velocity cleared. The action changes: standing (3) to running (2) when a direction is held; running to skidding (4) when released; skidding to turning (5) when the other direction is pressed; facing follows the direction; running accelerates on the ground (run_accel) and makes a footstep sound; flying (action under 4) accelerates in the air (air_accel); skidding or turning until the speed crosses zero, then standing with the facing flipped for a turn.","t":"code","b":[181,136],"m":"lda","oa":136,"o":"actor_balloons,x","x":[59094]},{"a":59288,"t":"code","b":[208,9],"m":"bne","oa":59299,"o":"b_E7A3"},{"a":59290,"l":"b_E79A","t":"code","b":[169,0],"m":"lda","o":"#$00","x":[59311]},{"a":59292,"t":"code","b":[157,36,4],"m":"sta","oa":1060,"o":"actor_vx_lo,x"},{"a":59295,"t":"code","b":[157,45,4],"m":"sta","oa":1069,"o":"actor_vx_hi,x"},{"a":59298,"t":"code","b":[96],"m":"rts"},{"a":59299,"l":"b_E7A3","t":"code","b":[201,2],"m":"cmp","o":"#$02","x":[59288]},{"a":59301,"t":"code","b":[240,65],"m":"beq","oa":59368,"o":"b_E7E8"},{"a":59303,"t":"code","b":[224,2],"m":"cpx","o":"#$02"},{"a":59305,"t":"code","b":[144,61],"m":"bcc","oa":59368,"o":"b_E7E8"},{"a":59307,"t":"code","b":[181,127],"m":"lda","oa":127,"o":"actor_action,x"},{"a":59309,"t":"code","b":[201,2],"m":"cmp","o":"#$02"},{"a":59311,"t":"code","b":[176,233],"m":"bcs","oa":59290,"o":"b_E79A"},{"a":59313,"l":"actor_sway","c":"A spring that swings an actor from side to side: each frame actor_vx_target (the sway's displacement) gains a sixteenth of the horizontal velocity and the velocity loses a sixteenth of the displacement, so the two chase each other without decaying. A bird on its parachute sways this way (actor_move_control), and so does the bubble of a sunk bird (actor_bubble_update).","t":"code","b":[189,36,4],"m":"lda","oa":1060,"o":"actor_vx_lo,x","x":[60606]},{"a":59316,"t":"code","b":[133,18],"m":"sta","oa":18,"o":"tmp12"},{"a":59318,"t":"code","b":[189,45,4],"m":"lda","oa":1069,"o":"actor_vx_hi,x"},{"a":59321,"t":"code","b":[133,19],"m":"sta","oa":19,"o":"tmp13"},{"a":59323,"t":"code","b":[32,166,241],"m":"jsr","oa":61862,"o":"shift_right_4"},{"a":59326,"t":"code","b":[189,99,4],"m":"lda","oa":1123,"o":"actor_vx_target_lo,x"},{"a":59329,"t":"code","b":[24],"m":"clc"},{"a":59330,"t":"code","b":[101,18],"m":"adc","oa":18,"o":"tmp12"},{"a":59332,"t":"code","b":[157,99,4],"m":"sta","oa":1123,"o":"actor_vx_target_lo,x"},{"a":59335,"t":"code","b":[133,18],"m":"sta","oa":18,"o":"tmp12"},{"a":59337,"t":"code","b":[189,108,4],"m":"lda","oa":1132,"o":"actor_vx_target_hi,x"},{"a":59340,"t":"code","b":[101,19],"m":"adc","oa":19,"o":"tmp13"},{"a":59342,"t":"code","b":[157,108,4],"m":"sta","oa":1132,"o":"actor_vx_target_hi,x"},{"a":59345,"t":"code","b":[133,19],"m":"sta","oa":19,"o":"tmp13"},{"a":59347,"t":"code","b":[32,166,241],"m":"jsr","oa":61862,"o":"shift_right_4"},{"a":59350,"t":"code","b":[189,36,4],"m":"lda","oa":1060,"o":"actor_vx_lo,x"},{"a":59353,"t":"code","b":[56],"m":"sec"},{"a":59354,"t":"code","b":[229,18],"m":"sbc","oa":18,"o":"tmp12"},{"a":59356,"t":"code","b":[157,36,4],"m":"sta","oa":1060,"o":"actor_vx_lo,x"},{"a":59359,"t":"code","b":[189,45,4],"m":"lda","oa":1069,"o":"actor_vx_hi,x"},{"a":59362,"t":"code","b":[229,19],"m":"sbc","oa":19,"o":"tmp13"},{"a":59364,"t":"code","b":[157,45,4],"m":"sta","oa":1069,"o":"actor_vx_hi,x"},{"a":59367,"t":"code","b":[96],"m":"rts"},{"a":59368,"l":"b_E7E8","t":"code","b":[181,127],"m":"lda","oa":127,"o":"actor_action,x","x":[59301,59305]},{"a":59370,"t":"code","b":[201,6],"m":"cmp","o":"#$06"},{"a":59372,"t":"code","b":[144,1],"m":"bcc","oa":59375,"o":"b_E7EF"},{"a":59374,"t":"code","b":[96],"m":"rts"},{"a":59375,"l":"b_E7EF","t":"code","b":[181,127],"m":"lda","oa":127,"o":"actor_action,x","x":[59372]},{"a":59377,"t":"code","b":[201,4],"m":"cmp","o":"#$04"},{"a":59379,"t":"code","b":[208,28],"m":"bne","oa":59409,"o":"b_E811"},{"a":59381,"t":"code","b":[181,49],"m":"lda","oa":49,"o":"buttons,x"},{"a":59383,"t":"code","b":[41,2],"m":"and","o":"#$02"},{"a":59385,"t":"code","b":[240,7],"m":"beq","oa":59394,"o":"b_E802"},{"a":59387,"t":"code","b":[189,72,4],"m":"lda","oa":1096,"o":"actor_facing,x"},{"a":59390,"t":"code","b":[240,17],"m":"beq","oa":59409,"o":"b_E811"},{"a":59392,"t":"code","b":[208,11],"m":"bne","oa":59405,"o":"b_E80D"},{"a":59394,"l":"b_E802","t":"code","b":[181,49],"m":"lda","oa":49,"o":"buttons,x","x":[59385]},{"a":59396,"t":"code","b":[41,1],"m":"and","o":"#$01"},{"a":59398,"t":"code","b":[240,9],"m":"beq","oa":59409,"o":"b_E811"},{"a":59400,"t":"code","b":[189,72,4],"m":"lda","oa":1096,"o":"actor_facing,x"},{"a":59403,"t":"code","b":[208,4],"m":"bne","oa":59409,"o":"b_E811"},{"a":59405,"l":"b_E80D","t":"code","b":[169,5],"m":"lda","o":"#$05","x":[59392]},{"a":59407,"t":"code","b":[149,127],"m":"sta","oa":127,"o":"actor_action,x"},{"a":59409,"l":"b_E811","t":"code","b":[181,127],"m":"lda","oa":127,"o":"actor_action,x","x":[59379,59390,59398,59403]},{"a":59411,"t":"code","b":[201,2],"m":"cmp","o":"#$02"},{"a":59413,"t":"code","b":[208,27],"m":"bne","oa":59442,"o":"b_E832"},{"a":59415,"t":"code","b":[181,49],"m":"lda","oa":49,"o":"buttons,x"},{"a":59417,"t":"code","b":[41,2],"m":"and","o":"#$02"},{"a":59419,"t":"code","b":[240,4],"m":"beq","oa":59425,"o":"b_E821"},{"a":59421,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":59423,"t":"code","b":[240,8],"m":"beq","oa":59433,"o":"b_E829"},{"a":59425,"l":"b_E821","t":"code","b":[181,49],"m":"lda","oa":49,"o":"buttons,x","x":[59419]},{"a":59427,"t":"code","b":[41,1],"m":"and","o":"#$01"},{"a":59429,"t":"code","b":[240,7],"m":"beq","oa":59438,"o":"b_E82E"},{"a":59431,"t":"code","b":[169,1],"m":"lda","o":"#$01"},{"a":59433,"l":"b_E829","t":"code","b":[221,72,4],"m":"cmp","oa":1096,"o":"actor_facing,x","x":[59423]},{"a":59436,"t":"code","b":[240,4],"m":"beq","oa":59442,"o":"b_E832"},{"a":59438,"l":"b_E82E","t":"code","b":[169,4],"m":"lda","o":"#$04","x":[59429]},{"a":59440,"t":"code","b":[149,127],"m":"sta","oa":127,"o":"actor_action,x"},{"a":59442,"l":"b_E832","t":"code","b":[181,127],"m":"lda","oa":127,"o":"actor_action,x","x":[59413,59436]},{"a":59444,"t":"code","b":[201,4],"m":"cmp","o":"#$04"},{"a":59446,"t":"code","b":[144,28],"m":"bcc","oa":59476,"o":"b_E854"},{"a":59448,"t":"code","b":[181,49],"m":"lda","oa":49,"o":"buttons,x"},{"a":59450,"t":"code","b":[41,2],"m":"and","o":"#$02"},{"a":59452,"t":"code","b":[240,7],"m":"beq","oa":59461,"o":"b_E845"},{"a":59454,"t":"code","b":[189,72,4],"m":"lda","oa":1096,"o":"actor_facing,x"},{"a":59457,"t":"code","b":[208,17],"m":"bne","oa":59476,"o":"b_E854"},{"a":59459,"t":"code","b":[240,11],"m":"beq","oa":59472,"o":"b_E850"},{"a":59461,"l":"b_E845","t":"code","b":[181,49],"m":"lda","oa":49,"o":"buttons,x","x":[59452]},{"a":59463,"t":"code","b":[41,1],"m":"and","o":"#$01"},{"a":59465,"t":"code","b":[240,9],"m":"beq","oa":59476,"o":"b_E854"},{"a":59467,"t":"code","b":[189,72,4],"m":"lda","oa":1096,"o":"actor_facing,x"},{"a":59470,"t":"code","b":[240,4],"m":"beq","oa":59476,"o":"b_E854"},{"a":59472,"l":"b_E850","t":"code","b":[169,2],"m":"lda","o":"#$02","x":[59459]},{"a":59474,"t":"code","b":[149,127],"m":"sta","oa":127,"o":"actor_action,x"},{"a":59476,"l":"b_E854","t":"code","b":[181,127],"m":"lda","oa":127,"o":"actor_action,x","x":[59446,59457,59465,59470]},{"a":59478,"t":"code","b":[201,3],"m":"cmp","o":"#$03"},{"a":59480,"t":"code","b":[208,10],"m":"bne","oa":59492,"o":"b_E864"},{"a":59482,"t":"code","b":[181,49],"m":"lda","oa":49,"o":"buttons,x"},{"a":59484,"t":"code","b":[41,3],"m":"and","o":"#$03"},{"a":59486,"t":"code","b":[240,4],"m":"beq","oa":59492,"o":"b_E864"},{"a":59488,"t":"code","b":[169,2],"m":"lda","o":"#$02"},{"a":59490,"t":"code","b":[149,127],"m":"sta","oa":127,"o":"actor_action,x"},{"a":59492,"l":"b_E864","t":"code","b":[181,127],"m":"lda","oa":127,"o":"actor_action,x","x":[59480,59486]},{"a":59494,"t":"code","b":[201,4],"m":"cmp","o":"#$04"},{"a":59496,"t":"code","b":[176,21],"m":"bcs","oa":59519,"o":"b_E87F"},{"a":59498,"t":"code","b":[181,49],"m":"lda","oa":49,"o":"buttons,x"},{"a":59500,"t":"code","b":[41,2],"m":"and","o":"#$02"},{"a":59502,"t":"code","b":[240,4],"m":"beq","oa":59508,"o":"b_E874"},{"a":59504,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":59506,"t":"code","b":[240,8],"m":"beq","oa":59516,"o":"b_E87C"},{"a":59508,"l":"b_E874","t":"code","b":[181,49],"m":"lda","oa":49,"o":"buttons,x","x":[59502]},{"a":59510,"t":"code","b":[41,1],"m":"and","o":"#$01"},{"a":59512,"t":"code","b":[240,5],"m":"beq","oa":59519,"o":"b_E87F"},{"a":59514,"t":"code","b":[169,1],"m":"lda","o":"#$01"},{"a":59516,"l":"b_E87C","t":"code","b":[157,72,4],"m":"sta","oa":1096,"o":"actor_facing,x","x":[59506]},{"a":59519,"l":"b_E87F","t":"code","b":[181,127],"m":"lda","oa":127,"o":"actor_action,x","x":[59496,59512]},{"a":59521,"t":"code","b":[201,4],"m":"cmp","o":"#$04"},{"a":59523,"t":"code","b":[144,51],"m":"bcc","oa":59576,"o":"b_E8B8"},{"a":59525,"t":"code","b":[189,54,4],"m":"lda","oa":1078,"o":"actor_frame,x"},{"a":59528,"t":"code","b":[201,1],"m":"cmp","o":"#$01"},{"a":59530,"t":"code","b":[208,44],"m":"bne","oa":59576,"o":"b_E8B8"},{"a":59532,"t":"code","b":[188,81,4],"m":"ldy","oa":1105,"o":"actor_type,x"},{"a":59535,"t":"code","b":[189,72,4],"m":"lda","oa":1096,"o":"actor_facing,x"},{"a":59538,"t":"code","b":[240,18],"m":"beq","oa":59558,"o":"b_E8A6"},{"a":59540,"t":"code","b":[189,36,4],"m":"lda","oa":1060,"o":"actor_vx_lo,x"},{"a":59543,"t":"code","b":[56],"m":"sec"},{"a":59544,"t":"code","b":[249,37,230],"m":"sbc","oa":58917,"o":"air_accel,y"},{"a":59547,"t":"code","b":[157,36,4],"m":"sta","oa":1060,"o":"actor_vx_lo,x"},{"a":59550,"t":"code","b":[189,45,4],"m":"lda","oa":1069,"o":"actor_vx_hi,x"},{"a":59553,"t":"code","b":[233,0],"m":"sbc","o":"#$00"},{"a":59555,"t":"code","b":[76,1,233],"m":"jmp","oa":59649,"o":"j_E901"},{"a":59558,"l":"b_E8A6","t":"code","b":[189,36,4],"m":"lda","oa":1060,"o":"actor_vx_lo,x","x":[59538]},{"a":59561,"t":"code","b":[24],"m":"clc"},{"a":59562,"t":"code","b":[121,37,230],"m":"adc","oa":58917,"o":"air_accel,y"},{"a":59565,"t":"code","b":[157,36,4],"m":"sta","oa":1060,"o":"actor_vx_lo,x"},{"a":59568,"t":"code","b":[189,45,4],"m":"lda","oa":1069,"o":"actor_vx_hi,x"},{"a":59571,"t":"code","b":[105,0],"m":"adc","o":"#$00"},{"a":59573,"t":"code","b":[76,1,233],"m":"jmp","oa":59649,"o":"j_E901"},{"a":59576,"l":"b_E8B8","t":"code","b":[181,127],"m":"lda","oa":127,"o":"actor_action,x","x":[59523,59530]},{"a":59578,"t":"code","b":[240,11],"m":"beq","oa":59591,"o":"b_E8C7"},{"a":59580,"t":"code","b":[201,2],"m":"cmp","o":"#$02"},{"a":59582,"t":"code","b":[240,71],"m":"beq","oa":59655,"o":"b_E907"},{"a":59584,"t":"code","b":[201,3],"m":"cmp","o":"#$03"},{"a":59586,"t":"code","b":[240,3],"m":"beq","oa":59591,"o":"b_E8C7"},{"a":59588,"t":"code","b":[76,81,233],"m":"jmp","oa":59729,"o":"j_E951"},{"a":59591,"l":"b_E8C7","t":"code","b":[189,54,4],"m":"lda","oa":1078,"o":"actor_frame,x","x":[59578,59586]},{"a":59594,"t":"code","b":[201,1],"m":"cmp","o":"#$01"},{"a":59596,"t":"code","b":[240,3],"m":"beq","oa":59601,"o":"b_E8D1"},{"a":59598,"t":"code","b":[76,81,233],"m":"jmp","oa":59729,"o":"j_E951"},{"a":59601,"l":"b_E8D1","t":"code","b":[188,81,4],"m":"ldy","oa":1105,"o":"actor_type,x","x":[59596]},{"a":59604,"t":"code","b":[181,49],"m":"lda","oa":49,"o":"buttons,x"},{"a":59606,"t":"code","b":[41,2],"m":"and","o":"#$02"},{"a":59608,"t":"code","b":[240,18],"m":"beq","oa":59628,"o":"b_E8EC"},{"a":59610,"t":"code","b":[189,36,4],"m":"lda","oa":1060,"o":"actor_vx_lo,x"},{"a":59613,"t":"code","b":[56],"m":"sec"},{"a":59614,"t":"code","b":[249,25,230],"m":"sbc","oa":58905,"o":"run_accel,y"},{"a":59617,"t":"code","b":[157,36,4],"m":"sta","oa":1060,"o":"actor_vx_lo,x"},{"a":59620,"t":"code","b":[189,45,4],"m":"lda","oa":1069,"o":"actor_vx_hi,x"},{"a":59623,"t":"code","b":[233,0],"m":"sbc","o":"#$00"},{"a":59625,"t":"code","b":[76,1,233],"m":"jmp","oa":59649,"o":"j_E901"},{"a":59628,"l":"b_E8EC","t":"code","b":[181,49],"m":"lda","oa":49,"o":"buttons,x","x":[59608]},{"a":59630,"t":"code","b":[41,1],"m":"and","o":"#$01"},{"a":59632,"t":"code","b":[240,95],"m":"beq","oa":59729,"o":"j_E951"},{"a":59634,"t":"code","b":[189,36,4],"m":"lda","oa":1060,"o":"actor_vx_lo,x"},{"a":59637,"t":"code","b":[24],"m":"clc"},{"a":59638,"t":"code","b":[121,25,230],"m":"adc","oa":58905,"o":"run_accel,y"},{"a":59641,"t":"code","b":[157,36,4],"m":"sta","oa":1060,"o":"actor_vx_lo,x"},{"a":59644,"t":"code","b":[189,45,4],"m":"lda","oa":1069,"o":"actor_vx_hi,x"},{"a":59647,"t":"code","b":[105,0],"m":"adc","o":"#$00"},{"a":59649,"l":"j_E901","t":"code","b":[157,45,4],"m":"sta","oa":1069,"o":"actor_vx_hi,x","x":[59555,59573,59625]},{"a":59652,"t":"code","b":[76,81,233],"m":"jmp","oa":59729,"o":"j_E951"},{"a":59655,"l":"b_E907","t":"code","b":[189,54,4],"m":"lda","oa":1078,"o":"actor_frame,x","x":[59582]},{"a":59658,"t":"code","b":[201,1],"m":"cmp","o":"#$01"},{"a":59660,"t":"code","b":[208,67],"m":"bne","oa":59729,"o":"j_E951"},{"a":59662,"t":"code","b":[188,81,4],"m":"ldy","oa":1105,"o":"actor_type,x"},{"a":59665,"t":"code","b":[181,49],"m":"lda","oa":49,"o":"buttons,x"},{"a":59667,"t":"code","b":[41,2],"m":"and","o":"#$02"},{"a":59669,"t":"code","b":[240,18],"m":"beq","oa":59689,"o":"b_E929"},{"a":59671,"t":"code","b":[189,36,4],"m":"lda","oa":1060,"o":"actor_vx_lo,x"},{"a":59674,"t":"code","b":[56],"m":"sec"},{"a":59675,"t":"code","b":[249,37,230],"m":"sbc","oa":58917,"o":"air_accel,y"},{"a":59678,"t":"code","b":[157,36,4],"m":"sta","oa":1060,"o":"actor_vx_lo,x"},{"a":59681,"t":"code","b":[189,45,4],"m":"lda","oa":1069,"o":"actor_vx_hi,x"},{"a":59684,"t":"code","b":[233,0],"m":"sbc","o":"#$00"},{"a":59686,"t":"code","b":[76,62,233],"m":"jmp","oa":59710,"o":"j_E93E"},{"a":59689,"l":"b_E929","t":"code","b":[181,49],"m":"lda","oa":49,"o":"buttons,x","x":[59669]},{"a":59691,"t":"code","b":[41,1],"m":"and","o":"#$01"},{"a":59693,"t":"code","b":[240,34],"m":"beq","oa":59729,"o":"j_E951"},{"a":59695,"t":"code","b":[189,36,4],"m":"lda","oa":1060,"o":"actor_vx_lo,x"},{"a":59698,"t":"code","b":[24],"m":"clc"},{"a":59699,"t":"code","b":[121,37,230],"m":"adc","oa":58917,"o":"air_accel,y"},{"a":59702,"t":"code","b":[157,36,4],"m":"sta","oa":1060,"o":"actor_vx_lo,x"},{"a":59705,"t":"code","b":[189,45,4],"m":"lda","oa":1069,"o":"actor_vx_hi,x"},{"a":59708,"t":"code","b":[105,0],"m":"adc","o":"#$00"},{"a":59710,"l":"j_E93E","t":"code","b":[157,45,4],"m":"sta","oa":1069,"o":"actor_vx_hi,x","x":[59686]},{"a":59713,"t":"code","b":[181,49],"m":"lda","oa":49,"o":"buttons,x"},{"a":59715,"t":"code","b":[41,3],"m":"and","o":"#$03"},{"a":59717,"t":"code","b":[240,10],"m":"beq","oa":59729,"o":"j_E951"},{"a":59719,"t":"code","b":[224,2],"m":"cpx","o":"#$02"},{"a":59721,"t":"code","b":[176,6],"m":"bcs","oa":59729,"o":"j_E951"},{"a":59723,"t":"code","b":[165,240],"m":"lda","oa":240,"o":"sfx_request_a"},{"a":59725,"t":"code","b":[9,8],"m":"ora","o":"#$08"},{"a":59727,"t":"code","b":[133,240],"m":"sta","oa":240,"o":"sfx_request_a"},{"a":59729,"l":"j_E951","t":"code","b":[181,127],"m":"lda","oa":127,"o":"actor_action,x","x":[59588,59598,59632,59652,59660,59693,59717,59721]},{"a":59731,"t":"code","b":[201,4],"m":"cmp","o":"#$04"},{"a":59733,"t":"code","b":[144,43],"m":"bcc","oa":59778,"o":"r_E982"},{"a":59735,"t":"code","b":[189,72,4],"m":"lda","oa":1096,"o":"actor_facing,x"},{"a":59738,"t":"code","b":[208,7],"m":"bne","oa":59747,"o":"b_E963"},{"a":59740,"t":"code","b":[189,45,4],"m":"lda","oa":1069,"o":"actor_vx_hi,x"},{"a":59743,"t":"code","b":[48,33],"m":"bmi","oa":59778,"o":"r_E982"},{"a":59745,"t":"code","b":[16,5],"m":"bpl","oa":59752,"o":"b_E968"},{"a":59747,"l":"b_E963","t":"code","b":[189,45,4],"m":"lda","oa":1069,"o":"actor_vx_hi,x","x":[59738]},{"a":59750,"t":"code","b":[16,26],"m":"bpl","oa":59778,"o":"r_E982"},{"a":59752,"l":"b_E968","t":"code","b":[181,127],"m":"lda","oa":127,"o":"actor_action,x","x":[59745]},{"a":59754,"t":"code","b":[201,5],"m":"cmp","o":"#$05"},{"a":59756,"t":"code","b":[208,8],"m":"bne","oa":59766,"o":"b_E976"},{"a":59758,"t":"code","b":[189,72,4],"m":"lda","oa":1096,"o":"actor_facing,x"},{"a":59761,"t":"code","b":[73,1],"m":"eor","o":"#$01"},{"a":59763,"t":"code","b":[157,72,4],"m":"sta","oa":1096,"o":"actor_facing,x"},{"a":59766,"l":"b_E976","t":"code","b":[169,3],"m":"lda","o":"#$03","x":[59756]},{"a":59768,"t":"code","b":[149,127],"m":"sta","oa":127,"o":"actor_action,x"},{"a":59770,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":59772,"t":"code","b":[157,36,4],"m":"sta","oa":1060,"o":"actor_vx_lo,x"},{"a":59775,"t":"code","b":[157,45,4],"m":"sta","oa":1069,"o":"actor_vx_hi,x"},{"a":59778,"l":"r_E982","t":"code","b":[96],"m":"rts","x":[59733,59743,59750]},{"a":59779,"l":"actor_ground_state","c":"Landing and leaving the ground. With landed_flag (set by actor_platforms or a propeller top): velocities cleared; a bird with its balloon that touches down goes idle for a frame; a bird on its parachute lands: action 2 (running), its frame timer enemy_inflate_rate, velocities and drift cleared, the landing sound; a player: standing or running by its speed. Without it: a player who is invulnerable and still on the Balloon Trip start platform keeps it; otherwise any actor on the ground (action 2 to 5) that is in the air starts flapping (action 1).","t":"code","b":[165,203],"m":"lda","oa":203,"o":"landed_flag","x":[52421,59103]},{"a":59781,"t":"code","b":[208,47],"m":"bne","oa":59830,"o":"b_E9B6"},{"a":59783,"t":"code","b":[181,189],"m":"lda","oa":189,"o":"invulnerable,x"},{"a":59785,"t":"code","b":[240,15],"m":"beq","oa":59802,"o":"b_E99A"},{"a":59787,"t":"code","b":[173,136,4],"m":"lda","oa":1160,"o":"trip_platform_x"},{"a":59790,"t":"code","b":[240,10],"m":"beq","oa":59802,"o":"b_E99A"},{"a":59792,"t":"code","b":[56],"m":"sec"},{"a":59793,"t":"code","b":[245,145],"m":"sbc","oa":145,"o":"actor_x,x"},{"a":59795,"t":"code","b":[32,142,240],"m":"jsr","oa":61582,"o":"abs"},{"a":59798,"t":"code","b":[201,5],"m":"cmp","o":"#$05"},{"a":59800,"t":"code","b":[144,28],"m":"bcc","oa":59830,"o":"b_E9B6"},{"a":59802,"l":"b_E99A","t":"code","b":[224,2],"m":"cpx","o":"#$02","x":[59785,59790]},{"a":59804,"t":"code","b":[144,6],"m":"bcc","oa":59812,"o":"b_E9A4"},{"a":59806,"t":"code","b":[181,136],"m":"lda","oa":136,"o":"actor_balloons,x"},{"a":59808,"t":"code","b":[201,2],"m":"cmp","o":"#$02"},{"a":59810,"t":"code","b":[208,78],"m":"bne","oa":59890,"o":"r_E9F2"},{"a":59812,"l":"b_E9A4","t":"code","b":[181,127],"m":"lda","oa":127,"o":"actor_action,x","x":[59804]},{"a":59814,"t":"code","b":[201,2],"m":"cmp","o":"#$02"},{"a":59816,"t":"code","b":[144,72],"m":"bcc","oa":59890,"o":"r_E9F2"},{"a":59818,"t":"code","b":[201,6],"m":"cmp","o":"#$06"},{"a":59820,"t":"code","b":[176,68],"m":"bcs","oa":59890,"o":"r_E9F2"},{"a":59822,"t":"code","b":[169,1],"m":"lda","o":"#$01"},{"a":59824,"t":"code","b":[149,127],"m":"sta","oa":127,"o":"actor_action,x"},{"a":59826,"t":"code","b":[157,90,4],"m":"sta","oa":1114,"o":"actor_timer,x"},{"a":59829,"t":"code","b":[96],"m":"rts"},{"a":59830,"l":"b_E9B6","t":"code","b":[169,0],"m":"lda","o":"#$00","x":[59781,59800]},{"a":59832,"t":"code","b":[157,18,4],"m":"sta","oa":1042,"o":"actor_vy_lo,x"},{"a":59835,"t":"code","b":[157,27,4],"m":"sta","oa":1051,"o":"actor_vy_hi,x"},{"a":59838,"t":"code","b":[157,9,4],"m":"sta","oa":1033,"o":"actor_y_frac,x"},{"a":59841,"t":"code","b":[133,203],"m":"sta","oa":203,"o":"landed_flag"},{"a":59843,"t":"code","b":[224,2],"m":"cpx","o":"#$02"},{"a":59845,"t":"code","b":[144,54],"m":"bcc","oa":59901,"o":"b_E9FD"},{"a":59847,"t":"code","b":[181,136],"m":"lda","oa":136,"o":"actor_balloons,x"},{"a":59849,"t":"code","b":[201,2],"m":"cmp","o":"#$02"},{"a":59851,"t":"code","b":[240,38],"m":"beq","oa":59891,"o":"b_E9F3"},{"a":59853,"t":"code","b":[201,1],"m":"cmp","o":"#$01"},{"a":59855,"t":"code","b":[208,33],"m":"bne","oa":59890,"o":"r_E9F2"},{"a":59857,"t":"code","b":[181,127],"m":"lda","oa":127,"o":"actor_action,x"},{"a":59859,"t":"code","b":[201,2],"m":"cmp","o":"#$02"},{"a":59861,"t":"code","b":[176,27],"m":"bcs","oa":59890,"o":"r_E9F2"},{"a":59863,"t":"code","b":[169,2],"m":"lda","o":"#$02"},{"a":59865,"t":"code","b":[149,127],"m":"sta","oa":127,"o":"actor_action,x"},{"a":59867,"t":"code","b":[165,198],"m":"lda","oa":198,"o":"enemy_inflate_rate"},{"a":59869,"t":"code","b":[157,63,4],"m":"sta","oa":1087,"o":"actor_frame_timer,x"},{"a":59872,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":59874,"t":"code","b":[157,36,4],"m":"sta","oa":1060,"o":"actor_vx_lo,x"},{"a":59877,"t":"code","b":[157,45,4],"m":"sta","oa":1069,"o":"actor_vx_hi,x"},{"a":59880,"t":"code","b":[157,99,4],"m":"sta","oa":1123,"o":"actor_vx_target_lo,x"},{"a":59883,"t":"code","b":[157,108,4],"m":"sta","oa":1132,"o":"actor_vx_target_hi,x"},{"a":59886,"t":"code","b":[169,64],"m":"lda","o":"#$40"},{"a":59888,"t":"code","b":[133,241],"m":"sta","oa":241,"o":"sfx_request_b"},{"a":59890,"l":"r_E9F2","t":"code","b":[96],"m":"rts","x":[59810,59816,59820,59855,59861]},{"a":59891,"l":"b_E9F3","t":"code","b":[169,0],"m":"lda","o":"#$00","x":[59851]},{"a":59893,"t":"code","b":[149,127],"m":"sta","oa":127,"o":"actor_action,x"},{"a":59895,"t":"code","b":[169,1],"m":"lda","o":"#$01"},{"a":59897,"t":"code","b":[157,90,4],"m":"sta","oa":1114,"o":"actor_timer,x"},{"a":59900,"t":"code","b":[96],"m":"rts"},{"a":59901,"l":"b_E9FD","t":"code","b":[181,127],"m":"lda","oa":127,"o":"actor_action,x","x":[59845]},{"a":59903,"t":"code","b":[201,1],"m":"cmp","o":"#$01"},{"a":59905,"t":"code","b":[208,20],"m":"bne","oa":59927,"o":"r_EA17"},{"a":59907,"t":"code","b":[201,6],"m":"cmp","o":"#$06"},{"a":59909,"t":"code","b":[176,16],"m":"bcs","oa":59927,"o":"r_EA17"},{"a":59911,"t":"code","b":[189,36,4],"m":"lda","oa":1060,"o":"actor_vx_lo,x"},{"a":59914,"t":"code","b":[29,45,4],"m":"ora","oa":1069,"o":"actor_vx_hi,x"},{"a":59917,"t":"code","b":[208,4],"m":"bne","oa":59923,"o":"b_EA13"},{"a":59919,"t":"code","b":[169,3],"m":"lda","o":"#$03"},{"a":59921,"t":"code","b":[208,2],"m":"bne","oa":59925,"o":"b_EA15"},{"a":59923,"l":"b_EA13","t":"code","b":[169,2],"m":"lda","o":"#$02","x":[59917]},{"a":59925,"l":"b_EA15","t":"code","b":[149,127],"m":"sta","oa":127,"o":"actor_action,x","x":[59921]},{"a":59927,"l":"r_EA17","t":"code","b":[96],"m":"rts","x":[59905,59909]},{"a":59928,"l":"actor_animate","c":"Steps actor_frame: a player every 8 frames while flapping or standing (or invulnerable), else every frame; a bird every 8 while flapping, every 4 on the ground, else every frame; frames wrap at 4, and an idle actor whose frame wraps starts flapping.","t":"code","b":[224,2],"m":"cpx","o":"#$02","x":[59086]},{"a":59930,"t":"code","b":[176,16],"m":"bcs","oa":59948,"o":"b_EA2C"},{"a":59932,"t":"code","b":[181,189],"m":"lda","oa":189,"o":"invulnerable,x"},{"a":59934,"t":"code","b":[208,36],"m":"bne","oa":59972,"o":"b_EA44"},{"a":59936,"t":"code","b":[181,127],"m":"lda","oa":127,"o":"actor_action,x"},{"a":59938,"t":"code","b":[201,1],"m":"cmp","o":"#$01"},{"a":59940,"t":"code","b":[240,24],"m":"beq","oa":59966,"o":"b_EA3E"},{"a":59942,"t":"code","b":[201,3],"m":"cmp","o":"#$03"},{"a":59944,"t":"code","b":[208,26],"m":"bne","oa":59972,"o":"b_EA44"},{"a":59946,"t":"code","b":[240,18],"m":"beq","oa":59966,"o":"b_EA3E"},{"a":59948,"l":"b_EA2C","t":"code","b":[181,127],"m":"lda","oa":127,"o":"actor_action,x","x":[59930]},{"a":59950,"t":"code","b":[201,1],"m":"cmp","o":"#$01"},{"a":59952,"t":"code","b":[240,12],"m":"beq","oa":59966,"o":"b_EA3E"},{"a":59954,"t":"code","b":[201,3],"m":"cmp","o":"#$03"},{"a":59956,"t":"code","b":[144,14],"m":"bcc","oa":59972,"o":"b_EA44"},{"a":59958,"t":"code","b":[165,25],"m":"lda","oa":25,"o":"frame_counter"},{"a":59960,"t":"code","b":[41,3],"m":"and","o":"#$03"},{"a":59962,"t":"code","b":[208,11],"m":"bne","oa":59975,"o":"b_EA47"},{"a":59964,"t":"code","b":[240,6],"m":"beq","oa":59972,"o":"b_EA44"},{"a":59966,"l":"b_EA3E","t":"code","b":[165,25],"m":"lda","oa":25,"o":"frame_counter","x":[59940,59946,59952]},{"a":59968,"t":"code","b":[41,7],"m":"and","o":"#$07"},{"a":59970,"t":"code","b":[208,3],"m":"bne","oa":59975,"o":"b_EA47"},{"a":59972,"l":"b_EA44","t":"code","b":[254,54,4],"m":"inc","oa":1078,"o":"actor_frame,x","x":[59934,59944,59956,59964]},{"a":59975,"l":"b_EA47","t":"code","b":[189,54,4],"m":"lda","oa":1078,"o":"actor_frame,x","x":[59962,59970]},{"a":59978,"t":"code","b":[41,3],"m":"and","o":"#$03"},{"a":59980,"t":"code","b":[157,54,4],"m":"sta","oa":1078,"o":"actor_frame,x"},{"a":59983,"t":"code","b":[208,6],"m":"bne","oa":59991,"o":"r_EA57"},{"a":59985,"t":"code","b":[181,127],"m":"lda","oa":127,"o":"actor_action,x"},{"a":59987,"t":"code","b":[208,2],"m":"bne","oa":59991,"o":"r_EA57"},{"a":59989,"t":"code","b":[246,127],"m":"inc","oa":127,"o":"actor_action,x"},{"a":59991,"l":"r_EA57","t":"code","b":[96],"m":"rts","x":[59983,59987]},{"a":59992,"l":"actor_physics","c":"Each frame: the hit cooldown counts down; a player thrown by a spark tumbles (frames every other frame, action 1) for actor_timer steps, then is free with the balloon-pop sound. Gravity by type is added to the vertical velocity, capped by max_vy and max_vy_up; the actor moves; between Y $E8 and $F7 it has fallen in the water: out of play, the splash set at its X; a bird becomes a bubble (actor_balloons $80) with the fall sound, a player makes the drowning sound unless in the bonus round. Then the horizontal velocity is capped (max_vx, max_vx_left) and the actor moves; in Balloon Trip X stays within $10 to $E0. In the bonus round and Balloon Trip a player with no balloons who reaches Y $C8 bounces back up: Y $C7, the velocity reversed (scale_vy_80pct), and the player gets both balloons and type 3 back (the manual's \"you don't lose a man\").","t":"code","b":[189,117,4],"m":"lda","oa":1141,"o":"actor_hit_cooldown,x","x":[59097]},{"a":59995,"t":"code","b":[240,3],"m":"beq","oa":60000,"o":"b_EA60"},{"a":59997,"t":"code","b":[222,117,4],"m":"dec","oa":1141,"o":"actor_hit_cooldown,x"},{"a":60000,"l":"b_EA60","t":"code","b":[224,2],"m":"cpx","o":"#$02","x":[59995]},{"a":60002,"t":"code","b":[176,40],"m":"bcs","oa":60044,"o":"b_EA8C"},{"a":60004,"t":"code","b":[181,193],"m":"lda","oa":193,"o":"spark_hit,x"},{"a":60006,"t":"code","b":[240,36],"m":"beq","oa":60044,"o":"b_EA8C"},{"a":60008,"t":"code","b":[165,25],"m":"lda","oa":25,"o":"frame_counter"},{"a":60010,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":60011,"t":"code","b":[144,30],"m":"bcc","oa":60043,"o":"r_EA8B"},{"a":60013,"t":"code","b":[254,54,4],"m":"inc","oa":1078,"o":"actor_frame,x"},{"a":60016,"t":"code","b":[189,54,4],"m":"lda","oa":1078,"o":"actor_frame,x"},{"a":60019,"t":"code","b":[41,3],"m":"and","o":"#$03"},{"a":60021,"t":"code","b":[157,54,4],"m":"sta","oa":1078,"o":"actor_frame,x"},{"a":60024,"t":"code","b":[169,1],"m":"lda","o":"#$01"},{"a":60026,"t":"code","b":[149,127],"m":"sta","oa":127,"o":"actor_action,x"},{"a":60028,"t":"code","b":[222,90,4],"m":"dec","oa":1114,"o":"actor_timer,x"},{"a":60031,"t":"code","b":[208,10],"m":"bne","oa":60043,"o":"r_EA8B"},{"a":60033,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":60035,"t":"code","b":[149,193],"m":"sta","oa":193,"o":"spark_hit,x"},{"a":60037,"t":"code","b":[149,127],"m":"sta","oa":127,"o":"actor_action,x"},{"a":60039,"t":"code","b":[169,32],"m":"lda","o":"#$20"},{"a":60041,"t":"code","b":[133,240],"m":"sta","oa":240,"o":"sfx_request_a"},{"a":60043,"l":"r_EA8B","t":"code","b":[96],"m":"rts","x":[60011,60031]},{"a":60044,"l":"b_EA8C","t":"code","b":[189,18,4],"m":"lda","oa":1042,"o":"actor_vy_lo,x","x":[60002,60006]},{"a":60047,"t":"code","b":[24],"m":"clc"},{"a":60048,"t":"code","b":[188,81,4],"m":"ldy","oa":1105,"o":"actor_type,x"},{"a":60051,"t":"code","b":[121,1,230],"m":"adc","oa":58881,"o":"gravity_by_type,y"},{"a":60054,"t":"code","b":[157,18,4],"m":"sta","oa":1042,"o":"actor_vy_lo,x"},{"a":60057,"t":"code","b":[144,3],"m":"bcc","oa":60062,"o":"b_EA9E"},{"a":60059,"t":"code","b":[254,27,4],"m":"inc","oa":1051,"o":"actor_vy_hi,x"},{"a":60062,"l":"b_EA9E","t":"code","b":[189,27,4],"m":"lda","oa":1051,"o":"actor_vy_hi,x","x":[60057]},{"a":60065,"t":"code","b":[48,30],"m":"bmi","oa":60097,"o":"b_EAC1"},{"a":60067,"t":"code","b":[217,109,230],"m":"cmp","oa":58989,"o":"max_vy_hi,y"},{"a":60070,"t":"code","b":[144,52],"m":"bcc","oa":60124,"o":"b_EADC"},{"a":60072,"t":"code","b":[208,8],"m":"bne","oa":60082,"o":"b_EAB2"},{"a":60074,"t":"code","b":[189,18,4],"m":"lda","oa":1042,"o":"actor_vy_lo,x"},{"a":60077,"t":"code","b":[217,97,230],"m":"cmp","oa":58977,"o":"max_vy_lo,y"},{"a":60080,"t":"code","b":[144,42],"m":"bcc","oa":60124,"o":"b_EADC"},{"a":60082,"l":"b_EAB2","t":"code","b":[185,97,230],"m":"lda","oa":58977,"o":"max_vy_lo,y","x":[60072]},{"a":60085,"t":"code","b":[157,18,4],"m":"sta","oa":1042,"o":"actor_vy_lo,x"},{"a":60088,"t":"code","b":[185,109,230],"m":"lda","oa":58989,"o":"max_vy_hi,y"},{"a":60091,"t":"code","b":[157,27,4],"m":"sta","oa":1051,"o":"actor_vy_hi,x"},{"a":60094,"t":"code","b":[76,220,234],"m":"jmp","oa":60124,"o":"b_EADC"},{"a":60097,"l":"b_EAC1","t":"code","b":[217,133,230],"m":"cmp","oa":59013,"o":"max_vy_up_hi,y","x":[60065]},{"a":60100,"t":"code","b":[144,10],"m":"bcc","oa":60112,"o":"b_EAD0"},{"a":60102,"t":"code","b":[208,20],"m":"bne","oa":60124,"o":"b_EADC"},{"a":60104,"t":"code","b":[189,18,4],"m":"lda","oa":1042,"o":"actor_vy_lo,x"},{"a":60107,"t":"code","b":[217,121,230],"m":"cmp","oa":59001,"o":"max_vy_up_lo,y"},{"a":60110,"t":"code","b":[176,12],"m":"bcs","oa":60124,"o":"b_EADC"},{"a":60112,"l":"b_EAD0","t":"code","b":[185,121,230],"m":"lda","oa":59001,"o":"max_vy_up_lo,y","x":[60100]},{"a":60115,"t":"code","b":[157,18,4],"m":"sta","oa":1042,"o":"actor_vy_lo,x"},{"a":60118,"t":"code","b":[185,133,230],"m":"lda","oa":59013,"o":"max_vy_up_hi,y"},{"a":60121,"t":"code","b":[157,27,4],"m":"sta","oa":1051,"o":"actor_vy_hi,x"},{"a":60124,"l":"b_EADC","t":"code","b":[32,160,235],"m":"jsr","oa":60320,"o":"actor_move_y","x":[60070,60080,60094,60102,60110]},{"a":60127,"t":"code","b":[201,248],"m":"cmp","o":"#$F8"},{"a":60129,"t":"code","b":[176,42],"m":"bcs","oa":60173,"o":"b_EB0D"},{"a":60131,"t":"code","b":[201,232],"m":"cmp","o":"#$E8"},{"a":60133,"t":"code","b":[144,38],"m":"bcc","oa":60173,"o":"b_EB0D"},{"a":60135,"t":"code","b":[169,255],"m":"lda","o":"#$FF"},{"a":60137,"t":"code","b":[149,136],"m":"sta","oa":136,"o":"actor_balloons,x"},{"a":60139,"t":"code","b":[169,4],"m":"lda","o":"#$04"},{"a":60141,"t":"code","b":[133,187],"m":"sta","oa":187,"o":"splash_frame"},{"a":60143,"t":"code","b":[181,145],"m":"lda","oa":145,"o":"actor_x,x"},{"a":60145,"t":"code","b":[133,188],"m":"sta","oa":188,"o":"splash_x"},{"a":60147,"t":"code","b":[224,2],"m":"cpx","o":"#$02"},{"a":60149,"t":"code","b":[144,14],"m":"bcc","oa":60165,"o":"b_EB05"},{"a":60151,"t":"code","b":[169,128],"m":"lda","o":"#$80"},{"a":60153,"t":"code","b":[149,136],"m":"sta","oa":136,"o":"actor_balloons,x"},{"a":60155,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":60157,"t":"code","b":[149,127],"m":"sta","oa":127,"o":"actor_action,x"},{"a":60159,"t":"code","b":[169,1],"m":"lda","o":"#$01"},{"a":60161,"t":"code","b":[133,243],"m":"sta","oa":243,"o":"sfx_request_c"},{"a":60163,"t":"code","b":[208,8],"m":"bne","oa":60173,"o":"b_EB0D"},{"a":60165,"l":"b_EB05","t":"code","b":[165,200],"m":"lda","oa":200,"o":"no_enemies","x":[60149]},{"a":60167,"t":"code","b":[208,4],"m":"bne","oa":60173,"o":"b_EB0D"},{"a":60169,"t":"code","b":[169,64],"m":"lda","o":"#$40"},{"a":60171,"t":"code","b":[133,240],"m":"sta","oa":240,"o":"sfx_request_a"},{"a":60173,"l":"b_EB0D","t":"code","b":[189,45,4],"m":"lda","oa":1069,"o":"actor_vx_hi,x","x":[60129,60133,60163,60167]},{"a":60176,"t":"code","b":[48,30],"m":"bmi","oa":60208,"o":"b_EB30"},{"a":60178,"t":"code","b":[217,61,230],"m":"cmp","oa":58941,"o":"max_vx_hi,y"},{"a":60181,"t":"code","b":[144,52],"m":"bcc","oa":60235,"o":"b_EB4B"},{"a":60183,"t":"code","b":[208,8],"m":"bne","oa":60193,"o":"b_EB21"},{"a":60185,"t":"code","b":[189,36,4],"m":"lda","oa":1060,"o":"actor_vx_lo,x"},{"a":60188,"t":"code","b":[217,49,230],"m":"cmp","oa":58929,"o":"max_vx_lo,y"},{"a":60191,"t":"code","b":[144,42],"m":"bcc","oa":60235,"o":"b_EB4B"},{"a":60193,"l":"b_EB21","t":"code","b":[185,49,230],"m":"lda","oa":58929,"o":"max_vx_lo,y","x":[60183]},{"a":60196,"t":"code","b":[157,36,4],"m":"sta","oa":1060,"o":"actor_vx_lo,x"},{"a":60199,"t":"code","b":[185,61,230],"m":"lda","oa":58941,"o":"max_vx_hi,y"},{"a":60202,"t":"code","b":[157,45,4],"m":"sta","oa":1069,"o":"actor_vx_hi,x"},{"a":60205,"t":"code","b":[76,75,235],"m":"jmp","oa":60235,"o":"b_EB4B"},{"a":60208,"l":"b_EB30","t":"code","b":[217,85,230],"m":"cmp","oa":58965,"o":"max_vx_left_hi,y","x":[60176]},{"a":60211,"t":"code","b":[144,10],"m":"bcc","oa":60223,"o":"b_EB3F"},{"a":60213,"t":"code","b":[208,20],"m":"bne","oa":60235,"o":"b_EB4B"},{"a":60215,"t":"code","b":[189,36,4],"m":"lda","oa":1060,"o":"actor_vx_lo,x"},{"a":60218,"t":"code","b":[217,73,230],"m":"cmp","oa":58953,"o":"max_vx_left_lo,y"},{"a":60221,"t":"code","b":[176,12],"m":"bcs","oa":60235,"o":"b_EB4B"},{"a":60223,"l":"b_EB3F","t":"code","b":[185,73,230],"m":"lda","oa":58953,"o":"max_vx_left_lo,y","x":[60211]},{"a":60226,"t":"code","b":[157,36,4],"m":"sta","oa":1060,"o":"actor_vx_lo,x"},{"a":60229,"t":"code","b":[185,85,230],"m":"lda","oa":58965,"o":"max_vx_left_hi,y"},{"a":60232,"t":"code","b":[157,45,4],"m":"sta","oa":1069,"o":"actor_vx_hi,x"},{"a":60235,"l":"b_EB4B","t":"code","b":[32,142,235],"m":"jsr","oa":60302,"o":"actor_move_x","x":[60181,60191,60205,60213,60221]},{"a":60238,"t":"code","b":[165,22],"m":"lda","oa":22,"o":"game_mode"},{"a":60240,"t":"code","b":[240,16],"m":"beq","oa":60258,"o":"b_EB62"},{"a":60242,"t":"code","b":[181,145],"m":"lda","oa":145,"o":"actor_x,x"},{"a":60244,"t":"code","b":[201,16],"m":"cmp","o":"#$10"},{"a":60246,"t":"code","b":[176,2],"m":"bcs","oa":60250,"o":"b_EB5A"},{"a":60248,"t":"code","b":[169,16],"m":"lda","o":"#$10"},{"a":60250,"l":"b_EB5A","t":"code","b":[201,224],"m":"cmp","o":"#$E0","x":[60246]},{"a":60252,"t":"code","b":[144,2],"m":"bcc","oa":60256,"o":"b_EB60"},{"a":60254,"t":"code","b":[169,224],"m":"lda","o":"#$E0"},{"a":60256,"l":"b_EB60","t":"code","b":[149,145],"m":"sta","oa":145,"o":"actor_x,x","x":[60252]},{"a":60258,"l":"b_EB62","t":"code","b":[165,200],"m":"lda","oa":200,"o":"no_enemies","x":[60240]},{"a":60260,"t":"code","b":[240,39],"m":"beq","oa":60301,"o":"r_EB8D"},{"a":60262,"t":"code","b":[181,136],"m":"lda","oa":136,"o":"actor_balloons,x"},{"a":60264,"t":"code","b":[208,35],"m":"bne","oa":60301,"o":"r_EB8D"},{"a":60266,"t":"code","b":[181,154],"m":"lda","oa":154,"o":"actor_y,x"},{"a":60268,"t":"code","b":[201,200],"m":"cmp","o":"#$C8"},{"a":60270,"t":"code","b":[144,29],"m":"bcc","oa":60301,"o":"r_EB8D"},{"a":60272,"t":"code","b":[169,199],"m":"lda","o":"#$C7"},{"a":60274,"t":"code","b":[149,154],"m":"sta","oa":154,"o":"actor_y,x"},{"a":60276,"t":"code","b":[189,81,4],"m":"lda","oa":1105,"o":"actor_type,x"},{"a":60279,"t":"code","b":[201,11],"m":"cmp","o":"#$0B"},{"a":60281,"t":"code","b":[208,9],"m":"bne","oa":60292,"o":"b_EB84"},{"a":60283,"t":"code","b":[222,81,4],"m":"dec","oa":1105,"o":"actor_type,x"},{"a":60286,"t":"code","b":[32,7,241],"m":"jsr","oa":61703,"o":"negate_vy"},{"a":60289,"t":"code","b":[76,140,241],"m":"jmp","oa":61836,"o":"scale_vy_80pct"},{"a":60292,"l":"b_EB84","t":"code","b":[169,2],"m":"lda","o":"#$02","x":[60281]},{"a":60294,"t":"code","b":[149,136],"m":"sta","oa":136,"o":"actor_balloons,x"},{"a":60296,"t":"code","b":[169,3],"m":"lda","o":"#$03"},{"a":60298,"t":"code","b":[157,81,4],"m":"sta","oa":1105,"o":"actor_type,x"},{"a":60301,"l":"r_EB8D","t":"code","b":[96],"m":"rts","x":[60260,60264,60270]},{"a":60302,"l":"actor_move_x","c":"Adds the actor's horizontal velocity to its X, fractional part first.","t":"code","b":[189,0,4],"m":"lda","oa":1024,"o":"actor_x_frac,x","x":[60235,60341,60609]},{"a":60305,"t":"code","b":[24],"m":"clc"},{"a":60306,"t":"code","b":[125,36,4],"m":"adc","oa":1060,"o":"actor_vx_lo,x"},{"a":60309,"t":"code","b":[157,0,4],"m":"sta","oa":1024,"o":"actor_x_frac,x"},{"a":60312,"t":"code","b":[181,145],"m":"lda","oa":145,"o":"actor_x,x"},{"a":60314,"t":"code","b":[125,45,4],"m":"adc","oa":1069,"o":"actor_vx_hi,x"},{"a":60317,"t":"code","b":[149,145],"m":"sta","oa":145,"o":"actor_x,x"},{"a":60319,"t":"code","b":[96],"m":"rts"},{"a":60320,"l":"actor_move_y","c":"Adds the actor's vertical velocity to its Y.","t":"code","b":[189,9,4],"m":"lda","oa":1033,"o":"actor_y_frac,x","x":[60124,60350]},{"a":60323,"t":"code","b":[24],"m":"clc"},{"a":60324,"t":"code","b":[125,18,4],"m":"adc","oa":1042,"o":"actor_vy_lo,x"},{"a":60327,"t":"code","b":[157,9,4],"m":"sta","oa":1033,"o":"actor_y_frac,x"},{"a":60330,"t":"code","b":[181,154],"m":"lda","oa":154,"o":"actor_y,x"},{"a":60332,"t":"code","b":[125,27,4],"m":"adc","oa":1051,"o":"actor_vy_hi,x"},{"a":60335,"t":"code","b":[149,154],"m":"sta","oa":154,"o":"actor_y,x"},{"a":60337,"t":"code","b":[96],"m":"rts"},{"a":60338,"l":"actor_move_x_yreg","c":"actor_move_x for the actor in Y (swaps X and Y round it).","t":"code","b":[32,180,240],"m":"jsr","oa":61620,"o":"swap_xy","x":[52248,52265]},{"a":60341,"t":"code","b":[32,142,235],"m":"jsr","oa":60302,"o":"actor_move_x"},{"a":60344,"t":"code","b":[76,180,240],"m":"jmp","oa":61620,"o":"swap_xy"},{"a":60347,"l":"actor_move_y_yreg","c":"actor_move_y for the actor in Y.","t":"code","b":[32,180,240],"m":"jsr","oa":61620,"o":"swap_xy","x":[52215,52229]},{"a":60350,"t":"code","b":[32,160,235],"m":"jsr","oa":60320,"o":"actor_move_y"},{"a":60353,"t":"code","b":[76,180,240],"m":"jmp","oa":61620,"o":"swap_xy"},{"a":60356,"l":"actor_think","c":"What an actor does next. A player: with no balloons and frame 0 it goes idle; after a balloon-burst action (6 up) it resumes flapping with one balloon fewer; else its controls (actor_controls). A bird: flying with its balloon: actor_controls; with none: idle; on its parachute or the ground: once on the ground its action steps through 2 to 6 every enemy_launch_delay animation steps (pumping up a new balloon), and at 7 it takes off: balloons 2, action 0, its colour one faster from relaunch_types if it had been hit before (else its colour unchanged), with an upward kick of 2 pixels a frame.","t":"code","b":[224,2],"m":"cpx","o":"#$02","x":[59091]},{"a":60358,"t":"code","b":[176,27],"m":"bcs","oa":60387,"o":"b_EBE3"},{"a":60360,"t":"code","b":[181,136],"m":"lda","oa":136,"o":"actor_balloons,x"},{"a":60362,"t":"code","b":[208,10],"m":"bne","oa":60374,"o":"b_EBD6"},{"a":60364,"t":"code","b":[189,54,4],"m":"lda","oa":1078,"o":"actor_frame,x"},{"a":60367,"t":"code","b":[208,5],"m":"bne","oa":60374,"o":"b_EBD6"},{"a":60369,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":60371,"t":"code","b":[149,127],"m":"sta","oa":127,"o":"actor_action,x"},{"a":60373,"t":"code","b":[96],"m":"rts"},{"a":60374,"l":"b_EBD6","t":"code","b":[181,127],"m":"lda","oa":127,"o":"actor_action,x","x":[60362,60367]},{"a":60376,"t":"code","b":[201,6],"m":"cmp","o":"#$06"},{"a":60378,"t":"code","b":[144,92],"m":"bcc","oa":60472,"o":"actor_controls"},{"a":60380,"t":"code","b":[169,1],"m":"lda","o":"#$01"},{"a":60382,"t":"code","b":[149,127],"m":"sta","oa":127,"o":"actor_action,x"},{"a":60384,"t":"code","b":[214,136],"m":"dec","oa":136,"o":"actor_balloons,x"},{"a":60386,"t":"code","b":[96],"m":"rts"},{"a":60387,"l":"b_EBE3","t":"code","b":[181,136],"m":"lda","oa":136,"o":"actor_balloons,x","x":[60358]},{"a":60389,"t":"code","b":[201,2],"m":"cmp","o":"#$02"},{"a":60391,"t":"code","b":[240,79],"m":"beq","oa":60472,"o":"actor_controls"},{"a":60393,"t":"code","b":[189,54,4],"m":"lda","oa":1078,"o":"actor_frame,x"},{"a":60396,"t":"code","b":[208,15],"m":"bne","oa":60413,"o":"r_EBFD"},{"a":60398,"t":"code","b":[181,136],"m":"lda","oa":136,"o":"actor_balloons,x"},{"a":60400,"t":"code","b":[208,5],"m":"bne","oa":60407,"o":"b_EBF7"},{"a":60402,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":60404,"t":"code","b":[149,127],"m":"sta","oa":127,"o":"actor_action,x"},{"a":60406,"t":"code","b":[96],"m":"rts"},{"a":60407,"l":"b_EBF7","t":"code","b":[181,127],"m":"lda","oa":127,"o":"actor_action,x","x":[60400]},{"a":60409,"t":"code","b":[208,3],"m":"bne","oa":60414,"o":"b_EBFE"},{"a":60411,"t":"code","b":[246,127],"m":"inc","oa":127,"o":"actor_action,x"},{"a":60413,"l":"r_EBFD","t":"code","b":[96],"m":"rts","x":[60396,60416]},{"a":60414,"l":"b_EBFE","t":"code","b":[201,2],"m":"cmp","o":"#$02","x":[60409]},{"a":60416,"t":"code","b":[144,251],"m":"bcc","oa":60413,"o":"r_EBFD"},{"a":60418,"t":"code","b":[222,90,4],"m":"dec","oa":1114,"o":"actor_timer,x"},{"a":60421,"t":"code","b":[208,48],"m":"bne","oa":60471,"o":"r_EC37"},{"a":60423,"t":"code","b":[165,199],"m":"lda","oa":199,"o":"enemy_launch_delay"},{"a":60425,"t":"code","b":[157,90,4],"m":"sta","oa":1114,"o":"actor_timer,x"},{"a":60428,"t":"code","b":[246,127],"m":"inc","oa":127,"o":"actor_action,x"},{"a":60430,"t":"code","b":[181,127],"m":"lda","oa":127,"o":"actor_action,x"},{"a":60432,"t":"code","b":[201,7],"m":"cmp","o":"#$07"},{"a":60434,"t":"code","b":[144,35],"m":"bcc","oa":60471,"o":"r_EC37"},{"a":60436,"t":"code","b":[169,2],"m":"lda","o":"#$02"},{"a":60438,"t":"code","b":[149,136],"m":"sta","oa":136,"o":"actor_balloons,x"},{"a":60440,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":60442,"t":"code","b":[149,127],"m":"sta","oa":127,"o":"actor_action,x"},{"a":60444,"t":"code","b":[188,81,4],"m":"ldy","oa":1105,"o":"actor_type,x"},{"a":60447,"t":"code","b":[185,174,236],"m":"lda","oa":60590,"o":"relaunch_types,y"},{"a":60450,"t":"code","b":[188,126,4],"m":"ldy","oa":1150,"o":"actor_was_hit,x"},{"a":60453,"t":"code","b":[208,8],"m":"bne","oa":60463,"o":"b_EC2F"},{"a":60455,"t":"code","b":[222,126,4],"m":"dec","oa":1150,"o":"actor_was_hit,x"},{"a":60458,"t":"code","b":[189,81,4],"m":"lda","oa":1105,"o":"actor_type,x"},{"a":60461,"t":"code","b":[41,3],"m":"and","o":"#$03"},{"a":60463,"l":"b_EC2F","t":"code","b":[157,81,4],"m":"sta","oa":1105,"o":"actor_type,x","x":[60453]},{"a":60466,"t":"code","b":[169,254],"m":"lda","o":"#$FE"},{"a":60468,"t":"code","b":[157,27,4],"m":"sta","oa":1051,"o":"actor_vy_hi,x"},{"a":60471,"l":"r_EC37","t":"code","b":[96],"m":"rts","x":[60421,60434]},{"a":60472,"l":"actor_controls","c":"Applies buttons: steer_actor first; a player who presses A, B, left or right (mask $C3) loses the invulnerability. Bit 6 (B) flaps on every call, bit 7 (A) once per press through flap_latch. A flap is taken from the ground (action 2 up: the actor lifts 2 pixels and its vertical speed is cleared), while flapping (action 1), or idle in the air (action 0) only when the animation frame is 0: so after a flap three more control passes, nine frames, go by before the next is accepted. The flap: action 0, frame 1, the latch set, the flap sound (a player's or a bird's), and flap_strength taken off the vertical velocity.","t":"code","b":[32,233,230],"m":"jsr","oa":59113,"o":"steer_actor","x":[60378,60391]},{"a":60475,"t":"code","b":[181,49],"m":"lda","oa":49,"o":"buttons,x"},{"a":60477,"t":"code","b":[41,195],"m":"and","o":"#$C3"},{"a":60479,"t":"code","b":[240,8],"m":"beq","oa":60489,"o":"b_EC49"},{"a":60481,"t":"code","b":[224,2],"m":"cpx","o":"#$02"},{"a":60483,"t":"code","b":[176,4],"m":"bcs","oa":60489,"o":"b_EC49"},{"a":60485,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":60487,"t":"code","b":[149,189],"m":"sta","oa":189,"o":"invulnerable,x"},{"a":60489,"l":"b_EC49","t":"code","b":[181,49],"m":"lda","oa":49,"o":"buttons,x","x":[60479,60483]},{"a":60491,"t":"code","b":[41,64],"m":"and","o":"#$40"},{"a":60493,"t":"code","b":[208,18],"m":"bne","oa":60513,"o":"b_EC61"},{"a":60495,"t":"code","b":[181,49],"m":"lda","oa":49,"o":"buttons,x"},{"a":60497,"t":"code","b":[41,128],"m":"and","o":"#$80"},{"a":60499,"t":"code","b":[208,7],"m":"bne","oa":60508,"o":"b_EC5C"},{"a":60501,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":60503,"t":"code","b":[157,32,6],"m":"sta","oa":1568,"o":"flap_latch,x"},{"a":60506,"t":"code","b":[240,81],"m":"beq","oa":60589,"o":"r_ECAD"},{"a":60508,"l":"b_EC5C","t":"code","b":[189,32,6],"m":"lda","oa":1568,"o":"flap_latch,x","x":[60499]},{"a":60511,"t":"code","b":[208,76],"m":"bne","oa":60589,"o":"r_ECAD"},{"a":60513,"l":"b_EC61","t":"code","b":[181,127],"m":"lda","oa":127,"o":"actor_action,x","x":[60493]},{"a":60515,"t":"code","b":[201,2],"m":"cmp","o":"#$02"},{"a":60517,"t":"code","b":[144,14],"m":"bcc","oa":60533,"o":"b_EC75"},{"a":60519,"t":"code","b":[214,154],"m":"dec","oa":154,"o":"actor_y,x"},{"a":60521,"t":"code","b":[214,154],"m":"dec","oa":154,"o":"actor_y,x"},{"a":60523,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":60525,"t":"code","b":[157,18,4],"m":"sta","oa":1042,"o":"actor_vy_lo,x"},{"a":60528,"t":"code","b":[157,27,4],"m":"sta","oa":1051,"o":"actor_vy_hi,x"},{"a":60531,"t":"code","b":[240,9],"m":"beq","oa":60542,"o":"b_EC7E"},{"a":60533,"l":"b_EC75","t":"code","b":[201,1],"m":"cmp","o":"#$01","x":[60517]},{"a":60535,"t":"code","b":[240,5],"m":"beq","oa":60542,"o":"b_EC7E"},{"a":60537,"t":"code","b":[189,54,4],"m":"lda","oa":1078,"o":"actor_frame,x"},{"a":60540,"t":"code","b":[208,47],"m":"bne","oa":60589,"o":"r_ECAD"},{"a":60542,"l":"b_EC7E","t":"code","b":[169,0],"m":"lda","o":"#$00","x":[60531,60535]},{"a":60544,"t":"code","b":[149,127],"m":"sta","oa":127,"o":"actor_action,x"},{"a":60546,"t":"code","b":[169,1],"m":"lda","o":"#$01"},{"a":60548,"t":"code","b":[157,54,4],"m":"sta","oa":1078,"o":"actor_frame,x"},{"a":60551,"t":"code","b":[169,1],"m":"lda","o":"#$01"},{"a":60553,"t":"code","b":[157,32,6],"m":"sta","oa":1568,"o":"flap_latch,x"},{"a":60556,"t":"code","b":[160,0],"m":"ldy","o":"#$00"},{"a":60558,"t":"code","b":[224,2],"m":"cpx","o":"#$02"},{"a":60560,"t":"code","b":[144,1],"m":"bcc","oa":60563,"o":"b_EC93"},{"a":60562,"t":"code","b":[200],"m":"iny"},{"a":60563,"l":"b_EC93","t":"code","b":[185,240,0],"m":"lda","oa":240,"o":"sfx_request_a,y","x":[60560]},{"a":60566,"t":"code","b":[9,16],"m":"ora","o":"#$10"},{"a":60568,"t":"code","b":[153,240,0],"m":"sta","oa":240,"o":"sfx_request_a,y"},{"a":60571,"t":"code","b":[189,18,4],"m":"lda","oa":1042,"o":"actor_vy_lo,x"},{"a":60574,"t":"code","b":[56],"m":"sec"},{"a":60575,"t":"code","b":[188,81,4],"m":"ldy","oa":1105,"o":"actor_type,x"},{"a":60578,"t":"code","b":[249,13,230],"m":"sbc","oa":58893,"o":"flap_strength,y"},{"a":60581,"t":"code","b":[157,18,4],"m":"sta","oa":1042,"o":"actor_vy_lo,x"},{"a":60584,"t":"code","b":[176,3],"m":"bcs","oa":60589,"o":"r_ECAD"},{"a":60586,"t":"code","b":[222,27,4],"m":"dec","oa":1051,"o":"actor_vy_hi,x"},{"a":60589,"l":"r_ECAD","t":"code","b":[96],"m":"rts","x":[60506,60511,60540,60584]},{"a":60590,"l":"relaunch_types","c":"The colour a bird takes off with after it has been hit, by its type: pink becomes green (1), green and white become white (2), 3 stays 3.","t":"byte","b":[1,2,2,3,1,2,2,3],"x":[60447]},{"a":60598,"t":"byte","b":[1,2,2,3]},{"a":60602,"l":"actor_bubble_update","c":"The bubble a sunk bird left (actor_balloons $80): drifts with its eased velocity, rises 0.375 pixels a frame and is gone above the top. A player within 24 pixels vertically and 16 horizontally pops it: the burst animation (action $FF, 3 frames), the scroll pause in Balloon Trip, the hit sound, 500 points to that player and the 500 popup.","t":"code","b":[181,127],"m":"lda","oa":127,"o":"actor_action,x","x":[59038]},{"a":60604,"t":"code","b":[208,105],"m":"bne","oa":60711,"o":"r_ED27"},{"a":60606,"t":"code","b":[32,177,231],"m":"jsr","oa":59313,"o":"actor_sway"},{"a":60609,"t":"code","b":[32,142,235],"m":"jsr","oa":60302,"o":"actor_move_x"},{"a":60612,"t":"code","b":[189,9,4],"m":"lda","oa":1033,"o":"actor_y_frac,x"},{"a":60615,"t":"code","b":[56],"m":"sec"},{"a":60616,"t":"code","b":[233,96],"m":"sbc","o":"#$60"},{"a":60618,"t":"code","b":[157,9,4],"m":"sta","oa":1033,"o":"actor_y_frac,x"},{"a":60621,"t":"code","b":[181,154],"m":"lda","oa":154,"o":"actor_y,x"},{"a":60623,"t":"code","b":[233,0],"m":"sbc","o":"#$00"},{"a":60625,"t":"code","b":[149,154],"m":"sta","oa":154,"o":"actor_y,x"},{"a":60627,"t":"code","b":[201,241],"m":"cmp","o":"#$F1"},{"a":60629,"t":"code","b":[144,4],"m":"bcc","oa":60635,"o":"b_ECDB"},{"a":60631,"t":"code","b":[169,255],"m":"lda","o":"#$FF"},{"a":60633,"t":"code","b":[149,136],"m":"sta","oa":136,"o":"actor_balloons,x"},{"a":60635,"l":"b_ECDB","t":"code","b":[138],"m":"txa","x":[60629]},{"a":60636,"t":"code","b":[72],"m":"pha"},{"a":60637,"t":"code","b":[160,1],"m":"ldy","o":"#$01"},{"a":60639,"l":"b_ECDF","t":"code","b":[185,136,0],"m":"lda","oa":136,"o":"actor_balloons,y","x":[60707]},{"a":60642,"t":"code","b":[240,62],"m":"beq","oa":60706,"o":"b_ED22"},{"a":60644,"t":"code","b":[48,60],"m":"bmi","oa":60706,"o":"b_ED22"},{"a":60646,"t":"code","b":[181,154],"m":"lda","oa":154,"o":"actor_y,x"},{"a":60648,"t":"code","b":[56],"m":"sec"},{"a":60649,"t":"code","b":[249,154,0],"m":"sbc","oa":154,"o":"actor_y,y"},{"a":60652,"t":"code","b":[32,142,240],"m":"jsr","oa":61582,"o":"abs"},{"a":60655,"t":"code","b":[201,24],"m":"cmp","o":"#$18"},{"a":60657,"t":"code","b":[176,47],"m":"bcs","oa":60706,"o":"b_ED22"},{"a":60659,"t":"code","b":[181,145],"m":"lda","oa":145,"o":"actor_x,x"},{"a":60661,"t":"code","b":[56],"m":"sec"},{"a":60662,"t":"code","b":[249,145,0],"m":"sbc","oa":145,"o":"actor_x,y"},{"a":60665,"t":"code","b":[32,142,240],"m":"jsr","oa":61582,"o":"abs"},{"a":60668,"t":"code","b":[201,16],"m":"cmp","o":"#$10"},{"a":60670,"t":"code","b":[176,34],"m":"bcs","oa":60706,"o":"b_ED22"},{"a":60672,"t":"code","b":[169,255],"m":"lda","o":"#$FF"},{"a":60674,"t":"code","b":[149,127],"m":"sta","oa":127,"o":"actor_action,x"},{"a":60676,"t":"code","b":[169,3],"m":"lda","o":"#$03"},{"a":60678,"t":"code","b":[157,90,4],"m":"sta","oa":1114,"o":"actor_timer,x"},{"a":60681,"t":"code","b":[169,120],"m":"lda","o":"#$78"},{"a":60683,"t":"code","b":[133,197],"m":"sta","oa":197,"o":"trip_scroll_pause"},{"a":60685,"t":"code","b":[169,2],"m":"lda","o":"#$02"},{"a":60687,"t":"code","b":[133,240],"m":"sta","oa":240,"o":"sfx_request_a"},{"a":60689,"t":"code","b":[169,50],"m":"lda","o":"#$32"},{"a":60691,"t":"code","b":[132,62],"m":"sty","oa":62,"o":"scoring_player"},{"a":60693,"t":"code","b":[32,222,214],"m":"jsr","oa":55006,"o":"add_score"},{"a":60696,"t":"code","b":[169,1],"m":"lda","o":"#$01"},{"a":60698,"t":"code","b":[166,62],"m":"ldx","oa":62,"o":"scoring_player"},{"a":60700,"t":"code","b":[32,113,216],"m":"jsr","oa":55409,"o":"show_popup"},{"a":60703,"t":"code","b":[104],"m":"pla"},{"a":60704,"t":"code","b":[170],"m":"tax"},{"a":60705,"t":"code","b":[96],"m":"rts"},{"a":60706,"l":"b_ED22","t":"code","b":[136],"m":"dey","x":[60642,60644,60657,60670]},{"a":60707,"t":"code","b":[16,186],"m":"bpl","oa":60639,"o":"b_ECDF"},{"a":60709,"t":"code","b":[104],"m":"pla"},{"a":60710,"t":"code","b":[170],"m":"tax"},{"a":60711,"l":"r_ED27","t":"code","b":[96],"m":"rts","x":[60604,60738]},{"a":60712,"l":"actor_platforms","c":"For an actor with balloons: standing on, bumping or hitting the side of a platform. For each platform (from platform_count down): within 3 pixels under the top edge while between the sides (allowing the actor's 16 width and 24 height): lands (Y set to the top, landed_flag); within 3 above the bottom edge while rising: its head hits (Y set, the vertical velocity reversed and reduced to 80 per cent, the bounce sound for a player); the left or right edge while moving into it: the horizontal velocity reversed and reduced, the facing flipped, the bounce sound. An actor past Y $F8 rising wraps to the bottom edge.","t":"code","b":[180,136],"m":"ldy","oa":136,"o":"actor_balloons,x","x":[59100]},{"a":60714,"t":"code","b":[136],"m":"dey"},{"a":60715,"t":"code","b":[16,1],"m":"bpl","oa":60718,"o":"b_ED2E"},{"a":60717,"l":"r_ED2D","t":"code","b":[96],"m":"rts","x":[60727]},{"a":60718,"l":"b_ED2E","t":"code","b":[181,154],"m":"lda","oa":154,"o":"actor_y,x","x":[60715]},{"a":60720,"t":"code","b":[201,249],"m":"cmp","o":"#$F9"},{"a":60722,"t":"code","b":[144,12],"m":"bcc","oa":60736,"o":"b_ED40"},{"a":60724,"t":"code","b":[189,27,4],"m":"lda","oa":1051,"o":"actor_vy_hi,x"},{"a":60727,"t":"code","b":[16,244],"m":"bpl","oa":60717,"o":"r_ED2D"},{"a":60729,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":60731,"t":"code","b":[133,204],"m":"sta","oa":204,"o":"collision_bits"},{"a":60733,"t":"code","b":[76,225,237],"m":"jmp","oa":60897,"o":"j_EDE1"},{"a":60736,"l":"b_ED40","t":"code","b":[164,205],"m":"ldy","oa":205,"o":"platform_count","x":[60722]},{"a":60738,"t":"code","b":[48,227],"m":"bmi","oa":60711,"o":"r_ED27"},{"a":60740,"l":"j_ED44","t":"code","b":[169,0],"m":"lda","o":"#$00","x":[60861]},{"a":60742,"t":"code","b":[133,204],"m":"sta","oa":204,"o":"collision_bits"},{"a":60744,"t":"code","b":[177,39],"m":"lda","oa":39,"o":"(platform_top_ptr),y"},{"a":60746,"t":"code","b":[56],"m":"sec"},{"a":60747,"t":"code","b":[233,24],"m":"sbc","o":"#$18"},{"a":60749,"t":"code","b":[213,154],"m":"cmp","oa":154,"o":"actor_y,x"},{"a":60751,"t":"code","b":[176,101],"m":"bcs","oa":60854,"o":"b_EDB6"},{"a":60753,"t":"code","b":[105,3],"m":"adc","o":"#$03"},{"a":60755,"t":"code","b":[213,154],"m":"cmp","oa":154,"o":"actor_y,x"},{"a":60757,"t":"code","b":[144,4],"m":"bcc","oa":60763,"o":"b_ED5B"},{"a":60759,"t":"code","b":[169,1],"m":"lda","o":"#$01"},{"a":60761,"t":"code","b":[208,14],"m":"bne","oa":60777,"o":"b_ED69"},{"a":60763,"l":"b_ED5B","t":"code","b":[177,41],"m":"lda","oa":41,"o":"(platform_bottom_ptr),y","x":[60757]},{"a":60765,"t":"code","b":[213,154],"m":"cmp","oa":154,"o":"actor_y,x"},{"a":60767,"t":"code","b":[144,85],"m":"bcc","oa":60854,"o":"b_EDB6"},{"a":60769,"t":"code","b":[233,3],"m":"sbc","o":"#$03"},{"a":60771,"t":"code","b":[213,154],"m":"cmp","oa":154,"o":"actor_y,x"},{"a":60773,"t":"code","b":[176,34],"m":"bcs","oa":60809,"o":"b_ED89"},{"a":60775,"t":"code","b":[169,2],"m":"lda","o":"#$02"},{"a":60777,"l":"b_ED69","t":"code","b":[133,204],"m":"sta","oa":204,"o":"collision_bits","x":[60761]},{"a":60779,"t":"code","b":[177,35],"m":"lda","oa":35,"o":"(platform_left_ptr),y"},{"a":60781,"t":"code","b":[201,16],"m":"cmp","o":"#$10"},{"a":60783,"t":"code","b":[240,7],"m":"beq","oa":60792,"o":"b_ED78"},{"a":60785,"t":"code","b":[56],"m":"sec"},{"a":60786,"t":"code","b":[233,12],"m":"sbc","o":"#$0C"},{"a":60788,"t":"code","b":[213,145],"m":"cmp","oa":145,"o":"actor_x,x"},{"a":60790,"t":"code","b":[176,13],"m":"bcs","oa":60805,"o":"b_ED85"},{"a":60792,"l":"b_ED78","t":"code","b":[177,37],"m":"lda","oa":37,"o":"(platform_right_ptr),y","x":[60783]},{"a":60794,"t":"code","b":[201,255],"m":"cmp","o":"#$FF"},{"a":60796,"t":"code","b":[240,11],"m":"beq","oa":60809,"o":"b_ED89"},{"a":60798,"t":"code","b":[56],"m":"sec"},{"a":60799,"t":"code","b":[233,4],"m":"sbc","o":"#$04"},{"a":60801,"t":"code","b":[213,145],"m":"cmp","oa":145,"o":"actor_x,x"},{"a":60803,"t":"code","b":[176,4],"m":"bcs","oa":60809,"o":"b_ED89"},{"a":60805,"l":"b_ED85","t":"code","b":[169,0],"m":"lda","o":"#$00","x":[60790]},{"a":60807,"t":"code","b":[133,204],"m":"sta","oa":204,"o":"collision_bits"},{"a":60809,"l":"b_ED89","t":"code","b":[177,35],"m":"lda","oa":35,"o":"(platform_left_ptr),y","x":[60773,60796,60803]},{"a":60811,"t":"code","b":[56],"m":"sec"},{"a":60812,"t":"code","b":[233,16],"m":"sbc","o":"#$10"},{"a":60814,"t":"code","b":[240,16],"m":"beq","oa":60832,"o":"b_EDA0"},{"a":60816,"t":"code","b":[213,145],"m":"cmp","oa":145,"o":"actor_x,x"},{"a":60818,"t":"code","b":[176,34],"m":"bcs","oa":60854,"o":"b_EDB6"},{"a":60820,"t":"code","b":[105,4],"m":"adc","o":"#$04"},{"a":60822,"t":"code","b":[213,145],"m":"cmp","oa":145,"o":"actor_x,x"},{"a":60824,"t":"code","b":[144,6],"m":"bcc","oa":60832,"o":"b_EDA0"},{"a":60826,"t":"code","b":[165,204],"m":"lda","oa":204,"o":"collision_bits"},{"a":60828,"t":"code","b":[9,4],"m":"ora","o":"#$04"},{"a":60830,"t":"code","b":[208,20],"m":"bne","oa":60852,"o":"b_EDB4"},{"a":60832,"l":"b_EDA0","t":"code","b":[177,37],"m":"lda","oa":37,"o":"(platform_right_ptr),y","x":[60814,60824]},{"a":60834,"t":"code","b":[201,255],"m":"cmp","o":"#$FF"},{"a":60836,"t":"code","b":[240,16],"m":"beq","oa":60854,"o":"b_EDB6"},{"a":60838,"t":"code","b":[213,145],"m":"cmp","oa":145,"o":"actor_x,x"},{"a":60840,"t":"code","b":[144,12],"m":"bcc","oa":60854,"o":"b_EDB6"},{"a":60842,"t":"code","b":[233,4],"m":"sbc","o":"#$04"},{"a":60844,"t":"code","b":[213,145],"m":"cmp","oa":145,"o":"actor_x,x"},{"a":60846,"t":"code","b":[176,6],"m":"bcs","oa":60854,"o":"b_EDB6"},{"a":60848,"t":"code","b":[165,204],"m":"lda","oa":204,"o":"collision_bits"},{"a":60850,"t":"code","b":[9,8],"m":"ora","o":"#$08"},{"a":60852,"l":"b_EDB4","t":"code","b":[133,204],"m":"sta","oa":204,"o":"collision_bits","x":[60830]},{"a":60854,"l":"b_EDB6","t":"code","b":[165,204],"m":"lda","oa":204,"o":"collision_bits","x":[60751,60767,60818,60836,60840,60846]},{"a":60856,"t":"code","b":[208,7],"m":"bne","oa":60865,"o":"b_EDC1"},{"a":60858,"t":"code","b":[136],"m":"dey"},{"a":60859,"t":"code","b":[48,3],"m":"bmi","oa":60864,"o":"r_EDC0"},{"a":60861,"t":"code","b":[76,68,237],"m":"jmp","oa":60740,"o":"j_ED44"},{"a":60864,"l":"r_EDC0","t":"code","b":[96],"m":"rts","x":[60859]},{"a":60865,"l":"b_EDC1","t":"code","b":[70,204],"m":"lsr","oa":204,"o":"collision_bits","x":[60856]},{"a":60867,"t":"code","b":[144,17],"m":"bcc","oa":60886,"o":"b_EDD6"},{"a":60869,"t":"code","b":[189,27,4],"m":"lda","oa":1051,"o":"actor_vy_hi,x"},{"a":60872,"t":"code","b":[48,12],"m":"bmi","oa":60886,"o":"b_EDD6"},{"a":60874,"t":"code","b":[177,39],"m":"lda","oa":39,"o":"(platform_top_ptr),y"},{"a":60876,"t":"code","b":[233,24],"m":"sbc","o":"#$18"},{"a":60878,"t":"code","b":[149,154],"m":"sta","oa":154,"o":"actor_y,x"},{"a":60880,"t":"code","b":[246,154],"m":"inc","oa":154,"o":"actor_y,x"},{"a":60882,"t":"code","b":[169,1],"m":"lda","o":"#$01"},{"a":60884,"t":"code","b":[133,203],"m":"sta","oa":203,"o":"landed_flag"},{"a":60886,"l":"b_EDD6","t":"code","b":[70,204],"m":"lsr","oa":204,"o":"collision_bits","x":[60867,60872]},{"a":60888,"t":"code","b":[144,26],"m":"bcc","oa":60916,"o":"b_EDF4"},{"a":60890,"t":"code","b":[189,27,4],"m":"lda","oa":1051,"o":"actor_vy_hi,x"},{"a":60893,"t":"code","b":[16,21],"m":"bpl","oa":60916,"o":"b_EDF4"},{"a":60895,"t":"code","b":[177,41],"m":"lda","oa":41,"o":"(platform_bottom_ptr),y"},{"a":60897,"l":"j_EDE1","t":"code","b":[149,154],"m":"sta","oa":154,"o":"actor_y,x","x":[60733]},{"a":60899,"t":"code","b":[32,7,241],"m":"jsr","oa":61703,"o":"negate_vy"},{"a":60902,"t":"code","b":[32,140,241],"m":"jsr","oa":61836,"o":"scale_vy_80pct"},{"a":60905,"t":"code","b":[224,2],"m":"cpx","o":"#$02"},{"a":60907,"t":"code","b":[176,3],"m":"bcs","oa":60912,"o":"b_EDF0"},{"a":60909,"t":"code","b":[32,51,204],"m":"jsr","oa":52275,"o":"request_bounce_sound"},{"a":60912,"l":"b_EDF0","t":"code","b":[165,203],"m":"lda","oa":203,"o":"landed_flag","x":[60907]},{"a":60914,"t":"code","b":[208,48],"m":"bne","oa":60964,"o":"r_EE24"},{"a":60916,"l":"b_EDF4","t":"code","b":[70,204],"m":"lsr","oa":204,"o":"collision_bits","x":[60888,60893]},{"a":60918,"t":"code","b":[144,7],"m":"bcc","oa":60927,"o":"b_EDFF"},{"a":60920,"t":"code","b":[189,45,4],"m":"lda","oa":1069,"o":"actor_vx_hi,x"},{"a":60923,"t":"code","b":[48,2],"m":"bmi","oa":60927,"o":"b_EDFF"},{"a":60925,"t":"code","b":[16,9],"m":"bpl","oa":60936,"o":"b_EE08"},{"a":60927,"l":"b_EDFF","t":"code","b":[70,204],"m":"lsr","oa":204,"o":"collision_bits","x":[60918,60923]},{"a":60929,"t":"code","b":[144,33],"m":"bcc","oa":60964,"o":"r_EE24"},{"a":60931,"t":"code","b":[189,45,4],"m":"lda","oa":1069,"o":"actor_vx_hi,x"},{"a":60934,"t":"code","b":[16,28],"m":"bpl","oa":60964,"o":"r_EE24"},{"a":60936,"l":"b_EE08","t":"code","b":[32,222,240],"m":"jsr","oa":61662,"o":"negate_vx","x":[60925]},{"a":60939,"t":"code","b":[32,114,241],"m":"jsr","oa":61810,"o":"scale_vx_80pct"},{"a":60942,"t":"code","b":[189,45,4],"m":"lda","oa":1069,"o":"actor_vx_hi,x"},{"a":60945,"t":"code","b":[29,36,4],"m":"ora","oa":1060,"o":"actor_vx_lo,x"},{"a":60948,"t":"code","b":[240,14],"m":"beq","oa":60964,"o":"r_EE24"},{"a":60950,"t":"code","b":[189,72,4],"m":"lda","oa":1096,"o":"actor_facing,x"},{"a":60953,"t":"code","b":[73,1],"m":"eor","o":"#$01"},{"a":60955,"t":"code","b":[157,72,4],"m":"sta","oa":1096,"o":"actor_facing,x"},{"a":60958,"t":"code","b":[165,241],"m":"lda","oa":241,"o":"sfx_request_b"},{"a":60960,"t":"code","b":[9,2],"m":"ora","o":"#$02"},{"a":60962,"t":"code","b":[133,241],"m":"sta","oa":241,"o":"sfx_request_b"},{"a":60964,"l":"r_EE24","t":"code","b":[96],"m":"rts","x":[60914,60929,60934,60948]},{"a":60965,"l":"actors_collide","c":"Every pair of actors alive with balloons (X from 7 down, Y below X): when their 16 by 24 boxes overlap, which edges met (collision_bits: top, bottom, left, right, each within 4 pixels), then for a top or bottom meeting the vertical velocities are reversed and scaled, for a side meeting the horizontal ones (both_birds_flying leaves two birds in flight to pass), and resolve_hit is run both ways round.","t":"code","b":[162,7],"m":"ldx","o":"#$07","x":[59025]},{"a":60967,"l":"j_EE27","t":"code","b":[134,18],"m":"stx","oa":18,"o":"tmp12","x":[61235]},{"a":60969,"t":"code","b":[164,18],"m":"ldy","oa":18,"o":"tmp12"},{"a":60971,"t":"code","b":[136],"m":"dey"},{"a":60972,"t":"code","b":[16,3],"m":"bpl","oa":60977,"o":"b_EE31"},{"a":60974,"l":"b_EE2E","t":"code","b":[76,42,239],"m":"jmp","oa":61226,"o":"j_EF2A","x":[60979,60981,60986,60988]},{"a":60977,"l":"b_EE31","t":"code","b":[181,136],"m":"lda","oa":136,"o":"actor_balloons,x","x":[60972,61229]},{"a":60979,"t":"code","b":[48,249],"m":"bmi","oa":60974,"o":"b_EE2E"},{"a":60981,"t":"code","b":[240,247],"m":"beq","oa":60974,"o":"b_EE2E"},{"a":60983,"t":"code","b":[185,136,0],"m":"lda","oa":136,"o":"actor_balloons,y"},{"a":60986,"t":"code","b":[48,242],"m":"bmi","oa":60974,"o":"b_EE2E"},{"a":60988,"t":"code","b":[240,240],"m":"beq","oa":60974,"o":"b_EE2E"},{"a":60990,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":60992,"t":"code","b":[133,204],"m":"sta","oa":204,"o":"collision_bits"},{"a":60994,"t":"code","b":[185,154,0],"m":"lda","oa":154,"o":"actor_y,y"},{"a":60997,"t":"code","b":[56],"m":"sec"},{"a":60998,"t":"code","b":[245,154],"m":"sbc","oa":154,"o":"actor_y,x"},{"a":61000,"t":"code","b":[32,142,240],"m":"jsr","oa":61582,"o":"abs"},{"a":61003,"t":"code","b":[201,24],"m":"cmp","o":"#$18"},{"a":61005,"t":"code","b":[176,113],"m":"bcs","oa":61120,"o":"b_EEC0"},{"a":61007,"t":"code","b":[181,154],"m":"lda","oa":154,"o":"actor_y,x"},{"a":61009,"t":"code","b":[24],"m":"clc"},{"a":61010,"t":"code","b":[105,24],"m":"adc","o":"#$18"},{"a":61012,"t":"code","b":[133,18],"m":"sta","oa":18,"o":"tmp12"},{"a":61014,"t":"code","b":[185,154,0],"m":"lda","oa":154,"o":"actor_y,y"},{"a":61017,"t":"code","b":[24],"m":"clc"},{"a":61018,"t":"code","b":[105,7],"m":"adc","o":"#$07"},{"a":61020,"t":"code","b":[56],"m":"sec"},{"a":61021,"t":"code","b":[229,18],"m":"sbc","oa":18,"o":"tmp12"},{"a":61023,"t":"code","b":[32,142,240],"m":"jsr","oa":61582,"o":"abs"},{"a":61026,"t":"code","b":[201,4],"m":"cmp","o":"#$04"},{"a":61028,"t":"code","b":[176,4],"m":"bcs","oa":61034,"o":"b_EE6A"},{"a":61030,"t":"code","b":[169,1],"m":"lda","o":"#$01"},{"a":61032,"t":"code","b":[208,18],"m":"bne","oa":61052,"o":"b_EE7C"},{"a":61034,"l":"b_EE6A","t":"code","b":[185,154,0],"m":"lda","oa":154,"o":"actor_y,y","x":[61028]},{"a":61037,"t":"code","b":[24],"m":"clc"},{"a":61038,"t":"code","b":[105,17],"m":"adc","o":"#$11"},{"a":61040,"t":"code","b":[56],"m":"sec"},{"a":61041,"t":"code","b":[245,154],"m":"sbc","oa":154,"o":"actor_y,x"},{"a":61043,"t":"code","b":[32,142,240],"m":"jsr","oa":61582,"o":"abs"},{"a":61046,"t":"code","b":[201,4],"m":"cmp","o":"#$04"},{"a":61048,"t":"code","b":[176,21],"m":"bcs","oa":61071,"o":"b_EE8F"},{"a":61050,"t":"code","b":[169,2],"m":"lda","o":"#$02"},{"a":61052,"l":"b_EE7C","t":"code","b":[133,204],"m":"sta","oa":204,"o":"collision_bits","x":[61032]},{"a":61054,"t":"code","b":[185,145,0],"m":"lda","oa":145,"o":"actor_x,y"},{"a":61057,"t":"code","b":[56],"m":"sec"},{"a":61058,"t":"code","b":[245,145],"m":"sbc","oa":145,"o":"actor_x,x"},{"a":61060,"t":"code","b":[32,142,240],"m":"jsr","oa":61582,"o":"abs"},{"a":61063,"t":"code","b":[201,16],"m":"cmp","o":"#$10"},{"a":61065,"t":"code","b":[144,4],"m":"bcc","oa":61071,"o":"b_EE8F"},{"a":61067,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":61069,"t":"code","b":[133,204],"m":"sta","oa":204,"o":"collision_bits"},{"a":61071,"l":"b_EE8F","t":"code","b":[181,145],"m":"lda","oa":145,"o":"actor_x,x","x":[61048,61065]},{"a":61073,"t":"code","b":[24],"m":"clc"},{"a":61074,"t":"code","b":[105,16],"m":"adc","o":"#$10"},{"a":61076,"t":"code","b":[133,18],"m":"sta","oa":18,"o":"tmp12"},{"a":61078,"t":"code","b":[185,145,0],"m":"lda","oa":145,"o":"actor_x,y"},{"a":61081,"t":"code","b":[24],"m":"clc"},{"a":61082,"t":"code","b":[105,7],"m":"adc","o":"#$07"},{"a":61084,"t":"code","b":[56],"m":"sec"},{"a":61085,"t":"code","b":[229,18],"m":"sbc","oa":18,"o":"tmp12"},{"a":61087,"t":"code","b":[32,142,240],"m":"jsr","oa":61582,"o":"abs"},{"a":61090,"t":"code","b":[201,4],"m":"cmp","o":"#$04"},{"a":61092,"t":"code","b":[176,4],"m":"bcs","oa":61098,"o":"b_EEAA"},{"a":61094,"t":"code","b":[169,4],"m":"lda","o":"#$04"},{"a":61096,"t":"code","b":[208,18],"m":"bne","oa":61116,"o":"b_EEBC"},{"a":61098,"l":"b_EEAA","t":"code","b":[185,145,0],"m":"lda","oa":145,"o":"actor_x,y","x":[61092]},{"a":61101,"t":"code","b":[24],"m":"clc"},{"a":61102,"t":"code","b":[105,9],"m":"adc","o":"#$09"},{"a":61104,"t":"code","b":[56],"m":"sec"},{"a":61105,"t":"code","b":[245,145],"m":"sbc","oa":145,"o":"actor_x,x"},{"a":61107,"t":"code","b":[32,142,240],"m":"jsr","oa":61582,"o":"abs"},{"a":61110,"t":"code","b":[201,4],"m":"cmp","o":"#$04"},{"a":61112,"t":"code","b":[176,6],"m":"bcs","oa":61120,"o":"b_EEC0"},{"a":61114,"t":"code","b":[169,8],"m":"lda","o":"#$08"},{"a":61116,"l":"b_EEBC","t":"code","b":[5,204],"m":"ora","oa":204,"o":"collision_bits","x":[61096]},{"a":61118,"t":"code","b":[133,204],"m":"sta","oa":204,"o":"collision_bits"},{"a":61120,"l":"b_EEC0","t":"code","b":[169,0],"m":"lda","o":"#$00","x":[61005,61112]},{"a":61122,"t":"code","b":[133,75],"m":"sta","oa":75,"o":"collision_flag"},{"a":61124,"t":"code","b":[70,204],"m":"lsr","oa":204,"o":"collision_bits"},{"a":61126,"t":"code","b":[144,5],"m":"bcc","oa":61133,"o":"b_EECD"},{"a":61128,"t":"code","b":[32,166,240],"m":"jsr","oa":61606,"o":"vy_diff"},{"a":61131,"t":"code","b":[48,9],"m":"bmi","oa":61142,"o":"b_EED6"},{"a":61133,"l":"b_EECD","t":"code","b":[70,204],"m":"lsr","oa":204,"o":"collision_bits","x":[61126]},{"a":61135,"t":"code","b":[144,32],"m":"bcc","oa":61169,"o":"b_EEF1"},{"a":61137,"t":"code","b":[32,166,240],"m":"jsr","oa":61606,"o":"vy_diff"},{"a":61140,"t":"code","b":[48,27],"m":"bmi","oa":61169,"o":"b_EEF1"},{"a":61142,"l":"b_EED6","t":"code","b":[32,189,240],"m":"jsr","oa":61629,"o":"both_birds_flying","x":[61131]},{"a":61145,"t":"code","b":[176,18],"m":"bcs","oa":61165,"o":"b_EEED"},{"a":61147,"t":"code","b":[32,7,241],"m":"jsr","oa":61703,"o":"negate_vy"},{"a":61150,"t":"code","b":[32,140,241],"m":"jsr","oa":61836,"o":"scale_vy_80pct"},{"a":61153,"t":"code","b":[32,180,240],"m":"jsr","oa":61620,"o":"swap_xy"},{"a":61156,"t":"code","b":[32,7,241],"m":"jsr","oa":61703,"o":"negate_vy"},{"a":61159,"t":"code","b":[32,140,241],"m":"jsr","oa":61836,"o":"scale_vy_80pct"},{"a":61162,"t":"code","b":[32,180,240],"m":"jsr","oa":61620,"o":"swap_xy"},{"a":61165,"l":"b_EEED","t":"code","b":[169,1],"m":"lda","o":"#$01","x":[61145]},{"a":61167,"t":"code","b":[133,75],"m":"sta","oa":75,"o":"collision_flag"},{"a":61169,"l":"b_EEF1","t":"code","b":[70,204],"m":"lsr","oa":204,"o":"collision_bits","x":[61135,61140]},{"a":61171,"t":"code","b":[144,5],"m":"bcc","oa":61178,"o":"b_EEFA"},{"a":61173,"t":"code","b":[32,152,240],"m":"jsr","oa":61592,"o":"vx_diff"},{"a":61176,"t":"code","b":[48,9],"m":"bmi","oa":61187,"o":"b_EF03"},{"a":61178,"l":"b_EEFA","t":"code","b":[70,204],"m":"lsr","oa":204,"o":"collision_bits","x":[61171]},{"a":61180,"t":"code","b":[144,32],"m":"bcc","oa":61214,"o":"b_EF1E"},{"a":61182,"t":"code","b":[32,152,240],"m":"jsr","oa":61592,"o":"vx_diff"},{"a":61185,"t":"code","b":[48,27],"m":"bmi","oa":61214,"o":"b_EF1E"},{"a":61187,"l":"b_EF03","t":"code","b":[32,189,240],"m":"jsr","oa":61629,"o":"both_birds_flying","x":[61176]},{"a":61190,"t":"code","b":[176,18],"m":"bcs","oa":61210,"o":"b_EF1A"},{"a":61192,"t":"code","b":[32,222,240],"m":"jsr","oa":61662,"o":"negate_vx"},{"a":61195,"t":"code","b":[32,114,241],"m":"jsr","oa":61810,"o":"scale_vx_80pct"},{"a":61198,"t":"code","b":[32,180,240],"m":"jsr","oa":61620,"o":"swap_xy"},{"a":61201,"t":"code","b":[32,222,240],"m":"jsr","oa":61662,"o":"negate_vx"},{"a":61204,"t":"code","b":[32,114,241],"m":"jsr","oa":61810,"o":"scale_vx_80pct"},{"a":61207,"t":"code","b":[32,180,240],"m":"jsr","oa":61620,"o":"swap_xy"},{"a":61210,"l":"b_EF1A","t":"code","b":[169,1],"m":"lda","o":"#$01","x":[61190]},{"a":61212,"t":"code","b":[133,75],"m":"sta","oa":75,"o":"collision_flag"},{"a":61214,"l":"b_EF1E","t":"code","b":[32,55,239],"m":"jsr","oa":61239,"o":"resolve_hit","x":[61180,61185]},{"a":61217,"t":"code","b":[32,180,240],"m":"jsr","oa":61620,"o":"swap_xy"},{"a":61220,"t":"code","b":[32,55,239],"m":"jsr","oa":61239,"o":"resolve_hit"},{"a":61223,"t":"code","b":[32,180,240],"m":"jsr","oa":61620,"o":"swap_xy"},{"a":61226,"l":"j_EF2A","t":"code","b":[136],"m":"dey","x":[60974]},{"a":61227,"t":"code","b":[48,3],"m":"bmi","oa":61232,"o":"b_EF30"},{"a":61229,"t":"code","b":[76,49,238],"m":"jmp","oa":60977,"o":"b_EE31"},{"a":61232,"l":"b_EF30","t":"code","b":[202],"m":"dex","x":[61227]},{"a":61233,"t":"code","b":[48,3],"m":"bmi","oa":61238,"o":"r_EF36"},{"a":61235,"t":"code","b":[76,39,238],"m":"jmp","oa":60967,"o":"j_EE27"},{"a":61238,"l":"r_EF36","t":"code","b":[96],"m":"rts","x":[61233]},{"a":61239,"l":"resolve_hit","c":"Who loses a balloon when actor X and actor Y touch: the one lower down (X) unless Y is 4 pixels higher is not enough; two birds never hurt each other; a cooldown of 20 frames follows a hit; an invulnerable player is not hit; a bird on its parachute, still in the air (action under 2), that is touched counts as a parachute hit (kicked_flag). A bird only hits with its balloon. A hit: the hit sound; a player with two balloons starts the burst animation (player_burst_actions); otherwise one balloon fewer, and with none left a small upward kick, the horizontal velocity cleared and a drift set away; the victim's type steps on (hit_next_type) and actor_was_hit is set. When the one on top is a player, the score: a parachute torn or a bird falling plays its tune; the points from hit_scores or hit_scores_kicked by the victim's new type, the popup from hit_popups; and a player left with no balloons makes the pop sound.","t":"code","b":[224,2],"m":"cpx","o":"#$02","x":[61214,61220]},{"a":61241,"t":"code","b":[144,7],"m":"bcc","oa":61250,"o":"b_EF42"},{"a":61243,"t":"code","b":[192,2],"m":"cpy","o":"#$02"},{"a":61245,"t":"code","b":[144,3],"m":"bcc","oa":61250,"o":"b_EF42"},{"a":61247,"t":"code","b":[76,67,240],"m":"jmp","oa":61507,"o":"j_F043"},{"a":61250,"l":"b_EF42","t":"code","b":[169,0],"m":"lda","o":"#$00","x":[61241,61245]},{"a":61252,"t":"code","b":[141,135,4],"m":"sta","oa":1159,"o":"kicked_flag"},{"a":61255,"t":"code","b":[189,117,4],"m":"lda","oa":1141,"o":"actor_hit_cooldown,x"},{"a":61258,"t":"code","b":[240,3],"m":"beq","oa":61263,"o":"b_EF4F"},{"a":61260,"t":"code","b":[76,67,240],"m":"jmp","oa":61507,"o":"j_F043"},{"a":61263,"l":"b_EF4F","t":"code","b":[165,75],"m":"lda","oa":75,"o":"collision_flag","x":[61258]},{"a":61265,"t":"code","b":[208,3],"m":"bne","oa":61270,"o":"b_EF56"},{"a":61267,"t":"code","b":[76,67,240],"m":"jmp","oa":61507,"o":"j_F043"},{"a":61270,"l":"b_EF56","t":"code","b":[224,2],"m":"cpx","o":"#$02","x":[61265]},{"a":61272,"t":"code","b":[176,7],"m":"bcs","oa":61281,"o":"b_EF61"},{"a":61274,"t":"code","b":[181,189],"m":"lda","oa":189,"o":"invulnerable,x"},{"a":61276,"t":"code","b":[240,20],"m":"beq","oa":61298,"o":"b_EF72"},{"a":61278,"t":"code","b":[76,67,240],"m":"jmp","oa":61507,"o":"j_F043"},{"a":61281,"l":"b_EF61","t":"code","b":[181,136],"m":"lda","oa":136,"o":"actor_balloons,x","x":[61272]},{"a":61283,"t":"code","b":[201,1],"m":"cmp","o":"#$01"},{"a":61285,"t":"code","b":[208,11],"m":"bne","oa":61298,"o":"b_EF72"},{"a":61287,"t":"code","b":[181,127],"m":"lda","oa":127,"o":"actor_action,x"},{"a":61289,"t":"code","b":[201,2],"m":"cmp","o":"#$02"},{"a":61291,"t":"code","b":[176,18],"m":"bcs","oa":61311,"o":"b_EF7F"},{"a":61293,"t":"code","b":[169,1],"m":"lda","o":"#$01"},{"a":61295,"t":"code","b":[141,135,4],"m":"sta","oa":1159,"o":"kicked_flag"},{"a":61298,"l":"b_EF72","t":"code","b":[185,154,0],"m":"lda","oa":154,"o":"actor_y,y","x":[61276,61285]},{"a":61301,"t":"code","b":[24],"m":"clc"},{"a":61302,"t":"code","b":[105,4],"m":"adc","o":"#$04"},{"a":61304,"t":"code","b":[213,154],"m":"cmp","oa":154,"o":"actor_y,x"},{"a":61306,"t":"code","b":[144,3],"m":"bcc","oa":61311,"o":"b_EF7F"},{"a":61308,"t":"code","b":[76,67,240],"m":"jmp","oa":61507,"o":"j_F043"},{"a":61311,"l":"b_EF7F","t":"code","b":[169,20],"m":"lda","o":"#$14","x":[61291,61306]},{"a":61313,"t":"code","b":[157,117,4],"m":"sta","oa":1141,"o":"actor_hit_cooldown,x"},{"a":61316,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":61318,"t":"code","b":[157,54,4],"m":"sta","oa":1078,"o":"actor_frame,x"},{"a":61321,"t":"code","b":[192,2],"m":"cpy","o":"#$02"},{"a":61323,"t":"code","b":[144,10],"m":"bcc","oa":61335,"o":"b_EF97"},{"a":61325,"t":"code","b":[185,136,0],"m":"lda","oa":136,"o":"actor_balloons,y"},{"a":61328,"t":"code","b":[201,2],"m":"cmp","o":"#$02"},{"a":61330,"t":"code","b":[240,3],"m":"beq","oa":61335,"o":"b_EF97"},{"a":61332,"t":"code","b":[76,67,240],"m":"jmp","oa":61507,"o":"j_F043"},{"a":61335,"l":"b_EF97","t":"code","b":[165,240],"m":"lda","oa":240,"o":"sfx_request_a","x":[61323,61330]},{"a":61337,"t":"code","b":[9,2],"m":"ora","o":"#$02"},{"a":61339,"t":"code","b":[133,240],"m":"sta","oa":240,"o":"sfx_request_a"},{"a":61341,"t":"code","b":[181,136],"m":"lda","oa":136,"o":"actor_balloons,x"},{"a":61343,"t":"code","b":[201,2],"m":"cmp","o":"#$02"},{"a":61345,"t":"code","b":[208,29],"m":"bne","oa":61376,"o":"b_EFC0"},{"a":61347,"t":"code","b":[224,2],"m":"cpx","o":"#$02"},{"a":61349,"t":"code","b":[176,25],"m":"bcs","oa":61376,"o":"b_EFC0"},{"a":61351,"t":"code","b":[132,18],"m":"sty","oa":18,"o":"tmp12"},{"a":61353,"t":"code","b":[180,127],"m":"ldy","oa":127,"o":"actor_action,x"},{"a":61355,"t":"code","b":[185,83,240],"m":"lda","oa":61523,"o":"player_burst_actions,y"},{"a":61358,"t":"code","b":[164,18],"m":"ldy","oa":18,"o":"tmp12"},{"a":61360,"t":"code","b":[72],"m":"pha"},{"a":61361,"t":"code","b":[104],"m":"pla"},{"a":61362,"t":"code","b":[208,3],"m":"bne","oa":61367,"o":"b_EFB7"},{"a":61364,"t":"code","b":[76,67,240],"m":"jmp","oa":61507,"o":"j_F043"},{"a":61367,"l":"b_EFB7","t":"code","b":[149,127],"m":"sta","oa":127,"o":"actor_action,x","x":[61362]},{"a":61369,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":61371,"t":"code","b":[157,54,4],"m":"sta","oa":1078,"o":"actor_frame,x"},{"a":61374,"t":"code","b":[240,42],"m":"beq","oa":61418,"o":"b_EFEA"},{"a":61376,"l":"b_EFC0","t":"code","b":[214,136],"m":"dec","oa":136,"o":"actor_balloons,x","x":[61345,61349]},{"a":61378,"t":"code","b":[208,10],"m":"bne","oa":61390,"o":"b_EFCE"},{"a":61380,"t":"code","b":[169,255],"m":"lda","o":"#$FF"},{"a":61382,"t":"code","b":[157,27,4],"m":"sta","oa":1051,"o":"actor_vy_hi,x"},{"a":61385,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":61387,"t":"code","b":[157,18,4],"m":"sta","oa":1042,"o":"actor_vy_lo,x"},{"a":61390,"l":"b_EFCE","t":"code","b":[169,0],"m":"lda","o":"#$00","x":[61378]},{"a":61392,"t":"code","b":[149,127],"m":"sta","oa":127,"o":"actor_action,x"},{"a":61394,"t":"code","b":[157,36,4],"m":"sta","oa":1060,"o":"actor_vx_lo,x"},{"a":61397,"t":"code","b":[157,45,4],"m":"sta","oa":1069,"o":"actor_vx_hi,x"},{"a":61400,"t":"code","b":[181,145],"m":"lda","oa":145,"o":"actor_x,x"},{"a":61402,"t":"code","b":[48,4],"m":"bmi","oa":61408,"o":"b_EFE0"},{"a":61404,"t":"code","b":[169,255],"m":"lda","o":"#$FF"},{"a":61406,"t":"code","b":[208,2],"m":"bne","oa":61410,"o":"b_EFE2"},{"a":61408,"l":"b_EFE0","t":"code","b":[169,0],"m":"lda","o":"#$00","x":[61402]},{"a":61410,"l":"b_EFE2","t":"code","b":[157,108,4],"m":"sta","oa":1132,"o":"actor_vx_target_hi,x","x":[61406]},{"a":61413,"t":"code","b":[169,128],"m":"lda","o":"#$80"},{"a":61415,"t":"code","b":[157,99,4],"m":"sta","oa":1123,"o":"actor_vx_target_lo,x"},{"a":61418,"l":"b_EFEA","t":"code","b":[132,18],"m":"sty","oa":18,"o":"tmp12","x":[61374]},{"a":61420,"t":"code","b":[188,81,4],"m":"ldy","oa":1105,"o":"actor_type,x"},{"a":61423,"t":"code","b":[185,94,240],"m":"lda","oa":61534,"o":"hit_next_type,y"},{"a":61426,"t":"code","b":[157,81,4],"m":"sta","oa":1105,"o":"actor_type,x"},{"a":61429,"t":"code","b":[169,1],"m":"lda","o":"#$01"},{"a":61431,"t":"code","b":[157,126,4],"m":"sta","oa":1150,"o":"actor_was_hit,x"},{"a":61434,"t":"code","b":[164,18],"m":"ldy","oa":18,"o":"tmp12"},{"a":61436,"t":"code","b":[192,2],"m":"cpy","o":"#$02"},{"a":61438,"t":"code","b":[176,67],"m":"bcs","oa":61507,"o":"j_F043"},{"a":61440,"t":"code","b":[189,81,4],"m":"lda","oa":1105,"o":"actor_type,x"},{"a":61443,"t":"code","b":[201,7],"m":"cmp","o":"#$07"},{"a":61445,"t":"code","b":[240,10],"m":"beq","oa":61457,"o":"b_F011"},{"a":61447,"t":"code","b":[201,8],"m":"cmp","o":"#$08"},{"a":61449,"t":"code","b":[144,6],"m":"bcc","oa":61457,"o":"b_F011"},{"a":61451,"t":"code","b":[165,241],"m":"lda","oa":241,"o":"sfx_request_b"},{"a":61453,"t":"code","b":[9,128],"m":"ora","o":"#$80"},{"a":61455,"t":"code","b":[133,241],"m":"sta","oa":241,"o":"sfx_request_b"},{"a":61457,"l":"b_F011","t":"code","b":[188,81,4],"m":"ldy","oa":1105,"o":"actor_type,x","x":[61445,61449]},{"a":61460,"t":"code","b":[185,106,240],"m":"lda","oa":61546,"o":"hit_scores,y"},{"a":61463,"t":"code","b":[133,19],"m":"sta","oa":19,"o":"tmp13"},{"a":61465,"t":"code","b":[173,135,4],"m":"lda","oa":1159,"o":"kicked_flag"},{"a":61468,"t":"code","b":[240,5],"m":"beq","oa":61475,"o":"b_F023"},{"a":61470,"t":"code","b":[185,118,240],"m":"lda","oa":61558,"o":"hit_scores_kicked,y"},{"a":61473,"t":"code","b":[133,19],"m":"sta","oa":19,"o":"tmp13"},{"a":61475,"l":"b_F023","t":"code","b":[185,130,240],"m":"lda","oa":61570,"o":"hit_popups,y","x":[61468]},{"a":61478,"t":"code","b":[24],"m":"clc"},{"a":61479,"t":"code","b":[109,135,4],"m":"adc","oa":1159,"o":"kicked_flag"},{"a":61482,"t":"code","b":[133,20],"m":"sta","oa":20,"o":"tmp14"},{"a":61484,"t":"code","b":[165,18],"m":"lda","oa":18,"o":"tmp12"},{"a":61486,"t":"code","b":[133,62],"m":"sta","oa":62,"o":"scoring_player"},{"a":61488,"t":"code","b":[72],"m":"pha"},{"a":61489,"t":"code","b":[138],"m":"txa"},{"a":61490,"t":"code","b":[72],"m":"pha"},{"a":61491,"t":"code","b":[165,19],"m":"lda","oa":19,"o":"tmp13"},{"a":61493,"t":"code","b":[72],"m":"pha"},{"a":61494,"t":"code","b":[165,20],"m":"lda","oa":20,"o":"tmp14"},{"a":61496,"t":"code","b":[32,113,216],"m":"jsr","oa":55409,"o":"show_popup"},{"a":61499,"t":"code","b":[104],"m":"pla"},{"a":61500,"t":"code","b":[32,222,214],"m":"jsr","oa":55006,"o":"add_score"},{"a":61503,"t":"code","b":[104],"m":"pla"},{"a":61504,"t":"code","b":[170],"m":"tax"},{"a":61505,"t":"code","b":[104],"m":"pla"},{"a":61506,"t":"code","b":[168],"m":"tay"},{"a":61507,"l":"j_F043","t":"code","b":[189,81,4],"m":"lda","oa":1105,"o":"actor_type,x","x":[61247,61260,61267,61278,61308,61332,61364,61438]},{"a":61510,"t":"code","b":[201,11],"m":"cmp","o":"#$0B"},{"a":61512,"t":"code","b":[208,8],"m":"bne","oa":61522,"o":"r_F052"},{"a":61514,"t":"code","b":[165,200],"m":"lda","oa":200,"o":"no_enemies"},{"a":61516,"t":"code","b":[208,4],"m":"bne","oa":61522,"o":"r_F052"},{"a":61518,"t":"code","b":[169,32],"m":"lda","o":"#$20"},{"a":61520,"t":"code","b":[133,240],"m":"sta","oa":240,"o":"sfx_request_a"},{"a":61522,"l":"r_F052","t":"code","b":[96],"m":"rts","x":[61512,61516]},{"a":61523,"l":"player_burst_actions","c":"The action a player with two balloons goes to when hit, by its current action: 6, 6, 7, 8, 9, 10 (the burst animations).","t":"byte","b":[6,6,7,8,9,10,0,0],"x":[61355]},{"a":61531,"t":"byte","b":[0,0,0]},{"a":61534,"l":"hit_next_type","c":"An actor's type after a hit: with the balloon (0 to 3) to the parachute (4 to 7), the parachute to falling (8 to 11), falling stays.","t":"byte","b":[4,5,6,7,8,9,10,11],"x":[61423]},{"a":61542,"t":"byte","b":[8,9,10,11]},{"a":61546,"l":"hit_scores","c":"Points in tens for a hit, by the victim's new type: the balloon popped 500, 750, 1000 (pink, green, white), the other player's 1000; a bird kicked off the ground 750, 1000, 1500, a player 1000.","t":"byte","b":[0,0,0,0,50,75,100,100],"x":[61460]},{"a":61554,"t":"byte","b":[75,100,150,100]},{"a":61558,"l":"hit_scores_kicked","c":"Points when the victim was on its parachute in the air: 1000, 1500, 2000 for pink, green, white; a player 1000.","t":"byte","b":[0,0,0,0,50,75,100,100],"x":[61470]},{"a":61566,"t":"byte","b":[100,150,200,100]},{"a":61570,"l":"hit_popups","c":"The popup kind for each new type (one more when the parachute was torn): 1 (500), 2 (750), 3 (1000), 3; 2, 3, 4 (1500), 3.","t":"byte","b":[0,0,0,0,1,2,3,3],"x":[61475]},{"a":61578,"t":"byte","b":[2,3,4,3]},{"a":61582,"l":"abs","c":"A becomes its absolute value.","t":"code","b":[72],"m":"pha","x":[52017,52034,52173,52192,52349,52364,52967,52981,59795,60652,60665,61000,61023,61043,61060,61087,61107]},{"a":61583,"t":"code","b":[104],"m":"pla"},{"a":61584,"t":"code","b":[16,5],"m":"bpl","oa":61591,"o":"r_F097"},{"a":61586,"t":"code","b":[73,255],"m":"eor","o":"#$FF"},{"a":61588,"t":"code","b":[24],"m":"clc"},{"a":61589,"t":"code","b":[105,1],"m":"adc","o":"#$01"},{"a":61591,"l":"r_F097","t":"code","b":[96],"m":"rts","x":[61584]},{"a":61592,"l":"vx_diff","c":"Carry from actor Y's horizontal velocity minus actor X's (which is faster).","t":"code","b":[185,36,4],"m":"lda","oa":1060,"o":"actor_vx_lo,y","x":[61173,61182]},{"a":61595,"t":"code","b":[56],"m":"sec"},{"a":61596,"t":"code","b":[253,36,4],"m":"sbc","oa":1060,"o":"actor_vx_lo,x"},{"a":61599,"t":"code","b":[185,45,4],"m":"lda","oa":1069,"o":"actor_vx_hi,y"},{"a":61602,"t":"code","b":[253,45,4],"m":"sbc","oa":1069,"o":"actor_vx_hi,x"},{"a":61605,"t":"code","b":[96],"m":"rts"},{"a":61606,"l":"vy_diff","c":"Carry from actor Y's vertical velocity minus actor X's.","t":"code","b":[185,18,4],"m":"lda","oa":1042,"o":"actor_vy_lo,y","x":[61128,61137]},{"a":61609,"t":"code","b":[56],"m":"sec"},{"a":61610,"t":"code","b":[253,18,4],"m":"sbc","oa":1042,"o":"actor_vy_lo,x"},{"a":61613,"t":"code","b":[185,27,4],"m":"lda","oa":1051,"o":"actor_vy_hi,y"},{"a":61616,"t":"code","b":[253,27,4],"m":"sbc","oa":1051,"o":"actor_vy_hi,x"},{"a":61619,"t":"code","b":[96],"m":"rts"},{"a":61620,"l":"swap_xy","c":"Exchanges X and Y.","t":"code","b":[134,18],"m":"stx","oa":18,"o":"tmp12","x":[60338,60344,60347,60353,61153,61162,61198,61207,61217,61223]},{"a":61622,"t":"code","b":[132,19],"m":"sty","oa":19,"o":"tmp13"},{"a":61624,"t":"code","b":[166,19],"m":"ldx","oa":19,"o":"tmp13"},{"a":61626,"t":"code","b":[164,18],"m":"ldy","oa":18,"o":"tmp12"},{"a":61628,"t":"code","b":[96],"m":"rts"},{"a":61629,"l":"both_birds_flying","c":"Carry set when both actors X and Y are birds flying with their balloons (or either is a player): the collision leaves their velocities alone. Carry clear only when both are birds and one has lost its balloon.","t":"code","b":[224,2],"m":"cpx","o":"#$02","x":[61142,61187]},{"a":61631,"t":"code","b":[144,28],"m":"bcc","oa":61661,"o":"r_F0DD"},{"a":61633,"t":"code","b":[181,127],"m":"lda","oa":127,"o":"actor_action,x"},{"a":61635,"t":"code","b":[201,2],"m":"cmp","o":"#$02"},{"a":61637,"t":"code","b":[144,22],"m":"bcc","oa":61661,"o":"r_F0DD"},{"a":61639,"t":"code","b":[169,1],"m":"lda","o":"#$01"},{"a":61641,"t":"code","b":[213,136],"m":"cmp","oa":136,"o":"actor_balloons,x"},{"a":61643,"t":"code","b":[176,16],"m":"bcs","oa":61661,"o":"r_F0DD"},{"a":61645,"t":"code","b":[192,2],"m":"cpy","o":"#$02"},{"a":61647,"t":"code","b":[144,12],"m":"bcc","oa":61661,"o":"r_F0DD"},{"a":61649,"t":"code","b":[185,127,0],"m":"lda","oa":127,"o":"actor_action,y"},{"a":61652,"t":"code","b":[201,2],"m":"cmp","o":"#$02"},{"a":61654,"t":"code","b":[144,5],"m":"bcc","oa":61661,"o":"r_F0DD"},{"a":61656,"t":"code","b":[169,1],"m":"lda","o":"#$01"},{"a":61658,"t":"code","b":[217,136,0],"m":"cmp","oa":136,"o":"actor_balloons,y"},{"a":61661,"l":"r_F0DD","t":"code","b":[96],"m":"rts","x":[61631,61637,61643,61647,61654]},{"a":61662,"l":"negate_vx","c":"Reverses an actor's horizontal velocity and its drift target, and keeps only the flap bit of its buttons.","t":"code","b":[169,0],"m":"lda","o":"#$00","x":[60936,61192,61201]},{"a":61664,"t":"code","b":[56],"m":"sec"},{"a":61665,"t":"code","b":[253,36,4],"m":"sbc","oa":1060,"o":"actor_vx_lo,x"},{"a":61668,"t":"code","b":[157,36,4],"m":"sta","oa":1060,"o":"actor_vx_lo,x"},{"a":61671,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":61673,"t":"code","b":[253,45,4],"m":"sbc","oa":1069,"o":"actor_vx_hi,x"},{"a":61676,"t":"code","b":[157,45,4],"m":"sta","oa":1069,"o":"actor_vx_hi,x"},{"a":61679,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":61681,"t":"code","b":[56],"m":"sec"},{"a":61682,"t":"code","b":[253,99,4],"m":"sbc","oa":1123,"o":"actor_vx_target_lo,x"},{"a":61685,"t":"code","b":[157,99,4],"m":"sta","oa":1123,"o":"actor_vx_target_lo,x"},{"a":61688,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":61690,"t":"code","b":[253,108,4],"m":"sbc","oa":1132,"o":"actor_vx_target_hi,x"},{"a":61693,"t":"code","b":[157,108,4],"m":"sta","oa":1132,"o":"actor_vx_target_hi,x"},{"a":61696,"t":"code","b":[181,49],"m":"lda","oa":49,"o":"buttons,x"},{"a":61698,"t":"code","b":[41,64],"m":"and","o":"#$40"},{"a":61700,"t":"code","b":[149,49],"m":"sta","oa":49,"o":"buttons,x"},{"a":61702,"t":"code","b":[96],"m":"rts"},{"a":61703,"l":"negate_vy","c":"Reverses an actor's vertical velocity.","t":"code","b":[169,0],"m":"lda","o":"#$00","x":[60286,60899,61147,61156]},{"a":61705,"t":"code","b":[56],"m":"sec"},{"a":61706,"t":"code","b":[253,18,4],"m":"sbc","oa":1042,"o":"actor_vy_lo,x"},{"a":61709,"t":"code","b":[157,18,4],"m":"sta","oa":1042,"o":"actor_vy_lo,x"},{"a":61712,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":61714,"t":"code","b":[253,27,4],"m":"sbc","oa":1051,"o":"actor_vy_hi,x"},{"a":61717,"t":"code","b":[157,27,4],"m":"sta","oa":1051,"o":"actor_vy_hi,x"},{"a":61720,"t":"code","b":[96],"m":"rts"},{"a":61721,"l":"multiply_signed","c":"mul_result (24 bits) becomes mul_a (16 bits, signed) times A (8 bits): shift and add over eight bits, negating before and after when mul_a is negative.","t":"code","b":[133,45],"m":"sta","oa":45,"o":"mul_b","x":[61822,61848]},{"a":61723,"t":"code","b":[165,44],"m":"lda","oa":44,"o":"mul_a_hi"},{"a":61725,"t":"code","b":[16,36],"m":"bpl","oa":61763,"o":"multiply_unsigned"},{"a":61727,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":61729,"t":"code","b":[56],"m":"sec"},{"a":61730,"t":"code","b":[229,43],"m":"sbc","oa":43,"o":"mul_a"},{"a":61732,"t":"code","b":[133,43],"m":"sta","oa":43,"o":"mul_a"},{"a":61734,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":61736,"t":"code","b":[229,44],"m":"sbc","oa":44,"o":"mul_a_hi"},{"a":61738,"t":"code","b":[133,44],"m":"sta","oa":44,"o":"mul_a_hi"},{"a":61740,"t":"code","b":[32,67,241],"m":"jsr","oa":61763,"o":"multiply_unsigned"},{"a":61743,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":61745,"t":"code","b":[56],"m":"sec"},{"a":61746,"t":"code","b":[229,46],"m":"sbc","oa":46,"o":"mul_result"},{"a":61748,"t":"code","b":[133,46],"m":"sta","oa":46,"o":"mul_result"},{"a":61750,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":61752,"t":"code","b":[229,47],"m":"sbc","oa":47,"o":"mul_result_mid"},{"a":61754,"t":"code","b":[133,47],"m":"sta","oa":47,"o":"mul_result_mid"},{"a":61756,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":61758,"t":"code","b":[229,48],"m":"sbc","oa":48,"o":"mul_result_hi"},{"a":61760,"t":"code","b":[133,48],"m":"sta","oa":48,"o":"mul_result_hi"},{"a":61762,"t":"code","b":[96],"m":"rts"},{"a":61763,"l":"multiply_unsigned","c":"The shift-and-add loop of multiply_signed.","t":"code","b":[138],"m":"txa","x":[61725,61740]},{"a":61764,"t":"code","b":[72],"m":"pha"},{"a":61765,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":61767,"t":"code","b":[133,46],"m":"sta","oa":46,"o":"mul_result"},{"a":61769,"t":"code","b":[133,47],"m":"sta","oa":47,"o":"mul_result_mid"},{"a":61771,"t":"code","b":[133,48],"m":"sta","oa":48,"o":"mul_result_hi"},{"a":61773,"t":"code","b":[162,8],"m":"ldx","o":"#$08"},{"a":61775,"l":"b_F14F","t":"code","b":[6,46],"m":"asl","oa":46,"o":"mul_result","x":[61805]},{"a":61777,"t":"code","b":[38,47],"m":"rol","oa":47,"o":"mul_result_mid"},{"a":61779,"t":"code","b":[38,48],"m":"rol","oa":48,"o":"mul_result_hi"},{"a":61781,"t":"code","b":[6,45],"m":"asl","oa":45,"o":"mul_b"},{"a":61783,"t":"code","b":[144,19],"m":"bcc","oa":61804,"o":"b_F16C"},{"a":61785,"t":"code","b":[24],"m":"clc"},{"a":61786,"t":"code","b":[165,43],"m":"lda","oa":43,"o":"mul_a"},{"a":61788,"t":"code","b":[101,46],"m":"adc","oa":46,"o":"mul_result"},{"a":61790,"t":"code","b":[133,46],"m":"sta","oa":46,"o":"mul_result"},{"a":61792,"t":"code","b":[165,44],"m":"lda","oa":44,"o":"mul_a_hi"},{"a":61794,"t":"code","b":[101,47],"m":"adc","oa":47,"o":"mul_result_mid"},{"a":61796,"t":"code","b":[133,47],"m":"sta","oa":47,"o":"mul_result_mid"},{"a":61798,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":61800,"t":"code","b":[101,48],"m":"adc","oa":48,"o":"mul_result_hi"},{"a":61802,"t":"code","b":[133,48],"m":"sta","oa":48,"o":"mul_result_hi"},{"a":61804,"l":"b_F16C","t":"code","b":[202],"m":"dex","x":[61783]},{"a":61805,"t":"code","b":[208,224],"m":"bne","oa":61775,"o":"b_F14F"},{"a":61807,"t":"code","b":[104],"m":"pla"},{"a":61808,"t":"code","b":[170],"m":"tax"},{"a":61809,"t":"code","b":[96],"m":"rts"},{"a":61810,"l":"scale_vx_80pct","c":"An actor's horizontal velocity times $CD/256 (about 0.8): a bounce loses a fifth of its speed.","t":"code","b":[189,36,4],"m":"lda","oa":1060,"o":"actor_vx_lo,x","x":[60939,61195,61204]},{"a":61813,"t":"code","b":[133,43],"m":"sta","oa":43,"o":"mul_a"},{"a":61815,"t":"code","b":[189,45,4],"m":"lda","oa":1069,"o":"actor_vx_hi,x"},{"a":61818,"t":"code","b":[133,44],"m":"sta","oa":44,"o":"mul_a_hi"},{"a":61820,"t":"code","b":[169,205],"m":"lda","o":"#$CD"},{"a":61822,"t":"code","b":[32,25,241],"m":"jsr","oa":61721,"o":"multiply_signed"},{"a":61825,"t":"code","b":[165,47],"m":"lda","oa":47,"o":"mul_result_mid"},{"a":61827,"t":"code","b":[157,36,4],"m":"sta","oa":1060,"o":"actor_vx_lo,x"},{"a":61830,"t":"code","b":[165,48],"m":"lda","oa":48,"o":"mul_result_hi"},{"a":61832,"t":"code","b":[157,45,4],"m":"sta","oa":1069,"o":"actor_vx_hi,x"},{"a":61835,"t":"code","b":[96],"m":"rts"},{"a":61836,"l":"scale_vy_80pct","c":"An actor's vertical velocity times $CD/256.","t":"code","b":[189,18,4],"m":"lda","oa":1042,"o":"actor_vy_lo,x","x":[60289,60902,61150,61159]},{"a":61839,"t":"code","b":[133,43],"m":"sta","oa":43,"o":"mul_a"},{"a":61841,"t":"code","b":[189,27,4],"m":"lda","oa":1051,"o":"actor_vy_hi,x"},{"a":61844,"t":"code","b":[133,44],"m":"sta","oa":44,"o":"mul_a_hi"},{"a":61846,"t":"code","b":[169,205],"m":"lda","o":"#$CD"},{"a":61848,"t":"code","b":[32,25,241],"m":"jsr","oa":61721,"o":"multiply_signed"},{"a":61851,"t":"code","b":[165,47],"m":"lda","oa":47,"o":"mul_result_mid"},{"a":61853,"t":"code","b":[157,18,4],"m":"sta","oa":1042,"o":"actor_vy_lo,x"},{"a":61856,"t":"code","b":[165,48],"m":"lda","oa":48,"o":"mul_result_hi"},{"a":61858,"t":"code","b":[157,27,4],"m":"sta","oa":1051,"o":"actor_vy_hi,x"},{"a":61861,"t":"code","b":[96],"m":"rts"},{"a":61862,"l":"shift_right_4","c":"tmp12 and tmp13 as a signed 16-bit number divided by 16.","t":"code","b":[160,4],"m":"ldy","o":"#$04","x":[52669,52693,59323,59347]},{"a":61864,"l":"b_F1A8","t":"code","b":[165,19],"m":"lda","oa":19,"o":"tmp13","x":[61872]},{"a":61866,"t":"code","b":[10],"m":"asl","o":"a"},{"a":61867,"t":"code","b":[102,19],"m":"ror","oa":19,"o":"tmp13"},{"a":61869,"t":"code","b":[102,18],"m":"ror","oa":18,"o":"tmp12"},{"a":61871,"t":"code","b":[136],"m":"dey"},{"a":61872,"t":"code","b":[208,246],"m":"bne","oa":61864,"o":"b_F1A8"},{"a":61874,"t":"code","b":[96],"m":"rts"},{"a":61875,"l":"next_random","c":"Steps the 16-bit linear feedback shift register in random eleven times and returns its low byte; X is kept.","t":"code","b":[138],"m":"txa","x":[50167,50188,50206,50221,50238,50274,51073,51151,51180,52620,59123,59159,62149]},{"a":61876,"t":"code","b":[72],"m":"pha"},{"a":61877,"t":"code","b":[162,11],"m":"ldx","o":"#$0B"},{"a":61879,"l":"b_F1B7","t":"code","b":[6,27],"m":"asl","oa":27,"o":"random","x":[61901]},{"a":61881,"t":"code","b":[38,28],"m":"rol","oa":28,"o":"random_hi"},{"a":61883,"t":"code","b":[42],"m":"rol","o":"a"},{"a":61884,"t":"code","b":[42],"m":"rol","o":"a"},{"a":61885,"t":"code","b":[69,27],"m":"eor","oa":27,"o":"random"},{"a":61887,"t":"code","b":[42],"m":"rol","o":"a"},{"a":61888,"t":"code","b":[69,27],"m":"eor","oa":27,"o":"random"},{"a":61890,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":61891,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":61892,"t":"code","b":[73,255],"m":"eor","o":"#$FF"},{"a":61894,"t":"code","b":[41,1],"m":"and","o":"#$01"},{"a":61896,"t":"code","b":[5,27],"m":"ora","oa":27,"o":"random"},{"a":61898,"t":"code","b":[133,27],"m":"sta","oa":27,"o":"random"},{"a":61900,"t":"code","b":[202],"m":"dex"},{"a":61901,"t":"code","b":[208,232],"m":"bne","oa":61879,"o":"b_F1B7"},{"a":61903,"t":"code","b":[104],"m":"pla"},{"a":61904,"t":"code","b":[170],"m":"tax"},{"a":61905,"t":"code","b":[165,27],"m":"lda","oa":27,"o":"random"},{"a":61907,"t":"code","b":[96],"m":"rts"},{"a":61908,"l":"main","c":"After the reset: the title loop until Start; then a new game: scores 0, scoring_player 0, the status refreshed, the APU's four channels on, all sound stopped, and start_game with 2 lives.","t":"code","b":[32,193,218],"m":"jsr","oa":56001,"o":"title_loop","x":[49279,62339]},{"a":61911,"t":"code","b":[162,9],"m":"ldx","o":"#$09"},{"a":61913,"l":"b_F1D9","t":"code","b":[169,0],"m":"lda","o":"#$00","x":[61918]},{"a":61915,"t":"code","b":[149,3],"m":"sta","oa":3,"o":"score_p1,x"},{"a":61917,"t":"code","b":[202],"m":"dex"},{"a":61918,"t":"code","b":[16,249],"m":"bpl","oa":61913,"o":"b_F1D9"},{"a":61920,"t":"code","b":[133,62],"m":"sta","oa":62,"o":"scoring_player"},{"a":61922,"t":"code","b":[230,65],"m":"inc","oa":65,"o":"lives"},{"a":61924,"t":"code","b":[32,222,214],"m":"jsr","oa":55006,"o":"add_score"},{"a":61927,"t":"code","b":[169,15],"m":"lda","o":"#$0F"},{"a":61929,"t":"code","b":[141,21,64],"m":"sta","o":"SND_CHN"},{"a":61932,"t":"code","b":[169,1],"m":"lda","o":"#$01"},{"a":61934,"t":"code","b":[133,240],"m":"sta","oa":240,"o":"sfx_request_a"},{"a":61936,"t":"code","b":[169,2],"m":"lda","o":"#$02"},{"a":61938,"l":"start_game","c":"A game of Balloon Fight (also the demonstration, with A for the lives): lives for player 1 and for player 2 when there are two (else $FF), the start platform, phase_index, phase_counter and bonus_round 0, actor 1 off, the players made (actor_init_player). Falls into phase_start.","t":"code","b":[133,65],"m":"sta","oa":65,"o":"lives","x":[56060]},{"a":61940,"t":"code","b":[164,64],"m":"ldy","oa":64,"o":"two_players"},{"a":61942,"t":"code","b":[208,2],"m":"bne","oa":61946,"o":"b_F1FA"},{"a":61944,"t":"code","b":[169,255],"m":"lda","o":"#$FF"},{"a":61946,"l":"b_F1FA","t":"code","b":[133,66],"m":"sta","oa":66,"o":"lives_p2","x":[61942]},{"a":61948,"t":"code","b":[162,0],"m":"ldx","o":"#$00"},{"a":61950,"t":"code","b":[142,136,4],"m":"stx","oa":1160,"o":"trip_platform_x"},{"a":61953,"t":"code","b":[134,59],"m":"stx","oa":59,"o":"phase_index"},{"a":61955,"t":"code","b":[134,60],"m":"stx","oa":60,"o":"phase_counter"},{"a":61957,"t":"code","b":[142,88,5],"m":"stx","oa":1368,"o":"bonus_round"},{"a":61960,"t":"code","b":[202],"m":"dex"},{"a":61961,"t":"code","b":[134,137],"m":"stx","oa":137,"o":"actor_balloons_p2"},{"a":61963,"t":"code","b":[166,64],"m":"ldx","oa":64,"o":"two_players"},{"a":61965,"l":"b_F20D","t":"code","b":[32,176,243],"m":"jsr","oa":62384,"o":"actor_init_player","x":[61969]},{"a":61968,"t":"code","b":[202],"m":"dex"},{"a":61969,"t":"code","b":[16,250],"m":"bpl","oa":61965,"o":"b_F20D"},{"a":61971,"l":"phase_start","c":"Starts the phase at phase_index: no_enemies 0; the difficulty from phase_counter divided by 4 (enemy_inflate_rates, enemy_launch_delays; 3 on the first two phases); every actor's arrays cleared and the birds off; the players placed (player_place); the screen cleared and built (build_phase_screen); the phase's variables (phase_vars_init) and the popups cleared. Balloon Trip goes to trip_start, a bonus round to bonus_round_play. Otherwise the lightning is set up, the phase fanfare plays when phase_index is a multiple of 4, PHASE-NN is shown for 32 frames and phase_counter goes up. Falls into phase_loop.","t":"code","b":[169,0],"m":"lda","o":"#$00","x":[62307]},{"a":61973,"t":"code","b":[133,200],"m":"sta","oa":200,"o":"no_enemies"},{"a":61975,"t":"code","b":[165,60],"m":"lda","oa":60,"o":"phase_counter"},{"a":61977,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":61978,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":61979,"t":"code","b":[201,8],"m":"cmp","o":"#$08"},{"a":61981,"t":"code","b":[144,2],"m":"bcc","oa":61985,"o":"b_F221"},{"a":61983,"t":"code","b":[169,8],"m":"lda","o":"#$08"},{"a":61985,"l":"b_F221","t":"code","b":[170],"m":"tax","x":[61981]},{"a":61986,"t":"code","b":[189,186,243],"m":"lda","oa":62394,"o":"enemy_inflate_rates,x"},{"a":61989,"t":"code","b":[133,198],"m":"sta","oa":198,"o":"enemy_inflate_rate"},{"a":61991,"t":"code","b":[189,195,243],"m":"lda","oa":62403,"o":"enemy_launch_delays,x"},{"a":61994,"t":"code","b":[133,199],"m":"sta","oa":199,"o":"enemy_launch_delay"},{"a":61996,"t":"code","b":[165,60],"m":"lda","oa":60,"o":"phase_counter"},{"a":61998,"t":"code","b":[201,2],"m":"cmp","o":"#$02"},{"a":62000,"t":"code","b":[176,6],"m":"bcs","oa":62008,"o":"b_F238"},{"a":62002,"t":"code","b":[169,3],"m":"lda","o":"#$03"},{"a":62004,"t":"code","b":[133,198],"m":"sta","oa":198,"o":"enemy_inflate_rate"},{"a":62006,"t":"code","b":[133,199],"m":"sta","oa":199,"o":"enemy_launch_delay"},{"a":62008,"l":"b_F238","t":"code","b":[162,7],"m":"ldx","o":"#$07","x":[62000]},{"a":62010,"l":"b_F23A","t":"code","b":[169,0],"m":"lda","o":"#$00","x":[62059]},{"a":62012,"t":"code","b":[157,72,4],"m":"sta","oa":1096,"o":"actor_facing,x"},{"a":62015,"t":"code","b":[157,117,4],"m":"sta","oa":1141,"o":"actor_hit_cooldown,x"},{"a":62018,"t":"code","b":[157,126,4],"m":"sta","oa":1150,"o":"actor_was_hit,x"},{"a":62021,"t":"code","b":[157,36,4],"m":"sta","oa":1060,"o":"actor_vx_lo,x"},{"a":62024,"t":"code","b":[157,45,4],"m":"sta","oa":1069,"o":"actor_vx_hi,x"},{"a":62027,"t":"code","b":[157,18,4],"m":"sta","oa":1042,"o":"actor_vy_lo,x"},{"a":62030,"t":"code","b":[157,27,4],"m":"sta","oa":1051,"o":"actor_vy_hi,x"},{"a":62033,"t":"code","b":[157,99,4],"m":"sta","oa":1123,"o":"actor_vx_target_lo,x"},{"a":62036,"t":"code","b":[157,108,4],"m":"sta","oa":1132,"o":"actor_vx_target_hi,x"},{"a":62039,"t":"code","b":[157,0,4],"m":"sta","oa":1024,"o":"actor_x_frac,x"},{"a":62042,"t":"code","b":[157,9,4],"m":"sta","oa":1033,"o":"actor_y_frac,x"},{"a":62045,"t":"code","b":[169,1],"m":"lda","o":"#$01"},{"a":62047,"t":"code","b":[157,63,4],"m":"sta","oa":1087,"o":"actor_frame_timer,x"},{"a":62050,"t":"code","b":[157,90,4],"m":"sta","oa":1114,"o":"actor_timer,x"},{"a":62053,"t":"code","b":[169,3],"m":"lda","o":"#$03"},{"a":62055,"t":"code","b":[157,54,4],"m":"sta","oa":1078,"o":"actor_frame,x"},{"a":62058,"t":"code","b":[202],"m":"dex"},{"a":62059,"t":"code","b":[16,205],"m":"bpl","oa":62010,"o":"b_F23A"},{"a":62061,"t":"code","b":[162,5],"m":"ldx","o":"#$05"},{"a":62063,"l":"b_F26F","t":"code","b":[169,255],"m":"lda","o":"#$FF","x":[62068]},{"a":62065,"t":"code","b":[149,138],"m":"sta","oa":138,"o":"actor_balloons_birds,x"},{"a":62067,"t":"code","b":[202],"m":"dex"},{"a":62068,"t":"code","b":[16,249],"m":"bpl","oa":62063,"o":"b_F26F"},{"a":62070,"t":"code","b":[166,64],"m":"ldx","oa":64,"o":"two_players"},{"a":62072,"l":"b_F278","t":"code","b":[32,134,243],"m":"jsr","oa":62342,"o":"player_place","x":[62076]},{"a":62075,"t":"code","b":[202],"m":"dex"},{"a":62076,"t":"code","b":[16,250],"m":"bpl","oa":62072,"o":"b_F278"},{"a":62078,"t":"code","b":[32,70,210],"m":"jsr","oa":53830,"o":"clear_screen"},{"a":62081,"t":"code","b":[32,147,210],"m":"jsr","oa":53907,"o":"build_phase_screen"},{"a":62084,"t":"code","b":[165,198],"m":"lda","oa":198,"o":"enemy_inflate_rate"},{"a":62086,"t":"code","b":[201,16],"m":"cmp","o":"#$10"},{"a":62088,"t":"code","b":[176,4],"m":"bcs","oa":62094,"o":"b_F28E"},{"a":62090,"t":"code","b":[169,88],"m":"lda","o":"#$58"},{"a":62092,"t":"code","b":[133,198],"m":"sta","oa":198,"o":"enemy_inflate_rate"},{"a":62094,"l":"b_F28E","t":"code","b":[32,165,244],"m":"jsr","oa":62629,"o":"phase_vars_init","x":[62088]},{"a":62097,"t":"code","b":[32,255,216],"m":"jsr","oa":55551,"o":"popups_clear"},{"a":62100,"t":"code","b":[165,22],"m":"lda","oa":22,"o":"game_mode"},{"a":62102,"t":"code","b":[240,3],"m":"beq","oa":62107,"o":"b_F29B"},{"a":62104,"t":"code","b":[76,197,193],"m":"jmp","oa":49605,"o":"trip_start"},{"a":62107,"l":"b_F29B","t":"code","b":[165,200],"m":"lda","oa":200,"o":"no_enemies","x":[62102]},{"a":62109,"t":"code","b":[240,3],"m":"beq","oa":62114,"o":"b_F2A2"},{"a":62111,"t":"code","b":[76,19,207],"m":"jmp","oa":53011,"o":"bonus_round_play"},{"a":62114,"l":"b_F2A2","t":"code","b":[32,22,199],"m":"jsr","oa":50966,"o":"lightning_init","x":[62109]},{"a":62117,"t":"code","b":[165,59],"m":"lda","oa":59,"o":"phase_index"},{"a":62119,"t":"code","b":[41,3],"m":"and","o":"#$03"},{"a":62121,"t":"code","b":[208,8],"m":"bne","oa":62131,"o":"b_F2B3"},{"a":62123,"t":"code","b":[169,8],"m":"lda","o":"#$08"},{"a":62125,"t":"code","b":[133,242],"m":"sta","oa":242,"o":"music_request"},{"a":62127,"t":"code","b":[166,58],"m":"ldx","oa":58,"o":"demo_flag"},{"a":62129,"t":"code","b":[208,6],"m":"bne","oa":62137,"o":"phase_loop"},{"a":62131,"l":"b_F2B3","t":"code","b":[169,255],"m":"lda","o":"#$FF","x":[62121]},{"a":62133,"t":"code","b":[133,61],"m":"sta","oa":61,"o":"phase_text_timer"},{"a":62135,"t":"code","b":[230,60],"m":"inc","oa":60,"o":"phase_counter"},{"a":62137,"l":"phase_loop","c":"A phase's frame loop: wait a frame (pause allowed), the PHASE text, a random step, the actors, the fish, the lightning countdown, the cloud flash, the sparks, the popups, the splash, the propellers, a star. A player out of play comes back after respawn_timer (the lightning reset, lives down one, the status redrawn; or stays out when none are left). Both players out: game_over. In the demonstration Start or Select returns to the title. When every bird is out or falling and the splash is done: a player still falling waits for his life; then the phase-cleared jingle, 150 frames, and the next phase index (16 wraps to 4): phase_start again.","t":"code","b":[32,112,244],"m":"jsr","oa":62576,"o":"wait_frame_pause","x":[62129,62244,62253,62260,62281]},{"a":62140,"t":"code","b":[165,61],"m":"lda","oa":61,"o":"phase_text_timer"},{"a":62142,"t":"code","b":[240,5],"m":"beq","oa":62149,"o":"b_F2C5"},{"a":62144,"t":"code","b":[198,61],"m":"dec","oa":61,"o":"phase_text_timer"},{"a":62146,"t":"code","b":[32,204,243],"m":"jsr","oa":62412,"o":"phase_text"},{"a":62149,"l":"b_F2C5","t":"code","b":[32,179,241],"m":"jsr","oa":61875,"o":"next_random","x":[62142]},{"a":62152,"t":"code","b":[32,145,230],"m":"jsr","oa":59025,"o":"actors_update"},{"a":62155,"t":"code","b":[32,249,198],"m":"jsr","oa":50937,"o":"fish_update"},{"a":62158,"t":"code","b":[32,144,199],"m":"jsr","oa":51088,"o":"lightning_countdown"},{"a":62161,"t":"code","b":[32,49,200],"m":"jsr","oa":51249,"o":"cloud_flash"},{"a":62164,"t":"code","b":[32,183,200],"m":"jsr","oa":51383,"o":"sparks_update"},{"a":62167,"t":"code","b":[32,221,216],"m":"jsr","oa":55517,"o":"popups_countdown"},{"a":62170,"t":"code","b":[32,135,229],"m":"jsr","oa":58759,"o":"draw_splash"},{"a":62173,"t":"code","b":[32,116,203],"m":"jsr","oa":52084,"o":"propellers_update"},{"a":62176,"t":"code","b":[230,76],"m":"inc","oa":76,"o":"stars_to_twinkle"},{"a":62178,"t":"code","b":[166,64],"m":"ldx","oa":64,"o":"two_players"},{"a":62180,"l":"b_F2E4","t":"code","b":[181,136],"m":"lda","oa":136,"o":"actor_balloons,x","x":[62222]},{"a":62182,"t":"code","b":[16,37],"m":"bpl","oa":62221,"o":"b_F30D"},{"a":62184,"t":"code","b":[165,58],"m":"lda","oa":58,"o":"demo_flag"},{"a":62186,"t":"code","b":[208,58],"m":"bne","oa":62246,"o":"r_F326"},{"a":62188,"t":"code","b":[181,65],"m":"lda","oa":65,"o":"lives,x"},{"a":62190,"t":"code","b":[48,29],"m":"bmi","oa":62221,"o":"b_F30D"},{"a":62192,"t":"code","b":[214,195],"m":"dec","oa":195,"o":"respawn_timer,x"},{"a":62194,"t":"code","b":[208,51],"m":"bne","oa":62247,"o":"b_F327"},{"a":62196,"t":"code","b":[138],"m":"txa"},{"a":62197,"t":"code","b":[72],"m":"pha"},{"a":62198,"t":"code","b":[32,38,199],"m":"jsr","oa":50982,"o":"lightning_set_phase"},{"a":62201,"t":"code","b":[104],"m":"pla"},{"a":62202,"t":"code","b":[170],"m":"tax"},{"a":62203,"t":"code","b":[160,2],"m":"ldy","o":"#$02"},{"a":62205,"t":"code","b":[214,65],"m":"dec","oa":65,"o":"lives,x"},{"a":62207,"t":"code","b":[132,70],"m":"sty","oa":70,"o":"status_request"},{"a":62209,"t":"code","b":[48,10],"m":"bmi","oa":62221,"o":"b_F30D"},{"a":62211,"t":"code","b":[32,134,243],"m":"jsr","oa":62342,"o":"player_place"},{"a":62214,"t":"code","b":[32,176,243],"m":"jsr","oa":62384,"o":"actor_init_player"},{"a":62217,"t":"code","b":[169,128],"m":"lda","o":"#$80"},{"a":62219,"t":"code","b":[133,242],"m":"sta","oa":242,"o":"music_request"},{"a":62221,"l":"b_F30D","t":"code","b":[202],"m":"dex","x":[62182,62190,62209]},{"a":62222,"t":"code","b":[16,212],"m":"bpl","oa":62180,"o":"b_F2E4"},{"a":62224,"t":"code","b":[165,65],"m":"lda","oa":65,"o":"lives"},{"a":62226,"t":"code","b":[16,4],"m":"bpl","oa":62232,"o":"b_F318"},{"a":62228,"t":"code","b":[165,66],"m":"lda","oa":66,"o":"lives_p2"},{"a":62230,"t":"code","b":[48,78],"m":"bmi","oa":62310,"o":"game_over"},{"a":62232,"l":"b_F318","t":"code","b":[165,58],"m":"lda","oa":58,"o":"demo_flag","x":[62226]},{"a":62234,"t":"code","b":[240,11],"m":"beq","oa":62247,"o":"b_F327"},{"a":62236,"t":"code","b":[32,104,231],"m":"jsr","oa":59240,"o":"read_joypads"},{"a":62239,"t":"code","b":[173,28,6],"m":"lda","oa":1564,"o":"joypad"},{"a":62242,"t":"code","b":[41,48],"m":"and","o":"#$30"},{"a":62244,"t":"code","b":[240,147],"m":"beq","oa":62137,"o":"phase_loop"},{"a":62246,"l":"r_F326","t":"code","b":[96],"m":"rts","x":[62186]},{"a":62247,"l":"b_F327","t":"code","b":[162,5],"m":"ldx","o":"#$05","x":[62194,62234]},{"a":62249,"l":"b_F329","t":"code","b":[181,138],"m":"lda","oa":138,"o":"actor_balloons_birds,x","x":[62256]},{"a":62251,"t":"code","b":[240,2],"m":"beq","oa":62255,"o":"b_F32F"},{"a":62253,"t":"code","b":[16,138],"m":"bpl","oa":62137,"o":"phase_loop"},{"a":62255,"l":"b_F32F","t":"code","b":[202],"m":"dex","x":[62251]},{"a":62256,"t":"code","b":[16,247],"m":"bpl","oa":62249,"o":"b_F329"},{"a":62258,"t":"code","b":[165,187],"m":"lda","oa":187,"o":"splash_frame"},{"a":62260,"t":"code","b":[16,131],"m":"bpl","oa":62137,"o":"phase_loop"},{"a":62262,"t":"code","b":[166,64],"m":"ldx","oa":64,"o":"two_players"},{"a":62264,"l":"b_F338","t":"code","b":[180,136],"m":"ldy","oa":136,"o":"actor_balloons,x","x":[62285]},{"a":62266,"t":"code","b":[136],"m":"dey"},{"a":62267,"t":"code","b":[16,15],"m":"bpl","oa":62284,"o":"b_F34C"},{"a":62269,"t":"code","b":[181,65],"m":"lda","oa":65,"o":"lives,x"},{"a":62271,"t":"code","b":[48,11],"m":"bmi","oa":62284,"o":"b_F34C"},{"a":62273,"t":"code","b":[169,255],"m":"lda","o":"#$FF"},{"a":62275,"t":"code","b":[149,136],"m":"sta","oa":136,"o":"actor_balloons,x"},{"a":62277,"t":"code","b":[169,1],"m":"lda","o":"#$01"},{"a":62279,"t":"code","b":[149,195],"m":"sta","oa":195,"o":"respawn_timer,x"},{"a":62281,"t":"code","b":[76,185,242],"m":"jmp","oa":62137,"o":"phase_loop"},{"a":62284,"l":"b_F34C","t":"code","b":[202],"m":"dex","x":[62267,62271]},{"a":62285,"t":"code","b":[16,233],"m":"bpl","oa":62264,"o":"b_F338"},{"a":62287,"t":"code","b":[169,2],"m":"lda","o":"#$02"},{"a":62289,"t":"code","b":[133,242],"m":"sta","oa":242,"o":"music_request"},{"a":62291,"l":"j_F353","t":"code","b":[162,150],"m":"ldx","o":"#$96","x":[53471]},{"a":62293,"t":"code","b":[32,94,244],"m":"jsr","oa":62558,"o":"wait_x_frames"},{"a":62296,"t":"code","b":[166,59],"m":"ldx","oa":59,"o":"phase_index"},{"a":62298,"t":"code","b":[232],"m":"inx"},{"a":62299,"t":"code","b":[224,16],"m":"cpx","o":"#$10"},{"a":62301,"t":"code","b":[208,2],"m":"bne","oa":62305,"o":"b_F361"},{"a":62303,"t":"code","b":[162,4],"m":"ldx","o":"#$04"},{"a":62305,"l":"b_F361","t":"code","b":[134,59],"m":"stx","oa":59,"o":"phase_index","x":[62301]},{"a":62307,"t":"code","b":[76,19,242],"m":"jmp","oa":61971,"o":"phase_start"},{"a":62310,"l":"game_over","c":"The game-over tune, then game_over_wait.","t":"code","b":[169,1],"m":"lda","o":"#$01","x":[62230]},{"a":62312,"t":"code","b":[133,242],"m":"sta","oa":242,"o":"music_request"},{"a":62314,"l":"game_over_wait","c":"Scroll and nametable reset, GAME OVER drawn (show_game_over), then wait for Start or Select or 256 frames, and back to main (the title).","t":"code","b":[169,0],"m":"lda","o":"#$00","x":[50095]},{"a":62316,"t":"code","b":[133,23],"m":"sta","oa":23,"o":"trip_scroll_x"},{"a":62318,"t":"code","b":[133,24],"m":"sta","oa":24,"o":"trip_nametable"},{"a":62320,"t":"code","b":[133,21],"m":"sta","oa":21,"o":"tmp15"},{"a":62322,"t":"code","b":[32,11,244],"m":"jsr","oa":62475,"o":"show_game_over"},{"a":62325,"l":"b_F375","t":"code","b":[32,101,244],"m":"jsr","oa":62565,"o":"wait_frame","x":[62337]},{"a":62328,"t":"code","b":[32,104,231],"m":"jsr","oa":59240,"o":"read_joypads"},{"a":62331,"t":"code","b":[41,48],"m":"and","o":"#$30"},{"a":62333,"t":"code","b":[208,4],"m":"bne","oa":62339,"o":"b_F383"},{"a":62335,"t":"code","b":[198,21],"m":"dec","oa":21,"o":"tmp15"},{"a":62337,"t":"code","b":[208,242],"m":"bne","oa":62325,"o":"b_F375"},{"a":62339,"l":"b_F383","t":"code","b":[76,212,241],"m":"jmp","oa":61908,"o":"main","x":[62333]},{"a":62342,"l":"player_place","c":"Puts player X at its start (player_start_x, Y $B8), invulnerable for 200 counts of three frames, with respawn_timer 90 frames (1 for a player who has just lost a life, so he comes straight back), not stunned, not moving.","t":"code","b":[181,65],"m":"lda","oa":65,"o":"lives,x","x":[62072,62211]},{"a":62344,"t":"code","b":[48,35],"m":"bmi","oa":62381,"o":"r_F3AD"},{"a":62346,"t":"code","b":[189,174,243],"m":"lda","oa":62382,"o":"player_start_x,x"},{"a":62349,"t":"code","b":[149,145],"m":"sta","oa":145,"o":"actor_x,x"},{"a":62351,"t":"code","b":[169,184],"m":"lda","o":"#$B8"},{"a":62353,"t":"code","b":[149,154],"m":"sta","oa":154,"o":"actor_y,x"},{"a":62355,"t":"code","b":[149,189],"m":"sta","oa":189,"o":"invulnerable,x"},{"a":62357,"t":"code","b":[169,200],"m":"lda","o":"#$C8"},{"a":62359,"t":"code","b":[149,191],"m":"sta","oa":191,"o":"invulnerable_timer,x"},{"a":62361,"t":"code","b":[169,90],"m":"lda","o":"#$5A"},{"a":62363,"t":"code","b":[180,65],"m":"ldy","oa":65,"o":"lives,x"},{"a":62365,"t":"code","b":[16,2],"m":"bpl","oa":62369,"o":"b_F3A1"},{"a":62367,"t":"code","b":[169,1],"m":"lda","o":"#$01"},{"a":62369,"l":"b_F3A1","t":"code","b":[149,195],"m":"sta","oa":195,"o":"respawn_timer,x","x":[62365]},{"a":62371,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":62373,"t":"code","b":[149,193],"m":"sta","oa":193,"o":"spark_hit,x"},{"a":62375,"t":"code","b":[157,45,4],"m":"sta","oa":1069,"o":"actor_vx_hi,x"},{"a":62378,"t":"code","b":[157,36,4],"m":"sta","oa":1060,"o":"actor_vx_lo,x"},{"a":62381,"l":"r_F3AD","t":"code","b":[96],"m":"rts","x":[62344]},{"a":62382,"l":"player_start_x","c":"X where each player starts: $20 and $D0.","t":"byte","b":[32,208],"x":[62346]},{"a":62384,"l":"actor_init_player","c":"Actor X becomes a player: type 3 with two balloons.","t":"code","b":[169,3],"m":"lda","o":"#$03","x":[53027,53136,61965,62214]},{"a":62386,"t":"code","b":[157,81,4],"m":"sta","oa":1105,"o":"actor_type,x"},{"a":62389,"t":"code","b":[169,2],"m":"lda","o":"#$02"},{"a":62391,"t":"code","b":[149,136],"m":"sta","oa":136,"o":"actor_balloons,x"},{"a":62393,"t":"code","b":[96],"m":"rts"},{"a":62394,"l":"enemy_inflate_rates","c":"Frames per step of a bird pumping its balloon, by phase_counter/4: $58, $50, $58, $50, $50, $40, $38, $30, $28.","t":"byte","b":[88,80,88,80,80,64,56,48],"x":[61986]},{"a":62402,"t":"byte","b":[40]},{"a":62403,"l":"enemy_launch_delays","c":"Pumping steps before a bird takes off, by phase_counter/4: 4, 4, 3, 3, 2, 2, 2, 2, 2 (3 on the first two phases).","t":"byte","b":[4,4,3,3,2,2,2,2],"x":[61991]},{"a":62411,"t":"byte","b":[2]},{"a":62412,"l":"phase_text","c":"While phase_text_timer's bit 5 is set (its first 32 frames) PHASE-NN is queued at $206C with phase_counter's two digits; after that the eight blanks of phase_text_blank.","t":"code","b":[165,61],"m":"lda","oa":61,"o":"phase_text_timer","x":[62146]},{"a":62414,"t":"code","b":[41,32],"m":"and","o":"#$20"},{"a":62416,"t":"code","b":[240,28],"m":"beq","oa":62446,"o":"b_F3EE"},{"a":62418,"t":"code","b":[162,10],"m":"ldx","o":"#$0A"},{"a":62420,"l":"b_F3D4","t":"code","b":[189,245,243],"m":"lda","oa":62453,"o":"phase_text_block,x","x":[62426]},{"a":62423,"t":"code","b":[149,87],"m":"sta","oa":87,"o":"text_buf,x"},{"a":62425,"t":"code","b":[202],"m":"dex"},{"a":62426,"t":"code","b":[16,248],"m":"bpl","oa":62420,"o":"b_F3D4"},{"a":62428,"t":"code","b":[160,10],"m":"ldy","o":"#$0A"},{"a":62430,"t":"code","b":[165,60],"m":"lda","oa":60,"o":"phase_counter"},{"a":62432,"t":"code","b":[133,67],"m":"sta","oa":67,"o":"score_add"},{"a":62434,"t":"code","b":[32,124,215],"m":"jsr","oa":55164,"o":"divide"},{"a":62437,"t":"code","b":[133,96],"m":"sta","oa":96,"o":"phase_text_tens"},{"a":62439,"t":"code","b":[165,67],"m":"lda","oa":67,"o":"score_add"},{"a":62441,"t":"code","b":[133,97],"m":"sta","oa":97,"o":"phase_text_digits"},{"a":62443,"t":"code","b":[76,45,193],"m":"jmp","oa":49453,"o":"queue_block_from_text"},{"a":62446,"l":"b_F3EE","t":"code","b":[169,0],"m":"lda","o":"#$00","x":[62416]},{"a":62448,"t":"code","b":[160,244],"m":"ldy","o":"#$F4"},{"a":62450,"t":"code","b":[76,49,193],"m":"jmp","oa":49457,"o":"queue_block"},{"a":62453,"l":"phase_text_block","c":"The block \"PHASE-\" and two digit cells at $206C, the digits filled in by phase_text.","t":"byte","b":[32,108,8,25,17,10,28,14],"x":[62420]},{"a":62461,"t":"byte","b":[37,0,0]},{"a":62464,"l":"phase_text_blank","c":"Eight blank tiles at $206C.","t":"byte","b":[32,108,8,36,36,36,36,36]},{"a":62472,"t":"byte","b":[36,36,36]},{"a":62475,"l":"show_game_over","c":"Clears three rows around the middle (16 blanks at $2188, $21A8, $21E8) and queues gameover_block (GAME  OVER at $21C8) and its attribute block.","t":"code","b":[32,101,244],"m":"jsr","oa":62565,"o":"wait_frame","x":[62322]},{"a":62478,"t":"code","b":[162,1],"m":"ldx","o":"#$01"},{"a":62480,"l":"b_F410","t":"code","b":[189,59,244],"m":"lda","oa":62523,"o":"gameover_block_ptrs,x","x":[62490]},{"a":62483,"t":"code","b":[188,61,244],"m":"ldy","oa":62525,"o":"gameover_block_ptrs_hi,x"},{"a":62486,"t":"code","b":[32,49,193],"m":"jsr","oa":49457,"o":"queue_block"},{"a":62489,"t":"code","b":[202],"m":"dex"},{"a":62490,"t":"code","b":[16,244],"m":"bpl","oa":62480,"o":"b_F410"},{"a":62492,"t":"code","b":[162,15],"m":"ldx","o":"#$0F"},{"a":62494,"l":"b_F41E","t":"code","b":[169,36],"m":"lda","o":"#$24","x":[62499]},{"a":62496,"t":"code","b":[149,90],"m":"sta","oa":90,"o":"text_buf_3,x"},{"a":62498,"t":"code","b":[202],"m":"dex"},{"a":62499,"t":"code","b":[16,249],"m":"bpl","oa":62494,"o":"b_F41E"},{"a":62501,"t":"code","b":[169,16],"m":"lda","o":"#$10"},{"a":62503,"t":"code","b":[133,89],"m":"sta","oa":89,"o":"text_buf_2"},{"a":62505,"t":"code","b":[169,33],"m":"lda","o":"#$21"},{"a":62507,"t":"code","b":[133,87],"m":"sta","oa":87,"o":"text_buf"},{"a":62509,"t":"code","b":[162,2],"m":"ldx","o":"#$02"},{"a":62511,"l":"b_F42F","t":"code","b":[189,63,244],"m":"lda","oa":62527,"o":"gameover_rows,x","x":[62520]},{"a":62514,"t":"code","b":[133,88],"m":"sta","oa":88,"o":"text_buf_1"},{"a":62516,"t":"code","b":[32,45,193],"m":"jsr","oa":49453,"o":"queue_block_from_text"},{"a":62519,"t":"code","b":[202],"m":"dex"},{"a":62520,"t":"code","b":[16,245],"m":"bpl","oa":62511,"o":"b_F42F"},{"a":62522,"t":"code","b":[96],"m":"rts"},{"a":62523,"l":"gameover_block_ptrs","c":"The addresses of gameover_block and gameover_attr_block (low, then high).","t":"byte","b":[66,85],"x":[62480]},{"a":62525,"l":"gameover_block_ptrs_hi","c":"The high bytes of gameover_block_ptrs.","t":"byte","b":[244,244],"x":[62483]},{"a":62527,"l":"gameover_rows","c":"The low bytes of the three rows cleared: $88, $A8, $E8 in page $21.","t":"byte","b":[136,168,232],"x":[62511]},{"a":62530,"l":"gameover_block","c":"\"   GAME  OVER   \" at $21C8, 16 tiles.","t":"byte","b":[33,200,16,36,36,36,16,10]},{"a":62538,"t":"byte","b":[22,14,36,36,24,31,14,27]},{"a":62546,"t":"byte","b":[36,36,36]},{"a":62549,"l":"gameover_attr_block","c":"Four attribute bytes $AA at $23DA.","t":"byte","b":[35,218,4,170,170,170,170]},{"a":62556,"l":"wait_20_frames","c":"Waits 20 frames.","t":"code","b":[162,20],"m":"ldx","o":"#$14","x":[53179,53224,53303,53451]},{"a":62558,"l":"wait_x_frames","c":"Waits X frames.","t":"code","b":[32,101,244],"m":"jsr","oa":62565,"o":"wait_frame","x":[50024,53092,53289,53354,53396,53418,62293,62562]},{"a":62561,"t":"code","b":[202],"m":"dex"},{"a":62562,"t":"code","b":[208,250],"m":"bne","oa":62558,"o":"wait_x_frames"},{"a":62564,"t":"code","b":[96],"m":"rts"},{"a":62565,"l":"wait_frame","c":"Clears frame_flag and waits until the NMI handler sets it: one frame.","t":"code","b":[169,0],"m":"lda","o":"#$00","x":[49421,50088,53322,55573,56011,62325,62475,62558,62601]},{"a":62567,"t":"code","b":[133,2],"m":"sta","oa":2,"o":"frame_flag"},{"a":62569,"l":"b_F469","t":"code","b":[165,2],"m":"lda","oa":2,"o":"frame_flag","x":[62571,62576]},{"a":62571,"t":"code","b":[240,252],"m":"beq","oa":62569,"o":"b_F469"},{"a":62573,"t":"code","b":[198,2],"m":"dec","oa":2,"o":"frame_flag"},{"a":62575,"l":"r_F46F","t":"code","b":[96],"m":"rts","x":[62581,62588]},{"a":62576,"l":"wait_frame_pause","c":"Waits a frame, then, outside the demonstration, if Start was pressed pauses: the pause tone, the sprites hidden (PPUMASK bit 4 off), until Start is pressed again; then the sprites back and the tone again, or the bonus and Balloon Trip music restarted.","t":"code","b":[32,105,244],"m":"jsr","oa":62569,"o":"b_F469","x":[49673,53044,62137]},{"a":62579,"t":"code","b":[165,58],"m":"lda","oa":58,"o":"demo_flag"},{"a":62581,"t":"code","b":[208,248],"m":"bne","oa":62575,"o":"r_F46F"},{"a":62583,"t":"code","b":[32,104,231],"m":"jsr","oa":59240,"o":"read_joypads"},{"a":62586,"t":"code","b":[41,16],"m":"and","o":"#$10"},{"a":62588,"t":"code","b":[240,241],"m":"beq","oa":62575,"o":"r_F46F"},{"a":62590,"t":"code","b":[169,4],"m":"lda","o":"#$04"},{"a":62592,"t":"code","b":[133,242],"m":"sta","oa":242,"o":"music_request"},{"a":62594,"t":"code","b":[165,1],"m":"lda","oa":1,"o":"ppumask_shadow"},{"a":62596,"t":"code","b":[41,239],"m":"and","o":"#$EF"},{"a":62598,"t":"code","b":[141,1,32],"m":"sta","o":"PPUMASK"},{"a":62601,"l":"b_F489","t":"code","b":[32,101,244],"m":"jsr","oa":62565,"o":"wait_frame","x":[62609]},{"a":62604,"t":"code","b":[32,104,231],"m":"jsr","oa":59240,"o":"read_joypads"},{"a":62607,"t":"code","b":[41,16],"m":"and","o":"#$10"},{"a":62609,"t":"code","b":[240,246],"m":"beq","oa":62601,"o":"b_F489"},{"a":62611,"t":"code","b":[165,1],"m":"lda","oa":1,"o":"ppumask_shadow"},{"a":62613,"t":"code","b":[141,1,32],"m":"sta","o":"PPUMASK"},{"a":62616,"t":"code","b":[160,4],"m":"ldy","o":"#$04"},{"a":62618,"t":"code","b":[165,200],"m":"lda","oa":200,"o":"no_enemies"},{"a":62620,"t":"code","b":[5,22],"m":"ora","oa":22,"o":"game_mode"},{"a":62622,"t":"code","b":[240,2],"m":"beq","oa":62626,"o":"b_F4A2"},{"a":62624,"t":"code","b":[160,32],"m":"ldy","o":"#$20"},{"a":62626,"l":"b_F4A2","t":"code","b":[132,242],"m":"sty","oa":242,"o":"music_request","x":[62622]},{"a":62628,"t":"code","b":[96],"m":"rts"},{"a":62629,"l":"phase_vars_init","c":"The fish asleep (fish_state $FF, fish_x $40, no target), the splash off, status_request 2, fish_flags 1.","t":"code","b":[169,1],"m":"lda","o":"#$01","x":[49655,62094]},{"a":62631,"t":"code","b":[141,142,4],"m":"sta","oa":1166,"o":"fish_flags"},{"a":62634,"t":"code","b":[141,143,4],"m":"sta","oa":1167,"o":"fish_flags_2"},{"a":62637,"t":"code","b":[169,255],"m":"lda","o":"#$FF"},{"a":62639,"t":"code","b":[133,187],"m":"sta","oa":187,"o":"splash_frame"},{"a":62641,"t":"code","b":[133,135],"m":"sta","oa":135,"o":"fish_state"},{"a":62643,"t":"code","b":[141,140,4],"m":"sta","oa":1164,"o":"fish_caught"},{"a":62646,"t":"code","b":[162,1],"m":"ldx","o":"#$01"},{"a":62648,"t":"code","b":[142,89,4],"m":"stx","oa":1113,"o":"fish_type"},{"a":62651,"t":"code","b":[134,144],"m":"stx","oa":144,"o":"fish_balloons"},{"a":62653,"t":"code","b":[232],"m":"inx"},{"a":62654,"t":"code","b":[134,70],"m":"stx","oa":70,"o":"status_request"},{"a":62656,"t":"code","b":[169,64],"m":"lda","o":"#$40"},{"a":62658,"t":"code","b":[133,153],"m":"sta","oa":153,"o":"fish_x"},{"a":62660,"t":"code","b":[96],"m":"rts"},{"a":62661,"l":"unused_fill","c":"59 bytes of $FF between the game and the sound driver; nothing refers to them.","t":"byte","b":[255,255,255,255,255,255,255,255]},{"a":62669,"t":"byte","b":[255,255,255,255,255,255,255,255]},{"a":62677,"t":"byte","b":[255,255,255,255,255,255,255,255]},{"a":62685,"t":"byte","b":[255,255,255,255,255,255,255,255]},{"a":62693,"t":"byte","b":[255,255,255,255,255,255,255,255]},{"a":62701,"t":"byte","b":[255,255,255,255,255,255,255,255]},{"a":62709,"t":"byte","b":[255,255,255,255,255,255,255,255]},{"a":62717,"t":"byte","b":[255,255,255]},{"a":62720,"l":"music_channel_end","c":"A channel's stream ended (a 0 byte): music_ended is told, and the driver returns.","t":"code","b":[32,143,247],"m":"jsr","oa":63375,"o":"music_ended","x":[62775]},{"a":62723,"l":"r_F503","t":"code","b":[96],"m":"rts","x":[62738]},{"a":62724,"l":"music_play","c":"The music driver, once a frame: for each of the four channels (square 1, square 2, triangle, noise) with a stream pointer: counts the note down and, at 0, reads the stream. A byte of 0 where a command is expected ends the channel's stream (music_channel_end); $C0 to $FE starts a loop of (byte and $3F) repeats; $FF repeats from the loop start while repeats are left; $80 to $BF sets the note length from note_lengths by its low nibble plus snd_tempo and reads the next byte as its note; other bytes are notes: an even index into note_periods (pairs), written to the channel's period registers, with the volume byte for the squares, the linear counter from the length for the triangle, and a noise entry (noise_periods) for noise. Note 2, whose period is 0, is the rest.","t":"code","b":[169,0],"m":"lda","o":"#$00","x":[64329]},{"a":62726,"t":"code","b":[170],"m":"tax"},{"a":62727,"t":"code","b":[133,253],"m":"sta","oa":253,"o":"snd_channel_offset"},{"a":62729,"t":"code","b":[240,16],"m":"beq","oa":62747,"o":"b_F51B"},{"a":62731,"l":"b_F50B","t":"code","b":[138],"m":"txa","x":[62760]},{"a":62732,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":62733,"t":"code","b":[170],"m":"tax"},{"a":62734,"l":"b_F50E","t":"code","b":[232],"m":"inx","x":[62767,62902]},{"a":62735,"t":"code","b":[138],"m":"txa"},{"a":62736,"t":"code","b":[201,4],"m":"cmp","o":"#$04"},{"a":62738,"t":"code","b":[240,239],"m":"beq","oa":62723,"o":"r_F503"},{"a":62740,"t":"code","b":[165,253],"m":"lda","oa":253,"o":"snd_channel_offset"},{"a":62742,"t":"code","b":[24],"m":"clc"},{"a":62743,"t":"code","b":[105,4],"m":"adc","o":"#$04"},{"a":62745,"t":"code","b":[133,253],"m":"sta","oa":253,"o":"snd_channel_offset"},{"a":62747,"l":"b_F51B","t":"code","b":[138],"m":"txa","x":[62729]},{"a":62748,"t":"code","b":[10],"m":"asl","o":"a"},{"a":62749,"t":"code","b":[170],"m":"tax"},{"a":62750,"t":"code","b":[181,224],"m":"lda","oa":224,"o":"snd_channel_ptr,x"},{"a":62752,"t":"code","b":[133,254],"m":"sta","oa":254,"o":"snd_stream_ptr"},{"a":62754,"t":"code","b":[181,225],"m":"lda","oa":225,"o":"snd_channel_ptr_hi,x"},{"a":62756,"t":"code","b":[133,255],"m":"sta","oa":255,"o":"snd_stream_ptr_hi"},{"a":62758,"t":"code","b":[181,225],"m":"lda","oa":225,"o":"snd_channel_ptr_hi,x"},{"a":62760,"t":"code","b":[240,225],"m":"beq","oa":62731,"o":"b_F50B"},{"a":62762,"t":"code","b":[138],"m":"txa"},{"a":62763,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":62764,"t":"code","b":[170],"m":"tax"},{"a":62765,"t":"code","b":[214,208],"m":"dec","oa":208,"o":"snd_counters,x"},{"a":62767,"t":"code","b":[208,221],"m":"bne","oa":62734,"o":"b_F50E"},{"a":62769,"l":"j_F531","t":"code","b":[180,232],"m":"ldy","oa":232,"o":"snd_positions,x","x":[62814]},{"a":62771,"t":"code","b":[246,232],"m":"inc","oa":232,"o":"snd_positions,x"},{"a":62773,"t":"code","b":[177,254],"m":"lda","oa":254,"o":"(snd_stream_ptr),y"},{"a":62775,"t":"code","b":[240,199],"m":"beq","oa":62720,"o":"music_channel_end"},{"a":62777,"t":"code","b":[168],"m":"tay"},{"a":62778,"t":"code","b":[201,255],"m":"cmp","o":"#$FF"},{"a":62780,"t":"code","b":[240,9],"m":"beq","oa":62791,"o":"b_F547"},{"a":62782,"t":"code","b":[41,192],"m":"and","o":"#$C0"},{"a":62784,"t":"code","b":[201,192],"m":"cmp","o":"#$C0"},{"a":62786,"t":"code","b":[240,15],"m":"beq","oa":62803,"o":"b_F553"},{"a":62788,"t":"code","b":[76,97,245],"m":"jmp","oa":62817,"o":"j_F561"},{"a":62791,"l":"b_F547","t":"code","b":[181,216],"m":"lda","oa":216,"o":"snd_repeats,x","x":[62780]},{"a":62793,"t":"code","b":[240,19],"m":"beq","oa":62814,"o":"b_F55E"},{"a":62795,"t":"code","b":[214,216],"m":"dec","oa":216,"o":"snd_repeats,x"},{"a":62797,"t":"code","b":[181,236],"m":"lda","oa":236,"o":"snd_loop_positions,x"},{"a":62799,"t":"code","b":[149,232],"m":"sta","oa":232,"o":"snd_positions,x"},{"a":62801,"t":"code","b":[208,11],"m":"bne","oa":62814,"o":"b_F55E"},{"a":62803,"l":"b_F553","t":"code","b":[152],"m":"tya","x":[62786]},{"a":62804,"t":"code","b":[41,63],"m":"and","o":"#$3F"},{"a":62806,"t":"code","b":[149,216],"m":"sta","oa":216,"o":"snd_repeats,x"},{"a":62808,"t":"code","b":[214,216],"m":"dec","oa":216,"o":"snd_repeats,x"},{"a":62810,"t":"code","b":[181,232],"m":"lda","oa":232,"o":"snd_positions,x"},{"a":62812,"t":"code","b":[149,236],"m":"sta","oa":236,"o":"snd_loop_positions,x"},{"a":62814,"l":"b_F55E","t":"code","b":[76,49,245],"m":"jmp","oa":62769,"o":"j_F531","x":[62793,62801]},{"a":62817,"l":"j_F561","t":"code","b":[152],"m":"tya","x":[62788]},{"a":62818,"t":"code","b":[16,23],"m":"bpl","oa":62843,"o":"b_F57B"},{"a":62820,"t":"code","b":[41,15],"m":"and","o":"#$0F"},{"a":62822,"t":"code","b":[24],"m":"clc"},{"a":62823,"t":"code","b":[101,223],"m":"adc","oa":223,"o":"snd_tempo"},{"a":62825,"t":"code","b":[168],"m":"tay"},{"a":62826,"t":"code","b":[185,96,246],"m":"lda","oa":63072,"o":"note_lengths,y"},{"a":62829,"t":"code","b":[149,212],"m":"sta","oa":212,"o":"snd_note_lengths,x"},{"a":62831,"t":"code","b":[168],"m":"tay"},{"a":62832,"t":"code","b":[138],"m":"txa"},{"a":62833,"t":"code","b":[201,2],"m":"cmp","o":"#$02"},{"a":62835,"t":"code","b":[240,79],"m":"beq","oa":62916,"o":"b_F5C4"},{"a":62837,"l":"j_F575","t":"code","b":[180,232],"m":"ldy","oa":232,"o":"snd_positions,x","x":[62942]},{"a":62839,"t":"code","b":[246,232],"m":"inc","oa":232,"o":"snd_positions,x"},{"a":62841,"t":"code","b":[177,254],"m":"lda","oa":254,"o":"(snd_stream_ptr),y"},{"a":62843,"l":"b_F57B","t":"code","b":[168],"m":"tay","x":[62818]},{"a":62844,"t":"code","b":[138],"m":"txa"},{"a":62845,"t":"code","b":[201,3],"m":"cmp","o":"#$03"},{"a":62847,"t":"code","b":[240,96],"m":"beq","oa":62945,"o":"b_F5E1"},{"a":62849,"t":"code","b":[72],"m":"pha"},{"a":62850,"t":"code","b":[170],"m":"tax"},{"a":62851,"t":"code","b":[201,1],"m":"cmp","o":"#$01"},{"a":62853,"t":"code","b":[240,50],"m":"beq","oa":62905,"o":"b_F5B9"},{"a":62855,"l":"b_F587","t":"code","b":[166,253],"m":"ldx","oa":253,"o":"snd_channel_offset","x":[62909]},{"a":62857,"t":"code","b":[185,1,246],"m":"lda","oa":62977,"o":"note_periods_lo,y"},{"a":62860,"t":"code","b":[240,11],"m":"beq","oa":62873,"o":"b_F599"},{"a":62862,"t":"code","b":[157,2,64],"m":"sta","o":"SQ1_LO,x"},{"a":62865,"t":"code","b":[185,0,246],"m":"lda","oa":62976,"o":"note_periods,y"},{"a":62868,"t":"code","b":[9,8],"m":"ora","o":"#$08"},{"a":62870,"t":"code","b":[157,3,64],"m":"sta","o":"SQ1_HI,x"},{"a":62873,"l":"b_F599","t":"code","b":[168],"m":"tay","x":[62860]},{"a":62874,"t":"code","b":[104],"m":"pla"},{"a":62875,"t":"code","b":[170],"m":"tax"},{"a":62876,"t":"code","b":[152],"m":"tya"},{"a":62877,"t":"code","b":[208,11],"m":"bne","oa":62890,"o":"b_F5AA"},{"a":62879,"t":"code","b":[160,0],"m":"ldy","o":"#$00"},{"a":62881,"t":"code","b":[138],"m":"txa"},{"a":62882,"t":"code","b":[201,2],"m":"cmp","o":"#$02"},{"a":62884,"t":"code","b":[240,6],"m":"beq","oa":62892,"o":"b_F5AC"},{"a":62886,"t":"code","b":[160,16],"m":"ldy","o":"#$10"},{"a":62888,"t":"code","b":[208,2],"m":"bne","oa":62892,"o":"b_F5AC"},{"a":62890,"l":"b_F5AA","t":"code","b":[180,220],"m":"ldy","oa":220,"o":"snd_volume_sq1,x","x":[62877]},{"a":62892,"l":"b_F5AC","t":"code","b":[152],"m":"tya","x":[62884,62888]},{"a":62893,"t":"code","b":[164,253],"m":"ldy","oa":253,"o":"snd_channel_offset"},{"a":62895,"t":"code","b":[153,0,64],"m":"sta","o":"SQ1_VOL,y"},{"a":62898,"l":"j_F5B2","t":"code","b":[181,212],"m":"lda","oa":212,"o":"snd_note_lengths,x","x":[62913,62969]},{"a":62900,"t":"code","b":[149,208],"m":"sta","oa":208,"o":"snd_counters,x"},{"a":62902,"t":"code","b":[76,14,245],"m":"jmp","oa":62734,"o":"b_F50E"},{"a":62905,"l":"b_F5B9","t":"code","b":[165,245],"m":"lda","oa":245,"o":"sfx_state_b","x":[62853]},{"a":62907,"t":"code","b":[41,2],"m":"and","o":"#$02"},{"a":62909,"t":"code","b":[240,200],"m":"beq","oa":62855,"o":"b_F587"},{"a":62911,"t":"code","b":[104],"m":"pla"},{"a":62912,"t":"code","b":[170],"m":"tax"},{"a":62913,"t":"code","b":[76,178,245],"m":"jmp","oa":62898,"o":"j_F5B2"},{"a":62916,"l":"b_F5C4","t":"code","b":[152],"m":"tya","x":[62835]},{"a":62917,"t":"code","b":[172,240,7],"m":"ldy","oa":2032,"o":"snd_tri_flag"},{"a":62920,"t":"code","b":[240,4],"m":"beq","oa":62926,"o":"b_F5CE"},{"a":62922,"t":"code","b":[169,255],"m":"lda","o":"#$FF"},{"a":62924,"t":"code","b":[208,11],"m":"bne","oa":62937,"o":"b_F5D9"},{"a":62926,"l":"b_F5CE","t":"code","b":[24],"m":"clc","x":[62920]},{"a":62927,"t":"code","b":[105,254],"m":"adc","o":"#$FE"},{"a":62929,"t":"code","b":[10],"m":"asl","o":"a"},{"a":62930,"t":"code","b":[10],"m":"asl","o":"a"},{"a":62931,"t":"code","b":[201,60],"m":"cmp","o":"#$3C"},{"a":62933,"t":"code","b":[144,2],"m":"bcc","oa":62937,"o":"b_F5D9"},{"a":62935,"t":"code","b":[169,60],"m":"lda","o":"#$3C"},{"a":62937,"l":"b_F5D9","t":"code","b":[141,8,64],"m":"sta","o":"TRI_LINEAR","x":[62924,62933]},{"a":62940,"t":"code","b":[133,222],"m":"sta","oa":222,"o":"snd_tri_linear"},{"a":62942,"t":"code","b":[76,117,245],"m":"jmp","oa":62837,"o":"j_F575"},{"a":62945,"l":"b_F5E1","t":"code","b":[165,244],"m":"lda","oa":244,"o":"sfx_state_a","x":[62847]},{"a":62947,"t":"code","b":[201,2],"m":"cmp","o":"#$02"},{"a":62949,"t":"code","b":[240,18],"m":"beq","oa":62969,"o":"b_F5F9"},{"a":62951,"t":"code","b":[185,0,247],"m":"lda","oa":63232,"o":"noise_periods,y"},{"a":62954,"t":"code","b":[141,12,64],"m":"sta","o":"NOISE_VOL"},{"a":62957,"t":"code","b":[185,1,247],"m":"lda","oa":63233,"o":"noise_periods_1,y"},{"a":62960,"t":"code","b":[141,14,64],"m":"sta","o":"NOISE_LO"},{"a":62963,"t":"code","b":[185,2,247],"m":"lda","oa":63234,"o":"noise_periods_2,y"},{"a":62966,"t":"code","b":[141,15,64],"m":"sta","o":"NOISE_HI"},{"a":62969,"l":"b_F5F9","t":"code","b":[76,178,245],"m":"jmp","oa":62898,"o":"j_F5B2","x":[62949]},{"a":62972,"l":"bird_plop_sfx","c":"Four register bytes for the plop of a bird falling into the water, on square 1: $16, $FF, $10, $C5.","t":"byte","b":[22,255,16,197]},{"a":62976,"l":"note_periods","c":"The pitch table: for each note number (even), the period high byte then low byte for the square channels, 48 notes; the triangle uses the same.","t":"byte","b":[7],"x":[62865]},{"a":62977,"l":"note_periods_lo","c":"note_periods from its second byte: the low period byte of each note, read with the even note number.","t":"byte","b":[240,0,0,0,212,0,200,0],"x":[62857]},{"a":62985,"t":"byte","b":[189,0,178,0,168,0,159,0]},{"a":62993,"t":"byte","b":[150,0,141,0,133,0,126,0]},{"a":63001,"t":"byte","b":[118,0,112,1,171,1,147,1]},{"a":63009,"t":"byte","b":[124,1,103,1,82,1,63,1]},{"a":63017,"t":"byte","b":[45,1,28,1,12,0,253,0]},{"a":63025,"t":"byte","b":[238,0,225,3,87,3,39,2]},{"a":63033,"t":"byte","b":[249,2,207,2,166,2,128,2]},{"a":63041,"t":"byte","b":[92,2,58,2,26,1,252,1]},{"a":63049,"t":"byte","b":[223,1,196,3,248,0,105,0]},{"a":63057,"t":"byte","b":[99,0,94,0,88,0,83,0]},{"a":63065,"t":"byte","b":[79,0,74,0,70,0,66]},{"a":63072,"l":"note_lengths","c":"Note lengths in frames for each tempo and length nibble (35 entries): several scales of 3, 6, 12, 24, 48 and their dotted and triplet values.","t":"byte","b":[3,6,12,24,48,18,36,9],"x":[62826]},{"a":63080,"t":"byte","b":[8,4,7,1,4,8,16,32]},{"a":63088,"t":"byte","b":[64,24,48,12,1,6,12,24]},{"a":63096,"t":"byte","b":[48,96,36,72,18,16,8,14]},{"a":63104,"t":"byte","b":[2,3,4]},{"a":63107,"l":"sfx_set_registers","c":"Writes four bytes from the table at X (low) and Y (high) to the four registers of a channel: square 1 (entered here with 0), triangle (sfx_set_tri, 8), noise (sfx_set_noise, $C), square 2 (sfx_set_sq2, 4).","t":"code","b":[169,0],"m":"lda","o":"#$00","x":[63301,63724,63887,64046]},{"a":63109,"t":"code","b":[240,10],"m":"beq","oa":63121,"o":"b_F691"},{"a":63111,"l":"sfx_set_tri","c":"sfx_set_registers for the triangle channel.","t":"code","b":[169,8],"m":"lda","o":"#$08","x":[64256]},{"a":63113,"t":"code","b":[208,6],"m":"bne","oa":63121,"o":"b_F691"},{"a":63115,"l":"sfx_set_noise","c":"sfx_set_registers for the noise channel.","t":"code","b":[169,12],"m":"lda","o":"#$0C","x":[63609]},{"a":63117,"t":"code","b":[208,2],"m":"bne","oa":63121,"o":"b_F691"},{"a":63119,"l":"sfx_set_sq2","c":"sfx_set_registers for square 2.","t":"code","b":[169,4],"m":"lda","o":"#$04","x":[63738,63880,64114,64127]},{"a":63121,"l":"b_F691","t":"code","b":[133,249],"m":"sta","oa":249,"o":"sfx_data_ptr","x":[63109,63113,63117]},{"a":63123,"t":"code","b":[169,64],"m":"lda","o":"#$40"},{"a":63125,"t":"code","b":[133,250],"m":"sta","oa":250,"o":"sfx_data_ptr_hi"},{"a":63127,"t":"code","b":[134,251],"m":"stx","oa":251,"o":"sfx_src_ptr"},{"a":63129,"t":"code","b":[132,252],"m":"sty","oa":252,"o":"sfx_src_ptr_hi"},{"a":63131,"t":"code","b":[160,0],"m":"ldy","o":"#$00"},{"a":63133,"l":"b_F69D","t":"code","b":[177,251],"m":"lda","oa":251,"o":"(sfx_src_ptr),y","x":[63141]},{"a":63135,"t":"code","b":[145,249],"m":"sta","oa":249,"o":"(sfx_data_ptr),y"},{"a":63137,"t":"code","b":[200],"m":"iny"},{"a":63138,"t":"code","b":[152],"m":"tya"},{"a":63139,"t":"code","b":[201,4],"m":"cmp","o":"#$04"},{"a":63141,"t":"code","b":[208,246],"m":"bne","oa":63133,"o":"b_F69D"},{"a":63143,"t":"code","b":[96],"m":"rts"},{"a":63144,"l":"music_start","c":"Starts the tune whose request bit is in A: its index Y picks the header from tune_headers (tempo and the four channel addresses) into snd_tempo and snd_channel_ptr, the counters are set to 1 and the positions to 0, and music_playing records the bit; a tune started while effects play silences them first (silence_music).","t":"code","b":[170],"m":"tax","x":[64365,64390,64412,64421,64449]},{"a":63145,"t":"code","b":[32,152,247],"m":"jsr","oa":63384,"o":"silence_music"},{"a":63148,"t":"code","b":[134,246],"m":"stx","oa":246,"o":"music_playing"},{"a":63150,"t":"code","b":[173,245,7],"m":"lda","oa":2037,"o":"snd_pending_hit"},{"a":63153,"t":"code","b":[240,11],"m":"beq","oa":63166,"o":"b_F6BE"},{"a":63155,"t":"code","b":[201,2],"m":"cmp","o":"#$02"},{"a":63157,"t":"code","b":[208,7],"m":"bne","oa":63166,"o":"b_F6BE"},{"a":63159,"t":"code","b":[133,240],"m":"sta","oa":240,"o":"sfx_request_a"},{"a":63161,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":63163,"t":"code","b":[141,245,7],"m":"sta","oa":2037,"o":"snd_pending_hit"},{"a":63166,"l":"b_F6BE","t":"code","b":[185,202,251],"m":"lda","oa":64458,"o":"tune_headers,y","x":[63153,63157]},{"a":63169,"t":"code","b":[168],"m":"tay"},{"a":63170,"t":"code","b":[162,0],"m":"ldx","o":"#$00"},{"a":63172,"l":"b_F6C4","t":"code","b":[185,202,251],"m":"lda","oa":64458,"o":"tune_headers,y","x":[63182]},{"a":63175,"t":"code","b":[149,223],"m":"sta","oa":223,"o":"snd_tempo,x"},{"a":63177,"t":"code","b":[200],"m":"iny"},{"a":63178,"t":"code","b":[232],"m":"inx"},{"a":63179,"t":"code","b":[138],"m":"txa"},{"a":63180,"t":"code","b":[201,9],"m":"cmp","o":"#$09"},{"a":63182,"t":"code","b":[208,244],"m":"bne","oa":63172,"o":"b_F6C4"},{"a":63184,"t":"code","b":[169,1],"m":"lda","o":"#$01"},{"a":63186,"t":"code","b":[133,208],"m":"sta","oa":208,"o":"snd_counters"},{"a":63188,"t":"code","b":[133,209],"m":"sta","oa":209,"o":"snd_counter_sq2"},{"a":63190,"t":"code","b":[133,210],"m":"sta","oa":210,"o":"snd_counter_tri"},{"a":63192,"t":"code","b":[133,211],"m":"sta","oa":211,"o":"snd_counter_noise"},{"a":63194,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":63196,"t":"code","b":[133,232],"m":"sta","oa":232,"o":"snd_positions"},{"a":63198,"t":"code","b":[133,233],"m":"sta","oa":233,"o":"snd_position_sq2"},{"a":63200,"t":"code","b":[133,234],"m":"sta","oa":234,"o":"snd_position_tri"},{"a":63202,"t":"code","b":[133,235],"m":"sta","oa":235,"o":"snd_position_noise"},{"a":63204,"t":"code","b":[96],"m":"rts"},{"a":63205,"l":"flap_sfx","c":"Register bytes for the flap: $94, $AB, $FD, $58.","t":"byte","b":[148,171,253,88]},{"a":63209,"l":"footstep_sfx","c":"Register bytes for a footstep (noise): $00, $7F, $04, $18.","t":"byte","b":[0,127,4,24]},{"a":63213,"l":"lightning_sfx","c":"Register bytes for the lightning's crackle (noise): $3F, $7F, $00, $00; its period then sweeps up (lightning_sfx_update).","t":"byte","b":[63,127,0,0]},{"a":63217,"l":"hit_sfx","c":"Register bytes for a hit (a balloon, a bubble, a kick): $06, $7F, $0A, $C0.","t":"byte","b":[6,127,10,192]},{"a":63221,"l":"fall_sfx","c":"Register bytes for the fall into the water: $08, $7F, $05, $C0.","t":"byte","b":[8,127,5,192]},{"a":63225,"l":"spark_hit_sfx","c":"Register bytes for being hit by a spark: $C1, $89, $02, $0F. The three $FF after are unused.","t":"byte","b":[193,137,2,15,255,255,255]},{"a":63232,"l":"noise_periods","c":"The noise channel's notes, three bytes each (volume, period, length): six entries.","t":"byte","b":[16],"x":[62951]},{"a":63233,"l":"noise_periods_1","c":"noise_periods from its second byte: the period of each noise note.","t":"byte","b":[0],"x":[62957]},{"a":63234,"l":"noise_periods_2","c":"noise_periods from its third byte: the length byte of each noise note.","t":"byte","b":[24,16,1,24,0,1,136,2],"x":[62963]},{"a":63242,"t":"byte","b":[2,64,3,5,64,4,7,64]},{"a":63250,"l":"sfx_reset_sweeps","c":"Writes $7F to both square sweep registers (sweep off), then set_music_volumes.","t":"code","b":[169,127],"m":"lda","o":"#$7F","x":[64372,64428]},{"a":63252,"t":"code","b":[141,1,64],"m":"sta","o":"SQ1_SWEEP"},{"a":63255,"t":"code","b":[141,5,64],"m":"sta","o":"SQ2_SWEEP"},{"a":63258,"l":"set_music_volumes","c":"The volume and duty bytes the music uses for square 1 (X) and square 2 (Y).","t":"code","b":[134,220],"m":"stx","oa":220,"o":"snd_volume_sq1","x":[64397]},{"a":63260,"t":"code","b":[132,221],"m":"sty","oa":221,"o":"snd_volume_sq2"},{"a":63262,"t":"code","b":[96],"m":"rts"},{"a":63263,"l":"flap_sound","c":"Starts the flap effect on square 1 (flap_sfx).","t":"code","b":[162,229],"m":"ldx","o":"#$E5","x":[63283]},{"a":63265,"t":"code","b":[160,246],"m":"ldy","o":"#$F6"},{"a":63267,"t":"code","b":[208,32],"m":"bne","oa":63301,"o":"b_F745"},{"a":63269,"l":"bird_plop_sfx_update","c":"The plop of a bird falling into the water (sfx_request_c bit 0): bird_plop_sfx on square 1, with sfx_state_c bit 0 held for 88 frames (counted in snd_spark_bounce_count); otherwise the player's flap is started on request (flap_sound).","t":"code","b":[165,243],"m":"lda","oa":243,"o":"sfx_request_c","x":[63819]},{"a":63271,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":63272,"t":"code","b":[176,12],"m":"bcs","oa":63286,"o":"b_F736"},{"a":63274,"t":"code","b":[165,247],"m":"lda","oa":247,"o":"sfx_state_c"},{"a":63276,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":63277,"t":"code","b":[176,26],"m":"bcs","oa":63305,"o":"b_F749"},{"a":63279,"t":"code","b":[165,240],"m":"lda","oa":240,"o":"sfx_request_a"},{"a":63281,"t":"code","b":[41,16],"m":"and","o":"#$10"},{"a":63283,"t":"code","b":[208,234],"m":"bne","oa":63263,"o":"flap_sound"},{"a":63285,"t":"code","b":[96],"m":"rts"},{"a":63286,"l":"b_F736","t":"code","b":[165,247],"m":"lda","oa":247,"o":"sfx_state_c","x":[63272]},{"a":63288,"t":"code","b":[9,1],"m":"ora","o":"#$01"},{"a":63290,"t":"code","b":[133,247],"m":"sta","oa":247,"o":"sfx_state_c"},{"a":63292,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":63294,"t":"code","b":[141,228,7],"m":"sta","oa":2020,"o":"snd_plop_count"},{"a":63297,"t":"code","b":[162,252],"m":"ldx","o":"#$FC"},{"a":63299,"t":"code","b":[160,245],"m":"ldy","o":"#$F5"},{"a":63301,"l":"b_F745","t":"code","b":[32,131,246],"m":"jsr","oa":63107,"o":"sfx_set_registers","x":[63267]},{"a":63304,"t":"code","b":[96],"m":"rts"},{"a":63305,"l":"b_F749","t":"code","b":[238,228,7],"m":"inc","oa":2020,"o":"snd_plop_count","x":[63277]},{"a":63308,"t":"code","b":[173,228,7],"m":"lda","oa":2020,"o":"snd_plop_count"},{"a":63311,"t":"code","b":[201,88],"m":"cmp","o":"#$58"},{"a":63313,"t":"code","b":[208,40],"m":"bne","oa":63355,"o":"r_F77B"},{"a":63315,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":63317,"t":"code","b":[133,247],"m":"sta","oa":247,"o":"sfx_state_c"},{"a":63319,"t":"code","b":[96],"m":"rts"},{"a":63320,"l":"sound_frame","c":"The sound driver, once a frame from the NMI handler: the APU frame counter reset ($C0 to $4017), then the music (music_update), the three effect groups (sfx_update_a, sfx_update_b, sfx_update_c) and the group that stops them (sfx_stop_update); sfx_request_b is copied for next frame and the four request bytes cleared.","t":"code","b":[169,192],"m":"lda","o":"#$C0","x":[65527]},{"a":63322,"t":"code","b":[141,23,64],"m":"sta","o":"JOY2_FRAME"},{"a":63325,"t":"code","b":[32,37,251],"m":"jsr","oa":64293,"o":"music_update"},{"a":63328,"t":"code","b":[32,10,249],"m":"jsr","oa":63754,"o":"sfx_update_a"},{"a":63331,"t":"code","b":[32,56,250],"m":"jsr","oa":64056,"o":"sfx_update_b"},{"a":63334,"t":"code","b":[32,172,250],"m":"jsr","oa":64172,"o":"sfx_update_c"},{"a":63337,"t":"code","b":[32,36,248],"m":"jsr","oa":63524,"o":"sfx_stop_update"},{"a":63340,"t":"code","b":[165,241],"m":"lda","oa":241,"o":"sfx_request_b"},{"a":63342,"t":"code","b":[141,233,7],"m":"sta","oa":2025,"o":"snd_request_b_last"},{"a":63345,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":63347,"t":"code","b":[133,240],"m":"sta","oa":240,"o":"sfx_request_a"},{"a":63349,"t":"code","b":[133,241],"m":"sta","oa":241,"o":"sfx_request_b"},{"a":63351,"t":"code","b":[133,242],"m":"sta","oa":242,"o":"music_request"},{"a":63353,"t":"code","b":[133,243],"m":"sta","oa":243,"o":"sfx_request_c"},{"a":63355,"l":"r_F77B","t":"code","b":[96],"m":"rts","x":[63313,63360]},{"a":63356,"l":"footstep_sfx_start","c":"Starts the footstep (sfx_request_a bit 3) on the noise channel (footstep_sfx), unless the hit or the lightning effect is sounding.","t":"code","b":[165,244],"m":"lda","oa":244,"o":"sfx_state_a","x":[63580]},{"a":63358,"t":"code","b":[41,6],"m":"and","o":"#$06"},{"a":63360,"t":"code","b":[208,249],"m":"bne","oa":63355,"o":"r_F77B"},{"a":63362,"t":"code","b":[165,244],"m":"lda","oa":244,"o":"sfx_state_a"},{"a":63364,"t":"code","b":[41,240],"m":"and","o":"#$F0"},{"a":63366,"t":"code","b":[133,244],"m":"sta","oa":244,"o":"sfx_state_a"},{"a":63368,"t":"code","b":[162,233],"m":"ldx","o":"#$E9"},{"a":63370,"t":"code","b":[160,246],"m":"ldy","o":"#$F6"},{"a":63372,"t":"code","b":[76,121,248],"m":"jmp","oa":63609,"o":"j_F879"},{"a":63375,"l":"music_ended","c":"A tune's stream ended: the bonus and Balloon Trip music ($20) loops by setting its restart flag; falls into silence_music.","t":"code","b":[165,246],"m":"lda","oa":246,"o":"music_playing","x":[62720]},{"a":63377,"t":"code","b":[201,32],"m":"cmp","o":"#$20"},{"a":63379,"t":"code","b":[208,10],"m":"bne","oa":63391,"o":"b_F79F"},{"a":63381,"t":"code","b":[238,232,7],"m":"inc","oa":2024,"o":"snd_music_loop"},{"a":63384,"l":"silence_music","c":"Called when a tune starts while an effect's state has its low nibble $0F (an effect using every channel) or at the end: silences the music's registers.","t":"code","b":[41,15],"m":"and","o":"#$0F","x":[63145]},{"a":63386,"t":"code","b":[201,15],"m":"cmp","o":"#$0F"},{"a":63388,"t":"code","b":[208,7],"m":"bne","oa":63397,"o":"silence_all"},{"a":63390,"t":"code","b":[138],"m":"txa"},{"a":63391,"l":"b_F79F","t":"code","b":[165,244],"m":"lda","oa":244,"o":"sfx_state_a","x":[63379,64223]},{"a":63393,"t":"code","b":[41,32],"m":"and","o":"#$20"},{"a":63395,"t":"code","b":[208,34],"m":"bne","oa":63431,"o":"silence_sq2_noise"},{"a":63397,"l":"silence_all","c":"Volume off for the noise and both squares, sfx_state_a and the rest cleared, the triangle and the DMC level 0.","t":"code","b":[169,16],"m":"lda","o":"#$10","x":[63388,63521,63709,63768,64039]},{"a":63399,"t":"code","b":[141,12,64],"m":"sta","o":"NOISE_VOL"},{"a":63402,"t":"code","b":[141,0,64],"m":"sta","o":"SQ1_VOL"},{"a":63405,"t":"code","b":[141,4,64],"m":"sta","o":"SQ2_VOL"},{"a":63408,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":63410,"t":"code","b":[133,244],"m":"sta","oa":244,"o":"sfx_state_a"},{"a":63412,"l":"b_F7B4","t":"code","b":[133,245],"m":"sta","oa":245,"o":"sfx_state_b","x":[63441]},{"a":63414,"t":"code","b":[133,246],"m":"sta","oa":246,"o":"music_playing"},{"a":63416,"t":"code","b":[141,250,7],"m":"sta","oa":2042,"o":"ram_signature"},{"a":63419,"t":"code","b":[133,247],"m":"sta","oa":247,"o":"sfx_state_c"},{"a":63421,"t":"code","b":[141,8,64],"m":"sta","o":"TRI_LINEAR"},{"a":63424,"t":"code","b":[141,17,64],"m":"sta","o":"DMC_RAW"},{"a":63427,"t":"code","b":[141,240,7],"m":"sta","oa":2032,"o":"snd_tri_flag"},{"a":63430,"t":"code","b":[96],"m":"rts"},{"a":63431,"l":"silence_sq2_noise","c":"Square 2 and the noise off, with the states cleared (an effect owned square 1).","t":"code","b":[169,16],"m":"lda","o":"#$10","x":[63395]},{"a":63433,"t":"code","b":[141,4,64],"m":"sta","o":"SQ2_VOL"},{"a":63436,"t":"code","b":[141,12,64],"m":"sta","o":"NOISE_VOL"},{"a":63439,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":63441,"t":"code","b":[240,225],"m":"beq","oa":63412,"o":"b_F7B4"},{"a":63443,"l":"fall_sfx_end","c":"Clears the fall effect's flag at the end of its 32 frames.","t":"code","b":[169,0],"m":"lda","o":"#$00","x":[63468]},{"a":63445,"t":"code","b":[141,250,7],"m":"sta","oa":2042,"o":"ram_signature"},{"a":63448,"t":"code","b":[96],"m":"rts"},{"a":63449,"l":"fall_sfx_second","c":"The second half of the fall effect: fall_sfx on the noise channel.","t":"code","b":[162,245],"m":"ldx","o":"#$F5","x":[63464]},{"a":63451,"t":"code","b":[160,246],"m":"ldy","o":"#$F6"},{"a":63453,"t":"code","b":[76,121,248],"m":"jmp","oa":63609,"o":"j_F879"},{"a":63456,"l":"fall_sfx_update","c":"The fall effect's counter: at 16 the second half, at 32 the end.","t":"code","b":[238,251,7],"m":"inc","oa":2043,"o":"snd_fall_count","x":[63556]},{"a":63459,"t":"code","b":[173,251,7],"m":"lda","oa":2043,"o":"snd_fall_count"},{"a":63462,"t":"code","b":[201,16],"m":"cmp","o":"#$10"},{"a":63464,"t":"code","b":[240,239],"m":"beq","oa":63449,"o":"fall_sfx_second"},{"a":63466,"t":"code","b":[201,32],"m":"cmp","o":"#$20"},{"a":63468,"t":"code","b":[240,229],"m":"beq","oa":63443,"o":"fall_sfx_end"},{"a":63470,"t":"code","b":[96],"m":"rts"},{"a":63471,"l":"fall_sfx_start","c":"Starts the fall effect: its flag set, the hit effect's registers to the noise channel.","t":"code","b":[169,0],"m":"lda","o":"#$00","x":[63552]},{"a":63473,"t":"code","b":[141,251,7],"m":"sta","oa":2043,"o":"snd_fall_count"},{"a":63476,"t":"code","b":[169,240],"m":"lda","o":"#$F0"},{"a":63478,"t":"code","b":[141,250,7],"m":"sta","oa":2042,"o":"ram_signature"},{"a":63481,"t":"code","b":[162,241],"m":"ldx","o":"#$F1"},{"a":63483,"t":"code","b":[160,246],"m":"ldy","o":"#$F6"},{"a":63485,"t":"code","b":[76,121,248],"m":"jmp","oa":63609,"o":"j_F879"},{"a":63488,"l":"hit_sfx_start","c":"Starts the hit effect (sfx_state_a 2): hit_sfx on the noise channel.","t":"code","b":[165,244],"m":"lda","oa":244,"o":"sfx_state_a","x":[63562]},{"a":63490,"t":"code","b":[41,240],"m":"and","o":"#$F0"},{"a":63492,"t":"code","b":[9,2],"m":"ora","o":"#$02"},{"a":63494,"t":"code","b":[133,244],"m":"sta","oa":244,"o":"sfx_state_a"},{"a":63496,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":63498,"t":"code","b":[141,247,7],"m":"sta","oa":2039,"o":"snd_hit_count"},{"a":63501,"t":"code","b":[162,241],"m":"ldx","o":"#$F1"},{"a":63503,"t":"code","b":[160,246],"m":"ldy","o":"#$F6"},{"a":63505,"t":"code","b":[76,121,248],"m":"jmp","oa":63609,"o":"j_F879"},{"a":63508,"l":"hit_sfx_update","c":"The hit effect lasts 16 frames, then its state is cleared.","t":"code","b":[238,247,7],"m":"inc","oa":2039,"o":"snd_hit_count","x":[63574]},{"a":63511,"t":"code","b":[173,247,7],"m":"lda","oa":2039,"o":"snd_hit_count"},{"a":63514,"t":"code","b":[201,16],"m":"cmp","o":"#$10"},{"a":63516,"t":"code","b":[208,61],"m":"bne","oa":63579,"o":"r_F85B"},{"a":63518,"t":"code","b":[76,155,248],"m":"jmp","oa":63643,"o":"j_F89B"},{"a":63521,"l":"b_F821","t":"code","b":[76,165,247],"m":"jmp","oa":63397,"o":"silence_all","x":[63527]},{"a":63524,"l":"sfx_stop_update","c":"sfx_request_a bit 0 silences everything. While a tune that owns the channels plays, the effects of sfx_request_a that use them are held off; the fall effect's counter, the hit effect (bit 1), the lightning (bit 2, lightning_sfx_start) and the footstep (bit 3, footstep_sfx_start) are started here, and the hit and lightning effects stepped.","t":"code","b":[165,240],"m":"lda","oa":240,"o":"sfx_request_a","x":[63337]},{"a":63526,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":63527,"t":"code","b":[176,248],"m":"bcs","oa":63521,"o":"b_F821"},{"a":63529,"t":"code","b":[165,246],"m":"lda","oa":246,"o":"music_playing"},{"a":63531,"t":"code","b":[201,223],"m":"cmp","o":"#$DF"},{"a":63533,"t":"code","b":[240,12],"m":"beq","oa":63547,"o":"b_F83B"},{"a":63535,"t":"code","b":[201,127],"m":"cmp","o":"#$7F"},{"a":63537,"t":"code","b":[240,8],"m":"beq","oa":63547,"o":"b_F83B"},{"a":63539,"t":"code","b":[201,32],"m":"cmp","o":"#$20"},{"a":63541,"t":"code","b":[240,4],"m":"beq","oa":63547,"o":"b_F83B"},{"a":63543,"t":"code","b":[165,246],"m":"lda","oa":246,"o":"music_playing"},{"a":63545,"t":"code","b":[208,32],"m":"bne","oa":63579,"o":"r_F85B"},{"a":63547,"l":"b_F83B","t":"code","b":[173,250,7],"m":"lda","oa":2042,"o":"ram_signature","x":[63533,63537,63541]},{"a":63550,"t":"code","b":[201,15],"m":"cmp","o":"#$0F"},{"a":63552,"t":"code","b":[240,173],"m":"beq","oa":63471,"o":"fall_sfx_start"},{"a":63554,"t":"code","b":[201,240],"m":"cmp","o":"#$F0"},{"a":63556,"t":"code","b":[240,154],"m":"beq","oa":63456,"o":"fall_sfx_update"},{"a":63558,"t":"code","b":[165,240],"m":"lda","oa":240,"o":"sfx_request_a"},{"a":63560,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":63561,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":63562,"t":"code","b":[176,180],"m":"bcs","oa":63488,"o":"hit_sfx_start"},{"a":63564,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":63565,"t":"code","b":[176,16],"m":"bcs","oa":63583,"o":"lightning_sfx_start"},{"a":63567,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":63568,"t":"code","b":[176,10],"m":"bcs","oa":63580,"o":"b_F85C"},{"a":63570,"t":"code","b":[165,244],"m":"lda","oa":244,"o":"sfx_state_a"},{"a":63572,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":63573,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":63574,"t":"code","b":[176,188],"m":"bcs","oa":63508,"o":"hit_sfx_update"},{"a":63576,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":63577,"t":"code","b":[176,34],"m":"bcs","oa":63613,"o":"lightning_sfx_update"},{"a":63579,"l":"r_F85B","t":"code","b":[96],"m":"rts","x":[63516,63545,63587]},{"a":63580,"l":"b_F85C","t":"code","b":[76,124,247],"m":"jmp","oa":63356,"o":"footstep_sfx_start","x":[63568]},{"a":63583,"l":"lightning_sfx_start","c":"Starts the lightning's crackle (sfx_request_a bit 2, a spark thrown) on the noise channel: sfx_state_a 4, lightning_sfx, unless the spark-hit effect is sounding.","t":"code","b":[165,244],"m":"lda","oa":244,"o":"sfx_state_a","x":[63565]},{"a":63585,"t":"code","b":[41,128],"m":"and","o":"#$80"},{"a":63587,"t":"code","b":[208,246],"m":"bne","oa":63579,"o":"r_F85B"},{"a":63589,"t":"code","b":[165,244],"m":"lda","oa":244,"o":"sfx_state_a"},{"a":63591,"t":"code","b":[41,240],"m":"and","o":"#$F0"},{"a":63593,"t":"code","b":[9,4],"m":"ora","o":"#$04"},{"a":63595,"t":"code","b":[133,244],"m":"sta","oa":244,"o":"sfx_state_a"},{"a":63597,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":63599,"t":"code","b":[141,243,7],"m":"sta","oa":2035,"o":"snd_lightning_count"},{"a":63602,"t":"code","b":[141,241,7],"m":"sta","oa":2033,"o":"snd_lightning_step"},{"a":63605,"t":"code","b":[162,237],"m":"ldx","o":"#$ED"},{"a":63607,"t":"code","b":[160,246],"m":"ldy","o":"#$F6"},{"a":63609,"l":"j_F879","t":"code","b":[32,139,246],"m":"jsr","oa":63115,"o":"sfx_set_noise","x":[63372,63453,63485,63505]},{"a":63612,"t":"code","b":[96],"m":"rts"},{"a":63613,"l":"lightning_sfx_update","c":"The lightning effect: every three frames the noise period steps up, 16 steps, then the noise is silenced and the state cleared.","t":"code","b":[238,243,7],"m":"inc","oa":2035,"o":"snd_lightning_count","x":[63577]},{"a":63616,"t":"code","b":[173,243,7],"m":"lda","oa":2035,"o":"snd_lightning_count"},{"a":63619,"t":"code","b":[201,3],"m":"cmp","o":"#$03"},{"a":63621,"t":"code","b":[208,26],"m":"bne","oa":63649,"o":"r_F8A1"},{"a":63623,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":63625,"t":"code","b":[141,243,7],"m":"sta","oa":2035,"o":"snd_lightning_count"},{"a":63628,"t":"code","b":[238,241,7],"m":"inc","oa":2033,"o":"snd_lightning_step"},{"a":63631,"t":"code","b":[173,241,7],"m":"lda","oa":2033,"o":"snd_lightning_step"},{"a":63634,"t":"code","b":[201,16],"m":"cmp","o":"#$10"},{"a":63636,"t":"code","b":[208,12],"m":"bne","oa":63650,"o":"b_F8A2"},{"a":63638,"t":"code","b":[169,16],"m":"lda","o":"#$10"},{"a":63640,"t":"code","b":[141,12,64],"m":"sta","o":"NOISE_VOL"},{"a":63643,"l":"j_F89B","t":"code","b":[165,244],"m":"lda","oa":244,"o":"sfx_state_a","x":[63518]},{"a":63645,"t":"code","b":[41,240],"m":"and","o":"#$F0"},{"a":63647,"t":"code","b":[133,244],"m":"sta","oa":244,"o":"sfx_state_a"},{"a":63649,"l":"r_F8A1","t":"code","b":[96],"m":"rts","x":[63621]},{"a":63650,"l":"b_F8A2","t":"code","b":[141,14,64],"m":"sta","o":"NOISE_LO","x":[63636]},{"a":63653,"t":"code","b":[96],"m":"rts"},{"a":63654,"l":"spark_bounce_sfx_start","c":"A spark bounces (sfx_request_c bit 7): a random length 2 to 9 frames and a random pitch on both squares (spark_tone), sfx_state_c bit 7.","t":"code","b":[169,0],"m":"lda","o":"#$00","x":[63751]},{"a":63656,"t":"code","b":[141,224,7],"m":"sta","oa":2016,"o":"snd_var_e0"},{"a":63659,"t":"code","b":[24],"m":"clc"},{"a":63660,"t":"code","b":[165,27],"m":"lda","oa":27,"o":"random"},{"a":63662,"t":"code","b":[41,7],"m":"and","o":"#$07"},{"a":63664,"t":"code","b":[105,2],"m":"adc","o":"#$02"},{"a":63666,"t":"code","b":[141,225,7],"m":"sta","oa":2017,"o":"snd_spark_hit_len"},{"a":63669,"t":"code","b":[165,247],"m":"lda","oa":247,"o":"sfx_state_c"},{"a":63671,"t":"code","b":[41,0],"m":"and","o":"#$00"},{"a":63673,"t":"code","b":[9,128],"m":"ora","o":"#$80"},{"a":63675,"t":"code","b":[133,247],"m":"sta","oa":247,"o":"sfx_state_c"},{"a":63677,"t":"code","b":[208,41],"m":"bne","oa":63720,"o":"spark_tone"},{"a":63679,"l":"spark_bounce_sfx_update","c":"Counts the spark bounce effect to its length, then silences both squares.","t":"code","b":[238,224,7],"m":"inc","oa":2016,"o":"snd_var_e0","x":[63823]},{"a":63682,"t":"code","b":[173,224,7],"m":"lda","oa":2016,"o":"snd_var_e0"},{"a":63685,"t":"code","b":[205,225,7],"m":"cmp","oa":2017,"o":"snd_spark_hit_len"},{"a":63688,"t":"code","b":[208,30],"m":"bne","oa":63720,"o":"spark_tone"},{"a":63690,"l":"sfx_squares_off","c":"Volume off on both squares; sfx_state_c and the high nibble of sfx_state_a cleared.","t":"code","b":[169,16],"m":"lda","o":"#$10","x":[63946]},{"a":63692,"t":"code","b":[141,0,64],"m":"sta","o":"SQ1_VOL"},{"a":63695,"t":"code","b":[141,4,64],"m":"sta","o":"SQ2_VOL"},{"a":63698,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":63700,"t":"code","b":[133,247],"m":"sta","oa":247,"o":"sfx_state_c"},{"a":63702,"t":"code","b":[165,244],"m":"lda","oa":244,"o":"sfx_state_a"},{"a":63704,"t":"code","b":[41,15],"m":"and","o":"#$0F"},{"a":63706,"t":"code","b":[133,244],"m":"sta","oa":244,"o":"sfx_state_a"},{"a":63708,"t":"code","b":[96],"m":"rts"},{"a":63709,"l":"spark_hit_sfx_start","c":"Hit by a spark (sfx_request_a bit 7): everything silenced, sfx_state_a $80, the hit sound asked for too, then spark_tone.","t":"code","b":[32,165,247],"m":"jsr","oa":63397,"o":"silence_all","x":[63774]},{"a":63712,"t":"code","b":[169,128],"m":"lda","o":"#$80"},{"a":63714,"t":"code","b":[133,244],"m":"sta","oa":244,"o":"sfx_state_a"},{"a":63716,"t":"code","b":[169,2],"m":"lda","o":"#$02"},{"a":63718,"t":"code","b":[133,240],"m":"sta","oa":240,"o":"sfx_request_a"},{"a":63720,"l":"spark_tone","c":"Both squares play spark_hit_sfx with a random fine period from random: square 1 the low nibble, square 2 two bits further up.","t":"code","b":[162,249],"m":"ldx","o":"#$F9","x":[63677,63688,63785]},{"a":63722,"t":"code","b":[160,246],"m":"ldy","o":"#$F6"},{"a":63724,"t":"code","b":[32,131,246],"m":"jsr","oa":63107,"o":"sfx_set_registers"},{"a":63727,"t":"code","b":[165,27],"m":"lda","oa":27,"o":"random"},{"a":63729,"t":"code","b":[41,15],"m":"and","o":"#$0F"},{"a":63731,"t":"code","b":[141,2,64],"m":"sta","o":"SQ1_LO"},{"a":63734,"t":"code","b":[162,249],"m":"ldx","o":"#$F9"},{"a":63736,"t":"code","b":[160,246],"m":"ldy","o":"#$F6"},{"a":63738,"t":"code","b":[32,143,246],"m":"jsr","oa":63119,"o":"sfx_set_sq2"},{"a":63741,"t":"code","b":[165,27],"m":"lda","oa":27,"o":"random"},{"a":63743,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":63744,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":63745,"t":"code","b":[41,15],"m":"and","o":"#$0F"},{"a":63747,"t":"code","b":[141,6,64],"m":"sta","o":"SQ2_LO"},{"a":63750,"t":"code","b":[96],"m":"rts"},{"a":63751,"l":"b_F907","t":"code","b":[76,166,248],"m":"jmp","oa":63654,"o":"spark_bounce_sfx_start","x":[63806]},{"a":63754,"l":"sfx_update_a","c":"The effects of sfx_request_a bits 7, 6 and 5 (spark hit, fall, balloon pop) and the spark hit's continuation, which silence a tune in progress; then, with no tune and no effect holding the channels, the effects of sfx_request_c bits 7 and 6 (a spark bounces, the fish rises) and the running spark bounce and fish effects; else bird_plop_sfx_update.","t":"code","b":[165,246],"m":"lda","oa":246,"o":"music_playing","x":[63328]},{"a":63756,"t":"code","b":[240,13],"m":"beq","oa":63771,"o":"b_F91B"},{"a":63758,"t":"code","b":[201,223],"m":"cmp","o":"#$DF"},{"a":63760,"t":"code","b":[240,9],"m":"beq","oa":63771,"o":"b_F91B"},{"a":63762,"t":"code","b":[165,240],"m":"lda","oa":240,"o":"sfx_request_a"},{"a":63764,"t":"code","b":[41,224],"m":"and","o":"#$E0"},{"a":63766,"t":"code","b":[240,54],"m":"beq","oa":63822,"o":"r_F94E"},{"a":63768,"t":"code","b":[32,165,247],"m":"jsr","oa":63397,"o":"silence_all"},{"a":63771,"l":"b_F91B","t":"code","b":[165,240],"m":"lda","oa":240,"o":"sfx_request_a","x":[63756,63760]},{"a":63773,"t":"code","b":[10],"m":"asl","o":"a"},{"a":63774,"t":"code","b":[176,189],"m":"bcs","oa":63709,"o":"spark_hit_sfx_start"},{"a":63776,"t":"code","b":[10],"m":"asl","o":"a"},{"a":63777,"t":"code","b":[176,47],"m":"bcs","oa":63826,"o":"fall_sfx_start_main"},{"a":63779,"t":"code","b":[10],"m":"asl","o":"a"},{"a":63780,"t":"code","b":[176,63],"m":"bcs","oa":63845,"o":"pop_sfx_start"},{"a":63782,"t":"code","b":[165,244],"m":"lda","oa":244,"o":"sfx_state_a"},{"a":63784,"t":"code","b":[10],"m":"asl","o":"a"},{"a":63785,"t":"code","b":[176,189],"m":"bcs","oa":63720,"o":"spark_tone"},{"a":63787,"t":"code","b":[165,244],"m":"lda","oa":244,"o":"sfx_state_a"},{"a":63789,"t":"code","b":[41,224],"m":"and","o":"#$E0"},{"a":63791,"t":"code","b":[208,29],"m":"bne","oa":63822,"o":"r_F94E"},{"a":63793,"t":"code","b":[165,246],"m":"lda","oa":246,"o":"music_playing"},{"a":63795,"t":"code","b":[201,223],"m":"cmp","o":"#$DF"},{"a":63797,"t":"code","b":[240,20],"m":"beq","oa":63819,"o":"b_F94B"},{"a":63799,"t":"code","b":[165,246],"m":"lda","oa":246,"o":"music_playing"},{"a":63801,"t":"code","b":[208,19],"m":"bne","oa":63822,"o":"r_F94E"},{"a":63803,"t":"code","b":[165,243],"m":"lda","oa":243,"o":"sfx_request_c"},{"a":63805,"t":"code","b":[10],"m":"asl","o":"a"},{"a":63806,"t":"code","b":[176,199],"m":"bcs","oa":63751,"o":"b_F907"},{"a":63808,"t":"code","b":[10],"m":"asl","o":"a"},{"a":63809,"t":"code","b":[176,52],"m":"bcs","oa":63863,"o":"fish_rise_sfx_start"},{"a":63811,"t":"code","b":[165,247],"m":"lda","oa":247,"o":"sfx_state_c"},{"a":63813,"t":"code","b":[10],"m":"asl","o":"a"},{"a":63814,"t":"code","b":[176,7],"m":"bcs","oa":63823,"o":"b_F94F"},{"a":63816,"t":"code","b":[10],"m":"asl","o":"a"},{"a":63817,"t":"code","b":[176,72],"m":"bcs","oa":63891,"o":"fish_rise_sfx_update"},{"a":63819,"l":"b_F94B","t":"code","b":[32,37,247],"m":"jsr","oa":63269,"o":"bird_plop_sfx_update","x":[63797]},{"a":63822,"l":"r_F94E","t":"code","b":[96],"m":"rts","x":[63766,63791,63801]},{"a":63823,"l":"b_F94F","t":"code","b":[76,191,248],"m":"jmp","oa":63679,"o":"spark_bounce_sfx_update","x":[63814]},{"a":63826,"l":"fall_sfx_start_main","c":"The fall into the water (sfx_request_a bit 6): sfx_state_a $40, its flag, and fall_sfx_regs ($F9D1) on square 1.","t":"code","b":[169,15],"m":"lda","o":"#$0F","x":[63777]},{"a":63828,"t":"code","b":[141,250,7],"m":"sta","oa":2042,"o":"ram_signature"},{"a":63831,"t":"code","b":[165,244],"m":"lda","oa":244,"o":"sfx_state_a"},{"a":63833,"t":"code","b":[41,15],"m":"and","o":"#$0F"},{"a":63835,"t":"code","b":[9,64],"m":"ora","o":"#$40"},{"a":63837,"t":"code","b":[133,244],"m":"sta","oa":244,"o":"sfx_state_a"},{"a":63839,"t":"code","b":[162,209],"m":"ldx","o":"#$D1"},{"a":63841,"t":"code","b":[160,249],"m":"ldy","o":"#$F9"},{"a":63843,"t":"code","b":[208,42],"m":"bne","oa":63887,"o":"b_F98F"},{"a":63845,"l":"pop_sfx_start","c":"A balloon popped (sfx_request_a bit 5): the hit sound too, sfx_state_a $20, and pop_sfx_regs ($F9CD) on square 1.","t":"code","b":[169,2],"m":"lda","o":"#$02","x":[63780]},{"a":63847,"t":"code","b":[133,240],"m":"sta","oa":240,"o":"sfx_request_a"},{"a":63849,"t":"code","b":[165,244],"m":"lda","oa":244,"o":"sfx_state_a"},{"a":63851,"t":"code","b":[41,15],"m":"and","o":"#$0F"},{"a":63853,"t":"code","b":[9,32],"m":"ora","o":"#$20"},{"a":63855,"t":"code","b":[133,244],"m":"sta","oa":244,"o":"sfx_state_a"},{"a":63857,"t":"code","b":[162,205],"m":"ldx","o":"#$CD"},{"a":63859,"t":"code","b":[160,249],"m":"ldy","o":"#$F9"},{"a":63861,"t":"code","b":[208,24],"m":"bne","oa":63887,"o":"b_F98F"},{"a":63863,"l":"fish_rise_sfx_start","c":"The fish rises (sfx_request_c bit 6): sfx_state_c $40, its counter cleared, fish_rise_sfx_regs on square 2 and square 1.","t":"code","b":[169,0],"m":"lda","o":"#$00","x":[63809]},{"a":63865,"t":"code","b":[141,252,7],"m":"sta","oa":2044,"o":"snd_fish_count"},{"a":63868,"t":"code","b":[165,247],"m":"lda","oa":247,"o":"sfx_state_c"},{"a":63870,"t":"code","b":[41,0],"m":"and","o":"#$00"},{"a":63872,"t":"code","b":[9,64],"m":"ora","o":"#$40"},{"a":63874,"t":"code","b":[133,247],"m":"sta","oa":247,"o":"sfx_state_c"},{"a":63876,"t":"code","b":[162,213],"m":"ldx","o":"#$D5"},{"a":63878,"t":"code","b":[160,249],"m":"ldy","o":"#$F9"},{"a":63880,"t":"code","b":[32,143,246],"m":"jsr","oa":63119,"o":"sfx_set_sq2"},{"a":63883,"t":"code","b":[162,217],"m":"ldx","o":"#$D9"},{"a":63885,"t":"code","b":[160,249],"m":"ldy","o":"#$F9"},{"a":63887,"l":"b_F98F","t":"code","b":[32,131,246],"m":"jsr","oa":63107,"o":"sfx_set_registers","x":[63843,63861]},{"a":63890,"t":"code","b":[96],"m":"rts"},{"a":63891,"l":"fish_rise_sfx_update","c":"The fish effect: counts snd_fish_count up to 18; for counts 1 to 5 the two squares' periods step up by 2 from whatever the last effect left in snd_fish_period1 and snd_fish_period2 (the start does not set them), from 6 on they take a random value; at 18 both squares are silenced.","t":"code","b":[238,252,7],"m":"inc","oa":2044,"o":"snd_fish_count","x":[63817]},{"a":63894,"t":"code","b":[173,252,7],"m":"lda","oa":2044,"o":"snd_fish_count"},{"a":63897,"t":"code","b":[201,18],"m":"cmp","o":"#$12"},{"a":63899,"t":"code","b":[240,45],"m":"beq","oa":63946,"o":"b_F9CA"},{"a":63901,"t":"code","b":[201,6],"m":"cmp","o":"#$06"},{"a":63903,"t":"code","b":[144,16],"m":"bcc","oa":63921,"o":"b_F9B1"},{"a":63905,"t":"code","b":[165,27],"m":"lda","oa":27,"o":"random"},{"a":63907,"t":"code","b":[9,16],"m":"ora","o":"#$10"},{"a":63909,"t":"code","b":[41,127],"m":"and","o":"#$7F"},{"a":63911,"t":"code","b":[141,254,7],"m":"sta","oa":2046,"o":"snd_fish_period1"},{"a":63914,"t":"code","b":[42],"m":"rol","o":"a"},{"a":63915,"t":"code","b":[141,253,7],"m":"sta","oa":2045,"o":"snd_fish_period2"},{"a":63918,"t":"code","b":[76,189,249],"m":"jmp","oa":63933,"o":"j_F9BD"},{"a":63921,"l":"b_F9B1","t":"code","b":[238,253,7],"m":"inc","oa":2045,"o":"snd_fish_period2","x":[63903]},{"a":63924,"t":"code","b":[238,253,7],"m":"inc","oa":2045,"o":"snd_fish_period2"},{"a":63927,"t":"code","b":[238,254,7],"m":"inc","oa":2046,"o":"snd_fish_period1"},{"a":63930,"t":"code","b":[238,254,7],"m":"inc","oa":2046,"o":"snd_fish_period1"},{"a":63933,"l":"j_F9BD","t":"code","b":[173,253,7],"m":"lda","oa":2045,"o":"snd_fish_period2","x":[63918]},{"a":63936,"t":"code","b":[141,6,64],"m":"sta","o":"SQ2_LO"},{"a":63939,"t":"code","b":[173,254,7],"m":"lda","oa":2046,"o":"snd_fish_period1"},{"a":63942,"t":"code","b":[141,2,64],"m":"sta","o":"SQ1_LO"},{"a":63945,"t":"code","b":[96],"m":"rts"},{"a":63946,"l":"b_F9CA","t":"code","b":[76,202,248],"m":"jmp","oa":63690,"o":"sfx_squares_off","x":[63899]},{"a":63949,"l":"pop_sfx_regs","c":"Register bytes for the balloon pop on square 1 (pop_sfx_start loads this block): $B8, $D5, $20, $00.","t":"byte","b":[184,213,32,0]},{"a":63953,"l":"fall_sfx_regs","c":"Register bytes for the fall into the water on square 1 (fall_sfx_start_main loads this block): $9F, $93, $80, $22.","t":"byte","b":[159,147,128,34]},{"a":63957,"l":"fish_rise_sfx_regs","c":"Register bytes for the fish rising, on square 2 ($3F, $BA, $E0, $06) and on square 1 ($3F, $BB, $CE, $06).","t":"byte","b":[63,186,224,6,63,187,206,6]},{"a":63965,"l":"bounce_sfx_regs","c":"Register bytes for the bounce on square 2: $B8, $93, $50, $02.","t":"byte","b":[184,147,80,2]},{"a":63969,"l":"tick_sfx_regs","c":"Register bytes for the bonus count tick on square 1 ($80, $7F, $60, $68) and square 2 ($80, $7F, $62, $68).","t":"byte","b":[128,127,96,104,128,127,98,104]},{"a":63977,"l":"bounce_sfx_start","c":"A bounce (sfx_request_b bit 1), unless a tune or the tick is sounding: sfx_state_b bit 1, bounce_sfx_regs on square 2.","t":"code","b":[165,245],"m":"lda","oa":245,"o":"sfx_state_b","x":[64084]},{"a":63979,"t":"code","b":[41,2],"m":"and","o":"#$02"},{"a":63981,"t":"code","b":[208,55],"m":"bne","oa":64038,"o":"r_FA26"},{"a":63983,"t":"code","b":[165,246],"m":"lda","oa":246,"o":"music_playing"},{"a":63985,"t":"code","b":[201,223],"m":"cmp","o":"#$DF"},{"a":63987,"t":"code","b":[240,4],"m":"beq","oa":63993,"o":"b_F9F9"},{"a":63989,"t":"code","b":[165,246],"m":"lda","oa":246,"o":"music_playing"},{"a":63991,"t":"code","b":[208,45],"m":"bne","oa":64038,"o":"r_FA26"},{"a":63993,"l":"b_F9F9","t":"code","b":[169,0],"m":"lda","o":"#$00","x":[63987]},{"a":63995,"t":"code","b":[141,249,7],"m":"sta","oa":2041,"o":"snd_bounce_count"},{"a":63998,"t":"code","b":[165,245],"m":"lda","oa":245,"o":"sfx_state_b"},{"a":64000,"t":"code","b":[41,224],"m":"and","o":"#$E0"},{"a":64002,"t":"code","b":[9,2],"m":"ora","o":"#$02"},{"a":64004,"t":"code","b":[133,245],"m":"sta","oa":245,"o":"sfx_state_b"},{"a":64006,"t":"code","b":[162,221],"m":"ldx","o":"#$DD"},{"a":64008,"t":"code","b":[160,249],"m":"ldy","o":"#$F9"},{"a":64010,"t":"code","b":[208,115],"m":"bne","oa":64127,"o":"b_FA7F"},{"a":64012,"l":"bounce_sfx_update","c":"The bounce effect lasts 7 frames, then square 2 is silenced.","t":"code","b":[238,249,7],"m":"inc","oa":2041,"o":"snd_bounce_count","x":[64097]},{"a":64015,"t":"code","b":[173,249,7],"m":"lda","oa":2041,"o":"snd_bounce_count"},{"a":64018,"t":"code","b":[201,7],"m":"cmp","o":"#$07"},{"a":64020,"t":"code","b":[208,16],"m":"bne","oa":64038,"o":"r_FA26"},{"a":64022,"t":"code","b":[169,127],"m":"lda","o":"#$7F"},{"a":64024,"t":"code","b":[141,5,64],"m":"sta","o":"SQ2_SWEEP"},{"a":64027,"t":"code","b":[169,16],"m":"lda","o":"#$10"},{"a":64029,"t":"code","b":[141,4,64],"m":"sta","o":"SQ2_VOL"},{"a":64032,"t":"code","b":[165,245],"m":"lda","oa":245,"o":"sfx_state_b"},{"a":64034,"t":"code","b":[41,224],"m":"and","o":"#$E0"},{"a":64036,"t":"code","b":[133,245],"m":"sta","oa":245,"o":"sfx_state_b"},{"a":64038,"l":"r_FA26","t":"code","b":[96],"m":"rts","x":[63981,63991,64020]},{"a":64039,"l":"tick_sfx_start","c":"The bonus count tick (sfx_request_b bit 0): everything silenced, tick_sfx_regs on both squares.","t":"code","b":[32,165,247],"m":"jsr","oa":63397,"o":"silence_all","x":[64081]},{"a":64042,"t":"code","b":[162,225],"m":"ldx","o":"#$E1"},{"a":64044,"t":"code","b":[160,249],"m":"ldy","o":"#$F9"},{"a":64046,"t":"code","b":[32,131,246],"m":"jsr","oa":63107,"o":"sfx_set_registers"},{"a":64049,"t":"code","b":[162,229],"m":"ldx","o":"#$E5"},{"a":64051,"t":"code","b":[160,249],"m":"ldy","o":"#$F9"},{"a":64053,"t":"code","b":[76,127,250],"m":"jmp","oa":64127,"o":"b_FA7F"},{"a":64056,"l":"sfx_update_b","c":"The effects of sfx_request_b bits 0, 1, 2 and 4 and the bounce's continuation, held off while a tune owns the channels or the spark hit sounds: the tick, the bounce, the bubble burst tune, a bird's flap. Bit 3 is shifted past untested.","t":"code","b":[165,246],"m":"lda","oa":246,"o":"music_playing","x":[63331]},{"a":64058,"t":"code","b":[240,6],"m":"beq","oa":64066,"o":"b_FA42"},{"a":64060,"t":"code","b":[41,15],"m":"and","o":"#$0F"},{"a":64062,"t":"code","b":[201,15],"m":"cmp","o":"#$0F"},{"a":64064,"t":"code","b":[208,33],"m":"bne","oa":64099,"o":"r_FA63"},{"a":64066,"l":"b_FA42","t":"code","b":[165,244],"m":"lda","oa":244,"o":"sfx_state_a","x":[64058]},{"a":64068,"t":"code","b":[41,128],"m":"and","o":"#$80"},{"a":64070,"t":"code","b":[208,27],"m":"bne","oa":64099,"o":"r_FA63"},{"a":64072,"t":"code","b":[165,247],"m":"lda","oa":247,"o":"sfx_state_c"},{"a":64074,"t":"code","b":[41,192],"m":"and","o":"#$C0"},{"a":64076,"t":"code","b":[208,21],"m":"bne","oa":64099,"o":"r_FA63"},{"a":64078,"t":"code","b":[165,241],"m":"lda","oa":241,"o":"sfx_request_b"},{"a":64080,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":64081,"t":"code","b":[176,212],"m":"bcs","oa":64039,"o":"tick_sfx_start"},{"a":64083,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":64084,"t":"code","b":[176,147],"m":"bcs","oa":63977,"o":"bounce_sfx_start"},{"a":64086,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":64087,"t":"code","b":[176,42],"m":"bcs","oa":64131,"o":"bubble_burst_tune"},{"a":64089,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":64090,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":64091,"t":"code","b":[176,7],"m":"bcs","oa":64100,"o":"bird_flap_sfx_start"},{"a":64093,"t":"code","b":[165,245],"m":"lda","oa":245,"o":"sfx_state_b"},{"a":64095,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":64096,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":64097,"t":"code","b":[176,169],"m":"bcs","oa":64012,"o":"bounce_sfx_update"},{"a":64099,"l":"r_FA63","t":"code","b":[96],"m":"rts","x":[64064,64070,64076,64102,64108]},{"a":64100,"l":"bird_flap_sfx_start","c":"A bird flaps (sfx_request_b bit 4), unless a tune or the bounce is sounding: bird_flap_sfx_regs on square 2 with a random period.","t":"code","b":[165,246],"m":"lda","oa":246,"o":"music_playing","x":[64091]},{"a":64102,"t":"code","b":[208,251],"m":"bne","oa":64099,"o":"r_FA63"},{"a":64104,"t":"code","b":[165,245],"m":"lda","oa":245,"o":"sfx_state_b"},{"a":64106,"t":"code","b":[41,2],"m":"and","o":"#$02"},{"a":64108,"t":"code","b":[208,245],"m":"bne","oa":64099,"o":"r_FA63"},{"a":64110,"t":"code","b":[162,138],"m":"ldx","o":"#$8A"},{"a":64112,"t":"code","b":[160,250],"m":"ldy","o":"#$FA"},{"a":64114,"t":"code","b":[32,143,246],"m":"jsr","oa":63119,"o":"sfx_set_sq2"},{"a":64117,"t":"code","b":[165,27],"m":"lda","oa":27,"o":"random"},{"a":64119,"t":"code","b":[41,63],"m":"and","o":"#$3F"},{"a":64121,"t":"code","b":[9,16],"m":"ora","o":"#$10"},{"a":64123,"t":"code","b":[141,6,64],"m":"sta","o":"SQ2_LO"},{"a":64126,"t":"code","b":[96],"m":"rts"},{"a":64127,"l":"b_FA7F","t":"code","b":[32,143,246],"m":"jsr","oa":63119,"o":"sfx_set_sq2","x":[64010,64053]},{"a":64130,"t":"code","b":[96],"m":"rts"},{"a":64131,"l":"bubble_burst_tune","c":"A bubble burst (sfx_request_b bit 2): tune 10 (music_start_tune).","t":"code","b":[160,10],"m":"ldy","o":"#$0A","x":[64087]},{"a":64133,"t":"code","b":[169,239],"m":"lda","o":"#$EF"},{"a":64135,"t":"code","b":[76,165,251],"m":"jmp","oa":64421,"o":"music_start_tune"},{"a":64138,"l":"bird_flap_sfx_regs","c":"Register bytes for a bird's flap on square 2: $D9, $86, $A8, $48.","t":"byte","b":[217,134,168,72]},{"a":64142,"l":"landing_sfx_regs","c":"Register bytes for a bird landing, two steps on the triangle: $08, $7F, $40, $28 then $08, $7F, $45, $28.","t":"byte","b":[8,127,64,40,8,127,69,40]},{"a":64150,"l":"landing_sfx_update","c":"The landing effect: after 4 frames its second step, then the state cleared.","t":"code","b":[238,246,7],"m":"inc","oa":2038,"o":"snd_landing_count","x":[64204]},{"a":64153,"t":"code","b":[173,246,7],"m":"lda","oa":2038,"o":"snd_landing_count"},{"a":64156,"t":"code","b":[201,4],"m":"cmp","o":"#$04"},{"a":64158,"t":"code","b":[208,56],"m":"bne","oa":64216,"o":"r_FAD8"},{"a":64160,"t":"code","b":[165,245],"m":"lda","oa":245,"o":"sfx_state_b"},{"a":64162,"t":"code","b":[41,31],"m":"and","o":"#$1F"},{"a":64164,"t":"code","b":[133,245],"m":"sta","oa":245,"o":"sfx_state_b"},{"a":64166,"t":"code","b":[162,146],"m":"ldx","o":"#$92"},{"a":64168,"t":"code","b":[160,250],"m":"ldy","o":"#$FA"},{"a":64170,"t":"code","b":[208,84],"m":"bne","oa":64256,"o":"b_FB00"},{"a":64172,"l":"sfx_update_c","c":"The effects of sfx_request_b bits 7, 6 and 5 (parachute torn, a bird landing, a bird pumping) and the landing's continuation, held off while a tune owns the channels.","t":"code","b":[165,246],"m":"lda","oa":246,"o":"music_playing","x":[63334]},{"a":64174,"t":"code","b":[240,10],"m":"beq","oa":64186,"o":"b_FABA"},{"a":64176,"t":"code","b":[201,8],"m":"cmp","o":"#$08"},{"a":64178,"t":"code","b":[240,6],"m":"beq","oa":64186,"o":"b_FABA"},{"a":64180,"t":"code","b":[41,15],"m":"and","o":"#$0F"},{"a":64182,"t":"code","b":[201,15],"m":"cmp","o":"#$0F"},{"a":64184,"t":"code","b":[208,30],"m":"bne","oa":64216,"o":"r_FAD8"},{"a":64186,"l":"b_FABA","t":"code","b":[165,244],"m":"lda","oa":244,"o":"sfx_state_a","x":[64174,64178]},{"a":64188,"t":"code","b":[41,128],"m":"and","o":"#$80"},{"a":64190,"t":"code","b":[208,24],"m":"bne","oa":64216,"o":"r_FAD8"},{"a":64192,"t":"code","b":[165,241],"m":"lda","oa":241,"o":"sfx_request_b"},{"a":64194,"t":"code","b":[10],"m":"asl","o":"a"},{"a":64195,"t":"code","b":[176,82],"m":"bcs","oa":64279,"o":"parachute_tune"},{"a":64197,"t":"code","b":[10],"m":"asl","o":"a"},{"a":64198,"t":"code","b":[176,26],"m":"bcs","oa":64226,"o":"landing_sfx_start"},{"a":64200,"t":"code","b":[165,245],"m":"lda","oa":245,"o":"sfx_state_b"},{"a":64202,"t":"code","b":[10],"m":"asl","o":"a"},{"a":64203,"t":"code","b":[10],"m":"asl","o":"a"},{"a":64204,"t":"code","b":[176,200],"m":"bcs","oa":64150,"o":"landing_sfx_update"},{"a":64206,"t":"code","b":[165,241],"m":"lda","oa":241,"o":"sfx_request_b"},{"a":64208,"t":"code","b":[41,32],"m":"and","o":"#$20"},{"a":64210,"t":"code","b":[240,5],"m":"beq","oa":64217,"o":"b_FAD9"},{"a":64212,"t":"code","b":[165,246],"m":"lda","oa":246,"o":"music_playing"},{"a":64214,"t":"code","b":[240,44],"m":"beq","oa":64260,"o":"pumping_tune"},{"a":64216,"l":"r_FAD8","t":"code","b":[96],"m":"rts","x":[64158,64184,64190,64221]},{"a":64217,"l":"b_FAD9","t":"code","b":[165,246],"m":"lda","oa":246,"o":"music_playing","x":[64210]},{"a":64219,"t":"code","b":[201,223],"m":"cmp","o":"#$DF"},{"a":64221,"t":"code","b":[208,249],"m":"bne","oa":64216,"o":"r_FAD8"},{"a":64223,"t":"code","b":[76,159,247],"m":"jmp","oa":63391,"o":"b_F79F"},{"a":64226,"l":"landing_sfx_start","c":"A bird lands (sfx_request_b bit 6): bit 6 of sfx_state_b set (its low five bits kept), the triangle and music cleared, square 2 and the noise off, the first landing step on the triangle.","t":"code","b":[165,245],"m":"lda","oa":245,"o":"sfx_state_b","x":[64198]},{"a":64228,"t":"code","b":[41,31],"m":"and","o":"#$1F"},{"a":64230,"t":"code","b":[9,64],"m":"ora","o":"#$40"},{"a":64232,"t":"code","b":[133,245],"m":"sta","oa":245,"o":"sfx_state_b"},{"a":64234,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":64236,"t":"code","b":[141,8,64],"m":"sta","o":"TRI_LINEAR"},{"a":64239,"t":"code","b":[133,246],"m":"sta","oa":246,"o":"music_playing"},{"a":64241,"t":"code","b":[141,246,7],"m":"sta","oa":2038,"o":"snd_landing_count"},{"a":64244,"t":"code","b":[169,16],"m":"lda","o":"#$10"},{"a":64246,"t":"code","b":[141,4,64],"m":"sta","o":"SQ2_VOL"},{"a":64249,"t":"code","b":[141,12,64],"m":"sta","o":"NOISE_VOL"},{"a":64252,"t":"code","b":[162,142],"m":"ldx","o":"#$8E"},{"a":64254,"t":"code","b":[160,250],"m":"ldy","o":"#$FA"},{"a":64256,"l":"b_FB00","t":"code","b":[32,135,246],"m":"jsr","oa":63111,"o":"sfx_set_tri","x":[64170]},{"a":64259,"t":"code","b":[96],"m":"rts"},{"a":64260,"l":"pumping_tune","c":"A bird pumps its balloon (sfx_request_b bit 5): tune 8, and a hit sound to follow when the bird was not pumping last frame.","t":"code","b":[173,233,7],"m":"lda","oa":2025,"o":"snd_request_b_last","x":[64214]},{"a":64263,"t":"code","b":[41,32],"m":"and","o":"#$20"},{"a":64265,"t":"code","b":[208,5],"m":"bne","oa":64272,"o":"b_FB10"},{"a":64267,"t":"code","b":[169,2],"m":"lda","o":"#$02"},{"a":64269,"t":"code","b":[141,245,7],"m":"sta","oa":2037,"o":"snd_pending_hit"},{"a":64272,"l":"b_FB10","t":"code","b":[160,8],"m":"ldy","o":"#$08","x":[64265]},{"a":64274,"t":"code","b":[169,223],"m":"lda","o":"#$DF"},{"a":64276,"t":"code","b":[76,165,251],"m":"jmp","oa":64421,"o":"music_start_tune"},{"a":64279,"l":"parachute_tune","c":"A parachute torn (sfx_request_b bit 7): tune 4.","t":"code","b":[160,4],"m":"ldy","o":"#$04","x":[64195]},{"a":64281,"t":"code","b":[169,127],"m":"lda","o":"#$7F"},{"a":64283,"t":"code","b":[76,165,251],"m":"jmp","oa":64421,"o":"music_start_tune"},{"a":64286,"l":"clear_tune","c":"The phase-cleared jingle (music_request bit 1): tune 0.","t":"code","b":[160,0],"m":"ldy","o":"#$00","x":[64304]},{"a":64288,"t":"code","b":[169,2],"m":"lda","o":"#$02"},{"a":64290,"t":"code","b":[76,193,251],"m":"jmp","oa":64449,"o":"music_start_fanfare"},{"a":64293,"l":"music_update","c":"Starts the tune asked for in music_request: bit 0 game over (1), bit 1 phase cleared (0), bit 2 pause (2), bit 3 the phase fanfare (3), bit 4 the perfect jingle (5), bit 5 the bonus and Balloon Trip music (6, also restarted when its loop flag is set), bit 6 the fish (7), bit 7 a life lost (9); each with its volumes and sweeps; then music_play for the tune in progress.","t":"code","b":[173,232,7],"m":"lda","oa":2024,"o":"snd_music_loop","x":[63325]},{"a":64296,"t":"code","b":[208,52],"m":"bne","oa":64350,"o":"b_FB5E"},{"a":64298,"t":"code","b":[165,242],"m":"lda","oa":242,"o":"music_request"},{"a":64300,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":64301,"t":"code","b":[176,83],"m":"bcs","oa":64386,"o":"b_FB82"},{"a":64303,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":64304,"t":"code","b":[176,236],"m":"bcs","oa":64286,"o":"clear_tune"},{"a":64306,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":64307,"t":"code","b":[176,23],"m":"bcs","oa":64332,"o":"b_FB4C"},{"a":64309,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":64310,"t":"code","b":[176,68],"m":"bcs","oa":64380,"o":"b_FB7C"},{"a":64312,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":64313,"t":"code","b":[176,46],"m":"bcs","oa":64361,"o":"b_FB69"},{"a":64315,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":64316,"t":"code","b":[176,32],"m":"bcs","oa":64350,"o":"b_FB5E"},{"a":64318,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":64319,"t":"code","b":[176,23],"m":"bcs","oa":64344,"o":"b_FB58"},{"a":64321,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":64322,"t":"code","b":[176,14],"m":"bcs","oa":64338,"o":"b_FB52"},{"a":64324,"t":"code","b":[165,246],"m":"lda","oa":246,"o":"music_playing"},{"a":64326,"t":"code","b":[208,1],"m":"bne","oa":64329,"o":"b_FB49"},{"a":64328,"t":"code","b":[96],"m":"rts"},{"a":64329,"l":"b_FB49","t":"code","b":[76,4,245],"m":"jmp","oa":62724,"o":"music_play","x":[64326,64378,64440,64447]},{"a":64332,"l":"b_FB4C","t":"code","b":[160,2],"m":"ldy","o":"#$02","x":[64307]},{"a":64334,"t":"code","b":[169,4],"m":"lda","o":"#$04"},{"a":64336,"t":"code","b":[208,83],"m":"bne","oa":64421,"o":"music_start_tune"},{"a":64338,"l":"b_FB52","t":"code","b":[160,9],"m":"ldy","o":"#$09","x":[64322]},{"a":64340,"t":"code","b":[169,128],"m":"lda","o":"#$80"},{"a":64342,"t":"code","b":[208,21],"m":"bne","oa":64365,"o":"music_start_quiet"},{"a":64344,"l":"b_FB58","t":"code","b":[160,7],"m":"ldy","o":"#$07","x":[64319]},{"a":64346,"t":"code","b":[169,64],"m":"lda","o":"#$40"},{"a":64348,"t":"code","b":[208,15],"m":"bne","oa":64365,"o":"music_start_quiet"},{"a":64350,"l":"b_FB5E","t":"code","b":[169,0],"m":"lda","o":"#$00","x":[64296,64316]},{"a":64352,"t":"code","b":[141,232,7],"m":"sta","oa":2024,"o":"snd_music_loop"},{"a":64355,"t":"code","b":[160,6],"m":"ldy","o":"#$06"},{"a":64357,"t":"code","b":[169,32],"m":"lda","o":"#$20"},{"a":64359,"t":"code","b":[208,88],"m":"bne","oa":64449,"o":"music_start_fanfare"},{"a":64361,"l":"b_FB69","t":"code","b":[160,5],"m":"ldy","o":"#$05","x":[64313]},{"a":64363,"t":"code","b":[169,16],"m":"lda","o":"#$10"},{"a":64365,"l":"music_start_quiet","c":"Starts a tune with the sweeps off and low volumes ($FC), and sets the triangle flag.","t":"code","b":[32,168,246],"m":"jsr","oa":63144,"o":"music_start","x":[64342,64348]},{"a":64368,"t":"code","b":[162,252],"m":"ldx","o":"#$FC"},{"a":64370,"t":"code","b":[160,252],"m":"ldy","o":"#$FC"},{"a":64372,"t":"code","b":[32,18,247],"m":"jsr","oa":63250,"o":"sfx_reset_sweeps"},{"a":64375,"t":"code","b":[238,240,7],"m":"inc","oa":2032,"o":"snd_tri_flag"},{"a":64378,"t":"code","b":[208,205],"m":"bne","oa":64329,"o":"b_FB49"},{"a":64380,"l":"b_FB7C","t":"code","b":[160,3],"m":"ldy","o":"#$03","x":[64310]},{"a":64382,"t":"code","b":[169,8],"m":"lda","o":"#$08"},{"a":64384,"t":"code","b":[208,4],"m":"bne","oa":64390,"o":"music_start_loud"},{"a":64386,"l":"b_FB82","t":"code","b":[160,1],"m":"ldy","o":"#$01","x":[64301]},{"a":64388,"t":"code","b":[169,1],"m":"lda","o":"#$01"},{"a":64390,"l":"music_start_loud","c":"Starts a tune with volume $80 on both squares, square 1's sweep $83, and square 2's off.","t":"code","b":[32,168,246],"m":"jsr","oa":63144,"o":"music_start","x":[64384]},{"a":64393,"t":"code","b":[162,128],"m":"ldx","o":"#$80"},{"a":64395,"t":"code","b":[160,128],"m":"ldy","o":"#$80"},{"a":64397,"l":"b_FB8D","t":"code","b":[32,26,247],"m":"jsr","oa":63258,"o":"set_music_volumes","x":[64456]},{"a":64400,"t":"code","b":[169,131],"m":"lda","o":"#$83"},{"a":64402,"t":"code","b":[141,1,64],"m":"sta","o":"SQ1_SWEEP"},{"a":64405,"t":"code","b":[169,127],"m":"lda","o":"#$7F"},{"a":64407,"t":"code","b":[141,5,64],"m":"sta","o":"SQ2_SWEEP"},{"a":64410,"t":"code","b":[208,19],"m":"bne","oa":64431,"o":"b_FBAF"},{"a":64412,"t":"code","b":[32,168,246],"m":"jsr","oa":63144,"o":"music_start"},{"a":64415,"t":"code","b":[162,4],"m":"ldx","o":"#$04"},{"a":64417,"t":"code","b":[160,4],"m":"ldy","o":"#$04"},{"a":64419,"t":"code","b":[208,7],"m":"bne","oa":64428,"o":"b_FBAC"},{"a":64421,"l":"music_start_tune","c":"Starts a tune with the sweeps off and volume $80; the pumping tune keeps square 1's sweep at $D5 while a tune's low nibble says so.","t":"code","b":[32,168,246],"m":"jsr","oa":63144,"o":"music_start","x":[64135,64276,64283,64336]},{"a":64424,"t":"code","b":[162,128],"m":"ldx","o":"#$80"},{"a":64426,"t":"code","b":[160,128],"m":"ldy","o":"#$80"},{"a":64428,"l":"b_FBAC","t":"code","b":[32,18,247],"m":"jsr","oa":63250,"o":"sfx_reset_sweeps","x":[64419]},{"a":64431,"l":"b_FBAF","t":"code","b":[169,0],"m":"lda","o":"#$00","x":[64410]},{"a":64433,"t":"code","b":[141,240,7],"m":"sta","oa":2032,"o":"snd_tri_flag"},{"a":64436,"t":"code","b":[165,244],"m":"lda","oa":244,"o":"sfx_state_a"},{"a":64438,"t":"code","b":[41,32],"m":"and","o":"#$20"},{"a":64440,"t":"code","b":[240,143],"m":"beq","oa":64329,"o":"b_FB49"},{"a":64442,"t":"code","b":[169,213],"m":"lda","o":"#$D5"},{"a":64444,"t":"code","b":[141,1,64],"m":"sta","o":"SQ1_SWEEP"},{"a":64447,"t":"code","b":[208,136],"m":"bne","oa":64329,"o":"b_FB49"},{"a":64449,"l":"music_start_fanfare","c":"Starts a tune with square 1 at $80 and square 2 at $BA.","t":"code","b":[32,168,246],"m":"jsr","oa":63144,"o":"music_start","x":[64290,64359]},{"a":64452,"t":"code","b":[162,128],"m":"ldx","o":"#$80"},{"a":64454,"t":"code","b":[160,186],"m":"ldy","o":"#$BA"},{"a":64456,"t":"code","b":[208,195],"m":"bne","oa":64397,"o":"b_FB8D"},{"a":64458,"l":"tune_headers","c":"The eleven tunes: first an offset for each tune index into this table, then eleven headers of nine bytes: the tempo, then the stream address of square 1, square 2, triangle and noise (0 for a channel the tune does not use). 0 phase cleared, 1 game over, 2 pause, 3 the phase fanfare, 4 a parachute torn, 5 the perfect bonus, 6 the bonus and Balloon Trip music, 7 the fish, 8 a bird pumping, 9 a life lost, 10 a bubble burst.","t":"byte","b":[11,20,29,38,47,56,65,74],"x":[63166,63172]},{"a":64466,"t":"byte","b":[83,92,101,12,2,255,11,255]},{"a":64474,"t":"byte","b":[30,255,49,255,21,24,254,42]},{"a":64482,"t":"byte","b":[254,101,254,134,254,12,13,254]},{"a":64490,"t":"byte","b":[0,0,19,254,0,0,21,56]},{"a":64498,"t":"byte","b":[255,90,255,121,255,148,255,0]},{"a":64506,"t":"byte","b":[0,0,215,254,237,254,0,0]},{"a":64514,"t":"byte","b":[0,179,255,201,255,218,255,239]},{"a":64522,"t":"byte","b":[255,21,165,252,10,253,152,253]},{"a":64530,"t":"byte","b":[224,253,21,178,254,0,0,197]},{"a":64538,"t":"byte","b":[254,0,0,21,0,0,146,254]},{"a":64546,"t":"byte","b":[161,254,0,0,12,89,252,114]},{"a":64554,"t":"byte","b":[252,140,252,0,0,0,0,0]},{"a":64562,"t":"byte","b":[56,252,73,252,0,0]},{"a":64568,"l":"bubble_tune_sq2","c":"Note streams follow, one per channel of each tune (see music_play for the format): the bubble burst's square 2.","t":"byte","b":[130,2,139,2,128,8,2,16]},{"a":64576,"t":"byte","b":[2,22,2,82,2,2,2,26]},{"a":64584,"t":"byte","b":[0]},{"a":64585,"l":"bubble_tune_tri","c":"The bubble burst's triangle.","t":"byte","b":[130,2,128,16,2,22,2,82]},{"a":64593,"t":"byte","b":[2,90,2,2,2,86,129,2]},{"a":64601,"l":"life_lost_sq1","c":"The life-lost jingle, square 1.","t":"byte","b":[128,18,2,12,2,4,2,12]},{"a":64609,"t":"byte","b":[2,4,2,42,2,129,4,2]},{"a":64617,"t":"byte","b":[128,4,2,129,4,136,2,2]},{"a":64625,"t":"byte","b":[0]},{"a":64626,"l":"life_lost_sq2","c":"The life-lost jingle, square 2.","t":"byte","b":[136,2,2,128,4,2,42,2]},{"a":64634,"t":"byte","b":[36,2,42,2,36,2,28,2]},{"a":64642,"t":"byte","b":[129,34,2,128,34,2,129,36]},{"a":64650,"t":"byte","b":[136,2]},{"a":64652,"l":"life_lost_tri","c":"The life-lost jingle, triangle.","t":"byte","b":[136,2,128,86,2,78,2,18]},{"a":64660,"t":"byte","b":[2,78,2,18,2,12,2,129]},{"a":64668,"t":"byte","b":[16,2,128,16,2,129,18,136]},{"a":64676,"t":"byte","b":[2]},{"a":64677,"l":"trip_music_sq1","c":"The bonus round and Balloon Trip music, square 1 (the melody; it loops).","t":"byte","b":[195,129,2,2,28,2,2,2]},{"a":64685,"t":"byte","b":[28,28,255,198,136,28,255,199]},{"a":64693,"t":"byte","b":[130,76,76,42,76,255,198,136]},{"a":64701,"t":"byte","b":[28,255,196,129,70,2,70,2]},{"a":64709,"t":"byte","b":[50,2,70,128,46,46,255,195]},{"a":64717,"t":"byte","b":[130,70,70,129,50,50,70,46]},{"a":64725,"t":"byte","b":[255,128,12,12,129,70,70,70]},{"a":64733,"t":"byte","b":[128,4,4,129,70,70,2,200]},{"a":64741,"t":"byte","b":[130,76,76,42,76,255,194,129]},{"a":64749,"t":"byte","b":[70,128,50,50,130,70,4,129]},{"a":64757,"t":"byte","b":[70,42,255,194,129,12,12,128]},{"a":64765,"t":"byte","b":[4,4,129,4,128,46,46,129]},{"a":64773,"t":"byte","b":[46,130,36,255,0]},{"a":64778,"l":"trip_music_sq2","c":"The bonus and Balloon Trip music, square 2.","t":"byte","b":[129,50,2,2,6,12,50,2]},{"a":64786,"t":"byte","b":[2,138,46,139,2,138,46,139]},{"a":64794,"t":"byte","b":[2,138,46,139,2,136,46,50]},{"a":64802,"t":"byte","b":[46,208,140,44,36,255,208,46]},{"a":64810,"t":"byte","b":[32,255,195,128,40,2,130,2]},{"a":64818,"t":"byte","b":[128,44,2,50,2,36,2,130]},{"a":64826,"t":"byte","b":[2,129,2,128,40,2,6,2]},{"a":64834,"t":"byte","b":[40,2,129,2,128,36,2,50]},{"a":64842,"t":"byte","b":[2,36,2,255,128,40,2,130]},{"a":64850,"t":"byte","b":[2,128,44,2,50,2,36,2]},{"a":64858,"t":"byte","b":[130,2,137,12,10,8,6,50]},{"a":64866,"t":"byte","b":[48,46,44,42,40,38,36,2]},{"a":64874,"t":"byte","b":[2,2,134,2,199,132,2,255]},{"a":64882,"t":"byte","b":[196,128,40,2,130,2,128,44]},{"a":64890,"t":"byte","b":[2,50,2,36,2,130,2,129]},{"a":64898,"t":"byte","b":[2,128,40,2,6,2,40,2]},{"a":64906,"t":"byte","b":[129,2,128,36,2,50,2,36]},{"a":64914,"t":"byte","b":[2,255,200,132,2,255]},{"a":64920,"l":"trip_music_tri","c":"The bonus and Balloon Trip music, triangle (the bass).","t":"byte","b":[129,20,2,2,20,26,20,2]},{"a":64928,"t":"byte","b":[2,136,16,16,16,16,20,16]},{"a":64936,"t":"byte","b":[133,60,129,68,133,74,129,68]},{"a":64944,"t":"byte","b":[136,40,36,32,70,66,64,198]},{"a":64952,"t":"byte","b":[129,60,2,2,68,2,2,2]},{"a":64960,"t":"byte","b":[74,2,70,54,54,56,56,2]},{"a":64968,"t":"byte","b":[58,2,128,60,60,129,2,36]},{"a":64976,"t":"byte","b":[2,2,44,36,136,36,30,70]},{"a":64984,"t":"byte","b":[54,56,58,255,196,132,2,255]},{"a":64992,"l":"trip_music_noise","c":"The bonus and Balloon Trip music, noise (the drums).","t":"byte","b":[216,129,6,255,198,136,6,255]},{"a":65000,"t":"byte","b":[199,129,6,6,128,6,6,129]},{"a":65008,"t":"byte","b":[6,6,128,6,6,129,6,6]},{"a":65016,"t":"byte","b":[255,198,136,6,255,224,129,6]},{"a":65024,"t":"byte","b":[6,255,130,15,129,6,6,234]},{"a":65032,"t":"byte","b":[6,6,6,6,255]},{"a":65037,"l":"pause_sq1","c":"The pause tone, square 1.","t":"byte","b":[197,128,14,88,255,0]},{"a":65043,"l":"pause_tri","c":"The pause tone, triangle.","t":"byte","b":[197,128,14,88,255]},{"a":65048,"l":"gameover_sq1","c":"The game-over tune, square 1.","t":"byte","b":[130,28,28,195,130,28,28,129]},{"a":65056,"t":"byte","b":[28,28,28,2,255,199,136,28]},{"a":65064,"t":"byte","b":[255,0]},{"a":65066,"l":"gameover_sq2","c":"The game-over tune, square 2.","t":"byte","b":[131,2,128,14,2,14,2,12]},{"a":65074,"t":"byte","b":[2,14,2,78,2,2,2,14]},{"a":65082,"t":"byte","b":[2,12,2,2,2,14,2,12]},{"a":65090,"t":"byte","b":[2,14,2,78,2,2,2,14]},{"a":65098,"t":"byte","b":[2,12,2,14,2,14,2,12]},{"a":65106,"t":"byte","b":[2,14,2,78,2,2,2,14]},{"a":65114,"t":"byte","b":[2,12,2,136,78,24,22,18]},{"a":65122,"t":"byte","b":[14,12,14]},{"a":65125,"l":"gameover_tri","c":"The game-over tune, triangle.","t":"byte","b":[131,2,129,62,62,130,70,28]},{"a":65133,"t":"byte","b":[70,129,2,56,62,2,130,70]},{"a":65141,"t":"byte","b":[28,130,72,72,129,62,62,130]},{"a":65149,"t":"byte","b":[56,136,36,32,28,72,70,66]},{"a":65157,"t":"byte","b":[62]},{"a":65158,"l":"gameover_noise","c":"The game-over tune, noise.","t":"byte","b":[130,9,9,198,130,3,12,255]},{"a":65166,"t":"byte","b":[198,136,6,255]},{"a":65170,"l":"pumping_sq2","c":"A bird pumping its balloon, square 2.","t":"byte","b":[237,137,42,2,4,12,2,4]},{"a":65178,"t":"byte","b":[8,2,48,38,2,48,255]},{"a":65185,"l":"pumping_tri","c":"A bird pumping its balloon, triangle.","t":"byte","b":[128,2,237,137,12,2,18,78]},{"a":65193,"t":"byte","b":[2,18,24,2,14,8,2,14]},{"a":65201,"t":"byte","b":[255]},{"a":65202,"l":"fish_sq1","c":"The fish's fanfare, square 1.","t":"byte","b":[128,66,2,72,2,30,2,36]},{"a":65210,"t":"byte","b":[2,2,2,42,2,198,140,48]},{"a":65218,"t":"byte","b":[42,255,0]},{"a":65221,"l":"fish_tri","c":"The fish's fanfare, triangle.","t":"byte","b":[128,36,2,42,2,48,2,6]},{"a":65229,"t":"byte","b":[2,2,2,12,2,198,140,18]},{"a":65237,"t":"byte","b":[24,255]},{"a":65239,"l":"parachute_sq2","c":"A parachute torn, square 2.","t":"byte","b":[128,86,84,82,80,129,2,128]},{"a":65247,"t":"byte","b":[94,90,84,80,24,20,16,10]},{"a":65255,"t":"byte","b":[6,48,44,40,2,0]},{"a":65261,"l":"parachute_tri","c":"A parachute torn, triangle.","t":"byte","b":[128,26,24,22,20,129,2,128]},{"a":65269,"t":"byte","b":[2,94,90,84,80,24,20,16]},{"a":65277,"t":"byte","b":[10,6,48,44,40]},{"a":65282,"l":"clear_sq1","c":"The phase-cleared jingle, square 1.","t":"byte","b":[130,28,2,28,2,2,28,28]},{"a":65290,"t":"byte","b":[0]},{"a":65291,"l":"clear_sq2","c":"The phase-cleared jingle, square 2.","t":"byte","b":[129,16,10,50,40,128,50,2]},{"a":65299,"t":"byte","b":[50,2,130,50,129,6,2,6]},{"a":65307,"t":"byte","b":[2,130,50]},{"a":65310,"l":"clear_tri","c":"The phase-cleared jingle, triangle.","t":"byte","b":[129,84,26,16,10,128,16,2]},{"a":65318,"t":"byte","b":[16,2,130,16,129,22,2,22]},{"a":65326,"t":"byte","b":[2,130,10]},{"a":65329,"l":"clear_noise","c":"The phase-cleared jingle, noise.","t":"byte","b":[131,3,12,130,3,12,12]},{"a":65336,"l":"fanfare_sq1","c":"The phase fanfare (phases 1, 5, 9, 13), square 1.","t":"byte","b":[194,136,28,28,28,28,28,28]},{"a":65344,"t":"byte","b":[131,28,128,4,4,42,2,130]},{"a":65352,"t":"byte","b":[28,255,129,76,2,76,2,42]},{"a":65360,"t":"byte","b":[2,76,28,129,76,2,76,2]},{"a":65368,"t":"byte","b":[76,0]},{"a":65370,"l":"fanfare_sq2","c":"The phase fanfare, square 2.","t":"byte","b":[136,46,46,46,48,4,48,196]},{"a":65378,"t":"byte","b":[128,46,4,255,131,2,136,46]},{"a":65386,"t":"byte","b":[46,46,48,4,48,196,128,46]},{"a":65394,"t":"byte","b":[4,255,131,2,132,2,2]},{"a":65401,"l":"fanfare_tri","c":"The phase fanfare, triangle.","t":"byte","b":[194,136,62,62,62,66,70,66]},{"a":65409,"t":"byte","b":[132,62,255,133,62,129,62,136]},{"a":65417,"t":"byte","b":[28,70,28,129,2,62,62,62]},{"a":65425,"t":"byte","b":[130,52,2]},{"a":65428,"l":"fanfare_noise","c":"The phase fanfare, noise.","t":"byte","b":[194,136,6,6,6,6,6,6]},{"a":65436,"t":"byte","b":[130,6,6,6,6,255,194,129]},{"a":65444,"t":"byte","b":[6,6,128,6,6,129,6,6]},{"a":65452,"t":"byte","b":[6,6,128,6,6,255,9]},{"a":65459,"l":"perfect_sq1","c":"The perfect bonus jingle, square 1.","t":"byte","b":[128,16,2,16,2,16,2,12]},{"a":65467,"t":"byte","b":[12,12,2,12,2,20,20,20]},{"a":65475,"t":"byte","b":[2,20,2,133,16,0]},{"a":65481,"l":"perfect_sq2","c":"The perfect bonus jingle, square 2.","t":"byte","b":[128,50,2,50,2,50,2,194]},{"a":65489,"t":"byte","b":[50,50,50,2,50,2,255,133]},{"a":65497,"t":"byte","b":[50]},{"a":65498,"l":"perfect_tri","c":"The perfect bonus jingle, triangle.","t":"byte","b":[128,84,2,84,2,84,2,80]},{"a":65506,"t":"byte","b":[80,80,2,80,2,86,86,86]},{"a":65514,"t":"byte","b":[2,86,2,133,84]},{"a":65519,"l":"perfect_noise","c":"The perfect bonus jingle, noise; the five $FF after it are unused.","t":"byte","b":[196,133,12,255,255,255,255,255]},{"a":65527,"l":"nmi_sound_entry","c":"The NMI handler's call into the sound driver: a jump to sound_frame, beside the vectors.","t":"code","b":[76,88,247],"m":"jmp","oa":63320,"o":"sound_frame","x":[49350]},{"a":65530,"l":"vectors","c":"The three vectors: NMI nmi, reset reset, IRQ irq_hang.","t":"addr","b":[148,192],"oa":49300,"o":"nmi"},{"a":65532,"t":"addr","b":[0,192],"oa":49152,"o":"reset"},{"a":65534,"t":"addr","b":[247,192],"oa":49399,"o":"irq_hang"}]}