{
 "schema": 1,
 "platform": "c64",
 "game": "lemmings",
 "part": "intro",
 "build": "PAL disk release, three disks (Psygnosis 1994); the boot disk unpatched, analysed at the title and at level 1 of Fun",
 "source": "regenerator2000 live",
 "regions": {
  "exclude": [
   [
    256,
    511,
    "stack"
   ],
   [
    53248,
    57343,
    "I/O and colour RAM"
   ],
   [
    0,
    3839,
    "Resident: the loader and the variables"
   ],
   [
    52024,
    57343,
    "Resident: the loader and the variables"
   ],
   [
    65528,
    65535,
    "Resident: the loader and the variables"
   ]
  ],
  "extra": [],
  "edges": [
   0,
   256,
   512,
   1024,
   2048,
   4096,
   16384,
   32768,
   40960,
   49152,
   53248,
   57344
  ],
  "elsewhere": [
   [
    0,
    3839,
    "Resident: the loader and the variables"
   ],
   [
    52024,
    57343,
    "Resident: the loader and the variables"
   ],
   [
    65528,
    65535,
    "Resident: the loader and the variables"
   ]
  ]
 },
 "blocks": [
  {
   "start": 3840,
   "end": 16383,
   "type": "Byte"
  },
  {
   "start": 16384,
   "end": 16392,
   "type": "Code"
  },
  {
   "start": 16393,
   "end": 16488,
   "type": "Byte"
  },
  {
   "start": 16489,
   "end": 17533,
   "type": "Code"
  },
  {
   "start": 17534,
   "end": 18255,
   "type": "Byte"
  },
  {
   "start": 18256,
   "end": 18389,
   "type": "Code"
  },
  {
   "start": 18390,
   "end": 18390,
   "type": "Byte"
  },
  {
   "start": 18391,
   "end": 18563,
   "type": "Code"
  },
  {
   "start": 18564,
   "end": 18611,
   "type": "Byte"
  },
  {
   "start": 18612,
   "end": 18655,
   "type": "Code"
  },
  {
   "start": 18656,
   "end": 18657,
   "type": "Byte"
  },
  {
   "start": 18658,
   "end": 18674,
   "type": "Code"
  },
  {
   "start": 18675,
   "end": 18675,
   "type": "Undefined"
  },
  {
   "start": 18676,
   "end": 18799,
   "type": "Code"
  },
  {
   "start": 18800,
   "end": 18814,
   "type": "Byte"
  },
  {
   "start": 18815,
   "end": 18843,
   "type": "Code"
  },
  {
   "start": 18844,
   "end": 19693,
   "type": "Byte"
  },
  {
   "start": 19694,
   "end": 19761,
   "type": "Code"
  },
  {
   "start": 19762,
   "end": 19888,
   "type": "Byte"
  },
  {
   "start": 19889,
   "end": 20329,
   "type": "Code"
  },
  {
   "start": 20330,
   "end": 21694,
   "type": "Byte"
  },
  {
   "start": 21695,
   "end": 21741,
   "type": "Code"
  },
  {
   "start": 21742,
   "end": 21755,
   "type": "Byte"
  },
  {
   "start": 21756,
   "end": 21789,
   "type": "Code"
  },
  {
   "start": 21790,
   "end": 21790,
   "type": "Byte"
  },
  {
   "start": 21791,
   "end": 22305,
   "type": "Code"
  },
  {
   "start": 22306,
   "end": 22306,
   "type": "Byte"
  },
  {
   "start": 22307,
   "end": 22389,
   "type": "Code"
  },
  {
   "start": 22390,
   "end": 22390,
   "type": "Byte"
  },
  {
   "start": 22391,
   "end": 22487,
   "type": "Code"
  },
  {
   "start": 22488,
   "end": 22488,
   "type": "Byte"
  },
  {
   "start": 22489,
   "end": 22542,
   "type": "Code"
  },
  {
   "start": 22543,
   "end": 22554,
   "type": "Byte"
  },
  {
   "start": 22555,
   "end": 23084,
   "type": "Code"
  },
  {
   "start": 23085,
   "end": 23087,
   "type": "Undefined"
  },
  {
   "start": 23088,
   "end": 52023,
   "type": "Byte"
  },
  {
   "start": 57344,
   "end": 65527,
   "type": "Byte"
  }
 ],
 "symbols": [
  {
   "address": 3840,
   "name": "balloon_shapes",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 4088,
   "name": "a_0FF8",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 4089,
   "name": "a_0FF9",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 4090,
   "name": "a_0FFA",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 4091,
   "name": "a_0FFB",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 4096,
   "name": "a_1000",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 4104,
   "name": "pic1_colours",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 4417,
   "name": "pic3_bitmap",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 5441,
   "name": "pic3_bitmap_1",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 6465,
   "name": "pic3_bitmap_2",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 7489,
   "name": "pic3_bitmap_3",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 7716,
   "name": "pic3_screen",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 8192,
   "name": "picture_bitmap",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 11681,
   "name": "pic0_screen_header",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 11689,
   "name": "pic0_screen",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 12297,
   "name": "pic0_colours",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 13239,
   "name": "pic0_bitmap",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 14263,
   "name": "pic0_bitmap_1",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 15287,
   "name": "pic0_bitmap_2",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 16192,
   "name": "bitmap_spare",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 16384,
   "name": "intro_sound_init",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 16387,
   "name": "intro_sound_start",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 16390,
   "name": "intro_sound_play",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 16393,
   "name": "isd_fade_speed",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 16394,
   "name": "isd_tune_wanted",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 16395,
   "name": "a_400B",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 16396,
   "name": "isd_tune_now",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 16397,
   "name": "a_400D",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 16398,
   "name": "isd_fade_count",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 16399,
   "name": "isd_running",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 16400,
   "name": "isd_tick",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 16403,
   "name": "isd_note_phase",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 16406,
   "name": "isd_pulse_dir",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 16409,
   "name": "isd_pulse_lo",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 16412,
   "name": "isd_pulse_hi",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 16415,
   "name": "isd_vibrato_dir",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 16418,
   "name": "isd_vibrato_start",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 16421,
   "name": "isd_vibrato_lo",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 16424,
   "name": "isd_vibrato_hi",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 16427,
   "name": "isd_vibrato_count",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 16430,
   "name": "isd_wave_pos",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 16433,
   "name": "isd_arp_pos",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 16436,
   "name": "isd_filter_prog",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 16439,
   "name": "isd_vibrato_set",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 16442,
   "name": "isd_pulse_sweep",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 16445,
   "name": "isd_wave_flags",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 16448,
   "name": "isd_instrument",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 16451,
   "name": "isd_instr_transpose",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 16454,
   "name": "isd_length",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 16457,
   "name": "isd_arpeggio",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 16460,
   "name": "isd_control",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 16463,
   "name": "isd_gate_mask",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 16466,
   "name": "isd_gate_off",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 16469,
   "name": "isd_attack_decay",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 16472,
   "name": "isd_sustain_release",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 16475,
   "name": "isd_filter_pos",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 16478,
   "name": "isd_filter_count",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 16481,
   "name": "isd_filter_step",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 16484,
   "name": "isd_cutoff",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 16485,
   "name": "isd_volume",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 16486,
   "name": "isd_voice_offset",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 16489,
   "name": "isd_init",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 16504,
   "name": "b_4078",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16541,
   "name": "isd_start",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 16579,
   "name": "isd_play",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 16619,
   "name": "r_40EB",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 16620,
   "name": "b_40EC",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16624,
   "name": "isd_filter_mode",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 16636,
   "name": "b_40FC",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16691,
   "name": "b_4133",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16701,
   "name": "isd_voice_tick",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 16719,
   "name": "b_414F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16722,
   "name": "r_4152",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 16723,
   "name": "isd_read_sequence",
   "type": "Branch",
   "kind": "user"
  },
  {
   "address": 16728,
   "name": "j_4158",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 16754,
   "name": "b_4172",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16767,
   "name": "b_417F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16779,
   "name": "b_418B",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16792,
   "name": "b_4198",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16812,
   "name": "isd_voice_add",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 16823,
   "name": "b_41B7",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16836,
   "name": "b_41C4",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16849,
   "name": "b_41D1",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16873,
   "name": "b_41E9",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16893,
   "name": "b_41FD",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16909,
   "name": "b_420D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16912,
   "name": "b_4210",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16936,
   "name": "b_4228",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16964,
   "name": "b_4244",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 17023,
   "name": "isd_effects",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 17057,
   "name": "b_42A1",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 17080,
   "name": "b_42B8",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 17085,
   "name": "b_42BD",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 17097,
   "name": "b_42C9",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 17105,
   "name": "b_42D1",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 17167,
   "name": "j_430F",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 17179,
   "name": "b_431B",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 17195,
   "name": "b_432B",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 17220,
   "name": "b_4344",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 17235,
   "name": "j_4353",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 17272,
   "name": "b_4378",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 17280,
   "name": "b_4380",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 17297,
   "name": "b_4391",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 17306,
   "name": "b_439A",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 17308,
   "name": "j_439C",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 17341,
   "name": "b_43BD",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 17346,
   "name": "b_43C2",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 17355,
   "name": "b_43CB",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 17375,
   "name": "isd_sweep_step",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 17397,
   "name": "b_43F5",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 17422,
   "name": "b_440E",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 17461,
   "name": "b_4435",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 17480,
   "name": "b_4448",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 17496,
   "name": "b_4458",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 17509,
   "name": "r_4465",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 17510,
   "name": "isd_set_note",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 17512,
   "name": "isd_set_note_y",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 17522,
   "name": "b_4472",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 17533,
   "name": "isd_freq_lo_prev",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 17534,
   "name": "isd_freq_lo",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 17629,
   "name": "isd_freq_hi_prev",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 17630,
   "name": "isd_freq_hi",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 17726,
   "name": "isd_tune_sequences",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 17734,
   "name": "isd_sequence_lo",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 17741,
   "name": "isd_sequence_hi",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 17747,
   "name": "isd_filter_progs",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 17748,
   "name": "isd_filter_progs_lo",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 17750,
   "name": "isd_wave_progs_lo",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 17752,
   "name": "isd_wave_progs_hi",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 17754,
   "name": "isd_arpeggios_lo",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 17758,
   "name": "isd_arpeggios_hi",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 17808,
   "name": "isd_instr_pulse",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 17812,
   "name": "isd_instr_wave",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 17816,
   "name": "isd_instr_ad",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 17820,
   "name": "isd_instr_sr",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 17824,
   "name": "isd_instr_filter",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 17828,
   "name": "isd_instr_vibrato",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 17832,
   "name": "isd_instr_sweep",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 17836,
   "name": "isd_instr_flags",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 17840,
   "name": "isd_sequence_1",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 17924,
   "name": "isd_sequence_2",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 17961,
   "name": "isd_sequence_3",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 18045,
   "name": "isd_sequence_4",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 18126,
   "name": "isd_sequence_5",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 18163,
   "name": "isd_sequence_6",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 18244,
   "name": "isd_sequence_0",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 18256,
   "name": "intro_start",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 18278,
   "name": "b_4766",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 18390,
   "name": "intro_music_off",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 18391,
   "name": "scene_balloon",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 18420,
   "name": "scene_floaters",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 18448,
   "name": "scene_rocks",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 18471,
   "name": "scene_hill",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 18494,
   "name": "scene_logo",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 18514,
   "name": "scene_setup",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 18520,
   "name": "b_4858",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 18532,
   "name": "b_4864",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 18540,
   "name": "b_486C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 18564,
   "name": "scene_scripts",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 18565,
   "name": "scene_scripts_hi",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 18612,
   "name": "intro_end",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 18643,
   "name": "b_48D3",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 18657,
   "name": "step_shown",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 18658,
   "name": "intro_irq",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 18673,
   "name": "irq_vector",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 18674,
   "name": "irq_vector_hi",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 18675,
   "name": "first_band",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 18676,
   "name": "intro_irq_main",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 18686,
   "name": "b_48FE",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 18709,
   "name": "b_4915",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 18717,
   "name": "b_491D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 18730,
   "name": "b_492A",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 18755,
   "name": "b_4943",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 18762,
   "name": "b_494A",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 18764,
   "name": "irq_next",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 18791,
   "name": "irq_saved_port",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 18800,
   "name": "irq_handlers_lo",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 18805,
   "name": "irq_handlers_hi",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 18810,
   "name": "irq_lines",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 18811,
   "name": "band_lines",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 18815,
   "name": "sprites_init",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 18844,
   "name": "image_addr_lo",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 18860,
   "name": "image_addr_hi",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 18876,
   "name": "image_pointer",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 18892,
   "name": "image_dx",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 19053,
   "name": "image_dy",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 19214,
   "name": "frame_list",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 19466,
   "name": "anim_frames",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 19558,
   "name": "anim_table",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 19694,
   "name": "wait_steps",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 19708,
   "name": "show_picture_mode",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 19732,
   "name": "copy_colour_ram",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 19734,
   "name": "b_4D16",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 19762,
   "name": "picture_streams",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 19763,
   "name": "picture_stream_lo",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 19764,
   "name": "picture_out_hi",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 19765,
   "name": "picture_out_lo",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 19766,
   "name": "picture_end_hi",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 19767,
   "name": "picture_end_lo",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 19768,
   "name": "picture_lit_hi",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 19769,
   "name": "picture_lit_lo",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 19882,
   "name": "scene_pictures",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 19887,
   "name": "picture_base",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 19888,
   "name": "unpacking",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 19889,
   "name": "show_picture",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 19938,
   "name": "unpack_stream",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 19987,
   "name": "intro_unpack",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 19989,
   "name": "b_4E15",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 20005,
   "name": "b_4E25",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 20007,
   "name": "b_4E27",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 20016,
   "name": "b_4E30",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 20022,
   "name": "b_4E36",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 20035,
   "name": "intro_next_byte",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 20041,
   "name": "b_4E49",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 20044,
   "name": "b_4E4C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 20062,
   "name": "b_4E5E",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 20065,
   "name": "b_4E61",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 20076,
   "name": "b_4E6C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 20080,
   "name": "b_4E70",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 20088,
   "name": "b_4E78",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 20094,
   "name": "b_4E7E",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 20106,
   "name": "b_4E8A",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 20113,
   "name": "b_4E91",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 20123,
   "name": "b_4E9B",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 20138,
   "name": "show_image",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 20197,
   "name": "b_4EE5",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 20249,
   "name": "b_4F19",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 20260,
   "name": "image_pair",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 20278,
   "name": "j_4F36",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 20279,
   "name": "image_entry",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 20289,
   "name": "image_pointer_now",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 20312,
   "name": "slot_offset",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 20318,
   "name": "slot_dx",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 20323,
   "name": "slot_dy",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 20330,
   "name": "image_offset_lo",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 20331,
   "name": "image_end_lo",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 20479,
   "name": "image_offset_hi",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 20480,
   "name": "image_end_hi",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 20483,
   "name": "s_5003",
   "type": "Subroutine",
   "kind": "auto"
  },
  {
   "address": 20486,
   "name": "s_5006",
   "type": "Subroutine",
   "kind": "auto"
  },
  {
   "address": 20489,
   "name": "s_5009",
   "type": "Subroutine",
   "kind": "auto"
  },
  {
   "address": 20628,
   "name": "image_literals",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 20777,
   "name": "script_wait",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 20783,
   "name": "script_balloon_1",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 20833,
   "name": "script_balloon_2",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 20888,
   "name": "script_balloon_3",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 20943,
   "name": "script_balloon_4",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 20998,
   "name": "script_floater_1",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 21080,
   "name": "script_floater_2",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 21156,
   "name": "script_floater_3",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 21227,
   "name": "script_floater_4",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 21303,
   "name": "script_rocks_1",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 21502,
   "name": "script_rocks_2",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 21548,
   "name": "script_hill",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 21672,
   "name": "script_idle",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 21692,
   "name": "frame_entry",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 21693,
   "name": "buffer_half",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 21694,
   "name": "step_ready",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 21695,
   "name": "run_scene",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 21701,
   "name": "b_54C5",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 21706,
   "name": "j_54CA",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 21730,
   "name": "r_54E2",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 21731,
   "name": "clear_shown",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 21735,
   "name": "b_54E7",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 21742,
   "name": "actor_records",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 21743,
   "name": "actor_records_hi",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 21754,
   "name": "actor_index",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 21755,
   "name": "actor_step_index",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 21756,
   "name": "scene_step",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 21774,
   "name": "b_550E",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 21790,
   "name": "scene_over",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 21791,
   "name": "actor_step",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 21818,
   "name": "b_553A",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 21844,
   "name": "read_script",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 21861,
   "name": "b_5565",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 21864,
   "name": "j_5568",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 21889,
   "name": "b_5581",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 21909,
   "name": "b_5595",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 21929,
   "name": "b_55A9",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 21948,
   "name": "b_55BC",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 21967,
   "name": "b_55CF",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 21980,
   "name": "b_55DC",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 21983,
   "name": "b_55DF",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 22028,
   "name": "script_byte",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 22029,
   "name": "script_ptr",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 22030,
   "name": "script_ptr_hi",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 22039,
   "name": "r_5617",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 22040,
   "name": "set_actor_images",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 22071,
   "name": "b_5637",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 22077,
   "name": "j_563D",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 22095,
   "name": "b_564F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 22101,
   "name": "j_5655",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 22117,
   "name": "b_5665",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 22123,
   "name": "j_566B",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 22141,
   "name": "b_567D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 22147,
   "name": "r_5683",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 22148,
   "name": "position_actors",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 22150,
   "name": "b_5686",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 22166,
   "name": "position_actor",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 22216,
   "name": "position_slot",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 22227,
   "name": "actor_x_now",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 22239,
   "name": "actor_x_msb",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 22249,
   "name": "actor_y_now",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 22260,
   "name": "r_56F4",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 22261,
   "name": "move_across",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 22284,
   "name": "move_down",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 22306,
   "name": "step_divider",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 22307,
   "name": "count_step",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 22330,
   "name": "b_573A",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 22341,
   "name": "b_5745",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 22380,
   "name": "r_576C",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 22381,
   "name": "b_576D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 22387,
   "name": "to_position_actors",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 22390,
   "name": "balloon_sprites",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 22391,
   "name": "balloon_sprites_on",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 22487,
   "name": "r_57D7",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 22488,
   "name": "balloon_line",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 22489,
   "name": "sprites_upper",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 22493,
   "name": "b_57DD",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 22507,
   "name": "b_57EB",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 22543,
   "name": "x_msb_bits",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 22544,
   "name": "lower_count",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 22546,
   "name": "lower_list",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 22547,
   "name": "lower_list_pair",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 22548,
   "name": "lower_list_next",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 22554,
   "name": "band_sprite",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 22555,
   "name": "build_bands",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 22563,
   "name": "b_5823",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 22579,
   "name": "b_5833",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 22591,
   "name": "b_583F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 22603,
   "name": "b_584B",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 22615,
   "name": "b_5857",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 22628,
   "name": "b_5864",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 22644,
   "name": "write_band",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 22750,
   "name": "sprite_band_1",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 22751,
   "name": "band1_y",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 22753,
   "name": "band1_y_reg",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 22756,
   "name": "band1_y_reg_2",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 22759,
   "name": "band1_line",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 22761,
   "name": "band1_ptr",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 22763,
   "name": "band1_ptr_2",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 22764,
   "name": "b_58EC",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 22772,
   "name": "b_58F4",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 22778,
   "name": "band1_ptr_reg",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 22781,
   "name": "band1_ptr_reg_2",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 22784,
   "name": "band1_colour",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 22786,
   "name": "band1_colour_reg",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 22789,
   "name": "band1_colour_2",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 22791,
   "name": "band1_colour_reg_2",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 22794,
   "name": "band1_x",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 22796,
   "name": "band1_x_reg",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 22799,
   "name": "band1_x_reg_2",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 22802,
   "name": "band1_next",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 22806,
   "name": "sprite_band_2",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 22820,
   "name": "b_5924",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 22828,
   "name": "b_592C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 22862,
   "name": "sprite_band_3",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 22876,
   "name": "b_595C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 22884,
   "name": "b_5964",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 22918,
   "name": "sprite_band_4",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 22932,
   "name": "b_5994",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 22940,
   "name": "b_599C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 22974,
   "name": "sort_lower",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 22978,
   "name": "b_59C2",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 22998,
   "name": "b_59D6",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 23038,
   "name": "b_59FE",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 23048,
   "name": "b_5A08",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 23053,
   "name": "r_5A0D",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 23054,
   "name": "sort_compare",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 23069,
   "name": "r_5A1D",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 23070,
   "name": "swap_byte",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 23088,
   "name": "intro_sprite_msb",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 23089,
   "name": "intro_sprite_msb_2",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 23104,
   "name": "image_cache",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 23120,
   "name": "actor_1",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 23121,
   "name": "actor_1_script_hi",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 23135,
   "name": "actor_1_slots",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 23147,
   "name": "actor_1_shown",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 23174,
   "name": "actor_2_slots",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 23186,
   "name": "actor_2_shown",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 23213,
   "name": "actor_3_slots",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 23225,
   "name": "actor_3_shown",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 23252,
   "name": "actor_4_slots",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 23264,
   "name": "actor_4_shown",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 23291,
   "name": "actor_5_slots",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 23303,
   "name": "actor_5_shown",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 23330,
   "name": "actor_6_slots",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 23342,
   "name": "actor_6_shown",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 23360,
   "name": "lemming_images",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 24384,
   "name": "lemming_images_1",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 25408,
   "name": "lemming_images_2",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 26432,
   "name": "lemming_images_3",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 27456,
   "name": "lemming_images_4",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 28480,
   "name": "lemming_images_5",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 29504,
   "name": "lemming_images_6",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 30528,
   "name": "lemming_images_7",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 31552,
   "name": "lemming_images_8",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 32576,
   "name": "lemming_images_9",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 32768,
   "name": "lemming_images_8000",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 33600,
   "name": "lemming_images_10",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 34624,
   "name": "lemming_images_11",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 35648,
   "name": "lemming_images_12",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 36672,
   "name": "lemming_images_13",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 36864,
   "name": "a_9000",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 36865,
   "name": "a_9001",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 36866,
   "name": "a_9002",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 36867,
   "name": "a_9003",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 36868,
   "name": "a_9004",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 36869,
   "name": "a_9005",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 36870,
   "name": "a_9006",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 36871,
   "name": "images_at_9007",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 37200,
   "name": "images_at_9150",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 37696,
   "name": "lemming_images_14",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 38040,
   "name": "pic1_bitmap",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 39064,
   "name": "pic1_bitmap_1",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 40088,
   "name": "pic1_bitmap_2",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 40704,
   "name": "pic1_at_9F00",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 40960,
   "name": "pic1_bitmap_a000",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 41112,
   "name": "pic1_bitmap_3",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 42136,
   "name": "pic1_bitmap_4",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 43160,
   "name": "pic1_bitmap_5",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 44184,
   "name": "pic1_bitmap_6",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 44951,
   "name": "pic1_screen",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 45443,
   "name": "pic3_colours",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 45671,
   "name": "pic4_bitmap",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 46695,
   "name": "pic4_bitmap_1",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 47719,
   "name": "pic4_bitmap_2",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 48743,
   "name": "pic4_bitmap_3",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 49152,
   "name": "pic4_bitmap_c000",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 49767,
   "name": "pic4_bitmap_4",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 50176,
   "name": "j_C400",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 50791,
   "name": "pic4_bitmap_5",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 51513,
   "name": "pic4_screen",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 57344,
   "name": "f_E000",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 57352,
   "name": "pic2_bitmap",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 58376,
   "name": "pic2_bitmap_1",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 58651,
   "name": "s_E51B",
   "type": "Subroutine",
   "kind": "auto"
  },
  {
   "address": 59400,
   "name": "pic2_bitmap_2",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 60424,
   "name": "pic2_bitmap_3",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 60600,
   "name": "pic2_at_ECB8",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 61448,
   "name": "pic2_bitmap_4",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 62472,
   "name": "pic2_bitmap_5",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 63496,
   "name": "pic2_bitmap_6",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 64059,
   "name": "pic2_screen",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 64652,
   "name": "pic2_colours",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 64789,
   "name": "KERNAL_RESTORj",
   "type": "Predefined",
   "kind": "system"
  },
  {
   "address": 64848,
   "name": "pic2_at_FD50",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 64931,
   "name": "pic2_at_FDA3",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 65105,
   "name": "pic4_colours",
   "type": "UserDefined",
   "kind": "user"
  }
 ],
 "comments": [
  {
   "address": 3840,
   "type": "line",
   "text": "the four sprite shapes of the balloon's extra sprites, as IB loads them; copied to $0280 at the start. Later the page is the end of the colours unpacked at $0C00"
  },
  {
   "address": 4088,
   "type": "line",
   "text": "the screen's sprite pointer for sprite 0 (the screen is at $0C00); before the colours are unpacked, the end of the balloon's sprite shapes"
  },
  {
   "address": 4089,
   "type": "line",
   "text": "sprite 1's pointer"
  },
  {
   "address": 4090,
   "type": "line",
   "text": "sprite 2's pointer"
  },
  {
   "address": 4091,
   "type": "line",
   "text": "sprite 3's pointer, then sprites 4 to 7's"
  },
  {
   "address": 4096,
   "type": "line",
   "text": "the address in script_byte's LDA as the intro loads it; set to a script before it runs"
  },
  {
   "address": 4104,
   "type": "line",
   "text": "picture 1's colour RAM values, packed, $1008-$1137"
  },
  {
   "address": 4417,
   "type": "line",
   "text": "picture 3's bitmap (the hill), packed, $1141-$1E1A"
  },
  {
   "address": 5441,
   "type": "line",
   "text": "picture 3's packed bitmap (the hill), continued: $1541-$1940"
  },
  {
   "address": 6465,
   "type": "line",
   "text": "picture 3's packed bitmap (the hill), continued: $1941-$1D40"
  },
  {
   "address": 7489,
   "type": "line",
   "text": "picture 3's packed bitmap (the hill), continued: $1D41-$1E1A"
  },
  {
   "address": 7716,
   "type": "line",
   "text": "picture 3's screen colours, packed, $1E24-$1FE4"
  },
  {
   "address": 8192,
   "type": "line",
   "text": "the bitmap every picture is unpacked into, $2000-$3F3F: zeros as IB loads it, up to picture 0's packed streams, which sit inside it from $2DA1 and are unpacked first"
  },
  {
   "address": 9216,
   "type": "line",
   "text": "the picture bitmap, continued: zeros, $2400-$27FF"
  },
  {
   "address": 10240,
   "type": "line",
   "text": "the picture bitmap, continued: zeros, $2800-$2BFF"
  },
  {
   "address": 11264,
   "type": "line",
   "text": "the picture bitmap, continued: zeros, $2C00-$2DA0"
  },
  {
   "address": 11681,
   "type": "line",
   "text": "the eight bytes before picture 0's screen colours: a header in the packer's format ($0D91, then the output's start $0C00 and end $0FE8, and a literal count of 0) that show_picture does not read, since picture_streams holds what it needs"
  },
  {
   "address": 11689,
   "type": "line",
   "text": "picture 0's screen colours (the balloon), packed, $2DA9-$2FFF; the bitmap unpacks over it from $2000"
  },
  {
   "address": 12297,
   "type": "line",
   "text": "picture 0's colour RAM values, packed, $3009-$33AD"
  },
  {
   "address": 13239,
   "type": "line",
   "text": "picture 0's bitmap, packed, $33B7-$3F3F: it unpacks to $2000 over its own stream, writing behind the reading"
  },
  {
   "address": 14263,
   "type": "line",
   "text": "picture 0's packed bitmap (the balloon), continued: $37B7-$3BB6"
  },
  {
   "address": 15287,
   "type": "line",
   "text": "picture 0's packed bitmap (the balloon), continued: $3BB7-$3F3F"
  },
  {
   "address": 16192,
   "type": "line",
   "text": "past the bitmap, which ends at $3F3F: 192 bytes of zeros to the end of the area"
  },
  {
   "address": 16384,
   "type": "line",
   "text": "the intro's sound driver, a smaller relative of the game's at $3000: entry 0, init"
  },
  {
   "address": 16387,
   "type": "line",
   "text": "entry 1: start sequence A on voice X"
  },
  {
   "address": 16390,
   "type": "line",
   "text": "entry 2: one frame of the tune"
  },
  {
   "address": 16393,
   "type": "line",
   "text": "frames between two steps of a fade-out, 0 for none"
  },
  {
   "address": 16394,
   "type": "line",
   "text": "per voice: the tune asked for, for the $FC command"
  },
  {
   "address": 16395,
   "type": "line",
   "text": "isd_tune_wanted for the second voice"
  },
  {
   "address": 16396,
   "type": "line",
   "text": "per voice: the tune the $FC command last switched to"
  },
  {
   "address": 16397,
   "type": "line",
   "text": "isd_tune_now for the second voice"
  },
  {
   "address": 16398,
   "type": "line",
   "text": "frames left to the fade's next step"
  },
  {
   "address": 16399,
   "type": "line",
   "text": "non-zero while the driver plays"
  },
  {
   "address": 16400,
   "type": "line",
   "text": "per voice: frames to the next tick, every third frame"
  },
  {
   "address": 16403,
   "type": "line",
   "text": "per voice: 0 at a new note, then 1 and 2 as its effects start"
  },
  {
   "address": 16406,
   "type": "line",
   "text": "per voice: the pulse sweep's direction"
  },
  {
   "address": 16409,
   "type": "line",
   "text": "per voice: the pulse width, low byte"
  },
  {
   "address": 16412,
   "type": "line",
   "text": "per voice: the pulse width, high nybble"
  },
  {
   "address": 16415,
   "type": "line",
   "text": "per voice: which half of the vibrato"
  },
  {
   "address": 16418,
   "type": "line",
   "text": "per voice: the ticks left of the note below which the vibrato runs: its length less the instrument's delay"
  },
  {
   "address": 16421,
   "type": "line",
   "text": "per voice: the vibrato's step, low byte"
  },
  {
   "address": 16424,
   "type": "line",
   "text": "per voice: the vibrato's step, high byte"
  },
  {
   "address": 16427,
   "type": "line",
   "text": "per voice: ticks left in this half of the vibrato"
  },
  {
   "address": 16430,
   "type": "line",
   "text": "per voice: the position in the wave program"
  },
  {
   "address": 16433,
   "type": "line",
   "text": "per voice: the position in the arpeggio"
  },
  {
   "address": 16436,
   "type": "line",
   "text": "per voice: the instrument's $45A0 byte: its low nybble the filter program"
  },
  {
   "address": 16439,
   "type": "line",
   "text": "per voice: the instrument's vibrato byte ($45A4): the low nybble the ticks per half, the high nybble how far the step is shifted down"
  },
  {
   "address": 16442,
   "type": "line",
   "text": "per voice: the instrument's $45A8 byte: the high nybble the pulse sweep's step"
  },
  {
   "address": 16445,
   "type": "line",
   "text": "per voice: the instrument's wave flags ($45AC): bit 7 runs a wave program, bits 6 and 7 an arpeggio, its number from the low bits or from the sequence"
  },
  {
   "address": 16448,
   "type": "line",
   "text": "per voice: the instrument, 0-3"
  },
  {
   "address": 16451,
   "type": "line",
   "text": "per voice: added to every instrument number ($FA command)"
  },
  {
   "address": 16454,
   "type": "line",
   "text": "per voice: the note's length in ticks"
  },
  {
   "address": 16457,
   "type": "line",
   "text": "per voice: the arpeggio number"
  },
  {
   "address": 16460,
   "type": "line",
   "text": "per voice: the waveform and gate byte"
  },
  {
   "address": 16463,
   "type": "line",
   "text": "per voice: $FF while the note sounds, $FE to release it"
  },
  {
   "address": 16466,
   "type": "line",
   "text": "per voice: the ticks left of the note at which it is released: the instrument's $45A0 byte over four, at most the length"
  },
  {
   "address": 16469,
   "type": "line",
   "text": "per voice: attack and decay"
  },
  {
   "address": 16472,
   "type": "line",
   "text": "per voice: sustain and release"
  },
  {
   "address": 16475,
   "type": "line",
   "text": "the position in the filter program (voice 2)"
  },
  {
   "address": 16478,
   "type": "line",
   "text": "ticks left of the filter program's step"
  },
  {
   "address": 16481,
   "type": "line",
   "text": "the filter step added to the cutoff each tick"
  },
  {
   "address": 16484,
   "type": "line",
   "text": "the filter's cutoff, high byte"
  },
  {
   "address": 16485,
   "type": "line",
   "text": "the master volume, counted down by a fade"
  },
  {
   "address": 16486,
   "type": "line",
   "text": "each voice's SID register offset: 0, 7, 14"
  },
  {
   "address": 16489,
   "type": "line",
   "text": "silences the SID: gates off, every register cleared, the driver's state cleared, resonance $F with voice 2 through the filter, volume 15, running"
  },
  {
   "address": 16541,
   "type": "line",
   "text": "starts sequence A on voice X: active, its first tick next frame, its pulse reset and the gate cycled, its position, repeats and transpose cleared"
  },
  {
   "address": 16579,
   "type": "line",
   "text": "one frame: the fade-out if one runs, the volume, filter mode and cutoff, the three voices' frequency, pulse, envelope and waveform into the SID, then each voice's tick ($413D)"
  },
  {
   "address": 16624,
   "type": "line",
   "text": "the ORA's operand: the filter mode bits, from the filter program"
  },
  {
   "address": 16701,
   "type": "line",
   "text": "one voice's frame: every third frame a tick; when the note's length runs out, the next note ($4153), otherwise its effects ($427F)"
  },
  {
   "address": 16723,
   "type": "line",
   "text": "reads a voice's sequence: $FF jumps within it, $FE ends the voice, $FB sets a repeat count, $FA the instrument transpose, $FC repeats from the start or goes on to another sequence, $C0 and up an instrument, $80 up a length, $60 up an arpeggio, and below $60 a note; then the instrument's settings from the eight tables at $4590 and the note's frequency ($4466)"
  },
  {
   "address": 16812,
   "type": "line",
   "text": "the ADC's operand, written with the voice number at $41A7: tune times two plus voice indexes $453E"
  },
  {
   "address": 17023,
   "type": "line",
   "text": "one voice's effects between notes: the release point, the vibrato, the wave program ($4556), the arpeggio ($455A) and the pulse sweep; on voice 2 the filter program ($4553)"
  },
  {
   "address": 17375,
   "type": "line",
   "text": "the ADC's operand: the instrument's pulse sweep step, also subtracted on the way down ($43F9)"
  },
  {
   "address": 17510,
   "type": "line",
   "text": "sets the voice's frequency for its note"
  },
  {
   "address": 17512,
   "type": "line",
   "text": "the same for note Y: three below, capped at 95, from the tables at $447E and $44DE"
  },
  {
   "address": 17533,
   "type": "line",
   "text": "the RTS that ends isd_set_note, read as entry -1 of the frequency table by the vibrato"
  },
  {
   "address": 17534,
   "type": "line",
   "text": "the frequencies of 96 notes, low bytes"
  },
  {
   "address": 17629,
   "type": "line",
   "text": "the byte before isd_freq_hi, read as its entry -1"
  },
  {
   "address": 17630,
   "type": "line",
   "text": "the frequencies of 96 notes, high bytes"
  },
  {
   "address": 17726,
   "type": "line",
   "text": "for the $FC command: each tune's first sequence for voices 1 and 2"
  },
  {
   "address": 17734,
   "type": "line",
   "text": "the seven sequences' addresses, low bytes; the tune plays sequences 1, 2 and 3"
  },
  {
   "address": 17741,
   "type": "line",
   "text": "the sequences' addresses, high bytes"
  },
  {
   "address": 17747,
   "type": "line",
   "text": "the filter program's address, read from its second byte as a pair ($4554/$4555)"
  },
  {
   "address": 17748,
   "type": "line",
   "text": "the filter program's address, low byte"
  },
  {
   "address": 17750,
   "type": "line",
   "text": "the wave programs' addresses, low bytes"
  },
  {
   "address": 17752,
   "type": "line",
   "text": "the wave programs' addresses, high bytes"
  },
  {
   "address": 17754,
   "type": "line",
   "text": "the arpeggios' addresses, low bytes"
  },
  {
   "address": 17758,
   "type": "line",
   "text": "the arpeggios' addresses, high bytes; then the wave programs, the arpeggios and the filter program themselves, to $458F"
  },
  {
   "address": 17808,
   "type": "line",
   "text": "the four instruments' pulse width high nybble (bit 7 set: keep the pulse)"
  },
  {
   "address": 17812,
   "type": "line",
   "text": "the instruments' waveform byte; bits 4-6 also the pulse width's low byte"
  },
  {
   "address": 17816,
   "type": "line",
   "text": "the instruments' attack and decay"
  },
  {
   "address": 17820,
   "type": "line",
   "text": "the instruments' sustain and release"
  },
  {
   "address": 17824,
   "type": "line",
   "text": "the instruments' filter program (low nybble) and release point (the byte over four)"
  },
  {
   "address": 17828,
   "type": "line",
   "text": "the instruments' vibrato: its speed and its depth"
  },
  {
   "address": 17832,
   "type": "line",
   "text": "the instruments' pulse sweep step (high nybble) and vibrato delay (low nybble)"
  },
  {
   "address": 17836,
   "type": "line",
   "text": "the instruments' wave flags; the seven sequences follow from $45B0 to $474F"
  },
  {
   "address": 17840,
   "type": "line",
   "text": "the intro tune's sequence 1, the first voice's start: notes, lengths, instruments and commands"
  },
  {
   "address": 17924,
   "type": "line",
   "text": "the intro tune's sequence 2, the second voice's start: notes, lengths, instruments and commands"
  },
  {
   "address": 17961,
   "type": "line",
   "text": "the intro tune's sequence 3, the third voice's start: notes, lengths, instruments and commands"
  },
  {
   "address": 18045,
   "type": "line",
   "text": "the intro tune's sequence 4: notes, lengths, instruments and commands"
  },
  {
   "address": 18126,
   "type": "line",
   "text": "the intro tune's sequence 5: notes, lengths, instruments and commands"
  },
  {
   "address": 18163,
   "type": "line",
   "text": "the intro tune's sequence 6: notes, lengths, instruments and commands"
  },
  {
   "address": 18244,
   "type": "line",
   "text": "the intro tune's sequence 0: notes, lengths, instruments and commands"
  },
  {
   "address": 18256,
   "type": "line",
   "text": "the intro, entered from the loader ($CD2D) once IA and IB are in: its own interrupt at $48E2 from line 0, the four sprite shapes kept at $0F00 copied to $0280-$037F (pointers $0A-$0D), CIA 1's timer stopped, black border and background, the screen blanked; the intro tune started on three voices (sequences 1, 2 and 3); then the five scenes ($47D7, $47F4, $4810, $4827, $483E), each run to its end by $54BF; the tune stopped, 60 steps of silence, and the KERNAL set-up at $48B4"
  },
  {
   "address": 18390,
   "type": "line",
   "text": "bit 7 set once the scenes are over: the interrupt then stops calling the tune's player"
  },
  {
   "address": 18391,
   "type": "line",
   "text": "scene 1: the balloon over the mountains (picture 0, actor scripts from $48A8), the interrupt's top line 0, background colour $0F, and the four extra sprites on the balloon ($5776)"
  },
  {
   "address": 18420,
   "type": "line",
   "text": "scene 2: rocks and grass under a red sky (picture 1, actor scripts from $489C), lemmings floating down under umbrellas and walking off"
  },
  {
   "address": 18448,
   "type": "line",
   "text": "scene 3: the rocks again, nearer (picture 2, actor scripts from $4890): lemmings walk and jump"
  },
  {
   "address": 18471,
   "type": "line",
   "text": "scene 4: the green hill under grey mountains (picture 3, actor script $542C): one lemming climbs up and walks over the hill"
  },
  {
   "address": 18494,
   "type": "line",
   "text": "scene 5: the Lemmings logo (picture 4) with no actors: unpacked with the screen off, shown after 2 steps, then held for 87 (a step is four frames); the intro start then holds it 60 more with the tune stopped"
  },
  {
   "address": 18514,
   "type": "line",
   "text": "sets a scene up: A is the raster line of the interrupt's main part ($497A); clears the six actors' records ($5A50-$5B39) and the sprite image cache ($5A40, to $FF); gives each actor its script from the table at $4884 + Y"
  },
  {
   "address": 18564,
   "type": "line",
   "text": "the actors' scripts, six addresses a scene (12 bytes): scene 4 at +0, scene 3 at +$0C, scene 2 at +$18, scene 1 at +$24 (scene 5 has none); read with $4885 by scene_setup; $54A8 is the idle script for an unused actor"
  },
  {
   "address": 18565,
   "type": "line",
   "text": "the same table from its second byte: the scripts' high bytes"
  },
  {
   "address": 18612,
   "type": "line",
   "text": "the end of the intro, by its own course or by fire on port 2: all ROMs in view ($01 = $3F), the KERNAL's own I/O ($FDA3), RAM ($FD50) and vector ($FD15) set-up and its screen editor ($E51B), the video chip's default registers copied from the KERNAL ROM's $ECB9, then the resident's fresh start ($CB68): PA, the menu's files, the menu"
  },
  {
   "address": 18656,
   "type": "line",
   "text": "the byte after intro_end's JMP, not read"
  },
  {
   "address": 18657,
   "type": "line",
   "text": "bit 7 set by the interrupt when it has put a new animation step on the screen ($5723); wait_steps and run_scene wait on it"
  },
  {
   "address": 18658,
   "type": "line",
   "text": "the intro's raster interrupt: saves the registers and the processor port ($4967), turns the I/O on ($01 = $3D), and jumps through the vector at $48F1 to the part of the frame due: the main part ($48F4) or one of the four sprite bands ($58DE, $5916, $594E, $5986)"
  },
  {
   "address": 18673,
   "type": "line",
   "text": "the JMP's operand: the handler for this interrupt, set from $4970/$4975 by irq_next"
  },
  {
   "address": 18674,
   "type": "line",
   "text": "the handler's high byte"
  },
  {
   "address": 18675,
   "type": "line",
   "text": "the first sprite band's index (0 for none), kept from build_bands for the end of the main part"
  },
  {
   "address": 18676,
   "type": "line",
   "text": "the main part of the frame: fire on port 2 ends the intro ($48B4); unless a picture is being unpacked ($4DB0), the first scene's extra sprites ($5777), the step count ($5723), the actors' positions ($5684), the sort of the lower sprites ($59BE) and their bands ($581B); the tune ($4006); then, in scene 1, the switch from the balloon's sprites to the lemmings' at line $67, and the eight sprites' registers ($57D9)"
  },
  {
   "address": 18764,
   "type": "line",
   "text": "sets the next interrupt: handler X's address from $4970/$4975 into the vector, its raster line from $497A, acknowledges the video chip and CIA 1, puts the processor port back and returns"
  },
  {
   "address": 18791,
   "type": "line",
   "text": "the LDA's operand: the processor port as it was when the interrupt came, put back at the end"
  },
  {
   "address": 18800,
   "type": "line",
   "text": "the interrupt's five handlers, low bytes: the main part, then the four sprite bands"
  },
  {
   "address": 18805,
   "type": "line",
   "text": "the handlers' high bytes"
  },
  {
   "address": 18810,
   "type": "line",
   "text": "the raster line of each handler: the main part's (0 in scene 1, $DC in the others), then the four bands' from $497B, set by build_bands"
  },
  {
   "address": 18811,
   "type": "line",
   "text": "the four sprite bands' raster lines: two lines above each of the lower sprites, sorted by height"
  },
  {
   "address": 18815,
   "type": "line",
   "text": "all eight sprites on, unexpanded, the shared multicolours $0A and $06, black border"
  },
  {
   "address": 18844,
   "type": "line",
   "text": "for each of the sixteen sprite image buffers (eight pairs of sprites, twice over for the two buffers), the address of its 128 bytes: low bytes. Buffer 0 is at $0380 and buffers 1-15 every 128 bytes from $0480 to $0B80 ($0400-$047F is where show_image unpacks), all in the video bank at $0000"
  },
  {
   "address": 18860,
   "type": "line",
   "text": "the buffers' addresses, high bytes"
  },
  {
   "address": 18876,
   "type": "line",
   "text": "the sprite pointer of each buffer's first sprite; the second is the next"
  },
  {
   "address": 18892,
   "type": "line",
   "text": "for each entry of the frame list, the sprite pair's horizontal offset from the actor's position"
  },
  {
   "address": 19053,
   "type": "line",
   "text": "for each entry of the frame list, the sprite pair's vertical offset from the actor's position"
  },
  {
   "address": 19214,
   "type": "line",
   "text": "the image numbers (0-147) the animations show, a run of them for each frame of each animation: one for each sprite pair the actor uses"
  },
  {
   "address": 19466,
   "type": "line",
   "text": "for each animation frame, where its images start in the frame list"
  },
  {
   "address": 19558,
   "type": "line",
   "text": "maps an actor's frame counter (its byte +6) to the animation frame shown"
  },
  {
   "address": 19694,
   "type": "line",
   "text": "waits for Y animation steps of the interrupt ($48E1)"
  },
  {
   "address": 19708,
   "type": "line",
   "text": "shows the picture: background colour A, video bank 0, multicolour bitmap mode, the screen colours at $0C00 and the bitmap at $2000 ($D018 = $38)"
  },
  {
   "address": 19732,
   "type": "line",
   "text": "copies the colours unpacked at $0C00-$0FFF into colour RAM, $D800-$DBFF"
  },
  {
   "address": 19762,
   "type": "line",
   "text": "the five pictures' packed streams, three to a picture and eight bytes to a stream: the stream's start (high, low), the output's (high, low), the end (high, low) and the literal count (high, low). Each picture's bitmap, screen colours and colour RAM values in turn"
  },
  {
   "address": 19763,
   "type": "line",
   "text": "the stream start's low byte"
  },
  {
   "address": 19764,
   "type": "line",
   "text": "the output's high byte"
  },
  {
   "address": 19765,
   "type": "line",
   "text": "the output's low byte"
  },
  {
   "address": 19766,
   "type": "line",
   "text": "the stream end's high byte"
  },
  {
   "address": 19767,
   "type": "line",
   "text": "the stream end's low byte"
  },
  {
   "address": 19768,
   "type": "line",
   "text": "the literal count's high byte"
  },
  {
   "address": 19769,
   "type": "line",
   "text": "the literal count's low byte"
  },
  {
   "address": 19882,
   "type": "line",
   "text": "each scene's first stream in picture_streams: 0, $18, $30, $48, $60 (three streams of eight bytes a picture)"
  },
  {
   "address": 19887,
   "type": "line",
   "text": "the shown picture's first stream"
  },
  {
   "address": 19888,
   "type": "line",
   "text": "bit 7 set while a picture is unpacked: the interrupt then leaves the sprites alone"
  },
  {
   "address": 19889,
   "type": "line",
   "text": "shows picture X: screen off; unpacks its colour RAM values to $0C00 and copies them to $D800 ($4D14), then its screen colours to $0C00 and its bitmap to $2000, each by $4DE2"
  },
  {
   "address": 19938,
   "type": "line",
   "text": "sets the unpacker up from stream X of picture_streams and runs it ($4E13)"
  },
  {
   "address": 19987,
   "type": "line",
   "text": "the intro's copy of the loader's unpacker ($CC8D), same format: bytes below $E0 copied, codes $E0-$EF a run of the next byte, $F0-$FF a fill or a long literal count; runs from stream_ptr to stream_end"
  },
  {
   "address": 20035,
   "type": "line",
   "text": "the unpacker's next byte of the stream"
  },
  {
   "address": 20138,
   "type": "line",
   "text": "puts the image for a sprite pair of the actor into its buffer: the pair is A AND 7 (a slot's nybble, 1-15), the buffer the pair plus 0 or 8 ($54BD); if the cache ($5A40) says it holds that image already, nothing is unpacked; otherwise the image's stream (from $5B40 + its offset, $4F6A/$4FFF) is unpacked to $0400 and 127 bytes copied into the buffer; the 128th byte's high nybble is the multicolour sprite's colour ($0201), the hires sprite's is black. Then marks the pair as shown with its pointers ($0210) and writes the actor's slot: the pair, and its offsets from $49CC and $4A6D"
  },
  {
   "address": 20260,
   "type": "line",
   "text": "the LDA's operand: the sprite pair, 0-7, from show_image's A"
  },
  {
   "address": 20279,
   "type": "line",
   "text": "the LDY's operand: the image's entry in the frame list, for its offsets"
  },
  {
   "address": 20289,
   "type": "line",
   "text": "the LDA's operand: the buffer's sprite pointer, from image_pointer"
  },
  {
   "address": 20312,
   "type": "line",
   "text": "the LDY's operand: where in the actor's record the slot goes (+$0F, +$12, +$15 or +$18)"
  },
  {
   "address": 20318,
   "type": "line",
   "text": "the LDA's operand: the image's horizontal offset"
  },
  {
   "address": 20323,
   "type": "line",
   "text": "the LDA's operand: the image's vertical offset"
  },
  {
   "address": 20330,
   "type": "line",
   "text": "for each of the 148 lemming images, where its packed stream starts, as an offset from $5B40: low bytes; the next entry is its end"
  },
  {
   "address": 20331,
   "type": "line",
   "text": "image_offset_lo from its second entry: where each stream ends"
  },
  {
   "address": 20479,
   "type": "line",
   "text": "the image streams' offsets, high bytes"
  },
  {
   "address": 20480,
   "type": "line",
   "text": "image_offset_hi from its second entry"
  },
  {
   "address": 20483,
   "type": "line",
   "text": "entries 4-6 of image_end_hi; the label is the briefing's entry at $5003 in the game's memory"
  },
  {
   "address": 20486,
   "type": "line",
   "text": "entries 7-9 of image_end_hi; the label is the briefing's entry at $5006 in the game's memory"
  },
  {
   "address": 20489,
   "type": "line",
   "text": "image_end_hi from entry 10 to the table's end at $5093; the label is the briefing's $5009, which the loader calls in the game's memory"
  },
  {
   "address": 20628,
   "type": "line",
   "text": "for each image, the literal count its unpack starts with"
  },
  {
   "address": 20777,
   "type": "line",
   "text": "scene 1's fifth actor: waits 180 steps and ends, which ends the scene"
  },
  {
   "address": 20783,
   "type": "line",
   "text": "scene 1, the first lemming: steps out of the balloon's basket ($5E, $57) to the left and floats down under its umbrella for 40 steps; then again from the basket"
  },
  {
   "address": 20833,
   "type": "line",
   "text": "scene 1, the second lemming: the same after 19 steps"
  },
  {
   "address": 20888,
   "type": "line",
   "text": "scene 1, the third lemming: the same after 38 steps"
  },
  {
   "address": 20943,
   "type": "line",
   "text": "scene 1, the fourth lemming: the same after 57 steps"
  },
  {
   "address": 20998,
   "type": "line",
   "text": "scene 2, an actor: waits 135 steps, floats down, lands, and walks left; its end ends the scene"
  },
  {
   "address": 21080,
   "type": "line",
   "text": "scene 2, an actor: floats down after 100 steps and walks left; the scene ends during its wait of 240 steps, before it runs on into the next script's bytes"
  },
  {
   "address": 21156,
   "type": "line",
   "text": "scene 2, an actor: floats down after 30 steps and walks left, then waits"
  },
  {
   "address": 21227,
   "type": "line",
   "text": "scene 2, an actor: floats down after 5 steps and walks left, then waits"
  },
  {
   "address": 21303,
   "type": "line",
   "text": "scene 3, the first lemming: walks left from ($A0, $55), jumps, lands, walks on and climbs; its end ends the scene"
  },
  {
   "address": 21502,
   "type": "line",
   "text": "scene 3, the second lemming: after 20 steps walks left, stops, and repeats a short animation where it stands"
  },
  {
   "address": 21548,
   "type": "line",
   "text": "scene 4's lemming: climbs up from ($58, $C8), walks, jumps and lands"
  },
  {
   "address": 21672,
   "type": "line",
   "text": "the idle script: speed and position 0, a wait of 60 steps, repeated"
  },
  {
   "address": 21692,
   "type": "line",
   "text": "the frame list's entry for the next sprite pair, set by set_actor_images"
  },
  {
   "address": 21693,
   "type": "line",
   "text": "0 or 8, flipped each step: which half of the sixteen image buffers the new step is drawn into, while the interrupt shows the other"
  },
  {
   "address": 21694,
   "type": "line",
   "text": "bit 7 set once the next step is computed, for the interrupt to show"
  },
  {
   "address": 21695,
   "type": "line",
   "text": "runs a scene: computes a step ($54FC), marks it ready, and waits for the interrupt to show it, until an actor's script ends ($551E)"
  },
  {
   "address": 21731,
   "type": "line",
   "text": "clears the sixteen sprites' shown flags, $0220-$022F"
  },
  {
   "address": 21742,
   "type": "line",
   "text": "the six actors' records, 39 bytes each from $5A50: +0 the script's address, +2 the horizontal speed and +4 the vertical (whole and fraction), +6 the frame counter, +7 the position across (in two-pixel steps, and a fraction) and +9 down, +$0B the steps left of the command, +$0C four nybbles naming the sprite pairs used, +$0E the frame counter's step, +$0F the four slots being drawn and +$1B the four shown"
  },
  {
   "address": 21743,
   "type": "line",
   "text": "actor_records from its second byte"
  },
  {
   "address": 21754,
   "type": "line",
   "text": "the actor being positioned, by two"
  },
  {
   "address": 21755,
   "type": "line",
   "text": "the actor being stepped, by two"
  },
  {
   "address": 21756,
   "type": "line",
   "text": "computes the next step of the animation: the shown flags cleared, the other half of the buffers taken ($54BD), then each actor's step ($551F)"
  },
  {
   "address": 21790,
   "type": "line",
   "text": "bit 7 once an actor's script has ended: run_scene then returns"
  },
  {
   "address": 21791,
   "type": "line",
   "text": "one step of actor X: when its command's steps are over, the next command ($5554), and if the script has ended, the scene too; otherwise the frame counter moves on by its step, the images are set ($5618) and a step is counted off"
  },
  {
   "address": 21844,
   "type": "line",
   "text": "reads the actor's script until a frame command: $F0 jump (address), $F1 horizontal speed (two bytes), $F2 vertical speed, $F3 position across, $F4 position down, $F5 the end; any other byte starts a frame command: the frame counter, the steps it lasts, the four sprite pairs as nybbles, and the counter's step. Returns $80 when the script has ended"
  },
  {
   "address": 22028,
   "type": "line",
   "text": "the next byte of the script, through the LDA's operand at $560D, which moves on"
  },
  {
   "address": 22029,
   "type": "line",
   "text": "the LDA's operand: the address of the script's next byte (low, high)"
  },
  {
   "address": 22030,
   "type": "line",
   "text": "the script address's high byte"
  },
  {
   "address": 22040,
   "type": "line",
   "text": "the actor's frame counter through anim_table and anim_frames to the frame list ($54BC), then for each of its four slots with a pair named, show_image; a slot with none is marked $FF"
  },
  {
   "address": 22148,
   "type": "line",
   "text": "puts each of the six actors' shown sprites at its position ($5696)"
  },
  {
   "address": 22166,
   "type": "line",
   "text": "moves actor X on by its speeds ($56F5, $570C), then for each of its four shown slots that is in use, the pair's two sprites at the actor's position plus the slot's offsets ($0230, $0240, and the ninth bit at $5A30)"
  },
  {
   "address": 22216,
   "type": "line",
   "text": "one slot: the pair's X, its ninth bit and its Y"
  },
  {
   "address": 22227,
   "type": "line",
   "text": "the LDA's operand: the actor's position across in pixels, low byte"
  },
  {
   "address": 22239,
   "type": "line",
   "text": "the LDA's operand: the position's ninth bit"
  },
  {
   "address": 22249,
   "type": "line",
   "text": "the LDA's operand: the actor's position down"
  },
  {
   "address": 22261,
   "type": "line",
   "text": "adds the horizontal speed to the position across (16 bits)"
  },
  {
   "address": 22284,
   "type": "line",
   "text": "adds the vertical speed to the position down (16 bits)"
  },
  {
   "address": 22306,
   "type": "line",
   "text": "adds $40 a frame, so a step comes every fourth frame; $E0 when a step was due and not ready, to try again next frame"
  },
  {
   "address": 22307,
   "type": "line",
   "text": "on every fourth frame with a step ready: marks it shown ($48E1), copies the sixteen sprites' colours, pointers and shown flags ($0200-$022F) to the set the interrupt uses ($0250-$027F), and each actor's slots being drawn (+$0F) to shown (+$1B)"
  },
  {
   "address": 22387,
   "type": "line",
   "text": "JMP to position_actors"
  },
  {
   "address": 22390,
   "type": "line",
   "text": "bit 7 in scene 1: the four extra sprites are on the balloon above line $67"
  },
  {
   "address": 22391,
   "type": "line",
   "text": "in scene 1, the four extra sprites on the balloon: multicolour, red with dark grey and green, in a block of two by two at the picture's top right, pointers $0A-$0D; the switch back is at line $67"
  },
  {
   "address": 22488,
   "type": "line",
   "text": "the line where scene 1 switches from the balloon's sprites to the lemmings'"
  },
  {
   "address": 22489,
   "type": "line",
   "text": "the first eight sprites of the set ($0230-$0270) straight into the video chip: positions (Y 0 when not shown), colours, pointers and the ninth bits"
  },
  {
   "address": 22543,
   "type": "line",
   "text": "the ninth bits gathered by sprites_upper"
  },
  {
   "address": 22544,
   "type": "line",
   "text": "twice the number of lower sprite pairs shown, 0 to 8"
  },
  {
   "address": 22546,
   "type": "line",
   "text": "the lower sprite pairs shown: two bytes each, the line two above the top and the pair's sprite number; sorted by sort_lower"
  },
  {
   "address": 22547,
   "type": "line",
   "text": "lower_list from its second byte: the pairs' numbers"
  },
  {
   "address": 22548,
   "type": "line",
   "text": "lower_list two bytes on: the next pair's entry, for the sort"
  },
  {
   "address": 22554,
   "type": "line",
   "text": "the hardware sprite a band reuses: the pair's number AND 7"
  },
  {
   "address": 22555,
   "type": "line",
   "text": "writes the interrupt's sprite bands for the lower pairs, the lowest first: each band's target, its sprites' positions, colours and pointers into its code ($5874), each band's next one (the last band's is 0, the main part); the bands' raster lines to $497B. Returns the first band's index in X, 0 for none"
  },
  {
   "address": 22644,
   "type": "line",
   "text": "writes band X's code for the pair in lower_list entry Y: the line it waits for, Y, X, colours and pointers into the operands, the hardware sprite numbers into the store addresses, A as the next handler"
  },
  {
   "address": 22750,
   "type": "line",
   "text": "sprite band 1: four lower pairs (sprites 8-15 of the set) share the hardware's eight by raster bands; a band sets two sprites' Y, waits for its line and the next, then the pointers, colours and X positions, and hands on to the next band ($494C). All the operands are written by write_band"
  },
  {
   "address": 22751,
   "type": "line",
   "text": "the LDA's operand: the pair's Y"
  },
  {
   "address": 22753,
   "type": "line",
   "text": "the STA's low byte: the first sprite's Y register"
  },
  {
   "address": 22756,
   "type": "line",
   "text": "the STA's low byte: the second sprite's Y register"
  },
  {
   "address": 22759,
   "type": "line",
   "text": "the LDA's operand: the line to wait for"
  },
  {
   "address": 22761,
   "type": "line",
   "text": "the LDX's operand: the first sprite's pointer"
  },
  {
   "address": 22763,
   "type": "line",
   "text": "the LDY's operand: the second sprite's pointer"
  },
  {
   "address": 22778,
   "type": "line",
   "text": "the STX's low byte: the first sprite's pointer address ($0FF8 on)"
  },
  {
   "address": 22781,
   "type": "line",
   "text": "the STY's low byte: the second sprite's pointer address"
  },
  {
   "address": 22784,
   "type": "line",
   "text": "the LDA's operand: the hires sprite's colour"
  },
  {
   "address": 22786,
   "type": "line",
   "text": "the STA's low byte: its colour register ($D027 on)"
  },
  {
   "address": 22789,
   "type": "line",
   "text": "the LDA's operand: the multicolour sprite's colour"
  },
  {
   "address": 22791,
   "type": "line",
   "text": "the STA's low byte: its colour register"
  },
  {
   "address": 22794,
   "type": "line",
   "text": "the LDA's operand: the pair's X"
  },
  {
   "address": 22796,
   "type": "line",
   "text": "the STA's low byte: the first sprite's X register"
  },
  {
   "address": 22799,
   "type": "line",
   "text": "the STA's low byte: the second sprite's X register"
  },
  {
   "address": 22802,
   "type": "line",
   "text": "the LDX's operand: the next handler's index"
  },
  {
   "address": 22806,
   "type": "line",
   "text": "sprite band 2, the same code as band 1 with its own operands"
  },
  {
   "address": 22862,
   "type": "line",
   "text": "sprite band 3, the same code with its own operands"
  },
  {
   "address": 22918,
   "type": "line",
   "text": "sprite band 4, the same code with its own operands"
  },
  {
   "address": 22974,
   "type": "line",
   "text": "lists the lower sprite pairs (sprites 8, 10, 12, 14 of the set) that are shown, with the line two above each, and sorts them by line, the passes by the count"
  },
  {
   "address": 23054,
   "type": "line",
   "text": "swaps lower_list entries X and X + 2 when the first is lower"
  },
  {
   "address": 23070,
   "type": "line",
   "text": "swaps a byte of the two entries"
  },
  {
   "address": 23084,
   "type": "line",
   "text": "four bytes after swap_byte that nothing reads"
  },
  {
   "address": 23088,
   "type": "line",
   "text": "the ninth bit of each of the sixteen sprites' X"
  },
  {
   "address": 23089,
   "type": "line",
   "text": "intro_sprite_msb from its second entry: the pair's second sprite"
  },
  {
   "address": 23104,
   "type": "line",
   "text": "for each of the sixteen image buffers, the image it holds ($FF for none), so an unchanged frame is not unpacked again"
  },
  {
   "address": 23120,
   "type": "line",
   "text": "the first actor's record (39 bytes; the layout at actor_records)"
  },
  {
   "address": 23121,
   "type": "line",
   "text": "the first actor's script address, high byte"
  },
  {
   "address": 23135,
   "type": "line",
   "text": "the first actor's slots being drawn, +$0F"
  },
  {
   "address": 23147,
   "type": "line",
   "text": "the first actor's slots shown, +$1B"
  },
  {
   "address": 23174,
   "type": "line",
   "text": "the second actor's slots being drawn"
  },
  {
   "address": 23186,
   "type": "line",
   "text": "the second actor's slots shown"
  },
  {
   "address": 23213,
   "type": "line",
   "text": "the third actor's slots being drawn"
  },
  {
   "address": 23225,
   "type": "line",
   "text": "the third actor's slots shown"
  },
  {
   "address": 23252,
   "type": "line",
   "text": "the fourth actor's slots being drawn"
  },
  {
   "address": 23264,
   "type": "line",
   "text": "the fourth actor's slots shown"
  },
  {
   "address": 23291,
   "type": "line",
   "text": "the fifth actor's slots being drawn"
  },
  {
   "address": 23303,
   "type": "line",
   "text": "the fifth actor's slots shown"
  },
  {
   "address": 23330,
   "type": "line",
   "text": "the sixth actor's slots being drawn"
  },
  {
   "address": 23342,
   "type": "line",
   "text": "the sixth actor's slots shown"
  },
  {
   "address": 23360,
   "type": "line",
   "text": "the intro's 148 lemming images, each a packed stream (offsets at $4F6A/$4FFF) that unpacks to two sprites, a hires outline over a multicolour body, and their colour: $5B40-$948D"
  },
  {
   "address": 24384,
   "type": "line",
   "text": "the packed lemming images, continued: $5F40-$633F"
  },
  {
   "address": 25408,
   "type": "line",
   "text": "the packed lemming images, continued: $6340-$673F"
  },
  {
   "address": 26432,
   "type": "line",
   "text": "the packed lemming images, continued: $6740-$6B3F"
  },
  {
   "address": 27456,
   "type": "line",
   "text": "the packed lemming images, continued: $6B40-$6F3F"
  },
  {
   "address": 28480,
   "type": "line",
   "text": "the packed lemming images, continued: $6F40-$733F"
  },
  {
   "address": 29504,
   "type": "line",
   "text": "the packed lemming images, continued: $7340-$773F"
  },
  {
   "address": 30528,
   "type": "line",
   "text": "the packed lemming images, continued: $7740-$7B3F"
  },
  {
   "address": 31552,
   "type": "line",
   "text": "the packed lemming images, continued: $7B40-$7F3F"
  },
  {
   "address": 32576,
   "type": "line",
   "text": "the packed lemming images, continued: $7F40-$833F"
  },
  {
   "address": 32768,
   "type": "line",
   "text": "the packed lemming images from $8000 to $833F, where the next label takes over"
  },
  {
   "address": 33600,
   "type": "line",
   "text": "the packed lemming images, continued: $8340-$873F"
  },
  {
   "address": 34624,
   "type": "line",
   "text": "the packed lemming images, continued: $8740-$8B3F"
  },
  {
   "address": 35648,
   "type": "line",
   "text": "the packed lemming images, continued: $8B40-$8F3F"
  },
  {
   "address": 36672,
   "type": "line",
   "text": "the packed lemming images, continued: $8F40-$933F"
  },
  {
   "address": 36864,
   "type": "line",
   "text": "a byte of the packed lemming images; the resident loader reads a stash header at $9000-$9007 in other parts' memory"
  },
  {
   "address": 36865,
   "type": "line",
   "text": "the packed lemming images; byte 2 of the stash header in other parts' memory"
  },
  {
   "address": 36866,
   "type": "line",
   "text": "the packed lemming images; byte 3 of the stash header in other parts' memory"
  },
  {
   "address": 36867,
   "type": "line",
   "text": "the packed lemming images; byte 4 of the stash header in other parts' memory"
  },
  {
   "address": 36868,
   "type": "line",
   "text": "the packed lemming images; byte 5 of the stash header in other parts' memory"
  },
  {
   "address": 36869,
   "type": "line",
   "text": "the packed lemming images; byte 6 of the stash header in other parts' memory"
  },
  {
   "address": 36870,
   "type": "line",
   "text": "the packed lemming images; byte 7 of the stash header in other parts' memory"
  },
  {
   "address": 36871,
   "type": "line",
   "text": "the packed lemming images, continued; the last byte of the stash header in other parts' memory"
  },
  {
   "address": 37200,
   "type": "line",
   "text": "the packed lemming images; the menu's entry in the menu's memory, where the loader jumps ($CD53)"
  },
  {
   "address": 37696,
   "type": "line",
   "text": "the packed lemming images, continued: $9340-$948D"
  },
  {
   "address": 38040,
   "type": "line",
   "text": "picture 1's bitmap (the hillside), packed, $9498-$AF8D"
  },
  {
   "address": 39064,
   "type": "line",
   "text": "picture 1's packed bitmap (the red sky), continued: $9898-$9C97"
  },
  {
   "address": 40088,
   "type": "line",
   "text": "picture 1's packed bitmap (the red sky), continued: $9C98-$A097"
  },
  {
   "address": 40704,
   "type": "line",
   "text": "picture 1's packed bitmap; the briefing restore's target in other parts' memory"
  },
  {
   "address": 40960,
   "type": "line",
   "text": "picture 1's packed bitmap from $A000 to $A097, where the next label takes over"
  },
  {
   "address": 41112,
   "type": "line",
   "text": "picture 1's packed bitmap (the red sky), continued: $A098-$A497"
  },
  {
   "address": 42136,
   "type": "line",
   "text": "picture 1's packed bitmap (the red sky), continued: $A498-$A897"
  },
  {
   "address": 43160,
   "type": "line",
   "text": "picture 1's packed bitmap (the red sky), continued: $A898-$AC97"
  },
  {
   "address": 44184,
   "type": "line",
   "text": "picture 1's packed bitmap (the red sky), continued: $AC98-$AF8D"
  },
  {
   "address": 44951,
   "type": "line",
   "text": "picture 1's screen colours, packed, $AF97-$B179"
  },
  {
   "address": 45443,
   "type": "line",
   "text": "picture 3's colour RAM values, packed, $B183-$B25D"
  },
  {
   "address": 45671,
   "type": "line",
   "text": "picture 4's bitmap (the logo), packed, $B267-$C92F"
  },
  {
   "address": 46695,
   "type": "line",
   "text": "picture 4's packed bitmap (the logo), continued: $B667-$BA66"
  },
  {
   "address": 47719,
   "type": "line",
   "text": "picture 4's packed bitmap (the logo), continued: $BA67-$BE66"
  },
  {
   "address": 48743,
   "type": "line",
   "text": "picture 4's packed bitmap (the logo), continued: $BE67-$C266"
  },
  {
   "address": 49152,
   "type": "line",
   "text": "picture 4's packed bitmap from $C000 to $C266, where the next label takes over"
  },
  {
   "address": 49767,
   "type": "line",
   "text": "picture 4's packed bitmap (the logo), continued: $C267-$C666"
  },
  {
   "address": 50791,
   "type": "line",
   "text": "picture 4's packed bitmap (the logo), continued: $C667-$C92F"
  },
  {
   "address": 51513,
   "type": "line",
   "text": "picture 4's screen colours, packed, $C939-$CB30"
  },
  {
   "address": 57344,
   "type": "line",
   "text": "the eight bytes before picture 2's bitmap stream, a header in the packer's format that show_picture does not read (it has its own copy in picture_streams); the loader reads $E000 as the level's header in the game's memory"
  },
  {
   "address": 57352,
   "type": "line",
   "text": "picture 2's bitmap (the rocks), packed, $E008-$FA31"
  },
  {
   "address": 58376,
   "type": "line",
   "text": "picture 2's packed bitmap (the rocks), continued: $E408-$E807"
  },
  {
   "address": 58651,
   "type": "line",
   "text": "picture 2's packed bitmap in RAM; intro_end calls the KERNAL ROM's screen editor set-up here"
  },
  {
   "address": 59400,
   "type": "line",
   "text": "picture 2's packed bitmap (the rocks), continued: $E808-$EC07"
  },
  {
   "address": 60424,
   "type": "line",
   "text": "picture 2's packed bitmap (the rocks), continued: $EC08-$F007"
  },
  {
   "address": 60600,
   "type": "line",
   "text": "picture 2's packed bitmap in RAM; intro_end reads $ECB9-$ECD8 with the KERNAL ROM in view, its table of the video chip's default registers"
  },
  {
   "address": 61448,
   "type": "line",
   "text": "picture 2's packed bitmap (the rocks), continued: $F008-$F407"
  },
  {
   "address": 62472,
   "type": "line",
   "text": "picture 2's packed bitmap (the rocks), continued: $F408-$F807"
  },
  {
   "address": 63496,
   "type": "line",
   "text": "picture 2's packed bitmap (the rocks), continued: $F808-$FA31"
  },
  {
   "address": 64059,
   "type": "line",
   "text": "picture 2's screen colours, packed, $FA3B-$FC82"
  },
  {
   "address": 64652,
   "type": "line",
   "text": "picture 2's colour RAM values, packed, $FC8C-$FE47"
  },
  {
   "address": 64789,
   "type": "line",
   "text": "picture 2's packed colour RAM values in RAM; intro_end calls the KERNAL ROM's RESTOR here"
  },
  {
   "address": 64848,
   "type": "line",
   "text": "picture 2's packed colour RAM values in RAM; intro_end calls the KERNAL ROM's RAMTAS here"
  },
  {
   "address": 64931,
   "type": "line",
   "text": "picture 2's packed colour RAM values in RAM; intro_end calls the KERNAL ROM's IOINIT here with the ROM in view"
  },
  {
   "address": 65105,
   "type": "line",
   "text": "picture 4's colour RAM values, packed, $FE51-$FFE0"
  }
 ]
}