はじめに 自作のRuby製ゲームボーイエミュレータ(Ruby Boy)を、WebAssemblyを使ってブラウザ上で動くようにしました! リポジトリはこちら Ruby Boyの紹介記事はこちら この記事 どのようにしてRuby Boyをブラウザ上で動かしているかを説明します。 Rubyプログラムをブラウザ上で動かしたい人も参考になると思います。 システムの概要 Ruby製ファミコンエミュレータのOptcarrotをWasmで動かしているoptcarrot.wasmの実装を参考にしています。 +----------------+ DOM Events +----------------+ | index.html | (Keyboard & ROM) | index.js | | (Browser) |--------------------------->| (Main Thread) |