{
 "schema": 1,
 "platform": "c64",
 "game": "a-view-to-a-kill/city-hall",
 "build": null,
 "source": "regenerator2000 live",
 "regions": {
  "exclude": [
   [
    256,
    511,
    "stack"
   ],
   [
    53248,
    57343,
    "I/O and colour RAM"
   ],
   [
    1024,
    2047,
    "screen RAM"
   ],
   [
    59953,
    59953,
    "KERNAL ROM interrupt exit that raster_irq jumps to for non-raster interrupts; the RAM beneath is unrelated leftover"
   ],
   [
    65487,
    65490,
    "KERNAL ROM CHRIN and CHROUT, called by the code prompt and the memo page; the RAM beneath is unrelated leftover"
   ],
   [
    65508,
    65508,
    "KERNAL ROM GETIN, called only by the unreferenced old_code_prompt; the RAM beneath is unrelated leftover"
   ],
   [
    2024,
    2039,
    "the 16 unused bytes between the screen and its sprite pointers: loader leftovers, never read"
   ],
   [
    2048,
    3071,
    "the packed file's BASIC stub (SYS 2067 'MAGIC') and depacker, then leftovers including the mine part's end screen with its code ILVCT: not this part's"
   ],
   [
    3135,
    4095,
    "leftovers of the depacker's memory after the menu-bar sprite (packed-stream remains, a GETIN stub at $0FE0 that nothing here calls)"
   ],
   [
    4317,
    4607,
    "power-up RAM pattern of the machine the image was saved from (runs of $01, $00, $FF, $FE), never read or written by the part"
   ],
   [
    4656,
    4863,
    "power-up RAM pattern of the machine the image was saved from (runs of $01, $00, $FF, $FE), never read or written by the part"
   ],
   [
    5097,
    6143,
    "power-up RAM pattern of the machine the image was saved from (runs of $01, $00, $FF, $FE), never read or written by the part"
   ],
   [
    6685,
    6991,
    "power-up RAM pattern of the machine the image was saved from (runs of $01, $00, $FF, $FE), never read or written by the part"
   ],
   [
    7057,
    8191,
    "power-up RAM pattern and unused variable space after the variables block; only the named variables are used"
   ],
   [
    18008,
    18175,
    "power-up RAM pattern of the machine the image was saved from (runs of $01, $00, $FF, $FE), never read or written by the part (copied over itself from $A428 by restore_tables)"
   ],
   [
    16910,
    16929,
    "power-up RAM pattern of the machine the image was saved from (runs of $01, $00, $FF, $FE), never read or written by the part"
   ],
   [
    18215,
    18335,
    "power-up RAM pattern of the machine the image was saved from (runs of $01, $00, $FF, $FE), never read or written by the part"
   ],
   [
    22800,
    24143,
    "power-up RAM pattern of the machine the image was saved from (runs of $01, $00, $FF, $FE), never read or written by the part"
   ],
   [
    24212,
    24575,
    "power-up RAM pattern of the machine the image was saved from (runs of $01, $00, $FF, $FE), never read or written by the part"
   ],
   [
    25484,
    25551,
    "power-up RAM pattern of the machine the image was saved from (runs of $01, $00, $FF, $FE), never read or written by the part"
   ],
   [
    26709,
    26719,
    "power-up RAM pattern of the machine the image was saved from (runs of $01, $00, $FF, $FE), never read or written by the part"
   ],
   [
    26885,
    26911,
    "power-up RAM pattern of the machine the image was saved from (runs of $01, $00, $FF, $FE), never read or written by the part"
   ],
   [
    27062,
    27071,
    "power-up RAM pattern of the machine the image was saved from (runs of $01, $00, $FF, $FE), never read or written by the part"
   ],
   [
    27157,
    27167,
    "power-up RAM pattern of the machine the image was saved from (runs of $01, $00, $FF, $FE), never read or written by the part"
   ],
   [
    27567,
    27583,
    "power-up RAM pattern of the machine the image was saved from (runs of $01, $00, $FF, $FE), never read or written by the part"
   ],
   [
    27949,
    27956,
    "eight NOPs after flash_item_menu's JMP, never executed"
   ],
   [
    28077,
    28095,
    "power-up RAM pattern of the machine the image was saved from (runs of $01, $00, $FF, $FE), never read or written by the part"
   ],
   [
    28465,
    28607,
    "power-up RAM pattern of the machine the image was saved from (runs of $01, $00, $FF, $FE), never read or written by the part"
   ],
   [
    28836,
    29183,
    "power-up RAM pattern of the machine the image was saved from (runs of $01, $00, $FF, $FE), never read or written by the part"
   ],
   [
    29248,
    31231,
    "power-up RAM pattern of the machine the image was saved from (runs of $01, $00, $FF, $FE), never read or written by the part"
   ],
   [
    31523,
    31743,
    "power-up RAM pattern of the machine the image was saved from (runs of $01, $00, $FF, $FE), never read or written by the part"
   ],
   [
    32456,
    32511,
    "power-up RAM pattern of the machine the image was saved from (runs of $01, $00, $FF, $FE), never read or written by the part"
   ],
   [
    32897,
    32916,
    "leftover bytes between word_menu and the word strip: fill and the PETSCII-like tail of an older 'RETURN' strip ($02 'ETURN'), never read"
   ],
   [
    33204,
    33279,
    "power-up RAM pattern of the machine the image was saved from (runs of $01, $00, $FF, $FE), never read or written by the part"
   ],
   [
    34178,
    34280,
    "power-up RAM pattern of the machine the image was saved from (runs of $01, $00, $FF, $FE), never read or written by the part"
   ],
   [
    34302,
    34303,
    "power-up RAM pattern of the machine the image was saved from (runs of $01, $00, $FF, $FE), never read or written by the part"
   ],
   [
    34550,
    34559,
    "power-up RAM pattern of the machine the image was saved from (runs of $01, $00, $FF, $FE), never read or written by the part"
   ],
   [
    34721,
    34815,
    "power-up RAM pattern of the machine the image was saved from (runs of $01, $00, $FF, $FE), never read or written by the part"
   ],
   [
    34851,
    35071,
    "power-up RAM pattern of the machine the image was saved from (runs of $01, $00, $FF, $FE), never read or written by the part"
   ],
   [
    35737,
    36127,
    "power-up RAM pattern of the machine the image was saved from (runs of $01, $00, $FF, $FE), never read or written by the part"
   ],
   [
    38481,
    38505,
    "power-up RAM pattern of the machine the image was saved from (runs of $01, $00, $FF, $FE), never read or written by the part"
   ],
   [
    38631,
    38639,
    "power-up RAM pattern of the machine the image was saved from (runs of $01, $00, $FF, $FE), never read or written by the part"
   ],
   [
    38698,
    40959,
    "power-up RAM pattern, with two copies of the text 'MONITOR$C*' ($9CF6, $9FF6) left by a machine-code monitor: not the part's"
   ],
   [
    42193,
    42239,
    "power-up RAM pattern of the machine the image was saved from (runs of $01, $00, $FF, $FE), never read or written by the part"
   ],
   [
    43008,
    43263,
    "power-up RAM pattern of the machine the image was saved from (runs of $01, $00, $FF, $FE), never read or written by the part"
   ],
   [
    43329,
    43519,
    "power-up RAM pattern of the machine the image was saved from (runs of $01, $00, $FF, $FE), never read or written by the part"
   ],
   [
    43537,
    43775,
    "power-up RAM pattern of the machine the image was saved from (runs of $01, $00, $FF, $FE), never read or written by the part"
   ],
   [
    43776,
    49151,
    "an image of the BASIC ROM ($AB00-$BFFF) overlaid with a $FF/$00 stripe every eight bytes: left in RAM by the machine the image was saved from; only restore_tables' skipped sixth copy names $AB00"
   ],
   [
    51129,
    51199,
    "power-up RAM pattern of the machine the image was saved from (runs of $01, $00, $FF, $FE), never read or written by the part"
   ],
   [
    59750,
    62645,
    "corrupted fragments of the BASIC and KERNAL ROM images after the tune: nothing reads them"
   ],
   [
    63047,
    65486,
    "corrupted ROM-image fragments after the music-file copy: nothing reads them"
   ],
   [
    65491,
    65507,
    "ROM-image fragments beside the KERNAL entry points"
   ],
   [
    65509,
    65535,
    "ROM-image fragments at the top of memory (the part keeps the KERNAL in, so its hardware vectors are the ROM's)"
   ]
  ],
  "extra": [
   [
    14336,
    16383,
    "character set"
   ],
   [
    3072,
    3134,
    "see the label at $0C00 (menu_bar_sprite)"
   ],
   [
    8192,
    9215,
    "see the label at $2000 (bond_shapes_80)"
   ],
   [
    9216,
    10239,
    "see the label at $2400 (bond_shapes_90)"
   ],
   [
    10240,
    11263,
    "see the label at $2800 (bond_shapes_A0)"
   ],
   [
    11264,
    12287,
    "see the label at $2C00 (bond_shapes_B0)"
   ],
   [
    12288,
    13311,
    "see the label at $3000 (bond_shapes_C0)"
   ],
   [
    16930,
    17953,
    "see the label at $4222 (rooms)"
   ],
   [
    17954,
    18007,
    "see the label at $4622 (rooms_end)"
   ],
   [
    18336,
    18367,
    "see the label at $47A0 (icon_47A0)"
   ],
   [
    18368,
    18399,
    "see the label at $47C0 (icon_47C0)"
   ],
   [
    18400,
    18431,
    "see the label at $47E0 (icon_47E0)"
   ],
   [
    18432,
    18463,
    "see the label at $4800 (icon_4800)"
   ],
   [
    18464,
    18495,
    "see the label at $4820 (icon_4820)"
   ],
   [
    18496,
    18527,
    "see the label at $4840 (icon_4840)"
   ],
   [
    18560,
    18591,
    "see the label at $4880 (icon_4880)"
   ],
   [
    18592,
    18623,
    "see the label at $48A0 (icon_48A0)"
   ],
   [
    18624,
    18655,
    "see the label at $48C0 (icon_48C0)"
   ],
   [
    18656,
    18687,
    "see the label at $48E0 (icon_48E0)"
   ],
   [
    18688,
    18719,
    "see the label at $4900 (icon_4900)"
   ],
   [
    18720,
    18751,
    "see the label at $4920 (icon_4920)"
   ],
   [
    18752,
    18783,
    "see the label at $4940 (icon_4940)"
   ],
   [
    18784,
    18815,
    "see the label at $4960 (icon_4960)"
   ],
   [
    18816,
    18847,
    "see the label at $4980 (icon_4980)"
   ],
   [
    18848,
    18879,
    "see the label at $49A0 (icon_49A0)"
   ],
   [
    18880,
    18911,
    "see the label at $49C0 (icon_49C0)"
   ],
   [
    20264,
    20295,
    "see the label at $4F28 (icon_4F28)"
   ],
   [
    20296,
    20327,
    "see the label at $4F48 (icon_4F48)"
   ],
   [
    22544,
    22575,
    "see the label at $5810 (icon_5810)"
   ],
   [
    22576,
    22607,
    "see the label at $5830 (icon_5830)"
   ],
   [
    22608,
    22639,
    "see the label at $5850 (icon_5850)"
   ],
   [
    22640,
    22671,
    "see the label at $5870 (icon_5870)"
   ],
   [
    22672,
    22703,
    "see the label at $5890 (icon_5890)"
   ],
   [
    22704,
    22735,
    "see the label at $58B0 (icon_58B0)"
   ],
   [
    22736,
    22767,
    "see the label at $58D0 (icon_58D0)"
   ],
   [
    22768,
    22799,
    "see the label at $58F0 (icon_58F0)"
   ],
   [
    22512,
    22543,
    "see the label at $57F0 (icon_blank)"
   ],
   [
    18912,
    19199,
    "see the label at $49E0 (bitmap_49E0)"
   ],
   [
    19200,
    19343,
    "see the label at $4B00 (bitmap_4B00)"
   ],
   [
    19344,
    19487,
    "see the label at $4B90 (bitmap_4B90)"
   ],
   [
    19488,
    19583,
    "see the label at $4C20 (bitmap_4C20)"
   ],
   [
    19584,
    19615,
    "see the label at $4C80 (bitmap_4C80)"
   ],
   [
    19616,
    19775,
    "see the label at $4CA0 (bitmap_4CA0)"
   ],
   [
    19776,
    19839,
    "see the label at $4D40 (bitmap_4D40)"
   ],
   [
    19840,
    19903,
    "see the label at $4D80 (bitmap_4D80)"
   ],
   [
    19904,
    19999,
    "see the label at $4DC0 (bitmap_4DC0)"
   ],
   [
    20064,
    20143,
    "see the label at $4E60 (bitmap_4E60)"
   ],
   [
    20144,
    20263,
    "see the label at $4EB0 (bitmap_4EB0)"
   ],
   [
    20328,
    20495,
    "see the label at $4F68 (bitmap_4F68)"
   ],
   [
    20496,
    20639,
    "see the label at $5010 (bitmap_5010)"
   ],
   [
    20640,
    20735,
    "see the label at $50A0 (bitmap_50A0)"
   ],
   [
    20736,
    20863,
    "see the label at $5100 (bitmap_5100)"
   ],
   [
    21056,
    21247,
    "see the label at $5240 (bitmap_5240)"
   ],
   [
    21440,
    21631,
    "see the label at $53C0 (bitmap_53C0)"
   ],
   [
    21632,
    21775,
    "see the label at $5480 (bitmap_5480)"
   ],
   [
    21776,
    22063,
    "see the label at $5510 (bitmap_5510)"
   ],
   [
    22064,
    22351,
    "see the label at $5630 (bitmap_5630)"
   ],
   [
    22352,
    22511,
    "see the label at $5750 (bitmap_5750)"
   ],
   [
    20864,
    20991,
    "see the label at $5180 (bitmap_opened)"
   ],
   [
    20992,
    21055,
    "see the label at $5200 (bitmap_5200)"
   ],
   [
    21248,
    21439,
    "see the label at $5300 (bitmap_5300)"
   ],
   [
    20000,
    20063,
    "see the label at $4E20 (bitmap_unused_4E20)"
   ],
   [
    40960,
    41983,
    "see the label at $A000 (rooms_reset)"
   ],
   [
    41984,
    42192,
    "see the label at $A400 (rooms_reset_end)"
   ],
   [
    42240,
    43007,
    "see the label at $A500 (items_reset)"
   ],
   [
    43264,
    43328,
    "see the label at $A900 (vars_reset)"
   ],
   [
    43520,
    43536,
    "see the label at $AA00 (player_reset)"
   ],
   [
    57344,
    57835,
    "see the label at $E000 (tune_voice1)"
   ],
   [
    57836,
    58859,
    "see the label at $E1EC (tune_voice2)"
   ],
   [
    58860,
    58864,
    "see the label at $E5EC (tune_voice2_end)"
   ],
   [
    58865,
    59749,
    "see the label at $E5F1 (tune_voice3)"
   ],
   [
    28357,
    28415,
    "see the label at $6EC5 (old_object_index)"
   ],
   [
    32346,
    32367,
    "see the label at $7E5A (old_end_screen)"
   ],
   [
    32384,
    32455,
    "see the label at $7E80 (old_end_text)"
   ],
   [
    34093,
    34177,
    "see the label at $852D (old_kit_piece)"
   ],
   [
    34700,
    34719,
    "see the label at $878C (skipped_copy)"
   ],
   [
    29184,
    29247,
    "see the label at $7200 (old_colour_code)"
   ],
   [
    33184,
    33203,
    "see the label at $81A0 (old_word_code)"
   ],
   [
    34281,
    34301,
    "see the label at $85E9 (old_restart_code)"
   ],
   [
    38512,
    38522,
    "see the label at $9670 (old_prompt_head)"
   ],
   [
    38626,
    38630,
    "see the label at $96E2 (old_code_expected)"
   ],
   [
    38640,
    38665,
    "see the label at $96F0 (old_prompt_text)"
   ],
   [
    62646,
    63046,
    "see the label at $F4B6 (music_file_copy)"
   ],
   [
    36128,
    37127,
    "see the label at $8D20 (screen_image)"
   ],
   [
    37128,
    38127,
    "see the label at $9108 (colour_image)"
   ],
   [
    6199,
    6684,
    "see the label at $1837 (memo_text)"
   ],
   [
    35230,
    35352,
    "see the label at $899E (bond_figure_rows)"
   ],
   [
    13376,
    13439,
    "see the label at $3440 (bond_figure_lower)"
   ],
   [
    13504,
    13567,
    "see the label at $34C0 (stacey_figure_lower)"
   ],
   [
    26707,
    26708,
    "see the label at $6853 (right_limit)"
   ],
   [
    27257,
    27323,
    "see the label at $6A79 (old_map_code)"
   ],
   [
    33090,
    33116,
    "see the label at $8142 (old_flash_code)"
   ]
  ]
 },
 "blocks": [
  {
   "start": 0,
   "end": 3071,
   "type": "Undefined"
  },
  {
   "start": 3072,
   "end": 3134,
   "type": "Byte"
  },
  {
   "start": 3135,
   "end": 4095,
   "type": "Undefined"
  },
  {
   "start": 4096,
   "end": 4136,
   "type": "Code"
  },
  {
   "start": 4137,
   "end": 4231,
   "type": "Byte"
  },
  {
   "start": 4232,
   "end": 4301,
   "type": "Code"
  },
  {
   "start": 4302,
   "end": 4316,
   "type": "Byte"
  },
  {
   "start": 4317,
   "end": 4607,
   "type": "Undefined"
  },
  {
   "start": 4608,
   "end": 4619,
   "type": "Code"
  },
  {
   "start": 4620,
   "end": 4623,
   "type": "Undefined"
  },
  {
   "start": 4624,
   "end": 4655,
   "type": "Byte"
  },
  {
   "start": 4656,
   "end": 4863,
   "type": "Undefined"
  },
  {
   "start": 4864,
   "end": 4915,
   "type": "Code"
  },
  {
   "start": 4916,
   "end": 5096,
   "type": "Byte"
  },
  {
   "start": 5097,
   "end": 6143,
   "type": "Undefined"
  },
  {
   "start": 6144,
   "end": 6198,
   "type": "Code"
  },
  {
   "start": 6199,
   "end": 6684,
   "type": "Byte"
  },
  {
   "start": 6685,
   "end": 8191,
   "type": "Undefined"
  },
  {
   "start": 8192,
   "end": 13311,
   "type": "Byte"
  },
  {
   "start": 13312,
   "end": 16383,
   "type": "Undefined"
  },
  {
   "start": 16384,
   "end": 16487,
   "type": "Code"
  },
  {
   "start": 16488,
   "end": 16489,
   "type": "Undefined"
  },
  {
   "start": 16490,
   "end": 16635,
   "type": "Code"
  },
  {
   "start": 16636,
   "end": 16639,
   "type": "Undefined"
  },
  {
   "start": 16640,
   "end": 16909,
   "type": "Code"
  },
  {
   "start": 16910,
   "end": 16929,
   "type": "Undefined"
  },
  {
   "start": 16930,
   "end": 18007,
   "type": "Byte"
  },
  {
   "start": 18008,
   "end": 18175,
   "type": "Undefined"
  },
  {
   "start": 18176,
   "end": 18214,
   "type": "Code"
  },
  {
   "start": 18215,
   "end": 18335,
   "type": "Undefined"
  },
  {
   "start": 18336,
   "end": 18527,
   "type": "Byte"
  },
  {
   "start": 18528,
   "end": 18559,
   "type": "Undefined"
  },
  {
   "start": 18560,
   "end": 22799,
   "type": "Byte"
  },
  {
   "start": 22800,
   "end": 24143,
   "type": "Undefined"
  },
  {
   "start": 24144,
   "end": 24211,
   "type": "Code"
  },
  {
   "start": 24212,
   "end": 24575,
   "type": "Undefined"
  },
  {
   "start": 24576,
   "end": 24605,
   "type": "Code"
  },
  {
   "start": 24606,
   "end": 24608,
   "type": "Undefined"
  },
  {
   "start": 24609,
   "end": 24807,
   "type": "Code"
  },
  {
   "start": 24808,
   "end": 25010,
   "type": "Byte"
  },
  {
   "start": 25011,
   "end": 25234,
   "type": "Address"
  },
  {
   "start": 25235,
   "end": 25247,
   "type": "Undefined"
  },
  {
   "start": 25248,
   "end": 25483,
   "type": "Code"
  },
  {
   "start": 25484,
   "end": 25551,
   "type": "Undefined"
  },
  {
   "start": 25552,
   "end": 26279,
   "type": "Byte"
  },
  {
   "start": 26280,
   "end": 26307,
   "type": "Address"
  },
  {
   "start": 26308,
   "end": 26319,
   "type": "Undefined"
  },
  {
   "start": 26320,
   "end": 26608,
   "type": "Code"
  },
  {
   "start": 26609,
   "end": 26708,
   "type": "Byte"
  },
  {
   "start": 26709,
   "end": 26719,
   "type": "Undefined"
  },
  {
   "start": 26720,
   "end": 26811,
   "type": "Code"
  },
  {
   "start": 26812,
   "end": 26815,
   "type": "Undefined"
  },
  {
   "start": 26816,
   "end": 26884,
   "type": "Code"
  },
  {
   "start": 26885,
   "end": 26911,
   "type": "Undefined"
  },
  {
   "start": 26912,
   "end": 26980,
   "type": "Code"
  },
  {
   "start": 26981,
   "end": 27061,
   "type": "Byte"
  },
  {
   "start": 27062,
   "end": 27071,
   "type": "Undefined"
  },
  {
   "start": 27072,
   "end": 27096,
   "type": "Code"
  },
  {
   "start": 27097,
   "end": 27103,
   "type": "Undefined"
  },
  {
   "start": 27104,
   "end": 27156,
   "type": "Code"
  },
  {
   "start": 27157,
   "end": 27167,
   "type": "Undefined"
  },
  {
   "start": 27168,
   "end": 27256,
   "type": "Code"
  },
  {
   "start": 27257,
   "end": 27327,
   "type": "Undefined"
  },
  {
   "start": 27328,
   "end": 27466,
   "type": "Byte"
  },
  {
   "start": 27467,
   "end": 27471,
   "type": "Undefined"
  },
  {
   "start": 27472,
   "end": 27502,
   "type": "Code"
  },
  {
   "start": 27503,
   "end": 27503,
   "type": "Undefined"
  },
  {
   "start": 27504,
   "end": 27534,
   "type": "Code"
  },
  {
   "start": 27535,
   "end": 27535,
   "type": "Undefined"
  },
  {
   "start": 27536,
   "end": 27566,
   "type": "Code"
  },
  {
   "start": 27567,
   "end": 27583,
   "type": "Undefined"
  },
  {
   "start": 27584,
   "end": 27655,
   "type": "Code"
  },
  {
   "start": 27656,
   "end": 27742,
   "type": "Byte"
  },
  {
   "start": 27743,
   "end": 27743,
   "type": "Undefined"
  },
  {
   "start": 27744,
   "end": 27930,
   "type": "Code"
  },
  {
   "start": 27931,
   "end": 27935,
   "type": "Undefined"
  },
  {
   "start": 27936,
   "end": 27948,
   "type": "Code"
  },
  {
   "start": 27949,
   "end": 27956,
   "type": "Undefined"
  },
  {
   "start": 27957,
   "end": 28013,
   "type": "Code"
  },
  {
   "start": 28014,
   "end": 28015,
   "type": "Undefined"
  },
  {
   "start": 28016,
   "end": 28045,
   "type": "Code"
  },
  {
   "start": 28046,
   "end": 28047,
   "type": "Undefined"
  },
  {
   "start": 28048,
   "end": 28061,
   "type": "Code"
  },
  {
   "start": 28062,
   "end": 28063,
   "type": "Undefined"
  },
  {
   "start": 28064,
   "end": 28076,
   "type": "Code"
  },
  {
   "start": 28077,
   "end": 28095,
   "type": "Undefined"
  },
  {
   "start": 28096,
   "end": 28138,
   "type": "Code"
  },
  {
   "start": 28139,
   "end": 28143,
   "type": "Undefined"
  },
  {
   "start": 28144,
   "end": 28167,
   "type": "Byte"
  },
  {
   "start": 28168,
   "end": 28175,
   "type": "Undefined"
  },
  {
   "start": 28176,
   "end": 28219,
   "type": "Code"
  },
  {
   "start": 28220,
   "end": 28223,
   "type": "Undefined"
  },
  {
   "start": 28224,
   "end": 28352,
   "type": "Code"
  },
  {
   "start": 28353,
   "end": 28356,
   "type": "Undefined"
  },
  {
   "start": 28357,
   "end": 28415,
   "type": "Byte"
  },
  {
   "start": 28416,
   "end": 28607,
   "type": "Undefined"
  },
  {
   "start": 28608,
   "end": 28664,
   "type": "Code"
  },
  {
   "start": 28665,
   "end": 28671,
   "type": "Undefined"
  },
  {
   "start": 28672,
   "end": 28794,
   "type": "Code"
  },
  {
   "start": 28795,
   "end": 28799,
   "type": "Undefined"
  },
  {
   "start": 28800,
   "end": 28835,
   "type": "Code"
  },
  {
   "start": 28836,
   "end": 29183,
   "type": "Undefined"
  },
  {
   "start": 29184,
   "end": 29247,
   "type": "Byte"
  },
  {
   "start": 29248,
   "end": 31231,
   "type": "Undefined"
  },
  {
   "start": 31232,
   "end": 31522,
   "type": "Code"
  },
  {
   "start": 31523,
   "end": 31743,
   "type": "Undefined"
  },
  {
   "start": 31744,
   "end": 31909,
   "type": "Code"
  },
  {
   "start": 31910,
   "end": 31957,
   "type": "Address"
  },
  {
   "start": 31958,
   "end": 32254,
   "type": "Code"
  },
  {
   "start": 32255,
   "end": 32255,
   "type": "Undefined"
  },
  {
   "start": 32256,
   "end": 32367,
   "type": "Byte"
  },
  {
   "start": 32368,
   "end": 32383,
   "type": "Undefined"
  },
  {
   "start": 32384,
   "end": 32455,
   "type": "Byte"
  },
  {
   "start": 32456,
   "end": 32511,
   "type": "Undefined"
  },
  {
   "start": 32512,
   "end": 32582,
   "type": "Code"
  },
  {
   "start": 32583,
   "end": 32594,
   "type": "Byte"
  },
  {
   "start": 32595,
   "end": 32635,
   "type": "Code"
  },
  {
   "start": 32636,
   "end": 32649,
   "type": "Byte"
  },
  {
   "start": 32650,
   "end": 32767,
   "type": "Undefined"
  },
  {
   "start": 32768,
   "end": 32896,
   "type": "Code"
  },
  {
   "start": 32897,
   "end": 32916,
   "type": "Undefined"
  },
  {
   "start": 32917,
   "end": 32996,
   "type": "Byte"
  },
  {
   "start": 32997,
   "end": 33020,
   "type": "Address"
  },
  {
   "start": 33021,
   "end": 33089,
   "type": "Code"
  },
  {
   "start": 33090,
   "end": 33116,
   "type": "Undefined"
  },
  {
   "start": 33117,
   "end": 33133,
   "type": "Code"
  },
  {
   "start": 33134,
   "end": 33183,
   "type": "Undefined"
  },
  {
   "start": 33184,
   "end": 33203,
   "type": "Byte"
  },
  {
   "start": 33204,
   "end": 33279,
   "type": "Undefined"
  },
  {
   "start": 33280,
   "end": 33364,
   "type": "Code"
  },
  {
   "start": 33365,
   "end": 33370,
   "type": "Byte"
  },
  {
   "start": 33371,
   "end": 33382,
   "type": "Address"
  },
  {
   "start": 33383,
   "end": 33414,
   "type": "Byte"
  },
  {
   "start": 33415,
   "end": 33864,
   "type": "Code"
  },
  {
   "start": 33865,
   "end": 33873,
   "type": "Byte"
  },
  {
   "start": 33874,
   "end": 34001,
   "type": "Code"
  },
  {
   "start": 34002,
   "end": 34002,
   "type": "Undefined"
  },
  {
   "start": 34003,
   "end": 34011,
   "type": "Code"
  },
  {
   "start": 34012,
   "end": 34012,
   "type": "Undefined"
  },
  {
   "start": 34013,
   "end": 34068,
   "type": "Code"
  },
  {
   "start": 34069,
   "end": 34092,
   "type": "Address"
  },
  {
   "start": 34093,
   "end": 34177,
   "type": "Byte"
  },
  {
   "start": 34178,
   "end": 34280,
   "type": "Undefined"
  },
  {
   "start": 34281,
   "end": 34301,
   "type": "Byte"
  },
  {
   "start": 34302,
   "end": 34303,
   "type": "Undefined"
  },
  {
   "start": 34304,
   "end": 34549,
   "type": "Code"
  },
  {
   "start": 34550,
   "end": 34559,
   "type": "Undefined"
  },
  {
   "start": 34560,
   "end": 34699,
   "type": "Code"
  },
  {
   "start": 34700,
   "end": 34719,
   "type": "Byte"
  },
  {
   "start": 34720,
   "end": 34720,
   "type": "Code"
  },
  {
   "start": 34721,
   "end": 34815,
   "type": "Undefined"
  },
  {
   "start": 34816,
   "end": 34825,
   "type": "Code"
  },
  {
   "start": 34826,
   "end": 34831,
   "type": "Undefined"
  },
  {
   "start": 34832,
   "end": 34850,
   "type": "Code"
  },
  {
   "start": 34851,
   "end": 35071,
   "type": "Undefined"
  },
  {
   "start": 35072,
   "end": 35229,
   "type": "Code"
  },
  {
   "start": 35230,
   "end": 35736,
   "type": "Byte"
  },
  {
   "start": 35737,
   "end": 36127,
   "type": "Undefined"
  },
  {
   "start": 36128,
   "end": 38127,
   "type": "Byte"
  },
  {
   "start": 38128,
   "end": 38371,
   "type": "Code"
  },
  {
   "start": 38372,
   "end": 38448,
   "type": "Byte"
  },
  {
   "start": 38449,
   "end": 38463,
   "type": "Undefined"
  },
  {
   "start": 38464,
   "end": 38480,
   "type": "Code"
  },
  {
   "start": 38481,
   "end": 38505,
   "type": "Undefined"
  },
  {
   "start": 38506,
   "end": 38511,
   "type": "Code"
  },
  {
   "start": 38512,
   "end": 38522,
   "type": "Byte"
  },
  {
   "start": 38523,
   "end": 38625,
   "type": "Code"
  },
  {
   "start": 38626,
   "end": 38630,
   "type": "Byte"
  },
  {
   "start": 38631,
   "end": 38639,
   "type": "Undefined"
  },
  {
   "start": 38640,
   "end": 38665,
   "type": "Byte"
  },
  {
   "start": 38666,
   "end": 38697,
   "type": "Code"
  },
  {
   "start": 38698,
   "end": 40959,
   "type": "Undefined"
  },
  {
   "start": 40960,
   "end": 42192,
   "type": "Byte"
  },
  {
   "start": 42193,
   "end": 42239,
   "type": "Undefined"
  },
  {
   "start": 42240,
   "end": 43007,
   "type": "Byte"
  },
  {
   "start": 43008,
   "end": 43263,
   "type": "Undefined"
  },
  {
   "start": 43264,
   "end": 43328,
   "type": "Byte"
  },
  {
   "start": 43329,
   "end": 43519,
   "type": "Undefined"
  },
  {
   "start": 43520,
   "end": 43536,
   "type": "Byte"
  },
  {
   "start": 43537,
   "end": 50687,
   "type": "Undefined"
  },
  {
   "start": 50688,
   "end": 50719,
   "type": "Byte"
  },
  {
   "start": 50720,
   "end": 50751,
   "type": "Undefined"
  },
  {
   "start": 50752,
   "end": 51125,
   "type": "Code"
  },
  {
   "start": 51126,
   "end": 51128,
   "type": "Byte"
  },
  {
   "start": 51129,
   "end": 57343,
   "type": "Undefined"
  },
  {
   "start": 57344,
   "end": 59749,
   "type": "Byte"
  },
  {
   "start": 59750,
   "end": 62645,
   "type": "Undefined"
  },
  {
   "start": 62646,
   "end": 63046,
   "type": "Byte"
  },
  {
   "start": 63047,
   "end": 65535,
   "type": "Undefined"
  }
 ],
 "symbols": [
  {
   "address": 1,
   "name": "cpu_port",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 2,
   "name": "loop_count",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 20,
   "name": "fire_floor",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 21,
   "name": "fire_room",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 22,
   "name": "fire_rec",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 23,
   "name": "fire_rec_hi",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 24,
   "name": "fire_index",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 25,
   "name": "fire_reach",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 32,
   "name": "fire_below",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 33,
   "name": "fire_below_hi",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 37,
   "name": "map_floor",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 38,
   "name": "map_rec",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 39,
   "name": "map_rec_hi",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 56,
   "name": "fire_tick",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 57,
   "name": "fire_slow",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 63,
   "name": "room_ptr",
   "type": "ZeroPagePointer",
   "kind": "user"
  },
  {
   "address": 64,
   "name": "room_ptr_hi",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 65,
   "name": "search_item",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 66,
   "name": "map_colour_ptr",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 67,
   "name": "map_colour_ptr_hi",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 160,
   "name": "word_table_junk",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 172,
   "name": "src2",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 173,
   "name": "src2_hi",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 174,
   "name": "src",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 175,
   "name": "src_hi",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 216,
   "name": "old_prompt_count",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 217,
   "name": "tune_ptr",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 218,
   "name": "tune_ptr_hi",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 251,
   "name": "dst",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 252,
   "name": "dst_hi",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 253,
   "name": "ptr2",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 254,
   "name": "ptr2_hi",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 255,
   "name": "list_pos",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 788,
   "name": "irq_vector",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 789,
   "name": "irq_vector_hi",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 825,
   "name": "stick_x",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 826,
   "name": "stick_y",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 827,
   "name": "stick_fire",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 828,
   "name": "tmp_rows",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 829,
   "name": "tmp_width",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 830,
   "name": "tmp_canvas",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 831,
   "name": "tmp_canvas_hi",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 912,
   "name": "clock_h10",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 913,
   "name": "clock_h1",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 914,
   "name": "clock_gap1",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 915,
   "name": "clock_m10",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 916,
   "name": "clock_m1",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 917,
   "name": "clock_gap2",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 918,
   "name": "clock_s10",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 919,
   "name": "clock_s1",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 921,
   "name": "clock_frames",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 1001,
   "name": "screen_minus_17",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 1024,
   "name": "f_0400",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 1064,
   "name": "f_0428",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 1066,
   "name": "f_042A",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 1152,
   "name": "f_0480",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 1153,
   "name": "a_0481",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 1154,
   "name": "a_0482",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 1155,
   "name": "a_0483",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 1156,
   "name": "a_0484",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 1280,
   "name": "f_0500",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 1345,
   "name": "a_0541",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 1346,
   "name": "a_0542",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 1347,
   "name": "a_0543",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 1363,
   "name": "a_0553",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 1365,
   "name": "a_0555",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 1385,
   "name": "a_0569",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 1386,
   "name": "a_056A",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 1387,
   "name": "a_056B",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 1403,
   "name": "a_057B",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 1425,
   "name": "a_0591",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 1426,
   "name": "a_0592",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 1427,
   "name": "a_0593",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 1443,
   "name": "a_05A3",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 1465,
   "name": "a_05B9",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 1466,
   "name": "a_05BA",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 1467,
   "name": "a_05BB",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 1483,
   "name": "a_05CB",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 1490,
   "name": "f_05D2",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 1536,
   "name": "f_0600",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 1776,
   "name": "f_06F0",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 1985,
   "name": "f_07C1",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 2040,
   "name": "a_07F8",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 2041,
   "name": "a_07F9",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 2042,
   "name": "a_07FA",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 2043,
   "name": "a_07FB",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 2044,
   "name": "a_07FC",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 2045,
   "name": "a_07FD",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 2046,
   "name": "a_07FE",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 2047,
   "name": "a_07FF",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 3072,
   "name": "menu_bar_sprite",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 4096,
   "name": "code_prompt",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 4118,
   "name": "b_1016",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 4120,
   "name": "prompt_text_page",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 4137,
   "name": "prompt_text",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 4232,
   "name": "read_code",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 4234,
   "name": "b_108A",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 4255,
   "name": "b_109F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 4276,
   "name": "b_10B4",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 4294,
   "name": "b_10C6",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 4302,
   "name": "code_typed",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 4312,
   "name": "code_expected",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 4608,
   "name": "reset_kit_icon",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 4610,
   "name": "b_1202",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 4624,
   "name": "kit_icon_empty",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 4864,
   "name": "mission_complete",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 4883,
   "name": "b_1313",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 4900,
   "name": "b_1324",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 4913,
   "name": "b_1331",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 4916,
   "name": "mission_complete_text",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 6144,
   "name": "memo_page",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 6166,
   "name": "b_1816",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 6168,
   "name": "memo_text_page",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 6185,
   "name": "b_1829",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 6199,
   "name": "memo_text",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 6455,
   "name": "memo_text_asm",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 6992,
   "name": "room_colour",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 6993,
   "name": "room_number",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 6997,
   "name": "search_mode",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 6998,
   "name": "carried_weight",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 6999,
   "name": "stacey_follows",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 7000,
   "name": "kit_pieces",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 7001,
   "name": "item56_used",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 7002,
   "name": "item57_used",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 7003,
   "name": "bond_gauge",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 7004,
   "name": "stacey_gauge",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 7005,
   "name": "stacey_room",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 7008,
   "name": "flash_timer",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 7011,
   "name": "gauge_div",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 7012,
   "name": "gauge_frames",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 7024,
   "name": "door_side",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 7025,
   "name": "door_new",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 7026,
   "name": "tool_search",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 7040,
   "name": "menu_open",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 7061,
   "name": "old_code_flag",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 7072,
   "name": "code_entered",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 7152,
   "name": "fire_char_timer",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 7153,
   "name": "fire_char_frame",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 7155,
   "name": "fire_blink_timer",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 8192,
   "name": "bond_shapes_80",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 9216,
   "name": "bond_shapes_90",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 10240,
   "name": "bond_shapes_A0",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 11264,
   "name": "bond_shapes_B0",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 12288,
   "name": "bond_shapes_C0",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 13312,
   "name": "bond_figure_sprites",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 13376,
   "name": "bond_figure_lower",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 13440,
   "name": "stacey_figure_sprites",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 13504,
   "name": "stacey_figure_lower",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 14336,
   "name": "charset",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 14832,
   "name": "fire_char",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 14840,
   "name": "charset_mid",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 14976,
   "name": "room_canvas",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 15744,
   "name": "canvas_last",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 15745,
   "name": "canvas_tail",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 15872,
   "name": "charset_icons",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 16384,
   "name": "install_irq",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 16418,
   "name": "raster_irq",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 16428,
   "name": "b_402C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16474,
   "name": "b_405A",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16490,
   "name": "irq_floor_band",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 16496,
   "name": "floor_colour",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 16500,
   "name": "irq_exit",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 16506,
   "name": "b_407A",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16529,
   "name": "b_4091",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16560,
   "name": "clear_room_canvas",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 16572,
   "name": "b_40BC",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16574,
   "name": "b_40BE",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16590,
   "name": "b_40CE",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16604,
   "name": "b_40DC",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16640,
   "name": "draw_room_walls",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 16679,
   "name": "colour_left_wall",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 16697,
   "name": "b_4139",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16730,
   "name": "b_415A",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16736,
   "name": "b_4160",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16738,
   "name": "colour_right_wall",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 16752,
   "name": "b_4170",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16754,
   "name": "b_4172",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16778,
   "name": "draw_left_door",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 16787,
   "name": "b_4193",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16799,
   "name": "b_419F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16801,
   "name": "b_41A1",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16844,
   "name": "draw_right_door",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 16853,
   "name": "b_41D5",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16865,
   "name": "b_41E1",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16867,
   "name": "b_41E3",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16930,
   "name": "rooms",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 17954,
   "name": "rooms_end",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 18176,
   "name": "read_joystick",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 18187,
   "name": "b_470B",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 18191,
   "name": "b_470F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 18195,
   "name": "b_4713",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 18199,
   "name": "b_4717",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 18211,
   "name": "b_4723",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 18336,
   "name": "icon_47A0",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 18368,
   "name": "icon_47C0",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 18400,
   "name": "icon_47E0",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 18432,
   "name": "icon_4800",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 18464,
   "name": "icon_4820",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 18496,
   "name": "icon_4840",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 18528,
   "name": "kit_icon",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 18560,
   "name": "icon_4880",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 18592,
   "name": "icon_48A0",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 18624,
   "name": "icon_48C0",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 18656,
   "name": "icon_48E0",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 18688,
   "name": "icon_4900",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 18720,
   "name": "icon_4920",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 18752,
   "name": "icon_4940",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 18784,
   "name": "icon_4960",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 18816,
   "name": "icon_4980",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 18848,
   "name": "icon_49A0",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 18880,
   "name": "icon_49C0",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 18912,
   "name": "bitmap_49E0",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 19200,
   "name": "bitmap_4B00",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 19344,
   "name": "bitmap_4B90",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 19488,
   "name": "bitmap_4C20",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 19584,
   "name": "bitmap_4C80",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 19616,
   "name": "bitmap_4CA0",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 19776,
   "name": "bitmap_4D40",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 19840,
   "name": "bitmap_4D80",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 19904,
   "name": "bitmap_4DC0",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 20000,
   "name": "bitmap_unused_4E20",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 20064,
   "name": "bitmap_4E60",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 20144,
   "name": "bitmap_4EB0",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 20264,
   "name": "icon_4F28",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 20296,
   "name": "icon_4F48",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 20328,
   "name": "bitmap_4F68",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 20496,
   "name": "bitmap_5010",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 20640,
   "name": "bitmap_50A0",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 20736,
   "name": "bitmap_5100",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 20864,
   "name": "bitmap_opened",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 20992,
   "name": "bitmap_5200",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 21056,
   "name": "bitmap_5240",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 21248,
   "name": "bitmap_5300",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 21440,
   "name": "bitmap_53C0",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 21632,
   "name": "bitmap_5480",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 21776,
   "name": "bitmap_5510",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 22064,
   "name": "bitmap_5630",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 22352,
   "name": "bitmap_5750",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 22512,
   "name": "icon_blank",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 22544,
   "name": "icon_5810",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 22576,
   "name": "icon_5830",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 22608,
   "name": "icon_5850",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 22640,
   "name": "icon_5870",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 22672,
   "name": "icon_5890",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 22704,
   "name": "icon_58B0",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 22736,
   "name": "icon_58D0",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 22768,
   "name": "icon_58F0",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 24144,
   "name": "draw_static_screen",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 24174,
   "name": "j_5E6E",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 24176,
   "name": "b_5E70",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 24194,
   "name": "b_5E82",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 24205,
   "name": "j_5E8D",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 24576,
   "name": "draw_room_objects",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 24582,
   "name": "b_6006",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 24609,
   "name": "objtype_mul7",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 24615,
   "name": "j_6027",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 24648,
   "name": "object_draw_call",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 24649,
   "name": "object_draw_call_hi",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 24650,
   "name": "b_604A",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 24657,
   "name": "draw_object",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 24660,
   "name": "draw_object_lamp",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 24683,
   "name": "blit_object",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 24707,
   "name": "b_6083",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 24710,
   "name": "b_6086",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 24780,
   "name": "b_60CC",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 24786,
   "name": "b_60D2",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 24806,
   "name": "objtype_routine_base",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 24807,
   "name": "objtype_routine_base_hi",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 24808,
   "name": "object_types",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 24809,
   "name": "objtype_bitmap_base",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 24810,
   "name": "objtype_bitmap_base_hi",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 24811,
   "name": "objtype_size_base",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 24818,
   "name": "type2_bitmap_lo",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 24825,
   "name": "type3_bitmap_lo",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 24950,
   "name": "type21_routine_hi",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 24965,
   "name": "type23_bitmap_lo",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 24972,
   "name": "type24_bitmap_lo",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 24979,
   "name": "type25_bitmap_lo",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 24986,
   "name": "type26_bitmap_lo",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 24993,
   "name": "type27_bitmap_lo",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 25011,
   "name": "canvas_colour_cells",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 25012,
   "name": "canvas_colour_cells_hi",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 25248,
   "name": "draw_room_items",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 25260,
   "name": "b_62AC",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 25267,
   "name": "j_62B3",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 25278,
   "name": "b_62BE",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 25282,
   "name": "b_62C2",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 25295,
   "name": "b_62CF",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 25313,
   "name": "b_62E1",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 25315,
   "name": "b_62E3",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 25329,
   "name": "b_62F1",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 25347,
   "name": "b_6303",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 25353,
   "name": "j_6309",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 25378,
   "name": "b_6322",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 25469,
   "name": "b_637D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 25477,
   "name": "j_6385",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 25552,
   "name": "items",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 25817,
   "name": "item34_room",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 26065,
   "name": "item67_room",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 26217,
   "name": "kit_piece1_room",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 26225,
   "name": "kit_piece2_room",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 26233,
   "name": "kit_piece3_room",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 26241,
   "name": "kit_piece4_room",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 26249,
   "name": "kit_piece5_room",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 26257,
   "name": "kit_piece6_room",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 26280,
   "name": "floor_item_cells",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 26281,
   "name": "floor_item_cells_hi",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 26320,
   "name": "move_bond",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 26331,
   "name": "b_66DB",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 26341,
   "name": "b_66E5",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 26351,
   "name": "b_66EF",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 26356,
   "name": "r_66F4",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 26357,
   "name": "b_66F5",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 26385,
   "name": "b_6711",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 26397,
   "name": "j_671D",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 26425,
   "name": "b_6739",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 26437,
   "name": "b_6745",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 26468,
   "name": "j_6764",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 26497,
   "name": "exit_left",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 26537,
   "name": "r_67A9",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 26538,
   "name": "exit_right",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 26575,
   "name": "j_67CF",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 26609,
   "name": "left_limit",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 26659,
   "name": "right_limit",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 26720,
   "name": "set_bond_sprites",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 26737,
   "name": "b_6871",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 26742,
   "name": "b_6876",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 26744,
   "name": "j_6878",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 26749,
   "name": "b_687D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 26758,
   "name": "b_6886",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 26763,
   "name": "b_688B",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 26768,
   "name": "j_6890",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 26773,
   "name": "j_6895",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 26816,
   "name": "animate_left_door",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 26822,
   "name": "b_68C6",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 26834,
   "name": "b_68D2",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 26872,
   "name": "b_68F8",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 26912,
   "name": "animate_right_door",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 26918,
   "name": "b_6926",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 26930,
   "name": "b_6932",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 26968,
   "name": "b_6958",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 26981,
   "name": "door_frames",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 27072,
   "name": "bond_behind_wall",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 27088,
   "name": "b_69D0",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 27104,
   "name": "draw_thermometer",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 27114,
   "name": "b_69EA",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 27118,
   "name": "b_69EE",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 27148,
   "name": "b_6A0C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 27168,
   "name": "draw_building_map",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 27190,
   "name": "b_6A36",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 27192,
   "name": "b_6A38",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 27200,
   "name": "j_6A40",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 27201,
   "name": "map_window_store",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 27202,
   "name": "map_window_store_hi",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 27206,
   "name": "b_6A46",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 27211,
   "name": "j_6A4B",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 27231,
   "name": "b_6A5F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 27257,
   "name": "old_map_code",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 27324,
   "name": "inventory_m4",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 27325,
   "name": "inventory_m3",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 27327,
   "name": "inventory_m1",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 27328,
   "name": "inventory",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 27472,
   "name": "sfx_ok",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 27504,
   "name": "sfx_refuse",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 27536,
   "name": "sfx_noise",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 27584,
   "name": "colour_building_map",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 27605,
   "name": "b_6BD5",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 27607,
   "name": "b_6BD7",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 27620,
   "name": "b_6BE4",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 27656,
   "name": "room_colours",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 27657,
   "name": "room1_colour",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 27744,
   "name": "use_lift",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 27770,
   "name": "r_6C7A",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 27771,
   "name": "b_6C7B",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 27782,
   "name": "j_6C86",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 27839,
   "name": "b_6CBF",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 27850,
   "name": "b_6CCA",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 27908,
   "name": "j_6D04",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 27930,
   "name": "r_6D1A",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 27936,
   "name": "flash_item_menu",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 27940,
   "name": "b_6D24",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 27957,
   "name": "flash_word_menu",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 27961,
   "name": "b_6D39",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 28007,
   "name": "b_6D67",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 28013,
   "name": "r_6D6D",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 28016,
   "name": "blink_item_edge",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 28039,
   "name": "b_6D87",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 28045,
   "name": "r_6D8D",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 28048,
   "name": "menu_colours_off",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 28052,
   "name": "b_6D94",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 28064,
   "name": "menu_flash",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 28076,
   "name": "r_6DAC",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 28096,
   "name": "animate_fire_char",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 28102,
   "name": "b_6DC6",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 28120,
   "name": "b_6DD8",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 28128,
   "name": "b_6DE0",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 28144,
   "name": "fire_frames",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 28176,
   "name": "blink_fire_rooms",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 28182,
   "name": "b_6E16",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 28189,
   "name": "b_6E1D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 28200,
   "name": "j_6E28",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 28204,
   "name": "b_6E2C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 28212,
   "name": "b_6E34",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 28224,
   "name": "tick_clock",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 28307,
   "name": "b_6E93",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 28336,
   "name": "b_6EB0",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 28338,
   "name": "b_6EB2",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 28357,
   "name": "old_object_index",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 28416,
   "name": "bond_x",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 28417,
   "name": "bond_y",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 28418,
   "name": "bond_pos",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 28419,
   "name": "bond_depth",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 28420,
   "name": "bond_dir",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 28421,
   "name": "bond_frame",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 28464,
   "name": "loop_div",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 28608,
   "name": "object_type_index",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 28612,
   "name": "b_6FC4",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 28621,
   "name": "b_6FCD",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 28624,
   "name": "b_6FD0",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 28672,
   "name": "game_loop",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 28711,
   "name": "j_7027",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 28721,
   "name": "b_7031",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 28749,
   "name": "j_704D",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 28759,
   "name": "b_7057",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 28792,
   "name": "b_7078",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 28800,
   "name": "end_test_timer",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 28810,
   "name": "end_test",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 28816,
   "name": "fire_or_win_quirk",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 28830,
   "name": "b_709E",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 28833,
   "name": "b_70A1",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 29184,
   "name": "old_colour_code",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 31232,
   "name": "item_menu",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 31247,
   "name": "b_7A0F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 31272,
   "name": "b_7A28",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 31285,
   "name": "b_7A35",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 31294,
   "name": "show_item_window",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 31319,
   "name": "b_7A57",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 31329,
   "name": "b_7A61",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 31373,
   "name": "j_7A8D",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 31375,
   "name": "b_7A8F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 31376,
   "name": "item_icon_source",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 31377,
   "name": "item_icon_source_hi",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 31391,
   "name": "b_7A9F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 31395,
   "name": "j_7AA3",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 31409,
   "name": "j_7AB1",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 31439,
   "name": "b_7ACF",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 31452,
   "name": "j_7ADC",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 31463,
   "name": "b_7AE7",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 31487,
   "name": "b_7AFF",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 31502,
   "name": "j_7B0E",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 31506,
   "name": "b_7B12",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 31514,
   "name": "j_7B1A",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 31520,
   "name": "b_7B20",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 31744,
   "name": "word_return",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 31751,
   "name": "word_drop",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 31818,
   "name": "b_7C4A",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 31844,
   "name": "b_7C64",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 31850,
   "name": "word_use",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 31908,
   "name": "use_jump",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 31909,
   "name": "use_jump_hi",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 31910,
   "name": "use_table",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 31911,
   "name": "use_table_hi",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 31958,
   "name": "word_search",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 31977,
   "name": "j_7CE9",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 31990,
   "name": "b_7CF6",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 32014,
   "name": "b_7D0E",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 32048,
   "name": "b_7D30",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 32059,
   "name": "b_7D3B",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 32070,
   "name": "b_7D46",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 32117,
   "name": "b_7D75",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 32127,
   "name": "j_7D7F",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 32136,
   "name": "b_7D88",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 32161,
   "name": "use_bucket_full",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 32170,
   "name": "b_7DAA",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 32208,
   "name": "use_bucket_empty",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 32224,
   "name": "b_7DE0",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 32227,
   "name": "b_7DE3",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 32255,
   "name": "menu_list_m1",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 32256,
   "name": "menu_list",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 32257,
   "name": "menu_list_1",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 32258,
   "name": "menu_list_2",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 32259,
   "name": "menu_list_3",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 32260,
   "name": "menu_list_4",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 32346,
   "name": "old_end_screen",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 32384,
   "name": "old_end_text",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 32512,
   "name": "use_item21",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 32533,
   "name": "b_7F15",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 32536,
   "name": "use_nothing4",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 32539,
   "name": "use_nothing5",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 32542,
   "name": "use_key",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 32569,
   "name": "b_7F39",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 32571,
   "name": "j_7F3B",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 32578,
   "name": "b_7F42",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 32583,
   "name": "key_rooms",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 32584,
   "name": "key_rooms_left",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 32595,
   "name": "use_key2",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 32622,
   "name": "b_7F6E",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 32624,
   "name": "j_7F70",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 32631,
   "name": "b_7F77",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 32636,
   "name": "key2_rooms",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 32637,
   "name": "key2_rooms_left",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 32768,
   "name": "word_menu",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 32782,
   "name": "b_800E",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 32802,
   "name": "b_8022",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 32838,
   "name": "b_8046",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 32851,
   "name": "b_8053",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 32863,
   "name": "b_805F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 32878,
   "name": "b_806E",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 32895,
   "name": "word_jump",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 32896,
   "name": "word_jump_hi",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 32917,
   "name": "word_strip",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 32997,
   "name": "word_table",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 32998,
   "name": "word_table_hi",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 33021,
   "name": "show_word_window",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 33023,
   "name": "b_80FF",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 33039,
   "name": "delay_short",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 33041,
   "name": "b_8111",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 33044,
   "name": "b_8114",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 33056,
   "name": "wait_release_words",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 33073,
   "name": "wait_release_items",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 33090,
   "name": "old_flash_code",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 33117,
   "name": "delay_long",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 33119,
   "name": "b_815F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 33122,
   "name": "b_8162",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 33184,
   "name": "old_word_code",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 33280,
   "name": "use_opener",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 33325,
   "name": "b_822D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 33343,
   "name": "opener_store",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 33344,
   "name": "opener_store_hi",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 33345,
   "name": "b_8241",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 33362,
   "name": "b_8252",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 33365,
   "name": "opener_rooms",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 33371,
   "name": "opener_types",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 33372,
   "name": "opener_types_hi",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 33383,
   "name": "opener_items",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 33384,
   "name": "opener_items_hi",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 33415,
   "name": "use_tool",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 33458,
   "name": "b_82B2",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 33461,
   "name": "b_82B5",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 33466,
   "name": "b_82BA",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 33499,
   "name": "j_82DB",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 33507,
   "name": "b_82E3",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 33557,
   "name": "b_8315",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 33563,
   "name": "b_831B",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 33567,
   "name": "b_831F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 33607,
   "name": "use_nothing",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 33610,
   "name": "use_refuse_11",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 33613,
   "name": "use_refuse_12",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 33616,
   "name": "use_refuse_13",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 33619,
   "name": "use_refuse_14",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 33622,
   "name": "use_kit",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 33645,
   "name": "b_836D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 33648,
   "name": "use_item55",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 33659,
   "name": "b_837B",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 33662,
   "name": "b_837E",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 33677,
   "name": "j_838D",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 33689,
   "name": "b_8399",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 33707,
   "name": "use_item56",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 33725,
   "name": "b_83BD",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 33728,
   "name": "use_item57",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 33754,
   "name": "b_83DA",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 33757,
   "name": "use_energy",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 33766,
   "name": "b_83E6",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 33786,
   "name": "use_exchange",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 33797,
   "name": "b_8405",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 33800,
   "name": "b_8408",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 33814,
   "name": "b_8416",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 33865,
   "name": "exchange_items",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 33866,
   "name": "exchange_items_hi",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 33874,
   "name": "use_refuse_21",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 33877,
   "name": "use_refuse_22",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 33880,
   "name": "use_refuse_23",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 33883,
   "name": "word_stay",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 33891,
   "name": "word_follow",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 33907,
   "name": "b_8473",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 33910,
   "name": "word_give",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 33982,
   "name": "b_84BE",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 33999,
   "name": "b_84CF",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 34003,
   "name": "fire_delay_room",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 34013,
   "name": "take_kit_piece",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 34032,
   "name": "b_84F0",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 34033,
   "name": "kit_piece_source",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 34034,
   "name": "kit_piece_source_hi",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 34069,
   "name": "kit_piece_pictures",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 34070,
   "name": "kit_piece_pictures_hi",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 34081,
   "name": "kit_piece_rooms",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 34082,
   "name": "kit_piece_rooms_hi",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 34093,
   "name": "old_kit_piece",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 34281,
   "name": "old_restart_code",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 34304,
   "name": "game_start",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 34560,
   "name": "restore_tables",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 34700,
   "name": "skipped_copy",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 34720,
   "name": "restore_done",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 34816,
   "name": "clear_bytes",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 34818,
   "name": "b_8802",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 34832,
   "name": "copy_pages",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 35072,
   "name": "gauge_update",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 35093,
   "name": "draw_bond_gauge",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 35095,
   "name": "b_8917",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 35108,
   "name": "b_8924",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 35143,
   "name": "r_8947",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 35144,
   "name": "b_8948",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 35155,
   "name": "b_8953",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 35163,
   "name": "b_895B",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 35165,
   "name": "b_895D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 35178,
   "name": "b_896A",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 35213,
   "name": "r_898D",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 35214,
   "name": "b_898E",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 35218,
   "name": "b_8992",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 35225,
   "name": "bond_figure_full",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 35230,
   "name": "bond_figure_rows",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 35353,
   "name": "bond_figure_outline",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 35481,
   "name": "stacey_figure_full",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 35609,
   "name": "stacey_figure_outline",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 36128,
   "name": "screen_image",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 37128,
   "name": "colour_image",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 38128,
   "name": "fire_spread",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 38132,
   "name": "r_94F4",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 38133,
   "name": "b_94F5",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 38160,
   "name": "j_9510",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 38162,
   "name": "b_9512",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 38192,
   "name": "b_9530",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 38199,
   "name": "b_9537",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 38204,
   "name": "j_953C",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 38215,
   "name": "b_9547",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 38226,
   "name": "j_9552",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 38262,
   "name": "b_9576",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 38283,
   "name": "b_958B",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 38334,
   "name": "b_95BE",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 38336,
   "name": "b_95C0",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 38356,
   "name": "j_95D4",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 38371,
   "name": "r_95E3",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 38372,
   "name": "fire_delay",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 38464,
   "name": "irq_top",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 38475,
   "name": "b_964B",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 38506,
   "name": "word_abort",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 38512,
   "name": "old_prompt_head",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 38523,
   "name": "old_code_prompt",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 38532,
   "name": "b_9684",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 38551,
   "name": "b_9697",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 38568,
   "name": "b_96A8",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 38577,
   "name": "j_96B1",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 38579,
   "name": "b_96B3",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 38581,
   "name": "b_96B5",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 38597,
   "name": "b_96C5",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 38607,
   "name": "b_96CF",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 38623,
   "name": "b_96DF",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 38626,
   "name": "old_code_expected",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 38640,
   "name": "old_prompt_text",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 38666,
   "name": "old_prompt_retry",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 38668,
   "name": "b_970C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 38690,
   "name": "j_9722",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 40960,
   "name": "rooms_reset",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 41984,
   "name": "rooms_reset_end",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 42240,
   "name": "items_reset",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 43264,
   "name": "vars_reset",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 43520,
   "name": "player_reset",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 50688,
   "name": "music_vars",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 50689,
   "name": "mus_ad_v2",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 50690,
   "name": "mus_ad_v3",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 50691,
   "name": "mus_wave_v1",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 50692,
   "name": "mus_wave_v2",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 50693,
   "name": "mus_wave_v3",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 50694,
   "name": "mus_pw_v1",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 50695,
   "name": "mus_pw_v2",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 50696,
   "name": "mus_pw_v3",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 50697,
   "name": "tempo_phase",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 50698,
   "name": "tempo_count",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 50699,
   "name": "mus_ptr_lo_v1",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 50700,
   "name": "mus_ptr_lo_v2",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 50701,
   "name": "mus_ptr_lo_v3",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 50702,
   "name": "mus_ptr_hi_v1",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 50703,
   "name": "mus_ptr_hi_v2",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 50704,
   "name": "mus_ptr_hi_v3",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 50705,
   "name": "mus_dur_v1",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 50706,
   "name": "mus_dur_v2",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 50707,
   "name": "mus_dur_v3",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 50708,
   "name": "music_work",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 50711,
   "name": "cur_freq_lo",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 50712,
   "name": "cur_pw",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 50713,
   "name": "cur_wave",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 50714,
   "name": "cur_ad",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 50715,
   "name": "cur_duration",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 50716,
   "name": "saved_port",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 50717,
   "name": "cur_voice",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 50718,
   "name": "vibrato_count",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 50752,
   "name": "music_init",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 50817,
   "name": "j_C681",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 50859,
   "name": "music_step",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 50877,
   "name": "j_C6BD",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 50896,
   "name": "b_C6D0",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 50899,
   "name": "b_C6D3",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 50912,
   "name": "play_voices",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 50914,
   "name": "b_C6E2",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 50978,
   "name": "r_C722",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 50979,
   "name": "voice_note",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 51049,
   "name": "b_C769",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 51059,
   "name": "read_tune_byte",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 51078,
   "name": "music_loop_check",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 51095,
   "name": "r_C797",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 51096,
   "name": "vibrato",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 51098,
   "name": "b_C79A",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 51126,
   "name": "voice_offsets",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 55296,
   "name": "f_D800",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 55341,
   "name": "a_D82D",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55342,
   "name": "a_D82E",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55343,
   "name": "a_D82F",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55344,
   "name": "a_D830",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55345,
   "name": "a_D831",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55346,
   "name": "a_D832",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55347,
   "name": "a_D833",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55348,
   "name": "a_D834",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55349,
   "name": "a_D835",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55350,
   "name": "a_D836",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55351,
   "name": "a_D837",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55352,
   "name": "a_D838",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55353,
   "name": "a_D839",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55354,
   "name": "a_D83A",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55360,
   "name": "f_D840",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 55361,
   "name": "a_D841",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55368,
   "name": "f_D848",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 55381,
   "name": "a_D855",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55382,
   "name": "a_D856",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55383,
   "name": "a_D857",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55384,
   "name": "a_D858",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55385,
   "name": "a_D859",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55386,
   "name": "a_D85A",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55387,
   "name": "a_D85B",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55388,
   "name": "a_D85C",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55389,
   "name": "a_D85D",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55390,
   "name": "a_D85E",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55391,
   "name": "a_D85F",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55392,
   "name": "a_D860",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55393,
   "name": "a_D861",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55394,
   "name": "a_D862",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55421,
   "name": "a_D87D",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55422,
   "name": "a_D87E",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55423,
   "name": "a_D87F",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55424,
   "name": "a_D880",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55425,
   "name": "a_D881",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55426,
   "name": "a_D882",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55427,
   "name": "a_D883",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55428,
   "name": "a_D884",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55429,
   "name": "a_D885",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55430,
   "name": "a_D886",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55431,
   "name": "a_D887",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55432,
   "name": "a_D888",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55433,
   "name": "a_D889",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55434,
   "name": "a_D88A",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55461,
   "name": "a_D8A5",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55462,
   "name": "a_D8A6",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55463,
   "name": "a_D8A7",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55464,
   "name": "a_D8A8",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55465,
   "name": "a_D8A9",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55466,
   "name": "a_D8AA",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55467,
   "name": "a_D8AB",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55468,
   "name": "a_D8AC",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55469,
   "name": "a_D8AD",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55470,
   "name": "a_D8AE",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55471,
   "name": "a_D8AF",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55472,
   "name": "a_D8B0",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55473,
   "name": "a_D8B1",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55474,
   "name": "a_D8B2",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55501,
   "name": "a_D8CD",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55502,
   "name": "a_D8CE",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55503,
   "name": "a_D8CF",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55504,
   "name": "a_D8D0",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55505,
   "name": "a_D8D1",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55506,
   "name": "a_D8D2",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55507,
   "name": "a_D8D3",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55508,
   "name": "a_D8D4",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55509,
   "name": "a_D8D5",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55510,
   "name": "a_D8D6",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55511,
   "name": "a_D8D7",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55512,
   "name": "a_D8D8",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55513,
   "name": "a_D8D9",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55514,
   "name": "a_D8DA",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55520,
   "name": "f_D8E0",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 55521,
   "name": "a_D8E1",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55541,
   "name": "a_D8F5",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55542,
   "name": "a_D8F6",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55543,
   "name": "a_D8F7",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55544,
   "name": "a_D8F8",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55545,
   "name": "a_D8F9",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55546,
   "name": "a_D8FA",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55547,
   "name": "a_D8FB",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55548,
   "name": "a_D8FC",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55549,
   "name": "a_D8FD",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55550,
   "name": "a_D8FE",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55551,
   "name": "a_D8FF",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55552,
   "name": "a_D900",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55553,
   "name": "a_D901",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55554,
   "name": "a_D902",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55581,
   "name": "a_D91D",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55582,
   "name": "a_D91E",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55583,
   "name": "a_D91F",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55584,
   "name": "a_D920",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55585,
   "name": "a_D921",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55586,
   "name": "a_D922",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55587,
   "name": "a_D923",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55588,
   "name": "a_D924",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55589,
   "name": "a_D925",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55590,
   "name": "a_D926",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55591,
   "name": "a_D927",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55592,
   "name": "a_D928",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55593,
   "name": "a_D929",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55594,
   "name": "a_D92A",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55621,
   "name": "a_D945",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55622,
   "name": "a_D946",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55623,
   "name": "a_D947",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55624,
   "name": "a_D948",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55625,
   "name": "a_D949",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55626,
   "name": "a_D94A",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55627,
   "name": "a_D94B",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55628,
   "name": "a_D94C",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55629,
   "name": "a_D94D",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55630,
   "name": "a_D94E",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55631,
   "name": "a_D94F",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55632,
   "name": "a_D950",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55633,
   "name": "a_D951",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55634,
   "name": "a_D952",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55808,
   "name": "f_DA00",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 56064,
   "name": "f_DB00",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 57344,
   "name": "tune_voice1",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 57836,
   "name": "tune_voice2",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 58860,
   "name": "tune_voice2_end",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 58865,
   "name": "tune_voice3",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 59953,
   "name": "j_EA31",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 62646,
   "name": "music_file_copy",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 65487,
   "name": "s_FFCF",
   "type": "Subroutine",
   "kind": "auto"
  },
  {
   "address": 65490,
   "name": "s_FFD2",
   "type": "Subroutine",
   "kind": "auto"
  },
  {
   "address": 65508,
   "name": "s_FFE4",
   "type": "Subroutine",
   "kind": "auto"
  }
 ],
 "comments": [
  {
   "address": 1,
   "type": "line",
   "text": "6510 port: $36 in play (BASIC out, set by restore_tables at $8704); read_tune_byte sets 0 for one read under the KERNAL and puts it back."
  },
  {
   "address": 2,
   "type": "line",
   "text": "Scratch counter: draw_room_objects' object count (2, 1), the word menu's word index 0-7, a saved X in the door animations."
  },
  {
   "address": 20,
   "type": "line",
   "text": "fire_spread: floor being processed, 1-5."
  },
  {
   "address": 21,
   "type": "line",
   "text": "fire_spread: room within the floor, 1-15."
  },
  {
   "address": 22,
   "type": "line",
   "text": "fire_spread: pointer to the room record being examined (low byte; high at $17), from $4230."
  },
  {
   "address": 23,
   "type": "line",
   "text": "High byte of fire_spread's room record pointer."
  },
  {
   "address": 24,
   "type": "line",
   "text": "fire_spread: room number 1-75 matching fire_rec, the index into the colour table $6C08 and the delays $95E4."
  },
  {
   "address": 25,
   "type": "line",
   "text": "fire_spread: rooms heated on this floor this pass; at 4 the rest of the floor is skipped."
  },
  {
   "address": 32,
   "type": "line",
   "text": "fire_spread: pointer to the record 11 rooms on (room 1 of the next floor), low byte; high at $21."
  },
  {
   "address": 33,
   "type": "line",
   "text": "High byte of fire_spread's pointer to the next floor's room 1."
  },
  {
   "address": 37,
   "type": "line",
   "text": "draw_building_map: floors left to draw, 5 down to 1."
  },
  {
   "address": 38,
   "type": "line",
   "text": "draw_building_map: room record pointer, low byte (from $4230); high at $27."
  },
  {
   "address": 39,
   "type": "line",
   "text": "High byte of draw_building_map's room record pointer."
  },
  {
   "address": 56,
   "type": "line",
   "text": "fire_spread's frame counter, low: counts 256 frames per step of fire_slow."
  },
  {
   "address": 57,
   "type": "line",
   "text": "fire_spread's slow counter: reloaded with 14, so the fire moves once every 14 x 256 frames (about 72 s at 50 Hz); game_start sets 1 so the first step comes early."
  },
  {
   "address": 63,
   "type": "line",
   "text": "Pointer to the current room's 14-byte record (low byte; high at $40). Room n's record is $4222 + 14n; game_start sets $4292 (room 8). Moves by 14 through a doorway and by 210 in a lift."
  },
  {
   "address": 64,
   "type": "line",
   "text": "High byte of the current room record pointer."
  },
  {
   "address": 65,
   "type": "line",
   "text": "word_search: item number being tested, 1 to $5B."
  },
  {
   "address": 66,
   "type": "line",
   "text": "colour_building_map: colour RAM pointer, low byte (from $DAF9); high at $43."
  },
  {
   "address": 67,
   "type": "line",
   "text": "High byte of colour_building_map's colour RAM pointer."
  },
  {
   "address": 160,
   "type": "line",
   "text": "Named only by the last, unreachable word_table entry ($00A0): not a handler."
  },
  {
   "address": 172,
   "type": "line",
   "text": "Second source pointer (low; high at $AD): the colour image in draw_static_screen, also the end index in the word menu scroll and item window."
  },
  {
   "address": 173,
   "type": "line",
   "text": "High byte of src2; in the item window the last list index to show."
  },
  {
   "address": 174,
   "type": "line",
   "text": "Source pointer (low; high at $AF): object bitmaps, the screen image, item icons, canvas search, record pointers."
  },
  {
   "address": 175,
   "type": "line",
   "text": "High byte of src; also a scratch index in the word menu."
  },
  {
   "address": 216,
   "type": "line",
   "text": "old_code_prompt: number of keys typed, 0-5."
  },
  {
   "address": 217,
   "type": "line",
   "text": "Music: the current voice's note pointer while play_voices works on it (low byte; high at $DA)."
  },
  {
   "address": 218,
   "type": "line",
   "text": "High byte of the music note pointer."
  },
  {
   "address": 251,
   "type": "line",
   "text": "Destination pointer (low; high at $FC) used by nearly every drawing and copying routine."
  },
  {
   "address": 252,
   "type": "line",
   "text": "High byte of the destination pointer."
  },
  {
   "address": 253,
   "type": "line",
   "text": "Second pointer (low; high at $FE): copy source, item record in the menus, or an object's colour in blit_object."
  },
  {
   "address": 254,
   "type": "line",
   "text": "High byte of the second pointer; blit_object uses it as the row length in bytes."
  },
  {
   "address": 255,
   "type": "line",
   "text": "Item menu: index into the list at $7E00 of the left one of the three shown slots; the selected item is the entry after it."
  },
  {
   "address": 788,
   "type": "line",
   "text": "KERNAL IRQ vector, set to raster_irq ($4022) by install_irq."
  },
  {
   "address": 789,
   "type": "line",
   "text": "High byte of the IRQ vector, $40."
  },
  {
   "address": 825,
   "type": "line",
   "text": "Joystick horizontal from read_joystick: $FF left, 1 right, 0."
  },
  {
   "address": 826,
   "type": "line",
   "text": "Joystick vertical from read_joystick: $FF up, 1 down, 0."
  },
  {
   "address": 827,
   "type": "line",
   "text": "1 while the joystick button is held (read_joystick)."
  },
  {
   "address": 828,
   "type": "line",
   "text": "Scratch: blit_object's row count, draw_room_items' canvas address low byte."
  },
  {
   "address": 829,
   "type": "line",
   "text": "Scratch: blit_object's width in characters; draw_room_items' canvas address high byte."
  },
  {
   "address": 830,
   "type": "line",
   "text": "Scratch: blit_object's canvas address, shifted right twice to index the colour-address table."
  },
  {
   "address": 831,
   "type": "line",
   "text": "High byte of blit_object's canvas address scratch."
  },
  {
   "address": 912,
   "type": "line",
   "text": "Clock digits, one per cell: $0390 hours tens, $0391 units, $0392 space, $0393/$0394 minutes, $0395 space, $0396/$0397 seconds; printed at $05D2 by tick_clock."
  },
  {
   "address": 913,
   "type": "line",
   "text": "Clock hours units; with hours tens = 2 and this at 4 the clock wraps to 00."
  },
  {
   "address": 914,
   "type": "line",
   "text": "Clock cell between hours and minutes: $20, shown as character $54."
  },
  {
   "address": 915,
   "type": "line",
   "text": "Clock minutes tens, 0-5."
  },
  {
   "address": 916,
   "type": "line",
   "text": "Clock minutes units, 0-9."
  },
  {
   "address": 917,
   "type": "line",
   "text": "Clock cell between minutes and seconds: $20."
  },
  {
   "address": 918,
   "type": "line",
   "text": "Clock seconds tens, 0-5."
  },
  {
   "address": 919,
   "type": "line",
   "text": "Clock seconds units, 0-9."
  },
  {
   "address": 921,
   "type": "line",
   "text": "Frames counted towards one clock second: 60 frames, so a clock second lasts 1.2 s at the PAL 50 Hz raster rate."
  },
  {
   "address": 1001,
   "type": "line",
   "text": "Base of the AND $03E9,Y at $95AD with Y = $1B: it reads screen cell $0404 (row 0, column 4, a frame character), not a table."
  },
  {
   "address": 3072,
   "type": "line",
   "text": "Sprite shape $30 (VIC bank 0, $0C00): 63 bytes of $FF, a solid block. game_start points sprites 2 and 3 at it (X-expanded, behind the background): the coloured bars behind the icon and word windows. The only bytes of $0800-$0FFF the part uses."
  },
  {
   "address": 4096,
   "type": "line",
   "text": "Part entry (the depacker jumps here). Blacks border and background, prints the PETSCII page at $1029 through the KERNAL's CHROUT ($FFD2) until $FF (the high byte of the LDA at $1016 is set to $10 at $100F and stepped at $1023 to cross pages), then falls into the code reader at $1088. Uses the KERNAL throughout, unlike the game proper."
  },
  {
   "address": 4120,
   "type": "line",
   "text": "Operand high byte of the LDA $1029,Y at $1016: set to $10 at $100F and incremented at $1023 when Y wraps, so the printer can run past one page."
  },
  {
   "address": 4137,
   "type": "line",
   "text": "PETSCII page printed by code_prompt through CHROUT, $FF-terminated: clear screen, cursor moves, 'PLEASE ENTER CODE', 'IF YOU HAVE NOT COMPLETED PARIS', 'PLEASE HIT RETURN'."
  },
  {
   "address": 4232,
   "type": "line",
   "text": "Code reader: KERNAL CHRIN ($FFCF) until a non-zero character, stores up to five in $10CE; RETURN ends early with $1BA0 = 0 and JMP $1800 (play without a code). After five characters compares them with 'CCPHJ' at $10D8: all equal stores 1 in $1BA0 and JMP $1800; any mismatch prints RETURN, cursor up, space and reads again, without limit."
  },
  {
   "address": 4302,
   "type": "line",
   "text": "Five-byte buffer for the characters typed at the code prompt (PETSCII, as CHRIN returns them); the snapshot holds the leftover of a RETURN typed at the prompt."
  },
  {
   "address": 4312,
   "type": "line",
   "text": "The Paris code this part accepts, PETSCII 'CCPHJ', compared byte for byte by read_code at $109F."
  },
  {
   "address": 4608,
   "type": "line",
   "text": "Copies the 32-byte empty-frame icon at $1210 over item 54's icon at $4860, so the assembled-kit icon starts empty on every new game (called by game_start at $86F0)."
  },
  {
   "address": 4624,
   "type": "line",
   "text": "Item 54's icon as a new game starts: a 2x2-character multicolour frame, 32 bytes (top-left, top-right, bottom-left, bottom-right), copied to $4860 by reset_kit_icon; the six pieces are ORed into the copy at $84F0."
  },
  {
   "address": 4864,
   "type": "line",
   "text": "End screen: sprites off, background black, upper-case character set ($D018 = $17), clears rows 0-12 to spaces with white colour, copies the screen-code text at $1334 to row 1 until $FF and loops forever at $1331. Reached only from $709B when $1BA0 (a Paris code was entered) is set. Shows the fixed code DB4CT for the mine."
  },
  {
   "address": 4916,
   "type": "line",
   "text": "Screen-code text for mission_complete, $FF-terminated: 'CONGRATULATIONS 007', 'MISSION COMPLETE', 'YOUR CODE FOR THE NEXT PROGRAM IS', 'DB4CT' (the code the mine part checks at its $5757). A fixed string: nothing in this part builds it from play."
  },
  {
   "address": 6144,
   "type": "line",
   "text": "Mission briefing: blacks the screen, prints the PETSCII page at $1837 through CHROUT until $FF (M's and Q's memos, 'PRESS FIRE TO START'), then polls read_joystick until fire, sets the stack to $F0 and JMP game_start ($8600)."
  },
  {
   "address": 6168,
   "type": "line",
   "text": "Operand high byte of the LDA $1937,Y at $1816 as assembled: memo_page sets it to $18 at $180F, so the text is read from $1837, and steps it at $1823 to cross pages."
  },
  {
   "address": 6199,
   "type": "line",
   "text": "PETSCII memo page read by memo_page through LDA $1837,Y (the operand's high byte set to $18 at $180F), $FF-terminated at $1A1C: clear screen, 'PRESS FIRE TO START', 'MEMO FROM \"M\"...' (capturing Mayday, 'IF YOU DID, YOUR CODE WILL HELP YOU'), 'MEMO FROM \"Q\"...' (use the gadgets carefully)."
  },
  {
   "address": 6455,
   "type": "line",
   "text": "The address the memo printer's LDA names as assembled ($1937); memo_page reads from $1837 instead, so this is the middle of memo_text: the end of M's memo and Q's memo."
  },
  {
   "address": 6992,
   "type": "line",
   "text": "Top band's background colour, room record byte 1, set by draw_room_walls and read by raster_irq."
  },
  {
   "address": 6993,
   "type": "line",
   "text": "Current room, 1-75 (76 is the exit). Rooms 1-15 are the top row of the building picture; starts at 8."
  },
  {
   "address": 6997,
   "type": "line",
   "text": "1 while word_search runs the item window, so fire returns to it instead of opening the word menu; 0 from word_menu."
  },
  {
   "address": 6998,
   "type": "line",
   "text": "Total weight carried (item record byte 2 summed); taking is refused at $65 or more."
  },
  {
   "address": 6999,
   "type": "line",
   "text": "1 while Stacey follows Bond (FOLLOW, use_item21), 0 after STAY. Needed with $1BA0 to end the part in room $4C."
  },
  {
   "address": 7000,
   "type": "line",
   "text": "Kit pieces found with SEARCH (items $54-$59), 0-6; use_kit needs 6."
  },
  {
   "address": 7001,
   "type": "line",
   "text": "Counted up by using item 56 in room $3E before item 57."
  },
  {
   "address": 7002,
   "type": "line",
   "text": "Set by using item 57 in room $3E; stops item 56 counting afterwards."
  },
  {
   "address": 7003,
   "type": "line",
   "text": "Bond's gauge: rows filled in his figure sprite, $2A (42) at the start, one less every four gauge_update calls (about 20 s), refilled to $80 by an energy item. Only gauge_update reads it: reaching 0 does nothing."
  },
  {
   "address": 7004,
   "type": "line",
   "text": "Stacey's gauge, as bond_gauge for her figure; GIVE of an energy item sets $2A."
  },
  {
   "address": 7005,
   "type": "line",
   "text": "Stacey's room: 0 at the start, 8 after use_item21, and the current room every pass while she follows ($7075). Her figure shows only in that room."
  },
  {
   "address": 7008,
   "type": "line",
   "text": "Frames between the menu highlight's colour changes, 5."
  },
  {
   "address": 7011,
   "type": "line",
   "text": "gauge_update: counts four calls between steps of bond_gauge and stacey_gauge."
  },
  {
   "address": 7012,
   "type": "line",
   "text": "Frame counter in irq_top: gauge_update runs when it wraps, every 256 frames."
  },
  {
   "address": 7024,
   "type": "line",
   "text": "use_tool: offset of the door byte to change, 3 (left) or $11 (right); held in Y."
  },
  {
   "address": 7025,
   "type": "line",
   "text": "use_tool: the new door code, 4 or 9."
  },
  {
   "address": 7026,
   "type": "line",
   "text": "use_tool: list index while searching the carried items for a use-code-10 item."
  },
  {
   "address": 7040,
   "type": "line",
   "text": "Which menu window flashes: 0 none (game), 1 words, 2 items."
  },
  {
   "address": 7061,
   "type": "line",
   "text": "Written 1 by old_code_prompt on a correct code; no instruction in the image reads it."
  },
  {
   "address": 7072,
   "type": "line",
   "text": "1 when the Paris code CCPHJ was typed at the prompt, 0 after RETURN. Read only at $7096: with it the end of the part shows mission_complete, without it the game restarts. Survives ABORT and restarts (game_start does not clear it)."
  },
  {
   "address": 7152,
   "type": "line",
   "text": "animate_fire_char: frames until the next fire frame, $15."
  },
  {
   "address": 7153,
   "type": "line",
   "text": "animate_fire_char: current fire frame, 3 down to 1."
  },
  {
   "address": 7155,
   "type": "line",
   "text": "blink_fire_rooms: frames until the next colour swap, 8."
  },
  {
   "address": 8192,
   "type": "line",
   "text": "Bond's sprite shapes $80-$8F (VIC bank 0, 64 bytes each): walking frames set_bond_sprites uses for direction 1 (left), a pair per frame (0-7)."
  },
  {
   "address": 9216,
   "type": "line",
   "text": "Bond's sprite shapes $90-$9F: the walking frames for direction 3 (right)."
  },
  {
   "address": 10240,
   "type": "line",
   "text": "Bond's sprite shapes $A0-$AF: the frames for direction 2 (up, into the room)."
  },
  {
   "address": 11264,
   "type": "line",
   "text": "Bond's sprite shapes $B0-$BF: the frames for direction 4 (down, towards the viewer)."
  },
  {
   "address": 12288,
   "type": "line",
   "text": "Sprite shapes $C0-$CF: $C0/$C1 are Bond standing still; $C2-$CF are figure pieces of the same kind that no code found here points a sprite at."
  },
  {
   "address": 13312,
   "type": "line",
   "text": "Sprites $D0/$D1 (sprites 4 and 5): Bond's gauge figure, rebuilt at run time by draw_bond_gauge from $8A19 and $8999; the snapshot holds a built copy."
  },
  {
   "address": 13376,
   "type": "line",
   "text": "Sprite $D1 (sprite 5): the lower half of Bond's gauge figure, rebuilt by draw_bond_gauge."
  },
  {
   "address": 13440,
   "type": "line",
   "text": "Sprites $D2/$D3 (6 and 7): Stacey's gauge figure, rebuilt by gauge_update from $8B19 and $8A99, or cleared when she is elsewhere."
  },
  {
   "address": 13504,
   "type": "line",
   "text": "Sprite $D3 (sprite 7): the lower half of Stacey's gauge figure, rebuilt by gauge_update."
  },
  {
   "address": 14336,
   "type": "line",
   "text": "Character set (VIC bank 0, $D018 low bits $E): characters 0-$4F, the frame and panel pieces, letters A-Z at $1A-$33, digits at $34-$3D, the window $19 and fire $3E characters of the building picture, the thermometer and menu edges ($44-$48)."
  },
  {
   "address": 14832,
   "type": "line",
   "text": "Character $3E, the burning window of the building picture; its 8 bytes are rewritten by animate_fire_char."
  },
  {
   "address": 14840,
   "type": "line",
   "text": "Characters $3F-$4F: menu-window edges ($44 dotted edge, $45 empty thermometer cell, $46-$48 window sides) and further panel pieces."
  },
  {
   "address": 14976,
   "type": "line",
   "text": "Characters $50-$BF: the room view's canvas, cleared by clear_room_canvas and drawn into by blit_object and draw_room_items; the static screen lays them out as 14 x 8 cells. The snapshot holds the last room drawn."
  },
  {
   "address": 15744,
   "type": "line",
   "text": "Last cleared byte of the room canvas, zeroed separately by clear_room_canvas ($40F8)."
  },
  {
   "address": 15745,
   "type": "line",
   "text": "Rest of the canvas, characters $B0-$BF: the bottom canvas row, where the floor items are drawn (draw_room_items searches $3C40 and $3CB0)."
  },
  {
   "address": 15872,
   "type": "line",
   "text": "Characters $C0-$FF: $C0-$CB the three icon slots of the item window (written by show_item_window), then the building picture's outline characters ($CC-$F9) and more panel pieces."
  },
  {
   "address": 16384,
   "type": "line",
   "text": "Points the KERNAL IRQ vector $0314 at raster_irq ($4022), enables the raster interrupt with its first line at $20 and returns with interrupts on."
  },
  {
   "address": 16418,
   "type": "line",
   "text": "Raster IRQ, five bands. Not a raster interrupt: JMP $EA31 (the KERNAL's). Else acknowledges, CLI, and by the line: below $32 background = the room's colour ($1B50), next $6A, JMP irq_top ($9640); below $6E background 8 (floor, the immediate at $4070 is patched by USE bucket), next $A9; below $B4 background $0C and character base $3800, next $E3; below $E6 background $0C, next $F3 and the per-frame jobs (menu flashing, fire character, fire-window blink, building colours, clock, fire spread); otherwise character base $3800, background $0F, next $28. Exits by pulling Y, X, A and RTI."
  },
  {
   "address": 16490,
   "type": "line",
   "text": "raster_irq's second band (lines $32-$6D): next interrupt at $A9 and the floor's background colour (floor_colour, normally 8)."
  },
  {
   "address": 16496,
   "type": "line",
   "text": "Immediate operand of LDA #$08 at $406F: the floor band's background colour. USE of a full bucket (use_bucket_full, $7DA1) sets 3 here for a moment and puts 8 back."
  },
  {
   "address": 16500,
   "type": "line",
   "text": "Common exit of raster_irq and irq_top: restores Y, X and A from the stack and RTI (the KERNAL's IRQ entry pushed them)."
  },
  {
   "address": 16560,
   "type": "line",
   "text": "Clears the room view's character canvas: zeroes $3A80-$3DFF (characters $50-$BF, which the static screen lays out as the 14 x 8 room picture), then writes a diagonal of characters counting down from $BF to $B2 up and left from $0544 (the left wall's edge), eight rows of fourteen, and zeroes $3D80."
  },
  {
   "address": 16640,
   "type": "line",
   "text": "Colours the room view from the room record at ($3F): byte 1 to $1B50 (the top band's background), byte 2 as the left wall colour (s_4127), byte 3 the left doorway (s_418A), byte 16 = next room's byte 2 as the right wall colour (s_4162), byte 17 = next room's byte 3 the right doorway (s_41CC)."
  },
  {
   "address": 16679,
   "type": "line",
   "text": "Writes colour Y+8 (multicolour) into colour RAM from $D829 down twelve rows, four cells wide narrowing by one every other row below row 6: the left wall's trapezoid."
  },
  {
   "address": 16738,
   "type": "line",
   "text": "Writes colour Y+8 into colour RAM from $D83B, three cells wide for thirteen rows: the right wall."
  },
  {
   "address": 16778,
   "type": "line",
   "text": "Door code Y (room byte 3) 0 or 6: fills a 3 x 6 block of screen from $0451 with character 1 and stamps characters 1/2 at $0541-$05B9, the left wall shown without an opening. Any other code returns and leaves the doorway as drawn."
  },
  {
   "address": 16844,
   "type": "line",
   "text": "As draw_left_door for the right wall: door code 0 or 6 fills 3 x 6 cells from $0463 and stamps $0553-$05CB."
  },
  {
   "address": 16930,
   "type": "line",
   "text": "Room table, 14 bytes a room from room 0 (a dummy at $4222; room n at $4222 + 14n): room number, top band colour, wall colour, door code of the doorway on its left (4 lets Bond through; 0 and 6 are drawn as plain wall; keys and use_kit write 4, use_tool turns 9 into 4 and others into 9; how 1, 2, 3, 5 and 7 differ on screen is not settled here), furniture 1 (type, canvas address low/high, colour), furniture 2 (same), burning flag, temperature 0-15. Room 1 starts burning; room 76 at $464A is the exit. Restored from $A000 every game."
  },
  {
   "address": 17954,
   "type": "line",
   "text": "End of the room table: rooms 72-76 (76, the exit reached from room 75's right doorway, has only colours and door codes)."
  },
  {
   "address": 18176,
   "type": "line",
   "text": "Reads joystick port 2 ($DC00): $033A = vertical (-1 up, 1 down, 0), $0339 = horizontal (-1 left, 1 right), $033B = 1 while fire is held. No other input is read in play."
  },
  {
   "address": 18336,
   "type": "line",
   "text": "Item icon, 2 x 2 multicolour characters (32 bytes: top-left, top-right, bottom-left, bottom-right) for items 44, 45, 46, 47, 48, 49, 58, 59, 60, 62, 63, 69, 72, 73, 77, 78, 79, 80, 81, 91, use code 10."
  },
  {
   "address": 18368,
   "type": "line",
   "text": "Item icon, 2 x 2 multicolour characters (32 bytes: top-left, top-right, bottom-left, bottom-right) for items 30, 31, 32, 33, 35, 36, use code 7."
  },
  {
   "address": 18400,
   "type": "line",
   "text": "Item icon, 2 x 2 multicolour characters (32 bytes: top-left, top-right, bottom-left, bottom-right) for items 37, 38, 39, 40, 41, 42, use code 8."
  },
  {
   "address": 18432,
   "type": "line",
   "text": "Item icon, 2 x 2 multicolour characters (32 bytes: top-left, top-right, bottom-left, bottom-right) for item 43, use code 9."
  },
  {
   "address": 18464,
   "type": "line",
   "text": "Item icon, 2 x 2 multicolour characters (32 bytes: top-left, top-right, bottom-left, bottom-right) for item 21, use code 3."
  },
  {
   "address": 18496,
   "type": "line",
   "text": "Item icon, 2 x 2 multicolour characters (32 bytes: top-left, top-right, bottom-left, bottom-right) for items 64, 67, 71, use code 20."
  },
  {
   "address": 18528,
   "type": "line",
   "text": "Item 54's icon (32 bytes, 2 x 2 characters): reset from $1210 each game and built up by ORing in each kit piece found (take_kit_piece)."
  },
  {
   "address": 18560,
   "type": "line",
   "text": "Item icon, 2 x 2 multicolour characters (32 bytes: top-left, top-right, bottom-left, bottom-right) for item 22, use code 4."
  },
  {
   "address": 18592,
   "type": "line",
   "text": "Item icon, 2 x 2 multicolour characters (32 bytes: top-left, top-right, bottom-left, bottom-right) for item 53, use code 14."
  },
  {
   "address": 18624,
   "type": "line",
   "text": "Item icon, 2 x 2 multicolour characters (32 bytes: top-left, top-right, bottom-left, bottom-right) for item 51, use code 12."
  },
  {
   "address": 18656,
   "type": "line",
   "text": "Item icon, 2 x 2 multicolour characters (32 bytes: top-left, top-right, bottom-left, bottom-right) for item 52, use code 13."
  },
  {
   "address": 18688,
   "type": "line",
   "text": "Item icon, 2 x 2 multicolour characters (32 bytes: top-left, top-right, bottom-left, bottom-right) for items 61, 65, 66, 68, 74, 75, 76, use code 19 (energy item)."
  },
  {
   "address": 18720,
   "type": "line",
   "text": "Item icon, 2 x 2 multicolour characters (32 bytes: top-left, top-right, bottom-left, bottom-right) for item 55, use code 16."
  },
  {
   "address": 18752,
   "type": "line",
   "text": "Item icon, 2 x 2 multicolour characters (32 bytes: top-left, top-right, bottom-left, bottom-right) for items 24, 25, 26, 27, 28, 29, use code 6."
  },
  {
   "address": 18784,
   "type": "line",
   "text": "Item icon, 2 x 2 multicolour characters (32 bytes: top-left, top-right, bottom-left, bottom-right) for items 50, 82, 83, use code 11."
  },
  {
   "address": 18816,
   "type": "line",
   "text": "Item icon, 2 x 2 multicolour characters (32 bytes: top-left, top-right, bottom-left, bottom-right) for item 23, use code 5."
  },
  {
   "address": 18848,
   "type": "line",
   "text": "Item icon, 2 x 2 multicolour characters (32 bytes: top-left, top-right, bottom-left, bottom-right) for item 56, use code 17."
  },
  {
   "address": 18880,
   "type": "line",
   "text": "Item icon, 2 x 2 multicolour characters (32 bytes: top-left, top-right, bottom-left, bottom-right) for item 57, use code 18."
  },
  {
   "address": 18912,
   "type": "line",
   "text": "Furniture bitmap for object type 10: 6 x 6 characters, row by row, 8 bytes a character, copied into the room canvas by blit_object."
  },
  {
   "address": 19200,
   "type": "line",
   "text": "Furniture bitmap for object type 8: 3 x 6 characters, row by row, 8 bytes a character, copied into the room canvas by blit_object."
  },
  {
   "address": 19344,
   "type": "line",
   "text": "Furniture bitmap for object type 9: 3 x 6 characters, row by row, 8 bytes a character, copied into the room canvas by blit_object."
  },
  {
   "address": 19488,
   "type": "line",
   "text": "Furniture bitmap for object type 11: 4 x 3 characters, row by row, 8 bytes a character, copied into the room canvas by blit_object."
  },
  {
   "address": 19584,
   "type": "line",
   "text": "Furniture bitmap for object type 12: 2 x 2 characters, row by row, 8 bytes a character, copied into the room canvas by blit_object."
  },
  {
   "address": 19616,
   "type": "line",
   "text": "Furniture bitmap for object type 17: 4 x 5 characters, row by row, 8 bytes a character, copied into the room canvas by blit_object."
  },
  {
   "address": 19776,
   "type": "line",
   "text": "Furniture bitmap for object type 13: 2 x 4 characters, row by row, 8 bytes a character, copied into the room canvas by blit_object."
  },
  {
   "address": 19840,
   "type": "line",
   "text": "Furniture bitmap for object type 14: 2 x 4 characters, row by row, 8 bytes a character, copied into the room canvas by blit_object."
  },
  {
   "address": 19904,
   "type": "line",
   "text": "Furniture bitmap for object type 15: 3 x 4 characters, row by row, 8 bytes a character, copied into the room canvas by blit_object."
  },
  {
   "address": 20000,
   "type": "line",
   "text": "64 bytes of multicolour graphics between the type 15 and type 22 bitmaps that no object type or item points at."
  },
  {
   "address": 20064,
   "type": "line",
   "text": "Furniture bitmap for object type 22: 2 x 5 characters, row by row, 8 bytes a character, copied into the room canvas by blit_object."
  },
  {
   "address": 20144,
   "type": "line",
   "text": "Furniture bitmap for object type 18: 3 x 5 characters, row by row, 8 bytes a character, copied into the room canvas by blit_object."
  },
  {
   "address": 20264,
   "type": "line",
   "text": "Item icon, 2 x 2 multicolour characters (32 bytes: top-left, top-right, bottom-left, bottom-right) for items 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, use code 2 (empty bucket)."
  },
  {
   "address": 20296,
   "type": "line",
   "text": "Item icon, 2 x 2 multicolour characters (32 bytes: top-left, top-right, bottom-left, bottom-right) for items 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, use code 1 (full bucket)."
  },
  {
   "address": 20328,
   "type": "line",
   "text": "Furniture bitmap for object type 19: 7 x 3 characters, row by row, 8 bytes a character, copied into the room canvas by blit_object."
  },
  {
   "address": 20496,
   "type": "line",
   "text": "Furniture bitmap for object type 20: 6 x 3 characters, row by row, 8 bytes a character, copied into the room canvas by blit_object."
  },
  {
   "address": 20640,
   "type": "line",
   "text": "Furniture bitmap for object type 5: 2 x 6 characters, row by row, 8 bytes a character, copied into the room canvas by blit_object."
  },
  {
   "address": 20736,
   "type": "line",
   "text": "Furniture bitmap for object type 16: 4 x 4 characters, row by row, 8 bytes a character, copied into the room canvas by blit_object."
  },
  {
   "address": 20864,
   "type": "line",
   "text": "Bitmap use_opener switches an object type to (address $5180, read with that type's size, 4 x 6 = 192 bytes, so it runs on to $523F): the furniture once opened."
  },
  {
   "address": 20992,
   "type": "line",
   "text": "Start of the bitmap object type 26 shows after use_item55 in room $32 (address $5200, 4 x 6, running on into the type 2 bitmap at $5240)."
  },
  {
   "address": 21056,
   "type": "line",
   "text": "Furniture bitmap for object types 2, 23, 24, 25, 26, 27: 4 x 6 characters, row by row, 8 bytes a character, copied into the room canvas by blit_object."
  },
  {
   "address": 21248,
   "type": "line",
   "text": "Bitmap type 3 (the tap) shows after use_item55 in room $15 (address $5300, 4 x 6, running on into $53C0)."
  },
  {
   "address": 21440,
   "type": "line",
   "text": "Furniture bitmap for object types 3, 28, 29: 4 x 6 characters, row by row, 8 bytes a character, copied into the room canvas by blit_object."
  },
  {
   "address": 21632,
   "type": "line",
   "text": "Furniture bitmap for object type 7: 3 x 6 characters, row by row, 8 bytes a character, copied into the room canvas by blit_object."
  },
  {
   "address": 21776,
   "type": "line",
   "text": "Furniture bitmap for object type 1: 6 x 6 characters, row by row, 8 bytes a character, copied into the room canvas by blit_object."
  },
  {
   "address": 22064,
   "type": "line",
   "text": "Furniture bitmap for object type 6: 6 x 6 characters, row by row, 8 bytes a character, copied into the room canvas by blit_object."
  },
  {
   "address": 22352,
   "type": "line",
   "text": "Furniture bitmap for object type 4: 5 x 4 characters, row by row, 8 bytes a character, copied into the room canvas by blit_object."
  },
  {
   "address": 22512,
   "type": "line",
   "text": "The empty icon show_item_window draws for list entry 0 (the 'no item' slot)."
  },
  {
   "address": 22544,
   "type": "line",
   "text": "Item icon, 2 x 2 multicolour characters (32 bytes: top-left, top-right, bottom-left, bottom-right) for item 84, use code 22 (kit piece 1)."
  },
  {
   "address": 22576,
   "type": "line",
   "text": "Item icon, 2 x 2 multicolour characters (32 bytes: top-left, top-right, bottom-left, bottom-right) for item 85, use code 22 (kit piece 2)."
  },
  {
   "address": 22608,
   "type": "line",
   "text": "Item icon, 2 x 2 multicolour characters (32 bytes: top-left, top-right, bottom-left, bottom-right) for item 86, use code 22 (kit piece 3)."
  },
  {
   "address": 22640,
   "type": "line",
   "text": "Item icon, 2 x 2 multicolour characters (32 bytes: top-left, top-right, bottom-left, bottom-right) for item 87, use code 22 (kit piece 4)."
  },
  {
   "address": 22672,
   "type": "line",
   "text": "Item icon, 2 x 2 multicolour characters (32 bytes: top-left, top-right, bottom-left, bottom-right) for item 88, use code 22 (kit piece 5)."
  },
  {
   "address": 22704,
   "type": "line",
   "text": "Item icon, 2 x 2 multicolour characters (32 bytes: top-left, top-right, bottom-left, bottom-right) for item 89, use code 22 (kit piece 6)."
  },
  {
   "address": 22736,
   "type": "line",
   "text": "Item icon, 2 x 2 multicolour characters (32 bytes: top-left, top-right, bottom-left, bottom-right) for item 70, use code 21."
  },
  {
   "address": 22768,
   "type": "line",
   "text": "Item icon, 2 x 2 multicolour characters (32 bytes: top-left, top-right, bottom-left, bottom-right) for item 90, use code 23."
  },
  {
   "address": 24144,
   "type": "line",
   "text": "Copies the ready-made screen at $8D20 to $0400-$06E7 and its colours at $9108 to $D800-$DAE7 (744 cells, rows 0 to 18): frame, room-view layout, icon and word windows, clock box, thermometer, building outline."
  },
  {
   "address": 24576,
   "type": "line",
   "text": "Draws the room record's two furniture objects (bytes 4-7 and 8-11: type, canvas address low/high, colour). Each non-zero type goes to object_type_index ($6FC0), which works out Y = 7 x type - 4 into the object-type table at $60E6; the drawing routine named there is called through the patched JSR at $6047."
  },
  {
   "address": 24609,
   "type": "line",
   "text": "object_type_index's multiply: adds 7 X times to A (3 on entry), giving Y = 7 x type - 4, then reads the type's routine, bitmap and size."
  },
  {
   "address": 24648,
   "type": "line",
   "text": "Operand of the JSR at $6047, patched from the object-type table ($60E6+Y, normally $6051 or $6054) before each object is drawn."
  },
  {
   "address": 24649,
   "type": "line",
   "text": "High byte of the patched JSR operand in draw_room_objects."
  },
  {
   "address": 24657,
   "type": "line",
   "text": "Default object drawer: JMP $606B."
  },
  {
   "address": 24660,
   "type": "line",
   "text": "Drawer of object type 18 only: draws it through $606B, then puts character 8 two cells right of the address 200 bytes back up the canvas ($FB-$C8+1)."
  },
  {
   "address": 24683,
   "type": "line",
   "text": "Copies an object bitmap into the room canvas: ($AE) source, X rows of $FE characters (8 bytes each) to ($FB), the canvas stride $70 (14 characters) per row; then colours its cells: canvas address/4 - $A0 indexes the colour-RAM address table at $61B3 and $FD is written W cells wide down X rows."
  },
  {
   "address": 24806,
   "type": "line",
   "text": "Base $60E6 used with Y = 7 x type - 4 (object_type_index): lands on the routine address, byte 1 of type's record in the table at $60E8. The byte itself is the BNE operand at $60E5's end."
  },
  {
   "address": 24807,
   "type": "line",
   "text": "Base $60E7 with the same Y: the routine address's high byte. The byte itself is draw_room_objects' RTS."
  },
  {
   "address": 24808,
   "type": "line",
   "text": "Object-type table, 29 records of 7 bytes for types 1-29: type number, drawing routine (low, high: $6051 for all but type 18's $6054), bitmap address (low, high), width in characters, height in rows. Types 8/9/10 are the lifts (use_lift), 3 the tap (use_bucket_empty); 23-27 share the bitmap at $5240 and 28-29 that of type 3. Type 21's bitmap address is $0020, zero page: no room uses the type."
  },
  {
   "address": 24809,
   "type": "line",
   "text": "Base $60E9 (+Y): an object type's bitmap address low byte."
  },
  {
   "address": 24810,
   "type": "line",
   "text": "Base $60EA (+Y): bitmap address high byte."
  },
  {
   "address": 24811,
   "type": "line",
   "text": "Base $60EB (+Y): width in characters; $60EC the rows."
  },
  {
   "address": 24818,
   "type": "line",
   "text": "Bitmap address low byte of object type 2, use_opener's target for item 37."
  },
  {
   "address": 24825,
   "type": "line",
   "text": "Low byte of object type 3's bitmap address ($53C0); use_item55 sets 0 (bitmap $5300) once, and tests it to act only once."
  },
  {
   "address": 24950,
   "type": "line",
   "text": "High byte of object type $15's routine address ($60); object_type_index tests it for zero to pick a direct character drawing, which never happens."
  },
  {
   "address": 24965,
   "type": "line",
   "text": "Bitmap address low byte of object type 23, a use_opener target."
  },
  {
   "address": 24972,
   "type": "line",
   "text": "Bitmap address low byte of object type 24, use_opener's target for item 38."
  },
  {
   "address": 24979,
   "type": "line",
   "text": "Bitmap address low byte of object type 25, use_opener's target for item 42."
  },
  {
   "address": 24986,
   "type": "line",
   "text": "Low byte of object type 26's bitmap address ($5240); use_item55 in room $32 sets 0 (bitmap $5200) once, testing it to act only once. Also use_opener's target for item 39."
  },
  {
   "address": 24993,
   "type": "line",
   "text": "Bitmap address low byte of object type 27, use_opener's target for item 40."
  },
  {
   "address": 25011,
   "type": "line",
   "text": "Colour-RAM address for each cell of the room canvas: 112 words, 14 per row for 8 rows ($D82D-$D83A, $D855-..., rows 1-8 from column 5). blit_object indexes it with the canvas address / 4 - $A0."
  },
  {
   "address": 25012,
   "type": "line",
   "text": "The same table read from its second byte ($61B4+Y): the high byte of each colour-RAM address."
  },
  {
   "address": 25248,
   "type": "line",
   "text": "Draws the items lying in the current room: for each of the 91 item records (8 bytes from $63D0) whose room byte equals $1B51 and whose byte 5 is set, finds the first empty 2-cell column in canvas rows $3C40/$3CB0 (up to 13 tries), copies the 32-byte icon there and colours both cells with the item's byte 6 through the colour-RAM address table at $66A8."
  },
  {
   "address": 25552,
   "type": "line",
   "text": "Item table: 91 records of 8 bytes for items 1-$5B: item number, room (0 nowhere, $80 carried or taken away), weight, icon address (low, high), shown on the floor when non-zero, colour, use code (index into the USE table at $7CA6). Restored from $A500 at every new game."
  },
  {
   "address": 25817,
   "type": "line",
   "text": "Item 34's room byte: 0 until use_item55 in room $32 puts it there."
  },
  {
   "address": 26065,
   "type": "line",
   "text": "Item 67's room byte: $34 in the image until use_item55 in room $15 moves the item there."
  },
  {
   "address": 26217,
   "type": "line",
   "text": "Room byte of item 84, kit piece 1 (record $6668 + 1), entry 1 of kit_piece_rooms."
  },
  {
   "address": 26225,
   "type": "line",
   "text": "Room byte of item 85, kit piece 2 (record $6670 + 1), entry 2 of kit_piece_rooms."
  },
  {
   "address": 26233,
   "type": "line",
   "text": "Room byte of item 86, kit piece 3 (record $6678 + 1), entry 3 of kit_piece_rooms."
  },
  {
   "address": 26241,
   "type": "line",
   "text": "Room byte of item 87, kit piece 4 (record $6680 + 1), entry 4 of kit_piece_rooms."
  },
  {
   "address": 26249,
   "type": "line",
   "text": "Room byte of item 88, kit piece 5 (record $6688 + 1), entry 5 of kit_piece_rooms."
  },
  {
   "address": 26257,
   "type": "line",
   "text": "Room byte of item 89, kit piece 6 (record $6690 + 1), entry 6 of kit_piece_rooms."
  },
  {
   "address": 26280,
   "type": "line",
   "text": "Colour-RAM addresses of the 14 floor slots where draw_room_items shows items ($D8CD-$D8DA, row 5 from column 5), indexed by canvas address / 4 - $10."
  },
  {
   "address": 26281,
   "type": "line",
   "text": "Second byte of floor_item_cells, read as $66A9+Y for the high byte."
  },
  {
   "address": 26320,
   "type": "line",
   "text": "Main-loop step for Bond: reads the stick; fire opens the item menu (JMP $7A00). Left/right step $6F02 between $18 and $7A, bounded per depth by the tables at $67F1/$6823; at a side wall with depth 8-$1F goes through the doorway ($6781/$67AA). Up/down step the depth $6F03 (1-$2F) and move the sprite. $6F04 records the direction for the animation (0 still, 1 left, 2 up, 3 right, 4 down)."
  },
  {
   "address": 26497,
   "type": "line",
   "text": "Through the left doorway: only when the room's door code (byte 3) is 4, open. Steps ($3F) back one 14-byte record, animates the door (s_68C0), puts Bond at the right side (X $A0, $6F02 $80), decrements $1B51 and redraws the room at $67CF."
  },
  {
   "address": 26538,
   "type": "line",
   "text": "Through the right doorway: needs the next room's door code (byte $11) = 4. Steps ($3F) on one record, animates the door (s_6920), puts Bond at the left side (X $38, $6F02 $18), increments $1B51, then redraws: static screen, walls, canvas, objects, items, and the gauge sprites (s_8915)."
  },
  {
   "address": 26609,
   "type": "line",
   "text": "Left limit per depth (index F03), consulted by move_bond only once Bond is left of $18: he may go on while $6F02 stays at or above the entry. 50 bytes falling in pairs from $18 (depth 0-1, the back wall) to 0 at the front, so the floor widens to the left towards the viewer."
  },
  {
   "address": 26659,
   "type": "line",
   "text": "Right limit per depth, consulted only once Bond is at $7A or beyond: he may go on while below the entry. 50 bytes falling in pairs from $92 at the back to $7A at the front."
  },
  {
   "address": 26720,
   "type": "line",
   "text": "Sets Bond's two sprite shapes from the direction $6F04: still $C0/$C1; else a base of $80, $90, $A0 or $B0 plus 2 x the frame $6F05 (0-7), top shape to $07F8 and the next to $07F9. Then sprite 0 and 1 X = $6F00 and Y = $6F01, sprite 1 21 lines lower."
  },
  {
   "address": 26816,
   "type": "line",
   "text": "Door animation on the left doorway: four passes, each drawing ten rows of two characters from $6965 at $0452 onwards (the table walked three bytes a row), with a busy-wait of about 80 x 256 loops between passes."
  },
  {
   "address": 26912,
   "type": "line",
   "text": "As animate_left_door on the right doorway, drawing at $0464."
  },
  {
   "address": 26981,
   "type": "line",
   "text": "Characters for the doorway animation, read two at a time and stepping two a row (animate_left_door / animate_right_door): four frames of ten rows."
  },
  {
   "address": 27072,
   "type": "line",
   "text": "Sprite priority: with $6F02 at $78 or more Bond (sprites 0-1) and sprites 2-3 go behind the background (bits 0-3 of $D01B set); else sprites 0-1 in front."
  },
  {
   "address": 27104,
   "type": "line",
   "text": "Draws the thermometer column at $0515 downwards, 15 cells: character $45 (empty) above the current room's temperature (record byte 13), $18 (filled) at and below it."
  },
  {
   "address": 27168,
   "type": "line",
   "text": "Redraws the building picture's windows: five floors of rooms (records from $4230, 14 bytes), seven windows then a gap then eight per row, from $06F9 up a row (40 bytes) per floor through the patched STA at $6A40: character $3E (fire) where record byte 12 is set, $19 otherwise."
  },
  {
   "address": 27201,
   "type": "line",
   "text": "Operand of the STA $07C1,X at $6A40: the screen row being written by draw_building_map, reset to $06F9 at $6A2C and moved 40 bytes per floor at $6A63."
  },
  {
   "address": 27202,
   "type": "line",
   "text": "High byte of the patched STA operand in draw_building_map."
  },
  {
   "address": 27257,
   "type": "line",
   "text": "Unreferenced older code after draw_building_map: the tail of a compare with the fire character, then a loop colouring colour RAM from $DAF8 with 7 for the current room and 0 elsewhere (an earlier colour_building_map)."
  },
  {
   "address": 27324,
   "type": "line",
   "text": "$6ABC(+Y): the inventory list four bytes back, the destination when an item is removed and the rest shifted down."
  },
  {
   "address": 27325,
   "type": "line",
   "text": "$6ABD(+Y): inventory list three bytes back, the source of that shift."
  },
  {
   "address": 27327,
   "type": "line",
   "text": "$6ABF(+X): inventory list one byte back, the destination of the shift in word_drop and word_give."
  },
  {
   "address": 27328,
   "type": "line",
   "text": "Items carried, a zero-terminated list of item numbers from $6AC1 ($6AC0 is 0); cleared by restore_tables. Also read one byte back ($6ABC-$6ABF aliases) when items are removed."
  },
  {
   "address": 27472,
   "type": "line",
   "text": "Sound effect on SID voice 2: frequency $2032, attack/decay 9, sustain/release 9, triangle gated ($11). Played when an action succeeds."
  },
  {
   "address": 27504,
   "type": "line",
   "text": "Sound effect on SID voice 2: frequency $0832, envelope 7/8, sawtooth gated ($21), lower and harsher. Played when an action is refused."
  },
  {
   "address": 27536,
   "type": "line",
   "text": "Sound effect on SID voice 3: frequency $FAAA, envelope 9/0, noise gated ($81). Played by use_tool ($8341) when a door is forced."
  },
  {
   "address": 27584,
   "type": "line",
   "text": "Copies the room colour table $6C08 (one byte per room) to the building picture's colour RAM from $DAF9, five rows of fifteen with the same gap as draw_building_map; the current room is written as 7 (yellow) during the copy and set back to 3 afterwards."
  },
  {
   "address": 27656,
   "type": "line",
   "text": "Building picture colour for each room (index = room number, $6C09 room 1): 3 normal, 2/7 burning (swapped by blink_fire_rooms), 7 the current room while copied. Cleared by restore_tables."
  },
  {
   "address": 27657,
   "type": "line",
   "text": "Building colour of room 1: game_start sets 2 (red), room 1 being where the fire starts."
  },
  {
   "address": 27744,
   "type": "line",
   "text": "At depth 1 (the back wall), when the room's second object (byte 8) is a lift, moves a floor: type 8 with $6F02 $41-$52 goes to room -15 (record -$D2, one row up the building picture), type 9 in the same range to room +15 (one row down), type 10 to +15 from $41-$52 and -15 from $5E-$6B. Places Bond at the lift ($6F03 4, $6F01 $4D, $6F02 $58, X $78) and redraws the room."
  },
  {
   "address": 27936,
   "type": "line",
   "text": "Menu highlight while the item menu is open ($1B80 = 2): the word window's edge row $D8E1-$D8EA red, then blinks the item window's edge row (blink_item_edge)."
  },
  {
   "address": 27957,
   "type": "line",
   "text": "Menu highlight while the word menu is open ($1B80 = 1): the item window's edge row $D841-$D84A red, and every fifth call ($1B60) toggles the word window's edge row $D8E1-$D8EA between 2 (red) and 7 (yellow)."
  },
  {
   "address": 28016,
   "type": "line",
   "text": "Every fifth call ($1B60) toggles the item window's edge row in colour RAM, $D841-$D84A, between 2 (red) and 7 (yellow)."
  },
  {
   "address": 28048,
   "type": "line",
   "text": "Sets both menu windows' highlight rows ($D841-$D84A and $D8E1-$D8EA) back to 2."
  },
  {
   "address": 28064,
   "type": "line",
   "text": "Per-frame menu highlight from raster_irq: $1B80 = 0 nothing, 1 flash_word_menu, 2 flash_item_menu."
  },
  {
   "address": 28096,
   "type": "line",
   "text": "Every $15 frames ($1BF0) steps the fire frame $1BF1 (3, 2, 1) and copies that frame's 8 bytes from the table at $6DF0 into character $3E ($39F0), so burning windows flicker."
  },
  {
   "address": 28144,
   "type": "line",
   "text": "Three 8-byte frames of the burning-window character, copied into character $3E by animate_fire_char."
  },
  {
   "address": 28176,
   "type": "line",
   "text": "Every eighth frame ($1BF3) swaps 2 and 7 in the room colour table $6C08 for rooms 1-$4B: burning rooms blink red and yellow on the building picture."
  },
  {
   "address": 28224,
   "type": "line",
   "text": "Game clock: $0399 counts frames to 60, then seconds units $0397 (to 10), tens $0396 (to 6), minutes $0394/$0393, hours $0391/$0390, wrapping at 24; writes the eight cells $0390-$0397 as characters (value + $34, the digits) to $05D2. The clock starts at 10 00 00 (game_start); nothing reads it back, and nine NOPs sit where a time check could have been ($6EA1)."
  },
  {
   "address": 28357,
   "type": "line",
   "text": "Unreferenced: an older copy of object_type_index (the same instructions, drawing characters $FF-$06 instead of $B8-$BF), cut off at $6F00 by Bond's position variables."
  },
  {
   "address": 28416,
   "type": "line",
   "text": "Bond's sprite X ($D000/$D002)."
  },
  {
   "address": 28417,
   "type": "line",
   "text": "Bond's sprite Y ($D001; sprite 1 is 21 lower)."
  },
  {
   "address": 28418,
   "type": "line",
   "text": "Bond's position across the room, $18 (left wall) to $7A (right wall); from $78 he is drawn behind the scenery."
  },
  {
   "address": 28419,
   "type": "line",
   "text": "Bond's depth into the room, 1 (back wall, lifts) to $2F (front)."
  },
  {
   "address": 28420,
   "type": "line",
   "text": "Bond's direction for set_bond_sprites: 0 still, 1 left, 2 up, 3 right, 4 down."
  },
  {
   "address": 28421,
   "type": "line",
   "text": "Walking animation frame, 0-7, stepped every fourth game-loop pass."
  },
  {
   "address": 28464,
   "type": "line",
   "text": "Game-loop pass counter, 4 down to 1: the end test and animation run once every four passes."
  },
  {
   "address": 28608,
   "type": "line",
   "text": "Continues draw_room_objects: type $15 with $6176 zero would draw characters $B8-$BF directly at $0542-$05BB; $6176 is a routine address byte ($60) that nothing writes, so type $15 always takes the table path. Else computes Y = 7 x type - 4 through $6021/$6027."
  },
  {
   "address": 28672,
   "type": "line",
   "text": "Game start after game_start: CIA1 timer A stopped (the KERNAL's keyboard tick), multicolour characters on, all sprites on; installs the raster IRQ, draws screen, canvas, walls, objects and items. Each pass: move_bond, set_bond_sprites, a delay, sprite priority, thermometer, multicolours 3/2, volume, lifts, menu colours off, the fire test on the room record's byte 12 and, while Stacey follows, her room. Every fourth pass (loop_div) also the end test at $708A and the walking frame step at $704D."
  },
  {
   "address": 28800,
   "type": "line",
   "text": "Every game-loop pass after the fire test: counts loop_div down; at zero reloads 4 and runs end_test, else back to $7057."
  },
  {
   "address": 28810,
   "type": "line",
   "text": "Every fourth pass: in room $4C with Stacey following ($1B57) the game ends: $1BA0 set (code entered) goes to mission_complete ($1300), clear restarts ($8600). Otherwise back to the loop body at $704D."
  },
  {
   "address": 28816,
   "type": "line",
   "text": "Target of the BNE at $706B (the current room is burning): the middle of the BNE at $708F, so the CPU runs $0D $AD $57 (ORA $57AD), $1B $F0 $0B (the undocumented SLO $0BF0,Y) and then LDA $1BA0 at $7096: no code entered restarts the game ($8600), a Paris code entered shows mission_complete. Whether this is the original design or a change is open."
  },
  {
   "address": 29184,
   "type": "line",
   "text": "Unreferenced fragment of older code: sets 21 colour cells from $D829 downwards (stride 40) to 2 or 7 depending on $D829, then reads the stick and waits for fire."
  },
  {
   "address": 31232,
   "type": "line",
   "text": "Item menu, opened by fire: waits for the stick's fire to be let go (s_8131, flash mode 2), rebuilds the list at $7E00 ($FE fill, $FF end marks, item 54 first, then the inventory $6AC1 onwards, $FF end), then shows three icons at a time (s_7A3E) and lets left/right scroll; fire goes on to the word menu ($8000) or, in SEARCH, back to the caller."
  },
  {
   "address": 31294,
   "type": "line",
   "text": "Draws three list entries from $7E00+$FF into the icon characters at $3E00 (32 bytes each, through the patched LDA at $7A8F) and their colour cells from $D86A: $FF draws an empty slot, 0 the blank icon at $57F0, an item number its icon (record bytes 3-4) in its colour (byte 6)."
  },
  {
   "address": 31376,
   "type": "line",
   "text": "Operand of the LDA $4860,Y at $7A8F, patched with each shown item's icon address (or $57F0 for the blank)."
  },
  {
   "address": 31377,
   "type": "line",
   "text": "High byte of the patched icon address in show_item_window."
  },
  {
   "address": 31744,
   "type": "line",
   "text": "RETURN: waits for fire to be released, sound_ok, and returns to the game loop."
  },
  {
   "address": 31751,
   "type": "line",
   "text": "DROP the selected item (list entry $FF+1): refused for no item, item $33 (51) or $36 (54). Else sets the item's room to $1B51, takes its weight (byte 2) off $1B56, removes it from the inventory list $6AC0, redraws the room, sound_ok and back to the item menu."
  },
  {
   "address": 31850,
   "type": "line",
   "text": "USE the selected item: its use code (record byte 7) indexes the jump table at $7CA6 and the handler is entered through the patched JMP at $7CA3. No item, or the end mark, is refused."
  },
  {
   "address": 31908,
   "type": "line",
   "text": "Operand of the JMP at $7CA3 (assembled as $FFFF), patched from the use table at $7CA6."
  },
  {
   "address": 31909,
   "type": "line",
   "text": "High byte of the patched USE jump."
  },
  {
   "address": 31910,
   "type": "line",
   "text": "USE handlers by use code 0-23 (words): 0 unused ($FFFF), 1 use_bucket_full, 2 use_bucket_empty, 3 use_item21, 4-5 refusals, 6-7 keys, 8 use_opener, 9 use_tool, 10-14 refusals, 15 use_kit, 16 use_item55, 17-18 items 56/57, 19 use_energy, 20 use_exchange, 21-23 refusals."
  },
  {
   "address": 31911,
   "type": "line",
   "text": "Second byte of use_table, read as $7CA7+Y."
  },
  {
   "address": 31958,
   "type": "line",
   "text": "SEARCH: lists the items whose room is $1B51 at $7E03 onwards (items 1-$5B, then $FF, $FE), sets $1B55 and runs the item window. Fire on an item takes it: item $5A cannot be taken, items $54-$59 are the six kit pieces (to $84DD), others only while the carried weight $1B56 plus the item's stays under $65: its room becomes $80 (carried) and it is added to $6AC0. Loops until the first entry (none) is chosen."
  },
  {
   "address": 32161,
   "type": "line",
   "text": "Use code 1 (items 1-10, a full bucket): floor colour 3 for a moment, the item becomes use code 2 with the empty icon $4F28, weight -15, and the current room's fire counter $95E4 is set to 6 (fire_delay_room, $84D3)."
  },
  {
   "address": 32208,
   "type": "line",
   "text": "Use code 2 (items 11-20, an empty bucket): only in a room whose first or second object is type 3 (a tap); weight +15 if the total stays under $65; becomes use code 1 with the full icon $4F48."
  },
  {
   "address": 32255,
   "type": "line",
   "text": "$7DFF(+Y/X): the menu list one byte back, the destination when an entry is removed."
  },
  {
   "address": 32256,
   "type": "line",
   "text": "Item-menu list built at run time by item_menu and word_search: $FE fill, $FF end marks, 0 for the empty slot, item numbers. The window shows three entries from list_pos."
  },
  {
   "address": 32257,
   "type": "line",
   "text": "menu_list entry 1, set to $FF (the left end mark) by item_menu."
  },
  {
   "address": 32258,
   "type": "line",
   "text": "menu_list entry 2, set to 0 (the empty slot shown first as selected)."
  },
  {
   "address": 32259,
   "type": "line",
   "text": "menu_list entry 3, set to $36: item 54, the kit, always listed."
  },
  {
   "address": 32260,
   "type": "line",
   "text": "menu_list entry 4 onward: the inventory copied from $6AC1."
  },
  {
   "address": 32346,
   "type": "line",
   "text": "Unreferenced leftover of an earlier end screen, its start overwritten by the menu list: copies 'WEBL DONE 007 YOUR CODE IS' ($7E90) to $0429 and six characters from $7E80 ('111122') to $04A8, then loops forever."
  },
  {
   "address": 32384,
   "type": "line",
   "text": "Screen-code text of that earlier end screen: '111122', then 'WEBL DONE 007' and 'YOUR CODE IS'. Nothing reaches it."
  },
  {
   "address": 32512,
   "type": "line",
   "text": "Use code 3 (item 21): only in room 8; sets Stacey's room $1B5D to 8 and $1B57 = 1, so she follows Bond. The only place $1B5D gets a room other than the one Bond is in."
  },
  {
   "address": 32536,
   "type": "line",
   "text": "Use code 4 (item 22): always refused (sfx_refuse)."
  },
  {
   "address": 32539,
   "type": "line",
   "text": "Use code 5 (item 23): always refused."
  },
  {
   "address": 32542,
   "type": "line",
   "text": "Use code 6 (items 24-29): the item's pair of rooms at $7F47 + 2 x (item - $18): in the first room opens the right doorway (next record's byte 3 = 4), in the second the left (byte 3 = 4); elsewhere refused."
  },
  {
   "address": 32583,
   "type": "line",
   "text": "use_key's rooms, a pair per item 24-29: the room where the item opens the right doorway, then the room where it opens the left: 9/10, $2F/$30, $42/$43, $11/$12, $1F/$20, $39/$3A."
  },
  {
   "address": 32584,
   "type": "line",
   "text": "Second byte of each key_rooms pair: the room whose left doorway the key opens."
  },
  {
   "address": 32595,
   "type": "line",
   "text": "Use code 7 (items 30-36): as use_key with the room pairs at $7F7C + 2 x (item - $1E)."
  },
  {
   "address": 32636,
   "type": "line",
   "text": "use_key2's room pairs for items 30-36: 7/8, $1C/$1D, $15/$16, $37/$38, 0/0 (item 34, no door), $2C/$2D, $48/$49."
  },
  {
   "address": 32637,
   "type": "line",
   "text": "Second byte of each key2_rooms pair."
  },
  {
   "address": 32768,
   "type": "line",
   "text": "Word menu: shows the ten characters of word 0 at $0509, waits for fire release (s_8120, flash mode 1); left/right scroll the 80-character strip at $8095 ten characters at a time, one character per step (s_80FD), between words 0 and 7 ($02); fire enters the word's handler from the table at $80E5 through the patched JMP at $807E."
  },
  {
   "address": 32895,
   "type": "line",
   "text": "Operand of the JMP at $807E, patched from the word table at $80E5."
  },
  {
   "address": 32896,
   "type": "line",
   "text": "High byte of the patched word jump."
  },
  {
   "address": 32917,
   "type": "line",
   "text": "The word menu's strip, ten characters a word in the game's character codes (A = $1A, $44 the dotted edge): ::RETURN:: :::DROP::: ::SEARCH:: :::USE:::: ::FOLLOW:: :::STAY::: :::GIVE::: ::ABORT:::."
  },
  {
   "address": 32997,
   "type": "line",
   "text": "Word handlers (words): RETURN $7C00, DROP $7C07, SEARCH $7CD6, USE $7C6A, FOLLOW $8463, STAY $845B, GIVE $8476, ABORT $966A; four more ($81A0 x3, $00A0) lie past word 7 and cannot be chosen."
  },
  {
   "address": 32998,
   "type": "line",
   "text": "Second byte of word_table, read as $80E6+Y."
  },
  {
   "address": 33021,
   "type": "line",
   "text": "Writes ten characters of the word strip from $8095+X to the window at ($FB) = $0509, then falls into the short delay."
  },
  {
   "address": 33039,
   "type": "line",
   "text": "Busy-wait of $10 x $FF loops (a few thousand cycles per step)."
  },
  {
   "address": 33056,
   "type": "line",
   "text": "Waits until fire is released, the long delay, then $1B80 = 1 (flash the word window)."
  },
  {
   "address": 33073,
   "type": "line",
   "text": "Waits until fire is released, the long delay, then $1B80 = 2 (flash the item window)."
  },
  {
   "address": 33090,
   "type": "line",
   "text": "Unreferenced older code: sets ten colour cells at ($2B) to 2 unless already 2, and a fragment after it."
  },
  {
   "address": 33117,
   "type": "line",
   "text": "Busy-wait of $40 x $FF loops."
  },
  {
   "address": 33184,
   "type": "line",
   "text": "Unreferenced fragment of calls to delay_short; the word table's four unreachable entries point at $81A0."
  },
  {
   "address": 33280,
   "type": "line",
   "text": "Use code 8 (items 37-42): only in the item's room (table $8255, index item - $25): repoints that object type's bitmap to $5180 (the pointer to patch from $825B), puts up to three items (room-byte addresses from $8267, 8 bytes per item) in the current room, redraws, sound_ok. Items 41 and 42 take their addresses from use_tool's code ($8287: $02AD, $C96F, $B055; $828F: $1B51, $4BC9, $1DF0), so they write the room number there: into the room variable itself (no change) and one byte of the type 9 lift bitmap."
  },
  {
   "address": 33343,
   "type": "line",
   "text": "Operand of STA $FFFF at $823E, patched from $8267 with an item's room byte, so use_opener can place up to three items."
  },
  {
   "address": 33344,
   "type": "line",
   "text": "High byte of use_opener's patched store address."
  },
  {
   "address": 33365,
   "type": "line",
   "text": "use_opener: the room where each of items 37-42 works: 5, $21, $41, $49, $1A, $28."
  },
  {
   "address": 33371,
   "type": "line",
   "text": "use_opener: address of the bitmap pointer (object-type record byte 3) to set to $5180 for items 37-42: types 2, 24, 26, 27, 23, 25."
  },
  {
   "address": 33372,
   "type": "line",
   "text": "Second byte of opener_types."
  },
  {
   "address": 33383,
   "type": "line",
   "text": "use_opener: for items 37-40, 8 bytes each, up to three addresses of item room bytes to set to the current room (0 ends): 37 items 89 and 57; 38 item 86; 39 items 87, 30, 42; 40 items 91, 38, 90. Items 41 and 42 read their slots from $8287 onward, which is use_tool's code: see use_opener."
  },
  {
   "address": 33384,
   "type": "line",
   "text": "Second byte of opener_items, read as $8268+X."
  },
  {
   "address": 33415,
   "type": "line",
   "text": "Use code 9 (item 43) on the doorway Bond stands nearer ($6F02 below $55 the left, else the right): refused in room $4B and for door codes 0, 3, 6, 7; code 9 becomes 4 (open), any other becomes 9. Uses up one carried item of use code 10 (searched from list entry $3C down; none means refused), weight -2, sfx_noise, back to the word menu."
  },
  {
   "address": 33607,
   "type": "line",
   "text": "Use codes 10-14 (and 21-23 at $8452): refused with sfx_refuse. Items of use code 10 are consumed by use_tool."
  },
  {
   "address": 33610,
   "type": "line",
   "text": "Use code 11 (items 50, 82, 83): refused (sfx_refuse)."
  },
  {
   "address": 33613,
   "type": "line",
   "text": "Use code 12 (item 51): refused."
  },
  {
   "address": 33616,
   "type": "line",
   "text": "Use code 13 (item 52): refused."
  },
  {
   "address": 33619,
   "type": "line",
   "text": "Use code 14 (item 53): refused."
  },
  {
   "address": 33622,
   "type": "line",
   "text": "Use code 15 (item 54, the assembled kit): with all six pieces ($1B58 = 6) in room $4B opens the right doorway to room $4C (the last room); else refused."
  },
  {
   "address": 33648,
   "type": "line",
   "text": "Use code 16 (item 55): in room $15, once (while type 3's bitmap low byte $60F9 is non-zero), switches type 3 to the bitmap at $5300 and moves item 67 to room $15; in room $32, once (via $619A), switches type 26 to $5200 and moves item 34 to room $32. Redraws, sound_ok."
  },
  {
   "address": 33707,
   "type": "line",
   "text": "Use code 17 (item 56): in room $3E, unless item 57 was used first ($1B5A), counts $1B59 up. Always sound_ok."
  },
  {
   "address": 33728,
   "type": "line",
   "text": "Use code 18 (item 57): in room $3E sets $1B5A; if item 56 was used there before ($1B59 non-zero) opens the left doorway (byte 3 = 4). Else refused."
  },
  {
   "address": 33757,
   "type": "line",
   "text": "Use code 19 (items 61, 65, 66, 68, 74-76): sets Bond's gauge $1B5B to $80 and removes the item from the list and the inventory. $80 is more than the 42 rows the gauge sprites hold."
  },
  {
   "address": 33786,
   "type": "line",
   "text": "Use code 20 (items 64, 67, 71): in room $15 or $1C with a first object present (byte 5 non-zero): removes the item, marks it carried ($80) and puts item 74, 75 or 76 (table $8449, index item - $40) in the room."
  },
  {
   "address": 33865,
   "type": "line",
   "text": "use_exchange: item record addresses read at Y = item - $40: item 64 gives item 74 ($6618), 67 gives 75 ($6620), 71 gives 76 ($6628)."
  },
  {
   "address": 33866,
   "type": "line",
   "text": "Second byte of exchange_items."
  },
  {
   "address": 33874,
   "type": "line",
   "text": "Use code 21 (item 70): refused."
  },
  {
   "address": 33877,
   "type": "line",
   "text": "Use code 22 (items 84-89, the kit pieces, if one were carried): refused."
  },
  {
   "address": 33880,
   "type": "line",
   "text": "Use code 23 (item 90, which SEARCH will not take): refused."
  },
  {
   "address": 33883,
   "type": "line",
   "text": "STAY: $1B57 = 0, Stacey stops following."
  },
  {
   "address": 33891,
   "type": "line",
   "text": "FOLLOW: in Stacey's room ($1B5D = $1B51) sets $1B57 = 1; else refused."
  },
  {
   "address": 33910,
   "type": "line",
   "text": "GIVE the selected item to Stacey: in her room and only an item of use code $13 (an energy item): her gauge $1B5C back to $2A, the item marked carried and removed from the inventory, weight -5, back to the item menu."
  },
  {
   "address": 34003,
   "type": "line",
   "text": "Sets the current room's entry in the fire delay table $95E4 to 6: the next six fire-spread passes skip the room."
  },
  {
   "address": 34013,
   "type": "line",
   "text": "SEARCH on items $54-$59: ORs the piece's 32-byte picture (table $8515) into item 54's icon at $4860 through the patched LDA at $84F0, sets the piece's room byte to $80 (table $8521), counts $1B58, sound_ok, word menu."
  },
  {
   "address": 34033,
   "type": "line",
   "text": "Operand of the LDA $FFFF,X at $84F0, patched with the piece picture's address from $8515."
  },
  {
   "address": 34034,
   "type": "line",
   "text": "High byte of take_kit_piece's patched piece-picture address."
  },
  {
   "address": 34069,
   "type": "line",
   "text": "Pictures of the six kit pieces (items $54-$59), ORed into the kit icon: $5810, $5830, $5850, $5870, $5890, $58B0."
  },
  {
   "address": 34070,
   "type": "line",
   "text": "Second byte of kit_piece_pictures."
  },
  {
   "address": 34081,
   "type": "line",
   "text": "Addresses of the six kit pieces' room bytes ($6669-$6691, items 84-89), set to $80 when a piece is taken."
  },
  {
   "address": 34082,
   "type": "line",
   "text": "Second byte of kit_piece_rooms."
  },
  {
   "address": 34093,
   "type": "line",
   "text": "Unreferenced older copy of the end of take_kit_piece (OR the piece picture into $4860, clear its room byte, count $1B58) with its own piece tables at $8555 and $8561."
  },
  {
   "address": 34281,
   "type": "line",
   "text": "Unreferenced fragment ending in a wait for fire (read_joystick) and JMP game_start."
  },
  {
   "address": 34304,
   "type": "line",
   "text": "New game (from the memo page, ABORT and a lost game): room pointer ($3F) = $4292 (room 8), $1B51 = 8, fire-spread timer $38/$39, restores the tables (s_8700), sprites 2-7 (menu bars from $0C00, gauges $D0-$D3), colours, gauges $1B5B/$1C = $2A, weight 0, Stacey not following, music init ($C640), clock 10 00 00, empty kit icon, JMP game_loop."
  },
  {
   "address": 34560,
   "type": "line",
   "text": "Banks BASIC out ($01 bit 0 off), clears the inventory ($6AC0), room colours ($6C0A) and fire delays ($95E4), and copies the pristine copies back: $A000-$A4D0 over the rooms at $4230, $A500-$A7FF over the items at $63D0, $A900 over $1B50-$1B90, $AA00 over $6F00. A sixth copy at $878C is skipped by the JMP at $8789."
  },
  {
   "address": 34700,
   "type": "line",
   "text": "Tail of restore_tables that the JMP at $8789 skips: set up for one more copy_pages call from $AB00 (the image of a BASIC ROM page) to $60xx with X = Y = 0, one byte."
  },
  {
   "address": 34720,
   "type": "line",
   "text": "restore_tables' return, reached by the JMP at $8789."
  },
  {
   "address": 34816,
   "type": "line",
   "text": "Zeroes ($FB) + Y down to + 0."
  },
  {
   "address": 34832,
   "type": "line",
   "text": "Copies ($FD)+Y to ($FB)+Y for Y down to 0, then a page lower in both, X+1 pages in all (the last page first)."
  },
  {
   "address": 35072,
   "type": "line",
   "text": "Called every 256th frame: every fourth call counts Bond's gauge $1B5B down to 0; rebuilds sprites $D0/$D1 at $3400 as the outline figure $8A19 with the bottom $1B5B rows filled from $8999 (s_8915), then Stacey's at $3480 from $8B19/$8A99 with $1B5C rows, shown only in her room or while she follows (else cleared). Nothing happens when a gauge reaches 0."
  },
  {
   "address": 35093,
   "type": "line",
   "text": "Builds Bond's figure: outline $8A19 to $3400, then the filled rows from $8999, three bytes a row from the bottom, $1B5B rows."
  },
  {
   "address": 35225,
   "type": "line",
   "text": "Bond's gauge figure filled in (two sprites, 42 rows, $8999-$8A18), rows copied from the bottom up by draw_bond_gauge. Its first five bytes are also the end of gauge_update's code ($8999-$899D)."
  },
  {
   "address": 35230,
   "type": "line",
   "text": "Rest of bond_figure_full, the rows below the first (the first five bytes, $8999-$899D, are gauge_update's last instructions: a full gauge's top row shows the code bytes $1B $D0 $BE)."
  },
  {
   "address": 35353,
   "type": "line",
   "text": "Bond's gauge figure as an outline, two sprites (128 bytes), the base of sprites $D0/$D1."
  },
  {
   "address": 35481,
   "type": "line",
   "text": "Stacey's gauge figure filled in, two sprites."
  },
  {
   "address": 35609,
   "type": "line",
   "text": "Stacey's gauge figure as an outline, two sprites, the base of sprites $D2/$D3."
  },
  {
   "address": 36128,
   "type": "line",
   "text": "Ready-made screen, 1000 screen codes (40 x 25, $8D20-$9107), of which draw_static_screen copies the first 744 (rows 0-18) to $0400: frame, room view layout (canvas characters $50-$BF), icon and word windows, clock box, thermometer and the building picture's frame. The rows below come from other routines."
  },
  {
   "address": 37128,
   "type": "line",
   "text": "Colours for screen_image, one nibble per byte (1000 bytes, $9108-$94EF), the first 744 copied to $D800 by draw_static_screen."
  },
  {
   "address": 37136,
   "type": "line",
   "text": "Colours for screen_image, one nibble per byte (1000 bytes from $9108), the first 744 copied to $D800 by draw_static_screen."
  },
  {
   "address": 38128,
   "type": "line",
   "text": "Called every frame; acts once every 14 x 256 frames ($38/$39). For the five floors (rows of the building picture from the top, rooms 1-15, 16-30, ...): finds the first room from the left not burning (byte 12); a floor whose room 1 is not burning ends the pass. At that room its delay $95E4 counts down first; else temperature (byte 13) +1, and at 15 it catches fire (byte 12 = 1, colour 2). When room 5 of a floor catches fire, room 1 of the next floor down the picture catches fire too and its rooms 2-4 get temperatures $0C, $0C AND ($0404), and that minus 3 (the AND with a screen byte at $95AD looks like a slip for AND #). At most four rooms a floor are visited per pass."
  },
  {
   "address": 38372,
   "type": "line",
   "text": "Per-room fire delay (index = room number): fire_spread counts it down instead of heating the room; set to 6 by throwing water (fire_delay_room). Cleared by restore_tables."
  },
  {
   "address": 38464,
   "type": "line",
   "text": "Top band of raster_irq: redraws the building windows (draw_building_map), every 256 frames gauge_update, the music step (C6AB), exit."
  },
  {
   "address": 38481,
   "type": "line",
   "text": "Unused bytes between irq_top and word_abort ($01 fill and the tail of an older ABORT: LDX #$FF, TXS, JMP $8600)."
  },
  {
   "address": 38506,
   "type": "line",
   "text": "ABORT: stack to $FF and JMP game_start: a new game, keeping the code flag $1BA0."
  },
  {
   "address": 38512,
   "type": "line",
   "text": "Head of old_code_prompt's page: zeroes and LDA #3 / STA $D9 (three tries)."
  },
  {
   "address": 38523,
   "type": "line",
   "text": "Unreferenced: an earlier code prompt. Clears the screen, shows 'PLEASE ENTER YOUR CODE' (screen codes at $96F0), reads five keys with GETIN ($FFE4), the first three turned into screen codes, and compares with 'QRS21' at $96E2; a match stores 1 in $1B95 (read nowhere) and starts the game, a miss clears the entry and after three tries ($D9) hangs at $970C."
  },
  {
   "address": 38626,
   "type": "line",
   "text": "old_code_prompt's code, screen codes 'QRS', then '2', '1' as typed: QRS21."
  },
  {
   "address": 38640,
   "type": "line",
   "text": "old_code_prompt's text in screen codes: 'PLEASE ENTER YOUR CODE'."
  },
  {
   "address": 38666,
   "type": "line",
   "text": "old_code_prompt after a wrong code: counts the tries down in $D9 and hangs on BEQ to itself at $970C after the third; else blanks the five typed cells at $0480 and reads again. On a match ($9722) stores 1 in $1B95 and JMP $8600."
  },
  {
   "address": 40960,
   "type": "line",
   "text": "Pristine copy of the room table and what follows it ($4230-$4700, from $A000 to $A4D0), copied back by restore_tables at every new game."
  },
  {
   "address": 41984,
   "type": "line",
   "text": "Last part of rooms_reset ($A400-$A4D0 -> $4630-$4700)."
  },
  {
   "address": 42240,
   "type": "line",
   "text": "Pristine copy of the item table and the bytes after it ($A500-$A7FF -> $63D0-$66CF), copied back by restore_tables."
  },
  {
   "address": 43264,
   "type": "line",
   "text": "Pristine copy of the variables $1B50-$1B90 (room colour 7, room 8, gauges $25, timers), copied back by restore_tables."
  },
  {
   "address": 43520,
   "type": "line",
   "text": "Pristine copy of Bond's position block $6F00-$6F10 (X $4C, Y $65, position $2C, depth $1C), copied back by restore_tables."
  },
  {
   "address": 50688,
   "type": "line",
   "text": "Music per-voice settings, three bytes each: $C600 attack/decay, $C603 waveform, $C606 pulse width high; $C609 tempo phase, $C60A tempo count; $C60B/$C60E note pointers low/high; $C611 duration counters. Set by music_init."
  },
  {
   "address": 50689,
   "type": "line",
   "text": "Music: voice 2 attack/decay."
  },
  {
   "address": 50690,
   "type": "line",
   "text": "Music: voice 3 attack/decay."
  },
  {
   "address": 50691,
   "type": "line",
   "text": "Music: voice 1 waveform and gate."
  },
  {
   "address": 50692,
   "type": "line",
   "text": "Music: voice 2 waveform and gate."
  },
  {
   "address": 50693,
   "type": "line",
   "text": "Music: voice 3 waveform and gate."
  },
  {
   "address": 50694,
   "type": "line",
   "text": "Music: voice 1 pulse width high byte."
  },
  {
   "address": 50695,
   "type": "line",
   "text": "Music: voice 2 pulse width high byte."
  },
  {
   "address": 50696,
   "type": "line",
   "text": "Music: voice 3 pulse width high byte."
  },
  {
   "address": 50697,
   "type": "line",
   "text": "Music: alternates 0/1 so steps come every 2 and 3 frames in turn."
  },
  {
   "address": 50698,
   "type": "line",
   "text": "Music: frames since the last step."
  },
  {
   "address": 50699,
   "type": "line",
   "text": "Music: voice 1 note pointer low byte."
  },
  {
   "address": 50700,
   "type": "line",
   "text": "Music: voice 2 note pointer low byte."
  },
  {
   "address": 50701,
   "type": "line",
   "text": "Music: voice 3 note pointer low byte."
  },
  {
   "address": 50702,
   "type": "line",
   "text": "Music: voice 1 note pointer high byte."
  },
  {
   "address": 50703,
   "type": "line",
   "text": "Music: voice 2 note pointer high byte."
  },
  {
   "address": 50704,
   "type": "line",
   "text": "Music: voice 3 note pointer high byte."
  },
  {
   "address": 50705,
   "type": "line",
   "text": "Music: voice 1 duration counter."
  },
  {
   "address": 50706,
   "type": "line",
   "text": "Music: voice 2 duration counter."
  },
  {
   "address": 50707,
   "type": "line",
   "text": "Music: voice 3 duration counter."
  },
  {
   "address": 50708,
   "type": "line",
   "text": "Music work bytes: $C614-$C616 each voice's last frequency low byte (for vibrato), $C617-$C61D the stepped voice's copies, $C61E-$C620 the vibrato counters."
  },
  {
   "address": 50711,
   "type": "line",
   "text": "Music: frequency low byte just written, stored per voice at $C614."
  },
  {
   "address": 50712,
   "type": "line",
   "text": "Music: pulse width high byte of the voice being stepped."
  },
  {
   "address": 50713,
   "type": "line",
   "text": "Music: waveform/gate byte of the voice being stepped."
  },
  {
   "address": 50714,
   "type": "line",
   "text": "Music: attack/decay of the voice being stepped."
  },
  {
   "address": 50715,
   "type": "line",
   "text": "Music: duration counter of the voice being stepped."
  },
  {
   "address": 50716,
   "type": "line",
   "text": "Music: $01 saved by read_tune_byte."
  },
  {
   "address": 50717,
   "type": "line",
   "text": "Music: voice number 0-2 being stepped."
  },
  {
   "address": 50718,
   "type": "line",
   "text": "Vibrato counters, one per voice, stepping 0, 4, 8, 12."
  },
  {
   "address": 50752,
   "type": "line",
   "text": "Music init: per-voice attack/decay ($2E, $18, $1F), waveform byte $41 (pulse, gate) and pulse-width high ($0C, $0D, $0C) into $C600-$C608, filter cutoff $5A0F, resonance/routing $01, volume 15 with low-pass ($D415-$D418); then (entry $C681, also the loop point) the voices' note pointers $E000, $E1EC, $E5F1 and each voice's duration counter 8."
  },
  {
   "address": 50859,
   "type": "line",
   "text": "Once a frame from irq_top: vibrato (C798), then advances the tune every two or three frames alternately ($C609/$C60A) through play_voices, and restarts at $C681 when voice 1 reaches $E1EC."
  },
  {
   "address": 50912,
   "type": "line",
   "text": "For voices 0-2: loads its pointer into $D9/$DA and its settings, counts its duration ($C611+X) and when it runs out loads the next note (voice_note), then stores the pointer back."
  },
  {
   "address": 50979,
   "type": "line",
   "text": "Counts the voice's duration down; at zero: gate off, sustain/release, reads three bytes from the tune (frequency high, frequency low, duration) through read_tune_byte, writes the frequency, pulse width and waveform (gate on) and advances the pointer by 3."
  },
  {
   "address": 51059,
   "type": "line",
   "text": "LDA ($D9),Y with $01 = 0 (all RAM), since the tune lies under the KERNAL at $E000; $01 is restored after."
  },
  {
   "address": 51078,
   "type": "line",
   "text": "When voice 1's pointer equals $E1EC (the end of its part) jumps to $C681 to restart all three voices."
  },
  {
   "address": 51096,
   "type": "line",
   "text": "Each frame adds 0, 4, 8 or 12 (cycling, $C61E+X) to each voice's last frequency low byte and writes it to the SID: a fast warble on every note."
  },
  {
   "address": 51126,
   "type": "line",
   "text": "SID register offset of each voice: 0, 7, 14."
  },
  {
   "address": 57344,
   "type": "line",
   "text": "Tune, voice 1: 164 notes of 3 bytes (frequency high, frequency low, duration in steps), read under the KERNAL by read_tune_byte. Its end, $E1EC, restarts the tune."
  },
  {
   "address": 57836,
   "type": "line",
   "text": "Tune, voice 2, from $E1EC: 343 notes of 3 bytes, the same total length as voice 1 (2134 steps)."
  },
  {
   "address": 58860,
   "type": "line",
   "text": "Last bytes of voice 2 (it ends at $E5F0)."
  },
  {
   "address": 58865,
   "type": "line",
   "text": "Tune, voice 3, from $E5F1: 3-byte notes to $E965, where its steps reach voice 1's total."
  },
  {
   "address": 62646,
   "type": "line",
   "text": "An inert copy of the music player as delivered with the tune: its initial variables (from $F4B6, interleaved with $BF/$CF bytes) and the driver byte for byte from $F4D1 to $F646, assembled for $C640. Nothing runs or reads it here."
  }
 ]
}