Goboy adalah nintendo GameBoy dan Gameboy Color Emulator yang ditulis dalam Go. Emulator dapat menjalankan sebagian besar game GB dan beberapa game CGB. Ada juga dukungan warna dan suara. Emulator ini terutama dibangun sebagai latihan pengembangan dan masih dalam proses. Silakan berkontribusi jika Anda tertarik dengan pengembangan emulator gameboy.


Program ini mencakup fungsi debugging sehingga berguna untuk memahami operasi emulator untuk membangunnya sendiri. Fungsi -fungsi ini termasuk pencetakan opcodes dan mendaftar nilai ke konsol pada setiap langkah (meskipun akan sangat memperlambat emulasi) dan beralih dari saluran suara individu.
Unduh rilis terbaru GoBoy dari halaman rilis.
Dengan GO Installed, Anda dapat menginstal GoBoy ke tempat sampah Anda dengan menjalankan:
go get github.com/Humpheh/goboy/cmd/goboyJika Anda pergi 1.11, Anda juga dapat melakukannya:
git clone https://github.com/Humpheh/goboy.git
cd goboy
go build -o goboy cmd/goboy/main.goGoboy kompatibel dengan macOS, Windows dan Linux. Membangun di Windows 10 membutuhkan MINGW dan di Linux, Anda harus menginstal GTK.
Goboy menggunakan Pixel Perpustakaan Go untuk mengikat kontrol dan rendering grafis, yang membutuhkan OpenGL. Anda mungkin perlu menginstal beberapa persyaratan yang dapat ditemukan di piksel readme.
goboy zelda.gbKontrol: ← ↑ ↓ → Z x Masukkan Backspace
Palet warna dapat bersepeda dengan = (dalam mode DMG), dan permainan dapat dibuat layar penuh dengan f .
Opsi lain:
-dmg
set to force dmg mode
-mute
mute sound outputOpsi debug atau eksperimental:
-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)Ada beberapa pintasan keyboard yang berguna untuk debugging:
Q - Force Soggle Background
W - Force Soggle Sprite
A - Cetak Data Palet Latar Belakang GB (CGB)
S - Data Palet Print Sprite (CGB)
D - Cetak peta latar belakang untuk log
E - Toggle Opcode Pencetakan ke Konsol (akan memperlambat eksekusi)
7,8,9,0 - Sakelar saluran suara 1 hingga 4.
Jika ROM yang dimuat mendukung baterai A <rom-name>.sav ( zelda.gb.sav . Loop dalam program akan memperbarui file simpan ini setiap detik saat game berjalan.
GoBoy saat ini lulus semua tes di cpu_instrs Blargg dan ROM Tes instr_timing .


ROM ini termasuk dalam kode sumber bersama dengan tes untuk memeriksa output adalah seperti yang diharapkan ( instructions_test.go dan timing_test.go ). Tes ini juga dijalankan pada setiap komit.
Silakan membuka permintaan tarik ke proyek ini atau bermain -main jika Anda tertarik! Masih ada banyak bug kecil yang dapat dengan mudah ditemukan melalui bermain game di emulator, atau mengambil tugas dari daftar TODO di bawah ini!




Berbagai macam sumber daya digunakan untuk memahami dan menguji perangkat keras Gameboy. Beberapa di antaranya termasuk: