Z80 Workspace
授業で使う本物のアセンブラとボードシミュレータを、WebAssembly化したDOSBoxで動かすZ80アセンブリ用ブラウザIDE。
課題方向性連携
従来のやり方は、使えるようになるまでが大変で、使わないコマンドまで覚える必要がありました。
セットアップに時間がかかり、使わないコマンドも覚える必要がありました。そこで、書く・アセンブルする・実行するを1か所で行える場所を作りました。
公開サイトでのエンドツーエンド
すべて公開サイトでキャプチャしました。HALT までの実行は、付属のサンプルプログラムです。
- 01
アセンブル:エラーなし
実際の C16.EXE がコンソールで動作し、「End of Assembly -- No Errors」で終わります。
公開サイト
- 02
simulator に読み込む
Z80sim に「File load success at 2000h」と表示されます。HEX ファイルが simulator に入りました。
公開サイト
- 03
ソースからメモリまで、1画面で
ソース、コンソールの「No Errors」、2000h の機械語を並べて表示します。これはコンパイルから simulator までを示すもので、プログラムが動いている様子は示していません。
公開サイト
- 04
HALT まで実行
付属のサンプル lab1.asm を 8000h に読み込み、G 8000 で実行します。「Program halted」、PC 800B、48 マシンサイクルです。
公開サイト · サンプルプログラム
ブラウザで動く本物のツールチェーン
授業で使われる assembler と simulator を、WebAssembly にコンパイルした DOSBox で動かしています。
複数ファイルのワークスペースをブラウザ内に保持し、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