11 ポイント 投稿者 GN⁺ 2025-03-22 | 1件のコメント | WhatsAppで共有
  • 正確なCPU/オーディオエミュレーションによる、cycle-accurateなGame Boyエミュレーター
  • wasm-packを使用してRustコードをWebAssemblyに変換 → Webで実行可能
  • Web Audio APIHTML Canvas を使用してオーディオとグラフィックスを処理
  • ローカルストレージ を使用 → バッテリー対応MBCカートリッジのRAMデータを保持可能

主な特徴

  • 正確なCPUエミュレーションJSON CPUテスト に合格
  • 正確なオーディオエミュレーション
  • グラフィックスエミュレーション → スキャンラインベースのレンダラーを使用
  • MBC1、MBC3、MBC5、HuC1をサポート → 多様なカートリッジと互換
  • RTC(Real Time Clock)対応 → MBC3カートリッジで時間ベースのゲームが動作可能
  • GameSharkおよびGameGenieのチートコードに対応
  • バッテリーバックアップカートリッジはローカルストレージにRAMデータを保存可能
  • Webフロントエンド
    • React/TypeScript + Material UI
    • フルスクリーンモード対応
    • ゲームの一時停止と再開
    • モノクロおよびカラーモードを選択可能
    • カスタムキー割り当てに対応
    • チートコードの有効化と管理が可能
    • モバイルフレンドリーなレスポンシブデザイン

1件のコメント

 
GN⁺ 2025-03-22
Hacker News の意見
  • このプロジェクトは本当に素晴らしい。オーディオエミュレーションにはいくつか問題があるが、Game Boy エミュレーションについて久しぶりに考えるきっかけになった。Rust と WASM は、これまでデスクトップ環境に制限されていたアプリケーションを見せるうえで大きな役割を果たしている

    • wasm-bindgen を使って、同じような方法で NES エミュレータを実装した
    • ホームブリュー作品を作ってリンクを共有すれば、ブラウザですぐに動くのは本当にクール
  • 最近 Aliexpress で 50 ポンドのレトロゲーム携帯機を購入した。Game Boy から SNES、PlayStation 1 まで遊べて、N64 や Dreamcast も多少は動く

    • さまざまな選択肢があり、品質は期待ほどではないかもしれないが、旅行中に Steam Deck を買えない状況ではとても満足している
    • さまざまなカスタムファームウェアやアプリをインストールできる
    • USB-C 充電の問題には注意したほうがよく、小型で出力の弱い充電器を買うことを勧める
  • Game Boy 開発に興味がある人向けのリンクと参考資料一覧

    • Gameboy Dev: リンク
    • PanDocs(技術リファレンス): リンク
    • Gameboy 技術リファレンス文書(gekkio): リンク
    • Game Boy Development Kit 2020(GBDK-2020)リブート: リンク
    • GBDK-2020 Github: リンク
    • GBDK-2020 サンプル: リンク
    • GBDK ショーケース(ホームブリューソフトウェア): リンク
    • Homebrew Hub: リンク
    • Neil Young のアルバム『Silver & Gold』の、Game Boy Camera で作成されたカバー画像: リンク
  • GB/GBC/GBA は、VT102 がグリッドセルソフトウェアにおける存在であるのと同じようなものだ。デモシーンは発展を続けており、チップチューンは今でもこのハードウェアを愛している

    • GBA 向けにソフトウェアを書くのは、小型の現代的な ARM マイクロコントローラをターゲットにするのと似ている
    • さまざまなエミュレータがあり、それぞれ異なる側面に重点を置いている
    • 完全なエミュレーション、パフォーマンス最適化、メモリ検査、チートコードの提供など、さまざまな機能がある
  • エミュレータの作者として、この小さな趣味プロジェクトがこれほど注目を集めていることに驚いている。応援に感謝している

  • 7歳のとき、父の Windows 95 ノートPCで Kirby と Final Fantasy Adventure を遊ぶために、no$gbemulator の解凍方法を覚えたのを思い出した

  • Rust で書かれた Game Boy エミュレータをもっと多く見られるのは本当にうれしい。特にブラウザ対応のあるプロジェクトがいい

    • afterplay.io というブラウザベースのレトロゲームプラットフォームを開発している
    • さまざまなシステムをサポートしており、完全にブラウザ内で動作し、セーブステート、クラウド同期、Capacitor によるモバイル対応を提供している
    • ネットプレイ、リンクケーブル対応、RTC 操作、カスタマイズ可能なタッチ操作など、面白い機能もある
  • Web ページを Android アプリとして追加できるサイトを初めて見つけた。これは何と呼ばれるもので、Web アプリケーションをインストール可能なアプリにする方法を知りたい

  • Rust で似たような GB エミュレータを開発した

  • 友人が 10 年前にやっていた似たようなプロジェクトを思い出した: リンク