Skip to content

About

Companion VS Code extension for trszog: assemble with zmac, pick a TRS-80 target, configure the Rev Z machine (trs80revz.json)

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

4 Commits

Folders and files

Repository files navigation

TRS-80 — VS Code companion extension

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.

Targets

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):

  1. trs80gp — George Phillips' emulator (Model I/III/4)
  2. trs80sim — Model I — Lawrence Kesteloot's emulator, in-process, fast
  3. trs80sim — Model III
  4. rev-z — Verilator — the cycle-true m1_core RTL, headless emulator
  5. rev-z — FPGA — the same RTL on the ULX3S, via serial dongle
  6. Model 1 — real hardware — a physical TRS-80 behind the debug dongle

Assemblers

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.

Machine configuration: trs80revz.json

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.

Settings (excerpt)

  • trs80.zmac.path, trs80.zmac.args
  • trs80.sourceExtensions — default .asm .z .z80 .s
  • trs80.build.command
  • trs80.trs80gp.path
  • trs80.revz.emulatorPath, trs80.revz.debugTcp, trs80.revz.bridge, trs80.revz.python
  • trs80.dongle.serial, trs80.dongle.baud
  • trs80.topOfStack

Install

Not on the Marketplace — side-loaded like trszog:

code --install-extension trs80.vsix

The trs80-dev images bake it in.

About

Companion VS Code extension for trszog: assemble with zmac, pick a TRS-80 target, configure the Rev Z machine (trs80revz.json)

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages