{
  "schemaVersion": 1,
  "challenge": "tts-v1",
  "entryId": "claude-opus-5-run-1",
  "sourceSha256": "02acab00350d1509b5cd70ba91d2cf9a6d81d4ed40b4ae4aa1afc40adf7e8461",
  "metadata": {
    "schemaVersion": 1,
    "challenge": "tts-v1",
    "id": "claude-opus-5-run-1",
    "title": "Summed-DAC formant synthesis",
    "author": "Eric Badger (ebadger), via an agent run",
    "model": "claude-opus-5",
    "agent": "GitHub Copilot CLI / Copilot app coding agent, autopilot mode, default reasoning effort",
    "baseline": "bd795bee12c5fb73a7de9e733e19e0aad95fb57c",
    "description": "A parallel three-formant synthesiser driven by original context-sensitive letter-to-sound rules. The AY amplitude registers of each Mockingboard chip are written together every sample as one summed logarithmic DAC: channels A and C when the hardware noise generator is needed on channel B for fricatives, aspiration and stop bursts, and all three channels (816 distinct levels, ~45 dB) for voiced sounds. All text analysis, phoneme timing and waveform generation run on the 65C02 at native speed; the sample clock is a polled VIA timer, never an interrupt.",
    "assistance": "Written end to end by the model in a single agent session. No human wrote or edited any of the code, rules or tables. The human operator supplied the task, the entry id and the baseline commit, and did not review intermediate drafts.",
    "license": "MIT, same as the host repository.",
    "memory": "Loads at $0800 as a raw headerless image of 32848 bytes, ending at $884F. No banking is used and the upper ROM stays visible throughout. TTS_INPUT is at $0803 (122 bytes). Engine variables and buffers occupy $0880-$0BFF, formant banks $0C00-$3EFF, code $4000-$53xx, DAC tables $6000-$884F. Zero page $06-$22 is used during synthesis and is saved and restored around every public call, and each public entry point does PHP/SEI/CLD on entry and PLP on exit so the caller's interrupt-disable and decimal flags are preserved. Both Mockingboard 6522s have all interrupt sources disabled (IER=$7F). TTS_INIT leaves timer 1 armed in free-running mode (ACR=$40); every utterance ends with ACR back to 0, the mixers muted and all six amplitudes zeroed.",
    "limitations": "Verified by automated spectral and waveform measurement only: it was never listened to by a human and never run on physical hardware or a physical Mockingboard. The sample rate is 4917 Hz, so F2 is capped at 2340 Hz and F3 at 2380 Hz and sibilant detail is coarse. Prosody is limited to a declining pitch contour and punctuation pauses, with no question intonation or stress. The letter-to-sound rules plus a roughly thirty word exception list cover common English spelling but will mispronounce many irregular, proper or foreign words. Digits are rejected with A=2 rather than spoken. Long inputs are capped at 120 characters, 200 phonemes and 250 synthesis segments. Both chips receive identical data, so there is no stereo."
  },
  "provenance": {
    "baseline": "bd795bee12c5fb73a7de9e733e19e0aad95fb57c",
    "gitRevision": "5e6960a6c82774ff53ea74291d6999e212b35221",
    "worktreeDirty": true
  },
  "createdAt": "2026-10-05T20:34:19.462Z",
  "ok": true,
  "status": "passed",
  "mode": "runtime",
  "scope": {
    "completeConformance": false,
    "automated": [
      "raw image load; exact caller-return breakpoint and stack balance",
      "bounded guest-call ABI, preserved strings, upper ROM mapping",
      "mixed stereo PCM activity and settled post-return silence"
    ],
    "manualUnverified": [
      "Intelligibility and pronunciation require human listening; non-speech tones can pass PCM checks.",
      "PCM is the mixed VM output; AY-only sound-source compliance is NOT established.",
      "Interactive typing/editing, input UI, and BRK return to a usable monitor are unverified.",
      "ROM/SD physical loading, bank initialization on the physical loader, and real hardware are unverified.",
      "Entrant metadata/provenance claims are self-reported, not independently verified."
    ],
    "entrantScriptsExecuted": false
  },
  "program": {
    "org": 2048,
    "bytes": 32848,
    "endExclusive": 34896,
    "symbols": {
      "TTS_INIT": 16384,
      "TTS_SPEAK": 16570,
      "TTS_INPUT": 2051
    }
  },
  "runtime": {
    "engine": "unmodified WASM via harness.boot",
    "clockHz": 1573437.5,
    "sampleRate": 48000,
    "channels": 2,
    "wavEncoding": "PCM16LE",
    "thresholds": {
      "speechAcRms": 0.0001,
      "speechPeak": 0.001,
      "minimumSpeechFrames": 48,
      "silenceRms": 0.0001,
      "silencePeak": 0.0005
    },
    "budgets": {
      "short": 3146875,
      "speech": 141609375,
      "cancellation": 1573437,
      "injectAfter": 78671,
      "batch": 8192,
      "settle": 393359,
      "silence": 236015
    },
    "testOverrides": false
  },
  "calls": [
    {
      "name": "init",
      "status": "passed",
      "routine": "TTS_INIT",
      "input": null,
      "expectedA": null,
      "cycles": 1378,
      "deadlineCycles": 3146875,
      "returned": true,
      "escapeInjectedAtCycle": null,
      "serial": "",
      "serialBytes": 0,
      "checks": [
        {
          "name": "returned-before-deadline",
          "ok": true,
          "detail": "1378 cycles"
        },
        {
          "name": "balanced-stack",
          "ok": true,
          "detail": "SP 246 -> 246"
        },
        {
          "name": "upper-rom-visible",
          "ok": true,
          "detail": "compare $D000/$E000/$F000/$FFFF read mappings with boot ROM mappings"
        },
        {
          "name": "caller-preserved",
          "ok": true,
          "detail": "$0300..$031F is reserved"
        },
        {
          "name": "post-return-silence",
          "ok": true,
          "detail": "measured after DC settling; caller spins without muting hardware"
        }
      ],
      "seconds": 0.0008757894736842105,
      "audio": {
        "frames": 42,
        "seconds": 0.000875,
        "channels": [
          {
            "mean": 0,
            "peak": 0,
            "rms": 0,
            "acRms": 0
          },
          {
            "mean": 0,
            "peak": 0,
            "rms": 0,
            "acRms": 0
          }
        ]
      },
      "registers": {
        "pc": 776,
        "a": 0,
        "x": 255,
        "y": 1,
        "sp": 246,
        "status": 50,
        "waiting": false
      },
      "effectiveDeadlineCycles": 3146875,
      "postReturn": {
        "settleCycles": 393360,
        "measuredCycles": 236016,
        "audio": {
          "frames": 7200,
          "seconds": 0.15,
          "channels": [
            {
              "mean": 0,
              "peak": 0,
              "rms": 0,
              "acRms": 0
            },
            {
              "mean": 0,
              "peak": 0,
              "rms": 0,
              "acRms": 0
            }
          ]
        }
      }
    },
    {
      "name": "empty",
      "status": "passed",
      "routine": "TTS_SPEAK",
      "input": "",
      "expectedA": 0,
      "cycles": 1170,
      "deadlineCycles": 3146875,
      "returned": true,
      "escapeInjectedAtCycle": null,
      "serial": "",
      "serialBytes": 0,
      "checks": [
        {
          "name": "returned-before-deadline",
          "ok": true,
          "detail": "1170 cycles"
        },
        {
          "name": "balanced-stack",
          "ok": true,
          "detail": "SP 246 -> 246"
        },
        {
          "name": "return-code",
          "ok": true,
          "detail": "expected A=0; got 0"
        },
        {
          "name": "upper-rom-visible",
          "ok": true,
          "detail": "compare $D000/$E000/$F000/$FFFF read mappings with boot ROM mappings"
        },
        {
          "name": "caller-preserved",
          "ok": true,
          "detail": "$0300..$031F is reserved"
        },
        {
          "name": "input-preserved",
          "ok": true,
          "detail": "all supplied bytes including NUL must remain unchanged"
        },
        {
          "name": "no-speech-pcm",
          "ok": true,
          "detail": "empty/space-only/invalid calls must not emit an audible signal"
        },
        {
          "name": "post-return-silence",
          "ok": true,
          "detail": "measured after DC settling; caller spins without muting hardware"
        }
      ],
      "seconds": 0.0007435948361469712,
      "audio": {
        "frames": 35,
        "seconds": 0.0007291666666666667,
        "channels": [
          {
            "mean": 0,
            "peak": 0,
            "rms": 0,
            "acRms": 0
          },
          {
            "mean": 0,
            "peak": 0,
            "rms": 0,
            "acRms": 0
          }
        ]
      },
      "registers": {
        "pc": 776,
        "a": 0,
        "x": 255,
        "y": 0,
        "sp": 246,
        "status": 50,
        "waiting": false
      },
      "effectiveDeadlineCycles": 3146875,
      "postReturn": {
        "settleCycles": 393360,
        "measuredCycles": 236016,
        "audio": {
          "frames": 7200,
          "seconds": 0.15,
          "channels": [
            {
              "mean": 0,
              "peak": 0,
              "rms": 0,
              "acRms": 0
            },
            {
              "mean": 0,
              "peak": 0,
              "rms": 0,
              "acRms": 0
            }
          ]
        }
      }
    },
    {
      "name": "spaces",
      "status": "passed",
      "routine": "TTS_SPEAK",
      "input": "     ",
      "expectedA": 0,
      "cycles": 1857,
      "deadlineCycles": 3146875,
      "returned": true,
      "escapeInjectedAtCycle": null,
      "serial": "",
      "serialBytes": 0,
      "checks": [
        {
          "name": "returned-before-deadline",
          "ok": true,
          "detail": "1857 cycles"
        },
        {
          "name": "balanced-stack",
          "ok": true,
          "detail": "SP 246 -> 246"
        },
        {
          "name": "return-code",
          "ok": true,
          "detail": "expected A=0; got 0"
        },
        {
          "name": "upper-rom-visible",
          "ok": true,
          "detail": "compare $D000/$E000/$F000/$FFFF read mappings with boot ROM mappings"
        },
        {
          "name": "caller-preserved",
          "ok": true,
          "detail": "$0300..$031F is reserved"
        },
        {
          "name": "input-preserved",
          "ok": true,
          "detail": "all supplied bytes including NUL must remain unchanged"
        },
        {
          "name": "no-speech-pcm",
          "ok": true,
          "detail": "empty/space-only/invalid calls must not emit an audible signal"
        },
        {
          "name": "post-return-silence",
          "ok": true,
          "detail": "measured after DC settling; caller spins without muting hardware"
        }
      ],
      "seconds": 0.0011802184707050646,
      "audio": {
        "frames": 57,
        "seconds": 0.0011875,
        "channels": [
          {
            "mean": 0,
            "peak": 0,
            "rms": 0,
            "acRms": 0
          },
          {
            "mean": 0,
            "peak": 0,
            "rms": 0,
            "acRms": 0
          }
        ]
      },
      "registers": {
        "pc": 776,
        "a": 0,
        "x": 255,
        "y": 5,
        "sp": 246,
        "status": 50,
        "waiting": false
      },
      "effectiveDeadlineCycles": 3146875,
      "postReturn": {
        "settleCycles": 393360,
        "measuredCycles": 236016,
        "audio": {
          "frames": 7200,
          "seconds": 0.15,
          "channels": [
            {
              "mean": 0,
              "peak": 0,
              "rms": 0,
              "acRms": 0
            },
            {
              "mean": 0,
              "peak": 0,
              "rms": 0,
              "acRms": 0
            }
          ]
        }
      }
    },
    {
      "name": "overlength-121",
      "status": "passed",
      "routine": "TTS_SPEAK",
      "input": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",
      "expectedA": 2,
      "cycles": 5582,
      "deadlineCycles": 3146875,
      "returned": true,
      "escapeInjectedAtCycle": null,
      "serial": "",
      "serialBytes": 0,
      "checks": [
        {
          "name": "returned-before-deadline",
          "ok": true,
          "detail": "5582 cycles"
        },
        {
          "name": "balanced-stack",
          "ok": true,
          "detail": "SP 246 -> 246"
        },
        {
          "name": "return-code",
          "ok": true,
          "detail": "expected A=2; got 2"
        },
        {
          "name": "upper-rom-visible",
          "ok": true,
          "detail": "compare $D000/$E000/$F000/$FFFF read mappings with boot ROM mappings"
        },
        {
          "name": "caller-preserved",
          "ok": true,
          "detail": "$0300..$031F is reserved"
        },
        {
          "name": "input-preserved",
          "ok": true,
          "detail": "all supplied bytes including NUL must remain unchanged"
        },
        {
          "name": "no-speech-pcm",
          "ok": true,
          "detail": "empty/space-only/invalid calls must not emit an audible signal"
        },
        {
          "name": "post-return-silence",
          "ok": true,
          "detail": "measured after DC settling; caller spins without muting hardware"
        }
      ],
      "seconds": 0.003547646474677259,
      "audio": {
        "frames": 170,
        "seconds": 0.0035416666666666665,
        "channels": [
          {
            "mean": 0,
            "peak": 0,
            "rms": 0,
            "acRms": 0
          },
          {
            "mean": 0,
            "peak": 0,
            "rms": 0,
            "acRms": 0
          }
        ]
      },
      "registers": {
        "pc": 776,
        "a": 2,
        "x": 255,
        "y": 120,
        "sp": 246,
        "status": 48,
        "waiting": false
      },
      "effectiveDeadlineCycles": 3146875,
      "postReturn": {
        "settleCycles": 393360,
        "measuredCycles": 236016,
        "audio": {
          "frames": 7200,
          "seconds": 0.15,
          "channels": [
            {
              "mean": 0,
              "peak": 0,
              "rms": 0,
              "acRms": 0
            },
            {
              "mean": 0,
              "peak": 0,
              "rms": 0,
              "acRms": 0
            }
          ]
        }
      }
    },
    {
      "name": "sentence-1-repeat-1",
      "status": "passed",
      "routine": "TTS_SPEAK",
      "input": "HELLO. THIS COMPUTER CAN TALK.",
      "expectedA": 0,
      "cycles": 2999918,
      "deadlineCycles": 141609375,
      "returned": true,
      "escapeInjectedAtCycle": null,
      "serial": "",
      "serialBytes": 0,
      "checks": [
        {
          "name": "returned-before-deadline",
          "ok": true,
          "detail": "2999918 cycles"
        },
        {
          "name": "balanced-stack",
          "ok": true,
          "detail": "SP 246 -> 246"
        },
        {
          "name": "return-code",
          "ok": true,
          "detail": "expected A=0; got 0"
        },
        {
          "name": "upper-rom-visible",
          "ok": true,
          "detail": "compare $D000/$E000/$F000/$FFFF read mappings with boot ROM mappings"
        },
        {
          "name": "caller-preserved",
          "ok": true,
          "detail": "$0300..$031F is reserved"
        },
        {
          "name": "input-preserved",
          "ok": true,
          "detail": "all supplied bytes including NUL must remain unchanged"
        },
        {
          "name": "pcm-activity",
          "ok": true,
          "detail": "mixed PCM activity only; not intelligibility or AY-only proof"
        },
        {
          "name": "post-return-silence",
          "ok": true,
          "detail": "measured after DC settling; caller spins without muting hardware"
        }
      ],
      "seconds": 1.9066013108242303,
      "audio": {
        "frames": 91517,
        "seconds": 1.9066041666666667,
        "channels": [
          {
            "mean": 0.0004623958256642057,
            "peak": 0.17442403733730316,
            "rms": 0.025730269833997264,
            "acRms": 0.02572611466643803
          },
          {
            "mean": 0.0004623825664573239,
            "peak": 0.17442403733730316,
            "rms": 0.0257186230836863,
            "acRms": 0.025714466272566464
          }
        ]
      },
      "registers": {
        "pc": 776,
        "a": 0,
        "x": 255,
        "y": 33,
        "sp": 246,
        "status": 50,
        "waiting": false
      },
      "effectiveDeadlineCycles": 141609375,
      "postReturn": {
        "settleCycles": 393360,
        "measuredCycles": 236016,
        "audio": {
          "frames": 7200,
          "seconds": 0.15,
          "channels": [
            {
              "mean": 1.257285475730896e-7,
              "peak": 1.257285475730896e-7,
              "rms": 1.257285475730896e-7,
              "acRms": 0
            },
            {
              "mean": 8.996575928676975e-8,
              "peak": 8.996575928676975e-8,
              "rms": 8.99657592867654e-8,
              "acRms": 0
            }
          ]
        }
      }
    },
    {
      "name": "sentence-2-repeat-1",
      "status": "passed",
      "routine": "TTS_SPEAK",
      "input": "WE MAKE NEW SOFTWARE FOR OLD COMPUTERS.",
      "expectedA": 0,
      "cycles": 3972703,
      "deadlineCycles": 141609375,
      "returned": true,
      "escapeInjectedAtCycle": null,
      "serial": "",
      "serialBytes": 0,
      "checks": [
        {
          "name": "returned-before-deadline",
          "ok": true,
          "detail": "3972703 cycles"
        },
        {
          "name": "balanced-stack",
          "ok": true,
          "detail": "SP 246 -> 246"
        },
        {
          "name": "return-code",
          "ok": true,
          "detail": "expected A=0; got 0"
        },
        {
          "name": "upper-rom-visible",
          "ok": true,
          "detail": "compare $D000/$E000/$F000/$FFFF read mappings with boot ROM mappings"
        },
        {
          "name": "caller-preserved",
          "ok": true,
          "detail": "$0300..$031F is reserved"
        },
        {
          "name": "input-preserved",
          "ok": true,
          "detail": "all supplied bytes including NUL must remain unchanged"
        },
        {
          "name": "pcm-activity",
          "ok": true,
          "detail": "mixed PCM activity only; not intelligibility or AY-only proof"
        },
        {
          "name": "post-return-silence",
          "ok": true,
          "detail": "measured after DC settling; caller spins without muting hardware"
        }
      ],
      "seconds": 2.5248559285004966,
      "audio": {
        "frames": 121193,
        "seconds": 2.5248541666666666,
        "channels": [
          {
            "mean": 0.0003491010645907741,
            "peak": 0.18824055790901184,
            "rms": 0.025968139060004364,
            "acRms": 0.025965792394733997
          },
          {
            "mean": 0.0003490938489774721,
            "peak": 0.18824227154254913,
            "rms": 0.02597993330354907,
            "acRms": 0.02597758780066895
          }
        ]
      },
      "registers": {
        "pc": 776,
        "a": 0,
        "x": 255,
        "y": 45,
        "sp": 246,
        "status": 50,
        "waiting": false
      },
      "effectiveDeadlineCycles": 141609375,
      "postReturn": {
        "settleCycles": 393360,
        "measuredCycles": 236016,
        "audio": {
          "frames": 7200,
          "seconds": 0.15,
          "channels": [
            {
              "mean": -3.3918769304364105e-7,
              "peak": 3.3918769304364105e-7,
              "rms": 3.3918769304363046e-7,
              "acRms": 0
            },
            {
              "mean": -3.153458294491429e-7,
              "peak": 3.153458294491429e-7,
              "rms": 3.153458294491329e-7,
              "acRms": 0
            }
          ]
        }
      }
    },
    {
      "name": "sentence-3-repeat-1",
      "status": "passed",
      "routine": "TTS_SPEAK",
      "input": "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG.",
      "expectedA": 0,
      "cycles": 4254123,
      "deadlineCycles": 141609375,
      "returned": true,
      "escapeInjectedAtCycle": null,
      "serial": "",
      "serialBytes": 0,
      "checks": [
        {
          "name": "returned-before-deadline",
          "ok": true,
          "detail": "4254123 cycles"
        },
        {
          "name": "balanced-stack",
          "ok": true,
          "detail": "SP 246 -> 246"
        },
        {
          "name": "return-code",
          "ok": true,
          "detail": "expected A=0; got 0"
        },
        {
          "name": "upper-rom-visible",
          "ok": true,
          "detail": "compare $D000/$E000/$F000/$FFFF read mappings with boot ROM mappings"
        },
        {
          "name": "caller-preserved",
          "ok": true,
          "detail": "$0300..$031F is reserved"
        },
        {
          "name": "input-preserved",
          "ok": true,
          "detail": "all supplied bytes including NUL must remain unchanged"
        },
        {
          "name": "pcm-activity",
          "ok": true,
          "detail": "mixed PCM activity only; not intelligibility or AY-only proof"
        },
        {
          "name": "post-return-silence",
          "ok": true,
          "detail": "measured after DC settling; caller spins without muting hardware"
        }
      ],
      "seconds": 2.7037127308838134,
      "audio": {
        "frames": 129779,
        "seconds": 2.7037291666666667,
        "channels": [
          {
            "mean": 0.00032423850104114805,
            "peak": 0.1744236797094345,
            "rms": 0.025513800088764516,
            "acRms": 0.02551173973612703
          },
          {
            "mean": 0.00032477775234483796,
            "peak": 0.17442761361598969,
            "rms": 0.02550962701384712,
            "acRms": 0.025507559463758593
          }
        ]
      },
      "registers": {
        "pc": 776,
        "a": 0,
        "x": 255,
        "y": 52,
        "sp": 246,
        "status": 50,
        "waiting": false
      },
      "effectiveDeadlineCycles": 141609375,
      "postReturn": {
        "settleCycles": 393360,
        "measuredCycles": 236016,
        "audio": {
          "frames": 7200,
          "seconds": 0.15,
          "channels": [
            {
              "mean": -6.252899993341998e-7,
              "peak": 6.252899993341998e-7,
              "rms": 6.252899993341892e-7,
              "acRms": 0
            },
            {
              "mean": -6.468966944339627e-7,
              "peak": 6.468966944339627e-7,
              "rms": 6.46896694433994e-7,
              "acRms": 2.0122289269162218e-13
            }
          ]
        }
      }
    },
    {
      "name": "sentence-4-repeat-1",
      "status": "passed",
      "routine": "TTS_SPEAK",
      "input": "PLEASE TYPE A SENTENCE AND PRESS ENTER.",
      "expectedA": 0,
      "cycles": 3555227,
      "deadlineCycles": 141609375,
      "returned": true,
      "escapeInjectedAtCycle": null,
      "serial": "",
      "serialBytes": 0,
      "checks": [
        {
          "name": "returned-before-deadline",
          "ok": true,
          "detail": "3555227 cycles"
        },
        {
          "name": "balanced-stack",
          "ok": true,
          "detail": "SP 246 -> 246"
        },
        {
          "name": "return-code",
          "ok": true,
          "detail": "expected A=0; got 0"
        },
        {
          "name": "upper-rom-visible",
          "ok": true,
          "detail": "compare $D000/$E000/$F000/$FFFF read mappings with boot ROM mappings"
        },
        {
          "name": "caller-preserved",
          "ok": true,
          "detail": "$0300..$031F is reserved"
        },
        {
          "name": "input-preserved",
          "ok": true,
          "detail": "all supplied bytes including NUL must remain unchanged"
        },
        {
          "name": "pcm-activity",
          "ok": true,
          "detail": "mixed PCM activity only; not intelligibility or AY-only proof"
        },
        {
          "name": "post-return-silence",
          "ok": true,
          "detail": "measured after DC settling; caller spins without muting hardware"
        }
      ],
      "seconds": 2.259528579940417,
      "audio": {
        "frames": 108457,
        "seconds": 2.259520833333333,
        "channels": [
          {
            "mean": 0.0003889225990313119,
            "peak": 0.17575131356716156,
            "rms": 0.027222238459543264,
            "acRms": 0.027219460060041587
          },
          {
            "mean": 0.0003890328802821442,
            "peak": 0.17579428851604462,
            "rms": 0.02725198335754635,
            "acRms": 0.027249206416665468
          }
        ]
      },
      "registers": {
        "pc": 776,
        "a": 0,
        "x": 255,
        "y": 41,
        "sp": 246,
        "status": 50,
        "waiting": false
      },
      "effectiveDeadlineCycles": 141609375,
      "postReturn": {
        "settleCycles": 393360,
        "measuredCycles": 236016,
        "audio": {
          "frames": 7200,
          "seconds": 0.15,
          "channels": [
            {
              "mean": -2.7734787977351516e-7,
              "peak": 2.7734787977351516e-7,
              "rms": 2.773478797735321e-7,
              "acRms": 9.697021187062789e-14
            },
            {
              "mean": -8.065253354061497e-8,
              "peak": 8.065253354061497e-8,
              "rms": 8.065253354061206e-8,
              "acRms": 0
            }
          ]
        }
      }
    },
    {
      "name": "sentence-1-repeat-2",
      "status": "passed",
      "routine": "TTS_SPEAK",
      "input": "HELLO. THIS COMPUTER CAN TALK.",
      "expectedA": 0,
      "cycles": 2999918,
      "deadlineCycles": 141609375,
      "returned": true,
      "escapeInjectedAtCycle": null,
      "serial": "",
      "serialBytes": 0,
      "checks": [
        {
          "name": "returned-before-deadline",
          "ok": true,
          "detail": "2999918 cycles"
        },
        {
          "name": "balanced-stack",
          "ok": true,
          "detail": "SP 246 -> 246"
        },
        {
          "name": "return-code",
          "ok": true,
          "detail": "expected A=0; got 0"
        },
        {
          "name": "upper-rom-visible",
          "ok": true,
          "detail": "compare $D000/$E000/$F000/$FFFF read mappings with boot ROM mappings"
        },
        {
          "name": "caller-preserved",
          "ok": true,
          "detail": "$0300..$031F is reserved"
        },
        {
          "name": "input-preserved",
          "ok": true,
          "detail": "all supplied bytes including NUL must remain unchanged"
        },
        {
          "name": "pcm-activity",
          "ok": true,
          "detail": "mixed PCM activity only; not intelligibility or AY-only proof"
        },
        {
          "name": "post-return-silence",
          "ok": true,
          "detail": "measured after DC settling; caller spins without muting hardware"
        }
      ],
      "seconds": 1.9066013108242303,
      "audio": {
        "frames": 91517,
        "seconds": 1.9066041666666667,
        "channels": [
          {
            "mean": 0.0004611697415303166,
            "peak": 0.17442765831947327,
            "rms": 0.025678066402166057,
            "acRms": 0.02567392483870641
          },
          {
            "mean": 0.0004613073943697084,
            "peak": 0.17457349598407745,
            "rms": 0.025698808619489158,
            "acRms": 0.02569466792836658
          }
        ]
      },
      "registers": {
        "pc": 776,
        "a": 0,
        "x": 255,
        "y": 33,
        "sp": 246,
        "status": 50,
        "waiting": false
      },
      "effectiveDeadlineCycles": 141609375,
      "postReturn": {
        "settleCycles": 393360,
        "measuredCycles": 236016,
        "audio": {
          "frames": 7200,
          "seconds": 0.15,
          "channels": [
            {
              "mean": 2.067536186700636e-8,
              "peak": 2.067536186700636e-8,
              "rms": 2.0675361867005786e-8,
              "acRms": 0
            },
            {
              "mean": 8.028001019511066e-8,
              "peak": 8.028001019511066e-8,
              "rms": 8.028001019511459e-8,
              "acRms": 2.5121479338940402e-14
            }
          ]
        }
      }
    },
    {
      "name": "sentence-2-repeat-2",
      "status": "passed",
      "routine": "TTS_SPEAK",
      "input": "WE MAKE NEW SOFTWARE FOR OLD COMPUTERS.",
      "expectedA": 0,
      "cycles": 3972703,
      "deadlineCycles": 141609375,
      "returned": true,
      "escapeInjectedAtCycle": null,
      "serial": "",
      "serialBytes": 0,
      "checks": [
        {
          "name": "returned-before-deadline",
          "ok": true,
          "detail": "3972703 cycles"
        },
        {
          "name": "balanced-stack",
          "ok": true,
          "detail": "SP 246 -> 246"
        },
        {
          "name": "return-code",
          "ok": true,
          "detail": "expected A=0; got 0"
        },
        {
          "name": "upper-rom-visible",
          "ok": true,
          "detail": "compare $D000/$E000/$F000/$FFFF read mappings with boot ROM mappings"
        },
        {
          "name": "caller-preserved",
          "ok": true,
          "detail": "$0300..$031F is reserved"
        },
        {
          "name": "input-preserved",
          "ok": true,
          "detail": "all supplied bytes including NUL must remain unchanged"
        },
        {
          "name": "pcm-activity",
          "ok": true,
          "detail": "mixed PCM activity only; not intelligibility or AY-only proof"
        },
        {
          "name": "post-return-silence",
          "ok": true,
          "detail": "measured after DC settling; caller spins without muting hardware"
        }
      ],
      "seconds": 2.5248559285004966,
      "audio": {
        "frames": 121193,
        "seconds": 2.5248541666666666,
        "channels": [
          {
            "mean": 0.00034821157046654885,
            "peak": 0.18825365602970123,
            "rms": 0.026007558712639878,
            "acRms": 0.026005227530125626
          },
          {
            "mean": 0.00034830410614594996,
            "peak": 0.18819956481456757,
            "rms": 0.0260099267204644,
            "acRms": 0.0260075945110956
          }
        ]
      },
      "registers": {
        "pc": 776,
        "a": 0,
        "x": 255,
        "y": 45,
        "sp": 246,
        "status": 50,
        "waiting": false
      },
      "effectiveDeadlineCycles": 141609375,
      "postReturn": {
        "settleCycles": 393360,
        "measuredCycles": 236016,
        "audio": {
          "frames": 7200,
          "seconds": 0.15,
          "channels": [
            {
              "mean": -3.8463622331619263e-7,
              "peak": 3.8463622331619263e-7,
              "rms": 3.8463622331619263e-7,
              "acRms": 0
            },
            {
              "mean": -2.952292561531067e-7,
              "peak": 2.952292561531067e-7,
              "rms": 2.952292561531067e-7,
              "acRms": 0
            }
          ]
        }
      }
    },
    {
      "name": "sentence-3-repeat-2",
      "status": "passed",
      "routine": "TTS_SPEAK",
      "input": "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG.",
      "expectedA": 0,
      "cycles": 4254123,
      "deadlineCycles": 141609375,
      "returned": true,
      "escapeInjectedAtCycle": null,
      "serial": "",
      "serialBytes": 0,
      "checks": [
        {
          "name": "returned-before-deadline",
          "ok": true,
          "detail": "4254123 cycles"
        },
        {
          "name": "balanced-stack",
          "ok": true,
          "detail": "SP 246 -> 246"
        },
        {
          "name": "return-code",
          "ok": true,
          "detail": "expected A=0; got 0"
        },
        {
          "name": "upper-rom-visible",
          "ok": true,
          "detail": "compare $D000/$E000/$F000/$FFFF read mappings with boot ROM mappings"
        },
        {
          "name": "caller-preserved",
          "ok": true,
          "detail": "$0300..$031F is reserved"
        },
        {
          "name": "input-preserved",
          "ok": true,
          "detail": "all supplied bytes including NUL must remain unchanged"
        },
        {
          "name": "pcm-activity",
          "ok": true,
          "detail": "mixed PCM activity only; not intelligibility or AY-only proof"
        },
        {
          "name": "post-return-silence",
          "ok": true,
          "detail": "measured after DC settling; caller spins without muting hardware"
        }
      ],
      "seconds": 2.7037127308838134,
      "audio": {
        "frames": 129778,
        "seconds": 2.703708333333333,
        "channels": [
          {
            "mean": 0.0003256522948723474,
            "peak": 0.1744508445262909,
            "rms": 0.02550532971203734,
            "acRms": 0.02550325066148586
          },
          {
            "mean": 0.00032561425559145664,
            "peak": 0.17442373931407928,
            "rms": 0.025500369712536674,
            "acRms": 0.025498290743354024
          }
        ]
      },
      "registers": {
        "pc": 776,
        "a": 0,
        "x": 255,
        "y": 52,
        "sp": 246,
        "status": 50,
        "waiting": false
      },
      "effectiveDeadlineCycles": 141609375,
      "postReturn": {
        "settleCycles": 393360,
        "measuredCycles": 236016,
        "audio": {
          "frames": 7200,
          "seconds": 0.15,
          "channels": [
            {
              "mean": -4.3455511899992416e-7,
              "peak": 4.3455511899992416e-7,
              "rms": 4.345551189999023e-7,
              "acRms": 0
            },
            {
              "mean": -6.133690817478055e-7,
              "peak": 6.133690817478055e-7,
              "rms": 6.133690817478378e-7,
              "acRms": 1.9907880820997406e-13
            }
          ]
        }
      }
    },
    {
      "name": "sentence-4-repeat-2",
      "status": "passed",
      "routine": "TTS_SPEAK",
      "input": "PLEASE TYPE A SENTENCE AND PRESS ENTER.",
      "expectedA": 0,
      "cycles": 3555227,
      "deadlineCycles": 141609375,
      "returned": true,
      "escapeInjectedAtCycle": null,
      "serial": "",
      "serialBytes": 0,
      "checks": [
        {
          "name": "returned-before-deadline",
          "ok": true,
          "detail": "3555227 cycles"
        },
        {
          "name": "balanced-stack",
          "ok": true,
          "detail": "SP 246 -> 246"
        },
        {
          "name": "return-code",
          "ok": true,
          "detail": "expected A=0; got 0"
        },
        {
          "name": "upper-rom-visible",
          "ok": true,
          "detail": "compare $D000/$E000/$F000/$FFFF read mappings with boot ROM mappings"
        },
        {
          "name": "caller-preserved",
          "ok": true,
          "detail": "$0300..$031F is reserved"
        },
        {
          "name": "input-preserved",
          "ok": true,
          "detail": "all supplied bytes including NUL must remain unchanged"
        },
        {
          "name": "pcm-activity",
          "ok": true,
          "detail": "mixed PCM activity only; not intelligibility or AY-only proof"
        },
        {
          "name": "post-return-silence",
          "ok": true,
          "detail": "measured after DC settling; caller spins without muting hardware"
        }
      ],
      "seconds": 2.259528579940417,
      "audio": {
        "frames": 108458,
        "seconds": 2.259541666666667,
        "channels": [
          {
            "mean": 0.0003884114447415077,
            "peak": 0.17602451145648956,
            "rms": 0.027242708514786152,
            "acRms": 0.027239939496467233
          },
          {
            "mean": 0.0003889869463727822,
            "peak": 0.1758224368095398,
            "rms": 0.027244405767539077,
            "acRms": 0.027241628710153662
          }
        ]
      },
      "registers": {
        "pc": 776,
        "a": 0,
        "x": 255,
        "y": 41,
        "sp": 246,
        "status": 50,
        "waiting": false
      },
      "effectiveDeadlineCycles": 141609375,
      "postReturn": {
        "settleCycles": 393360,
        "measuredCycles": 236016,
        "audio": {
          "frames": 7200,
          "seconds": 0.15,
          "channels": [
            {
              "mean": -1.0076910683665119e-7,
              "peak": 1.0076910683665119e-7,
              "rms": 1.0076910683664801e-7,
              "acRms": 0
            },
            {
              "mean": -9.853393123648857e-8,
              "peak": 9.853393123648857e-8,
              "rms": 9.853393123648997e-8,
              "acRms": 1.6663704229186144e-14
            }
          ]
        }
      }
    },
    {
      "name": "lowercase",
      "status": "passed",
      "routine": "TTS_SPEAK",
      "input": "hello. this computer can talk.",
      "expectedA": 0,
      "cycles": 3000134,
      "deadlineCycles": 141609375,
      "returned": true,
      "escapeInjectedAtCycle": null,
      "serial": "",
      "serialBytes": 0,
      "checks": [
        {
          "name": "returned-before-deadline",
          "ok": true,
          "detail": "3000134 cycles"
        },
        {
          "name": "balanced-stack",
          "ok": true,
          "detail": "SP 246 -> 246"
        },
        {
          "name": "return-code",
          "ok": true,
          "detail": "expected A=0; got 0"
        },
        {
          "name": "upper-rom-visible",
          "ok": true,
          "detail": "compare $D000/$E000/$F000/$FFFF read mappings with boot ROM mappings"
        },
        {
          "name": "caller-preserved",
          "ok": true,
          "detail": "$0300..$031F is reserved"
        },
        {
          "name": "input-preserved",
          "ok": true,
          "detail": "all supplied bytes including NUL must remain unchanged"
        },
        {
          "name": "pcm-activity",
          "ok": true,
          "detail": "mixed PCM activity only; not intelligibility or AY-only proof"
        },
        {
          "name": "post-return-silence",
          "ok": true,
          "detail": "measured after DC settling; caller spins without muting hardware"
        }
      ],
      "seconds": 1.9067385898709037,
      "audio": {
        "frames": 91523,
        "seconds": 1.9067291666666666,
        "channels": [
          {
            "mean": 0.0004612170300117662,
            "peak": 0.17457346618175507,
            "rms": 0.025753326050633858,
            "acRms": 0.025749195745138988
          },
          {
            "mean": 0.0004622872584917464,
            "peak": 0.1744239181280136,
            "rms": 0.025728959071988043,
            "acRms": 0.025724805643943593
          }
        ]
      },
      "registers": {
        "pc": 776,
        "a": 0,
        "x": 255,
        "y": 33,
        "sp": 246,
        "status": 50,
        "waiting": false
      },
      "effectiveDeadlineCycles": 141609375,
      "postReturn": {
        "settleCycles": 393360,
        "measuredCycles": 236016,
        "audio": {
          "frames": 7200,
          "seconds": 0.15,
          "channels": [
            {
              "mean": 2.6635825989274053e-8,
              "peak": 2.6635825989274053e-8,
              "rms": 2.66358259892727e-8,
              "acRms": 0
            },
            {
              "mean": 7.804483459494804e-8,
              "peak": 7.804483459494804e-8,
              "rms": 7.804483459494676e-8,
              "acRms": 0
            }
          ]
        }
      }
    },
    {
      "name": "maximum-120",
      "status": "passed",
      "routine": "TTS_SPEAK",
      "input": "HELLO. THIS COMPUTER CAN TALK. HELLO. THIS COMPUTER CAN TALK. HELLO. THIS COMPUTER CAN TALK. HELLO. THIS COMPUTER CAN TA",
      "expectedA": 0,
      "cycles": 11479932,
      "deadlineCycles": 141609375,
      "returned": true,
      "escapeInjectedAtCycle": null,
      "serial": "",
      "serialBytes": 0,
      "checks": [
        {
          "name": "returned-before-deadline",
          "ok": true,
          "detail": "11479932 cycles"
        },
        {
          "name": "balanced-stack",
          "ok": true,
          "detail": "SP 246 -> 246"
        },
        {
          "name": "return-code",
          "ok": true,
          "detail": "expected A=0; got 0"
        },
        {
          "name": "upper-rom-visible",
          "ok": true,
          "detail": "compare $D000/$E000/$F000/$FFFF read mappings with boot ROM mappings"
        },
        {
          "name": "caller-preserved",
          "ok": true,
          "detail": "$0300..$031F is reserved"
        },
        {
          "name": "input-preserved",
          "ok": true,
          "detail": "all supplied bytes including NUL must remain unchanged"
        },
        {
          "name": "pcm-activity",
          "ok": true,
          "detail": "mixed PCM activity only; not intelligibility or AY-only proof"
        },
        {
          "name": "post-return-silence",
          "ok": true,
          "detail": "measured after DC settling; caller spins without muting hardware"
        }
      ],
      "seconds": 7.296083892750745,
      "audio": {
        "frames": 350212,
        "seconds": 7.296083333333334,
        "channels": [
          {
            "mean": 0.00012085432899019714,
            "peak": 0.1744246929883957,
            "rms": 0.025410552290124684,
            "acRms": 0.025410264892761845
          },
          {
            "mean": 0.00012125505994265759,
            "peak": 0.17442801594734192,
            "rms": 0.025404826289617145,
            "acRms": 0.02540453691796134
          }
        ]
      },
      "registers": {
        "pc": 776,
        "a": 0,
        "x": 255,
        "y": 130,
        "sp": 246,
        "status": 50,
        "waiting": false
      },
      "effectiveDeadlineCycles": 141609375,
      "postReturn": {
        "settleCycles": 393360,
        "measuredCycles": 236016,
        "audio": {
          "frames": 7200,
          "seconds": 0.15,
          "channels": [
            {
              "mean": -3.190711197476048e-7,
              "peak": 3.190711197476048e-7,
              "rms": 3.1907111974759397e-7,
              "acRms": 0
            },
            {
              "mean": -8.884817503940212e-8,
              "peak": 8.884817503940212e-8,
              "rms": 8.88481750393979e-8,
              "acRms": 0
            }
          ]
        }
      }
    },
    {
      "name": "escape-cancellation",
      "status": "passed",
      "routine": "TTS_SPEAK",
      "input": "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG. THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG. THE QUICK BROWN FOX JUMPS OVER",
      "expectedA": 1,
      "cycles": 779121,
      "deadlineCycles": 141609375,
      "returned": true,
      "escapeInjectedAtCycle": 78671,
      "serial": "",
      "serialBytes": 0,
      "checks": [
        {
          "name": "returned-before-deadline",
          "ok": true,
          "detail": "779121 cycles"
        },
        {
          "name": "escape-injected-while-running",
          "ok": true,
          "detail": "Escape at cycle 78671"
        },
        {
          "name": "cancellation-deadline",
          "ok": true,
          "detail": "700450 cycles after Escape (limit 1573437)"
        },
        {
          "name": "balanced-stack",
          "ok": true,
          "detail": "SP 246 -> 246"
        },
        {
          "name": "return-code",
          "ok": true,
          "detail": "expected A=1; got 1"
        },
        {
          "name": "upper-rom-visible",
          "ok": true,
          "detail": "compare $D000/$E000/$F000/$FFFF read mappings with boot ROM mappings"
        },
        {
          "name": "caller-preserved",
          "ok": true,
          "detail": "$0300..$031F is reserved"
        },
        {
          "name": "input-preserved",
          "ok": true,
          "detail": "all supplied bytes including NUL must remain unchanged"
        },
        {
          "name": "post-return-silence",
          "ok": true,
          "detail": "measured after DC settling; caller spins without muting hardware"
        }
      ],
      "seconds": 0.49517124131082424,
      "audio": {
        "frames": 23768,
        "seconds": 0.49516666666666664,
        "channels": [
          {
            "mean": 0.0006363817072038151,
            "peak": 0.1744237095117569,
            "rms": 0.008935883110963116,
            "acRms": 0.008913193888586303
          },
          {
            "mean": 0.0006368404967430274,
            "peak": 0.1744239330291748,
            "rms": 0.008939345453938758,
            "acRms": 0.008916632286158471
          }
        ]
      },
      "registers": {
        "pc": 776,
        "a": 1,
        "x": 255,
        "y": 222,
        "sp": 246,
        "status": 48,
        "waiting": false
      },
      "effectiveDeadlineCycles": 1652108,
      "cancellationCycles": 700450,
      "postReturn": {
        "settleCycles": 393360,
        "measuredCycles": 236016,
        "audio": {
          "frames": 7200,
          "seconds": 0.15,
          "channels": [
            {
              "mean": -2.8666110551966995e-7,
              "peak": 2.8666110551966995e-7,
              "rms": 2.866611055196867e-7,
              "acRms": 9.787710065691549e-14
            },
            {
              "mean": -6.016343689907444e-8,
              "peak": 6.016343689907444e-8,
              "rms": 6.0163436899078e-8,
              "acRms": 2.07157025572446e-14
            }
          ]
        }
      }
    },
    {
      "name": "after-cancellation",
      "status": "passed",
      "routine": "TTS_SPEAK",
      "input": "WE MAKE NEW SOFTWARE FOR OLD COMPUTERS.",
      "expectedA": 0,
      "cycles": 3972703,
      "deadlineCycles": 141609375,
      "returned": true,
      "escapeInjectedAtCycle": null,
      "serial": "",
      "serialBytes": 0,
      "checks": [
        {
          "name": "returned-before-deadline",
          "ok": true,
          "detail": "3972703 cycles"
        },
        {
          "name": "balanced-stack",
          "ok": true,
          "detail": "SP 246 -> 246"
        },
        {
          "name": "return-code",
          "ok": true,
          "detail": "expected A=0; got 0"
        },
        {
          "name": "upper-rom-visible",
          "ok": true,
          "detail": "compare $D000/$E000/$F000/$FFFF read mappings with boot ROM mappings"
        },
        {
          "name": "caller-preserved",
          "ok": true,
          "detail": "$0300..$031F is reserved"
        },
        {
          "name": "input-preserved",
          "ok": true,
          "detail": "all supplied bytes including NUL must remain unchanged"
        },
        {
          "name": "pcm-activity",
          "ok": true,
          "detail": "mixed PCM activity only; not intelligibility or AY-only proof"
        },
        {
          "name": "post-return-silence",
          "ok": true,
          "detail": "measured after DC settling; caller spins without muting hardware"
        }
      ],
      "seconds": 2.5248559285004966,
      "audio": {
        "frames": 121193,
        "seconds": 2.5248541666666666,
        "channels": [
          {
            "mean": 0.000348761553054792,
            "peak": 0.18941281735897064,
            "rms": 0.025980932768905864,
            "acRms": 0.025978591819448515
          },
          {
            "mean": 0.00034956832826070044,
            "peak": 0.18896816670894623,
            "rms": 0.02596561255566566,
            "acRms": 0.025963259375024913
          }
        ]
      },
      "registers": {
        "pc": 776,
        "a": 0,
        "x": 255,
        "y": 45,
        "sp": 246,
        "status": 50,
        "waiting": false
      },
      "effectiveDeadlineCycles": 141609375,
      "postReturn": {
        "settleCycles": 393360,
        "measuredCycles": 236016,
        "audio": {
          "frames": 7201,
          "seconds": 0.15002083333333333,
          "channels": [
            {
              "mean": -6.133690817478055e-7,
              "peak": 6.133690817478055e-7,
              "rms": 6.133690817478378e-7,
              "acRms": 1.9907880820997406e-13
            },
            {
              "mean": -3.8463622331619263e-7,
              "peak": 3.8463622331619263e-7,
              "rms": 3.8463622331619263e-7,
              "acRms": 0
            }
          ]
        }
      }
    }
  ],
  "errors": [],
  "artifacts": [
    {
      "file": "tts.prg",
      "kind": "program"
    },
    {
      "file": "sentence-1.wav",
      "kind": "audio",
      "text": "HELLO. THIS COMPUTER CAN TALK."
    },
    {
      "file": "sentence-2.wav",
      "kind": "audio",
      "text": "WE MAKE NEW SOFTWARE FOR OLD COMPUTERS."
    },
    {
      "file": "sentence-3.wav",
      "kind": "audio",
      "text": "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG."
    },
    {
      "file": "sentence-4.wav",
      "kind": "audio",
      "text": "PLEASE TYPE A SENTENCE AND PRESS ENTER."
    }
  ]
}
