{
  "scope": "Validate full original TAP consumption and summarize runtime/audio evidence.",
  "runs": [
    {
      "run": "demo1-observer-b",
      "tape": "demo1",
      "cycles": 60000,
      "packets": 2308,
      "mouse_events": 1332,
      "input_match": true,
      "modal_packets": 368,
      "rendered_main_frames": 1938,
      "first_clock": 265,
      "last_clock": 6007,
      "exit_code": 3,
      "eof_seen": false,
      "sound_observed": true,
      "drivers": [
        "0xa002",
        "0xa005"
      ],
      "audio_counts": {
        "driver install": 2,
        "bank install": 3,
        "music gain": 68,
        "resource ensure-loaded": 1272,
        "sound request": 1410,
        "digital sample start": 1184,
        "sound stop": 13,
        "digital sample stop": 77,
        "song start": 7,
        "MIDI packet": 8726,
        "SNC mouth step": 50,
        "PCM MIDI completion": 28
      },
      "resources": {
        "hmi\\1explo.sfx": 21,
        "hmi\\1explo2.sfx": 84,
        "hmi\\battle3a.hmp": 8,
        "hmi\\battle3b.hmp": 6,
        "hmi\\callpsa.sfx": 1,
        "hmi\\enemfly4.sfx": 1,
        "hmi\\explo1d.sfx": 7,
        "hmi\\explo2.sfx": 64,
        "hmi\\explo3.sfx": 87,
        "hmi\\footf2.sfx": 149,
        "hmi\\gm_69.sfx": 26,
        "hmi\\gnract.sfx": 2,
        "hmi\\gun1a3.sfx": 397,
        "hmi\\herceng1.sfx": 68,
        "hmi\\laser1h.sfx": 139,
        "hmi\\laser3h.sfx": 3,
        "hmi\\lsrhit2.sfx": 65,
        "hmi\\missle1.sfx": 19,
        "hmi\\shield1.sfx": 94,
        "hmi\\shipexpl.sfx": 1,
        "hmi\\start3.sfx": 1,
        "hmi\\trglock.sfx": 3,
        "hmi\\trgslct.sfx": 2,
        "hmi\\tur1a.sfx": 2,
        "hmi\\tur1b.sfx": 6,
        "hmi\\tur1c.sfx": 2,
        "hmi\\whitenz.sfx": 7,
        "simvoice\\p1_01000.sfx": 2,
        "simvoice\\p1_08000.sfx": 1,
        "simvoice\\p1_17000.sfx": 2,
        "simvoice\\p1_28000.sfx": 2
      },
      "music": [
        {
          "frame": 0,
          "clock": 267,
          "track": 2,
          "encounter": 0,
          "fading": 0
        },
        {
          "frame": 607,
          "clock": 1914,
          "track": 2,
          "encounter": 1,
          "fading": 1
        },
        {
          "frame": 615,
          "clock": 1936,
          "track": 5,
          "encounter": 1,
          "fading": 0
        },
        {
          "frame": 857,
          "clock": 2784,
          "track": 5,
          "encounter": 0,
          "fading": 1
        },
        {
          "frame": 865,
          "clock": 2812,
          "track": 2,
          "encounter": 0,
          "fading": 0
        },
        {
          "frame": 959,
          "clock": 3086,
          "track": 2,
          "encounter": 1,
          "fading": 1
        },
        {
          "frame": 967,
          "clock": 3113,
          "track": 5,
          "encounter": 1,
          "fading": 0
        },
        {
          "frame": 1043,
          "clock": 3389,
          "track": 5,
          "encounter": 0,
          "fading": 1
        },
        {
          "frame": 1051,
          "clock": 3417,
          "track": 2,
          "encounter": 0,
          "fading": 0
        },
        {
          "frame": 1196,
          "clock": 3864,
          "track": 2,
          "encounter": 1,
          "fading": 1
        },
        {
          "frame": 1204,
          "clock": 3885,
          "track": 5,
          "encounter": 1,
          "fading": 0
        },
        {
          "frame": 1476,
          "clock": 4678,
          "track": 5,
          "encounter": 0,
          "fading": 1
        },
        {
          "frame": 1484,
          "clock": 4701,
          "track": 2,
          "encounter": 0,
          "fading": 0
        }
      ],
      "scanner_history_changes": [],
      "handoff": {
        "PREFS.CFG": {
          "bytes": 17,
          "sha256": "82f85d6ce83d075113b40ba2882ee2fb27070ac5ea382e788a2df67a8969f410"
        },
        "RESULTS.DAT": {
          "bytes": 164,
          "sha256": "2f068f1ea15a193ac5466f45b61893cdff45d1aa4b0228c41dfeb763f133048a"
        },
        "EXIT.CFG": {
          "bytes": 2,
          "sha256": "9b4fb24edd6d1d8830e272398263cdbf026b97392cc35387b991dc0248a628f9"
        },
        "MISSION.VAR": {
          "bytes": 200,
          "sha256": "fc5ba4bdeb8a6b7a71cd0c91bfe2544ad9304b086ca7c21c092228024678665e"
        }
      },
      "images": [
        "frame-10000.png",
        "frame-10060.png",
        "frame-10120.png",
        "frame-10180.png",
        "frame-10240.png",
        "frame-10300.png",
        "frame-10360.png",
        "frame-10420.png",
        "frame-10480.png",
        "frame-10540.png",
        "frame-10600.png",
        "frame-10660.png",
        "frame-10720.png",
        "frame-10780.png",
        "frame-10840.png",
        "frame-10900.png",
        "frame-10960.png",
        "frame-11020.png",
        "frame-11080.png",
        "frame-11140.png",
        "frame-11200.png",
        "frame-11260.png",
        "frame-11320.png",
        "frame-11380.png",
        "frame-11440.png",
        "frame-11500.png",
        "frame-11560.png",
        "frame-11620.png",
        "frame-11680.png",
        "frame-11740.png",
        "frame-11800.png",
        "frame-11860.png",
        "frame-11920.png",
        "frame-11980.png",
        "frame-12040.png",
        "frame-12100.png",
        "frame-12160.png",
        "frame-12220.png",
        "frame-12280.png"
      ]
    },
    {
      "run": "demo2-complete",
      "tape": "demo2",
      "cycles": 60000,
      "packets": 2951,
      "mouse_events": 983,
      "input_match": true,
      "modal_packets": 1120,
      "rendered_main_frames": 1829,
      "first_clock": 266,
      "last_clock": 5455,
      "exit_code": 3,
      "eof_seen": false,
      "sound_observed": true,
      "drivers": [
        "0xa002",
        "0xa005"
      ],
      "audio_counts": {
        "driver install": 2,
        "bank install": 3,
        "music gain": 52,
        "resource ensure-loaded": 1429,
        "sound request": 1569,
        "digital sample start": 1343,
        "sound stop": 16,
        "digital sample stop": 74,
        "song start": 5,
        "MIDI packet": 6663,
        "SNC mouth step": 33,
        "PCM MIDI completion": 56
      },
      "resources": {
        "hmi\\1explo.sfx": 30,
        "hmi\\1explo2.sfx": 74,
        "hmi\\battle2a.hmp": 6,
        "hmi\\battle2b.hmp": 4,
        "hmi\\callpsa.sfx": 1,
        "hmi\\enemfly4.sfx": 1,
        "hmi\\explo1d.sfx": 3,
        "hmi\\explo2.sfx": 72,
        "hmi\\explo3.sfx": 75,
        "hmi\\footf2.sfx": 106,
        "hmi\\gm_69.sfx": 26,
        "hmi\\gun1a3.sfx": 520,
        "hmi\\herceng1.sfx": 57,
        "hmi\\laser1h.sfx": 211,
        "hmi\\laser3h.sfx": 12,
        "hmi\\lsrhit2.sfx": 60,
        "hmi\\missle1.sfx": 10,
        "hmi\\shield1.sfx": 123,
        "hmi\\shipexpl.sfx": 1,
        "hmi\\start3.sfx": 1,
        "hmi\\trgslct.sfx": 5,
        "hmi\\tur1a.sfx": 2,
        "hmi\\tur1b.sfx": 12,
        "hmi\\tur1c.sfx": 2,
        "hmi\\whitenz.sfx": 8,
        "simvoice\\p1_01000.sfx": 1,
        "simvoice\\p1_17000.sfx": 2,
        "simvoice\\p1_34000.sfx": 2,
        "simvoice\\p1_42000.sfx": 2
      },
      "music": [
        {
          "frame": 0,
          "clock": 268,
          "track": 1,
          "encounter": 0,
          "fading": 0
        },
        {
          "frame": 697,
          "clock": 1777,
          "track": 1,
          "encounter": 1,
          "fading": 1
        },
        {
          "frame": 705,
          "clock": 1799,
          "track": 4,
          "encounter": 1,
          "fading": 0
        },
        {
          "frame": 1320,
          "clock": 3785,
          "track": 4,
          "encounter": 0,
          "fading": 1
        },
        {
          "frame": 1328,
          "clock": 3806,
          "track": 1,
          "encounter": 0,
          "fading": 0
        },
        {
          "frame": 1424,
          "clock": 4086,
          "track": 1,
          "encounter": 1,
          "fading": 1
        },
        {
          "frame": 1432,
          "clock": 4116,
          "track": 4,
          "encounter": 1,
          "fading": 0
        },
        {
          "frame": 1751,
          "clock": 5228,
          "track": 4,
          "encounter": 0,
          "fading": 1
        },
        {
          "frame": 1759,
          "clock": 5256,
          "track": 1,
          "encounter": 0,
          "fading": 0
        }
      ],
      "scanner_history_changes": [],
      "handoff": {
        "PREFS.CFG": {
          "bytes": 17,
          "sha256": "82f85d6ce83d075113b40ba2882ee2fb27070ac5ea382e788a2df67a8969f410"
        },
        "RESULTS.DAT": {
          "bytes": 164,
          "sha256": "2e0db2142b64d1fc75ef51e8d4db58fc6005899468f2ede1cf15327c6799ce92"
        },
        "EXIT.CFG": {
          "bytes": 2,
          "sha256": "9b4fb24edd6d1d8830e272398263cdbf026b97392cc35387b991dc0248a628f9"
        },
        "MISSION.VAR": {
          "bytes": 200,
          "sha256": "6c687bb7a2989e2d99d58071fadb768e4c98332c9498c71ee156da1334a36d23"
        }
      },
      "images": [
        "frame-10000.png",
        "frame-10060.png",
        "frame-10120.png",
        "frame-10180.png",
        "frame-10240.png",
        "frame-10300.png",
        "frame-10360.png",
        "frame-10420.png",
        "frame-10480.png",
        "frame-10540.png",
        "frame-10600.png",
        "frame-10660.png",
        "frame-10720.png",
        "frame-10780.png",
        "frame-10840.png",
        "frame-10900.png",
        "frame-10960.png",
        "frame-11020.png",
        "frame-11080.png",
        "frame-11140.png",
        "frame-11200.png",
        "frame-11260.png",
        "frame-11320.png",
        "frame-11380.png",
        "frame-11440.png",
        "frame-11500.png",
        "frame-11560.png",
        "frame-11620.png",
        "frame-11680.png",
        "frame-11740.png",
        "frame-11800.png",
        "frame-11860.png",
        "frame-11920.png",
        "frame-11980.png",
        "frame-12040.png",
        "frame-12100.png",
        "frame-12160.png",
        "frame-12220.png",
        "frame-12280.png",
        "frame-12340.png",
        "frame-12400.png",
        "frame-12460.png",
        "frame-12520.png",
        "frame-12580.png",
        "frame-12640.png",
        "frame-12700.png",
        "frame-12760.png",
        "frame-12820.png",
        "frame-12880.png",
        "frame-12940.png"
      ]
    },
    {
      "run": "demo3-complete",
      "tape": "demo3",
      "cycles": 60000,
      "packets": 2470,
      "mouse_events": 42,
      "input_match": true,
      "modal_packets": 781,
      "rendered_main_frames": 1685,
      "first_clock": 298,
      "last_clock": 5816,
      "exit_code": 3,
      "eof_seen": false,
      "sound_observed": true,
      "drivers": [
        "0xa002",
        "0xa005"
      ],
      "audio_counts": {
        "driver install": 2,
        "bank install": 3,
        "music gain": 28,
        "resource ensure-loaded": 2569,
        "sound request": 2661,
        "digital sample start": 1136,
        "sound stop": 1914,
        "digital sample stop": 218,
        "song start": 2,
        "MIDI packet": 6673,
        "PCM MIDI completion": 72,
        "SNC mouth step": 60
      },
      "resources": {
        "hmi\\1explo.sfx": 38,
        "hmi\\1explo2.sfx": 65,
        "hmi\\battle2a.hmp": 2,
        "hmi\\battle2b.hmp": 2,
        "hmi\\enemfly4.sfx": 1560,
        "hmi\\explo2.sfx": 52,
        "hmi\\explo3.sfx": 60,
        "hmi\\footf2.sfx": 156,
        "hmi\\gm_69.sfx": 5,
        "hmi\\gnract.sfx": 2,
        "hmi\\gun1a3.sfx": 287,
        "hmi\\herceng1.sfx": 9,
        "hmi\\laser1h.sfx": 187,
        "hmi\\laser3h.sfx": 2,
        "hmi\\lsrhit2.sfx": 55,
        "hmi\\missle1.sfx": 13,
        "hmi\\shield1.sfx": 29,
        "hmi\\shipexpl.sfx": 1,
        "hmi\\start3.sfx": 1,
        "hmi\\trgslct.sfx": 1,
        "hmi\\tur1a.sfx": 2,
        "hmi\\tur1b.sfx": 13,
        "hmi\\tur1c.sfx": 2,
        "hmi\\whitenz.sfx": 13,
        "hmi\\wrnwoop2.sfx": 2,
        "simvoice\\p1_02000.sfx": 3,
        "simvoice\\p1_02001.sfx": 3,
        "simvoice\\p1_05000.sfx": 2,
        "simvoice\\p1_17000.sfx": 2
      },
      "music": [
        {
          "frame": 0,
          "clock": 301,
          "track": 1,
          "encounter": 0,
          "fading": 0
        },
        {
          "frame": 456,
          "clock": 1813,
          "track": 1,
          "encounter": 1,
          "fading": 1
        },
        {
          "frame": 464,
          "clock": 1835,
          "track": 4,
          "encounter": 1,
          "fading": 0
        }
      ],
      "scanner_history_changes": [],
      "handoff": {
        "PREFS.CFG": {
          "bytes": 17,
          "sha256": "82f85d6ce83d075113b40ba2882ee2fb27070ac5ea382e788a2df67a8969f410"
        },
        "RESULTS.DAT": {
          "bytes": 152,
          "sha256": "fa2167a2b31b77875c4adba5e4cdd938a59393dd0c15af58cbe067e9f0460e66"
        },
        "EXIT.CFG": {
          "bytes": 2,
          "sha256": "9b4fb24edd6d1d8830e272398263cdbf026b97392cc35387b991dc0248a628f9"
        },
        "MISSION.VAR": {
          "bytes": 200,
          "sha256": "9a446572b1ccec24d4de3734f1cc2b1560d06e45ea85d771aaf701cde5e930b1"
        }
      },
      "images": [
        "frame-10000.png",
        "frame-10060.png",
        "frame-10120.png",
        "frame-10180.png",
        "frame-10240.png",
        "frame-10300.png",
        "frame-10360.png",
        "frame-10420.png",
        "frame-10480.png",
        "frame-10540.png",
        "frame-10600.png",
        "frame-10660.png",
        "frame-10720.png",
        "frame-10780.png",
        "frame-10840.png",
        "frame-10900.png",
        "frame-10960.png",
        "frame-11020.png",
        "frame-11080.png",
        "frame-11140.png",
        "frame-11200.png",
        "frame-11260.png",
        "frame-11320.png",
        "frame-11380.png",
        "frame-11440.png",
        "frame-11500.png",
        "frame-11560.png",
        "frame-11620.png",
        "frame-11680.png",
        "frame-11740.png",
        "frame-11800.png",
        "frame-11860.png",
        "frame-11920.png",
        "frame-11980.png",
        "frame-12040.png",
        "frame-12100.png",
        "frame-12160.png",
        "frame-12220.png",
        "frame-12280.png",
        "frame-12340.png",
        "frame-12400.png",
        "frame-12460.png"
      ]
    },
    {
      "run": "demo4-complete",
      "tape": "demo4",
      "cycles": 60000,
      "packets": 1571,
      "mouse_events": 370,
      "input_match": true,
      "modal_packets": 0,
      "rendered_main_frames": 1572,
      "first_clock": 259,
      "last_clock": 4501,
      "exit_code": 3,
      "eof_seen": true,
      "sound_observed": true,
      "drivers": [
        "0xa002",
        "0xa005"
      ],
      "audio_counts": {
        "driver install": 2,
        "bank install": 3,
        "music gain": 28,
        "resource ensure-loaded": 1175,
        "sound request": 1237,
        "digital sample start": 765,
        "sound stop": 656,
        "digital sample stop": 229,
        "song start": 2,
        "MIDI packet": 10853,
        "SNC mouth step": 31,
        "PCM MIDI completion": 54
      },
      "resources": {
        "hmi\\1explo.sfx": 9,
        "hmi\\1explo2.sfx": 21,
        "hmi\\battle3a.hmp": 2,
        "hmi\\battle3b.hmp": 2,
        "hmi\\callpsa.sfx": 1,
        "hmi\\enemfly4.sfx": 598,
        "hmi\\explo1d.sfx": 1,
        "hmi\\explo2.sfx": 17,
        "hmi\\explo3.sfx": 27,
        "hmi\\footf2.sfx": 97,
        "hmi\\gm_69.sfx": 19,
        "hmi\\gun1a3.sfx": 119,
        "hmi\\herceng1.sfx": 42,
        "hmi\\laser1h.sfx": 88,
        "hmi\\laser3h.sfx": 1,
        "hmi\\lsrhit2.sfx": 13,
        "hmi\\missle1.sfx": 16,
        "hmi\\shield1.sfx": 71,
        "hmi\\shipexpl.sfx": 1,
        "hmi\\start3.sfx": 1,
        "hmi\\trgslct.sfx": 3,
        "hmi\\tur1a.sfx": 2,
        "hmi\\tur1b.sfx": 8,
        "hmi\\tur1c.sfx": 2,
        "hmi\\whitenz.sfx": 7,
        "simvoice\\p1_01000.sfx": 2,
        "simvoice\\p1_17000.sfx": 1,
        "simvoice\\p1_30001.sfx": 2,
        "simvoice\\p1_34000.sfx": 2
      },
      "music": [
        {
          "frame": 0,
          "clock": 262,
          "track": 2,
          "encounter": 0,
          "fading": 0
        },
        {
          "frame": 151,
          "clock": 562,
          "track": 2,
          "encounter": 1,
          "fading": 1
        },
        {
          "frame": 159,
          "clock": 576,
          "track": 5,
          "encounter": 1,
          "fading": 0
        }
      ],
      "scanner_history_changes": [],
      "handoff": {
        "PREFS.CFG": {
          "bytes": 17,
          "sha256": "82f85d6ce83d075113b40ba2882ee2fb27070ac5ea382e788a2df67a8969f410"
        },
        "RESULTS.DAT": {
          "bytes": 160,
          "sha256": "d08f17522d3db53ea1de3e8d0c05591b15957dad776d13f20096585a6f64e2a5"
        },
        "EXIT.CFG": {
          "bytes": 2,
          "sha256": "9b4fb24edd6d1d8830e272398263cdbf026b97392cc35387b991dc0248a628f9"
        },
        "MISSION.VAR": {
          "bytes": 200,
          "sha256": "6ad61ed1adcfc951de1b7c19baaf1065b337b6bbb650c3aa09f31578018fb929"
        }
      },
      "images": [
        "frame-10000.png",
        "frame-10060.png",
        "frame-10120.png",
        "frame-10180.png",
        "frame-10240.png",
        "frame-10300.png",
        "frame-10360.png",
        "frame-10420.png",
        "frame-10480.png",
        "frame-10540.png",
        "frame-10600.png",
        "frame-10660.png",
        "frame-10720.png",
        "frame-10780.png",
        "frame-10840.png",
        "frame-10900.png",
        "frame-10960.png",
        "frame-11020.png",
        "frame-11080.png",
        "frame-11140.png",
        "frame-11200.png",
        "frame-11260.png",
        "frame-11320.png",
        "frame-11380.png",
        "frame-11440.png",
        "frame-11500.png",
        "frame-11560.png"
      ]
    }
  ],
  "repeat": {
    "runs": [
      "demo1-observer-a",
      "demo1-observer-b"
    ],
    "frames": 1938,
    "matched": 1938,
    "differences": [],
    "scope": "Actor motion, aiming, controller pointer, flags, target, damage, shields, groups, full game RNG state and all 56 stored visual RNG words. The 228-byte observer block omits the two visual RNG index bytes; excludes unrelated allocator bytes and presentation buffers."
  }
}
