Teethawat
DEV TOOL · BROWSER IDE · 2026Dev toolsCOMPLETED

Z80 Workspace

A browser IDE for Z80 assembly that runs the course’s real assembler and board simulator through DOSBox compiled to WebAssembly.

ProblemDirectionIntegration
Built
9 days · 2026-07-22 → 07-30
Commits
59 of 64 · 5 releases
Stack
Monaco · DOSBox → WASM · C16.EXE
Workspace: lab1.asm, the C16 console and Z80sim memory at 2000h
Source, assembly output and simulator memory in one workspace. Live site
Friction

The original workflow was cumbersome.

The old setup took a lot before it worked, and I had to remember commands I didn’t need. So I built one place to write, assemble and run.

End to end, on the live site

Captured on the live site. The run to HALT is the built-in sample program.

  1. 01

    Assemble: no errors

    The real C16.EXE runs in the console and ends with “End of Assembly -- No Errors”.

    Live site
    Console: End of Assembly -- No Errors
  2. 02

    Load into the simulator

    Z80sim reports “File load success at 2000h”: the HEX file is in the simulator.

    Live site
    Z80sim: File load success at 2000h
  3. 03

    Source to memory, in one screen

    The source, the console’s “No Errors” and the machine code at 2000h, side by side. This shows compile → simulator; it does not show the program running.

    Live site
    Workspace: lab1.asm, the C16 console and Z80sim memory at 2000h
  4. 04

    Run to HALT

    The built-in sample lab1.asm, loaded at 8000h and run with G 8000: “Program halted”, PC 800B, 48 machine cycles.

    Live site · sample program
    Z80sim: Program halted, PC 800B

The real toolchain, in the browser

The course’s own assembler and simulator run in DOSBox compiled to WebAssembly.

FIG. 01Toolchain
loads on its own Monaco editor.ASMC16.EXEDOSBOX → WASMIntel HEX+ LISTINGZ80simET-BOARD SIMULATOR

A multi-file workspace kept in the browser; assemble to Intel HEX and a listing; compiled files load into Z80sim on their own; each file shows its build state in one of 3 colors; TH / EN with an interface tour.

An Electron desktop build too, which I actually used.

RELDesktop downloadsGitHub Releases · v0.1.4

Who did what

Me
Noticed the problem, set the direction, integrated the real tools into one workspace, decided what counted as done.
AI
Most of the implementation, heavily AI-assisted, under my steering.
Upstream
C16.EXE and the Z80 ET-Board simulator (the course’s tools), DOSBox, the Monaco editor.
Outcome

Complete: it does what I wanted it to do. Used by me and a few others; the course needed this workflow for only 2 labs.

Current state

The web version is online on GitHub Pages.

Usage notes · GoatCounter
GoatCounter pages panel: 69 visits, /z80-workspace 54, assemble-toolbar 8, download-export-lst 3, assemble-console-command 3
69 visits, 11 assembles (8 from the toolbar, 3 from the console), 20 Jul – 26 Sep 2026. The counts may include my own testing. GoatCounter