先月、Go 1.11がリリースされ、WebAssemblyが実験的にサポートされるようになった。
開発中のエミュレータもGoで書かれているということで、せっかくなので、
WebAssemblyに移植した。
単純にGoをWebAssemblyにコンパイルすると標準出力としてブラウザのコンソールが使われるが、
divタグの中に出力したかったので、syscall/js
パッケージでDOMを操作した。
その他の部分は特に変更の必要がなかった。
https://bobuhiro11.net/tiny_x86_emu/に公開している。
まだ開発途中という状態で、ユーザプロセス実行に関する開発が滞っているので、そろそろ手をつけていきたい。