Files
tms-c-compiler/symbols

ROM import tables

One file per ROM revision. Addresses are bit addresses and are not assumed stable across firmware revisions; v2.2 is the first target.

vt1200-v22.syms contains only the entries already proven by the hand-written payloads in vendor/vt1200/dwt/gui/xhello.asm and the README. M2 consumes only strlen: scripts/m2/gen-rom-imports.sh emits an ABI-preserving jauc stub for every entry, and the M2 harness calls _strlen at 0x3FB458D0. The other entries are recorded for later milestones and are not yet exercised by compiled C.

M3 owns the wider table: it extends the entries from the Ghidra project / ptr_constants.py, adds the Xlib call sequence, and validates each entry on MAME, then on the real unit. Do not assume an address here is validated just because it is listed.

The build resolves these as absolute symbols (or ABI-preserving stubs). Do not bake them into the compiler: keep them in a per-ROM linker script.