{
  "origin": 2049,
  "raw_data_base64": "[encoded data, 13708 characters]",
  "blocks": [
    {
      "start": 0,
      "end": 33,
      "type_": "DataByte",
      "collapsed": false
    },
    {
      "start": 34,
      "end": 82,
      "type_": "Code",
      "collapsed": false
    },
    {
      "start": 83,
      "end": 2046,
      "type_": "DataByte",
      "collapsed": true
    },
    {
      "start": 2047,
      "end": 2502,
      "type_": "Code",
      "collapsed": false
    },
    {
      "start": 2503,
      "end": 2504,
      "type_": "DataByte",
      "collapsed": false
    },
    {
      "start": 2505,
      "end": 2540,
      "type_": "Code",
      "collapsed": false
    },
    {
      "start": 2541,
      "end": 2542,
      "type_": "DataByte",
      "collapsed": false
    },
    {
      "start": 2543,
      "end": 2549,
      "type_": "Code",
      "collapsed": false
    },
    {
      "start": 2550,
      "end": 2558,
      "type_": "DataByte",
      "collapsed": true
    },
    {
      "start": 2559,
      "end": 2689,
      "type_": "Code",
      "collapsed": false
    },
    {
      "start": 2690,
      "end": 2750,
      "type_": "DataByte",
      "collapsed": false
    },
    {
      "start": 2751,
      "end": 2766,
      "type_": "Code",
      "collapsed": false
    },
    {
      "start": 2767,
      "end": 2798,
      "type_": "DataByte",
      "collapsed": false
    },
    {
      "start": 2799,
      "end": 2805,
      "type_": "Code",
      "collapsed": false
    },
    {
      "start": 2806,
      "end": 2814,
      "type_": "DataByte",
      "collapsed": false
    },
    {
      "start": 2815,
      "end": 3283,
      "type_": "Code",
      "collapsed": false
    },
    {
      "start": 3284,
      "end": 3294,
      "type_": "DataByte",
      "collapsed": false
    },
    {
      "start": 3295,
      "end": 3305,
      "type_": "Code",
      "collapsed": false
    },
    {
      "start": 3306,
      "end": 3310,
      "type_": "DataByte",
      "collapsed": false
    },
    {
      "start": 3311,
      "end": 3321,
      "type_": "Code",
      "collapsed": false
    },
    {
      "start": 3322,
      "end": 3326,
      "type_": "DataByte",
      "collapsed": false
    },
    {
      "start": 3327,
      "end": 3580,
      "type_": "Code",
      "collapsed": false
    },
    {
      "start": 3581,
      "end": 3582,
      "type_": "DataByte",
      "collapsed": false
    },
    {
      "start": 3583,
      "end": 3694,
      "type_": "ScreencodeText",
      "collapsed": false
    },
    {
      "start": 3695,
      "end": 3710,
      "type_": "DataByte",
      "collapsed": false
    },
    {
      "start": 3711,
      "end": 3743,
      "type_": "ScreencodeText",
      "collapsed": false
    },
    {
      "start": 3744,
      "end": 3754,
      "type_": "Code",
      "collapsed": false
    },
    {
      "start": 3755,
      "end": 3758,
      "type_": "DataByte",
      "collapsed": false
    },
    {
      "start": 3759,
      "end": 3990,
      "type_": "Code",
      "collapsed": false
    },
    {
      "start": 3991,
      "end": 3991,
      "type_": "DataByte",
      "collapsed": false
    },
    {
      "start": 3992,
      "end": 4053,
      "type_": "Code",
      "collapsed": false
    },
    {
      "start": 4054,
      "end": 4059,
      "type_": "DataByte",
      "collapsed": false
    },
    {
      "start": 4060,
      "end": 4091,
      "type_": "Code",
      "collapsed": false
    },
    {
      "start": 4092,
      "end": 4094,
      "type_": "DataByte",
      "collapsed": false
    },
    {
      "start": 4095,
      "end": 4420,
      "type_": "Code",
      "collapsed": false
    },
    {
      "start": 4421,
      "end": 4606,
      "type_": "DataByte",
      "collapsed": true
    },
    {
      "start": 4607,
      "end": 4861,
      "type_": "Code",
      "collapsed": false
    },
    {
      "start": 4862,
      "end": 4862,
      "type_": "DataByte",
      "collapsed": false
    },
    {
      "start": 4863,
      "end": 6040,
      "type_": "Code",
      "collapsed": false
    },
    {
      "start": 6041,
      "end": 6041,
      "type_": "DataByte",
      "collapsed": false
    },
    {
      "start": 6042,
      "end": 6120,
      "type_": "Code",
      "collapsed": false
    },
    {
      "start": 6121,
      "end": 6142,
      "type_": "ScreencodeText",
      "collapsed": false
    },
    {
      "start": 6143,
      "end": 7166,
      "type_": "ExternalFile",
      "collapsed": true
    },
    {
      "start": 7167,
      "end": 10224,
      "type_": "ScreencodeText",
      "collapsed": false
    },
    {
      "start": 10225,
      "end": 10238,
      "type_": "DataByte",
      "collapsed": false
    },
    {
      "start": 10239,
      "end": 12670,
      "type_": "ExternalFile",
      "collapsed": true
    },
    {
      "start": 12671,
      "end": 13017,
      "type_": "Code",
      "collapsed": false
    },
    {
      "start": 13018,
      "end": 13022,
      "type_": "DataByte",
      "collapsed": false
    },
    {
      "start": 13023,
      "end": 13045,
      "type_": "Code",
      "collapsed": false
    },
    {
      "start": 13046,
      "end": 13054,
      "type_": "DataByte",
      "collapsed": false
    },
    {
      "start": 13055,
      "end": 13488,
      "type_": "Code",
      "collapsed": false
    },
    {
      "start": 13489,
      "end": 13502,
      "type_": "DataByte",
      "collapsed": false
    },
    {
      "start": 13503,
      "end": 13548,
      "type_": "Code",
      "collapsed": false
    },
    {
      "start": 13549,
      "end": 13550,
      "type_": "DataByte",
      "collapsed": false
    },
    {
      "start": 13551,
      "end": 13562,
      "type_": "Code",
      "collapsed": false
    },
    {
      "start": 13563,
      "end": 13566,
      "type_": "DataByte",
      "collapsed": false
    },
    {
      "start": 13567,
      "end": 13732,
      "type_": "Code",
      "collapsed": false
    },
    {
      "start": 13733,
      "end": 13742,
      "type_": "DataByte",
      "collapsed": false
    },
    {
      "start": 13743,
      "end": 13817,
      "type_": "Code",
      "collapsed": false
    },
    {
      "start": 13818,
      "end": 13822,
      "type_": "DataByte",
      "collapsed": false
    },
    {
      "start": 13823,
      "end": 13976,
      "type_": "Code",
      "collapsed": false
    },
    {
      "start": 13977,
      "end": 13982,
      "type_": "DataByte",
      "collapsed": false
    },
    {
      "start": 13983,
      "end": 14078,
      "type_": "Code",
      "collapsed": false
    },
    {
      "start": 14079,
      "end": 14207,
      "type_": "DataByte",
      "collapsed": false
    },
    {
      "start": 14208,
      "end": 14334,
      "type_": "Code",
      "collapsed": false
    },
    {
      "start": 14335,
      "end": 15358,
      "type_": "DataByte",
      "collapsed": false
    },
    {
      "start": 15359,
      "end": 15868,
      "type_": "Code",
      "collapsed": false
    },
    {
      "start": 15869,
      "end": 15870,
      "type_": "DataByte",
      "collapsed": false
    },
    {
      "start": 15871,
      "end": 16254,
      "type_": "Code",
      "collapsed": false
    },
    {
      "start": 16255,
      "end": 16286,
      "type_": "DataByte",
      "collapsed": false
    },
    {
      "start": 16287,
      "end": 16379,
      "type_": "Code",
      "collapsed": false
    },
    {
      "start": 16380,
      "end": 16382,
      "type_": "DataByte",
      "collapsed": false
    },
    {
      "start": 16383,
      "end": 16604,
      "type_": "Code",
      "collapsed": false
    },
    {
      "start": 16605,
      "end": 16606,
      "type_": "DataByte",
      "collapsed": false
    },
    {
      "start": 16607,
      "end": 16633,
      "type_": "Code",
      "collapsed": false
    },
    {
      "start": 16634,
      "end": 16638,
      "type_": "DataByte",
      "collapsed": false
    },
    {
      "start": 16639,
      "end": 16886,
      "type_": "Code",
      "collapsed": false
    },
    {
      "start": 16887,
      "end": 16894,
      "type_": "DataByte",
      "collapsed": false
    },
    {
      "start": 16895,
      "end": 16970,
      "type_": "Code",
      "collapsed": false
    },
    {
      "start": 16971,
      "end": 16971,
      "type_": "DataByte",
      "collapsed": false
    },
    {
      "start": 16972,
      "end": 17184,
      "type_": "Code",
      "collapsed": false
    },
    {
      "start": 17185,
      "end": 17406,
      "type_": "DataByte",
      "collapsed": false
    },
    {
      "start": 17407,
      "end": 17465,
      "type_": "Code",
      "collapsed": false
    },
    {
      "start": 17466,
      "end": 17470,
      "type_": "DataByte",
      "collapsed": false
    },
    {
      "start": 17471,
      "end": 17497,
      "type_": "Code",
      "collapsed": false
    },
    {
      "start": 17498,
      "end": 17500,
      "type_": "DataByte",
      "collapsed": false
    },
    {
      "start": 17501,
      "end": 18349,
      "type_": "Code",
      "collapsed": false
    },
    {
      "start": 18350,
      "end": 18350,
      "type_": "Undefined",
      "collapsed": false
    },
    {
      "start": 18351,
      "end": 18362,
      "type_": "Code",
      "collapsed": false
    },
    {
      "start": 18363,
      "end": 18430,
      "type_": "DataByte",
      "collapsed": false
    },
    {
      "start": 18431,
      "end": 18669,
      "type_": "Code",
      "collapsed": false
    },
    {
      "start": 18670,
      "end": 18670,
      "type_": "DataByte",
      "collapsed": false
    },
    {
      "start": 18671,
      "end": 18678,
      "type_": "ScreencodeText",
      "collapsed": false
    },
    {
      "start": 18679,
      "end": 18679,
      "type_": "Code",
      "collapsed": false
    },
    {
      "start": 18680,
      "end": 18686,
      "type_": "DataByte",
      "collapsed": false
    },
    {
      "start": 18687,
      "end": 18941,
      "type_": "Code",
      "collapsed": false
    },
    {
      "start": 18942,
      "end": 18942,
      "type_": "DataByte",
      "collapsed": false
    },
    {
      "start": 18943,
      "end": 19022,
      "type_": "Code",
      "collapsed": false
    },
    {
      "start": 19023,
      "end": 19054,
      "type_": "HiLoWord",
      "collapsed": false
    },
    {
      "start": 19055,
      "end": 19061,
      "type_": "Code",
      "collapsed": false
    },
    {
      "start": 19062,
      "end": 19198,
      "type_": "DataByte",
      "collapsed": false
    },
    {
      "start": 19199,
      "end": 19281,
      "type_": "Code",
      "collapsed": false
    },
    {
      "start": 19282,
      "end": 19294,
      "type_": "ScreencodeText",
      "collapsed": false
    },
    {
      "start": 19295,
      "end": 19350,
      "type_": "Code",
      "collapsed": false
    },
    {
      "start": 19351,
      "end": 19454,
      "type_": "DataByte",
      "collapsed": false
    },
    {
      "start": 19455,
      "end": 19493,
      "type_": "Code",
      "collapsed": false
    },
    {
      "start": 19494,
      "end": 19502,
      "type_": "DataByte",
      "collapsed": false
    },
    {
      "start": 19503,
      "end": 19650,
      "type_": "Code",
      "collapsed": false
    },
    {
      "start": 19651,
      "end": 20030,
      "type_": "DataByte",
      "collapsed": true
    },
    {
      "start": 20031,
      "end": 20158,
      "type_": "LoHiWord",
      "collapsed": false
    },
    {
      "start": 20159,
      "end": 20185,
      "type_": "Code",
      "collapsed": false
    },
    {
      "start": 20186,
      "end": 20222,
      "type_": "DataByte",
      "collapsed": false
    },
    {
      "start": 20223,
      "end": 20320,
      "type_": "Code",
      "collapsed": false
    },
    {
      "start": 20321,
      "end": 20334,
      "type_": "DataByte",
      "collapsed": false
    },
    {
      "start": 20335,
      "end": 20388,
      "type_": "ScreencodeText",
      "collapsed": false
    },
    {
      "start": 20389,
      "end": 36870,
      "type_": "DataByte",
      "collapsed": true
    }
  ],
  "labels": {
    "73": [
      {
        "name": "zp_ptr_lo",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "74": [
      {
        "name": "zp_ptr_hi",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "1024": [
      {
        "name": "SCREEN_RAM_BASE",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "2040": [
      {
        "name": "sprite_0_frame_ptr",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "2041": [
      {
        "name": "sprite_1_frame_ptr",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "2042": [
      {
        "name": "sprite_2_frame_ptr",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "2043": [
      {
        "name": "sprite_3_frame_ptr",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "2044": [
      {
        "name": "sprite_4_frame_ptr",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "2045": [
      {
        "name": "sprite_5_frame_ptr",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "2046": [
      {
        "name": "sprite_6_frame_ptr",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "2047": [
      {
        "name": "sprite_7_frame_ptr",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "2048": [
      {
        "name": "map_row_index",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "2049": [
      {
        "name": "map_col_index",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "2050": [
      {
        "name": "row_transition_counter",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "2051": [
      {
        "name": "current_season_index",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "2080": [
      {
        "name": "cars_scratched_lo",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "2081": [
      {
        "name": "cars_scratched_hi",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "2082": [
      {
        "name": "lives_hi",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "2083": [
      {
        "name": "lives_lo",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "2085": [
      {
        "name": "player_score_bcd",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "2135": [
      {
        "name": "high_score_rank",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "2136": [
      {
        "name": "high_score_entry_timer_hi",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "2137": [
      {
        "name": "high_score_entry_timer_lo",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "2142": [
      {
        "name": "collision_cooldown_active_flag",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "2143": [
      {
        "name": "collision_cooldown_timer",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "2144": [
      {
        "name": "high_score_cursor_row",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "2145": [
      {
        "name": "high_score_cursor_col",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "2259": [
      {
        "name": "collision_temp_x_flag",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "2260": [
      {
        "name": "collision_temp_y_flag",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "2272": [
      {
        "name": "hero_speed_bcd",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "2303": [
      {
        "name": "delay_loop_counter",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "2304": [
      {
        "name": "enemy_speed_fraction_array",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "2308": [
      {
        "name": "enemy_horiz_dir_array",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "2312": [
      {
        "name": "enemy_horiz_speed_array",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "2320": [
      {
        "name": "enemy_vert_dir_array",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "2324": [
      {
        "name": "enemy_vert_speed_array",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "2336": [
      {
        "name": "enemy_move_timer_array",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "2340": [
      {
        "name": "enemy_collision_active_array",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "2344": [
      {
        "name": "enemy_active_flag_array",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "2348": [
      {
        "name": "enemy_type_index_array",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "2352": [
      {
        "name": "enemy_crash_timer_array",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "2432": [
      {
        "name": "item_active_flags_array",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "2435": [
      {
        "name": "item_timer_array",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "2438": [
      {
        "name": "score_update_buffer_1",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "2439": [
      {
        "name": "score_update_buffer_2",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "2441": [
      {
        "name": "hero_horiz_move_speed",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "2442": [
      {
        "name": "hero_horiz_move_active_flag",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "2443": [
      {
        "name": "hero_horiz_move_duration_timer",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "2560": [
      {
        "name": "p1_state_buffer_0a00",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "3072": [
      {
        "name": "p2_state_buffer_0c00",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "3840": [
      {
        "name": "game_mode_players",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "3841": [
      {
        "name": "active_player_index",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "3920": [
      {
        "name": "high_score_values_table",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "4096": [
      {
        "name": "init_vic_routine",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "4178": [
      {
        "name": "init_screen_routine",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "4209": [
      {
        "name": "paint_color_screen",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "4378": [
      {
        "name": "paint_screen_start",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "4452": [
      {
        "name": "set_sprites_color",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "4501": [
      {
        "name": "init_sid_routine",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "4560": [
      {
        "name": "wait_for_joy_fire",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "4608": [
      {
        "name": "init_game_vars",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "4800": [
      {
        "name": "lose_life_routine",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "4864": [
      {
        "name": "update_game_state",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "5344": [
      {
        "name": "long_delay",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "5360": [
      {
        "name": "short_delay",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "5577": [
      {
        "name": "increment_score_routine",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "5632": [
      {
        "name": "txt_congratulations",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "5650": [
      {
        "name": "txt_scratched_cars",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "5670": [
      {
        "name": "txt_bonus_points",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "5686": [
      {
        "name": "txt_x_500",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "5696": [
      {
        "name": "txt_extra_bonus_points",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "5714": [
      {
        "name": "txt_50000",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "5719": [
      {
        "name": "text_next_way_is",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "5730": [
      {
        "name": "txt_good_luck",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "5744": [
      {
        "name": "tbl_sprite2_frame",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "5748": [
      {
        "name": "tbl_sprite1_frame",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "5752": [
      {
        "name": "tbl_sprite1_color",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "5756": [
      {
        "name": "tbl_seasons_color",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "5760": [
      {
        "name": "tbl_seasons_text",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "5793": [
      {
        "name": "init_player_run",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "5900": [
      {
        "name": "render_new_stage_screen",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "6054": [
      {
        "name": "hero_joy_up_down",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "6094": [
      {
        "name": "hero_movement_logic",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "6144": [
      {
        "name": "setup",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "6153": [
      {
        "name": "main_loop_start",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "6194": [
      {
        "name": "main_loop_sprite_dispatcher",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "6656": [
      {
        "name": "wait_joy2_fire",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "6912": [
      {
        "name": "check_hero_bg_collision",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "6946": [
      {
        "name": "calc_screen_offset_loop",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "6965": [
      {
        "name": "check_four_chars",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "7005": [
      {
        "name": "the_game_is_over",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "7010": [
      {
        "name": "display_game_over_loop",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "7051": [
      {
        "name": "copy_more_text_loop",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "7069": [
      {
        "name": "compare_1st_place",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "7097": [
      {
        "name": "compare_2nd_place",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "7124": [
      {
        "name": "compare_3rd_place",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "7151": [
      {
        "name": "compare_4th_place",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "7178": [
      {
        "name": "compare_5th_place",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "7208": [
      {
        "name": "shift_high_scores",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "7221": [
      {
        "name": "shift_5th_to_6th",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "7241": [
      {
        "name": "shift_4th_to_5th",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "7261": [
      {
        "name": "shift_3rd_to_4th",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "7281": [
      {
        "name": "shift_2nd_to_3rd",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "7292": [
      {
        "name": "insert_player_score",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "7306": [
      {
        "name": "copy_score_loop",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "7323": [
      {
        "name": "display_hi_score_names",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "7362": [
      {
        "name": "display_hi_score_digits",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "7415": [
      {
        "name": "shift_hi_score_names",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "7428": [
      {
        "name": "shift_name_5th_to_6th",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "7448": [
      {
        "name": "shift_name_4th_to_5th",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "7468": [
      {
        "name": "shift_name_3rd_to_4th",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "7488": [
      {
        "name": "shift_name_2nd_to_3rd",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "7502": [
      {
        "name": "hi_score_name_entry",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "7539": [
      {
        "name": "name_entry_main_loop",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "7580": [
      {
        "name": "update_timer_and_loop",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "7587": [
      {
        "name": "delay_loop",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "7660": [
      {
        "name": "handle_joy_up",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "7663": [
      {
        "name": "handle_joy_down",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "7666": [
      {
        "name": "handle_joy_left",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "7669": [
      {
        "name": "handle_joy_right",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "7672": [
      {
        "name": "handle_joy_fire",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "7676": [
      {
        "name": "no_hi_score_msg",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "7717": [
      {
        "name": "draw_cursor",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "7755": [
      {
        "name": "calc_cursor_offset",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "7781": [
      {
        "name": "move_cursor_up",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "7800": [
      {
        "name": "move_cursor_down",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "7819": [
      {
        "name": "move_cursor_left",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "7841": [
      {
        "name": "move_cursor_right",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "7863": [
      {
        "name": "set_cursor_color",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "7875": [
      {
        "name": "calc_color_offset",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "7932": [
      {
        "name": "store_character",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "8103": [
      {
        "name": "map_row_to_display",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "8183": [
      {
        "name": "game_over_text",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "9216": [
      {
        "name": "instructions1_txt",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "10240": [
      {
        "name": "instructions2_txt",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "12240": [
      {
        "name": "no_hi_score_txt",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "15060": [
      {
        "name": "spawn_and_init_enemies",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "15072": [
      {
        "name": "process_enemy_collisions",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "15088": [
      {
        "name": "process_item_pickup",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "15104": [
      {
        "name": "check_sprite_collision",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "15616": [
      {
        "name": "update_enemy_positions",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "16075": [
      {
        "name": "play_crash_sound",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "17408": [
      {
        "name": "handle_hero_input",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "17920": [
      {
        "name": "main_loop_sync_delay",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "17936": [
      {
        "name": "set_game_over",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "18194": [
      {
        "name": "manage_collision_cooldown",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "18656": [
      {
        "name": "do_delay",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "18848": [
      {
        "name": "update_sprite_visibility",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "19456": [
      {
        "name": "move_enemies_horizontally",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "19697": [
      {
        "name": "deactivate_enemy_slot",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "19763": [
      {
        "name": "check_bg_collision_at_pos",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "20053": [
      {
        "name": "animate_enemy_sprites",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "20173": [
      {
        "name": "process_scrolling_and_finish_frame",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "20228": [
      {
        "name": "check_enemy_obstacle_drop",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "20400": [
      {
        "name": "finish_frame_and_sync",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "20412": [
      {
        "name": "main_loop_end",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "20480": [
      {
        "name": "restore_player_state",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "20490": [
      {
        "name": "load_player1_state",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "20492": [
      {
        "name": "copy_p1_loop",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "20508": [
      {
        "name": "check_active_player",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "20515": [
      {
        "name": "load_player2_state",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "20517": [
      {
        "name": "copy_p2_loop",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "20670": [
      {
        "name": "dispatch_player_context_switch",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "20992": [
      {
        "name": "play_engine_or_jump_sound",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "21040": [
      {
        "name": "play_collision_sound_and_deactivate",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "21049": [
      {
        "name": "sync_with_irq_update",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "21072": [
      {
        "name": "sid_tbl_hi",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "21088": [
      {
        "name": "sid_tbl_lo",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "21248": [
      {
        "name": "update_stage_counter",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "21265": [
      {
        "name": "increment_frame_counter",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "21280": [
      {
        "name": "increment_stage_digit",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "21294": [
      {
        "name": "check_max_stage",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "21314": [
      {
        "name": "update_display",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "21324": [
      {
        "name": "wait_for_mode_change",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "21331": [
      {
        "name": "bonus_text_data",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "21344": [
      {
        "name": "init_bonus_display",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "21351": [
      {
        "name": "copy_bonus_text_loop",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "21383": [
      {
        "name": "delay_outer_loop",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "21385": [
      {
        "name": "delay_middle_loop",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "21387": [
      {
        "name": "delay_inner_loop",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "21504": [
      {
        "name": "irq_music_engine",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "21539": [
      {
        "name": "music_exit_to_main_irq",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "21542": [
      {
        "name": "music_raster_sync_prev",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "21543": [
      {
        "name": "music_toggle_flag",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "21544": [
      {
        "name": "music_note_timer",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "21545": [
      {
        "name": "music_sequencer_state",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "21546": [
      {
        "name": "music_channel_selector",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "21572": [
      {
        "name": "read_next_music_byte",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "21573": [
      {
        "name": "music_data_ptr_lo",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "21574": [
      {
        "name": "music_data_ptr_hi",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "21666": [
      {
        "name": "note_off_handler",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "21760": [
      {
        "name": "music_data_stream_start",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "22080": [
      {
        "name": "music_freq_lo_tbl",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "22144": [
      {
        "name": "music_freq_hi_tbl",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "22272": [
      {
        "name": "sid_sound_effect",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "22315": [
      {
        "name": "update_sound_sweep",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "22331": [
      {
        "name": "sound_sweep_up_done",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "22343": [
      {
        "name": "reverse_sweep_direction",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "22354": [
      {
        "name": "update_sid_frequency",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "22360": [
      {
        "name": "exit_sound_routine",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "22363": [
      {
        "name": "disable_sound",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "22370": [
      {
        "name": "padding_bytes",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "22384": [
      {
        "name": "copyright_text",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ],
    "55296": [
      {
        "name": "COLOR_RAM_BASE",
        "label_type": "UserDefined",
        "kind": "User"
      }
    ]
  },
  "user_side_comments": {
    "2083": "copy from $5700-$9f77 to $7f00-$bfff",
    "2115": "disable Commodore-Shift switch",
    "2120": "IRQ: $5700",
    "4157": "Enable text multicolor mode",
    "4167": "Charset at address $2000",
    "4172": "hero car #0",
    "4209": "purple",
    "4214": "light gray",
    "4222": "cyan",
    "4236": "white",
    "4247": "purple",
    "4428": "yellow",
    "4564": "Joy#2 fire",
    "4578": "Joy#2 fire",
    "4867": "X = current map row index",
    "4870": "Y = current map column index",
    "4873": "Calculate pointer to map data at $4000",
    "4881": "Loop: add 32 ($20) for each row index",
    "4902": "Retrieve map byte using column index Y",
    "4906": "Calculate pointer to tile data at $8010",
    "4913": "Loop: add 4 for each tile ID (tiles are 4 bytes?)",
    "4928": "Copy map row to screen RAM ($0428) and color RAM ($D828)",
    "4941": "Check if column reaches 32 (end of stage)",
    "5610": "Hero car #0",
    "5968": "hero car #0",
    "6057": "Joy#2 left",
    "6064": "Joy #2 right",
    "6155": "$A000-$BFFF is RAM. BASIC ROM disabled",
    "6164": "$A000-$BFFF is BASIC ROM again",
    "6659": "Joy #2 Fire",
    "6698": "hero car jumping #2",
    "6789": "hero car jumping #1",
    "6804": "hero car jumping #0",
    "6827": "hero car jumping #2",
    "6841": "hero car jumping #1",
    "6856": "hero car jumping #2",
    "6898": "hero car jumping #0",
    "6912": "Check collision flag",
    "6915": "If zero, proceed with collision check",
    "6918": "Get sprite 0 X position from VIC-II",
    "6922": "Subtract 16 pixels offset",
    "6924": "Divide by 8 to get character column",
    "6927": "Store column in Y register",
    "6928": "Set pointer to $0400 (screen RAM)",
    "6936": "Get sprite 0 Y position from VIC-II",
    "6940": "Subtract 46 pixels offset",
    "6942": "Divide by 8 to get character row",
    "6945": "Store row in X register",
    "6946": "If row = 0, done calculating offset",
    "6951": "Add 40 ($28) bytes per row",
    "6961": "Decrement row counter",
    "6965": "Read character at position (top-left)",
    "6968": "Check collision for this character",
    "6971": "Move to next column (top-right)",
    "6972": "Read character at position",
    "6980": "Add 39 to get to next row, same column",
    "6983": "Read character at position (bottom-left)",
    "6990": "Read character at position (bottom-right)",
    "7005": "Display game over message",
    "7008": "Initialize loop counter",
    "7010": "Copy \"GAME OVER\" text to screen",
    "7034": "Set color to yellow",
    "7048": "Loop for all 256 bytes",
    "7057": "Set color to light red",
    "7063": "Loop for 120 bytes",
    "7069": "Load high score digit",
    "7072": "Compare with player score digit",
    "7075": "Player score is higher - rank 1st!",
    "7077": "Scores differ, check next place",
    "7079": "Check next digit (7 digits total)",
    "7084": "Exact tie - rank 2nd place",
    "7092": "Player got 1st place!",
    "7114": "Exact tie - rank 3rd",
    "7119": "Player got 2nd place!",
    "7141": "Exact tie - rank 4th",
    "7146": "Player got 3rd place!",
    "7168": "Exact tie - rank 5th",
    "7173": "Player got 4th place!",
    "7195": "Didn't make high score list (rank = 0)",
    "7200": "Player got 5th place!",
    "7208": "Get player's rank",
    "7211": "No rank? Skip shifting",
    "7213": "Rank 5? Also skip (last place)",
    "7217": "Shift the high score names",
    "7221": "Move 4th place score to 5th place",
    "7228": "Copy 8 bytes (7 score digits + name ptr)",
    "7232": "Was player rank 4?",
    "7237": "Yes, done shifting",
    "7241": "Move 3rd place score to 4th place",
    "7252": "Was player rank 3?",
    "7261": "Move 2nd place score to 3rd place",
    "7272": "Was player rank 2?",
    "7281": "Move 1st place score to 2nd place",
    "7292": "Get rank again",
    "7295": "No rank? Skip insertion",
    "7298": "Calculate offset: (rank-1) * 8",
    "7303": "Y = offset into score table",
    "7306": "Copy player score to high score table",
    "7312": "Initialize name with spaces ($20)",
    "7319": "Copy 7 score digits",
    "7325": "Copy names to screen RAM",
    "7356": "Copy 3 characters per name",
    "7362": "Get BCD score digit",
    "7366": "Convert BCD to screen code (+$30)",
    "7368": "Display 1st place score",
    "7408": "Display all 7 score digits",
    "7415": "Check player rank",
    "7418": "Rank 5? Skip (last place)",
    "7422": "No rank? Skip",
    "7428": "Move 4th place name to 5th",
    "7435": "Copy 3 characters",
    "7505": "Check if player made high score list",
    "7508": "No rank? Skip name entry",
    "7519": "Set timer to 99 seconds",
    "7529": "Set initial cursor row (row 5)",
    "7534": "Set initial cursor column (col 6)",
    "7539": "Draw cursor at current position",
    "7542": "Set cursor color",
    "7555": "Read joystick port 2 ($DC00)",
    "7558": "Mask to get direction/fire bits",
    "7560": "Check for UP pressed",
    "7564": "Check for DOWN pressed",
    "7568": "Check for LEFT pressed",
    "7572": "Check for RIGHT pressed",
    "7576": "Check for FIRE pressed",
    "7580": "Redraw cursor",
    "7584": "Save X on stack",
    "7587": "Delay loop for timing",
    "7596": "Restore X from stack",
    "7597": "Decrement timer (low digit)",
    "7606": "Underflow?",
    "7610": "Reset to 9",
    "7615": "Decrement timer (high digit)",
    "7624": "Check if time expired",
    "7634": "Display timer on screen",
    "7652": "Time's up! Exit name entry",
    "7660": "Handle joystick UP",
    "7663": "Handle joystick DOWN",
    "7666": "Handle joystick LEFT",
    "7669": "Handle joystick RIGHT",
    "7672": "Handle joystick FIRE (select character)",
    "7678": "Display \"NO HI SCORE\" message",
    "7684": "Set text color (yellow)",
    "7690": "34 characters to display",
    "7717": "Display countdown timer",
    "7721": "Convert to PETSCII digit",
    "7735": "Set timer color to yellow",
    "7743": "Point to color RAM ($D800)",
    "7747": "Get cursor column",
    "7752": "Get cursor row",
    "7755": "If row = 0, offset calculated",
    "7760": "Add 40 bytes per row",
    "7774": "Set color to red (cursor highlight)",
    "7781": "Check current row",
    "7784": "At top? Can't go higher",
    "7791": "Move up 2 rows (character grid spacing)",
    "7803": "At bottom (row 9)?",
    "7810": "Move down 2 rows",
    "7822": "At leftmost position (col 6)?",
    "7829": "Move left 3 columns (character grid)",
    "7844": "At rightmost position (col 33)?",
    "7851": "Move right 3 columns",
    "7863": "Point to color RAM",
    "7870": "Get cursor position",
    "7880": "Calculate color RAM offset",
    "7894": "Set color to white (selected char)",
    "7932": "Get player's rank",
    "7935": "Is it 1st place?",
    "7939": "Convert color RAM ptr to screen RAM",
    "7946": "Y = 0 (indirect addressing offset)",
    "7948": "Get character from screen",
    "7950": "Store to 1st place name table",
    "7953": "Also display on screen immediately",
    "7956": "Restore color RAM pointer",
    "7966": "Is it 2nd place?",
    "7981": "Store to 2nd place name table",
    "7997": "Is it 3rd place?",
    "8012": "Store to 3rd place name table",
    "8028": "Is it 4th place?",
    "8043": "Store to 4th place name table",
    "8070": "Must be 5th place - store there",
    "8086": "Increment character position (X)",
    "8103": "Get current map row index",
    "8106": "Is row >= 29?",
    "8111": "Add offset for range 29+",
    "8116": "Set tens digit to '3' (30-39)",
    "8122": "Is row >= 19?",
    "8127": "Add offset for range 19-28",
    "8132": "Set tens digit to '2' (20-29)",
    "8138": "Is row >= 9?",
    "8143": "Add offset for range 9-18",
    "8148": "Set tens digit to '1' (10-19)",
    "8155": "Range 0-8: add offset",
    "8160": "Set tens digit to '0' (00-09)",
    "17427": "joy2 left/right/up/down mask",
    "17429": "joy2 up",
    "17959": "delay",
    "18468": "sprite frame: crash #0",
    "18476": "sprite frame: crash #1",
    "18484": "sprite frame: crash #2",
    "18508": "sprite frame: crash #3",
    "18516": "sprite frame: crash #4",
    "18928": "down active?",
    "19803": "Next row",
    "20480": "NOPs - likely debug/patch space",
    "20483": "Check game mode",
    "20486": "Is this 2-player mode?",
    "20488": "Yes - handle 2-player logic",
    "20490": "Start at beginning of buffer",
    "20492": "Load from P1 buffer ($0A00)",
    "20495": "Restore to active game state",
    "20498": "Load enemy speed data",
    "20501": "Restore enemy speeds",
    "20504": "Next byte",
    "20505": "Copy all 256 bytes",
    "20507": "Done",
    "20508": "Get active player (1 or 2)",
    "20511": "Is it Player 1?",
    "20513": "Yes - use P1 buffer",
    "20517": "Load from P2 buffer ($0C00)",
    "20520": "Restore to active game state",
    "20523": "Load enemy speed data",
    "20526": "Restore enemy speeds",
    "20529": "Next byte",
    "20530": "Copy all 256 bytes",
    "20532": "Done",
    "20973": "joy#2 up ?",
    "21248": "Save current counter digits",
    "21250": "Store ones digit to display location",
    "21253": "Get tens digit",
    "21255": "Store tens digit to display location",
    "21258": "Check state/mode flag",
    "21260": "Must be in mode 3 to increment",
    "21262": "Proceed with increment",
    "21264": "Wrong mode, exit without incrementing",
    "21265": "Increment animation/frame counter",
    "21268": "Check frame counter value",
    "21271": "Reached 16 frames?",
    "21273": "Not yet, continue",
    "21275": "Reset frame counter to 0",
    "21280": "Increment ones digit (screen code)",
    "21282": "Get updated ones digit",
    "21284": "Compare with $3A (screen code '9'+1)",
    "21286": "No overflow, skip carry logic",
    "21288": "Wrap ones digit to '0' ($30)",
    "21292": "Carry to tens digit",
    "21294": "Check tens digit",
    "21296": "Is it '1' ($31)?",
    "21298": "Not '1', continue normally",
    "21300": "Check ones digit",
    "21302": "Is it '7' ($37)?",
    "21304": "Not at stage 17 yet, continue",
    "21306": "Reached stage 17! Wrap to stage 01",
    "21308": "Set ones digit to '1'",
    "21310": "Set tens digit to '0'",
    "21314": "Write updated ones digit to screen",
    "21319": "Write updated tens digit to screen",
    "21324": "Wait loop - check mode flag",
    "21326": "Still in mode 3?",
    "21328": "Yes, keep waiting",
    "21330": "Mode changed, exit",
    "21331": "\"BONUS 10000\" (screen codes + color)",
    "21344": "Reset to beginning",
    "21346": "Set map row index to 0",
    "21349": "Initialize loop counter",
    "21351": "Load bonus text character",
    "21354": "Write to screen RAM at $0756",
    "21357": "Set color to purple (4)",
    "21359": "Write to color RAM at $DB56",
    "21362": "Next character",
    "21363": "Copied 11 characters?",
    "21365": "No, continue copying",
    "21367": "Call subroutine (likely display update)",
    "21370": "Call again (double buffer or delay?)",
    "21379": "Set outer loop counter to 8",
    "21383": "Set X to 0 (middle loop = 256 iterations)",
    "21385": "Set Y to 0 (inner loop = 256 iterations)",
    "21387": "Decrement Y (256 times)",
    "21388": "Inner loop not done",
    "21390": "Decrement X (256 times)",
    "21391": "Middle loop not done",
    "21393": "Decrement outer counter (8 times)",
    "21395": "Outer loop not done",
    "21397": "Delay complete, continue execution",
    "21504": "Get current raster sync value",
    "21506": "Has it changed from last frame?",
    "21509": "No change, skip init",
    "21511": "Update previous sync value",
    "21514": "Check if sync value = $06",
    "21516": "Skip if not $06",
    "21518": "Gate off pattern %00100000",
    "21520": "Voice 2 control register",
    "21523": "Voice 3 control register",
    "21526": "Get current toggle state",
    "21529": "Flip bit 0 (toggle between 0/1)",
    "21531": "Store new toggle state",
    "21534": "Load toggle flag (0=off, 1=on)",
    "21537": "If active, continue to music engine",
    "21552": "Countdown note duration timer",
    "21555": "Still counting? Exit if not zero",
    "21557": "Get current state",
    "21560": "If 0, go to note-off handler",
    "21562": "Y = 0 for indexing",
    "21564": "Set state back to 0",
    "21567": "Note duration = 8 frames",
    "21569": "Set timer for next note",
    "21572": "Load byte from music data",
    "21575": "Advance pointer (low byte)",
    "21578": "Did low byte wrap?",
    "21580": "Yes, increment high byte",
    "21583": "Is it < $40?",
    "21585": "Yes, it's a note - go play it",
    "21587": "Reset to start address high",
    "21592": "Reset to start address low",
    "21597": "Read next byte (always branches)",
    "21599": "Is it $30 (rest)?",
    "21601": "Yes, skip note - just exit",
    "21603": "Use note value as index",
    "21604": "Get frequency high byte",
    "21607": "Save to Y register",
    "21608": "Get frequency low byte",
    "21611": "Which SID voice to use?",
    "21614": "If 0, use Voice 3",
    "21616": "X = 0 for control",
    "21618": "Gate off Voice 2",
    "21621": "Set freq low byte",
    "21624": "Set freq high byte",
    "21627": "Clear sustain/release",
    "21630": "Attack=$B, Decay=$A",
    "21635": "Triangle wave + gate on",
    "21637": "Trigger Voice 2",
    "21640": "Exit",
    "21642": "Gate off Voice 3",
    "21645": "Set freq low byte",
    "21648": "Set freq high byte",
    "21651": "Clear sustain/release",
    "21654": "Attack=$B, Decay=$A",
    "21659": "Triangle wave + gate on",
    "21661": "Trigger Voice 3",
    "21664": "Exit",
    "21666": "Switch to state 1 (next will play note)",
    "21669": "Release duration = 3 frames",
    "21671": "Set timer",
    "21674": "Gate-off value for control reg",
    "21676": "Check which channel to turn off",
    "21679": "If 0, turn off Voice 3",
    "21683": "Set channel selector to 0",
    "21686": "Gate off Voice 2",
    "21692": "Set channel selector to 1",
    "21695": "Gate off Voice 3",
    "22272": "Check sound enabled flag",
    "22275": "Sound disabled? Jump to cleanup",
    "22277": "Load sound state flag",
    "22280": "Already initialized? Skip init",
    "22282": "X=0, clear frequency delta",
    "22285": "Clear Voice 1 freq low byte ($D400)",
    "22288": "Clear Voice 1 freq high byte ($D401)",
    "22291": "Clear Voice 1 attack/decay ($D405)",
    "22294": "Clear Voice 1 control register ($D404)",
    "22297": "X=1, set initial state",
    "22298": "Mark as initialized",
    "22301": "X=2, set frequency increment",
    "22302": "Store frequency delta (+2)",
    "22305": "Set sustain/release to $F4",
    "22307": "Write to SID sustain/release ($D406)",
    "22310": "Set control: gate on + triangle wave",
    "22312": "Trigger sound ($D404)",
    "22315": "Check if state flag is negative",
    "22317": "Get current frequency value",
    "22320": "Add frequency delta",
    "22321": "freq += delta",
    "22324": "Did we overflow to zero?",
    "22326": "Check delta direction",
    "22329": "Is delta positive?",
    "22331": "Sweep up complete, gate off triangle",
    "22333": "Release the note (gate off)",
    "22336": "Set state to $80 (sweep done)",
    "22338": "Mark sound effect complete",
    "22341": "Exit sound update",
    "22343": "Delta is negative, reverse it",
    "22345": "Calculate 0 - delta",
    "22346": "Negate delta (changes sweep direction)",
    "22349": "Store reversed delta",
    "22352": "Set frequency to $FE (high pitch)",
    "22354": "Store new frequency value",
    "22357": "Write to SID freq high ($D401)",
    "22360": "Continue to next routine",
    "22363": "Clear sound state",
    "22365": "Set state to 0 (disabled)",
    "22368": "Exit routine"
  },
  "user_line_comments": {
    "2049": "=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\nBootloader - Copies main program from $9700 range to execution memory.",
    "2083": "=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\nInitialization code: Moves code/data block to $8000 and sets up IRQ.\nAfter initialization, $0823 is reused as lives_lo.",
    "4096": "=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\nVIC-II Init - Sets border/bg colors, sprite pointers, and memory layout.",
    "4178": "=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\nScreen Painter - Copies character data to Screen RAM and sets Color RAM.",
    "4378": "=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\npaint_screen_start",
    "4452": "=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\nset_sprites_color",
    "4501": "=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\nSID Init - Resets sound chip registers and sets master volume.",
    "4560": "=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\nInput Utility - Waits for Joystick Port 1 fire button with debounce.",
    "4592": "=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\nHUD Refresh - Redraws the UI status bar and triggers background scrolling.",
    "4608": "=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\nGame Reset - Initializes lives, scores, and cleared game variables.",
    "4864": "Main game state update routine.\nHandles background scrolling by copying map data to screen RAM\nand manages level/season transitions when the end of the map is reached.",
    "5344": "=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\nTiming - Standard nested X/Y register delay loop.",
    "5360": "=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\nTiming - Short delay loop variation.",
    "5376": "=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\nScroll Logic - Shifts screen character data to create movement effect.",
    "5607": "=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\nSprite State - Configures hardware sprite expansion and pointer resets.",
    "5793": "Initializes a new run for a player.\nResets scratched car counters and triggers the player context switch\nand stage reconstruction logic.",
    "5900": "=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\nStage Init - Prepares game state and hardware for a new level/stage.",
    "6054": "=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\nHero Movement (X) - Handles joystick left/right and updates Sprite 0 X.",
    "6144": "=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\nMain game initialization and entry point.\nCalls various setup routines for SID, VIC, and screen.",
    "6153": "=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\nMain Game Loop.\nUpdates game state, handles input, and manages screen/sprites.",
    "6194": "Sprite Update and Collision Dispatcher.\nExecutes the core logic for all active sprites, including movement,\nanimation, and interaction checks.",
    "6656": "=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\nFire Logic - Detects Joy fire button to jump.",
    "6912": "===================================================================\nCHECK HERO BACKGROUND COLLISION\nChecks if hero sprite collides with background tiles\n===================================================================",
    "7005": "===================================================================\nGAME OVER SEQUENCE\nHandles end of game, displays \"GAME OVER\" text and compares\nplayer score against high score table\n===================================================================",
    "7067": "Compare player score against 1st place high score ($7400)",
    "7097": "Compare player score against 2nd place high score ($7408)",
    "7124": "Compare player score against 3rd place high score ($7410)",
    "7151": "Compare player score against 4th place high score ($7418)",
    "7178": "Compare player score against 5th place high score ($7420)",
    "7208": "===================================================================\nSHIFT HIGH SCORE TABLE\nMakes room for new high score by shifting lower scores down\n===================================================================",
    "7292": "Insert player's score into the high score table",
    "7323": "Display high score names on screen",
    "7415": "===================================================================\nSHIFT HIGH SCORE NAMES\nShifts the 3-character names down when a new score is inserted\n===================================================================",
    "7502": "===================================================================\nHIGH SCORE NAME ENTRY\nAllows player to enter 3-character name using joystick\n===================================================================",
    "7717": "===================================================================\nDRAW CURSOR\nDraws the selection cursor at current row/col position\n===================================================================",
    "7781": "Joystick UP handler - move cursor up 2 rows",
    "7800": "Joystick DOWN handler - move cursor down 2 rows",
    "7819": "Joystick LEFT handler - move cursor left 3 columns",
    "7841": "Joystick RIGHT handler - move cursor right 3 columns",
    "7863": "===================================================================\nSET CURSOR COLOR\nSets the color at cursor position to highlight selection\n===================================================================",
    "7932": "===================================================================\nSTORE SELECTED CHARACTER TO HIGH SCORE NAME\nWhen FIRE is pressed, stores the selected character into the\nappropriate position in the high score name table\n===================================================================",
    "8103": "===================================================================\nCONVERT MAP ROW TO DISPLAY COORDINATES\nConverts internal map row index to screen display coordinates\nTakes map_row_index and outputs two-digit decimal representation\n===================================================================",
    "8192": "=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\nCharset",
    "12288": "=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\nsprites",
    "17408": "=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\nHandle hero movement based on joystick input.\nChecks for collisions and updates sprite position.",
    "17424": "=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\nHero Movement (Y) - Handles joystick up/down and updates Sprite 0 Y.",
    "17936": "=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\nGame Over Text - Prints the 'GAME OVER' string using screencodes.",
    "18432": "=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\nLose a life.\nDecrements lives counter and checks for game over.",
    "18752": "=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\nScore Processor - Manages point increments and extra life awards.",
    "18944": "=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\nEnemy Spawner - Uses RNG to initialize and position new enemy sprites.",
    "19456": "Updates horizontal positions for all active enemies.\nIncludes an integrated background collision check after every pixel of movement.",
    "20029": "=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\nPhysics - Increments Y-positions for all active sprites.",
    "20400": "=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\nMain Loop Tail - Synchronizes game logic and loops for the next frame.",
    "20480": "──────────────────────────────────────────────────────────\nRESTORE PLAYER STATE\nLoads the current player's game state from their buffer\nIn 2-player mode, each player has their own state buffer\n──────────────────────────────────────────────────────────",
    "20490": "Load Player 1's state (also used for single player mode)",
    "20508": "2-Player mode: Check which player is active",
    "20515": "Player 2 is active - load their state",
    "20992": "Plays a SID sound effect (Triangle Wave) based on index in $0806.\nCommonly used for variable pitch sounds like engine noise or jumping.",
    "21049": "Synchronizes game logic with the interrupt-driven update of Zero Page $C5. \nThis ensures the game loop runs at a consistent speed tied to the system's 50/60Hz interrupt.",
    "21248": "===================================================================\nSTAGE/LEVEL COUNTER UPDATE\nUpdates a two-digit counter display (01-17) that likely represents\nthe current stage or level number\n===================================================================",
    "21331": "===================================================================\nBONUS TEXT DATA\nText string: \"BONUS 10000\" with color code and terminator\nFormat: [color] [text] [terminator] [padding]\n===================================================================",
    "21344": "===================================================================\nINITIALIZE BONUS DISPLAY\nSets up bonus screen display with \"BONUS 10000\" text\nResets map row index and prepares for bonus stage\n===================================================================",
    "21379": "Delay loop to pause before continuing",
    "21504": "────────────────────────────────────────────────────────────\nIRQ Music Engine - Main Entry Point\nHandles raster sync, note timing, and SID register updates\n────────────────────────────────────────────────────────────",
    "21518": "Sync value is $06 - Initialize SID voices 2 & 3",
    "21534": "Check if music playback is active",
    "21539": "Exit point - jump to main IRQ continuation",
    "21552": "════════════════════════════════════════════════════════════\nMAIN MUSIC SEQUENCER - This is where you are!\nDecrements note timer and processes music data stream\n════════════════════════════════════════════════════════════",
    "21557": "Timer expired - check sequencer state (0=play note, 1=note off)",
    "21562": "State 1: Play next note from data stream",
    "21572": "Read next byte from music data stream",
    "21583": "Check if byte is a note value or control code",
    "21587": "Value >= $40 - Loop/restart command: reset pointer to $5500",
    "21599": "Check for rest/pause command ($30)",
    "21603": "Play the note: look up frequency in tables",
    "21616": "Program SID Voice 2 (channel selector != 0)",
    "21642": "Program SID Voice 3 (channel selector = 0)",
    "21666": "════════════════════════════════════════════════════════════\nState 0: Note-Off Handler (Release Phase)\n════════════════════════════════════════════════════════════",
    "21681": "Turn off Voice 2 and switch to Voice 3 for next note",
    "21692": "Turn off Voice 3 and switch to Voice 2 for next note",
    "22272": "===================================================================\nSID SOUND EFFECT ROUTINE\nHandles sound effects using the SID chip (MOS 6581)\nCreates a frequency sweep/pitch bend effect on Voice 1\n===================================================================",
    "22282": "Initialize SID chip registers for sound effect",
    "22315": "Update frequency sweep - creates pitch bend effect",
    "22363": "Sound disabled - turn off SID and exit",
    "22370": "Padding bytes (unused space)",
    "22384": "===================================================================\nCOPYRIGHT TEXT\n\"copyright colosoftware xrom system brussels 1983\"\nCompany: Colosoftware\nSystem: XROM System\nLocation: Brussels, Belgium\nYear: 1983\n==================================================================="
  },
  "settings": {
    "all_labels": false,
    "preserve_long_bytes": true,
    "brk_single_byte": true,
    "patch_brk": false,
    "platform": "Commodore 64",
    "assembler": "Tass64",
    "max_xref_count": 5,
    "max_arrow_columns": 6,
    "use_illegal_opcodes": false,
    "text_char_limit": 40,
    "addresses_per_line": 5,
    "bytes_per_line": 8,
    "enabled_features": {}
  },
  "immediate_value_formats": {
    "2083": {
      "LowByte": 38656
    },
    "2085": {
      "HighByte": 38656
    },
    "2091": {
      "HighByte": 48896
    },
    "2111": "Hex",
    "2115": "Binary",
    "2120": {
      "HighByte": 22272
    },
    "4116": "Binary",
    "4157": "Binary",
    "4165": "Binary",
    "4167": "Binary",
    "4530": "Decimal",
    "4873": {
      "LowByte": 16384
    },
    "4877": {
      "HighByte": 16384
    },
    "6057": "Binary",
    "6064": "Binary",
    "6155": "Binary",
    "6164": "Binary",
    "7560": "Binary",
    "7564": "Binary",
    "7568": "Binary",
    "7572": "Binary",
    "7576": "Binary",
    "17427": "Binary",
    "17429": "Binary",
    "18928": "Binary",
    "19098": {
      "HighByte": 1907
    },
    "19102": {
      "LowByte": 1907
    },
    "19109": {
      "HighByte": 1104
    },
    "19113": {
      "LowByte": 1104
    },
    "19791": {
      "LowByte": 1024
    },
    "19795": {
      "HighByte": 1024
    },
    "19907": {
      "LowByte": 985
    },
    "19911": {
      "HighByte": 985
    },
    "21587": {
      "HighByte": 21760
    },
    "21592": {
      "LowByte": 21760
    },
    "22310": "Hex"
  },
  "cursor_address": 15161,
  "hex_dump_cursor_address": 2112,
  "sprites_cursor_address": 15040,
  "charset_cursor_address": 8192,
  "right_pane_visible": "None",
  "sprite_multicolor_mode": true,
  "charset_multicolor_mode": false,
  "bitmap_cursor_address": 40960,
  "bitmap_multicolor_mode": false,
  "hexdump_view_mode": "ScreencodeShifted",
  "splitters": [
    22528
  ],
  "blocks_view_cursor": 3
}