一個可以在多平臺執行的任天堂GameBoy模擬器

程式猿DD發表於2021-02-05

今天為大家帶來一個很有趣的遊戲模擬器GoBoy

GoBoy

GoBoy是一個可以在多平臺執行的任天堂GameBoy和GameBoy Color的模擬器,目前這個模擬器可以執行大多數的GameBoy遊戲和一部分GameBoy Color的遊戲。同時還有聲音和顏色的支援,是不是很多80後小時候偷偷玩GameBoy的回憶湧上心頭了?

這個模擬器是作者當初作為一個開發練習用的專案,目前仍然在不斷更新中。

模擬器包含了除錯函式,便於使用者理解該如何使用操作這個模擬器,方便自己個性化的寫一個類似的模擬器出來。

這些除錯函式會將每一步的操作碼及數值打到控制檯顯示,不過這個可是會降低模擬器速度的喲。

是不是很心動?趕緊來看下具體怎麼弄!

如何安裝

想知道怎麼用嗎?首先我們要去github上下載一個最新版本的GoBoy,地址如下:

https://github.com/Humpheh/goboy/releases/tag/v0.5

安裝go後,可以通過執行以下命令將GoBoy安裝到自己的go bin中:

go get github.com/Humpheh/goboy/cmd/goboy

如果你有1.11.版本的Go,你也可以這麼做

git clone https://github.com/Humpheh/goboy.git
cd goboy
go build -o goboy cmd/goboy/main.go

GoBoy可以在MacOS、windows、linux多個平臺上執行,不過需要注意的是在win10上執行需要安裝MinGW ,在Linux上安裝則需要安裝gtk。

GoBoy使用go的庫畫素進行控制元件的繫結和圖形渲染,所以需要安裝OpenGL。

用法

goboy zelda.gb

控制鍵有: ← ↑ ↓ → Z X Enter 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)

除錯

有一些很有用的鍵盤快捷鍵用於除錯:

Q-強制切換背景

W-強制切換精靈

A-列印gb背景調色盤資料(cgb)

S-列印精靈調色盤資料(cgb)

D-列印背景地圖到日誌

E-切換操作碼列印到控制檯(將減慢執行速度)

7,8,9,0-切換聲道1到4。

本文首發一個可以在多平臺執行的任天堂GameBoy的模擬器,轉載清著名出處。

儲存

如果載入的遊戲rom是支援電池儲存的,則記住要用<rom name>.sav(例如:塞爾達.gb.sav)檔案,和載入的rom放在一起儲存,其中會包含盒帶中RAM的轉儲。

程式中會預設迴圈在遊戲執行時每秒更新一次這個儲存檔案。

測試

GoBoy目前通過了Blargg的“cpu指令”和“指令定時”測試ROM中的所有測試。

最後

整個專案的地址如下:https://github.com/Humpheh/goboy

如果你還想深入瞭解,這裡有一些關於GameBoy的資料供參考:

歡迎關注我的公眾號:程式猿DD,獲得獨家整理的免費學習資源助力你的Java學習之路!另每週贈書不停哦~

相關文章