TMS34010 SDK (curated subset)
Source: https://github.com/tms34010guy/tms34010-sdk — a cleaned-up mirror of TI's TMS34010 development material that was previously scattered across bitsavers.
Cloned here because the project's goal is to run custom, self-compiled
TMS34010 code on a real VT1200, and this repo already had a disassembler
(tools/smart34010) and a Ghidra processor module (tools/ghidra-tms34010) but
no assembler, linker or compiler.
What is committed
The two tool packages — the only parts with durable technical value:
1987-05 TMS34010 SDK/
1985-05-20 ... Assembly Language Package (1 of 4) ASM-LNK-ARCH ....img
1985-05-20 ... Assembly Language Package (2 of 4) GSPSIM-COMP ......img
1985-05-20 ... Assembly Language Package (3 of 4) GSPSIM-TIPC ......img
1985-05-20 ... Assembly Language Package (4 of 4) ROM-DEMO ........img
1987-11-06 TMS34010 Simulator-C Tools-ASM Tools ...................img
... plus sample/graphics libraries
1990-11 TMS340 Family SDK/
1990-11-19 ... Code Generation Tools (1 of 2) r5.01 ...........zip
1990-11-19 ... Code Generation Tools (2 of 2) r5.01 ...........zip
1990-11-19 ... C Source Debugger r5.00 ........................zip
1990-11-19 ... Graphics Library (1..3 of 3) r2.01 .............zip
1990-11-19 ... TIGA SDK r2.01 .................................zip
It works, and the round trip is byte-exact
The 1987 toolchain runs headless in DOSBox: GSPA 2.00 (assembler), GSPLNK 2.00 (linker), GSPROM 2.01, and the K&R C compiler.
There is no as34/lnk34 — the assembler is GSPA. (smart34010's README
names as34; that appears to be a later name or another part, not this SDK.)
The round trip is proven against this exact firmware: 32 KB at bit
0x3F208000 reassembles byte-for-byte identical (region md5
43adb6669571041985f3e26fd9ff7cb9), plus a 16 KB and two 4 KB regions. Five
fixups are needed on the disassembly first: 0x→h suffix, MOVI W/L forms,
the B-file SP, long relative JR misprinted as JA by dis34, and raw
.word for branches landing on non-instruction boundaries. Detail:
reference/tms34010-sdk.md.
The linker's origin is a bit address, and its COFF output carries the full 32-bit address — which is what makes this usable for placing our code at a VT1200 bit address, not merely for verifying the firmware.
The 1990 r5.01 tools are OS/2 1.x NE binaries and do not run in DOS, so that half of the package is unusable here. The TIGA kit, debugger/monitor and video-DAC material are equally irrelevant.
Speed: prefer dosemu
Benchmarked on the same workload, timestamp-normalised output identical:
DOSBox ≈1.99–2.23 s vs dosemu ≈0.35–0.43 s — 5.2–5.7× faster. dosemu needs a
private drive and a batch file (exitemu); DOSBox remains the known-good
fallback, and DOSBOX.md documents its verified headless invocation.
Traps worth knowing
dis34misreported two encodings — long relative branches asJAand the B-fileSPas plainsp. Both fixed (af7d3565a502):0x00+ a 16-bit displacement isJRcc(2 words), only0x80+ a 32-bit address isJAcc(3 words), and register field0x1Fisb15. The round-trip fixup list dropped from 5 to 3 as a result. For scale: the correction changes 2623 ROM lines forsp→b15and 6235 forJA→JR, so disassembly read before that date may have misreported those branches. The proof is reproducible — the harness is committed atharness/sdk-roundtrip/.gsprom's hex addresses wrap at 64 KB — use the COFF file or the map for placement.- GSPA's
MOVIauto-shortening can silently change sign extension.
What is NOT committed
Docs/, Patents/ and 1991-07 TIGA Promo Kit and Art Software/ — about
243 MB of scanned manuals, patents and promotional material. They are
re-obtainable from the upstream repo above, and they would triple the size of
this repository for no build-time benefit.
docs/TMS34010-users-guide.pdf / .txt were already in this project and cover
the instruction set, so prefer those over the SDK's scans for programming
reference.
Licence
TI material of this vintage, mirrored by a third party. It is vendored here as reference/tooling for interoperability work on hardware the project owner possesses. The upstream repository is the authority on provenance.