{
 "schema": 1,
 "platform": "c64",
 "game": "stunt-car-racer",
 "build": "MicroStyle release for PAL machines, the C64 Preservation Project G64 (SHA-1 0540264fca9bd8583c4bfcc9a6f422b2ac25f5c9), uncracked; one load after its own loader",
 "source": "regenerator2000 live",
 "regions": {
  "exclude": [
   [
    256,
    511,
    "stack"
   ],
   [
    53248,
    57343,
    "I/O and colour RAM"
   ],
   [
    0,
    2111,
    "not loaded: zero page, the stack, pages 2 to 7 and $0800-$083F are the game's variables and buffers (the track's pieces at $0400-$07FF, the KERNAL's vectors kept at $0800), all set at run time; the start-up's checksum (checksum_ranges, $42A9) starts at $0840, and at the hand-over these hold what the loader left"
   ],
   [
    17095,
    20223,
    "not loaded: the bitmap at $4000 past the start-up, where the 3D view and the menus are drawn; the checksum leaves it out, and at the hand-over it holds zeros and, from $4307, bytes the loader left"
   ],
   [
    22272,
    22399,
    "not loaded: rows of the bitmap at $4000 between the tables at $4F00 and $5780; the checksum leaves them out, and at the hand-over they hold the RAM's power-on pattern"
   ],
   [
    32768,
    32959,
    "not loaded: the league's 192 bytes, made by NEW_LEAGUE and saved and loaded with a game; the checksum leaves them out, and at the hand-over they hold the RAM's power-on pattern"
   ],
   [
    41472,
    41855,
    "not loaded: work tables the game fills while it runs; the checksum leaves them out, and at the hand-over they hold the RAM's power-on pattern"
   ],
   [
    49152,
    51071,
    "not loaded: the tables the start-up copies here from the bitmaps' area (described where they are loaded, at $5780 and $63E0-$7648) and the game's variables from $C300; the checksum leaves them out, and at the hand-over they are zeros"
   ],
   [
    65506,
    65535,
    "not loaded: the processor's vectors, which the start-up sets ($FFFA the NMI's, $FFFE the interrupt's), and zeros; the checksum ends at $FFE1"
   ]
  ],
  "extra": [],
  "edges": [
   0,
   256,
   512,
   1024,
   2048,
   4096,
   16384,
   32768,
   40960,
   49152,
   53248,
   57344
  ]
 },
 "blocks": [
  {
   "start": 0,
   "end": 7,
   "type": "Code"
  },
  {
   "start": 8,
   "end": 2112,
   "type": "Undefined"
  },
  {
   "start": 2113,
   "end": 2644,
   "type": "Code"
  },
  {
   "start": 2645,
   "end": 2648,
   "type": "Byte"
  },
  {
   "start": 2649,
   "end": 4757,
   "type": "Code"
  },
  {
   "start": 4758,
   "end": 4761,
   "type": "Byte"
  },
  {
   "start": 4762,
   "end": 4902,
   "type": "Code"
  },
  {
   "start": 4903,
   "end": 4904,
   "type": "Byte"
  },
  {
   "start": 4905,
   "end": 5132,
   "type": "PETSCII Text"
  },
  {
   "start": 5133,
   "end": 5136,
   "type": "Undefined"
  },
  {
   "start": 5137,
   "end": 5303,
   "type": "Code"
  },
  {
   "start": 5304,
   "end": 5327,
   "type": "Byte"
  },
  {
   "start": 5328,
   "end": 5632,
   "type": "Code"
  },
  {
   "start": 5633,
   "end": 5648,
   "type": "Byte"
  },
  {
   "start": 5649,
   "end": 5698,
   "type": "Code"
  },
  {
   "start": 5699,
   "end": 5708,
   "type": "Byte"
  },
  {
   "start": 5709,
   "end": 7188,
   "type": "Code"
  },
  {
   "start": 7189,
   "end": 7197,
   "type": "Byte"
  },
  {
   "start": 7198,
   "end": 7811,
   "type": "Code"
  },
  {
   "start": 7812,
   "end": 7812,
   "type": "Byte"
  },
  {
   "start": 7813,
   "end": 8344,
   "type": "Code"
  },
  {
   "start": 8345,
   "end": 8347,
   "type": "Byte"
  },
  {
   "start": 8348,
   "end": 9097,
   "type": "Code"
  },
  {
   "start": 9098,
   "end": 9101,
   "type": "Byte"
  },
  {
   "start": 9102,
   "end": 9260,
   "type": "Code"
  },
  {
   "start": 9261,
   "end": 9266,
   "type": "Byte"
  },
  {
   "start": 9267,
   "end": 10245,
   "type": "Code"
  },
  {
   "start": 10246,
   "end": 10247,
   "type": "Byte"
  },
  {
   "start": 10248,
   "end": 10805,
   "type": "Code"
  },
  {
   "start": 10806,
   "end": 10843,
   "type": "Byte"
  },
  {
   "start": 10844,
   "end": 11296,
   "type": "Code"
  },
  {
   "start": 11297,
   "end": 11298,
   "type": "Byte"
  },
  {
   "start": 11299,
   "end": 12028,
   "type": "Code"
  },
  {
   "start": 12029,
   "end": 12034,
   "type": "Byte"
  },
  {
   "start": 12035,
   "end": 12310,
   "type": "Code"
  },
  {
   "start": 12311,
   "end": 12322,
   "type": "Byte"
  },
  {
   "start": 12323,
   "end": 12687,
   "type": "Code"
  },
  {
   "start": 12688,
   "end": 12960,
   "type": "Byte"
  },
  {
   "start": 12961,
   "end": 12972,
   "type": "Code"
  },
  {
   "start": 12973,
   "end": 13112,
   "type": "Byte"
  },
  {
   "start": 13113,
   "end": 13318,
   "type": "Code"
  },
  {
   "start": 13319,
   "end": 13567,
   "type": "Byte"
  },
  {
   "start": 13568,
   "end": 14119,
   "type": "Code"
  },
  {
   "start": 14120,
   "end": 14135,
   "type": "Byte"
  },
  {
   "start": 14136,
   "end": 14364,
   "type": "Code"
  },
  {
   "start": 14365,
   "end": 14376,
   "type": "Byte"
  },
  {
   "start": 14377,
   "end": 14387,
   "type": "Code"
  },
  {
   "start": 14388,
   "end": 14407,
   "type": "Byte"
  },
  {
   "start": 14408,
   "end": 14515,
   "type": "Code"
  },
  {
   "start": 14516,
   "end": 14531,
   "type": "Byte"
  },
  {
   "start": 14532,
   "end": 14659,
   "type": "Code"
  },
  {
   "start": 14660,
   "end": 14732,
   "type": "Byte"
  },
  {
   "start": 14733,
   "end": 14877,
   "type": "Code"
  },
  {
   "start": 14878,
   "end": 14907,
   "type": "Byte"
  },
  {
   "start": 14908,
   "end": 15064,
   "type": "Code"
  },
  {
   "start": 15065,
   "end": 15137,
   "type": "Byte"
  },
  {
   "start": 15138,
   "end": 15863,
   "type": "Code"
  },
  {
   "start": 15864,
   "end": 15864,
   "type": "Byte"
  },
  {
   "start": 15865,
   "end": 16313,
   "type": "Code"
  },
  {
   "start": 16314,
   "end": 16314,
   "type": "Byte"
  },
  {
   "start": 16315,
   "end": 16622,
   "type": "Code"
  },
  {
   "start": 16623,
   "end": 16670,
   "type": "Byte"
  },
  {
   "start": 16671,
   "end": 17064,
   "type": "Code"
  },
  {
   "start": 17065,
   "end": 17151,
   "type": "Byte"
  },
  {
   "start": 17152,
   "end": 20223,
   "type": "Undefined"
  },
  {
   "start": 20224,
   "end": 22271,
   "type": "Byte"
  },
  {
   "start": 22272,
   "end": 22399,
   "type": "Undefined"
  },
  {
   "start": 22400,
   "end": 32767,
   "type": "Byte"
  },
  {
   "start": 32768,
   "end": 32959,
   "type": "Undefined"
  },
  {
   "start": 32960,
   "end": 33727,
   "type": "Byte"
  },
  {
   "start": 33728,
   "end": 33812,
   "type": "Code"
  },
  {
   "start": 33813,
   "end": 33813,
   "type": "Byte"
  },
  {
   "start": 33814,
   "end": 33900,
   "type": "Code"
  },
  {
   "start": 33901,
   "end": 33902,
   "type": "Byte"
  },
  {
   "start": 33903,
   "end": 34244,
   "type": "Code"
  },
  {
   "start": 34245,
   "end": 34257,
   "type": "Byte"
  },
  {
   "start": 34258,
   "end": 34298,
   "type": "Code"
  },
  {
   "start": 34299,
   "end": 34306,
   "type": "Byte"
  },
  {
   "start": 34307,
   "end": 34500,
   "type": "Code"
  },
  {
   "start": 34501,
   "end": 34542,
   "type": "Byte"
  },
  {
   "start": 34543,
   "end": 35342,
   "type": "Code"
  },
  {
   "start": 35343,
   "end": 35374,
   "type": "Byte"
  },
  {
   "start": 35375,
   "end": 35788,
   "type": "Code"
  },
  {
   "start": 35789,
   "end": 35852,
   "type": "Byte"
  },
  {
   "start": 35853,
   "end": 35951,
   "type": "Code"
  },
  {
   "start": 35952,
   "end": 36047,
   "type": "Byte"
  },
  {
   "start": 36048,
   "end": 36454,
   "type": "Code"
  },
  {
   "start": 36455,
   "end": 36470,
   "type": "Byte"
  },
  {
   "start": 36471,
   "end": 36616,
   "type": "Code"
  },
  {
   "start": 36617,
   "end": 36624,
   "type": "Byte"
  },
  {
   "start": 36625,
   "end": 36735,
   "type": "Code"
  },
  {
   "start": 36736,
   "end": 36737,
   "type": "Byte"
  },
  {
   "start": 36738,
   "end": 37130,
   "type": "Code"
  },
  {
   "start": 37131,
   "end": 37145,
   "type": "PETSCII Text"
  },
  {
   "start": 37146,
   "end": 37154,
   "type": "Code"
  },
  {
   "start": 37155,
   "end": 37156,
   "type": "PETSCII Text"
  },
  {
   "start": 37157,
   "end": 37284,
   "type": "Byte"
  },
  {
   "start": 37285,
   "end": 38091,
   "type": "Code"
  },
  {
   "start": 38092,
   "end": 38102,
   "type": "PETSCII Text"
  },
  {
   "start": 38103,
   "end": 38185,
   "type": "Code"
  },
  {
   "start": 38186,
   "end": 38196,
   "type": "Byte"
  },
  {
   "start": 38197,
   "end": 38365,
   "type": "PETSCII Text"
  },
  {
   "start": 38366,
   "end": 38515,
   "type": "Code"
  },
  {
   "start": 38516,
   "end": 38525,
   "type": "PETSCII Text"
  },
  {
   "start": 38526,
   "end": 38565,
   "type": "Code"
  },
  {
   "start": 38566,
   "end": 38567,
   "type": "Byte"
  },
  {
   "start": 38568,
   "end": 38969,
   "type": "Code"
  },
  {
   "start": 38970,
   "end": 38981,
   "type": "Byte"
  },
  {
   "start": 38982,
   "end": 39033,
   "type": "Code"
  },
  {
   "start": 39034,
   "end": 39073,
   "type": "Byte"
  },
  {
   "start": 39074,
   "end": 39406,
   "type": "Code"
  },
  {
   "start": 39407,
   "end": 39422,
   "type": "PETSCII Text"
  },
  {
   "start": 39423,
   "end": 40986,
   "type": "Code"
  },
  {
   "start": 40987,
   "end": 40997,
   "type": "Byte"
  },
  {
   "start": 40998,
   "end": 41457,
   "type": "Code"
  },
  {
   "start": 41458,
   "end": 41855,
   "type": "Undefined"
  },
  {
   "start": 41856,
   "end": 49151,
   "type": "Byte"
  },
  {
   "start": 49152,
   "end": 51073,
   "type": "Undefined"
  },
  {
   "start": 51074,
   "end": 53077,
   "type": "Code"
  },
  {
   "start": 53078,
   "end": 53095,
   "type": "Byte"
  },
  {
   "start": 53096,
   "end": 53245,
   "type": "Code"
  },
  {
   "start": 53246,
   "end": 57343,
   "type": "Undefined"
  },
  {
   "start": 57344,
   "end": 57592,
   "type": "Byte"
  },
  {
   "start": 57593,
   "end": 59108,
   "type": "Code"
  },
  {
   "start": 59109,
   "end": 59111,
   "type": "Byte"
  },
  {
   "start": 59112,
   "end": 59573,
   "type": "Code"
  },
  {
   "start": 59574,
   "end": 59585,
   "type": "Byte"
  },
  {
   "start": 59586,
   "end": 59616,
   "type": "Code"
  },
  {
   "start": 59617,
   "end": 59620,
   "type": "Byte"
  },
  {
   "start": 59621,
   "end": 59679,
   "type": "Code"
  },
  {
   "start": 59680,
   "end": 59691,
   "type": "Byte"
  },
  {
   "start": 59692,
   "end": 60390,
   "type": "Code"
  },
  {
   "start": 60391,
   "end": 60394,
   "type": "Byte"
  },
  {
   "start": 60395,
   "end": 60980,
   "type": "Code"
  },
  {
   "start": 60981,
   "end": 60981,
   "type": "Undefined"
  },
  {
   "start": 60982,
   "end": 61439,
   "type": "Code"
  },
  {
   "start": 61440,
   "end": 61472,
   "type": "Byte"
  },
  {
   "start": 61473,
   "end": 62459,
   "type": "Code"
  },
  {
   "start": 62460,
   "end": 62474,
   "type": "Undefined"
  },
  {
   "start": 62475,
   "end": 63494,
   "type": "Code"
  },
  {
   "start": 63495,
   "end": 63504,
   "type": "Undefined"
  },
  {
   "start": 63505,
   "end": 64531,
   "type": "Code"
  },
  {
   "start": 64532,
   "end": 64533,
   "type": "Undefined"
  },
  {
   "start": 64534,
   "end": 64614,
   "type": "Code"
  },
  {
   "start": 64615,
   "end": 64664,
   "type": "Undefined"
  },
  {
   "start": 64665,
   "end": 65505,
   "type": "Code"
  },
  {
   "start": 65506,
   "end": 65535,
   "type": "Undefined"
  }
 ],
 "symbols": [
  {
   "address": 0,
   "name": "cpu_port_ddr",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 1,
   "name": "zpa_01",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 2,
   "name": "zpf_02",
   "type": "ZeroPageField",
   "kind": "auto"
  },
  {
   "address": 3,
   "name": "zpa_03",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 4,
   "name": "zpa_04",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 5,
   "name": "zpa_05",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 6,
   "name": "zpa_06",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 7,
   "name": "zpa_07",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 8,
   "name": "zpa_08",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 9,
   "name": "zpa_09",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 10,
   "name": "zpa_0A",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 11,
   "name": "zpa_0B",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 12,
   "name": "zpa_0C",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 13,
   "name": "zpa_0D",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 14,
   "name": "zpa_0E",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 15,
   "name": "zpa_0F",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 16,
   "name": "zpa_10",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 17,
   "name": "zpa_11",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 18,
   "name": "zpa_12",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 19,
   "name": "zpa_13",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 20,
   "name": "zpa_14",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 21,
   "name": "zpa_15",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 22,
   "name": "zpa_16",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 23,
   "name": "zpa_17",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 24,
   "name": "zpa_18",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 25,
   "name": "zpa_19",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 26,
   "name": "zpa_1A",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 27,
   "name": "zpa_1B",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 28,
   "name": "zpa_1C",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 29,
   "name": "zpa_1D",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 30,
   "name": "zpp_1E",
   "type": "ZeroPagePointer",
   "kind": "auto"
  },
  {
   "address": 31,
   "name": "zpa_1F",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 32,
   "name": "zpa_20",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 33,
   "name": "zpa_21",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 34,
   "name": "zpa_22",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 35,
   "name": "zpa_23",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 36,
   "name": "f_0024",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 37,
   "name": "zpa_25",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 39,
   "name": "zpa_27",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 40,
   "name": "zpa_28",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 41,
   "name": "zpa_29",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 42,
   "name": "zpa_2A",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 43,
   "name": "zpa_2B",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 44,
   "name": "zpa_2C",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 45,
   "name": "zpa_2D",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 46,
   "name": "zpa_2E",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 47,
   "name": "zpa_2F",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 48,
   "name": "zpa_30",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 49,
   "name": "zpa_31",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 50,
   "name": "zpa_32",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 51,
   "name": "zpa_33",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 52,
   "name": "zpa_34",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 53,
   "name": "zpa_35",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 54,
   "name": "zpa_36",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55,
   "name": "zpa_37",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 56,
   "name": "zpa_38",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 57,
   "name": "zpa_39",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 58,
   "name": "zpa_3A",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 59,
   "name": "zpa_3B",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 60,
   "name": "zpa_3C",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 61,
   "name": "zpa_3D",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 62,
   "name": "zpa_3E",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 63,
   "name": "zpa_3F",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 64,
   "name": "zpa_40",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 65,
   "name": "zpa_41",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 67,
   "name": "zpa_43",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 68,
   "name": "zpa_44",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 69,
   "name": "f_0045",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 70,
   "name": "zpa_46",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 72,
   "name": "zpa_48",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 73,
   "name": "zpa_49",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 74,
   "name": "zpa_4A",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 75,
   "name": "zpa_4B",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 76,
   "name": "zpa_4C",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 77,
   "name": "zpa_4D",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 78,
   "name": "zpa_4E",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 79,
   "name": "zpa_4F",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 80,
   "name": "zpa_50",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 81,
   "name": "zpa_51",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 82,
   "name": "zpa_52",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 83,
   "name": "zpa_53",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 84,
   "name": "zpa_54",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 85,
   "name": "zpa_55",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 86,
   "name": "zpa_56",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 87,
   "name": "zpa_57",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 88,
   "name": "zpa_58",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 89,
   "name": "zpa_59",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 90,
   "name": "zpa_5A",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 91,
   "name": "zpa_5B",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 92,
   "name": "zpa_5C",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 93,
   "name": "zpa_5D",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 94,
   "name": "zpa_5E",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 95,
   "name": "zpa_5F",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 96,
   "name": "zpa_60",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 97,
   "name": "zpa_61",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 98,
   "name": "zpa_62",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 99,
   "name": "f_0063",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 100,
   "name": "zpa_64",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 102,
   "name": "zpa_66",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 104,
   "name": "zpa_68",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 105,
   "name": "zpa_69",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 106,
   "name": "zpa_6A",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 107,
   "name": "zpa_6B",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 108,
   "name": "zpa_6C",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 109,
   "name": "zpa_6D",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 110,
   "name": "zpa_6E",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 111,
   "name": "zpa_6F",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 112,
   "name": "zpa_70",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 113,
   "name": "zpa_71",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 114,
   "name": "zpa_72",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 115,
   "name": "zpa_73",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 116,
   "name": "zpa_74",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 117,
   "name": "zpa_75",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 118,
   "name": "zpa_76",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 119,
   "name": "zpa_77",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 120,
   "name": "zpa_78",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 121,
   "name": "zpa_79",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 122,
   "name": "zpa_7A",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 123,
   "name": "zpa_7B",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 124,
   "name": "zpa_7C",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 125,
   "name": "zpa_7D",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 126,
   "name": "zpa_7E",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 127,
   "name": "zpa_7F",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 128,
   "name": "zpa_80",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 129,
   "name": "zpa_81",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 130,
   "name": "zpa_82",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 131,
   "name": "zpf_83",
   "type": "ZeroPageField",
   "kind": "auto"
  },
  {
   "address": 134,
   "name": "zpf_86",
   "type": "ZeroPageField",
   "kind": "auto"
  },
  {
   "address": 137,
   "name": "zpa_89",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 138,
   "name": "zpa_8A",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 139,
   "name": "zpa_8B",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 140,
   "name": "zpa_8C",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 141,
   "name": "zpa_8D",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 142,
   "name": "zpa_8E",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 143,
   "name": "zpa_8F",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 144,
   "name": "zpa_90",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 145,
   "name": "zpa_91",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 146,
   "name": "zpa_92",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 147,
   "name": "zpa_93",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 148,
   "name": "zpa_94",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 149,
   "name": "zpa_95",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 151,
   "name": "zpa_97",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 152,
   "name": "zpp_98",
   "type": "ZeroPagePointer",
   "kind": "auto"
  },
  {
   "address": 153,
   "name": "zpa_99",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 154,
   "name": "zpp_9A",
   "type": "ZeroPagePointer",
   "kind": "auto"
  },
  {
   "address": 155,
   "name": "zpa_9B",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 156,
   "name": "zpa_9C",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 157,
   "name": "zpa_9D",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 158,
   "name": "zpa_9E",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 159,
   "name": "zpa_9F",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 160,
   "name": "zpa_A0",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 161,
   "name": "zpa_A1",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 162,
   "name": "zpa_A2",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 163,
   "name": "zpa_A3",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 164,
   "name": "zpa_A4",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 165,
   "name": "zpa_A5",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 166,
   "name": "zpa_A6",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 167,
   "name": "zpa_A7",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 168,
   "name": "zpa_A8",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 169,
   "name": "zpa_A9",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 170,
   "name": "zpa_AA",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 171,
   "name": "zpa_AB",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 172,
   "name": "zpa_AC",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 173,
   "name": "zpa_AD",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 175,
   "name": "zpa_AF",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 176,
   "name": "zpa_B0",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 177,
   "name": "zpa_B1",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 178,
   "name": "zpa_B2",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 179,
   "name": "zpa_B3",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 180,
   "name": "zpa_B4",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 181,
   "name": "zpa_B5",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 182,
   "name": "zpa_B6",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 183,
   "name": "zpa_B7",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 184,
   "name": "zpa_B8",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 185,
   "name": "zpa_B9",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 186,
   "name": "zpa_BA",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 188,
   "name": "zpa_BC",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 189,
   "name": "zpa_BD",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 190,
   "name": "zpa_BE",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 191,
   "name": "zpa_BF",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 192,
   "name": "zpa_C0",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 193,
   "name": "zpa_C1",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 194,
   "name": "zpa_C2",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 195,
   "name": "zpa_C3",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 196,
   "name": "zpa_C4",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 197,
   "name": "zpa_C5",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 198,
   "name": "zpa_C6",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 199,
   "name": "zpa_C7",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 200,
   "name": "zpa_C8",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 201,
   "name": "zpa_C9",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 202,
   "name": "zpp_CA",
   "type": "ZeroPagePointer",
   "kind": "auto"
  },
  {
   "address": 203,
   "name": "zpa_CB",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 204,
   "name": "zpa_CC",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 205,
   "name": "zpa_CD",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 206,
   "name": "zpa_CE",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 207,
   "name": "zpa_CF",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 208,
   "name": "zpa_D0",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 209,
   "name": "zpa_D1",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 210,
   "name": "zpa_D2",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 211,
   "name": "zpa_D3",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 212,
   "name": "zpa_D4",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 213,
   "name": "zpa_D5",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 214,
   "name": "zpa_D6",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 215,
   "name": "zpa_D7",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 216,
   "name": "zpa_D8",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 217,
   "name": "zpa_D9",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 218,
   "name": "zpa_DA",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 219,
   "name": "zpa_DB",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 220,
   "name": "zpa_DC",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 221,
   "name": "zpa_DD",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 222,
   "name": "zpa_DE",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 223,
   "name": "zpa_DF",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 224,
   "name": "zpa_E0",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 225,
   "name": "zpa_E1",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 227,
   "name": "zpa_E3",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 228,
   "name": "zpa_E4",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 231,
   "name": "zpa_E7",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 232,
   "name": "zpf_E8",
   "type": "ZeroPageField",
   "kind": "auto"
  },
  {
   "address": 233,
   "name": "zpa_E9",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 234,
   "name": "zpa_EA",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 235,
   "name": "zpa_EB",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 236,
   "name": "zpf_EC",
   "type": "ZeroPageField",
   "kind": "auto"
  },
  {
   "address": 237,
   "name": "zpa_ED",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 238,
   "name": "zpa_EE",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 239,
   "name": "zpa_EF",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 240,
   "name": "zpa_F0",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 241,
   "name": "zpa_F1",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 242,
   "name": "zpa_F2",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 244,
   "name": "zpa_F4",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 245,
   "name": "zpa_F5",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 246,
   "name": "zpa_F6",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 247,
   "name": "zpa_F7",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 248,
   "name": "zpa_F8",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 249,
   "name": "zpa_F9",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 250,
   "name": "zpa_FA",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 251,
   "name": "zpa_FB",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 252,
   "name": "zpa_FC",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 253,
   "name": "zpa_FD",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 254,
   "name": "zpa_FE",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 256,
   "name": "f_0100",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 257,
   "name": "a_0101",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 258,
   "name": "a_0102",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 259,
   "name": "f_0103",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 260,
   "name": "a_0104",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 261,
   "name": "a_0105",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 262,
   "name": "f_0106",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 263,
   "name": "a_0107",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 264,
   "name": "a_0108",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 265,
   "name": "f_0109",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 266,
   "name": "a_010A",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 267,
   "name": "a_010B",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 268,
   "name": "f_010C",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 269,
   "name": "a_010D",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 270,
   "name": "a_010E",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 271,
   "name": "f_010F",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 272,
   "name": "a_0110",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 273,
   "name": "a_0111",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 274,
   "name": "f_0112",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 275,
   "name": "a_0113",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 276,
   "name": "a_0114",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 277,
   "name": "f_0115",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 280,
   "name": "f_0118",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 281,
   "name": "a_0119",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 282,
   "name": "a_011A",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 283,
   "name": "f_011B",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 286,
   "name": "f_011E",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 287,
   "name": "a_011F",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 288,
   "name": "a_0120",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 289,
   "name": "f_0121",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 290,
   "name": "a_0122",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 291,
   "name": "a_0123",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 292,
   "name": "f_0124",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 293,
   "name": "a_0125",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 294,
   "name": "a_0126",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 304,
   "name": "f_0130",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 305,
   "name": "a_0131",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 306,
   "name": "a_0132",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 307,
   "name": "f_0133",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 308,
   "name": "a_0134",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 309,
   "name": "a_0135",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 310,
   "name": "f_0136",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 311,
   "name": "a_0137",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 312,
   "name": "a_0138",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 313,
   "name": "f_0139",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 314,
   "name": "a_013A",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 315,
   "name": "a_013B",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 316,
   "name": "a_013C",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 317,
   "name": "a_013D",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 318,
   "name": "a_013E",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 319,
   "name": "a_013F",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 320,
   "name": "a_0140",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 321,
   "name": "a_0141",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 322,
   "name": "f_0142",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 325,
   "name": "f_0145",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 328,
   "name": "f_0148",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 329,
   "name": "a_0149",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 330,
   "name": "a_014A",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 331,
   "name": "f_014B",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 332,
   "name": "a_014C",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 333,
   "name": "a_014D",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 334,
   "name": "a_014E",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 335,
   "name": "a_014F",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 336,
   "name": "a_0150",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 337,
   "name": "a_0151",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 340,
   "name": "a_0154",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 342,
   "name": "a_0156",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 343,
   "name": "a_0157",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 345,
   "name": "a_0159",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 346,
   "name": "a_015A",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 347,
   "name": "a_015B",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 348,
   "name": "a_015C",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 349,
   "name": "a_015D",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 350,
   "name": "a_015E",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 351,
   "name": "a_015F",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 352,
   "name": "a_0160",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 353,
   "name": "a_0161",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 358,
   "name": "a_0166",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 359,
   "name": "a_0167",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 362,
   "name": "f_016A",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 363,
   "name": "a_016B",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 364,
   "name": "a_016C",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 365,
   "name": "f_016D",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 366,
   "name": "a_016E",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 367,
   "name": "a_016F",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 368,
   "name": "a_0170",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 369,
   "name": "a_0171",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 370,
   "name": "a_0172",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 371,
   "name": "a_0173",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 372,
   "name": "a_0174",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 373,
   "name": "a_0175",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 374,
   "name": "a_0176",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 375,
   "name": "a_0177",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 376,
   "name": "a_0178",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 377,
   "name": "f_0179",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 378,
   "name": "a_017A",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 379,
   "name": "a_017B",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 380,
   "name": "f_017C",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 381,
   "name": "a_017D",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 382,
   "name": "a_017E",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 383,
   "name": "f_017F",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 384,
   "name": "a_0180",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 385,
   "name": "a_0181",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 386,
   "name": "a_0182",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 387,
   "name": "a_0183",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 388,
   "name": "a_0184",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 392,
   "name": "a_0188",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 393,
   "name": "a_0189",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 394,
   "name": "a_018A",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 400,
   "name": "f_0190",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 449,
   "name": "f_01C1",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 512,
   "name": "f_0200",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 513,
   "name": "f_0201",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 576,
   "name": "f_0240",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 577,
   "name": "f_0241",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 578,
   "name": "f_0242",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 579,
   "name": "f_0243",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 640,
   "name": "f_0280",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 704,
   "name": "f_02C0",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 768,
   "name": "a_0300",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 896,
   "name": "a_0380",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 1024,
   "name": "f_0400",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 1025,
   "name": "f_0401",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 1026,
   "name": "f_0402",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 1066,
   "name": "f_042A",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 1102,
   "name": "f_044E",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 1152,
   "name": "f_0480",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 1180,
   "name": "f_049C",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 1258,
   "name": "f_04EA",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 1274,
   "name": "f_04FA",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 1280,
   "name": "f_0500",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 1336,
   "name": "f_0538",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 1414,
   "name": "f_0586",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 1492,
   "name": "f_05D4",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 1524,
   "name": "f_05F4",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 1570,
   "name": "f_0622",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 1648,
   "name": "f_0670",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 1726,
   "name": "f_06BE",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 1774,
   "name": "f_06EE",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 1792,
   "name": "f_0700",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 1808,
   "name": "f_0710",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 1856,
   "name": "f_0740",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 1859,
   "name": "a_0743",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 1860,
   "name": "a_0744",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 1886,
   "name": "f_075E",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 1897,
   "name": "f_0769",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 1908,
   "name": "f_0774",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 1909,
   "name": "f_0775",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 1914,
   "name": "a_077A",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 1915,
   "name": "a_077B",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 1916,
   "name": "a_077C",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 1917,
   "name": "a_077D",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 1918,
   "name": "a_077E",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 1919,
   "name": "a_077F",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 1920,
   "name": "a_0780",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 1921,
   "name": "a_0781",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 1922,
   "name": "a_0782",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 1924,
   "name": "a_0784",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 1926,
   "name": "a_0786",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 1928,
   "name": "a_0788",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 1929,
   "name": "a_0789",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 1930,
   "name": "a_078A",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 1931,
   "name": "a_078B",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 1932,
   "name": "a_078C",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 1934,
   "name": "a_078E",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 1936,
   "name": "a_0790",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 1939,
   "name": "a_0793",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 1941,
   "name": "a_0795",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 1942,
   "name": "a_0796",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 1943,
   "name": "a_0797",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 1948,
   "name": "f_079C",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 1949,
   "name": "f_079D",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 1954,
   "name": "a_07A2",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 1955,
   "name": "a_07A3",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 1956,
   "name": "a_07A4",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 1957,
   "name": "a_07A5",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 1958,
   "name": "a_07A6",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 1959,
   "name": "a_07A7",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 1960,
   "name": "a_07A8",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 1961,
   "name": "a_07A9",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 1962,
   "name": "a_07AA",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 1964,
   "name": "a_07AC",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 1966,
   "name": "a_07AE",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 1968,
   "name": "a_07B0",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 1969,
   "name": "a_07B1",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 1970,
   "name": "a_07B2",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 1971,
   "name": "a_07B3",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 1972,
   "name": "a_07B4",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 1974,
   "name": "a_07B6",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 1976,
   "name": "a_07B8",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 1979,
   "name": "a_07BB",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 1981,
   "name": "a_07BD",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 1982,
   "name": "a_07BE",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 1983,
   "name": "a_07BF",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 1988,
   "name": "f_07C4",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 1992,
   "name": "f_07C8",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 1996,
   "name": "f_07CC",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 2000,
   "name": "f_07D0",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 2004,
   "name": "f_07D4",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 2008,
   "name": "f_07D8",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 2012,
   "name": "f_07DC",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 2014,
   "name": "a_07DE",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 2016,
   "name": "f_07E0",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 2018,
   "name": "a_07E2",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 2020,
   "name": "f_07E4",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 2022,
   "name": "a_07E6",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 2024,
   "name": "f_07E8",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 2026,
   "name": "a_07EA",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 2028,
   "name": "f_07EC",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 2029,
   "name": "a_07ED",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 2030,
   "name": "a_07EE",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 2032,
   "name": "f_07F0",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 2033,
   "name": "a_07F1",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 2034,
   "name": "a_07F2",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 2112,
   "name": "save_device",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 2113,
   "name": "STEP",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 2181,
   "name": "b_0885",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 2198,
   "name": "r_0896",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 2199,
   "name": "WHEEL_OFFSETS",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 2238,
   "name": "b_08BE",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 2262,
   "name": "b_08D6",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 2299,
   "name": "b_08FB",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 2391,
   "name": "MOVE_CAR",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 2393,
   "name": "b_0959",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 2411,
   "name": "b_096B",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 2420,
   "name": "b_0974",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 2440,
   "name": "b_0988",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 2485,
   "name": "b_09B5",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 2495,
   "name": "b_09BF",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 2497,
   "name": "b_09C1",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 2541,
   "name": "b_09ED",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 2556,
   "name": "b_09FC",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 2564,
   "name": "b_0A04",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 2580,
   "name": "b_0A14",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 2585,
   "name": "b_0A19",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 2598,
   "name": "b_0A26",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 2621,
   "name": "b_0A3D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 2645,
   "name": "angle_limits_up",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 2647,
   "name": "angle_limits_down",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 2649,
   "name": "ADD_FORCES",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 2651,
   "name": "b_0A5B",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 2680,
   "name": "ADD_SPIN",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 2682,
   "name": "b_0A7A",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 2711,
   "name": "WHEELS_ON_ROAD",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 2721,
   "name": "j_0AA1",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 2782,
   "name": "b_0ADE",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 2793,
   "name": "b_0AE9",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 2799,
   "name": "b_0AEF",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 2801,
   "name": "b_0AF1",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 2846,
   "name": "b_0B1E",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 2867,
   "name": "b_0B33",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 2885,
   "name": "b_0B45",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 2899,
   "name": "b_0B53",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 2907,
   "name": "b_0B5B",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 2920,
   "name": "b_0B68",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 2926,
   "name": "j_0B6E",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 2934,
   "name": "b_0B76",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 2938,
   "name": "j_0B7A",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 2954,
   "name": "b_0B8A",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 2973,
   "name": "b_0B9D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 2996,
   "name": "b_0BB4",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 3057,
   "name": "b_0BF1",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 3121,
   "name": "b_0C31",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 3129,
   "name": "b_0C39",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 3137,
   "name": "b_0C41",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 3157,
   "name": "b_0C55",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 3163,
   "name": "b_0C5B",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 3184,
   "name": "r_0C70",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 3185,
   "name": "SPRINGS",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 3229,
   "name": "b_0C9D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 3276,
   "name": "b_0CCC",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 3314,
   "name": "SPIN_FORCES",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 3374,
   "name": "b_0D2E",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 3424,
   "name": "SIDE_GRIP",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 3508,
   "name": "b_0DB4",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 3533,
   "name": "ROAD_HOLD",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 3553,
   "name": "b_0DE1",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 3560,
   "name": "DRAG",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 3572,
   "name": "b_0DF4",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 3584,
   "name": "b_0E00",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 3588,
   "name": "b_0E04",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 3590,
   "name": "b_0E06",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 3594,
   "name": "b_0E0A",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 3596,
   "name": "b_0E0C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 3625,
   "name": "b_0E29",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 3631,
   "name": "b_0E2F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 3648,
   "name": "b_0E40",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 3655,
   "name": "b_0E47",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 3699,
   "name": "WHEEL_LEVERS",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 3706,
   "name": "b_0E7A",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 3708,
   "name": "b_0E7C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 3742,
   "name": "b_0E9E",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 3764,
   "name": "b_0EB4",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 3826,
   "name": "b_0EF2",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 3858,
   "name": "COSINE_OF",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 3871,
   "name": "b_0F1F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 3882,
   "name": "RACE_CLOCKS",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 3893,
   "name": "b_0F35",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 3895,
   "name": "b_0F37",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 3915,
   "name": "COUNTDOWN",
   "type": "Branch",
   "kind": "user"
  },
  {
   "address": 3942,
   "name": "b_0F66",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 3953,
   "name": "r_0F71",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 3954,
   "name": "FASTER",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 3995,
   "name": "r_0F9B",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 3996,
   "name": "SHOW_BEST_LAP",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 4013,
   "name": "LAP_CHECK",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 4021,
   "name": "b_0FB5",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 4039,
   "name": "r_0FC7",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 4040,
   "name": "b_0FC8",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 4063,
   "name": "b_0FDF",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 4083,
   "name": "b_0FF3",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 4095,
   "name": "b_0FFF",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 4125,
   "name": "b_101D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 4128,
   "name": "LAPS_DONE",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 4130,
   "name": "b_1022",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 4154,
   "name": "b_103A",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 4176,
   "name": "b_1050",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 4183,
   "name": "b_1057",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 4188,
   "name": "b_105C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 4203,
   "name": "PRINT_AT",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 4216,
   "name": "SHOW_LAP_TIME",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 4228,
   "name": "b_1084",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 4234,
   "name": "PRINT_DIGIT",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 4240,
   "name": "CLEAR_CLOCK",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 4252,
   "name": "TICK_CLOCK",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 4254,
   "name": "ADD_TO_CLOCK",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 4294,
   "name": "b_10C6",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 4311,
   "name": "b_10D7",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 4313,
   "name": "DAMAGE",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 4338,
   "name": "b_10F2",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 4356,
   "name": "b_1104",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 4368,
   "name": "b_1110",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 4400,
   "name": "j_1130",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 4409,
   "name": "b_1139",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 4411,
   "name": "b_113B",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 4419,
   "name": "r_1143",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 4420,
   "name": "BEST_LAMP",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 4429,
   "name": "LAMP_A",
   "type": "Branch",
   "kind": "user"
  },
  {
   "address": 4436,
   "name": "WIN_LAMP",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 4445,
   "name": "LAMP_B",
   "type": "Branch",
   "kind": "user"
  },
  {
   "address": 4452,
   "name": "SHOW_DISTANCE",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 4460,
   "name": "b_116C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 4498,
   "name": "b_1192",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 4513,
   "name": "j_11A1",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 4525,
   "name": "b_11AD",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 4530,
   "name": "b_11B2",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 4533,
   "name": "j_11B5",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 4544,
   "name": "b_11C0",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 4547,
   "name": "j_11C3",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 4566,
   "name": "b_11D6",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 4607,
   "name": "b_11FF",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 4614,
   "name": "SPEED_TO_BAR",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 4625,
   "name": "b_1211",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 4639,
   "name": "DRAW_TIME",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 4712,
   "name": "b_1268",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 4740,
   "name": "b_1284",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 4753,
   "name": "b_1291",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 4755,
   "name": "b_1293",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 4758,
   "name": "time_places",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 4762,
   "name": "DASH_LABELS",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 4777,
   "name": "SHOW_MESSAGE",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 4793,
   "name": "b_12B9",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 4799,
   "name": "b_12BF",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 4807,
   "name": "b_12C7",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 4818,
   "name": "b_12D2",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 4828,
   "name": "b_12DC",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 4865,
   "name": "b_1301",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 4867,
   "name": "b_1303",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 4895,
   "name": "b_131F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 4903,
   "name": "message_start",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 4904,
   "name": "message_groups",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 4905,
   "name": "messages",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 5133,
   "name": "bottom_sprite_x0",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 5134,
   "name": "bottom_sprite_x1",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 5135,
   "name": "bottom_sprite_x2",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 5136,
   "name": "bottom_sprite_x3",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 5137,
   "name": "COLON",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 5154,
   "name": "DIGIT_SHIFT_LEFT",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 5158,
   "name": "DIGIT_SPLIT",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 5162,
   "name": "DIGIT_SHIFT_RIGHT",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 5166,
   "name": "DIGIT",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 5168,
   "name": "b_1430",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 5173,
   "name": "b_1435",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 5185,
   "name": "b_1441",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 5210,
   "name": "b_145A",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 5213,
   "name": "b_145D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 5216,
   "name": "b_1460",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 5225,
   "name": "GLYPH_ADDRESS",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 5252,
   "name": "DASH_SPRITES",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 5254,
   "name": "b_1486",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 5302,
   "name": "dash_pointers_base",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 5304,
   "name": "dash_sprite_pointers",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 5308,
   "name": "f_14BC",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 5310,
   "name": "dash_sprite_colours",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 5314,
   "name": "f_14C2",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 5316,
   "name": "dash_sprite_x",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 5320,
   "name": "f_14C8",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 5322,
   "name": "dash_sprite_y",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 5328,
   "name": "WHEEL_SPRITES",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 5334,
   "name": "j_14D6",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 5351,
   "name": "b_14E7",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 5361,
   "name": "b_14F1",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 5400,
   "name": "b_1518",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 5402,
   "name": "b_151A",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 5408,
   "name": "b_1520",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 5444,
   "name": "b_1544",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 5463,
   "name": "b_1557",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 5468,
   "name": "j_155C",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 5482,
   "name": "r_156A",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 5483,
   "name": "WHEEL_TOP",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 5490,
   "name": "WRECK",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 5517,
   "name": "r_158D",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 5518,
   "name": "SWERVE",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 5559,
   "name": "b_15B7",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 5578,
   "name": "b_15CA",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 5602,
   "name": "b_15E2",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 5624,
   "name": "j_15F8",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 5632,
   "name": "r_1600",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 5633,
   "name": "swerve_wave",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 5649,
   "name": "RESET_SEASON",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 5651,
   "name": "b_1613",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 5672,
   "name": "b_1628",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 5676,
   "name": "SAVE_RANDOM",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 5678,
   "name": "b_162E",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 5687,
   "name": "LOAD_RANDOM",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 5689,
   "name": "b_1639",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 5699,
   "name": "random_seed",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 5704,
   "name": "random_kept",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 5709,
   "name": "NEW_VIEW",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 5711,
   "name": "b_164F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 5754,
   "name": "DRAW_VIEW",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 5768,
   "name": "b_1688",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 5794,
   "name": "b_16A2",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 5809,
   "name": "b_16B1",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 5812,
   "name": "b_16B4",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 5832,
   "name": "b_16C8",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 5858,
   "name": "b_16E2",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 5878,
   "name": "b_16F6",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 5892,
   "name": "b_1704",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 5895,
   "name": "b_1707",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 5949,
   "name": "b_173D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 5951,
   "name": "b_173F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 5957,
   "name": "b_1745",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 5959,
   "name": "b_1747",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 5975,
   "name": "j_1757",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 5991,
   "name": "b_1767",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 6002,
   "name": "b_1772",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 6003,
   "name": "j_1773",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 6009,
   "name": "b_1779",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 6013,
   "name": "DRAW_PIECE",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 6049,
   "name": "b_17A1",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 6064,
   "name": "b_17B0",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 6068,
   "name": "b_17B4",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 6071,
   "name": "b_17B7",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 6104,
   "name": "b_17D8",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 6111,
   "name": "b_17DF",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 6122,
   "name": "b_17EA",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 6144,
   "name": "b_1800",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 6169,
   "name": "b_1819",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 6177,
   "name": "b_1821",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 6185,
   "name": "j_1829",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 6210,
   "name": "b_1842",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 6232,
   "name": "b_1858",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 6262,
   "name": "b_1876",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 6270,
   "name": "b_187E",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 6275,
   "name": "j_1883",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 6301,
   "name": "b_189D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 6309,
   "name": "b_18A5",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 6315,
   "name": "OVERLAP",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 6334,
   "name": "b_18BE",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 6357,
   "name": "b_18D5",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 6372,
   "name": "j_18E4",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 6408,
   "name": "r_1908",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 6409,
   "name": "NEXT_PIECE",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 6418,
   "name": "b_1912",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 6467,
   "name": "b_1943",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 6472,
   "name": "PIECE_POINTS",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 6481,
   "name": "b_1951",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 6503,
   "name": "b_1967",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 6525,
   "name": "b_197D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 6528,
   "name": "b_1980",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 6535,
   "name": "b_1987",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 6546,
   "name": "b_1992",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 6565,
   "name": "b_19A5",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 6570,
   "name": "j_19AA",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 6610,
   "name": "j_19D2",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 6621,
   "name": "j_19DD",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 6646,
   "name": "j_19F6",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 6651,
   "name": "j_19FB",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 6689,
   "name": "j_1A21",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 6706,
   "name": "b_1A32",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 6707,
   "name": "b_1A33",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 6714,
   "name": "r_1A3A",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 6715,
   "name": "POINTS_TO_LINES",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 6724,
   "name": "b_1A44",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 6735,
   "name": "j_1A4F",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 6749,
   "name": "b_1A5D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 6757,
   "name": "b_1A65",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 6779,
   "name": "b_1A7B",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 6807,
   "name": "b_1A97",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 6816,
   "name": "b_1AA0",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 6821,
   "name": "b_1AA5",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 6824,
   "name": "b_1AA8",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 6827,
   "name": "j_1AAB",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 6842,
   "name": "b_1ABA",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 6886,
   "name": "b_1AE6",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 6902,
   "name": "r_1AF6",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 6903,
   "name": "ALONG_SIDE",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 6914,
   "name": "TO_COPY",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 6923,
   "name": "CLIP_NEAR",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 6929,
   "name": "b_1B11",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 6959,
   "name": "b_1B2F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 6965,
   "name": "b_1B35",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 7048,
   "name": "CRACK",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 7057,
   "name": "r_1B91",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 7058,
   "name": "b_1B92",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 7080,
   "name": "b_1BA8",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 7084,
   "name": "b_1BAC",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 7092,
   "name": "b_1BB4",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 7093,
   "name": "b_1BB5",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 7104,
   "name": "b_1BC0",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 7107,
   "name": "b_1BC3",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 7165,
   "name": "b_1BFD",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 7176,
   "name": "SET_DAMAGE",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 7178,
   "name": "b_1C0A",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 7189,
   "name": "crack_row",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 7190,
   "name": "crack_keep",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 7194,
   "name": "crack_pixel",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 7198,
   "name": "CMD_CRANE_CHAINS",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 7203,
   "name": "CLEAR_PANEL",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 7213,
   "name": "b_1C2D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 7217,
   "name": "b_1C31",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 7241,
   "name": "MENU_TITLE",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 7268,
   "name": "CONTROLS",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 7293,
   "name": "b_1C7D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 7295,
   "name": "b_1C7F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 7319,
   "name": "b_1C97",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 7342,
   "name": "b_1CAE",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 7352,
   "name": "b_1CB8",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 7358,
   "name": "b_1CBE",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 7361,
   "name": "b_1CC1",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 7371,
   "name": "HORIZON",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 7401,
   "name": "b_1CE9",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 7448,
   "name": "CMD_DRAWBRIDGE",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 7456,
   "name": "b_1D20",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 7461,
   "name": "OPPONENT_LINE",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 7484,
   "name": "b_1D3C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 7495,
   "name": "b_1D47",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 7512,
   "name": "b_1D58",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 7515,
   "name": "b_1D5B",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 7539,
   "name": "b_1D73",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 7545,
   "name": "b_1D79",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 7558,
   "name": "j_1D86",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 7576,
   "name": "b_1D98",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 7582,
   "name": "b_1D9E",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 7604,
   "name": "b_1DB4",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 7615,
   "name": "b_1DBF",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 7621,
   "name": "b_1DC5",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 7627,
   "name": "j_1DCB",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 7638,
   "name": "b_1DD6",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 7647,
   "name": "b_1DDF",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 7649,
   "name": "j_1DE1",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 7658,
   "name": "b_1DEA",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 7673,
   "name": "b_1DF9",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 7680,
   "name": "j_1E00",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 7696,
   "name": "b_1E10",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 7704,
   "name": "b_1E18",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 7710,
   "name": "b_1E1E",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 7727,
   "name": "r_1E2F",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 7728,
   "name": "LINE_ROUND",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 7740,
   "name": "LINE_PASS",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 7756,
   "name": "b_1E4C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 7761,
   "name": "b_1E51",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 7765,
   "name": "b_1E55",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 7769,
   "name": "r_1E59",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 7770,
   "name": "LINE_HOLD",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 7775,
   "name": "PIECE_FROM_HERE",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 7787,
   "name": "b_1E6B",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 7800,
   "name": "b_1E78",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 7805,
   "name": "b_1E7D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 7807,
   "name": "b_1E7F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 7812,
   "name": "piece_from_x",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 7813,
   "name": "OPPONENT_MOVE",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 7902,
   "name": "b_1EDE",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 7905,
   "name": "r_1EE1",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 7906,
   "name": "OPP_DROP",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 7921,
   "name": "b_1EF1",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 7942,
   "name": "OPP_PICK",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 7952,
   "name": "b_1F10",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 7954,
   "name": "b_1F12",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 7977,
   "name": "b_1F29",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 8007,
   "name": "r_1F47",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 8008,
   "name": "OPP_SPEED",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 8039,
   "name": "b_1F67",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 8077,
   "name": "b_1F8D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 8087,
   "name": "b_1F97",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 8093,
   "name": "b_1F9D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 8099,
   "name": "b_1FA3",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 8166,
   "name": "b_1FE6",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 8171,
   "name": "b_1FEB",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 8201,
   "name": "OPP_SPEED_ADD",
   "type": "Branch",
   "kind": "user"
  },
  {
   "address": 8216,
   "name": "b_2018",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 8219,
   "name": "OPP_ENGINE",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 8233,
   "name": "b_2029",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 8240,
   "name": "b_2030",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 8247,
   "name": "OPP_GRIP",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 8252,
   "name": "b_203C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 8268,
   "name": "b_204C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 8311,
   "name": "b_2077",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 8332,
   "name": "b_208C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 8338,
   "name": "r_2092",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 8339,
   "name": "b_2093",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 8345,
   "name": "opp_top_speed",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 8346,
   "name": "opp_limit_b",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 8347,
   "name": "opp_limit_c",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 8348,
   "name": "OPP_BUMP",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 8354,
   "name": "b_20A2",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 8360,
   "name": "b_20A8",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 8368,
   "name": "b_20B0",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 8446,
   "name": "b_20FE",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 8466,
   "name": "b_2112",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 8469,
   "name": "b_2115",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 8494,
   "name": "b_212E",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 8510,
   "name": "b_213E",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 8523,
   "name": "b_214B",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 8544,
   "name": "b_2160",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 8554,
   "name": "b_216A",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 8566,
   "name": "OPP_PUSH",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 8593,
   "name": "b_2191",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 8612,
   "name": "b_21A4",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 8634,
   "name": "b_21BA",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 8669,
   "name": "r_21DD",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 8670,
   "name": "OPP_WHEELS",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 8682,
   "name": "b_21EA",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 8686,
   "name": "b_21EE",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 8724,
   "name": "b_2214",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 8728,
   "name": "b_2218",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 8730,
   "name": "b_221A",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 8754,
   "name": "b_2232",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 8764,
   "name": "b_223C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 8806,
   "name": "b_2266",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 8826,
   "name": "b_227A",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 8922,
   "name": "b_22DA",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 8924,
   "name": "b_22DC",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 8960,
   "name": "b_2300",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 9009,
   "name": "b_2331",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 9016,
   "name": "b_2338",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 9058,
   "name": "b_2362",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 9098,
   "name": "opp_points",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 9102,
   "name": "OPP_GAP",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 9122,
   "name": "OPP_SPREAD",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 9152,
   "name": "b_23C0",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 9178,
   "name": "b_23DA",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 9199,
   "name": "b_23EF",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 9211,
   "name": "b_23FB",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 9236,
   "name": "b_2414",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 9238,
   "name": "b_2416",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 9260,
   "name": "r_242C",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 9261,
   "name": "opp_tilt",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 9264,
   "name": "opp_tilt_hi",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 9267,
   "name": "OPP_AVERAGE",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 9286,
   "name": "b_2446",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 9304,
   "name": "PROJECT_X",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 9308,
   "name": "PROJECT_X_AT",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 9339,
   "name": "b_247B",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 9343,
   "name": "b_247F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 9345,
   "name": "b_2481",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 9351,
   "name": "b_2487",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 9382,
   "name": "b_24A6",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 9389,
   "name": "PROJECT_LOG",
   "type": "Branch",
   "kind": "user"
  },
  {
   "address": 9434,
   "name": "b_24DA",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 9438,
   "name": "b_24DE",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 9440,
   "name": "b_24E0",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 9446,
   "name": "b_24E6",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 9464,
   "name": "project_x_side",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 9527,
   "name": "b_2537",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 9586,
   "name": "b_2572",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 9645,
   "name": "b_25AD",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 9706,
   "name": "PROJECT_Y",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 9748,
   "name": "b_2614",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 9752,
   "name": "b_2618",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 9754,
   "name": "b_261A",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 9760,
   "name": "b_2620",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 9771,
   "name": "height_log_offset",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 9812,
   "name": "b_2654",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 9826,
   "name": "b_2662",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 9858,
   "name": "b_2682",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 9891,
   "name": "b_26A3",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 9924,
   "name": "b_26C4",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 9938,
   "name": "EXP",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 9980,
   "name": "r_26FC",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 9981,
   "name": "b_26FD",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 9994,
   "name": "r_270A",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 9995,
   "name": "b_270B",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 10010,
   "name": "r_271A",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 10011,
   "name": "b_271B",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 10018,
   "name": "b_2722",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 10021,
   "name": "r_2725",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 10022,
   "name": "ROLL_TABLES",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 10040,
   "name": "b_2738",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 10068,
   "name": "b_2754",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 10089,
   "name": "b_2769",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 10106,
   "name": "b_277A",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 10107,
   "name": "roll_sine",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 10112,
   "name": "b_2780",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 10113,
   "name": "roll_sum_low",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 10149,
   "name": "b_27A5",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 10150,
   "name": "roll_cos2_low",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 10156,
   "name": "j_27AC",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 10157,
   "name": "roll_store_low_a",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 10167,
   "name": "b_27B7",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 10168,
   "name": "roll_cos",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 10173,
   "name": "b_27BD",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 10174,
   "name": "roll_store_low_b",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 10181,
   "name": "j_27C5",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 10193,
   "name": "b_27D1",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 10198,
   "name": "b_27D6",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 10225,
   "name": "b_27F1",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 10230,
   "name": "b_27F6",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 10246,
   "name": "roll_last",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 10247,
   "name": "roll_last_low",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 10248,
   "name": "ROLL_POINT_OUT",
   "type": "Return",
   "kind": "user"
  },
  {
   "address": 10249,
   "name": "ROLL_POINT",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 10254,
   "name": "ROLL_POINT_ON",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 10282,
   "name": "b_282A",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 10290,
   "name": "b_2832",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 10300,
   "name": "b_283C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 10310,
   "name": "j_2846",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 10332,
   "name": "b_285C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 10335,
   "name": "b_285F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 10343,
   "name": "b_2867",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 10363,
   "name": "j_287B",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 10388,
   "name": "b_2894",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 10405,
   "name": "b_28A5",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 10411,
   "name": "j_28AB",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 10416,
   "name": "ROLL_FAR",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 10446,
   "name": "b_28CE",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 10516,
   "name": "b_2914",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 10540,
   "name": "b_292C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 10549,
   "name": "b_2935",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 10589,
   "name": "b_295D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 10606,
   "name": "b_296E",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 10628,
   "name": "b_2984",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 10640,
   "name": "j_2990",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 10665,
   "name": "b_29A9",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 10677,
   "name": "j_29B5",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 10681,
   "name": "RANDOM",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 10723,
   "name": "DEBRIS",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 10731,
   "name": "b_29EB",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 10761,
   "name": "b_2A09",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 10806,
   "name": "debris_start",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 10808,
   "name": "debris_lines",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 10812,
   "name": "debris_offset",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 10814,
   "name": "debris_across",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 10829,
   "name": "debris_down",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 10844,
   "name": "DEBRIS_START",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 10848,
   "name": "b_2A60",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 10864,
   "name": "b_2A70",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 10879,
   "name": "b_2A7F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 10888,
   "name": "b_2A88",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 10893,
   "name": "b_2A8D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 10926,
   "name": "SAVE_OR_LOAD",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 10985,
   "name": "b_2AE9",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 11005,
   "name": "b_2AFD",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 11030,
   "name": "b_2B16",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 11131,
   "name": "SCRATCH_OLD_FILE",
   "type": "Branch",
   "kind": "user"
  },
  {
   "address": 11146,
   "name": "j_2B8A",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 11179,
   "name": "b_2BAB",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 11185,
   "name": "b_2BB1",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 11193,
   "name": "b_2BB9",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 11204,
   "name": "b_2BC4",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 11209,
   "name": "FILE_STATUS",
   "type": "Branch",
   "kind": "user"
  },
  {
   "address": 11223,
   "name": "b_2BD7",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 11235,
   "name": "FILE_ROMS_OUT",
   "type": "Branch",
   "kind": "user"
  },
  {
   "address": 11260,
   "name": "b_2BFC",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 11268,
   "name": "LOAD_RESTORE",
   "type": "Branch",
   "kind": "user"
  },
  {
   "address": 11297,
   "name": "device_numbers",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 11299,
   "name": "CMD_CLEAR_VIEW",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 11307,
   "name": "CMD_FILL_ABOVE",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 11312,
   "name": "CMD_ROW_COLOURS",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 11317,
   "name": "CMD_MARK_COLUMNS",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 11322,
   "name": "CMD_FILL_SPANS",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 11327,
   "name": "b_2C3F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 11332,
   "name": "CMD_COLUMN_LIMITS",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 11340,
   "name": "b_2C4C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 11345,
   "name": "DUST_WRECKED",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 11354,
   "name": "b_2C5A",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 11363,
   "name": "r_2C63",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 11364,
   "name": "DUST_CLEAR",
   "type": "Branch",
   "kind": "user"
  },
  {
   "address": 11368,
   "name": "b_2C68",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 11375,
   "name": "DUST",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 11384,
   "name": "b_2C78",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 11401,
   "name": "b_2C89",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 11423,
   "name": "b_2C9F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 11435,
   "name": "DUST_GO",
   "type": "Branch",
   "kind": "user"
  },
  {
   "address": 11454,
   "name": "b_2CBE",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 11485,
   "name": "b_2CDD",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 11490,
   "name": "b_2CE2",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 11527,
   "name": "b_2D07",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 11551,
   "name": "j_2D1F",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 11565,
   "name": "b_2D2D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 11577,
   "name": "b_2D39",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 11581,
   "name": "DUST_PLOT",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 11599,
   "name": "b_2D4F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 11605,
   "name": "b_2D55",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 11615,
   "name": "b_2D5F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 11633,
   "name": "j_2D71",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 11638,
   "name": "DUST_BYTE",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 11657,
   "name": "ENGINE_NOTE",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 11689,
   "name": "b_2DA9",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 11701,
   "name": "b_2DB5",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 11711,
   "name": "b_2DBF",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 11714,
   "name": "STEERING",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 11755,
   "name": "b_2DEB",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 11787,
   "name": "b_2E0B",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 11792,
   "name": "b_2E10",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 11809,
   "name": "b_2E21",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 11841,
   "name": "b_2E41",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 11853,
   "name": "b_2E4D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 11855,
   "name": "j_2E4F",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 11862,
   "name": "j_2E56",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 11865,
   "name": "b_2E59",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 11884,
   "name": "b_2E6C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 11899,
   "name": "b_2E7B",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 11911,
   "name": "b_2E87",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 11928,
   "name": "b_2E98",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 11952,
   "name": "b_2EB0",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 11987,
   "name": "b_2ED3",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 11991,
   "name": "j_2ED7",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 12029,
   "name": "steer_offset",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 12032,
   "name": "steer_offset_hi",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 12035,
   "name": "FRAME",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 12039,
   "name": "b_2F07",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 12083,
   "name": "b_2F33",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 12110,
   "name": "FRAME_PILLAR",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 12120,
   "name": "b_2F58",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 12132,
   "name": "j_2F64",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 12134,
   "name": "b_2F66",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 12180,
   "name": "b_2F94",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 12184,
   "name": "b_2F98",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 12214,
   "name": "b_2FB6",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 12238,
   "name": "TRACK_TITLE",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 12268,
   "name": "b_2FEC",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 12311,
   "name": "title_rows",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 12315,
   "name": "title_columns",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 12323,
   "name": "PRINT_STRING_LOOP",
   "type": "Branch",
   "kind": "user"
  },
  {
   "address": 12327,
   "name": "PRINT_STRING",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 12335,
   "name": "PICK_TRACK",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 12351,
   "name": "b_303F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 12358,
   "name": "DASH_COLOURS",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 12360,
   "name": "b_3048",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 12370,
   "name": "CHOOSE_PLAYERS",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 12397,
   "name": "b_306D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 12413,
   "name": "b_307D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 12423,
   "name": "b_3087",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 12428,
   "name": "j_308C",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 12434,
   "name": "MULTI_RESULTS",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 12499,
   "name": "b_30D3",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 12532,
   "name": "b_30F4",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 12554,
   "name": "b_310A",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 12560,
   "name": "b_3110",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 12622,
   "name": "b_314E",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 12627,
   "name": "j_3153",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 12632,
   "name": "b_3158",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 12645,
   "name": "b_3165",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 12656,
   "name": "TRACK_HEADER",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 12687,
   "name": "r_318F",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 12688,
   "name": "bonus_rows",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 12696,
   "name": "bonus_lines",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 12704,
   "name": "choosing_players",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 12705,
   "name": "players",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 12706,
   "name": "player_turn",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 12707,
   "name": "season_races",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 12708,
   "name": "player_driver",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 12709,
   "name": "bonus_due",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 12710,
   "name": "race_number",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 12711,
   "name": "practice_division",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 12712,
   "name": "practice_skip",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 12713,
   "name": "pool_turn",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 12714,
   "name": "menu_strings",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 12829,
   "name": "results_heading_row",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 12915,
   "name": "dashes",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 12928,
   "name": "dashes_2",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 12961,
   "name": "PRINT_STRING_B_LOOP",
   "type": "Branch",
   "kind": "user"
  },
  {
   "address": 12965,
   "name": "PRINT_STRING_B",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 12973,
   "name": "strings_b",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 13113,
   "name": "NUMBER_2SP",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 13121,
   "name": "NUMBER",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 13125,
   "name": "NUMBER_SP",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 13136,
   "name": "b_3350",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 13139,
   "name": "PRINT_BCD",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 13147,
   "name": "j_335B",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 13150,
   "name": "b_335E",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 13153,
   "name": "ADD_TIME",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 13176,
   "name": "b_3378",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 13179,
   "name": "b_337B",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 13193,
   "name": "NEW_DRIVERS",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 13208,
   "name": "b_3398",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 13234,
   "name": "b_33B2",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 13237,
   "name": "b_33B5",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 13264,
   "name": "b_33D0",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 13288,
   "name": "b_33E8",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 13297,
   "name": "ALL_RAM",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 13308,
   "name": "IO_BACK",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 13319,
   "name": "strings",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 13321,
   "name": "division_row",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 13334,
   "name": "race_row",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 13408,
   "name": "title_column",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 13568,
   "name": "PANEL_SCREEN",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 13572,
   "name": "MENU_BACKDROP",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 13599,
   "name": "DIVISION_PANEL",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 13645,
   "name": "b_354D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 13652,
   "name": "DIVISION_AT",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 13668,
   "name": "b_3564",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 13676,
   "name": "j_356C",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 13685,
   "name": "b_3575",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 13690,
   "name": "RACE_DONE",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 13694,
   "name": "NEXT_RACE",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 13696,
   "name": "b_3580",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 13721,
   "name": "b_3599",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 13749,
   "name": "b_35B5",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 13780,
   "name": "b_35D4",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 13798,
   "name": "b_35E6",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 13804,
   "name": "b_35EC",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 13852,
   "name": "WAIT_THEN_TEXT",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 13855,
   "name": "TEXT_ON_ROWS",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 13862,
   "name": "RESULTS_TABLE",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 13880,
   "name": "b_3638",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 13892,
   "name": "b_3644",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 13903,
   "name": "TABLE_ROW",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 13940,
   "name": "b_3674",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 13967,
   "name": "j_368F",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 13974,
   "name": "WAIT_FIRE",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 13986,
   "name": "b_36A2",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 13994,
   "name": "TO_RESULTS_TABLE",
   "type": "Branch",
   "kind": "user"
  },
  {
   "address": 13997,
   "name": "LEAGUE_TABLE",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 14030,
   "name": "b_36CE",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 14041,
   "name": "b_36D9",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 14049,
   "name": "b_36E1",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 14083,
   "name": "b_3703",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 14120,
   "name": "track_order",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 14128,
   "name": "track_colours",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 14136,
   "name": "PAIRING",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 14164,
   "name": "SEASON_END",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 14173,
   "name": "CHANGES",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 14175,
   "name": "b_375F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 14231,
   "name": "b_3797",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 14262,
   "name": "b_37B6",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 14286,
   "name": "j_37CE",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 14291,
   "name": "b_37D3",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 14332,
   "name": "b_37FC",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 14343,
   "name": "b_3807",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 14349,
   "name": "b_380D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 14355,
   "name": "b_3813",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 14365,
   "name": "place_division",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 14377,
   "name": "FIND_DRIVER",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 14379,
   "name": "b_382B",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 14387,
   "name": "r_3833",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 14391,
   "name": "line_rows",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 14405,
   "name": "panel_last_row",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 14408,
   "name": "PANEL_ROW",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 14420,
   "name": "LINES_3",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 14424,
   "name": "LINE_START",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 14426,
   "name": "LINES",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 14440,
   "name": "b_3868",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 14459,
   "name": "NEXT_LINE",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 14468,
   "name": "TEXT_HALF_DOWN",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 14475,
   "name": "DRIVER_NAME",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 14482,
   "name": "TRACK_NAME",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 14486,
   "name": "TRACK_NAME_PRINT",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 14505,
   "name": "b_38A9",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 14516,
   "name": "bit_clear",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 14524,
   "name": "bit_set",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 14532,
   "name": "PANEL_FRAME",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 14543,
   "name": "b_38CF",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 14553,
   "name": "b_38D9",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 14586,
   "name": "COLOUR_ROW",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 14614,
   "name": "COLOUR_RUNS",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 14616,
   "name": "b_3918",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 14626,
   "name": "b_3922",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 14633,
   "name": "b_3929",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 14642,
   "name": "COLOUR_COPY",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 14648,
   "name": "b_3938",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 14660,
   "name": "colour_runs",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 14675,
   "name": "panel_lit",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 14714,
   "name": "colour_bytes",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 14733,
   "name": "WOOD_GRAIN",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 14737,
   "name": "b_3991",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 14739,
   "name": "j_3993",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 14755,
   "name": "b_39A3",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 14766,
   "name": "b_39AE",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 14774,
   "name": "j_39B6",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 14782,
   "name": "j_39BE",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 14785,
   "name": "b_39C1",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 14796,
   "name": "b_39CC",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 14801,
   "name": "BITMAP_BYTE",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 14826,
   "name": "b_39EA",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 14832,
   "name": "r_39F0",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 14833,
   "name": "WOOD_POSTS",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 14845,
   "name": "b_39FD",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 14878,
   "name": "post_columns",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 14888,
   "name": "post_keep",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 14898,
   "name": "post_set",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 14908,
   "name": "HLINE_SCREEN",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 14914,
   "name": "HLINE_UNDER",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 14923,
   "name": "HLINE_TOP",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 14927,
   "name": "HLINE",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 14931,
   "name": "b_3A53",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 14933,
   "name": "b_3A55",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 14950,
   "name": "VLINE",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 14952,
   "name": "b_3A68",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 14967,
   "name": "RACE_SCREEN_COLOURS",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 14987,
   "name": "j_3A8B",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 15000,
   "name": "b_3A98",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 15013,
   "name": "b_3AA5",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 15021,
   "name": "b_3AAD",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 15029,
   "name": "b_3AB5",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 15043,
   "name": "SCREEN_RUN",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 15053,
   "name": "b_3ACD",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 15060,
   "name": "b_3AD4",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 15065,
   "name": "screen_runs",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 15086,
   "name": "screen_run_track",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 15090,
   "name": "screen_run_track_2",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 15138,
   "name": "START",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 15146,
   "name": "b_3B2A",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 15173,
   "name": "j_3B45",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 15199,
   "name": "SKIP_RACE_KEY",
   "type": "Branch",
   "kind": "user"
  },
  {
   "address": 15209,
   "name": "LEAGUE_START",
   "type": "Branch",
   "kind": "user"
  },
  {
   "address": 15212,
   "name": "SEASON_START",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 15214,
   "name": "b_3B6E",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 15226,
   "name": "b_3B7A",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 15237,
   "name": "SEASON_RACE",
   "type": "Branch",
   "kind": "user"
  },
  {
   "address": 15271,
   "name": "b_3BA7",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 15277,
   "name": "b_3BAD",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 15338,
   "name": "b_3BEA",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 15352,
   "name": "SEASON_NEXT_RACE",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 15369,
   "name": "b_3C09",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 15385,
   "name": "b_3C19",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 15388,
   "name": "b_3C1C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 15391,
   "name": "b_3C1F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 15405,
   "name": "b_3C2D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 15414,
   "name": "RACE_SETUP",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 15429,
   "name": "b_3C45",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 15476,
   "name": "ROTATE_VIEW_PROMPT",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 15480,
   "name": "b_3C78",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 15502,
   "name": "b_3C8E",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 15513,
   "name": "RACE",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 15558,
   "name": "CAR_ON_ROAD",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 15581,
   "name": "b_3CDD",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 15621,
   "name": "RACE_LOOP",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 15686,
   "name": "RACE_OVER",
   "type": "Branch",
   "kind": "user"
  },
  {
   "address": 15696,
   "name": "b_3D50",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 15721,
   "name": "RACE_WRECKED",
   "type": "Branch",
   "kind": "user"
  },
  {
   "address": 15741,
   "name": "b_3D7D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 15744,
   "name": "b_3D80",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 15765,
   "name": "RACE_OFF_ROAD",
   "type": "Branch",
   "kind": "user"
  },
  {
   "address": 15777,
   "name": "b_3DA1",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 15784,
   "name": "b_3DA8",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 15787,
   "name": "RACE_END",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 15797,
   "name": "b_3DB5",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 15847,
   "name": "b_3DE7",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 15853,
   "name": "b_3DED",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 15864,
   "name": "race_screen",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 15865,
   "name": "CLEAR_RACE",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 15867,
   "name": "b_3DFB",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 15879,
   "name": "b_3E07",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 15889,
   "name": "b_3E11",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 15895,
   "name": "b_3E17",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 15903,
   "name": "b_3E1F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 15917,
   "name": "b_3E2D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 15959,
   "name": "b_3E57",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16027,
   "name": "b_3E9B",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16040,
   "name": "CLEAR_BARS",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 16042,
   "name": "b_3EAA",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16054,
   "name": "START_ORDER",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 16056,
   "name": "b_3EB8",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16067,
   "name": "b_3EC3",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16093,
   "name": "b_3EDD",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16096,
   "name": "PAUSE",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 16108,
   "name": "r_3EEC",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 16109,
   "name": "b_3EED",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16137,
   "name": "b_3F09",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16167,
   "name": "START_SOUNDS",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 16194,
   "name": "REQUEST_FLIP",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 16217,
   "name": "b_3F59",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16228,
   "name": "j_3F64",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 16235,
   "name": "FLIP_IF_READY",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 16240,
   "name": "FLIP_DONE",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 16259,
   "name": "r_3F83",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 16267,
   "name": "MENU_BITMAP",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 16271,
   "name": "j_3F8F",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 16286,
   "name": "SCREEN_ON",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 16293,
   "name": "SCREEN_ON_NOW",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 16308,
   "name": "b_3FB4",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16314,
   "name": "border_colour",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 16315,
   "name": "BORDER_BLANK",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 16318,
   "name": "BLANK_SCREEN",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 16323,
   "name": "b_3FC3",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16335,
   "name": "b_3FCF",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16342,
   "name": "b_3FD6",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16361,
   "name": "DELAY_20",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 16363,
   "name": "DELAY",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 16367,
   "name": "b_3FEF",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16369,
   "name": "DELAY_INNER",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 16374,
   "name": "DELAY_OUTER",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 16378,
   "name": "DELAY_RETURN",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 16379,
   "name": "STARTUP",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 16384,
   "name": "STARTUP_BLANK",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 16385,
   "name": "STARTUP_VECTOR_ARGS",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 16392,
   "name": "STARTUP_VECTOR",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 16396,
   "name": "STARTUP_PAUSE",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 16397,
   "name": "STARTUP_PAUSE_TURNS",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 16398,
   "name": "STARTUP_PAUSE_COUNT",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 16399,
   "name": "b_400F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16400,
   "name": "STARTUP_PAUSE_LOOPS",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 16416,
   "name": "STARTUP_HANDOVER",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 16522,
   "name": "b_408A",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16544,
   "name": "STARTUP_OUTLINE",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 16551,
   "name": "b_40A7",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16562,
   "name": "b_40B2",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16571,
   "name": "sky_columns",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 16575,
   "name": "b_40BF",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16589,
   "name": "b_40CD",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16604,
   "name": "sky_row_step",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 16608,
   "name": "SKY_COLUMNS_NEXT",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 16617,
   "name": "b_40E9",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16623,
   "name": "sky_heights",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 16640,
   "name": "f_4100",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 16652,
   "name": "f_410C",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 16653,
   "name": "f_410D",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 16654,
   "name": "f_410E",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 16655,
   "name": "fill_pattern",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 16671,
   "name": "STARTUP_DASH_FRAME",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 16672,
   "name": "STARTUP_FRAME_COLOURS",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 16673,
   "name": "b_4121",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16688,
   "name": "STARTUP_FRAME_SCREEN",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 16694,
   "name": "STARTUP_FRAME_END",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 16717,
   "name": "b_414D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16720,
   "name": "STARTUP_COPIES",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 16734,
   "name": "b_415E",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16763,
   "name": "b_417B",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16780,
   "name": "b_418C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16809,
   "name": "b_41A9",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16834,
   "name": "b_41C2",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16864,
   "name": "STARTUP_UNDER_CHIPS",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 16866,
   "name": "b_41E2",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16957,
   "name": "b_423D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16971,
   "name": "b_424B",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16989,
   "name": "CHECKSUM",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 16999,
   "name": "b_4267",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 17000,
   "name": "CHECKSUM_LOOPS",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 17007,
   "name": "b_426F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 17018,
   "name": "b_427A",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 17023,
   "name": "b_427F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 17056,
   "name": "CHECKSUM_RESULT",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 17057,
   "name": "b_42A1",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 17062,
   "name": "j_42A6",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 17065,
   "name": "checksum_ranges",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 17066,
   "name": "f_42AA",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 17067,
   "name": "f_42AB",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 17068,
   "name": "f_42AC",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 17093,
   "name": "checksum_expected",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 17094,
   "name": "a_42C6",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 17152,
   "name": "f_4300",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 17376,
   "name": "f_43E0",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 17696,
   "name": "f_4520",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 18016,
   "name": "f_4660",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 18336,
   "name": "f_47A0",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 18656,
   "name": "f_48E0",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 18976,
   "name": "f_4A20",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 19296,
   "name": "f_4B60",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 19616,
   "name": "f_4CA0",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 19936,
   "name": "f_4DE0",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 20224,
   "name": "title_runs",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 20256,
   "name": "view4_row12",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 20263,
   "name": "title_unused",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 20288,
   "name": "title_run_bytes",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 20480,
   "name": "title_page_50",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 20576,
   "name": "view4_row13",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 20736,
   "name": "title_page_51",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 20896,
   "name": "view4_row14",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 20992,
   "name": "title_page_52",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 21216,
   "name": "bonnet4_row15",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 21248,
   "name": "title_page_53",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 21504,
   "name": "title_page_54",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 21536,
   "name": "bonnet4_row16",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 21544,
   "name": "title_screen",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 21760,
   "name": "title_page_55",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 21856,
   "name": "bonnet4_left",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 21864,
   "name": "title_colours",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 21880,
   "name": "bonnet4_left_edge",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 21920,
   "name": "bonnet4_mid_left",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 22016,
   "name": "title_page_56",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 22024,
   "name": "bonnet4_mid_right",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 22080,
   "name": "bonnet4_right_edge",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 22088,
   "name": "bonnet4_right",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 22104,
   "name": "wheel4_right",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 22160,
   "name": "pillar4_foot",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 22176,
   "name": "wheel4_left_low",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 22184,
   "name": "title_leftover",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 22304,
   "name": "f_5720",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 22400,
   "name": "view_outline",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 22424,
   "name": "wheel4_right_low",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 22464,
   "name": "sprite_5f",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 22472,
   "name": "pillar4_row19",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 22480,
   "name": "frame4_below",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 22528,
   "name": "race_colours",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 22624,
   "name": "frame4_below_mid",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 22768,
   "name": "pillar4_right_row19",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 22784,
   "name": "race_colours_p2",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 23040,
   "name": "race_colours_p3",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 23104,
   "name": "sprite_69",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 23168,
   "name": "sprite_6a",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 23296,
   "name": "race_colours_p4",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 23424,
   "name": "sprite_6e",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 23528,
   "name": "race_colours_spare",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 23552,
   "name": "race_screen_bytes",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 23590,
   "name": "sides_row0",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 23630,
   "name": "sides_row1",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 23670,
   "name": "sides_row2",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 23710,
   "name": "sides_row3",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 23750,
   "name": "sides_row4",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 23790,
   "name": "sides_row5",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 23808,
   "name": "race_screen_p2",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 23830,
   "name": "sides_row6",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 23870,
   "name": "sides_row7",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 24064,
   "name": "race_screen_p3",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 24236,
   "name": "dash_frame_l17",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 24267,
   "name": "dash_frame_r17",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 24276,
   "name": "dash_frame_l18",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 24307,
   "name": "dash_frame_r18",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 24316,
   "name": "dash_frame_l19",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 24320,
   "name": "race_screen_p4",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 24347,
   "name": "dash_frame_r19",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 24552,
   "name": "race_screen_spare",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 24568,
   "name": "sprite_ptr0",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 24569,
   "name": "sprite_ptr1",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 24570,
   "name": "sprite_ptr2",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 24571,
   "name": "sprite_ptr3",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 24573,
   "name": "sprite_ptr5",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 24575,
   "name": "sprite_ptr7",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 24576,
   "name": "race_picture",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 24614,
   "name": "crack_6026",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 24615,
   "name": "crack_6027",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 24616,
   "name": "damage_bar",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 24880,
   "name": "frame_edge_1",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 25200,
   "name": "frame_edge_2",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 25248,
   "name": "view6_row2",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 25520,
   "name": "frame_edge_3",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 25568,
   "name": "view6_row3",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 25840,
   "name": "frame_edge_4",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 25888,
   "name": "view6_row4",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 26208,
   "name": "view6_row5",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 26336,
   "name": "sprite_68_src",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 26528,
   "name": "view6_row6",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 26848,
   "name": "view6_row7",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 26912,
   "name": "sprite_69_src",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 27168,
   "name": "view6_row8",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 27488,
   "name": "sprite_fd_src",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 27552,
   "name": "sprite_5f_src",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 27808,
   "name": "view6_row10",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 27936,
   "name": "sprite_6a_src",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 28128,
   "name": "view6_row11",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 28448,
   "name": "view6_row12",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 28768,
   "name": "view6_row13",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 29088,
   "name": "view6_row14",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 29408,
   "name": "bonnet6_row15",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 29728,
   "name": "bonnet6_row16",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 30048,
   "name": "bonnet6_left",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 30072,
   "name": "bonnet6_left_edge",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 30112,
   "name": "bonnet6_mid_left",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 30216,
   "name": "bonnet6_mid_right",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 30272,
   "name": "bonnet6_right_edge",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 30280,
   "name": "bonnet6_right",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 30296,
   "name": "wheel6_right",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 30368,
   "name": "wheel6_left_row18",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 30616,
   "name": "wheel6_right_row18",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 30688,
   "name": "wheel6_left_row19",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 30936,
   "name": "wheel6_right_row19",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 31398,
   "name": "speed_bar_6",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 31399,
   "name": "speed_bar_7",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 31488,
   "name": "dash_7b00",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 31744,
   "name": "dash_7c00",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 31827,
   "name": "menu_screen_2_3",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 31860,
   "name": "menu_screen_2_36",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 32000,
   "name": "dash_7d00",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 32256,
   "name": "dash_7e00",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 32512,
   "name": "dash_7f00",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 32576,
   "name": "sprite_fd",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 32640,
   "name": "message_left",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 32641,
   "name": "message_left_1",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 32642,
   "name": "message_left_2",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 32704,
   "name": "message_right",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 32705,
   "name": "message_right_1",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 32706,
   "name": "message_right_2",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 32768,
   "name": "f_8000",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 32795,
   "name": "f_801B",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 32800,
   "name": "f_8020",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 32805,
   "name": "f_8025",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 32830,
   "name": "f_803E",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 32832,
   "name": "f_8040",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 32833,
   "name": "f_8041",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 32864,
   "name": "f_8060",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 32892,
   "name": "a_807C",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 32893,
   "name": "a_807D",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 32894,
   "name": "f_807E",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 32895,
   "name": "a_807F",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 32896,
   "name": "f_8080",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 32928,
   "name": "f_80A0",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 32960,
   "name": "font",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 32968,
   "name": "bar_patterns",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 33032,
   "name": "font_text",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 33432,
   "name": "clock_hundredths",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 33446,
   "name": "record_lap_hundredths",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 33447,
   "name": "record_race_hundredths",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 33456,
   "name": "clock_seconds",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 33470,
   "name": "record_lap_seconds",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 33471,
   "name": "record_race_seconds",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 33688,
   "name": "clock_minutes",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 33702,
   "name": "record_lap_minutes",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 33703,
   "name": "record_race_minutes",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 33712,
   "name": "driver_counts",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 33728,
   "name": "VIDEO_MULTICOLOUR",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 33740,
   "name": "VIDEO_HIRES",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 33750,
   "name": "SET_VIDEO",
   "type": "Branch",
   "kind": "user"
  },
  {
   "address": 33783,
   "name": "MENU_SCREEN",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 33813,
   "name": "menu_colours",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 33814,
   "name": "FILL_SCREEN",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 33816,
   "name": "b_8418",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 33832,
   "name": "COPY_VIEW_OR_CLEAR",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 33852,
   "name": "b_843C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 33875,
   "name": "b_8453",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 33901,
   "name": "print_escape",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 33902,
   "name": "print_escape_count",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 33903,
   "name": "PRINT_CHAR",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 33925,
   "name": "PRINT_CHAR_RAW",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 33944,
   "name": "b_8498",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 33953,
   "name": "b_84A1",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 33966,
   "name": "b_84AE",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 33974,
   "name": "b_84B6",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 34002,
   "name": "r_84D2",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 34003,
   "name": "b_84D3",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 34046,
   "name": "b_84FE",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 34123,
   "name": "b_854B",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 34146,
   "name": "b_8562",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 34154,
   "name": "b_856A",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 34159,
   "name": "b_856F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 34170,
   "name": "b_857A",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 34176,
   "name": "b_8580",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 34207,
   "name": "b_859F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 34224,
   "name": "b_85B0",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 34241,
   "name": "b_85C1",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 34245,
   "name": "print_column",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 34246,
   "name": "print_row",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 34247,
   "name": "print_a",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 34248,
   "name": "print_x",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 34249,
   "name": "print_y",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 34250,
   "name": "print_mask_left",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 34251,
   "name": "print_mask_right",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 34252,
   "name": "print_byte_column",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 34253,
   "name": "print_shift",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 34254,
   "name": "key_shift",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 34255,
   "name": "last_key",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 34256,
   "name": "print_half_row",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 34257,
   "name": "print_rubout",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 34258,
   "name": "KEY_SCAN",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 34298,
   "name": "r_85FA",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 34299,
   "name": "key_bits",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 34307,
   "name": "WAIT_KEY",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 34313,
   "name": "b_8609",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 34321,
   "name": "b_8611",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 34345,
   "name": "b_8629",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 34347,
   "name": "b_862B",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 34362,
   "name": "b_863A",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 34369,
   "name": "b_8641",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 34389,
   "name": "START_EFFECT",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 34501,
   "name": "effect_pulse",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 34502,
   "name": "effect_slot",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 34504,
   "name": "effect_hold",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 34508,
   "name": "effect_pitch",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 34512,
   "name": "effect_release",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 34516,
   "name": "effect_release_count",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 34520,
   "name": "effect_gate_off",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 34524,
   "name": "effect_voice",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 34527,
   "name": "release_frames",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 34543,
   "name": "EFFECT_TICK",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 34572,
   "name": "b_870C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 34582,
   "name": "CUT_EFFECT",
   "type": "Branch",
   "kind": "user"
  },
  {
   "address": 34596,
   "name": "r_8724",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 34597,
   "name": "DISPATCH",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 34686,
   "name": "b_877E",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 34689,
   "name": "b_8781",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 34694,
   "name": "b_8786",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 34699,
   "name": "b_878B",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 34703,
   "name": "b_878F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 34707,
   "name": "b_8793",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 34714,
   "name": "b_879A",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 34717,
   "name": "b_879D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 34720,
   "name": "b_87A0",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 34723,
   "name": "b_87A3",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 34726,
   "name": "b_87A6",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 34729,
   "name": "b_87A9",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 34732,
   "name": "b_87AC",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 34735,
   "name": "b_87AF",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 34738,
   "name": "b_87B2",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 34741,
   "name": "b_87B5",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 34744,
   "name": "b_87B8",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 34747,
   "name": "b_87BB",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 34750,
   "name": "b_87BE",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 34753,
   "name": "b_87C1",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 34756,
   "name": "UNPACK_TITLE",
   "type": "Branch",
   "kind": "user"
  },
  {
   "address": 34776,
   "name": "b_87D8",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 34786,
   "name": "b_87E2",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 34800,
   "name": "b_87F0",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 34844,
   "name": "b_881C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 34863,
   "name": "b_882F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 34901,
   "name": "b_8855",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 34912,
   "name": "b_8860",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 34922,
   "name": "SAVE_RESTORE_SCREEN",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 34942,
   "name": "b_887E",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 34944,
   "name": "b_8880",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 34955,
   "name": "b_888B",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 34959,
   "name": "j_888F",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 34988,
   "name": "b_88AC",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 34994,
   "name": "b_88B2",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 35022,
   "name": "b_88CE",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 35061,
   "name": "b_88F5",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 35105,
   "name": "FILL_ROWS",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 35113,
   "name": "b_8929",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 35117,
   "name": "b_892D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 35126,
   "name": "b_8936",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 35142,
   "name": "b_8946",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 35146,
   "name": "DRAWBRIDGE",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 35157,
   "name": "b_8955",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 35176,
   "name": "b_8968",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 35187,
   "name": "b_8973",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 35210,
   "name": "b_898A",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 35229,
   "name": "b_899D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 35257,
   "name": "b_89B9",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 35270,
   "name": "b_89C6",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 35278,
   "name": "b_89CE",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 35322,
   "name": "BRIDGE_HEIGHTS",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 35330,
   "name": "b_8A02",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 35342,
   "name": "r_8A0E",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 35343,
   "name": "bridge_steps",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 35359,
   "name": "bridge_tilt",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 35375,
   "name": "COLUMN_LIMITS",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 35396,
   "name": "b_8A44",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 35402,
   "name": "b_8A4A",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 35404,
   "name": "b_8A4C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 35411,
   "name": "b_8A53",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 35421,
   "name": "b_8A5D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 35429,
   "name": "b_8A65",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 35439,
   "name": "b_8A6F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 35447,
   "name": "b_8A77",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 35452,
   "name": "b_8A7C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 35462,
   "name": "b_8A86",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 35470,
   "name": "b_8A8E",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 35480,
   "name": "b_8A98",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 35488,
   "name": "b_8AA0",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 35493,
   "name": "FILL_ABOVE_EDGES",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 35495,
   "name": "j_8AA7",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 35511,
   "name": "b_8AB7",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 35521,
   "name": "b_8AC1",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 35531,
   "name": "b_8ACB",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 35542,
   "name": "b_8AD6",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 35561,
   "name": "b_8AE9",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 35569,
   "name": "b_8AF1",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 35575,
   "name": "b_8AF7",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 35581,
   "name": "b_8AFD",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 35587,
   "name": "b_8B03",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 35621,
   "name": "j_8B25",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 35633,
   "name": "r_8B31",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 35634,
   "name": "b_8B32",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 35636,
   "name": "b_8B34",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 35658,
   "name": "b_8B4A",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 35665,
   "name": "CRANE_CHAINS",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 35692,
   "name": "b_8B6C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 35702,
   "name": "r_8B76",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 35703,
   "name": "CHAIN",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 35712,
   "name": "b_8B80",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 35752,
   "name": "b_8BA8",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 35789,
   "name": "chain_masks_left",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 35805,
   "name": "chain_masks_right",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 35821,
   "name": "chain_left",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 35837,
   "name": "chain_right",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 35853,
   "name": "FRONT_WHEEL",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 35865,
   "name": "b_8C19",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 35878,
   "name": "b_8C26",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 35898,
   "name": "b_8C3A",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 35901,
   "name": "b_8C3D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 35908,
   "name": "b_8C44",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 35909,
   "name": "b_8C45",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 35922,
   "name": "b_8C52",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 35942,
   "name": "b_8C66",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 35945,
   "name": "b_8C69",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 35952,
   "name": "wheel_left",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 35960,
   "name": "f_8C78",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 35968,
   "name": "f_8C80",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 35988,
   "name": "wheel_right",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 35996,
   "name": "f_8C9C",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 36004,
   "name": "f_8CA4",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 36048,
   "name": "MARK_COLUMNS",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 36056,
   "name": "b_8CD8",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 36066,
   "name": "b_8CE2",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 36074,
   "name": "b_8CEA",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 36089,
   "name": "b_8CF9",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 36099,
   "name": "b_8D03",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 36111,
   "name": "b_8D0F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 36117,
   "name": "FILL_SPANS",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 36121,
   "name": "j_8D19",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 36134,
   "name": "b_8D26",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 36142,
   "name": "b_8D2E",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 36150,
   "name": "b_8D36",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 36159,
   "name": "b_8D3F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 36224,
   "name": "b_8D80",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 36226,
   "name": "b_8D82",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 36235,
   "name": "b_8D8B",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 36237,
   "name": "b_8D8D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 36270,
   "name": "b_8DAE",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 36271,
   "name": "b_8DAF",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 36287,
   "name": "b_8DBF",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 36293,
   "name": "j_8DC5",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 36323,
   "name": "b_8DE3",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 36328,
   "name": "j_8DE8",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 36341,
   "name": "r_8DF5",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 36342,
   "name": "TOGGLE_EDGES",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 36370,
   "name": "b_8E12",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 36398,
   "name": "b_8E2E",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 36426,
   "name": "b_8E4A",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 36454,
   "name": "r_8E66",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 36455,
   "name": "fill_masks",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 36471,
   "name": "SPEED_BAR",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 36479,
   "name": "b_8E7F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 36491,
   "name": "b_8E8B",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 36512,
   "name": "j_8EA0",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 36538,
   "name": "b_8EBA",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 36551,
   "name": "b_8EC7",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 36584,
   "name": "j_8EE8",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 36610,
   "name": "j_8F02",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 36617,
   "name": "bar_ends",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 36620,
   "name": "bar_full",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 36624,
   "name": "bar_empty",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 36625,
   "name": "PIECE_TABLE",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 36642,
   "name": "b_8F22",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 36648,
   "name": "b_8F28",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 36654,
   "name": "j_8F2E",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 36659,
   "name": "b_8F33",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 36671,
   "name": "b_8F3F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 36677,
   "name": "b_8F45",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 36702,
   "name": "b_8F5E",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 36711,
   "name": "b_8F67",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 36713,
   "name": "j_8F69",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 36721,
   "name": "b_8F71",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 36724,
   "name": "b_8F74",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 36727,
   "name": "b_8F77",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 36736,
   "name": "piece_value",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 36737,
   "name": "clear_flags",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 36738,
   "name": "CLEAR_VIEW",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 36747,
   "name": "b_8F8B",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 36805,
   "name": "b_8FC5",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 36843,
   "name": "b_8FEB",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 36845,
   "name": "b_8FED",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 36903,
   "name": "b_9027",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 36913,
   "name": "b_9031",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 36950,
   "name": "r_9056",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 36951,
   "name": "SET_ROW_COLOURS",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 36960,
   "name": "b_9060",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 36988,
   "name": "b_907C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 37006,
   "name": "b_908E",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 37024,
   "name": "b_90A0",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 37041,
   "name": "b_90B1",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 37051,
   "name": "DISK_COMMAND",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 37076,
   "name": "b_90D4",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 37091,
   "name": "j_90E3",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 37115,
   "name": "b_90FB",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 37116,
   "name": "b_90FC",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 37126,
   "name": "b_9106",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 37128,
   "name": "b_9108",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 37131,
   "name": "disk_scratch",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 37134,
   "name": "disk_scratch_name",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 37146,
   "name": "DISK_INIT_NAME",
   "type": "Branch",
   "kind": "user"
  },
  {
   "address": 37155,
   "name": "disk_initialise",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 37157,
   "name": "key_chars",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 37285,
   "name": "SPACES_3",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 37290,
   "name": "SPACES_2",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 37295,
   "name": "SPACE",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 37300,
   "name": "ROUND_RESULTS",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 37315,
   "name": "BONUS_RESULTS",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 37327,
   "name": "BONUS_LINES",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 37365,
   "name": "b_91F5",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 37394,
   "name": "b_9212",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 37397,
   "name": "TO_BCD",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 37403,
   "name": "b_921B",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 37413,
   "name": "SHOW_RECORDS",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 37455,
   "name": "b_924F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 37475,
   "name": "b_9263",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 37506,
   "name": "b_9282",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 37537,
   "name": "r_92A1",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 37538,
   "name": "CHECK_RECORDS",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 37551,
   "name": "b_92AF",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 37573,
   "name": "b_92C5",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 37609,
   "name": "b_92E9",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 37629,
   "name": "b_92FD",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 37632,
   "name": "RECORD_NAME",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 37644,
   "name": "b_930C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 37657,
   "name": "TRACK_RECORDS",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 37676,
   "name": "b_932C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 37687,
   "name": "b_9337",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 37742,
   "name": "b_936E",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 37800,
   "name": "FILE_BUFFER",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 37824,
   "name": "b_93C0",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 37834,
   "name": "b_93CA",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 37852,
   "name": "j_93DC",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 37855,
   "name": "r_93DF",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 37856,
   "name": "BAD_FILE_RETURN",
   "type": "Branch",
   "kind": "user"
  },
  {
   "address": 37863,
   "name": "RECORDS_MERGE",
   "type": "Branch",
   "kind": "user"
  },
  {
   "address": 37888,
   "name": "b_9400",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 37901,
   "name": "b_940D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 37906,
   "name": "j_9412",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 37910,
   "name": "b_9416",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 37935,
   "name": "b_942F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 37948,
   "name": "b_943C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 37953,
   "name": "j_9441",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 37960,
   "name": "FILE_NAME_CHECK",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 37964,
   "name": "b_944C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 37979,
   "name": "b_945B",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 37981,
   "name": "b_945D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 37996,
   "name": "b_946C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 37998,
   "name": "b_946E",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 38011,
   "name": "b_947B",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 38033,
   "name": "b_9491",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 38035,
   "name": "b_9493",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 38042,
   "name": "b_949A",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 38047,
   "name": "NAME_REFUSED",
   "type": "Branch",
   "kind": "user"
  },
  {
   "address": 38067,
   "name": "b_94B3",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 38084,
   "name": "b_94C4",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 38092,
   "name": "dir_name",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 38096,
   "name": "hall_name",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 38100,
   "name": "mp_name",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 38103,
   "name": "FILE_RESULT",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 38113,
   "name": "b_94E1",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 38141,
   "name": "b_94FD",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 38173,
   "name": "b_951D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 38182,
   "name": "b_9526",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 38186,
   "name": "file_message_index",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 38197,
   "name": "file_messages",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 38366,
   "name": "FILE_MESSAGE_LOOP",
   "type": "Branch",
   "kind": "user"
  },
  {
   "address": 38370,
   "name": "FILE_MESSAGE",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 38378,
   "name": "DIRECTORY_SCREEN",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 38382,
   "name": "b_95EE",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 38390,
   "name": "b_95F6",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 38413,
   "name": "j_960D",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 38427,
   "name": "DIRECTORY_ENTRY",
   "type": "Branch",
   "kind": "user"
  },
  {
   "address": 38452,
   "name": "DIRECTORY_NAME",
   "type": "Branch",
   "kind": "user"
  },
  {
   "address": 38484,
   "name": "b_9654",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 38496,
   "name": "b_9660",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 38516,
   "name": "dir_heading",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 38526,
   "name": "SCRAMBLE_NEXT",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 38566,
   "name": "scramble_seed",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 38567,
   "name": "scramble_seed_hi",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 38568,
   "name": "SCRAMBLE",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 38573,
   "name": "UNSCRAMBLE",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 38575,
   "name": "j_96AF",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 38597,
   "name": "b_96C5",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 38620,
   "name": "b_96DC",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 38625,
   "name": "SCRAMBLE_PAGE",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 38645,
   "name": "b_96F5",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 38647,
   "name": "b_96F7",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 38675,
   "name": "b_9713",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 38680,
   "name": "b_9718",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 38697,
   "name": "b_9729",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 38725,
   "name": "r_9745",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 38726,
   "name": "SCRAMBLE_2",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 38734,
   "name": "UNSCRAMBLE_2",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 38742,
   "name": "LEAGUE_FILE",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 38749,
   "name": "b_975D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 38765,
   "name": "b_976D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 38775,
   "name": "b_9777",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 38788,
   "name": "b_9784",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 38795,
   "name": "b_978B",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 38811,
   "name": "b_979B",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 38821,
   "name": "b_97A5",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 38830,
   "name": "r_97AE",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 38831,
   "name": "REDEFINE_KEYS",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 38839,
   "name": "b_97B7",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 38851,
   "name": "j_97C3",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 38858,
   "name": "b_97CA",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 38869,
   "name": "KEY_SCAN_LOOP",
   "type": "Branch",
   "kind": "user"
  },
  {
   "address": 38871,
   "name": "b_97D7",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 38911,
   "name": "b_97FF",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 38914,
   "name": "b_9802",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 38919,
   "name": "b_9807",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 38934,
   "name": "b_9816",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 38941,
   "name": "j_981D",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 38962,
   "name": "b_9832",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 38970,
   "name": "key_number",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 38971,
   "name": "key_pass",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 38972,
   "name": "key_order",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 38977,
   "name": "key_messages",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 38982,
   "name": "PLAYER_KEYS",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 39012,
   "name": "b_9864",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 39022,
   "name": "r_986E",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 39023,
   "name": "b_986F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 39034,
   "name": "player_keys",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 39074,
   "name": "PRACTICE_TRACK",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 39101,
   "name": "b_98BD",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 39122,
   "name": "HALL_OF_FAME",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 39141,
   "name": "b_98E5",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 39181,
   "name": "b_990D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 39212,
   "name": "b_992C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 39255,
   "name": "b_9957",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 39264,
   "name": "b_9960",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 39312,
   "name": "j_9990",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 39323,
   "name": "b_999B",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 39381,
   "name": "b_99D5",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 39407,
   "name": "track_letters",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 39408,
   "name": "f_99F0",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 39423,
   "name": "PRINT_TIME",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 39463,
   "name": "b_9A27",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 39467,
   "name": "b_9A2B",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 39474,
   "name": "NMI",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 39480,
   "name": "PLACE_ON_PIECE",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 39502,
   "name": "EYE_ON_STRAIGHT",
   "type": "Branch",
   "kind": "user"
  },
  {
   "address": 39543,
   "name": "EYE_ON_DIAGONAL",
   "type": "Branch",
   "kind": "user"
  },
  {
   "address": 39625,
   "name": "EYE_ON_CURVE",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 39646,
   "name": "b_9ADE",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 39669,
   "name": "b_9AF5",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 39721,
   "name": "b_9B29",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 39752,
   "name": "b_9B48",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 39757,
   "name": "b_9B4D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 39801,
   "name": "b_9B79",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 39815,
   "name": "b_9B87",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 39818,
   "name": "j_9B8A",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 39830,
   "name": "b_9B96",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 39834,
   "name": "CURVE_ACROSS",
   "type": "Branch",
   "kind": "user"
  },
  {
   "address": 39870,
   "name": "CURVE_DISTANCE",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 39882,
   "name": "b_9BCA",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 39893,
   "name": "b_9BD5",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 39896,
   "name": "b_9BD8",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 39900,
   "name": "j_9BDC",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 39921,
   "name": "b_9BF1",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 39956,
   "name": "POINT_HEIGHT",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 39984,
   "name": "b_9C30",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 40004,
   "name": "b_9C44",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 40028,
   "name": "b_9C5C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 40045,
   "name": "j_9C6D",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 40057,
   "name": "PLACE_ALONG",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 40075,
   "name": "b_9C8B",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 40098,
   "name": "b_9CA2",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 40117,
   "name": "b_9CB5",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 40122,
   "name": "WHEELS_ROAD_HEIGHT",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 40137,
   "name": "j_9CC9",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 40154,
   "name": "WHEEL_POINT_ACROSS",
   "type": "Branch",
   "kind": "user"
  },
  {
   "address": 40171,
   "name": "b_9CEB",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 40209,
   "name": "b_9D11",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 40229,
   "name": "b_9D25",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 40233,
   "name": "b_9D29",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 40244,
   "name": "b_9D34",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 40256,
   "name": "b_9D40",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 40267,
   "name": "b_9D4B",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 40275,
   "name": "b_9D53",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 40281,
   "name": "WHEEL_POINT_ALONG",
   "type": "Branch",
   "kind": "user"
  },
  {
   "address": 40300,
   "name": "b_9D6C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 40341,
   "name": "b_9D95",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 40344,
   "name": "WHEEL_POINT_HEIGHTS",
   "type": "Branch",
   "kind": "user"
  },
  {
   "address": 40394,
   "name": "b_9DCA",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 40444,
   "name": "j_9DFC",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 40455,
   "name": "r_9E07",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 40456,
   "name": "EYE_IN_PIECE",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 40489,
   "name": "b_9E29",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 40514,
   "name": "b_9E42",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 40539,
   "name": "b_9E5B",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 40564,
   "name": "WHEEL_PIECE_STEP",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 40582,
   "name": "b_9E86",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 40592,
   "name": "b_9E90",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 40602,
   "name": "b_9E9A",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 40613,
   "name": "b_9EA5",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 40622,
   "name": "b_9EAE",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 40633,
   "name": "b_9EB9",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 40635,
   "name": "r_9EBB",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 40636,
   "name": "ROAD_HEIGHT_AT",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 40667,
   "name": "b_9EDB",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 40698,
   "name": "b_9EFA",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 40733,
   "name": "b_9F1D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 40767,
   "name": "b_9F3F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 40773,
   "name": "b_9F45",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 40788,
   "name": "b_9F54",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 40790,
   "name": "j_9F56",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 40810,
   "name": "WHEEL_ROAD_HEIGHT",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 40821,
   "name": "b_9F75",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 40828,
   "name": "b_9F7C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 40844,
   "name": "b_9F8C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 40851,
   "name": "b_9F93",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 40888,
   "name": "CURVE_DISTANCE_FIX",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 40960,
   "name": "CURVE_FIX_REST",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 40987,
   "name": "curve_factors",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 40998,
   "name": "PIECE_POINT_IN_VIEW",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 41035,
   "name": "b_A04B",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 41069,
   "name": "b_A06D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 41108,
   "name": "b_A094",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 41142,
   "name": "OFF_EDGE_HEIGHT",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 41167,
   "name": "b_A0CF",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 41180,
   "name": "j_A0DC",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 41236,
   "name": "b_A114",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 41247,
   "name": "b_A11F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 41251,
   "name": "b_A123",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 41266,
   "name": "CAR_POINT_HEIGHTS",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 41291,
   "name": "b_A14B",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 41314,
   "name": "b_A162",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 41415,
   "name": "PRINT_STRING_E000_LOOP",
   "type": "Branch",
   "kind": "user"
  },
  {
   "address": 41419,
   "name": "PRINT_STRING_E000",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 41432,
   "name": "b_A1D8",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 41436,
   "name": "PRINT_MENU_STRING",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 41444,
   "name": "TIMES_24_PLUS_8",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 41458,
   "name": "a_A1F2",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 41470,
   "name": "f_A1FE",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 41471,
   "name": "f_A1FF",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 41472,
   "name": "f_A200",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 41474,
   "name": "a_A202",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 41475,
   "name": "a_A203",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 41502,
   "name": "a_A21E",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 41503,
   "name": "a_A21F",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 41504,
   "name": "f_A220",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 41505,
   "name": "a_A221",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 41536,
   "name": "f_A240",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 41537,
   "name": "a_A241",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 41538,
   "name": "a_A242",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 41539,
   "name": "a_A243",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 41540,
   "name": "a_A244",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 41541,
   "name": "a_A245",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 41542,
   "name": "a_A246",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 41543,
   "name": "a_A247",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 41544,
   "name": "a_A248",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 41545,
   "name": "a_A249",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 41546,
   "name": "a_A24A",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 41547,
   "name": "a_A24B",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 41548,
   "name": "f_A24C",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 41550,
   "name": "f_A24E",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 41580,
   "name": "a_A26C",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 41581,
   "name": "a_A26D",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 41608,
   "name": "f_A288",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 41609,
   "name": "f_A289",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 41612,
   "name": "f_A28C",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 41613,
   "name": "a_A28D",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 41614,
   "name": "a_A28E",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 41615,
   "name": "a_A28F",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 41616,
   "name": "a_A290",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 41617,
   "name": "a_A291",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 41618,
   "name": "a_A292",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 41619,
   "name": "a_A293",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 41620,
   "name": "a_A294",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 41621,
   "name": "a_A295",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 41622,
   "name": "f_A296",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 41623,
   "name": "f_A297",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 41624,
   "name": "f_A298",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 41626,
   "name": "a_A29A",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 41627,
   "name": "a_A29B",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 41654,
   "name": "a_A2B6",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 41655,
   "name": "a_A2B7",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 41656,
   "name": "f_A2B8",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 41700,
   "name": "f_A2E4",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 41702,
   "name": "f_A2E6",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 41760,
   "name": "f_A320",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 41761,
   "name": "f_A321",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 41774,
   "name": "f_A32E",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 41775,
   "name": "f_A32F",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 41776,
   "name": "f_A330",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 41777,
   "name": "f_A331",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 41808,
   "name": "f_A350",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 41836,
   "name": "a_A36C",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 41837,
   "name": "a_A36D",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 41838,
   "name": "a_A36E",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 41839,
   "name": "a_A36F",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 41856,
   "name": "exp2_high",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 41984,
   "name": "colour_row_low",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 42008,
   "name": "colour_row_high",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 42032,
   "name": "leftover_a430",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 42048,
   "name": "masks_black",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 42176,
   "name": "masks_colour1",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 42240,
   "name": "masks_colour1_end",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 42304,
   "name": "row_low",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 42496,
   "name": "unknown_a600",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 42512,
   "name": "log_shift_adjust",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 42528,
   "name": "opp_widths",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 42560,
   "name": "row_high",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 42752,
   "name": "quarter_wave",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 42753,
   "name": "quarter_wave_next",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 43008,
   "name": "exp_low",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 43136,
   "name": "exp_mid",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 43264,
   "name": "exp_high",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 43520,
   "name": "log_low",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 43776,
   "name": "log_high",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 44032,
   "name": "exp_round_low",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 44160,
   "name": "exp_round_mid",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 44288,
   "name": "exp_round_high",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 44289,
   "name": "exp_round_high_next",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 44544,
   "name": "driver_names",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 44545,
   "name": "driver_name_letters",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 44608,
   "name": "player_names",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 44721,
   "name": "save_code_name",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 44737,
   "name": "file_name",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 44768,
   "name": "driver_flags",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 44800,
   "name": "track_names",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 44928,
   "name": "effects",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 44940,
   "name": "stones_pitch",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 44992,
   "name": "velocity_entries_x",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 44995,
   "name": "velocity_entries_y",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 44998,
   "name": "velocity_entries_z",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 45001,
   "name": "forces_entries_x",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 45004,
   "name": "forces_entries_y",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 45007,
   "name": "forces_entries_z",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 45010,
   "name": "spin_entries_pitch",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 45012,
   "name": "spin_entries_roll",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 45056,
   "name": "exp2_low",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 45057,
   "name": "exp2_low_next",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 45184,
   "name": "cos_of_sine",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 45312,
   "name": "kind_tables",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 45313,
   "name": "kind_tables_high",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 45344,
   "name": "shape_pointers",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 45345,
   "name": "shape_pointers_high",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 45600,
   "name": "track_pointers",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 45601,
   "name": "track_pointers_high",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 45632,
   "name": "kind_flags",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 45648,
   "name": "kind0",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 45731,
   "name": "kind1",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 45822,
   "name": "kind3",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 45913,
   "name": "kind4",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 46040,
   "name": "kind6",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 46139,
   "name": "kind7",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 46238,
   "name": "kind10",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 46349,
   "name": "shapes",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 47043,
   "name": "shapes_64",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 47714,
   "name": "track_little_ramp",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 47838,
   "name": "track_stepping_stones",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 47983,
   "name": "track_hump_back",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 48128,
   "name": "track_big_ramp",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 48270,
   "name": "track_ski_jump",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 48415,
   "name": "track_draw_bridge",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 48628,
   "name": "track_high_jump",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 48770,
   "name": "track_roller_coaster",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 48962,
   "name": "tracks_spare",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 49066,
   "name": "opp_speed_mask",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 49074,
   "name": "opp_speed_base",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 49082,
   "name": "opp_limit_mask",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 49090,
   "name": "opp_limit_base",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 49098,
   "name": "super_speed_mask",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 49106,
   "name": "super_speed_base",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 49114,
   "name": "super_limit_mask",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 49122,
   "name": "super_limit_base",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 49130,
   "name": "race_start_bytes",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 49142,
   "name": "leftover_bff6",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 49152,
   "name": "f_C000",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 49408,
   "name": "f_C100",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 49664,
   "name": "f_C200",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 49688,
   "name": "f_C218",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 49712,
   "name": "f_C230",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 49736,
   "name": "f_C248",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 49760,
   "name": "f_C260",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 49792,
   "name": "f_C280",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 49856,
   "name": "f_C2C0",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 49920,
   "name": "f_C300",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 49921,
   "name": "a_C301",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 49922,
   "name": "a_C302",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 49923,
   "name": "a_C303",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 49924,
   "name": "a_C304",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 49925,
   "name": "a_C305",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 49926,
   "name": "a_C306",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 49927,
   "name": "a_C307",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 49928,
   "name": "a_C308",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 49929,
   "name": "a_C309",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 49930,
   "name": "a_C30A",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 49931,
   "name": "a_C30B",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 49932,
   "name": "a_C30C",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 49933,
   "name": "a_C30D",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 49934,
   "name": "a_C30E",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 49935,
   "name": "a_C30F",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 49936,
   "name": "f_C310",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 49948,
   "name": "f_C31C",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 49960,
   "name": "a_C328",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 49972,
   "name": "f_C334",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 49984,
   "name": "f_C340",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 49987,
   "name": "f_C343",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 49989,
   "name": "a_C345",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 49990,
   "name": "f_C346",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 49991,
   "name": "a_C347",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 49992,
   "name": "a_C348",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 49993,
   "name": "f_C349",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 49994,
   "name": "a_C34A",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 49995,
   "name": "a_C34B",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 49996,
   "name": "a_C34C",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 49997,
   "name": "a_C34D",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 49998,
   "name": "a_C34E",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 49999,
   "name": "a_C34F",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 50000,
   "name": "a_C350",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 50001,
   "name": "a_C351",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 50002,
   "name": "a_C352",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 50003,
   "name": "a_C353",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 50004,
   "name": "a_C354",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 50005,
   "name": "a_C355",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 50006,
   "name": "a_C356",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 50007,
   "name": "a_C357",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 50008,
   "name": "a_C358",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 50009,
   "name": "a_C359",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 50012,
   "name": "a_C35C",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 50013,
   "name": "a_C35D",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 50014,
   "name": "a_C35E",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 50015,
   "name": "a_C35F",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 50016,
   "name": "a_C360",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 50017,
   "name": "a_C361",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 50018,
   "name": "a_C362",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 50020,
   "name": "a_C364",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 50021,
   "name": "a_C365",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 50022,
   "name": "a_C366",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 50023,
   "name": "a_C367",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 50024,
   "name": "a_C368",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 50025,
   "name": "a_C369",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 50026,
   "name": "a_C36A",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 50027,
   "name": "a_C36B",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 50028,
   "name": "a_C36C",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 50029,
   "name": "a_C36D",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 50030,
   "name": "a_C36E",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 50031,
   "name": "a_C36F",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 50032,
   "name": "a_C370",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 50033,
   "name": "a_C371",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 50034,
   "name": "a_C372",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 50035,
   "name": "a_C373",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 50036,
   "name": "f_C374",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 50037,
   "name": "a_C375",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 50038,
   "name": "f_C376",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 50040,
   "name": "f_C378",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 50041,
   "name": "a_C379",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 50042,
   "name": "a_C37A",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 50043,
   "name": "a_C37B",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 50044,
   "name": "a_C37C",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 50046,
   "name": "a_C37E",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 50047,
   "name": "mul_hi",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 50048,
   "name": "matrix_hi",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 50049,
   "name": "shift_sign",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 50050,
   "name": "f_C382",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 50052,
   "name": "a_C384",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 50053,
   "name": "a_C385",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 50054,
   "name": "a_C386",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 50055,
   "name": "a_C387",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 50056,
   "name": "a_C388",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 50059,
   "name": "a_C38B",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 50069,
   "name": "a_C395",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 50070,
   "name": "a_C396",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 50071,
   "name": "a_C397",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 50072,
   "name": "a_C398",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 50073,
   "name": "a_C399",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 50074,
   "name": "a_C39A",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 50075,
   "name": "a_C39B",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 50076,
   "name": "a_C39C",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 50084,
   "name": "a_C3A4",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 50085,
   "name": "a_C3A5",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 50086,
   "name": "a_C3A6",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 50088,
   "name": "a_C3A8",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 50089,
   "name": "a_C3A9",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 50091,
   "name": "a_C3AB",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 50093,
   "name": "a_C3AD",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 50102,
   "name": "a_C3B6",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 50103,
   "name": "a_C3B7",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 50108,
   "name": "a_C3BC",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 50115,
   "name": "f_C3C3",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 50116,
   "name": "a_C3C4",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 50117,
   "name": "a_C3C5",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 50118,
   "name": "a_C3C6",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 50119,
   "name": "a_C3C7",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 50123,
   "name": "a_C3CB",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 50124,
   "name": "a_C3CC",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 50125,
   "name": "a_C3CD",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 50126,
   "name": "f_C3CE",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 50128,
   "name": "a_C3D0",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 50129,
   "name": "f_C3D1",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 50130,
   "name": "a_C3D2",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 50131,
   "name": "a_C3D3",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 50132,
   "name": "f_C3D4",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 50135,
   "name": "a_C3D7",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 50136,
   "name": "a_C3D8",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 50137,
   "name": "a_C3D9",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 50138,
   "name": "a_C3DA",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 50140,
   "name": "a_C3DC",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 50143,
   "name": "a_C3DF",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 50175,
   "name": "f_C3FF",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 50176,
   "name": "f_C400",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 50239,
   "name": "a_C43F",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 50240,
   "name": "f_C440",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 50432,
   "name": "f_C500",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 50434,
   "name": "f_C502",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 50437,
   "name": "f_C505",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 50439,
   "name": "f_C507",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 50440,
   "name": "f_C508",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 50448,
   "name": "f_C510",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 50450,
   "name": "f_C512",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 50453,
   "name": "f_C515",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 50455,
   "name": "f_C517",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 50456,
   "name": "f_C518",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 50464,
   "name": "f_C520",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 50469,
   "name": "f_C525",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 50472,
   "name": "f_C528",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 50480,
   "name": "f_C530",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 50485,
   "name": "f_C535",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 50488,
   "name": "f_C538",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 50496,
   "name": "f_C540",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 50560,
   "name": "f_C580",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 50624,
   "name": "f_C5C0",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 50688,
   "name": "f_C600",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 50689,
   "name": "f_C601",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 50690,
   "name": "f_C602",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 50691,
   "name": "f_C603",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 50751,
   "name": "f_C63F",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 50752,
   "name": "f_C640",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 50816,
   "name": "f_C680",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 50880,
   "name": "f_C6C0",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 50944,
   "name": "f_C700",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 50955,
   "name": "f_C70B",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 50956,
   "name": "f_C70C",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 50968,
   "name": "a_C718",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 50969,
   "name": "a_C719",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 50970,
   "name": "a_C71A",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 50972,
   "name": "f_C71C",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 50984,
   "name": "f_C728",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 50996,
   "name": "f_C734",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 51008,
   "name": "f_C740",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 51019,
   "name": "a_C74B",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 51020,
   "name": "f_C74C",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 51032,
   "name": "f_C758",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 51033,
   "name": "f_C759",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 51043,
   "name": "f_C763",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 51044,
   "name": "a_C764",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 51045,
   "name": "a_C765",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 51046,
   "name": "a_C766",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 51047,
   "name": "a_C767",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 51048,
   "name": "a_C768",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 51049,
   "name": "a_C769",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 51050,
   "name": "a_C76A",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 51051,
   "name": "a_C76B",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 51052,
   "name": "a_C76C",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 51053,
   "name": "a_C76D",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 51054,
   "name": "a_C76E",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 51055,
   "name": "a_C76F",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 51056,
   "name": "a_C770",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 51057,
   "name": "a_C771",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 51058,
   "name": "a_C772",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 51059,
   "name": "a_C773",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 51060,
   "name": "a_C774",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 51061,
   "name": "a_C775",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 51062,
   "name": "a_C776",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 51063,
   "name": "a_C777",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 51064,
   "name": "a_C778",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 51065,
   "name": "a_C779",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 51067,
   "name": "a_C77B",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 51068,
   "name": "a_C77C",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 51069,
   "name": "a_C77D",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 51070,
   "name": "a_C77E",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 51071,
   "name": "a_C77F",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 51072,
   "name": "sin_cos_x",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 51074,
   "name": "MUL8",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 51085,
   "name": "b_C78D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 51093,
   "name": "b_C795",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 51101,
   "name": "b_C79D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 51109,
   "name": "b_C7A5",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 51117,
   "name": "b_C7AD",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 51125,
   "name": "b_C7B5",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 51133,
   "name": "b_C7BD",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 51141,
   "name": "b_C7C5",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 51145,
   "name": "KEY_PRESSED",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 51159,
   "name": "SIN_COS",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 51203,
   "name": "b_C803",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 51206,
   "name": "b_C806",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 51224,
   "name": "b_C818",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 51230,
   "name": "MUL_S8_U8",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 51238,
   "name": "b_C826",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 51241,
   "name": "b_C829",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 51250,
   "name": "b_C832",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 51269,
   "name": "MUL_S16_U8",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 51271,
   "name": "MUL_S16_S8",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 51288,
   "name": "b_C858",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 51295,
   "name": "MUL_S16_MATRIX",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 51312,
   "name": "b_C870",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 51339,
   "name": "b_C88B",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 51348,
   "name": "MUL_SIGNED_TAIL",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 51371,
   "name": "b_C8AB",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 51387,
   "name": "b_C8BB",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 51389,
   "name": "NEG16_IF_MINUS",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 51391,
   "name": "NEG16",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 51404,
   "name": "r_C8CC",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 51405,
   "name": "SINE16",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 51422,
   "name": "b_C8DE",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 51438,
   "name": "b_C8EE",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 51514,
   "name": "FIVE_SIXTEENTHS",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 51534,
   "name": "b_C94E",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 51574,
   "name": "SQUARE_S16",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 51592,
   "name": "b_C988",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 51627,
   "name": "b_C9AB",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 51646,
   "name": "r_C9BE",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 51647,
   "name": "SHIFT16",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 51663,
   "name": "b_C9CF",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 51671,
   "name": "b_C9D7",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 51680,
   "name": "r_C9E0",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 51681,
   "name": "b_C9E1",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 51690,
   "name": "ROTATION_MATRIX",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 51927,
   "name": "MATRIX_CORRECT",
   "type": "Branch",
   "kind": "user"
  },
  {
   "address": 51982,
   "name": "b_CB0E",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 52003,
   "name": "b_CB23",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 52033,
   "name": "b_CB41",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 52053,
   "name": "b_CB55",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 52060,
   "name": "MATRIX_DERIVED",
   "type": "Branch",
   "kind": "user"
  },
  {
   "address": 52184,
   "name": "MATRIX_PRODUCT",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 52211,
   "name": "b_CBF3",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 52221,
   "name": "b_CBFD",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 52225,
   "name": "MATRIX_TERM",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 52247,
   "name": "MATRIX_PRODUCT_TC",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 52250,
   "name": "MATRIX_TO_TC",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 52272,
   "name": "r_CC30",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 52273,
   "name": "VELOCITY_TO_CAR",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 52275,
   "name": "b_CC33",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 52356,
   "name": "PULL_IN_CAR",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 52403,
   "name": "FORCES_TO_WORLD",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 52405,
   "name": "b_CCB5",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 52485,
   "name": "SPIN_TO_ANGLES",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 52487,
   "name": "b_CD07",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 52572,
   "name": "IRQ_MENU_BANDS",
   "type": "Branch",
   "kind": "user"
  },
  {
   "address": 52594,
   "name": "b_CD72",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 52612,
   "name": "b_CD84",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 52624,
   "name": "b_CD90",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 52639,
   "name": "b_CD9F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 52642,
   "name": "b_CDA2",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 52648,
   "name": "b_CDA8",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 52650,
   "name": "IRQ",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 52677,
   "name": "IRQ_RACE_TOP",
   "type": "Branch",
   "kind": "user"
  },
  {
   "address": 52688,
   "name": "b_CDD0",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 52694,
   "name": "j_CDD6",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 52704,
   "name": "b_CDE0",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 52763,
   "name": "IRQ_SPRITES",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 52823,
   "name": "b_CE57",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 52865,
   "name": "b_CE81",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 52887,
   "name": "b_CE97",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 52897,
   "name": "IRQ_BANDS_BELOW",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 52917,
   "name": "IRQ_DASHBOARD",
   "type": "Branch",
   "kind": "user"
  },
  {
   "address": 53022,
   "name": "b_CF1E",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 53059,
   "name": "b_CF43",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 53065,
   "name": "IRQ_NEXT_LINE",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 53078,
   "name": "flame_x0",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 53080,
   "name": "flame_x1",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 53082,
   "name": "flame_y0",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 53084,
   "name": "flame_y1",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 53086,
   "name": "flame_ptr0",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 53088,
   "name": "flame_ptr1",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 53094,
   "name": "flame_x_hi",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 53096,
   "name": "EFFECT",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 53107,
   "name": "ACROSS_LINE_ENDS",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 53111,
   "name": "b_CF77",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 53171,
   "name": "b_CFB3",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 53175,
   "name": "ADD16_18",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 53189,
   "name": "PIECE_AHEAD",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 53199,
   "name": "b_CFCF",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 53202,
   "name": "PIECE_BEHIND",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 53211,
   "name": "b_CFDB",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 53214,
   "name": "VIEW_KEYS",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 53236,
   "name": "b_CFF4",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 53241,
   "name": "b_CFF9",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 53247,
   "name": "f_CFFF",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 53504,
   "name": "f_D100",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 53760,
   "name": "f_D200",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 54016,
   "name": "f_D300",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 54528,
   "name": "f_D500",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 54784,
   "name": "f_D600",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 55040,
   "name": "f_D700",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 55296,
   "name": "f_D800",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 55301,
   "name": "f_D805",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 55552,
   "name": "f_D900",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 55808,
   "name": "f_DA00",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 55980,
   "name": "a_DAAC",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 55990,
   "name": "f_DAB6",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 56011,
   "name": "a_DACB",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 56020,
   "name": "a_DAD4",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 56051,
   "name": "a_DAF3",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 56060,
   "name": "a_DAFC",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 56064,
   "name": "f_DB00",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 56091,
   "name": "a_DB1B",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 56148,
   "name": "f_DB54",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 56268,
   "name": "a_DBCC",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 56269,
   "name": "a_DBCD",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 56282,
   "name": "a_DBDA",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 56283,
   "name": "a_DBDB",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 56544,
   "name": "f_DCE0",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 56832,
   "name": "f_DE00",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 56833,
   "name": "f_DE01",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 56834,
   "name": "f_DE02",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 56844,
   "name": "f_DE0C",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 56845,
   "name": "f_DE0D",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 56846,
   "name": "f_DE0E",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 57088,
   "name": "f_DF00",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 57089,
   "name": "f_DF01",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 57090,
   "name": "f_DF02",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 57100,
   "name": "f_DF0C",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 57101,
   "name": "f_DF0D",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 57102,
   "name": "f_DF0E",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 57344,
   "name": "menu_strings_e000",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 57533,
   "name": "super_division_row",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 57593,
   "name": "STOP_EFFECTS",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 57595,
   "name": "b_E0FB",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 57604,
   "name": "ENGINE_SOUND",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 57622,
   "name": "b_E116",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 57635,
   "name": "b_E123",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 57684,
   "name": "b_E154",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 57698,
   "name": "b_E162",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 57708,
   "name": "b_E16C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 57712,
   "name": "b_E170",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 57716,
   "name": "b_E174",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 57735,
   "name": "b_E187",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 57745,
   "name": "b_E191",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 57749,
   "name": "OPP_DRAW_HERE",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 57764,
   "name": "r_E1A4",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 57765,
   "name": "b_E1A5",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 57777,
   "name": "DRAW_OPPONENT",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 57818,
   "name": "b_E1DA",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 57838,
   "name": "b_E1EE",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 57855,
   "name": "b_E1FF",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 57896,
   "name": "b_E228",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 57900,
   "name": "b_E22C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 57932,
   "name": "b_E24C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 57935,
   "name": "j_E24F",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 57938,
   "name": "b_E252",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 57944,
   "name": "b_E258",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 57949,
   "name": "CAR_FRACTIONS",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 57951,
   "name": "b_E25F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 57960,
   "name": "b_E268",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 58000,
   "name": "b_E290",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 58004,
   "name": "CAR_SIDES",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 58017,
   "name": "b_E2A1",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 58026,
   "name": "CAR_END",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 58120,
   "name": "b_E308",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 58138,
   "name": "PLACE_POINTS",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 58142,
   "name": "b_E31E",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 58150,
   "name": "b_E326",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 58159,
   "name": "b_E32F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 58175,
   "name": "b_E33F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 58177,
   "name": "b_E341",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 58189,
   "name": "b_E34D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 58198,
   "name": "b_E356",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 58214,
   "name": "b_E366",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 58216,
   "name": "b_E368",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 58226,
   "name": "CAR_SIDE_A",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 58247,
   "name": "r_E387",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 58248,
   "name": "CAR_SIDE_B",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 58266,
   "name": "CAR_PANEL_AT",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 58328,
   "name": "CAR_PANEL",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 58356,
   "name": "b_E3F4",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 58370,
   "name": "j_E402",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 58377,
   "name": "CAR_FRAME",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 58396,
   "name": "b_E41C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 58420,
   "name": "b_E434",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 58446,
   "name": "b_E44E",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 58448,
   "name": "b_E450",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 58469,
   "name": "b_E465",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 58471,
   "name": "b_E467",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 58479,
   "name": "b_E46F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 58494,
   "name": "b_E47E",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 58514,
   "name": "b_E492",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 58521,
   "name": "j_E499",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 58545,
   "name": "b_E4B1",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 58584,
   "name": "b_E4D8",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 58586,
   "name": "OPP_CORNERS",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 58680,
   "name": "b_E538",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 58683,
   "name": "j_E53B",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 58785,
   "name": "OPP_SEGMENT",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 58816,
   "name": "b_E5C0",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 58823,
   "name": "PIECE_HEIGHTS_AHEAD",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 58844,
   "name": "POINT_ALONG",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 58902,
   "name": "POINT_PLUS",
   "type": "Branch",
   "kind": "user"
  },
  {
   "address": 58920,
   "name": "OPP_ALONG",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 58929,
   "name": "OPP_ALONG_AT",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 58945,
   "name": "PROJECT_CORNER",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 58974,
   "name": "OPP_BODY",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 58978,
   "name": "b_E662",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 59001,
   "name": "b_E679",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 59026,
   "name": "b_E692",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 59100,
   "name": "b_E6DC",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 59109,
   "name": "body_unused",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 59112,
   "name": "CAR_ROOF",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 59208,
   "name": "b_E748",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 59226,
   "name": "b_E75A",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 59251,
   "name": "b_E773",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 59257,
   "name": "b_E779",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 59278,
   "name": "b_E78E",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 59303,
   "name": "b_E7A7",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 59309,
   "name": "b_E7AD",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 59330,
   "name": "PILLARS_44_45",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 59344,
   "name": "PILLARS_47_46",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 59358,
   "name": "ROOF_EDGE_49",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 59365,
   "name": "PILLAR_44",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 59372,
   "name": "PILLAR_47",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 59379,
   "name": "ROOF_EDGE_48",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 59386,
   "name": "PILLAR_45",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 59393,
   "name": "PILLAR_46",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 59400,
   "name": "OPP_SEGMENT_POINTS",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 59426,
   "name": "b_E822",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 59435,
   "name": "b_E82B",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 59452,
   "name": "b_E83C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 59459,
   "name": "SEGMENT_POINT",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 59483,
   "name": "NEW_LEAGUE",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 59488,
   "name": "b_E860",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 59507,
   "name": "b_E873",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 59519,
   "name": "RACE_OTHERS",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 59521,
   "name": "b_E881",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 59541,
   "name": "b_E895",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 59554,
   "name": "b_E8A2",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 59563,
   "name": "b_E8AB",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 59574,
   "name": "driver_base",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 59586,
   "name": "DIVISION_RANGE",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 59603,
   "name": "b_E8D3",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 59617,
   "name": "division_first",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 59621,
   "name": "RACE_PAIR",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 59645,
   "name": "b_E8FD",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 59673,
   "name": "j_E919",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 59680,
   "name": "pair_first",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 59686,
   "name": "pair_second",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 59692,
   "name": "RACE_RESULT",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 59703,
   "name": "b_E937",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 59738,
   "name": "b_E95A",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 59743,
   "name": "b_E95F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 59759,
   "name": "b_E96F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 59765,
   "name": "j_E975",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 59773,
   "name": "b_E97D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 59778,
   "name": "b_E982",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 59782,
   "name": "b_E986",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 59784,
   "name": "j_E988",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 59810,
   "name": "r_E9A2",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 59811,
   "name": "SORT_DIVISION",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 59816,
   "name": "b_E9A8",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 59839,
   "name": "b_E9BF",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 59845,
   "name": "b_E9C5",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 59887,
   "name": "b_E9EF",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 59893,
   "name": "b_E9F5",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 59908,
   "name": "b_EA04",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 59922,
   "name": "READ_TRACK",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 59929,
   "name": "b_EA19",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 59932,
   "name": "TRACK_STEP",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 59942,
   "name": "b_EA26",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 59946,
   "name": "b_EA2A",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 59952,
   "name": "b_EA30",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 59956,
   "name": "BUILD_TRACK",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 59971,
   "name": "b_EA43",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 60005,
   "name": "b_EA65",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 60028,
   "name": "b_EA7C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 60036,
   "name": "b_EA84",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 60060,
   "name": "b_EA9C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 60068,
   "name": "j_EAA4",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 60113,
   "name": "b_EAD1",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 60131,
   "name": "b_EAE3",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 60134,
   "name": "j_EAE6",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 60286,
   "name": "b_EB7E",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 60297,
   "name": "b_EB89",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 60325,
   "name": "b_EBA5",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 60343,
   "name": "b_EBB7",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 60361,
   "name": "b_EBC9",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 60368,
   "name": "b_EBD0",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 60379,
   "name": "fixed_shapes_a_base",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 60380,
   "name": "b_EBDC",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 60381,
   "name": "fixed_shapes_b_base",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 60391,
   "name": "fixed_shapes",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 60395,
   "name": "SHAPE_OFFSET_B",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 60403,
   "name": "SHAPE_OFFSET",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 60421,
   "name": "b_EC05",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 60433,
   "name": "CRANE",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 60450,
   "name": "b_EC22",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 60457,
   "name": "b_EC29",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 60460,
   "name": "b_EC2C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 60476,
   "name": "r_EC3C",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 60477,
   "name": "b_EC3D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 60510,
   "name": "b_EC5E",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 60517,
   "name": "b_EC65",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 60524,
   "name": "b_EC6C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 60540,
   "name": "b_EC7C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 60550,
   "name": "b_EC86",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 60555,
   "name": "b_EC8B",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 60569,
   "name": "r_EC99",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 60570,
   "name": "CRANE_LOWER",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 60610,
   "name": "b_ECC2",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 60635,
   "name": "CRANE_SWING",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 60649,
   "name": "b_ECE9",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 60699,
   "name": "b_ED1B",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 60729,
   "name": "SHIFT_ON_GROUND",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 60733,
   "name": "b_ED3D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 60748,
   "name": "b_ED4C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 60799,
   "name": "NAME_ENTRY",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 60843,
   "name": "NAME_ENTRY_AT",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 60853,
   "name": "b_EDB5",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 60855,
   "name": "NAME_KEY",
   "type": "Branch",
   "kind": "user"
  },
  {
   "address": 60886,
   "name": "b_EDD6",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 60900,
   "name": "b_EDE4",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 60937,
   "name": "NAME_CHARACTER",
   "type": "Branch",
   "kind": "user"
  },
  {
   "address": 60949,
   "name": "b_EE15",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 60963,
   "name": "NAME_DONE",
   "type": "Branch",
   "kind": "user"
  },
  {
   "address": 60974,
   "name": "b_EE2E",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 60978,
   "name": "j_EE32",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 60981,
   "name": "name_cancelled",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 60982,
   "name": "MENU_CHOICE",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 60999,
   "name": "MENU_LIST_DRAW",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 61003,
   "name": "b_EE4B",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 61019,
   "name": "b_EE5B",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 61022,
   "name": "b_EE5E",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 61072,
   "name": "b_EE90",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 61106,
   "name": "MENU_CHOSEN",
   "type": "Branch",
   "kind": "user"
  },
  {
   "address": 61121,
   "name": "MENU_WAIT",
   "type": "Branch",
   "kind": "user"
  },
  {
   "address": 61131,
   "name": "MENU_KEYS",
   "type": "Branch",
   "kind": "user"
  },
  {
   "address": 61143,
   "name": "b_EED7",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 61156,
   "name": "b_EEE4",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 61178,
   "name": "b_EEFA",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 61184,
   "name": "b_EF00",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 61185,
   "name": "b_EF01",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 61187,
   "name": "b_EF03",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 61190,
   "name": "MENU_HALL_OR_PRACTISE",
   "type": "Branch",
   "kind": "user"
  },
  {
   "address": 61199,
   "name": "MENU_PRACTISE",
   "type": "Branch",
   "kind": "user"
  },
  {
   "address": 61228,
   "name": "MENU_SEASON",
   "type": "Branch",
   "kind": "user"
  },
  {
   "address": 61239,
   "name": "b_EF37",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 61242,
   "name": "MAIN_MENU",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 61256,
   "name": "b_EF48",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 61303,
   "name": "b_EF77",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 61318,
   "name": "b_EF86",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 61324,
   "name": "MENU_LOAD_SAVE",
   "type": "Branch",
   "kind": "user"
  },
  {
   "address": 61335,
   "name": "b_EF97",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 61408,
   "name": "b_EFE0",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 61416,
   "name": "b_EFE8",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 61425,
   "name": "MENU_FILE_RESULT",
   "type": "Branch",
   "kind": "user"
  },
  {
   "address": 61428,
   "name": "b_EFF4",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 61437,
   "name": "b_EFFD",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 61440,
   "name": "kept_league_flag",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 61441,
   "name": "menu_items",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 61473,
   "name": "BAR_PART_AT",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 61487,
   "name": "PIECE_LOAD",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 61637,
   "name": "PIECE_ORIGIN",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 61676,
   "name": "b_F0EC",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 61689,
   "name": "b_F0F9",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 61694,
   "name": "j_F0FE",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 61700,
   "name": "b_F104",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 61719,
   "name": "PIECE_NEIGHBOUR",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 61743,
   "name": "b_F12F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 61756,
   "name": "b_F13C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 61776,
   "name": "b_F150",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 61782,
   "name": "j_F156",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 61786,
   "name": "b_F15A",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 61789,
   "name": "VIEW_SQUARE",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 61793,
   "name": "b_F161",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 61801,
   "name": "b_F169",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 61841,
   "name": "b_F191",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 61853,
   "name": "b_F19D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 61862,
   "name": "VIEW_NEGATE",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 61888,
   "name": "b_F1C0",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 61897,
   "name": "VIEW_COPY",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 61916,
   "name": "CAMERA",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 61976,
   "name": "b_F218",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 62016,
   "name": "b_F240",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 62049,
   "name": "b_F261",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 62101,
   "name": "b_F295",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 62135,
   "name": "SIDEWAYS",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 62187,
   "name": "r_F2EB",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 62188,
   "name": "b_F2EC",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 62198,
   "name": "MAP_SQUARES",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 62202,
   "name": "b_F2FA",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 62221,
   "name": "b_F30D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 62237,
   "name": "b_F31D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 62254,
   "name": "MAP_SQUARE",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 62275,
   "name": "b_F343",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 62292,
   "name": "b_F354",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 62300,
   "name": "b_F35C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 62337,
   "name": "b_F381",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 62342,
   "name": "TRACK_PREVIEW",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 62395,
   "name": "b_F3BB",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 62405,
   "name": "b_F3C5",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 62427,
   "name": "b_F3DB",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 62450,
   "name": "b_F3F2",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 62460,
   "name": "f_F3FC",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 62464,
   "name": "f_F400",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 62468,
   "name": "f_F404",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 62472,
   "name": "f_F408",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 62475,
   "name": "PROJECT_X_PAIR",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 62483,
   "name": "b_F413",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 62509,
   "name": "PROJECT_X_HALF",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 62515,
   "name": "b_F433",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 62528,
   "name": "REVERSE_POINTS",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 62538,
   "name": "b_F44A",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 62591,
   "name": "b_F47F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 62597,
   "name": "TRY_PIECE_BEHIND",
   "type": "Branch",
   "kind": "user"
  },
  {
   "address": 62600,
   "name": "START_PLACE",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 62622,
   "name": "START_LISTED",
   "type": "Branch",
   "kind": "user"
  },
  {
   "address": 62631,
   "name": "b_F4A7",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 62634,
   "name": "b_F4AA",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 62719,
   "name": "b_F4FF",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 62721,
   "name": "b_F501",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 62802,
   "name": "b_F552",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 62820,
   "name": "b_F564",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 62853,
   "name": "CAR_GAP",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 62937,
   "name": "b_F5D9",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 62943,
   "name": "b_F5DF",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 62953,
   "name": "SAME_LAP",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 62964,
   "name": "b_F5F4",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 62976,
   "name": "b_F600",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 62990,
   "name": "r_F60E",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 62991,
   "name": "BOOST",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 63009,
   "name": "b_F621",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 63052,
   "name": "b_F64C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 63069,
   "name": "b_F65D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 63080,
   "name": "BAR_HOLE",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 63087,
   "name": "b_F66F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 63091,
   "name": "BAR_HOLE_LIT",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 63100,
   "name": "BAR_GAP",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 63102,
   "name": "BAR_BYTES",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 63104,
   "name": "b_F680",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 63110,
   "name": "BAR_WHOLE",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 63114,
   "name": "b_F68A",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 63118,
   "name": "b_F68E",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 63142,
   "name": "DAMAGE_BAR",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 63144,
   "name": "b_F6A8",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 63159,
   "name": "b_F6B7",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 63169,
   "name": "j_F6C1",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 63174,
   "name": "b_F6C6",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 63191,
   "name": "SAVE_CODE",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 63195,
   "name": "b_F6DB",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 63207,
   "name": "b_F6E7",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 63209,
   "name": "b_F6E9",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 63219,
   "name": "j_F6F3",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 63228,
   "name": "b_F6FC",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 63239,
   "name": "b_F707",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 63241,
   "name": "b_F709",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 63255,
   "name": "b_F717",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 63259,
   "name": "b_F71B",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 63266,
   "name": "b_F722",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 63292,
   "name": "b_F73C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 63307,
   "name": "j_F74B",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 63314,
   "name": "b_F752",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 63325,
   "name": "b_F75D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 63330,
   "name": "b_F762",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 63339,
   "name": "b_F76B",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 63348,
   "name": "b_F774",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 63354,
   "name": "b_F77A",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 63359,
   "name": "b_F77F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 63370,
   "name": "b_F78A",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 63377,
   "name": "b_F791",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 63388,
   "name": "b_F79C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 63390,
   "name": "READ_CONTROLS",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 63403,
   "name": "b_F7AB",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 63417,
   "name": "b_F7B9",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 63434,
   "name": "b_F7CA",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 63443,
   "name": "b_F7D3",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 63454,
   "name": "b_F7DE",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 63488,
   "name": "b_F800",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 63490,
   "name": "b_F802",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 63495,
   "name": "f_F807",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 63500,
   "name": "f_F80C",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 63504,
   "name": "a_F810",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 63505,
   "name": "TIME_PENALTY",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 63526,
   "name": "b_F826",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 63529,
   "name": "r_F829",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 63530,
   "name": "r_F82A",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 63531,
   "name": "LINE_UP_LEFT",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 63541,
   "name": "b_F835",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 63555,
   "name": "LINE_UP_LEFT_BELOW",
   "type": "Branch",
   "kind": "user"
  },
  {
   "address": 63559,
   "name": "b_F847",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 63572,
   "name": "LINE_UP_LEFT_CLIP",
   "type": "Branch",
   "kind": "user"
  },
  {
   "address": 63583,
   "name": "b_F85F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 63595,
   "name": "j_F86B",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 63603,
   "name": "r_F873",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 63604,
   "name": "LINE_UP_LEFT_START",
   "type": "Branch",
   "kind": "user"
  },
  {
   "address": 63615,
   "name": "b_F87F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 63639,
   "name": "LINE_UP_LEFT_ROW",
   "type": "Branch",
   "kind": "user"
  },
  {
   "address": 63687,
   "name": "b_F8C7",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 63689,
   "name": "LINE_UP_LEFT_TEST",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 63691,
   "name": "line1_test",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 63708,
   "name": "LINE_UP_LEFT_PLOT",
   "type": "Branch",
   "kind": "user"
  },
  {
   "address": 63710,
   "name": "line1_opcode",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 63711,
   "name": "line1_mask",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 63715,
   "name": "LINE_UP_LEFT_NEXT",
   "type": "Branch",
   "kind": "user"
  },
  {
   "address": 63733,
   "name": "b_F8F5",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 63751,
   "name": "LINE_UP_LEFT_END",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 63763,
   "name": "COVER_LEFT",
   "type": "Branch",
   "kind": "user"
  },
  {
   "address": 63769,
   "name": "b_F919",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 63777,
   "name": "b_F921",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 63781,
   "name": "COVER_LEFT_FROM",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 63785,
   "name": "b_F929",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 63787,
   "name": "cover_left_page",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 63793,
   "name": "r_F931",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 63794,
   "name": "LINE_UP_RIGHT",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 63804,
   "name": "b_F93C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 63818,
   "name": "LINE_UP_RIGHT_BELOW",
   "type": "Branch",
   "kind": "user"
  },
  {
   "address": 63822,
   "name": "b_F94E",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 63835,
   "name": "LINE_UP_RIGHT_CLIP",
   "type": "Branch",
   "kind": "user"
  },
  {
   "address": 63846,
   "name": "b_F966",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 63858,
   "name": "j_F972",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 63866,
   "name": "r_F97A",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 63867,
   "name": "LINE_UP_RIGHT_START",
   "type": "Branch",
   "kind": "user"
  },
  {
   "address": 63878,
   "name": "b_F986",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 63902,
   "name": "LINE_UP_RIGHT_ROW",
   "type": "Branch",
   "kind": "user"
  },
  {
   "address": 63950,
   "name": "b_F9CE",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 63952,
   "name": "LINE_UP_RIGHT_TEST",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 63954,
   "name": "line2_test",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 63971,
   "name": "LINE_UP_RIGHT_PLOT",
   "type": "Branch",
   "kind": "user"
  },
  {
   "address": 63973,
   "name": "line2_opcode",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 63974,
   "name": "line2_mask",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 63978,
   "name": "LINE_UP_RIGHT_NEXT",
   "type": "Branch",
   "kind": "user"
  },
  {
   "address": 63996,
   "name": "b_F9FC",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 64014,
   "name": "LINE_UP_RIGHT_END",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 64026,
   "name": "b_FA1A",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 64032,
   "name": "b_FA20",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 64040,
   "name": "b_FA28",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 64046,
   "name": "COVER_RIGHT_FROM",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 64048,
   "name": "b_FA30",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 64050,
   "name": "cover_right_page",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 64056,
   "name": "r_FA38",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 64057,
   "name": "LINE_LEFT",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 64067,
   "name": "b_FA43",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 64078,
   "name": "LINE_LEFT_CLIP",
   "type": "Branch",
   "kind": "user"
  },
  {
   "address": 64082,
   "name": "b_FA52",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 64095,
   "name": "LINE_LEFT_ABOVE",
   "type": "Branch",
   "kind": "user"
  },
  {
   "address": 64102,
   "name": "b_FA66",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 64109,
   "name": "b_FA6D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 64121,
   "name": "j_FA79",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 64129,
   "name": "LINE_LEFT_START",
   "type": "Branch",
   "kind": "user"
  },
  {
   "address": 64140,
   "name": "b_FA8C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 64164,
   "name": "LINE_LEFT_COLUMN",
   "type": "Branch",
   "kind": "user"
  },
  {
   "address": 64214,
   "name": "b_FAD6",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 64216,
   "name": "LINE_LEFT_TEST",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 64218,
   "name": "line3_test",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 64235,
   "name": "LINE_LEFT_PLOT",
   "type": "Branch",
   "kind": "user"
  },
  {
   "address": 64237,
   "name": "line3_opcode",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 64238,
   "name": "line3_mask",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 64242,
   "name": "LINE_LEFT_NEXT",
   "type": "Branch",
   "kind": "user"
  },
  {
   "address": 64260,
   "name": "b_FB04",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 64277,
   "name": "LINE_LEFT_COVER",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 64280,
   "name": "r_FB18",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 64281,
   "name": "LINE_RIGHT",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 64293,
   "name": "b_FB25",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 64306,
   "name": "LINE_RIGHT_CLIP",
   "type": "Branch",
   "kind": "user"
  },
  {
   "address": 64310,
   "name": "b_FB36",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 64322,
   "name": "LINE_RIGHT_ABOVE",
   "type": "Branch",
   "kind": "user"
  },
  {
   "address": 64329,
   "name": "b_FB49",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 64336,
   "name": "b_FB50",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 64348,
   "name": "j_FB5C",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 64358,
   "name": "LINE_RIGHT_START",
   "type": "Branch",
   "kind": "user"
  },
  {
   "address": 64371,
   "name": "b_FB73",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 64395,
   "name": "LINE_RIGHT_COLUMN",
   "type": "Branch",
   "kind": "user"
  },
  {
   "address": 64445,
   "name": "b_FBBD",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 64447,
   "name": "LINE_RIGHT_TEST",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 64449,
   "name": "line4_test",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 64466,
   "name": "LINE_RIGHT_PLOT",
   "type": "Branch",
   "kind": "user"
  },
  {
   "address": 64468,
   "name": "line4_opcode",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 64469,
   "name": "line4_mask",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 64473,
   "name": "LINE_RIGHT_NEXT",
   "type": "Branch",
   "kind": "user"
  },
  {
   "address": 64490,
   "name": "b_FBEA",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 64507,
   "name": "LINE_RIGHT_COVER",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 64512,
   "name": "r_FC00",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 64513,
   "name": "LINE_COLOUR",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 64532,
   "name": "f_FC14",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 64534,
   "name": "LINE_OPCODE",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 64547,
   "name": "LINE_MODE_TRACK",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 64561,
   "name": "LINE_MODE_CAR",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 64571,
   "name": "b_FC3B",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 64590,
   "name": "b_FC4E",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 64595,
   "name": "b_FC53",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 64615,
   "name": "f_FC67",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 64665,
   "name": "LINE_LIMIT_HIDE",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 64674,
   "name": "LINE_LIMIT",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 64678,
   "name": "b_FCA6",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 64691,
   "name": "COPY_LIMITS",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 64693,
   "name": "b_FCB5",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 64709,
   "name": "LINE_CLIP",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 64745,
   "name": "b_FCE9",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 64761,
   "name": "b_FCF9",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 64765,
   "name": "b_FCFD",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 64767,
   "name": "b_FCFF",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 64769,
   "name": "b_FD01",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 64799,
   "name": "b_FD1F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 64815,
   "name": "b_FD2F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 64819,
   "name": "b_FD33",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 64821,
   "name": "b_FD35",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 64835,
   "name": "b_FD43",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 64838,
   "name": "CLIP_DISTANCES",
   "type": "Branch",
   "kind": "user"
  },
  {
   "address": 64874,
   "name": "b_FD6A",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 64906,
   "name": "b_FD8A",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 64918,
   "name": "b_FD96",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 64922,
   "name": "CLIP_HALVE",
   "type": "Branch",
   "kind": "user"
  },
  {
   "address": 64942,
   "name": "r_FDAE",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 64943,
   "name": "b_FDAF",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 64944,
   "name": "b_FDB0",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 64980,
   "name": "CLIP_STEPS_OUT",
   "type": "Branch",
   "kind": "user"
  },
  {
   "address": 65000,
   "name": "b_FDE8",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 65007,
   "name": "CLIP_WALK_Y",
   "type": "Branch",
   "kind": "user"
  },
  {
   "address": 65048,
   "name": "CLIP_TEST_Y",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 65063,
   "name": "CLIP_WALK_X",
   "type": "Branch",
   "kind": "user"
  },
  {
   "address": 65104,
   "name": "j_FE50",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 65131,
   "name": "b_FE6B",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 65134,
   "name": "COVER_ABOVE",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 65148,
   "name": "b_FE7C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 65151,
   "name": "b_FE7F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 65165,
   "name": "b_FE8D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 65168,
   "name": "r_FE90",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 65169,
   "name": "LINE",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 65178,
   "name": "b_FE9A",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 65195,
   "name": "LINE_SPAN",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 65204,
   "name": "b_FEB4",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 65210,
   "name": "b_FEBA",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 65219,
   "name": "b_FEC3",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 65225,
   "name": "LINE_ON_SCREEN",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 65253,
   "name": "b_FEE5",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 65270,
   "name": "LINE_FROM_ENDS",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 65287,
   "name": "b_FF07",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 65299,
   "name": "b_FF13",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 65301,
   "name": "j_FF15",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 65307,
   "name": "b_FF1B",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 65316,
   "name": "b_FF24",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 65322,
   "name": "b_FF2A",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 65326,
   "name": "b_FF2E",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 65330,
   "name": "LINE_PICK_LOOP",
   "type": "Branch",
   "kind": "user"
  },
  {
   "address": 65359,
   "name": "b_FF4F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 65364,
   "name": "b_FF54",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 65380,
   "name": "b_FF64",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 65386,
   "name": "SQUARE_PIECE",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 65409,
   "name": "KERNAL_CINT",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 65412,
   "name": "KERNAL_IOINIT",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 65415,
   "name": "KERNAL_RAMTAS",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 65420,
   "name": "b_FF8C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 65421,
   "name": "KERNAL_VECTOR",
   "type": "Return",
   "kind": "user"
  },
  {
   "address": 65422,
   "name": "A_TO_15",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 65424,
   "name": "LOAD_14",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 65428,
   "name": "OPP_ROAD_HEIGHT",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 65457,
   "name": "WHEELS_TURN",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 65463,
   "name": "KERNAL_READST",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 65466,
   "name": "KERNAL_SETLFS",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 65469,
   "name": "KERNAL_SETNAM",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 65472,
   "name": "KERNAL_OPEN",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 65475,
   "name": "KERNAL_CLOSE",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 65485,
   "name": "b_FFCD",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 65492,
   "name": "b_FFD4",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 65493,
   "name": "KERNAL_LOAD",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 65496,
   "name": "KERNAL_SAVE",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 65499,
   "name": "WHEELS_TURN_SET",
   "type": "Branch",
   "kind": "user"
  }
 ],
 "comments": [
  {
   "address": 0,
   "type": "line",
   "text": "The processor port's direction register, $2F from the reset on: the game never writes it."
  },
  {
   "address": 2112,
   "type": "line",
   "text": "Tape (0) or disc (1), as the menu leaves it (MENU_LOAD_SAVE). SAVE_OR_LOAD takes the device number for SETLFS from $2C21 plus this, 1 or 8, and DISK_COMMAND does nothing while it is 0."
  },
  {
   "address": 2113,
   "type": "line",
   "text": "One step of the world, called once a pass in the race (and twice while the car is lowered at the start): the car's physics, the opponent, the wheels against the road, the forces and the moves. The step takes longer than a frame, so between its parts it calls FLIP_IF_READY, which finishes the switch to the newly drawn bitmap as soon as the interrupt has made it. The second half (springs, drag, torques) runs only once $C307 is set, when the car is on its wheels."
  },
  {
   "address": 2199,
   "type": "line",
   "text": "Where the car's three points of contact (the two front wheels and the back) sit from its middle, from the rotation matrix: the first two are row $22 (and row $23 for the other axis) less and plus half the sum of rows $1F and $1A (half the difference of rows $1C and $21), the third is row $22 (row $23) negated. Low bytes at $0130-$0132 and $0136-$0138, high bytes three on."
  },
  {
   "address": 2391,
   "type": "line",
   "text": "Moves the car by its velocity: each axis of the position ($0100-$0108, three bytes an axis) by a quarter of its velocity ($0109/$010F), upwards by a half; the height is kept below $03E8. Turns the three angles ($0121/$0124) by their speeds ($016A/$016D), keeping the pitch and the roll within the limits at $0A55 and $0A57 (the second pair, wider, while $C373 and $C359 say the car is coming down from a jump): one that hits its limit stops turning that way. Sets $C3DC bit 7 when the roll is past 15, and $33/$69 to $3C less the pitch over 32."
  },
  {
   "address": 2645,
   "type": "line",
   "text": "The highest pitch and roll MOVE_CAR allows ($2C), and the higher one while landing ($0A)."
  },
  {
   "address": 2647,
   "type": "line",
   "text": "The lowest pitch and roll ($D3), and while landing ($F5)."
  },
  {
   "address": 2649,
   "type": "line",
   "text": "Adds each of the three forces ($0115/$011B) to its axis of the velocity ($0109/$010F)."
  },
  {
   "address": 2680,
   "type": "line",
   "text": "Adds each of the three torques ($0118/$011E) to its axis of the spin ($010C/$0112)."
  },
  {
   "address": 2711,
   "type": "line",
   "text": "For each point of contact, X from 2 to 0: how far it is down into the road, the road's height at $C340/$C343/$C3CE less the point's at $C346/$C349/$C3D1, less $0E (0, and 2 once the car is wrecked, so that it sinks), kept at $0179/$017C/$C3D4. A point more than $300 above the road (its top two bytes below $FFFD) is off it and its spring's press is 0; otherwise the depth, its middle byte held at $14 at most, gives the press ($0148/$014B): the depth plus its change since the last step (ADD16_18, the last kept at $0142/$0145), never below 0 and held at $11FF. A press reaching 4 in its high byte when it was below 2 counts a landing at $C3BC. A press reaching $C38B plus 7 damages the car while $E1, which counts such presses in a row across the three points and from step to step and is cleared by any press under the line, is still below $209B: its excess over $C38B plus 6, at most $7F, and half again is added to the point's damage at $C3C3 (held at $FF), and $C352 is set; the largest over $C38B is kept at $C35C. Then the springs' mean $0160/$0161 (points 0 and 1 a quarter each, point 2 a half), WHEEL_LEVERS, three times the difference of points 0 and 1 held to 16 either way ($0166/$0167, the roll's force), and the mean of points 0 and 1 less point 2's ($014E/$014F, the pitch's); $6A is non-zero while that mean is ($0160 OR $0161). With it 0 and the car not hanging from the crane ($2F), the pitch's force is held at a limit set by the pitch and the track. Then the crane (CRANE), the bump's pushes taken in (OPP_PUSH) and, on a landing, sound effect 3."
  },
  {
   "address": 3185,
   "type": "line",
   "text": "The forces the road puts on the car through the springs: $015B (upwards, from $013D and $0171), $015C (sideways: the sideways speed $0150, worn down by $0159 while both are positive and held to what the road can take, plus $0172 and $013E), and the pull along the road (SIDE_GRIP)."
  },
  {
   "address": 3314,
   "type": "line",
   "text": "The torques: about the first axis ($0118/$011E), the pitch's force ($014E) less a sixteenth of the spin, plus a quarter of the sideways force ($015C) while on the road; about the third ($011A/$0120), the roll's force ($0166) less a sixteenth of the spin."
  },
  {
   "address": 3424,
   "type": "line",
   "text": "The force along the road ($015A/$015D): the spring's ($013C plus $0170) less the speed along it ($0154/$0157), held to what the road can take (ROAD_HOLD); $C3C6 is set to $80 when it was held, as the wheels slide."
  },
  {
   "address": 3533,
   "type": "line",
   "text": "How hard the road can push, in $14/$15: twice the spring's force $0171/$0174 while any spring is pressed and that force is positive, else 0."
  },
  {
   "address": 3560,
   "type": "line",
   "text": "Takes a share of the velocity from the forces, $C350 parts in 256 shifted right by 2, 4 or 6 places. On the road the share is the largest of the three speeds along the road ($0154-$0159), less 20 in the opponent's tow ($C308 with $C36A bit 7 clear: the opponent ahead of the player and in line with it); otherwise $C0: a fixed share shifted 2 places when the car is skidding sideways ($E4 past 2) or wrecked ($6B), 4 places when it hangs from the crane or $0E is set."
  },
  {
   "address": 3699,
   "type": "line",
   "text": "Divides the three points' heights by 8; from their differences, the sines of the car's pitch ($0178, with bit 7 flipped) and roll ($0176), and their cosines through COSINE_OF; then the springs' mean force along each axis of the car ($0170-$0175), by those sines and cosines."
  },
  {
   "address": 3858,
   "type": "line",
   "text": "The size of the signed sixteen bits in A and $14, as a byte ($FF from 256 up), in $56, and from the table at $B080 the cosine of an angle with that sine, in $57."
  },
  {
   "address": 3882,
   "type": "line",
   "text": "Once a pass of the race: runs down $82, the passes left of showing the last lap's time, and puts the best lap back when it ends; moves both cars' lap clocks on by a pass and checks each for a lap (LAP_CHECK); checks for the race's end (LAPS_DONE); and runs the countdown at $6C (twice a pass while $C373 bit 7 is set)."
  },
  {
   "address": 3915,
   "type": "line",
   "text": "Runs the countdown at $6C, while it is from 1 to $7F: down by one each pass the car is off the road or hanging from the crane, or while it is 6 or more. Bit 2 of it goes to $C399, for a flashing lamp. When it reaches 0 it becomes $80 and $C351 is set."
  },
  {
   "address": 3954,
   "type": "line",
   "text": "Compares lap clock X with clock Y, minutes ($8398), seconds ($82B0) and hundredths ($8298), all in decimal: when X's time is the shorter it is copied over Y's, and the carry comes back clear."
  },
  {
   "address": 3996,
   "type": "line",
   "text": "Sets the lamp for the best lap and draws the best lap's time (clock 2) in the dashboard's fourth place, with its hundredths. X is kept."
  },
  {
   "address": 4013,
   "type": "line",
   "text": "Counts a lap for car X (0 the player, 1 the opponent): when its piece ($C374) is the one the start line is on ($C77C), and $C376 bit 7 is clear (cleared once the car has passed piece $C767, half way round), $C378 goes up by one and $C376 bit 7 is set. For the player the lap number is drawn, and from the second lap on the lap's time shows for 25 passes. A lap faster than the best becomes the best (FASTER), and when it was the opponent's it shows with its lamp. Then the car's lap clock starts again from 0."
  },
  {
   "address": 4128,
   "type": "line",
   "text": "Ends the race when either car has run its laps ($C378 equal to $C354) and it has not ended ($C364): the countdown starts at $2C if none is running, and a message shows: RACE LOST when the lamp says the opponent finished first (and $C362 is set to $80), RACE WON in a league race, LAPS OVER in practice. Then copies $C395 into bit 6 of $C362."
  },
  {
   "address": 4203,
   "type": "line",
   "text": "Moves the text cursor to column X, row Y: prints code $1F and the two."
  },
  {
   "address": 4216,
   "type": "line",
   "text": "Draws the player's clock (0) in the dashboard's third place, with its hundredths only while $82 says a lap's time is showing. X is kept."
  },
  {
   "address": 4234,
   "type": "line",
   "text": "Prints the digit in A (adds $30, '0')."
  },
  {
   "address": 4240,
   "type": "line",
   "text": "Sets clock X to 0:00.00."
  },
  {
   "address": 4252,
   "type": "line",
   "text": "Moves clock X on by 0.14 seconds, the length of a pass of the race (seven frames of the 50 a second): the race is timed by its passes, not by the clock on the wall."
  },
  {
   "address": 4254,
   "type": "line",
   "text": "Adds A hundredths to clock X in decimal mode; past 59 seconds the minutes go up, to 9 at most. The player's clock is drawn each time it carries into the seconds, unless a lap's time is showing or no lap has started."
  },
  {
   "address": 4313,
   "type": "line",
   "text": "After a bump ($C352): the crack across the top of the frame is drawn to the mean of the three points' damage ($C3CB, from $C3C3-$C3C5, with $1B88). A bump of 20 or more ($C35C) also takes one from $C719, a count the player keeps from race to race (10 at the start of a season), drawn with $F021 and $F673 for 64 passes ($C302, then $F668), with sound effect 1; a smaller bump makes sound effect 4."
  },
  {
   "address": 4420,
   "type": "line",
   "text": "The best lap's lamp: colour 11 while the best is the opponent's ($C395), 7 otherwise."
  },
  {
   "address": 4429,
   "type": "line",
   "text": "Sets the colour RAM of the lamp at $DBDA-$DBDB to Y."
  },
  {
   "address": 4436,
   "type": "line",
   "text": "The lamp for who leads: colour 11 when $F5E9 comes back with N clear, which LAPS_DONE takes as the opponent ahead, 7 otherwise; Y comes back with it."
  },
  {
   "address": 4445,
   "type": "line",
   "text": "Sets the colour RAM of the lamp at $DBCC-$DBCD to Y."
  },
  {
   "address": 4452,
   "type": "line",
   "text": "Every fourth pass: the sixteen bits at $39/$3A times 5/16, drawn as four digits (thousands, hundreds, tens and units) into the dashboard's sprites, after a blank, or a minus while $C36A bit 7 is set. Taking 100 off with a borrow from the high byte takes 101 by mistake, as the carry is clear there."
  },
  {
   "address": 4614,
   "type": "line",
   "text": "The speed bar's length from the speed along the road ($0159): twice its excess over 17, plus one, times $B7/256, drawn with command $43; 0 below 17 or from $91."
  },
  {
   "address": 4639,
   "type": "line",
   "text": "Draws clock Y in place X of the dashboard (the sprite rows at $1296) as M:SS.HH: the minutes, the colon, the seconds, the point and the hundredths, which are blank unless A has bit 7 set. $6F records which sprites changed."
  },
  {
   "address": 4758,
   "type": "line",
   "text": "Where each of the dashboard's four times starts in the sprite data from $4000."
  },
  {
   "address": 4762,
   "type": "line",
   "text": "Draws the L (laps) and the B on the dashboard."
  },
  {
   "address": 4777,
   "type": "line",
   "text": "Puts a message into the two sprites at $7F80 and $7FC0, from the table at $1329: Y is its first byte and A its number of groups, each a place in the sprites and three characters. A '<' moves the whole line half a character (four pixels) left. The glyphs' rows 1-6 are taken from the font. $C355 says a message is up. X is kept."
  },
  {
   "address": 4903,
   "type": "line",
   "text": "The table offset of the message showing."
  },
  {
   "address": 4904,
   "type": "line",
   "text": "Its number of groups."
  },
  {
   "address": 4905,
   "type": "line",
   "text": "The cockpit messages: WRECK, RACE WON, RACE LOST, DROP START, PRESS FIRE, PAUSED, LAPS OVER, DEFINE KEYS, STEER LEFT, STEER RIGHT, AHEAD +BOOST, BACK +BOOST, BACK, VERIFY KEYS, FAULT FOUND; each in groups of a sprite offset and three characters."
  },
  {
   "address": 5133,
   "type": "line",
   "text": "Sprite 0's place across in the dashboard's band, where IRQ_DASHBOARD puts it: the clocks' first block."
  },
  {
   "address": 5134,
   "type": "line",
   "text": "Sprite 1's place across in the dashboard's band."
  },
  {
   "address": 5135,
   "type": "line",
   "text": "Sprite 2's place across in the dashboard's band."
  },
  {
   "address": 5136,
   "type": "line",
   "text": "Sprite 3's place across in the dashboard's band."
  },
  {
   "address": 5137,
   "type": "line",
   "text": "The two dots between minutes and seconds: bit 7 set in the bytes 6 and 15 before X, rows 1 and 4 of the time."
  },
  {
   "address": 5154,
   "type": "line",
   "text": "Draws digit A into the sprite bytes from X, a pixel to the left. These four entries share the code at $1430: each takes rows 1-6 of the glyph and goes down a sprite row (three bytes) for each."
  },
  {
   "address": 5158,
   "type": "line",
   "text": "Draws digit A from X two pixels to the right: the glyph's bit 1 spills into bit 7 of the next byte, which is overwritten, and its bit 0, blank in every digit, is lost; the byte at X keeps its own bit 7."
  },
  {
   "address": 5162,
   "type": "line",
   "text": "Draws digit A from X a pixel to the right, keeping each byte's bit 7."
  },
  {
   "address": 5166,
   "type": "line",
   "text": "Draws digit A into the sprite bytes from X as it is. A digit $F0 draws a space and $FD a minus."
  },
  {
   "address": 5225,
   "type": "line",
   "text": "Points $1E at the glyph of character A plus $30 (its low seven bits) in the font at $7FC0, eight bytes a character, and sets Y to 1."
  },
  {
   "address": 5252,
   "type": "line",
   "text": "Places, points and colours sprites 2-7 for the dashboard (the clocks, the messages and the front wheels), with the sprites' shared colours black and white, and turns them on ($6E keeps which are on)."
  },
  {
   "address": 5302,
   "type": "line",
   "text": "DASH_SPRITES reads its pointers from $14B6 + X for X from 7 down to 2, so its table starts two bytes on, at $14B8. Here: the high byte of STA $D015 and the RTS."
  },
  {
   "address": 5304,
   "type": "line",
   "text": "Sprites 2-7's pointers, $64, $63, $69, $67, $68 and $60. DASH_SPRITES reads each of these four tables from two bytes before it, plus the sprite's number."
  },
  {
   "address": 5308,
   "type": "line",
   "text": "Sprites 6 and 7's pointers, $68 and $60, the end of dash_sprite_pointers. DASH_SPRITES reads the colours from $14BC + X."
  },
  {
   "address": 5310,
   "type": "line",
   "text": "Sprites 2-7's colours: cyan for 2 and 3, grey for the front wheels, 4 and 5 the left and 6 and 7 the right (each wheel a sprite above another)."
  },
  {
   "address": 5314,
   "type": "line",
   "text": "Sprites 6 and 7's colours, grey. DASH_SPRITES reads the places across from $14C2 + X."
  },
  {
   "address": 5316,
   "type": "line",
   "text": "Sprites 2-7's places across."
  },
  {
   "address": 5320,
   "type": "line",
   "text": "Sprites 6 and 7's places across. DASH_SPRITES reads the places down from $14C8 + X."
  },
  {
   "address": 5322,
   "type": "line",
   "text": "Sprites 2-7's places down."
  },
  {
   "address": 5328,
   "type": "line",
   "text": "Moves the two front wheels' sprites up and down with the first two points' springs ($83/$86), through the sine table at $A700, from the height $1C; a wheel that would sit too low has its sprite turned off and its top drawn into the bitmap (command $40) instead, and one coming back up has the bitmap's drawing put back to its rest."
  },
  {
   "address": 5483,
   "type": "line",
   "text": "Draws a wheel's top at height A (command $40)."
  },
  {
   "address": 5490,
   "type": "line",
   "text": "The car is wrecked: unless the countdown is running it drops ($0E = 2, $1C = $92, $3C = $82), the countdown starts at $3C and WRECK shows."
  },
  {
   "address": 5518,
   "type": "line",
   "text": "While $C9 is set: a swerve of sixteen passes ($C30F) steers by the wave at $1601. Each pass the wave's value moves one end of the line the car's corners are set out on along the track ($C30D the left end for a value over 0, $C30E the right end for one under), and the value five places on steers it ($C357). A new one starts on the first pass after a bend ($C353), with the opponent ahead and $0710 for piece $C375 not insisting, when RANDOM's low five bits are no higher than the driver's number $C773; the bend's side ($C353 bit 6) picks the half of the wave it starts on ($C358)."
  },
  {
   "address": 5633,
   "type": "line",
   "text": "Sixteen steps of a wave, signed, for SWERVE."
  },
  {
   "address": 5649,
   "type": "line",
   "text": "Clears the league's points ($C728-$C763) and $C77F, puts the twelve drivers back in order at $C758 and sets each one's count at $83B0 back to 10."
  },
  {
   "address": 5676,
   "type": "line",
   "text": "Keeps the random numbers' state ($02-$06) at $1648."
  },
  {
   "address": 5687,
   "type": "line",
   "text": "Sets the random numbers' state ($02-$06) from the five bytes ending at $1643 plus Y: Y = 4 the fixed seed at $1643, Y = 9 those SAVE_RANDOM kept."
  },
  {
   "address": 5699,
   "type": "line",
   "text": "The random numbers' first state, which LOAD_RANDOM puts at $02-$06 with Y = 4."
  },
  {
   "address": 5704,
   "type": "line",
   "text": "Where SAVE_RANDOM keeps the state."
  },
  {
   "address": 5709,
   "type": "line",
   "text": "Starts a frame's view: each column's top and bottom limits ($C640/$C680) from those kept at $C280/$C2C0, the edges at $0280/$02C0 cleared, the view cleared with the bonnet put back (CMD_CLEAR_VIEW), $F1DC, and the flags $C3A9, $C3DA, $6D and $C303 cleared."
  },
  {
   "address": 5754,
   "type": "line",
   "text": "Draws a frame's view of the track. From the piece the car is over ($FF6A, or $F117 from $AF and $B1, into $2E and $C374) it draws the pieces ahead, each with DRAW_PIECE, POINTS_TO_LINES and NEXT_PIECE. It starts from the car's piece, or from the one after it when the eye is already past that piece's end ($8E = $80, PLACE_ALONG); while the eye is in its piece's first segment ($8E = 0) the opponent is drawn first if it is on the piece before ($A6, OPP_DRAW_HERE). It draws two pieces, then two more: five more while the car is lowered at the start ($2F), and on Draw Bridge (track 5) one more for each piece the car is short of piece $31 when that is two or fewer. When no piece is under the car it is off the track and wrecked ($6B = $C0). In a league race the opponent moves (OPPONENT_MOVE) and its car is placed among the pieces. Then the view's column limits, the fills, and the sky above the track (CMD_FILL_ABOVE)."
  },
  {
   "address": 6013,
   "type": "line",
   "text": "Draws piece $2E: its place and shape ($F02F, $F0C5, PIECE_POINTS), then which way it is seen ($C3A8: bit 7 when it is behind the eye, bit 6 when seen from its far end); each of its points, near to far or far to near as it is seen, is turned into the eye's frame ($A026), projected (PROJECT_X, PROJECT_Y) and checked against the last point on its side (OVERLAP); points before $27 are left out. Last, every point in sight is turned by the roll ($280E)."
  },
  {
   "address": 6315,
   "type": "line",
   "text": "Point X against the last point drawn on its side of the road ($CC for the left, $CD for the right): when it lies further out across the screen, the road's edge folds back over itself there, so the point is marked ($A350 = 2) and a copy of it made (point X plus $20, at $A220/$A2B8), projected and turned, to close the edge."
  },
  {
   "address": 6409,
   "type": "line",
   "text": "The last two points of the piece just drawn become the first two of the next (all six of their tables), and $CC/$CD start again from them; after a piece behind the eye ($C3A9) the next starts from scratch ($D0 = 0)."
  },
  {
   "address": 6472,
   "type": "line",
   "text": "Puts the piece's points into the tables, in pairs across the road, from its shape's two lists ($98 for the left edge, $CA for the right): a point's height is in the high three bits of its byte (shifted left once) and its distance along in the low four, or in two bytes each when $A2 bit 7 is set; each is added to the piece's place ($3F/$35, $40/$36) into $8040 and $A330. Points past the distance $19 (from $2A less $D3, how far the view reaches) are left out ($A330 = $80). $8080 records the start line's piece ($C766) and the points whose first byte has bit 7 set, which get a line across the road."
  },
  {
   "address": 6715,
   "type": "line",
   "text": "Joins the piece's points with lines, pair by pair: each point to the last one on its side of the road (ALONG_SIDE) and to its copy where the edge folds back (TO_COPY), the near or far line first as the car is rolled ($C3DC, $0126). The colour of each side alternates by pair ($FC01, from $C6 and $D8), the same from the 40th pair on; a pair marked at $8080 gets a line across the road, in the colour its low two bits pick (LINE_COLOUR), its ends first moved by ACROSS_LINE_ENDS. The opponent's car is drawn when its pair is reached ($E195, $E1B1)."
  },
  {
   "address": 6903,
   "type": "line",
   "text": "The line from point $C6 to the last point drawn on its side ($CC or $CD, as $A0 says), by $FE91."
  },
  {
   "address": 6914,
   "type": "line",
   "text": "The line from point $C6 to its copy, point $C6 plus $20, by $FE91."
  },
  {
   "address": 6923,
   "type": "line",
   "text": "Each of the first two points of the piece that lies inside the view's columns but in front of the screen ($A2E4, $A24C) is moved along its edge towards the point before it ($8D, from $E808 and $E631), so that the line to it can be drawn; then re-projected ($E641)."
  },
  {
   "address": 7048,
   "type": "line",
   "text": "Grows the crack across the top of the windscreen to match the damage: while its length $25 is below $C3CB, one more pixel pair. Each step wanders up or down a row at random (rows 3-5 of the bitmap's top line, kept at $1C15) and cuts a notch three rows deep into the frame at $6026. A step into a gap already open adds one to the damage instead (SET_DAMAGE). When the crack reaches the far side ($78), or the damage reaches $80, the car is wrecked."
  },
  {
   "address": 7176,
   "type": "line",
   "text": "Sets each point's damage ($C3C3-$C3C5) to twice the mean ($C3CB)."
  },
  {
   "address": 7189,
   "type": "line",
   "text": "The row the crack is on (3 to 5)."
  },
  {
   "address": 7190,
   "type": "line",
   "text": "The masks that keep the other three pixel pairs of a byte."
  },
  {
   "address": 7194,
   "type": "line",
   "text": "The masks of the four pixel pairs of a byte."
  },
  {
   "address": 7198,
   "type": "line",
   "text": "Runs command $3F, the crane's chains."
  },
  {
   "address": 7203,
   "type": "line",
   "text": "Clears the menus' panel in the bitmap at $4000: sixteen character rows of 28 characters from $4B60."
  },
  {
   "address": 7241,
   "type": "line",
   "text": "Sets up the top of the menus' screen: eight rows filled (command $55), a line of $AA across row $5F from column $38 (HLINE_SCREEN), and the title picture unpacked (command $32, UNPACK_TITLE)."
  },
  {
   "address": 7268,
   "type": "line",
   "text": "Reads the joystick ($F79E, into $66: bit 0 forward, 1 back, 2 left, 3 right, 4 fire). Left and right steer ($C5 = $F1 or $0F) while a spring is pressed. Fire is the boost ($C398 is 0 while it is held). Forward drives ($0150/$0151 from $C384/$C385) and the engine keeps driving after it is let go ($C39B bit 7); back brakes ($0150/$0151 = $FF10) and stops the drive. No drive while the car is lowered or dropped, or past $78 along the road. Then $F60F."
  },
  {
   "address": 7371,
   "type": "line",
   "text": "With $C359 set, in place of the view's column limits: a line across the whole view (points 2 and 3, from -376 to 632) at the horizon's height for the pitch ($33/$69), in colour $2C, then back to $3D. $C365 keeps the roll's sign ($0124) meanwhile."
  },
  {
   "address": 7448,
   "type": "line",
   "text": "Runs command $3C, the moving bridge, on Draw Bridge (track 5) only."
  },
  {
   "address": 7461,
   "type": "line",
   "text": "Where across the road the opponent aims ($2C, from its place $B0; the player's is $2B). Within $FF of the player along the track ($39/$3A, the distance between the cars) its driver's flags at $AEE0 decide. Within $10 along and $32 across, with the player's car over the road ($B7/$B8 under $180), the cars bump ($209C, OPP_BUMP). Behind the player ($C36A bit 7) it passes (LINE_PASS) from $18 back and goes round (LINE_ROUND) nearer. Ahead by $18 to $31 it holds the player's line with bit 1 (LINE_HOLD) or else passes; $32 to $C7 ahead it passes with bit 5; $0E to $17 ahead it keeps its own line with bit 3; otherwise, and nearer than $0E, it goes round. Otherwise its own line: $40 or $6E across (bit 3), mirrored for the odd-numbered drivers ($C773), or the middle when either of the next two pieces says so ($B240), except while it passes from behind or goes round. Then it steers towards the aim by ten a pass ($C357 can push it either way) while a wheel is on the road ($C9), keeping between $20 and $E0. $C308 is set while the cars are within $40 and either the opponent is behind or they are in line (less than $32 apart across); then the car behind has less drag (OPP_SPEED, DRAG)."
  },
  {
   "address": 7728,
   "type": "line",
   "text": "Aims $20 or $E0 across, away from the side the player is on ($77), when the cars are within $38 across."
  },
  {
   "address": 7740,
   "type": "line",
   "text": "Passes the player when the cars are within $38 across ($51): the opponent aims for the edge on its own side, $20 when it is below the player across ($77 bit 7) and $E0 when above, unless the player is near that edge (below $60, or from $A0), when it aims for the other. Further apart it keeps the place it is at ($B0, set by OPPONENT_LINE)."
  },
  {
   "address": 7770,
   "type": "line",
   "text": "Aims at the player's line ($2B)."
  },
  {
   "address": 7775,
   "type": "line",
   "text": "The first piece, from the player's ($C374) on round the track, whose number at $044E is X; $FF when there is none. X is kept."
  },
  {
   "address": 7812,
   "type": "line",
   "text": "Where PIECE_FROM_HERE keeps X."
  },
  {
   "address": 7813,
   "type": "line",
   "text": "Moves the opponent's car, while it races ($C37C): its piece's place ($F02F), its wheels (OPP_WHEELS), a swerve now and then (SWERVE), its engine and grip (OPP_ENGINE, OPP_GRIP) and its speed (OPP_SPEED); then along the road by its speed ($D6/$D7) times $BD, in $A1/$23/$C4, on to the next piece ($C375) as $C4 passes the piece's length $BE."
  },
  {
   "address": 7906,
   "type": "line",
   "text": "Lowers the opponent's car onto the track ($E4DA) from a height above the road of $68 to $E7, at random, for each of its wheels."
  },
  {
   "address": 7942,
   "type": "line",
   "text": "Picks the opponent's limits for the race at random, from ranges for its track (the second set while $C71A is set): the top speed at $2099 ($BFAA/$BFB2), $209A ($BFBA/$BFC2) and $209B ($C774 or $C775). It runs RANDOM 256 times first. Nothing while $31A1 and $C77F are both set."
  },
  {
   "address": 8008,
   "type": "line",
   "text": "The opponent's speed $D6/$D7: plus the engine's push ($C3B6/$C3B7, less its speed again and $23 more on a climb, $B2), less a drag of its speed squared over 64 (its speed taken 20 lower while it is close behind the player, $C308 with $C36A bit 7), plus, while a wheel is on the road, the slope's pull from the heights of its front and back wheels ($07EC-$07F2); never below 0."
  },
  {
   "address": 8201,
   "type": "line",
   "text": "The tail of OPP_SPEED: A:$14 added to the speed $D6/$D7."
  },
  {
   "address": 8219,
   "type": "line",
   "text": "The opponent's engine: $C3B6/$C3B7 from $C386/$C387, 25 less during a swerve ($C30F), none while no wheel is on the road ($C9)."
  },
  {
   "address": 8247,
   "type": "line",
   "text": "The piece's speed limit ($0710, or the opponent's own at $2099 when that is lower and the piece's has no bit 7) against the opponent's speed $D7: over it, the engine's push is reversed ($C3C7 set); far over it, or under it, the push is doubled, except just under a limit it has reached."
  },
  {
   "address": 8345,
   "type": "line",
   "text": "The opponent's top speed for the race, from OPP_PICK."
  },
  {
   "address": 8346,
   "type": "line",
   "text": "A second limit for the race, from OPP_PICK."
  },
  {
   "address": 8347,
   "type": "line",
   "text": "From OPP_PICK, the track's $C774, or $C775 in the Super League (3 to 10): WHEELS_ON_ROAD adds damage for a spring pressed past its line only while its count $E1 is below it."
  },
  {
   "address": 8348,
   "type": "line",
   "text": "The cars meet, while the opponent races ($C37C). Unless the opponent has a wheel on the road ($C9) and the player's springs press ($6A), the heights are tested first: the player's ($46/$64) less the opponent's wheel 0, at the back ($07CC/$07D0), plus $28, must be within $C0 either way, or it returns at once with $C369 set to 3. When they are and $C369 is not 0, it counts $C369 down and pushes the player's car in height ($0180/$0183), harder the nearer the heights, by their difference's sign: at most three times after a pass at heights too far apart, since OPPONENT_LINE clears $C369 while the cars are apart. Close beside ($51 below $2D, $39 below 8) it pushes sideways, 8 or $F8 by which side the opponent is on ($77, into $0182). Once a bump ($E0, cleared by OPPONENT_LINE) it pushes along by half the difference of their speeds plus 3 in its direction ($0181/$0184). $C371 is set, the pushes' high bytes plus 2 are added to each point's damage ($C3C3-$C3C5, held at $FF) and $C352 is set."
  },
  {
   "address": 8566,
   "type": "line",
   "text": "Takes in a bump's pushes ($C371): the opponent's speed less the push along (never below 0), its wheels' speeds less the push up over 16, the player's springs' forces ($0170-$0175) plus the pushes, which are then cleared; sound effect 2."
  },
  {
   "address": 8670,
   "type": "line",
   "text": "The opponent's three wheels as springs: each one's height ($07CC/$07D0) against the road's under it ($07EC/$07F0) and the spring's length ($28, or $7C on a piece with $B2 bit 7), at most $60 below; the spring's push ($07C4/$07C8, up to $3FF), and $C9 non-zero while any wheel is on the road. Each wheel's speed ($07E4/$07E8) is a share of the three pushes and its own, over 8. A driver with bit 2 of its flags now and then (one pass in 16) kicks its front wheel, wheel 2, up ($07DE = $A0) while that wheel's speed and its change are both under 4. The speeds are added into the heights (half of them), the wheels kept together (OPP_SPREAD), and the opponent's model's points placed ($8040/$A330, points $3C-$3F)."
  },
  {
   "address": 9098,
   "type": "line",
   "text": "Which of the model's points ($3C-$3F) each wheel sets."
  },
  {
   "address": 9102,
   "type": "line",
   "text": "The difference of the heights of wheels X and Y: its size in A:$14, its sign in bit 7 of $17."
  },
  {
   "address": 9122,
   "type": "line",
   "text": "Keeps wheels X and Y within A:$51 of each other in height: the higher is lowered to it and their speeds averaged (all three's when Y is 2). With Y = 2 and no wheel on the road, when wheel X rises less than $10 faster than the front wheel (wheel 2), the car is tilted: the back wheels' speeds up by 4 and the front's down by 4."
  },
  {
   "address": 9261,
   "type": "line",
   "text": "The tilt OPP_SPREAD gives the three wheels' speeds, low bytes."
  },
  {
   "address": 9264,
   "type": "line",
   "text": "High bytes."
  },
  {
   "address": 9267,
   "type": "line",
   "text": "Sets the speeds of wheels X and Y ($07DC/$07E0) both to their mean."
  },
  {
   "address": 9304,
   "type": "line",
   "text": "Point X's place across the screen ($A200/$A298) from its distance across ($78:$52) and its depth ($77:$51), through PROJECT_LOG; a point on the left (a negative distance) is moved two pixels further out. While the menus draw the track's picture ($F3C1) the game rewrites these first three bytes to a JMP to PROJECT_X_PAIR."
  },
  {
   "address": 9308,
   "type": "line",
   "text": "PROJECT_X with the distance's low byte in A."
  },
  {
   "address": 9389,
   "type": "line",
   "text": "Divides by logarithms. The distance across, made eight bits with a count of the shifts it took, gives its logarithm ($AA00 low, $AB00 high, plus $A610 for the shifts) in $70/$71; the depth's the same way in $A9/$AA. Their difference, turned back by EXP, is the point's offset from the middle of the screen ($A7/$A8, or $32/$3E on the other side), into $A200/$A298 for point $16. $AB/$AC keep the depth's logarithm less the result's, plus $20, for PROJECT_Y. The branch at $24F8 is rewritten by PROJECT_X ($90, BCC, or $B0, BCS) to swap the sides for a negative distance."
  },
  {
   "address": 9464,
   "type": "line",
   "text": "The branch PROJECT_X_AT rewrites: BCC ($90) as loaded, BCS ($B0) while the distance across is negative, so one body serves both sides of the screen. From here the four endings, by the signs of the depth's and the distance's logarithms' difference."
  },
  {
   "address": 9706,
   "type": "line",
   "text": "Point X's height on the screen ($A24C/$A2E4): its height ($8040/$A330) less the eye's ($37/$38), by its logarithm less $AB/$AC, turned back by EXP, from the horizon's line ($33/$69). The 8 taken off the logarithm is the operand at $262B, which the menus' picture of the track sets to $0B."
  },
  {
   "address": 9771,
   "type": "line",
   "text": "The operand of SBC #: 8 taken off the height's logarithm in a race, $0B while TRACK_PREVIEW draws the map, which flattens the heights. From here the height's row above or below the horizon."
  },
  {
   "address": 9938,
   "type": "line",
   "text": "The antilogarithm of A:$14 (from $E0:00 up; below that it gives $FF for 0 and 0 for anything else): its top bits pick an entry in the tables at $A800, $A880 and $A900, and the fractions at $AC00, $AC80 and $AD00 decide the rounding."
  },
  {
   "address": 10022,
   "type": "line",
   "text": "When the roll ($0126, with the top two bits of $0123) has changed: its sine and cosine from the quarter-wave table at $A700. $0300-$037F become the running sums of the sine (the high byte of $80 plus n times it), $0380-$03FF those of twice the cosine; $C328/$C334 half of $0100 plus n times the sine, and $C310/$C31C n times the cosine, for n from 1 to 8. The loops rewrite their own operands ($277B, $2781, $27A6, $27AD, $27B8, $27BE)."
  },
  {
   "address": 10107,
   "type": "line",
   "text": "ROLL_TABLES writes the sine here, the ADC's operand, before the loop that sums it into $0300-$037F."
  },
  {
   "address": 10113,
   "type": "line",
   "text": "The low byte of the STY's address, stepped by INC from $00 to $7F: each running sum of the sine goes one byte further into $0300."
  },
  {
   "address": 10150,
   "type": "line",
   "text": "Twice the cosine's low byte, the ADC's operand, while twice the cosine is 256 or more: this loop adds one more to Y each step."
  },
  {
   "address": 10157,
   "type": "line",
   "text": "The low byte of this loop's STY $0380, stepped from $80 by INC until it wraps."
  },
  {
   "address": 10168,
   "type": "line",
   "text": "The cosine, then doubled in place by ASL: the ADC's operand for twice the cosine when it is under 256."
  },
  {
   "address": 10174,
   "type": "line",
   "text": "The low byte of the other loop's STY $0380, stepped from $80 until it wraps."
  },
  {
   "address": 10246,
   "type": "line",
   "text": "The roll the tables were last built for."
  },
  {
   "address": 10247,
   "type": "line",
   "text": "Its top two low bits."
  },
  {
   "address": 10248,
   "type": "line",
   "text": "The RTS ROLL_POINT branches to for a point out of sight."
  },
  {
   "address": 10249,
   "type": "line",
   "text": "Turns point X on the screen by the roll, about the middle ($80, $80), unless it is out of sight ($A330 bit 7)."
  },
  {
   "address": 10254,
   "type": "line",
   "text": "Turns point X by the roll. A point near the middle (both high bytes 0) is turned with the tables of running sums at $0280-$03FF alone, when that does not overflow; any other by ROLL_FAR."
  },
  {
   "address": 10416,
   "type": "line",
   "text": "Turns point X by the roll with the products of its distances from the middle and the roll's sine and cosine: the whole eighths from $C310-$C33F and the rest from $0300-$03FF."
  },
  {
   "address": 10681,
   "type": "line",
   "text": "The game's random numbers: moves the forty-bit shift register at $02-$06 on by eight bits, mixing its fourth and fifth bytes back in, and gives its new first byte in A ($53 and $54 are its scratch). X and Y are kept."
  },
  {
   "address": 10723,
   "type": "line",
   "text": "Draws a piece of the wreck, X the speck, at column $80A0 and row $C260 of speck $C6: lines joined end to end ($FEC9), their steps from the tables at $2A3E (across) and $2A4D (down), ten lines for an odd X and five for an even one; bit 1 of X picks the colour ($FC01)."
  },
  {
   "address": 10806,
   "type": "line",
   "text": "Where each shape's steps start in the tables."
  },
  {
   "address": 10808,
   "type": "line",
   "text": "Each shape's number of lines, less one."
  },
  {
   "address": 10812,
   "type": "line",
   "text": "Each shape's first column, added to the speck's."
  },
  {
   "address": 10814,
   "type": "line",
   "text": "The lines' steps across."
  },
  {
   "address": 10829,
   "type": "line",
   "text": "The lines' steps down."
  },
  {
   "address": 10844,
   "type": "line",
   "text": "Where a piece of the wreck, X, starts: the first column out from the middle ($40), right then left, where the outline of the view's top ($C640) steps by 4 or more, a few pixels about it at random. $C260 = $D2 (none) when there is no such column."
  },
  {
   "address": 10926,
   "type": "line",
   "text": "A save while $C77B is set, a load otherwise. For a save, the message to ready the tape or disc and a press of fire. The name typed (NAME_ENTRY_AT, into $AEC1) and checked (FILE_NAME_CHECK, again until it suits; the C= key leaves). Then the random numbers kept (SAVE_RANDOM), the border red, the Hall of Fame's or a game for several's file made ready (FILE_BUFFER), the screen at $0400 filled with spaces, and with the KERNAL banked in ($01 $36): IOINIT, RAMTAS, the KERNAL's vectors from $0800, CINT, the border green, the KERNAL's messages on, and the drive set going (command $47 with X 0)."
  },
  {
   "address": 11026,
   "type": "line",
   "text": "The screen at $0400 to spaces: the KERNAL's screen while the file is saved or loaded."
  },
  {
   "address": 11053,
   "type": "line",
   "text": "$A000 kept around the KERNAL's routines."
  },
  {
   "address": 11087,
   "type": "line",
   "text": "SETMSG ($FF90 with the KERNAL in; the game's LOAD_14 sits under it): the KERNAL's messages on."
  },
  {
   "address": 11104,
   "type": "line",
   "text": "The file on device 1 (tape) or 8 (disc) by $0840 ($2C21)."
  },
  {
   "address": 11117,
   "type": "line",
   "text": "A directory is the name \"$\" ($94D6), loaded to $4000."
  },
  {
   "address": 11131,
   "type": "line",
   "text": "Otherwise the old file is scratched from the disc (command $47 with X $80), and the name is the twelve letters at $AEC1."
  },
  {
   "address": 11149,
   "type": "line",
   "text": "A save: the league's 192 bytes at $8000-$80BF, or for the Hall of Fame and a game for several ($C367) $4000-$41FF or $4000-$40FF; a load to $8000, or $4000 for those."
  },
  {
   "address": 11209,
   "type": "line",
   "text": "The KERNAL's carry, and its status ($90) but for the end of the file (bit 6), into $C301 bit 7; on a failure the drive is set going again."
  },
  {
   "address": 11235,
   "type": "line",
   "text": "$A000 put back, a pause, and the ROMs out ($01 $35); a failure into $C39A ($80); a directory shown (DIRECTORY_SCREEN)."
  },
  {
   "address": 11268,
   "type": "line",
   "text": "The game's screen and interrupt back, the file read in where it goes (FILE_BUFFER) and the random numbers put back (LOAD_RANDOM), since RAMTAS has cleared the zero page."
  },
  {
   "address": 11297,
   "type": "line",
   "text": "The device for each answer to \"disk or tape\" ($0840): 1, the tape, or 8, the disk."
  },
  {
   "address": 11299,
   "type": "line",
   "text": "Runs command $45, the view cleared, with $3DF8 as its flags."
  },
  {
   "address": 11307,
   "type": "line",
   "text": "Runs command $3E, the fill above the edges."
  },
  {
   "address": 11312,
   "type": "line",
   "text": "Runs command $46, the view's colour RAM brought up to date."
  },
  {
   "address": 11317,
   "type": "line",
   "text": "Runs command $41."
  },
  {
   "address": 11322,
   "type": "line",
   "text": "Runs command $42, while $6D bit 7 says there are spans to fill."
  },
  {
   "address": 11332,
   "type": "line",
   "text": "Runs command $3D, the view's column limits, or HORIZON while $C359 is set."
  },
  {
   "address": 11345,
   "type": "line",
   "text": "Sixteen pieces fly while the car is wrecked, with a stones' sound of $0A and the car's speed ($0188), 16 at most."
  },
  {
   "address": 11364,
   "type": "line",
   "text": "All 32 specks of dust gone ($C260 = $D4)."
  },
  {
   "address": 11375,
   "type": "line",
   "text": "The dust thrown up from the road while the car is on it ($C30A, or lowered at the start, $0E), not wrecked and moving ($0188): 32 specks, with the sound of the stones (sound effect 1, its pitch at $AF8C from the speed, 50 at most, or now and then 3 or $0D)."
  },
  {
   "address": 11435,
   "type": "line",
   "text": "With A the sound's pitch less 2 and X the last speck. In the air ($6A 0) all go (DUST_CLEAR). On the road each speck is rubbed out where it was and moved (DUST_PLOT): it falls faster by 2 a pass ($4120) and moves across by $4100. One that has gone below the view starts again at random on the road's edge ($C280; for a wreck, DEBRIS_START), going up by a quarter of $C350 and a little more, and out from the middle by an eighth of its distance from it."
  },
  {
   "address": 11581,
   "type": "line",
   "text": "Draws speck X: two pixels, one above the other, cleared with the masks at $A4C0, at its column ($80A0) and row ($C260); for a wreck, a piece of debris (DEBRIS). A speck outside the view (rows $41 to $B7, columns below $80) is gone ($D2), and Z clear says so."
  },
  {
   "address": 11638,
   "type": "line",
   "text": "Points $1E at the byte of the bitmap being drawn ($12) that holds pixel column X of row Y, less Y, and reads it."
  },
  {
   "address": 11657,
   "type": "line",
   "text": "The size of the speed along the road ($0159/$0156) into $0188, and the engine's note from it ($5D, which the interrupt adds into $5F each frame, clicking the engine at each carry): eight times the speed below 8, twice it plus $30 from there, $FF at most. In the air the note falls by a quarter each pass."
  },
  {
   "address": 11714,
   "type": "line",
   "text": "The turn on the car. Its heading against the road's under it: the piece's direction ($0189/$018A, flipped by $A4) less the car's ($0122/$0125), with a quarter turn either way on a piece with $B2 bit 7 ($2EFD/$2F00); its size in $7F:$7D. Steering ($C5) turns the car by the speed along the road ($0159) times $C8 (more, or less, on such a piece, by the side of its turn, $9D), plus the difference over 16 when it steers towards the road's direction. Without steering the car is turned towards the road's direction, by the difference times the speed plus 10, over 128, at least 1. More than $1E off, it is turned back at once by the excess. The turning force $0119/$011F is the steering's less the car's spin about that axis ($010D/$0113), 0 in the air ($6A). The next piece is taken when the car is within 2 of the piece's end ($BE, $C3)."
  },
  {
   "address": 12029,
   "type": "line",
   "text": "The quarter turns STEERING adds on a piece with $B2 bit 7, low bytes."
  },
  {
   "address": 12032,
   "type": "line",
   "text": "The quarter turns' high bytes."
  },
  {
   "address": 12035,
   "type": "line",
   "text": "Draws the windscreen's frame into the bitmap at $4000 from the picture at $6000: the edges above and below the view (patterns of 24 bytes repeated across, from $6130, $6270, $63B0 and $64F0), the two pillars (FRAME_PILLAR), and the corners."
  },
  {
   "address": 12110,
   "type": "line",
   "text": "A pillar of the frame: eighteen character rows of 16 bytes into the bitmap from ($1E), A its high byte, from the three rows at X:Y and below in turn, then the corners' bytes."
  },
  {
   "address": 12238,
   "type": "line",
   "text": "The track's name in a box under the view: printed half a row down from column $301B (by track, so that it sits in the middle), then four lines across ($3017's rows, 20 bytes from column $58) and two up, the left in bits 0-1 and the right in bits 6-7, 20 rows from row $E9."
  },
  {
   "address": 12311,
   "type": "line",
   "text": "The rows of the title box's four lines across."
  },
  {
   "address": 12315,
   "type": "line",
   "text": "For each track, the column TRACK_TITLE prints \"The \" from ($3460), so that it and the track's name, four columns on, sit in the middle."
  },
  {
   "address": 12323,
   "type": "line",
   "text": "The loop of PRINT_STRING."
  },
  {
   "address": 12327,
   "type": "line",
   "text": "Prints string X of the table at $3407, up to its $FF."
  },
  {
   "address": 12335,
   "type": "line",
   "text": "The track of slot A in the league's order: its number into $C77D from $3728, and its colour into $C76B from $3730, the pair's other one in the Super League ($C71A)."
  },
  {
   "address": 12358,
   "type": "line",
   "text": "Twelve colours from $C6C0 into colour RAM at $DAB6."
  },
  {
   "address": 12370,
   "type": "line",
   "text": "The game's first menu ($31A0 set meanwhile): a single player's league, or a game for several, whose drivers' names are entered one by one ($ED7F) until the menu ($EE36) says no more or there are eight. $31A1 is the number of players less one."
  },
  {
   "address": 12434,
   "type": "line",
   "text": "The table of a game for several. After a round ($C39C and $31A5 set, ROUND_RESULTS): the track bonus points, the track's name, $91CF's points and the race times. After one race: the race's results, and \"Track record\" when $C74B is 7 or more. Then a row of TABLE_ROW for each driver from $50 to $8A."
  },
  {
   "address": 12656,
   "type": "line",
   "text": "At column 6 of row Y, the menus' string $93 (\"Track:\") and the track's name; for several players in the Super League, string $63 after it."
  },
  {
   "address": 12688,
   "type": "line",
   "text": "The row MULTI_RESULTS starts its table on, by the number of players."
  },
  {
   "address": 12696,
   "type": "line",
   "text": "The panel line, by the number of players."
  },
  {
   "address": 12704,
   "type": "line",
   "text": "Bit 7 while CHOOSE_PLAYERS runs: the panel is left without a heading, and PRINT_STRING_E000 prints from the menus' table."
  },
  {
   "address": 12705,
   "type": "line",
   "text": "The number of players less one; 0 is the single player's league."
  },
  {
   "address": 12706,
   "type": "line",
   "text": "Whose turn it is in a game for several."
  },
  {
   "address": 12707,
   "type": "line",
   "text": "The number of races in a season: 6, or for several players their number."
  },
  {
   "address": 12708,
   "type": "line",
   "text": "The player's driver, $0B."
  },
  {
   "address": 12709,
   "type": "line",
   "text": "Bit 7 while MULTI_RESULTS is to show the bonus points."
  },
  {
   "address": 12710,
   "type": "line",
   "text": "The race of the season, from 0."
  },
  {
   "address": 12711,
   "type": "line",
   "text": "The division chosen for practice, 3 less the line taken (PRACTICE_TRACK), which the list of its tracks is drawn from."
  },
  {
   "address": 12712,
   "type": "line",
   "text": "Set after a practice race, so that PRACTICE_TRACK skips the choice of division once; it clears it with LSR."
  },
  {
   "address": 12713,
   "type": "line",
   "text": "NEW_DRIVERS' count of the pool, 0 to 2."
  },
  {
   "address": 12714,
   "type": "line",
   "text": "The menus' strings, each to $FF: \"SELECT\", \"Single Player League\", \"Multiplayer\", \"Enter another driver\", \"Continue\", \"Tracks in DIVISION \", the drivers' heading \"DRIVER BEST-LAP RACE-TIME\", \"Track:\", \"DRIVERS CHAMPIONSHIP\" and \"Track record\", among others; $1F col row moves the cursor."
  },
  {
   "address": 12829,
   "type": "line",
   "text": "The row of the heading \"DRIVER      BEST-LAP RACE-TIME\", which MULTI_RESULTS sets before it prints it. Then the strings \"Track:  The \", \"DRIVERS CHAMPIONSHIP\" and \"Track record\" (each with its place), and a line of twelve dashes."
  },
  {
   "address": 12915,
   "type": "line",
   "text": "Twelve dashes, a blank time."
  },
  {
   "address": 12928,
   "type": "line",
   "text": "Twelve dashes, then \"New track record\"."
  },
  {
   "address": 12961,
   "type": "line",
   "text": "The loop of PRINT_STRING_B."
  },
  {
   "address": 12965,
   "type": "line",
   "text": "Prints string X of the table at $32AD, up to its $FF."
  },
  {
   "address": 12973,
   "type": "line",
   "text": "\"TRACK BONUS POINTS\", \"FINAL SEASON\", \"Race Time: \", \"Best Lap : \", \"HALL of FAME\", \"SUPER LEAGUE\" and \"TRACK DRIVER LAP-TIME DRIVER RACE-TIME\"."
  },
  {
   "address": 13113,
   "type": "line",
   "text": "Two spaces, then NUMBER_SP."
  },
  {
   "address": 13121,
   "type": "line",
   "text": "A in decimal: one digit below 10, two from 10."
  },
  {
   "address": 13125,
   "type": "line",
   "text": "A in decimal in two places: a space before a single digit."
  },
  {
   "address": 13139,
   "type": "line",
   "text": "Prints the two decimal digits of A."
  },
  {
   "address": 13153,
   "type": "line",
   "text": "Adds race time X to race time Y, in decimal: hundredths at $8298, seconds at $82B0 (sixty to the minute, the excess carried) and minutes at $8398."
  },
  {
   "address": 13193,
   "type": "line",
   "text": "A new league. For several players, two opponents taken from the pool under the chips: names from $DC00 (16 bytes each) to $AE00 and their driving from $DCE0 to $AEE0, by division ($E8E1), one of three at random in the Super League ($C718 set). $31A3 is the number of races in a season: 6 for one player, the players' number for several. $31A6 starts at 0."
  },
  {
   "address": 13297,
   "type": "line",
   "text": "The raster interrupt off, interrupts off, and RAM under the chips ($01 = $34)."
  },
  {
   "address": 13308,
   "type": "line",
   "text": "The chips back ($01 = $35), interrupts on, and the raster interrupt on."
  },
  {
   "address": 13319,
   "type": "line",
   "text": "The strings PRINT_STRING prints, each to $FF, $1F col row moving the cursor: \"DIVISION \" (its row at $3409), \"RACE  \" (row at $3416), \"Track:  \", \"The \", \" V \", \"steer to rotate view or fire to continue\", \"RESULT\", \"Race Winner: \", \"Fastest Lap: \", \"RESULTS TABLE\" with its heading \"DRIVER RACED WIN LAP PTS\", \"Promotion for \", \"Relegation for \", \" CHANGES\", \"NAME?\", \" 2pts\", \" 1pt\" and \" of \"."
  },
  {
   "address": 13321,
   "type": "line",
   "text": "The row \"DIVISION \" is printed on."
  },
  {
   "address": 13334,
   "type": "line",
   "text": "The row \"RACE  \" is printed on."
  },
  {
   "address": 13408,
   "type": "line",
   "text": "The column of string $58, \"The \" under the view, from $301B by track; the track's name follows it four columns on."
  },
  {
   "address": 13568,
   "type": "line",
   "text": "BLANK_SCREEN, in a border of $3FBA's colour."
  },
  {
   "address": 13572,
   "type": "line",
   "text": "The menus' screen behind the panel: blanked with a black border, the title (MENU_TITLE), high resolution, the wooden posts (WOOD_POSTS), the division's panel (DIVISION_PANEL), and the screen on."
  },
  {
   "address": 13599,
   "type": "line",
   "text": "The panel cleared and coloured (PANEL_FRAME), its heading rows lit, and its heading: the division ($C718, into $C360) for one player, or the menus' string $A0 for several. Nothing more while players are being chosen."
  },
  {
   "address": 13652,
   "type": "line",
   "text": "At row Y, \"DIVISION \" and its number (4 less $C360); in the Super League, the string at $E0BB, whose row is $E0BD."
  },
  {
   "address": 13690,
   "type": "line",
   "text": "NEXT_RACE after the race ($C372 set): the winner and the fastest lap."
  },
  {
   "address": 13694,
   "type": "line",
   "text": "The panel before a race: the division, the race's track (slot $C77F of the division's pair, or the player's turn for several), \"RACE n of m\", the two drivers ($C771 V $C772) and their records ($9319, $9225); after a race ($C372 set), \"RESULT\", the winner ($C76F) and the fastest lap ($C770), with their points. Then WAIT_FIRE."
  },
  {
   "address": 13852,
   "type": "line",
   "text": "WAIT_FIRE, then TEXT_ON_ROWS."
  },
  {
   "address": 13855,
   "type": "line",
   "text": "Text on the character rows again (command $20 with X = 0)."
  },
  {
   "address": 13862,
   "type": "line",
   "text": "The division's table: the drivers from $50 to $8A, by place, each a row of TABLE_ROW under \"RESULTS TABLE\", or MULTI_RESULTS for several players. Then WAIT_FIRE."
  },
  {
   "address": 13903,
   "type": "line",
   "text": "The row of the table's driver $C7 (the driver at that place, $C758): the name, then the races ($C740), the wins ($C728), the fastest laps ($C734) and the points ($C74C); for several after a round ($C39C), the two race times ($99FF). Z is set at the table's end ($8A)."
  },
  {
   "address": 13974,
   "type": "line",
   "text": "Waits for fire to be let go, a moment (DELAY 5), then for fire."
  },
  {
   "address": 13994,
   "type": "line",
   "text": "To RESULTS_TABLE for several players."
  },
  {
   "address": 13997,
   "type": "line",
   "text": "The whole league: the four divisions, the top first ($C360 3 to 0), each with its heading, its two tracks (half a row down) and its three drivers, from $C70C. Then WAIT_FIRE. For several players, RESULTS_TABLE."
  },
  {
   "address": 14120,
   "type": "line",
   "text": "The tracks in the league's order, two to a division, the bottom division first."
  },
  {
   "address": 14128,
   "type": "line",
   "text": "The colour of each slot's track."
  },
  {
   "address": 14136,
   "type": "line",
   "text": "At panel line A, the race's two drivers ($C771 and $C772, from $E8E5), \" V \" between."
  },
  {
   "address": 14164,
   "type": "line",
   "text": "The division's panel and the season's changes (CHANGES), then WAIT_FIRE."
  },
  {
   "address": 14173,
   "type": "line",
   "text": "The end of a season. The league's order from the tables ($C758 into $C70C) and \" CHANGES\" for division $C360: its winner promoted (\"Promotion for \") and its last relegated (\"Relegation for \", none from the bottom division). From the top division only the player goes up, \"to the SUPER LEAGUE\" ($E0A7), or with \"EXCELLENT DRIVING - WELL DONE\" ($E0CE) in it, and then no relegation line is printed; when another driver wins it, only the relegation is. Then each pair at the divisions' edges swapped in the order. A player who won the top division outside the Super League goes into it ($C71A set), where the order starts again at 0-11 and $C718 is 0; otherwise $C718 is the division of the player's new place ($381D, 0 the bottom). $C719, the car's whole parts, is set back to 10 when the player won the top division or is in the bottom one; elsewhere the damage carries into the next season."
  },
  {
   "address": 14365,
   "type": "line",
   "text": "The division of each place in the league, three to a division."
  },
  {
   "address": 14377,
   "type": "line",
   "text": "X is the place of driver A in the league's order ($C70C), $FF when it is not there."
  },
  {
   "address": 14388,
   "type": "line",
   "text": "Not read."
  },
  {
   "address": 14391,
   "type": "line",
   "text": "The panel's lines' first rows, by line number ($19)."
  },
  {
   "address": 14405,
   "type": "line",
   "text": "The last row of the table MULTI_RESULTS draws."
  },
  {
   "address": 14408,
   "type": "line",
   "text": "Row Y of the panel lit (the colours at $3944 + $0E, whose colour is $3953)."
  },
  {
   "address": 14420,
   "type": "line",
   "text": "LINES with 3."
  },
  {
   "address": 14424,
   "type": "line",
   "text": "LINES with 2."
  },
  {
   "address": 14426,
   "type": "line",
   "text": "A rows of the panel lit from line $19's first row ($3837), a line across above them and, unless $C356 is set, under them; then NEXT_LINE."
  },
  {
   "address": 14459,
   "type": "line",
   "text": "The cursor to column 5 of row $7A, line $19 on, and the text half a row down."
  },
  {
   "address": 14468,
   "type": "line",
   "text": "Text printed half a row (four pixels) down (command $20 with X = $80)."
  },
  {
   "address": 14475,
   "type": "line",
   "text": "Prints driver X's name, thirteen characters from $AE00 + 16 X."
  },
  {
   "address": 14482,
   "type": "line",
   "text": "Prints track X's name, fifteen characters from $AF00 + 16 X."
  },
  {
   "address": 14486,
   "type": "line",
   "text": "Points $1E at the name and prints $14 characters of it."
  },
  {
   "address": 14516,
   "type": "line",
   "text": "A byte with one bit clear, for each bit."
  },
  {
   "address": 14524,
   "type": "line",
   "text": "A byte with one bit set, for each bit."
  },
  {
   "address": 14532,
   "type": "line",
   "text": "The colours of the panel, character rows 8 to 25 of the screen at $7C00: its frame, and inside, the top eight rows in one colour and the rest in another."
  },
  {
   "address": 14586,
   "type": "line",
   "text": "Points $1E at row Y of the screen at $7C00 (40 bytes a row) and puts X, the column, in Y."
  },
  {
   "address": 14614,
   "type": "line",
   "text": "A rows of runs from the table at $3944 + X (each a count, then the colour), back to back from $1E + Y."
  },
  {
   "address": 14642,
   "type": "line",
   "text": "Copies the bytes from $397A + X (a count, then the bytes) to $1E + Y."
  },
  {
   "address": 14660,
   "type": "line",
   "text": "The panel's colour runs, a count and a colour each."
  },
  {
   "address": 14675,
   "type": "line",
   "text": "The colour of a lit row of the panel, which the menus change."
  },
  {
   "address": 14714,
   "type": "line",
   "text": "The panel frame's colour bytes, a count first."
  },
  {
   "address": 14733,
   "type": "line",
   "text": "The grain of a wooden post at column X: eight passes, one for each bit of $17, from row $F7 up to $70, in runs of 4 to 11 rows at random, each either $18's bits set or $17's and $18's set with $19's kept."
  },
  {
   "address": 14801,
   "type": "line",
   "text": "Points $1E at the byte of the bitmap at $4000 that holds multicolour column X (four to a byte, $40 the left of the view) of row Y, less Y, from the row tables at $A500 and $A600."
  },
  {
   "address": 14833,
   "type": "line",
   "text": "The ten wooden posts either side of the panel, at the columns at $3A1E, their grain drawn by WOOD_GRAIN from the same random numbers every time (the fixed seed, the race's own put back after), and the line across their tops at row $70."
  },
  {
   "address": 14878,
   "type": "line",
   "text": "The posts' columns."
  },
  {
   "address": 14888,
   "type": "line",
   "text": "The bits WOOD_GRAIN keeps of each post."
  },
  {
   "address": 14898,
   "type": "line",
   "text": "The bits WOOD_GRAIN sets for each post."
  },
  {
   "address": 14908,
   "type": "line",
   "text": "A bytes of $AA across row Y from column X."
  },
  {
   "address": 14914,
   "type": "line",
   "text": "A line across the panel, under row $74."
  },
  {
   "address": 14923,
   "type": "line",
   "text": "$1C bytes of $FF across row Y from column $40."
  },
  {
   "address": 14927,
   "type": "line",
   "text": "A bytes of $FF across row Y from column X, every fourth column."
  },
  {
   "address": 14950,
   "type": "line",
   "text": "$15's bits set in A rows up from row Y, at column X."
  },
  {
   "address": 14967,
   "type": "line",
   "text": "The race screen's colours into the screen at $7C00, from the runs at $3AD9: a count below $C8 and its byte; $C8 + n, n times the group of runs that follows, its number of runs first; $FF the end. The track's colour ($C76B) goes into two of them first, and $7C53 and $7C74 get $0E after."
  },
  {
   "address": 15043,
   "type": "line",
   "text": "Run X of $3AD9: the count, then the byte, stored across pages."
  },
  {
   "address": 15065,
   "type": "line",
   "text": "The race screen's colour runs."
  },
  {
   "address": 15086,
   "type": "line",
   "text": "The track's colour, put here by RACE_SCREEN_COLOURS."
  },
  {
   "address": 15090,
   "type": "line",
   "text": "And here."
  },
  {
   "address": 15138,
   "type": "line",
   "text": "The game, and where it starts again. The drivers' names and driving copied from the pool under the chips ($DC00) to $AE00, $E85B, the screen with the panel, the players chosen and the league shown. Then for good: the main menu ($EF3A), and a practice race ($C76C clear: RACE_SETUP, RACE) or the league."
  },
  {
   "address": 15199,
   "type": "line",
   "text": "A key held at the panel before a race ($20) skips the race: $C304 and $C362 set."
  },
  {
   "address": 15209,
   "type": "line",
   "text": "The league: new drivers, then a season."
  },
  {
   "address": 15212,
   "type": "line",
   "text": "A season: the clocks cleared (the first sixteen at 9 minutes), $C76D and $C76E cleared."
  },
  {
   "address": 15237,
   "type": "line",
   "text": "A race of the season: the pairing ($E8E5). When the player is one of the two ($31A4), the opponent into $C773, the panel (NEXT_RACE), the track (RACE_SETUP) and the race (RACE), $9846 on either side, $9319 and $E87F after, then the panel again with the results (RACE_DONE, RESULTS_TABLE). Otherwise the race is worked out ($E87F)."
  },
  {
   "address": 15352,
   "type": "line",
   "text": "The next race; at the season's end the changes and the league for one player, or the next player's turn for several."
  },
  {
   "address": 15414,
   "type": "line",
   "text": "Before a race, the track from above: a grey border, the race's state cleared (CLEAR_RACE), the view's rows all of colour 8, the menus' screen in the track's colours (command 3), the colours, the frame and the track's name, the track's pieces made ($EA34) and drawn ($F386), turned by left and right until fire is pressed (VIEW_KEYS). Then a black border."
  },
  {
   "address": 15476,
   "type": "line",
   "text": "\"steer to rotate view or fire to continue\" on the bottom row, its colour $3B."
  },
  {
   "address": 15513,
   "type": "line",
   "text": "A race. The race's screen put back (command $34 with X $80, SAVE_RESTORE_SCREEN) and cleared, the race's state cleared, multicolour, START_ORDER, then the opponent placed on the start piece ($C765 into $C375, 4 along at $C4, $4C across at $B0) and dropped onto the road (OPP_DROP). Then the car placed on piece X ($F488) and two steps drawn and shown before the screen goes on (one after a wreck, $3DF8 set), and the race's loop."
  },
  {
   "address": 15558,
   "type": "line",
   "text": "The car put on the road at piece X, after a wreck too."
  },
  {
   "address": 15621,
   "type": "line",
   "text": "The race's loop, once a pass: the controls, a step of the world, $E104, the view, the dust, the wheels, the crane's chains and the drawbridge, the speed bar, the damage, the clocks and the distance, the bitmap shown, and the pause."
  },
  {
   "address": 15686,
   "type": "line",
   "text": "The race is over ($C351, while the bitmap at $6000 is drawn, on the road or over the line): the lamp, message $3C, the engine quiet, and WAIT_FIRE."
  },
  {
   "address": 15721,
   "type": "line",
   "text": "Wrecked on the road ($6B bit 7, $6A): $C373 set from $6B when $64 is negative or below 2, and once $C368 runs out, with $6C clear, the sound effects stopped (STOP_EFFECTS) and the car put back on the road at piece $C309 (CAR_ON_ROAD), and the race goes on."
  },
  {
   "address": 15765,
   "type": "line",
   "text": "Off the road or the race lost: key $2F ends the race."
  },
  {
   "address": 15787,
   "type": "line",
   "text": "The end of the race: $C362 set unless $C364, a black border, the sprites off, the sound effects stopped (STOP_EFFECTS). In a league race ($C76C bit 7) for several players the player's $C719 is kept at $83B0 (and their clock cleared unless $C378 is 4); then $C719 back from $C37E, except in a league race for one player, where the race's damage stays. The random numbers kept, and the race's screen kept for the next race to put back (command $34 with X 0, SAVE_RESTORE_SCREEN)."
  },
  {
   "address": 15864,
   "type": "line",
   "text": "Bit 7 once the race's screen is up; $40 while the track is seen from above, $41 at the panel."
  },
  {
   "address": 15865,
   "type": "line",
   "text": "A race's state cleared: $C300-$C3FF, $0774-$07FF, $4000-$40FF, the car's $0100-$018F and zero page from $02. Then eleven bytes into $C382, the league's from $BFEA or the Super League's from $BFF5 ($C71A); the view's rows' colours 7 to $17; the clocks; the roll's tables; the sound effects stopped (STOP_EFFECTS); $C354, the start-line crossings a race takes, set to 4; the race's random numbers; the dashboard's labels and lamps; $C76A, the league's or the Super League's count from $C776 or $C777 in decimal; $C37E kept from $C719; and CLEAR_BARS."
  },
  {
   "address": 16040,
   "type": "line",
   "text": "$80 in the 32 bytes at $A350 and the 32 at $8080."
  },
  {
   "address": 16054,
   "type": "line",
   "text": "$C440-$C4C0, $80 in every eighth and 0 between, and $C43F $C0; for several players the player's $C719 from $83B0; then $F6A6."
  },
  {
   "address": 16096,
   "type": "line",
   "text": "While the bitmap at $6000 is being drawn ($C306 set), key $0D pauses the race: the sound effects stopped (STOP_EFFECTS), message $4C, $97AF until key $34, then the message that was showing back and the sounds started again (START_SOUNDS)."
  },
  {
   "address": 16167,
   "type": "line",
   "text": "Sound effects 6 and 5, $E104, voices 1 and 3 started on the pulse wave ($41) and the volume up ($F5)."
  },
  {
   "address": 16194,
   "type": "line",
   "text": "Asks the interrupt to show the bitmap just drawn: flips $C306, sets $12 to the bitmap to draw into next ($20 for the one at $6000, or $18 plus the $E8 at $A1F2, which comes to 0, for the one at $4000) and $C370 to match ($80 or 0), and sets $C37A for the interrupt, with interrupts off while it does."
  },
  {
   "address": 16235,
   "type": "line",
   "text": "Finishes a flip the interrupt has made ($C37B set), through FLIP_DONE; otherwise nothing."
  },
  {
   "address": 16240,
   "type": "line",
   "text": "Once the interrupt shows the new bitmap: the view's colour RAM brought up to date for it (command $46), two dashboard colours set, and $C37A and $C37B cleared."
  },
  {
   "address": 16260,
   "type": "line",
   "text": "Not called: the same as MENU_BITMAP with $D018 $78, and $C35F and $C370 0."
  },
  {
   "address": 16267,
   "type": "line",
   "text": "The menus' bitmap and screen shown: $D018 $70, $C35F and $C370 $80."
  },
  {
   "address": 16286,
   "type": "line",
   "text": "The screen on if it is off (with the raster interrupt's line, $32), and the raster interrupt enabled."
  },
  {
   "address": 16293,
   "type": "line",
   "text": "The screen on and the raster interrupt at line $32, whether it was off or not."
  },
  {
   "address": 16314,
   "type": "line",
   "text": "The border's colour while the screen is blanked."
  },
  {
   "address": 16315,
   "type": "line",
   "text": "BLANK_SCREEN with the border's colour in A."
  },
  {
   "address": 16318,
   "type": "line",
   "text": "Waits for the raster's first ten lines (giving up after 1,029 tries), then the border to $3FBA's colour, the screen blanked, and DELAY 1."
  },
  {
   "address": 16361,
   "type": "line",
   "text": "DELAY with 20."
  },
  {
   "address": 16363,
   "type": "line",
   "text": "Y times twenty times 256 turns of a loop, about two frames for each of Y."
  },
  {
   "address": 16369,
   "type": "line",
   "text": "DELAY's innermost loop. COLON reads from $3FF1 on, 15 bytes before the clock's sprite bytes at $4000: the colon's top dot."
  },
  {
   "address": 16374,
   "type": "line",
   "text": "DELAY's middle and outer loops. DRAW_TIME writes from $3FF6 on, ten bytes before the clock's sprite bytes."
  },
  {
   "address": 16378,
   "type": "line",
   "text": "DELAY's return. COLON's other dot is from $3FFA on, six bytes before the clock's sprite bytes."
  },
  {
   "address": 16379,
   "type": "line",
   "text": "Where the loader hands over (JMP $3FFB), run once: the screen blanked; the KERNAL's 32 bytes of vectors from $0314 kept at $0800 (VECTOR, the KERNAL still in); a pause of about 28,700 cycles; the screen back on, the ROMs out for good ($01 = $35), the NMI's vector to $9A32, every interrupt turned off, multicolour on and the sprites off; then the game's sum checked (CHECKSUM), multicolour bitmap mode (command 2), the SID's three voices stopped and its filter set, and the IRQ's vector to $CDAA."
  },
  {
   "address": 16384,
   "type": "line",
   "text": "The screen blanked. Once the start-up has run, $4000 is the clocks' sprites (DIGIT draws there, CLEAR_RACE clears $4000-$40FF) and the file that saves and loads are built in (FILE_BUFFER, SAVE_CODE)."
  },
  {
   "address": 16385,
   "type": "line",
   "text": "X:Y set to $0800 and the carry set, for VECTOR. DIGIT writes from $4001 on, the byte a shifted digit spills into."
  },
  {
   "address": 16392,
   "type": "line",
   "text": "VECTOR (KERNAL $FF8D) copies the KERNAL's vectors from $0314 to $0800. FRAME_PILLAR writes from $4008 on, the left pillar's top."
  },
  {
   "address": 16396,
   "type": "line",
   "text": "The pause starts with A 0, so each turn of its inner loop is 256 SBCs. FILE_BUFFER's merge reads a loaded record's minutes from $400C on."
  },
  {
   "address": 16397,
   "type": "line",
   "text": "Sixteen turns of the pause's outer loop. The merge reads a loaded record's seconds from $400D on."
  },
  {
   "address": 16398,
   "type": "line",
   "text": "The outer loop's count. The merge reads a loaded record's hundredths from $400E on, and FRAME_PILLAR writes the pillar's corner there."
  },
  {
   "address": 16400,
   "type": "line",
   "text": "The pause's loops, then the screen on and the processor port's direction set. FRAME writes from $4010 on, the edge above the view from column 2."
  },
  {
   "address": 16416,
   "type": "line",
   "text": "The rest of the hand-over: the ROMs out, the NMI's vector to $9A32, every interrupt off, the video chip's modes, CHECKSUM, multicolour bitmap mode, the SID's voices stopped, the IRQ's vector to $CDAA, and the colour RAM filled from $5800. LEAGUE_FILE puts the players' names at $4020 in a file for several."
  },
  {
   "address": 16520,
   "type": "line",
   "text": "The colour RAM filled from $5800-$5BFF; the road's edges' table moved from $5780 to $C280; twelve colours of colour RAM kept at $C6C0."
  },
  {
   "address": 16544,
   "type": "line",
   "text": "The colour RAM copy's last page, the outline of the view's bottom moved from $5780 to $C280, twelve colours of colour RAM kept at $C6C0. LEAGUE_FILE puts the league's tables at $40A0, and FRAME writes the edge from column 20 there."
  },
  {
   "address": 16571,
   "type": "line",
   "text": "The sky's colours in the race screen: in each of the 32 columns from $5C54 (row 2, column 4), the screen's bytes set to $1E (colours 1 and 14) for 16 rows down, less the column's number at $40EF, 40 bytes to a row."
  },
  {
   "address": 16604,
   "type": "line",
   "text": "The 40 sky_columns adds to step a row down the screen. LEAGUE_FILE puts the number of players at $40DC."
  },
  {
   "address": 16608,
   "type": "line",
   "text": "The screen pointer's high byte carried, the next row, the next column, and the jump past the tables. LEAGUE_FILE puts the drivers' places at $40E0."
  },
  {
   "address": 16620,
   "type": "line",
   "text": "On past the tables to $411F."
  },
  {
   "address": 16623,
   "type": "line",
   "text": "For each of sky_columns' 32 columns, 0 to 2: how many rows at the bottom of the 16 it leaves in the colours they had."
  },
  {
   "address": 16640,
   "type": "line",
   "text": "The rest of sky_heights, columns 17 to 28. Once the start-up is done, DUST_GO keeps the specks' speeds across from $4100 on, and saves and loads use $4100 for their file's second page (FILE_BUFFER, the merge)."
  },
  {
   "address": 16652,
   "type": "line",
   "text": "Column 29's height. The merge reads a loaded record's minutes from $410C + X in the file's second page."
  },
  {
   "address": 16653,
   "type": "line",
   "text": "Column 30's. The merge reads the second page's seconds from $410D + X."
  },
  {
   "address": 16654,
   "type": "line",
   "text": "Column 31's, the last. The merge reads the second page's hundredths from $410E + X."
  },
  {
   "address": 16655,
   "type": "line",
   "text": "Sixteen bytes repeated through the RAM under $DE00-$DFFF."
  },
  {
   "address": 16671,
   "type": "line",
   "text": "The colours of the screen's row from $DB54 to 8, six bytes of the screen ($5EAC and on) to $21 and four of colour RAM ($DAD4 and on) to 12: the dashboard's frame."
  },
  {
   "address": 16672,
   "type": "line",
   "text": "Sixteen bytes of colour RAM from $DB54 set to 8, and the dashboard frame's screen bytes to $21. DUST_GO keeps the dust specks' falling speeds from $4120 on."
  },
  {
   "address": 16688,
   "type": "line",
   "text": "More of the frame's screen bytes. FRAME_PILLAR writes from $4130 on, the right pillar's top."
  },
  {
   "address": 16694,
   "type": "line",
   "text": "The frame's last screen bytes and its four of colour RAM set to 12, then the first copy's loop begins. FRAME_PILLAR writes the right pillar's corner from $4136 on."
  },
  {
   "address": 16715,
   "type": "line",
   "text": "Tables moved out of the bitmaps' area, where the loader left them: $72E0 and $7420 to $C000-$C1FF; four of 24 bytes from $75A0, $7608, $7560 and $7648 to $C200-$C25F; $63E0 and $6520 to $5800-$59FF; four of 64 bytes from $66E0, $6920, $6B60 and $6BA0 to $5A00, $5A40, $7F40 and $57C0; three of 128 from $6D20, $6A20 and $6DE0 to $5A80, $5B00 and $5B80."
  },
  {
   "address": 16720,
   "type": "line",
   "text": "The copies out of the bitmaps' area: the bonnet to $C000-$C25F, the sprites to $5800-$5BFF, $57C0 and $7F40; then four bytes cleared in each of eight rows of the screen. FRAME writes from $4150 on, the edge in row 1."
  },
  {
   "address": 16830,
   "type": "line",
   "text": "Four bytes cleared in each of eight rows of the screen from $5C26."
  },
  {
   "address": 16861,
   "type": "line",
   "text": "The RAM under the chips filled with all of it banked in (ALL_RAM): $D000-$D3FF from $7C00-$7FFF, $D400-$DBFF from $4F00-$56FF, $DC00 from $AE00 (the drivers' names), $DD00 from $7B00, and $DE00-$DFFF with fill_pattern."
  },
  {
   "address": 16864,
   "type": "line",
   "text": "The RAM under the chips filled (from $7C00, $4F00, $AE00 and $7B00, and the fill pattern), the chips back in, the screen's colours kept, and START. FRAME writes from $41E0 on, the edge in row 1 from column 20."
  },
  {
   "address": 16974,
   "type": "line",
   "text": "The chips back in ($01 = $35), interrupts on, the race's screen, sprites and colours kept (command $34 with X 0, SAVE_RESTORE_SCREEN), then START."
  },
  {
   "address": 16989,
   "type": "line",
   "text": "The sixteen-bit sum of the game's bytes in the seven ranges at checksum_ranges must be the one at checksum_expected: if it is, returns; if not, the border turns yellow (BORDER_BLANK 7) and the game waits forever. The sum is kept in $FB/$FC."
  },
  {
   "address": 17000,
   "type": "line",
   "text": "CHECKSUM's loops over a range's bytes and over the ranges, and the comparison with checksum_expected. FRAME_PILLAR writes from $4268 on, the right pillar in row 1."
  },
  {
   "address": 17056,
   "type": "line",
   "text": "CHECKSUM's return when the sum is right; when it is not, the border yellow and a jump to itself forever. CLEAR_VIEW fills the view from $42A0 (row 2, column 4) of the bitmap at $4000."
  },
  {
   "address": 17065,
   "type": "line",
   "text": "Seven ranges for CHECKSUM, four bytes each (start, then end, each low byte first; the end is not counted), read from the last: $0840-$42C4, $4F00-$56FF, $5780-$7FFF, $80C0-$A1FF, $A380-$BFFF, $C780-$CFFF and $E000-$FFE1."
  },
  {
   "address": 17066,
   "type": "line",
   "text": "CHECKSUM reads each range's start's high byte from $42AA + X."
  },
  {
   "address": 17067,
   "type": "line",
   "text": "Each range's end's low byte, from $42AB + X."
  },
  {
   "address": 17068,
   "type": "line",
   "text": "Each range's end's high byte, from $42AC + X; the table runs on to $42C4."
  },
  {
   "address": 17093,
   "type": "line",
   "text": "The sum CHECKSUM expects: $9DFA, low byte first."
  },
  {
   "address": 17094,
   "type": "line",
   "text": "checksum_expected's high byte, $9D."
  },
  {
   "address": 17095,
   "type": "line",
   "text": "Zeros as loaded, up to the bitmap's next page: the start-up sits in the bitmap at $4000, which the race screen draws over once the start-up is done."
  },
  {
   "address": 20224,
   "type": "line",
   "text": "Loaded: the menus' title picture (the car on its ramp and the words STUNT CAR RACER), packed. The start-up copies $4F00-$56FF to $D400-$DBFF under the I/O chips, and UNPACK_TITLE rebuilds the picture from there into the top eight rows of the menus' screen. First the headers of its thirteen runs, three bytes each: the run's length (0 for 256), then where in the bitmap at $4000 it goes, low byte first. Once copied away, $4F00 on is row 12 of the bitmap at $4000."
  },
  {
   "address": 20256,
   "type": "line",
   "text": "Row 12 of the bitmap at $4000 from column 4, the view's eleventh row, which CLEAR_VIEW fills. Loaded: the last byte of run 11's header and the headers of runs 12 and 13."
  },
  {
   "address": 20263,
   "type": "line",
   "text": "25 bytes UNPACK_TITLE skips, since its runs start at $4F40. They read as pieces of code (LDY $1B, STY $0A, RTS, JSR $882F, JSR $8832) that nothing calls."
  },
  {
   "address": 20288,
   "type": "line",
   "text": "The runs' bytes, one after another to $5427. Here run 1 (24 bytes for $4128, row 0, column 37), run 2 (32 for $41E8, row 1, column 21), run 3 (32 for $4260, row 1, column 36), run 4 (48 for $4328, row 2, column 21), run 5 (32 for $43A0, row 2, column 36) and from $4FE8 the start of run 6 (96 for $4438, row 3, column 15)."
  },
  {
   "address": 20480,
   "type": "line",
   "text": "The page the start-up copies to $D500: the rest of run 6, then from $5048 run 7 (32 bytes for $44E0, row 3, column 36)."
  },
  {
   "address": 20576,
   "type": "line",
   "text": "Row 13 of the bitmap at $4000 from column 4, which CLEAR_VIEW fills. Loaded: the end of run 7, then run 8 (104 bytes for $4578, row 4, column 15) from $5068 and run 9 (48 for $4610, row 4, column 34) from $50D0."
  },
  {
   "address": 20736,
   "type": "line",
   "text": "The page the start-up copies to $D600: run 10 (104 bytes for $46B8, row 5, column 15), then from $5168 the start of run 11 (256 bytes for $4740, row 5, column 32)."
  },
  {
   "address": 20896,
   "type": "line",
   "text": "Row 14 of the bitmap at $4000 from column 4, the view's last, which CLEAR_VIEW fills. Loaded: more of run 11's bytes."
  },
  {
   "address": 20992,
   "type": "line",
   "text": "The page the start-up copies to $D700: the end of run 11, then from $5268 run 12 (256 bytes for $4840, row 6, column 24)."
  },
  {
   "address": 21216,
   "type": "line",
   "text": "Row 15 of the bitmap at $4000 from column 4, the bonnet's top row, which CLEAR_VIEW copies from $C000 and TRACK_PREVIEW fills with $FF. Loaded: more of run 12."
  },
  {
   "address": 21248,
   "type": "line",
   "text": "The page the start-up copies to $D800: the end of run 12, then from $5368 run 13 (192 bytes for $4940, row 7, column 16)."
  },
  {
   "address": 21504,
   "type": "line",
   "text": "The page the start-up copies to $D900: more of run 13."
  },
  {
   "address": 21536,
   "type": "line",
   "text": "Row 16 of the bitmap at $4000 from column 4, the bonnet's second row, which CLEAR_VIEW copies from $C100 and TRACK_PREVIEW fills with $FF. Loaded: run 13's last eight bytes."
  },
  {
   "address": 21544,
   "type": "line",
   "text": "The title's 320 screen bytes, which UNPACK_TITLE copies to $7C00-$7D3F: the two colours of each character cell in the top eight rows of the menus' screen."
  },
  {
   "address": 21760,
   "type": "line",
   "text": "The page the start-up copies to $DA00: more of the title's screen bytes."
  },
  {
   "address": 21856,
   "type": "line",
   "text": "Row 17 of the bitmap at $4000 from column 4: the bonnet's left end, 24 bytes CLEAR_VIEW copies from $C230; the left front wheel's top (FRONT_WHEEL); TRACK_PREVIEW fills 256 bytes from here with $FF. Loaded: the title's last eight screen bytes."
  },
  {
   "address": 21864,
   "type": "line",
   "text": "The title's 320 colour bytes, which UNPACK_TITLE puts at $0400 and then into colour RAM at $D800-$D93F: the third colour of each cell in the top eight rows."
  },
  {
   "address": 21880,
   "type": "line",
   "text": "Row 17, column 7 of the bitmap at $4000, where CLEAR_VIEW puts $F0, the edge of the bonnet's left end. Loaded: more of the title's colour bytes."
  },
  {
   "address": 21920,
   "type": "line",
   "text": "Row 17, column 12 of the bitmap at $4000, where CLEAR_VIEW copies 24 bytes from $C200. Loaded: more of the title's colour bytes."
  },
  {
   "address": 22016,
   "type": "line",
   "text": "The last page the start-up copies under the I/O chips, to $DB00: more of the title's colour bytes."
  },
  {
   "address": 22024,
   "type": "line",
   "text": "Row 17, column 25 of the bitmap at $4000, where CLEAR_VIEW copies 24 bytes from $C218. Loaded: more of the title's colour bytes."
  },
  {
   "address": 22080,
   "type": "line",
   "text": "Row 17, column 32 of the bitmap at $4000, where CLEAR_VIEW puts $0F, the edge of the bonnet's right end. Loaded: eight of the title's colour bytes."
  },
  {
   "address": 22088,
   "type": "line",
   "text": "Row 17, column 33 of the bitmap at $4000, the bonnet's right end, 24 bytes CLEAR_VIEW copies from $C248. Loaded: sixteen of the title's colour bytes."
  },
  {
   "address": 22104,
   "type": "line",
   "text": "Row 17, column 35 of the bitmap at $4000, the right front wheel's top, which FRONT_WHEEL draws. Loaded: more of the title's colour bytes."
  },
  {
   "address": 22160,
   "type": "line",
   "text": "Row 18, column 2 of the bitmap at $4000, which FRAME and FRAME_PILLAR write: the foot of the frame's left pillar. Loaded: sixteen of the title's colour bytes."
  },
  {
   "address": 22176,
   "type": "line",
   "text": "Row 18, column 4 of the bitmap at $4000, the left front wheel's second row, which FRONT_WHEEL draws. Loaded: the title's last eight colour bytes."
  },
  {
   "address": 22184,
   "type": "line",
   "text": "88 bytes after the title that nothing reads: pieces of code (JSR $BE0D, JSR $BE6F, JSR $8F92, ...), the word \"space\", then zeros."
  },
  {
   "address": 22400,
   "type": "line",
   "text": "Loaded: 128 bytes the start-up copies to $C280-$C2FF. For each of the view's 64 columns, the value NEW_VIEW starts that column's limit at $C640 with each frame; the values run from $AB to $C0. DUST_GO starts a speck again at random on $C280's line."
  },
  {
   "address": 22424,
   "type": "line",
   "text": "Row 18, column 35 of the bitmap at $4000, the right front wheel's second row, which FRONT_WHEEL draws. Loaded: more of view_outline's first 64."
  },
  {
   "address": 22464,
   "type": "line",
   "text": "Sprite shape $5F at run time, a frame of the boost's flame (with $FD, while $C35F's bit 7 is set), copied here from $6BA0 by the start-up; SAVE_RESTORE_SCREEN keeps $57C0-$5FFF in the race picture's view rows while the menus' bitmap covers them. Loaded: view_outline's second 64 from here, the same outline mirrored left to right, for $C680."
  },
  {
   "address": 22472,
   "type": "line",
   "text": "Row 19, column 1 of the bitmap at $4000, which FRAME_PILLAR writes: the left pillar's foot. Loaded: more of the mirrored outline."
  },
  {
   "address": 22480,
   "type": "line",
   "text": "Row 19, column 2 of the bitmap at $4000, where FRAME draws the edge below the view. Loaded: the rest of the mirrored outline."
  },
  {
   "address": 22528,
   "type": "line",
   "text": "Loaded: the race screen's colour RAM, 1,000 bytes, a row of 40 for each of its 25 character rows, which the start-up copies to $D800-$DBE7: the fourth colour of each cell (5, green, for most of it). Afterwards $5800-$5BFF holds sprite shapes, $5800-$58BF the right front wheel's top in three frames ($60-$62) for WHEELS_TURN."
  },
  {
   "address": 22624,
   "type": "line",
   "text": "Row 19, column 20 of the bitmap at $4000, where FRAME draws the edge below the view. Loaded: colour RAM rows 2 and 3."
  },
  {
   "address": 22768,
   "type": "line",
   "text": "Row 19, column 38 of the bitmap at $4000, which FRAME_PILLAR writes: the right pillar's foot. Loaded: colour RAM row 6."
  },
  {
   "address": 22784,
   "type": "line",
   "text": "The second page of colour RAM, copied to $D900. At run time sprite shapes $64-$67: $64, which the interrupt points sprite 2 at in the middle band, and the left front wheel's top in three frames ($65-$67)."
  },
  {
   "address": 23040,
   "type": "line",
   "text": "The third page of colour RAM, copied to $DA00. At run time sprite shape $68, the right front wheel's lower half (sprite 6), copied from $66E0."
  },
  {
   "address": 23104,
   "type": "line",
   "text": "Sprite shape $69 at run time, the left front wheel's lower half (sprite 4), copied from $6920. Loaded: colour RAM rows 14 and 15."
  },
  {
   "address": 23168,
   "type": "line",
   "text": "Sprite shapes $6A and $6B at run time, the boost's flame, copied from $6D20. Loaded: colour RAM rows 16 to 18, with the bonnet's colours."
  },
  {
   "address": 23296,
   "type": "line",
   "text": "The last page of colour RAM, copied to $DB00. At run time sprite shapes $6C and $6D, more of the boost's flame, copied from $6A20."
  },
  {
   "address": 23424,
   "type": "line",
   "text": "Sprite shapes $6E and $6F at run time, the boost's flame in the frames the interrupt takes while $C35F's bit 7 is set, copied from $6DE0. Loaded: colour RAM rows 22 to 24, the dashboard's."
  },
  {
   "address": 23528,
   "type": "line",
   "text": "The 24 bytes after colour RAM's 1,000, copied to $DBE8 with the rest; colour RAM does not show them."
  },
  {
   "address": 23552,
   "type": "line",
   "text": "Loaded: the race screen's screen bytes, 1,000, a row of 40 for each character row: each cell's first two colours, for the multicolour bitmap at $6000 (and at $4000 in the race). $E1, light blue and white, is the sky in the view's rows 2 to 14. FILL_SCREEN fills all of $5C00-$5FFF for the menus."
  },
  {
   "address": 23590,
   "type": "line",
   "text": "Row 0, column 38 of the screen: the start-up clears this byte and the next three, the right of row 0 and the left of row 1, outside the view."
  },
  {
   "address": 23630,
   "type": "line",
   "text": "Row 1, column 38: four bytes the start-up clears, the right of row 1 and the left of row 2."
  },
  {
   "address": 23670,
   "type": "line",
   "text": "Row 2, column 38: four bytes the start-up clears, the right of row 2 and the left of row 3."
  },
  {
   "address": 23710,
   "type": "line",
   "text": "Row 3, column 38: four bytes the start-up clears, the right of row 3 and the left of row 4."
  },
  {
   "address": 23750,
   "type": "line",
   "text": "Row 4, column 38: four bytes the start-up clears, the right of row 4 and the left of row 5."
  },
  {
   "address": 23790,
   "type": "line",
   "text": "Row 5, column 38: four bytes the start-up clears, the right of row 5 and the left of row 6."
  },
  {
   "address": 23808,
   "type": "line",
   "text": "The race screen from row 6, column 16: the page FILL_SCREEN fills second."
  },
  {
   "address": 23830,
   "type": "line",
   "text": "Row 6, column 38: four bytes the start-up clears, the right of row 6 and the left of row 7."
  },
  {
   "address": 23870,
   "type": "line",
   "text": "Row 7, column 38: four bytes the start-up clears, the right of row 7 and the left of row 8. Then rows 8 to 12 of the view's sky."
  },
  {
   "address": 24064,
   "type": "line",
   "text": "The race screen from row 12, column 32: the page FILL_SCREEN fills third. The bonnet's cells, $31 (cyan and white), start at row 15."
  },
  {
   "address": 24236,
   "type": "line",
   "text": "Row 17, column 4: the start-up sets it to $21 (red and white), the dashboard frame's left side."
  },
  {
   "address": 24267,
   "type": "line",
   "text": "Row 17, column 35, set to $21 by the start-up: the frame's right side."
  },
  {
   "address": 24276,
   "type": "line",
   "text": "Row 18, column 4, set to $21 by the start-up."
  },
  {
   "address": 24307,
   "type": "line",
   "text": "Row 18, column 35, set to $21 by the start-up."
  },
  {
   "address": 24316,
   "type": "line",
   "text": "Row 19, column 4, set to $21 by the start-up."
  },
  {
   "address": 24320,
   "type": "line",
   "text": "The race screen from row 19, column 8: the last page FILL_SCREEN fills, the dashboard's rows."
  },
  {
   "address": 24347,
   "type": "line",
   "text": "Row 19, column 35, set to $21 by the start-up. Then the dashboard's last rows."
  },
  {
   "address": 24552,
   "type": "line",
   "text": "The sixteen bytes between the screen's 1,000 and the sprite pointers, which nothing reads."
  },
  {
   "address": 24568,
   "type": "line",
   "text": "Sprite 0's pointer for the screen at $5C00, which the raster interrupt changes in each band: $FE for the message at the top, the boost's flame in the middle, the clocks' block 0 at the bottom."
  },
  {
   "address": 24569,
   "type": "line",
   "text": "Sprite 1's pointer: $FF for the message, the flame's other half, then the clocks' block 1."
  },
  {
   "address": 24570,
   "type": "line",
   "text": "Sprite 2's pointer: $64 in the middle band, the clocks' block 2 at the bottom."
  },
  {
   "address": 24571,
   "type": "line",
   "text": "Sprite 3's pointer: $63 in the middle band, the clocks' block 3 at the bottom; then sprite 4's, the left wheel's lower half ($69)."
  },
  {
   "address": 24573,
   "type": "line",
   "text": "Sprite 5's pointer, the left front wheel's top, which WHEELS_TURN steps through $65-$67; then sprite 6's, the right wheel's lower half ($68)."
  },
  {
   "address": 24575,
   "type": "line",
   "text": "Sprite 7's pointer, the right front wheel's top, which WHEELS_TURN steps through $60-$62."
  },
  {
   "address": 24576,
   "type": "line",
   "text": "Loaded: the race picture, the multicolour bitmap at $6000 (8,000 bytes to $7F3F): the windscreen's frame with the damage bar across its top, the bonnet with the front wheels, and the dashboard. The view's rows (2 to 14, columns 4 to 35) hold other things as loaded: the sprite shapes and the bonnet's copy the start-up takes out, and bytes nothing reads, until CLEAR_VIEW first clears them. Here row 0's first five cells, the frame's top-left corner."
  },
  {
   "address": 24614,
   "type": "line",
   "text": "The first of the three bytes CRACK cuts its notch into, $6026 + Y: row 0, column 4, line 6 when Y is 0."
  },
  {
   "address": 24615,
   "type": "line",
   "text": "The second of CRACK's three bytes, $6027 + Y."
  },
  {
   "address": 24616,
   "type": "line",
   "text": "Row 0 from column 5: the damage bar's thirty cells, which DAMAGE_BAR draws through BAR_BYTES ($6028 + Y), and the third of CRACK's bytes. Loaded: the bar whole."
  },
  {
   "address": 24880,
   "type": "line",
   "text": "Row 0, column 38: the first of the 24-byte patterns FRAME repeats across the edges of the view in the bitmap at $4000; then row 1, the frame under the bar."
  },
  {
   "address": 25200,
   "type": "line",
   "text": "Row 1, column 38: FRAME's second 24-byte pattern; then row 2's left pillar, columns 0 to 3."
  },
  {
   "address": 25248,
   "type": "line",
   "text": "Row 2 of the bitmap at $6000 from column 4, the view's top row, which CLEAR_VIEW fills. Loaded: stripes of $55 and $AA that nothing reads; then the right pillar."
  },
  {
   "address": 25520,
   "type": "line",
   "text": "Row 2, column 38: FRAME's third pattern; then row 3's left pillar."
  },
  {
   "address": 25568,
   "type": "line",
   "text": "Row 3 from column 4, which CLEAR_VIEW fills. Loaded: four sprite shapes the start-up copies to $5800, $60 to $63: the right front wheel's top in three frames, then $63; then the right pillar."
  },
  {
   "address": 25840,
   "type": "line",
   "text": "Row 3, column 38: FRAME's fourth pattern; then row 4's left pillar."
  },
  {
   "address": 25888,
   "type": "line",
   "text": "Row 4 from column 4, which CLEAR_VIEW fills. Loaded: four sprite shapes the start-up copies to $5900, $64 to $67: $64, then the left front wheel's top in three frames; then the pillars."
  },
  {
   "address": 26208,
   "type": "line",
   "text": "Row 5 from column 4, which CLEAR_VIEW fills. Loaded: 128 bytes, nearly empty, that nothing reads."
  },
  {
   "address": 26336,
   "type": "line",
   "text": "Row 5, column 20. Loaded: sprite shape $68, the right front wheel's lower half, which the start-up copies to $5A00; then 64 bytes shaped like a wheel's sprite that nothing reads, and the pillars."
  },
  {
   "address": 26528,
   "type": "line",
   "text": "Row 6 from column 4, which CLEAR_VIEW fills. Loaded: two more shapes like a wheel's sprite, at $67A0 and $6860, with empty bytes between, none of which anything reads; then the pillars."
  },
  {
   "address": 26848,
   "type": "line",
   "text": "Row 7 from column 4, which CLEAR_VIEW fills. Loaded: another wheel-like shape nothing reads."
  },
  {
   "address": 26912,
   "type": "line",
   "text": "Row 7, column 12. Loaded: sprite shape $69, the left front wheel's lower half, copied to $5A40; then 128 bytes nearly empty, and the pillars."
  },
  {
   "address": 27168,
   "type": "line",
   "text": "Row 8 from column 4, which CLEAR_VIEW fills. Loaded: sprite shapes $6C and $6D, the boost's flame, copied to $5B00; then two shapes like the flame's that nothing reads, and the pillars."
  },
  {
   "address": 27488,
   "type": "line",
   "text": "Row 9 from column 4, which CLEAR_VIEW fills. Loaded: sprite shape $FD, a frame of the flame, copied to $7F40."
  },
  {
   "address": 27552,
   "type": "line",
   "text": "Row 9, column 12. Loaded: sprite shape $5F, a frame of the flame, copied to $57C0; then 128 bytes nearly empty, and the pillars."
  },
  {
   "address": 27808,
   "type": "line",
   "text": "Row 10 from column 4, which CLEAR_VIEW fills. Loaded: 128 bytes nearly empty that nothing reads."
  },
  {
   "address": 27936,
   "type": "line",
   "text": "Row 10, column 20. Loaded: sprite shapes $6A and $6B, the flame, copied to $5A80; then the pillars."
  },
  {
   "address": 28128,
   "type": "line",
   "text": "Row 11 from column 4, which CLEAR_VIEW fills; SAVE_RESTORE_SCREEN keeps colour RAM here, $6DE0-$71DF, while a menu covers the race. Loaded: sprite shapes $6E and $6F, the flame's other frames, copied to $5B80; then two flame-like shapes nothing reads, and the pillars."
  },
  {
   "address": 28448,
   "type": "line",
   "text": "Row 12 from column 4, which CLEAR_VIEW fills. Loaded: rows of dots that nothing reads."
  },
  {
   "address": 28768,
   "type": "line",
   "text": "Row 13 from column 4, which CLEAR_VIEW fills. Loaded: patterns of dots, denser, that nothing reads."
  },
  {
   "address": 29088,
   "type": "line",
   "text": "Row 14 from column 4, the view's last row, which CLEAR_VIEW fills. Loaded: solid $FF that nothing reads."
  },
  {
   "address": 29408,
   "type": "line",
   "text": "Row 15 from column 4: the bonnet's top row, which the start-up copies to $C000 and CLEAR_VIEW copies back over the view's foot each frame, in this bitmap and the other."
  },
  {
   "address": 29728,
   "type": "line",
   "text": "Row 16 from column 4: the bonnet's second row, copied to $C100 the same way."
  },
  {
   "address": 30048,
   "type": "line",
   "text": "Row 17, column 4: the bonnet's left end, 24 bytes copied to $C230, where FRONT_WHEEL also draws the left wheel's top."
  },
  {
   "address": 30072,
   "type": "line",
   "text": "Row 17, column 7, where CLEAR_VIEW puts $F0 after the left end."
  },
  {
   "address": 30112,
   "type": "line",
   "text": "Row 17, column 12: 24 bytes of the bonnet copied to $C200."
  },
  {
   "address": 30216,
   "type": "line",
   "text": "Row 17, column 25: 24 bytes of the bonnet copied to $C218."
  },
  {
   "address": 30272,
   "type": "line",
   "text": "Row 17, column 32, where CLEAR_VIEW puts $0F before the right end."
  },
  {
   "address": 30280,
   "type": "line",
   "text": "Row 17, column 33: the bonnet's right end, 24 bytes copied to $C248."
  },
  {
   "address": 30296,
   "type": "line",
   "text": "Row 17, column 35: the right front wheel's top, which FRONT_WHEEL draws; then the pillars."
  },
  {
   "address": 30368,
   "type": "line",
   "text": "Row 18, column 4: the left front wheel's second row (FRONT_WHEEL), then the bonnet's lowest row."
  },
  {
   "address": 30616,
   "type": "line",
   "text": "Row 18, column 35: the right front wheel's second row."
  },
  {
   "address": 30688,
   "type": "line",
   "text": "Row 19, column 4: the left front wheel's third row, which FRONT_WHEEL draws in this bitmap only; the dashboard's top edge."
  },
  {
   "address": 30936,
   "type": "line",
   "text": "Row 19, column 35: the right front wheel's third row; then the dashboard's rows 20 and 21."
  },
  {
   "address": 31398,
   "type": "line",
   "text": "Row 21, column 12, line 6: the speed bar's first pixel row, which SPEED_BAR draws from here on."
  },
  {
   "address": 31399,
   "type": "line",
   "text": "Line 7: the speed bar's second pixel row; then the rest of row 21, the speedometer's scale."
  },
  {
   "address": 31488,
   "type": "line",
   "text": "The dashboard from row 21, column 24, which the start-up also copies to $DD00. The menus use $7B00-$7BFF (the league kept there, MENU_LOAD_SAVE), and SAVE_RESTORE_SCREEN puts the dashboard back from $DD00."
  },
  {
   "address": 31744,
   "type": "line",
   "text": "The dashboard from row 22, column 16, which the start-up copies to $D000 with the rest of $7C00-$7FFF: the menus' screen at $7C00 covers it (UNPACK_TITLE, RACE_SCREEN_COLOURS), and SAVE_RESTORE_SCREEN puts it back."
  },
  {
   "address": 31827,
   "type": "line",
   "text": "The menus' screen at $7C00, row 2, column 3, where RACE_SCREEN_COLOURS puts $0E. Loaded: the dashboard."
  },
  {
   "address": 31860,
   "type": "line",
   "text": "The menus' screen, row 2, column 36, where RACE_SCREEN_COLOURS puts $0E. Loaded: the dashboard."
  },
  {
   "address": 32000,
   "type": "line",
   "text": "The dashboard from row 23, column 8, copied to $D100."
  },
  {
   "address": 32256,
   "type": "line",
   "text": "The dashboard's last row, 24, copied to $D200."
  },
  {
   "address": 32512,
   "type": "line",
   "text": "The bitmap's last 64 bytes, row 24 from column 32, copied to $D300."
  },
  {
   "address": 32576,
   "type": "line",
   "text": "Sprite shape $FD at run time, a frame of the boost's flame (from $6B60). Loaded: text nothing reads, the end of an alert box's message in the form the Atari ST's GEM desktop takes them, lines split by '|' and the buttons in brackets: \"...ifferent from|the palette that is in use.|Re-color image with current|palette?][ Yes | No ]\"."
  },
  {
   "address": 32640,
   "type": "line",
   "text": "Sprite shape $FE, the message's left half, which SHOW_MESSAGE writes and the interrupt shows as sprite 0 at the top of the screen. Loaded: the rest of the alert's text."
  },
  {
   "address": 32641,
   "type": "line",
   "text": "The second byte of the message's left half in each row, which SHOW_MESSAGE rolls left a pixel at a time."
  },
  {
   "address": 32642,
   "type": "line",
   "text": "The third byte of the left half; then the rest of the shape. Loaded: from $7FA0 sixteen big-endian words, 0, 15, 1, 2, 4, 6, 3, 5, 7, 8, 9, 10, 12, 14, 11, 13: the order in which GEM maps its sixteen pens to the Atari ST's colour registers."
  },
  {
   "address": 32704,
   "type": "line",
   "text": "Sprite shape $FF, the message's right half (sprite 1). In the menus, row 24 of the screen at $7C00, which ROTATE_VIEW_PROMPT colours; PRINT_CHAR_RAW's glyphs are counted from here, eight bytes a character. Loaded: \"COMFAT\"."
  },
  {
   "address": 32705,
   "type": "line",
   "text": "The second byte of the right half in each row, rolled by SHOW_MESSAGE."
  },
  {
   "address": 32706,
   "type": "line",
   "text": "The third byte of the right half, which SHOW_MESSAGE shifts first; then the rest of the shape, zeros as loaded."
  },
  {
   "address": 32960,
   "type": "line",
   "text": "The font, eight bytes to a character from $20, one bit a pixel: PRINT_CHAR_RAW finds a glyph at $7FC0 plus eight times its code. $20 is the space."
  },
  {
   "address": 32968,
   "type": "line",
   "text": "Characters $21 to $28 are the damage bar's cells, in multicolour pairs of bits: $21 and $22 a whole part (BAR_WHOLE's sixteen bytes), $23 and $24 a holed one (BAR_HOLE), $25 the gap before a part (BAR_GAP), $26 the same again, $27 and $28 a holed part lit for the passes after the bump (BAR_HOLE_LIT)."
  },
  {
   "address": 33032,
   "type": "line",
   "text": "Characters $29 to $5A: $29 to $2D pieces of boxes (corners, a cross and a dash), then the full stop, the slash, the digits 0 to 9, the colon, the semicolon, '!', '=', '>', '?', '@' and the capitals A to Z."
  },
  {
   "address": 33432,
   "type": "line",
   "text": "At run time, the clocks' hundredths, one byte a clock in decimal, for 24 clocks (CLEAR_CLOCK, ADD_TO_CLOCK, FASTER, ADD_TIME, DRAW_TIME, PRINT_TIME). Loaded: the glyphs of characters $5B and $5C, pieces of boxes."
  },
  {
   "address": 33446,
   "type": "line",
   "text": "Clock $0E's hundredths, the track's lap record, which TRACK_RECORDS fills from under the chips and keeps after a race."
  },
  {
   "address": 33447,
   "type": "line",
   "text": "Clock $0F's hundredths, the track's race record, from TRACK_RECORDS; then the last eight clocks' hundredths. Loaded: more box pieces."
  },
  {
   "address": 33456,
   "type": "line",
   "text": "The clocks' seconds, one byte a clock in decimal, for the 24. Loaded: the glyphs of characters $5E and $5F, more pieces of boxes."
  },
  {
   "address": 33470,
   "type": "line",
   "text": "Clock $0E's seconds, the lap record's."
  },
  {
   "address": 33471,
   "type": "line",
   "text": "Clock $0F's seconds, the race record's; then the last eight clocks' seconds. Loaded: the glyph of $60, and from $82C8 the small letters a to z, $61 to $7A."
  },
  {
   "address": 33688,
   "type": "line",
   "text": "The clocks' minutes, one byte a clock, for the 24. Loaded: the glyphs of characters $7B to $7D, pieces of boxes."
  },
  {
   "address": 33702,
   "type": "line",
   "text": "Clock $0E's minutes, the lap record's."
  },
  {
   "address": 33703,
   "type": "line",
   "text": "Clock $0F's minutes, the race record's; then the last eight clocks' minutes."
  },
  {
   "address": 33712,
   "type": "line",
   "text": "At run time, a byte for each of the twelve drivers that RESET_SEASON sets to 10, a game for several keeps in its file (LEAGUE_FILE), and the end of a race sets for the player from $C719. Loaded: the glyphs of characters $7E and $7F, a box piece and '>'."
  },
  {
   "address": 33728,
   "type": "line",
   "text": "Turns multicolour on ($D016 bit 4) and shows the bitmap at $6000 with the screen at $5C00 ($D018 = $78), through SET_VIDEO."
  },
  {
   "address": 33740,
   "type": "line",
   "text": "Turns multicolour off and shows the bitmap at $4000 with the screen at $7C00 ($D018 = $F0), through SET_VIDEO."
  },
  {
   "address": 33750,
   "type": "line",
   "text": "With interrupts off, keeps A in $FA and writes it to $D018, selects video bank 1 ($4000-$7FFF) through CIA 2's port A, and makes the background black."
  },
  {
   "address": 33783,
   "type": "line",
   "text": "Sets up the screen the menus are drawn on: multicolour, the bitmap at $4000 with the screen at $7C00 (through SET_VIDEO, interrupts off while CIA 2 and $D018 change), the screen at $5C00 filled with X ORed with $0E, and the bitmap cleared by COPY_VIEW_OR_CLEAR."
  },
  {
   "address": 33813,
   "type": "line",
   "text": "The screen colours MENU_SCREEN was given in X."
  },
  {
   "address": 33814,
   "type": "line",
   "text": "Fills the screen at $5C00-$5FFF with A."
  },
  {
   "address": 33832,
   "type": "line",
   "text": "With A of 2 or more, copies the bitmap at $6140-$77BF to $4140-$57BF, a page at a time from the top: the picture built in one bitmap is shown in the other. With A below 2, fills 20 rows of the bitmap at $4000 with $AA and the five rows from $5900 with 0."
  },
  {
   "address": 33901,
   "type": "line",
   "text": "Non-zero while PRINT_CHAR_RAW is taking the column and the row after a $1F."
  },
  {
   "address": 33902,
   "type": "line",
   "text": "How many bytes of the $1F sequence PRINT_CHAR_RAW has taken."
  },
  {
   "address": 33903,
   "type": "line",
   "text": "Prints the character in A with PRINT_CHAR_RAW, keeping A, X and Y. Every piece of text the game shows in its bitmaps goes through here."
  },
  {
   "address": 33925,
   "type": "line",
   "text": "Prints the character in A into the bitmap at $4000, seven pixels wide, at column $85C5 (of 45) and row $85C6. $1F takes the next two bytes as the column and the row; 9 moves one column on; $7F moves back one and rubs out the character there; codes from $80 do nothing. The glyph is eight bytes at $7FC0 plus eight times the code. Its seven-pixel column is turned into a byte and a shift, and the glyph is shifted across the two bytes it straddles, kept from the pixels on either side by masks. With bit 7 of $85D0 set the character is drawn half a row lower, as the menus' highlighted lines are. The column moves on, back to 0 after 44."
  },
  {
   "address": 34245,
   "type": "line",
   "text": "The column PRINT_CHAR_RAW prints at, in seven-pixel steps (0-44)."
  },
  {
   "address": 34246,
   "type": "line",
   "text": "The character row PRINT_CHAR_RAW prints at."
  },
  {
   "address": 34247,
   "type": "line",
   "text": "Where PRINT_CHAR keeps A."
  },
  {
   "address": 34248,
   "type": "line",
   "text": "Where PRINT_CHAR and WAIT_KEY keep X."
  },
  {
   "address": 34249,
   "type": "line",
   "text": "Where PRINT_CHAR and WAIT_KEY keep Y."
  },
  {
   "address": 34250,
   "type": "line",
   "text": "The mask that keeps the pixels to the left of the glyph in its first byte."
  },
  {
   "address": 34251,
   "type": "line",
   "text": "The mask that keeps the pixels to the right of the glyph in its second byte."
  },
  {
   "address": 34252,
   "type": "line",
   "text": "The glyph's first byte column (eight pixels each)."
  },
  {
   "address": 34253,
   "type": "line",
   "text": "How many pixels the glyph is shifted right within its first byte."
  },
  {
   "address": 34254,
   "type": "line",
   "text": "$40 while neither shift key is held, so WAIT_KEY reads the second half of its table."
  },
  {
   "address": 34255,
   "type": "line",
   "text": "The number of the last key WAIT_KEY returned: it waits for this key to be let go first."
  },
  {
   "address": 34256,
   "type": "line",
   "text": "Bit 7 set (command $20) draws the characters half a row lower."
  },
  {
   "address": 34257,
   "type": "line",
   "text": "Bit 7 set while PRINT_CHAR_RAW rubs out a character with $7F."
  },
  {
   "address": 34258,
   "type": "line",
   "text": "Tests one key, X its number in the keyboard matrix: bits 0-2 pick the line it drives low on CIA 1's port A ($DC00), bits 3-5 the bit it reads back on port B ($DC01). Gives X = $FF with N set when the key is held, X = 0 with Z set when not."
  },
  {
   "address": 34299,
   "type": "line",
   "text": "The eight single bits KEY_SCAN drives and reads, bit 0 to bit 7."
  },
  {
   "address": 34307,
   "type": "line",
   "text": "Waits for the last key it returned to be let go, then for any key, and gives that key's character in A from the table at $9125: the first half when a shift key is held, the second when not. The two shift keys themselves are skipped. X and Y are kept."
  },
  {
   "address": 34389,
   "type": "line",
   "text": "Starts a sound effect from the seven bytes at X (low) and Y (high): the slot (which voice), the control byte (its waveform), attack and decay, sustain and release, the pitch's high byte, the pulse width's high nibble, and how long the gate is held, in frames. The voice is silenced, set up and gated on; EFFECT_TICK lets it go."
  },
  {
   "address": 34501,
   "type": "line",
   "text": "The pulse width byte of the last effect started."
  },
  {
   "address": 34502,
   "type": "line",
   "text": "The slot of the last effect started."
  },
  {
   "address": 34504,
   "type": "line",
   "text": "Frames each slot's gate is still held; bit 7 set while it is being started."
  },
  {
   "address": 34508,
   "type": "line",
   "text": "Each slot's pitch, high byte."
  },
  {
   "address": 34512,
   "type": "line",
   "text": "Each slot's release time in frames, from its release nibble."
  },
  {
   "address": 34516,
   "type": "line",
   "text": "Frames left of each slot's release, before it is silenced."
  },
  {
   "address": 34520,
   "type": "line",
   "text": "Each slot's control byte with the gate bit cleared, written to let it go."
  },
  {
   "address": 34524,
   "type": "line",
   "text": "The SID register offset of each slot's voice: 0, 7 and 14."
  },
  {
   "address": 34527,
   "type": "line",
   "text": "The release times, in frames, for the sixteen values of the release nibble; roughly the SID's own release lengths, frame by frame."
  },
  {
   "address": 34543,
   "type": "line",
   "text": "Called by the interrupt every frame for slot 1, the second voice: counts down the frames its gate is held, then lets the gate go, then after its release time cuts the voice with CUT_EFFECT."
  },
  {
   "address": 34582,
   "type": "line",
   "text": "Stops the effect in slot X (command $15): its count is cleared and its voice's control and sustain-release registers set to 0."
  },
  {
   "address": 34597,
   "type": "line",
   "text": "The command dispatcher: A is the command, X (and Y) its argument. $01 shows the bitmap at $4000 in hi-res and $02 the one at $6000 in multicolour ($FE keeps which), $03 sets up the menus' screen, $10 copies or clears the view, $20 sets the half-row flag, $81 tests a key, $15 stops an effect, $32 unpacks the title picture (UNPACK_TITLE), $55 fills rows, $34 saves or restores what a menu covers, and $3C-$47 run the race's jobs: the drawbridge, the view's fills, the crane's chains, the front wheels, the speed bar, the opponent's table, the view cleared, the row colours and the disk's commands. Any other command does nothing."
  },
  {
   "address": 34756,
   "type": "line",
   "text": "Puts the menus' title picture together (the car on its ramp and the words STUNT CAR RACER) from the table the start-up left under the I/O area at $D400 (title_runs, loaded at $4F00): thirteen runs of bytes, each with its length and its destination in the first 39 bytes, copied into the bitmap at $4000; then 320 bytes for the screen at $7C00 and the 320 colour bytes, which go to colour RAM; and seventeen rows from $4A00 cleared. Interrupts from the video chip are off while the RAM under the I/O is in."
  },
  {
   "address": 34922,
   "type": "line",
   "text": "Command $34. With X below $80, as a race ends, keeps what the menus' bitmap at $4000 draws over, $57C0-$5FFF (sprite shapes and the race's screen at $5C00), in the race picture's view rows from $62A0 (eight rows of 256 bytes and a ninth of 64, a bitmap row of 320 apart), and colour RAM at $6DE0-$71DF. With X from $80, as a race starts, puts both back, and the dashboard from the copies under the chips: $D000-$D3FF to $7C00-$7FFF and $DD00-$DDFF to $7B00, with the RAM banked in and interrupts off."
  },
  {
   "address": 35105,
   "type": "line",
   "text": "Fills $52 rows of 320 bytes, from the address in X (low) and Y (high), with A."
  },
  {
   "address": 35146,
   "type": "line",
   "text": "The Draw Bridge's moving ends (command $3C, called on track 5 only). A count of passes at $C300 rises and falls over 32 passes; it rewrites the points of object $5F, the bridge's two ends, so that they rise and fall, and their heights at $0740-$0744. While either car is on pieces $33-$37, next to the bridge, it stays down ($E7 = 12)."
  },
  {
   "address": 35322,
   "type": "line",
   "text": "Half the count in A picks a step from $8A0F; $0740, $0741 and $0742 become $C6 plus one, two and three steps."
  },
  {
   "address": 35343,
   "type": "line",
   "text": "The steps BRIDGE_HEIGHTS adds, for the sixteen positions of the bridge."
  },
  {
   "address": 35359,
   "type": "line",
   "text": "The heights $0743 and $0744 take, for the sixteen positions of the count."
  },
  {
   "address": 35375,
   "type": "line",
   "text": "Command $3D: for each of the view's 64 columns, keeps the lowest the top limit ($C680) and the bottom limit ($C640) have been: a height (256 less the sixteen bits at $69 and $33, 255 when those are 0 or less, 0 when they are past 256) less and plus that column's slope at $0380, mirrored when $0126 is negative."
  },
  {
   "address": 35493,
   "type": "line",
   "text": "Command $3E: in each of the view's 32 character columns (pixel columns $40-$BF, four to a byte), from the lowest of its four edges at $C600 upwards, each pixel above its own edge is set to colour 2. Once a row has all four, the rest of that character row is filled whole, and the character row is kept at $01C1 plus X (7 when the column never got that far), for SET_ROW_COLOURS."
  },
  {
   "address": 35665,
   "type": "line",
   "text": "Command $3F: the two chains the car hangs from before the start, drawn from row $C36B up to the top of the view at pixel columns $54 and $A8. While $2F is 0 their ends rise by a step that grows by 8 a pass ($C36C), until row $5F."
  },
  {
   "address": 35703,
   "type": "line",
   "text": "Draws one chain at pixel column X, upwards from row $C36B: links eight rows tall and two bytes wide, odd and even links taken in turn from the masks at $8BCD-$8C0C."
  },
  {
   "address": 35789,
   "type": "line",
   "text": "The masks that keep the background around a chain's links, left byte, for the sixteen rows of two links."
  },
  {
   "address": 35805,
   "type": "line",
   "text": "The masks that keep the background around a chain's links, right byte."
  },
  {
   "address": 35821,
   "type": "line",
   "text": "The chain's pixels, left byte, sixteen rows."
  },
  {
   "address": 35837,
   "type": "line",
   "text": "The chain's pixels, right byte."
  },
  {
   "address": 35853,
   "type": "line",
   "text": "Command $40: draws the top of a front wheel, X 0 the left and 1 the right, at the height in $14: eight rows taken from the tables at $8C70 (left) or $8C94 (right), starting further into them the lower the wheel, into both bitmaps. The wheels bounce with the suspension."
  },
  {
   "address": 35952,
   "type": "line",
   "text": "The left front wheel's top, three columns of bytes ($8C70, $8C78 and $8C80) read upwards from an offset set by the wheel's height."
  },
  {
   "address": 35960,
   "type": "line",
   "text": "FRONT_WHEEL's second column for the left wheel reads from here, eight bytes on along the same strip: one character row lower."
  },
  {
   "address": 35968,
   "type": "line",
   "text": "The third column, sixteen bytes on: the lowest row. From $8C88 the strip holds the wheel's edge, eleven bytes of $AC, $B0 and $C0, with zeros either side, so a wheel lower down shows less of it."
  },
  {
   "address": 35988,
   "type": "line",
   "text": "The right front wheel's top, three columns of bytes ($8C94, $8C9C and $8CA4)."
  },
  {
   "address": 35996,
   "type": "line",
   "text": "FRONT_WHEEL's second column for the right wheel, eight bytes on along its strip."
  },
  {
   "address": 36004,
   "type": "line",
   "text": "The right wheel's third column. From $8CAC its edge, eleven bytes of $1A, $0E and $03, with zeros either side."
  },
  {
   "address": 36048,
   "type": "line",
   "text": "Command $41: counts the pixel columns from $60 to $61, kept inside the view ($40-$BF) and widened to whole characters ($41 to $55), once more each at $0240. A column counted for the first time has $C500 set to $C0 and starts at $C1. When $60 is past $61 nothing is counted and bit 7 of $6D and of $C303 is cleared."
  },
  {
   "address": 36117,
   "type": "line",
   "text": "Command $42: in each character column from $41 to $55, fills the pixels between the edges at $0240 and those at $C600 with colour 2, by parity: TOGGLE_EDGES flips each pixel's bit in the row flags at $C400 at both its edges, and going up the column a pixel is filled while its bit is set. Bit 7 of a row's flags marks the bottom row of each character row, where going up moves the pointer to the character row above, and $C0 just above the view's top row stops the fill. The flags are flipped back afterwards."
  },
  {
   "address": 36342,
   "type": "line",
   "text": "For the four pixel columns from X, each whose edge at $0240 is above its edge at $C600 flips its bit (8, 4, 2 or 1) in the row flags just above the first edge and at the second."
  },
  {
   "address": 36455,
   "type": "line",
   "text": "For each set of the four pixels in a byte (bit 3 the leftmost), the mask that turns those pixels from colour 3 to colour 2."
  },
  {
   "address": 36471,
   "type": "line",
   "text": "Command $43: the bar above the speedometer's scale (row 21 of the dashboard, from column 12, two pixel rows deep), X/2 pixels long (less 64 from 64 on). Only what changed since the last length ($C34F) is drawn: whole bytes of four pixels and one part byte at the end."
  },
  {
   "address": 36617,
   "type": "line",
   "text": "The bar's last byte with one, two and three of its four pixels lit."
  },
  {
   "address": 36620,
   "type": "line",
   "text": "A byte of the bar with all four pixels lit."
  },
  {
   "address": 36624,
   "type": "line",
   "text": "A byte of the bar with none lit."
  },
  {
   "address": 36625,
   "type": "line",
   "text": "Command $44: a value for each of the track's pieces at $0710, from the last piece back to the first. A piece listed at $075E takes its own from $0769, and when that has bit 7 set the three pieces before it get bit 7 too. A piece whose kind (the low four bits at $0400) has bit 7 set at $B240 takes X. Any other takes the value of the piece after it plus 10, up to $7F, carried in $14 (from $7C)."
  },
  {
   "address": 36736,
   "type": "line",
   "text": "The X PIECE_TABLE was given."
  },
  {
   "address": 36737,
   "type": "line",
   "text": "The X CLEAR_VIEW was given: bit 7 draws the bonnet into the bitmap at $4000 too."
  },
  {
   "address": 36738,
   "type": "line",
   "text": "Command $45: fills the view in the bitmap being drawn ($12: 0 for $4000) with colour 3, thirteen character rows of 32 characters from $62A0 (or $42A0), and puts back the bonnet below it from its copy at $C000-$C25F; into the bitmap at $4000 only when bit 7 of X is set."
  },
  {
   "address": 36951,
   "type": "line",
   "text": "Command $46: for each of the view's 32 character columns whose top character row of colour 2 has moved since the last frame ($0200 was, $0201 now, four bytes a column), sets the colour RAM of the rows between: to $C76B for the rows it rose past, to $0E for those it fell back from. Each character row's address in colour RAM comes from the tables at $A400 (low) and $A418 (high), indexed by pixel row over 8."
  },
  {
   "address": 37051,
   "type": "line",
   "text": "Command $47, with the KERNAL in: nothing unless $0840 says there is a drive. X = 0 sends the drive \"I0\" (initialise); any other X sends \"S0:\" and the name at $AEC1 (scratch: the old file goes before a save), when $C77B says there is one. Comes back with carry set on an error; \"file not found\" (4) is not one."
  },
  {
   "address": 37131,
   "type": "line",
   "text": "\"S0:\" and the twelve characters of the file's name, the command DISK_COMMAND sends to scratch a file."
  },
  {
   "address": 37134,
   "type": "line",
   "text": "The name, copied from $AEC1."
  },
  {
   "address": 37146,
   "type": "line",
   "text": "X = 0: the two bytes of \"I0\" at $9123 named for SETNAM, then on as for the scratch from $90E3."
  },
  {
   "address": 37155,
   "type": "line",
   "text": "\"I0\", the command that initialises the drive."
  },
  {
   "address": 37157,
   "type": "line",
   "text": "The character for each of the 64 keys, by key number (the bit read on port B times 8 plus the bit driven on port A): the first 64 with a shift key held, the next 64 without."
  },
  {
   "address": 37285,
   "type": "line",
   "text": "Prints three spaces."
  },
  {
   "address": 37290,
   "type": "line",
   "text": "Prints two spaces."
  },
  {
   "address": 37295,
   "type": "line",
   "text": "Prints a space."
  },
  {
   "address": 37300,
   "type": "line",
   "text": "The tables of a game for several after each round, once every player has raced ($C77F reaching $31A3) and before the next round ($31A2 counted down): BONUS_RESULTS, then RESULTS_TABLE, with $31A5 set meanwhile."
  },
  {
   "address": 37315,
   "type": "line",
   "text": "RESULTS_TABLE with $C39C set: the round's race times and bonuses."
  },
  {
   "address": 37327,
   "type": "line",
   "text": "The round's bonuses, from row $0E: one more of the table's wins ($C728) to the driver of the fastest race ($C76E) and one more of its fastest laps ($C734) to the driver of the fastest lap ($C76D), each named; then the division sorted again."
  },
  {
   "address": 37397,
   "type": "line",
   "text": "A in binary-coded decimal: counts A times from 0 in decimal mode (A = 0 counts 256 times, which gives $56). X is kept, by way of $CE."
  },
  {
   "address": 37413,
   "type": "line",
   "text": "Under the results, the records the player has broken ($C305: bit 0 which message, bit 7 the race's record, bit 6 the lap's), each with the holder's name now at $31AA ($D6, $C9) and its time (clocks $0F and $0E)."
  },
  {
   "address": 37538,
   "type": "line",
   "text": "At the end of the player's lap X: the race's fastest lap so far (clock $0C, its driver into $C76D) and the track's lap record (clock $0E: the player's name into the menus' strings at $C9, $C305 bits 6 and 0); the lap added to the player's race time (clock $31A4 + $0C); and at the race's end (lap 4, $C378) the fastest race (clock $0D, $C76E) and the track's race record (clock $0F: the name at $D6, $C305 bits 7 and 0)."
  },
  {
   "address": 37632,
   "type": "line",
   "text": "The player's twelve-letter name ($AE01 + 16 $31A4) into the menus' strings at $31AA + Y."
  },
  {
   "address": 37657,
   "type": "line",
   "text": "The records of the track raced ($C77D in the order at $3728, the Super League's eight on, $C71A), sixteen bytes in each of the pages under the chips: the lap's at $DE00 and the race's at $DF00, each a twelve-letter holder's name and a time. With A bit 7 set they are put where the race keeps them (the names at $3273 and $3280, the times in clocks $0E and $0F) and the chips banked back in; clear, the race's are kept there, the chips left banked out for the caller."
  },
  {
   "address": 37800,
   "type": "line",
   "text": "With A 1 before a save, 0 after a load (nothing otherwise, nor after a failure, for the league of one or for a directory): the Hall of Fame's records, the two pages under the chips at $DE00 and $DF00, copied to $4000 and scrambled; or loaded, unscrambled and merged, each track's record taken from the file when it is faster than the one held. A game for several: LEAGUE_FILE."
  },
  {
   "address": 37856,
   "type": "line",
   "text": "A file that fails the check leaves the chips banked out ($01 $34): this RTS skips IO_BACK."
  },
  {
   "address": 37863,
   "type": "line",
   "text": "The merge: each record's time (+$0C, three decimal bytes, minutes first) compared, the faster kept."
  },
  {
   "address": 37960,
   "type": "line",
   "text": "The name typed ($AEC1) for what it starts with, into $C367: \"DIR \" a directory ($80; a save becomes a load, $C77B cleared), \"HALL\" the Hall of Fame ($40), \"MP\" a game for several (1), anything else the league of one (0). A save of the league with several players, or of a game for several with one, is refused: \"File name is not suitable\", a key, the message and the name rubbed out, and the carry set."
  },
  {
   "address": 38047,
   "type": "line",
   "text": "Refused: the message, a key, and the message and the name rubbed out."
  },
  {
   "address": 38092,
   "type": "line",
   "text": "The names FILE_NAME_CHECK looks for: \"DIR \", \"HALL\" and \"MP\"; the \"$\" after them is the directory's name for the KERNAL."
  },
  {
   "address": 38096,
   "type": "line",
   "text": "\"HALL\"."
  },
  {
   "address": 38100,
   "type": "line",
   "text": "\"MP\", and the directory's name \"$\"."
  },
  {
   "address": 38103,
   "type": "line",
   "text": "After a save or a load, unless it was a directory that worked: the file's name and \" loaded\" or \" saved\", with \" NOT\" and why after a failure ($C39A: $80 a problem, $81 incorrect data), and a press of fire. $C39A comes back in A."
  },
  {
   "address": 38186,
   "type": "line",
   "text": "Each file message's place in the table at $9535: \" loaded\", \" saved\", then by $C39A plus 2 the failures, and by $0840 plus 9 the tape's and the disc's messages before a save."
  },
  {
   "address": 38197,
   "type": "line",
   "text": "The file messages, each ended by $FF: \" NOT\", \" loaded\", \" saved\", \"Incorrect data found\", \"File name already exists\", \"Problem encountered\", \"File name is not suitable\", the message before a save and its \"tape\" and \"disc\"."
  },
  {
   "address": 38366,
   "type": "line",
   "text": "FILE_MESSAGE's loop: each character printed (PRINT_CHAR) and the next taken."
  },
  {
   "address": 38370,
   "type": "line",
   "text": "Message X of the table at $9535 (characters to $FF)."
  },
  {
   "address": 38378,
   "type": "line",
   "text": "The directory loaded at $4000 shown on the KERNAL's screen at $0400: \"DIRECTORY:\", then the files whose names are twelve characters (a quote at both ends, as the game's own are), three to a row and 54 to a screen, fire for each screen after the first."
  },
  {
   "address": 38427,
   "type": "line",
   "text": "An entry is a file of the game's when its line at $4025 + 32n has quotes 13 apart."
  },
  {
   "address": 38452,
   "type": "line",
   "text": "Its name copied to the screen, three names to a row."
  },
  {
   "address": 38516,
   "type": "line",
   "text": "\"DIRECTORY:\"."
  },
  {
   "address": 38526,
   "type": "line",
   "text": "The scrambling's random numbers: the 16-bit seed at $96A6 times 5, and its bits 2 to 9 in A."
  },
  {
   "address": 38566,
   "type": "line",
   "text": "The seed, low byte first; SCRAMBLE starts it at $683B."
  },
  {
   "address": 38567,
   "type": "line",
   "text": "The scrambling's seed's high byte, $68 as SCRAMBLE starts it."
  },
  {
   "address": 38568,
   "type": "line",
   "text": "Scrambles the page at $4000: the 256 numbers of the run from seed $683B at $4300, and a place in them, $F810 (READ_CONTROLS's count, so any), kept in the page's byte $0F; then SCRAMBLE_PAGE."
  },
  {
   "address": 38573,
   "type": "line",
   "text": "Unscrambles the page at $4000 the same way, the place taken from its byte $0F."
  },
  {
   "address": 38625,
   "type": "line",
   "text": "The page at ($1E), but its byte $0F. Scrambling: bytes $EF, $1F and $FF set to 0 for the check, and each byte replaced by how many numbers of the run, from the place, it took to come to its value; the place then moved on by the number at that count. Unscrambling makes the same draws: each byte the number its count comes to. Then the check: the three bytes 0, or $C39A $81 (incorrect data) and the carry set."
  },
  {
   "address": 38726,
   "type": "line",
   "text": "Both pages from $4000 scrambled, the run going on into the second."
  },
  {
   "address": 38734,
   "type": "line",
   "text": "Both pages from $4000 unscrambled; the carry is the second page's check."
  },
  {
   "address": 38742,
   "type": "line",
   "text": "A game for several in the file at $4000: the players' names ($AE40-$AEBF) at $4020, the league's tables ($C728-$C763) at $40A0, how many players ($31A1) at $40DC and the drivers' places ($83B0) at $40E0, scrambled for a save; unscrambled and put back after a load."
  },
  {
   "address": 38831,
   "type": "line",
   "text": "In the pause, with F1 held (key $20), the five keys defined again: a message for each in the order $983C names (messages from $9841), each key taken as it is pressed (a beep, EFFECT 0) and let go; then the five again to confirm, any that differs starting it all over; and the last message."
  },
  {
   "address": 38869,
   "type": "line",
   "text": "The keys scanned from $3F down until one is held."
  },
  {
   "address": 38878,
   "type": "line",
   "text": "Defining ($983B 1), the key goes into $F807; confirming (0), it must be the one there."
  },
  {
   "address": 38970,
   "type": "line",
   "text": "The key being defined, 4 down to 0."
  },
  {
   "address": 38971,
   "type": "line",
   "text": "1 while the keys are defined, 0 while they are confirmed."
  },
  {
   "address": 38972,
   "type": "line",
   "text": "The place in $F807 of each key in the order asked."
  },
  {
   "address": 38977,
   "type": "line",
   "text": "The message (SHOW_MESSAGE's Y) asking for each key."
  },
  {
   "address": 38982,
   "type": "line",
   "text": "In a game for several, the five keys READ_CONTROLS reads ($F807) kept for the player whose turn it is ($31A4, the drivers from 4), five bytes each at $987A: put in with A bit 7 set, kept with it clear."
  },
  {
   "address": 39034,
   "type": "line",
   "text": "Each player's five keys, as at $F807."
  },
  {
   "address": 39074,
   "type": "line",
   "text": "The practice's choices: a division from the menus' strings ($31A0 set), into $31A7 as 3 less the item (skipped once after a practice race, $31A8), then one of its two tracks or Cancel (2), the one before lit ($C76C bit 0). The choice comes back in A."
  },
  {
   "address": 39122,
   "type": "line",
   "text": "The Hall of Fame: the records of the league's eight tracks (or the Super League's, $C71A) copied from under the chips to $0400, the bitmap at $4000 cleared and coloured in hi-res, the headings, and for each track (its letters at $99EF) the lap record's holder and time and the race record's; fire, and the league's screen again."
  },
  {
   "address": 39407,
   "type": "line",
   "text": "Two letters for each track in the Hall of Fame, the last first."
  },
  {
   "address": 39408,
   "type": "line",
   "text": "HALL_OF_FAME reads each pair's second letter from $99F0 + X."
  },
  {
   "address": 39423,
   "type": "line",
   "text": "Clock X as minutes, seconds and hundredths (M:SS.HH), or seven dashes when it is 9 minutes or more, or no time at all."
  },
  {
   "address": 39474,
   "type": "line",
   "text": "The game's NMI handler, set at $FFFA by the start-up ($4025): it reads CIA 2's interrupt flags ($DD0D) to clear them and returns, so the RESTORE key and CIA 2's timers do nothing."
  },
  {
   "address": 39480,
   "type": "line",
   "text": "Where the car (the eye) is on piece $2E: across the road from its middle line into $B7/$B8, along it into $B3/$B4, and the road's direction under it into $0189/$018A. $3D is the turn between the view and the piece (the view's quarter $68 less the piece's direction $1D)."
  },
  {
   "address": 39502,
   "type": "line",
   "text": "A straight piece: the eye's place in the piece's frame (EYE_IN_PIECE) less the middle line's offset (bytes 2 and 3 of the kind's table at ($9A)); the direction is the piece's own."
  },
  {
   "address": 39543,
   "type": "line",
   "text": "A diagonal piece ($B2 bit 6): the frame turned by an eighth, the difference and the sum of the two distances times $B5/256 (one over the square root of two); across less bytes 2 and 3, along times byte 7, and the direction from bytes 4 and 5."
  },
  {
   "address": 39625,
   "type": "line",
   "text": "A curve ($B2 bit 7): measured from its centre (bytes 2 to 5, PIECE_POINT_IN_VIEW). PROJECT_X's place across for the centre ($A202/$A29A), with the view's heading ($32/$3E) and quarter, is its bearing; a quarter turn on from it ($9D the curve's side) is the road's direction."
  },
  {
   "address": 39699,
   "type": "line",
   "text": "The distance along: the bearing less the piece's start (bytes 6 and 7) and its direction ($1D's quarters), made positive, times byte 8, shifted by a count from $B2's low two bits."
  },
  {
   "address": 39790,
   "type": "line",
   "text": "On a piece of kind 1 or 3, a car past its end ($9E points) is moved to the next piece (the one before on a piece driven backwards, $A4) and placed again, unless that piece is of kind 4."
  },
  {
   "address": 39834,
   "type": "line",
   "text": "Across: the curve's radius (bytes 9 and 10) less the distance from its centre (CURVE_DISTANCE, then CURVE_DISTANCE_FIX), the other way for a curve to the other side ($9D)."
  },
  {
   "address": 39870,
   "type": "line",
   "text": "The distance from the curve's centre, a first guess, into $C1/$C2: the logarithm PROJECT_X left in $AB/$AC turned back through the steps at $B000 and $A380, with a straight line to the next step ($B001) by $AB's low three bits, and shifted by its whole part ($AC, in fours)."
  },
  {
   "address": 39956,
   "type": "line",
   "text": "The road's height at point X of the piece, times 8, in A:$14 (the top three bits that leave A are those of $15): an even point from the left edge's list ($98, added to $3F/$35), an odd one from the right's ($CA, added to $40/$36). Two bytes a point with $A2 bit 7 set, the high seven bits first; otherwise one byte, its low four bits the high byte and its next three the top of the low byte."
  },
  {
   "address": 40057,
   "type": "line",
   "text": "The car's place along its piece ($B3/$B4, from the other end on a piece driven backwards) into $22 and $C3; a quarter of a segment on into $8D/$8E ($8E = $80 when that is past the piece's end, $BE), twice the segment after it into $27, and $20 less the segment ($BE more past the end) into $D2 and $D3."
  },
  {
   "address": 40122,
   "type": "line",
   "text": "The road's height under each of the car's three points (2, 1, then 0) into $C340/$C343/$C3CE, each from the piece the car is on ($C374). The point's offset from the car's middle ($0130/$0133 across, $0136/$0139 along, over 16) is added to the car's place ($B7/$B8, $B3/$B4)."
  },
  {
   "address": 40154,
   "type": "line",
   "text": "Across, as a fraction of the road's width ($BC) into $4C, and the player's line $2B from point 2. A point past either edge (from 0 to $0180) is marked in $C3A6 bit 7, with its place in $C3A4/$C3A5, and takes 0 or $FF."
  },
  {
   "address": 40281,
   "type": "line",
   "text": "Along, in segments ($BD each): the fraction into $4D and the segment into $BF, twice it into $C0. A point past either end of the piece is on the next one (WHEEL_PIECE_STEP)."
  },
  {
   "address": 40344,
   "type": "line",
   "text": "The heights of the four corners round the point ($48 and $49 at one end of its segment, $4A and $4B at the other, POINT_HEIGHT), counted from the other end on a piece driven backwards; then the height between them (WHEEL_ROAD_HEIGHT)."
  },
  {
   "address": 40456,
   "type": "line",
   "text": "The eye's place in the piece's own frame, from the piece's corner as the view sees it ($93:$92 across, $95:$94 along): turned by the quarters between the view and the piece ($3D's top two bits), with a square (8) added where the corner moves, into $77:$51 across and $78:$52 along."
  },
  {
   "address": 40564,
   "type": "line",
   "text": "A point past its piece's end is on the next piece ($BF positive; the one before on a piece driven backwards) or the one before: $2E moved and that piece loaded, $C0 its first segment or its last ($9E less 4), and for a piece the other way round the fractions across and along ($4C, $4D) turned round (0 less each, $FF for 0)."
  },
  {
   "address": 40636,
   "type": "line",
   "text": "The road's height between four corners, $48 and $49 at one end ($5B the top byte) and $4A and $4B at the other ($DC), across by $4C/256 and then along by $4D/256, into $16:$15:$14. A difference too big for sixteen bits is worked an eighth the size and shifted back."
  },
  {
   "address": 40810,
   "type": "line",
   "text": "Point X's road height (ROAD_HEIGHT_AT, or OFF_EDGE_HEIGHT for a point past the edge) into $C340/$C343/$C3CE. While the car is slow ($0188 below 10) and nearly level (the pitch's high byte within 4 of none), the average of it and the height there before."
  },
  {
   "address": 40888,
   "type": "line",
   "text": "The guess at the distance from the curve's centre ($C1/$C2) made closer: the difference between the square of the true distance ($77:$51 across and $78:$52 along, squared and added) and the guess's square, times the kind's factor ($A01B), over 16, added to it."
  },
  {
   "address": 40960,
   "type": "line",
   "text": "The rest of CURVE_DISTANCE_FIX: the difference times the kind's factor (MUL_S16_U8), shifted four places right (SHIFT16), added to the guess at $C1/$C2. $A000 is also the byte SAVE_OR_LOAD keeps on the stack while the KERNAL is banked in and puts back after."
  },
  {
   "address": 40987,
   "type": "line",
   "text": "For each kind of piece ($C3CD), the factor CURVE_DISTANCE_FIX corrects a curve's distance by; 0 for kinds 0, 4, 5 and 10."
  },
  {
   "address": 40998,
   "type": "line",
   "text": "The point at bytes Y to Y+3 of the kind's table (across and along, in the piece's frame) from the eye: turned by the quarters between the view and the piece ($3D), a square (8) added where the corner moves, plus the corner's place ($93:$92 across, $95:$94 along), into $77:$51 and $78:$52. Y comes back four on."
  },
  {
   "address": 41142,
   "type": "line",
   "text": "The height under a point past the road's edge ($C3A4/$C3A5, its place across). Less than $30 past the edge: the road's height ($16:$15:$14) less sixteen times the distance past, and $100 less again when that is below $10000, with $C30A set to $80 or $40 by the side. Further out, or when the height would fall under $1000, $C359 is set (the point is off the edge) and the height is $1000."
  },
  {
   "address": 41266,
   "type": "line",
   "text": "The heights of the car's three points from its middle's ($0101/$0104/$0107): less the pitch's sine ($0121/$0124, SINE16) for point 2 ($C348/$C34B/$C3D3), plus it for points 0 and 1 ($C346/$C349/$C3D1 and $C347/$C34A/$C3D2), which are also half the roll's sine ($0123/$0126) above and below that."
  },
  {
   "address": 41415,
   "type": "line",
   "text": "The loop of PRINT_STRING_E000."
  },
  {
   "address": 41419,
   "type": "line",
   "text": "Prints string X of the table at $E000, up to its $FF; while players are being chosen ($31A0 bit 7), string X of the menus' table at $31AA instead."
  },
  {
   "address": 41436,
   "type": "line",
   "text": "Prints string X of the menus' table at $31AA, up to its $FF."
  },
  {
   "address": 41444,
   "type": "line",
   "text": "Fourteen bytes of code that nothing calls: Y times 24, plus 8, back in Y."
  },
  {
   "address": 41458,
   "type": "line",
   "text": "$E8, which REQUEST_FLIP and TRACK_PREVIEW add $18 to: $00, the value of $12 that draws into the bitmap at $4000. Then eleven letters that nothing reads, \"FKSRFUHBERD\"."
  },
  {
   "address": 41470,
   "type": "line",
   "text": "DRAW_PIECE reads $A1FE + X, X the piece's number of points: the low byte of its next-to-last point's place across, from the table at $A200, which it copies to point 30 at $A21E."
  },
  {
   "address": 41471,
   "type": "line",
   "text": "DRAW_PIECE reads $A1FF + X: the low byte of the piece's last point's place across, which it copies to point 31 at $A21F."
  },
  {
   "address": 41856,
   "type": "line",
   "text": "128 high bytes of $800 times 2 to the power n/128, for n from 0 to 127 ($0800 up to $0FD4); the low bytes are at $B000. CURVE_DISTANCE turns a logarithm back into a distance with them."
  },
  {
   "address": 41984,
   "type": "line",
   "text": "For SET_ROW_COLOURS, by pixel row over 8: the low byte of the colour RAM's address for that character row, from column 4 ($D804 for 6, the view's top, and 40 on for each row after; $D800 for 0 to 5). LINE_COLOUR's mask table for colour 0 is also $A400, read from $A440 on."
  },
  {
   "address": 42008,
   "type": "line",
   "text": "The high bytes of the same 24 addresses, $D8 to $DA."
  },
  {
   "address": 42032,
   "type": "line",
   "text": "Sixteen bytes that nothing reads: pieces of code (STA $33, LDA $31, STA $32, LDA #0, STA $31, BEQ, LSR $31, ROR $32)."
  },
  {
   "address": 42048,
   "type": "line",
   "text": "The masks that clear a multicolour pixel to colour 0, $3F, $CF, $F3 and $FC, repeated for each pixel column from $40 to $BF: the line drawer ANDs the bitmap with $A400 + X (LINE_COLOUR's table for X 0)."
  },
  {
   "address": 42176,
   "type": "line",
   "text": "The masks that leave a multicolour pixel colour 1, $7F, $DF, $F7 and $FD, for pixel columns $40 to $BF from $A480 + X (LINE_COLOUR's table for X 1); DUST_PLOT reads them as $A4C0 + its column."
  },
  {
   "address": 42240,
   "type": "line",
   "text": "The last 64 of those masks. $A500 is also the base of the bitmap's row tables: BITMAP_BYTE, DUST_BYTE, the line drawer and the fills add $A500 + Y for pixel row Y from $40 on."
  },
  {
   "address": 42304,
   "type": "line",
   "text": "For each pixel row from $40 to $FF (the view from its top), the low byte of its bitmap address at column 4, less the row's number, so that ($1E),Y reaches it: $4260 for row $40, the view's top at $42A0."
  },
  {
   "address": 42496,
   "type": "line",
   "text": "07 06 05 04 03 02 01 00, twice. BITMAP_BYTE, DUST_BYTE, the line drawer and the fills read $A600 plus the row as the high byte of the row's address, but their rows start at $40, so these sixteen, rows 0 to 15, are never read; what they were for is unknown."
  },
  {
   "address": 42512,
   "type": "line",
   "text": "For PROJECT_LOG and PROJECT_Y, added to a logarithm's high byte for the number of places Y it was shifted to fit eight bits: $E0 plus four times the shifts, for 0 to 7, then the same again for the eight Ys of a negative number."
  },
  {
   "address": 42528,
   "type": "line",
   "text": "The opponent car's width on the screen by its distance, 32 bytes from $1B down to $07 (OPP_CORNERS)."
  },
  {
   "address": 42560,
   "type": "line",
   "text": "The high bytes of the row tables, for pixel rows $40 to $FF, less the row's number with the low byte's carry."
  },
  {
   "address": 42752,
   "type": "line",
   "text": "The quarter-wave table, 256 bytes from $FF down to $01: the cosine of a quarter turn in 256 steps, which read from its far end is the sine (SIN_COS, SINE16, ROLL_TABLES, WHEEL_SPRITES, PROJECT_LOG)."
  },
  {
   "address": 42753,
   "type": "line",
   "text": "SINE16 reads the next step from $A701 for its straight line between two."
  },
  {
   "address": 43008,
   "type": "line",
   "text": "EXP's results for the lowest band of logarithms, $E000 to $EFFF: 128 bytes from 1 up, read by the logarithm's top bits."
  },
  {
   "address": 43136,
   "type": "line",
   "text": "EXP's results for $F000 to $F7FF, 128 bytes."
  },
  {
   "address": 43264,
   "type": "line",
   "text": "EXP's results for $F800 to $FFFF, 256 bytes, up to $FF."
  },
  {
   "address": 43520,
   "type": "line",
   "text": "The low bytes of 1,024 times the base-2 logarithm of n, for n from 0 to 255 (PROJECT_LOG, PROJECT_Y); n = 0 gives $F100, a large negative number."
  },
  {
   "address": 43776,
   "type": "line",
   "text": "The high bytes of the logarithms: $00 for 1, $04 for 2, $08 for 4, $1F near 255."
  },
  {
   "address": 44032,
   "type": "line",
   "text": "EXP's rounding for its lowest band: the result is one more when the logarithm's fraction is at least this byte; $FF never."
  },
  {
   "address": 44160,
   "type": "line",
   "text": "EXP's rounding for the middle band, the same way."
  },
  {
   "address": 44288,
   "type": "line",
   "text": "Two tables packed into one. The top five bits are EXP's rounding thresholds for its highest band (EXP ANDs with $F8); the low three bits are extra bits of precision for the quarter-wave table, which SINE16 reads from $AD00 and $AD01."
  },
  {
   "address": 44289,
   "type": "line",
   "text": "SINE16 reads the next step's three extra bits from $AD01."
  },
  {
   "address": 44544,
   "type": "line",
   "text": "Loaded: the pool of twelve opponents, sixteen bytes each, which the start-up copies to $DC00: a space, the name, spaces, and two more bytes. Hot Rod, Whizz Kid, Bad Guy, The Dodger, Big Ed, Max Boost, Dare Devil, High Flyer, Bully Boy, Jumping Jack, Road Hog, and a twelfth of spaces. START puts the whole pool back here from $DC00, and NEW_DRIVERS copies a league's opponents from it."
  },
  {
   "address": 44545,
   "type": "line",
   "text": "The names' letters, $AE01 + 16 times the driver: RECORD_NAME reads the player's from here, and the menus write a name typed here."
  },
  {
   "address": 44608,
   "type": "line",
   "text": "In a game for several, the players' names, $AE40-$AEBF, which LEAGUE_FILE saves and loads. Loaded: Big Ed's slot and the ones after."
  },
  {
   "address": 44721,
   "type": "line",
   "text": "The twelve letters in the last slot, which SAVE_CODE puts into the league's save code (EOR $3B). Loaded: spaces."
  },
  {
   "address": 44737,
   "type": "line",
   "text": "The name typed for a file (NAME_ENTRY_AT), which FILE_NAME_CHECK checks and DISK_COMMAND sends. Loaded: pieces of code that nothing runs."
  },
  {
   "address": 44768,
   "type": "line",
   "text": "Each of the twelve drivers' flags, how it drives (OPPONENT_LINE, OPP_WHEELS): copied to $DCE0 with the pool, and back here by NEW_DRIVERS. After the twelve, pieces of code that nothing runs."
  },
  {
   "address": 44800,
   "type": "line",
   "text": "The eight tracks' names, sixteen bytes each, padded with spaces: LITTLE RAMP, STEPPING STONES, HUMP BACK, BIG RAMP, SKI JUMP, DRAW BRIDGE, HIGH JUMP, ROLLER COASTER."
  },
  {
   "address": 44928,
   "type": "line",
   "text": "The sound effects, eight bytes each for START_EFFECT (EFFECT A reads $AF80 + 8A): the slot, the control byte, attack and decay, sustain and release, the pitch's high byte, the pulse's, and the frames the gate is held; the eighth, $80, is not read. Effect 0 is the keys' beep, a short pulse note."
  },
  {
   "address": 44940,
   "type": "line",
   "text": "Effect 1's pitch, the noise of the stones under the car: DUST_GO and DAMAGE write it before they start the effect. Then effects 2 to 6, and at $AFB8 eight bytes no call asks for, which do not read as an effect."
  },
  {
   "address": 44992,
   "type": "line",
   "text": "The matrix entries VELOCITY_TO_CAR multiplies the velocity's three axes by, three to a list (their places, X for MUL_S16_MATRIX): this one for the speed along the road."
  },
  {
   "address": 44995,
   "type": "line",
   "text": "The second list for VELOCITY_TO_CAR."
  },
  {
   "address": 44998,
   "type": "line",
   "text": "The third list for VELOCITY_TO_CAR."
  },
  {
   "address": 45001,
   "type": "line",
   "text": "The entries FORCES_TO_WORLD turns the forces' first world axis with."
  },
  {
   "address": 45004,
   "type": "line",
   "text": "FORCES_TO_WORLD's second list."
  },
  {
   "address": 45007,
   "type": "line",
   "text": "FORCES_TO_WORLD's third list."
  },
  {
   "address": 45010,
   "type": "line",
   "text": "The two entries SPIN_TO_ANGLES turns the spin into the pitch's speed with."
  },
  {
   "address": 45012,
   "type": "line",
   "text": "The two for the roll's speed. After them, from $AFE0, nothing reads \"COPYRIGHT GEOFF CRAMMOND 1988\", hidden by an EOR with $AA on every byte."
  },
  {
   "address": 45056,
   "type": "line",
   "text": "The low bytes of $800 times 2 to the power n/128 (the high bytes at $A380): CURVE_DISTANCE takes step n from here."
  },
  {
   "address": 45057,
   "type": "line",
   "text": "CURVE_DISTANCE's next step, for the straight line between two by the logarithm's low three bits."
  },
  {
   "address": 45184,
   "type": "line",
   "text": "For COSINE_OF, 128 bytes: the cosine of an angle whose sine is twice the index over 256, as a byte, $FF down to $20."
  },
  {
   "address": 45312,
   "type": "line",
   "text": "The pieces' kinds' tables, a pointer for each of the sixteen kinds (PIECE_LOAD by the low four bits of $0400). Kinds 0, 1, 3, 4, 6, 7 and 10 point at tables from $B250; the other nine hold bytes that do not point at tables."
  },
  {
   "address": 45313,
   "type": "line",
   "text": "PIECE_LOAD reads each pointer's high byte from $B101."
  },
  {
   "address": 45344,
   "type": "line",
   "text": "128 pointers to the shapes, which BUILD_TRACK gives each piece two of ($049C and $04EA) and PIECE_LOAD and DRAWBRIDGE read. Four of them ($20A7, $20A3, $A37D and $20AA) point outside the shapes."
  },
  {
   "address": 45345,
   "type": "line",
   "text": "The shape pointers' high bytes."
  },
  {
   "address": 45600,
   "type": "line",
   "text": "The eight tracks' descriptions, for BUILD_TRACK by track number: $BA62 to $BE82. Then sixteen bytes that are not pointers."
  },
  {
   "address": 45601,
   "type": "line",
   "text": "BUILD_TRACK reads each track pointer's high byte from $B221."
  },
  {
   "address": 45632,
   "type": "line",
   "text": "A byte for each of the sixteen kinds: bit 7 for kinds a race cannot start on (START_PLACE) and that PIECE_TABLE gives X, read by OPPONENT_LINE too."
  },
  {
   "address": 45648,
   "type": "line",
   "text": "Kind 0's table. Byte 0 says where its counts start and byte 1 is its flags ($B2: bit 7 a curve, bit 6 a diagonal); bytes 2 to 10 its geometry for PLACE_ON_PIECE (the line's offset, or a curve's centre, direction and radius); then the number of points and the bytes PIECE_LOAD keeps, and from seven bytes on the road's points, four to a segment (OPP_SEGMENT_POINTS)."
  },
  {
   "address": 45731,
   "type": "line",
   "text": "Kind 1's table, laid out as kind 0's."
  },
  {
   "address": 45822,
   "type": "line",
   "text": "Kind 3's table."
  },
  {
   "address": 45913,
   "type": "line",
   "text": "Kind 4's table."
  },
  {
   "address": 46040,
   "type": "line",
   "text": "Kind 6's table."
  },
  {
   "address": 46139,
   "type": "line",
   "text": "Kind 7's table."
  },
  {
   "address": 46238,
   "type": "line",
   "text": "Kind 10's table, the last, to $B50C."
  },
  {
   "address": 46349,
   "type": "line",
   "text": "The shapes, the first of 128, to $BA61: the points of a piece's road, which PIECE_LOAD takes through $98/$99 and $CA/$CB."
  },
  {
   "address": 47043,
   "type": "line",
   "text": "Shape 64 on."
  },
  {
   "address": 47714,
   "type": "line",
   "text": "Little Ramp, 44 pieces. A track's description for BUILD_TRACK: its piece count and three more bytes, where it starts, then each piece's kind and flags, square and shapes ($F repeats the last piece), and after the pieces the start line's piece, the length, six bytes for $C774 and the lists for $075E/$0769 and $0190."
  },
  {
   "address": 47838,
   "type": "line",
   "text": "Stepping Stones, 56 pieces."
  },
  {
   "address": 47983,
   "type": "line",
   "text": "Hump Back, 53 pieces."
  },
  {
   "address": 48128,
   "type": "line",
   "text": "Big Ramp, 44 pieces."
  },
  {
   "address": 48270,
   "type": "line",
   "text": "Ski Jump, 40 pieces."
  },
  {
   "address": 48415,
   "type": "line",
   "text": "Draw Bridge, 78 pieces."
  },
  {
   "address": 48628,
   "type": "line",
   "text": "High Jump, 52 pieces."
  },
  {
   "address": 48770,
   "type": "line",
   "text": "Roller Coaster, 78 pieces, the last track, to $BF41."
  },
  {
   "address": 48962,
   "type": "line",
   "text": "Zeros after the last track, to $BFA9."
  },
  {
   "address": 49066,
   "type": "line",
   "text": "For OPP_PICK, by track in the league: a random number ANDed with this byte ..."
  },
  {
   "address": 49074,
   "type": "line",
   "text": "... and added to this one is the opponent's top speed for the race ($2099)."
  },
  {
   "address": 49082,
   "type": "line",
   "text": "The same for the second limit ($209A): the mask ..."
  },
  {
   "address": 49090,
   "type": "line",
   "text": "... and the base."
  },
  {
   "address": 49098,
   "type": "line",
   "text": "The Super League's four tables, read at track plus $20 while $C71A is set: the top speed's mask,"
  },
  {
   "address": 49106,
   "type": "line",
   "text": "its base,"
  },
  {
   "address": 49114,
   "type": "line",
   "text": "the second limit's mask,"
  },
  {
   "address": 49122,
   "type": "line",
   "text": "and its base."
  },
  {
   "address": 49130,
   "type": "line",
   "text": "Two sets of the eleven bytes CLEAR_RACE copies to $C382-$C38C at the start of each race, from $BFEA plus $C71A: the league's from here, and the Super League's from $BFF5, since $C71A is then 11, the player's driver, which CHANGES puts there. Between the two: the car's drive $C384/$C385 ($00F0 and $0140), the opponent's engine $C386/$C387 ($00EC and $013A), $C388, the passes for a unit of boost less one ($10 and $0C), and $C38B, the damage line WHEELS_ON_ROAD tests (0 and 1). No instruction reads $C382, $C383, $C389, $C38A or $C38C by name."
  },
  {
   "address": 49142,
   "type": "line",
   "text": "The rest of the Super League's eleven bytes, from $BFF5 to $BFFF (race_start_bytes)."
  },
  {
   "address": 50047,
   "type": "line",
   "text": "Scratch for MUL_S8_U8's negated product."
  },
  {
   "address": 50048,
   "type": "line",
   "text": "Scratch for MUL_S16_MATRIX: the matrix entry's high byte, its sign."
  },
  {
   "address": 50049,
   "type": "line",
   "text": "The sign byte SHIFT16 shifts in from the top: $00 or $FF."
  },
  {
   "address": 51072,
   "type": "line",
   "text": "Where SIN_COS keeps X while it works."
  },
  {
   "address": 51074,
   "type": "line",
   "text": "Multiplies A by $15, both unsigned, by shift and add: the product's high byte comes back in A and its low byte in $14. The carry always comes back clear. Every multiply in the game goes through here."
  },
  {
   "address": 51145,
   "type": "line",
   "text": "Tests one key: X is its number in the keyboard matrix (row times 8 plus column). Asks the command dispatcher (command $81) to scan that key and gives back Z set when it is held. Y is kept."
  },
  {
   "address": 51159,
   "type": "line",
   "text": "The sine and cosine of the angle in A (high) and $14 (low), a whole turn being $10000. Rounds the angle to the table's 512 steps (adds $0020), then reads the quarter-wave table at $A700 twice, once forward and once mirrored, to give the two signed results in $56 and $57. $58 keeps the rounded angle's high byte and $59 two bits that tell the callers which quadrant it is in, so they can set the signs. X is kept."
  },
  {
   "address": 51230,
   "type": "line",
   "text": "Multiplies the signed byte in A by the magnitude in $15, whose sign is bit 7 of $5A: the signed 16-bit product comes back in A (high) and $14 (low)."
  },
  {
   "address": 51269,
   "type": "line",
   "text": "Clears the sign in $5A and runs on into MUL_S16_S8: the signed 16-bit number in A:$14 times the positive factor in $15, divided by 256."
  },
  {
   "address": 51271,
   "type": "line",
   "text": "Multiplies the signed 16-bit number in A (high) and $14 by the factor in $15, whose sign is bit 7 of $5A, and keeps the top two bytes of the product: A:$14 times $15 over 256, signed. $5A comes back holding the product's sign."
  },
  {
   "address": 51295,
   "type": "line",
   "text": "Multiplies the signed 16-bit number in A:$14 by entry X of the car's rotation matrix (the two bytes at $0774,X and $079C,X, of which it uses a quarter, eight bits, as the factor) and divides by 256. The result in A:$14 is signed. This is how the physics turns a vector from one frame of reference to the other, one term at a time."
  },
  {
   "address": 51348,
   "type": "line",
   "text": "The tail the signed multiplies share: $16 and $14 hold the magnitude, $15 the factor and A the sign byte; works out both partial products, adds them and applies the sign."
  },
  {
   "address": 51389,
   "type": "line",
   "text": "Negates the two-byte number in A (high) and $14 when the N flag is set on entry, so a caller can test a sign (a BIT or a load) and call this straight after. With N clear it returns at once."
  },
  {
   "address": 51391,
   "type": "line",
   "text": "Negates the two-byte number in A (high) and $14, two's complement. $15 is left holding the high byte it was given."
  },
  {
   "address": 51405,
   "type": "line",
   "text": "The sine of the angle in A (high) and $14 (low), a whole turn being $10000, as a signed number in A:$14: the quarter-wave table at $A700, read from its far end for an angle in the first or third quarter (bit 6 clear), with a straight line between two neighbouring steps by the angle's low bits and the extra precision at $AD00; bit 7 of the angle gives the sign. An angle less than $40 from 0 or from a half turn gives 0 at once."
  },
  {
   "address": 51514,
   "type": "line",
   "text": "Entry X of the rotation matrix ($0774,X and $079C,X) times 5/16, as a half plus an eighth, halved, and negated when $5A is negative. Comes back in A:$14."
  },
  {
   "address": 51574,
   "type": "line",
   "text": "Squares the signed 16-bit number in A (high) and Y (low) into the four bytes $16-$19, by three 8-bit multiplies."
  },
  {
   "address": 51647,
   "type": "line",
   "text": "Shifts the signed number in A (high) and $14 by Y bits: right for Y from 1 to $7F, the sign coming in from the top, and left for Y from $80 up (by 256 minus Y), the bits that leave the top collecting in $2D. Y = 0 leaves it alone. The sign it shifts in runs out after eight places, so a negative number shifted further right picks up zeros."
  },
  {
   "address": 51690,
   "type": "line",
   "text": "The car's rotation matrix from its three angles, once a step of the world: the sines and cosines (SIN_COS) of the heading ($0122/$0125), of the heading less the drift ($0189/$018A) and of the pitch ($0121/$0124); the products of pairs into entries $06, $08, $1A and $1C (MATRIX_PRODUCT) and $02, $03, $22 and $23 (MATRIX_PRODUCT_TC), and single terms into $04, $1E, $20, $0A, $0C and $0E (MATRIX_TERM), with $07AC set to 4 and $0784 to 0. Each entry from $06 to $10 and from $1A to $20 is then corrected through the tables at $0300/$0380 and $C310-$C334, indexed by its own size and sign, and made two's complement as its sign and $0126 say; seven more are sums and differences of others ($0786-$078C, high bytes $07AE-$07B4)."
  },
  {
   "address": 51927,
   "type": "line",
   "text": "Each entry corrected: the next one up ($0775/$079D) from $0300 and $C328/$C334, its own from $0380 and $C310/$C31C, halved."
  },
  {
   "address": 52060,
   "type": "line",
   "text": "The entries made from others."
  },
  {
   "address": 52184,
   "type": "line",
   "text": "Y times $15 (MUL8), times 4 and rounded, into matrix entry X: low byte at $0774 + X, high at $079C + X with bit 7 the sign the caller's N flag gave, sign and size."
  },
  {
   "address": 52225,
   "type": "line",
   "text": "A times 4 into entry X, with Y's bit 7 as the sign in bit 7 of the high byte."
  },
  {
   "address": 52247,
   "type": "line",
   "text": "MATRIX_PRODUCT, then MATRIX_TO_TC."
  },
  {
   "address": 52250,
   "type": "line",
   "text": "Entry X from sign and size to two's complement."
  },
  {
   "address": 52273,
   "type": "line",
   "text": "The car's velocity ($0109-$010B, high bytes $010F-$0111) turned into the car's frame for two of its axes, each the sum of three products with the matrix entries listed at $AFC0, $AFC3 and $AFC6 (MUL_S16_MATRIX): the speeds along the road at $0154/$0157 and $0156/$0159."
  },
  {
   "address": 52356,
   "type": "line",
   "text": "A fixed pull along one of the world's axes seen in the car's frame: matrix entries $0F, $04 and $0E times 5/16 (FIVE_SIXTEENTHS with $5A set, the last negated back) into $0140/$013D, $0141/$013E and $013F/$013C."
  },
  {
   "address": 52403,
   "type": "line",
   "text": "The forces in the car's frame ($015A-$015C, high bytes $015D-$015F) turned into the world's, each axis the sum of three products with the entries listed at $AFC9, $AFCC and $AFCF: the forces at $0115-$0117 and $011B-$011D."
  },
  {
   "address": 52485,
   "type": "line",
   "text": "The car's spin ($010C/$010D, high bytes $0112/$0113) turned into the speeds of its pitch and roll ($016A/$016D and $016B/$016E) by the entries listed at $AFD2 and $AFD4; the heading's speed ($016C/$016F) is the spin's third axis ($010E/$0114) plus the roll's speed times entry 4."
  },
  {
   "address": 52572,
   "type": "line",
   "text": "The menus' bands: with $3DF8 bit 0 set, multicolour from the top to line $72 and hi-res below; otherwise multicolour with a black background from line $CE, the background dark grey ($0B) from line $D5, and hi-res from line $28."
  },
  {
   "address": 52650,
   "type": "line",
   "text": "The raster interrupt. Anything else that interrupts (a CIA) is acknowledged and left. With $3DF8 clear it does nothing more; with it positive it splits the menus' screen into bands ($CD5C); otherwise the race's: above line $80 the view's top band, from it the bands below. Each band sets the line of the next and returns through $CF49."
  },
  {
   "address": 52677,
   "type": "line",
   "text": "The race's top band: the bitmap shown ($D018 $70 or $78) by $C35F, which takes $C370 unless a flip is waiting ($C37A)."
  },
  {
   "address": 52709,
   "type": "line",
   "text": "While a message is up ($C355), its two sprites at the top of the view (pointers $FE and $FF, colour $C399) until line $64."
  },
  {
   "address": 52763,
   "type": "line",
   "text": "Sprites 2 and 3 placed for the dashboard's clocks, and while the boost's flame shows ($72 bit 7) sprites 0 and 1 for it, the two frames of its table in turn ($C36D); the sprites $6E names on; the next band at line $C5."
  },
  {
   "address": 52897,
   "type": "line",
   "text": "The bands below: from line $C5 the bitmap at $78 shown and the flip seen ($C37B from $C37A), the next at line $D7."
  },
  {
   "address": 52917,
   "type": "line",
   "text": "From line $D7, the dashboard: sprites 0 to 3 at the bottom (places across at $140D-$1410), black and hi-res, $6F's sprites on."
  },
  {
   "address": 53007,
   "type": "line",
   "text": "The engine's note ($09/$0A) moved on by $10/$11 (0 if it goes below), into voice 1 and, an octave down, voice 3; the sound effects' frame (EFFECT_TICK); and the engine's count $5F moved on by $5D, the front wheels turning at each carry (WHEELS_TURN). The next band at line $3D."
  },
  {
   "address": 53065,
   "type": "line",
   "text": "The next band's line into $D012, its ninth bit cleared."
  },
  {
   "address": 53078,
   "type": "line",
   "text": "The boost's flame, sprites 0 and 1, for the two frames the interrupt alternates ($C36D): sprite 0's place across, low byte."
  },
  {
   "address": 53080,
   "type": "line",
   "text": "Sprite 1's place across, low byte."
  },
  {
   "address": 53082,
   "type": "line",
   "text": "Sprite 0's place down."
  },
  {
   "address": 53084,
   "type": "line",
   "text": "Sprite 1's place down."
  },
  {
   "address": 53086,
   "type": "line",
   "text": "Sprite 0's pointer for each frame, four on for the bitmap at $70 ($C35F bit 7)."
  },
  {
   "address": 53088,
   "type": "line",
   "text": "Sprite 1's pointer, the same."
  },
  {
   "address": 53094,
   "type": "line",
   "text": "The high bits of the sprites' places across ($D010) for each frame."
  },
  {
   "address": 53096,
   "type": "line",
   "text": "Sound effect A, from its seven bytes at $AF80 plus eight times A (START_EFFECT)."
  },
  {
   "address": 53107,
   "type": "line",
   "text": "Before a line across the road: each of the pair's two points (point $C6 and its neighbour) more than $50 from the middle of the screen across ($A200/$A298 less $80) has a quarter of the excess added to its height on the screen ($A24C/$A2E4)."
  },
  {
   "address": 53175,
   "type": "line",
   "text": "Adds the two-byte number in $19:$18 to A (high) and $14, leaving the sum in A:$14 and the carry. $15 is left holding the A it was given."
  },
  {
   "address": 53189,
   "type": "line",
   "text": "Moves $2E, the piece being drawn, on to the next round the track ($C764 pieces), into X too."
  },
  {
   "address": 53202,
   "type": "line",
   "text": "Moves $2E back to the piece before."
  },
  {
   "address": 53214,
   "type": "line",
   "text": "Waits for left ($C34C up, carry set), right ($C34C down, carry set) or fire (carry clear), reading the joystick ($F79E)."
  },
  {
   "address": 53247,
   "type": "line",
   "text": "WHEEL_SPRITES writes the wheels' sprites' heights at $CFFF + Y, the video chip's registers from $D000; the byte here, $6B, nothing reads."
  },
  {
   "address": 57344,
   "type": "line",
   "text": "The menus' strings for PRINT_STRING_E000, each ended by $FF, three of them starting with $1F and two bytes that move the print to a column and row: SELECT, Practise, Start the Racing Season, Load/Save/Replay, Load, Save, Replay, Cancel, LOAD from Tape, LOAD from Disc, SAVE to Tape, SAVE to Disc, Filename?, to the SUPER LEAGUE, SUPER DIVISION, EXCELLENT DRIVING - WELL DONE, Hall of Fame."
  },
  {
   "address": 57533,
   "type": "line",
   "text": "The row of the SUPER DIVISION heading, which DIVISION_AT writes."
  },
  {
   "address": 57593,
   "type": "line",
   "text": "Stops the three sound effects (command $15 for slots 2, 1 and 0)."
  },
  {
   "address": 57604,
   "type": "line",
   "text": "The engine's note, once a race pass. The aim is the speed along the road ($0156/$0159, its size) while $6A is set; otherwise 0, or $C8 while either of $66's low bits is set; plus 5. An eighth of the gap from the note $09/$0A to the aim is the step $10/$11 the interrupt adds, held to $0100 going up and to $FF00 going down ($FFE0 while $6A is clear, unless the step is already smaller). Then the pulse widths of voices 1 and 3 from RANDOM, and the filter's cut-off from the aim, between $6E and $E6."
  },
  {
   "address": 57749,
   "type": "line",
   "text": "Called as the track's drawing reaches the opponent's piece: draws the opponent there (DRAW_OPPONENT) unless $C36A bit 7 is set or the cars are less than 10 apart ($39/$3A). With $6B bit 7 set and $2F clear it is only marked in $C366, to be drawn later."
  },
  {
   "address": 57777,
   "type": "line",
   "text": "Draws the opponent's car: its corners at $C505-$C50A projected into points $3C-$3F (PROJECT_CORNER); $C3DA set when either pair's first point is above its second on the screen; then its frame from points $3C and $3E (CAR_FRAME) and, unless that is off the screen, its sides, end and roof as lines (CAR_SIDES, CAR_ROOF). When $C3DA is set, or $C9 is clear, or the car's place $37/$38 is behind any of $07CC-$07CE (which also sets $6D), the car goes into the fill's tables first (FC31, $C303) and its columns are marked (CMD_MARK_COLUMNS). The line drawer's colour from $C3AB is put back after."
  },
  {
   "address": 57949,
   "type": "line",
   "text": "For each of $E8-$EB: a half, a quarter and an eighth of its size, with its sign, into $EC, $F0 and $F4 onwards."
  },
  {
   "address": 58004,
   "type": "line",
   "text": "The car's two sides and its end, in the order that keeps the nearer side last ($EA's sign): CAR_SIDE_B, CAR_END, CAR_SIDE_A or the reverse."
  },
  {
   "address": 58026,
   "type": "line",
   "text": "The car's end, four corners at points $44-$47 from the frame's centre and its halves, quarters and eighths ($E9-$F6), placed on the screen (PLACE_POINTS), copied to $40-$43 and drawn (CAR_PANEL)."
  },
  {
   "address": 58138,
   "type": "line",
   "text": "Four points from X: each offset at $A240 and $A28C (doubled when $FC says the frame was halved) added to the frame's centre $F8/$F9 and $FA/$FB, and held to the screen's 0 to 255."
  },
  {
   "address": 58226,
   "type": "line",
   "text": "The car's side drawn when the frame's centre is right of the view's left edge ($F8 $40 or more): its corners from the negative of $E8 and $EA (CAR_PANEL_AT)."
  },
  {
   "address": 58248,
   "type": "line",
   "text": "The car's other side, when the frame's centre is left of the view's right edge ($F8 below $C0): its corners from $E8 less $EC and $EA less $EE."
  },
  {
   "address": 58266,
   "type": "line",
   "text": "A side panel's four corners at points $40-$43, from the corner in $D9/$DA (X) and A (Y), the frame's halves $EC/$EE and the offsets $E9/$EB, placed on the screen (PLACE_POINTS) and drawn (CAR_PANEL)."
  },
  {
   "address": 58328,
   "type": "line",
   "text": "Draws the panel at points $40-$43: edges 40-43 and 41-42 as the fill's edges (FEAB), and lines 43-42 and 40-41 in the order $EA's sign gives."
  },
  {
   "address": 58377,
   "type": "line",
   "text": "The frame of the car from points X and X+2 on the screen: its centre into $F8/$F9 (across) and $FA/$FB (down), half the gap between them each way into $51/$77 and $52/$78, its size into $E8-$EB (the across and down halves, held to $5A, and halved again with $FC set to $FF when either is $40 or more), then CAR_FRACTIONS. Carry set when the centre is off the screen (a high byte not 0)."
  },
  {
   "address": 58586,
   "type": "line",
   "text": "The opponent's car on the track, each pass: its piece and segment (OPP_SEGMENT from 64 back), the pieces' heights there ($9C14 into $48-$4B, $DD/$DE), the segment's four points into $C500-$C503 (OPP_SEGMENT_POINTS) and the car's place along it ($9C, E628), its width from the cars' gap ($A620 by the distance), the left and right of its line $B0 by that width (FF94, E631), and the car's front and back corners at $C505-$C50A (OPP_BODY). Leaves the piece the car's back is on (OPP_SEGMENT from $FF, or 0 when wrecked)."
  },
  {
   "address": 58785,
   "type": "line",
   "text": "The piece and segment A behind the opponent's place ($23/$C4): the piece into $2E and $A6, from $C375 or the one before it (PIECE_BEHIND, F02F) when the place is in the piece behind; the segment into $A3 ($BE less 1 there) and $18."
  },
  {
   "address": 58823,
   "type": "line",
   "text": "The heights of the next piece's points X and X+1 ($9C14) into $DD and $DE, with $DF from the first's high bits."
  },
  {
   "address": 58844,
   "type": "line",
   "text": "Point Y set to point X moved towards point X+2 by $17 parts in 128 of the gap (at $C500/$C510, or $C520/$C530 when called with $20 added); with $C30B bit 7 set, from point X+2 towards X+4."
  },
  {
   "address": 58902,
   "type": "line",
   "text": "Point Y is point X plus $14/$15."
  },
  {
   "address": 58920,
   "type": "line",
   "text": "The opponent's place along its segment ($9C) plus the wheel's offset at $C30D (X), as a fraction into point Y (OPP_ALONG_AT); $C30B bit 7 says it ran into the next segment."
  },
  {
   "address": 58929,
   "type": "line",
   "text": "Point Y set A parts in 128 of the way from point X to X+2, across and along (POINT_ALONG twice)."
  },
  {
   "address": 58945,
   "type": "line",
   "text": "Point Y of $C500-$C530 projected into the view as point X (PROJECT_X, PROJECT_Y, ROLL_POINT)."
  },
  {
   "address": 58974,
   "type": "line",
   "text": "The opponent's front and back corners: the direction from point $C505 to $C507 (across, then along) times 1.5 into $56/$43 and $57/$44, and corners $C508 and $C50A set out from $C505 and $C507 by it at right angles. The place along ($9C) moved on by half a segment ($4D), into the next segment's heights when it runs over ($48-$4B from $4A, $4B, $DD, $DE), and FF94 with X = 2 on the line $B0."
  },
  {
   "address": 59109,
   "type": "line",
   "text": "Three bytes OPP_BODY loads into Y and never reads."
  },
  {
   "address": 59112,
   "type": "line",
   "text": "The car's roof: four corners at points $48-$4B from the frame's halves ($EC-$EF), placed (PLACE_POINTS); then the pillars from the end's corners ($44-$47) to the roof's, the roof's edges and the two sides, in the order that hides the far ones: by where the end sits against the roof across ($A245/$A246 against $A249/$A24A), down ($A291/$A292 against $A295/$A296), and whether the car is seen from below ($C3DA), which also draws into the fill's tables first (FCB3)."
  },
  {
   "address": 59330,
   "type": "line",
   "text": "Lines 44-48 and 45-49."
  },
  {
   "address": 59344,
   "type": "line",
   "text": "Lines 47-4B and 46-4A."
  },
  {
   "address": 59358,
   "type": "line",
   "text": "Line 49-4A."
  },
  {
   "address": 59365,
   "type": "line",
   "text": "Line 44-48."
  },
  {
   "address": 59372,
   "type": "line",
   "text": "Line 47-4B."
  },
  {
   "address": 59379,
   "type": "line",
   "text": "Line 48-4B."
  },
  {
   "address": 59386,
   "type": "line",
   "text": "Line 45-49."
  },
  {
   "address": 59393,
   "type": "line",
   "text": "Line 46-4A."
  },
  {
   "address": 59400,
   "type": "line",
   "text": "The four points of segment A of the piece at ($9A) into $C500-$C503 (PIECE_POINT, from the piece's point table seven bytes in), counted from the far end when the piece is driven backwards ($A4)."
  },
  {
   "address": 59459,
   "type": "line",
   "text": "Point Y of the piece (PIECE_POINT) into slot X of $C500-$C530."
  },
  {
   "address": 59483,
   "type": "line",
   "text": "A new league: the race's state cleared (CLEAR_RACE), the league's 128 bytes at $C700 cleared while RANDOM is drawn 128 times, the order 0-11 into $C70C, the season reset (RESET_SEASON), and $C719 set to 10."
  },
  {
   "address": 59519,
   "type": "line",
   "text": "The races the player does not drive: each driver's rating for this race, its base at $E8B6 plus 0-63 at random, into $C71C; then in each division (only the players' one with several players) the race's two drivers (RACE_PAIR), its result (RACE_RESULT) and the division's table sorted (SORT_DIVISION)."
  },
  {
   "address": 59574,
   "type": "line",
   "text": "Each driver's base rating, by place in the league's order: 120 for the first, down by ten to 10 for the twelfth."
  },
  {
   "address": 59586,
   "type": "line",
   "text": "The places of division $C360 in the league's order, from $50 up to $8A: three places from $E8E1 (9, 6, 3 or 0 for $C360 0 to 3, divisions 4 to 1), or with several players all from 11 less their number up to 12."
  },
  {
   "address": 59617,
   "type": "line",
   "text": "The first place of each division in the league's order: 9, 6, 3, 0."
  },
  {
   "address": 59621,
   "type": "line",
   "text": "The two drivers of race $C77F of the division into $C771 and $C772, and the player's driver into $31A4: with one player, two of the division's three from the pairs at $E920/$E926, the player always 11; with several, driver 11 less $C77F against the player whose turn it is ($31A2)."
  },
  {
   "address": 59680,
   "type": "line",
   "text": "Each of the six races' first driver, a place in the division: 0, 0, 0, 0, 1, 1."
  },
  {
   "address": 59686,
   "type": "line",
   "text": "Each race's second driver: 1, 1, 2, 2, 2, 2. Each pair meets twice."
  },
  {
   "address": 59692,
   "type": "line",
   "text": "A race worked out: both drivers' races counted at $C740. $51 bit 7 says the first driver ($C771) won, bit 6 that it set the best lap. A race with the player's driver takes both from the player's own race ($C362, flipped when the player is the first). Otherwise the higher rating ($C71C) wins, a tie at random; bit 6 starts set 96 times in 256 and flips with the winner, so the winner takes the best lap 160 times in 256. The win counts at $C728, the best lap at $C734, and in the player's division both are kept at $C76F and $C770."
  },
  {
   "address": 59811,
   "type": "line",
   "text": "The division's points into $C74C, two for each win and one for each best lap, and its table at $C758 sorted by them, a bubble sort: wins break a tie, then with several players the lower driver number, otherwise a coin (RANDOM)."
  },
  {
   "address": 59922,
   "type": "line",
   "text": "The next byte of the track's description, at ($1E) plus Y."
  },
  {
   "address": 59932,
   "type": "line",
   "text": "A track piece's square ($30) one step on by $15's top bits: $10 added with neither set, 1 added with bit 6, $10 taken with bit 7, 1 taken with both."
  },
  {
   "address": 59956,
   "type": "line",
   "text": "Track X built from its description (from the pointers at $B220): its piece count and three more bytes into $C764-$C767, where it starts ($51/$77, $52/$78); then for each piece its kind and flags ($0400), its square on the map ($044E), its two shapes ($049C and $04EA, fixed ones from $EBDB/$EBDD for kinds $C-$F), the distance round the track to it ($0670/$06BE, in 32nds), its ends across and along ($0538/$0586, $05D4/$0622) from the shapes' offsets. A kind of $F repeats the last piece the number of times in its top four bits, a square on in the piece's direction each time. Then the piece after the start line ($C77C), the track's length ($C768/$C769), six bytes at $C774, the pairs at $075E/$0769 ($C778 of them) and the bytes at $0190 ($C779), the opponent picked (OPP_PICK) and its table built (command $44)."
  },
  {
   "address": 60379,
   "type": "line",
   "text": "The two shapes of the fixed pieces, kinds $C-$F, are read from $EBE7 and $EBE9 on: $EBE7-$EBEA holds 3, 4, 4, 3; kind $E's second shape would be the first byte of SHAPE_OFFSET_B's code, and kind $F never gets here."
  },
  {
   "address": 60381,
   "type": "line",
   "text": "BUILD_TRACK reads the fixed pieces' second shapes from $EBDD plus the kind, so from $EBE9 for kinds $C-$F. The code here ends BUILD_TRACK: the opponent picked (OPP_PICK) and its table built (command $44, X from $209A)."
  },
  {
   "address": 60391,
   "type": "line",
   "text": "The first shape of kinds $C and $D, and the second of $C and $D (3, 4, 4, 3, from $EBDB and $EBDD plus the kind)."
  },
  {
   "address": 60395,
   "type": "line",
   "text": "SHAPE_OFFSET from the piece's second shape (its pointer $CA copied into $98)."
  },
  {
   "address": 60403,
   "type": "line",
   "text": "The offset of the shape at ($98) at point Y, in A with its fraction in $14 (eighths): two bytes a point when $A2 bit 7 is set, otherwise one byte holding both."
  },
  {
   "address": 60433,
   "type": "line",
   "text": "The start of a race, while the count $2F runs down. From $E6 up: the chains' top $C3DF set ($2C, or $D4 with $C36F bit 7) and $34 cleared. At $E5: the chains swung in (CRANE_SWING with 0) and the car lowered (CRANE_LOWER 3). At $E4: lowered (4) and the chains swung out ($FF); once they are there, the count set to $A0-$BF at random ($8C in practice) and message 4 shown (from $2C, or $3C with $C37C bit 7). Below $E4: swung in, lowered (2) and the count taken on, not past 1; the car is let go ($2F, $6B and $C355 cleared, $C37C set to $80) once the count is below $80, or with $C37C set once $C398 is clear."
  },
  {
   "address": 60570,
   "type": "line",
   "text": "The car's height ($0171/$0174) brought down by an eighth of its height over the road ($46/$64 less $C35D/$C35E, less A), by at most $0200 a pass. Returns A plus 2."
  },
  {
   "address": 60635,
   "type": "line",
   "text": "The chains' top ($C3DF, with $34 below it) moved by A (the other way with $C36F bit 7) until it is at $10 (or $F0); the car's point at $0123/$0126 set under it, less the car's place across ($B5/$B6 over 32); $014E/$014F cleared. Z set when the chains are there."
  },
  {
   "address": 60729,
   "type": "line",
   "text": "The car's position moved on the ground: matrix entries $02 and $03 ($0776/$079E, negated, and $0777/$079F), each times $A0/256 with $C36F's sign (MUL_S16_S8) and then times 8 (SHIFT16 with Y $FD), so five times the entry, added to axes 2 and 0 of the position ($0100/$0103/$0106 plus X, three bytes an axis)."
  },
  {
   "address": 60799,
   "type": "line",
   "text": "A driver's name typed in the panel, for the player being added ($31A1): the panel cleared and framed, \"NAME?\", the prompt > at column $0E of row $10, and the name into driver 11 - $31A1's place at $AE00 (NAME_ENTRY_AT, with the line under it from X $64, Y $BD)."
  },
  {
   "address": 60843,
   "type": "line",
   "text": "Up to twelve characters typed into $AE01 + A, the start of a sixteen-byte name, under a line drawn where they go (HLINE at X, Y, $0B long). Return ends it, the rest of the twelve filled with spaces. Letters, figures and . / : take their place (with A's bits 7 and 6 both set, as for a file's name, a small letter as its capital), a space only after the first character, and DEL rubs one out; nothing else counts. The C= key (code 1) cancels a file's name (A $C0), setting $EE35 bit 7, which is otherwise cleared."
  },
  {
   "address": 60855,
   "type": "line",
   "text": "A pause, then a key (WAIT_KEY), its character in A."
  },
  {
   "address": 60937,
   "type": "line",
   "text": "A character taken: a small letter as its capital for a file's name, and none past the twelfth."
  },
  {
   "address": 60963,
   "type": "line",
   "text": "Return: the rest of the name filled with spaces."
  },
  {
   "address": 60981,
   "type": "line",
   "text": "Bit 7 set when a file's name was cancelled with the C= key."
  },
  {
   "address": 60982,
   "type": "line",
   "text": "A numbered list in the panel, items 0 to Y, each item's string $F001 + X + its number of the table at $E000, A the item lit at the start. The list is drawn again at each change; the item lit is in colour 7, and in colour $0A once fire picks it. The controls let go first; then fire takes the item lit, a number key ($F80C) the item of its number, and forward or back move the light up or down. After the divisions' list (string $18) each item's number; after a division's tracks (string $1C) each track's name. The item chosen comes back in A."
  },
  {
   "address": 60999,
   "type": "line",
   "text": "The list drawn, from the top ($19)."
  },
  {
   "address": 61011,
   "type": "line",
   "text": "The item lit: colour 7, or $0A once chosen ($0F)."
  },
  {
   "address": 61058,
   "type": "line",
   "text": "After the divisions' strings, the item's number; after the tracks', the track's name ($3728 by $31A7)."
  },
  {
   "address": 61106,
   "type": "line",
   "text": "Chosen: the text back on the rows, a pause, and the item in A."
  },
  {
   "address": 61121,
   "type": "line",
   "text": "The controls let go, a pause, then a change looked for."
  },
  {
   "address": 61131,
   "type": "line",
   "text": "Fire chooses ($0F). Otherwise the number keys, from the list's last down."
  },
  {
   "address": 61159,
   "type": "line",
   "text": "Forward lights the item above, back the one below."
  },
  {
   "address": 61190,
   "type": "line",
   "text": "The Hall of Fame (0) or Practise (1)."
  },
  {
   "address": 61199,
   "type": "line",
   "text": "Practise: a division and a track, then a return with the track picked ($C76C, $31A8 set)."
  },
  {
   "address": 61228,
   "type": "line",
   "text": "The Racing Season: the save code made ($F6D7) and $C76C bit 7 set."
  },
  {
   "address": 61242,
   "type": "line",
   "text": "The main menu, and after a practice race straight back to the choice of track ($31A8). Its items: 0 the Hall of Fame (HALL_OF_FAME); 1 Practise (a division and a track, PRACTICE_TRACK, and a return with the track picked); 2 the Racing Season (lit once one has begun, $C76C bit 7: the save code made and $C76C set); 3 a second list of Load, Save, Replay and Cancel."
  },
  {
   "address": 61269,
   "type": "line",
   "text": "Load, Save, Replay or Cancel."
  },
  {
   "address": 61287,
   "type": "line",
   "text": "Replay: the season's points cleared; with F1 held (key $20) the game starts again at START, the players chosen afresh. Otherwise, for one player, the season again from the random numbers its save code kept (SAVE_CODE); when that code does not read back, or with several players, a new league."
  },
  {
   "address": 61324,
   "type": "line",
   "text": "Load (0) or Save (1), into $C77B: the league's 256 bytes at $8000 kept at $7B00 and $C77E at $F000, tape or disc asked for (into $0840), the save code made, and SAVE_OR_LOAD. A name cancelled goes straight back to the menu."
  },
  {
   "address": 61381,
   "type": "line",
   "text": "The league kept is put back after a save, after a failure, and after a load whose save code does not read back ($C39A $81, incorrect data), but not for the Hall of Fame, a directory or a game for several ($C367)."
  },
  {
   "address": 61425,
   "type": "line",
   "text": "The result (FILE_RESULT), then the league's screen again."
  },
  {
   "address": 61440,
   "type": "line",
   "text": "$C77E kept here while a file is saved or loaded."
  },
  {
   "address": 61441,
   "type": "line",
   "text": "Each menu item's string in the table at $E000 (or $31AA while players are chosen), by MENU_CHOICE's X plus the item: the main menu from 0, Load/Save/Replay/Cancel from 4, the loads' Tape/Disc/Cancel from 8 and the saves' from $0C, the players' choices from $10 and $14, the divisions from $18 and a division's tracks from $1C."
  },
  {
   "address": 61473,
   "type": "line",
   "text": "Y times 24, plus 8 (with the carry from the doubling), in A and Y: where part Y's two cells start in the damage bar along the dashboard's top, for BAR_HOLE and BAR_HOLE_LIT."
  },
  {
   "address": 61487,
   "type": "line",
   "text": "Piece X's shapes and place: its first shape's points ($049C into $A2, their table $98/$99 from $B120) and its second's ($04EA, the table $CA/$CB, its top bit doubled into $D8); its ends ($0538/$0586 into $3F/$35, $05D4/$0622 into $40/$36); its direction ($1D, the top two bits of $0400), whether it is driven backwards ($A4, bit 4 moved to bit 7) and its kind ($C3CD, the low four bits). From the kind's table ($9A/$9B, from $B100): the flags $B2, the number of points $9E (with $62 two less and $BE half less one), $9D (bit 0 of the next byte, as bit 7), $BC, $BD and $C8."
  },
  {
   "address": 61637,
   "type": "line",
   "text": "Piece X's square on the map ($044E: across in the low four bits, along in the high) less the view's ($5C, $5E), turned to the view's quarter ($68's top two bits), times 8 plus $CF and $D1, into $93 and $95."
  },
  {
   "address": 61719,
   "type": "line",
   "text": "The square next to square X on the map, across or along by which of A and Y is the larger and whether their sum carries, and the piece on it (PIECE_FROM_HERE); A comes back $FF at the map's edge."
  },
  {
   "address": 61789,
   "type": "line",
   "text": "The car's place in squares and within its square: axes 0 and 2 of its position, $0100/$0103/$0106 (a low byte of 0 made 1 first), doubled into $AF/$B1 and $5C/$5E, and the place within the square into $45/$63/$24 and $47/$65/$26, copied or taken from a whole square (VIEW_COPY, VIEW_NEGATE) and swapped as A's top two bits, the view's quarter, say."
  },
  {
   "address": 61862,
   "type": "line",
   "text": "Axis X of the car's position, three bytes ($0100, $0103, $0106 plus X), taken from 8 squares into $45, $63 and $24 plus Y."
  },
  {
   "address": 61897,
   "type": "line",
   "text": "Axis X of the car's position, three bytes ($0100, $0103, $0106 plus X), into $45, $63 and $24 plus Y."
  },
  {
   "address": 61916,
   "type": "line",
   "text": "The view put where the car is. Its quarter ($68) from the car's heading ($0125, rounded by $20), its square and its place in it (VIEW_SQUARE), and its height over 8 ($0101/$0104/$0107 into $46/$64). The eye's height $37/$38: the height plus $0160/$0161 (doubled when $0161 is 5 or more, then with $80 and 7, or 2, added) less the car's tilt when it leans one way ($0121/$0124 halved), over 16. The place across and along within the square over 16 and negated ($CF/$92, $D1/$94), and the heading less $20 times 4 at $32, its negative at $A7/$A8 ($3E is set to $FF)."
  },
  {
   "address": 62135,
   "type": "line",
   "text": "The car's place across the road: $B7/$B8 less $C0 (the other way on a piece driven backwards, $A4) into $B5/$B6. Once that is a whole unit or more either way the car is off the road: $6B set to $80, $C36F to its side, $C368 to 15 and the dust cleared (DUST_CLEAR), unless $6B bit 7 was set already. On the road $6B and $C373 are cleared, unless $6B bit 6 is set."
  },
  {
   "address": 62198,
   "type": "line",
   "text": "The track from above: for each of the 17 rows of squares from the eye ($00-$10), the squares from 0 to the left as far as -8, then from 1 to the right as far as 8 (MAP_SQUARE; $C361 says which side)."
  },
  {
   "address": 62254,
   "type": "line",
   "text": "The square X across and Y along from the eye, turned to the view's quarter ($68) into $0B/$0C, and the piece on it ($FF6A) drawn whole (DRAW_PIECE, POINTS_TO_LINES) when there is one. X and Y come back as they were."
  },
  {
   "address": 62342,
   "type": "line",
   "text": "The track seen from above before a race, from the side $C34C chooses: the eye's place and heading from $F3FC, $F400 and $F404, its height $03F0 ($0104/$0107), the horizon $12 at $18 more than $A1F2 and $33 at $B8; the view started (NEW_VIEW), the columns' limits at $C640 set to $C0, three bands of the bitmap ($52E0, $5420 and $5560, 256 bytes each) filled with $FF, and the screen on (SCREEN_ON). Every square is then drawn (MAP_SQUARES) with $262B set to $0B and PROJECT_X's first three bytes rewritten to the JMP at $F408, both put back after."
  },
  {
   "address": 62460,
   "type": "line",
   "text": "The eye's place across ($0106) for each of TRACK_PREVIEW's four sides."
  },
  {
   "address": 62464,
   "type": "line",
   "text": "The eye's place along ($0108) for each side."
  },
  {
   "address": 62468,
   "type": "line",
   "text": "The eye's heading ($0125) for each side: a quarter turn apart."
  },
  {
   "address": 62472,
   "type": "line",
   "text": "The JMP to PROJECT_X_PAIR that TRACK_PREVIEW writes over PROJECT_X's first three bytes."
  },
  {
   "address": 62475,
   "type": "line",
   "text": "What PROJECT_X runs while TRACK_PREVIEW has rewritten its first bytes to a JMP here: the depth ($77:$51) halved, then the distance across ($78:$52) halved and moved $30 on and projected twice (PROJECT_X_HALF), the first result's logarithm ($70/$71) kept in $AB/$AC."
  },
  {
   "address": 62509,
   "type": "line",
   "text": "The distance across ($78:$52) halved, $30 added to its high byte, and projected (PROJECT_X_AT)."
  },
  {
   "address": 62528,
   "type": "line",
   "text": "A piece's points in the other order, for one driven backwards: $A330 and $8040 swapped end for end, and at every other point the $8080 entry swapped with the one before its mirror."
  },
  {
   "address": 62597,
   "type": "line",
   "text": "The piece before the one tried (PIECE_BEHIND), tried instead."
  },
  {
   "address": 62600,
   "type": "line",
   "text": "Where the race starts: piece X, or the nearest before it that a car may start on (not a kind with bit 7 at $B240, nor one of the $C779 pieces listed at $0190), into $2E and $C374. The car's state ($0100-$018F) cleared and $2F set to $F0; the piece loaded (PIECE_LOAD); the car put in the middle of the piece's square at height 4, heading the piece's way ($1D EOR $A4, plus $20 for kinds 4 and $0A). The view, the piece, the place across and a step of the physics follow (CAMERA, $9A38, SIDEWAYS, STEP). Then the car's height: $1000 over the road ($0104/$0107), or $C345/$C3D0 doubled plus $18 while the crane holds it ($C37C, with $2F set to $E6); the height over the road at $C35D/$C35E, two of the car's points moved by its turn (TURN_POINTS), the springs at $10 and their speeds cleared ($C343, $C3CE, $C340, $0145), the view again, $C36B $AF and $C36C 8."
  },
  {
   "address": 62622,
   "type": "line",
   "text": "Each piece listed at $0190 checked against X."
  },
  {
   "address": 62853,
   "type": "line",
   "text": "The distance between the cars round the track: the opponent's piece's distance from the start less the player's ($0670/$06BE, with $C375 and $C374), plus their places along their pieces ($23/$C4 less $22/$C3, over 8). $39/$3A get the shorter of that and the track's length ($C768/$C769) less it; $3B keeps the sign, and $C36A the high byte with bit 7 flipped when the shorter way is the other way round."
  },
  {
   "address": 62953,
   "type": "line",
   "text": "A is 0 when both cars are on the same lap ($C378, $C379) and on the same piece counted from the start line ($C374/$C375 less $C77C, round $C764). Otherwise A is the laps' difference, the pieces', or, when those match, the gap's sign $3B; the lamp for who leads reads N."
  },
  {
   "address": 62991,
   "type": "line",
   "text": "The boost, while fire is held with the stick pushed forward or back ($66's low two bits, or $C39B bit 7), the car is on the road ($C398 and $0E clear) and there is some left ($C76A, in decimal): every $C388 + 1 passes ($C36E) one is used and the two digits drawn ($44, $45); the flame shown ($72 $80, $6E's low two bits set) and the engine's push doubled ($0150/$0151). Otherwise the flame is off."
  },
  {
   "address": 63080,
   "type": "line",
   "text": "A holed part's two cells at Y: the pattern at $80D8, then the one at $80E0 over what was there ANDed with $3F."
  },
  {
   "address": 63091,
   "type": "line",
   "text": "A holed part's two cells as they are drawn for the 64 passes after the bump that made the hole: the patterns at $80F8 and $8100."
  },
  {
   "address": 63100,
   "type": "line",
   "text": "The cell before a part's two: the pattern at $80E8."
  },
  {
   "address": 63102,
   "type": "line",
   "text": "Eight bytes of the bar's patterns from $80C8 + X into the bitmap at $6028 + Y (row 0 of the bitmap at $6000, from column 5), over what is there ANDed with $16; X comes back as Y's cell."
  },
  {
   "address": 63110,
   "type": "line",
   "text": "A whole part's two cells: the sixteen bytes at $80C8."
  },
  {
   "address": 63142,
   "type": "line",
   "text": "The damage bar drawn afresh: its thirty cells' colour 10 ($D805-$D822), then $C719 whole parts (a gap and two cells, 24 bytes each) and holed ones after them, ten parts in all."
  },
  {
   "address": 63191,
   "type": "line",
   "text": "The league's save, made (A bit 7 clear) or read back (set) as a code. Made: the random numbers $02-$06 kept at $801B, and the twelve bytes at $AEB1 (among the drivers' names at $AE00) put at $C700, EOR $3B. Each of the 27 bytes $C700-$C71A is then looked for among the draws of RANDOM from there, and the number of draws it took, two bytes, is what is kept ($8000 high, $8025 low); the random numbers at the end are kept at $8020. Read: the random numbers put back from $801B and the same draws made again, each byte the draw at its count, into $4000; the numbers at the end must match those at $8020, and then the bytes go back to $C700 (with several players, $31A1, only the last three) and to $AEB1. A byte that needs 32,768 draws starts it all again with $03 set to $3B when making the code, and fails a read (carry set). A read with $C77E bit 7 clear does nothing; after either, $C77E is $80."
  },
  {
   "address": 63390,
   "type": "line",
   "text": "The controls into $66 (bit 0 forward, 1 back, 2 left, 3 right, 4 fire). The five keys at $F807 first, their bits moved to the stick's; with none pressed, the joystick in port 2 ($DC00), and with that idle, outside a race ($3DF8 bit 7 clear), key 8 as fire. RANDOM is drawn on every read, and $F810 counted on when no key is down."
  },
  {
   "address": 63495,
   "type": "line",
   "text": "The five keys READ_CONTROLS reads, in the order of $66's bits 4 to 0; the keys menu changes them ($97EB-$986F)."
  },
  {
   "address": 63500,
   "type": "line",
   "text": "The keys 1 to 4, which pick the line of their number in a menu (MENU_CHOICE, $EED7)."
  },
  {
   "address": 63504,
   "type": "line",
   "text": "Counted on by READ_CONTROLS when no key is down; the code at $96D4-$9721 uses it as a count too."
  },
  {
   "address": 63505,
   "type": "line",
   "text": "Car X has crossed the start line into a lap after its first ($0FDC). While its place along the piece is below $100 ($C3 + X clear), the rest of that first $100 ($22 + X turned over), times 14 over 256 and made decimal, is added to its clock (ADD_TO_CLOCK)."
  },
  {
   "address": 63531,
   "type": "line",
   "text": "A line steeper than 45 degrees going up to the left, from its lower end (X across, Y down) to the row in A, one pixel a row: the error $0F starts at minus half the rows' distance $52 and gains the columns' $51 each row, a column further left each time it carries. Rows below the view ($C0 on) and columns right of it ($C0 on) are stepped past without drawing, and the end is clipped to the view's top ($40, into $89). Each pixel is the test at $F8C9 (which the game rewrites); the bitmap's byte ($1E/$1F, from the row tables $A500/$A600 and the bitmap's page $12) moves eight bytes left every fourth column, and $138 back every eighth row ($07 the last row before that). A line that goes off the top covers the columns under it (COVER_LEFT)."
  },
  {
   "address": 63555,
   "type": "line",
   "text": "Past the rows below the view."
  },
  {
   "address": 63572,
   "type": "line",
   "text": "Off the left: nothing drawn. Past the columns right of the view."
  },
  {
   "address": 63604,
   "type": "line",
   "text": "LINE_UP_LEFT's first pixel's byte in the bitmap."
  },
  {
   "address": 63639,
   "type": "line",
   "text": "The next row up: a column left when the error carries, the byte eight back on crossing a byte."
  },
  {
   "address": 63673,
   "type": "line",
   "text": "A second test for a pixel, reached when LINE_LIMIT_HIDE has rewritten the branch at $F8D5: drawn only when its row is below $C580 + X and above the column's top ($C600 + X). In the track's test the top has just been set to the row, so there it never draws."
  },
  {
   "address": 63689,
   "type": "line",
   "text": "The pixel's test, as LINE_MODE_TRACK or LINE_MODE_CAR writes it from the table at $FC67. The track's: hidden at or below the column's top ($C600 + X), which it then becomes; drawn at or below the limit $0240 + X ($C540 + X once LINE_LIMIT has rewritten the page), else only above $C500 + X. The car's: the column's lowest row kept at $0240 + X; hidden at or below its top ($C600 + X, or $C500 + X after LINE_LIMIT); else drawn, its row kept at $C500 + X."
  },
  {
   "address": 63691,
   "type": "line",
   "text": "Loop 1's test for a pixel, 17 bytes to $F8DB, written by LINE_MODE_TRACK and LINE_MODE_CAR from their copies at $FC68 and $FC81; LINE_LIMIT rewrites the page of its second CMP, at $F8D4."
  },
  {
   "address": 63708,
   "type": "line",
   "text": "The pixel drawn: the bitmap's byte ANDed with the column's mask ($A400 + X, its low byte set by LINE_COLOUR); the AND is a BIT, drawing nothing, while LINE_OPCODE has it so."
  },
  {
   "address": 63710,
   "type": "line",
   "text": "The opcode LINE_OPCODE rewrites: AND ($3D) to draw, BIT ($2C) to cover the columns without drawing. Loop 1 of the four."
  },
  {
   "address": 63711,
   "type": "line",
   "text": "The low byte of the AND's mask table, rewritten by LINE_COLOUR: $00 for the masks at $A400, $80 for $A480."
  },
  {
   "address": 63715,
   "type": "line",
   "text": "The next row; on leaving the character row, the byte $138 back and $07 eight rows on, unless the end comes first."
  },
  {
   "address": 63751,
   "type": "line",
   "text": "At the end: a line that reached the view's top covers the columns from here to its other end (COVER_LEFT)."
  },
  {
   "address": 63763,
   "type": "line",
   "text": "The columns from X down to A (no further left than $40, no further right than $BF) covered to the top: their tops set to $40, on the page $F92B says ($C6, or $C5 for the car)."
  },
  {
   "address": 63781,
   "type": "line",
   "text": "The columns from X down to $89 covered the same way."
  },
  {
   "address": 63787,
   "type": "line",
   "text": "The page COVER_LEFT_FROM marks the columns on: $C6 for the track, $C5 for the car, written by LINE_MODE_TRACK and LINE_MODE_CAR."
  },
  {
   "address": 63794,
   "type": "line",
   "text": "A line steeper than 45 degrees going up to the right, as LINE_UP_LEFT but a column further right each time the error carries, and columns left of the view ($40) stepped past. The test is at $F9D0; a line that goes off the top covers the columns to its other end (COVER_RIGHT_FROM)."
  },
  {
   "address": 63818,
   "type": "line",
   "text": "LINE_UP_RIGHT past the rows below the view."
  },
  {
   "address": 63835,
   "type": "line",
   "text": "Off the right: nothing drawn. Past the columns left of the view."
  },
  {
   "address": 63867,
   "type": "line",
   "text": "LINE_UP_RIGHT's first pixel's byte in the bitmap."
  },
  {
   "address": 63902,
   "type": "line",
   "text": "The next row up: a column right when the error carries, the byte eight on on crossing a byte."
  },
  {
   "address": 63936,
   "type": "line",
   "text": "LINE_UP_RIGHT's second test, as at $F8B9."
  },
  {
   "address": 63952,
   "type": "line",
   "text": "LINE_UP_RIGHT's test for the pixel, as at $F8C9."
  },
  {
   "address": 63954,
   "type": "line",
   "text": "Loop 2's test for a pixel, 17 bytes written by LINE_MODE_TRACK or LINE_MODE_CAR, its second CMP's page by LINE_LIMIT."
  },
  {
   "address": 63971,
   "type": "line",
   "text": "LINE_UP_RIGHT's pixel drawn, as at $F8DC."
  },
  {
   "address": 63973,
   "type": "line",
   "text": "Loop 2's opcode, AND or BIT as LINE_OPCODE writes it."
  },
  {
   "address": 63974,
   "type": "line",
   "text": "Loop 2's mask table's low byte, from LINE_COLOUR."
  },
  {
   "address": 63978,
   "type": "line",
   "text": "The next row, as at $F8E3."
  },
  {
   "address": 64014,
   "type": "line",
   "text": "At the end: a line that reached the view's top covers the columns from here to its other end."
  },
  {
   "address": 64046,
   "type": "line",
   "text": "The columns from X up to one before $89 covered to the top: their tops set to $40, on the page $FA32 says."
  },
  {
   "address": 64050,
   "type": "line",
   "text": "The page COVER_RIGHT_FROM marks the columns on, written by LINE_MODE_TRACK and LINE_MODE_CAR."
  },
  {
   "address": 64057,
   "type": "line",
   "text": "A line of 45 degrees or flatter going left from its lower end (X, Y) to the column in A, one pixel a column: the error starts at minus half the columns' distance $51 and gains the rows' $52, a row up each time it carries. Columns right of the view and rows below it are stepped past; the end is clipped at column $40. The test is at $FAD8; the byte moves eight back every fourth column and $138 back on leaving a character row. A line that reaches the view's top covers the columns left to its end (COVER_LEFT_FROM)."
  },
  {
   "address": 64078,
   "type": "line",
   "text": "Past the columns right of the view."
  },
  {
   "address": 64095,
   "type": "line",
   "text": "Above the view: the columns covered. Past the rows below it."
  },
  {
   "address": 64129,
   "type": "line",
   "text": "LINE_LEFT's first pixel's byte in the bitmap."
  },
  {
   "address": 64164,
   "type": "line",
   "text": "The next column left: a row up when the error carries."
  },
  {
   "address": 64200,
   "type": "line",
   "text": "LINE_LEFT's second test, as at $F8B9."
  },
  {
   "address": 64216,
   "type": "line",
   "text": "LINE_LEFT's test for the pixel, as at $F8C9."
  },
  {
   "address": 64218,
   "type": "line",
   "text": "Loop 3's test for a pixel, 17 bytes written by LINE_MODE_TRACK or LINE_MODE_CAR, its second CMP's page by LINE_LIMIT."
  },
  {
   "address": 64235,
   "type": "line",
   "text": "LINE_LEFT's pixel drawn, as at $F8DC."
  },
  {
   "address": 64237,
   "type": "line",
   "text": "Loop 3's opcode, AND or BIT as LINE_OPCODE writes it."
  },
  {
   "address": 64238,
   "type": "line",
   "text": "Loop 3's mask table's low byte, from LINE_COLOUR."
  },
  {
   "address": 64242,
   "type": "line",
   "text": "The next column, and the byte eight back on leaving it, unless the end comes first."
  },
  {
   "address": 64277,
   "type": "line",
   "text": "The columns covered (COVER_LEFT_FROM)."
  },
  {
   "address": 64281,
   "type": "line",
   "text": "A line of 45 degrees or flatter going right, as LINE_LEFT mirrored: columns left of the view stepped past, the end clipped at column $BF, the test at $FBBF, and a line that reaches the top covers the columns right to its end (COVER_RIGHT_FROM)."
  },
  {
   "address": 64306,
   "type": "line",
   "text": "Past the columns left of the view."
  },
  {
   "address": 64322,
   "type": "line",
   "text": "LINE_RIGHT above the view: the columns covered. Past the rows below it."
  },
  {
   "address": 64358,
   "type": "line",
   "text": "LINE_RIGHT's first pixel's byte in the bitmap."
  },
  {
   "address": 64395,
   "type": "line",
   "text": "The next column right: a row up when the error carries."
  },
  {
   "address": 64431,
   "type": "line",
   "text": "LINE_RIGHT's second test, as at $F8B9."
  },
  {
   "address": 64447,
   "type": "line",
   "text": "LINE_RIGHT's test for the pixel, as at $F8C9."
  },
  {
   "address": 64449,
   "type": "line",
   "text": "Loop 4's test for a pixel, 17 bytes written by LINE_MODE_TRACK or LINE_MODE_CAR, its second CMP's page by LINE_LIMIT."
  },
  {
   "address": 64466,
   "type": "line",
   "text": "LINE_RIGHT's pixel drawn, as at $F8DC."
  },
  {
   "address": 64468,
   "type": "line",
   "text": "Loop 4's opcode, AND or BIT as LINE_OPCODE writes it."
  },
  {
   "address": 64469,
   "type": "line",
   "text": "Loop 4's mask table's low byte, from LINE_COLOUR."
  },
  {
   "address": 64473,
   "type": "line",
   "text": "The byte eight on on leaving it, unless the end comes first."
  },
  {
   "address": 64507,
   "type": "line",
   "text": "The columns covered (COVER_RIGHT_FROM)."
  },
  {
   "address": 64513,
   "type": "line",
   "text": "Which mask table the lines draw with: $A400 for X 0, $A480 for X 1 (the low byte from $FC14 + X written into the four loops' ANDs); X kept at $C3AB."
  },
  {
   "address": 64532,
   "type": "line",
   "text": "The mask tables' low bytes for LINE_COLOUR."
  },
  {
   "address": 64534,
   "type": "line",
   "text": "A written over the four loops' AND ($3D): $2C, a BIT, while the line is only to cover columns, not to be drawn."
  },
  {
   "address": 64547,
   "type": "line",
   "text": "The lines set to draw the track: the test for a pixel from $FC68 written into each loop, the columns covered on page $C6, and $C3AD cleared."
  },
  {
   "address": 64561,
   "type": "line",
   "text": "The lines set to draw the opponent's car: the view's limits ($C640/$C680) kept at $C540/$C580, the test from $FC81 written into each loop, the columns covered on page $C5, and $C3AD set to $80."
  },
  {
   "address": 64615,
   "type": "line",
   "text": "The tests for a pixel that LINE_MODE_TRACK ($FC68-$FC78) and LINE_MODE_CAR ($FC81-$FC91) write into the four loops, seventeen bytes after each loop's CMP, with NOPs between."
  },
  {
   "address": 64665,
   "type": "line",
   "text": "LINE_LIMIT, then the branch after the limit's test rewritten to reach the second test ($F8B9 and its like), so that the pixels at or below the limit are hidden."
  },
  {
   "address": 64674,
   "type": "line",
   "text": "The page of the second CMP in the four loops' tests rewritten to $C5: the track's test reads its limit from $C540 + X, the car's its top from $C500 + X."
  },
  {
   "address": 64691,
   "type": "line",
   "text": "$0280-$02BF copied to $C5C0 and $02C0-$02FF to $C600."
  },
  {
   "address": 64709,
   "type": "line",
   "text": "The line from point Y to point X when either is off the screen (a high byte set, $A298/$A2E4). An end above the view's top has its column, clamped to $3F-$C0, at $8B (point Y) or $8C (point X); with both above, the columns between are covered and that is all. Otherwise the distances across and up ($51/$77 and $52/$78, signs at $79/$7A) are halved, their bits into fractions at $7B/$7C, until the larger is below $40, a count at $81 doubling from 1; each end off the screen is walked along the line by those steps until it is on, while the count lasts. When a distance's high byte is bigger, $7D is taken from X, not from $7E. A line whose ends never come on draws nothing, but with $C365 bit 7 its columns are covered. Then the columns under the ends above the top are covered (COVER_ABOVE) and the line drawn from its lower end (LINE_FROM_ENDS)."
  },
  {
   "address": 64838,
   "type": "line",
   "text": "Both ends' distances."
  },
  {
   "address": 64922,
   "type": "line",
   "text": "Halved until the larger is below $40."
  },
  {
   "address": 64980,
   "type": "line",
   "text": "The steps ran out."
  },
  {
   "address": 65007,
   "type": "line",
   "text": "Point Y walked on, until it is on the screen."
  },
  {
   "address": 65048,
   "type": "line",
   "text": "The walk's test: end Y ($4F/$50) is on the screen once both its high bytes ($73, $74) are 0, and until then it is walked on (CLIP_WALK_Y). From $FE50 the same test for end X ($75, $76)."
  },
  {
   "address": 65063,
   "type": "line",
   "text": "Point X walked back, until it is on the screen."
  },
  {
   "address": 65134,
   "type": "line",
   "text": "For each end that was above the view's top ($8B for the end at $4F, $8C for the one at $4E), the columns between its clamped column and the end as it now is covered (COVER_LEFT)."
  },
  {
   "address": 65169,
   "type": "line",
   "text": "The line between points X and Y, unless either is behind the eye ($A330 bit 7): LINE_ON_SCREEN when both are on the screen, otherwise LINE_CLIP."
  },
  {
   "address": 65195,
   "type": "line",
   "text": "The columns of points X and Y added to the span $60-$61, then LINE_ON_SCREEN."
  },
  {
   "address": 65225,
   "type": "line",
   "text": "The line between points X and Y, both on the screen: the lower end into $4F/$50 and the upper into $4E/$8A, then LINE_FROM_ENDS."
  },
  {
   "address": 65270,
   "type": "line",
   "text": "The line from its lower end ($4F, $50) to its upper ($4E, $8A). For the car ($C3AD bit 7), with either end at or below the view's bottom ($C0), the lowest rows ($0240) of the columns between set to $C0 first. Then the distances ($51, $52) and the loop for the line's way: LINE_RIGHT, LINE_UP_RIGHT, LINE_LEFT or LINE_UP_LEFT."
  },
  {
   "address": 65330,
   "type": "line",
   "text": "The distances, and which loop."
  },
  {
   "address": 65385,
   "type": "line",
   "text": "An RTS that no code reaches."
  },
  {
   "address": 65386,
   "type": "line",
   "text": "The piece on the square $0B across and $0C along from the view's square ($5C, $5E) (PIECE_FROM_HERE); carry set when that is off the map."
  },
  {
   "address": 65409,
   "type": "line",
   "text": "The KERNAL's CINT, which SAVE_OR_LOAD calls with the KERNAL banked in ($2B47). With the KERNAL out these bytes are SQUARE_PIECE's."
  },
  {
   "address": 65412,
   "type": "line",
   "text": "The KERNAL's IOINIT, which SAVE_OR_LOAD calls with the KERNAL banked in ($2B35), as it calls RAMTAS ($FF87), VECTOR ($FF8D), CINT ($FF81) and SETMSG ($FF90). With the KERNAL out these bytes are SQUARE_PIECE's."
  },
  {
   "address": 65415,
   "type": "line",
   "text": "The KERNAL's RAMTAS, called with it banked in ($2B3C)."
  },
  {
   "address": 65421,
   "type": "line",
   "text": "The KERNAL's VECTOR, called with it banked in ($2B44, and at the start-up)."
  },
  {
   "address": 65422,
   "type": "line",
   "text": "Puts A in $15 and runs on into LOAD_14. Callers use it to start a two-byte sum: the high byte goes to $15, the low comes back in A with the carry clear."
  },
  {
   "address": 65424,
   "type": "line",
   "text": "Loads $14 into A and clears the carry."
  },
  {
   "address": 65428,
   "type": "line",
   "text": "The road's height under the opponent's point X (ROAD_HEIGHT_AT), an eighth of it, into $07EC/$07F0."
  },
  {
   "address": 65457,
   "type": "line",
   "text": "The front wheels' top halves stepped on by a frame, so the tyres seem to roll: called from the interrupt each time the engine's count $5F carries, it steps the right wheel's sprite 7 through frames $60-$62 and the left's sprite 5 through $65-$67, one way round while the speed along the road ($0159) is positive and the other while it is negative. This is the game's own code, in the RAM under the KERNAL ROM; the disk routines ($2B51-$2BCC, $90C7-$90FF) call $FFB7, $FFBA, $FFBD, $FFC3 and $FFD5 with the ROM switched in, and reach the KERNAL's READST, SETLFS, SETNAM, CLOSE and LOAD instead."
  },
  {
   "address": 65463,
   "type": "line",
   "text": "The KERNAL's READST, called with it banked in ($2BCC). With the KERNAL out these bytes are WHEELS_TURN's."
  },
  {
   "address": 65466,
   "type": "line",
   "text": "The KERNAL's SETLFS, called with it banked in."
  },
  {
   "address": 65469,
   "type": "line",
   "text": "The KERNAL's SETNAM, called with it banked in."
  },
  {
   "address": 65472,
   "type": "line",
   "text": "The KERNAL's OPEN, which DISK_COMMAND calls with the KERNAL banked in ($90EF). With the KERNAL out these bytes are WHEELS_TURN's."
  },
  {
   "address": 65475,
   "type": "line",
   "text": "The KERNAL's CLOSE, called with it banked in (DISK_COMMAND)."
  },
  {
   "address": 65493,
   "type": "line",
   "text": "The KERNAL's LOAD, called with it banked in ($2BC6)."
  },
  {
   "address": 65496,
   "type": "line",
   "text": "The KERNAL's SAVE, which SAVE_OR_LOAD calls with the KERNAL banked in ($2BB3). With the KERNAL out these bytes are WHEELS_TURN's."
  },
  {
   "address": 65499,
   "type": "line",
   "text": "The wheels' new frames into sprite pointers 7 and 5 ($5FFF, $5FFD)."
  }
 ]
}