Goboyは、Goで書かれたマルチプラットフォームの任天堂GameboyとGameboyカラーエミュレーターです。エミュレータは、GBゲームの大部分と一部のCGBゲームを実行できます。色と健全なサポートもあります。このエミュレータは主に開発演習として構築されており、まだ進行中です。 GameBoy Emulatorの開発に興味がある場合は、お気軽に貢献してください。


このプログラムには、デバッグ機能が含まれており、自分で構築するエミュレータ操作を理解するのに役立ちます。これらの関数には、各ステップでコンソールへのオペコードとレジスタ値の印刷(エミュレーションが大幅に遅くなります)と個々のサウンドチャネルの切り替えが含まれます。
リリースページからGoBoyの最新リリースをダウンロードしてください。
Goインストールを使用すると、GoBoyを実行してGo Binにインストールできます。
go get github.com/Humpheh/goboy/cmd/goboy1.11に行った場合は、次のこともできます。
git clone https://github.com/Humpheh/goboy.git
cd goboy
go build -o goboy cmd/goboy/main.goGoboyは、MacOS、Windows、Linuxと互換性があります。 Windows 10に構築するにはMINGWが必要であり、LinuxにはGTKをインストールする必要があります。
Goboyは、OpenGLを必要とするコントロールバインディングおよびグラフィックスレンディングにGOライブラリピクセルを使用します。 Pixels ReadMeにある要件をインストールする必要がある場合があります。
goboy zelda.gbコントロール: ← ↑ ↓ → z xバックスペースを入力します
カラーパレットは= (dmgモード)で循環することができ、ゲームはfでフルスクリーンにすることができます。
その他のオプション:
-dmg
set to force dmg mode
-mute
mute sound outputデバッグまたは実験オプション:
-cpuprofile string
write cpu profile to file (debugging)
-disableVsync
set to disable vsync (debugging)
-stepthrough
step through opcodes (debugging)
-unlocked
if to unlock the cpu speed (debugging)デバッグに役立つキーボードショートカットがいくつかあります。
Q-フォーストグルの背景
W-フォーストグルスプライト
A-印刷GBバックグラウンドパレットデータ(CGB)
S-プリントスプライトパレットデータ(CGB)
D-ログに背景マップを印刷します
E -OpCode印刷をコンソールに切り替えます(実行が遅くなります)
7,8,9,0-サウンドチャネル1〜4のトグル。
ロードされたROMがバッテリーA <rom-name>.sav ( zelda.gb.sav )ファイルがカートリッジからRAMのダンプを含むロードされたROMの隣に作成されます。プログラムのループは、ゲームの実行中にこの保存ファイルを毎秒更新します。
Goboyは現在、Blarggのcpu_instrsおよびinstr_timingテストROMのすべてのテストに合格しています。


これらのROMは、出力が予想どおりであることを確認するためのテストとともにソースコードに含まれています( instructions_test.goおよびtiming_test.go )。これらのテストは、各コミットでも実行されます。
興味があれば、このプロジェクトへのリクエストを自由に開いたり、遊んでください!エミュレータでゲームをプレイすることで簡単に見つけることができる、または以下のTODOリストからタスクを取ることができる小さなバグがまだたくさんあります!




GameBoyハードウェアを理解してテストするために、多種多様なリソースが使用されました。これらのいくつかは次のとおりです。