Skip to main content
Back to articles
2026 / 01
| 2 min read

CC-40 Completion and IVR Launch

Shipping the TI CC-40 backend with authentic CALL commands and audio, plus a full IVR phone tree system.

emulator cc-40 ivr audio testing

The CC-40 had been running BASIC for weeks and still felt generic, because it was missing the CALL surface that CC-40 programs actually use.

The original machine puts its hardware behaviour behind CALL commands that other BASICs don’t have, so anything written for the real device breaks or misbehaves without them (TI’s quick reference card lists the full set):

  • CALL KEY(0, K, S) is non-blocking keyboard polling; games depend on it.
  • CALL CHAR(128, "FF818181818181FF") defines custom LCD characters (codes 128–135).
  • CALL SOUND(500, 440, 5) drives the piezo speaker with duration, frequency, and volume.

The backend now handles those calls, the LCD output, and the break/continue behaviour that reports the exact line number when you interrupt a running program. Dialling 555-0040 drops you into CC-40 BASIC with the same shape and cadence as the original.

The other system that reached “done enough” was the IVR layer, where the whole effect is timing. The line handler rings once, auto-answers after the first cadence, plays a random variation (001010) for the target company, then disconnects about 12 seconds later so the call doesn’t hang forever.

Ten IVR numbers. The “classified” line isn’t listed in the directory, and wrong numbers have a 20% chance of landing in an IVR instead of a person or a busy signal.

  • SpaWorld — 555-7727
  • Quick Fix Auto — 555-2886
  • FreshMart — 555-3637
  • DataCorp Industries — 555-3282
  • Tony’s Pizza Palace — 555-7499
  • Premier Properties — 555-7367
  • Valley Medical Centre — 555-8253
  • CompuHelp Technical Services — 555-4357
  • First Community Bank — 555-2265
  • Classified Access — 555-2532 (not in the directory)

On the testing side, I stabilized the Jest mocks for WASM and worker imports so that a failure means behaviour rather than infrastructure. Fifteen failing suites are down to three, all genuine behavioural issues.

Next up: a broader identity and SEO polish pass.

Previous: 2026-01-29