{
  "schemaVersion": 1,
  "challenge": "tts-v1",
  "entryId": "gpt-6-sol-v1",
  "sourceSha256": "d97cfe6f164033ec3537db880ffc61bb9a69b3f9c20279d9b2b412e69c03dc2a",
  "metadata": {
    "schemaVersion": 1,
    "challenge": "tts-v1",
    "id": "gpt-6-sol-v1",
    "title": "Larkspur 65",
    "author": "GPT-6 Sol",
    "model": "gpt-6-sol; reasoning settings not available",
    "agent": "GitHub Copilot CLI on Windows, Node 22.16.0 and baseline Emscripten 6.0.1",
    "baseline": "bd795bee12c5fb73a7de9e733e19e0aad95fb57c",
    "description": "65C02 runtime English letter-to-phoneme rules and dual-AY voiced resonances/noise with editable text input.",
    "assistance": "Initial GPT-6 Sol candidate preserved at 3c07edca3c5a7d0de81b93382574cf26feaab16f. Gemini 3.8 Flash and GPT-5.6 Sol independently reviewed the code and identified preset-index, word-boundary, and RAM-aliasing defects; GPT-6 Sol made disclosed follow-up fixes. No other model supplied voice data or recordings.",
    "license": "MIT for new source, tests and original phoneme data; adapted 3RIC hardware-access helper retains the repository license.",
    "memory": "Always-mapped $0800-$1017 image, TTS_INPUT $0F9E-$1017; engine read operands patched within own image; UI uses $06-$07, ROM text page $0400-$07FF and cursor state; stack. No bank switches.",
    "limitations": "Heuristic English pronunciation, square-wave formant approximation; no real-board or Apple II verification."
  },
  "provenance": {
    "baseline": "bd795bee12c5fb73a7de9e733e19e0aad95fb57c",
    "gitRevision": "5e6960a6c82774ff53ea74291d6999e212b35221",
    "worktreeDirty": true
  },
  "createdAt": "2026-10-05T20:34:31.214Z",
  "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": 2072,
    "endExclusive": 4120,
    "symbols": {
      "TTS_INIT": 2051,
      "TTS_SPEAK": 2182,
      "TTS_INPUT": 3998
    }
  },
  "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": 972,
      "deadlineCycles": 3146875,
      "returned": true,
      "escapeInjectedAtCycle": null,
      "serial": "",
      "serialBytes": 0,
      "checks": [
        {
          "name": "returned-before-deadline",
          "ok": true,
          "detail": "972 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.0006177557100297915,
      "audio": {
        "frames": 29,
        "seconds": 0.0006041666666666667,
        "channels": [
          {
            "mean": 0,
            "peak": 0,
            "rms": 0,
            "acRms": 0
          },
          {
            "mean": 0,
            "peak": 0,
            "rms": 0,
            "acRms": 0
          }
        ]
      },
      "registers": {
        "pc": 776,
        "a": 4,
        "x": 128,
        "y": 10,
        "sp": 246,
        "status": 161,
        "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": 943,
      "deadlineCycles": 3146875,
      "returned": true,
      "escapeInjectedAtCycle": null,
      "serial": "",
      "serialBytes": 0,
      "checks": [
        {
          "name": "returned-before-deadline",
          "ok": true,
          "detail": "943 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.0005993247269116187,
      "audio": {
        "frames": 29,
        "seconds": 0.0006041666666666667,
        "channels": [
          {
            "mean": 0,
            "peak": 0,
            "rms": 0,
            "acRms": 0
          },
          {
            "mean": 0,
            "peak": 0,
            "rms": 0,
            "acRms": 0
          }
        ]
      },
      "registers": {
        "pc": 776,
        "a": 0,
        "x": 15,
        "y": 10,
        "sp": 246,
        "status": 35,
        "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": 749338,
      "deadlineCycles": 3146875,
      "returned": true,
      "escapeInjectedAtCycle": null,
      "serial": "",
      "serialBytes": 0,
      "checks": [
        {
          "name": "returned-before-deadline",
          "ok": true,
          "detail": "749338 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.47624262164846076,
      "audio": {
        "frames": 22860,
        "seconds": 0.47625,
        "channels": [
          {
            "mean": 0,
            "peak": 0,
            "rms": 0,
            "acRms": 0
          },
          {
            "mean": 0,
            "peak": 0,
            "rms": 0,
            "acRms": 0
          }
        ]
      },
      "registers": {
        "pc": 776,
        "a": 0,
        "x": 15,
        "y": 10,
        "sp": 246,
        "status": 35,
        "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": 6576,
      "deadlineCycles": 3146875,
      "returned": true,
      "escapeInjectedAtCycle": null,
      "serial": "",
      "serialBytes": 0,
      "checks": [
        {
          "name": "returned-before-deadline",
          "ok": true,
          "detail": "6576 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.004179384309831182,
      "audio": {
        "frames": 200,
        "seconds": 0.004166666666666667,
        "channels": [
          {
            "mean": 0,
            "peak": 0,
            "rms": 0,
            "acRms": 0
          },
          {
            "mean": 0,
            "peak": 0,
            "rms": 0,
            "acRms": 0
          }
        ]
      },
      "registers": {
        "pc": 776,
        "a": 2,
        "x": 15,
        "y": 10,
        "sp": 246,
        "status": 33,
        "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": 4322857,
      "deadlineCycles": 141609375,
      "returned": true,
      "escapeInjectedAtCycle": null,
      "serial": "",
      "serialBytes": 0,
      "checks": [
        {
          "name": "returned-before-deadline",
          "ok": true,
          "detail": "4322857 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.7473967030784507,
      "audio": {
        "frames": 131875,
        "seconds": 2.7473958333333335,
        "channels": [
          {
            "mean": -5.301625898799413e-7,
            "peak": 0.11643433570861816,
            "rms": 0.031114786861680507,
            "acRms": 0.031114786857163804
          },
          {
            "mean": -3.335040743050682e-7,
            "peak": 0.1450084000825882,
            "rms": 0.031100796947601546,
            "acRms": 0.03110079694581341
          }
        ]
      },
      "registers": {
        "pc": 776,
        "a": 0,
        "x": 10,
        "y": 10,
        "sp": 246,
        "status": 35,
        "waiting": false
      },
      "effectiveDeadlineCycles": 141609375,
      "postReturn": {
        "settleCycles": 393360,
        "measuredCycles": 236016,
        "audio": {
          "frames": 7200,
          "seconds": 0.15,
          "channels": [
            {
              "mean": -1.2060627341270447e-7,
              "peak": 1.2060627341270447e-7,
              "rms": 1.2060627341270447e-7,
              "acRms": 0
            },
            {
              "mean": 4.128553143800673e-7,
              "peak": 4.128553143800673e-7,
              "rms": 4.1285531438005024e-7,
              "acRms": 0
            }
          ]
        }
      }
    },
    {
      "name": "sentence-2-repeat-1",
      "status": "passed",
      "routine": "TTS_SPEAK",
      "input": "WE MAKE NEW SOFTWARE FOR OLD COMPUTERS.",
      "expectedA": 0,
      "cycles": 5231827,
      "deadlineCycles": 141609375,
      "returned": true,
      "escapeInjectedAtCycle": null,
      "serial": "",
      "serialBytes": 0,
      "checks": [
        {
          "name": "returned-before-deadline",
          "ok": true,
          "detail": "5231827 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": 3.325093624627607,
      "audio": {
        "frames": 159605,
        "seconds": 3.3251041666666667,
        "channels": [
          {
            "mean": 4.71927979784503e-8,
            "peak": 0.1779303401708603,
            "rms": 0.03487457434676988,
            "acRms": 0.03487457434673795
          },
          {
            "mean": -6.92914330310929e-8,
            "peak": 0.1369522362947464,
            "rms": 0.03481303450466158,
            "acRms": 0.034813034504592624
          }
        ]
      },
      "registers": {
        "pc": 776,
        "a": 0,
        "x": 18,
        "y": 10,
        "sp": 246,
        "status": 35,
        "waiting": false
      },
      "effectiveDeadlineCycles": 141609375,
      "postReturn": {
        "settleCycles": 393360,
        "measuredCycles": 236016,
        "audio": {
          "frames": 7200,
          "seconds": 0.15,
          "channels": [
            {
              "mean": 8.789356797933578e-8,
              "peak": 8.789356797933578e-8,
              "rms": 8.789356797933578e-8,
              "acRms": 0
            },
            {
              "mean": 6.4051711490265e-8,
              "peak": 6.4051711490265e-8,
              "rms": 6.405171149026865e-8,
              "acRms": 2.161031364628563e-14
            }
          ]
        }
      }
    },
    {
      "name": "sentence-3-repeat-1",
      "status": "passed",
      "routine": "TTS_SPEAK",
      "input": "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG.",
      "expectedA": 0,
      "cycles": 5778126,
      "deadlineCycles": 141609375,
      "returned": true,
      "escapeInjectedAtCycle": null,
      "serial": "",
      "serialBytes": 0,
      "checks": [
        {
          "name": "returned-before-deadline",
          "ok": true,
          "detail": "5778126 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": 3.67229457795432,
      "audio": {
        "frames": 176270,
        "seconds": 3.6722916666666667,
        "channels": [
          {
            "mean": 2.4593992334323387e-7,
            "peak": 0.1433669626712799,
            "rms": 0.0319384895284631,
            "acRms": 0.031938489527516184
          },
          {
            "mean": 6.344222612409657e-7,
            "peak": 0.1403655707836151,
            "rms": 0.03191893217946036,
            "acRms": 0.03191893217315545
          }
        ]
      },
      "registers": {
        "pc": 776,
        "a": 0,
        "x": 6,
        "y": 10,
        "sp": 246,
        "status": 35,
        "waiting": false
      },
      "effectiveDeadlineCycles": 141609375,
      "postReturn": {
        "settleCycles": 393360,
        "measuredCycles": 236016,
        "audio": {
          "frames": 7200,
          "seconds": 0.15,
          "channels": [
            {
              "mean": 4.102941772998747e-7,
              "peak": 4.102941772998747e-7,
              "rms": 4.102941772998588e-7,
              "acRms": 0
            },
            {
              "mean": 0.0000016080215345937177,
              "peak": 0.0000016080215345937177,
              "rms": 0.000001608021534593635,
              "acRms": 0
            }
          ]
        }
      }
    },
    {
      "name": "sentence-4-repeat-1",
      "status": "passed",
      "routine": "TTS_SPEAK",
      "input": "PLEASE TYPE A SENTENCE AND PRESS ENTER.",
      "expectedA": 0,
      "cycles": 5120326,
      "deadlineCycles": 141609375,
      "returned": true,
      "escapeInjectedAtCycle": null,
      "serial": "",
      "serialBytes": 0,
      "checks": [
        {
          "name": "returned-before-deadline",
          "ok": true,
          "detail": "5120326 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": 3.2542290367428004,
      "audio": {
        "frames": 156203,
        "seconds": 3.2542291666666667,
        "channels": [
          {
            "mean": 9.918383354174018e-7,
            "peak": 0.12674447894096375,
            "rms": 0.03109736047366356,
            "acRms": 0.03109736045784641
          },
          {
            "mean": 0.0000020700362852927828,
            "peak": 0.12673118710517883,
            "rms": 0.031049896852043773,
            "acRms": 0.031049896783041125
          }
        ]
      },
      "registers": {
        "pc": 776,
        "a": 0,
        "x": 19,
        "y": 10,
        "sp": 246,
        "status": 35,
        "waiting": false
      },
      "effectiveDeadlineCycles": 141609375,
      "postReturn": {
        "settleCycles": 393360,
        "measuredCycles": 236016,
        "audio": {
          "frames": 7200,
          "seconds": 0.15,
          "channels": [
            {
              "mean": 0.000001363328237857786,
              "peak": 0.000001363328237857786,
              "rms": 0.0000013633282378577428,
              "acRms": 0
            },
            {
              "mean": 0.000002502088364053634,
              "peak": 0.000002502088364053634,
              "rms": 0.0000025020883640535586,
              "acRms": 0
            }
          ]
        }
      }
    },
    {
      "name": "sentence-1-repeat-2",
      "status": "passed",
      "routine": "TTS_SPEAK",
      "input": "HELLO. THIS COMPUTER CAN TALK.",
      "expectedA": 0,
      "cycles": 4322857,
      "deadlineCycles": 141609375,
      "returned": true,
      "escapeInjectedAtCycle": null,
      "serial": "",
      "serialBytes": 0,
      "checks": [
        {
          "name": "returned-before-deadline",
          "ok": true,
          "detail": "4322857 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.7473967030784507,
      "audio": {
        "frames": 131875,
        "seconds": 2.7473958333333335,
        "channels": [
          {
            "mean": 0.0000010631526833499718,
            "peak": 0.11397989839315414,
            "rms": 0.031093030531192483,
            "acRms": 0.031093030513016484
          },
          {
            "mean": 0.00000214619428187887,
            "peak": 0.16654308140277863,
            "rms": 0.031164061671090187,
            "acRms": 0.031164061597188555
          }
        ]
      },
      "registers": {
        "pc": 776,
        "a": 0,
        "x": 10,
        "y": 10,
        "sp": 246,
        "status": 35,
        "waiting": false
      },
      "effectiveDeadlineCycles": 141609375,
      "postReturn": {
        "settleCycles": 393360,
        "measuredCycles": 236016,
        "audio": {
          "frames": 7200,
          "seconds": 0.15,
          "channels": [
            {
              "mean": 0.0000016526319086551666,
              "peak": 0.0000016526319086551666,
              "rms": 0.0000016526319086551666,
              "acRms": 0
            },
            {
              "mean": 0.0000030324795261549298,
              "peak": 0.0000030324795261549298,
              "rms": 0.000003032479526154917,
              "acRms": 0
            }
          ]
        }
      }
    },
    {
      "name": "sentence-2-repeat-2",
      "status": "passed",
      "routine": "TTS_SPEAK",
      "input": "WE MAKE NEW SOFTWARE FOR OLD COMPUTERS.",
      "expectedA": 0,
      "cycles": 5231827,
      "deadlineCycles": 141609375,
      "returned": true,
      "escapeInjectedAtCycle": null,
      "serial": "",
      "serialBytes": 0,
      "checks": [
        {
          "name": "returned-before-deadline",
          "ok": true,
          "detail": "5231827 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": 3.325093624627607,
      "audio": {
        "frames": 159605,
        "seconds": 3.3251041666666667,
        "channels": [
          {
            "mean": 0.0000017598162504998163,
            "peak": 0.15024839341640472,
            "rms": 0.03482202437049539,
            "acRms": 0.03482202432602708
          },
          {
            "mean": 0.000002695972082090236,
            "peak": 0.1745835244655609,
            "rms": 0.0347537535448828,
            "acRms": 0.03475375344031473
          }
        ]
      },
      "registers": {
        "pc": 776,
        "a": 0,
        "x": 18,
        "y": 10,
        "sp": 246,
        "status": 35,
        "waiting": false
      },
      "effectiveDeadlineCycles": 141609375,
      "postReturn": {
        "settleCycles": 393360,
        "measuredCycles": 236016,
        "audio": {
          "frames": 7200,
          "seconds": 0.15,
          "channels": [
            {
              "mean": 0.000002114451490342617,
              "peak": 0.000002114451490342617,
              "rms": 0.000002114451490342617,
              "acRms": 0
            },
            {
              "mean": 0.0000025883084617817076,
              "peak": 0.0000025883084617817076,
              "rms": 0.0000025883084617816127,
              "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": 5778126,
      "deadlineCycles": 141609375,
      "returned": true,
      "escapeInjectedAtCycle": null,
      "serial": "",
      "serialBytes": 0,
      "checks": [
        {
          "name": "returned-before-deadline",
          "ok": true,
          "detail": "5778126 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": 3.67229457795432,
      "audio": {
        "frames": 176270,
        "seconds": 3.6722916666666667,
        "channels": [
          {
            "mean": 0.000002073921063058572,
            "peak": 0.14969861507415771,
            "rms": 0.031979965506923176,
            "acRms": 0.03197996543967563
          },
          {
            "mean": 0.0000029341675391049375,
            "peak": 0.14779461920261383,
            "rms": 0.03197554261596987,
            "acRms": 0.03197554248134605
          }
        ]
      },
      "registers": {
        "pc": 776,
        "a": 0,
        "x": 6,
        "y": 10,
        "sp": 246,
        "status": 35,
        "waiting": false
      },
      "effectiveDeadlineCycles": 141609375,
      "postReturn": {
        "settleCycles": 393360,
        "measuredCycles": 236016,
        "audio": {
          "frames": 7200,
          "seconds": 0.15,
          "channels": [
            {
              "mean": 0.000002359386371608707,
              "peak": 0.000002359386371608707,
              "rms": 0.0000023593863716086737,
              "acRms": 0
            },
            {
              "mean": 0.000003842869773507118,
              "peak": 0.000003842869773507118,
              "rms": 0.000003842869773507118,
              "acRms": 0
            }
          ]
        }
      }
    },
    {
      "name": "sentence-4-repeat-2",
      "status": "passed",
      "routine": "TTS_SPEAK",
      "input": "PLEASE TYPE A SENTENCE AND PRESS ENTER.",
      "expectedA": 0,
      "cycles": 5120326,
      "deadlineCycles": 141609375,
      "returned": true,
      "escapeInjectedAtCycle": null,
      "serial": "",
      "serialBytes": 0,
      "checks": [
        {
          "name": "returned-before-deadline",
          "ok": true,
          "detail": "5120326 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": 3.2542290367428004,
      "audio": {
        "frames": 156203,
        "seconds": 3.2542291666666667,
        "channels": [
          {
            "mean": 0.0000028028636593032296,
            "peak": 0.12115754187107086,
            "rms": 0.031133397999545707,
            "acRms": 0.031133397873378228
          },
          {
            "mean": 0.000004289000413204318,
            "peak": 0.12371816486120224,
            "rms": 0.031071973874327963,
            "acRms": 0.03107197357831322
          }
        ]
      },
      "registers": {
        "pc": 776,
        "a": 0,
        "x": 19,
        "y": 10,
        "sp": 246,
        "status": 35,
        "waiting": false
      },
      "effectiveDeadlineCycles": 141609375,
      "postReturn": {
        "settleCycles": 393360,
        "measuredCycles": 236016,
        "audio": {
          "frames": 7200,
          "seconds": 0.15,
          "channels": [
            {
              "mean": 0.00000316612135975447,
              "peak": 0.00000316612135975447,
              "rms": 0.0000031661213597544892,
              "acRms": 3.480934286106927e-13
            },
            {
              "mean": 0.000004714483111456502,
              "peak": 0.000004714483111456502,
              "rms": 0.000004714483111456501,
              "acRms": 0
            }
          ]
        }
      }
    },
    {
      "name": "lowercase",
      "status": "passed",
      "routine": "TTS_SPEAK",
      "input": "hello. this computer can talk.",
      "expectedA": 0,
      "cycles": 4323382,
      "deadlineCycles": 141609375,
      "returned": true,
      "escapeInjectedAtCycle": null,
      "serial": "",
      "serialBytes": 0,
      "checks": [
        {
          "name": "returned-before-deadline",
          "ok": true,
          "detail": "4323382 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.747730367428004,
      "audio": {
        "frames": 131891,
        "seconds": 2.747729166666667,
        "channels": [
          {
            "mean": 0.0000027445751569290554,
            "peak": 0.13964402675628662,
            "rms": 0.03113631430927095,
            "acRms": 0.031136314188307812
          },
          {
            "mean": 0.0000040163843852422385,
            "peak": 0.17248089611530304,
            "rms": 0.031192190842918008,
            "acRms": 0.031192190584338163
          }
        ]
      },
      "registers": {
        "pc": 776,
        "a": 0,
        "x": 10,
        "y": 10,
        "sp": 246,
        "status": 35,
        "waiting": false
      },
      "effectiveDeadlineCycles": 141609375,
      "postReturn": {
        "settleCycles": 393360,
        "measuredCycles": 236016,
        "audio": {
          "frames": 7200,
          "seconds": 0.15,
          "channels": [
            {
              "mean": 0.000003005657390531269,
              "peak": 0.000003005657390531269,
              "rms": 0.0000030056573905311177,
              "acRms": 0
            },
            {
              "mean": 0.000004275236278772354,
              "peak": 0.000004275236278772354,
              "rms": 0.000004275236278772354,
              "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": 17169976,
      "deadlineCycles": 141609375,
      "returned": true,
      "escapeInjectedAtCycle": null,
      "serial": "",
      "serialBytes": 0,
      "checks": [
        {
          "name": "returned-before-deadline",
          "ok": true,
          "detail": "17169976 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": 10.912397855014897,
      "audio": {
        "frames": 523795,
        "seconds": 10.912395833333333,
        "channels": [
          {
            "mean": 0.00003858645668602988,
            "peak": 0.14467214047908783,
            "rms": 0.031052717328199697,
            "acRms": 0.03105269335420736
          },
          {
            "mean": 0.000029446434296248096,
            "peak": 0.16780035197734833,
            "rms": 0.031069157310912653,
            "acRms": 0.031069143356676966
          }
        ]
      },
      "registers": {
        "pc": 776,
        "a": 0,
        "x": 0,
        "y": 10,
        "sp": 246,
        "status": 35,
        "waiting": false
      },
      "effectiveDeadlineCycles": 141609375,
      "postReturn": {
        "settleCycles": 393360,
        "measuredCycles": 236016,
        "audio": {
          "frames": 7200,
          "seconds": 0.15,
          "channels": [
            {
              "mean": 0.000004273583272151882,
              "peak": 0.000004273583272151882,
              "rms": 0.000004273583272152009,
              "acRms": 1.0419570787589327e-12
            },
            {
              "mean": 0.000005041598342359066,
              "peak": 0.000005041598342359066,
              "rms": 0.000005041598342359066,
              "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": 82826,
      "deadlineCycles": 141609375,
      "returned": true,
      "escapeInjectedAtCycle": 78671,
      "serial": "",
      "serialBytes": 0,
      "checks": [
        {
          "name": "returned-before-deadline",
          "ok": true,
          "detail": "82826 cycles"
        },
        {
          "name": "escape-injected-while-running",
          "ok": true,
          "detail": "Escape at cycle 78671"
        },
        {
          "name": "cancellation-deadline",
          "ok": true,
          "detail": "4155 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.052640158887785504,
      "audio": {
        "frames": 2527,
        "seconds": 0.052645833333333336,
        "channels": [
          {
            "mean": 0.004451500068037592,
            "peak": 0.08794461935758591,
            "rms": 0.03252349929937499,
            "acRms": 0.032217420036692986
          },
          {
            "mean": 0.0043842791556258035,
            "peak": 0.08526270091533661,
            "rms": 0.032217417738710535,
            "acRms": 0.03191770828295988
          }
        ]
      },
      "registers": {
        "pc": 776,
        "a": 1,
        "x": 15,
        "y": 10,
        "sp": 246,
        "status": 33,
        "waiting": false
      },
      "effectiveDeadlineCycles": 1652108,
      "cancellationCycles": 4155,
      "postReturn": {
        "settleCycles": 393360,
        "measuredCycles": 236016,
        "audio": {
          "frames": 7200,
          "seconds": 0.15,
          "channels": [
            {
              "mean": 0.000004157619059697026,
              "peak": 0.000004157619059697026,
              "rms": 0.000004157619059697289,
              "acRms": 1.4779288903810084e-12
            },
            {
              "mean": 0.000005152845005795825,
              "peak": 0.000005152845005795825,
              "rms": 0.000005152845005795707,
              "acRms": 0
            }
          ]
        }
      }
    },
    {
      "name": "after-cancellation",
      "status": "passed",
      "routine": "TTS_SPEAK",
      "input": "WE MAKE NEW SOFTWARE FOR OLD COMPUTERS.",
      "expectedA": 0,
      "cycles": 5231827,
      "deadlineCycles": 141609375,
      "returned": true,
      "escapeInjectedAtCycle": null,
      "serial": "",
      "serialBytes": 0,
      "checks": [
        {
          "name": "returned-before-deadline",
          "ok": true,
          "detail": "5231827 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": 3.325093624627607,
      "audio": {
        "frames": 159604,
        "seconds": 3.325083333333333,
        "channels": [
          {
            "mean": 0.000003341034768689515,
            "peak": 0.14645916223526,
            "rms": 0.03471627592577513,
            "acRms": 0.0347162757650074
          },
          {
            "mean": 0.000005388642775135795,
            "peak": 0.15752500295639038,
            "rms": 0.03478219267084691,
            "acRms": 0.03478219225342827
          }
        ]
      },
      "registers": {
        "pc": 776,
        "a": 0,
        "x": 18,
        "y": 10,
        "sp": 246,
        "status": 35,
        "waiting": false
      },
      "effectiveDeadlineCycles": 141609375,
      "postReturn": {
        "settleCycles": 393360,
        "measuredCycles": 236016,
        "audio": {
          "frames": 7200,
          "seconds": 0.15,
          "channels": [
            {
              "mean": 0.000003482378133412567,
              "peak": 0.000003482378133412567,
              "rms": 0.000003482378133412392,
              "acRms": 0
            },
            {
              "mean": 0.000005833781415276462,
              "peak": 0.000005833781415276462,
              "rms": 0.000005833781415276175,
              "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."
    }
  ]
}
