{
 "schema": 1,
 "platform": "c64",
 "game": "mayhem-in-monsterland",
 "part": "pipeland",
 "build": "Apex disk release, the contributor's own G64 images of both sides; sha256 of each in orientation.md",
 "source": "regenerator2000 live",
 "regions": {
  "exclude": [
   [
    256,
    511,
    "stack"
   ],
   [
    53248,
    57343,
    "I/O and colour RAM"
   ],
   [
    0,
    23039,
    "The engine"
   ],
   [
    45312,
    65535,
    "The engine"
   ]
  ],
  "extra": [],
  "elsewhere": [
   [
    0,
    23039,
    "The engine"
   ],
   [
    45312,
    65535,
    "The engine"
   ]
  ]
 },
 "blocks": [
  {
   "start": 23040,
   "end": 37170,
   "type": "Byte"
  },
  {
   "start": 37171,
   "end": 37269,
   "type": "PETSCII Text"
  },
  {
   "start": 37270,
   "end": 38731,
   "type": "Byte"
  },
  {
   "start": 38732,
   "end": 38872,
   "type": "PETSCII Text"
  },
  {
   "start": 38873,
   "end": 45311,
   "type": "Byte"
  }
 ],
 "symbols": [
  {
   "address": 23040,
   "name": "sprites_68_77",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 23090,
   "name": "frame68_class_bytes",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 23093,
   "name": "sprites_68_77_rest",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 24064,
   "name": "sprites_78_87",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 25088,
   "name": "sprites_88_97",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 25485,
   "name": "p_638d",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 26112,
   "name": "sprites_98_a7",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 27136,
   "name": "sprites_a8_b7",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 28160,
   "name": "sprites_b8_c7",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 29184,
   "name": "sprites_c8_d7",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 30208,
   "name": "sprites_d8_df",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 30464,
   "name": "p_7700",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 30720,
   "name": "sad_glyphs_00_1f",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 30896,
   "name": "glyph_16_r0",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 30897,
   "name": "glyph_16_r1",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 30903,
   "name": "glyph_16_r7",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 30904,
   "name": "glyph_17_r0",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 30905,
   "name": "glyph_17_r1",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 30911,
   "name": "glyph_17_r7",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 30976,
   "name": "sad_glyphs_20_3f",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 31232,
   "name": "sad_glyphs_40_5f",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 31328,
   "name": "glyph_4c_r0",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 31329,
   "name": "glyph_4c_r1",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 31335,
   "name": "glyph_4c_r7",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 31336,
   "name": "glyph_4d_r0",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 31337,
   "name": "glyph_4d_r1",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 31343,
   "name": "glyph_4d_r7",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 31488,
   "name": "sad_glyphs_60_7f",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 31744,
   "name": "sad_glyphs_80_9f",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 32000,
   "name": "sad_glyphs_a0_bf",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 32224,
   "name": "glyph_bc_r0",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 32225,
   "name": "glyph_bc_r1",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 32231,
   "name": "glyph_bc_r7",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 32240,
   "name": "glyph_be_r0",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 32241,
   "name": "glyph_be_r1",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 32242,
   "name": "glyph_be_r2",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 32243,
   "name": "glyph_be_r3",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 32254,
   "name": "glyph_bf_r6",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 32255,
   "name": "glyph_bf_r7",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 32256,
   "name": "sad_glyphs_c0_df",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 32272,
   "name": "glyph_c2_r0",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 32273,
   "name": "glyph_c2_r1",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 32279,
   "name": "glyph_c2_r7",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 32496,
   "name": "glyph_de_r0",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 32504,
   "name": "glyph_df_r0",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 32512,
   "name": "sad_glyphs_e0_ff",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 32520,
   "name": "glyph_e1_r0",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 32528,
   "name": "glyph_e2_r0",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 32536,
   "name": "glyph_e3_r0",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 32544,
   "name": "glyph_e4_r0",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 32552,
   "name": "glyph_e5_r0",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 32553,
   "name": "glyph_e5_r1",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 32554,
   "name": "glyph_e5_r2",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 32555,
   "name": "glyph_e5_r3",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 32558,
   "name": "glyph_e5_r6",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 32559,
   "name": "glyph_e5_r7",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 32560,
   "name": "glyph_e6_r0",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 32568,
   "name": "glyph_e7_r0",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 32576,
   "name": "glyph_e8_r0",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 32584,
   "name": "glyph_e9_r0",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 32592,
   "name": "glyph_ea_r0",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 32600,
   "name": "glyph_eb_r0",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 32608,
   "name": "glyph_ec_r0",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 32616,
   "name": "glyph_ed_r0",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 32632,
   "name": "glyph_ef_r0",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 32640,
   "name": "glyph_f0_r0",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 32648,
   "name": "glyph_f1_r0",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 32656,
   "name": "glyph_f2_r0",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 32664,
   "name": "glyph_f3_r0",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 32672,
   "name": "glyph_f4_r0",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 32680,
   "name": "glyph_f5_r0",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 32688,
   "name": "glyph_f6_r0",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 32696,
   "name": "glyph_f7_r0",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 32704,
   "name": "glyph_f8_r0",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 32712,
   "name": "glyph_f9_r0",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 32720,
   "name": "glyph_fa_r0",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 32728,
   "name": "glyph_fb_r0",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 32733,
   "name": "glyph_fb_r5",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 32736,
   "name": "glyph_fc_r0",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 32741,
   "name": "glyph_fc_r5",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 32744,
   "name": "glyph_fd_r0",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 32747,
   "name": "glyph_fd_r3",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 32752,
   "name": "glyph_fe_r0",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 32755,
   "name": "glyph_fe_r3",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 32768,
   "name": "tiles_header",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 32777,
   "name": "tiles_00_0f",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 33033,
   "name": "tiles_10_1f",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 33289,
   "name": "tiles_20_2f",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 33545,
   "name": "tiles_30_3f",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 33801,
   "name": "tiles_40_4f",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 34057,
   "name": "tiles_50_5f",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 34313,
   "name": "tiles_60_6f",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 34569,
   "name": "tiles_70_7f",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 34825,
   "name": "tiles_80_8e",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 35065,
   "name": "tiles_tail",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 35072,
   "name": "glyph_colours_sad",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 35328,
   "name": "map_band0",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 35584,
   "name": "map_band1",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 35840,
   "name": "map_band2",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 35867,
   "name": "p_8c1b",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 36096,
   "name": "map_band3",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 36352,
   "name": "map_band4",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 36608,
   "name": "map_band5",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 36864,
   "name": "repeat_pairs",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 36865,
   "name": "p_9001",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 36896,
   "name": "solid_floor_below",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 36897,
   "name": "solid_wall_below",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 36898,
   "name": "blank_glyph",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 36899,
   "name": "drift_glyphs",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 36900,
   "name": "p_9024",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 36901,
   "name": "behind_glyphs",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 36902,
   "name": "p_9026",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 36903,
   "name": "p_9027",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 36904,
   "name": "p_9028",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 36905,
   "name": "finish_anim_cols",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 36906,
   "name": "p_902a",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 36907,
   "name": "drift_columns",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 36910,
   "name": "p_902e",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 36913,
   "name": "p_9031",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 36916,
   "name": "p_9034",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 36919,
   "name": "star_tiles",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 36920,
   "name": "p_9038",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 36921,
   "name": "p_9039",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 36922,
   "name": "sad_items_flag",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 36923,
   "name": "power_glyphs_flag",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 36924,
   "name": "sink_flag",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 36925,
   "name": "lightning_flag",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 36926,
   "name": "dust_quota",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 36928,
   "name": "p_9040",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 36929,
   "name": "star_count_start",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 36932,
   "name": "time_sad",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 36935,
   "name": "time_happy",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 36938,
   "name": "star_target",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 36941,
   "name": "star_target_back",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 36944,
   "name": "dust_add_limit",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 36945,
   "name": "item_frames",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 36957,
   "name": "defeat_frames",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 36969,
   "name": "defeat_scripts",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 36981,
   "name": "item_effects",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 36993,
   "name": "slope_glyphs",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 36995,
   "name": "p_9083",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 36997,
   "name": "p_9085",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 36998,
   "name": "p_9086",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 36999,
   "name": "p_9087",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 37000,
   "name": "slope_step_glyphs",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 37002,
   "name": "p_908a",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 37004,
   "name": "p_908c",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 37005,
   "name": "p_908d",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 37006,
   "name": "p_908e",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 37007,
   "name": "play_colours",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 37009,
   "name": "p_9091",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 37011,
   "name": "p_9093",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 37012,
   "name": "p_9094",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 37013,
   "name": "colour_sets",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 37040,
   "name": "band_sets",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 37072,
   "name": "tune_table",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 37082,
   "name": "p_90da",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 37092,
   "name": "tune_ids",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 37101,
   "name": "card_strip_colours",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 37103,
   "name": "p_90ef",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 37105,
   "name": "p_90f1",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 37107,
   "name": "p_90f3",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 37109,
   "name": "p_90f5",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 37111,
   "name": "card_raster_colours",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 37113,
   "name": "p_90f9",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 37115,
   "name": "p_90fb",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 37117,
   "name": "p_90fd",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 37119,
   "name": "p_90ff",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 37121,
   "name": "p_9101",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 37123,
   "name": "card_more_colours",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 37125,
   "name": "p_9105",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 37127,
   "name": "p_9107",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 37129,
   "name": "card_sprite_expand",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 37130,
   "name": "p_910a",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 37131,
   "name": "card_sprite_x",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 37133,
   "name": "p_910d",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 37138,
   "name": "p_9112",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 37139,
   "name": "land_card_sprite_y",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 37147,
   "name": "card_sprite_frames",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 37154,
   "name": "p_9122",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 37155,
   "name": "card_colours_sad",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 37163,
   "name": "card_colours_happy",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 37171,
   "name": "stage_name",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 37201,
   "name": "next_loading",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 37231,
   "name": "next_dust_quota",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 37253,
   "name": "next_star_quota",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 37270,
   "name": "cave_scene_colours",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 37274,
   "name": "card_strips_sad",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 37402,
   "name": "card_strips_happy",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 37530,
   "name": "card_frames_d8_da",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 37722,
   "name": "card_frames_db_dc",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 37786,
   "name": "p_939a",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 37850,
   "name": "behaviours",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 37865,
   "name": "turn_behaviours",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 37872,
   "name": "home_min",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 37887,
   "name": "home_max",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 37903,
   "name": "follower_x",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 37911,
   "name": "script_none",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 37912,
   "name": "path_none",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 37914,
   "name": "hpath_lo",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 37951,
   "name": "hpath_hi",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 37988,
   "name": "vpath_lo",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 38025,
   "name": "vpath_hi",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 38062,
   "name": "script_lo",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 38126,
   "name": "script_hi",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 38190,
   "name": "script_delays",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 38254,
   "name": "type_scripts_0",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 38304,
   "name": "type_scripts_1",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 38354,
   "name": "type_scripts_2",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 38404,
   "name": "type_scripts_3",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 38454,
   "name": "type_scripts_4",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 38504,
   "name": "type_scripts_5",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 38554,
   "name": "type_delays",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 38579,
   "name": "land_colour_list_lo",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 38595,
   "name": "land_colour_list_hi",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 38611,
   "name": "colour_list_rates",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 38617,
   "name": "panel_sprite_colours",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 38623,
   "name": "unused_96DF",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 38627,
   "name": "restart_96e3",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 38634,
   "name": "restart_96ea",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 38641,
   "name": "restart_96f1",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 38648,
   "name": "restart_96f8",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 38655,
   "name": "restart_96ff",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 38662,
   "name": "restart_9706",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 38669,
   "name": "restart_970d",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 38676,
   "name": "restart_9714",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 38683,
   "name": "restart_971b",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 38690,
   "name": "restart_9722",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 38697,
   "name": "restart_9729",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 38704,
   "name": "restart_9730",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 38711,
   "name": "restart_9737",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 38718,
   "name": "restart_973e",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 38725,
   "name": "restart_9745",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 38732,
   "name": "theo_line0",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 38772,
   "name": "theo_line1",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 38807,
   "name": "theo_line2",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 38849,
   "name": "theo_line3",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 38873,
   "name": "tune_0",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 38999,
   "name": "tune_1",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 39155,
   "name": "tune_2",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 39285,
   "name": "hpath_01",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 39306,
   "name": "hpath_02",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 39327,
   "name": "hpath_03",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 39350,
   "name": "hpath_04",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 39373,
   "name": "hpath_05",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 39391,
   "name": "hpath_06",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 39410,
   "name": "hpath_07",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 39429,
   "name": "hpath_08",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 39447,
   "name": "hpath_09",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 39465,
   "name": "hpath_10",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 39483,
   "name": "hpath_11",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 39498,
   "name": "hpath_12",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 39525,
   "name": "hpath_13",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 39540,
   "name": "hpath_14",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 39547,
   "name": "hpath_17",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 39554,
   "name": "hpath_18",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 39562,
   "name": "hpath_19",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 39570,
   "name": "hpath_20",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 39583,
   "name": "hpath_21",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 39596,
   "name": "hpath_22",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 39605,
   "name": "hpath_23",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 39614,
   "name": "hpath_26",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 39622,
   "name": "hpath_27",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 39630,
   "name": "hpath_24",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 39638,
   "name": "hpath_25",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 39646,
   "name": "hpath_28",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 39671,
   "name": "vpath_02",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 39696,
   "name": "vpath_03",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 39715,
   "name": "vpath_04",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 39734,
   "name": "vpath_05",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 39753,
   "name": "vpath_06",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 39772,
   "name": "vpath_07",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 39791,
   "name": "vpath_08",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 39810,
   "name": "vpath_09",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 39826,
   "name": "vpath_10",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 39842,
   "name": "vpath_11",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 39858,
   "name": "vpath_12",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 39874,
   "name": "vpath_13",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 39890,
   "name": "vpath_14",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 39906,
   "name": "vpath_15",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 39924,
   "name": "vpath_16",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 39942,
   "name": "vpath_17",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 39982,
   "name": "vpath_18",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 39998,
   "name": "vpath_19",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 40033,
   "name": "vpath_20",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 40061,
   "name": "vpath_21",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 40107,
   "name": "vpath_22",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 40154,
   "name": "vpath_23",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 40170,
   "name": "vpath_24",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 40237,
   "name": "vpath_25",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 40269,
   "name": "vpath_26",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 40284,
   "name": "anim_04",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 40289,
   "name": "anim_05",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 40294,
   "name": "anim_06",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 40296,
   "name": "anim_07",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 40304,
   "name": "anim_08",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 40312,
   "name": "anim_09",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 40318,
   "name": "anim_10",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 40324,
   "name": "anim_11",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 40326,
   "name": "anim_12",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 40328,
   "name": "anim_13",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 40330,
   "name": "anim_14",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 40332,
   "name": "anim_15",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 40337,
   "name": "anim_16",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 40342,
   "name": "anim_17",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 40344,
   "name": "anim_18",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 40346,
   "name": "anim_19",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 40360,
   "name": "anim_20",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 40362,
   "name": "anim_21",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 40367,
   "name": "anim_22",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 40372,
   "name": "anim_23",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 40374,
   "name": "anim_24",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 40379,
   "name": "anim_25",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 40384,
   "name": "anim_26",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 40386,
   "name": "anim_27",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 40391,
   "name": "anim_28",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 40397,
   "name": "anim_29",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 40403,
   "name": "anim_30",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 40407,
   "name": "anim_31",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 40411,
   "name": "anim_32",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 40417,
   "name": "anim_33",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 40423,
   "name": "anim_34",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 40425,
   "name": "anim_35",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 40431,
   "name": "anim_36",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 40437,
   "name": "anim_37",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 40439,
   "name": "anim_38",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 40444,
   "name": "anim_39",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 40449,
   "name": "anim_40",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 40451,
   "name": "anim_41",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 40456,
   "name": "anim_42",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 40461,
   "name": "anim_43",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 40466,
   "name": "anim_44",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 40471,
   "name": "anim_45",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 40473,
   "name": "anim_46",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 40475,
   "name": "anim_47",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 40477,
   "name": "anim_48",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 40479,
   "name": "anim_49",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 40481,
   "name": "anim_50",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 40483,
   "name": "anim_51",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 40488,
   "name": "anim_52",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 40493,
   "name": "anim_53",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 40495,
   "name": "anim_54",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 40500,
   "name": "anim_55",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 40505,
   "name": "anim_56",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 40507,
   "name": "anim_57",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 40513,
   "name": "colours_02",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 40528,
   "name": "colours_03",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 40543,
   "name": "colours_04",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 40552,
   "name": "colours_05",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 40564,
   "name": "colours_06",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 40576,
   "name": "colours_07",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 40588,
   "name": "colours_08",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 40600,
   "name": "anim_00",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 40609,
   "name": "colours_00",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 40618,
   "name": "anim_01",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 40630,
   "name": "colours_01",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 40642,
   "name": "anim_02",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 40644,
   "name": "residue_9ec4",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 40766,
   "name": "residue_9f3e",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 40960,
   "name": "obj_000",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 40975,
   "name": "obj_001",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 40990,
   "name": "obj_002",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 41005,
   "name": "obj_003",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 41020,
   "name": "obj_004",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 41035,
   "name": "obj_005",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 41050,
   "name": "obj_006",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 41065,
   "name": "obj_007",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 41080,
   "name": "obj_008",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 41095,
   "name": "obj_009",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 41110,
   "name": "obj_010",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 41125,
   "name": "obj_011",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 41140,
   "name": "obj_012",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 41155,
   "name": "obj_013",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 41170,
   "name": "obj_014",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 41185,
   "name": "obj_015",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 41200,
   "name": "obj_016",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 41215,
   "name": "obj_017",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 41230,
   "name": "obj_018",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 41245,
   "name": "obj_019",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 41260,
   "name": "obj_020",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 41275,
   "name": "obj_021",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 41290,
   "name": "obj_022",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 41305,
   "name": "obj_023",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 41320,
   "name": "obj_024",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 41335,
   "name": "obj_025",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 41350,
   "name": "obj_026",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 41365,
   "name": "obj_027",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 41380,
   "name": "obj_028",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 41395,
   "name": "obj_029",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 41410,
   "name": "obj_030",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 41425,
   "name": "obj_031",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 41440,
   "name": "obj_032",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 41455,
   "name": "obj_033",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 41470,
   "name": "obj_034",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 41485,
   "name": "obj_035",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 41500,
   "name": "obj_036",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 41515,
   "name": "obj_037",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 41530,
   "name": "obj_038",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 41545,
   "name": "obj_039",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 41560,
   "name": "obj_040",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 41575,
   "name": "obj_041",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 41590,
   "name": "obj_042",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 41605,
   "name": "obj_043",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 41620,
   "name": "obj_044",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 41635,
   "name": "obj_045",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 41650,
   "name": "obj_046",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 41665,
   "name": "obj_047",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 41680,
   "name": "obj_048",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 41695,
   "name": "obj_049",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 41710,
   "name": "obj_050",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 41725,
   "name": "obj_051",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 41740,
   "name": "obj_052",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 41755,
   "name": "obj_053",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 41770,
   "name": "obj_054",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 41785,
   "name": "obj_055",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 41800,
   "name": "obj_056",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 41815,
   "name": "obj_057",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 41830,
   "name": "obj_058",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 41845,
   "name": "obj_059",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 41860,
   "name": "obj_060",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 41875,
   "name": "obj_061",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 41890,
   "name": "obj_062",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 41905,
   "name": "obj_063",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 41920,
   "name": "obj_064",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 41935,
   "name": "obj_065",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 41950,
   "name": "obj_066",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 41965,
   "name": "obj_067",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 41980,
   "name": "obj_068",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 41995,
   "name": "obj_069",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 42010,
   "name": "obj_070",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 42025,
   "name": "obj_071",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 42040,
   "name": "obj_072",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 42055,
   "name": "obj_073",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 42070,
   "name": "obj_074",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 42085,
   "name": "obj_075",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 42100,
   "name": "obj_076",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 42115,
   "name": "obj_077",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 42130,
   "name": "obj_078",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 42145,
   "name": "obj_079",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 42160,
   "name": "obj_080",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 42175,
   "name": "obj_081",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 42190,
   "name": "obj_082",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 42205,
   "name": "obj_083",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 42220,
   "name": "obj_084",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 42235,
   "name": "obj_085",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 42250,
   "name": "obj_086",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 42265,
   "name": "obj_087",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 42280,
   "name": "obj_088",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 42295,
   "name": "obj_089",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 42310,
   "name": "obj_090",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 42311,
   "name": "p_a547",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 42325,
   "name": "obj_091",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 42340,
   "name": "obj_092",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 42355,
   "name": "obj_093",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 42370,
   "name": "obj_094",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 42385,
   "name": "obj_095",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 42400,
   "name": "obj_096",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 42415,
   "name": "obj_097",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 42430,
   "name": "obj_098",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 42445,
   "name": "obj_099",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 42460,
   "name": "obj_100",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 42475,
   "name": "obj_101",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 42490,
   "name": "obj_102",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 42505,
   "name": "obj_103",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 42520,
   "name": "obj_104",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 42535,
   "name": "obj_105",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 42550,
   "name": "obj_106",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 42565,
   "name": "obj_107",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 42580,
   "name": "obj_108",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 42595,
   "name": "obj_109",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 42610,
   "name": "obj_110",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 42625,
   "name": "obj_111",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 42640,
   "name": "obj_112",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 42655,
   "name": "obj_113",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 42670,
   "name": "obj_114",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 42685,
   "name": "obj_115",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 42699,
   "name": "p_a6cb",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 42700,
   "name": "obj_116",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 42715,
   "name": "obj_117",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 42730,
   "name": "obj_118",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 42745,
   "name": "obj_119",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 42760,
   "name": "obj_120",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 42775,
   "name": "obj_121",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 42790,
   "name": "obj_122",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 42805,
   "name": "obj_123",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 42820,
   "name": "obj_124",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 42835,
   "name": "obj_125",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 42850,
   "name": "obj_end",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 42851,
   "name": "residue_a763",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 43008,
   "name": "glyph_colours_happy",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 43264,
   "name": "happy_glyphs_00_1f",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 43520,
   "name": "happy_glyphs_20_3f",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 43776,
   "name": "happy_glyphs_40_5f",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 44032,
   "name": "happy_glyphs_60_7f",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 44288,
   "name": "happy_glyphs_80_9f",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 44544,
   "name": "happy_glyphs_a0_bf",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 44800,
   "name": "happy_glyphs_c0_df",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 45056,
   "name": "happy_glyphs_e0_ff",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 45311,
   "name": "p_b0ff",
   "type": "AbsoluteAddress",
   "kind": "user"
  }
 ],
 "comments": [
  {
   "address": 23040,
   "type": "line",
   "text": "Sprite images, frames $68-$77 of VIC bank 1 (64 bytes each, $5A00 + 64n). Named by the land's own tables or the engine: $68 script 27; $69 script 27; $6A script 27; $6B script 22; $6C script 22, script 50; $6D script 22; $6E script 23; $6F script 21; $70 script 21, script 49; $71 script 21; $72 script 24; $73 script 24; $74 script 24; $75 script 26; $76 script 25; $77 script 25; frames not listed are named by none of the land's scripts, item, defeat or card tables. The engine's JMP $5A00 ($CE63) is taken only after the loader has brought in the ending (level 5, $CE49), whose code starts there; in a land's file these are image bytes and are never run."
  },
  {
   "address": 23090,
   "type": "line",
   "text": "Inside sprite frame $68: the engine's $E6A6 compares an object record's class (byte 3 AND $C0) with the byte here ($C0) or two on at $5A34 ($00), the operand at $E6AD choosing which; so these image bytes double as the two class values the list cursors step past."
  },
  {
   "address": 23093,
   "type": "line",
   "text": "The rest of sprite frames $68-$77, from byte $35 of frame $68 on ($5A00 describes the block and who names each frame)."
  },
  {
   "address": 24064,
   "type": "line",
   "text": "Sprite images, frames $78-$87 of VIC bank 1 (64 bytes each, $5E00 + 64n). Named by the land's own tables or the engine: $78 script 25; $79 script 0; $7A script 0; $7B script 0, script 19; $7C script 0, script 19; $7D script 0, script 19; $7E script 0, script 19; $7F script 0, script 19; $80 script 0; $81 script 1, script 18; $82 script 1; $83 script 1; $84 script 1; $85 script 1; $86 script 1; $87 script 1; frames not listed are named by none of the land's scripts, item, defeat or card tables. $6000-$65FF is exchanged with the engine's cave scene ($D100-$D6FF, page swap 7) while the scene runs."
  },
  {
   "address": 25088,
   "type": "line",
   "text": "Sprite images, frames $88-$97 of VIC bank 1 (64 bytes each, $6200 + 64n). Named by the land's own tables or the engine: $88 script 1; $89 script 1; $8A script 1; $8B script 1; $8C script 57; $8D script 57; $8E defeat frame 1 ($905D), defeat frame 8 ($905D); $8F defeat frame 2 ($905D); $90 defeat frame 0 ($905D), defeat frame 3 ($905D); $91 defeat frame 11 ($905D), defeat frame 4 ($905D), defeat frame 5 ($905D); $92 defeat frame 7 ($905D); $93 defeat frame 10 ($905D); $94 script 13; $95 script 14; $96 script 4; $97 script 28, script 30, script 4; frames not listed are named by none of the land's scripts, item, defeat or card tables. $6000-$65FF is exchanged with the engine's cave scene ($D100-$D6FF, page swap 7) while the scene runs."
  },
  {
   "address": 25485,
   "type": "line",
   "text": "Inside sprite frame $8E: the entry of Theo's cave scene, JMP $638D at $3BC9 after page swap 7 has put the engine's $D100-$D6FF here; in the land's own bytes it is image data."
  },
  {
   "address": 26112,
   "type": "line",
   "text": "Sprite images, frames $98-$A7 of VIC bank 1 (64 bytes each, $6600 + 64n). Named by the land's own tables or the engine: $98 script 4; $99 script 6; $9A script 5; $9B script 29, script 31, script 5; $9C script 5; $9D script 29, script 31; $9E script 28, script 30; $9F script 16; $A0 script 16; $A1 script 16; $A2 script 15; $A3 script 15; $A4 script 15; $A5 script 17; $A6 script 43; $A7 script 44; frames not listed are named by none of the land's scripts, item, defeat or card tables."
  },
  {
   "address": 27136,
   "type": "line",
   "text": "Sprite images, frames $A8-$B7 of VIC bank 1 (64 bytes each, $6A00 + 64n). Named by the land's own tables or the engine: $A8 script 43; $A9 script 44; $AA script 43; $AB script 44; $AC script 45; $AD script 46; $AE script 41; $AF script 42; $B0 script 41; $B1 script 42; $B2 script 41; $B3 script 42; $B4 script 38; $B5 script 38; $B6 script 38; $B7 script 40; frames not listed are named by none of the land's scripts, item, defeat or card tables."
  },
  {
   "address": 28160,
   "type": "line",
   "text": "Sprite images, frames $B8-$C7 of VIC bank 1 (64 bytes each, $6E00 + 64n). Named by the land's own tables or the engine: $B8 script 39; $B9 script 39; $BA script 39; $BB script 54; $BC script 54; $BD script 54; $BE script 56; $BF script 55; $C0 script 55; $C1 script 55; $C2 script 10, script 11, script 9; $C3 script 8; $C4 script 8; $C5 script 8; $C6 script 8; $C7 script 10, script 9; frames not listed are named by none of the land's scripts, item, defeat or card tables. $7000-$71FF is exchanged with the engine's $1600-$17FF by page swap 9."
  },
  {
   "address": 29184,
   "type": "line",
   "text": "Sprite images, frames $C8-$D7 of VIC bank 1 (64 bytes each, $7200 + 64n). Named by the land's own tables or the engine: $C8 script 10, script 12, script 9; $C9 script 7; $CA script 7; $CB script 7; $CC script 7; $CD script 52; $CE script 52; $CF script 52; $D0 script 53; $D1 script 51; $D2 script 51; $D3 script 51; $D4 script 32; $D5 script 32; $D6 script 34; $D7 script 33; frames not listed are named by none of the land's scripts, item, defeat or card tables."
  },
  {
   "address": 30208,
   "type": "line",
   "text": "Sprite images, frames $D8-$DF of VIC bank 1 (64 bytes each, $7600 + 64n). Named by the land's own tables or the engine: $D8 script 33, stage card sprite ($911B); $D9 script 47, stage card sprite ($911B); $DA script 48, stage card sprite ($911B); $DB script 37, stage card sprite ($911B); $DC script 36, stage card sprite ($911B); $DD script 36; $DE script 35; $DF script 35; frames not listed are named by none of the land's scripts, item, defeat or card tables. $7600-$773F (frames $D8-$DC) is exchanged with $929A-$93D9 by $ED98 for the stage card."
  },
  {
   "address": 30464,
   "type": "line",
   "text": "Frame $DC: the second loop of $ED98 ($EDAF/$EDB6) exchanges these 64 bytes, $7700-$773F, with $939A-$93D9."
  },
  {
   "address": 30720,
   "type": "line",
   "text": "The sad land's character set, glyphs $00-$1F (8 bytes each, $7800 + 8n); glyphs below $2F are walls, $2F-$3B platforms ($9021, $9020). Glyphs the land's parameters or the engine name here: $00 slope ($9081-$9087); $01 slope ($9081-$9087); $02 slope ($9081-$9087); $03 slope ($9088-$908E); $04 slope ($9088-$908E); $05 slope ($9088-$908E); $08 slope ($9081-$9087); $09 slope ($9081-$9087); $0A slope ($9088-$908E); $0B slope ($9088-$908E); $0C player behind scenery ($9025-$9028); $0D player behind scenery ($9025-$9028). As loaded the sad set is here, in the VIC's character memory ($D018 points at $7800); $B785 exchanges it with the happy set at $A900 (page swap 1) when the land turns happy, and $3B3F parks it under the I/O chips (swap 0) while the stage card shows the front-end set."
  },
  {
   "address": 30896,
   "type": "line",
   "text": "Glyph $16, row 0, of the set at $7800 (the sad set as loaded, the happy one after $B785) (named by $3AA2, $3AAE): $3A88 rotates glyphs $16-$17 (the finish line) a byte a step in the happy land, while the finish line is open ($CF8B) and the right edge lies in $9029-$902A's stretch."
  },
  {
   "address": 30897,
   "type": "line",
   "text": "Glyph $16, row 1, of the set at $7800 (the sad set as loaded, the happy one after $B785) (named by $3AAB): $3A88 rotates glyphs $16-$17 (the finish line) a byte a step in the happy land, while the finish line is open ($CF8B) and the right edge lies in $9029-$902A's stretch."
  },
  {
   "address": 30903,
   "type": "line",
   "text": "Glyph $16, row 7, of the set at $7800 (the sad set as loaded, the happy one after $B785) (named by $3AC0): $3A88 rotates glyphs $16-$17 (the finish line) a byte a step in the happy land, while the finish line is open ($CF8B) and the right edge lies in $9029-$902A's stretch."
  },
  {
   "address": 30904,
   "type": "line",
   "text": "Glyph $17, row 0, of the set at $7800 (the sad set as loaded, the happy one after $B785) (named by $3AA6, $3AB4): $3A88 rotates glyphs $16-$17 (the finish line) a byte a step in the happy land, while the finish line is open ($CF8B) and the right edge lies in $9029-$902A's stretch."
  },
  {
   "address": 30905,
   "type": "line",
   "text": "Glyph $17, row 1, of the set at $7800 (the sad set as loaded, the happy one after $B785) (named by $3AB1): $3A88 rotates glyphs $16-$17 (the finish line) a byte a step in the happy land, while the finish line is open ($CF8B) and the right edge lies in $9029-$902A's stretch."
  },
  {
   "address": 30911,
   "type": "line",
   "text": "Glyph $17, row 7, of the set at $7800 (the sad set as loaded, the happy one after $B785) (named by $3ABC): $3A88 rotates glyphs $16-$17 (the finish line) a byte a step in the happy land, while the finish line is open ($CF8B) and the right edge lies in $9029-$902A's stretch."
  },
  {
   "address": 30976,
   "type": "line",
   "text": "The sad land's character set, glyphs $20-$3F (8 bytes each, $7800 + 8n). Glyphs the land's parameters or the engine name here: $21 slope ($9081-$9087), slope ($9088-$908E)."
  },
  {
   "address": 31232,
   "type": "line",
   "text": "The sad land's character set, glyphs $40-$5F (8 bytes each, $7800 + 8n). Glyphs the land's parameters or the engine name here: $47 drifting pair, first ($9023); $48 drifting pair, second ($9024); $4C rotated by $3A88 once the dust count has reached 000 ($36F3); $4D rotated by $3A88 once the dust count has reached 000 ($36F3)."
  },
  {
   "address": 31328,
   "type": "line",
   "text": "Glyph $4C, row 0, of the set at $7800 (the sad set as loaded, the happy one after $B785) (named by $3AD7, $3AEA): $3A88 rotates glyphs $4C-$4D a byte a step in the sad land once the dust count has reached 000 ($36F3)."
  },
  {
   "address": 31329,
   "type": "line",
   "text": "Glyph $4C, row 1, of the set at $7800 (the sad set as loaded, the happy one after $B785) (named by $3ADA): $3A88 rotates glyphs $4C-$4D a byte a step in the sad land once the dust count has reached 000 ($36F3)."
  },
  {
   "address": 31335,
   "type": "line",
   "text": "Glyph $4C, row 7, of the set at $7800 (the sad set as loaded, the happy one after $B785) (named by $3ACE): $3A88 rotates glyphs $4C-$4D a byte a step in the sad land once the dust count has reached 000 ($36F3)."
  },
  {
   "address": 31336,
   "type": "line",
   "text": "Glyph $4D, row 0, of the set at $7800 (the sad set as loaded, the happy one after $B785) (named by $3ADD, $3AE6): $3A88 rotates glyphs $4C-$4D a byte a step in the sad land once the dust count has reached 000 ($36F3)."
  },
  {
   "address": 31337,
   "type": "line",
   "text": "Glyph $4D, row 1, of the set at $7800 (the sad set as loaded, the happy one after $B785) (named by $3AE0): $3A88 rotates glyphs $4C-$4D a byte a step in the sad land once the dust count has reached 000 ($36F3)."
  },
  {
   "address": 31343,
   "type": "line",
   "text": "Glyph $4D, row 7, of the set at $7800 (the sad set as loaded, the happy one after $B785) (named by $3AD2): $3A88 rotates glyphs $4C-$4D a byte a step in the sad land once the dust count has reached 000 ($36F3)."
  },
  {
   "address": 31488,
   "type": "line",
   "text": "The sad land's character set, glyphs $60-$7F (8 bytes each, $7800 + 8n). Glyphs the land's parameters or the engine name here: none."
  },
  {
   "address": 31744,
   "type": "line",
   "text": "The sad land's character set, glyphs $80-$9F (8 bytes each, $7800 + 8n). Glyphs the land's parameters or the engine name here: none."
  },
  {
   "address": 32000,
   "type": "line",
   "text": "The sad land's character set, glyphs $A0-$BF (8 bytes each, $7800 + 8n). Glyphs the land's parameters or the engine name here: $A4 blank fill ($9022)."
  },
  {
   "address": 32224,
   "type": "line",
   "text": "Glyph $BC, row 0, of the set at $7800 (the sad set as loaded, the happy one after $B785) (named by $EE67, $EE70): $EE11 rotates rows of glyphs $BC, $BE-$BF, $C2 and $E5 in play, only in the happy land with the land's $903C set ($00 here; $235D-$2367)."
  },
  {
   "address": 32225,
   "type": "line",
   "text": "Glyph $BC, row 1, of the set at $7800 (the sad set as loaded, the happy one after $B785) (named by $EE6A): $EE11 rotates rows of glyphs $BC, $BE-$BF, $C2 and $E5 in play, only in the happy land with the land's $903C set ($00 here; $235D-$2367)."
  },
  {
   "address": 32231,
   "type": "line",
   "text": "Glyph $BC, row 7, of the set at $7800 (the sad set as loaded, the happy one after $B785) (named by $EE62): $EE11 rotates rows of glyphs $BC, $BE-$BF, $C2 and $E5 in play, only in the happy land with the land's $903C set ($00 here; $235D-$2367)."
  },
  {
   "address": 32240,
   "type": "line",
   "text": "Glyph $BE, row 0, of the set at $7800 (the sad set as loaded, the happy one after $B785) (named by $EE1A, $EE2B): $EE11 rotates rows of glyphs $BC, $BE-$BF, $C2 and $E5 in play, only in the happy land with the land's $903C set ($00 here; $235D-$2367)."
  },
  {
   "address": 32241,
   "type": "line",
   "text": "Glyph $BE, row 1, of the set at $7800 (the sad set as loaded, the happy one after $B785) (named by $EE20, $EE2E): $EE11 rotates rows of glyphs $BC, $BE-$BF, $C2 and $E5 in play, only in the happy land with the land's $903C set ($00 here; $235D-$2367)."
  },
  {
   "address": 32242,
   "type": "line",
   "text": "Glyph $BE, row 2, of the set at $7800 (the sad set as loaded, the happy one after $B785) (named by $EE1D): $EE11 rotates rows of glyphs $BC, $BE-$BF, $C2 and $E5 in play, only in the happy land with the land's $903C set ($00 here; $235D-$2367)."
  },
  {
   "address": 32243,
   "type": "line",
   "text": "Glyph $BE, row 3, of the set at $7800 (the sad set as loaded, the happy one after $B785) (named by $EE23): $EE11 rotates rows of glyphs $BC, $BE-$BF, $C2 and $E5 in play, only in the happy land with the land's $903C set ($00 here; $235D-$2367)."
  },
  {
   "address": 32254,
   "type": "line",
   "text": "Glyph $BF, row 6, of the set at $7800 (the sad set as loaded, the happy one after $B785) (named by $EE11): $EE11 rotates rows of glyphs $BC, $BE-$BF, $C2 and $E5 in play, only in the happy land with the land's $903C set ($00 here; $235D-$2367)."
  },
  {
   "address": 32255,
   "type": "line",
   "text": "Glyph $BF, row 7, of the set at $7800 (the sad set as loaded, the happy one after $B785) (named by $EE15): $EE11 rotates rows of glyphs $BC, $BE-$BF, $C2 and $E5 in play, only in the happy land with the land's $903C set ($00 here; $235D-$2367)."
  },
  {
   "address": 32256,
   "type": "line",
   "text": "The sad land's character set, glyphs $C0-$DF (8 bytes each, $7800 + 8n). Glyphs the land's parameters or the engine name here: none."
  },
  {
   "address": 32272,
   "type": "line",
   "text": "Glyph $C2, row 0, of the set at $7800 (the sad set as loaded, the happy one after $B785) (named by $EE56, $EE5F): $EE11 rotates rows of glyphs $BC, $BE-$BF, $C2 and $E5 in play, only in the happy land with the land's $903C set ($00 here; $235D-$2367)."
  },
  {
   "address": 32273,
   "type": "line",
   "text": "Glyph $C2, row 1, of the set at $7800 (the sad set as loaded, the happy one after $B785) (named by $EE59): $EE11 rotates rows of glyphs $BC, $BE-$BF, $C2 and $E5 in play, only in the happy land with the land's $903C set ($00 here; $235D-$2367)."
  },
  {
   "address": 32279,
   "type": "line",
   "text": "Glyph $C2, row 7, of the set at $7800 (the sad set as loaded, the happy one after $B785) (named by $EE51): $EE11 rotates rows of glyphs $BC, $BE-$BF, $C2 and $E5 in play, only in the happy land with the land's $903C set ($00 here; $235D-$2367)."
  },
  {
   "address": 32496,
   "type": "line",
   "text": "Glyph $DE, row 0, of the set at $7800 (the sad set as loaded, the happy one after $B785) (named by $E15E, $E18F): the stage card's strip scroll $E157 (glyphs $DE-$ED, and $FB-$FE) shifts these bytes while the card shows; the card runs with the front-end set at $7800 (swap 0), so it is that set, not the land's, that moves."
  },
  {
   "address": 32504,
   "type": "line",
   "text": "Glyph $DF, row 0, of the set at $7800 (the sad set as loaded, the happy one after $B785) (named by $E18C): the stage card's strip scroll $E157 (glyphs $DE-$ED, and $FB-$FE) shifts these bytes while the card shows; the card runs with the front-end set at $7800 (swap 0), so it is that set, not the land's, that moves."
  },
  {
   "address": 32512,
   "type": "line",
   "text": "The sad land's character set, glyphs $E0-$FF (8 bytes each, $7800 + 8n). Glyphs the land's parameters or the engine name here: none. The stage card's code names glyphs $DE-$FE at $7800 too ($E157, $E213, $EDBF), but it runs while swap 0 has put the front-end set there, so it never touches this set; $3A88's finish-line rotation, $3AEE's star frames and $EE11 act only in the happy land, on the happy set."
  },
  {
   "address": 32520,
   "type": "line",
   "text": "Glyph $E1, row 0, of the set at $7800 (the sad set as loaded, the happy one after $B785) (named by $E186): the stage card's strip scroll $E157 (glyphs $DE-$ED, and $FB-$FE) shifts these bytes while the card shows; the card runs with the front-end set at $7800 (swap 0), so it is that set, not the land's, that moves."
  },
  {
   "address": 32528,
   "type": "line",
   "text": "Glyph $E2, row 0, of the set at $7800 (the sad set as loaded, the happy one after $B785) (named by $E183): the stage card's strip scroll $E157 (glyphs $DE-$ED, and $FB-$FE) shifts these bytes while the card shows; the card runs with the front-end set at $7800 (swap 0), so it is that set, not the land's, that moves."
  },
  {
   "address": 32536,
   "type": "line",
   "text": "Glyph $E3, row 0, of the set at $7800 (the sad set as loaded, the happy one after $B785) (named by $E180): the stage card's strip scroll $E157 (glyphs $DE-$ED, and $FB-$FE) shifts these bytes while the card shows; the card runs with the front-end set at $7800 (swap 0), so it is that set, not the land's, that moves."
  },
  {
   "address": 32544,
   "type": "line",
   "text": "Glyph $E4, row 0, of the set at $7800 (the sad set as loaded, the happy one after $B785) (named by $E17D): the stage card's strip scroll $E157 (glyphs $DE-$ED, and $FB-$FE) shifts these bytes while the card shows; the card runs with the front-end set at $7800 (swap 0), so it is that set, not the land's, that moves."
  },
  {
   "address": 32552,
   "type": "line",
   "text": "Glyph $E5, row 0, of the set at $7800 (the sad set as loaded, the happy one after $B785) (named by $E17A, $EE3A, $EE4B): $EE11 rotates rows of glyphs $BC, $BE-$BF, $C2 and $E5 in play, only in the happy land with the land's $903C set ($00 here; $235D-$2367); the stage card's strip scroll $E157 (glyphs $DE-$ED, and $FB-$FE) shifts these bytes while the card shows; the card runs with the front-end set at $7800 (swap 0), so it is that set, not the land's, that moves."
  },
  {
   "address": 32553,
   "type": "line",
   "text": "Glyph $E5, row 1, of the set at $7800 (the sad set as loaded, the happy one after $B785) (named by $EE40, $EE4E): $EE11 rotates rows of glyphs $BC, $BE-$BF, $C2 and $E5 in play, only in the happy land with the land's $903C set ($00 here; $235D-$2367)."
  },
  {
   "address": 32554,
   "type": "line",
   "text": "Glyph $E5, row 2, of the set at $7800 (the sad set as loaded, the happy one after $B785) (named by $EE3D): $EE11 rotates rows of glyphs $BC, $BE-$BF, $C2 and $E5 in play, only in the happy land with the land's $903C set ($00 here; $235D-$2367)."
  },
  {
   "address": 32555,
   "type": "line",
   "text": "Glyph $E5, row 3, of the set at $7800 (the sad set as loaded, the happy one after $B785) (named by $EE43): $EE11 rotates rows of glyphs $BC, $BE-$BF, $C2 and $E5 in play, only in the happy land with the land's $903C set ($00 here; $235D-$2367)."
  },
  {
   "address": 32558,
   "type": "line",
   "text": "Glyph $E5, row 6, of the set at $7800 (the sad set as loaded, the happy one after $B785) (named by $EE31): $EE11 rotates rows of glyphs $BC, $BE-$BF, $C2 and $E5 in play, only in the happy land with the land's $903C set ($00 here; $235D-$2367)."
  },
  {
   "address": 32559,
   "type": "line",
   "text": "Glyph $E5, row 7, of the set at $7800 (the sad set as loaded, the happy one after $B785) (named by $EE35): $EE11 rotates rows of glyphs $BC, $BE-$BF, $C2 and $E5 in play, only in the happy land with the land's $903C set ($00 here; $235D-$2367)."
  },
  {
   "address": 32560,
   "type": "line",
   "text": "Glyph $E6, row 0, of the set at $7800 (the sad set as loaded, the happy one after $B785) (named by $E177): the stage card's strip scroll $E157 (glyphs $DE-$ED, and $FB-$FE) shifts these bytes while the card shows; the card runs with the front-end set at $7800 (swap 0), so it is that set, not the land's, that moves."
  },
  {
   "address": 32568,
   "type": "line",
   "text": "Glyph $E7, row 0, of the set at $7800 (the sad set as loaded, the happy one after $B785) (named by $E174): the stage card's strip scroll $E157 (glyphs $DE-$ED, and $FB-$FE) shifts these bytes while the card shows; the card runs with the front-end set at $7800 (swap 0), so it is that set, not the land's, that moves."
  },
  {
   "address": 32576,
   "type": "line",
   "text": "Glyph $E8, row 0, of the set at $7800 (the sad set as loaded, the happy one after $B785) (named by $E171): the stage card's strip scroll $E157 (glyphs $DE-$ED, and $FB-$FE) shifts these bytes while the card shows; the card runs with the front-end set at $7800 (swap 0), so it is that set, not the land's, that moves."
  },
  {
   "address": 32584,
   "type": "line",
   "text": "Glyph $E9, row 0, of the set at $7800 (the sad set as loaded, the happy one after $B785) (named by $E16E): the stage card's strip scroll $E157 (glyphs $DE-$ED, and $FB-$FE) shifts these bytes while the card shows; the card runs with the front-end set at $7800 (swap 0), so it is that set, not the land's, that moves."
  },
  {
   "address": 32592,
   "type": "line",
   "text": "Glyph $EA, row 0, of the set at $7800 (the sad set as loaded, the happy one after $B785) (named by $E16B): the stage card's strip scroll $E157 (glyphs $DE-$ED, and $FB-$FE) shifts these bytes while the card shows; the card runs with the front-end set at $7800 (swap 0), so it is that set, not the land's, that moves."
  },
  {
   "address": 32600,
   "type": "line",
   "text": "Glyph $EB, row 0, of the set at $7800 (the sad set as loaded, the happy one after $B785) (named by $E168): the stage card's strip scroll $E157 (glyphs $DE-$ED, and $FB-$FE) shifts these bytes while the card shows; the card runs with the front-end set at $7800 (swap 0), so it is that set, not the land's, that moves."
  },
  {
   "address": 32608,
   "type": "line",
   "text": "Glyph $EC, row 0, of the set at $7800 (the sad set as loaded, the happy one after $B785) (named by $E165): the stage card's strip scroll $E157 (glyphs $DE-$ED, and $FB-$FE) shifts these bytes while the card shows; the card runs with the front-end set at $7800 (swap 0), so it is that set, not the land's, that moves."
  },
  {
   "address": 32616,
   "type": "line",
   "text": "Glyph $ED, row 0, of the set at $7800 (the sad set as loaded, the happy one after $B785) (named by $E162): the stage card's strip scroll $E157 (glyphs $DE-$ED, and $FB-$FE) shifts these bytes while the card shows; the card runs with the front-end set at $7800 (swap 0), so it is that set, not the land's, that moves."
  },
  {
   "address": 32632,
   "type": "line",
   "text": "Glyph $EF, row 0, of the set at $7800 (the sad set as loaded, the happy one after $B785) (named by $E21C, $E229, $EDCF): $EDBF copies the card strips $919A/$921A here, into the front-end set that swap 0 has put at $7800 for the card, not into the land's; the stage card's strip scroll $E213 (glyphs $EF-$FA) shifts these bytes while the card shows; the card runs with the front-end set at $7800 (swap 0), so it is that set, not the land's, that moves."
  },
  {
   "address": 32640,
   "type": "line",
   "text": "Glyph $F0, row 0, of the set at $7800 (the sad set as loaded, the happy one after $B785) (named by $E226): the stage card's strip scroll $E213 (glyphs $EF-$FA) shifts these bytes while the card shows; the card runs with the front-end set at $7800 (swap 0), so it is that set, not the land's, that moves."
  },
  {
   "address": 32648,
   "type": "line",
   "text": "Glyph $F1, row 0, of the set at $7800 (the sad set as loaded, the happy one after $B785) (named by $E223): the stage card's strip scroll $E213 (glyphs $EF-$FA) shifts these bytes while the card shows; the card runs with the front-end set at $7800 (swap 0), so it is that set, not the land's, that moves."
  },
  {
   "address": 32656,
   "type": "line",
   "text": "Glyph $F2, row 0, of the set at $7800 (the sad set as loaded, the happy one after $B785) (named by $E220): the stage card's strip scroll $E213 (glyphs $EF-$FA) shifts these bytes while the card shows; the card runs with the front-end set at $7800 (swap 0), so it is that set, not the land's, that moves."
  },
  {
   "address": 32664,
   "type": "line",
   "text": "Glyph $F3, row 0, of the set at $7800 (the sad set as loaded, the happy one after $B785) (named by $E22C, $E239): the stage card's strip scroll $E213 (glyphs $EF-$FA) shifts these bytes while the card shows; the card runs with the front-end set at $7800 (swap 0), so it is that set, not the land's, that moves."
  },
  {
   "address": 32672,
   "type": "line",
   "text": "Glyph $F4, row 0, of the set at $7800 (the sad set as loaded, the happy one after $B785) (named by $E236): the stage card's strip scroll $E213 (glyphs $EF-$FA) shifts these bytes while the card shows; the card runs with the front-end set at $7800 (swap 0), so it is that set, not the land's, that moves."
  },
  {
   "address": 32680,
   "type": "line",
   "text": "Glyph $F5, row 0, of the set at $7800 (the sad set as loaded, the happy one after $B785) (named by $E233): the stage card's strip scroll $E213 (glyphs $EF-$FA) shifts these bytes while the card shows; the card runs with the front-end set at $7800 (swap 0), so it is that set, not the land's, that moves."
  },
  {
   "address": 32688,
   "type": "line",
   "text": "Glyph $F6, row 0, of the set at $7800 (the sad set as loaded, the happy one after $B785) (named by $E230): the stage card's strip scroll $E213 (glyphs $EF-$FA) shifts these bytes while the card shows; the card runs with the front-end set at $7800 (swap 0), so it is that set, not the land's, that moves."
  },
  {
   "address": 32696,
   "type": "line",
   "text": "Glyph $F7, row 0, of the set at $7800 (the sad set as loaded, the happy one after $B785) (named by $E23C, $E249): the stage card's strip scroll $E213 (glyphs $EF-$FA) shifts these bytes while the card shows; the card runs with the front-end set at $7800 (swap 0), so it is that set, not the land's, that moves."
  },
  {
   "address": 32704,
   "type": "line",
   "text": "Glyph $F8, row 0, of the set at $7800 (the sad set as loaded, the happy one after $B785) (named by $E246): the stage card's strip scroll $E213 (glyphs $EF-$FA) shifts these bytes while the card shows; the card runs with the front-end set at $7800 (swap 0), so it is that set, not the land's, that moves."
  },
  {
   "address": 32712,
   "type": "line",
   "text": "Glyph $F9, row 0, of the set at $7800 (the sad set as loaded, the happy one after $B785) (named by $233A, $234B, $2352, $E243): the glyph drift in $22E9 is aimed here as loaded; $BBB3 repoints it at the land's $9023/$9024 ($47, $48); the stage card's strip scroll $E213 (glyphs $EF-$FA) shifts these bytes while the card shows; the card runs with the front-end set at $7800 (swap 0), so it is that set, not the land's, that moves."
  },
  {
   "address": 32720,
   "type": "line",
   "text": "Glyph $FA, row 0, of the set at $7800 (the sad set as loaded, the happy one after $B785) (named by $2336, $233D, $234F, $E240): the glyph drift in $22E9 is aimed here as loaded; $BBB3 repoints it at the land's $9023/$9024 ($47, $48); the stage card's strip scroll $E213 (glyphs $EF-$FA) shifts these bytes while the card shows; the card runs with the front-end set at $7800 (swap 0), so it is that set, not the land's, that moves."
  },
  {
   "address": 32728,
   "type": "line",
   "text": "Glyph $FB, row 0, of the set at $7800 (the sad set as loaded, the happy one after $B785) (named by $3B2B, $E199, $E1A0): $3AEE copies the spinning star's frames into glyphs $FB-$FE, only in the happy land ($3AF3), so into the happy set; the stage card's strip scroll $E157 (glyphs $DE-$ED, and $FB-$FE) shifts these bytes while the card shows; the card runs with the front-end set at $7800 (swap 0), so it is that set, not the land's, that moves."
  },
  {
   "address": 32733,
   "type": "line",
   "text": "Glyph $FB, row 5, of the set at $7800 (the sad set as loaded, the happy one after $B785) (named by $E1B1, $E1B8): the stage card's strip scroll $E157 (glyphs $DE-$ED, and $FB-$FE) shifts these bytes while the card shows; the card runs with the front-end set at $7800 (swap 0), so it is that set, not the land's, that moves."
  },
  {
   "address": 32736,
   "type": "line",
   "text": "Glyph $FC, row 0, of the set at $7800 (the sad set as loaded, the happy one after $B785) (named by $E19D): the stage card's strip scroll $E157 (glyphs $DE-$ED, and $FB-$FE) shifts these bytes while the card shows; the card runs with the front-end set at $7800 (swap 0), so it is that set, not the land's, that moves."
  },
  {
   "address": 32741,
   "type": "line",
   "text": "Glyph $FC, row 5, of the set at $7800 (the sad set as loaded, the happy one after $B785) (named by $E1B5): the stage card's strip scroll $E157 (glyphs $DE-$ED, and $FB-$FE) shifts these bytes while the card shows; the card runs with the front-end set at $7800 (swap 0), so it is that set, not the land's, that moves."
  },
  {
   "address": 32744,
   "type": "line",
   "text": "Glyph $FD, row 0, of the set at $7800 (the sad set as loaded, the happy one after $B785) (named by $E1BB, $E1C2): the stage card's strip scroll $E157 (glyphs $DE-$ED, and $FB-$FE) shifts these bytes while the card shows; the card runs with the front-end set at $7800 (swap 0), so it is that set, not the land's, that moves."
  },
  {
   "address": 32747,
   "type": "line",
   "text": "Glyph $FD, row 3, of the set at $7800 (the sad set as loaded, the happy one after $B785) (named by $E1CF, $E1D6): the stage card's strip scroll $E157 (glyphs $DE-$ED, and $FB-$FE) shifts these bytes while the card shows; the card runs with the front-end set at $7800 (swap 0), so it is that set, not the land's, that moves."
  },
  {
   "address": 32752,
   "type": "line",
   "text": "Glyph $FE, row 0, of the set at $7800 (the sad set as loaded, the happy one after $B785) (named by $E1BF): the stage card's strip scroll $E157 (glyphs $DE-$ED, and $FB-$FE) shifts these bytes while the card shows; the card runs with the front-end set at $7800 (swap 0), so it is that set, not the land's, that moves."
  },
  {
   "address": 32755,
   "type": "line",
   "text": "Glyph $FE, row 3, of the set at $7800 (the sad set as loaded, the happy one after $B785) (named by $E1D3): the stage card's strip scroll $E157 (glyphs $DE-$ED, and $FB-$FE) shifts these bytes while the card shows; the card runs with the front-end set at $7800 (swap 0), so it is that set, not the land's, that moves."
  },
  {
   "address": 32768,
   "type": "line",
   "text": "Nine bytes before tile 0 ($00 $C0 $00 $C0 $C3 $C2 $CD $38 $30): tile t starts at $8009 + 16t ($23DE, $25F0), so nothing the scroller reads starts here; no reader found."
  },
  {
   "address": 32777,
   "type": "line",
   "text": "Map tiles $00-$0F: 16 glyph numbers each, four rows of four, top row first ($27FF reads them a row of the tile at a time). The map uses 11 of them ($01 x96, $00 x73, $09 x30 most often); unused: $05-$08, $0C. Tile $01 is a star tile ($9037-$9039): collecting its star turns it into the tile before it ($39A2)."
  },
  {
   "address": 33033,
   "type": "line",
   "text": "Map tiles $10-$1F: 16 glyph numbers each, four rows of four, top row first ($27FF reads them a row of the tile at a time). The map uses 9 of them ($1F x24, $1C x20, $1B x18 most often); unused: $14-$1A."
  },
  {
   "address": 33289,
   "type": "line",
   "text": "Map tiles $20-$2F: 16 glyph numbers each, four rows of four, top row first ($27FF reads them a row of the tile at a time). The map uses 15 of them ($28 x43, $20 x24, $29 x18 most often); unused: $2B. Tile $2C is a star tile ($9037-$9039): collecting its star turns it into the tile before it ($39A2)."
  },
  {
   "address": 33545,
   "type": "line",
   "text": "Map tiles $30-$3F: 16 glyph numbers each, four rows of four, top row first ($27FF reads them a row of the tile at a time). The map uses 13 of them ($3D x39, $37 x38, $3E x32 most often); unused: $32-$33, $3C."
  },
  {
   "address": 33801,
   "type": "line",
   "text": "Map tiles $40-$4F: 16 glyph numbers each, four rows of four, top row first ($27FF reads them a row of the tile at a time). The map uses 15 of them ($41 x42, $4D x20, $4E x15 most often); unused: $44."
  },
  {
   "address": 34057,
   "type": "line",
   "text": "Map tiles $50-$5F: 16 glyph numbers each, four rows of four, top row first ($27FF reads them a row of the tile at a time). The map uses 14 of them ($57 x88, $5D x34, $50 x18 most often); unused: $51, $59."
  },
  {
   "address": 34313,
   "type": "line",
   "text": "Map tiles $60-$6F: 16 glyph numbers each, four rows of four, top row first ($27FF reads them a row of the tile at a time). The map uses 16 of them ($66 x101, $64 x61, $62 x19 most often); unused: none."
  },
  {
   "address": 34569,
   "type": "line",
   "text": "Map tiles $70-$7F: 16 glyph numbers each, four rows of four, top row first ($27FF reads them a row of the tile at a time). The map uses 12 of them ($7D x6, $70 x5, $71 x5 most often); unused: $75-$77, $7E."
  },
  {
   "address": 34825,
   "type": "line",
   "text": "Map tiles $80-$8E: 16 glyph numbers each, four rows of four, top row first ($27FF reads them a row of the tile at a time). The map uses 14 of them ($88 x16, $8E x9, $8D x7 most often); unused: $89."
  },
  {
   "address": 35065,
   "type": "line",
   "text": "7 bytes after the last whole tile ($8E): $00 $00 $00 $00 $00 $00 $00; no map entry reaches them (the highest tile the map uses is $8E)."
  },
  {
   "address": 35072,
   "type": "line",
   "text": "Colour-RAM value for each glyph of the sad set (256 entries, indexed by glyph number): bits 0-2 the colour, bit 3 multicolour (254 glyphs have it); most common $08 x142, $09 x31, $0D x20. Read by the column draw ($27FF, $299F), the recolour ($2550) and the reveal ($1195). As loaded it is the sad set's; $B785 exchanges the page with $A800 (swap 2)."
  },
  {
   "address": 35328,
   "type": "line",
   "text": "Map band 0: the tile number for character rows 0-3 of the playfield at each map column, one byte a column ($CF9B, $25F0); 244 tile columns, 40 different tiles, 42 of them star tiles. Marker codes (no column of their own), band 0's read by the scroller: $F1 at $1C (tune 1 when the right edge meets it, 0 when the left edge passes it going back); $D2 at $27 (repeat start, pair 2); $E2 at $46 (repeat end, pair 2); $F2 at $6F (tune 2 when the right edge meets it, 1 when the left edge passes it going back); $D3 at $74 (repeat start, pair 3); $E3 at $7F (repeat end, pair 3); $D1 at $A0 (repeat start, pair 1); $F3 at $A5 (tune 3 when the right edge meets it, 2 when the left edge passes it going back); $E1 at $C8 (repeat end, pair 1); $D0 at $E6 (repeat start, pair 0); $F4 at $E9 (tune 4 when the right edge meets it, 3 when the left edge passes it going back); $E0 at $F3 (repeat end, pair 0)."
  },
  {
   "address": 35584,
   "type": "line",
   "text": "Map band 1: the tile number for character rows 4-7 of the playfield at each map column, one byte a column ($CF9B, $25F0); 244 tile columns, 58 different tiles, 23 of them star tiles. Its markers stand at the same positions as band 0's."
  },
  {
   "address": 35840,
   "type": "line",
   "text": "Map band 2: the tile number for character rows 8-11 of the playfield at each map column, one byte a column ($CF9B, $25F0); 244 tile columns, 67 different tiles, 18 of them star tiles. Its markers stand at the same positions as band 0's."
  },
  {
   "address": 35867,
   "type": "line",
   "text": "Inside map band 2. Named only by bytes in the protection screen's area ($44A5) that decode as an instruction using $8C1B; the protection runs before any land is loaded."
  },
  {
   "address": 36096,
   "type": "line",
   "text": "Map band 3: the tile number for character rows 12-15 of the playfield at each map column, one byte a column ($CF9B, $25F0); 244 tile columns, 66 different tiles, 13 of them star tiles. Its markers stand at the same positions as band 0's."
  },
  {
   "address": 36352,
   "type": "line",
   "text": "Map band 4: the tile number for character rows 16-19 of the playfield at each map column, one byte a column ($CF9B, $25F0); 244 tile columns, 55 different tiles, 10 of them star tiles. Its markers stand at the same positions as band 0's."
  },
  {
   "address": 36608,
   "type": "line",
   "text": "Map band 5: the tile number for character rows 20-23 of the playfield at each map column, one byte a column ($CF9B, $25F0); 244 tile columns, 52 different tiles, 5 of them star tiles. Its markers stand at the same positions as band 0's."
  },
  {
   "address": 36864,
   "type": "line",
   "text": "Sixteen (count, length) pairs for the map's repeat markers: the stretch between a $Dn and an $En marker is drawn again: at the $En going forward (the $Dn going back) the edge looks up pair n ($27F0) and its map column jumps back by the length until the count runs out ($269F, $26E4, $2724, $2767). Pairs the map uses: 0: count 2, length 11; 1: count 1, length 39; 2: count 1, length 30; 3: count 1, length 10."
  },
  {
   "address": 36865,
   "type": "line",
   "text": "Pair 0's length (11); $27F9 reads every pair's length as $9001 + 2n."
  },
  {
   "address": 36896,
   "type": "line",
   "text": "$3C: glyphs below it are solid underfoot, walls and platforms, while the player walks or falls ($2AAF, $2AC8)."
  },
  {
   "address": 36897,
   "type": "line",
   "text": "$2F: glyphs below it are walls, solid even while the player rises or drops through a platform ($2AC3, $2BBB, $317F)."
  },
  {
   "address": 36898,
   "type": "line",
   "text": "$A4: the glyph the screens are filled with at a level start and in the reveal ($1138, $1C28)."
  },
  {
   "address": 36899,
   "type": "line",
   "text": "$47, $48: the two glyphs rotated as one 16-pixel strip while the map column lies in a drift stretch and the playfield scrolls ($22E9, set up by $BBB3); nonzero first byte: the drift is on."
  },
  {
   "address": 36900,
   "type": "line",
   "text": "The second drift glyph, $48 ($BBCB)."
  },
  {
   "address": 36901,
   "type": "line",
   "text": "$0C $0C $0D $0D: glyphs at the player's middle that set $1B4F, $E0 for the first two, 0 for the last two ($2B22-$2B31): the engine reads it as sprite priority, the player passing behind scenery (inferred there, not shown)."
  },
  {
   "address": 36902,
   "type": "line",
   "text": "Behind-scenery glyph 2, $0C ($2B27): sets $1B4F to $E0 like the first."
  },
  {
   "address": 36903,
   "type": "line",
   "text": "Behind-scenery glyph 3, $0D ($2B2C): sets $1B4F to 0."
  },
  {
   "address": 36904,
   "type": "line",
   "text": "Behind-scenery glyph 4, $0D ($2B31): sets $1B4F to 0."
  },
  {
   "address": 36905,
   "type": "line",
   "text": "Map columns $08-$14: copied into $3A91/$3A95 ($E552); while the right edge lies from the first up to below the second, the happy land skips the star animation and, once the finish line is open ($CF8B) and $1B68 is set, rotates glyphs $16-$17 instead ($3A88)."
  },
  {
   "address": 36906,
   "type": "line",
   "text": "Where the finish-glyph stretch ends, map column $14 (into $3A95 by $E558)."
  },
  {
   "address": 36907,
   "type": "line",
   "text": "Map columns that start and stop the glyph drift ($1BC3): moving right, $01 $70 $00 start it and $1F $90 $00 stop it ($F121); moving left, $00 $6F $00 stop it and $1E $8F $00 start it ($F13E). 0 is an unused slot."
  },
  {
   "address": 36910,
   "type": "line",
   "text": "Moving left, the columns that stop the drift: $00 $6F $00 ($F143)."
  },
  {
   "address": 36913,
   "type": "line",
   "text": "Moving right, the columns that stop the drift: $1F $90 $00 ($F12B)."
  },
  {
   "address": 36916,
   "type": "line",
   "text": "Moving left, the columns that start the drift: $1E $8F $00 ($F148)."
  },
  {
   "address": 36919,
   "type": "line",
   "text": "$01 $2C $2C: the tile numbers that hold a star; collecting one decrements the map byte ($3A55, $39A2)."
  },
  {
   "address": 36920,
   "type": "line",
   "text": "The second star tile, $2C ($3A5A)."
  },
  {
   "address": 36921,
   "type": "line",
   "text": "The third star tile, $2C ($3A5F)."
  },
  {
   "address": 36922,
   "type": "line",
   "text": "$0C: bit 7 lets objects carry items in the sad land ($EB51: with bit 7 clear the item set-up is skipped while sad, except for an object in state 2 or with behaviour $FC, $EB39-$EB4A); clear here."
  },
  {
   "address": 36923,
   "type": "line",
   "text": "$00: nonzero turns on, in the happy land, the test of the glyph beside the player ($23B0): $60-$61 call $E2F0 while $1BB6 is 0, $62-$63 call $E2D2 while it is set."
  },
  {
   "address": 36924,
   "type": "line",
   "text": "$00: nonzero turns on, both only in the happy land, the sinking test $EE74 (from $2B18: while $1B5B is set, the six glyphs at $15F1 under the player move him down a pixel or two a frame) and the row animation of glyphs $BC, $BE-$BF, $C2, $E5 ($EE11 from $2367)."
  },
  {
   "address": 36925,
   "type": "line",
   "text": "$00: nonzero gives the sad land lightning, random background flashes with sound $20 ($BE0D)."
  },
  {
   "address": 36926,
   "type": "line",
   "text": "011: the magic dust to collect, three decimal digits, copied into the count $CF83-$CF85 at the start of the land ($F451, X = 2)."
  },
  {
   "address": 36928,
   "type": "line",
   "text": "The dust quota's last digit (1); also the base of $10ED's CMP $9040,Y, which with Y = 3 down to 1 reads the star count $9041-$9043."
  },
  {
   "address": 36929,
   "type": "line",
   "text": "331: the star count, three digits, copied into $CF83-$CF85 when the land turns happy ($F451, X = 5); stars count it down."
  },
  {
   "address": 36932,
   "type": "line",
   "text": "250: the time for the sad land, three digits ($BD37)."
  },
  {
   "address": 36935,
   "type": "line",
   "text": "250: the time for the happy land ($BD37)."
  },
  {
   "address": 36938,
   "type": "line",
   "text": "100: when the star count falls to it (or below) the finish line opens ($CF8B, $3742); so the quota is 331 - 100 = 231 stars. At the end the star bonus counts 100 less the count ($F2C3)."
  },
  {
   "address": 36941,
   "type": "line",
   "text": "101: when the count climbs back to it the finish line closes again ($36B0)."
  },
  {
   "address": 36944,
   "type": "line",
   "text": "$05 (5): the most times $364F adds to the count; at the limit it plays sound $16 instead ($3659, counter $E5BE). It also adds nothing, with the same sound, while the count equals the land's start count $9041-$9043 ($3662, $10ED)."
  },
  {
   "address": 36945,
   "type": "line",
   "text": "At spawn, for a record with bit 7 of byte 8 set ($E9FC-$EA00), the sprite frame into $F4FE, indexed by the whole of record byte 3 ($EA07); 0 here takes the frame from $905D instead: $00 $00 $00 $00 $00 $00 $00 $00 $00 $00 $00 $00. This land's records with that bit have byte 3 (and 7) values $01-$02, $04-$06; values of 12 or more read on past this table."
  },
  {
   "address": 36957,
   "type": "line",
   "text": "Frames: the fallback for $9051 and the frame a defeated object turns into, indexed by record byte 3 at spawn ($EA0C, $EA12 into $F8CD), and by the item number when an object with an item is defeated in the happy land ($C80B): $90 $8E $8F $90 $91 $91 $91 $92 $8E $91 $93 $91."
  },
  {
   "address": 36969,
   "type": "line",
   "text": "The animation script ($C808 into the operand $C816) that a defeated object with an item starts, indexed by the item number in the happy land ($C7E8-$C805); entry 10 for an object whose record has byte 9 bit 4 set while sad ($F8EB, $C7FE), in either mood: $00 $01 $01 $01 $01 $01 $01 $01 $00 $00 $00 $00."
  },
  {
   "address": 36981,
   "type": "line",
   "text": "The item number to item effect map ($BC42, also $BF7B, $C9B0, $EB6A): 0 power-up ($BB69), 1 multiplier ($35F3), 2 ten off the count $CF83-$CF85 (stars while happy, dust while sad, $36D2), 3 power-up ($BB69), 4 $10D5, 5 extra life ($3636), 6 extra continue ($10C1), 7 clock stop ($CB4B), 8 multiplier ($35F3), 9 $10D5, 10 one off the count ($36ED), 11 extra life ($3636)."
  },
  {
   "address": 36993,
   "type": "line",
   "text": "$00 $01 $08 $09 $02 $21 $21: for the slope code $2EF9 (taken while $1B74 is 0 or 1; $3012 is its mirror), four slope glyphs ($9081-$9084: the player's height $1B4B by fine scroll from the tables $2ED9, $2EE1, $2EE9 (all 0) and $2EE1 again, through $2EF1/$2EF5), a step glyph that moves him a row ($9085: up going right, down going left), the top of the slope where he runs off ($9086, $310B) and its foot ($9087, tested going left)."
  },
  {
   "address": 36995,
   "type": "line",
   "text": "Slope glyph 3 of 4, $08: going right $2F35 gives it slope glyph 1's heights ($2ED9); found by the other tests it takes its own table $2EE9, all 0."
  },
  {
   "address": 36997,
   "type": "line",
   "text": "The step glyph of $2EF9, $02: up a row while it is found going right ($2F15, $311F), down a row going left ($2F54, $3137)."
  },
  {
   "address": 36998,
   "type": "line",
   "text": "The top-of-slope glyph of $2EF9, $21: going right the player runs off the slope there ($2F20 to $310B)."
  },
  {
   "address": 36999,
   "type": "line",
   "text": "The foot-of-slope glyph of $2EF9, $21 ($2F60, going left): unless a slope glyph is beside it the slope ends ($2FE9)."
  },
  {
   "address": 37000,
   "type": "line",
   "text": "$05 $04 $0A $0B $03 $21 $21: the same seven roles for the mirror code $3012 (taken while $1B74 is $FF or $2EF9 leaves it 0): four slope characters ($9088-$908B; heights from $2FF2, $2FFA, $3002 (all 0) and $2FFA through $300A/$300E), a step ($908C: up a row going left, down going right), the top ($908D, $310B) and the foot ($908E, tested going right)."
  },
  {
   "address": 37002,
   "type": "line",
   "text": "Slope character 3 of 4 for $3012, $0A: going left $304E gives it the first slope's heights ($2FF2); found by the other tests it takes its own table $3002, all 0."
  },
  {
   "address": 37004,
   "type": "line",
   "text": "The step character of $3012, $03: up a row while it is found going left ($302E, $311F), down a row going right ($306D, $3137)."
  },
  {
   "address": 37005,
   "type": "line",
   "text": "The top-of-slope character of $3012, $21: going left the player runs off the slope there ($3039 to $310B)."
  },
  {
   "address": 37006,
   "type": "line",
   "text": "The foot-of-slope character of $3012, $21 ($3079, going right): unless a slope character is beside it the slope ends ($3102)."
  },
  {
   "address": 37007,
   "type": "line",
   "text": "Playfield colours, sad then happy: multicolour 1 $0F/$0A ($1CB2 into $2108), multicolour 2 $0B/$0B ($210D), background $0C/$03 ($1E28 into $20F3)."
  },
  {
   "address": 37009,
   "type": "line",
   "text": "Multicolour 2, sad $0B / happy $0B ($1CB8 into $210D)."
  },
  {
   "address": 37011,
   "type": "line",
   "text": "Background, sad $0C / happy $03: $9093 + the mood ($1E28 into $20F3)."
  },
  {
   "address": 37012,
   "type": "line",
   "text": "The happy background colour, $03."
  },
  {
   "address": 37013,
   "type": "line",
   "text": "Nine sets of three colours for the object bands: copied into $1B8B-$1B8D by $2A0E when the object list's marker records $70-$77 are met in the happy land (set code - $70 at $E782 going forward, code - $71 at $E70F stepping back); at a level start into $1B8F-$1B91 from the byte offset that $970D gives in the happy land, $18 (set 8) in the sad ($1DA1-$1DB9), from which $B374-$B383 moves them on into $1B8B: $00 $00 $00; $06 $09 $00; $00 $06 $06; $04 $05 $06; $07 $08 $09; $0A $0B $0C; $0D $0E $0F; $0B $0B $06; $0B $0B $0B."
  },
  {
   "address": 37040,
   "type": "line",
   "text": "Eight sets of four bytes: for each of the four raster bands, which sprite multiplexer it calls (0 none $C0DB, 1 $C01C, 2 $C07C; $29B0 via $29EC): 0120; 1020; 0120; 1200; 1020; 0010; 0102; 1002."
  },
  {
   "address": 37072,
   "type": "line",
   "text": "Ten tune addresses, low bytes then high bytes ($E4D9/$E4DC): 0 $97D9, 1 $9857, 2 $98F3, 3 $9857, 4 $97D9, 5 $97D9, 6 $97D9, 7 $97D9, 8 $B111, 9 $E000; 8, 9 point into the engine (8 the power-up's, asked for by $BB95; 9 the sad land's, by $1E81)."
  },
  {
   "address": 37082,
   "type": "line",
   "text": "The tune addresses' high bytes, entries 0-9: $97 $98 $98 $98 $97 $97 $97 $97 $B1 $E0 ($E4D9)."
  },
  {
   "address": 37092,
   "type": "line",
   "text": "For tunes 0-8 the value $E4D0 stores in $1B96 and $1B95 (the reload of $1B95, and the id $E4C5 compares to see whether that tune plays already): $A0 $60 $50 $60 $A0 $A0 $A0 $A0 $60. Tune 9, the sad land's, reads its value from $90ED, the first stage-card colour ($08)."
  },
  {
   "address": 37101,
   "type": "line",
   "text": "Stage card: five colour pairs, sad/happy, for the land's name strip in colour RAM ($3C38-$3C68): $08 $0D $08 $0D $08 $0D $08 $0A $09 $0F."
  },
  {
   "address": 37103,
   "type": "line",
   "text": "Name-strip colour pair 2, $08/$0D ($3C44)."
  },
  {
   "address": 37105,
   "type": "line",
   "text": "Name-strip colour pair 3, $08/$0D ($3C50)."
  },
  {
   "address": 37107,
   "type": "line",
   "text": "Name-strip colour pair 4, $08/$0A ($3C5C)."
  },
  {
   "address": 37109,
   "type": "line",
   "text": "Name-strip colour pair 5, $09/$0F ($3C68)."
  },
  {
   "address": 37111,
   "type": "line",
   "text": "Stage card raster colours by mood (pairs, sad/happy): background $0B/$03, $D022 $0C/$08, $D023 $0F/$09 ($F1DA); background $0B/$08, $D022 $0C/$0A, background $0F/$0F ($F214)."
  },
  {
   "address": 37113,
   "type": "line",
   "text": "Card $D022 by mood, $0C/$08 ($F1E6)."
  },
  {
   "address": 37115,
   "type": "line",
   "text": "Card $D023 by mood, $0F/$09 ($F1E0, through $F1ED)."
  },
  {
   "address": 37117,
   "type": "line",
   "text": "Card background for the lower part by mood, $0B/$08 ($F21A)."
  },
  {
   "address": 37119,
   "type": "line",
   "text": "Card $D022 for the lower part by mood, $0C/$0A ($F220)."
  },
  {
   "address": 37121,
   "type": "line",
   "text": "Card background after the five delays by mood, $0F/$0F ($F22E)."
  },
  {
   "address": 37123,
   "type": "line",
   "text": "Stage card sprite multicolours, sad/happy: $D025 $0C/$0A, $D026 $0B/$04 ($3DC8, $3DCE); and the colour pair $00/$01 the strip code uses at $3C7A."
  },
  {
   "address": 37125,
   "type": "line",
   "text": "Card sprite multicolour 2 ($D026) by mood, $0B/$04 ($3DCE)."
  },
  {
   "address": 37127,
   "type": "line",
   "text": "The strip colour pair read at $3C7A, $00/$01."
  },
  {
   "address": 37129,
   "type": "line",
   "text": "Stage card sprite X expansion $23 and Y expansion $57 ($3C9B, $3CA1)."
  },
  {
   "address": 37130,
   "type": "line",
   "text": "Card sprite Y expansion, $57 ($3CA1)."
  },
  {
   "address": 37131,
   "type": "line",
   "text": "The stage card's eight sprite X positions ($E1E3): $48 $F8 $78 $90 $A8 $C0 $F0 $CC; the eighth is rewritten by the card ($3BED from $E3F4)."
  },
  {
   "address": 37133,
   "type": "line",
   "text": "X positions of card sprites 2-6 ($78 $90 $A8 $C0 $F0 as loaded): the card's handler moves each 2 pixels left a frame, wrapping below $48 to $F8 ($3DB4-$3DBF), so they drift across the card."
  },
  {
   "address": 37138,
   "type": "line",
   "text": "Card sprite 7's X, written by the card from $E3F4 + the mood ($3BED)."
  },
  {
   "address": 37139,
   "type": "line",
   "text": "Y offsets of the card's eight sprites ($F1BD, added to the card's position): $8F $8F $8F $96 $8F $A1 $8F $82."
  },
  {
   "address": 37147,
   "type": "line",
   "text": "The card's eight sprite pointers ($E1EF): $0F $0F $D8 $D9 $DA $DB $DC $FF; the eighth is rewritten by the card ($3BE7 from $E3F2)."
  },
  {
   "address": 37154,
   "type": "line",
   "text": "Card sprite 7's pointer, written by the card from $E3F2 + the mood ($3BE7)."
  },
  {
   "address": 37155,
   "type": "line",
   "text": "The card's sprite colours, sad land ($E1FF): $00 $00 $0F $0F $0F $0F $0F $01."
  },
  {
   "address": 37163,
   "type": "line",
   "text": "The card's sprite colours, happy land ($E1FA): $00 $00 $07 $07 $07 $07 $07 $07."
  },
  {
   "address": 37171,
   "type": "line",
   "text": "\"STAGE 2 : PIPELAND\", ASCII, $FF-terminated: string 1 of the print routine $B817 (the stage card's title line) ($9133, read through $B8F8/$B913)."
  },
  {
   "address": 37201,
   "type": "line",
   "text": "\"LOADING : SPOTTYLAND\", ASCII, $FF-terminated: string 8: the loading screen's line for the next land, printed while it loads ($9151, read through $B8F8/$B913). The loader prints it when level 1 or later loads ($CC1A-$CC25); for the first land it prints string 9 instead."
  },
  {
   "address": 37231,
   "type": "line",
   "text": "\"MAGIC DUST QUOTA : 15\", ASCII, $FF-terminated: string 19: the next land's dust quota line on the loading screen ($916F, read through $B8F8/$B913). At a new game the engine's $D76E ($CBAA) first writes the first land's two quota lines from $D77D over $916F-$9195 of whatever land is in memory."
  },
  {
   "address": 37253,
   "type": "line",
   "text": "\"STAR QUOTA : 159\", ASCII, $FF-terminated: string 20: the next land's star quota line ($9185, read through $B8F8/$B913). At a new game the engine's $D76E ($CBAA) first writes the first land's two quota lines from $D77D over $916F-$9195 of whatever land is in memory."
  },
  {
   "address": 37270,
   "type": "line",
   "text": "$0B $0A $04 $0F: the background colours Theo's cave scene sets ($D48D, run at $638D: from $9196-$9198 and $9199)."
  },
  {
   "address": 37274,
   "type": "line",
   "text": "128 bytes copied by $EDBF into glyphs $EF-$FE of the character set shown on the stage card while the land is sad: the strips the card scrolls ($E213, $E157)."
  },
  {
   "address": 37402,
   "type": "line",
   "text": "The same 128 bytes for the happy land ($EDBF: the offset from $EDBD + $1BEC, $FF when happy, $7F when sad)."
  },
  {
   "address": 37530,
   "type": "line",
   "text": "Three sprite images that $ED98 exchanges with frames $D8-$DA ($7600-$76BF) when the stage card starts and again when it ends, so the card shows these as its frames $D8-$DA."
  },
  {
   "address": 37722,
   "type": "line",
   "text": "Two more 64-byte images exchanged by $ED98 with frames $DB-$DC ($76C0-$773F) for the stage card."
  },
  {
   "address": 37786,
   "type": "line",
   "text": "From here to $93D9: the 64 bytes that the second loop of $ED98 ($EDAC/$EDB2) exchanges with $7700-$773F, frame $DC, when the stage card starts and ends."
  },
  {
   "address": 37850,
   "type": "line",
   "text": "An object's behaviour value by the low nibble of its record's byte 9, 0-15 ($EA77 into $F567): $00 $01 $02 $F7 $F8 $F9 $FA $FB $FD $FE $FF $86 $85 $84 $83 $82; entry 15 is $93E9, also the first turn behaviour (used by record 15). $80-$8F is a portal and always taken; any other value is taken only in the happy land or when record byte 2 bit 1 is set, otherwise 0 ($EA7A-$EA90)."
  },
  {
   "address": 37865,
   "type": "line",
   "text": "Behaviours $ECF1 gives an object in place of its own (kept in $F576) when its direction and the scroll direction $1B3F call for it, entry $F585 AND 7 (record byte 9 bits 5-7; $ED4C), so eight entries, $93E9-$93F0: $82 $FF $FE $FD $FB $FA $F8 $F7."
  },
  {
   "address": 37872,
   "type": "line",
   "text": "Lower limits of the counter $F648 of an object whose record byte 5 has bit 5 set and a nonzero low nibble, which picks the entry ($E80F into $F62A); such an object takes no horizontal path and is moved by $C1CC within the limits: $F7 $FF $F8 $F4 $F0 $EC $E8 $E4 $E0 $DC $D8 $D4 $D0 $CC $C8."
  },
  {
   "address": 37887,
   "type": "line",
   "text": "Upper limits of that counter ($E815 into $F639): $C0 $01 $08 $0C $10 $14 $18 $1C $20 $24 $28 $2C $30 $34 $38 $40."
  },
  {
   "address": 37903,
   "type": "line",
   "text": "X offsets of a follower from its leader, indexed by twice record byte 1 bits 0-1 plus byte 2 bit 0 ($E972 into the ADC operand $E980): $00 $18 $E8 $14 $0C $F4 $18 $18."
  },
  {
   "address": 37911,
   "type": "line",
   "text": "$9C: the byte the script tables point the unused script numbers at."
  },
  {
   "address": 37912,
   "type": "line",
   "text": "$00 $10: the path that the unused and zero path numbers point at: no move, then $10, start again."
  },
  {
   "address": 37914,
   "type": "line",
   "text": "Low bytes of the 37 horizontal movement paths' addresses, by record byte 1 bits 2-7 ($E834; second paths $EACF); 28 point at real paths ($9975-$9ADE)."
  },
  {
   "address": 37951,
   "type": "line",
   "text": "High bytes of the horizontal paths' addresses ($E83A, $EAD5)."
  },
  {
   "address": 37988,
   "type": "line",
   "text": "Low bytes of the 37 vertical movement paths' addresses, by record byte 2 bits 2-7 ($E870 into $F6ED); 33 point at real paths."
  },
  {
   "address": 38025,
   "type": "line",
   "text": "High bytes of the vertical paths' addresses ($E876 into $F6FC)."
  },
  {
   "address": 38062,
   "type": "line",
   "text": "Low bytes of the 64 animation scripts' addresses ($C666, $E8CF-$E930); 58 lie in the land's file; 58-63 point at $9417."
  },
  {
   "address": 38126,
   "type": "line",
   "text": "High bytes of the animation scripts' addresses ($C66C, $E8D5-$E939)."
  },
  {
   "address": 38190,
   "type": "line",
   "text": "The frame delay of each animation script ($C672, $E942 into $F864): $01 $01 $01 $01 $02 $02 $02 $02 $02 $02 $02 $02 $02 $7F $7F $02 $02 $7F $02 $02 $7F $02 $02 $02 ..."
  },
  {
   "address": 38254,
   "type": "line",
   "text": "Script number 1 of 6 for each object type, 50 entries indexed by the type in record byte 3 plus 25 while the land is happy ($E8B0; $E8B5-$E8C9), the script for first movement (negative $F549) ($F729): types 0-7 $17 $17 $17 $14 $14 $12 $1A $17 ..."
  },
  {
   "address": 38304,
   "type": "line",
   "text": "Script number 2 of 6 for each object type, 50 entries indexed by the type in record byte 3 plus 25 while the land is happy ($E8B0; $E8B5-$E8C9), the script for first movement ($F747): types 0-7 $17 $17 $17 $14 $14 $12 $1A $17 ..."
  },
  {
   "address": 38354,
   "type": "line",
   "text": "Script number 3 of 6 for each object type, 50 entries indexed by the type in record byte 3 plus 25 while the land is happy ($E8B0; $E8B5-$E8C9), the script for moving with bit 7 ($F765): types 0-7 $15 $15 $15 $14 $14 $12 $18 $17 ..."
  },
  {
   "address": 38404,
   "type": "line",
   "text": "Script number 4 of 6 for each object type, 50 entries indexed by the type in record byte 3 plus 25 while the land is happy ($E8B0; $E8B5-$E8C9), the script for moving without bit 7 ($F783): types 0-7 $16 $16 $16 $14 $14 $12 $19 $17 ..."
  },
  {
   "address": 38454,
   "type": "line",
   "text": "Script number 5 of 6 for each object type, 50 entries indexed by the type in record byte 3 plus 25 while the land is happy ($E8B0; $E8B5-$E8C9), the script for standing, bit 7 ($F7A1): types 0-7 $17 $17 $17 $14 $14 $13 $1A $32 ..."
  },
  {
   "address": 38504,
   "type": "line",
   "text": "Script number 6 of 6 for each object type, 50 entries indexed by the type in record byte 3 plus 25 while the land is happy ($E8B0; $E8B5-$E8C9), the script for standing, bit 7 clear ($F7BF): types 0-7 $17 $17 $17 $14 $14 $13 $1A $31 ..."
  },
  {
   "address": 38554,
   "type": "line",
   "text": "Frame delay for each object type, indexed by the type in record byte 3 bits 0-5 before the happy +25 ($E8A7, kept for $F864): $03 $02 $01 $02 $02 $00 $02 $00 $7F $02 $02 $00 $00 $03 $03 $02 $02 $01 $01 $01 $02 $00 $06 $06 $06. 25 bytes lie here before the colour-list table; a type of 25 or more reads its delay from $96B3 on. This land's records that name a type use types up to 21, 0 of their type bytes 25 or more; the 43 records with byte 5 bits 6-7 both set name a script instead and take the script's own delay ($E8A0-$E8A4, $E942)."
  },
  {
   "address": 38579,
   "type": "line",
   "text": "Low bytes of the object colour lists ($BAA1, $EB84): lists 0 $9EA1, 1 $9EB6, 2 $9E41, 3 $9E50, 4 $9E5F, 5 $9E68, 6 $9E74, 7 $9E80, 8 $9E8C; 9-14 are $0000; 15 is $B100, the list the active portal takes ($E522, $EB27). A list is chosen by record byte 11's high nibble when the object is defeated ($C81A-$C822; this land's records give 0-1, 4-7) and by the item number of an object with an item in state 0 ($EB7C; items 1-2, 4-6)."
  },
  {
   "address": 38595,
   "type": "line",
   "text": "High bytes of the colour lists ($BAA7, $EB80)."
  },
  {
   "address": 38611,
   "type": "line",
   "text": "Frames between colour steps for the lists, read at $96D3 + list ($BAAD, $EB7C into $F8A0): $01 $01 $00 $00 $01 $01 (later lists read on into $96D9)."
  },
  {
   "address": 38617,
   "type": "line",
   "text": "Colours of the six sprites $BF9D shows in place of the panel ($BFB0): $01 $01 $01 $00 $00 $00."
  },
  {
   "address": 38623,
   "type": "line",
   "text": "$00 $00 $00 $00: between the colour tables and the restart tables, read only as the step rates of colour lists 12-15 ($96D3 + list, $BAAD, $EB7C): $96E2 is list 15's, the active portal's ($E522, $EB27); lists 12-14 are not chosen by this land's records."
  },
  {
   "address": 38627,
   "type": "line",
   "text": "Per restart point (7 entries, index $1D60: 0 the sad start, 1 the happy start that $B785 selects, the others portals, $E4E3): object-list cursor, high byte ($1BA2, $1BA4-$1BA6): $A0 $A6 $A0 $A2 $A3 $A6 $A6."
  },
  {
   "address": 38634,
   "type": "line",
   "text": "Per restart point (7 entries, index $1D60: 0 the sad start, 1 the happy start that $B785 selects, the others portals, $E4E3): object-list cursor, low byte ($1BA1, $1BA3): $4B $18 $E1 $58 $B1 $63 $45. Cursors: $A04B (record 5), $A618 (record 104), $A0E1 (record 15), $A258 (record 40), $A3B1 (record 63), $A663 (record 109), $A645 (record 107)."
  },
  {
   "address": 38641,
   "type": "line",
   "text": "Per restart point (7 entries, index $1D60: 0 the sad start, 1 the happy start that $B785 selects, the others portals, $E4E3): $1BA7: $08 $07 $09 $09 $01 $09 $00."
  },
  {
   "address": 38648,
   "type": "line",
   "text": "Per restart point (7 entries, index $1D60: 0 the sad start, 1 the happy start that $B785 selects, the others portals, $E4E3): added to $1BD2 into $1BA5 after the scroll-in: $24 $23 $25 $25 $1D $25 $00."
  },
  {
   "address": 38655,
   "type": "line",
   "text": "Per restart point (7 entries, index $1D60: 0 the sad start, 1 the happy start that $B785 selects, the others portals, $E4E3): map column at the right edge ($1C80): $10 $D2 $33 $63 $9A $E2 $E2."
  },
  {
   "address": 38662,
   "type": "line",
   "text": "Per restart point (7 entries, index $1D60: 0 the sad start, 1 the happy start that $B785 selects, the others portals, $E4E3): raster band set ($29B0): $00 $00 $00 $00 $00 $01 $01."
  },
  {
   "address": 38669,
   "type": "line",
   "text": "Per restart point (7 entries, index $1D60: 0 the sad start, 1 the happy start that $B785 selects, the others portals, $E4E3): byte offset (3 x set) of the colour set in the happy land, copied from $9095 + offset to $1B8F-$1B91 ($1DA1-$1DB9; the sad land uses $18): $18 $00 $00 $00 $00 $00 $00."
  },
  {
   "address": 38676,
   "type": "line",
   "text": "Per restart point (7 entries, index $1D60: 0 the sad start, 1 the happy start that $B785 selects, the others portals, $E4E3): player Y ($1BE4): $3D $BD $9D $5D $9D $BD $BD."
  },
  {
   "address": 38683,
   "type": "line",
   "text": "Per restart point (7 entries, index $1D60: 0 the sad start, 1 the happy start that $B785 selects, the others portals, $E4E3): reveal shape ($1155): $00 $04 $03 $01 $03 $04 $00."
  },
  {
   "address": 38690,
   "type": "line",
   "text": "Per restart point (7 entries, index $1D60: 0 the sad start, 1 the happy start that $B785 selects, the others portals, $E4E3): $B34A: $00 $00 $00 $00 $00 $00 $00."
  },
  {
   "address": 38697,
   "type": "line",
   "text": "Per restart point (7 entries, index $1D60: 0 the sad start, 1 the happy start that $B785 selects, the others portals, $E4E3): first happy tune ($1E77): $00 $03 $01 $01 $02 $03 $03."
  },
  {
   "address": 38704,
   "type": "line",
   "text": "Per restart point (7 entries, index $1D60: 0 the sad start, 1 the happy start that $B785 selects, the others portals, $E4E3): repeat state $1BDB: $FF $FF $00 $FF $FF $FF $FF."
  },
  {
   "address": 38711,
   "type": "line",
   "text": "Per restart point (7 entries, index $1D60: 0 the sad start, 1 the happy start that $B785 selects, the others portals, $E4E3): repeat state $1BDC: $FF $FF $FF $FF $FF $FF $FF."
  },
  {
   "address": 38718,
   "type": "line",
   "text": "Per restart point (7 entries, index $1D60: 0 the sad start, 1 the happy start that $B785 selects, the others portals, $E4E3): repeat state $1B49: $00 $00 $01 $00 $00 $00 $00."
  },
  {
   "address": 38725,
   "type": "line",
   "text": "Per restart point (7 entries, index $1D60: 0 the sad start, 1 the happy start that $B785 selects, the others portals, $E4E3): drift flag $1BC3 ($1C80): $01 $00 $00 $00 $00 $00 $00."
  },
  {
   "address": 38732,
   "type": "line",
   "text": "Theo's speech in the cave scene, line 1: \"HEL-LO MAY-HEM, YOU ARE LEAR-NING FAST.\" (ASCII, read by $D406 run at $6306; a hyphen, like a space, starts a syllable: $D460 plays sound $2A with $0FB1 set from the low nibble of the next letter, and the hyphen itself is not drawn; ends $00, 0 the next line two rows down)."
  },
  {
   "address": 38772,
   "type": "line",
   "text": "Theo's speech in the cave scene, line 2: \"I CAN USE THIS MA-GIC DUST TO STOP\" (ASCII, read by $D406 run at $6306; a hyphen, like a space, starts a syllable: $D460 plays sound $2A with $0FB1 set from the low nibble of the next letter, and the hyphen itself is not drawn; ends $00, 0 the next line two rows down)."
  },
  {
   "address": 38807,
   "type": "line",
   "text": "Theo's speech in the cave scene, line 3: \"PIPE-LAND BE-ING SO DARK AND MIS-ERA-BLE.\" (ASCII, read by $D406 run at $6306; a hyphen, like a space, starts a syllable: $D460 plays sound $2A with $0FB1 set from the low nibble of the next letter, and the hyphen itself is not drawn; ends $00, 0 the next line two rows down)."
  },
  {
   "address": 38849,
   "type": "line",
   "text": "Theo's speech in the cave scene, line 4: \"CATCH YOU LA-TER, DUDE!\" (ASCII, read by $D406 run at $6306; a hyphen, like a space, starts a syllable: $D460 plays sound $2A with $0FB1 set from the low nibble of the next letter, and the hyphen itself is not drawn; ends $FF, $FF the end of the speech)."
  },
  {
   "address": 38873,
   "type": "line",
   "text": "A tune in the music driver's format ($080C): voice 0 from +4, voices 1 and 2 at +$0009 and +$0012 (the offsets in its first four bytes). Tune table entries 0, 4, 5, 6, 7 ($90D0/$90DA); asked for by the map's tune markers $F4 and as the first happy tune of restart points 0 ($9729); the land's tunes play only while it is happy ($2A20, $1E71)."
  },
  {
   "address": 38999,
   "type": "line",
   "text": "A tune in the music driver's format ($080C): voice 0 from +4, voices 1 and 2 at +$0009 and +$0012 (the offsets in its first four bytes). Tune table entries 1, 3 ($90D0/$90DA); asked for by the map's tune markers $F1, $F3 and as the first happy tune of restart points 1, 2, 3, 5, 6 ($9729); the land's tunes play only while it is happy ($2A20, $1E71)."
  },
  {
   "address": 39155,
   "type": "line",
   "text": "A tune in the music driver's format ($080C): voice 0 from +4, voices 1 and 2 at +$0009 and +$0012 (the offsets in its first four bytes). Tune table entries 2 ($90D0/$90DA); asked for by the map's tune markers $F2 and as the first happy tune of restart points 4 ($9729); the land's tunes play only while it is happy ($2A20, $1E71)."
  },
  {
   "address": 39285,
   "type": "line",
   "text": "Horizontal movement path 1 ($C282; R/L and pixels a frame, 0 a frame standing, xN back B a repeat, again = $10 start again): L1 L0 x3 back 3 R0*3 L0 R1 R0 x7 back 3 L0*3 R0 L1 L0 x3 back 3 again. Used by object records 113, 114, 120, 121, 123."
  },
  {
   "address": 39306,
   "type": "line",
   "text": "Horizontal movement path 2 ($C282; R/L and pixels a frame, 0 a frame standing, xN back B a repeat, again = $10 start again): L1 L0 x19 back 3 R0*3 L0 R1 R0 x39 back 3 L0*3 R0 L1 L0 x19 back 3 again. Used by object records 39, 107, 112, 125."
  },
  {
   "address": 39327,
   "type": "line",
   "text": "Horizontal movement path 3 ($C282; R/L and pixels a frame, 0 a frame standing, xN back B a repeat, again = $10 start again): L1 L0 x35 back 3 R0*3 L0 R1 R0 R1 R0 x35 back 5 L0*3 R0 L1 L0 .... Used by object records 11, 19, 21, 43, 73."
  },
  {
   "address": 39350,
   "type": "line",
   "text": "Horizontal movement path 4 ($C282; R/L and pixels a frame, 0 a frame standing, xN back B a repeat, again = $10 start again): L1 L0 x51 back 3 R0*3 L0 R1 R0 R1 R0 x51 back 5 L0*3 R0 L1 L0 .... Used by object records 26, 56, 64."
  },
  {
   "address": 39373,
   "type": "line",
   "text": "Horizontal movement path 5 ($C282; R/L and pixels a frame, 0 a frame standing, xN back B a repeat, again = $10 start again): L1 x19 back 2 R0*3 L0 R1 x39 back 2 L0*3 R0 L1 x19 back 2 again. Used by object records 59, 94, 124."
  },
  {
   "address": 39391,
   "type": "line",
   "text": "Horizontal movement path 6 ($C282; R/L and pixels a frame, 0 a frame standing, xN back B a repeat, again = $10 start again): L1 x35 back 2 R0*3 L0 R1*2 x35 back 3 L0*3 R0 L1 x35 back 2 again. Used by object records 10, 20, 34, 61, 76, 77, 101."
  },
  {
   "address": 39410,
   "type": "line",
   "text": "Horizontal movement path 7 ($C282; R/L and pixels a frame, 0 a frame standing, xN back B a repeat, again = $10 start again): L1 x51 back 2 R0*3 L0 R1*2 x51 back 3 L0*3 R0 L1 x51 back 2 again. Used by object records 9, 13, 14, 29, 35, 36, 38, 42, 67, 71, 75, 84 and 4 more."
  },
  {
   "address": 39429,
   "type": "line",
   "text": "Horizontal movement path 8 ($C282; R/L and pixels a frame, 0 a frame standing, xN back B a repeat, again = $10 start again): L2 x9 back 2 R0*3 L0 R2 x19 back 2 L0*3 R0 L2 x9 back 2 again. No record of this land uses it."
  },
  {
   "address": 39447,
   "type": "line",
   "text": "Horizontal movement path 9 ($C282; R/L and pixels a frame, 0 a frame standing, xN back B a repeat, again = $10 start again): L2 x17 back 2 R0*3 L0 R2 x35 back 2 L0*3 R0 L2 x17 back 2 again. No record of this land uses it."
  },
  {
   "address": 39465,
   "type": "line",
   "text": "Horizontal movement path 10 ($C282; R/L and pixels a frame, 0 a frame standing, xN back B a repeat, again = $10 start again): L2 x25 back 2 R0*3 L0 R2 x51 back 2 L0*3 R0 L2 x25 back 2 again. Used by object records 37, 68, 70, 83, 91, 96, 97, 115, 116, 119."
  },
  {
   "address": 39483,
   "type": "line",
   "text": "Horizontal movement path 11 ($C282; R/L and pixels a frame, 0 a frame standing, xN back B a repeat, again = $10 start again): L1 x35 back 2 R0 x22 back 2 L0 R1 x35 back 2 L0 x22 back 2 R0 again. No record of this land uses it."
  },
  {
   "address": 39498,
   "type": "line",
   "text": "Horizontal movement path 12 ($C282; R/L and pixels a frame, 0 a frame standing, xN back B a repeat, again = $10 start again): L1 x35 back 2 R0 x22 back 2 L0 R1 x35 back 2 L0 x23 back 2 R1 x35 back 2 L0 x22 back 2 R0 .... Used by object records 0, 2, 4, 17, 22, 24, 122."
  },
  {
   "address": 39525,
   "type": "line",
   "text": "Horizontal movement path 13 ($C282; R/L and pixels a frame, 0 a frame standing, xN back B a repeat, again = $10 start again): L2 x35 back 2 R0 x22 back 2 L0 R2 x35 back 2 L0 x22 back 2 R0 again. Used by object records 69, 80."
  },
  {
   "address": 39540,
   "type": "line",
   "text": "Horizontal movement path 14, 15, 16 ($C282; R/L and pixels a frame, 0 a frame standing, xN back B a repeat, again = $10 start again): L2 x47 back 2 R0 x11 back 2 again. Used by object records 33, 86."
  },
  {
   "address": 39547,
   "type": "line",
   "text": "Horizontal movement path 17 ($C282; R/L and pixels a frame, 0 a frame standing, xN back B a repeat, again = $10 start again): R2 x47 back 2 L0 x11 back 2 again. Used by object records 58, 86, 99, 104."
  },
  {
   "address": 39554,
   "type": "line",
   "text": "Horizontal movement path 18 ($C282; R/L and pixels a frame, 0 a frame standing, xN back B a repeat, again = $10 start again): L3*2 x47 back 3 R0 x11 back 2 again. Used by object records 28, 49, 54, 82, 99, 104."
  },
  {
   "address": 39562,
   "type": "line",
   "text": "Horizontal movement path 19 ($C282; R/L and pixels a frame, 0 a frame standing, xN back B a repeat, again = $10 start again): R3*2 x47 back 3 L0 x11 back 2 again. Used by object records 28, 33, 45, 49, 82."
  },
  {
   "address": 39570,
   "type": "line",
   "text": "Horizontal movement path 20 ($C282; R/L and pixels a frame, 0 a frame standing, xN back B a repeat, again = $10 start again): L2 x26 back 2 L2 x20 back 2 L1 x14 back 2 R0 x11 back 2 again. No record of this land uses it."
  },
  {
   "address": 39583,
   "type": "line",
   "text": "Horizontal movement path 21 ($C282; R/L and pixels a frame, 0 a frame standing, xN back B a repeat, again = $10 start again): R2 x26 back 2 R2 x20 back 2 R1 x14 back 2 L0 x11 back 2 again. No record of this land uses it."
  },
  {
   "address": 39596,
   "type": "line",
   "text": "Horizontal movement path 22 ($C282; R/L and pixels a frame, 0 a frame standing, xN back B a repeat, again = $10 start again): L2*3 x25 back 4 R0 x15 back 2 again. No record of this land uses it."
  },
  {
   "address": 39605,
   "type": "line",
   "text": "Horizontal movement path 23 ($C282; R/L and pixels a frame, 0 a frame standing, xN back B a repeat, again = $10 start again): R2*3 x25 back 4 L0 x15 back 2 again. No record of this land uses it."
  },
  {
   "address": 39614,
   "type": "line",
   "text": "Horizontal movement path 26 ($C282; R/L and pixels a frame, 0 a frame standing, xN back B a repeat, again = $10 start again): L2 x55 back 2 R0*2 x55 back 3 again. No record of this land uses it."
  },
  {
   "address": 39622,
   "type": "line",
   "text": "Horizontal movement path 27 ($C282; R/L and pixels a frame, 0 a frame standing, xN back B a repeat, again = $10 start again): R2 x55 back 2 L0*2 x55 back 3 again. No record of this land uses it."
  },
  {
   "address": 39630,
   "type": "line",
   "text": "Horizontal movement path 24 ($C282; R/L and pixels a frame, 0 a frame standing, xN back B a repeat, again = $10 start again): L3 x55 back 2 R0*2 x55 back 3 again. No record of this land uses it."
  },
  {
   "address": 39638,
   "type": "line",
   "text": "Horizontal movement path 25 ($C282; R/L and pixels a frame, 0 a frame standing, xN back B a repeat, again = $10 start again): R3 x55 back 2 L0*2 x55 back 3 again. No record of this land uses it."
  },
  {
   "address": 39646,
   "type": "line",
   "text": "Horizontal movement path 28 ($C282; R/L and pixels a frame, 0 a frame standing, xN back B a repeat, again = $10 start again): R1 R0*3 x9 back 5 L0 x3 back 2 L1 L0*3 x19 back 5 R0 x3 back 2 R1 R0*3 x9 back 5 again. No record of this land uses it. Also: Vertical movement path 1 ($C42A; down/up and pixels a frame, 0 a frame standing, xN back B a repeat, again = $10 start again): down1 down0*3 x9 back 5 up0 x3 back 2 up1 up0*3 x19 back 5 down0 x3 back 2 down1 down0*3 x9 back 5 again. No record of this land uses it."
  },
  {
   "address": 39671,
   "type": "line",
   "text": "Vertical movement path 2 ($C42A; down/up and pixels a frame, 0 a frame standing, xN back B a repeat, again = $10 start again): up1 up0*3 x9 back 5 down0 x3 back 2 down1 down0*3 x19 back 5 up0 x3 back 2 up1 up0*3 x9 back 5 again. No record of this land uses it."
  },
  {
   "address": 39696,
   "type": "line",
   "text": "Vertical movement path 3 ($C42A; down/up and pixels a frame, 0 a frame standing, xN back B a repeat, again = $10 start again): down1 down0 x9 back 3 up0 x3 back 2 up1 up0 x19 back 3 down0 x3 back 2 down1 down0 x9 back 3 again. No record of this land uses it."
  },
  {
   "address": 39715,
   "type": "line",
   "text": "Vertical movement path 4 ($C42A; down/up and pixels a frame, 0 a frame standing, xN back B a repeat, again = $10 start again): up1 up0 x9 back 3 down0 x3 back 2 down1 down0 x19 back 3 up0 x3 back 2 up1 up0 x9 back 3 again. No record of this land uses it."
  },
  {
   "address": 39734,
   "type": "line",
   "text": "Vertical movement path 5 ($C42A; down/up and pixels a frame, 0 a frame standing, xN back B a repeat, again = $10 start again): up1 up0 x17 back 3 down0 x3 back 2 down1 down0 x23 back 3 up0 x51 back 2 up1 up0 x5 back 3 again. No record of this land uses it."
  },
  {
   "address": 39753,
   "type": "line",
   "text": "Vertical movement path 6 ($C42A; down/up and pixels a frame, 0 a frame standing, xN back B a repeat, again = $10 start again): down1 down0 x5 back 3 up0 x51 back 2 up1 up0 x23 back 3 down0 x3 back 2 down1 down0 x17 back 3 again. Used by object records 101."
  },
  {
   "address": 39772,
   "type": "line",
   "text": "Vertical movement path 7 ($C42A; down/up and pixels a frame, 0 a frame standing, xN back B a repeat, again = $10 start again): up1 up0 x17 back 3 down0 x3 back 2 down1 down0 x35 back 3 up0 x3 back 2 up1 up0 x17 back 3 again. No record of this land uses it."
  },
  {
   "address": 39791,
   "type": "line",
   "text": "Vertical movement path 8 ($C42A; down/up and pixels a frame, 0 a frame standing, xN back B a repeat, again = $10 start again): down1 down0 x17 back 3 up0 x3 back 2 up1 up0 x35 back 3 down0 x3 back 2 down1 down0 x17 back 3 again. No record of this land uses it."
  },
  {
   "address": 39810,
   "type": "line",
   "text": "Vertical movement path 9 ($C42A; down/up and pixels a frame, 0 a frame standing, xN back B a repeat, again = $10 start again): up1 up0 x25 back 3 down0 x3 back 2 down1 down0 x25 back 3 down0*2 x53 back 3 again. Used by object records 35, 36."
  },
  {
   "address": 39826,
   "type": "line",
   "text": "Vertical movement path 10 ($C42A; down/up and pixels a frame, 0 a frame standing, xN back B a repeat, again = $10 start again): down0*2 x53 back 3 up1 up0 x25 back 3 down0 x3 back 2 down1 down0 x25 back 3 again. No record of this land uses it."
  },
  {
   "address": 39842,
   "type": "line",
   "text": "Vertical movement path 11 ($C42A; down/up and pixels a frame, 0 a frame standing, xN back B a repeat, again = $10 start again): down1 down0 x25 back 3 up0 x3 back 2 up1 up0 x25 back 3 down0*2 x53 back 3 again. No record of this land uses it."
  },
  {
   "address": 39858,
   "type": "line",
   "text": "Vertical movement path 12 ($C42A; down/up and pixels a frame, 0 a frame standing, xN back B a repeat, again = $10 start again): down0*2 x53 back 3 down1 down0 x25 back 3 up0 x3 back 2 up1 up0 x25 back 3 again. Used by object records 102."
  },
  {
   "address": 39874,
   "type": "line",
   "text": "Vertical movement path 13 ($C42A; down/up and pixels a frame, 0 a frame standing, xN back B a repeat, again = $10 start again): up1 x17 back 2 down0 x3 back 2 down1 x35 back 2 up0 x3 back 2 up1 x17 back 2 again. No record of this land uses it."
  },
  {
   "address": 39890,
   "type": "line",
   "text": "Vertical movement path 14 ($C42A; down/up and pixels a frame, 0 a frame standing, xN back B a repeat, again = $10 start again): down1 x17 back 2 up0 x3 back 2 up1 x35 back 2 down0 x3 back 2 down1 x17 back 2 again. No record of this land uses it."
  },
  {
   "address": 39906,
   "type": "line",
   "text": "Vertical movement path 15 ($C42A; down/up and pixels a frame, 0 a frame standing, xN back B a repeat, again = $10 start again): down0 x12 back 2 up1 x12 back 2 down0 x3 back 2 down1 x12 back 2 down0*2 x33 back 3 down0 again. Used by object records 37."
  },
  {
   "address": 39924,
   "type": "line",
   "text": "Vertical movement path 16 ($C42A; down/up and pixels a frame, 0 a frame standing, xN back B a repeat, again = $10 start again): down0*2 x33 back 3 down0 up1 x12 back 2 down0 x3 back 2 down1 x12 back 2 down0 x12 back 2 again. No record of this land uses it."
  },
  {
   "address": 39942,
   "type": "line",
   "text": "Vertical movement path 17 ($C42A; down/up and pixels a frame, 0 a frame standing, xN back B a repeat, again = $10 start again): up3*2 up2 up3 up2*2 up1 up2 up1*2 up2 up1 up0*2 up1 up0 up1 up0 .... Used by object records 0, 2, 4, 22, 24, 69, 80, 122."
  },
  {
   "address": 39982,
   "type": "line",
   "text": "Vertical movement path 18 ($C42A; down/up and pixels a frame, 0 a frame standing, xN back B a repeat, again = $10 start again): down0 x30 back 2 down1 down0 x3 back 3 down1*2 down0 x2 back 4 down0 x11 back 2 again. Used by object records 86."
  },
  {
   "address": 39998,
   "type": "line",
   "text": "Vertical movement path 19 ($C42A; down/up and pixels a frame, 0 a frame standing, xN back B a repeat, again = $10 start again): up4*2 up3 up4 up3*2 up2 up3 up2 up1 up2 up1 up0 up1 down0*3 down1 .... No record of this land uses it."
  },
  {
   "address": 40033,
   "type": "line",
   "text": "Vertical movement path 20 ($C42A; down/up and pixels a frame, 0 a frame standing, xN back B a repeat, again = $10 start again): up3 up4 up3*2 up2 up3 up2 up1 up2 up1 up0 up1 down0*3 down1 down0 .... Used by object records 92, 119."
  },
  {
   "address": 40061,
   "type": "line",
   "text": "Vertical movement path 21 ($C42A; down/up and pixels a frame, 0 a frame standing, xN back B a repeat, again = $10 start again): up6 up5 up6 up5*2 up4 up5 up4*2 up3 up4 up3*2 up2 up3 up2 up1 .... Used by object records 42."
  },
  {
   "address": 40107,
   "type": "line",
   "text": "Vertical movement path 22 ($C42A; down/up and pixels a frame, 0 a frame standing, xN back B a repeat, again = $10 start again): up3 up4 up3*2 up2 up3 up2 up1 up2 up1 up0 up1 down0*3 down1 down0 .... No record of this land uses it."
  },
  {
   "address": 40154,
   "type": "line",
   "text": "Vertical movement path 23 ($C42A; down/up and pixels a frame, 0 a frame standing, xN back B a repeat, again = $10 start again): down0 x32 back 2 down1 down0 x2 back 3 down1*2 down2 x2 back 4 down0 x11 back 2 again. No record of this land uses it."
  },
  {
   "address": 40170,
   "type": "line",
   "text": "Vertical movement path 24 ($C42A; down/up and pixels a frame, 0 a frame standing, xN back B a repeat, again = $10 start again): up3 up4 up3*2 up2 up3 up2 up1 up2 up1 up0 up1 down0*3 down1 down0 .... No record of this land uses it."
  },
  {
   "address": 40237,
   "type": "line",
   "text": "Vertical movement path 25 ($C42A; down/up and pixels a frame, 0 a frame standing, xN back B a repeat, again = $10 start again): up6 up5 up4 up3 up2 up3 up2 up1 up2 up1 up0 up1 down0*2 down1 .... No record of this land uses it."
  },
  {
   "address": 40269,
   "type": "line",
   "text": "Vertical movement path 26 ($C42A; down/up and pixels a frame, 0 a frame standing, xN back B a repeat, again = $10 start again): down1 down0*2 down1 down0 x3 back 2 up1 down0*2 up1 down0 x3 back 2 again. Used by object records 21, 29, 38, 68, 74, 75, 78."
  },
  {
   "address": 40284,
   "type": "line",
   "text": "Vertical path numbers 27, 28, 29, 30, 31, 32, 33 also point here, past the last vertical path; no record of this land uses them. Also: Animation script 4 ($C8A0; frame numbers, loop = 0 start again, end = 1, hold = 2): $96 $97 $98 $97 loop."
  },
  {
   "address": 40289,
   "type": "line",
   "text": "Animation script 5 ($C8A0; frame numbers, loop = 0 start again, end = 1, hold = 2): $9A $9B $9C $9B loop."
  },
  {
   "address": 40294,
   "type": "line",
   "text": "Animation script 6 ($C8A0; frame numbers, loop = 0 start again, end = 1, hold = 2): $99 loop."
  },
  {
   "address": 40296,
   "type": "line",
   "text": "Animation script 7 ($C8A0; frame numbers, loop = 0 start again, end = 1, hold = 2): $C9 $CA*2 $CB $CC*3 loop."
  },
  {
   "address": 40304,
   "type": "line",
   "text": "Animation script 8 ($C8A0; frame numbers, loop = 0 start again, end = 1, hold = 2): $C3 $C4*2 $C5 $C6*3 loop."
  },
  {
   "address": 40312,
   "type": "line",
   "text": "Animation script 9 ($C8A0; frame numbers, loop = 0 start again, end = 1, hold = 2): $C2*2 $C7 $C8*2 loop."
  },
  {
   "address": 40318,
   "type": "line",
   "text": "Animation script 10 ($C8A0; frame numbers, loop = 0 start again, end = 1, hold = 2): $C8*2 $C7 $C2*2 loop."
  },
  {
   "address": 40324,
   "type": "line",
   "text": "Animation script 11 ($C8A0; frame numbers, loop = 0 start again, end = 1, hold = 2): $C2 loop."
  },
  {
   "address": 40326,
   "type": "line",
   "text": "Animation script 12 ($C8A0; frame numbers, loop = 0 start again, end = 1, hold = 2): $C8 loop."
  },
  {
   "address": 40328,
   "type": "line",
   "text": "Animation script 13 ($C8A0; frame numbers, loop = 0 start again, end = 1, hold = 2): $94 loop."
  },
  {
   "address": 40330,
   "type": "line",
   "text": "Animation script 14 ($C8A0; frame numbers, loop = 0 start again, end = 1, hold = 2): $95 loop."
  },
  {
   "address": 40332,
   "type": "line",
   "text": "Animation script 15 ($C8A0; frame numbers, loop = 0 start again, end = 1, hold = 2): $A3 $A4 $A3 $A2 loop."
  },
  {
   "address": 40337,
   "type": "line",
   "text": "Animation script 16 ($C8A0; frame numbers, loop = 0 start again, end = 1, hold = 2): $A0 $A1 $A0 $9F loop."
  },
  {
   "address": 40342,
   "type": "line",
   "text": "Animation script 17 ($C8A0; frame numbers, loop = 0 start again, end = 1, hold = 2): $A5 loop."
  },
  {
   "address": 40344,
   "type": "line",
   "text": "Animation script 18 ($C8A0; frame numbers, loop = 0 start again, end = 1, hold = 2): $81 loop."
  },
  {
   "address": 40346,
   "type": "line",
   "text": "Animation script 19 ($C8A0; frame numbers, loop = 0 start again, end = 1, hold = 2): $7B behaviour $FE $7C $7D $7E $7F behaviour $FC $0F*2 repeat 31 ($03) loop."
  },
  {
   "address": 40360,
   "type": "line",
   "text": "Animation script 20 ($C8A0; frame numbers, loop = 0 start again, end = 1, hold = 2): $0F loop."
  },
  {
   "address": 40362,
   "type": "line",
   "text": "Animation script 21 ($C8A0; frame numbers, loop = 0 start again, end = 1, hold = 2): $6F $70 $71 $70 loop."
  },
  {
   "address": 40367,
   "type": "line",
   "text": "Animation script 22 ($C8A0; frame numbers, loop = 0 start again, end = 1, hold = 2): $6B $6C $6D $6C loop."
  },
  {
   "address": 40372,
   "type": "line",
   "text": "Animation script 23 ($C8A0; frame numbers, loop = 0 start again, end = 1, hold = 2): $6E loop."
  },
  {
   "address": 40374,
   "type": "line",
   "text": "Animation script 24 ($C8A0; frame numbers, loop = 0 start again, end = 1, hold = 2): $72 $73 $74 $73 loop."
  },
  {
   "address": 40379,
   "type": "line",
   "text": "Animation script 25 ($C8A0; frame numbers, loop = 0 start again, end = 1, hold = 2): $76 $77 $78 $77 loop."
  },
  {
   "address": 40384,
   "type": "line",
   "text": "Animation script 26 ($C8A0; frame numbers, loop = 0 start again, end = 1, hold = 2): $75 loop."
  },
  {
   "address": 40386,
   "type": "line",
   "text": "Animation script 27 ($C8A0; frame numbers, loop = 0 start again, end = 1, hold = 2): $0F $68 $69 $6A loop."
  },
  {
   "address": 40391,
   "type": "line",
   "text": "Animation script 28 ($C8A0; frame numbers, loop = 0 start again, end = 1, hold = 2): $97 hold $9E repeat 3 ($02) loop."
  },
  {
   "address": 40397,
   "type": "line",
   "text": "Animation script 29 ($C8A0; frame numbers, loop = 0 start again, end = 1, hold = 2): $9B hold $9D repeat 3 ($02) loop."
  },
  {
   "address": 40403,
   "type": "line",
   "text": "Animation script 30 ($C8A0; frame numbers, loop = 0 start again, end = 1, hold = 2): $97 hold $9E loop."
  },
  {
   "address": 40407,
   "type": "line",
   "text": "Animation script 31 ($C8A0; frame numbers, loop = 0 start again, end = 1, hold = 2): $9B hold $9D loop."
  },
  {
   "address": 40411,
   "type": "line",
   "text": "Animation script 32 ($C8A0; frame numbers, loop = 0 start again, end = 1, hold = 2): $D5 hold $D4 repeat 2 ($02) loop."
  },
  {
   "address": 40417,
   "type": "line",
   "text": "Animation script 33 ($C8A0; frame numbers, loop = 0 start again, end = 1, hold = 2): $D7 hold $D8 repeat 2 ($02) loop."
  },
  {
   "address": 40423,
   "type": "line",
   "text": "Animation script 34 ($C8A0; frame numbers, loop = 0 start again, end = 1, hold = 2): $D6 loop."
  },
  {
   "address": 40425,
   "type": "line",
   "text": "Animation script 35 ($C8A0; frame numbers, loop = 0 start again, end = 1, hold = 2): $DE hold $DF repeat 3 ($02) loop."
  },
  {
   "address": 40431,
   "type": "line",
   "text": "Animation script 36 ($C8A0; frame numbers, loop = 0 start again, end = 1, hold = 2): $DC hold $DD repeat 3 ($02) loop."
  },
  {
   "address": 40437,
   "type": "line",
   "text": "Animation script 37 ($C8A0; frame numbers, loop = 0 start again, end = 1, hold = 2): $DB loop."
  },
  {
   "address": 40439,
   "type": "line",
   "text": "Animation script 38 ($C8A0; frame numbers, loop = 0 start again, end = 1, hold = 2): $B4 $B5 $B6 $B5 loop."
  },
  {
   "address": 40444,
   "type": "line",
   "text": "Animation script 39 ($C8A0; frame numbers, loop = 0 start again, end = 1, hold = 2): $B8 $B9 $BA $B9 loop."
  },
  {
   "address": 40449,
   "type": "line",
   "text": "Animation script 40 ($C8A0; frame numbers, loop = 0 start again, end = 1, hold = 2): $B7 loop."
  },
  {
   "address": 40451,
   "type": "line",
   "text": "Animation script 41 ($C8A0; frame numbers, loop = 0 start again, end = 1, hold = 2): $AE $B0 $B2 $B0 loop."
  },
  {
   "address": 40456,
   "type": "line",
   "text": "Animation script 42 ($C8A0; frame numbers, loop = 0 start again, end = 1, hold = 2): $AF $B1 $B3 $B1 loop."
  },
  {
   "address": 40461,
   "type": "line",
   "text": "Animation script 43 ($C8A0; frame numbers, loop = 0 start again, end = 1, hold = 2): $A6 $A8 $AA $A8 loop."
  },
  {
   "address": 40466,
   "type": "line",
   "text": "Animation script 44 ($C8A0; frame numbers, loop = 0 start again, end = 1, hold = 2): $A7 $A9 $AB $A9 loop."
  },
  {
   "address": 40471,
   "type": "line",
   "text": "Animation script 45 ($C8A0; frame numbers, loop = 0 start again, end = 1, hold = 2): $AC loop."
  },
  {
   "address": 40473,
   "type": "line",
   "text": "Animation script 46 ($C8A0; frame numbers, loop = 0 start again, end = 1, hold = 2): $AD loop."
  },
  {
   "address": 40475,
   "type": "line",
   "text": "Animation script 47 ($C8A0; frame numbers, loop = 0 start again, end = 1, hold = 2): $D9 loop."
  },
  {
   "address": 40477,
   "type": "line",
   "text": "Animation script 48 ($C8A0; frame numbers, loop = 0 start again, end = 1, hold = 2): $DA loop."
  },
  {
   "address": 40479,
   "type": "line",
   "text": "Animation script 49 ($C8A0; frame numbers, loop = 0 start again, end = 1, hold = 2): $70 loop."
  },
  {
   "address": 40481,
   "type": "line",
   "text": "Animation script 50 ($C8A0; frame numbers, loop = 0 start again, end = 1, hold = 2): $6C loop."
  },
  {
   "address": 40483,
   "type": "line",
   "text": "Animation script 51 ($C8A0; frame numbers, loop = 0 start again, end = 1, hold = 2): $D1 $D2 $D3 $D2 loop."
  },
  {
   "address": 40488,
   "type": "line",
   "text": "Animation script 52 ($C8A0; frame numbers, loop = 0 start again, end = 1, hold = 2): $CD $CE $CF $CE loop."
  },
  {
   "address": 40493,
   "type": "line",
   "text": "Animation script 53 ($C8A0; frame numbers, loop = 0 start again, end = 1, hold = 2): $D0 loop."
  },
  {
   "address": 40495,
   "type": "line",
   "text": "Animation script 54 ($C8A0; frame numbers, loop = 0 start again, end = 1, hold = 2): $BB $BC $BD $BC loop."
  },
  {
   "address": 40500,
   "type": "line",
   "text": "Animation script 55 ($C8A0; frame numbers, loop = 0 start again, end = 1, hold = 2): $BF $C0 $C1 $C0 loop."
  },
  {
   "address": 40505,
   "type": "line",
   "text": "Animation script 56 ($C8A0; frame numbers, loop = 0 start again, end = 1, hold = 2): $BE loop."
  },
  {
   "address": 40507,
   "type": "line",
   "text": "Animation script 57 ($C8A0; frame numbers, loop = 0 start again, end = 1, hold = 2): $8C $8D $0F repeat 15 ($02) loop."
  },
  {
   "address": 40513,
   "type": "line",
   "text": "Colour list 2 ($B68D; colours, a byte of $10 or more starts it again): $0A $08 $0A $08 $01 $07 $0A $08 $0A $08 $01 $07 $0A $08, then $10."
  },
  {
   "address": 40528,
   "type": "line",
   "text": "Colour list 3 ($B68D; colours, a byte of $10 or more starts it again): $01 $03 $0E $06 $0E $06 $01 $03 $0E $06 $0E $06 $0E $06, then $10."
  },
  {
   "address": 40543,
   "type": "line",
   "text": "Colour list 4 ($B68D; colours, a byte of $10 or more starts it again): $01 $01 $01 $01 $0D $03 $0E $06, then $10."
  },
  {
   "address": 40552,
   "type": "line",
   "text": "Colour list 5 ($B68D; colours, a byte of $10 or more starts it again): $0E $03 $01 $01 $01 $0D $0D $03 $0E $04 $06, then $10."
  },
  {
   "address": 40564,
   "type": "line",
   "text": "Colour list 6 ($B68D; colours, a byte of $10 or more starts it again): $02 $0A $07 $01 $01 $0D $03 $05 $0E $04 $06, then $10."
  },
  {
   "address": 40576,
   "type": "line",
   "text": "Colour list 7 ($B68D; colours, a byte of $10 or more starts it again): $05 $0D $01 $01 $01 $0D $0D $03 $05 $05 $0B, then $10."
  },
  {
   "address": 40588,
   "type": "line",
   "text": "Colour list 8 ($B68D; colours, a byte of $10 or more starts it again): $0C $0F $01 $01 $01 $0F $0F $0C $0C $0B $0B, then $10."
  },
  {
   "address": 40600,
   "type": "line",
   "text": "Animation script 0 ($C8A0; frame numbers, loop = 0 start again, end = 1, hold = 2): $79 $7A $7B $7C $7D $7E $7F $80 end."
  },
  {
   "address": 40609,
   "type": "line",
   "text": "Colour list 0 ($B68D; colours, a byte of $10 or more starts it again): $01 $01 $01 $01 $07 $07 $0F $0A, then $10."
  },
  {
   "address": 40618,
   "type": "line",
   "text": "Animation script 1 ($C8A0; frame numbers, loop = 0 start again, end = 1, hold = 2): $81 $82 $83 $84 $85 $86 $87 $88 $89 $8A $8B end."
  },
  {
   "address": 40630,
   "type": "line",
   "text": "Colour list 1 ($B68D; colours, a byte of $10 or more starts it again): $0C $0F $01 $01 $01 $07 $07 $0A $08 $02 $09, then $10."
  },
  {
   "address": 40642,
   "type": "line",
   "text": "Animation script 2, 3 ($C8A0; frame numbers, loop = 0 start again, end = 1, hold = 2): $0F end."
  },
  {
   "address": 40644,
   "type": "line",
   "text": "122 bytes equal to Jellyland's file at the same addresses (there: Jellyland's title code (cheat check $9EF9, top score $9E54)); nothing in the engine reads or runs them here: left over from the build."
  },
  {
   "address": 40766,
   "type": "line",
   "text": "194 bytes equal to Jellyland's file at the same addresses (there: zero fill); nothing in the engine reads or runs them here: left over from the build."
  },
  {
   "address": 40960,
   "type": "line",
   "text": "Object record 0, gap 4 map columns from the previous one (byte 13): slot 10, type 2 sad / 4 happy (bytes 3 and 7), Y $BD, paths 12/17, behaviour 0. Bytes $0A $30 $44 $02 $2C $49 $BD $04 $01 $10 $01 $4C $00 $04 $20."
  },
  {
   "address": 40975,
   "type": "line",
   "text": "Object record 1, gap 9 map columns from the previous one (byte 13): slot 0, script 4 sad / 6 happy (bytes 3 and 7; byte 5 bits 6-7 both set, so they name an animation script, $E8A0), Y $5D, paths 0/0, behaviour 0, item 6 (in the happy land; $903A). Bytes $00 $00 $00 $04 $16 $C9 $5D $06 $80 $00 $41 $04 $00 $09 $00."
  },
  {
   "address": 40990,
   "type": "line",
   "text": "Object record 2, gap 7 map columns from the previous one (byte 13): slot 11, type 2 sad / 4 happy (bytes 3 and 7), Y $BD, paths 12/17, behaviour 0. Bytes $0B $30 $45 $02 $2A $49 $BD $04 $01 $00 $01 $00 $00 $07 $60."
  },
  {
   "address": 41005,
   "type": "line",
   "text": "Object record 3, gap 9 map columns from the previous one (byte 13): slot 1, script 6 sad / 6 happy (bytes 3 and 7; byte 5 bits 6-7 both set, so they name an animation script, $E8A0), Y $5D, paths 0/0, behaviour 0, item 5 (in the happy land; $903A). Bytes $01 $00 $00 $06 $15 $C9 $5D $06 $80 $00 $41 $04 $00 $09 $00."
  },
  {
   "address": 41020,
   "type": "line",
   "text": "Object record 4, gap 46 map columns from the previous one (byte 13): slot 12, type 2 sad / 4 happy (bytes 3 and 7), Y $BD, paths 12/17, behaviour 0. Bytes $0C $30 $45 $02 $2E $49 $BD $04 $01 $00 $01 $00 $00 $2E $40."
  },
  {
   "address": 41035,
   "type": "line",
   "text": "Object record 5, gap 1 map columns from the previous one (byte 13): slot 5, script 2 sad / 6 happy (bytes 3 and 7; byte 5 bits 6-7 both set, so they name an animation script, $E8A0), Y $9D, paths 0/0, behaviour 0, item 6 (in the happy land; $903A). Bytes $05 $00 $00 $02 $16 $C9 $9D $06 $80 $00 $41 $04 $00 $01 $00."
  },
  {
   "address": 41050,
   "type": "line",
   "text": "Object record 6, gap 15 map columns from the previous one (byte 13): slot 13, script 20 sad / 20 happy (bytes 3 and 7; byte 5 bits 6-7 both set, so they name an animation script, $E8A0), Y $C8, paths 0/0, behaviour 8. Bytes $0D $00 $01 $14 $2E $C9 $C8 $14 $01 $08 $01 $00 $00 $0F $40."
  },
  {
   "address": 41065,
   "type": "line",
   "text": "Object record 7, gap 1 map columns from the previous one (byte 13): slot 6, script 2 sad / 1 happy (bytes 3 and 7; byte 5 bits 6-7 both set, so they name an animation script, $E8A0), Y $BD, paths 0/0, behaviour 0, item 1 (in the happy land; $903A). Bytes $06 $00 $00 $02 $11 $C9 $BD $01 $80 $00 $41 $04 $00 $01 $00."
  },
  {
   "address": 41080,
   "type": "line",
   "text": "Object record 8, gap 14 map columns from the previous one (byte 13): slot 14, script 20 sad / 20 happy (bytes 3 and 7; byte 5 bits 6-7 both set, so they name an animation script, $E8A0), Y $C8, paths 0/0, behaviour 8. Bytes $0E $00 $01 $14 $2E $C9 $C8 $14 $01 $08 $01 $00 $00 $0E $40."
  },
  {
   "address": 41095,
   "type": "line",
   "text": "Object record 9, gap 1 map columns from the previous one (byte 13): slot 0, type 1 sad / 1 happy (bytes 3 and 7), Y $5D, paths 7/0, behaviour 1. Bytes $00 $1C $01 $01 $4E $49 $5D $01 $01 $01 $01 $11 $00 $01 $40."
  },
  {
   "address": 41110,
   "type": "line",
   "text": "Object record 10, gap 41 map columns from the previous one (byte 13): slot 11, type 20 sad / 20 happy (bytes 3 and 7), Y $BD, paths 6/0, behaviour 0. Bytes $0B $18 $01 $14 $2E $49 $BD $14 $01 $D0 $25 $0C $00 $29 $20."
  },
  {
   "address": 41125,
   "type": "line",
   "text": "Object record 11, gap 20 map columns from the previous one (byte 13): slot 1, type 6 sad / 6 happy (bytes 3 and 7), Y $4D, paths 3/0, behaviour 1. Bytes $01 $0C $01 $06 $08 $49 $4D $06 $01 $01 $02 $10 $00 $14 $40."
  },
  {
   "address": 41140,
   "type": "line",
   "text": "Object record 12, gap 2 map columns from the previous one (byte 13): slot 2, script 5 sad / 5 happy (bytes 3 and 7; byte 5 bits 6-7 both set, so they name an animation script, $E8A0), Y $44, paths 0/0, behaviour 0, item 5 (in the happy land; $903A). Bytes $02 $00 $00 $05 $15 $C9 $44 $05 $80 $00 $41 $04 $00 $02 $00."
  },
  {
   "address": 41155,
   "type": "line",
   "text": "Object record 13, gap 1 map columns from the previous one (byte 13): slot 12, type 8 sad / 13 happy (bytes 3 and 7), Y $A8, paths 7/0, behaviour 7. Bytes $0C $1C $00 $08 $2E $59 $A8 $0D $11 $A7 $26 $51 $00 $01 $00."
  },
  {
   "address": 41170,
   "type": "line",
   "text": "Object record 14, gap 37 map columns from the previous one (byte 13): slot 14, type 8 sad / 14 happy (bytes 3 and 7), Y $A8, paths 7/0, behaviour 7. Bytes $0E $1C $01 $C8 $2E $59 $A8 $CE $11 $A7 $06 $51 $00 $25 $0C."
  },
  {
   "address": 41185,
   "type": "line",
   "text": "Object record 15, gap 1 map columns from the previous one (byte 13): slot 10, script 13 sad / 13 happy (bytes 3 and 7; byte 5 bits 6-7 both set, so they name an animation script, $E8A0), Y $9D, paths 0/0, behaviour 15. Bytes $0A $00 $00 $0D $0C $C9 $9D $0D $21 $0F $21 $04 $00 $01 $00."
  },
  {
   "address": 41200,
   "type": "line",
   "text": "Object record 16, gap 7 map columns from the previous one (byte 13): slot 13, script 27 sad / 27 happy (bytes 3 and 7; byte 5 bits 6-7 both set, so they name an animation script, $E8A0), Y $9D, paths 0/0, behaviour 0. Bytes $0D $00 $00 $DB $01 $C9 $9D $DB $20 $00 $21 $04 $00 $07 $0A."
  },
  {
   "address": 41215,
   "type": "line",
   "text": "Object record 17, gap 12 map columns from the previous one (byte 13): slot 11, type 1 sad / 1 happy (bytes 3 and 7), Y $9D, paths 12/0, behaviour 0. Bytes $0B $30 $01 $01 $2A $49 $9D $01 $01 $10 $05 $00 $00 $0C $60."
  },
  {
   "address": 41230,
   "type": "line",
   "text": "Object record 18, gap 4 map columns from the previous one (byte 13): slot 4, script 2 sad / 2 happy (bytes 3 and 7; byte 5 bits 6-7 both set, so they name an animation script, $E8A0), Y $3D, paths 0/0, behaviour 0, item 2 (in the happy land; $903A). Bytes $04 $00 $00 $02 $12 $C9 $3D $02 $80 $00 $41 $04 $00 $04 $00."
  },
  {
   "address": 41245,
   "type": "line",
   "text": "Object record 19, gap 28 map columns from the previous one (byte 13): slot 3, type 6 sad / 6 happy (bytes 3 and 7), Y $4D, paths 3/0, behaviour 0. Bytes $03 $0C $01 $06 $08 $49 $4D $06 $01 $00 $02 $10 $00 $1C $40."
  },
  {
   "address": 41260,
   "type": "line",
   "text": "Object record 20, gap 4 map columns from the previous one (byte 13): slot 12, type 20 sad / 20 happy (bytes 3 and 7), Y $BD, paths 6/0, behaviour 0. Bytes $0C $18 $01 $14 $25 $49 $BD $14 $01 $C0 $25 $0C $00 $04 $90."
  },
  {
   "address": 41275,
   "type": "line",
   "text": "Object record 21, gap 22 map columns from the previous one (byte 13): slot 5, type 6 sad / 21 happy (bytes 3 and 7), Y $7D, paths 3/26, behaviour 8. Bytes $05 $0C $69 $06 $0A $49 $7D $15 $01 $08 $01 $10 $00 $16 $00."
  },
  {
   "address": 41290,
   "type": "line",
   "text": "Object record 22, gap 2 map columns from the previous one (byte 13): slot 14, type 4 sad / 4 happy (bytes 3 and 7), Y $BD, paths 12/17, behaviour 0. Bytes $0E $30 $44 $04 $2A $49 $BD $04 $01 $00 $05 $50 $00 $02 $40."
  },
  {
   "address": 41305,
   "type": "line",
   "text": "Object record 23, gap 6 map columns from the previous one (byte 13): slot 0, script 4 sad / 4 happy (bytes 3 and 7; byte 5 bits 6-7 both set, so they name an animation script, $E8A0), Y $44, paths 0/0, behaviour 0, item 4 (in the happy land; $903A). Bytes $00 $00 $00 $04 $14 $C9 $44 $04 $80 $00 $41 $04 $00 $06 $00."
  },
  {
   "address": 41320,
   "type": "line",
   "text": "Object record 24, gap 2 map columns from the previous one (byte 13): slot 10, type 4 sad / 4 happy (bytes 3 and 7), Y $BD, paths 12/17, behaviour 0. Bytes $0A $30 $44 $04 $28 $49 $BD $04 $01 $00 $05 $10 $00 $02 $C0."
  },
  {
   "address": 41335,
   "type": "line",
   "text": "Object record 25, gap 18 map columns from the previous one (byte 13): slot 1, script 2 sad / 2 happy (bytes 3 and 7; byte 5 bits 6-7 both set, so they name an animation script, $E8A0), Y $3D, paths 0/0, behaviour 0, item 2 (in the happy land; $903A). Bytes $01 $00 $00 $02 $12 $C9 $3D $02 $80 $00 $41 $04 $00 $12 $00."
  },
  {
   "address": 41350,
   "type": "line",
   "text": "Object record 26, gap 20 map columns from the previous one (byte 13): slot 2, type 6 sad / 6 happy (bytes 3 and 7), Y $4F, paths 4/0, behaviour 0. Bytes $02 $10 $01 $06 $0B $49 $4F $06 $01 $00 $01 $10 $00 $14 $20."
  },
  {
   "address": 41365,
   "type": "line",
   "text": "Object record 27, gap 1 map columns from the previous one (byte 13): slot 11, type 12 sad / 12 happy (bytes 3 and 7), Y $9D, paths 0/0, behaviour 2. Bytes $0B $00 $01 $0C $2A $61 $9D $0C $09 $12 $06 $11 $00 $01 $60."
  },
  {
   "address": 41380,
   "type": "line",
   "text": "Object record 28, gap 26 map columns from the previous one (byte 13): slot 13, type 5 sad / 5 happy (bytes 3 and 7), Y $9D, paths 19/0, behaviour 2, item 2 (in the happy land; $903A). Bytes $0D $4C $03 $05 $52 $49 $9D $05 $00 $12 $01 $15 $CB $1A $00."
  },
  {
   "address": 41395,
   "type": "line",
   "text": "Object record 29, gap 5 map columns from the previous one (byte 13): slot 12, type 6 sad / 21 happy (bytes 3 and 7), Y $C8, paths 7/26, behaviour 8. Bytes $0C $1C $69 $06 $0A $49 $C8 $15 $01 $08 $01 $10 $00 $05 $00."
  },
  {
   "address": 41410,
   "type": "line",
   "text": "Object record 30, gap 2 map columns from the previous one (byte 13): slot 14, script 2 sad / 2 happy (bytes 3 and 7; byte 5 bits 6-7 both set, so they name an animation script, $E8A0), Y $BD, paths 0/0, behaviour 0, item 2 (in the happy land; $903A). Bytes $0E $00 $00 $02 $12 $C9 $BD $02 $80 $00 $41 $04 $00 $02 $00."
  },
  {
   "address": 41425,
   "type": "line",
   "text": "Object record 31, gap 25 map columns from the previous one (byte 13): slot 3, script 2 sad / 2 happy (bytes 3 and 7; byte 5 bits 6-7 both set, so they name an animation script, $E8A0), Y $38, paths 0/0, behaviour 0, item 2 (in the happy land; $903A). Bytes $03 $00 $00 $02 $12 $C9 $38 $02 $80 $00 $41 $04 $00 $19 $00."
  },
  {
   "address": 41440,
   "type": "line",
   "text": "Object record 32, gap 1 map columns from the previous one (byte 13): slot 5, type 17 sad / 17 happy (bytes 3 and 7), Y $7D, paths 0/0, behaviour 10. Bytes $05 $00 $01 $11 $2A $61 $7D $11 $09 $1A $25 $15 $00 $01 $00."
  },
  {
   "address": 41455,
   "type": "line",
   "text": "Object record 33, gap 4 map columns from the previous one (byte 13): slot 6, type 19 sad / 19 happy (bytes 3 and 7), Y $7D, paths 19/0, behaviour 0. Bytes $06 $4C $03 $13 $4A $49 $7D $13 $01 $10 $00 $15 $95 $04 $00."
  },
  {
   "address": 41470,
   "type": "line",
   "text": "Object record 34, gap 19 map columns from the previous one (byte 13): slot 4, type 20 sad / 20 happy (bytes 3 and 7), Y $3D, paths 6/0, behaviour 0. Bytes $04 $18 $01 $14 $25 $49 $3D $14 $01 $C0 $06 $00 $00 $13 $90."
  },
  {
   "address": 41485,
   "type": "line",
   "text": "Object record 35, gap 12 map columns from the previous one (byte 13): slot 10, type 1 sad / 1 happy (bytes 3 and 7), Y $BD, paths 7/9, behaviour 1. Bytes $0A $1C $25 $01 $2A $49 $BD $01 $01 $11 $01 $00 $00 $0C $F0."
  },
  {
   "address": 41500,
   "type": "line",
   "text": "Object record 36, gap 3 map columns from the previous one (byte 13): slot 0, type 1 sad / 1 happy (bytes 3 and 7), Y $5D, paths 7/9, behaviour 1. Bytes $00 $1C $25 $01 $2E $49 $5D $01 $01 $01 $01 $00 $00 $03 $40."
  },
  {
   "address": 41515,
   "type": "line",
   "text": "Object record 37, gap 19 map columns from the previous one (byte 13): slot 1, type 1 sad / 15 happy (bytes 3 and 7), Y $5D, paths 10/15, behaviour 5. Bytes $01 $28 $3D $01 $2A $49 $5D $0F $01 $05 $01 $00 $00 $13 $00."
  },
  {
   "address": 41530,
   "type": "line",
   "text": "Object record 38, gap 28 map columns from the previous one (byte 13): slot 11, type 6 sad / 21 happy (bytes 3 and 7), Y $9D, paths 7/26, behaviour 8. Bytes $0B $1C $69 $06 $0A $49 $9D $15 $01 $08 $01 $10 $00 $1C $00."
  },
  {
   "address": 41545,
   "type": "line",
   "text": "Object record 39, gap 37 map columns from the previous one (byte 13): slot 2, type 0 sad / 0 happy (bytes 3 and 7), Y $3D, paths 2/0, behaviour 0. Bytes $02 $08 $01 $00 $2E $49 $3D $00 $01 $10 $25 $4D $00 $25 $B0."
  },
  {
   "address": 41560,
   "type": "line",
   "text": "Object record 40, gap 1 map columns from the previous one (byte 13): slot 3, script 13 sad / 13 happy (bytes 3 and 7; byte 5 bits 6-7 both set, so they name an animation script, $E8A0), Y $5D, paths 0/0, behaviour 14. Bytes $03 $00 $00 $0D $0C $C9 $5D $0D $31 $0E $21 $04 $00 $01 $00."
  },
  {
   "address": 41575,
   "type": "line",
   "text": "Object record 41, gap 13 map columns from the previous one (byte 13): slot 4, script 27 sad / 27 happy (bytes 3 and 7; byte 5 bits 6-7 both set, so they name an animation script, $E8A0), Y $5D, paths 0/0, behaviour 0. Bytes $04 $00 $00 $DB $01 $C9 $5D $DB $30 $00 $21 $04 $00 $0D $03."
  },
  {
   "address": 41590,
   "type": "line",
   "text": "Object record 42, gap 2 map columns from the previous one (byte 13): slot 0, type 11 sad / 11 happy (bytes 3 and 7), Y $7D, paths 7/21, behaviour 10. Bytes $00 $1C $57 $0B $2A $41 $7D $0B $0D $0A $25 $15 $00 $02 $00."
  },
  {
   "address": 41605,
   "type": "line",
   "text": "Object record 43, gap 28 map columns from the previous one (byte 13): slot 6, type 0 sad / 1 happy (bytes 3 and 7), Y $7D, paths 3/0, behaviour 2. Bytes $06 $0C $01 $00 $2A $41 $7D $01 $09 $12 $25 $17 $00 $1C $40."
  },
  {
   "address": 41620,
   "type": "line",
   "text": "Object record 44, gap 1 map columns from the previous one (byte 13): slot 12, script 36 sad / 36 happy (bytes 3 and 7; byte 5 bits 6-7 both set, so they name an animation script, $E8A0), Y $9D, paths 0/0, behaviour 2. Bytes $0C $00 $01 $24 $2A $C1 $9D $24 $09 $02 $05 $00 $00 $01 $00."
  },
  {
   "address": 41635,
   "type": "line",
   "text": "Object record 45, gap 11 map columns from the previous one (byte 13): slot 13, type 5 sad / 5 happy (bytes 3 and 7), Y $9D, paths 19/0, behaviour 3, item 2 (in the happy land; $903A). Bytes $0D $4C $03 $05 $52 $49 $9D $05 $00 $13 $01 $15 $9C $0B $00."
  },
  {
   "address": 41650,
   "type": "line",
   "text": "Object record 46, gap 16 map columns from the previous one (byte 13): slot 2, script 2 sad / 2 happy (bytes 3 and 7; byte 5 bits 6-7 both set, so they name an animation script, $E8A0), Y $55, paths 0/0, behaviour 0, item 2 (in the happy land; $903A). Bytes $02 $00 $00 $02 $12 $C9 $55 $02 $80 $00 $41 $04 $00 $10 $00."
  },
  {
   "address": 41665,
   "type": "line",
   "text": "Object record 47, gap 12 map columns from the previous one (byte 13): slot 1, script 2 sad / 2 happy (bytes 3 and 7; byte 5 bits 6-7 both set, so they name an animation script, $E8A0), Y $55, paths 0/0, behaviour 0, item 2 (in the happy land; $903A). Bytes $01 $00 $00 $02 $12 $C9 $55 $02 $80 $00 $41 $04 $00 $0C $00."
  },
  {
   "address": 41680,
   "type": "line",
   "text": "Object record 48, gap 1 map columns from the previous one (byte 13): slot 11, type 12 sad / 12 happy (bytes 3 and 7), Y $9D, paths 0/0, behaviour 2. Bytes $0B $00 $01 $0C $2A $61 $9D $0C $09 $12 $25 $1C $00 $01 $00."
  },
  {
   "address": 41695,
   "type": "line",
   "text": "Object record 49, gap 11 map columns from the previous one (byte 13): slot 14, type 5 sad / 5 happy (bytes 3 and 7), Y $9D, paths 19/0, behaviour 2, item 2 (in the happy land; $903A). Bytes $0E $4C $03 $05 $52 $49 $9D $05 $00 $12 $01 $15 $AB $0B $00."
  },
  {
   "address": 41710,
   "type": "line",
   "text": "Object record 50, gap 8 map columns from the previous one (byte 13): slot 3, script 2 sad / 2 happy (bytes 3 and 7; byte 5 bits 6-7 both set, so they name an animation script, $E8A0), Y $55, paths 0/0, behaviour 0, item 2 (in the happy land; $903A). Bytes $03 $00 $00 $02 $12 $C9 $55 $02 $80 $00 $41 $04 $00 $08 $00."
  },
  {
   "address": 41725,
   "type": "line",
   "text": "Object record 51, gap 8 map columns from the previous one (byte 13): slot 4, script 1 sad / 1 happy (bytes 3 and 7; byte 5 bits 6-7 both set, so they name an animation script, $E8A0), Y $3D, paths 0/0, behaviour 0, item 1 (in the happy land; $903A). Bytes $04 $00 $00 $01 $11 $C9 $3D $01 $80 $00 $41 $04 $00 $08 $00."
  },
  {
   "address": 41740,
   "type": "line",
   "text": "Object record 52, gap 12 map columns from the previous one (byte 13): slot 0, script 2 sad / 2 happy (bytes 3 and 7; byte 5 bits 6-7 both set, so they name an animation script, $E8A0), Y $55, paths 0/0, behaviour 0, item 2 (in the happy land; $903A). Bytes $00 $00 $00 $02 $12 $C9 $55 $02 $80 $00 $41 $04 $00 $0C $00."
  },
  {
   "address": 41755,
   "type": "line",
   "text": "Object record 53, gap 1 map columns from the previous one (byte 13): slot 10, script 35 sad / 35 happy (bytes 3 and 7; byte 5 bits 6-7 both set, so they name an animation script, $E8A0), Y $9D, paths 0/0, behaviour 2. Bytes $0A $00 $01 $23 $2A $C1 $9D $23 $09 $02 $05 $00 $00 $01 $00."
  },
  {
   "address": 41770,
   "type": "line",
   "text": "Object record 54, gap 19 map columns from the previous one (byte 13): slot 12, type 5 sad / 5 happy (bytes 3 and 7), Y $9D, paths 18/0, behaviour 2, item 2 (in the happy land; $903A). Bytes $0C $48 $03 $05 $52 $49 $9D $05 $00 $12 $01 $15 $BA $13 $00."
  },
  {
   "address": 41785,
   "type": "line",
   "text": "Object record 55, gap 4 map columns from the previous one (byte 13): slot 5, script 5 sad / 6 happy (bytes 3 and 7; byte 5 bits 6-7 both set, so they name an animation script, $E8A0), Y $3D, paths 0/0, behaviour 0, item 6 (in the happy land; $903A). Bytes $05 $00 $00 $05 $16 $C9 $3D $06 $80 $00 $41 $04 $00 $04 $00."
  },
  {
   "address": 41800,
   "type": "line",
   "text": "Object record 56, gap 15 map columns from the previous one (byte 13): slot 13, type 0 sad / 0 happy (bytes 3 and 7), Y $BD, paths 4/0, behaviour 2. Bytes $0D $10 $01 $00 $2A $41 $BD $00 $09 $02 $01 $11 $00 $0F $40."
  },
  {
   "address": 41815,
   "type": "line",
   "text": "Object record 57, gap 1 map columns from the previous one (byte 13): slot 11, script 33 sad / 33 happy (bytes 3 and 7; byte 5 bits 6-7 both set, so they name an animation script, $E8A0), Y $9D, paths 0/0, behaviour 8. Bytes $0B $00 $01 $21 $2A $C1 $9D $21 $09 $08 $25 $15 $00 $01 $00."
  },
  {
   "address": 41830,
   "type": "line",
   "text": "Object record 58, gap 23 map columns from the previous one (byte 13): slot 14, type 19 sad / 19 happy (bytes 3 and 7), Y $9D, paths 17/0, behaviour 1. Bytes $0E $44 $03 $13 $4A $49 $9D $13 $01 $11 $01 $15 $9B $17 $00."
  },
  {
   "address": 41845,
   "type": "line",
   "text": "Object record 59, gap 17 map columns from the previous one (byte 13): slot 6, type 1 sad / 1 happy (bytes 3 and 7), Y $7D, paths 5/0, behaviour 1. Bytes $06 $14 $01 $01 $0A $41 $7D $01 $09 $01 $01 $11 $00 $11 $60."
  },
  {
   "address": 41860,
   "type": "line",
   "text": "Object record 60, gap 4 map columns from the previous one (byte 13): slot 10, script 2 sad / 2 happy (bytes 3 and 7; byte 5 bits 6-7 both set, so they name an animation script, $E8A0), Y $9D, paths 0/0, behaviour 0, item 2 (in the happy land; $903A). Bytes $0A $00 $00 $02 $12 $C9 $9D $02 $80 $00 $41 $04 $00 $04 $00."
  },
  {
   "address": 41875,
   "type": "line",
   "text": "Object record 61, gap 3 map columns from the previous one (byte 13): slot 12, type 20 sad / 20 happy (bytes 3 and 7), Y $BD, paths 6/0, behaviour 0. Bytes $0C $18 $01 $14 $25 $49 $BD $14 $01 $D0 $05 $00 $00 $03 $90."
  },
  {
   "address": 41890,
   "type": "line",
   "text": "Object record 62, gap 29 map columns from the previous one (byte 13): slot 7, script 2 sad / 2 happy (bytes 3 and 7; byte 5 bits 6-7 both set, so they name an animation script, $E8A0), Y $7D, paths 0/0, behaviour 0, item 2 (in the happy land; $903A). Bytes $07 $00 $00 $02 $12 $C9 $7D $02 $80 $00 $41 $04 $00 $1D $00."
  },
  {
   "address": 41905,
   "type": "line",
   "text": "Object record 63, gap 2 map columns from the previous one (byte 13): slot 13, script 2 sad / 2 happy (bytes 3 and 7; byte 5 bits 6-7 both set, so they name an animation script, $E8A0), Y $BD, paths 0/0, behaviour 0, item 2 (in the happy land; $903A). Bytes $0D $00 $00 $02 $12 $C9 $BD $02 $80 $00 $41 $04 $00 $02 $00."
  },
  {
   "address": 41920,
   "type": "line",
   "text": "Object record 64, gap 6 map columns from the previous one (byte 13): slot 0, type 6 sad / 6 happy (bytes 3 and 7), Y $3D, paths 4/0, behaviour 0. Bytes $00 $10 $01 $06 $0C $49 $3D $06 $01 $00 $02 $10 $00 $06 $40."
  },
  {
   "address": 41935,
   "type": "line",
   "text": "Object record 65, gap 1 map columns from the previous one (byte 13): slot 11, script 13 sad / 13 happy (bytes 3 and 7; byte 5 bits 6-7 both set, so they name an animation script, $E8A0), Y $9D, paths 0/0, behaviour 13. Bytes $0B $00 $00 $0D $0C $C9 $9D $0D $21 $0D $21 $04 $00 $01 $00."
  },
  {
   "address": 41950,
   "type": "line",
   "text": "Object record 66, gap 2 map columns from the previous one (byte 13): slot 14, script 27 sad / 27 happy (bytes 3 and 7; byte 5 bits 6-7 both set, so they name an animation script, $E8A0), Y $9D, paths 0/0, behaviour 0. Bytes $0E $00 $00 $DB $01 $C9 $9D $DB $20 $00 $21 $04 $00 $02 $0B."
  },
  {
   "address": 41965,
   "type": "line",
   "text": "Object record 67, gap 25 map columns from the previous one (byte 13): slot 8, type 6 sad / 6 happy (bytes 3 and 7), Y $7B, paths 7/0, behaviour 0. Bytes $08 $1C $01 $06 $0C $49 $7B $06 $01 $00 $02 $10 $00 $19 $40."
  },
  {
   "address": 41980,
   "type": "line",
   "text": "Object record 68, gap 8 map columns from the previous one (byte 13): slot 4, type 6 sad / 6 happy (bytes 3 and 7), Y $3D, paths 10/26, behaviour 0. Bytes $04 $28 $69 $06 $0C $49 $3D $06 $01 $00 $01 $10 $00 $08 $40."
  },
  {
   "address": 41995,
   "type": "line",
   "text": "Object record 69, gap 14 map columns from the previous one (byte 13): slot 10, type 3 sad / 3 happy (bytes 3 and 7), Y $BD, paths 13/17, behaviour 0. Bytes $0A $34 $45 $03 $0E $49 $BD $03 $01 $00 $01 $10 $00 $0E $20."
  },
  {
   "address": 42010,
   "type": "line",
   "text": "Object record 70, gap 4 map columns from the previous one (byte 13): slot 1, type 2 sad / 2 happy (bytes 3 and 7), Y $3D, paths 10/0, behaviour 1. Bytes $01 $28 $01 $02 $2E $49 $3D $02 $01 $11 $05 $71 $00 $04 $00."
  },
  {
   "address": 42025,
   "type": "line",
   "text": "Object record 71, gap 2 map columns from the previous one (byte 13): slot 9, type 20 sad / 20 happy (bytes 3 and 7), Y $7D, paths 7/0, behaviour 0. Bytes $09 $1C $01 $14 $2E $49 $7D $14 $01 $C0 $05 $00 $00 $02 $40."
  },
  {
   "address": 42040,
   "type": "line",
   "text": "Object record 72, gap 4 map columns from the previous one (byte 13): slot 5, script 2 sad / 6 happy (bytes 3 and 7; byte 5 bits 6-7 both set, so they name an animation script, $E8A0), Y $BD, paths 0/0, behaviour 0, item 6 (in the happy land; $903A). Bytes $05 $00 $00 $02 $16 $C9 $BD $06 $80 $00 $41 $06 $00 $04 $00."
  },
  {
   "address": 42055,
   "type": "line",
   "text": "Object record 73, gap 18 map columns from the previous one (byte 13): slot 12, type 6 sad / 6 happy (bytes 3 and 7), Y $C9, paths 3/0, behaviour 8. Bytes $0C $0C $01 $06 $0C $49 $C9 $06 $01 $08 $01 $10 $00 $12 $40."
  },
  {
   "address": 42070,
   "type": "line",
   "text": "Object record 74, gap 2 map columns from the previous one (byte 13): slot 3, script 2 sad / 2 happy (bytes 3 and 7; byte 5 bits 6-7 both set, so they name an animation script, $E8A0), Y $35, paths 0/26, behaviour 0, item 2 (in the happy land; $903A). Bytes $03 $00 $68 $02 $12 $C9 $35 $02 $80 $00 $41 $04 $00 $02 $00."
  },
  {
   "address": 42085,
   "type": "line",
   "text": "Object record 75, gap 16 map columns from the previous one (byte 13): slot 6, type 6 sad / 21 happy (bytes 3 and 7), Y $7B, paths 7/26, behaviour 8. Bytes $06 $1C $69 $06 $0A $49 $7B $15 $01 $08 $01 $10 $00 $10 $00."
  },
  {
   "address": 42100,
   "type": "line",
   "text": "Object record 76, gap 1 map columns from the previous one (byte 13): slot 11, type 8 sad / 13 happy (bytes 3 and 7), Y $A8, paths 6/0, behaviour 7. Bytes $0B $18 $00 $08 $25 $59 $A8 $0D $11 $A7 $27 $51 $00 $01 $00."
  },
  {
   "address": 42115,
   "type": "line",
   "text": "Object record 77, gap 12 map columns from the previous one (byte 13): slot 13, type 8 sad / 14 happy (bytes 3 and 7), Y $A8, paths 6/0, behaviour 7. Bytes $0D $18 $01 $C8 $25 $59 $A8 $CE $11 $A7 $07 $51 $00 $0C $0B."
  },
  {
   "address": 42130,
   "type": "line",
   "text": "Object record 78, gap 15 map columns from the previous one (byte 13): slot 4, script 2 sad / 2 happy (bytes 3 and 7; byte 5 bits 6-7 both set, so they name an animation script, $E8A0), Y $35, paths 0/26, behaviour 0, item 2 (in the happy land; $903A). Bytes $04 $00 $68 $02 $12 $C9 $35 $02 $80 $00 $41 $04 $00 $0F $00."
  },
  {
   "address": 42145,
   "type": "line",
   "text": "Object record 79, gap 5 map columns from the previous one (byte 13): slot 8, script 2 sad / 2 happy (bytes 3 and 7; byte 5 bits 6-7 both set, so they name an animation script, $E8A0), Y $7B, paths 0/0, behaviour 0, item 2 (in the happy land; $903A). Bytes $08 $00 $00 $02 $12 $C9 $7B $02 $80 $00 $41 $04 $00 $05 $00."
  },
  {
   "address": 42160,
   "type": "line",
   "text": "Object record 80, gap 15 map columns from the previous one (byte 13): slot 14, type 3 sad / 3 happy (bytes 3 and 7), Y $BD, paths 13/17, behaviour 0. Bytes $0E $34 $45 $03 $0E $49 $BD $03 $01 $00 $01 $10 $00 $0F $20."
  },
  {
   "address": 42175,
   "type": "line",
   "text": "Object record 81, gap 1 map columns from the previous one (byte 13): slot 7, type 12 sad / 12 happy (bytes 3 and 7), Y $7D, paths 0/0, behaviour 2. Bytes $07 $00 $01 $0C $2A $61 $7D $0C $09 $12 $05 $00 $00 $01 $00."
  },
  {
   "address": 42190,
   "type": "line",
   "text": "Object record 82, gap 13 map columns from the previous one (byte 13): slot 9, type 5 sad / 5 happy (bytes 3 and 7), Y $7D, paths 19/0, behaviour 2, item 2 (in the happy land; $903A). Bytes $09 $4C $03 $05 $52 $49 $7D $05 $00 $12 $01 $15 $B7 $0D $00."
  },
  {
   "address": 42205,
   "type": "line",
   "text": "Object record 83, gap 18 map columns from the previous one (byte 13): slot 12, type 2 sad / 2 happy (bytes 3 and 7), Y $9D, paths 10/0, behaviour 1. Bytes $0C $28 $01 $02 $2A $49 $9D $02 $01 $01 $21 $76 $00 $12 $F0."
  },
  {
   "address": 42220,
   "type": "line",
   "text": "Object record 84, gap 16 map columns from the previous one (byte 13): slot 3, type 6 sad / 6 happy (bytes 3 and 7), Y $5D, paths 7/0, behaviour 0. Bytes $03 $1C $01 $06 $0B $49 $5D $06 $01 $00 $02 $10 $00 $10 $30."
  },
  {
   "address": 42235,
   "type": "line",
   "text": "Object record 85, gap 1 map columns from the previous one (byte 13): slot 11, type 12 sad / 12 happy (bytes 3 and 7), Y $BD, paths 0/0, behaviour 2. Bytes $0B $00 $01 $0C $4A $61 $BD $0C $09 $12 $25 $17 $00 $01 $60."
  },
  {
   "address": 42250,
   "type": "line",
   "text": "Object record 86, gap 3 map columns from the previous one (byte 13): slot 13, type 5 sad / 5 happy (bytes 3 and 7), Y $BD, paths 17/18, behaviour 0, item 2 (in the happy land; $903A). Bytes $0D $44 $4B $05 $52 $49 $BD $05 $00 $10 $01 $15 $9B $03 $00."
  },
  {
   "address": 42265,
   "type": "line",
   "text": "Object record 87, gap 6 map columns from the previous one (byte 13): slot 0, type 17 sad / 17 happy (bytes 3 and 7), Y $3D, paths 0/0, behaviour 10. Bytes $00 $00 $01 $11 $2A $61 $3D $11 $01 $0A $26 $76 $00 $06 $00."
  },
  {
   "address": 42280,
   "type": "line",
   "text": "Object record 88, gap 6 map columns from the previous one (byte 13): slot 2, script 5 sad / 5 happy (bytes 3 and 7; byte 5 bits 6-7 both set, so they name an animation script, $E8A0), Y $3D, paths 0/0, behaviour 0, item 5 (in the happy land; $903A). Bytes $02 $00 $00 $05 $15 $C9 $3D $05 $80 $00 $40 $04 $00 $06 $00."
  },
  {
   "address": 42295,
   "type": "line",
   "text": "Object record 89, gap 18 map columns from the previous one (byte 13): slot 1, type 17 sad / 17 happy (bytes 3 and 7), Y $3D, paths 0/0, behaviour 10. Bytes $01 $00 $01 $11 $2A $61 $3D $11 $01 $0A $26 $76 $00 $12 $00."
  },
  {
   "address": 42310,
   "type": "line",
   "text": "Object record 90, gap 4 map columns from the previous one (byte 13): slot 6, type 6 sad / 6 happy (bytes 3 and 7), Y $7D, paths 7/0, behaviour 0. Bytes $06 $1C $01 $06 $0B $49 $7D $06 $01 $00 $02 $10 $00 $04 $30."
  },
  {
   "address": 42311,
   "type": "line",
   "text": "Named by the engine's JMP $A547 ($3EA7 at game over, $F471 after a load), both taken only for level 0, Jellyland, whose title code starts there; in this land's file the address lies in the object list."
  },
  {
   "address": 42325,
   "type": "line",
   "text": "Object record 91, gap 16 map columns from the previous one (byte 13): slot 10, type 2 sad / 2 happy (bytes 3 and 7), Y $9D, paths 10/0, behaviour 1. Bytes $0A $28 $01 $02 $25 $49 $9D $02 $01 $01 $21 $76 $00 $10 $90."
  },
  {
   "address": 42340,
   "type": "line",
   "text": "Object record 92, gap 2 map columns from the previous one (byte 13): slot 3, type 11 sad / 11 happy (bytes 3 and 7), Y $5D, paths 0/20, behaviour 10. Bytes $03 $00 $51 $0B $2A $67 $5D $0B $01 $1A $25 $76 $00 $02 $00."
  },
  {
   "address": 42355,
   "type": "line",
   "text": "Object record 93, gap 2 map columns from the previous one (byte 13): slot 4, script 4 sad / 4 happy (bytes 3 and 7; byte 5 bits 6-7 both set, so they name an animation script, $E8A0), Y $5D, paths 0/0, behaviour 0, item 4 (in the happy land; $903A). Bytes $04 $00 $00 $04 $14 $C9 $5D $04 $80 $00 $41 $04 $00 $02 $00."
  },
  {
   "address": 42370,
   "type": "line",
   "text": "Object record 94, gap 26 map columns from the previous one (byte 13): slot 12, type 20 sad / 20 happy (bytes 3 and 7), Y $BD, paths 5/0, behaviour 0. Bytes $0C $14 $01 $14 $4A $49 $BD $14 $01 $C0 $26 $1B $00 $1A $00."
  },
  {
   "address": 42385,
   "type": "line",
   "text": "Object record 95, gap 10 map columns from the previous one (byte 13): slot 0, script 2 sad / 2 happy (bytes 3 and 7; byte 5 bits 6-7 both set, so they name an animation script, $E8A0), Y $5D, paths 0/0, behaviour 0, item 2 (in the happy land; $903A). Bytes $00 $00 $00 $02 $12 $C9 $5D $02 $80 $00 $41 $04 $00 $0A $00."
  },
  {
   "address": 42400,
   "type": "line",
   "text": "Object record 96, gap 1 map columns from the previous one (byte 13): slot 11, type 8 sad / 13 happy (bytes 3 and 7), Y $A8, paths 10/0, behaviour 7. Bytes $0B $28 $00 $08 $25 $59 $A8 $0D $11 $A7 $27 $51 $00 $01 $00."
  },
  {
   "address": 42415,
   "type": "line",
   "text": "Object record 97, gap 8 map columns from the previous one (byte 13): slot 13, type 8 sad / 14 happy (bytes 3 and 7), Y $A8, paths 10/0, behaviour 7. Bytes $0D $28 $01 $C8 $25 $59 $A8 $CE $11 $A7 $08 $51 $00 $08 $0B."
  },
  {
   "address": 42430,
   "type": "line",
   "text": "Object record 98, gap 1 map columns from the previous one (byte 13): slot 8, type 17 sad / 17 happy (bytes 3 and 7), Y $7D, paths 0/0, behaviour 10. Bytes $08 $00 $01 $11 $2A $61 $7D $11 $09 $0A $25 $76 $00 $01 $00."
  },
  {
   "address": 42445,
   "type": "line",
   "text": "Object record 99, gap 18 map columns from the previous one (byte 13): slot 9, type 19 sad / 19 happy (bytes 3 and 7), Y $7D, paths 17/0, behaviour 2. Bytes $09 $44 $03 $13 $4A $49 $7D $13 $01 $12 $01 $15 $98 $12 $00."
  },
  {
   "address": 42460,
   "type": "line",
   "text": "Object record 100, gap 15 map columns from the previous one (byte 13): slot 14, type 1 sad / 1 happy (bytes 3 and 7), Y $9D, paths 7/0, behaviour 1. Bytes $0E $1C $01 $01 $0A $49 $9D $01 $01 $01 $01 $11 $00 $0F $00."
  },
  {
   "address": 42475,
   "type": "line",
   "text": "Object record 101, gap 12 map columns from the previous one (byte 13): slot 2, type 1 sad / 1 happy (bytes 3 and 7), Y $57, paths 6/6, behaviour 1. Bytes $02 $18 $19 $01 $2A $49 $57 $01 $01 $01 $01 $00 $00 $0C $40."
  },
  {
   "address": 42490,
   "type": "line",
   "text": "Object record 102, gap 20 map columns from the previous one (byte 13): slot 4, type 1 sad / 1 happy (bytes 3 and 7), Y $3D, paths 7/12, behaviour 1. Bytes $04 $1C $31 $01 $24 $49 $3D $01 $01 $01 $01 $40 $00 $14 $80."
  },
  {
   "address": 42505,
   "type": "line",
   "text": "Object record 103, gap 1 map columns from the previous one (byte 13): slot 1, type 12 sad / 12 happy (bytes 3 and 7), Y $3D, paths 0/0, behaviour 2. Bytes $01 $00 $01 $0C $2A $61 $3D $0C $09 $12 $05 $19 $00 $01 $00."
  },
  {
   "address": 42520,
   "type": "line",
   "text": "Object record 104, gap 4 map columns from the previous one (byte 13): slot 3, type 5 sad / 5 happy (bytes 3 and 7), Y $3D, paths 17/0, behaviour 2, item 2 (in the happy land; $903A). Bytes $03 $44 $03 $05 $52 $49 $3D $05 $00 $12 $01 $15 $91 $04 $00."
  },
  {
   "address": 42535,
   "type": "line",
   "text": "Object record 105, gap 14 map columns from the previous one (byte 13): slot 7, type 1 sad / 1 happy (bytes 3 and 7), Y $7D, paths 7/0, behaviour 1. Bytes $07 $1C $01 $01 $2A $49 $7D $01 $01 $01 $01 $00 $00 $0E $40."
  },
  {
   "address": 42550,
   "type": "line",
   "text": "Object record 106, gap 2 map columns from the previous one (byte 13): slot 12, script 2 sad / 2 happy (bytes 3 and 7; byte 5 bits 6-7 both set, so they name an animation script, $E8A0), Y $BD, paths 0/0, behaviour 0, item 2 (in the happy land; $903A). Bytes $0C $00 $00 $02 $12 $C9 $BD $02 $80 $00 $41 $04 $00 $02 $00."
  },
  {
   "address": 42565,
   "type": "line",
   "text": "Object record 107, gap 45 map columns from the previous one (byte 13): slot 10, type 8 sad / 1 happy (bytes 3 and 7), Y $BD, paths 2/0, behaviour 1. Bytes $0A $08 $01 $08 $28 $49 $BD $01 $01 $01 $0A $00 $00 $2D $40."
  },
  {
   "address": 42580,
   "type": "line",
   "text": "Object record 108, gap 1 map columns from the previous one (byte 13): marker record $79: no object; raster band set 1 when the spawn edge reaches it going forward ($E777, $29AC), 0 when it is passed stepping back ($E704, $29A7). Bytes $79 $00 $00 $00 $00 $00 $00 $00 $00 $00 $00 $00 $00 $01 $00."
  },
  {
   "address": 42595,
   "type": "line",
   "text": "Object record 109, gap 1 map columns from the previous one (byte 13): slot 11, script 13 sad / 13 happy (bytes 3 and 7; byte 5 bits 6-7 both set, so they name an animation script, $E8A0), Y $BD, paths 0/0, behaviour 12. Bytes $0B $00 $00 $0D $0C $C9 $BD $0D $21 $0C $21 $04 $00 $01 $00."
  },
  {
   "address": 42610,
   "type": "line",
   "text": "Object record 110, gap 1 map columns from the previous one (byte 13): slot 13, script 27 sad / 27 happy (bytes 3 and 7; byte 5 bits 6-7 both set, so they name an animation script, $E8A0), Y $BD, paths 0/0, behaviour 0. Bytes $0D $00 $00 $DB $01 $C9 $BD $DB $20 $00 $21 $04 $00 $01 $0B."
  },
  {
   "address": 42625,
   "type": "line",
   "text": "Object record 111, gap 16 map columns from the previous one (byte 13): slot 5, script 1 sad / 1 happy (bytes 3 and 7; byte 5 bits 6-7 both set, so they name an animation script, $E8A0), Y $7D, paths 0/0, behaviour 0, item 1 (in the happy land; $903A). Bytes $05 $00 $00 $01 $11 $C9 $7D $01 $80 $00 $41 $04 $00 $10 $00."
  },
  {
   "address": 42640,
   "type": "line",
   "text": "Object record 112, gap 2 map columns from the previous one (byte 13): slot 6, type 8 sad / 1 happy (bytes 3 and 7), Y $7D, paths 2/0, behaviour 1. Bytes $06 $08 $01 $08 $4A $49 $7D $01 $01 $01 $29 $1B $00 $02 $00."
  },
  {
   "address": 42655,
   "type": "line",
   "text": "Object record 113, gap 26 map columns from the previous one (byte 13): slot 10, type 8 sad / 1 happy (bytes 3 and 7), Y $BD, paths 1/0, behaviour 1. Bytes $0A $04 $01 $08 $4A $49 $BD $01 $01 $01 $09 $11 $00 $1A $F0."
  },
  {
   "address": 42670,
   "type": "line",
   "text": "Object record 114, gap 4 map columns from the previous one (byte 13): slot 14, type 8 sad / 1 happy (bytes 3 and 7), Y $BD, paths 1/0, behaviour 1. Bytes $0E $04 $01 $08 $4A $49 $BD $01 $01 $01 $09 $11 $00 $04 $F0."
  },
  {
   "address": 42685,
   "type": "line",
   "text": "Object record 115, gap 8 map columns from the previous one (byte 13): slot 7, type 8 sad / 1 happy (bytes 3 and 7), Y $7D, paths 10/0, behaviour 1. Bytes $07 $28 $01 $08 $4A $49 $7D $01 $01 $01 $09 $61 $00 $08 $60."
  },
  {
   "address": 42699,
   "type": "line",
   "text": "Named by $B21E (STA $A6CB in the scene handler $B1AD, which Jellyland's title installs to colour its logo); in this land's file the address lies in the object list, and nothing in this land installs $B1AD."
  },
  {
   "address": 42700,
   "type": "line",
   "text": "Object record 116, gap 14 map columns from the previous one (byte 13): slot 8, type 8 sad / 1 happy (bytes 3 and 7), Y $7D, paths 10/0, behaviour 1. Bytes $08 $28 $01 $08 $45 $49 $7D $01 $01 $01 $29 $75 $00 $0E $F0."
  },
  {
   "address": 42715,
   "type": "line",
   "text": "Object record 117, gap 13 map columns from the previous one (byte 13): slot 0, script 6 sad / 6 happy (bytes 3 and 7; byte 5 bits 6-7 both set, so they name an animation script, $E8A0), Y $9D, paths 0/0, behaviour 0, item 6 (in the happy land; $903A). Bytes $00 $00 $00 $06 $16 $C9 $9D $06 $80 $00 $41 $04 $00 $0D $00."
  },
  {
   "address": 42730,
   "type": "line",
   "text": "Object record 118, gap 1 map columns from the previous one (byte 13): slot 9, script 5 sad / 5 happy (bytes 3 and 7; byte 5 bits 6-7 both set, so they name an animation script, $E8A0), Y $5D, paths 0/0, behaviour 0, item 5 (in the happy land; $903A). Bytes $09 $00 $00 $05 $15 $C9 $5D $05 $80 $00 $41 $04 $00 $01 $00."
  },
  {
   "address": 42745,
   "type": "line",
   "text": "Object record 119, gap 8 map columns from the previous one (byte 13): slot 5, type 8 sad / 11 happy (bytes 3 and 7), Y $7D, paths 10/20, behaviour 10. Bytes $05 $28 $51 $08 $2A $41 $7D $0B $01 $0A $26 $15 $00 $08 $00."
  },
  {
   "address": 42760,
   "type": "line",
   "text": "Object record 120, gap 3 map columns from the previous one (byte 13): slot 11, type 8 sad / 1 happy (bytes 3 and 7), Y $BD, paths 1/0, behaviour 1. Bytes $0B $04 $01 $08 $4A $49 $BD $01 $01 $01 $2A $69 $00 $03 $40."
  },
  {
   "address": 42775,
   "type": "line",
   "text": "Object record 121, gap 2 map columns from the previous one (byte 13): slot 13, type 8 sad / 1 happy (bytes 3 and 7), Y $BD, paths 1/0, behaviour 1. Bytes $0D $04 $01 $08 $44 $49 $BD $01 $01 $01 $2A $69 $00 $02 $80."
  },
  {
   "address": 42790,
   "type": "line",
   "text": "Object record 122, gap 1 map columns from the previous one (byte 13): slot 6, type 4 sad / 4 happy (bytes 3 and 7), Y $7D, paths 12/17, behaviour 2. Bytes $06 $30 $45 $04 $25 $41 $7D $04 $01 $02 $29 $1D $00 $01 $00."
  },
  {
   "address": 42805,
   "type": "line",
   "text": "Object record 123, gap 46 map columns from the previous one (byte 13): slot 10, type 8 sad / 1 happy (bytes 3 and 7), Y $BD, paths 1/0, behaviour 1. Bytes $0A $04 $01 $08 $44 $49 $BD $01 $01 $01 $2A $69 $00 $2E $C0."
  },
  {
   "address": 42820,
   "type": "line",
   "text": "Object record 124, gap 64 map columns from the previous one (byte 13): slot 12, type 8 sad / 1 happy (bytes 3 and 7), Y $BD, paths 5/0, behaviour 1. Bytes $0C $14 $01 $08 $4A $49 $BD $01 $01 $01 $2A $69 $00 $40 $40."
  },
  {
   "address": 42835,
   "type": "line",
   "text": "Object record 125, gap 255 map columns from the previous one (byte 13): slot 0, type 1 sad / 1 happy (bytes 3 and 7), Y $BD, paths 2/0, behaviour 1. Bytes $00 $08 $01 $01 $28 $49 $BD $01 $01 $01 $01 $00 $00 $FF $40."
  },
  {
   "address": 42850,
   "type": "line",
   "text": "$FF: the end of the object list (126 records from $A000; $E595, $B785 stop here)."
  },
  {
   "address": 42851,
   "type": "line",
   "text": "157 bytes equal to Jellyland's file at the same addresses (there: residue in the music driver's vocabulary); nothing in the engine reads or runs them here: left over from the build."
  },
  {
   "address": 43008,
   "type": "line",
   "text": "Colour-RAM value for each glyph of the happy set (256 entries, indexed by glyph number): bits 0-2 the colour, bit 3 multicolour (223 glyphs have it); most common $0C x61, $0D x42, $08 x37. Read by the column draw ($27FF, $299F), the recolour ($2550) and the reveal ($1195). Kept here while sad; exchanged with $8900 by $B785."
  },
  {
   "address": 43264,
   "type": "line",
   "text": "The happy land's character set, glyphs $00-$1F (8 bytes each, $A900 + 8n); glyphs below $2F are walls, $2F-$3B platforms ($9021, $9020). Glyphs the land's parameters or the engine name here (for the set while it is at $7800): $00 slope ($9081-$9087); $01 slope ($9081-$9087); $02 slope ($9081-$9087); $03 slope ($9088-$908E); $04 slope ($9088-$908E); $05 slope ($9088-$908E); $08 slope ($9081-$9087); $09 slope ($9081-$9087); $0A slope ($9088-$908E); $0B slope ($9088-$908E); $0C player behind scenery ($9025-$9028); $0D player behind scenery ($9025-$9028); $16 finish line, rotated by $3A88 while it is open ($CF8B); $17 finish line, rotated by $3A88 while it is open ($CF8B). Kept here while the land is sad; $B785 exchanges it with $7800-$7FFF (page swap 1)."
  },
  {
   "address": 43520,
   "type": "line",
   "text": "The happy land's character set, glyphs $20-$3F (8 bytes each, $A900 + 8n). Glyphs the land's parameters or the engine name here (for the set while it is at $7800): $21 slope ($9081-$9087), slope ($9088-$908E)."
  },
  {
   "address": 43776,
   "type": "line",
   "text": "The happy land's character set, glyphs $40-$5F (8 bytes each, $A900 + 8n). Glyphs the land's parameters or the engine name here (for the set while it is at $7800): $47 drifting pair, first ($9023); $48 drifting pair, second ($9024)."
  },
  {
   "address": 44032,
   "type": "line",
   "text": "The happy land's character set, glyphs $60-$7F (8 bytes each, $A900 + 8n). Glyphs the land's parameters or the engine name here (for the set while it is at $7800): none."
  },
  {
   "address": 44288,
   "type": "line",
   "text": "The happy land's character set, glyphs $80-$9F (8 bytes each, $A900 + 8n). Glyphs the land's parameters or the engine name here (for the set while it is at $7800): none."
  },
  {
   "address": 44544,
   "type": "line",
   "text": "The happy land's character set, glyphs $A0-$BF (8 bytes each, $A900 + 8n). Glyphs the land's parameters or the engine name here (for the set while it is at $7800): $A4 blank fill ($9022)."
  },
  {
   "address": 44800,
   "type": "line",
   "text": "The happy land's character set, glyphs $C0-$DF (8 bytes each, $A900 + 8n). Glyphs the land's parameters or the engine name here (for the set while it is at $7800): none."
  },
  {
   "address": 45056,
   "type": "line",
   "text": "The happy land's character set, glyphs $E0-$FF (8 bytes each, $A900 + 8n). Glyphs the land's parameters or the engine name here (for the set while it is at $7800): $FB star, frames copied in by $3AEE; $FC star, frames copied in by $3AEE; $FD star, frames copied in by $3AEE; $FE star, frames copied in by $3AEE."
  },
  {
   "address": 45311,
   "type": "line",
   "text": "The file's last byte (glyph $FF of the happy set, row 7). Named by the loader's self-modified STA at $CDC3, whose operand the snapshot shows at the last address stored; not a reader."
  }
 ]
}