Goboy เป็น Nintendo GameBoy และ GameBoy Color Emulator ที่เขียนขึ้นหลายแพลตฟอร์ม Emulator สามารถเรียกใช้เกม GB ส่วนใหญ่และเกม CGB บางเกม นอกจากนี้ยังมีการรองรับสีและเสียง ตัวจำลองนี้ถูกสร้างขึ้นเป็นแบบฝึกหัดการพัฒนาเป็นหลักและยังคงทำงานอยู่ โปรดอย่าลังเลที่จะมีส่วนร่วมหากคุณสนใจในการพัฒนา Gameboy Emulator


โปรแกรมรวมถึงฟังก์ชั่นการดีบักทำให้เป็นประโยชน์สำหรับการทำความเข้าใจการดำเนินการจำลองสำหรับการสร้างตัวคุณเอง ฟังก์ชั่นเหล่านี้รวมถึงการพิมพ์ opcodes และค่าลงทะเบียนไปยังคอนโซลในแต่ละขั้นตอน (แม้ว่าจะชะลอการจำลองอย่างมาก) และสลับช่องสัญญาณเสียงแต่ละช่อง
ดาวน์โหลดรุ่นล่าสุดของ Goboy จากหน้าเผยแพร่
ด้วยการติดตั้ง Go คุณสามารถติดตั้ง Goboy ลงใน Bin Bin ของคุณโดยใช้งาน:
go get github.com/Humpheh/goboy/cmd/goboyหากคุณมี 1.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 ใช้พิกเซลห้องสมุด Go สำหรับการควบคุมการเชื่อมโยงและการแสดงผลกราฟิกซึ่งต้องใช้ OpenGL คุณอาจต้องติดตั้งข้อกำหนดบางประการซึ่งสามารถพบได้ในพิกเซล ReadMe
goboy zelda.gbการควบคุม: ← ↑ ↓ → Z x เข้าสู่ backspace
จานสีสามารถขี่จักรยานด้วย = (ในโหมด 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)มีแป้นพิมพ์ลัดสองสามอันที่มีประโยชน์สำหรับการดีบัก:
ถาม - บังคับพื้นหลัง
W - บังคับสลับสไปรต์
A - Print GB Background Palette Data (CGB)
S - Print Sprite Palette Data (CGB)
D - พิมพ์แผนที่พื้นหลังเพื่อบันทึก
E - สลับการพิมพ์ opcode ไปยังคอนโซล (จะช้าลงการดำเนินการ)
7,8,9,0 - ช่องเสียงสลับ 1 ถึง 4
หาก ROM ที่โหลดรองรับแบตเตอรี่ A <rom-name>.sav (เช่น zelda.gb.sav ) ไฟล์จะถูกสร้างขึ้นถัดจาก ROM ที่โหลดซึ่งมีการถ่ายโอนข้อมูล RAM จากตลับหมึก ลูปในโปรแกรมจะอัปเดตไฟล์บันทึกนี้ทุกวินาทีในขณะที่เกมกำลังทำงานอยู่
ปัจจุบัน Goboy ผ่านการทดสอบทั้งหมดใน cpu_instrs ของ Blargg และ ROM Test instr_timing


ROM เหล่านี้รวมอยู่ในซอร์สโค้ดพร้อมกับการทดสอบเพื่อตรวจสอบผลลัพธ์ตามที่คาดไว้ ( instructions_test.go และ timing_test.go ) การทดสอบเหล่านี้ยังดำเนินการในแต่ละการกระทำ
โปรดอย่าลังเลที่จะเปิดคำขอดึงไปยังโครงการนี้หรือเล่นถ้าคุณสนใจ! ยังมีข้อบกพร่องเล็ก ๆ มากมายที่สามารถพบได้อย่างง่ายดายผ่านการเล่นเกมบนตัวจำลองหรือรับงานจากรายการสิ่งที่ต้องทำด้านล่าง!




มีการใช้ทรัพยากรที่หลากหลายจำนวนมากเพื่อทำความเข้าใจและทดสอบฮาร์ดแวร์ GameBoy บางส่วนของสิ่งเหล่านี้รวมถึง: