{
 "schema": 1,
 "platform": "c64",
 "game": "speedball-2",
 "part": "game",
 "build": "Mirrorsoft's 1991 disk release, speedball_2[mirrorsoft_1991].g64 from the C64 Preservation Project's 10th Anniversary Collection on the Internet Archive (SHA-256 c379e7c1\u20264dc4)",
 "source": "regenerator2000 live",
 "regions": {
  "exclude": [
   [
    256,
    511,
    "stack"
   ],
   [
    0,
    255,
    "zero page: the game's variables, zeroed by new_game_state and set before use; at the start it still holds the loader's unpacker, which never runs again"
   ],
   [
    1200,
    1277,
    "the sound driver's state, seven bytes a voice in each of its tables, set by sfx_init and sfx_play before use"
   ],
   [
    2048,
    3088,
    "the game's variables: the objects' positions, the players' attributes, the league, cup and statistics, zeroed by new_game_state or set before use"
   ],
   [
    48346,
    49151,
    "after the portrait tiles: the block map of the arena and the portraits' mirror bits, unpacked there before use"
   ],
   [
    51736,
    52223,
    "zeros after the MARTIN picture, never read"
   ],
   [
    52407,
    53247,
    "zeros after the title routine, never read"
   ],
   [
    57344,
    65535,
    "the bitmap, the arena's screens and characters and the menus' sprites, all unpacked or drawn there before use; at the start it holds what the load left"
   ]
  ],
  "extra": [],
  "edges": [
   0,
   256,
   512,
   1024,
   2048,
   4096,
   16384,
   32768,
   40960,
   49152,
   53248,
   57344
  ]
 },
 "blocks": [
  {
   "start": 0,
   "end": 511,
   "type": "Undefined"
  },
  {
   "start": 512,
   "end": 1151,
   "type": "Code"
  },
  {
   "start": 1152,
   "end": 1199,
   "type": "Byte"
  },
  {
   "start": 1200,
   "end": 1277,
   "type": "Undefined"
  },
  {
   "start": 1278,
   "end": 2047,
   "type": "Byte"
  },
  {
   "start": 2048,
   "end": 3088,
   "type": "Undefined"
  },
  {
   "start": 3089,
   "end": 3600,
   "type": "Byte"
  },
  {
   "start": 3601,
   "end": 3968,
   "type": "PETSCII Text"
  },
  {
   "start": 3969,
   "end": 4038,
   "type": "Byte"
  },
  {
   "start": 4039,
   "end": 4074,
   "type": "Code"
  },
  {
   "start": 4075,
   "end": 4098,
   "type": "Byte"
  },
  {
   "start": 4099,
   "end": 4993,
   "type": "Code"
  },
  {
   "start": 4994,
   "end": 5011,
   "type": "Word"
  },
  {
   "start": 5012,
   "end": 5751,
   "type": "Code"
  },
  {
   "start": 5752,
   "end": 5767,
   "type": "Byte"
  },
  {
   "start": 5768,
   "end": 6978,
   "type": "Code"
  },
  {
   "start": 6979,
   "end": 6997,
   "type": "Byte"
  },
  {
   "start": 6998,
   "end": 7189,
   "type": "Code"
  },
  {
   "start": 7190,
   "end": 8273,
   "type": "Byte"
  },
  {
   "start": 8274,
   "end": 8899,
   "type": "Code"
  },
  {
   "start": 8900,
   "end": 8907,
   "type": "Byte"
  },
  {
   "start": 8908,
   "end": 9797,
   "type": "Code"
  },
  {
   "start": 9798,
   "end": 9814,
   "type": "Byte"
  },
  {
   "start": 9815,
   "end": 10762,
   "type": "Code"
  },
  {
   "start": 10763,
   "end": 10908,
   "type": "Byte"
  },
  {
   "start": 10909,
   "end": 12462,
   "type": "Code"
  },
  {
   "start": 12463,
   "end": 12534,
   "type": "Undefined"
  },
  {
   "start": 12535,
   "end": 12883,
   "type": "Code"
  },
  {
   "start": 12884,
   "end": 12907,
   "type": "Undefined"
  },
  {
   "start": 12908,
   "end": 14100,
   "type": "Code"
  },
  {
   "start": 14101,
   "end": 14289,
   "type": "Undefined"
  },
  {
   "start": 14290,
   "end": 14921,
   "type": "Code"
  },
  {
   "start": 14922,
   "end": 14929,
   "type": "Undefined"
  },
  {
   "start": 14930,
   "end": 16592,
   "type": "Code"
  },
  {
   "start": 16593,
   "end": 16594,
   "type": "Byte"
  },
  {
   "start": 16595,
   "end": 18290,
   "type": "Code"
  },
  {
   "start": 18291,
   "end": 18306,
   "type": "Word"
  },
  {
   "start": 18307,
   "end": 18454,
   "type": "Code"
  },
  {
   "start": 18455,
   "end": 18694,
   "type": "Byte"
  },
  {
   "start": 18695,
   "end": 19803,
   "type": "Code"
  },
  {
   "start": 19804,
   "end": 19851,
   "type": "Byte"
  },
  {
   "start": 19852,
   "end": 21326,
   "type": "Code"
  },
  {
   "start": 21327,
   "end": 21431,
   "type": "Byte"
  },
  {
   "start": 21432,
   "end": 21555,
   "type": "Code"
  },
  {
   "start": 21556,
   "end": 21737,
   "type": "Byte"
  },
  {
   "start": 21738,
   "end": 21917,
   "type": "Code"
  },
  {
   "start": 21918,
   "end": 22157,
   "type": "Byte"
  },
  {
   "start": 22158,
   "end": 22492,
   "type": "Code"
  },
  {
   "start": 22493,
   "end": 22500,
   "type": "Byte"
  },
  {
   "start": 22501,
   "end": 23346,
   "type": "Code"
  },
  {
   "start": 23347,
   "end": 23404,
   "type": "Byte"
  },
  {
   "start": 23405,
   "end": 23562,
   "type": "Code"
  },
  {
   "start": 23563,
   "end": 23580,
   "type": "Word"
  },
  {
   "start": 23581,
   "end": 23925,
   "type": "Code"
  },
  {
   "start": 23926,
   "end": 24434,
   "type": "Byte"
  },
  {
   "start": 24435,
   "end": 25300,
   "type": "Code"
  },
  {
   "start": 25301,
   "end": 25401,
   "type": "Byte"
  },
  {
   "start": 25402,
   "end": 26237,
   "type": "Code"
  },
  {
   "start": 26238,
   "end": 26471,
   "type": "Byte"
  },
  {
   "start": 26472,
   "end": 27568,
   "type": "Code"
  },
  {
   "start": 27569,
   "end": 27596,
   "type": "Byte"
  },
  {
   "start": 27597,
   "end": 27923,
   "type": "Code"
  },
  {
   "start": 27924,
   "end": 27932,
   "type": "Byte"
  },
  {
   "start": 27933,
   "end": 28153,
   "type": "Code"
  },
  {
   "start": 28154,
   "end": 28301,
   "type": "Byte"
  },
  {
   "start": 28302,
   "end": 28670,
   "type": "Code"
  },
  {
   "start": 28671,
   "end": 28673,
   "type": "Byte"
  },
  {
   "start": 28674,
   "end": 29016,
   "type": "Code"
  },
  {
   "start": 29017,
   "end": 29020,
   "type": "Byte"
  },
  {
   "start": 29021,
   "end": 29586,
   "type": "Code"
  },
  {
   "start": 29587,
   "end": 29614,
   "type": "Byte"
  },
  {
   "start": 29615,
   "end": 29777,
   "type": "Code"
  },
  {
   "start": 29778,
   "end": 29798,
   "type": "Byte"
  },
  {
   "start": 29799,
   "end": 30284,
   "type": "Code"
  },
  {
   "start": 30285,
   "end": 30570,
   "type": "Byte"
  },
  {
   "start": 30571,
   "end": 31218,
   "type": "Code"
  },
  {
   "start": 31219,
   "end": 31230,
   "type": "Byte"
  },
  {
   "start": 31231,
   "end": 31483,
   "type": "Code"
  },
  {
   "start": 31484,
   "end": 48345,
   "type": "Byte"
  },
  {
   "start": 48346,
   "end": 49151,
   "type": "Undefined"
  },
  {
   "start": 49152,
   "end": 49159,
   "type": "Code"
  },
  {
   "start": 49160,
   "end": 49219,
   "type": "PETSCII Text"
  },
  {
   "start": 49220,
   "end": 49565,
   "type": "Code"
  },
  {
   "start": 49566,
   "end": 51735,
   "type": "Byte"
  },
  {
   "start": 51736,
   "end": 52223,
   "type": "Undefined"
  },
  {
   "start": 52224,
   "end": 52406,
   "type": "Byte"
  },
  {
   "start": 52407,
   "end": 53247,
   "type": "Undefined"
  },
  {
   "start": 53248,
   "end": 57343,
   "type": "Byte"
  },
  {
   "start": 57344,
   "end": 65343,
   "type": "Undefined"
  },
  {
   "start": 65344,
   "end": 65346,
   "type": "Code"
  },
  {
   "start": 65347,
   "end": 65407,
   "type": "Undefined"
  },
  {
   "start": 65408,
   "end": 65426,
   "type": "Code"
  },
  {
   "start": 65427,
   "end": 65447,
   "type": "Undefined"
  },
  {
   "start": 65448,
   "end": 65469,
   "type": "Code"
  },
  {
   "start": 65470,
   "end": 65492,
   "type": "Undefined"
  },
  {
   "start": 65493,
   "end": 65524,
   "type": "Code"
  },
  {
   "start": 65525,
   "end": 65527,
   "type": "Undefined"
  },
  {
   "start": 65528,
   "end": 65535,
   "type": "Code"
  }
 ],
 "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": "zpa_1E",
   "type": "ZeroPageAbsoluteAddress",
   "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": "zpa_24",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 37,
   "name": "zpa_25",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 38,
   "name": "zpa_26",
   "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": 66,
   "name": "zpa_42",
   "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": "zpa_45",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 70,
   "name": "zpa_46",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 71,
   "name": "zpa_47",
   "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": "zpf_53",
   "type": "ZeroPageField",
   "kind": "auto"
  },
  {
   "address": 84,
   "name": "zpa_54",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 85,
   "name": "zpf_55",
   "type": "ZeroPageField",
   "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": "zpa_63",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 100,
   "name": "zpa_64",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 101,
   "name": "zpa_65",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 102,
   "name": "zpa_66",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 103,
   "name": "zpa_67",
   "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": "zpa_83",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 132,
   "name": "zpa_84",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 133,
   "name": "zpa_85",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 134,
   "name": "zpa_86",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 135,
   "name": "zpa_87",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 136,
   "name": "zpa_88",
   "type": "ZeroPageAbsoluteAddress",
   "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": 150,
   "name": "zpa_96",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 151,
   "name": "zpa_97",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 152,
   "name": "zpa_98",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 153,
   "name": "zpa_99",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 154,
   "name": "zpa_9A",
   "type": "ZeroPageAbsoluteAddress",
   "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": "zpf_A0",
   "type": "ZeroPageField",
   "kind": "auto"
  },
  {
   "address": 161,
   "name": "zpa_A1",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 162,
   "name": "a_00A2",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 164,
   "name": "zpp_A4",
   "type": "ZeroPagePointer",
   "kind": "auto"
  },
  {
   "address": 169,
   "name": "a_00A9",
   "type": "AbsoluteAddress",
   "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": "zpf_B6",
   "type": "ZeroPageField",
   "kind": "auto"
  },
  {
   "address": 186,
   "name": "f_00BA",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 204,
   "name": "zpf_CC",
   "type": "ZeroPageField",
   "kind": "auto"
  },
  {
   "address": 205,
   "name": "zpa_CD",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 215,
   "name": "zpp_D7",
   "type": "ZeroPagePointer",
   "kind": "auto"
  },
  {
   "address": 221,
   "name": "zpf_DD",
   "type": "ZeroPageField",
   "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": 226,
   "name": "zpa_E2",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 230,
   "name": "zpf_E6",
   "type": "ZeroPageField",
   "kind": "auto"
  },
  {
   "address": 231,
   "name": "zpa_E7",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 244,
   "name": "zpa_F4",
   "type": "ZeroPageAbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 245,
   "name": "zpa_F5",
   "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": 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": "a_0103",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 260,
   "name": "a_0104",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 261,
   "name": "a_0105",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 262,
   "name": "a_0106",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 263,
   "name": "a_0107",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 310,
   "name": "a_0136",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 312,
   "name": "a_0138",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 314,
   "name": "a_013A",
   "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": 323,
   "name": "f_0143",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 384,
   "name": "f_0180",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 385,
   "name": "a_0181",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 402,
   "name": "a_0192",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 403,
   "name": "a_0193",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 404,
   "name": "a_0194",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 405,
   "name": "a_0195",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 425,
   "name": "a_01A9",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 512,
   "name": "sfx_init",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 554,
   "name": "b_022A",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 566,
   "name": "sfx_update",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 578,
   "name": "sfx_voice",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 602,
   "name": "b_025A",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 611,
   "name": "b_0263",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 614,
   "name": "b_0266",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 673,
   "name": "a_02A1",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 681,
   "name": "a_02A9",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 766,
   "name": "sfx_step",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 768,
   "name": "f_0300",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 774,
   "name": "b_0306",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 788,
   "name": "a_0314",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 789,
   "name": "a_0315",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 792,
   "name": "a_0318",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 793,
   "name": "b_0319",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 824,
   "name": "b_0338",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 833,
   "name": "b_0341",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 836,
   "name": "b_0344",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 879,
   "name": "b_036F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 912,
   "name": "b_0390",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 920,
   "name": "b_0398",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 932,
   "name": "b_03A4",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 944,
   "name": "b_03B0",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 955,
   "name": "b_03BB",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 966,
   "name": "b_03C6",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 978,
   "name": "b_03D2",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 990,
   "name": "b_03DE",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 1001,
   "name": "b_03E9",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 1005,
   "name": "b_03ED",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 1033,
   "name": "b_0409",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 1037,
   "name": "b_040D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 1062,
   "name": "j_0426",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 1068,
   "name": "b_042C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 1091,
   "name": "b_0443",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 1114,
   "name": "b_045A",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 1133,
   "name": "b_046D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 1151,
   "name": "r_047F",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 1152,
   "name": "sfx_priority",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 1193,
   "name": "a_04A9",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 1200,
   "name": "a_04B0",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 1201,
   "name": "a_04B1",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 1202,
   "name": "a_04B2",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 1203,
   "name": "f_04B3",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 1204,
   "name": "f_04B4",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 1205,
   "name": "f_04B5",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 1206,
   "name": "f_04B6",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 1207,
   "name": "a_04B7",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 1208,
   "name": "a_04B8",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 1209,
   "name": "a_04B9",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 1214,
   "name": "a_04BE",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 1215,
   "name": "a_04BF",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 1216,
   "name": "a_04C0",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 1221,
   "name": "f_04C5",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 1222,
   "name": "f_04C6",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 1223,
   "name": "f_04C7",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 1224,
   "name": "f_04C8",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 1225,
   "name": "f_04C9",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 1226,
   "name": "f_04CA",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 1227,
   "name": "f_04CB",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 1242,
   "name": "f_04DA",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 1243,
   "name": "f_04DB",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 1244,
   "name": "f_04DC",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 1245,
   "name": "f_04DD",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 1246,
   "name": "a_04DE",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 1247,
   "name": "f_04DF",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 1248,
   "name": "f_04E0",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 1253,
   "name": "a_04E5",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 1260,
   "name": "a_04EC",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 1278,
   "name": "sfx_params",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 1279,
   "name": "sfx_sustain",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 1280,
   "name": "sfx_gate",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 1281,
   "name": "sfx_length",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 1449,
   "name": "a_05A9",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 1470,
   "name": "sfx_waves",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 1471,
   "name": "sfx_wave_off",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 1472,
   "name": "sfx_freq_hi",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 1473,
   "name": "sfx_freq_lo",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 1662,
   "name": "sfx_sweeps",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 1663,
   "name": "sfx_sweep_hi",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 1664,
   "name": "sfx_sweep_lo",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 1665,
   "name": "sfx_pulse",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 1705,
   "name": "a_06A9",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 1769,
   "name": "a_06E9",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 1854,
   "name": "sfx_specials",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 1855,
   "name": "sfx_special_bits",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 1856,
   "name": "sfx_flip",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 1857,
   "name": "sfx_special_value",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 2046,
   "name": "paused",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 2047,
   "name": "dodge_distance",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 2048,
   "name": "f_0800",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 2049,
   "name": "a_0801",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 2066,
   "name": "a_0812",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 2067,
   "name": "a_0813",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 2068,
   "name": "a_0814",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 2069,
   "name": "a_0815",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 2074,
   "name": "f_081A",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 2075,
   "name": "a_081B",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 2089,
   "name": "a_0829",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 2092,
   "name": "a_082C",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 2093,
   "name": "a_082D",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 2094,
   "name": "a_082E",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 2095,
   "name": "a_082F",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 2096,
   "name": "a_0830",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 2100,
   "name": "f_0834",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 2101,
   "name": "a_0835",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 2104,
   "name": "f_0838",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 2108,
   "name": "f_083C",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 2115,
   "name": "a_0843",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 2118,
   "name": "a_0846",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 2119,
   "name": "a_0847",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 2120,
   "name": "a_0848",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 2121,
   "name": "a_0849",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 2126,
   "name": "f_084E",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 2144,
   "name": "f_0860",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 2162,
   "name": "f_0872",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 2180,
   "name": "f_0884",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 2198,
   "name": "f_0896",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 2216,
   "name": "f_08A8",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 2217,
   "name": "a_08A9",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 2234,
   "name": "f_08BA",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 2252,
   "name": "f_08CC",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 2270,
   "name": "f_08DE",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 2279,
   "name": "f_08E7",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 2281,
   "name": "a_08E9",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 2288,
   "name": "f_08F0",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 2296,
   "name": "f_08F8",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 2304,
   "name": "f_0900",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 2336,
   "name": "f_0920",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 2337,
   "name": "f_0921",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 2343,
   "name": "f_0927",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 2344,
   "name": "f_0928",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 2374,
   "name": "f_0946",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 2412,
   "name": "f_096C",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 2473,
   "name": "a_09A9",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 2502,
   "name": "f_09C6",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 2592,
   "name": "f_0A20",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 2618,
   "name": "f_0A3A",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 2644,
   "name": "f_0A54",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 2670,
   "name": "f_0A6E",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 2696,
   "name": "f_0A88",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 2722,
   "name": "f_0AA2",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 2723,
   "name": "f_0AA3",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 2724,
   "name": "f_0AA4",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 2725,
   "name": "f_0AA5",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 2726,
   "name": "f_0AA6",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 2727,
   "name": "f_0AA7",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 2729,
   "name": "a_0AA9",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 2730,
   "name": "a_0AAA",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 2731,
   "name": "a_0AAB",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 2732,
   "name": "a_0AAC",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 2733,
   "name": "a_0AAD",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 2734,
   "name": "a_0AAE",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 2735,
   "name": "a_0AAF",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 2736,
   "name": "a_0AB0",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 2737,
   "name": "a_0AB1",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 2738,
   "name": "a_0AB2",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 2739,
   "name": "a_0AB3",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 2740,
   "name": "a_0AB4",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 2741,
   "name": "a_0AB5",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 2742,
   "name": "a_0AB6",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 2743,
   "name": "f_0AB7",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 2754,
   "name": "f_0AC2",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 2755,
   "name": "f_0AC3",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 2850,
   "name": "f_0B22",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 2851,
   "name": "f_0B23",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 2852,
   "name": "f_0B24",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 2867,
   "name": "f_0B33",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 2915,
   "name": "f_0B63",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 2931,
   "name": "f_0B73",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 2947,
   "name": "f_0B83",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 2963,
   "name": "f_0B93",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 2971,
   "name": "f_0B9B",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 2979,
   "name": "f_0BA3",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 2995,
   "name": "f_0BB3",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 3002,
   "name": "f_0BBA",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 3011,
   "name": "f_0BC3",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 3012,
   "name": "a_0BC4",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 3013,
   "name": "a_0BC5",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 3014,
   "name": "f_0BC6",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 3027,
   "name": "f_0BD3",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 3028,
   "name": "f_0BD4",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 3035,
   "name": "f_0BDB",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 3043,
   "name": "f_0BE3",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 3051,
   "name": "f_0BEB",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 3059,
   "name": "f_0BF3",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 3067,
   "name": "f_0BFB",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 3068,
   "name": "a_0BFC",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 3069,
   "name": "f_0BFD",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 3070,
   "name": "a_0BFE",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 3071,
   "name": "f_0BFF",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 3072,
   "name": "a_0C00",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 3073,
   "name": "f_0C01",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 3075,
   "name": "f_0C03",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 3077,
   "name": "f_0C05",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 3079,
   "name": "f_0C07",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 3081,
   "name": "f_0C09",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 3083,
   "name": "a_0C0B",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 3084,
   "name": "a_0C0C",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 3085,
   "name": "a_0C0D",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 3086,
   "name": "a_0C0E",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 3087,
   "name": "a_0C0F",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 3088,
   "name": "a_0C10",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 3089,
   "name": "mini_font",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 3090,
   "name": "mini_font_1",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 3091,
   "name": "mini_font_2",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 3092,
   "name": "mini_font_3",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 3264,
   "name": "f_0CC0",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 3345,
   "name": "team_strength",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 3361,
   "name": "team_ratings",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 3601,
   "name": "team_names",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 3909,
   "name": "f_0F45",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 3969,
   "name": "transfer_players",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 4039,
   "name": "run_packed",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 4075,
   "name": "panel_delays",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 4083,
   "name": "f_0FF3",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 4091,
   "name": "panel_d011",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 4099,
   "name": "irq_panel",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 4101,
   "name": "b_1005",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 4111,
   "name": "b_100F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 4149,
   "name": "irq_panel_low",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 4156,
   "name": "b_103C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 4166,
   "name": "b_1046",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 4178,
   "name": "mux_match",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 4186,
   "name": "b_105A",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 4196,
   "name": "b_1064",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 4234,
   "name": "irq_enable",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 4259,
   "name": "mux_menus",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 4265,
   "name": "a_10A9",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 4284,
   "name": "b_10BC",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 4323,
   "name": "irq_sound_only",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 4336,
   "name": "mux_sort_all",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 4342,
   "name": "b_10F6",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 4351,
   "name": "mux_sort",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 4357,
   "name": "b_1105",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 4372,
   "name": "j_1114",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 4376,
   "name": "b_1118",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 4382,
   "name": "j_111E",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 4391,
   "name": "b_1127",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 4408,
   "name": "b_1138",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 4465,
   "name": "b_1171",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 4489,
   "name": "b_1189",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 4525,
   "name": "r_11AD",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 4526,
   "name": "b_11AE",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 4531,
   "name": "sprites_direct",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 4537,
   "name": "b_11B9",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 4543,
   "name": "j_11BF",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 4557,
   "name": "b_11CD",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 4566,
   "name": "b_11D6",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 4582,
   "name": "b_11E6",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 4604,
   "name": "b_11FC",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 4666,
   "name": "b_123A",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 4687,
   "name": "b_124F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 4693,
   "name": "j_1255",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 4715,
   "name": "irq_mux",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 4761,
   "name": "a_1299",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 4782,
   "name": "b_12AE",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 4788,
   "name": "j_12B4",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 4791,
   "name": "mux_next",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 4814,
   "name": "mux_command",
   "type": "Branch",
   "kind": "user"
  },
  {
   "address": 4840,
   "name": "irq_return",
   "type": "Branch",
   "kind": "user"
  },
  {
   "address": 4846,
   "name": "mux_late",
   "type": "Branch",
   "kind": "user"
  },
  {
   "address": 4864,
   "name": "irq_mux_menus",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 4931,
   "name": "b_1343",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 4937,
   "name": "j_1349",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 4956,
   "name": "b_135C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 4962,
   "name": "j_1362",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 4982,
   "name": "b_1376",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 4988,
   "name": "j_137C",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 4994,
   "name": "raster_commands",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 4995,
   "name": "f_1383",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 5012,
   "name": "irq_nothing",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 5015,
   "name": "irq_colour",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 5023,
   "name": "irq_pitch_top",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 5052,
   "name": "irq_screen",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 5092,
   "name": "b_13E4",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 5101,
   "name": "irq_pitch_top2",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 5142,
   "name": "b_1416",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 5151,
   "name": "irq_frame_end",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 5186,
   "name": "b_1442",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 5189,
   "name": "b_1445",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 5202,
   "name": "irq_menus_end",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 5219,
   "name": "irq_sfx",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 5239,
   "name": "camera_edge_fixed",
   "type": "Branch",
   "kind": "user"
  },
  {
   "address": 5257,
   "name": "b_1489",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 5260,
   "name": "b_148C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 5280,
   "name": "b_14A0",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 5283,
   "name": "b_14A3",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 5294,
   "name": "b_14AE",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 5299,
   "name": "camera_check",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 5308,
   "name": "b_14BC",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 5328,
   "name": "b_14D0",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 5370,
   "name": "b_14FA",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 5382,
   "name": "b_1506",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 5396,
   "name": "b_1514",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 5437,
   "name": "b_153D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 5444,
   "name": "b_1544",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 5449,
   "name": "b_1549",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 5466,
   "name": "camera_step",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 5472,
   "name": "b_1560",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 5512,
   "name": "b_1588",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 5520,
   "name": "r_1590",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 5521,
   "name": "b_1591",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 5561,
   "name": "r_15B9",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 5562,
   "name": "scroll_start",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 5567,
   "name": "b_15BF",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 5611,
   "name": "b_15EB",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 5631,
   "name": "b_15FF",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 5653,
   "name": "b_1615",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 5675,
   "name": "b_162B",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 5685,
   "name": "b_1635",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 5695,
   "name": "b_163F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 5717,
   "name": "b_1655",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 5730,
   "name": "b_1662",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 5737,
   "name": "b_1669",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 5744,
   "name": "b_1670",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 5751,
   "name": "r_1677",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 5752,
   "name": "camera_windows",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 5756,
   "name": "f_167C",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 5760,
   "name": "f_1680",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 5764,
   "name": "f_1684",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 5768,
   "name": "pitch_row_tables",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 5778,
   "name": "b_1692",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 5812,
   "name": "b_16B4",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 5837,
   "name": "pitch_redraw",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 5863,
   "name": "b_16E7",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 5866,
   "name": "b_16EA",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 5869,
   "name": "b_16ED",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 5891,
   "name": "b_1703",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 5895,
   "name": "b_1707",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 5897,
   "name": "b_1709",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 5905,
   "name": "b_1711",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 5915,
   "name": "b_171B",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 5921,
   "name": "b_1721",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 5961,
   "name": "b_1749",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 5968,
   "name": "j_1750",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 5983,
   "name": "b_175F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 5989,
   "name": "b_1765",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 5995,
   "name": "b_176B",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 6014,
   "name": "b_177E",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 6030,
   "name": "b_178E",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 6045,
   "name": "b_179D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 6051,
   "name": "b_17A3",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 6053,
   "name": "b_17A5",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 6068,
   "name": "b_17B4",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 6074,
   "name": "pitch_new_top",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 6085,
   "name": "b_17C5",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 6113,
   "name": "b_17E1",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 6141,
   "name": "pitch_new_bottom",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 6155,
   "name": "b_180B",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 6183,
   "name": "b_1827",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 6211,
   "name": "pitch_new_left",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 6227,
   "name": "b_1853",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 6235,
   "name": "b_185B",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 6251,
   "name": "b_186B",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 6257,
   "name": "pitch_new_right",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 6276,
   "name": "b_1884",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 6284,
   "name": "b_188C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 6300,
   "name": "b_189C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 6306,
   "name": "pitch_row_bytes",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 6350,
   "name": "b_18CE",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 6367,
   "name": "b_18DF",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 6414,
   "name": "b_190E",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 6420,
   "name": "b_1914",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 6425,
   "name": "pitch_column_bytes",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 6459,
   "name": "b_193B",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 6471,
   "name": "b_1947",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 6535,
   "name": "b_1987",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 6540,
   "name": "pitch_scroll_draw",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 6566,
   "name": "b_19A6",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 6583,
   "name": "b_19B7",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 6600,
   "name": "b_19C8",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 6603,
   "name": "b_19CB",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 6620,
   "name": "b_19DC",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 6623,
   "name": "b_19DF",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 6632,
   "name": "b_19E8",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 6637,
   "name": "mirror_chars",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 6666,
   "name": "b_1A0A",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 6746,
   "name": "b_1A5A",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 6758,
   "name": "b_1A66",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 6763,
   "name": "panel_colours",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 6767,
   "name": "b_1A6F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 6775,
   "name": "b_1A77",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 6833,
   "name": "a_1AB1",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 6847,
   "name": "panel_scores",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 6867,
   "name": "b_1AD3",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 6882,
   "name": "j_1AE2",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 6902,
   "name": "b_1AF6",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 6917,
   "name": "j_1B05",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 6957,
   "name": "b_1B2D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 6979,
   "name": "panel_marker_cols",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 6998,
   "name": "panel_bar",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 7007,
   "name": "b_1B5F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 7016,
   "name": "b_1B68",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 7028,
   "name": "b_1B74",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 7040,
   "name": "b_1B80",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 7070,
   "name": "score_add",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 7077,
   "name": "b_1BA5",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 7083,
   "name": "b_1BAB",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 7091,
   "name": "score_add_bcd",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 7106,
   "name": "b_1BC2",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 7129,
   "name": "b_1BD9",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 7132,
   "name": "score_sub",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 7147,
   "name": "b_1BEB",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 7152,
   "name": "sfx_play",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 7161,
   "name": "sfx_play_v3",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 7165,
   "name": "sfx_play_pair",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 7175,
   "name": "sfx_stop_all",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 7190,
   "name": "bit_masks",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 7198,
   "name": "bit_clears",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 7206,
   "name": "pixel_masks",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 7210,
   "name": "nibble_pairs",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 7226,
   "name": "series_matches",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 7229,
   "name": "stick_dirs",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 7245,
   "name": "key_sticks",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 7251,
   "name": "key_sticks_2",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 7257,
   "name": "big_text_rows",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 7264,
   "name": "f_1C60",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 7278,
   "name": "goal_points_1",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 7283,
   "name": "goal_points_2",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 7288,
   "name": "bonus_points_1",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 7293,
   "name": "bonus_points_2",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 7298,
   "name": "electro_charges_1",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 7303,
   "name": "electro_charges_2",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 7308,
   "name": "shield_bits",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 7326,
   "name": "electric_bits",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 7344,
   "name": "goal_door_bits",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 7346,
   "name": "marker_frames",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 7364,
   "name": "player_roles",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 7383,
   "name": "player_lines",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 7402,
   "name": "place_groups",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 7414,
   "name": "marker_of_1",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 7423,
   "name": "marker_of_2",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 7432,
   "name": "team_of",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 7441,
   "name": "f_1D11",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 7450,
   "name": "runout_dirs_2",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 7459,
   "name": "runout_dirs_1",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 7468,
   "name": "keeper_frames",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 7476,
   "name": "team_2_colours",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 7480,
   "name": "team_2_possession",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 7484,
   "name": "team_2_panel",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 7488,
   "name": "player_colours_1",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 7496,
   "name": "f_1D48",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 7497,
   "name": "player_colours_2",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 7507,
   "name": "possession_colour_1",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 7508,
   "name": "possession_colour_2",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 7509,
   "name": "kickoff_cols_1",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 7518,
   "name": "kickoff_cols_2",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 7527,
   "name": "kickoff_rows_1",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 7536,
   "name": "kickoff_rows_2",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 7545,
   "name": "runout_rows_1",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 7554,
   "name": "runout_rows_2",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 7563,
   "name": "ends_1",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 7572,
   "name": "ends_2",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 7582,
   "name": "area_left_1",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 7591,
   "name": "area_left_2",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 7600,
   "name": "area_top_1",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 7609,
   "name": "area_top_2",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 7618,
   "name": "area_right_1",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 7627,
   "name": "area_right_2",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 7636,
   "name": "area_bottom_1",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 7645,
   "name": "area_bottom_2",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 7654,
   "name": "menu_items_0",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 7700,
   "name": "menu_tables",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 7701,
   "name": "f_1E15",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 7708,
   "name": "menu_items_1",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 7758,
   "name": "menu_items_2",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 7804,
   "name": "menu_items_3",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 7846,
   "name": "messages",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 7857,
   "name": "text_p1_wins",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 7874,
   "name": "text_p2_wins",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 7891,
   "name": "text_player_one",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 7903,
   "name": "text_player_two",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 7915,
   "name": "text_you_won",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 7924,
   "name": "text_you_lost",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 7934,
   "name": "text_game_drawn",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 7946,
   "name": "text_match_drawn",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 7959,
   "name": "text_goal",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 7965,
   "name": "text_substitution",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 7979,
   "name": "text_speedball",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 7991,
   "name": "text_press_fire",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 8002,
   "name": "text_select_game",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 8014,
   "name": "text_win_for",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 8025,
   "name": "text_cup_won",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 8062,
   "name": "text_promotion",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 8100,
   "name": "text_league_won",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 8105,
   "name": "a_1FA9",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 8198,
   "name": "text_overall_win",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 8235,
   "name": "text_overall_loss",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 8269,
   "name": "text_of",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 8274,
   "name": "match_frame",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 8285,
   "name": "b_205D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 8314,
   "name": "r_207A",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 8315,
   "name": "b_207B",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 8343,
   "name": "b_2097",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 8361,
   "name": "a_20A9",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 8363,
   "name": "b_20AB",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 8371,
   "name": "j_20B3",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 8393,
   "name": "b_20C9",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 8396,
   "name": "b_20CC",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 8399,
   "name": "b_20CF",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 8405,
   "name": "b_20D5",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 8419,
   "name": "b_20E3",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 8422,
   "name": "j_20E6",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 8438,
   "name": "b_20F6",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 8454,
   "name": "b_2106",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 8463,
   "name": "b_210F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 8482,
   "name": "b_2122",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 8494,
   "name": "b_212E",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 8505,
   "name": "b_2139",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 8515,
   "name": "match_cheat_keys",
   "type": "Branch",
   "kind": "user"
  },
  {
   "address": 8531,
   "name": "b_2153",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 8542,
   "name": "b_215E",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 8557,
   "name": "b_216D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 8570,
   "name": "b_217A",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 8594,
   "name": "b_2192",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 8598,
   "name": "b_2196",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 8608,
   "name": "b_21A0",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 8621,
   "name": "b_21AD",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 8632,
   "name": "j_21B8",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 8672,
   "name": "b_21E0",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 8697,
   "name": "b_21F9",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 8702,
   "name": "b_21FE",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 8715,
   "name": "b_220B",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 8720,
   "name": "b_2210",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 8744,
   "name": "scroll_flip",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 8765,
   "name": "match_end_frame",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 8787,
   "name": "b_2253",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 8794,
   "name": "b_225A",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 8873,
   "name": "a_22A9",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 8879,
   "name": "fine_scroll",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 8900,
   "name": "fine_scroll_steps",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 8908,
   "name": "players_control",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 8919,
   "name": "b_22D7",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 8926,
   "name": "r_22DE",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 8927,
   "name": "b_22DF",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 8952,
   "name": "b_22F8",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 8955,
   "name": "b_22FB",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 8976,
   "name": "b_2310",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 8979,
   "name": "r_2313",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 8980,
   "name": "b_2314",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 8999,
   "name": "b_2327",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 9006,
   "name": "r_232E",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 9007,
   "name": "reverse_stick",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 9056,
   "name": "objects_visible",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 9060,
   "name": "b_2364",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 9064,
   "name": "b_2368",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 9070,
   "name": "b_236E",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 9107,
   "name": "b_2393",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 9126,
   "name": "objects_move",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 9128,
   "name": "b_23A8",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 9166,
   "name": "j_23CE",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 9171,
   "name": "b_23D3",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 9188,
   "name": "j_23E4",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 9201,
   "name": "b_23F1",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 9207,
   "name": "b_23F7",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 9233,
   "name": "b_2411",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 9259,
   "name": "b_242B",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 9270,
   "name": "b_2436",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 9281,
   "name": "b_2441",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 9317,
   "name": "b_2465",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 9320,
   "name": "b_2468",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 9333,
   "name": "j_2475",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 9364,
   "name": "j_2494",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 9389,
   "name": "r_24AD",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 9390,
   "name": "b_24AE",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 9416,
   "name": "b_24C8",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 9442,
   "name": "clear_season",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 9446,
   "name": "b_24E6",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 9455,
   "name": "clear_cup",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 9459,
   "name": "b_24F3",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 9468,
   "name": "new_game_state",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 9472,
   "name": "b_2500",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 9504,
   "name": "b_2520",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 9516,
   "name": "b_252C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 9526,
   "name": "b_2536",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 9535,
   "name": "b_253F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 9553,
   "name": "match_reset",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 9587,
   "name": "b_2573",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 9597,
   "name": "b_257D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 9613,
   "name": "b_258D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 9619,
   "name": "b_2593",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 9626,
   "name": "clock_reset",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 9634,
   "name": "b_25A2",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 9641,
   "name": "match_sides",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 9657,
   "name": "b_25B9",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 9672,
   "name": "b_25C8",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 9687,
   "name": "b_25D7",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 9781,
   "name": "b_2635",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 9783,
   "name": "b_2637",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 9798,
   "name": "arena_unpack_list",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 9815,
   "name": "match_setup",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 10025,
   "name": "b_2729",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 10072,
   "name": "b_2758",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 10082,
   "name": "b_2762",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 10116,
   "name": "b_2784",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 10153,
   "name": "a_27A9",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 10159,
   "name": "b_27AF",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 10168,
   "name": "b_27B8",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 10309,
   "name": "b_2845",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 10367,
   "name": "b_287F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 10378,
   "name": "b_288A",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 10384,
   "name": "b_2890",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 10393,
   "name": "b_2899",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 10404,
   "name": "b_28A4",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 10409,
   "name": "a_28A9",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 10410,
   "name": "b_28AA",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 10480,
   "name": "b_28F0",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 10543,
   "name": "b_292F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 10551,
   "name": "b_2937",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 10556,
   "name": "b_293C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 10564,
   "name": "b_2944",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 10570,
   "name": "b_294A",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 10572,
   "name": "b_294C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 10580,
   "name": "b_2954",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 10583,
   "name": "j_2957",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 10589,
   "name": "b_295D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 10595,
   "name": "b_2963",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 10617,
   "name": "b_2979",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 10639,
   "name": "b_298F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 10731,
   "name": "map_translate",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 10735,
   "name": "b_29EF",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 10739,
   "name": "b_29F3",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 10754,
   "name": "b_2A02",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 10763,
   "name": "mirror_pairs",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 10863,
   "name": "copy_pairs",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 10909,
   "name": "control_markers",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 10958,
   "name": "b_2ACE",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 10964,
   "name": "b_2AD4",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 10968,
   "name": "j_2AD8",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 11017,
   "name": "b_2B09",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 11021,
   "name": "b_2B0D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 11026,
   "name": "ball_frame",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 11042,
   "name": "b_2B22",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 11052,
   "name": "b_2B2C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 11066,
   "name": "b_2B3A",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 11072,
   "name": "b_2B40",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 11082,
   "name": "b_2B4A",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 11089,
   "name": "b_2B51",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 11102,
   "name": "b_2B5E",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 11126,
   "name": "b_2B76",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 11135,
   "name": "b_2B7F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 11177,
   "name": "a_2BA9",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 11178,
   "name": "b_2BAA",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 11251,
   "name": "b_2BF3",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 11269,
   "name": "b_2C05",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 11274,
   "name": "j_2C0A",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 11312,
   "name": "b_2C30",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 11321,
   "name": "j_2C39",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 11324,
   "name": "b_2C3C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 11327,
   "name": "b_2C3F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 11342,
   "name": "b_2C4E",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 11361,
   "name": "multiplier_ramp",
   "type": "Branch",
   "kind": "user"
  },
  {
   "address": 11373,
   "name": "j_2C6D",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 11379,
   "name": "b_2C73",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 11403,
   "name": "b_2C8B",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 11414,
   "name": "b_2C96",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 11424,
   "name": "b_2CA0",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 11433,
   "name": "a_2CA9",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 11445,
   "name": "b_2CB5",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 11463,
   "name": "j_2CC7",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 11517,
   "name": "b_2CFD",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 11533,
   "name": "b_2D0D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 11549,
   "name": "b_2D1D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 11565,
   "name": "b_2D2D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 11605,
   "name": "b_2D55",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 11609,
   "name": "pick_up",
   "type": "Branch",
   "kind": "user"
  },
  {
   "address": 11615,
   "name": "b_2D5F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 11678,
   "name": "b_2D9E",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 11700,
   "name": "b_2DB4",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 11707,
   "name": "r_2DBB",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 11708,
   "name": "b_2DBC",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 11720,
   "name": "b_2DC8",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 11754,
   "name": "b_2DEA",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 11761,
   "name": "nearest_player",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 11795,
   "name": "b_2E13",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 11807,
   "name": "b_2E1F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 11821,
   "name": "b_2E2D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 11825,
   "name": "b_2E31",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 11845,
   "name": "b_2E45",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 11873,
   "name": "b_2E61",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 11887,
   "name": "b_2E6F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 11899,
   "name": "b_2E7B",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 11916,
   "name": "b_2E8C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 11929,
   "name": "b_2E99",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 11940,
   "name": "bounce_dome",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 11945,
   "name": "a_2EA9",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 11966,
   "name": "b_2EBE",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 11979,
   "name": "b_2ECB",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 11987,
   "name": "j_2ED3",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 12002,
   "name": "b_2EE2",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 12047,
   "name": "b_2F0F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 12056,
   "name": "electrobounce",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 12085,
   "name": "b_2F35",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 12095,
   "name": "j_2F3F",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 12114,
   "name": "b_2F52",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 12120,
   "name": "j_2F58",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 12133,
   "name": "b_2F65",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 12176,
   "name": "b_2F90",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 12200,
   "name": "bounce_away",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 12218,
   "name": "b_2FBA",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 12242,
   "name": "b_2FD2",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 12255,
   "name": "b_2FDF",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 12263,
   "name": "r_2FE7",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 12264,
   "name": "spawn_pickup",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 12266,
   "name": "b_2FEA",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 12270,
   "name": "b_2FEE",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 12276,
   "name": "b_2FF4",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 12289,
   "name": "b_3001",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 12304,
   "name": "b_3010",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 12326,
   "name": "b_3026",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 12340,
   "name": "b_3034",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 12348,
   "name": "b_303C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 12374,
   "name": "b_3056",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 12393,
   "name": "a_3069",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 12397,
   "name": "r_306D",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 12398,
   "name": "pickups_spin",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 12425,
   "name": "b_3089",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 12432,
   "name": "r_3090",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 12433,
   "name": "pickup_take",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 12463,
   "name": "pickup_handlers",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 12464,
   "name": "f_30B0",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 12527,
   "name": "attribute_offsets",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 12535,
   "name": "pickup_coin",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 12547,
   "name": "b_3103",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 12550,
   "name": "armour_wear",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 12590,
   "name": "j_312E",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 12611,
   "name": "b_3143",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 12614,
   "name": "j_3146",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 12635,
   "name": "armour_lose",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 12690,
   "name": "b_3192",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 12693,
   "name": "token_start",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 12699,
   "name": "b_319B",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 12710,
   "name": "b_31A6",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 12722,
   "name": "b_31B2",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 12757,
   "name": "b_31D5",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 12787,
   "name": "b_31F3",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 12812,
   "name": "token_tick",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 12825,
   "name": "r_3219",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 12826,
   "name": "b_321A",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 12831,
   "name": "token_end",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 12843,
   "name": "b_322B",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 12856,
   "name": "b_3238",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 12871,
   "name": "b_3247",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 12884,
   "name": "token_panel_cells",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 12896,
   "name": "f_3260",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 12908,
   "name": "token_grab_ball",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 12936,
   "name": "token_transport",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 12973,
   "name": "token_zap_team",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 12988,
   "name": "b_32BC",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 12996,
   "name": "b_32C4",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 13008,
   "name": "r_32D0",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 13009,
   "name": "token_full_energy",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 13019,
   "name": "token_goal_door",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 13030,
   "name": "b_32E6",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 13035,
   "name": "token_shield",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 13046,
   "name": "b_32F6",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 13051,
   "name": "token_reverse",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 13062,
   "name": "b_3306",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 13067,
   "name": "token_reduce",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 13082,
   "name": "token_increase",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 13097,
   "name": "token_manic",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 13104,
   "name": "b_3330",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 13113,
   "name": "token_slow",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 13125,
   "name": "b_3345",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 13134,
   "name": "token_freeze",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 13144,
   "name": "b_3358",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 13154,
   "name": "b_3362",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 13160,
   "name": "pitch_halves_colour",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 13179,
   "name": "b_337B",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 13210,
   "name": "b_339A",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 13225,
   "name": "b_33A9",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 13250,
   "name": "b_33C2",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 13253,
   "name": "b_33C5",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 13256,
   "name": "b_33C8",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 13262,
   "name": "b_33CE",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 13267,
   "name": "side_wall_hit",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 13276,
   "name": "b_33DC",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 13330,
   "name": "b_3412",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 13348,
   "name": "b_3424",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 13363,
   "name": "b_3433",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 13407,
   "name": "b_345F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 13422,
   "name": "j_346E",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 13427,
   "name": "j_3473",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 13451,
   "name": "b_348B",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 13465,
   "name": "j_3499",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 13496,
   "name": "b_34B8",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 13499,
   "name": "b_34BB",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 13506,
   "name": "throw_speed_of",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 13511,
   "name": "multiplier_points",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 13544,
   "name": "star_light",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 13551,
   "name": "b_34EF",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 13565,
   "name": "star_draw",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 13568,
   "name": "j_3500",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 13594,
   "name": "b_351A",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 13674,
   "name": "b_356A",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 13700,
   "name": "b_3584",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 13704,
   "name": "b_3588",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 13720,
   "name": "b_3598",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 13747,
   "name": "b_35B3",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 13759,
   "name": "b_35BF",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 13761,
   "name": "star_unlight",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 13768,
   "name": "b_35C8",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 13779,
   "name": "stars_complete",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 13811,
   "name": "j_35F3",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 13822,
   "name": "b_35FE",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 13859,
   "name": "r_3623",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 13860,
   "name": "stars_all_lit",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 13876,
   "name": "multiplier_lights",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 13919,
   "name": "stars_redraw",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 13921,
   "name": "b_3661",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 13933,
   "name": "b_366D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 13937,
   "name": "ramp_ride",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 13948,
   "name": "b_367C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 13986,
   "name": "b_36A2",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 14035,
   "name": "b_36D3",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 14074,
   "name": "r_36FA",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 14075,
   "name": "b_36FB",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 14090,
   "name": "b_370A",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 14101,
   "name": "ramp_path_x",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 14133,
   "name": "ramp_path_y",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 14165,
   "name": "star_rows",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 14179,
   "name": "star_cols",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 14193,
   "name": "star_map_lo",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 14207,
   "name": "f_377F",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 14221,
   "name": "star_screen_lo",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 14235,
   "name": "f_379B",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 14249,
   "name": "star_lit_blocks",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 14259,
   "name": "star_out_blocks",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 14269,
   "name": "multiplier_light_blocks",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 14274,
   "name": "f_37C2",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 14279,
   "name": "f_37C7",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 14284,
   "name": "f_37CC",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 14290,
   "name": "throw",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 14399,
   "name": "throw_speed",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 14412,
   "name": "r_384C",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 14413,
   "name": "jump",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 14440,
   "name": "tackle",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 14480,
   "name": "b_3890",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 14517,
   "name": "b_38B5",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 14529,
   "name": "j_38C1",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 14554,
   "name": "b_38DA",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 14565,
   "name": "b_38E5",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 14604,
   "name": "b_390C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 14610,
   "name": "b_3912",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 14624,
   "name": "b_3920",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 14630,
   "name": "b_3926",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 14674,
   "name": "b_3952",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 14681,
   "name": "b_3959",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 14701,
   "name": "b_396D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 14711,
   "name": "b_3977",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 14720,
   "name": "b_3980",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 14732,
   "name": "b_398C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 14749,
   "name": "b_399D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 14782,
   "name": "b_39BE",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 14798,
   "name": "r_39CE",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 14799,
   "name": "injured",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 14895,
   "name": "b_3A2F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 14922,
   "name": "injury_subs",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 14930,
   "name": "keeper_dive_left",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 14951,
   "name": "j_3A67",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 14961,
   "name": "keeper_dive_right",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 14985,
   "name": "slide",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 15012,
   "name": "player_input",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 15019,
   "name": "b_3AAB",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 15041,
   "name": "b_3AC1",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 15050,
   "name": "b_3ACA",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 15059,
   "name": "b_3AD3",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 15068,
   "name": "b_3ADC",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 15091,
   "name": "b_3AF3",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 15097,
   "name": "b_3AF9",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 15112,
   "name": "b_3B08",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 15132,
   "name": "b_3B1C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 15135,
   "name": "j_3B1F",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 15147,
   "name": "r_3B2B",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 15148,
   "name": "players_contact",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 15153,
   "name": "b_3B31",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 15157,
   "name": "j_3B35",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 15166,
   "name": "b_3B3E",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 15180,
   "name": "b_3B4C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 15189,
   "name": "b_3B55",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 15201,
   "name": "b_3B61",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 15208,
   "name": "b_3B68",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 15216,
   "name": "b_3B70",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 15285,
   "name": "b_3BB5",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 15330,
   "name": "b_3BE2",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 15357,
   "name": "b_3BFD",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 15362,
   "name": "j_3C02",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 15383,
   "name": "b_3C17",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 15388,
   "name": "j_3C1C",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 15405,
   "name": "block_dirs",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 15412,
   "name": "j_3C34",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 15414,
   "name": "b_3C36",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 15464,
   "name": "b_3C68",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 15469,
   "name": "j_3C6D",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 15495,
   "name": "b_3C87",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 15498,
   "name": "b_3C8A",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 15506,
   "name": "b_3C92",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 15516,
   "name": "b_3C9C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 15526,
   "name": "b_3CA6",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 15537,
   "name": "b_3CB1",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 15551,
   "name": "b_3CBF",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 15556,
   "name": "b_3CC4",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 15580,
   "name": "b_3CDC",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 15588,
   "name": "b_3CE4",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 15591,
   "name": "b_3CE7",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 15645,
   "name": "b_3D1D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 15654,
   "name": "b_3D26",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 15658,
   "name": "b_3D2A",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 15690,
   "name": "b_3D4A",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 15696,
   "name": "j_3D50",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 15699,
   "name": "j_3D53",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 15718,
   "name": "b_3D66",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 15721,
   "name": "players_animate",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 15726,
   "name": "b_3D6E",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 15730,
   "name": "j_3D72",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 15737,
   "name": "b_3D79",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 15776,
   "name": "b_3DA0",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 15782,
   "name": "j_3DA6",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 15785,
   "name": "b_3DA9",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 15793,
   "name": "throw_aftertouch",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 15797,
   "name": "r_3DB5",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 15798,
   "name": "b_3DB6",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 15819,
   "name": "b_3DCB",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 15824,
   "name": "b_3DD0",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 15829,
   "name": "b_3DD5",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 15837,
   "name": "j_3DDD",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 15850,
   "name": "b_3DEA",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 15883,
   "name": "b_3E0B",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 15902,
   "name": "b_3E1E",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 15928,
   "name": "b_3E38",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 15947,
   "name": "r_3E4B",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 15948,
   "name": "player_resume",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 15957,
   "name": "player_yield",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 15968,
   "name": "coroutine_idle",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 15974,
   "name": "player_ai",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 15987,
   "name": "r_3E73",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 15988,
   "name": "b_3E74",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16003,
   "name": "b_3E83",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16015,
   "name": "b_3E8F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16041,
   "name": "a_3EA9",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 16064,
   "name": "b_3EC0",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16072,
   "name": "b_3EC8",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16078,
   "name": "b_3ECE",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16080,
   "name": "b_3ED0",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16083,
   "name": "b_3ED3",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16097,
   "name": "b_3EE1",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16105,
   "name": "j_3EE9",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 16115,
   "name": "move_towards",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 16126,
   "name": "b_3EFE",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16129,
   "name": "b_3F01",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16144,
   "name": "b_3F10",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16147,
   "name": "b_3F13",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16163,
   "name": "b_3F23",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16170,
   "name": "j_3F2A",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 16178,
   "name": "b_3F32",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16186,
   "name": "b_3F3A",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16194,
   "name": "b_3F42",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16217,
   "name": "b_3F59",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16220,
   "name": "b_3F5C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16223,
   "name": "b_3F5F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16239,
   "name": "b_3F6F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16243,
   "name": "j_3F73",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 16252,
   "name": "b_3F7C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16260,
   "name": "b_3F84",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16287,
   "name": "b_3F9F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16301,
   "name": "j_3FAD",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 16332,
   "name": "b_3FCC",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16349,
   "name": "b_3FDD",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16352,
   "name": "j_3FE0",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 16362,
   "name": "j_3FEA",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 16365,
   "name": "pickup_near",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 16371,
   "name": "b_3FF3",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16390,
   "name": "b_4006",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16406,
   "name": "b_4016",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16410,
   "name": "b_401A",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16417,
   "name": "b_4021",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16419,
   "name": "shot_check",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 16429,
   "name": "b_402D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16457,
   "name": "b_4049",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16472,
   "name": "b_4058",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16481,
   "name": "b_4061",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16485,
   "name": "b_4065",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16517,
   "name": "b_4085",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16547,
   "name": "b_40A3",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16573,
   "name": "b_40BD",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16591,
   "name": "b_40CF",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16593,
   "name": "f_40D1",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 16595,
   "name": "way_upfield",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 16608,
   "name": "b_40E0",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16610,
   "name": "b_40E2",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16615,
   "name": "way_left",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 16632,
   "name": "b_40F8",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16635,
   "name": "way_right",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 16652,
   "name": "b_410C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16655,
   "name": "pass_ball",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 16675,
   "name": "b_4123",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16695,
   "name": "b_4137",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16711,
   "name": "b_4147",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16732,
   "name": "b_415C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16737,
   "name": "b_4161",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16748,
   "name": "b_416C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16759,
   "name": "f_4177",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 16786,
   "name": "b_4192",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16802,
   "name": "b_41A2",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16823,
   "name": "b_41B7",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16827,
   "name": "b_41BB",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16841,
   "name": "b_41C9",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16867,
   "name": "b_41E3",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16868,
   "name": "throw_lob",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 16880,
   "name": "shoot",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 16897,
   "name": "b_4201",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16906,
   "name": "j_420A",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 16931,
   "name": "b_4223",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16935,
   "name": "b_4227",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16948,
   "name": "b_4234",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16951,
   "name": "b_4237",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16953,
   "name": "b_4239",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16964,
   "name": "throw_away",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 16972,
   "name": "b_424C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16976,
   "name": "j_4250",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 16985,
   "name": "b_4259",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 16998,
   "name": "keeper_ai",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 17028,
   "name": "b_4284",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 17047,
   "name": "b_4297",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 17054,
   "name": "b_429E",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 17071,
   "name": "b_42AF",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 17077,
   "name": "b_42B5",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 17080,
   "name": "distance_to",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 17092,
   "name": "b_42C4",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 17106,
   "name": "b_42D2",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 17110,
   "name": "stick_to_object",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 17120,
   "name": "stick_towards",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 17140,
   "name": "b_42F4",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 17143,
   "name": "b_42F7",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 17167,
   "name": "b_430F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 17170,
   "name": "b_4312",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 17190,
   "name": "b_4326",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 17204,
   "name": "b_4334",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 17207,
   "name": "walk_to_place",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 17233,
   "name": "b_4351",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 17243,
   "name": "b_435B",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 17255,
   "name": "b_4367",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 17280,
   "name": "b_4380",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 17290,
   "name": "b_438A",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 17302,
   "name": "b_4396",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 17315,
   "name": "b_43A3",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 17319,
   "name": "team_mate_ai",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 17331,
   "name": "b_43B3",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 17341,
   "name": "b_43BD",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 17353,
   "name": "b_43C9",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 17367,
   "name": "b_43D7",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 17380,
   "name": "b_43E4",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 17388,
   "name": "b_43EC",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 17405,
   "name": "b_43FD",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 17419,
   "name": "b_440B",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 17440,
   "name": "b_4420",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 17450,
   "name": "b_442A",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 17465,
   "name": "b_4439",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 17478,
   "name": "b_4446",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 17481,
   "name": "b_4449",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 17484,
   "name": "go_to",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 17494,
   "name": "go_on",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 17506,
   "name": "b_4462",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 17509,
   "name": "b_4465",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 17525,
   "name": "b_4475",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 17528,
   "name": "b_4478",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 17545,
   "name": "b_4489",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 17560,
   "name": "step_aside",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 17570,
   "name": "b_44A2",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 17584,
   "name": "b_44B0",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 17589,
   "name": "keeper_place",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 17602,
   "name": "b_44C2",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 17629,
   "name": "b_44DD",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 17644,
   "name": "b_44EC",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 17655,
   "name": "b_44F7",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 17670,
   "name": "b_4506",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 17682,
   "name": "b_4512",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 17702,
   "name": "b_4526",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 17705,
   "name": "b_4529",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 17708,
   "name": "b_452C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 17712,
   "name": "b_4530",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 17719,
   "name": "forward_place",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 17730,
   "name": "b_4542",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 17736,
   "name": "j_4548",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 17743,
   "name": "b_454F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 17762,
   "name": "b_4562",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 17778,
   "name": "b_4572",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 17805,
   "name": "b_458D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 17815,
   "name": "b_4597",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 17823,
   "name": "b_459F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 17837,
   "name": "b_45AD",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 17847,
   "name": "b_45B7",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 17855,
   "name": "b_45BF",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 17860,
   "name": "cover",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 17876,
   "name": "b_45D4",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 17884,
   "name": "b_45DC",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 17896,
   "name": "b_45E8",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 17913,
   "name": "b_45F9",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 17930,
   "name": "b_460A",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 17943,
   "name": "b_4617",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 17946,
   "name": "j_461A",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 17966,
   "name": "b_462E",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 17984,
   "name": "b_4640",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 17989,
   "name": "j_4645",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 18002,
   "name": "b_4652",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 18005,
   "name": "j_4655",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 18013,
   "name": "b_465D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 18021,
   "name": "b_4665",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 18026,
   "name": "hold_row",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 18037,
   "name": "b_4675",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 18045,
   "name": "b_467D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 18062,
   "name": "b_468E",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 18081,
   "name": "b_46A1",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 18097,
   "name": "b_46B1",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 18102,
   "name": "j_46B6",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 18110,
   "name": "b_46BE",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 18118,
   "name": "b_46C6",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 18123,
   "name": "go_in_area",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 18133,
   "name": "b_46D5",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 18141,
   "name": "b_46DD",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 18153,
   "name": "b_46E9",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 18161,
   "name": "b_46F1",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 18166,
   "name": "lead_target",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 18225,
   "name": "b_4731",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 18256,
   "name": "run_dir",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 18286,
   "name": "b_476E",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 18291,
   "name": "run_dir_routines",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 18292,
   "name": "f_4774",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 18307,
   "name": "run_up",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 18328,
   "name": "run_up_right",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 18349,
   "name": "run_right",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 18364,
   "name": "run_down_right",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 18379,
   "name": "run_down",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 18394,
   "name": "run_down_left",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 18415,
   "name": "run_left",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 18436,
   "name": "run_up_left",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 18455,
   "name": "forward_places_lo",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 18467,
   "name": "f_4823",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 18479,
   "name": "forward_places",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 18695,
   "name": "slow_down",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 18710,
   "name": "b_4916",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 18713,
   "name": "j_4919",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 18745,
   "name": "r_4939",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 18746,
   "name": "b_493A",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 18773,
   "name": "r_4955",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 18774,
   "name": "slow_up_y",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 18801,
   "name": "r_4971",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 18802,
   "name": "slow_down_y",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 18829,
   "name": "r_498D",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 18830,
   "name": "unpack",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 18848,
   "name": "b_49A0",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 18864,
   "name": "b_49B0",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 18884,
   "name": "b_49C4",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 18898,
   "name": "b_49D2",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 18904,
   "name": "b_49D8",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 18911,
   "name": "b_49DF",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 18925,
   "name": "b_49ED",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 18940,
   "name": "b_49FC",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 18951,
   "name": "b_4A07",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 18954,
   "name": "random",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 18968,
   "name": "noise_on",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 18982,
   "name": "noise_off",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 18996,
   "name": "wait_frame",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 19001,
   "name": "b_4A39",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 19007,
   "name": "fill",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 19009,
   "name": "b_4A41",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 19017,
   "name": "b_4A49",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 19030,
   "name": "copy",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 19032,
   "name": "b_4A58",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 19042,
   "name": "b_4A62",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 19048,
   "name": "b_4A68",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 19061,
   "name": "read_input",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 19118,
   "name": "b_4AAE",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 19155,
   "name": "j_4AD3",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 19159,
   "name": "b_4AD7",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 19203,
   "name": "b_4B03",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 19234,
   "name": "b_4B22",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 19265,
   "name": "b_4B41",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 19268,
   "name": "j_4B44",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 19285,
   "name": "unpack_list",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 19295,
   "name": "b_4B5F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 19330,
   "name": "b_4B82",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 19335,
   "name": "irq_null",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 19339,
   "name": "nmi",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 19342,
   "name": "jump_29",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 19345,
   "name": "divide",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 19361,
   "name": "b_4BA1",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 19384,
   "name": "b_4BB8",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 19396,
   "name": "multiply",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 19406,
   "name": "b_4BCE",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 19408,
   "name": "b_4BD0",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 19415,
   "name": "b_4BD7",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 19419,
   "name": "times_10",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 19427,
   "name": "rating_to_attr",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 19437,
   "name": "wait_and_read",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 19443,
   "name": "tape_motor",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 19455,
   "name": "b_4BFF",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 19462,
   "name": "j_4C06",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 19470,
   "name": "fade_out",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 19472,
   "name": "b_4C10",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 19512,
   "name": "b_4C38",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 19516,
   "name": "j_4C3C",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 19596,
   "name": "b_4C8C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 19613,
   "name": "b_4C9D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 19638,
   "name": "b_4CB6",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 19641,
   "name": "j_4CB9",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 19648,
   "name": "b_4CC0",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 19652,
   "name": "fade_colour_ram",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 19654,
   "name": "b_4CC6",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 19669,
   "name": "b_4CD5",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 19684,
   "name": "b_4CE4",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 19699,
   "name": "b_4CF3",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 19715,
   "name": "fade_bitmap_colours",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 19717,
   "name": "b_4D05",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 19738,
   "name": "b_4D1A",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 19759,
   "name": "b_4D2F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 19780,
   "name": "b_4D44",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 19820,
   "name": "darker_colour",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 19836,
   "name": "darker_mc",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 19852,
   "name": "sprite_rows",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 19865,
   "name": "b_4D99",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 19867,
   "name": "b_4D9B",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 19879,
   "name": "b_4DA7",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 19894,
   "name": "b_4DB6",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 19911,
   "name": "b_4DC7",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 19919,
   "name": "r_4DCF",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 19920,
   "name": "b_4DD0",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 19923,
   "name": "j_4DD3",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 19937,
   "name": "b_4DE1",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 19948,
   "name": "b_4DEC",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 19955,
   "name": "r_4DF3",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 19956,
   "name": "mirror_table",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 19958,
   "name": "b_4DF6",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 19992,
   "name": "sprite_mirror",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 19998,
   "name": "b_4E1E",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 20038,
   "name": "mirror_pairs_do",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 20051,
   "name": "b_4E53",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 20061,
   "name": "r_4E5D",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 20062,
   "name": "sprite_copy",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 20079,
   "name": "b_4E6F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 20088,
   "name": "b_4E78",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 20097,
   "name": "b_4E81",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 20104,
   "name": "b_4E88",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 20108,
   "name": "r_4E8C",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 20109,
   "name": "frame_pair_addr",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 20159,
   "name": "r_4EBF",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 20160,
   "name": "tile_screen_c8",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 20169,
   "name": "tile_screen_cc",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 20183,
   "name": "b_4ED7",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 20190,
   "name": "show_picture_7afc",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 20197,
   "name": "tile_screen",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 20199,
   "name": "b_4EE7",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 20210,
   "name": "b_4EF2",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 20248,
   "name": "b_4F18",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 20278,
   "name": "b_4F36",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 20284,
   "name": "b_4F3C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 20295,
   "name": "b_4F47",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 20306,
   "name": "tile_fill",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 20322,
   "name": "b_4F62",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 20332,
   "name": "b_4F6C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 20343,
   "name": "draw_tile",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 20359,
   "name": "b_4F87",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 20374,
   "name": "b_4F96",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 20392,
   "name": "b_4FA8",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 20401,
   "name": "b_4FB1",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 20409,
   "name": "b_4FB9",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 20421,
   "name": "b_4FC5",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 20423,
   "name": "b_4FC7",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 20467,
   "name": "show_picture",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 20529,
   "name": "b_5031",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 20537,
   "name": "screen_on",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 20544,
   "name": "b_5040",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 20579,
   "name": "screen_off",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 20599,
   "name": "print_char",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 20602,
   "name": "print_char_colour",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 20617,
   "name": "b_5089",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 20648,
   "name": "print_nibble_hi",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 20652,
   "name": "print_nibble",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 20697,
   "name": "r_50D9",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 20698,
   "name": "print_char_tall",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 20757,
   "name": "tall_nibble_hi",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 20761,
   "name": "tall_nibble",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 20795,
   "name": "r_513B",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 20796,
   "name": "plot",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 20809,
   "name": "b_5149",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 20816,
   "name": "b_5150",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 20853,
   "name": "b_5175",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 20859,
   "name": "b_517B",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 20881,
   "name": "print_big",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 20903,
   "name": "j_51A7",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 20910,
   "name": "b_51AE",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 20921,
   "name": "b_51B9",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 20947,
   "name": "b_51D3",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 20970,
   "name": "b_51EA",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 20982,
   "name": "b_51F6",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 20988,
   "name": "b_51FC",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 21004,
   "name": "merge_byte",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 21033,
   "name": "print_sprite_text",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 21037,
   "name": "b_522D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 21059,
   "name": "b_5243",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 21065,
   "name": "b_5249",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 21067,
   "name": "b_524B",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 21076,
   "name": "r_5254",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 21077,
   "name": "sprite_char",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 21106,
   "name": "b_5272",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 21133,
   "name": "j_528D",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 21138,
   "name": "b_5292",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 21172,
   "name": "sprite_next_row",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 21174,
   "name": "sprite_offset",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 21195,
   "name": "draw_sprites",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 21197,
   "name": "b_52CD",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 21248,
   "name": "b_5300",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 21252,
   "name": "b_5304",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 21277,
   "name": "b_531D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 21282,
   "name": "b_5322",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 21289,
   "name": "b_5329",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 21316,
   "name": "b_5344",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 21324,
   "name": "team_2_ratings",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 21432,
   "name": "swap_squads",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 21434,
   "name": "b_53BA",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 21483,
   "name": "squad_to_team_2",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 21489,
   "name": "squad_to_team_1",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 21492,
   "name": "b_53F4",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 21500,
   "name": "b_53FC",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 21504,
   "name": "b_5400",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 21553,
   "name": "league_result",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 21738,
   "name": "league_sort",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 21740,
   "name": "b_54EC",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 21780,
   "name": "sort_division",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 21788,
   "name": "b_551C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 21794,
   "name": "b_5522",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 21836,
   "name": "b_554C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 21848,
   "name": "league_better",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 21914,
   "name": "r_559A",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 21915,
   "name": "simulate_match",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 21920,
   "name": "a_55A0",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 22158,
   "name": "transfer_init",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 22160,
   "name": "b_5690",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 22176,
   "name": "b_56A0",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 22185,
   "name": "transfer_week",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 22187,
   "name": "b_56AB",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 22207,
   "name": "b_56BF",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 22234,
   "name": "b_56DA",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 22240,
   "name": "b_56E0",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 22252,
   "name": "b_56EC",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 22254,
   "name": "b_56EE",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 22268,
   "name": "b_56FC",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 22276,
   "name": "b_5704",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 22281,
   "name": "b_5709",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 22285,
   "name": "colour_screen",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 22288,
   "name": "j_5710",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 22302,
   "name": "b_571E",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 22325,
   "name": "j_5735",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 22345,
   "name": "b_5749",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 22365,
   "name": "b_575D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 22368,
   "name": "b_5760",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 22378,
   "name": "colour_step",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 22389,
   "name": "b_5775",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 22392,
   "name": "b_5778",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 22403,
   "name": "colour_band",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 22419,
   "name": "b_5793",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 22421,
   "name": "b_5795",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 22438,
   "name": "b_57A6",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 22443,
   "name": "colour_band_2",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 22464,
   "name": "b_57C0",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 22473,
   "name": "b_57C9",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 22478,
   "name": "b_57CE",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 22489,
   "name": "b_57D9",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 22493,
   "name": "band_colours",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 22501,
   "name": "next_fixture",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 22604,
   "name": "b_584C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 22618,
   "name": "fixture_week",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 22641,
   "name": "b_5871",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 22648,
   "name": "statistics",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 22770,
   "name": "cup_screen",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 22798,
   "name": "b_590E",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 22811,
   "name": "b_591B",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 22814,
   "name": "fixture_list",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 22838,
   "name": "b_5936",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 22861,
   "name": "j_594D",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 22876,
   "name": "b_595C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 22948,
   "name": "b_59A4",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 22970,
   "name": "league_table",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 22977,
   "name": "j_59C1",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 23007,
   "name": "b_59DF",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 23029,
   "name": "b_59F5",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 23077,
   "name": "league_row",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 23143,
   "name": "b_5A67",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 23146,
   "name": "b_5A6A",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 23199,
   "name": "b_5A9F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 23203,
   "name": "j_5AA3",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 23212,
   "name": "b_5AAC",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 23220,
   "name": "b_5AB4",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 23224,
   "name": "j_5AB8",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 23244,
   "name": "b_5ACC",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 23283,
   "name": "b_5AF3",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 23289,
   "name": "b_5AF9",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 23294,
   "name": "b_5AFE",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 23312,
   "name": "b_5B10",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 23321,
   "name": "b_5B19",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 23330,
   "name": "b_5B22",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 23337,
   "name": "b_5B29",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 23347,
   "name": "league_layout",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 23355,
   "name": "f_5B3B",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 23356,
   "name": "f_5B3C",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 23371,
   "name": "f_5B4B",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 23372,
   "name": "f_5B4C",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 23387,
   "name": "f_5B5B",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 23388,
   "name": "f_5B5C",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 23405,
   "name": "print_player",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 23419,
   "name": "print_team",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 23433,
   "name": "print_team_name",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 23452,
   "name": "j_5B9C",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 23457,
   "name": "b_5BA1",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 23464,
   "name": "print_fixture",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 23467,
   "name": "print_team_at",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 23481,
   "name": "b_5BB9",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 23487,
   "name": "nth_string",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 23491,
   "name": "b_5BC3",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 23493,
   "name": "b_5BC5",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 23500,
   "name": "b_5BCC",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 23510,
   "name": "b_5BD6",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 23513,
   "name": "r_5BD9",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 23514,
   "name": "print_text",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 23522,
   "name": "j_5BE2",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 23535,
   "name": "j_5BEF",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 23541,
   "name": "b_5BF5",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 23544,
   "name": "r_5BF8",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 23545,
   "name": "b_5BF9",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 23563,
   "name": "text_commands",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 23564,
   "name": "f_5C0C",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 23581,
   "name": "text_newline",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 23599,
   "name": "text_gap",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 23602,
   "name": "move_cells",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 23614,
   "name": "r_5C3E",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 23615,
   "name": "text_underline",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 23618,
   "name": "b_5C42",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 23631,
   "name": "text_num_3",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 23637,
   "name": "text_num_4",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 23643,
   "name": "text_num_7",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 23649,
   "name": "text_next",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 23655,
   "name": "b_5C67",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 23658,
   "name": "value_read",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 23664,
   "name": "b_5C70",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 23674,
   "name": "b_5C7A",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 23683,
   "name": "text_position",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 23698,
   "name": "text_rating",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 23704,
   "name": "b_5C98",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 23725,
   "name": "b_5CAD",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 23742,
   "name": "b_5CBE",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 23758,
   "name": "b_5CCE",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 23776,
   "name": "b_5CE0",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 23790,
   "name": "j_5CEE",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 23793,
   "name": "j_5CF1",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 23796,
   "name": "j_5CF4",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 23810,
   "name": "print_digit",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 23818,
   "name": "print_value",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 23832,
   "name": "print_number",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 23840,
   "name": "b_5D20",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 23853,
   "name": "b_5D2D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 23858,
   "name": "digit_split",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 23868,
   "name": "b_5D3C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 23878,
   "name": "b_5D46",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 23881,
   "name": "j_5D49",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 23896,
   "name": "j_5D58",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 23908,
   "name": "print_small",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 23926,
   "name": "menu_texts",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 23973,
   "name": "a_5DA5",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 23987,
   "name": "table_rule",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 24003,
   "name": "table_row_text",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 24024,
   "name": "text_division_1",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 24035,
   "name": "text_division_2",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 24046,
   "name": "text_results",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 24054,
   "name": "result_scores",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 24068,
   "name": "text_next_fixture",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 24081,
   "name": "text_vs",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 24085,
   "name": "team_record_text",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 24235,
   "name": "text_statistics",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 24246,
   "name": "statistics_text",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 24403,
   "name": "statistics_values",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 24435,
   "name": "gym",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 24522,
   "name": "b_5FCA",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 24587,
   "name": "gym_loop",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 24611,
   "name": "b_6023",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 24620,
   "name": "j_602C",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 24630,
   "name": "b_6036",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 24637,
   "name": "b_603D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 24646,
   "name": "b_6046",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 24654,
   "name": "b_604E",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 24663,
   "name": "b_6057",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 24672,
   "name": "b_6060",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 24686,
   "name": "b_606E",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 24702,
   "name": "b_607E",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 24716,
   "name": "b_608C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 24732,
   "name": "b_609C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 24748,
   "name": "b_60AC",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 24757,
   "name": "b_60B5",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 24789,
   "name": "b_60D5",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 24800,
   "name": "b_60E0",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 24812,
   "name": "b_60EC",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 24816,
   "name": "b_60F0",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 24836,
   "name": "b_6104",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 24838,
   "name": "b_6106",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 24853,
   "name": "b_6115",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 24877,
   "name": "b_612D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 24879,
   "name": "b_612F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 24882,
   "name": "b_6132",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 24897,
   "name": "b_6141",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 24912,
   "name": "b_6150",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 24921,
   "name": "b_6159",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 24934,
   "name": "b_6166",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 24940,
   "name": "b_616C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 24959,
   "name": "b_617F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 24962,
   "name": "gym_cursor",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 24969,
   "name": "menu_frame",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 24992,
   "name": "b_61A0",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 25017,
   "name": "r_61B9",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 25018,
   "name": "button_light",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 25032,
   "name": "b_61C8",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 25036,
   "name": "j_61CC",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 25077,
   "name": "button_dim",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 25091,
   "name": "b_6203",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 25098,
   "name": "button_press",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 25112,
   "name": "b_6218",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 25119,
   "name": "gym_sprites",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 25124,
   "name": "b_6224",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 25180,
   "name": "b_625C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 25196,
   "name": "gym_player",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 25220,
   "name": "b_6284",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 25259,
   "name": "b_62AB",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 25277,
   "name": "j_62BD",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 25282,
   "name": "r_62C2",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 25283,
   "name": "gym_clear_name",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 25295,
   "name": "b_62CF",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 25301,
   "name": "armour_names",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 25402,
   "name": "gym_buy",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 25420,
   "name": "b_634C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 25437,
   "name": "squad_raise",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 25479,
   "name": "b_6387",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 25482,
   "name": "r_638A",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 25483,
   "name": "bank_pay",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 25515,
   "name": "b_63AB",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 25532,
   "name": "bank_add",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 25556,
   "name": "bank_show",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 25566,
   "name": "b_63DE",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 25575,
   "name": "b_63E7",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 25606,
   "name": "group_size",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 25615,
   "name": "b_640F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 25620,
   "name": "bar_draw",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 25624,
   "name": "b_6418",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 25630,
   "name": "gym_bars",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 25640,
   "name": "b_6428",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 25649,
   "name": "b_6431",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 25669,
   "name": "b_6445",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 25704,
   "name": "b_6468",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 25737,
   "name": "b_6489",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 25740,
   "name": "squad_value",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 25750,
   "name": "b_6496",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 25758,
   "name": "b_649E",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 25770,
   "name": "b_64AA",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 25785,
   "name": "b_64B9",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 25796,
   "name": "b_64C4",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 25826,
   "name": "b_64E2",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 25835,
   "name": "b_64EB",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 25844,
   "name": "value_show",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 25859,
   "name": "b_6503",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 25861,
   "name": "b_6505",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 25886,
   "name": "player_value",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 25902,
   "name": "b_652E",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 25934,
   "name": "b_654E",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 25937,
   "name": "b_6551",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 25954,
   "name": "print_position",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 25962,
   "name": "b_656A",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 25977,
   "name": "attribute_bar",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 26033,
   "name": "b_65B1",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 26039,
   "name": "b_65B7",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 26050,
   "name": "b_65C2",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 26053,
   "name": "b_65C5",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 26073,
   "name": "gym_price",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 26081,
   "name": "b_65E1",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 26089,
   "name": "b_65E9",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 26108,
   "name": "b_65FC",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 26124,
   "name": "b_660C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 26140,
   "name": "b_661C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 26146,
   "name": "b_6622",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 26153,
   "name": "r_6629",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 26154,
   "name": "bar_scale",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 26158,
   "name": "b_662E",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 26174,
   "name": "b_663E",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 26184,
   "name": "b_6648",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 26195,
   "name": "b_6653",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 26211,
   "name": "b_6663",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 26238,
   "name": "gym_tables",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 26250,
   "name": "gym_button_rows",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 26262,
   "name": "sprite_figure_cols",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 26298,
   "name": "sprite_figure_rows",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 26334,
   "name": "sprite_figure_frames",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 26370,
   "name": "gym_bar_places",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 26371,
   "name": "f_6703",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 26402,
   "name": "gym_buttons",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 26430,
   "name": "attribute_prices",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 26438,
   "name": "group_sizes",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 26455,
   "name": "bar_places",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 26472,
   "name": "manager",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 26487,
   "name": "b_6777",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 26497,
   "name": "portrait",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 26509,
   "name": "b_678D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 26525,
   "name": "b_679D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 26534,
   "name": "b_67A6",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 26563,
   "name": "b_67C3",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 26569,
   "name": "b_67C9",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 26605,
   "name": "manager_draw",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 26689,
   "name": "b_6841",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 26700,
   "name": "manager_sprites",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 26702,
   "name": "b_684E",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 26766,
   "name": "manager_redraw",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 26769,
   "name": "j_6891",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 26784,
   "name": "manager_loop",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 26831,
   "name": "b_68CF",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 26856,
   "name": "b_68E8",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 26868,
   "name": "b_68F4",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 26886,
   "name": "b_6906",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 26897,
   "name": "b_6911",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 26910,
   "name": "b_691E",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 26919,
   "name": "b_6927",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 26927,
   "name": "b_692F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 26941,
   "name": "b_693D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 26955,
   "name": "b_694B",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 26964,
   "name": "b_6954",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 26982,
   "name": "b_6966",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 26990,
   "name": "b_696E",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 27006,
   "name": "b_697E",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 27026,
   "name": "b_6992",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 27034,
   "name": "b_699A",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 27050,
   "name": "b_69AA",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 27077,
   "name": "b_69C5",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 27086,
   "name": "b_69CE",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 27092,
   "name": "b_69D4",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 27095,
   "name": "manager_action",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 27110,
   "name": "b_69E6",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 27119,
   "name": "b_69EF",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 27140,
   "name": "b_6A04",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 27147,
   "name": "b_6A0B",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 27151,
   "name": "b_6A0F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 27153,
   "name": "b_6A11",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 27160,
   "name": "b_6A18",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 27166,
   "name": "b_6A1E",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 27172,
   "name": "b_6A24",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 27181,
   "name": "b_6A2D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 27189,
   "name": "b_6A35",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 27195,
   "name": "b_6A3B",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 27202,
   "name": "b_6A42",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 27208,
   "name": "b_6A48",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 27214,
   "name": "b_6A4E",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 27226,
   "name": "b_6A5A",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 27245,
   "name": "b_6A6D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 27268,
   "name": "b_6A84",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 27271,
   "name": "b_6A87",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 27285,
   "name": "b_6A95",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 27295,
   "name": "b_6A9F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 27308,
   "name": "b_6AAC",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 27326,
   "name": "b_6ABE",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 27346,
   "name": "b_6AD2",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 27370,
   "name": "b_6AEA",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 27397,
   "name": "b_6B05",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 27405,
   "name": "b_6B0D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 27408,
   "name": "manager_click",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 27415,
   "name": "manager_wait",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 27419,
   "name": "b_6B1B",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 27427,
   "name": "sprites_plain",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 27440,
   "name": "formation_sprites",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 27502,
   "name": "b_6B6E",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 27513,
   "name": "b_6B79",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 27517,
   "name": "b_6B7D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 27543,
   "name": "b_6B97",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 27545,
   "name": "star_fees_base",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 27546,
   "name": "f_6B9A",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 27562,
   "name": "b_6BAA",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 27569,
   "name": "star_fees",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 27597,
   "name": "place_value",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 27610,
   "name": "b_6BDA",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 27621,
   "name": "b_6BE5",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 27626,
   "name": "b_6BEA",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 27639,
   "name": "b_6BF7",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 27657,
   "name": "b_6C09",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 27665,
   "name": "transfer_buy",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 27721,
   "name": "b_6C49",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 27725,
   "name": "b_6C4D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 27727,
   "name": "transfer_swap",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 27758,
   "name": "b_6C6E",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 27769,
   "name": "b_6C79",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 27799,
   "name": "b_6C97",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 27800,
   "name": "r_6C98",
   "type": "Return",
   "kind": "auto"
  },
  {
   "address": 27801,
   "name": "squad_swap",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 27847,
   "name": "b_6CC7",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 27896,
   "name": "star_check",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 27922,
   "name": "b_6D12",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 27924,
   "name": "portrait_list",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 27933,
   "name": "portrait_draw",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 27939,
   "name": "portrait_unpack",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 27952,
   "name": "portrait_tiles_draw",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 27968,
   "name": "b_6D40",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 27974,
   "name": "b_6D46",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 27978,
   "name": "b_6D4A",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 27980,
   "name": "b_6D4C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 28058,
   "name": "b_6D9A",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 28083,
   "name": "b_6DB3",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 28102,
   "name": "b_6DC6",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 28108,
   "name": "b_6DCC",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 28119,
   "name": "b_6DD7",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 28136,
   "name": "b_6DE8",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 28154,
   "name": "portrait_tables",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 28155,
   "name": "f_6DFB",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 28156,
   "name": "f_6DFC",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 28157,
   "name": "f_6DFD",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 28180,
   "name": "f_6E14",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 28181,
   "name": "f_6E15",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 28206,
   "name": "f_6E2E",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 28218,
   "name": "f_6E3A",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 28230,
   "name": "position_names",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 28242,
   "name": "group_names",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 28302,
   "name": "main_menu",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 28316,
   "name": "b_6E9C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 28334,
   "name": "b_6EAE",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 28348,
   "name": "b_6EBC",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 28372,
   "name": "b_6ED4",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 28403,
   "name": "b_6EF3",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 28418,
   "name": "b_6F02",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 28433,
   "name": "b_6F11",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 28449,
   "name": "b_6F21",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 28469,
   "name": "b_6F35",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 28484,
   "name": "b_6F44",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 28495,
   "name": "b_6F4F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 28507,
   "name": "message_screen",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 28539,
   "name": "two_player_game",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 28575,
   "name": "b_6F9F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 28584,
   "name": "b_6FA8",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 28654,
   "name": "b_6FEE",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 28661,
   "name": "b_6FF5",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 28665,
   "name": "j_6FF9",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 28668,
   "name": "b_6FFC",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 28671,
   "name": "f_6FFF",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 28674,
   "name": "knockout",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 28683,
   "name": "b_700B",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 28685,
   "name": "b_700D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 28719,
   "name": "b_702F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 28722,
   "name": "cup",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 28735,
   "name": "cup_round",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 28743,
   "name": "b_7047",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 28750,
   "name": "b_704E",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 28762,
   "name": "b_705A",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 28790,
   "name": "b_7076",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 28799,
   "name": "b_707F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 28813,
   "name": "b_708D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 28838,
   "name": "b_70A6",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 28851,
   "name": "b_70B3",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 28868,
   "name": "b_70C4",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 28876,
   "name": "b_70CC",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 28922,
   "name": "b_70FA",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 28982,
   "name": "b_7136",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 28989,
   "name": "b_713D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 28992,
   "name": "cup_loser",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 29001,
   "name": "b_7149",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 29007,
   "name": "random_team",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 29017,
   "name": "cup_rounds",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 29021,
   "name": "league",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 29034,
   "name": "b_716A",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 29047,
   "name": "league_half",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 29049,
   "name": "b_7179",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 29060,
   "name": "b_7184",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 29089,
   "name": "league_week",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 29100,
   "name": "b_71AC",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 29173,
   "name": "b_71F5",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 29189,
   "name": "b_7205",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 29214,
   "name": "league_playoff",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 29231,
   "name": "b_722F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 29254,
   "name": "b_7246",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 29293,
   "name": "b_726D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 29296,
   "name": "b_7270",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 29306,
   "name": "league_match",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 29317,
   "name": "b_7285",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 29326,
   "name": "b_728E",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 29345,
   "name": "random_week",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 29355,
   "name": "swap_places",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 29394,
   "name": "find_team",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 29398,
   "name": "b_72D6",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 29410,
   "name": "b_72E2",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 29412,
   "name": "cup_record",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 29479,
   "name": "b_7327",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 29496,
   "name": "b_7338",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 29501,
   "name": "week_fixtures",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 29506,
   "name": "b_7342",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 29560,
   "name": "division_team",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 29563,
   "name": "division_1_team",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 29571,
   "name": "b_7383",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 29587,
   "name": "fixtures",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 29615,
   "name": "two_player_result",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 29636,
   "name": "b_73C4",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 29646,
   "name": "b_73CE",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 29656,
   "name": "match_result",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 29677,
   "name": "b_73ED",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 29722,
   "name": "b_741A",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 29778,
   "name": "type_modes",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 29785,
   "name": "type_coins_max",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 29792,
   "name": "type_coins_min",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 29799,
   "name": "play_match",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 29832,
   "name": "play_half",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 29835,
   "name": "j_748B",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 29838,
   "name": "b_748E",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 29847,
   "name": "b_7497",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 29888,
   "name": "b_74C0",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 29895,
   "name": "b_74C7",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 29937,
   "name": "b_74F1",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 29951,
   "name": "b_74FF",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 29963,
   "name": "b_750B",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 29977,
   "name": "b_7519",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 29991,
   "name": "b_7527",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 30029,
   "name": "b_754D",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 30064,
   "name": "b_7570",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 30081,
   "name": "b_7581",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 30086,
   "name": "play_coins",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 30098,
   "name": "b_7592",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 30106,
   "name": "b_759A",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 30110,
   "name": "b_759E",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 30120,
   "name": "b_75A8",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 30126,
   "name": "b_75AE",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 30128,
   "name": "wait_fire",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 30132,
   "name": "b_75B4",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 30152,
   "name": "run_menu",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 30193,
   "name": "b_75F1",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 30244,
   "name": "b_7624",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 30278,
   "name": "b_7646",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 30571,
   "name": "message_big",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 30574,
   "name": "message_big_noscore",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 30618,
   "name": "b_779A",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 30694,
   "name": "b_77E6",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 30697,
   "name": "message_wait",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 30700,
   "name": "message_timed",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 30704,
   "name": "b_77F0",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 30719,
   "name": "b_77FF",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 30723,
   "name": "message_fire",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 30726,
   "name": "b_7806",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 30741,
   "name": "message_fire_noscore",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 30747,
   "name": "goal_message",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 30768,
   "name": "b_7830",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 30802,
   "name": "b_7852",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 30806,
   "name": "b_7856",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 30810,
   "name": "j_785A",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 30820,
   "name": "j_7864",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 30841,
   "name": "b_7879",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 30844,
   "name": "b_787C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 30847,
   "name": "screen_clear",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 30911,
   "name": "save_game",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 30926,
   "name": "b_78CE",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 30978,
   "name": "kernal_on",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 31010,
   "name": "b_7922",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 31123,
   "name": "kernal_off",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 31174,
   "name": "b_79C6",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 31182,
   "name": "b_79CE",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 31197,
   "name": "b_79DD",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 31219,
   "name": "save_name",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 31231,
   "name": "load_game",
   "type": "Subroutine",
   "kind": "user"
  },
  {
   "address": 31279,
   "name": "b_7A2F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 31311,
   "name": "screen_rows_copy",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 31313,
   "name": "j_7A51",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 31451,
   "name": "b_7ADB",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 31454,
   "name": "team_attributes",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 31484,
   "name": "defeat_picture",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 31497,
   "name": "defeat_bitmap",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 31973,
   "name": "defeat_screen",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 32056,
   "name": "defeat_colours",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 32114,
   "name": "message_tiles_list",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 32127,
   "name": "message_tiles",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 32768,
   "name": "message_tiles_281",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 33127,
   "name": "message_tiles_3e8",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 33726,
   "name": "message_flips",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 33766,
   "name": "message_map",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 34087,
   "name": "menu_tiles_list",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 34100,
   "name": "menu_tiles",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 34822,
   "name": "menu_flips",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 35019,
   "name": "menu_map",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 35684,
   "name": "manager_list",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 35697,
   "name": "gym_list",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 35714,
   "name": "manager_first_list",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 35731,
   "name": "gym_tiles",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 36521,
   "name": "a_8EA9",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 36585,
   "name": "gym_tiles_0356",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 36731,
   "name": "gym_tiles_3e8",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 37224,
   "name": "manager_flips",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 37332,
   "name": "manager_map",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 37776,
   "name": "gym_flips",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 37937,
   "name": "gym_map",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 38457,
   "name": "manager_first_flips",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 38561,
   "name": "manager_first_map",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 38588,
   "name": "pitch_blocks",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 39580,
   "name": "pitch_blocks_62",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 39964,
   "name": "pitch_map",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 40315,
   "name": "menu_sprite",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 40344,
   "name": "manager_frames",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 40374,
   "name": "gym_sprites_a",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 40628,
   "name": "gym_sprites_b",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 40960,
   "name": "gym_sprites_b_14c",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 41039,
   "name": "match_sprites",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 41424,
   "name": "arena_sprites",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 42424,
   "name": "arena_sprites_3e8",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 42427,
   "name": "door_sprites",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 42833,
   "name": "arena_chars",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 43833,
   "name": "arena_chars_3e8",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 43931,
   "name": "panel_screen",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 44339,
   "name": "panel_rows",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 44447,
   "name": "big_font",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 45132,
   "name": "portrait_mirrors",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 45186,
   "name": "portrait_maps",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 45806,
   "name": "portrait_tiles",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 46806,
   "name": "portrait_tiles_100",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 47806,
   "name": "portrait_tiles_200",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 48367,
   "name": "f_BCEF",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 49152,
   "name": "start_game",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 49160,
   "name": "perving_message",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 49220,
   "name": "start_init",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 49316,
   "name": "b_C0A4",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 49348,
   "name": "title",
   "type": "Jump",
   "kind": "user"
  },
  {
   "address": 49350,
   "name": "b_C0C6",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 49359,
   "name": "j_C0CF",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 49406,
   "name": "j_C0FE",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 49439,
   "name": "b_C11F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 49478,
   "name": "b_C146",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 49484,
   "name": "b_C14C",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 49486,
   "name": "b_C14E",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 49504,
   "name": "b_C160",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 49522,
   "name": "b_C172",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 49540,
   "name": "j_C184",
   "type": "Jump",
   "kind": "auto"
  },
  {
   "address": 49551,
   "name": "b_C18F",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 49563,
   "name": "b_C19B",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 49566,
   "name": "key_pos_1",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 49567,
   "name": "key_pos_2",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 49568,
   "name": "code_cheat",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 49585,
   "name": "code_martin",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 49592,
   "name": "title_bitmap",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 50375,
   "name": "title_screen",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 50425,
   "name": "martin_list",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 50438,
   "name": "martin_bitmap",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 51397,
   "name": "martin_screen",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 51604,
   "name": "martin_colours",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 52223,
   "name": "f_CBFF",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 52224,
   "name": "title_routine",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 52234,
   "name": "f_CC0A",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 52244,
   "name": "f_CC14",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 52254,
   "name": "f_CC1E",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 52264,
   "name": "f_CC28",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 52304,
   "name": "f_CC50",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 52344,
   "name": "f_CC78",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 52352,
   "name": "title_line",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 52384,
   "name": "f_CCA0",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 52393,
   "name": "a_CCA9",
   "type": "AbsoluteAddress",
   "kind": "user"
  },
  {
   "address": 52424,
   "name": "f_CCC8",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 52464,
   "name": "f_CCF0",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 52480,
   "name": "f_CD00",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 52504,
   "name": "f_CD18",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 52544,
   "name": "f_CD40",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 52584,
   "name": "f_CD68",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 52624,
   "name": "f_CD90",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 52664,
   "name": "f_CDB8",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 52704,
   "name": "f_CDE0",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 52736,
   "name": "f_CE00",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 52744,
   "name": "f_CE08",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 52784,
   "name": "f_CE30",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 52824,
   "name": "f_CE58",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 52864,
   "name": "f_CE80",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 52904,
   "name": "f_CEA8",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 52944,
   "name": "f_CED0",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 52984,
   "name": "f_CEF8",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 52992,
   "name": "f_CF00",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 53024,
   "name": "f_CF20",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 53064,
   "name": "f_CF48",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 53074,
   "name": "f_CF52",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 53084,
   "name": "f_CF5C",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 53094,
   "name": "f_CF66",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 53104,
   "name": "f_CF70",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 53240,
   "name": "f_CFF8",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 53248,
   "name": "frame_40",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 53312,
   "name": "frame_41",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 53376,
   "name": "frame_42",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 53440,
   "name": "frame_43",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 53504,
   "name": "frame_44",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 53568,
   "name": "frame_45",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 53632,
   "name": "frame_46",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 53696,
   "name": "frame_47",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 53760,
   "name": "frame_48",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 53824,
   "name": "frame_49",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 53888,
   "name": "frame_4a",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 53952,
   "name": "frame_4b",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 54016,
   "name": "frame_4c",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 54080,
   "name": "frame_4d",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 54144,
   "name": "frame_4e",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 54208,
   "name": "frame_4f",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 54272,
   "name": "frame_50",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 54336,
   "name": "frame_51",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 54400,
   "name": "frame_52",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 54464,
   "name": "frame_53",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 54528,
   "name": "frame_54",
   "type": "Pointer",
   "kind": "user"
  },
  {
   "address": 54592,
   "name": "frame_55",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 54656,
   "name": "frame_56",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 54720,
   "name": "frame_57",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 54784,
   "name": "frame_58",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 54848,
   "name": "frame_59",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 54912,
   "name": "frame_5a",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 54976,
   "name": "frame_5b",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 55040,
   "name": "frame_5c",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 55104,
   "name": "frame_5d",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 55168,
   "name": "frame_5e",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 55232,
   "name": "frame_5f",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 55296,
   "name": "frame_60",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 55360,
   "name": "frame_61",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 55424,
   "name": "frame_62",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 55488,
   "name": "frame_63",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 55552,
   "name": "frame_64",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 55616,
   "name": "frame_65",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 55680,
   "name": "frame_66",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 55744,
   "name": "frame_67",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 55808,
   "name": "frame_68",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 55872,
   "name": "frame_69",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 55936,
   "name": "frame_6a",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 56000,
   "name": "frame_6b",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 56064,
   "name": "frame_6c",
   "type": "Field",
   "kind": "user"
  },
  {
   "address": 56128,
   "name": "frame_6d",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 56176,
   "name": "f_DB70",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 56192,
   "name": "frame_6e",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 56216,
   "name": "f_DB98",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 56218,
   "name": "a_DB9A",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 56219,
   "name": "a_DB9B",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 56220,
   "name": "a_DB9C",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 56224,
   "name": "a_DBA0",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 56225,
   "name": "a_DBA1",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 56226,
   "name": "a_DBA2",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 56227,
   "name": "a_DBA3",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 56235,
   "name": "a_DBAB",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 56236,
   "name": "a_DBAC",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 56244,
   "name": "a_DBB4",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 56245,
   "name": "a_DBB5",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 56246,
   "name": "a_DBB6",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 56247,
   "name": "a_DBB7",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 56251,
   "name": "a_DBBB",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 56252,
   "name": "a_DBBC",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 56253,
   "name": "a_DBBD",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 56256,
   "name": "frame_6f",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 56320,
   "name": "frame_70",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 56384,
   "name": "frame_71",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 56448,
   "name": "frame_72",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 56512,
   "name": "frame_73",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 56576,
   "name": "frame_74",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 56640,
   "name": "frame_75",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 56704,
   "name": "frame_76",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 56768,
   "name": "frame_77",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 56832,
   "name": "frame_78",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 56896,
   "name": "frame_79",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 56960,
   "name": "frame_7a",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 57024,
   "name": "frame_7b",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 57088,
   "name": "frame_7c",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 57152,
   "name": "frame_7d",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 57216,
   "name": "frame_7e",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 57280,
   "name": "frame_7f",
   "type": "UserDefined",
   "kind": "user"
  },
  {
   "address": 58368,
   "name": "f_E400",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 58386,
   "name": "a_E412",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 58387,
   "name": "a_E413",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 58405,
   "name": "a_E425",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 58406,
   "name": "f_E426",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 58424,
   "name": "a_E438",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 58425,
   "name": "f_E439",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 58443,
   "name": "a_E44B",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 58444,
   "name": "f_E44C",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 58463,
   "name": "f_E45F",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 58482,
   "name": "f_E472",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 58508,
   "name": "f_E48C",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 58534,
   "name": "f_E4A6",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 58553,
   "name": "f_E4B9",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 58572,
   "name": "f_E4CC",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 58573,
   "name": "f_E4CD",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 58574,
   "name": "f_E4CE",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 58575,
   "name": "f_E4CF",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 58576,
   "name": "f_E4D0",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 58586,
   "name": "f_E4DA",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 58596,
   "name": "f_E4E4",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 58606,
   "name": "f_E4EE",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 58624,
   "name": "KERNAL_IOBASEj",
   "type": "Predefined",
   "kind": "system"
  },
  {
   "address": 58642,
   "name": "f_E512",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 58660,
   "name": "f_E524",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 58678,
   "name": "f_E536",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 58742,
   "name": "f_E576",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 58760,
   "name": "f_E588",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 58880,
   "name": "f_E600",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 59136,
   "name": "f_E700",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 60928,
   "name": "f_EE00",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 62080,
   "name": "f_F280",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 62083,
   "name": "f_F283",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 62107,
   "name": "f_F29B",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 62320,
   "name": "f_F370",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 62321,
   "name": "f_F371",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 62360,
   "name": "f_F398",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 62361,
   "name": "f_F399",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 62362,
   "name": "a_F39A",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 62363,
   "name": "a_F39B",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 62364,
   "name": "a_F39C",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 62368,
   "name": "f_F3A0",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 62369,
   "name": "f_F3A1",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 62370,
   "name": "f_F3A2",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 62371,
   "name": "f_F3A3",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 62379,
   "name": "a_F3AB",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 62380,
   "name": "a_F3AC",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 62388,
   "name": "f_F3B4",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 62395,
   "name": "a_F3BB",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 62396,
   "name": "a_F3BC",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 62397,
   "name": "a_F3BD",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 62400,
   "name": "f_F3C0",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 62401,
   "name": "f_F3C1",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 62456,
   "name": "f_F3F8",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 62464,
   "name": "f_F400",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 62474,
   "name": "f_F40A",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 62484,
   "name": "f_F414",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 62494,
   "name": "f_F41E",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 63304,
   "name": "f_F748",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 63314,
   "name": "f_F752",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 63324,
   "name": "f_F75C",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 63334,
   "name": "f_F766",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 63480,
   "name": "f_F7F8",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 64424,
   "name": "a_FBA8",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 64432,
   "name": "a_FBB0",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 64440,
   "name": "a_FBB8",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 64448,
   "name": "a_FBC0",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 65343,
   "name": "f_FF3F",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 65344,
   "name": "s_FF40",
   "type": "Subroutine",
   "kind": "auto"
  },
  {
   "address": 65399,
   "name": "f_FF77",
   "type": "Field",
   "kind": "auto"
  },
  {
   "address": 65408,
   "name": "b_FF80",
   "type": "Branch",
   "kind": "auto"
  },
  {
   "address": 65412,
   "name": "KERNAL_IOINIT",
   "type": "Predefined",
   "kind": "system"
  },
  {
   "address": 65418,
   "name": "KERNAL_RESTOR",
   "type": "Predefined",
   "kind": "system"
  },
  {
   "address": 65427,
   "name": "KERNAL_SECOND",
   "type": "Predefined",
   "kind": "system"
  },
  {
   "address": 65448,
   "name": "KERNAL_CIOUT",
   "type": "Predefined",
   "kind": "system"
  },
  {
   "address": 65449,
   "name": "a_FFA9",
   "type": "AbsoluteAddress",
   "kind": "auto"
  },
  {
   "address": 65454,
   "name": "KERNAL_UNLSN",
   "type": "Predefined",
   "kind": "system"
  },
  {
   "address": 65457,
   "name": "KERNAL_LISTEN",
   "type": "Predefined",
   "kind": "system"
  },
  {
   "address": 65466,
   "name": "KERNAL_SETLFS",
   "type": "Predefined",
   "kind": "system"
  },
  {
   "address": 65469,
   "name": "KERNAL_SETNAM",
   "type": "Predefined",
   "kind": "system"
  },
  {
   "address": 65493,
   "name": "KERNAL_LOAD",
   "type": "Predefined",
   "kind": "system"
  },
  {
   "address": 65496,
   "name": "KERNAL_SAVE",
   "type": "Predefined",
   "kind": "system"
  },
  {
   "address": 65528,
   "name": "b_FFF8",
   "type": "Branch",
   "kind": "auto"
  }
 ],
 "comments": [
  {
   "address": 512,
   "type": "line",
   "text": "Silences the sound-effects driver: marks no effect requested on the three voices ($04B0, $04B7, $04BE = $FF), sets their running priorities ($04DE, $04E5, $04EC) to $FF so that any effect may start, zeroes their length and hold counters, clears all 24 SID registers ($D400-$D417) and sets the volume to 15 with no filter ($D418 = $0F)."
  },
  {
   "address": 566,
   "type": "line",
   "text": "The sound-effects driver's frame step: runs sfx_voice for voice 1 (X = 0), voice 2 (X = 7) and voice 3 (X = 14), the offset of each voice in the SID and in the driver's own state at $04B0. Called from the raster interrupts' end-of-frame handlers ($1446, $1452), the sound-only interrupt at $1463, sfx_stop_all ($1C12) and three more places ($2062, $75B7, $C101)."
  },
  {
   "address": 578,
   "type": "line",
   "text": "One voice of the sound-effects driver, X = the voice's offset (0, 7, 14). A request waits in $04B0,x (bit 7 set means none). It starts when the voice's hold counter $04B1,x is zero or when the effect's priority byte (sfx_priority) is no higher than the running effect's ($04DE,x): a lower number wins. Otherwise the request is dropped. Starting an effect gates the voice off, then copies the effect's four-byte rows from the tables at $04FE-$0741 into the voice: attack/decay, sustain/release, gate time, length, waveform at start and after the gate, frequency, frequency-sweep mode and step, pulse width, pulse sweep, special effects and their period; the hold counter is set to 50 frames. A running effect goes on at sfx_step."
  },
  {
   "address": 673,
   "type": "line",
   "text": "kernal_on writes 0 to $02A1, the KERNAL's RS-232 interrupt flags, after copying this page away; here the bytes are the sound driver's code (sfx_step), put back by kernal_off."
  },
  {
   "address": 681,
   "type": "line",
   "text": "A false symbol: the BIT at $65C1 skips the two-byte instruction inside it; no instruction names $02A9, which lies in sfx_voice."
  },
  {
   "address": 766,
   "type": "line",
   "text": "A running effect's frame (sfx_voice jumps here, X = the voice). Counts the hold counter down and toggles the flip flag $04DF,x every $04DC,x + 1 frames. While the gate time $04E0,x lasts it counts down; once it is out the voice switches to its release waveform (gate off), then the length $04B2,x counts down to silence unless it is $FF (endless). Then: pulse-width sweep between $08xx and $0Exx when $04CA,x is set; the frequency sweep chosen by $04C5,x (1 up, 2 down, 3 up while gated, 4 down while gated, 5 up then down at release, 6 down then up, 7 up after release, 8 down after release, 9 up or down with the flip flag); and the special bits of $04DA,x: 1 swap the frequency's two bytes, 2 subtract the step's high byte $04C6,x from the frequency's high byte and EOR it with $04DD,x, 4 add the low nibble of voice 3's oscillator ($D41B AND $0F) to the high byte for noise, 8 reset the high byte to $04DD,x when the flip timer runs out."
  },
  {
   "address": 768,
   "type": "line",
   "text": "kernal_on copies the page from here ($0300-$03FF, the sound driver's code) to $E600 before handing the machine to the KERNAL, and kernal_off copies it back."
  },
  {
   "address": 788,
   "type": "line",
   "text": "kernal_on and load_game set the KERNAL's interrupt vector at $0314-$0315 here once the page is saved; the bytes are the sound driver's, put back by kernal_off."
  },
  {
   "address": 789,
   "type": "line",
   "text": "The high byte of the KERNAL's interrupt vector, set with $0314."
  },
  {
   "address": 792,
   "type": "line",
   "text": "kernal_on sets the KERNAL's NMI vector at $0318 here once the page is saved; the bytes are the sound driver's, put back by kernal_off."
  },
  {
   "address": 1152,
   "type": "line",
   "text": "Each sound effect's priority, one byte for each of the 48 effects (0-47): a new effect replaces a running one when its byte is no higher. Mostly 3, with 2 for the effects that must be heard. Read by sfx_voice ($024B, $026B)."
  },
  {
   "address": 1193,
   "type": "line",
   "text": "A false symbol: BIT $04A9 at $1488 is the two-byte-skip idiom (it hides the LDA #$04 at $1489 when $1486 runs), not a read of this table. sfx_priority runs on to $04AF here."
  },
  {
   "address": 1278,
   "type": "line",
   "text": "The 48 sound effects' parameters, six interleaved tables of four bytes per effect (effect number times 4 indexes them), read only by sfx_voice: $04FE attack/decay, $04FF sustain/release, $0500 gate time in frames, $0501 length after the gate ($FF endless); then (at $05BE) waveform at start, waveform after the gate, frequency high and low; (at $067E) frequency-sweep mode, sweep step high and low, pulse width (high nibble the low byte, low nibble the high byte); (at $073E) pulse-sweep step, special-effect bits, flip period and the value the special effects use. Effect 0 is all zeros."
  },
  {
   "address": 1279,
   "type": "line",
   "text": "The second column of sfx_params: each effect's sustain and release (SID register 6), four bytes apart."
  },
  {
   "address": 1280,
   "type": "line",
   "text": "The third column: how many frames each effect's gate stays on."
  },
  {
   "address": 1281,
   "type": "line",
   "text": "The fourth column: how many frames each effect runs after the gate, $FF for endless."
  },
  {
   "address": 1449,
   "type": "line",
   "text": "A false symbol: the BIT at $2BF2 skips the two-byte instruction inside it; no instruction names $05A9, which lies in sfx_params."
  },
  {
   "address": 1470,
   "type": "line",
   "text": "Second group of sfx_params, four bytes per effect: the waveform and gate written at the start ($05BE), the waveform after the gate time ($05BF), the start frequency's high byte ($05C0) and low byte ($05C1)."
  },
  {
   "address": 1471,
   "type": "line",
   "text": "The second column of the second group: the waveform after the gate."
  },
  {
   "address": 1472,
   "type": "line",
   "text": "The third column: the starting frequency, high byte."
  },
  {
   "address": 1473,
   "type": "line",
   "text": "The fourth column: the starting frequency, low byte."
  },
  {
   "address": 1527,
   "type": "line",
   "text": "The waveform and frequency rows of sfx_waves go on here (an index into the table at $05F7 is how one reader names it); the group ends at $067D."
  },
  {
   "address": 1662,
   "type": "line",
   "text": "Third group of sfx_params, four bytes per effect: frequency-sweep mode (0 none to 9, see sfx_step), sweep step high and low, and the pulse width packed as two nibbles."
  },
  {
   "address": 1663,
   "type": "line",
   "text": "The second column of the third group: the frequency sweep's step, high byte."
  },
  {
   "address": 1664,
   "type": "line",
   "text": "The third column: the sweep's step, low byte."
  },
  {
   "address": 1665,
   "type": "line",
   "text": "The fourth column: the pulse width, its low byte in the high nibble and its high byte in the low nibble."
  },
  {
   "address": 1705,
   "type": "line",
   "text": "The rows of sfx_sweeps go on here; the group ends at $073D."
  },
  {
   "address": 1769,
   "type": "line",
   "text": "More rows of sfx_sweeps, to $073D."
  },
  {
   "address": 1833,
   "type": "line",
   "text": "sfx_params' pulse widths for effects 43-47 (the end of the third group)."
  },
  {
   "address": 1854,
   "type": "line",
   "text": "Fourth group of sfx_params, four bytes per effect: pulse-sweep step (0 for none), special-effect bits (see sfx_step), the flip period less one, in frames, and the value the special effects use as a frequency or a mask."
  },
  {
   "address": 1855,
   "type": "line",
   "text": "The second column of sfx_specials: which special effects the effect uses (sfx_step)."
  },
  {
   "address": 1856,
   "type": "line",
   "text": "The third column: the flip period less one, in frames (the flag toggles every value + 1 frames)."
  },
  {
   "address": 1857,
   "type": "line",
   "text": "The fourth column: the value the special effects use as a frequency or a mask."
  },
  {
   "address": 2046,
   "type": "line",
   "text": "1 while the game is paused with the P key (match_frame); match_setup clears it."
  },
  {
   "address": 2047,
   "type": "line",
   "text": "How near (column plus row distance) an opponent may come before a computer ball carrier dodges or passes: 3, or 6 when the computer plays both teams. Set by match_setup."
  },
  {
   "address": 3089,
   "type": "line",
   "text": "A small font of 3-pixel-wide glyphs, two rows of a glyph packed in each byte as nibbles, four bytes a glyph, read by the bitmap text printer at $508B-$5280. The order follows the screen codes the game prints: letters first, then digits and punctuation."
  },
  {
   "address": 3090,
   "type": "line",
   "text": "mini_font's second byte of each character, read by print_char_tall with the first, third and fourth."
  },
  {
   "address": 3091,
   "type": "line",
   "text": "mini_font's third byte of each character, for print_char_tall."
  },
  {
   "address": 3092,
   "type": "line",
   "text": "mini_font's fourth byte of each character, for print_char_tall."
  },
  {
   "address": 3264,
   "type": "line",
   "text": "The rest of mini_font: digits, punctuation and a few symbols, to $0D10."
  },
  {
   "address": 3328,
   "type": "line",
   "text": "mini_font's characters from $3C on."
  },
  {
   "address": 3345,
   "type": "line",
   "text": "Each of the 16 teams' overall strength for a match between two computer teams (simulate_match): Brutal Deluxe $64, then $70 up to $E2 for Super Nashwan. The rows of team_ratings follow on, and $5CBE reads the two as one table, 16 bytes a team from here."
  },
  {
   "address": 3361,
   "type": "line",
   "text": "The ratings of teams 1-15, 16 bytes a team, two 4-bit digits a byte: eight attributes (AGR, ATT, DEF, SPD, THR, POW, STA, INT) for each of the three groups of three players, then eight for the substitutes. An attribute is 100 + 10 x digit (team_2_ratings)."
  },
  {
   "address": 3601,
   "type": "line",
   "text": "The 16 teams' names in ASCII capitals, each ended by a zero byte: BRUTAL DELUXE, REVOLVER, RAW MESSIAHS, VIOLENT DESIRE, BAROQUE, THE RENEGADES, DAMOCLES, STEEL FURY, POWERHOUSE, RAGE 2000, MEAN MACHINE, EXPLOSIVE LORDS, LETHAL FORMULA, TURBO HAMMERS, FATAL JUSTICE, SUPER NASHWAN. Then the players' names to $0F80: BARRY, COLIN, JUSTIN, NIGEL, DARREN, GRAHAM, ARNOLD, ROBIN, TREVOR, STUART, GORDON, KEVIN, SHORN, QUISS, ROCCO, LUTHOR, WEISS, CAZA, ROSCOP, QUAID, MONTEZ, COOPER, GARRIK, NORMAN, JENSON, JAMS."
  },
  {
   "address": 3909,
   "type": "line",
   "text": "The players' names go on (WEISS's last letter, CAZA, ROSCOP, QUAID, MONTEZ, COOPER, GARRIK, NORMAN, JENSON, JAMS); $6483 and $6D06 index the table from here."
  },
  {
   "address": 3969,
   "type": "line",
   "text": "Rows of five bytes for the star players on the transfer market: a flag byte, then four bytes of packed 4-bit attributes. Read at $652E and $653A."
  },
  {
   "address": 4039,
   "type": "line",
   "text": "Unpacks the routine packed straight after the JSR that called it to $C000 and runs it there: takes the return address off the stack as the packed data's start, calls unpack ($498E) to write from $C000, then jumps to $C000 with A and Y as the caller left them. The packed routine's own RTS returns to the caller of the routine that called run_packed. Called at $534C, $5431, $559B and $764A, each followed by its packed bytes."
  },
  {
   "address": 4074,
   "type": "line",
   "text": "An RTS nothing jumps to, between run_packed and the panel split's delay table."
  },
  {
   "address": 4075,
   "type": "line",
   "text": "How many delay loops the score panel's raster split waits before switching the video mode, one byte for each of the eight vertical scroll positions ($7A, the pitch's $D011 scroll), so that the switch lands at the same place on the screen. Read at $100C; the second split at $1035 reads the eight bytes from $0FF3."
  },
  {
   "address": 4083,
   "type": "line",
   "text": "The second half of panel_d011's table: the values irq_panel_low loads by Y."
  },
  {
   "address": 4091,
   "type": "line",
   "text": "The $D011 value the score panel's split writes for each vertical scroll position: $5F for most (bitmap off, extended colour off, 25 rows, scroll 7), $5E for two. Read at $1013."
  },
  {
   "address": 4096,
   "type": "line",
   "text": "The last three values of panel_d011."
  },
  {
   "address": 4099,
   "type": "line",
   "text": "Raster command $82 (raster_commands): the score panel's split. Waits for raster line $DC, waits the delay panel_delays gives for the pitch's vertical scroll, sets the panel's scroll ($D011 from panel_d011), screen and characters ($D018 = $CC: screen $F000, characters $D800 in bank 3), 38-column scroll off ($D016 = $18), and its colours: background black, $D022 and $D023 from $5E and $5F."
  },
  {
   "address": 4149,
   "type": "line",
   "text": "Raster command $83: a second split for the panel, lower down. Waits for raster line $E4 and the delay from $0FF3, then sets $D011 = $1F (screen on, 25 rows); returns through the multiplexer's next-entry step."
  },
  {
   "address": 4178,
   "type": "line",
   "text": "Sets up the sprite multiplexer for a match: clears the raster list's buckets at $0100, puts the raster commands $81 at the top (pitch), $82 (panel split) at bucket $36, $83 at $38 and $84 (end of frame) at $3A, marks buckets $36-$3F used, points the IRQ vector at $126B and starts the raster interrupt at line $23 through irq_enable. Called at $2911."
  },
  {
   "address": 4234,
   "type": "line",
   "text": "Turns on the raster interrupt ($D01A = 1), acknowledges any pending one, resets the multiplexer's list positions ($05, $07, $08) and sets the first interrupt at line $23."
  },
  {
   "address": 4259,
   "type": "line",
   "text": "Sets up the multiplexer for the menus and managers' screens: list length $3F, sprite pointers through $CFF8 (the store at $1299 patched to $CF), camera at zero, the raster list cleared with command $85 at the top and $86 at bucket $3F, and the IRQ vector at $1300 (the multiplexer with per-sprite multicolour and expansion); then irq_enable."
  },
  {
   "address": 4265,
   "type": "line",
   "text": "A false symbol: the BIT at $2C72, $4C37 skips the two-byte instruction inside it; no instruction names $10A9, which lies in mux_menus."
  },
  {
   "address": 4323,
   "type": "line",
   "text": "Points the IRQ vector at irq_sfx ($1463), which only plays sound effects, and starts the raster interrupt with irq_enable. Used while a screen is unpacked or drawn."
  },
  {
   "address": 4336,
   "type": "line",
   "text": "Rebuilds the multiplexer's raster list with no colour-change line: clears buckets 1-$3E, then sorts as mux_sort does."
  },
  {
   "address": 4351,
   "type": "line",
   "text": "Sorts the visible objects into the raster list for the next frame, with interrupts held off. Clears buckets 1-$35, puts command $88 (a colour change) at bucket $08 when it is set, then for each of the 26 objects (X = 0-$19) whose flag at $A0,x has bit 0 set: converts its pitch position ($0800/$E6 down, $0180/$CC across) less the camera ($7F/$80, $7D/$7E) into a sprite's Y (+$32) and X (+$18, with the ninth bit), keeps them with its colour ($0834) and frame ($081A) in the slot tables at $0A20-$0A88, and drops its slot number in the first free bucket at or above its line / 4, skipping objects above line 20. Finally compacts the used buckets, in order, into the list at $0140 the interrupt walks."
  },
  {
   "address": 4531,
   "type": "line",
   "text": "Places up to eight objects straight into the video chip's sprite registers, without the multiplexer: the same position sums as mux_sort, writes $D000-$D00F, $D010, colours and the frame to both sets of sprite pointers ($CFF8 and $F7F8), parks the unused sprites at Y = $FA, and leaves a raster list of only the commands ($88 if set, then $36, $38, $3A). Called at $20B0."
  },
  {
   "address": 4715,
   "type": "line",
   "text": "The raster interrupt in a match: the sprite multiplexer. Takes the list entry for this line from the bucket table at $0100: an object's slot number moves the next of the eight hardware sprites in turn to that object's Y, X, frame (into the sprite pointers, high byte patched at $1299), colour and ninth X bit; a byte with bit 7 set is a raster command (raster_commands). Then (mux_next) steps to the next list entry and sets $D012 to its line (bucket times 4); when that line has passed already it handles the entry at once by jumping back in past the register saves (the vector plus 5)."
  },
  {
   "address": 4761,
   "type": "line",
   "text": "The interrupt routines write the next raster line's sprite registers into the operands of the instructions here (the operand at $1299), which mux_next then runs."
  },
  {
   "address": 4791,
   "type": "line",
   "text": "The multiplexer's step to the next raster-list entry, shared by every raster command: reads the entry's bucket from $0140, programs $D012 for line bucket*4 and returns from the interrupt, or runs the entry at once when the line has gone."
  },
  {
   "address": 4814,
   "type": "line",
   "text": "A raster-list entry with bit 7 set: its low nibble (0-8) indexes raster_commands, and the handler is jumped to through $2B. Entries 9-15 are skipped."
  },
  {
   "address": 4835,
   "type": "line",
   "text": "Five bytes nothing runs: LDA #$00 / STA $D01A, which would turn the raster interrupt off."
  },
  {
   "address": 4840,
   "type": "line",
   "text": "Restores Y, X and A and returns from the interrupt."
  },
  {
   "address": 4846,
   "type": "line",
   "text": "The next entry's line has passed: re-enter the interrupt handler five bytes in (past its pushes), through the vector at $FFFE."
  },
  {
   "address": 4864,
   "type": "line",
   "text": "The multiplexer for the menus and managers' screens (vector set by mux_menus): as irq_mux, and also sets each sprite's multicolour bit (on for colour 2, off otherwise) and doubles its size in both directions for colour 15 (the gym's player figure)."
  },
  {
   "address": 4994,
   "type": "line",
   "text": "The raster-list commands $80-$88, as addresses of their handlers: $80 nothing, $81 pitch top ($139F), $82 panel split ($1003), $83 low panel split ($1035), $84 end of frame ($141F), $85 menus' top ($13BC), $86 menus' end of frame ($1452), $87 pitch top without parking the sprites ($13ED), $88 colour change ($1397)."
  },
  {
   "address": 4995,
   "type": "line",
   "text": "The high bytes of raster_commands' addresses."
  },
  {
   "address": 5012,
   "type": "line",
   "text": "Raster command $80: does nothing and steps on."
  },
  {
   "address": 5015,
   "type": "line",
   "text": "Raster command $88: sets multicolour 2 ($D023) from $5D partway down the screen."
  },
  {
   "address": 5023,
   "type": "line",
   "text": "Raster command $81, the top of the pitch: sets the vertical and horizontal scroll ($7A, $7B, with the screen on and 38 columns), the three background colours from $5A-$5C, then parks all eight sprites at Y = $FA and chooses the screen being shown (irq_screen)."
  },
  {
   "address": 5052,
   "type": "line",
   "text": "Raster command $85: parks the eight sprites below the screen and shows one of the two screens: with $7C zero, $D018 = $3E (screen $CC00) and sprite pointers at $CFF8; otherwise $D018 = $DE (screen $F400) and pointers at $F7F8. The pointer page is patched into irq_mux's store at $1299."
  },
  {
   "address": 5101,
   "type": "line",
   "text": "Raster command $87: as irq_pitch_top without parking the sprites."
  },
  {
   "address": 5151,
   "type": "line",
   "text": "Raster command $84, the end of a match frame: resets the raster list to its top and the next interrupt to line $23, counts the frame in $43, and with interrupts back on runs the game's frame, match_frame ($2052), unless the last one has not finished ($09) or bit 7 of $45 asks for sound only, when it plays the sound effects instead and takes the frame back out of $43."
  },
  {
   "address": 5202,
   "type": "line",
   "text": "Raster command $86, the end of a menu frame: plays the sound effects and resets the raster list to line $23."
  },
  {
   "address": 5219,
   "type": "line",
   "text": "An interrupt handler that only plays the sound effects and acknowledges the video chip (set by irq_sound_only)."
  },
  {
   "address": 5239,
   "type": "line",
   "text": "The camera check (camera_check) when bit 6 of $45 is set, the camera following a fixed point: tests whether the followed object ($60) is more than $12 columns right of the camera or $0A rows below it, and starts the scroll with those directions; otherwise no scroll ($86 = 0)."
  },
  {
   "address": 5299,
   "type": "line",
   "text": "Decides whether the pitch must scroll to keep the followed object ($60, normally the ball) in view. Not while a scroll is running ($88). Compares the object's place, less the camera's, with a window ($10-$18 across, $13-$15 when already moving sideways; $08-$0B down) and builds the directions in $87: 1 up, 2 down, 4 left, 8 right, as far as the pitch's edges allow ($7E 3-$26 across, $80 3-$80 down). With a direction it goes on at camera_step, otherwise clears $86."
  },
  {
   "address": 5466,
   "type": "line",
   "text": "Chooses the scroll's speed: $83 (0-3) indexes the windows at camera_windows; the scroll speeds up a step, up to 3, while the object stays outside the window for its speed, and each faster speed's window is wider."
  },
  {
   "address": 5562,
   "type": "line",
   "text": "Advances a scroll of the pitch by a step of one pixel in the directions in $87, over nine frames a character: on the first it works out the new camera character position ($84 across, $85 down) and which fine scroll positions ($81, $82) roll over, on the fifth flags ($8A) that the new row or column must be drawn, and on the ninth makes the new position the camera's and checks again (camera_check). Each frame it moves the fine scroll ($81, $82) a pixel unless that axis has finished."
  },
  {
   "address": 5752,
   "type": "line",
   "text": "Four speeds' windows for camera_step: column limits ($1678 left, $167C right) and row limits ($1680 top, $1684 bottom) around the followed object, wider as the scroll speeds up: columns 13-27, 10-30, 6-34, 6-34 and rows 6-13, 4-15, 2-17, 2-17."
  },
  {
   "address": 5756,
   "type": "line",
   "text": "The second byte of each camera window (camera_windows), read by camera_step."
  },
  {
   "address": 5760,
   "type": "line",
   "text": "The camera's vertical windows, read with $1684 by camera_step for its rows."
  },
  {
   "address": 5764,
   "type": "line",
   "text": "The second byte of each vertical window."
  },
  {
   "address": 5768,
   "type": "line",
   "text": "Builds the pitch's lookup tables: 38 row addresses of the block map at $BCEF (20 bytes a row) into $0920 (low) and $0946 (high), and 90 block addresses at $96BC (16 bytes a block, 4 by 4 characters) into $096C and $09C6. Called at $273B and $29DF."
  },
  {
   "address": 5837,
   "type": "line",
   "text": "Draws the pitch after a scroll by a whole character. When the camera moved by at most one character on each axis it shifts the visible screen by patching the screen-copy routine at $7A51 (its source and destination offsets and screen page, $F4 or $CC for the hidden screen) and runs it (pitch_copy, $7A4F); otherwise it draws all 22 rows afresh from the block map (row by row through pitch_row_bytes into $E4D0, 40 characters a row) and turns the pitch's characters for the half the camera is in (mirror_chars)."
  },
  {
   "address": 6074,
   "type": "line",
   "text": "Draws the new top row after a scroll up: decodes the row from the block map into $E4D0 and copies its 40 characters to the hidden screen's first row ($F400 or $CC00, by $7C)."
  },
  {
   "address": 6141,
   "type": "line",
   "text": "Draws the new bottom row after a scroll down, into the hidden screen's row 21 ($F748 or $CF48)."
  },
  {
   "address": 6211,
   "type": "line",
   "text": "Draws the new left column after a scroll left: decodes the column (pitch_column_bytes) and stores its 22 characters down the hidden screen's first column."
  },
  {
   "address": 6257,
   "type": "line",
   "text": "Draws the new right column after a scroll right, into column 39 of the hidden screen."
  },
  {
   "address": 6306,
   "type": "line",
   "text": "Decodes one screen row of the pitch into the buffer $E4D0 (40 characters): A = the row; works out the block row (A / 4) and the line in the block (A and 3), the block column from the camera's column $84, then for 12 blocks across copies four characters from each block's definition."
  },
  {
   "address": 6425,
   "type": "line",
   "text": "Decodes one screen column of the pitch into $E4D0 (22 characters): A = the column; walks seven blocks down from the camera's row $85, four characters from each."
  },
  {
   "address": 6540,
   "type": "line",
   "text": "The drawing half of a scroll by a character: turns the characters of the half of the pitch the camera has crossed into (mirror_chars, from $E536) and draws the new row or column at the side the camera moved to. Then sets $8B to 2 (draw done) unless it is 3."
  },
  {
   "address": 6637,
   "type": "line",
   "text": "Turns four characters of the pitch's set at $F800 upside down: X = a group number; swaps the bytes 0 and 7, 1 and 6, 2 and 5, 3 and 4 of each of characters 4X to 4X+3 that lie between $80 and $FE. The two halves of the arena use the same characters, one half drawn upside down; the flags at $E536 say which groups are turned now."
  },
  {
   "address": 6763,
   "type": "line",
   "text": "Colours the score panel: sprite pointers of the panel screen ($F3F8) to $BF (an empty frame), colour RAM rows $DB70-$DBE7 light blue, the white parts ($DB9A-$DB9C, $DBBB-$DBBD, $DBAB, $DBAC), the team colours from $1D40 and from the table at $1D3C by $3D."
  },
  {
   "address": 6833,
   "type": "line",
   "text": "A false symbol: the BIT at $458C, $45AC skips the two-byte instruction inside it; no instruction names $1AB1, which lies in panel_colours."
  },
  {
   "address": 6847,
   "type": "line",
   "text": "Writes the two scores and the clock into the score panel's screen ($F39A-$F3BD): each score is three decimal digits ($47/$49/$4B for team 1, $48/$4A/$4C for team 2), shown as 999 when the hundreds pass 9; the clock $4D is two BCD digits at $F3AB. Then the two energy bars (panel_bar for the players $72 and $73) and the marker under the controlled player ($60) in colour RAM, from panel_marker_cols."
  },
  {
   "address": 6979,
   "type": "line",
   "text": "The colour RAM column of the panel marker for each of the 18 players (three bytes each for six positions), read at $1B2D and $1B3A. The 19th byte, $1B55 ($50), is past the table and nothing reads it."
  },
  {
   "address": 6998,
   "type": "line",
   "text": "Draws a player's energy bar in the panel: Y = the player; reads his energy at $08DE,y (a fixed value when Y is $12 or more). Each of the bar's first three cells at $F3A0,x shows full (character $12) when the energy reaches 64, 128 and 192, otherwise empty ($0A), and the fourth starts empty; it returns in Y the cell the energy ends in (energy / 64) and in A the part-filled character for it, $0A plus (energy / 8) mod 8, which the caller stores there."
  },
  {
   "address": 7070,
   "type": "line",
   "text": "Adds A (a BCD bonus) to team X's score: keeps a running count in $0C09,x and adds the value to the decimal digits through score_add_bcd."
  },
  {
   "address": 7091,
   "type": "line",
   "text": "Adds the BCD byte A to team X's three-digit score: units $47,x, tens $49,x, hundreds $4B,x, carrying by tens; the hundreds stop at 255."
  },
  {
   "address": 7132,
   "type": "line",
   "text": "Takes A from team X's score (adds its tens' complement in BCD), and clears the score to zero when it would go below."
  },
  {
   "address": 7152,
   "type": "line",
   "text": "Requests sound effect A on voice 1 and clears voice 2's request: the usual way the game plays an effect."
  },
  {
   "address": 7161,
   "type": "line",
   "text": "Requests sound effect A on voice 3."
  },
  {
   "address": 7165,
   "type": "line",
   "text": "Requests effect A on voice 1 and effect A+1 on voice 2: the two-voice effects."
  },
  {
   "address": 7175,
   "type": "line",
   "text": "Clears the three voices' requests to effect 0 and runs the driver once, so that every voice stops."
  },
  {
   "address": 7190,
   "type": "line",
   "text": "The eight bit masks 1, 2, 4 ... $80: a sprite's bit in the VIC's registers, and a key's column in the keyboard scan."
  },
  {
   "address": 7198,
   "type": "line",
   "text": "The eight masks with one bit clear ($FE ... $7F): a sprite's bit cleared, and a keyboard row selected in $DC00."
  },
  {
   "address": 7206,
   "type": "line",
   "text": "The masks that clear one multicolour pixel of a byte, left to right ($3F, $CF, $F3, $FC), for plot."
  },
  {
   "address": 7210,
   "type": "line",
   "text": "Each 4-bit nibble with every bit doubled into a pixel pair ($00, $03, $0C, $0F ... $FF): the mini font's rows as multicolour pixels."
  },
  {
   "address": 7226,
   "type": "line",
   "text": "The matches in a two-player series for each choice of menu 1: 1, 3 and 5."
  },
  {
   "address": 7229,
   "type": "line",
   "text": "The direction (0 up, 1 up-right ... 7 up-left) for each combination of the joystick bits (1 up, 2 down, 4 left, 8 right), $FF for none or an impossible one."
  },
  {
   "address": 7245,
   "type": "line",
   "text": "The keys that stand in for joystick port 2 (read_input), as key numbers: I (up), M (down), J (left), K (right), SPACE (fire) and RUN/STOP; the seventh entry the loop reads is the next table's first byte, A."
  },
  {
   "address": 7251,
   "type": "line",
   "text": "The keys for joystick port 1: A (up), Z (down), comma (left), full stop (right), / (fire) and RUN/STOP; the seventh read is $C0 from the next table."
  },
  {
   "address": 7257,
   "type": "line",
   "text": "The bitmap address of each text row for print_big, low bytes ($1C59) and high bytes ($1C60): seven rows from $E3C0."
  },
  {
   "address": 7264,
   "type": "line",
   "text": "The high bytes of big_text_rows."
  },
  {
   "address": 7271,
   "type": "line",
   "text": "Seven more bytes after the text rows' high bytes ($4A to $DA in steps of $18) that nothing reads."
  },
  {
   "address": 7278,
   "type": "line",
   "text": "What a goal is worth to team 1 for each multiplier position (0-4), in decimal: 20, 15, 10, 10, 10 (multiplier_points). An injury the team causes and a row of five stars are worth the same."
  },
  {
   "address": 7283,
   "type": "line",
   "text": "What a goal is worth to team 2: 10, 10, 10, 15, 20."
  },
  {
   "address": 7288,
   "type": "line",
   "text": "What a star or a dome is worth to team 1: 4, 3, 2, 2, 2."
  },
  {
   "address": 7293,
   "type": "line",
   "text": "The same for team 2: 2, 2, 2, 3, 4."
  },
  {
   "address": 7298,
   "type": "line",
   "text": "How many opponents team 1's electric ball can knock down: 3, 2, 1, 1, 1."
  },
  {
   "address": 7303,
   "type": "line",
   "text": "The same for team 2: 1, 1, 1, 2, 3."
  },
  {
   "address": 7308,
   "type": "line",
   "text": "The shield token's bit of $46 for each player: $10 for team 1's nine, $20 for team 2's."
  },
  {
   "address": 7326,
   "type": "line",
   "text": "The electric ball's bit of $46 for each player: $40 for team 1, $80 for team 2."
  },
  {
   "address": 7344,
   "type": "line",
   "text": "The goal door's bit of $46 for each end: 8 and 4."
  },
  {
   "address": 7346,
   "type": "line",
   "text": "The frame of the arc over a controlled player who has the ball, by his place in the team."
  },
  {
   "address": 7364,
   "type": "line",
   "text": "Each player's role for the computer's play (team_mate_ai): 0 goalkeeper, 1 defender, 2 midfielder, 3 centre forward, 4 winger; $FF ends."
  },
  {
   "address": 7383,
   "type": "line",
   "text": "Each player's line: 1 defence (with the goalkeeper), 2 midfield, 3 attack, which pass_ball and cover compare."
  },
  {
   "address": 7402,
   "type": "line",
   "text": "The group of each squad place for the gym: 0 goalkeeper and defence, 1 midfield, 2 attack, 3 substitutes."
  },
  {
   "address": 7414,
   "type": "line",
   "text": "For each of team 1's players, a player of his team (here 0) for team_mate_ai and the transport token ($1CF6,x + 6)."
  },
  {
   "address": 7423,
   "type": "line",
   "text": "The same for team 2 (9)."
  },
  {
   "address": 7432,
   "type": "line",
   "text": "Each player's team number: 0 for team 1 ($1D08), 1 for team 2 ($1D11)."
  },
  {
   "address": 7441,
   "type": "line",
   "text": "Team 2's entries of team_of: 1 for each of its nine players; read with $1D1A in the run-out."
  },
  {
   "address": 7450,
   "type": "line",
   "text": "The direction team 2's players walk in during the run-out ($FF to stand), read in turn with $1D23."
  },
  {
   "address": 7459,
   "type": "line",
   "text": "The run-out directions for team 1's players."
  },
  {
   "address": 7468,
   "type": "line",
   "text": "The goalkeeper's stance frames, by his stance and the end he defends ($AD, $A5, $AE, $A6 ...)."
  },
  {
   "address": 7476,
   "type": "line",
   "text": "Team 2's players' colour by its team number ($3D, from 0 to 3 by its low two bits): 12, 5, 7 or 6, into player_colours_2 (match_sides)."
  },
  {
   "address": 7480,
   "type": "line",
   "text": "Team 2's possession colour by its team number: 1, 3, 1 or 3, into possession_colour_2."
  },
  {
   "address": 7484,
   "type": "line",
   "text": "Team 2's colour in the panel by its team number: 1, 5, 7 or 6 (panel_colours)."
  },
  {
   "address": 7488,
   "type": "line",
   "text": "The sprite colours of team 1's nine players (2, red; the goalkeeper is player 0, the first), also team 1's panel colour (panel_colours). The ninth, at $1D48, is also read as team 1's colour with team 2's first at $1D49 (pitch_halves_colour)."
  },
  {
   "address": 7496,
   "type": "line",
   "text": "Team 1's ninth player's colour (player 8, a winger); pitch_halves_colour reads it and $1D49 as the two teams' colours, indexed by team."
  },
  {
   "address": 7497,
   "type": "line",
   "text": "The colours of team 2's nine players, set by match_sides from team_2_colours; the ball's colour (1, white) after them."
  },
  {
   "address": 7507,
   "type": "line",
   "text": "The colour of a team 1 player with the ball (4, purple)."
  },
  {
   "address": 7508,
   "type": "line",
   "text": "The colour of a team 2 player with the ball, set by match_sides from team_2_possession."
  },
  {
   "address": 7509,
   "type": "line",
   "text": "Each of team 1's players' column at kick-off; match_sides swaps it with team 2's ($1D5E) when the teams change ends."
  },
  {
   "address": 7518,
   "type": "line",
   "text": "Team 2's kick-off columns."
  },
  {
   "address": 7527,
   "type": "line",
   "text": "Team 1's kick-off rows."
  },
  {
   "address": 7536,
   "type": "line",
   "text": "Team 2's kick-off rows."
  },
  {
   "address": 7545,
   "type": "line",
   "text": "The row each of team 1's players starts the run-out from, at his resting column."
  },
  {
   "address": 7554,
   "type": "line",
   "text": "Team 2's."
  },
  {
   "address": 7563,
   "type": "line",
   "text": "The end each of team 1's players attacks (0) at kick-off; match_sides sets it for each half."
  },
  {
   "address": 7572,
   "type": "line",
   "text": "Team 2's ends (1), with the ball's after them."
  },
  {
   "address": 7582,
   "type": "line",
   "text": "The left edge of each of team 1's players' area (the formation), in columns; the computer keeps him inside it."
  },
  {
   "address": 7591,
   "type": "line",
   "text": "Team 2's left edges."
  },
  {
   "address": 7600,
   "type": "line",
   "text": "The top edge of each of team 1's players' area, in rows."
  },
  {
   "address": 7609,
   "type": "line",
   "text": "Team 2's top edges."
  },
  {
   "address": 7618,
   "type": "line",
   "text": "The right edge of each of team 1's players' area."
  },
  {
   "address": 7627,
   "type": "line",
   "text": "Team 2's right edges."
  },
  {
   "address": 7636,
   "type": "line",
   "text": "The bottom edge of each of team 1's players' area."
  },
  {
   "address": 7645,
   "type": "line",
   "text": "Team 2's bottom edges."
  },
  {
   "address": 7654,
   "type": "line",
   "text": "Menu 0's items for run_menu: a count, then column, row and text address for each: 1 PLAYER GAME, 2 PLAYER GAME, DEMO; the texts follow."
  },
  {
   "address": 7700,
   "type": "line",
   "text": "The address of each menu's items for run_menu, menus 0-3 (high bytes at $1E15)."
  },
  {
   "address": 7701,
   "type": "line",
   "text": "The high bytes of menu_tables' addresses."
  },
  {
   "address": 7708,
   "type": "line",
   "text": "Menu 1's items: ONE MATCH, BEST OF THREE, BEST OF FIVE."
  },
  {
   "address": 7758,
   "type": "line",
   "text": "Menu 2's items: KNOCKOUT, LEAGUE, CUP, PRACTICE."
  },
  {
   "address": 7804,
   "type": "line",
   "text": "Menu 3's items: NEW GAME, TEAM GAME, LOAD GAME."
  },
  {
   "address": 7846,
   "type": "line",
   "text": "The texts of the messages and result screens, each starting with its column: HALF TIME, PLAYER ONE, PLAYER TWO, the results, GOAL, SUBSTITUTION, SPEEDBALL 2, PRESS FIRE, SELECT GAME, A WIN FOR, CONGRATULATIONS! YOU WON THE CUP!, CONGRATULATIONS ON YOUR PROMOTION! and YO! YOU DID IT! YOU TOOK BRUTAL DELUXE TO THE TOP OF THE LEAGUE! OUTRAGEOUS, MAN, OUTRAGEOUS!"
  },
  {
   "address": 7857,
   "type": "line",
   "text": "PLAYER ONE WINS, the end of a two-player series."
  },
  {
   "address": 7874,
   "type": "line",
   "text": "PLAYER TWO WINS."
  },
  {
   "address": 7891,
   "type": "line",
   "text": "PLAYER ONE, before the first coach's visit to the gym."
  },
  {
   "address": 7903,
   "type": "line",
   "text": "PLAYER TWO."
  },
  {
   "address": 7915,
   "type": "line",
   "text": "YOU WON."
  },
  {
   "address": 7924,
   "type": "line",
   "text": "YOU LOST."
  },
  {
   "address": 7934,
   "type": "line",
   "text": "GAME DRAWN."
  },
  {
   "address": 7946,
   "type": "line",
   "text": "MATCH DRAWN."
  },
  {
   "address": 7959,
   "type": "line",
   "text": "GOAL."
  },
  {
   "address": 7965,
   "type": "line",
   "text": "SUBSTITUTION, after an injury."
  },
  {
   "address": 7979,
   "type": "line",
   "text": "SPEEDBALL 2."
  },
  {
   "address": 7991,
   "type": "line",
   "text": "PRESS FIRE."
  },
  {
   "address": 8002,
   "type": "line",
   "text": "SELECT GAME."
  },
  {
   "address": 8014,
   "type": "line",
   "text": "A WIN FOR, before the winner's name."
  },
  {
   "address": 8025,
   "type": "line",
   "text": "CONGRATULATIONS! YOU WON THE CUP!"
  },
  {
   "address": 8062,
   "type": "line",
   "text": "CONGRATULATIONS ON YOUR PROMOTION!"
  },
  {
   "address": 8100,
   "type": "line",
   "text": "YO! YOU DID IT! YOU TOOK BRUTAL DELUXE TO THE TOP OF THE LEAGUE! OUTRAGEOUS, MAN, OUTRAGEOUS!"
  },
  {
   "address": 8105,
   "type": "line",
   "text": "A false symbol: the BIT at $6103 skips the two-byte instruction inside it; no instruction names $1FA9, which lies in sfx_stop_all."
  },
  {
   "address": 8169,
   "type": "line",
   "text": "The last line of text_league_won: OUTRAGEOUS, MAN, OUTRAGEOUS!"
  },
  {
   "address": 8198,
   "type": "line",
   "text": "AN OVERALL WIN FOR BRUTAL DELUXE!"
  },
  {
   "address": 8235,
   "type": "line",
   "text": "AN OVERALL LOSS FOR BRUTAL DELUXE."
  },
  {
   "address": 8269,
   "type": "line",
   "text": "OF, between a player's name and his team's in goal_message."
  },
  {
   "address": 8274,
   "type": "line",
   "text": "The game's frame in a match, called from the end-of-frame interrupt (irq_frame_end) with interrupts on, and once at kick-off. Does nothing on the frame a scroll's drawing is half done. While paused ($07FE set) it only plays sound, reads the controls and unpauses on fire. Otherwise: sets the fine scroll from the scroll counters, finishes a scroll by a character (swap screens, draw the new row or column), sorts the sprites (mux_sort, or sprites_direct when 8 or fewer objects are on screen), moves the camera (camera_check and one to four scroll steps for its speed), then runs the players' control and the computer's play, the ball, the objects' movement and their collisions; on alternate frames reads the controls, or puts the objects on screen, flashes the controlled player and takes the pause key (P), the end key and the cheat keys. Every fourth frame it redraws the scores and the clock. Then it plays the sound, and once a second ($44 counts 50 frames) counts possession, runs the clock down a second and sounds the hooter at full time."
  },
  {
   "address": 8361,
   "type": "line",
   "text": "A false symbol: the BIT at $5D1F, $5D2C skips the two-byte instruction inside it; no instruction names $20A9, which lies in match_frame."
  },
  {
   "address": 8515,
   "type": "line",
   "text": "With the cheat on ($0C10 set by typing BRADFORD-ON-AVON on the title screen), four keys act in a match: T calls $32AD for team 1, G calls $326C for the controlled player ($72), F calls $334E with $0E, and + adds the bonus $55 to team 1's score."
  },
  {
   "address": 8639,
   "type": "line",
   "text": "Once a second of play (every 50 frames, counted in $44): a second of possession for the holder's team ($0C01,x) and, in the opponents' half, a second there ($0C03,x); a new pickup (spawn_pickup), the running token's second (token_tick), and the clock down by one second in decimal; at 0 the half is over ($45 = 4) with effect $1E."
  },
  {
   "address": 8744,
   "type": "line",
   "text": "Ends a scroll by a character: clears the scroll flags ($8A, $8B), swaps the screen shown and the screen drawn into ($7C), and makes the new character position the camera's ($84 to $7E, $85 to $80)."
  },
  {
   "address": 8765,
   "type": "line",
   "text": "The end of a half or the match: sets bit 6 of $45 (camera on a fixed point), takes control from both players ($72, $73 = $FF), clears the controls' state, stops the 18 players (targets $E472/$E48C), clears their moving and action flags, makes the ball the followed object and puts the ball back to the centre spot at column $27, row $4B."
  },
  {
   "address": 8873,
   "type": "line",
   "text": "A false symbol: the BIT at $612C skips the two-byte instruction inside it; no instruction names $22A9, which lies in match_end_frame."
  },
  {
   "address": 8879,
   "type": "line",
   "text": "Turns the fine scroll counters ($81 across, $82 down, 0-7) into the camera's sub-character position ($7D, $7F) through fine_scroll_steps."
  },
  {
   "address": 8900,
   "type": "line",
   "text": "The camera's sub-character position for each fine scroll position, in 32nds: $E0 down to $00. Read by fine_scroll."
  },
  {
   "address": 8908,
   "type": "line",
   "text": "Moves the two controlled players for this frame by the game mode in $3B: 0 the computer plays both ($3E66 on $72 and $73); 1 one player on both joysticks against the computer (port 1 or port 2, either works); otherwise two players, team 1 on port 2 ($9C/$9E) and team 2 on port 1 ($9D/$9F), each through player_input ($3AA4), with a reversed joystick (bits 0 and 1 of $46, the token) swapped by reverse_stick first."
  },
  {
   "address": 9007,
   "type": "line",
   "text": "Reverses a joystick for the reverse-joystick token: swaps up with down and left with right in the held bits $3F and the new presses $40, keeping fire."
  },
  {
   "address": 9056,
   "type": "line",
   "text": "Marks which of the 26 objects are near enough to the camera to be drawn: sets bit 0 of $A0,x for those within 43 columns and 26 rows of the camera's corner (allowing 3 for the sprite's size), clears it for the others (and clears the off-screen players' action bits in $BA,x), and counts the visible ones in $59."
  },
  {
   "address": 9126,
   "type": "line",
   "text": "Moves the 18 players by their speeds ($E400/$E413 across, $E426/$E439 down, 8.8 fixed point), stopping each axis when it reaches the player's target ($E44C, $E45F) and bouncing it off the arena's walls (columns $08-$47, rows $08-$8E) by undoing the step and setting bit 6 (side) or bit 7 (end) of $A0,x. A goalkeeper ($1CC4 zero) in play keeps to his goal area, rows up to $1DB0 or from $1DD4 by the end his team defends ($1D8B). Then moves the ball the same way between columns $06-$49 and rows $06-$90."
  },
  {
   "address": 9442,
   "type": "line",
   "text": "Zeroes $0B33-$0BC2: the 144 bytes of league and cup results."
  },
  {
   "address": 9455,
   "type": "line",
   "text": "Zeroes the 32 bytes at $0BDB."
  },
  {
   "address": 9468,
   "type": "line",
   "text": "Resets the game for a new season: zeroes zero page from $02 to $FF and $07FE-$0C0C, sets every player attribute in $084E-$091F and $0AC3-$0B22 to 100, numbers the 12 squad places 0-11 ($0AB7), fills the 16-team table at $0B23 with each team's number in both nibbles, and starts the transfer market (transfer_init, $568E). Then runs on into match_reset."
  },
  {
   "address": 9553,
   "type": "line",
   "text": "Zeroes both scores and the two teams' injury counts ($6F, $70), keeps the two teams ($3C, $3D) in $0C0B/$0C0C, zeroes the 16 match statistics at $0BFB, marks all 18 players fit ($08DE = $FF; in practice, with no opponent ($3B negative), the other team's nine at $08E7 are cleared), puts the multiplier in the middle ($51 = 2, neither team) with what scoring is worth there (multiplier_points), and runs on into the clock's reset."
  },
  {
   "address": 9626,
   "type": "line",
   "text": "Sets the clock to 90 seconds ($4D = $90, BCD) and zeroes the ten counters at $0AA2."
  },
  {
   "address": 9641,
   "type": "line",
   "text": "Sets the teams' colours and the ends they play: the colours from $1D34 and $1D38 by $3D, the nine team-2 colours at $1D49 and $1D54; when the side in $3E differs from the formation tables' ($1D8B), swaps each of the seven pairs of formation tables (the two teams' columns and rows in attack and defence, and the goalkeepers' limits) and sets each player's end. Then each player's resting column, halfway between his attack and defence columns, into $E576."
  },
  {
   "address": 9798,
   "type": "line",
   "text": "The list unpack_list ($4B55) takes at match_setup's $26E2: a count (4), then four entries of packed source and destination: $9C1C to $BCEF (the pitch's block map), $A751 to $F800 (the arena's characters), $AB9B to $F000 (the panel's screen) and $AD33 to $F370."
  },
  {
   "address": 9815,
   "type": "line",
   "text": "Sets up a match. Unpacks the match sprites from $A04F to $E000 and turns their $40 frames ($80-$BF) from columns to rows (sprite_rows), $30 more from $A1D0 to $C000 (frames $00-$2F), and ten from $A5BB (door_sprites) over the first ten of those, for the run-out; with all RAM in, copies 23 frames (sprite_copy, list copy_pairs) and makes 45 left-facing frames as mirror images of right-facing ones (sprite_mirror, list mirror_pairs); unpacks the pitch's block map, the arena's characters and the panel (arena_unpack_list), and makes mirror images of 52 arena characters ($F800 to $F9A0), 47 more ($FC00 to $FD78) and 15 of the panel's ($F110 to $F098) through the pixel-pair table sprite_mirror left at $0920 (map_translate): the arena's right side is its left side mirrored. Then the teams' sides, the players' state (speeds, targets, sprite frames $40, colours, positions from the formation tables), the ball at the centre, the camera on the ball, the colours ($5A-$5F), clears colour RAM, draws the pitch and the panel, sets up the multiplexer, runs the first frame and the players' run-out: they walk to their places, the ball is launched with effects $1C and $1D, and then the frames from $A1D0 are unpacked again over the door ($29B6) and five more mirrored, the rest of the coin's spin ($1E-$22). The clock starts at 50 frames to the first second."
  },
  {
   "address": 10153,
   "type": "line",
   "text": "A false symbol: the BIT at $452B skips the two-byte instruction inside it; no instruction names $27A9, which lies in match_setup."
  },
  {
   "address": 10409,
   "type": "line",
   "text": "A false symbol: the BIT at $16E9 skips the two-byte instruction inside it; no instruction names $28A9, which lies in match_setup."
  },
  {
   "address": 10731,
   "type": "line",
   "text": "Copies A blocks of 8 bytes from ($1A) to ($1C), each byte through the 256-byte table at $0920."
  },
  {
   "address": 10763,
   "type": "line",
   "text": "Pairs of sprite frames for sprite_mirror: a frame and the frame to hold its mirror image, a left-facing figure from a right-facing one; 45 pairs used by match_setup ($26D4), then from $2A65 five more, the coin's spin $1E-$22, after the run-out unpacks arena_sprites again ($29DC). A frame number N is the 64 bytes at $C000 + 64N."
  },
  {
   "address": 10863,
   "type": "line",
   "text": "23 pairs of sprite frames for sprite_copy ($26CB): a frame and the frame it is copied to, for figures used unchanged in another place in the set."
  },
  {
   "address": 10909,
   "type": "line",
   "text": "Places the two arcs over the controlled players ($72 team 1, $73 team 2) as objects 19 and 20: copies each player's position (three rows higher) and colour to the marker, and its frame from $1CB2 when that player has the ball (0, no frame, otherwise); a marker whose player is not controlled or not on the pitch is moved off ($E0, $DF = $FA)."
  },
  {
   "address": 11026,
   "type": "line",
   "text": "Once a frame, in a match. Gives each human team the player who has the ball, or the nearest one to it (nearest_player), as its controlled player, stopping his own run; then, when the ball is free ($60 = $12), moves it: its height ($63) rises and falls by the vertical speed $64, which drops by one a frame (gravity), and its frame shows the height. A bounce off an end wall turns its vertical speed round and, between columns $22 and $2D below height $40, is a goal for the team attacking that end, unless the goal-door token protects it: counts the goal ($0BFD), adds the goal's points ($53,x, with the multiplier) to the score, lets the scorer celebrate (frame $A1, a run up the pitch), sets the goal state ($45 = 2) and plays effect $18; any other end-wall bounce plays effect $0C. Then the score multiplier ramps ($2C61), the bounce domes (bounce_dome), the electrobounce units (electrobounce), the ball slowing down every 7 frames and coming off the walls, losing the ball when it is more than two away from its holder, and picking it up (pick_up, $2D59)."
  },
  {
   "address": 11177,
   "type": "line",
   "text": "A false symbol: the BIT at $2F0E skips the two-byte instruction inside it; no instruction names $2BA9, which lies in ball_frame."
  },
  {
   "address": 11361,
   "type": "line",
   "text": "The ball runs up a score multiplier ramp (rows $48-$49 going down, $4B-$4C going up, at the sides of the pitch): moves the multiplier $51 a step towards the team whose player threw it (0 or 1 for team 1, 3 or 4 for team 2, 2 for neither), recomputes the goals' worth and the panel lights (multiplier_points, $34C7) and holds the ball in the ramp for two passes of 31 frames ($69, ramp_ride)."
  },
  {
   "address": 11433,
   "type": "line",
   "text": "A false symbol: the BIT at $388F skips the two-byte instruction inside it; no instruction names $2CA9, which lies in multiplier_ramp."
  },
  {
   "address": 11609,
   "type": "line",
   "text": "A free ball within one column and one row of a player who is not down and did not just lose it, and low enough (or the player jumping), is his: he becomes the ball's holder ($60) and takes the possession colour ($1D53 or $1D54), with effect $14. A goalkeeper who takes the ball from the other team counts a save ($0BFF). A ball the other team electrified (bit 6 or 7 of $46, by $1C9E) instead knocks the player down (tackle, $3868) and uses up one of its charges ($65); when they are gone it is an ordinary ball again."
  },
  {
   "address": 11761,
   "type": "line",
   "text": "Finds the player of a team nearest the player Y (the ball holder or the ball): A = 0 for team 1 or 9 for team 2, X the team's controlled player, measured first ($FF when he cannot be used). Then every fourth player of the team, from (frame counter $42 / 2) AND 3, so two or three players a call and a different set every second frame. The distance is the column plus row distance, 10 more for a player off screen; a goalkeeper counts only while Y's row lies inside the goalkeeper's area ($1DB0, $1DD4) and he is on screen; players with $A0,x = 0 are skipped. Returns the nearest in A."
  },
  {
   "address": 11940,
   "type": "line",
   "text": "The ball hits one of the two bounce domes on the centre line (rows $2A-$2E and $6A-$6E): sends it back off the dome (bounce_away), gives the team that threw it the dome's bonus ($55,x, score_add), shows the dome flashing (object 21, frame $BC, for 6 frames) and plays effect $22."
  },
  {
   "address": 11945,
   "type": "line",
   "text": "A false symbol: the BIT at $4528 skips the two-byte instruction inside it; no instruction names $2EA9, which lies in bounce_dome."
  },
  {
   "address": 12056,
   "type": "line",
   "text": "The ball rolls through an electrobounce unit (left wall at rows $6B-$6F, right wall at rows $27-$2B): sends it back off the wall with effect $24, and, when a player threw it, electrifies it for his team (bit 7 of $46 for team 1, 6 for team 2) with that team's charges ($57 or $58 into $65), turns it yellow and frees it; the unit flashes (object 21, frame $BD or $BE)."
  },
  {
   "address": 12200,
   "type": "line",
   "text": "Sets the ball's vertical speed for a bounce: A less than 2 sends it up the screen, more than 2 down, and 2 stops it; at speed $96, or the thrower's throw speed from $383F when the ball was thrown; returns the speed in $22. Clears the ball's slowing counters ($67, $68)."
  },
  {
   "address": 12264,
   "type": "line",
   "text": "Once a second, puts a new pickup on the pitch in the first free slot of objects 22-25 that may take it: half the time a coin (type $14), otherwise a random type 0-31. Armour (0-7) goes only in slot 22 and only while nobody wears any ($6B negative); tokens (8-19) only in slots 23-25, the reverse joystick (9) only in a two-player game ($0AAC = 2); coins ($14 and over, coloured 6) only while neither team has more than the game type's most ($0AB5). It shows as frame type + 6 at a random column 8-$47 outside the centre ($24-$2B) and a random row $10-$8F, with effect 5."
  },
  {
   "address": 12393,
   "type": "line",
   "text": "A false symbol: the BIT at $476D skips the two-byte instruction inside it; no instruction names $3069, which lies in spawn_pickup."
  },
  {
   "address": 12398,
   "type": "line",
   "text": "Animates one of the four pickups each frame (the frame counter picks which): a spinning coin steps through frames $1A-$25 and round again."
  },
  {
   "address": 12433,
   "type": "line",
   "text": "A player (X) touches pickup object Y: removes it ($A0,y = 0) and runs the handler for its type (frame - 6, 0-31) from pickup_handlers through $29: types 0-7 armour, 8-19 tokens, 20-31 coins."
  },
  {
   "address": 12463,
   "type": "line",
   "text": "The 32 pickup types' handlers. Types 0-7 are armour, each raising one attribute (armour_wear): type 0 SPD ($3115), 1 INT ($3129), 2 DEF ($3110), 3 ATT ($310B), 4 POW ($311F), 5 STA ($3124), 6 THR ($311A), 7 AGR ($3106). Types 8-19 are the tokens, in the order the coaching manual lists them: freeze team ($334E), reverse joystick ($32FB), reduce team ($330B), increase team ($331A), manic ($3329), slow team ($3339), grab ball ($326C), transport ($3288), goal door ($32DB), shield ($32EB), full energy ($32D1), zap team ($32AD). Types 20-31 are coins ($30F7)."
  },
  {
   "address": 12464,
   "type": "line",
   "text": "The high bytes of pickup_handlers' addresses."
  },
  {
   "address": 12527,
   "type": "line",
   "text": "The offset of each of the eight attributes in the players' attribute table at $084E (18 players each): AGR $00, ATT $12, DEF $24, SPD $36, THR $48, POW $5A, STA $6C, INT $7E."
  },
  {
   "address": 12535,
   "type": "line",
   "text": "A coin: effect $0A, and one more coin for the player's team ($4F team 1, $50 team 2); the coins are paid into the bank after the match."
  },
  {
   "address": 12550,
   "type": "line",
   "text": "The armour pickups' common part: Y = the attribute (0-7) for each piece's entry at $3106-$312B. Raises that attribute of player X halfway to 255 (keeping the old value in $6D, and in the token copy at $EE00 while a token runs), marks him as wearing armour ($6B = X, $6C = the attribute) and plays effect $12."
  },
  {
   "address": 12635,
   "type": "line",
   "text": "The player wearing armour is tackled: puts his attribute back to the value before, and the first time the piece falls off (object 22 placed where he is, with the piece's frame)."
  },
  {
   "address": 12693,
   "type": "line",
   "text": "Starts a token's 10-second run ($4E): keeps a copy of all attributes at $EE00 (unless one runs already), draws the token's symbol in the panel on the side of the team that took it (characters $50-$55 at $F376 or $F390, the sprite frame's picture copied into the panel's characters at $F283) and plays effect 6."
  },
  {
   "address": 12812,
   "type": "line",
   "text": "Once a second, while a token runs: counts it down with a tick (effect 7); at the end plays effect 3 and ends it (token_end)."
  },
  {
   "address": 12831,
   "type": "line",
   "text": "Ends the running token: clears the token bits of $46 (keeping the electric ball's), restores every attribute from the copy at $EE00, unfreezes all players and puts the panel's characters back (token_panel_cells)."
  },
  {
   "address": 12884,
   "type": "line",
   "text": "Where token_end puts back the panel's characters: twelve offsets from $F370, then ($3260) the characters to put there."
  },
  {
   "address": 12896,
   "type": "line",
   "text": "The characters token_end puts back, after token_panel_cells' twelve offsets."
  },
  {
   "address": 12908,
   "type": "line",
   "text": "Grab ball (token 14, and the G cheat key): player X takes the ball: the old holder gets his team's colour back, X becomes the holder ($60) in the possession colour, effect $28."
  },
  {
   "address": 12936,
   "type": "line",
   "text": "Transport (token 15): the ball goes to the team's player in place 6 of its formation ($1CF6,x + 6, the forward) with effect $26."
  },
  {
   "address": 12973,
   "type": "line",
   "text": "Zap team (token 19, and the T cheat key): every player of the other team on the pitch is tackled down (tackle), with effect $0E. Not during a stoppage ($45 set)."
  },
  {
   "address": 13009,
   "type": "line",
   "text": "Full energy (token 18): the player's energy back to 255 and effect $27."
  },
  {
   "address": 13019,
   "type": "line",
   "text": "Goal door (token 16): sets bit 2 (team 1) or 3 (team 2) of $46: the goal is shut to the other team's shots."
  },
  {
   "address": 13035,
   "type": "line",
   "text": "Shield (token 17): bit 4 or 5 of $46: the team's players cannot be tackled."
  },
  {
   "address": 13051,
   "type": "line",
   "text": "Reverse joystick (token 9): bit 1 or 0 of $46 reverses the other team's joystick (reverse_stick)."
  },
  {
   "address": 13067,
   "type": "line",
   "text": "Reduce team (token 10): every attribute of the other team's nine players to 0 (team_attributes) for the token's time."
  },
  {
   "address": 13082,
   "type": "line",
   "text": "Increase team (token 11): every attribute of the team's nine players to 255 for the token's time."
  },
  {
   "address": 13097,
   "type": "line",
   "text": "Manic (token 12): every attribute of all 18 players to 255 for the token's time."
  },
  {
   "address": 13113,
   "type": "line",
   "text": "Slow team (token 13): the other team's speed (attribute 3, $0884) to 0 for the token's time."
  },
  {
   "address": 13134,
   "type": "line",
   "text": "Freeze team (token 8, and the F cheat key): sets bit 2 of $A0 for the other team's players on the pitch, which stops objects_move moving them, for the token's time."
  },
  {
   "address": 13160,
   "type": "line",
   "text": "Colours the pitch's two halves: multicolour 2 above and below the centre line ($5C, $5D) from the team colours at $1D48, lit for the team the multiplier favours ($51), with the colour change (raster command $88) put at the centre line's raster line in $08 when the line is on screen and the two colours differ."
  },
  {
   "address": 13267,
   "type": "line",
   "text": "The ball bounces off a side wall: at a star's row (four rows a star, five stars on each side) lights the star for the attacking team and gives it the bonus ($55,x) through star_light, or, thrown by the defending team, puts a lit star out and takes the bonus back (star_unlight, score_sub). At the warp gates, two on each wall (rows $2F-$32 and $63-$66), it moves the ball to the other side wall (column 9 from the right wall, $46 from the left) and sends it on away from that wall at its thrower's throw speed, with effect $23. Otherwise it turns the ball's sideways speed round and frees it, with effect $0C unless a star changed."
  },
  {
   "address": 13348,
   "type": "line",
   "text": "A warp gate on the right wall: the ball comes out of the left wall's gate at column 9, moving right."
  },
  {
   "address": 13451,
   "type": "line",
   "text": "A warp gate on the left wall: the ball comes out of the right wall's gate at column $46, moving left."
  },
  {
   "address": 13506,
   "type": "line",
   "text": "The thrower's ($61) throw speed (throw_speed)."
  },
  {
   "address": 13511,
   "type": "line",
   "text": "Sets what scoring is worth for the multiplier position $51 (0-4, 2 is neither team): a goal, an injury or a row of five stars ($53 team 1, $54 team 2: 20, 15, 10, 10, 10 and the reverse, in BCD), a star or a dome ($55, $56: 4, 3, 2, 2, 2), and the electric ball's charges, the opponents it tackles ($57, $58: 3, 2, 1, 1, 1)."
  },
  {
   "address": 13544,
   "type": "line",
   "text": "Lights star Y (0-4 team 1's side, 5-9 team 2's) if it is out: marks it in $0AA2,y, starts the five-star check timer ($52 = 12), plays effect $19 and draws its lit block (star_draw). Returns with carry set if it lit, clear if it was lit already."
  },
  {
   "address": 13565,
   "type": "line",
   "text": "Draws the block for star or light Y (0-13) on the pitch: A = the block number (from star_lit_blocks, or the caller's); writes it into the block map at the star's place (star_map_lo/hi) and, when on screen, its 4 by 4 characters into the hidden screen (star_screen_lo/hi, $28 more for the screen at $CC00), clipped to 40 columns and 22 rows. Sets $8B to 3 so the next frame redraws."
  },
  {
   "address": 13761,
   "type": "line",
   "text": "Puts star Y out if it is lit (star_out_blocks); returns with carry set if it did."
  },
  {
   "address": 13779,
   "type": "line",
   "text": "When the five-star timer runs out: if all five stars on a side are lit, puts them all out and gives the side's team a goal's worth ($53,x) more, with effect $1A."
  },
  {
   "address": 13860,
   "type": "line",
   "text": "Returns non-zero when the five stars from Y are all lit."
  },
  {
   "address": 13876,
   "type": "line",
   "text": "Draws the four lights of the score multiplier for its position $51 (blocks from multiplier_light_blocks, map places 10-13) and colours the pitch's halves (pitch_halves_colour)."
  },
  {
   "address": 13919,
   "type": "line",
   "text": "Draws every lit star again (after the pitch is drawn afresh)."
  },
  {
   "address": 13937,
   "type": "line",
   "text": "The ball rides the score multiplier ramp: its place along the ramp's curve, from ramp_path_x and ramp_path_y, mirrored for the side ($6A bit 1) and the direction ($6A bit 0). The ride is two passes of 31 frames ($69): at the end of the first ($6A EOR $81) it lights the multiplier (multiplier_lights) with effect $25, unless the multiplier was at its end already ($6A bit 6), and rides back; at the end of the second it sends the ball out down or up the pitch."
  },
  {
   "address": 14101,
   "type": "line",
   "text": "The ramp's curve across: 32 steps, each a column (high nibble) and a sixteenth (low nibble), read by ramp_ride."
  },
  {
   "address": 14133,
   "type": "line",
   "text": "The ramp's curve down: 32 steps, the row offset from $48 and a sixteenth, read by ramp_ride."
  },
  {
   "address": 14165,
   "type": "line",
   "text": "The pitch row of each of the 14 places star_draw writes (ten stars, four multiplier lights)."
  },
  {
   "address": 14179,
   "type": "line",
   "text": "Their pitch column."
  },
  {
   "address": 14193,
   "type": "line",
   "text": "Their address in the block map, low byte ($3771) and high byte ($377F)."
  },
  {
   "address": 14207,
   "type": "line",
   "text": "The high bytes of star_map_lo's addresses."
  },
  {
   "address": 14221,
   "type": "line",
   "text": "Their address on the screen at $F400, low byte ($378D) and high byte ($379B), less the camera's offset."
  },
  {
   "address": 14235,
   "type": "line",
   "text": "The high bytes of star_screen_lo's addresses."
  },
  {
   "address": 14249,
   "type": "line",
   "text": "The block number of a lit star, team 1's five ($4F) and team 2's ($50, $51)."
  },
  {
   "address": 14259,
   "type": "line",
   "text": "The block number of a star that is out."
  },
  {
   "address": 14269,
   "type": "line",
   "text": "The blocks of the four multiplier lights for each of the five positions ($37BD, $37C2, $37C7, $37CC): lit ($52-$55) or out."
  },
  {
   "address": 14274,
   "type": "line",
   "text": "The multiplier lights' blocks for position 1."
  },
  {
   "address": 14279,
   "type": "line",
   "text": "For position 2."
  },
  {
   "address": 14284,
   "type": "line",
   "text": "For position 3."
  },
  {
   "address": 14289,
   "type": "line",
   "text": "A byte ($EA) after the multiplier lights' table that nothing reads."
  },
  {
   "address": 14290,
   "type": "line",
   "text": "Player X throws the ball in direction A: the ball becomes free with X as its thrower ($61, $62), held low, his colour back, he plays the throw frame ($70 + 3 x direction) for 3 frames, the ball starts at his place and its speed for the direction comes from throw_dirs at the throw speed (throw_speed), with effect 1."
  },
  {
   "address": 14399,
   "type": "line",
   "text": "A player's throw speed: his THR attribute ($0896,x) / 4 + $74, at most $A5."
  },
  {
   "address": 14413,
   "type": "line",
   "text": "Player X jumps or slides: sets his action bit 3 for 4 frames and the jump frame for his direction ($88-$8F), effect 4."
  },
  {
   "address": 14440,
   "type": "line",
   "text": "Player X tackles player Y: Y falls (down for 12 + (255 - X's energy) / 32 frames, frame $98, effect $2C or $2E by team) and is knocked away from X at X's speed / 4; a ball holder loses the ball to X (or it stays free when X is the electric ball), and one wearing armour loses it. The damage is X's power / 2 + $4B less Y's stamina / 2, over 16: half of it (at least 1) comes off each of Y's eight attributes, to no less than 90, and all of it (at least 1) off his energy. Below zero he is injured (injured), and the other team scores a goal's worth ($53,x, through score_add_bcd, so it is not counted as a bonus)."
  },
  {
   "address": 14785,
   "type": "line",
   "text": "The injury scores for the other team: what a goal is worth to it now ($53,x)."
  },
  {
   "address": 14799,
   "type": "line",
   "text": "Player Y is injured and stretchered off: energy refilled, stopped, sent to his resting place, frame $9F, effect 9; the match stops ($45 = 1). The team's injury count goes up and the player changes places with the next substitute in the squad (his attributes swapped with the substitute's at $08F0, through injury_subs). tackle, the caller, then gives the other team a goal's worth."
  },
  {
   "address": 14922,
   "type": "line",
   "text": "Which substitute's attributes come on for each injury (by team and count): offsets into $08F0 of eight bytes a substitute."
  },
  {
   "address": 14930,
   "type": "line",
   "text": "Goalkeeper X dives left: the dive frame for his end ($B0 + 4 x end), a sideways speed of -$70 (moving left), action bit 5 (diving) and its timer cleared."
  },
  {
   "address": 14961,
   "type": "line",
   "text": "Goalkeeper X dives right: frame $B2 + 4 x end, sideways speed $70, action bit 5."
  },
  {
   "address": 14985,
   "type": "line",
   "text": "Player X slides along the ground: action bit 2 for 4 frames, the slide frame for his direction ($48-$4F), effect $1B."
  },
  {
   "address": 15012,
   "type": "line",
   "text": "A controlled player X (not down, sliding, diving or injured) answers the joystick in $3F (held) and $40 (new presses). Steers the ball while it flies (aftertouch, ball_steer at $4907); runs in the stick's direction (run_dir through stick_dirs, less the directions blocked in $E500,x); on a new fire press: with the ball, throws it the way he faces; a goalkeeper without it dives left or right with the stick; with the ball held by another player, tackles (action bit 0 while fire is held); with the ball free, jumps for a high ball or slides for a low one when moving."
  },
  {
   "address": 15148,
   "type": "line",
   "text": "Runs a quarter of the players each frame (the frame counter picks which). For each one on screen and not busy: an opponent within two cells is tackled when this player is tackling (bits 0 or 2) or is a computer player whose aggression ($084E) beats his threshold ($E524), the opponent is not shielded (bit 4 or 5 of $46 by $1C8C), and a random number is above 128 + the opponent's DEF / 2 - this player's ATT / 2; the tackle counts in the team's statistics ($0C05). Otherwise the two block each other's way ($E500,x). Then any pickup within two cells is taken (pickup_take). Then the player's action timer: at its end a throw lets the ball go (throw_aftertouch), a celebration ends the goal ($45 = 5), a jump lands (effect $16) and a stretcher leaves the pitch ($45 = 7). Then his frame for running, standing or the goalkeeper's stance, and a computer player's coroutine (player_resume)."
  },
  {
   "address": 15405,
   "type": "line",
   "text": "Clears from player X's free directions ($E500,x) the bits not in A: the ways another player blocks (players_contact)."
  },
  {
   "address": 15721,
   "type": "line",
   "text": "Animates the players while play is stopped ($45 three or more): half of them each frame, the run frames ($50 + 4 x direction + step) or the standing frame ($40 + direction), and runs each one's coroutine."
  },
  {
   "address": 15793,
   "type": "line",
   "text": "When the thrower's throw ends and a human threw it, the stick still held adds to the ball: fire lobs it (vertical speed $10, height $4A), and a direction adds a quarter of the throw speed across or down where the ball is not already moving that way, halving its slowing counters."
  },
  {
   "address": 15948,
   "type": "line",
   "text": "Resumes computer player X's coroutine: pushes the address kept at $E48C,x (high) and $E472,x (low), less one, and returns into it. A coroutine gives the frame back with player_yield."
  },
  {
   "address": 15957,
   "type": "line",
   "text": "Ends a computer player's turn: takes the caller's return address off the stack into $E472/$E48C for the player in $41, so that the next player_resume carries on after the call, and returns to player_resume's caller."
  },
  {
   "address": 15968,
   "type": "line",
   "text": "The idle coroutine every player starts with: yields, and yields again."
  },
  {
   "address": 15974,
   "type": "line",
   "text": "The computer's control of a team's controlled player X when the computer plays that team (in place of player_input): thinks every 2, 4 or 6 frames by his intelligence ($08CC: $C8 and over, $96 and over, less). Without the ball: jumps for a high free ball within two cells; a goalkeeper keeps goal (keeper_ai); others run for a pickup within four cells (pickup_near), or for the ball or its holder, or, while the ball rides a ramp, for the other team's controlled player. With the ball: a goalkeeper passes (pass_ball); others throw when placed for a shot (shot_check); dodge an opponent nearer than dodge_distance; at times (a random number against his intelligence, half for a forward) go for a pickup; otherwise run towards the goal, halfway to the end of their formation area each time, trying the two diagonals when the way is the opponent's, and when every way leads into him, a forward (role 3) shoots (shoot) and the others pass (pass_ball)."
  },
  {
   "address": 16041,
   "type": "line",
   "text": "A false symbol: the BIT at $5A66 skips the two-byte instruction inside it; no instruction names $3EA9, which lies in player_ai."
  },
  {
   "address": 16115,
   "type": "line",
   "text": "Steps player X towards the column $75 and row $77: picks the joystick bits for the way (8 right, 4 left, 2 down, 1 up), drops those blocked ($E500,x), turns them into a direction (stick_dirs) and runs (run_dir); when every way is blocked he tackles (action bit 0)."
  },
  {
   "address": 16365,
   "type": "line",
   "text": "Carry clear and Y the pickup when one of the four pickups (objects 22-25) on screen is within four columns and four rows of player X; carry set when none is."
  },
  {
   "address": 16419,
   "type": "line",
   "text": "Carry set and A a direction (0 up, 1 up-right, 2 right ... 7 up-left) when computer player X with the ball is placed to throw at something worth points: at a side wall by the multiplier ramp's mouth (rows $3B-$58, column below $0A or $46 and over), when the multiplier is not yet all his team's (f_40D1) and no opponent is within dodge_distance, into the ramp (down above row $4A, up below it); beside the left or right wall at a star's row whose star is not his team's, at the star (left or right); and, when the ball is not electric, on the diagonal that leads into an electrobounce unit (down-left towards the left one, up-right towards the right). Carry clear otherwise."
  },
  {
   "address": 16593,
   "type": "line",
   "text": "The multiplier position each team is aiming for (0 for team 1, 4 for team 2), by the team number at $1D08; shot_check does not aim at the ramp once it is there."
  },
  {
   "address": 16595,
   "type": "line",
   "text": "The joystick bits from player X towards the row $77, keeping his column (held between 9 and $47), through stick_towards."
  },
  {
   "address": 16615,
   "type": "line",
   "text": "Sets $75 halfway from player X's column to his formation's left limit ($1D9E) and returns the diagonal joystick bits up-left (5) or down-left (6) by the end he attacks."
  },
  {
   "address": 16635,
   "type": "line",
   "text": "The same towards the right limit ($1DC2): up-right (9) or down-right ($0A)."
  },
  {
   "address": 16655,
   "type": "line",
   "text": "Computer player X passes. With the other team's controlled player within dodge_distance, an outfield player dodges him; a goalkeeper lobs the ball left or right (stick 4 or 8), to the side away from him, through throw_lob. Otherwise looks through his team for the nearest player of the next line up (player_lines, $1CD7, + 1) who is not down, avoiding one in the same direction as the opponent unless nearer than him; throws at where that player will be (lead_target, stick_towards), lobbing the ball (height $14, rising $13) when the receiver is further than his THR / 4. With no one to pass to he throws the ball upfield, away from the opponent (throw_away)."
  },
  {
   "address": 16759,
   "type": "line",
   "text": "The pass's search loop goes on here for each candidate (pass_ball)."
  },
  {
   "address": 16868,
   "type": "line",
   "text": "Throws the ball in direction A (throw) and lobs it: height $14, vertical speed $13."
  },
  {
   "address": 16880,
   "type": "line",
   "text": "Computer player X shoots at the goal he attacks: straight up or down the pitch when he is between the goal posts' columns ($22-$2D), or diagonally towards the goal when he is as far from the posts across as he is from the goal line, otherwise straight across towards the posts."
  },
  {
   "address": 16964,
   "type": "line",
   "text": "Throws the ball up the pitch (team 1's end 0) or down it, and to the right or left away from the opponent ($25 bit 1), lobbed (throw_lob)."
  },
  {
   "address": 16998,
   "type": "line",
   "text": "The computer's goalkeeper X when he is on screen: slides at a holder of the ball within four cells; dives at a free ball within six cells that will pass him, left or right by its side (keeper_dive_left, keeper_dive_right); otherwise, when the ball is moving, or his aggression ($084E) / 2 is at least his threshold ($E524), moves to where the ball will be (lead_target), kept to his area (go_in_area); else stands in front of the goal (keeper_place)."
  },
  {
   "address": 17080,
   "type": "line",
   "text": "The distance from player X to object Y, columns plus rows."
  },
  {
   "address": 17110,
   "type": "line",
   "text": "The joystick bits from player X towards object Y (its column and row into $75 and $77, then stick_towards)."
  },
  {
   "address": 17120,
   "type": "line",
   "text": "The joystick bits (8 right, 4 left, 2 down, 1 up) from player X towards the column $75 and row $77, dropping the across part when it is less than a quarter of the distance down, and the down part when it is less than a quarter of the distance across."
  },
  {
   "address": 17207,
   "type": "line",
   "text": "The coroutine that walks player X to his kick-off place ($1D55 column, $1D67 row) at speed $60 a frame on each axis, facing the way he walks, or along the pitch (the end he plays, $1D8B) once there. match_setup gives it to every player for the run-out."
  },
  {
   "address": 17319,
   "type": "line",
   "text": "The coroutine of every player the joystick does not control, run on his turn (player_resume). Y is his team's controlled player (player 6, the forward, or 15 for a team the computer plays). Within 6 cells of Y he steps aside (step_aside). Every 2, 3 or 4 turns by his intelligence he picks a new place to go, and a new random threshold ($E524): a goalkeeper the goal mouth (keeper_place); with Y down, where the ball's holder will be (lead_target); a forward (role 3 and over, $1CC4) a place from forward_places when Y is near the end (forward_place); a defender (role 1) covers Y, or the player at $1CF6 when Y is a defender too (cover); a midfielder (role 2) covers Y when Y is within his columns ($1D9E-$1DC2) and otherwise holds his row (hold_row). In between he keeps running at the place ($E44C, $E45F, go_on)."
  },
  {
   "address": 17484,
   "type": "line",
   "text": "Makes the column $75 and row $77 player X's target ($E44C, $E45F) and runs at it (go_on)."
  },
  {
   "address": 17494,
   "type": "line",
   "text": "Runs player X towards his target ($E44C, $E45F), less the blocked directions, or stops him (all four speeds zero) when he is there or every way is blocked."
  },
  {
   "address": 17560,
   "type": "line",
   "text": "A place eight columns and six rows from object Y, on player X's side of it, into $75 and $77."
  },
  {
   "address": 17589,
   "type": "line",
   "text": "The goalkeeper's place: across, where the ball is heading (lead_target), held within the goal mouth ($21-$2E) and moved along the line between the ball and the goal line ($8E row for one end, $08 for the other by $1D8B) when the ball is outside it; down, on his goal line."
  },
  {
   "address": 17719,
   "type": "line",
   "text": "A forward's place when Y is within $1A rows of the end (from row 0, or from $95 for a team playing the other way, $1D8B): from forward_places, the row by that distance / 4 (six rows on for role 4) and the pair by Y's column / 4 (mirrored for the right half), held within his formation's area; further away he covers Y (cover)."
  },
  {
   "address": 17860,
   "type": "line",
   "text": "Player X's place to support Y: across, halfway between Y's column and his resting column ($E576), within his formation's columns; down, Y's row moved by the distance across, towards one end or the other by the end he plays and whether his role ($1CD7) is below Y's, unless Y is beyond his resting row ($E588) that way, then halfway to Y (hold_row's end). Held within his area."
  },
  {
   "address": 18026,
   "type": "line",
   "text": "Player X's place level with Y across (within his columns) and, down, halfway between Y's row and his resting row ($E588), or between Y's row and his area's limit, by which side of the resting row Y is and which end he plays."
  },
  {
   "address": 18123,
   "type": "line",
   "text": "Holds the place $75, $77 within player X's formation area ($1D9E-$1DC2 across, $1DB0-$1DD4 down) and runs at it (go_to)."
  },
  {
   "address": 18166,
   "type": "line",
   "text": "Where object Y will be: its position plus its speed times 1, 2, 4 or 8 by player X's intelligence ($08CC: below $64, $64 and over, $96, $C8), the column into $75 (fraction $74) and the row into $77 (fraction $76)."
  },
  {
   "address": 18256,
   "type": "line",
   "text": "Runs player X in direction A (0-7): keeps it as his facing ($E4B9) and sets his two speeds through run_dir_routines, at his SPD / 4 plus $30, or plus $20 when he holds the ball: a player with the ball runs slower."
  },
  {
   "address": 18291,
   "type": "line",
   "text": "The eight routines run_dir calls, one a direction: up ($4783), up-right ($4798), right ($47AD), down-right ($47BC), down ($47CB), down-left ($47DA), left ($47EF), up-left ($4804). Each sets the speeds across ($E400/$E413) and down ($E426/$E439) from the speed in A: the same speed on both axes for a diagonal."
  },
  {
   "address": 18292,
   "type": "line",
   "text": "The high bytes of run_dir_routines' addresses."
  },
  {
   "address": 18307,
   "type": "line",
   "text": "Direction 0, up: speed down -A, across 0."
  },
  {
   "address": 18328,
   "type": "line",
   "text": "Direction 1: across +A, down -A."
  },
  {
   "address": 18349,
   "type": "line",
   "text": "Direction 2: across +A, down 0."
  },
  {
   "address": 18364,
   "type": "line",
   "text": "Direction 3: across +A, down +A."
  },
  {
   "address": 18379,
   "type": "line",
   "text": "Direction 4: down +A, across 0."
  },
  {
   "address": 18394,
   "type": "line",
   "text": "Direction 5: down +A, across -A."
  },
  {
   "address": 18415,
   "type": "line",
   "text": "Direction 6: across -A, down 0."
  },
  {
   "address": 18436,
   "type": "line",
   "text": "Direction 7: across -A, down -A."
  },
  {
   "address": 18455,
   "type": "line",
   "text": "The low bytes of twelve rows of forward_places (high byte at $4823, all $48): forward_place picks a row by the ball's distance from the goal / 4, for a distance below $1A, so 0-6, plus 6 for role 4. Role 3's index 6 is role 4's first row, and role 4's index 12 reads past the twelve, taking $48 from $4823 as the low byte and $1A from $482F as the high."
  },
  {
   "address": 18467,
   "type": "line",
   "text": "The high bytes of forward_places' row addresses (all $48), and then forward_places from $482F."
  },
  {
   "address": 18479,
   "type": "line",
   "text": "The forwards' places, eighteen pairs of column and row in each of the twelve rows, by the ball's column / 2."
  },
  {
   "address": 18695,
   "type": "line",
   "text": "Takes A off player X's speed across and Y off his speed down, each towards zero and no further (slow_across, slow_down_y / slow_up_y)."
  },
  {
   "address": 18774,
   "type": "line",
   "text": "Adds Y's amount ($23) to a negative speed down ($E426/$E439), stopping at zero."
  },
  {
   "address": 18802,
   "type": "line",
   "text": "Takes $23 off a positive speed down, stopping at zero."
  },
  {
   "address": 18830,
   "type": "line",
   "text": "The game's unpacker: from ($2E) to ($30). A byte below $80 is a run of literals, that many plus one, copied as they are; a byte of $80 or more copies earlier output, from 256 - that byte back, for the length in the next byte; a length of 0 ends the data."
  },
  {
   "address": 18954,
   "type": "line",
   "text": "A pseudo-random number in $2D (and A): the last one plus $35, the raster line ($D012) and SID voice 3's oscillator ($D41B)."
  },
  {
   "address": 18968,
   "type": "line",
   "text": "Starts SID voice 3 as a noise generator at its highest frequency, muted ($D418 = $8F: voice 3 off), for random's oscillator reads."
  },
  {
   "address": 18982,
   "type": "line",
   "text": "Stops voice 3's noise and sets full volume."
  },
  {
   "address": 18996,
   "type": "line",
   "text": "Waits for the raster to pass line 256 ($D011 bit 7 falling then rising): once a frame."
  },
  {
   "address": 19007,
   "type": "line",
   "text": "Fills from ($1A) up to ($1C) with A."
  },
  {
   "address": 19030,
   "type": "line",
   "text": "Copies from ($1E) to ($1A) up to ($1C)."
  },
  {
   "address": 19061,
   "type": "line",
   "text": "Reads the controls. Joystick port 2 into $9C and port 1 into $9D (bits set while held: 0 up, 1 down, 2 left, 3 right, 4 fire), the new presses since the last read into $9E and $9F. When a key is held and joystick 1 is still, scans the keyboard: each row's held keys into $94-$9B and the new presses into $8C-$93 (row r is $94 + r, column c is bit c, so key 8 x r + c), and the keys in key_sticks stand in for the sticks: I, M, J, K and SPACE for port 2, A, Z, comma, full stop and / for port 1, RUN/STOP for both (bit 5). Otherwise clears the key state."
  },
  {
   "address": 19285,
   "type": "line",
   "text": "Unpacks every entry of the list at (X low, Y high): a count, then four bytes an entry, the packed data's address and its destination (unpack)."
  },
  {
   "address": 19335,
   "type": "line",
   "text": "An interrupt handler that only acknowledges the CIA."
  },
  {
   "address": 19339,
   "type": "line",
   "text": "The RESTORE key's interrupt: goes to the main menu ($6E8E) without returning."
  },
  {
   "address": 19342,
   "type": "line",
   "text": "Jumps through the address in $29 and $2A (the callers' JSR makes it an indirect call)."
  },
  {
   "address": 19345,
   "type": "line",
   "text": "A = (X x 256 + A) / Y, eight bits of quotient, the remainder in $22."
  },
  {
   "address": 19396,
   "type": "line",
   "text": "A = A x X, the low eight bits."
  },
  {
   "address": 19419,
   "type": "line",
   "text": "A x 10."
  },
  {
   "address": 19427,
   "type": "line",
   "text": "A x 10 + 100: a team rating digit (0-15) as an attribute."
  },
  {
   "address": 19437,
   "type": "line",
   "text": "Waits for the next frame, reads the controls and runs on into tape_motor."
  },
  {
   "address": 19443,
   "type": "line",
   "text": "Keeps the cassette motor bit of the processor port ($01 bit 5) as it was, from $0C0E, unless a key on the cassette (sense bit 4) is up, when it turns the motor off; the other port bits are I/O in, BASIC and KERNAL out ($15)."
  },
  {
   "address": 19470,
   "type": "line",
   "text": "Fades the screen to black over 16 frames (8 for a bitmap screen): each frame turns every colour into the next darker one (darker_colour): the background and multicolours ($5A-$5F, $D021-$D023), the sprites' colours, the objects' colours ($0A3A) and colour RAM (fade_colour_ram, or fade_bitmap_colours through the paired table it builds at $0920)."
  },
  {
   "address": 19652,
   "type": "line",
   "text": "Darkens colour RAM for a character screen: each colour through darker_mc, which keeps the multicolour bit."
  },
  {
   "address": 19715,
   "type": "line",
   "text": "Darkens a bitmap's colours: colour RAM and the screen at $CC00 (both nibbles) through the table at $0920."
  },
  {
   "address": 19804,
   "type": "line",
   "text": "Sixteen colours from dark to light (0, 11, 9, 2, 6, 14, 4, 10, 8, 12, 5, 7, 15, 3, 13, 1) that nothing reads."
  },
  {
   "address": 19820,
   "type": "line",
   "text": "Each colour's next darker colour, for fade_out: white to cyan, cyan to yellow, yellow to light grey and so on down to black."
  },
  {
   "address": 19836,
   "type": "line",
   "text": "The same for multicolour character colours (8-15 stay multicolour)."
  },
  {
   "address": 19852,
   "type": "line",
   "text": "Turns A sprite frames at (X, Y) from columns (21 bytes for each of the three columns) into the VIC's rows (three bytes a row); then, when $26 is not zero, makes $26 mirror images from (X, Y) on to ($1C) (sprite_mirror)."
  },
  {
   "address": 19956,
   "type": "line",
   "text": "Fills $0920 with each byte's mirror image in pixel pairs (multicolour pixels): the four pairs in the other order."
  },
  {
   "address": 19992,
   "type": "line",
   "text": "Mirrors the sprite frame at ($1A) into ($1C): each row's three bytes swapped end for end and each through mirror_table."
  },
  {
   "address": 20038,
   "type": "line",
   "text": "Makes A mirror images, from the list of frame pairs at (X, Y) (frame_pair_addr): the second frame of each pair becomes the first's mirror image."
  },
  {
   "address": 20062,
   "type": "line",
   "text": "Copies A frames from the list of pairs at (X, Y): the first to the second, or the second to the first when carry was set."
  },
  {
   "address": 20109,
   "type": "line",
   "text": "Reads the next pair of frame numbers at ($1E) and turns them into addresses at $C000 + 64 x frame, ($1A) and ($1C)."
  },
  {
   "address": 20160,
   "type": "line",
   "text": "Builds a menu screen from the list at $8527: unpacks the tiles to $C000, each cell's flip bits to $007A and the map of tiles to $C800, then draws it (tile_screen)."
  },
  {
   "address": 20169,
   "type": "line",
   "text": "The same from the list at $7D72, with the map at $CC00; then colours the last three rows ($CF70-$CFE7) white on black ($10)."
  },
  {
   "address": 20190,
   "type": "line",
   "text": "Shows the bitmap picture at $7AFC (show_picture)."
  },
  {
   "address": 20197,
   "type": "line",
   "text": "Draws a menu screen whose list is at (X, Y) and map is at A x 256: unpacks it, and with carry set first fills the map's $FF cells from the screen at $F400 (tile_fill). Then draws every cell's tile into the bitmap at $E000 (draw_tile), each with two flip bits from $007A on (four cells a byte)."
  },
  {
   "address": 20306,
   "type": "line",
   "text": "Where the map at $CC00 holds $FF, takes the cell from $F400."
  },
  {
   "address": 20343,
   "type": "line",
   "text": "Draws tile A (10 bytes each from ($20): eight bytes of pixels, a screen colour byte and a colour RAM byte) into the bitmap cell at ($1A), turned upside down when bit 1 of $24 is set and mirrored (mirror_table) when bit 0 is, and its two colour bytes into the screen at $CC00 and colour RAM."
  },
  {
   "address": 20467,
   "type": "line",
   "text": "Shows a bitmap picture from the list at (X, Y): black border; unless $36 is set, unpacks the list's third entry to $CC00 and copies it into colour RAM first; then unpacks the list (bitmap, screen and colours)."
  },
  {
   "address": 20537,
   "type": "line",
   "text": "Waits for a frame, clears the VIC's sprite registers, turns on all eight multicolour sprites, sprite multicolour 2 light grey, and shows the multicolour bitmap at $E000 with its screen at $CC00 ($D018 = $38, $D011 = $3B, $D016 = $1B)."
  },
  {
   "address": 20579,
   "type": "line",
   "text": "Moves the sprites to the menus' multiplexer (mux_menus), fades the screen out (fade_out) and blanks it, sprites off, $36 clear."
  },
  {
   "address": 20599,
   "type": "line",
   "text": "Prints mini-font character A into the bitmap at ($1A), in pixel pairs of colour bits 0 (Y = 0); entered at $507A it prints in colour $55. Two pixels a nibble, through the pairs table at $1C2A, the next cell every eight rows. Moves ($1A) on a cell."
  },
  {
   "address": 20602,
   "type": "line",
   "text": "print_char's entry for colour $55 (colour 1 in every pixel pair)."
  },
  {
   "address": 20648,
   "type": "line",
   "text": "Prints the high nibble of A as a row of pixel pairs (print_char)."
  },
  {
   "address": 20652,
   "type": "line",
   "text": "Prints the low nibble of A as a row of four pixels through nibble_pairs, keeping the other pixels, and moves to the next row."
  },
  {
   "address": 20698,
   "type": "line",
   "text": "Prints mini-font character A five rows tall at ($1C) in colour 1 (the bits $55 of the pairs table), and moves on a cell."
  },
  {
   "address": 20757,
   "type": "line",
   "text": "print_char_tall's row from a high nibble."
  },
  {
   "address": 20761,
   "type": "line",
   "text": "print_char_tall's row from a low nibble."
  },
  {
   "address": 20796,
   "type": "line",
   "text": "Sets the multicolour pixel at column $34, row $35 of the bitmap at $E000 to colour A (0-3)."
  },
  {
   "address": 20881,
   "type": "line",
   "text": "Prints the text at ($1A), ending with 0, in the big font at $C000 (letters of 16 by 16 pixels, two cells across and two down: the top two cells' 16 bytes, and the bottom two's 128 bytes on, eight letters to a page): starting at column X of text row Y (big_text_rows: rows of the bitmap at $E000), each letter merged into what is there (merge_byte). A space leaves a gap."
  },
  {
   "address": 21004,
   "type": "line",
   "text": "Merges byte Y of the letter at ($1E) into the bitmap at ($1C): its pixels and those beside them cleared first, giving the letter an outline."
  },
  {
   "address": 21033,
   "type": "line",
   "text": "Prints the text at ($1C), letters $00-$3F, into sprite frames from ($1A) on (sprite_char): 1 starts the next line ten rows down; 0 ends."
  },
  {
   "address": 21077,
   "type": "line",
   "text": "Prints mini-font character A into the sprite data at ($1A), at text column X (two letters a byte across), row Y."
  },
  {
   "address": 21172,
   "type": "line",
   "text": "Moves on a row in sprite_char's sprite data."
  },
  {
   "address": 21174,
   "type": "line",
   "text": "The offset in the sprite data for row $23 and byte $22: three bytes a row, past a frame's 63 bytes into the next frame's."
  },
  {
   "address": 21195,
   "type": "line",
   "text": "Draws 32 sprite figures into the bitmap at $E000 pixel by pixel (plot): frame sprite_figure_frames,x (from $C000; $BF ends early) at column sprite_figure_cols,x / 2 + $4E, row sprite_figure_rows,x, 12 by 21 pixels."
  },
  {
   "address": 21324,
   "type": "line",
   "text": "Gives team 2 the ratings of team A (1-16) through the packed routine after the JSR (run_packed, unpacked to $C000): each of its eight attributes from team_ratings' digits, 100 + 10 x digit (rating_to_attr), the same for players 9-11, 12-14 and 15-17 in turn, then the substitutes' at $0908, $0910 and $0918."
  },
  {
   "address": 21327,
   "type": "line",
   "text": "The packed routine team_2_ratings unpacks to $C000 and runs: $C000 the loop over three groups of three players, $C056 one digit to three players, $C068 one digit to three substitutes."
  },
  {
   "address": 21432,
   "type": "line",
   "text": "Swaps the two human teams' squads (the 96 bytes at $0AC3 and at $0B23), their four bytes at $0AB1-$0AB4 and the team numbers $3C and $3D."
  },
  {
   "address": 21483,
   "type": "line",
   "text": "Copies the squad at $0AC3 into team 2's players (squad_to_team from player 9, substitutes from $18)."
  },
  {
   "address": 21489,
   "type": "line",
   "text": "Copies the squad at $0AC3 into the match's attribute table for team 1: for each of the eight attributes, nine players to $084E + 18 x attribute, then the three substitutes to $08F0, $08F8 and $0900."
  },
  {
   "address": 21553,
   "type": "line",
   "text": "Records the match between teams $3C and $3D in the league table, through the packed routine after the JSR (run_packed), in decimal: a win ($3A = 1 or 2) adds one to the winner's wins ($0B33) and the loser's defeats ($0B53) and 10 points to the winner ($0BA3/$0BB3); a draw adds one to both teams' draws ($0B43) and 5 points each. Then each team's score in tens (its hundreds and tens digits, $4B and $49 for team $3C, $4C and $4A for $3D: one point for every 10 scored) goes on its points, its goals for ($0B63/$0B73) and the other's goals against ($0B83/$0B93)."
  },
  {
   "address": 21556,
   "type": "line",
   "text": "The packed routine league_result unpacks to $C000 and runs."
  },
  {
   "address": 21738,
   "type": "line",
   "text": "Sorts the league: $0B23 holds each team's place (low nibble; 0-7 division 2, 8-15 division 1, higher is better) and its place before (high nibble). Builds the list of teams by place at $0920 and sorts each division (sort_division) by points, and level on points by goals for less goals against (league_better), moving a team with fewer points down."
  },
  {
   "address": 21780,
   "type": "line",
   "text": "The bubble sort for the eight teams from X."
  },
  {
   "address": 21848,
   "type": "line",
   "text": "Compares teams X and Y: points ($0BB3, $0BA3), then goals for less goals against. Carry clear and not equal when Y is ahead."
  },
  {
   "address": 21915,
   "type": "line",
   "text": "Plays a match between two computer teams $3C and $3D without showing it, through the packed routine after the JSR (run_packed): sets $3A (0 draw, 1 team $3C won, 2 team $3D won) and the two scores in tens: their hundreds and tens digits ($4B, $49 and $4C, $4A), with the units ($47, $48) zero."
  },
  {
   "address": 21918,
   "type": "line",
   "text": "The packed routine simulate_match unpacks to $C000: the two teams' strengths (team_strength) make a score ($C03B): a random number from 0 to 99 is compared with a range set by the difference in strength ($28 more per point of difference for the stronger team, $14 less for the weaker), and its distance from the range picks one of the 44 scores in the table at $C0AF (from 1-0 up to 10-0), given to the stronger team or the weaker; inside the range both teams score the same."
  },
  {
   "address": 21920,
   "type": "line",
   "text": "This symbol is the false target of the BIT that skips a LDY #$55 at $5079 (print_char's second entry): it marks no data."
  },
  {
   "address": 21984,
   "type": "line",
   "text": "The rest of simulate_match's packed routine: the score table at $C0AF, from 1-0 up to 10-0."
  },
  {
   "address": 22158,
   "type": "line",
   "text": "Starts the transfer market: each of the 14 star players (names from $0F45: SHORN to JAMS) gets a random wait of 4-11 weeks ($0BC6), and the three places on offer ($0BC3-$0BC5) are empty."
  },
  {
   "address": 22185,
   "type": "line",
   "text": "A week of the transfer market: each star's wait counts down and starts again at 4-7; the empty places on offer take stars whose wait is at 3, from all 14 in a cup, from the first seven while the player's team is in division 2 (bit 3 of $0B23) and from the last seven in division 1."
  },
  {
   "address": 22285,
   "type": "line",
   "text": "A screen that waits for fire with a band of colour (colour_band) the stick changes: left and right step $0C0F through the eight colour pairs of band_colours; entered at $5710 with a second band (colour_band_2). RUN/STOP goes back to the main menu."
  },
  {
   "address": 22378,
   "type": "line",
   "text": "Steps $0C0F one way for left (bit 2) or the other for right (bit 3) of the stick bits in A, and redraws the band."
  },
  {
   "address": 22403,
   "type": "line",
   "text": "Fills 19 rows of 35 cells of the screen at $CC7A with colour pair $0C0F from band_colours."
  },
  {
   "address": 22443,
   "type": "line",
   "text": "Fills every other row of 17 at $CCA2 with the opposite pair (band_colours entry $0C0F + 4)."
  },
  {
   "address": 22493,
   "type": "line",
   "text": "Eight screen colour bytes (high nibble and low nibble the two colours of the multicolour bitmap) for colour_band."
  },
  {
   "address": 22501,
   "type": "line",
   "text": "The NEXT FIXTURE screen: the two teams' names ($3C and $3D) with VS between them, and each team's record and squad bars (fixture_week, team_record_text). In a two-player game the second team's bars are the other player's squad (swap_squads, bar_scale, swap_squads). Then colour_screen; fire goes on."
  },
  {
   "address": 22618,
   "type": "line",
   "text": "Prints the fixture's week or round by the game type ($0AAC)."
  },
  {
   "address": 22648,
   "type": "line",
   "text": "The STATISTICS screen after a match: the 16 counters at $0BFB (shots at goal, goals scored, tackles, saves, possession and the rest) for both teams, then bonus points."
  },
  {
   "address": 22770,
   "type": "line",
   "text": "Draws a cup or league screen (tile_screen_c8), with a line across for the league types, and lists round A's fixtures: the pairs of teams at $0B23 for a cup, the week's fixtures (fixtures, $7393) otherwise."
  },
  {
   "address": 22814,
   "type": "line",
   "text": "Prints each fixture of the round from the last: the pair of teams (from $0B23 in a cup, from week_fixtures otherwise), their names and both scores (result_scores, from $0BDB-$0BF3), always, since the screen is shown after the round is played; then RESULTS."
  },
  {
   "address": 22970,
   "type": "line",
   "text": "The league table of the division Brutal Deluxe are in (bit 3 of their place): each team's place, name, won, drawn, lost and points (league_row), with the week; fire goes on, RUN/STOP to the main menu."
  },
  {
   "address": 23077,
   "type": "line",
   "text": "Prints one row of the league table."
  },
  {
   "address": 23347,
   "type": "line",
   "text": "Where league_table prints its rows and columns: screen addresses and colours."
  },
  {
   "address": 23355,
   "type": "line",
   "text": "The league table's row addresses, low bytes; high bytes at $5B3C."
  },
  {
   "address": 23356,
   "type": "line",
   "text": "The high bytes."
  },
  {
   "address": 23371,
   "type": "line",
   "text": "The league table's colour addresses for each row, low and high ($5B4C)."
  },
  {
   "address": 23372,
   "type": "line",
   "text": "The high bytes of the league table's colour addresses."
  },
  {
   "address": 23387,
   "type": "line",
   "text": "The fixture list's row addresses (low and high at $5B5C)."
  },
  {
   "address": 23388,
   "type": "line",
   "text": "The high bytes of the fixture list's row addresses."
  },
  {
   "address": 23405,
   "type": "line",
   "text": "Prints player name A (the Nth name from $0ED9, BARRY on) at ($1A)."
  },
  {
   "address": 23419,
   "type": "line",
   "text": "Prints team name A (the Nth from $0E11, BRUTAL DELUXE on) at ($1A)."
  },
  {
   "address": 23433,
   "type": "line",
   "text": "print_team with the name already counted from team_names."
  },
  {
   "address": 23444,
   "type": "line",
   "text": "An entry that prints a player's name (from $0ED9) like print_team_name; nothing calls it."
  },
  {
   "address": 23464,
   "type": "line",
   "text": "Prints team X's name and its line of the fixture."
  },
  {
   "address": 23467,
   "type": "line",
   "text": "Prints team X's name at the row's place (print_team_name), the entry print_fixture takes for the second team."
  },
  {
   "address": 23487,
   "type": "line",
   "text": "Moves ($1C) on past A strings ending in 0: the Nth name of a list."
  },
  {
   "address": 23514,
   "type": "line",
   "text": "Prints the text at ($1C) into the bitmap at ($1A) in the mini font (print_char): ASCII from $0F up; 0 ends; 1-8 are commands from text_commands: a new line, a gap, numbers, a team's position and underlining."
  },
  {
   "address": 23563,
   "type": "line",
   "text": "The addresses of print_text's commands 1-8 (entry 0 unused): 1 ($5C1D) a new line, ten pixel rows down; 2 n ($5C2F) moves n cells right; 3, 4 and 7 ($5C4F, $5C55, $5C5B) print a number read through the bytes that follow (value_read at $5C6A) in different forms; 5 ($5C83) a team's position in its division (8 less its place within it); 6 ($5C92) a number from the team's ratings; 8 n ($5C3F) n underline characters."
  },
  {
   "address": 23564,
   "type": "line",
   "text": "The high bytes of text_commands' addresses."
  },
  {
   "address": 23581,
   "type": "line",
   "text": "Command 1 of print_text: a new line, $140 bytes on in the bitmap (one text row, eight pixel rows)."
  },
  {
   "address": 23599,
   "type": "line",
   "text": "Command 2: moves right by the cells in the next byte."
  },
  {
   "address": 23602,
   "type": "line",
   "text": "Moves ($1A) on by A cells of the bitmap (8 bytes each)."
  },
  {
   "address": 23615,
   "type": "line",
   "text": "Command 8: prints the next byte's number of underline characters."
  },
  {
   "address": 23631,
   "type": "line",
   "text": "Command 3: a number (value_read) printed by j_5D58."
  },
  {
   "address": 23637,
   "type": "line",
   "text": "Command 4: a number printed by j_5D49."
  },
  {
   "address": 23643,
   "type": "line",
   "text": "Command 7: a number printed by j_5CF1."
  },
  {
   "address": 23649,
   "type": "line",
   "text": "Takes the next byte of the text at ($1C)."
  },
  {
   "address": 23658,
   "type": "line",
   "text": "Reads the number a text command names: the address in the next two bytes of the text (or a team's entry), its value in A."
  },
  {
   "address": 23683,
   "type": "line",
   "text": "Command 5: the team's position in its division, 8 less its place within it."
  },
  {
   "address": 23698,
   "type": "line",
   "text": "Command 6: a number from the team's ratings."
  },
  {
   "address": 23810,
   "type": "line",
   "text": "Prints the digit in A."
  },
  {
   "address": 23818,
   "type": "line",
   "text": "Prints a value in decimal (gym prices and attributes)."
  },
  {
   "address": 23832,
   "type": "line",
   "text": "Prints a number of up to three digits."
  },
  {
   "address": 23858,
   "type": "line",
   "text": "Splits a value into its decimal digits."
  },
  {
   "address": 23908,
   "type": "line",
   "text": "Prints a character with print_char (the formation picture's numbers)."
  },
  {
   "address": 23926,
   "type": "line",
   "text": "The texts the menu screens print with print_text: the league table's heading and columns, WEEK, RESULTS, NEXT FIXTURE, VS, the STATISTICS screen's lines (SHOTS AT GOAL, GOALS SCORED ... BONUS POINTS) with their commands."
  },
  {
   "address": 23973,
   "type": "line",
   "text": "Inside menu_texts: BIT $5DA5 at $33C4 skips a two-byte instruction there; nothing reads this text through the symbol."
  },
  {
   "address": 23987,
   "type": "line",
   "text": "The league table's ruled line under the heading, in the mini font's line characters."
  },
  {
   "address": 24003,
   "type": "line",
   "text": "One row of the league table: won, drawn and lost ($0B33, $0B43, $0B53) and the points ($0BB3, $0BA3) through print_text's number commands."
  },
  {
   "address": 24024,
   "type": "line",
   "text": "DIVISION 1, the league table's title in division 1."
  },
  {
   "address": 24035,
   "type": "line",
   "text": "DIVISION 2."
  },
  {
   "address": 24046,
   "type": "line",
   "text": "RESULTS, the title of the week's results."
  },
  {
   "address": 24054,
   "type": "line",
   "text": "The two scores of a result ($0BDB, $0BEB and $0BE3, $0BF3)."
  },
  {
   "address": 24068,
   "type": "line",
   "text": "NEXT FIXTURE."
  },
  {
   "address": 24081,
   "type": "line",
   "text": "VS between the two teams' names."
  },
  {
   "address": 24085,
   "type": "line",
   "text": "The next fixture screen's record of the player's team: won, drawn, lost and points, league place, points for and against, and the headings DEFENCE, MIDFIELD, ATTACK and SUBSTITUTES for its squad."
  },
  {
   "address": 24235,
   "type": "line",
   "text": "STATISTICS, the screen's title."
  },
  {
   "address": 24246,
   "type": "line",
   "text": "The statistics screen's lines: SHOTS AT GOAL, GOALS SCORED, GOALS SAVED, TIME IN POSSESSION, TIME IN OPPONENTS HALF, SUCCESSFUL TACKLES, SUBSTITUTIONS and BONUS POINTS."
  },
  {
   "address": 24403,
   "type": "line",
   "text": "The statistics screen's numbers: eight counters from $0BFB on, two bytes apart, through print_text's command 7."
  },
  {
   "address": 24435,
   "type": "line",
   "text": "The gym, before a match: draws the gym screen (tile_screen with the screen at $F400 underneath), the squad's portraits and attribute bars, the bank and the eight attribute buttons; then runs its loop (gym_loop)."
  },
  {
   "address": 24587,
   "type": "line",
   "text": "The gym's controls: the stick moves the cursor over the 24 buttons (gym_buttons marks which exist), fire presses one: ESC (5) leaves for the match, FIX (6) shows the next fixture, the arrows (13, 14) pick the next or previous player, 1-3 pick a group of players, ALL (10) buys every attribute for the player, and the eight attribute buttons ($10-$17) pick an attribute or, picked again, buy it (gym_buy). In a two-player game each coach uses his own stick."
  },
  {
   "address": 24962,
   "type": "line",
   "text": "Moves the gym's cursor to button X with a click (effect $22)."
  },
  {
   "address": 24969,
   "type": "line",
   "text": "A menu frame: waits for the frame, reads the controls and sorts the sprites. RUN/STOP goes back to the main menu. With the cheat on ($0C10), the + key adds 100 to the bank ($0AB3, decimal) each press."
  },
  {
   "address": 25018,
   "type": "line",
   "text": "Lights gym button A (its sprite colour $0838,x)."
  },
  {
   "address": 25077,
   "type": "line",
   "text": "Dims gym button A."
  },
  {
   "address": 25098,
   "type": "line",
   "text": "Shows gym button A pressed."
  },
  {
   "address": 25119,
   "type": "line",
   "text": "Places the gym's sprites for the button group A: frames, columns and rows from $66DE, $6696 and $66BA."
  },
  {
   "address": 25196,
   "type": "line",
   "text": "When the chosen attribute ($33, 0-7) changes: prints the name of the equipment that trains it (armour_names, through nth_string) in the gym's sprite text, and its price for the chosen group: the attribute's price (attribute_prices, decimal turned to binary) times the group's size (group_size)."
  },
  {
   "address": 25283,
   "type": "line",
   "text": "Clears the area for the player's name."
  },
  {
   "address": 25301,
   "type": "line",
   "text": "The names of the eight pieces of equipment the gym sells, one for each attribute: BITMAP SHADES, BARGE PADS, CHEST GUARD, SPEED BOOTS, POWER ELBOWS, POWER GLOVES, THUNDA THIGHS and BRAIN BOOST."
  },
  {
   "address": 25402,
   "type": "line",
   "text": "Buys attribute $33 for each player of the chosen group ($37) in turn (squad_raise, from the group's first place in bar_places), each up to the limit gym_price gives; then shows the bank (bank_show)."
  },
  {
   "address": 25437,
   "type": "line",
   "text": "Raises attribute A of squad place X by 10 ($0AC3 + 12 x A + X) and pays its price (attribute_prices) from the bank (bank_pay). When the bank cannot pay nothing changes; when the attribute would pass 255 or the limit in $28 (gym_price), the payment is given back with the refusal effect $24."
  },
  {
   "address": 25483,
   "type": "line",
   "text": "Takes the price off the bank ($0AB1, $0AB3, decimal), with the till effect."
  },
  {
   "address": 25532,
   "type": "line",
   "text": "Adds to the bank."
  },
  {
   "address": 25556,
   "type": "line",
   "text": "Prints the bank's value in the gym's panel."
  },
  {
   "address": 25606,
   "type": "line",
   "text": "The number of players in the chosen group ($37)."
  },
  {
   "address": 25620,
   "type": "line",
   "text": "Draws one attribute bar."
  },
  {
   "address": 25630,
   "type": "line",
   "text": "Draws the eight attribute bars and values of the chosen player, or the group's average, with his name and position."
  },
  {
   "address": 25740,
   "type": "line",
   "text": "Fills $0920-$0927 with the eight attributes to show for the gym's or the manager's choice $37: for a group, each attribute averaged over the group's players (group_size from bar_places); for a single star ($0C-$1D) his attributes (player_value). Then draws them (value_show)."
  },
  {
   "address": 25844,
   "type": "line",
   "text": "Draws the eight attribute bars for $0920-$0927 (attribute_bar), with $28 set to the training limit (gym_price) / 10 + 13; a star's bars (from squad_value) keep $28 = 0."
  },
  {
   "address": 25886,
   "type": "line",
   "text": "Copies player A's eight attributes into $0920-$0927: a squad place (0-11) from the squad at $0AC3, twelve bytes apart; a star ($0C and over) from his two bytes of 4-bit digits in transfer_players, 100 + 10 x digit each (rating_to_attr)."
  },
  {
   "address": 25954,
   "type": "line",
   "text": "Prints the position name of squad place X (position_names)."
  },
  {
   "address": 25977,
   "type": "line",
   "text": "Draws an attribute's bar pixel by pixel (plot) and its value in tall digits (print_char_tall)."
  },
  {
   "address": 26073,
   "type": "line",
   "text": "The most an attribute may be trained to: the highest of the four lines' average attributes (bar_scale), rounded down to tens, plus 30 (40 in a team game); at most 220, or 230 in a team game with the team in division 1, or 240 in a knockout."
  },
  {
   "address": 26154,
   "type": "line",
   "text": "The average attribute of each of the squad's four lines of three (places 0-2, 3-5, 6-8 and the substitutes 9-11): the sum of their eight attributes over 24, into $0928-$092B."
  },
  {
   "address": 26238,
   "type": "line",
   "text": "The gym's tables: sprite columns and rows for the buttons ($667E, $668A), their frames ($6696-$6701 for gym_sprites), the bars' screen places ($6702), the buttons that exist on the 24-button grid (gym_buttons at $6722, 0 for a gap), the attributes' prices ($673E), group sizes ($6746) and each group's first squad place ($6757)."
  },
  {
   "address": 26250,
   "type": "line",
   "text": "The rows of the gym's button sprites (manager_sprites, with the columns at $667E)."
  },
  {
   "address": 26262,
   "type": "line",
   "text": "Columns of the figures draw_sprites and gym_sprites place, 36 of them."
  },
  {
   "address": 26298,
   "type": "line",
   "text": "Their rows."
  },
  {
   "address": 26334,
   "type": "line",
   "text": "Their frames, four entries a group; $BF marks an empty slot, whose sprite is hidden (gym_sprites, draw_sprites)."
  },
  {
   "address": 26370,
   "type": "line",
   "text": "The bitmap addresses of the gym's attribute bars, low and high ($6703)."
  },
  {
   "address": 26371,
   "type": "line",
   "text": "Their high bytes."
  },
  {
   "address": 26402,
   "type": "line",
   "text": "Which of the 24 places of the gym's cursor grid hold a button (non-zero) and which are gaps."
  },
  {
   "address": 26430,
   "type": "line",
   "text": "The price of 10 more in each attribute, in decimal: AGR 5, ATT 10, DEF 10, SPD 15, THR 10, POW 10, STA 15, INT 15 (squad_raise, gym_player)."
  },
  {
   "address": 26438,
   "type": "line",
   "text": "How many players each choice of the gym holds (one player, a line, the team)."
  },
  {
   "address": 26455,
   "type": "line",
   "text": "The first squad place of each choice of the gym (group_sizes gives how many follow)."
  },
  {
   "address": 26472,
   "type": "line",
   "text": "The manager screen of a league or cup (manager_draw), then its loop (manager_loop)."
  },
  {
   "address": 26497,
   "type": "line",
   "text": "Draws squad place X's portrait from the portrait tiles (portrait_tiles) and its position's name."
  },
  {
   "address": 26605,
   "type": "line",
   "text": "Draws the manager screen: the formation, the players' portraits, the transfer list and the bank."
  },
  {
   "address": 26700,
   "type": "line",
   "text": "Places the manager screen's sprites."
  },
  {
   "address": 26766,
   "type": "line",
   "text": "Draws the manager screen again after another screen."
  },
  {
   "address": 26784,
   "type": "line",
   "text": "The manager screen's controls: the stick moves over the squad's places and the buttons; fire on a player then another swaps them (squad_swap), fire on a star on the transfer list buys him (transfer_buy), and the buttons give the gym, the next fixture, the statistics, the league table and SAVE."
  },
  {
   "address": 27095,
   "type": "line",
   "text": "Runs the manager screen's button that was pressed."
  },
  {
   "address": 27408,
   "type": "line",
   "text": "The manager screen's click."
  },
  {
   "address": 27415,
   "type": "line",
   "text": "Waits a number of frames ($44) with the menu frame running."
  },
  {
   "address": 27427,
   "type": "line",
   "text": "Turns off sprite expansion ($D017, $D01D) and leaves the screen (screen_off)."
  },
  {
   "address": 27440,
   "type": "line",
   "text": "The manager screen's cursor: objects 0 and 1 as the two halves of a white marker (frames $FD and $FE); when a place is chosen ($38) it prints that player's worth (place_value) into the marker's sprites (print_small) and places the marker by the tables $6E2E (columns) and $6E3A (rows); with none chosen it parks the marker at column $32."
  },
  {
   "address": 27545,
   "type": "line",
   "text": "place_value reads star_fees ($6BB1) through here, at 2 x the star's number (12-25); these two bytes are the operand of LDA $6E2E,x."
  },
  {
   "address": 27546,
   "type": "line",
   "text": "The rows of formation_places' markers."
  },
  {
   "address": 27569,
   "type": "line",
   "text": "The fourteen stars' fees in decimal, two bytes each (tens and units, then hundreds): 1170, 1185, 1192, 1237, 1297, 1410, 1425, 1635, 1650, 1650, 1717, 1732, 1867 and 1882 (place_value)."
  },
  {
   "address": 27597,
   "type": "line",
   "text": "The worth of player A, in decimal (A the tens and units, Y the hundreds): a star ($0C and over) has a fixed fee from star_fees; a squad player is worth, for each attribute, its price (attribute_prices) taken (attribute - 85) / 10 times, rounded down and at least once."
  },
  {
   "address": 27665,
   "type": "line",
   "text": "Buys star $38 for squad place $37 when the bank has his price: he replaces the player there, whose place goes back on the market, and the bank pays."
  },
  {
   "address": 27727,
   "type": "line",
   "text": "Takes the bought star off the market ($0BBA,x and the place on offer $0B9B,$37 = $FF). When the squad player he replaces was a star himself (number $0C or more), that star waits 4-11 weeks to come back on offer; an ordinary player is dropped. The new player's number goes into the squad place ($0AB7) and his attributes (player_value) into the squad at $0AC3."
  },
  {
   "address": 27801,
   "type": "line",
   "text": "Swaps squad places $37 and $38: their numbers ($0AB7) and their attributes ($0AC3)."
  },
  {
   "address": 27896,
   "type": "line",
   "text": "Carry clear when star Y is already in the squad, with the refusal effect."
  },
  {
   "address": 27924,
   "type": "line",
   "text": "The unpack list for the portraits: their maps from $B082 to $C000, and their mirror bits from $B04C to $BCEF."
  },
  {
   "address": 27933,
   "type": "line",
   "text": "Draws portrait A at place X (portrait_tiles_draw) without unpacking."
  },
  {
   "address": 27939,
   "type": "line",
   "text": "Unpacks the portraits (portrait_list), builds mirror_table and draws portrait A at place X."
  },
  {
   "address": 27952,
   "type": "line",
   "text": "Draws portrait A at place X: 4 by 6 tiles from the portraits' maps at $C000 (24 tile numbers a portrait) through draw_tile, from the tile set at $B2EE, each tile mirrored when its bit in the three bytes at $BCEF + 3 x A is set; the bitmap and colour addresses of place X come from portrait_tables. Some portraits are only drawn at some places ($39)."
  },
  {
   "address": 28154,
   "type": "line",
   "text": "Where the portraits go on the screens ($6DFA, $6E14), and the order of squad places on screen."
  },
  {
   "address": 28155,
   "type": "line",
   "text": "The high bytes of the portraits' bitmap places."
  },
  {
   "address": 28156,
   "type": "line",
   "text": "The portraits' places for portrait (manager screen), low and high."
  },
  {
   "address": 28157,
   "type": "line",
   "text": "The high bytes of the manager screen's portrait places."
  },
  {
   "address": 28180,
   "type": "line",
   "text": "The screen colour addresses of the portraits' places, low and high ($6E15)."
  },
  {
   "address": 28181,
   "type": "line",
   "text": "The high bytes of the portraits' screen colour addresses."
  },
  {
   "address": 28206,
   "type": "line",
   "text": "The columns of the formation picture's numbers."
  },
  {
   "address": 28218,
   "type": "line",
   "text": "The rows of the formation picture's numbers."
  },
  {
   "address": 28230,
   "type": "line",
   "text": "The squad places' names, four letters each: GOAL, LDEF, RDEF, CMID, LMID, RMID, CFWD, LWNG, RWNG, SUB1, SUB2, SUB3, then DEF, MID and FWD for the groups."
  },
  {
   "address": 28242,
   "type": "line",
   "text": "The three groups' names for the gym: DEF, MID and FWD."
  },
  {
   "address": 28302,
   "type": "line",
   "text": "The main menu, and where RUN/STOP and RESTORE lead: resets the stack and the game (new_game_state), gives team 2 the first computer team's ratings and runs menu 0 (run_menu: 1 PLAYER GAME, 2 PLAYER GAME, DEMO). 1 PLAYER GAME gives menu 2 (KNOCKOUT, LEAGUE, CUP, PRACTICE) and LEAGUE menu 3 (NEW GAME, TEAM GAME, LOAD GAME); 2 PLAYER GAME gives menu 1 (ONE MATCH, BEST OF THREE, BEST OF FIVE). Each choice sets the game type $0AAC: 0 demo, 1 practice, 2 two players, 3 knockout, 4 cup, 5 league, 6 team game (the computer plays the player's matches). Waiting at a menu starts the demo."
  },
  {
   "address": 28507,
   "type": "line",
   "text": "Shows the text at (X, Y) on a plain screen (tile_screen_cc) and waits for fire (wait_fire)."
  },
  {
   "address": 28539,
   "type": "line",
   "text": "A two-player series of 1, 3 or 5 matches (menu 1): both squads start with 170 ($AA) in every attribute ($0AC3, $0B23) and 1100 in the bank; before each match PLAYER ONE and then PLAYER TWO visit the gym with their own squad (swap_squads between), then the match (two_player_result). At the end the screen names the side that won more matches, or a draw."
  },
  {
   "address": 28671,
   "type": "line",
   "text": "Which side starts each match of a two-player series."
  },
  {
   "address": 28674,
   "type": "line",
   "text": "A knockout: the bank starts at 1100, and the player's team meets computer teams 1 to 15 in turn, each after the next fixture screen and the gym (team_2_ratings, match_result). A draw is played again, a defeat ends it, and beating team 15 goes back to the main menu."
  },
  {
   "address": 28722,
   "type": "line",
   "text": "A cup: the bank starts at 2000, the transfer market starts, and the rounds begin (cup_round)."
  },
  {
   "address": 28735,
   "type": "line",
   "text": "One round of the cup: the teams not yet knocked out ($0B33 zero) are shuffled into ties ($0B23 pairs). Each tie without the player's team (team 0) is simulated twice, two legs added up (cup_record), and again while the total is level; the player's tie is played over two legs with the ends changed (manager screen, match_result), again while level; the losers are knocked out (cup_loser), the round's results are shown (cup_screen). Knocked out, the player goes back to the main menu; after the fourth round, the final, CONGRATULATIONS! YOU WON THE CUP!"
  },
  {
   "address": 28992,
   "type": "line",
   "text": "Knocks out the loser of a tie: one more for team $3D's $0B33 when the result $3A is 1, for team $3C's otherwise."
  },
  {
   "address": 29007,
   "type": "line",
   "text": "A random team number from 0 to 13."
  },
  {
   "address": 29017,
   "type": "line",
   "text": "The last tie of each round of the cup, counting from 0: 7, 3, 1, 0 (8, 4, 2 and 1 ties)."
  },
  {
   "address": 29021,
   "type": "line",
   "text": "A league (menu 3): a new game (carry clear) starts with 1100 in the bank and the transfer market; LOAD GAME (carry set) carries on from the loaded week. The league is two divisions of eight: places 0-7 are division 2 and 8-15 division 1, the higher the better, and Brutal Deluxe (team 0) start in place 0."
  },
  {
   "address": 29047,
   "type": "line",
   "text": "Starts half a season: shuffles the order of the seven weeks of fixtures ($0BD4-$0BDA) and starts at week 1."
  },
  {
   "address": 29089,
   "type": "line",
   "text": "A week of the league: the week's eight matches (week_fixtures), the player's with the next fixture screen and the manager screen (league_match), the rest simulated, each recorded (league_result); then the transfer market's week, the table sorted (league_sort), the results and the table shown. Seven weeks make half a season; the second half plays the fixtures again with the ends changed ($0AB0). After the season the top of division 2 (place 7) and the bottom of division 1 (place 8) change places."
  },
  {
   "address": 29214,
   "type": "line",
   "text": "The play-off after a season: second in division 2 (place 6) against second from bottom in division 1 (place 9), played again until one wins, who takes the higher place. Then the table and the transfer market. Brutal Deluxe at the top of division 1 (place 15) have won the league (YO! YOU DID IT!); in division 1 after the first season they are promoted (CONGRATULATIONS ON YOUR PROMOTION!) and play a second season; otherwise the game goes back to the main menu."
  },
  {
   "address": 29306,
   "type": "line",
   "text": "Plays a league match between teams $3C and $3D: simulated when neither is Brutal Deluxe (team 0), otherwise played after the next fixture screen and the manager screen (match_result)."
  },
  {
   "address": 29345,
   "type": "line",
   "text": "A random number from 0 to 5, for shuffling the weeks."
  },
  {
   "address": 29355,
   "type": "line",
   "text": "Swaps the places (low nibbles of $0B23) of teams $3C and $3D."
  },
  {
   "address": 29394,
   "type": "line",
   "text": "The team in place A: the index of the entry of $0B23 whose low nibble is A."
  },
  {
   "address": 29412,
   "type": "line",
   "text": "Records a cup tie's scores at $0BDB-$0BF3 and its result in $3A."
  },
  {
   "address": 29501,
   "type": "line",
   "text": "The fixtures of week A for the two divisions, from fixtures, into $0920 (home) and $0928 (away)."
  },
  {
   "address": 29560,
   "type": "line",
   "text": "The team in place A of division 2 (entered at $7378, places 0-7) or of division 1 ($737B)."
  },
  {
   "address": 29563,
   "type": "line",
   "text": "The team in place A of division 1 (division_team's second entry)."
  },
  {
   "address": 29587,
   "type": "line",
   "text": "The league's fixture list: seven weeks of four matches, each a byte of two teams of the division (a nibble each), counted in the order of their team numbers among the division's members (division_team): every team plays every other once."
  },
  {
   "address": 29615,
   "type": "line",
   "text": "Plays a two-player match (play_match) and shows the winner's message; returns the result in A."
  },
  {
   "address": 29656,
   "type": "line",
   "text": "The result screen after a one-player match: for a win a message, then A WIN FOR and the winner's name; for a defeat a message, the picture at $7AFC (show_picture_7afc) and A WIN FOR the other team; for a draw a message. Returns the result in A (0 draw, 1 win, 2 defeat)."
  },
  {
   "address": 29778,
   "type": "line",
   "text": "For each game type ($0AAC, 0-6): the mode $3B (0 the computer plays both teams, 1 one player, 2 two players, $FF practice with no opponent)."
  },
  {
   "address": 29785,
   "type": "line",
   "text": "For each game type, the most coins a match can earn ($0AB5)."
  },
  {
   "address": 29792,
   "type": "line",
   "text": "For each game type, the fewest coins a team that picked up any is paid for ($0AB6): 3 in a team game, 0 otherwise; a team with none is paid nothing (play_coins)."
  },
  {
   "address": 29799,
   "type": "line",
   "text": "Plays a match: sets the mode and the coin limits for the game type, resets the scores and the clock, sets up the match (match_setup) and lets the interrupt play it, redrawing the pitch when asked ($8B), until the match state ($45) has bit 7. Then fades out, ends any token or armour and puts back the sprite frames the match changed (sprite_copy). State 5 (a goal) or 7 (an injury) shows its message and kicks off again; state 3 (RUN/STOP) goes back to the main menu, or with the cheat on ($0C10) counts the match as finished; at half time the teams change ends with a message. At the end it adds the goals and saves to the statistics, pays each team its coins (play_coins) at 1, 2 or 4 a coin by the game and round, and sets the result $3A (0 a draw, 1 or 2 the winner)."
  },
  {
   "address": 29832,
   "type": "line",
   "text": "Resets the clock and plays a half (play_match's second half)."
  },
  {
   "address": 30011,
   "type": "line",
   "text": "What a coin is worth, in hundreds, for play_coins: 1; in a cup ($0AAC = 4) 2, or 4 from the third round ($0AAE 2 or 3)."
  },
  {
   "address": 30086,
   "type": "line",
   "text": "Pays team Y's coins ($4F,y), held between the game type's limits ($0AB6 fewest, $0AB5 most), into its bank, which is decimal: $0AB3,y the hundreds and $0AB1,y the tens and units. Each coin adds the hundreds in $22, which play_match sets to 1, or in a cup to 2 in the first two rounds and 4 in the semi-final and the final ($0AAE / 2). The bank stops at 9999."
  },
  {
   "address": 30128,
   "type": "line",
   "text": "Plays effect A and waits for fire, keeping the sound going, then stops the sound and leaves the screen."
  },
  {
   "address": 30152,
   "type": "line",
   "text": "Runs menu A (0-3): draws the menu screen (tile_screen_c8, with the title's sprites unpacked the first time), prints the menu's items in the big font from menu_tables, and runs the packed routine after run_packed (unpacked to $C000) that moves the selection with the stick and returns the item chosen, $FF for back or $FE when the demo should start."
  },
  {
   "address": 30285,
   "type": "line",
   "text": "The packed routine run_menu unpacks to $C000 and runs: the selection's bar, the stick, a timeout that starts the demo, and fire."
  },
  {
   "address": 30571,
   "type": "line",
   "text": "Shows a message in the big font: clears the screen, prints the text at (X, Y) at its column, and with A = 1 the score (from $4B, $49, $47 and $4C, $4A, $48) under it; then shows the screen (screen_on)."
  },
  {
   "address": 30574,
   "type": "line",
   "text": "message_big without the score (A = 0)."
  },
  {
   "address": 30697,
   "type": "line",
   "text": "message_big, then waits up to 150 frames or for fire (message_timed)."
  },
  {
   "address": 30700,
   "type": "line",
   "text": "Waits 150 frames or for fire, then leaves the screen."
  },
  {
   "address": 30723,
   "type": "line",
   "text": "message_big, then waits for fire."
  },
  {
   "address": 30741,
   "type": "line",
   "text": "The same without the score."
  },
  {
   "address": 30747,
   "type": "line",
   "text": "The message after a goal or an injury: the player's name and the team's, or in a one-player game OF and the team."
  },
  {
   "address": 30847,
   "type": "line",
   "text": "Clears the bitmap at $E000 and its colours."
  },
  {
   "address": 30911,
   "type": "line",
   "text": "SAVE on the manager screen: puts the KERNAL back (kernal_on), saves the league as S0:SAVESPEED (the scratch command then the file, $CC00-$CD60 from the game's state) and comes back (kernal_off)."
  },
  {
   "address": 30978,
   "type": "line",
   "text": "Copies the game's pages $0100-$01FF and $0300-$03FF away, restores the KERNAL's vectors and I/O (RESTOR, IOINIT), turns the ROMs on and the screen off, ready for disk access."
  },
  {
   "address": 31123,
   "type": "line",
   "text": "Takes the machine back for the game: ROMs off, the interrupt vectors at $FFFA and $FFFE, the saved pages back, the sound initialised."
  },
  {
   "address": 31219,
   "type": "line",
   "text": "The DOS command and file name: S0:SAVESPEED (S0: scratches the old file first)."
  },
  {
   "address": 31231,
   "type": "line",
   "text": "LOAD GAME: loads SAVESPEED through the KERNAL (kernal_on, LOAD) and copies it into the game's state; carry set when it failed."
  },
  {
   "address": 31311,
   "type": "line",
   "text": "Copies 22 rows of 40 characters into the screen at $CC00 from the rows whose addresses pitch_scroll_draw writes into its 22 LDA instructions; the scroll's half-done draw."
  },
  {
   "address": 31454,
   "type": "line",
   "text": "Sets all eight attributes of the nine players from Y to A (token_reduce, token_increase, token_manic)."
  },
  {
   "address": 31484,
   "type": "line",
   "text": "The unpack list for the picture after a defeat (show_picture_7afc): the bitmap, its screen colours and colour RAM (unpack_list): 3 entries, $7CE5 to $CC00, $7B09 to $E000, $7D38 to $D800."
  },
  {
   "address": 31497,
   "type": "line",
   "text": "Packed bitmap of the defeat picture, a player in armour (unpack), 476 bytes that unpack to 8000 at $E000-$FF3F; its pixels, at $E000."
  },
  {
   "address": 31973,
   "type": "line",
   "text": "Packed screen colours of the defeat picture (unpack), 83 bytes that unpack to 1000 at $CC00-$CFE7; the colour pairs for each cell, at $CC00."
  },
  {
   "address": 32056,
   "type": "line",
   "text": "Packed colour RAM of the defeat picture (unpack), 58 bytes that unpack to 1000 at $D800-$DBE7; the third colour of each cell."
  },
  {
   "address": 32114,
   "type": "line",
   "text": "The unpack list for the plain message screen (tile_screen_cc): its tiles, the flip bits and the map of tiles (unpack_list): 3 entries, $7D7F to $C000, $83BE to $007A, $83E6 to $CC00."
  },
  {
   "address": 32127,
   "type": "line",
   "text": "Packed tiles of the message screens, 10 bytes a tile (draw_tile) (unpack), 1599 bytes that unpack to 1790 at $C000-$C6FD; 179 tiles at $C000."
  },
  {
   "address": 32768,
   "type": "line",
   "text": "The packed tiles of the message screens, 10 bytes a tile (draw_tile) from byte 641 of the stream: these bytes unpack to about $C2D3-$C446 of the 1790."
  },
  {
   "address": 33127,
   "type": "line",
   "text": "The packed tiles of the message screens, 10 bytes a tile (draw_tile) from byte 1000 of the stream: these bytes unpack to about $C447-$C6FD of the 1790."
  },
  {
   "address": 33726,
   "type": "line",
   "text": "Packed flip bits of the message screen, two a cell (unpack), 40 bytes that unpack to 250 at $007A-$0173; four cells a byte, at $007A."
  },
  {
   "address": 33766,
   "type": "line",
   "text": "Packed map of the message screen, one tile number a cell (unpack), 321 bytes that unpack to 1000 at $CC00-$CFE7; a tile number for each of the 1000 cells."
  },
  {
   "address": 34087,
   "type": "line",
   "text": "The unpack list for the menu screens (tile_screen_c8): the menu, the next fixture and the cup screens (unpack_list): 3 entries, $8534 to $C000, $8806 to $007A, $88CB to $C800."
  },
  {
   "address": 34100,
   "type": "line",
   "text": "Packed tiles of the menu screens (unpack), 722 bytes that unpack to 1010 at $C000-$C3F1; 101 tiles at $C000."
  },
  {
   "address": 34822,
   "type": "line",
   "text": "Packed flip bits of the menu screen (unpack), 197 bytes that unpack to 250 at $007A-$0173; four cells a byte, at $007A."
  },
  {
   "address": 35019,
   "type": "line",
   "text": "Packed map of the menu screen (unpack), 665 bytes that unpack to 1000 at $C800-$CBE7; a tile number a cell, at $C800."
  },
  {
   "address": 35684,
   "type": "line",
   "text": "The unpack list for the manager screen as drawn again after another screen (manager_redraw) (unpack_list): 3 entries, $8B93 to $C000, $9168 to $007A, $91D4 to $CC00."
  },
  {
   "address": 35697,
   "type": "line",
   "text": "The unpack list for the gym (gym): its tiles, flip bits and map, and the manager map at $F400 under the cells the gym map leaves $FF (unpack_list): 4 entries, $8B93 to $C000, $9390 to $007A, $9431 to $CC00, $91D4 to $F400."
  },
  {
   "address": 35714,
   "type": "line",
   "text": "The unpack list for the manager screen the first time (manager): the manager map at $F400 under the cells its first map leaves $FF (unpack_list): 4 entries, $8B93 to $C000, $9639 to $007A, $96A1 to $CC00, $91D4 to $F400."
  },
  {
   "address": 35731,
   "type": "line",
   "text": "Packed tiles of the gym and the manager screen (unpack), 1493 bytes that unpack to 1960 at $C000-$C7A7; 196 tiles at $C000."
  },
  {
   "address": 36521,
   "type": "line",
   "text": "A false symbol: the BIT at $44C1 skips the two-byte instruction inside it; no instruction names $8EA9, which lies in gym_tiles."
  },
  {
   "address": 36585,
   "type": "line",
   "text": "The packed tiles of the gym and the manager screen, bytes 854-999 of the stream."
  },
  {
   "address": 36731,
   "type": "line",
   "text": "The packed tiles of the gym and the manager screen from byte 1000 of the stream: these bytes unpack to about $C52F-$C7A7 of the 1960."
  },
  {
   "address": 37224,
   "type": "line",
   "text": "Packed flip bits of the manager screen (unpack), 108 bytes that unpack to 250 at $007A-$0173; four cells a byte."
  },
  {
   "address": 37332,
   "type": "line",
   "text": "Packed map of the manager screen (unpack), 444 bytes that unpack to 1000 at $CC00-$CFE7; a tile number a cell, at $CC00, or at $F400 under the gym."
  },
  {
   "address": 37776,
   "type": "line",
   "text": "Packed flip bits of the gym (unpack), 161 bytes that unpack to 250 at $007A-$0173; four cells a byte."
  },
  {
   "address": 37937,
   "type": "line",
   "text": "Packed map of the gym, $FF where the manager map shows through (unpack), 520 bytes that unpack to 1000 at $CC00-$CFE7; a tile number a cell."
  },
  {
   "address": 38457,
   "type": "line",
   "text": "Packed flip bits of the manager screen the first time (unpack), 104 bytes that unpack to 250 at $007A-$0173; four cells a byte."
  },
  {
   "address": 38561,
   "type": "line",
   "text": "Packed map of the manager screen the first time, almost all $FF (unpack), 27 bytes that unpack to 1000 at $CC00-$CFE7; the cells come from the manager map at $F400."
  },
  {
   "address": 38588,
   "type": "line",
   "text": "The pitch and arena blocks, 4 by 4 characters each (16 bytes, a row of four at a time), numbered from 0; the block map at $BCEF places them (pitch_row_bytes, pitch_column_bytes). Pitch blocks 0-61."
  },
  {
   "address": 39580,
   "type": "line",
   "text": "Pitch blocks 62-85."
  },
  {
   "address": 39964,
   "type": "line",
   "text": "Packed block map of the arena, 20 blocks across and 38 down, block numbers 0-85 (unpack), 351 bytes that unpack to 782 at $BCEF-$BFFC; unpacked by match_setup (arena_unpack_list)."
  },
  {
   "address": 40315,
   "type": "line",
   "text": "Packed sprite frame for the menu screens (unpack), 29 bytes that unpack to 64 at $FF40-$FF7F; frame $FD at $FF40, unpacked by run_menu the first time."
  },
  {
   "address": 40344,
   "type": "line",
   "text": "Packed two sprite frames for the manager screen (unpack), 30 bytes that unpack to 128 at $FF40-$FFBF; frames $FD and $FE at $FF40, unpacked by manager_draw."
  },
  {
   "address": 40374,
   "type": "line",
   "text": "Packed sprite frames for the gym and the manager screen (unpack), 254 bytes that unpack to 704 at $C400-$C6BF; frames $10-$1A at $C400."
  },
  {
   "address": 40628,
   "type": "line",
   "text": "Packed more sprite frames for the gym (unpack), 411 bytes that unpack to 704 at $C700-$C9BF; frames $1C-$26 at $C700."
  },
  {
   "address": 40960,
   "type": "line",
   "text": "The packed more sprite frames for the gym from byte 332 of the stream: these bytes unpack to about $C915-$C9BF of the 704."
  },
  {
   "address": 41039,
   "type": "line",
   "text": "Packed sprite frames of the match, stored in columns (unpack, then sprite_rows): 385 bytes that unpack to 4096 at $E000-$EFFF, frames $80-$BF. Only seven of them hold a picture here: $AE, the dives $B0, $B1, $B4 and $B5, and the flashes $BC and $BD. match_setup fills the others by copying frames from $40-$7F into them (sprite_copy: the jumps, a player down, the stretcher, celebrating) and by mirroring right-facing frames (sprite_mirror: the throws, the other dives, $BE)."
  },
  {
   "address": 41424,
   "type": "line",
   "text": "Packed sprite frames of the match, among them the pickups (frame 6 + type: armour, tokens and the spinning coins $1A-$25) (unpack), 1003 bytes that unpack to 3072 at $C000-$CBFF; frames $00-$2F at $C000, turned into rows. Frames $1E-$22, the middle of the coin's spin, are blank here and made as mirror images (mirror_pairs). match_setup unpacks it twice: before door_sprites covers its first ten frames for the run-out, and again after ($29B6)."
  },
  {
   "address": 42424,
   "type": "line",
   "text": "The packed sprite frames of the match, among them the pickups (frame 6 + type: armour, tokens and the spinning coins $1A-$25) from byte 1000 of the stream: these bytes unpack to about $CBC3-$CBFF of the 3072."
  },
  {
   "address": 42427,
   "type": "line",
   "text": "Packed sprite frames $00-$09 for the players' run-out (unpack), 406 bytes that unpack to 640 at $C000-$C27F, over the first ten of arena_sprites: ten frames that to the eye open a door, step by step. match_setup unpacks arena_sprites again once the players are out ($29B6)."
  },
  {
   "address": 42833,
   "type": "line",
   "text": "Packed character set of the arena and pitch (unpack), 1098 bytes that unpack to 2040 at $F800-$FFF7; 255 characters at $F800; match_setup then makes some of them as mirror images of others (map_translate)."
  },
  {
   "address": 43833,
   "type": "line",
   "text": "The packed character set of the arena and pitch from byte 1000 of the stream: these bytes unpack to about $FF88-$FFF7 of the 2040."
  },
  {
   "address": 43931,
   "type": "line",
   "text": "Packed screen of the score panel at the foot of the match screen (unpack), 408 bytes that unpack to 592 at $F000-$F24F; at $F000."
  },
  {
   "address": 44339,
   "type": "line",
   "text": "Packed last rows of the panel screen (unpack), 108 bytes that unpack to 120 at $F370-$F3E7; at $F370."
  },
  {
   "address": 44447,
   "type": "line",
   "text": "Packed big font, 16 by 16 pixel letters (print_big) (unpack), 685 bytes that unpack to 1280 at $C000-$C4FF; at $C000."
  },
  {
   "address": 45132,
   "type": "line",
   "text": "Packed mirror bits of the portraits, one a tile, three bytes a portrait (unpack), 54 bytes that unpack to 120 at $BCEF-$BD66; at $BCEF."
  },
  {
   "address": 45186,
   "type": "line",
   "text": "Packed portraits, 4 by 6 tiles each, 24 tile numbers a portrait (unpack), 620 bytes that unpack to 840 at $C000-$C347; 840 bytes at $C000: 35 portraits."
  },
  {
   "address": 45806,
   "type": "line",
   "text": "The tiles of the portraits and the gym and manager pictures, 10 bytes each (eight of pixels, a screen colour byte and a colour RAM byte), drawn by draw_tile from $B2EE; Portrait tiles 0-99."
  },
  {
   "address": 46806,
   "type": "line",
   "text": "Portrait tiles 100-199."
  },
  {
   "address": 47806,
   "type": "line",
   "text": "Portrait tiles 200-253."
  },
  {
   "address": 49152,
   "type": "line",
   "text": "The game's entry, where the loader jumps: turns interrupts off, clears decimal mode, resets the stack and jumps over the message at $C008 to start_init."
  },
  {
   "address": 49160,
   "type": "line",
   "text": "A message for anyone reading the code, in ASCII, never printed: STOP PERVING AT MY CODE SCUMBAG! WRITE YOUR OWN ****** GAME."
  },
  {
   "address": 49220,
   "type": "line",
   "text": "Sets the cassette motor bit's copies ($0C0D, $0C0E) and $00, the processor port ($35: I/O in, both ROMs out), the VIC's bank ($C000-$FFFF), the NMI ($4B8B) and IRQ ($4B87) vectors, stops the CIAs' and VIC's interrupts, blanks the screen, silences the SID and starts the sound driver; the cheat and the colour choice ($0C10, $0C0F) start off."
  },
  {
   "address": 49348,
   "type": "line",
   "text": "The title screen: copies the title routine from $CC00 to $FF40 and calls it, resets the game (new_game_state), shows the screen and waits. Every key pressed is checked against the two codes at $C1A0 and $C1B1: a wrong key starts that code again. BRADFORD-ON-AVON turns the cheat on or off ($0C10, with effect $25 for on, $24 for off); MARTIN shows the picture at $C4F9 until fire. Fire goes to the main menu."
  },
  {
   "address": 49475,
   "type": "line",
   "text": "Three bytes after the JMP that nothing reaches: STA $C19E."
  },
  {
   "address": 49566,
   "type": "line",
   "text": "How many keys of BRADFORD-ON-AVON have been typed so far on the title screen."
  },
  {
   "address": 49567,
   "type": "line",
   "text": "How many keys of MARTIN have been typed so far."
  },
  {
   "address": 49568,
   "type": "line",
   "text": "The title screen's first typed code, as key numbers (8 x row + column of the keyboard matrix), ending with 0: B R A D F O R D - O N - A V O N. Typing it turns the cheat ($0C10) on or off."
  },
  {
   "address": 49585,
   "type": "line",
   "text": "The second code: M A R T I N, ending with 0. Typing it shows the picture at $C4F9."
  },
  {
   "address": 49592,
   "type": "line",
   "text": "Packed bitmap of the title screen (unpack), unpacked to $E000 by the title routine at $FF40."
  },
  {
   "address": 50375,
   "type": "line",
   "text": "Packed screen colours of the title screen, unpacked to $CC00 by the title routine."
  },
  {
   "address": 50425,
   "type": "line",
   "text": "The unpack list for the MARTIN picture (show_picture): three entries, the screen colours $C8C5 to $CC00, the bitmap $C506 to $E000 and colour RAM $C994 to $D800."
  },
  {
   "address": 50438,
   "type": "line",
   "text": "Packed bitmap of the MARTIN picture, a digitised photograph of a face in greys (unpack, 8000 bytes at $E000)."
  },
  {
   "address": 51397,
   "type": "line",
   "text": "Packed screen colours of the MARTIN picture (1000 bytes at $CC00)."
  },
  {
   "address": 51604,
   "type": "line",
   "text": "Packed colour RAM of the MARTIN picture (1000 bytes at $D800)."
  },
  {
   "address": 52224,
   "type": "line",
   "text": "The title routine, copied to $FF40-$FFF6 by the start ($C0C4) and called there, so these bytes run 13,120 bytes higher than they lie: unpacks the title bitmap ($C1B8) to $E000 and its screen colours ($C4C7) to $CC00, then prints the line from $FFC0 on (here $CC80) in the mini font into the bitmap at $FE50: each letter's four bytes of mini_font, a nibble a row, into the left or right half of a cell by the letter's position, two letters a cell."
  },
  {
   "address": 52234,
   "type": "line",
   "text": "pitch_new_top writes the screen's top row at $CC00 in four runs of ten, through $CC0A, $CC14 and $CC1E; here, in the title routine's bytes, the symbol means nothing."
  },
  {
   "address": 52244,
   "type": "line",
   "text": "pitch_new_top's third run of ten cells at $CC14."
  },
  {
   "address": 52254,
   "type": "line",
   "text": "pitch_new_top's fourth run of ten cells at $CC1E."
  },
  {
   "address": 52264,
   "type": "line",
   "text": "screen_rows_copy writes the screen's second row at $CC28; nothing in the title routine's bytes."
  },
  {
   "address": 52304,
   "type": "line",
   "text": "screen_rows_copy's third row."
  },
  {
   "address": 52344,
   "type": "line",
   "text": "screen_rows_copy's fourth row."
  },
  {
   "address": 52352,
   "type": "line",
   "text": "The title routine's line, ending with 0: IMAGEWORKS IS A BRANDNAME OF MIRRORSOFT LTD."
  },
  {
   "address": 52384,
   "type": "line",
   "text": "screen_rows_copy's fifth row; here the end of the title line."
  },
  {
   "address": 52393,
   "type": "line",
   "text": "A false symbol: the BIT at $175E, $1852, $1883 skips the two-byte instruction inside it; no instruction names $CCA9, though the title's copy loop ($C0C6) reads it with the rest of title_line."
  },
  {
   "address": 53248,
   "type": "line",
   "text": "Sprite frame $40: a player standing, facing up."
  },
  {
   "address": 53312,
   "type": "line",
   "text": "Sprite frame $41: a player standing, facing up and right."
  },
  {
   "address": 53376,
   "type": "line",
   "text": "Sprite frame $42: a player standing, facing right."
  },
  {
   "address": 53440,
   "type": "line",
   "text": "Sprite frame $43: a player standing, facing down and right."
  },
  {
   "address": 53504,
   "type": "line",
   "text": "Sprite frame $44: a player standing, facing down."
  },
  {
   "address": 53568,
   "type": "line",
   "text": "Sprite frame $45: between matches, the picture that match_setup copies into frame $A8. In a match, mirroring frame $43, it is a player standing, facing down and left; play_match copies frame $A8 back here."
  },
  {
   "address": 53632,
   "type": "line",
   "text": "Sprite frame $46: between matches, the picture that match_setup copies into frame $88 (a jump). In a match, mirroring frame $42, it is a player standing, facing left; play_match copies frame $88 back here."
  },
  {
   "address": 53696,
   "type": "line",
   "text": "Sprite frame $47: between matches, the picture that match_setup copies into frame $A9. In a match, mirroring frame $41, it is a player standing, facing up and left; play_match copies frame $A9 back here."
  },
  {
   "address": 53760,
   "type": "line",
   "text": "Sprite frame $48: a player sliding, facing up."
  },
  {
   "address": 53824,
   "type": "line",
   "text": "Sprite frame $49: a player sliding, facing up and right."
  },
  {
   "address": 53888,
   "type": "line",
   "text": "Sprite frame $4A: a player sliding, facing right."
  },
  {
   "address": 53952,
   "type": "line",
   "text": "Sprite frame $4B: a player sliding, facing down and right."
  },
  {
   "address": 54016,
   "type": "line",
   "text": "Sprite frame $4C: a player sliding, facing down."
  },
  {
   "address": 54080,
   "type": "line",
   "text": "Sprite frame $4D: between matches, the picture that match_setup copies into frame $89 (a jump). In a match, mirroring frame $4B, it is a player sliding, facing down and left; play_match copies frame $89 back here."
  },
  {
   "address": 54144,
   "type": "line",
   "text": "Sprite frame $4E: between matches, the picture that match_setup copies into frame $AB. In a match, mirroring frame $4A, it is a player sliding, facing left; play_match copies frame $AB back here."
  },
  {
   "address": 54208,
   "type": "line",
   "text": "Sprite frame $4F: between matches, the picture that match_setup copies into frame $8A (a jump). In a match, mirroring frame $49, it is a player sliding, facing up and left; play_match copies frame $8A back here."
  },
  {
   "address": 54272,
   "type": "line",
   "text": "Sprite frame $50: a player running up, step 0."
  },
  {
   "address": 54336,
   "type": "line",
   "text": "Sprite frame $51: a player running up, step 1."
  },
  {
   "address": 54400,
   "type": "line",
   "text": "Sprite frame $52: between matches, the picture that match_setup copies into frame $AD. In a match, mirroring frame $50, it is a player running up, step 2; play_match copies frame $AD back here."
  },
  {
   "address": 54464,
   "type": "line",
   "text": "Sprite frame $53: between matches, the picture that match_setup copies into frame $8B (a jump). In a match, mirroring frame $51, it is a player running up, step 3; play_match copies frame $8B back here."
  },
  {
   "address": 54528,
   "type": "line",
   "text": "Sprite frame $54: a player running up and right, step 0."
  },
  {
   "address": 54592,
   "type": "line",
   "text": "Sprite frame $55: a player running up and right, step 1."
  },
  {
   "address": 54656,
   "type": "line",
   "text": "Sprite frame $56: a player running up and right, step 2."
  },
  {
   "address": 54720,
   "type": "line",
   "text": "Sprite frame $57: a player running up and right, step 3."
  },
  {
   "address": 54784,
   "type": "line",
   "text": "Sprite frame $58: a player running right, step 0."
  },
  {
   "address": 54848,
   "type": "line",
   "text": "Sprite frame $59: a player running right, step 1."
  },
  {
   "address": 54912,
   "type": "line",
   "text": "Sprite frame $5A: a player running right, step 2."
  },
  {
   "address": 54976,
   "type": "line",
   "text": "Sprite frame $5B: a player running right, step 3."
  },
  {
   "address": 55040,
   "type": "line",
   "text": "Sprite frame $5C: a player running down and right, step 0."
  },
  {
   "address": 55104,
   "type": "line",
   "text": "Sprite frame $5D: a player running down and right, step 1."
  },
  {
   "address": 55168,
   "type": "line",
   "text": "Sprite frame $5E: a player running down and right, step 2."
  },
  {
   "address": 55232,
   "type": "line",
   "text": "Sprite frame $5F: a player running down and right, step 3."
  },
  {
   "address": 55296,
   "type": "line",
   "text": "Sprite frame $60: a player running down, step 0."
  },
  {
   "address": 55360,
   "type": "line",
   "text": "Sprite frame $61: a player running down, step 1."
  },
  {
   "address": 55424,
   "type": "line",
   "text": "Sprite frame $62: between matches, the picture that match_setup copies into frame $AE. In a match, mirroring frame $60, it is a player running down, step 2; play_match copies frame $AE back here."
  },
  {
   "address": 55488,
   "type": "line",
   "text": "Sprite frame $63: between matches, the picture that match_setup copies into frame $8C (a jump). In a match, mirroring frame $61, it is a player running down, step 3; play_match copies frame $8C back here."
  },
  {
   "address": 55552,
   "type": "line",
   "text": "Sprite frame $64: between matches, the picture that match_setup copies into frame $98 (a player down). In a match, mirroring frame $5E, it is a player running down and left, step 0; play_match copies frame $98 back here."
  },
  {
   "address": 55616,
   "type": "line",
   "text": "Sprite frame $65: between matches, the picture that match_setup copies into frame $99. In a match, mirroring frame $5F, it is a player running down and left, step 1; play_match copies frame $99 back here."
  },
  {
   "address": 55680,
   "type": "line",
   "text": "Sprite frame $66: between matches, the picture that match_setup copies into frame $9A. In a match, mirroring frame $5C, it is a player running down and left, step 2; play_match copies frame $9A back here."
  },
  {
   "address": 55744,
   "type": "line",
   "text": "Sprite frame $67: between matches, the picture that match_setup copies into frame $9B. In a match, mirroring frame $5D, it is a player running down and left, step 3; play_match copies frame $9B back here."
  },
  {
   "address": 55808,
   "type": "line",
   "text": "Sprite frame $68: between matches, the picture that match_setup copies into frame $9C. In a match, mirroring frame $5A, it is a player running left, step 0; play_match copies frame $9C back here."
  },
  {
   "address": 55872,
   "type": "line",
   "text": "Sprite frame $69: between matches, the picture that match_setup copies into frame $9D. In a match, mirroring frame $59, it is a player running left, step 1; play_match copies frame $9D back here."
  },
  {
   "address": 55936,
   "type": "line",
   "text": "Sprite frame $6A: between matches, the picture that match_setup copies into frame $9E. In a match, mirroring frame $58, it is a player running left, step 2; play_match copies frame $9E back here."
  },
  {
   "address": 56000,
   "type": "line",
   "text": "Sprite frame $6B: between matches, the picture that match_setup copies into frame $9F (on the stretcher). In a match, mirroring frame $5B, it is a player running left, step 3; play_match copies frame $9F back here."
  },
  {
   "address": 56064,
   "type": "line",
   "text": "Sprite frame $6C: between matches, the picture that match_setup copies into frame $A0. In a match, mirroring frame $56, it is a player running up and left, step 0; play_match copies frame $A0 back here."
  },
  {
   "address": 56128,
   "type": "line",
   "text": "Sprite frame $6D: between matches, the picture that match_setup copies into frame $A1 (celebrating). In a match, mirroring frame $57, it is a player running up and left, step 1; play_match copies frame $A1 back here."
  },
  {
   "address": 56176,
   "type": "line",
   "text": "panel_colours fills colour RAM from $DB70 for 120 cells with light blue ($0E), the panel's rows; in RAM under the I/O chips these bytes are sprite frame $6D's."
  },
  {
   "address": 56192,
   "type": "line",
   "text": "Sprite frame $6E: between matches, the picture that match_setup copies into frame $A3. In a match, mirroring frame $54, it is a player running up and left, step 2; play_match copies frame $A3 back here."
  },
  {
   "address": 56216,
   "type": "line",
   "text": "panel_bar writes the panel's bar colours into colour RAM at $DB98; under the I/O chips, sprite frame $6E."
  },
  {
   "address": 56218,
   "type": "line",
   "text": "panel_colours sets three cells of the panel from here to white (1), $DB9A-$DB9C."
  },
  {
   "address": 56219,
   "type": "line",
   "text": "The second of the three white cells."
  },
  {
   "address": 56220,
   "type": "line",
   "text": "The third of the three white cells."
  },
  {
   "address": 56224,
   "type": "line",
   "text": "panel_colours colours four cells from here in team 1's colour (player_colours_1)."
  },
  {
   "address": 56225,
   "type": "line",
   "text": "The second of team 1's four cells."
  },
  {
   "address": 56226,
   "type": "line",
   "text": "The third of team 1's four cells."
  },
  {
   "address": 56227,
   "type": "line",
   "text": "The fourth of team 1's four cells."
  },
  {
   "address": 56235,
   "type": "line",
   "text": "Two white cells of the panel, $DBAB-$DBAC."
  },
  {
   "address": 56236,
   "type": "line",
   "text": "The second of the two white cells."
  },
  {
   "address": 56244,
   "type": "line",
   "text": "panel_colours colours four cells from here in team 2's panel colour (team_2_panel)."
  },
  {
   "address": 56245,
   "type": "line",
   "text": "The second of team 2's four cells."
  },
  {
   "address": 56246,
   "type": "line",
   "text": "The third of team 2's four cells."
  },
  {
   "address": 56247,
   "type": "line",
   "text": "The fourth of team 2's four cells."
  },
  {
   "address": 56251,
   "type": "line",
   "text": "Three more white cells, $DBBB-$DBBD."
  },
  {
   "address": 56252,
   "type": "line",
   "text": "The second of these three white cells."
  },
  {
   "address": 56253,
   "type": "line",
   "text": "The third of these three white cells."
  },
  {
   "address": 56256,
   "type": "line",
   "text": "Sprite frame $6F: between matches, the picture that match_setup copies into frame $A5. In a match, mirroring frame $55, it is a player running up and left, step 3; play_match copies frame $A5 back here."
  },
  {
   "address": 56320,
   "type": "line",
   "text": "Sprite frame $70: a player throwing, facing up, part 0."
  },
  {
   "address": 56384,
   "type": "line",
   "text": "Sprite frame $71: a player throwing, facing up, part 1."
  },
  {
   "address": 56448,
   "type": "line",
   "text": "Sprite frame $72: a player throwing, facing up, part 2."
  },
  {
   "address": 56512,
   "type": "line",
   "text": "Sprite frame $73: a player throwing, facing up and right, part 0."
  },
  {
   "address": 56576,
   "type": "line",
   "text": "Sprite frame $74: a player throwing, facing up and right, part 1."
  },
  {
   "address": 56640,
   "type": "line",
   "text": "Sprite frame $75: a player throwing, facing up and right, part 2."
  },
  {
   "address": 56704,
   "type": "line",
   "text": "Sprite frame $76: a player throwing, facing right, part 0."
  },
  {
   "address": 56768,
   "type": "line",
   "text": "Sprite frame $77: a player throwing, facing right, part 1."
  },
  {
   "address": 56832,
   "type": "line",
   "text": "Sprite frame $78: a player throwing, facing right, part 2."
  },
  {
   "address": 56896,
   "type": "line",
   "text": "Sprite frame $79: a player throwing, facing down and right, part 0."
  },
  {
   "address": 56960,
   "type": "line",
   "text": "Sprite frame $7A: a player throwing, facing down and right, part 1."
  },
  {
   "address": 57024,
   "type": "line",
   "text": "Sprite frame $7B: a player throwing, facing down and right, part 2."
  },
  {
   "address": 57088,
   "type": "line",
   "text": "Sprite frame $7C: a player throwing, facing down, part 0."
  },
  {
   "address": 57152,
   "type": "line",
   "text": "Sprite frame $7D: a player throwing, facing down, part 1."
  },
  {
   "address": 57216,
   "type": "line",
   "text": "Sprite frame $7E: a player throwing, facing down, part 2."
  },
  {
   "address": 57280,
   "type": "line",
   "text": "Sprite frame $7F: between matches, the picture that match_setup copies into frame $A6. In a match, mirroring frame $79, it is a player throwing, facing down and left, part 0; play_match copies frame $A6 back here."
  }
 ]
}