ティータワット
DEV TOOL · BROWSER IDE · 2026開発ツールCOMPLETED

Z80 Workspace

授業で使う本物のアセンブラとボードシミュレータを、WebAssembly化したDOSBoxで動かすZ80アセンブリ用ブラウザIDE。

課題方向性連携
制作
9日間 · 2026-07-22 → 07-30
コミット
64中59 · 5リリース
技術
Monaco · DOSBox → WASM · C16.EXE
Workspace:lab1.asm、C16 のコンソール、2000h の Z80sim メモリ
ソース、アセンブル結果、シミュレータのメモリを1つのワークスペースで表示。 公開サイト
不便な点

従来のやり方は、使えるようになるまでが大変で、使わないコマンドまで覚える必要がありました。

セットアップに時間がかかり、使わないコマンドも覚える必要がありました。そこで、書く・アセンブルする・実行するを1か所で行える場所を作りました。

公開サイトでのエンドツーエンド

すべて公開サイトでキャプチャしました。HALT までの実行は、付属のサンプルプログラムです。

  1. 01

    アセンブル:エラーなし

    実際の C16.EXE がコンソールで動作し、「End of Assembly -- No Errors」で終わります。

    公開サイト
    コンソール:End of Assembly -- No Errors
  2. 02

    simulator に読み込む

    Z80sim に「File load success at 2000h」と表示されます。HEX ファイルが simulator に入りました。

    公開サイト
    Z80sim:File load success at 2000h
  3. 03

    ソースからメモリまで、1画面で

    ソース、コンソールの「No Errors」、2000h の機械語を並べて表示します。これはコンパイルから simulator までを示すもので、プログラムが動いている様子は示していません。

    公開サイト
    Workspace:lab1.asm、C16 のコンソール、2000h の Z80sim メモリ
  4. 04

    HALT まで実行

    付属のサンプル lab1.asm を 8000h に読み込み、G 8000 で実行します。「Program halted」、PC 800B、48 マシンサイクルです。

    公開サイト · サンプルプログラム
    Z80sim:Program halted、PC 800B

ブラウザで動く本物のツールチェーン

授業で使われる assembler と simulator を、WebAssembly にコンパイルした DOSBox で動かしています。

FIG. 01ツールチェーン
自動で読み込み Monaco editor.ASMC16.EXEDOSBOX → WASMIntel HEX+ LISTINGZ80simET-BOARD SIMULATOR

複数ファイルのワークスペースをブラウザ内に保持し、Intel HEX とリスティングに組み立てます。コンパイル済みのファイルは自動的に Z80sim に読み込まれ、各ファイルのビルド状態は3色のいずれかで表示されます。TH / EN の切り替えと、UI のツアーがあります。

デスクトップ版として Electron ビルドも用意しており、私自身も使っています。

RELDesktop downloadsGitHub Releases · v0.1.4

誰が何をしたか

自分
課題に気づき、方向性を決め、本物のツールを1つのワークスペースにまとめ、完成の基準を決めました。
AI
実装の大部分は AI が行い、私が方向付けしました。
アップストリーム
C16.EXE と Z80 ET-Board simulator(授業のツール)、DOSBox、Monaco editor。
結果

完成しています。意図した通りに動作します。私と数名が使っており、授業ではこのワークフローが2つのラボでのみ必要でした。

現在の状況

Web 版は GitHub Pages で公開されています。

利用メモ · GoatCounter
GoatCounter のページパネル:69 visits、/z80-workspace 54、assemble-toolbar 8、download-export-lst 3、assemble-console-command 3
69 visits、アセンブル11回(ツールバーから8回、コンソールから3回)、2026年7月20日〜9月26日。私自身のテストも含まれている可能性があります。 GoatCounter