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.