- 正確なCPU/オーディオエミュレーションによる、cycle-accurateなGame Boyエミュレーター
- wasm-packを使用してRustコードをWebAssemblyに変換 → Webで実行可能
- Web Audio API と HTML Canvas を使用してオーディオとグラフィックスを処理
- ローカルストレージ を使用 → バッテリー対応MBCカートリッジのRAMデータを保持可能
主な特徴
- 正確なCPUエミュレーション → JSON CPUテスト に合格
- 正確なオーディオエミュレーション
- グラフィックスエミュレーション → スキャンラインベースのレンダラーを使用
- MBC1、MBC3、MBC5、HuC1をサポート → 多様なカートリッジと互換
- RTC(Real Time Clock)対応 → MBC3カートリッジで時間ベースのゲームが動作可能
- GameSharkおよびGameGenieのチートコードに対応
- バッテリーバックアップカートリッジはローカルストレージにRAMデータを保存可能
- Webフロントエンド
- React/TypeScript + Material UI
- フルスクリーンモード対応
- ゲームの一時停止と再開
- モノクロおよびカラーモードを選択可能
- カスタムキー割り当てに対応
- チートコードの有効化と管理が可能
- モバイルフレンドリーなレスポンシブデザイン
1件のコメント
Hacker News の意見
このプロジェクトは本当に素晴らしい。オーディオエミュレーションにはいくつか問題があるが、Game Boy エミュレーションについて久しぶりに考えるきっかけになった。Rust と WASM は、これまでデスクトップ環境に制限されていたアプリケーションを見せるうえで大きな役割を果たしている
wasm-bindgenを使って、同じような方法で NES エミュレータを実装した最近 Aliexpress で 50 ポンドのレトロゲーム携帯機を購入した。Game Boy から SNES、PlayStation 1 まで遊べて、N64 や Dreamcast も多少は動く
Game Boy 開発に興味がある人向けのリンクと参考資料一覧
GB/GBC/GBA は、VT102 がグリッドセルソフトウェアにおける存在であるのと同じようなものだ。デモシーンは発展を続けており、チップチューンは今でもこのハードウェアを愛している
エミュレータの作者として、この小さな趣味プロジェクトがこれほど注目を集めていることに驚いている。応援に感謝している
7歳のとき、父の Windows 95 ノートPCで Kirby と Final Fantasy Adventure を遊ぶために、
no$gbemulatorの解凍方法を覚えたのを思い出したRust で書かれた Game Boy エミュレータをもっと多く見られるのは本当にうれしい。特にブラウザ対応のあるプロジェクトがいい
Web ページを Android アプリとして追加できるサイトを初めて見つけた。これは何と呼ばれるもので、Web アプリケーションをインストール可能なアプリにする方法を知りたい
Rust で似たような GB エミュレータを開発した
友人が 10 年前にやっていた似たようなプロジェクトを思い出した: リンク