6年前のソースコードだったので、まずは再利用性の高いJavaScriptにするため、ESモジュール化。1命令をディスアセンブル(マシン語のバイナリからアセンブリ言語に変換すること)する関数を足し、z80disasmという外から使える関数を実装できたので、目的は達成!
下記のように書くことで、Z80のバイナリをアセンブリ言語のニーモニックにできます。
「A JavaScript based Z80 Disassembler and Simulator」 src on GitHub
「z80js」は、Wikimedia Commonsの図「Z80アーキテクチャ」をベース、コンピューターの動きが分かりやすく表示してくれるシミュレーターにもなっていたので、ESモジュール対応でも動くようにしてみました。OUT命令で出力される値が見えるのも良い感じです!
「code4fukui/z80js: z80js - A Javascript based Z80 Disassembler and Simulator」
シミュレーターとしては未完成ですが、実行部分は「Z80.js」を使ってちゃんとしたシミュレーターにするのも良さそうです。
オープンソースで遊ぼう、学ぼう、コンピューター!