Thin orchestration around trszog (the DeZog fork with TRS-80 remotes),
so trszog itself stays lean and upstreamable. Four commands
(Cmd/Ctrl-Shift-P):
| Command | What it does |
|---|---|
| TRS-80: Assemble | Assemble the current (or picked) source with the configured assembler — zmac for now → zout/<name>.cmd + .bds |
| TRS-80: Assemble and Run | Assemble, regenerate the launch config for that file, start the debug session |
| TRS-80: Build | Run trs80.build.command (e.g. make); falls back to Assemble when unset |
| TRS-80: DeZog Target | Pick the machine, verify it is reachable, (re)generate .vscode/launch.json — the previous one is kept as launch.json.bak |
A status-bar item (TRS-80: <target>) shows the active target and opens the
picker on click.
All six are always offered; availability is verified after the choice (missing pieces produce a warning with a fix hint — e.g. a one-click TRS-80: Start Machine for the Verilator target):
- trs80gp — George Phillips' emulator (Model I/III/4)
- trs80sim — Model I — Lawrence Kesteloot's emulator, in-process, fast
- trs80sim — Model III
- rev-z — Verilator — the cycle-true
m1_coreRTL, headless emulator - rev-z — FPGA — the same RTL on the ULX3S, via serial dongle
- Model 1 — real hardware — a physical TRS-80 behind the debug dongle
trs80.assembler currently supports zmac (arguments configurable,
default --oo cmd,bds,lst). Planned: z88dk, sjasmplus (both will
need a /CMD production step) and Z80Asm (Matthew Reed — assembles
straight to /CMD for Models I, III and 4). Later: reverse-engineering
conveniences on top.
The rev-z machine's feature switches live in trs80revz.json (JSON with
comments) in the workspace root — the same file the TRS-80: Start Machine
script reads: memory configuration (16k keyboard-only / 32k / 48k),
Percom doubler, disks + write protect, cassette, sound, throttle, and the
debug dongle. "debugDongle": { "enabled": false } starts the machine
without a debug link — the rev-z targets then refuse to start with an
explanatory error. TRS-80: Rev-Z Machine Config opens (or creates) the
file. The configured dongle port flows into generated launch configs.
trs80.zmac.path,trs80.zmac.argstrs80.sourceExtensions— default.asm .z .z80 .strs80.build.commandtrs80.trs80gp.pathtrs80.revz.emulatorPath,trs80.revz.debugTcp,trs80.revz.bridge,trs80.revz.pythontrs80.dongle.serial,trs80.dongle.baudtrs80.topOfStack
Not on the Marketplace — side-loaded like trszog:
code --install-extension trs80.vsixThe trs80-dev images bake it in.