{
  "format": "tfx-pcplus-engine-study-1",
  "engine_comparison": "../engine-builds.json",
  "native_presets": [
    {
      "craft": "F-22",
      "writes": 304,
      "value_stream_sha256": "becd3b328b0e6ae58693c5d9df493efaca7dd92df4e72afceea014ec84ab9dd3",
      "same_values_and_write_sizes_as_march": true
    },
    {
      "craft": "Eurofighter",
      "writes": 291,
      "value_stream_sha256": "9a11ec1aef46919fc0f6b5402c3003d9c9e1535b6a7067eb0dddf008355a3c0c",
      "same_values_and_write_sizes_as_march": true
    },
    {
      "craft": "F-117",
      "writes": 296,
      "value_stream_sha256": "2969aecde48adf489af9a4a941828c738c433e8cd746898cd682b2a05ca531f8",
      "same_values_and_write_sizes_as_march": true
    }
  ],
  "preset_destination_mapping": {
    "0x13f48": "0x14028",
    "0x14028": "0x14108",
    "0x8cbc": "0x8cf0",
    "0x141f8": "0x142d8",
    "0x141fc": "0x142dc",
    "0x141a0": "0x14280",
    "0x141a4": "0x14284",
    "0x14440": "0x14520",
    "0x14444": "0x14524",
    "0x141d8": "0x142b8",
    "0x141dc": "0x142bc",
    "0x14198": "0x14278",
    "0x1419c": "0x1427c",
    "0x14190": "0x14270",
    "0x14194": "0x14274",
    "0x14128": "0x14208",
    "0x1412c": "0x1420c",
    "0x14180": "0x14260",
    "0x14184": "0x14264",
    "0x140f0": "0x141d0",
    "0x140f4": "0x141d4",
    "0x14160": "0x14240",
    "0x14164": "0x14244",
    "0x143d8": "0x144b8",
    "0x143dc": "0x144bc",
    "0x14650": "0x14730",
    "0x14654": "0x14734",
    "0x145f0": "0x146d0",
    "0x145f4": "0x146d4",
    "0x8cb4": "0x8ce8",
    "0x8cb8": "0x8cec",
    "0x145e0": "0x146c0",
    "0x145e4": "0x146c4",
    "0x14648": "0x14728",
    "0x1464c": "0x1472c",
    "0x145c0": "0x146a0",
    "0x145c4": "0x146a4",
    "0x145e8": "0x146c8",
    "0x145ec": "0x146cc",
    "0x145f8": "0x146d8",
    "0x145fc": "0x146dc",
    "0x14168": "0x14248",
    "0x1416c": "0x1424c",
    "0x14158": "0x14238",
    "0x1415c": "0x1423c",
    "0x14150": "0x14230",
    "0x14154": "0x14234",
    "0x14018": "0x140f8",
    "0x14148": "0x14228",
    "0x1414c": "0x1422c",
    "0x14140": "0x14220",
    "0x14144": "0x14224",
    "0x14120": "0x14200",
    "0x14124": "0x14204",
    "0x14118": "0x141f8",
    "0x1411c": "0x141fc",
    "0x14110": "0x141f0",
    "0x14114": "0x141f4",
    "0x14108": "0x141e8",
    "0x1410c": "0x141ec",
    "0x14020": "0x14100",
    "0x14024": "0x14104",
    "0x14078": "0x14158",
    "0x1407c": "0x1415c",
    "0x14520": "0x14600",
    "0x14524": "0x14604",
    "0x14578": "0x14658",
    "0x1457c": "0x1465c",
    "0x14218": "0x142f8",
    "0x1421c": "0x142fc",
    "0x14220": "0x14300",
    "0x14224": "0x14304",
    "0x14200": "0x142e0",
    "0x14204": "0x142e4",
    "0x8cec": "0x8d20",
    "0x8cf0": "0x8d24",
    "0x141e0": "0x142c0",
    "0x141e4": "0x142c4",
    "0x141b8": "0x14298",
    "0x141bc": "0x1429c",
    "0x14748": "0x14828",
    "0x1474c": "0x1482c",
    "0x141d0": "0x142b0",
    "0x141d4": "0x142b4",
    "0x14278": "0x14358",
    "0x1427c": "0x1435c",
    "0x14208": "0x142e8",
    "0x1420c": "0x142ec",
    "0x141c0": "0x142a0",
    "0x141c4": "0x142a4",
    "0x14808": "0x148e8",
    "0x1480c": "0x148ec",
    "0x14010": "0x140f0",
    "0x14740": "0x14820",
    "0x14744": "0x14824",
    "0x14922": "0x14a02",
    "0x13d28": "0x13e08",
    "0x13d2c": "0x13e0c",
    "0x13d58": "0x13e38",
    "0x13d5c": "0x13e3c",
    "0x13e80": "0x13f60",
    "0x13e84": "0x13f64",
    "0x13e88": "0x13f68",
    "0x13e8c": "0x13f6c",
    "0x13e90": "0x13f70",
    "0x13e94": "0x13f74",
    "0x14590": "0x14670",
    "0x14594": "0x14674",
    "0x14598": "0x14678",
    "0x1459c": "0x1467c",
    "0x145a0": "0x14680",
    "0x145a4": "0x14684",
    "0x13e68": "0x13f48",
    "0x13e6c": "0x13f4c",
    "0x13e70": "0x13f50",
    "0x13e74": "0x13f54",
    "0x13e78": "0x13f58",
    "0x13e7c": "0x13f5c",
    "0x13de8": "0x13ec8",
    "0x13dec": "0x13ecc",
    "0x13df0": "0x13ed0",
    "0x13df4": "0x13ed4",
    "0x13df8": "0x13ed8",
    "0x13dfc": "0x13edc",
    "0x13d10": "0x13df0",
    "0x13d14": "0x13df4",
    "0x13d18": "0x13df8",
    "0x13d1c": "0x13dfc",
    "0x13d20": "0x13e00",
    "0x13d24": "0x13e04",
    "0x141b0": "0x14290",
    "0x13da0": "0x13e80",
    "0x13da4": "0x13e84",
    "0x13da8": "0x13e88",
    "0x13dac": "0x13e8c",
    "0x13db0": "0x13e90",
    "0x13db4": "0x13e94",
    "0x14528": "0x14608",
    "0x1452c": "0x1460c",
    "0x14230": "0x14310",
    "0x14234": "0x14314",
    "0x14518": "0x145f8",
    "0x1451c": "0x145fc",
    "0x14510": "0x145f0",
    "0x14514": "0x145f4",
    "0x13ce8": "0x13dc8",
    "0x13cec": "0x13dcc",
    "0x13ce0": "0x13dc0",
    "0x13ce4": "0x13dc4",
    "0x14508": "0x145e8",
    "0x1450c": "0x145ec",
    "0x14500": "0x145e0",
    "0x14504": "0x145e4",
    "0x144f8": "0x145d8",
    "0x144fc": "0x145dc",
    "0x144f0": "0x145d0",
    "0x144f4": "0x145d4",
    "0x13cd8": "0x13db8",
    "0x13cdc": "0x13dbc",
    "0x14550": "0x14630",
    "0x14554": "0x14634",
    "0x13d38": "0x13e18",
    "0x13d3c": "0x13e1c",
    "0x13d98": "0x13e78",
    "0x13d9c": "0x13e7c",
    "0x13cd0": "0x13db0",
    "0x13cd4": "0x13db4",
    "0x13cc8": "0x13da8",
    "0x13ccc": "0x13dac",
    "0x13d60": "0x13e40",
    "0x13d64": "0x13e44",
    "0x13de0": "0x13ec0",
    "0x13de4": "0x13ec4",
    "0x14668": "0x14748",
    "0x1466c": "0x1474c",
    "0x14658": "0x14738",
    "0x1465c": "0x1473c",
    "0x13d80": "0x13e60",
    "0x13d84": "0x13e64",
    "0x13d88": "0x13e68",
    "0x13d8c": "0x13e6c",
    "0x13d90": "0x13e70",
    "0x13d94": "0x13e74",
    "0x13cf0": "0x13dd0",
    "0x13cf4": "0x13dd4",
    "0x13d30": "0x13e10",
    "0x13d34": "0x13e14",
    "0x13dc0": "0x13ea0",
    "0x13dc4": "0x13ea4",
    "0x13e50": "0x13f30",
    "0x13e54": "0x13f34",
    "0x14068": "0x14148",
    "0x1406c": "0x1414c",
    "0x14008": "0x140e8",
    "0x1400c": "0x140ec",
    "0x14070": "0x14150",
    "0x14074": "0x14154",
    "0x14000": "0x140e0",
    "0x14004": "0x140e4",
    "0x147f0": "0x148d0",
    "0x147f4": "0x148d4",
    "0x147e8": "0x148c8",
    "0x147ec": "0x148cc",
    "0x140c8": "0x141a8",
    "0x140cc": "0x141ac",
    "0x140d0": "0x141b0",
    "0x140d4": "0x141b4",
    "0x143c8": "0x144a8",
    "0x143cc": "0x144ac",
    "0x14410": "0x144f0",
    "0x14414": "0x144f4",
    "0x14408": "0x144e8",
    "0x1440c": "0x144ec",
    "0x140d8": "0x141b8",
    "0x140dc": "0x141bc",
    "0x14088": "0x14168",
    "0x1408c": "0x1416c",
    "0x8d04": "0x8d38",
    "0x8d08": "0x8d3c",
    "0x8d0c": "0x8d40",
    "0x8d10": "0x8d44",
    "0x13c20": "0x13d00",
    "0x13c24": "0x13d04",
    "0x13c28": "0x13d08",
    "0x13c2c": "0x13d0c",
    "0x13c30": "0x13d10",
    "0x13c34": "0x13d14",
    "0x13c38": "0x13d18",
    "0x13c3c": "0x13d1c",
    "0x13c40": "0x13d20",
    "0x13c44": "0x13d24",
    "0x13c48": "0x13d28",
    "0x13c4c": "0x13d2c",
    "0x13c50": "0x13d30",
    "0x13c54": "0x13d34",
    "0x13ff8": "0x140d8",
    "0x13c58": "0x13d38",
    "0x13c5c": "0x13d3c",
    "0x13c60": "0x13d40",
    "0x13c64": "0x13d44",
    "0x13c68": "0x13d48",
    "0x13c6c": "0x13d4c",
    "0x13bd0": "0x13cb0",
    "0x13bd4": "0x13cb4",
    "0x13bd8": "0x13cb8",
    "0x13bdc": "0x13cbc",
    "0x13be0": "0x13cc0",
    "0x13be4": "0x13cc4",
    "0x13be8": "0x13cc8",
    "0x13bec": "0x13ccc",
    "0x13bf0": "0x13cd0",
    "0x13bf4": "0x13cd4",
    "0x13bf8": "0x13cd8",
    "0x13bfc": "0x13cdc",
    "0x13c00": "0x13ce0",
    "0x13c04": "0x13ce4",
    "0x13c08": "0x13ce8",
    "0x13c0c": "0x13cec",
    "0x13c10": "0x13cf0",
    "0x13c14": "0x13cf4",
    "0x13c18": "0x13cf8",
    "0x13c1c": "0x13cfc",
    "0x13b80": "0x13c60",
    "0x13b84": "0x13c64",
    "0x13b88": "0x13c68",
    "0x13b8c": "0x13c6c",
    "0x13b90": "0x13c70",
    "0x13b94": "0x13c74",
    "0x13b98": "0x13c78",
    "0x13b9c": "0x13c7c",
    "0x13ba0": "0x13c80",
    "0x13ba4": "0x13c84",
    "0x13ba8": "0x13c88",
    "0x13bac": "0x13c8c",
    "0x13bb0": "0x13c90",
    "0x13bb4": "0x13c94",
    "0x13bb8": "0x13c98",
    "0x13bbc": "0x13c9c",
    "0x13bc0": "0x13ca0",
    "0x13bc4": "0x13ca4",
    "0x13bc8": "0x13ca8",
    "0x13bcc": "0x13cac",
    "0x8d14": "0x8d48",
    "0x8d18": "0x8d4c",
    "0x8d1c": "0x8d50",
    "0x8d20": "0x8d54",
    "0x13b20": "0x13c00",
    "0x13b24": "0x13c04",
    "0x133b8": "0x13498",
    "0x14100": "0x141e0",
    "0x14104": "0x141e4",
    "0x14080": "0x14160",
    "0x140a8": "0x14188",
    "0x14090": "0x14170",
    "0x14094": "0x14174",
    "0x14098": "0x14178",
    "0x1409c": "0x1417c",
    "0x140a0": "0x14180",
    "0x140a4": "0x14184",
    "0x140b0": "0x14190",
    "0x140b4": "0x14194",
    "0x140b8": "0x14198",
    "0x140bc": "0x1419c",
    "0x14188": "0x14268",
    "0x140e0": "0x141c0",
    "0x140e4": "0x141c4",
    "0x1401c": "0x140fc",
    "0x14014": "0x140f4"
  },
  "same_103_effect_names_rates_cooldowns": true,
  "configuration_sources": {
    "demo": {
      "source": "install media/cd_demo_pcplus_1994_07/files/config.exe",
      "sha256": "3a39685a75947156c067e8743a3e3c6d4eefac030fd4f6bf5794c1667358acea"
    },
    "retail": {
      "source": "installs/cd_1994_03/TFX/CONFIG.EXE",
      "sha256": "1beff8b5bc9e155b7ee9d08b94b02d89fc1b4b6c77ac8ea02ee4f7944d092c1f"
    }
  },
  "configuration_referenced_string_difference": {
    "demo_only": [],
    "retail_only": [
      {
        "text": " SB/CD ",
        "file": "0x43b78",
        "references": [
          "0x300d0"
        ]
      },
      {
        "text": "DEVICE=%s\n",
        "file": "0x43294",
        "references": [
          "0x2f583"
        ]
      },
      {
        "text": "LASTDRIVE=Z",
        "file": "0x43218",
        "references": [
          "0x2f306"
        ]
      },
      {
        "text": "c:\\config.sys",
        "file": "0x43224",
        "references": [
          "0x2f310"
        ]
      },
      {
        "text": "cd driver seems to be %s",
        "file": "0x43384",
        "references": [
          "0x2f6bf"
        ]
      },
      {
        "text": "device",
        "file": "0x43234",
        "references": [
          "0x2f374"
        ]
      },
      {
        "text": "lastdrive",
        "file": "0x4324c",
        "references": [
          "0x2f421"
        ]
      },
      {
        "text": "mscd0",
        "file": "0x43240",
        "references": [
          "0x2f3b5"
        ]
      },
      {
        "text": "mscdex",
        "file": "0x43208",
        "references": [
          "0x2f0d0"
        ]
      },
      {
        "text": "mscdex seems to be in %s",
        "file": "0x43330",
        "references": [
          "0x2f686"
        ]
      },
      {
        "text": "mscdex.exe",
        "file": "0x431c8",
        "references": [
          "0x2effe"
        ]
      },
      {
        "text": "unable to find CD driver, please add it yourself",
        "file": "0x433a0",
        "references": [
          "0x2f6d8"
        ]
      },
      {
        "text": "unable to find MSCDEX driver, please add it yourself",
        "file": "0x4334c",
        "references": [
          "0x2f69f"
        ]
      }
    ]
  },
  "retained_save_path_formats_by_build": {
    "inferno_preview_1993_11": [
      "%s\\%s",
      "%s\\%sl",
      "%s\\tfxsav.%i",
      "%s\\waytxt\\a"
    ],
    "floppy_1993_11": [
      "%s\\%s",
      "%s\\%sl",
      "%s\\tfxsav.%i",
      "%s\\waytxt\\a"
    ],
    "cd_1993_12": [],
    "floppy_2_0": [
      "%s\\%s",
      "%s\\%sl",
      "%s\\tfxsav.%i",
      "%s\\waytxt\\a"
    ],
    "cd_1994_03": [],
    "pcplus_demo_1994_07": [
      "%s\\%s",
      "%s\\%sl",
      "%s\\tfxsav.%i",
      "%s\\waytxt\\a"
    ],
    "cd_1994_root": [
      "%s\\%s",
      "%s\\%sl",
      "%s\\tfxsav.%i",
      "%s\\waytxt\\a"
    ],
    "cd_1994_09_2_05": []
  },
  "demo_save_path_evidence": {
    "getenv_name_file": "0xb1a02",
    "name": "DID",
    "lookup_call_file": "0x636bc",
    "format_file": "0xb1a06",
    "format": "%s\\tfxsav.%i",
    "format_call_file": "0x636cb"
  },
  "native_text_record_reads": [
    {
      "build": "PC Plus",
      "source": "install media/cd_demo_pcplus_1994_07/files/tfx.dat",
      "record_bytes": 17,
      "length_word_offset": 11,
      "instructions": [
        {
          "file": "0x74784",
          "bytes": "b8 11 00 00 00",
          "mnemonic": "mov",
          "operands": "eax, 0x11"
        },
        {
          "file": "0x74789",
          "bytes": "ba 11 00 00 00",
          "mnemonic": "mov",
          "operands": "edx, 0x11"
        },
        {
          "file": "0x7478e",
          "bytes": "e8 b3 dd ff ff",
          "mnemonic": "call",
          "operands": "0x72546"
        },
        {
          "file": "0x74793",
          "bytes": "89 f3",
          "mnemonic": "mov",
          "operands": "ebx, esi"
        },
        {
          "file": "0x74795",
          "bytes": "89 41 12",
          "mnemonic": "mov",
          "operands": "dword ptr [ecx + 0x12], eax"
        },
        {
          "file": "0x74798",
          "bytes": "89 c1",
          "mnemonic": "mov",
          "operands": "ecx, eax"
        },
        {
          "file": "0x7479a",
          "bytes": "e8 17 5c 01 00",
          "mnemonic": "call",
          "operands": "0x8a3b6"
        },
        {
          "file": "0x7479f",
          "bytes": "0f b7 41 0b",
          "mnemonic": "movzx",
          "operands": "eax, word ptr [ecx + 0xb]"
        }
      ]
    },
    {
      "build": "March retail",
      "source": "installs/cd_1994_03/TFX/TFX.DAT",
      "record_bytes": 16,
      "length_word_offset": 10,
      "instructions": [
        {
          "file": "0x74bc4",
          "bytes": "b8 10 00 00 00",
          "mnemonic": "mov",
          "operands": "eax, 0x10"
        },
        {
          "file": "0x74bc9",
          "bytes": "ba 10 00 00 00",
          "mnemonic": "mov",
          "operands": "edx, 0x10"
        },
        {
          "file": "0x74bce",
          "bytes": "e8 b3 dd ff ff",
          "mnemonic": "call",
          "operands": "0x72986"
        },
        {
          "file": "0x74bd3",
          "bytes": "89 f3",
          "mnemonic": "mov",
          "operands": "ebx, esi"
        },
        {
          "file": "0x74bd5",
          "bytes": "89 41 12",
          "mnemonic": "mov",
          "operands": "dword ptr [ecx + 0x12], eax"
        },
        {
          "file": "0x74bd8",
          "bytes": "89 c1",
          "mnemonic": "mov",
          "operands": "ecx, eax"
        },
        {
          "file": "0x74bda",
          "bytes": "e8 3f 5c 01 00",
          "mnemonic": "call",
          "operands": "0x8a81e"
        },
        {
          "file": "0x74bdf",
          "bytes": "0f b7 41 0a",
          "mnemonic": "movzx",
          "operands": "eax, word ptr [ecx + 0xa]"
        }
      ]
    },
    {
      "build": "Shared CD-root executable",
      "source": "extracted/cd_1994_09/files/TFX.DAT",
      "record_bytes": 16,
      "length_word_offset": 10,
      "instructions": [
        {
          "file": "0xaf802",
          "bytes": "b8 10 00 00 00",
          "mnemonic": "mov",
          "operands": "eax, 0x10"
        },
        {
          "file": "0xaf807",
          "bytes": "ba 10 00 00 00",
          "mnemonic": "mov",
          "operands": "edx, 0x10"
        },
        {
          "file": "0xaf80c",
          "bytes": "e8 b3 dd ff ff",
          "mnemonic": "call",
          "operands": "0xad5c4"
        },
        {
          "file": "0xaf811",
          "bytes": "89 f3",
          "mnemonic": "mov",
          "operands": "ebx, esi"
        },
        {
          "file": "0xaf813",
          "bytes": "89 41 12",
          "mnemonic": "mov",
          "operands": "dword ptr [ecx + 0x12], eax"
        },
        {
          "file": "0xaf816",
          "bytes": "89 c1",
          "mnemonic": "mov",
          "operands": "ecx, eax"
        },
        {
          "file": "0xaf818",
          "bytes": "e8 4f 5c 01 00",
          "mnemonic": "call",
          "operands": "0xc546c"
        },
        {
          "file": "0xaf81d",
          "bytes": "0f b7 41 0a",
          "mnemonic": "movzx",
          "operands": "eax, word ptr [ecx + 0xa]"
        }
      ]
    }
  ],
  "gus": {
    "demo_arithmetic": {
      "source": "install media/cd_demo_pcplus_1994_07/files/gus.com",
      "sha256": "77016f4126b94d15697b55b890d931026f4f54496cec742929d8e4d1a79b4cfb",
      "file_start": "0x507",
      "file_end_exclusive": "0x526",
      "bytes_hex": "99 b1 0a e8 8b 27 05 00 80 83 d2 ff 89 16 ca 0d a3 c8 0d c7 06 c6 0d 00 00 c7 06 c4 0d 00 80",
      "results": [
        {
          "signed_input_ax": -32768,
          "fixed_dword": 32768,
          "calculated_dword": 4261380096
        },
        {
          "signed_input_ax": -1024,
          "fixed_dword": 32768,
          "calculated_dword": 4293885952
        },
        {
          "signed_input_ax": -1,
          "fixed_dword": 32768,
          "calculated_dword": 4294933504
        },
        {
          "signed_input_ax": 0,
          "fixed_dword": 32768,
          "calculated_dword": 4294934528
        },
        {
          "signed_input_ax": 1,
          "fixed_dword": 32768,
          "calculated_dword": 4294935552
        },
        {
          "signed_input_ax": 32,
          "fixed_dword": 32768,
          "calculated_dword": 0
        },
        {
          "signed_input_ax": 1024,
          "fixed_dword": 32768,
          "calculated_dword": 1015808
        },
        {
          "signed_input_ax": 32767,
          "fixed_dword": 32768,
          "calculated_dword": 33520640
        }
      ]
    },
    "retail_arithmetic": {
      "source": "installs/cd_1994_03/TFX/GUS.COM",
      "sha256": "dc8abddfd7deee6e25f3e625708684209a408420c74e3ae1c403e0d4d47a5925",
      "file_start": "0x508",
      "file_end_exclusive": "0x523",
      "bytes_hex": "66 0f bf c0 66 c1 e0 0a 66 05 00 80 ff ff 66 a3 c8 0d 66 c7 06 c4 0d 00 80 00 00",
      "results": [
        {
          "signed_input_ax": -32768,
          "fixed_dword": 32768,
          "calculated_dword": 4261380096
        },
        {
          "signed_input_ax": -1024,
          "fixed_dword": 32768,
          "calculated_dword": 4293885952
        },
        {
          "signed_input_ax": -1,
          "fixed_dword": 32768,
          "calculated_dword": 4294933504
        },
        {
          "signed_input_ax": 0,
          "fixed_dword": 32768,
          "calculated_dword": 4294934528
        },
        {
          "signed_input_ax": 1,
          "fixed_dword": 32768,
          "calculated_dword": 4294935552
        },
        {
          "signed_input_ax": 32,
          "fixed_dword": 32768,
          "calculated_dword": 0
        },
        {
          "signed_input_ax": 1024,
          "fixed_dword": 32768,
          "calculated_dword": 1015808
        },
        {
          "signed_input_ax": 32767,
          "fixed_dword": 32768,
          "calculated_dword": 33520640
        }
      ]
    },
    "calculation": "((signed 16-bit AX << 10) - 32768) modulo 2^32; stores a second constant dword of 32768",
    "execution_scope": "Original arithmetic and called shift helper only. Flat emulated DOS memory; stops before the function epilogue. No DOS, port I/O or audio playback. Eight representative signed inputs, not exhaustive equivalence.",
    "data_bytes_each": 3904,
    "different_data_bytes": 54,
    "different_words": [
      {
        "data_offset": "0xaa",
        "retail": "0x3ce",
        "demo": "0x405"
      },
      {
        "data_offset": "0xae",
        "retail": "0x3ce",
        "demo": "0x405"
      },
      {
        "data_offset": "0xb2",
        "retail": "0x326",
        "demo": "0x329"
      },
      {
        "data_offset": "0xb4",
        "retail": "0x340",
        "demo": "0x349"
      },
      {
        "data_offset": "0xb6",
        "retail": "0x361",
        "demo": "0x376"
      },
      {
        "data_offset": "0xb8",
        "retail": "0x370",
        "demo": "0x385"
      },
      {
        "data_offset": "0xba",
        "retail": "0x37d",
        "demo": "0x392"
      },
      {
        "data_offset": "0xbc",
        "retail": "0x39b",
        "demo": "0x3b0"
      },
      {
        "data_offset": "0xbe",
        "retail": "0x3cf",
        "demo": "0x406"
      },
      {
        "data_offset": "0xc0",
        "retail": "0x3f6",
        "demo": "0x43a"
      },
      {
        "data_offset": "0xc2",
        "retail": "0x428",
        "demo": "0x478"
      },
      {
        "data_offset": "0xc4",
        "retail": "0x429",
        "demo": "0x479"
      },
      {
        "data_offset": "0x2a2",
        "retail": "0xbdb",
        "demo": "0xc25"
      },
      {
        "data_offset": "0x2a4",
        "retail": "0xbdb",
        "demo": "0xc25"
      },
      {
        "data_offset": "0x2a6",
        "retail": "0xbdb",
        "demo": "0xc25"
      },
      {
        "data_offset": "0x2a8",
        "retail": "0xbdb",
        "demo": "0xc25"
      },
      {
        "data_offset": "0x2aa",
        "retail": "0xbdb",
        "demo": "0xc25"
      },
      {
        "data_offset": "0x2ac",
        "retail": "0xbdb",
        "demo": "0xc25"
      },
      {
        "data_offset": "0x2ae",
        "retail": "0xbdb",
        "demo": "0xc25"
      },
      {
        "data_offset": "0x2b0",
        "retail": "0xbdb",
        "demo": "0xc25"
      },
      {
        "data_offset": "0x2b2",
        "retail": "0xbdb",
        "demo": "0xc25"
      },
      {
        "data_offset": "0xa5c",
        "retail": "0x2769",
        "demo": "0x2961"
      },
      {
        "data_offset": "0xa5e",
        "retail": "0x2769",
        "demo": "0x2961"
      },
      {
        "data_offset": "0xa60",
        "retail": "0x2769",
        "demo": "0x2961"
      },
      {
        "data_offset": "0xd70",
        "retail": "0x381b",
        "demo": "0x3b1a"
      },
      {
        "data_offset": "0xd72",
        "retail": "0x3820",
        "demo": "0x3b1f"
      },
      {
        "data_offset": "0xd74",
        "retail": "0x3820",
        "demo": "0x3b1f"
      },
      {
        "data_offset": "0xd76",
        "retail": "0x3820",
        "demo": "0x3b1f"
      },
      {
        "data_offset": "0xd7a",
        "retail": "0x321f",
        "demo": "0x351e"
      },
      {
        "data_offset": "0xd80",
        "retail": "0x3ee8",
        "demo": "0x41e7"
      },
      {
        "data_offset": "0xd86",
        "retail": "0x3ffd",
        "demo": "0x42fc"
      }
    ],
    "data_scope": "All differing data words have values within the corresponding code-segment extents. This is consistent with moved callbacks but does not assign a proven function-pointer type to every field."
  },
  "scope": "Native preset/relocation evidence is shared with the eight-build study. Configuration strings and saved-path construction are static evidence. GUS comparison proves the captured arithmetic for the tested inputs, not complete device/playback equivalence. Version 2.01 labels alone do not establish identical formats or complete gameplay."
}
