Gameboy.LiveGo 編寫的 Gameboy 模擬器
Gameboy.Live 是一個(gè) Gameboy 模擬器 ,Go 語言開發(fā),主要用于學(xué)習(xí)目的。你可以在桌面電腦上玩一些簡(jiǎn)單的 Gameboy 游戲。
也可以通過終端來玩“云游戲”:
telnet gameboy.live 1989
安裝
可直接 下載 可執(zhí)行程序,或者通過源碼進(jìn)行構(gòu)建。要求至少是 Go 1.11 版本。在 Debian 系列系統(tǒng)中需要先安裝 libasound2-dev 和 libgl1-mesa-dev 包:
git clone https://github.com/HFO4/gameboy.live.git
cd gameboy.live
go build -o gbdotlive main.go
使用
Usage of gbdotlive:
-c config
Set the game option list config file path
-d Use Debugger in GUI mode
-f FPS
Set the FPS in GUI mode (default 60)
-g Play specific game in GUI mode (default true)
-h This help
-m Turn on sound in GUI mode (default true)
-p port
Set the port for the cloud-gaming server (default 1989)
-r ROM
Set ROM file path to be played in GUI mode
-s Start a cloud-gaming server
GUI 模式
可在 GUI 模式先直接玩一個(gè)指定的 ROM 文件:
gbdotlive -r "Tetris.gb"
設(shè)置云游戲服務(wù)器
你可以使用云游戲服務(wù)的方式來運(yùn)行 Gameboy.Live ,玩家通過 telnet 登錄到服務(wù)器指定端口,無需安裝額外軟件。
使用該模式運(yùn)行需要一個(gè) gamelist.json 配置文件來指定游戲的參數(shù),配置示例:
[{
"Title": "Tetris",
"Path": "test.gb"
}, {
"Title": "Dr. Mario",
"Path": "Dr. Mario (JU) (V1.1).gb"
}, {
"Title": "Legend of Zelda - Link's Awakening",
"Path": "Legend of Zelda, The - Link's Awakening (U) (V1.2) [!].gb"
}]
在將 POM 放入配置之前請(qǐng)先測(cè)試。
接下來啟動(dòng) Gameboy.Live 服務(wù)并指定配置即可:
gbdotlive -s -c "gamelist.json"
成功運(yùn)行后會(huì)有類似以下的輸出:
2019/04/30 21:27:56 Listen port: 1989
現(xiàn)在你可以在其他機(jī)器中玩游戲,游戲的模擬和渲染過程是在服務(wù)器端完成的。
telnet <ip of your server>:<port>
"云游戲" 只支持使用 ANSI 和 UTF-8 編碼的終端方式,在 Windows 下可以使用 WSL 替代 CMD。
調(diào)試
Gameboy.Live 提供一個(gè)簡(jiǎn)單的內(nèi)建調(diào)試器,要開啟調(diào)試模式需要設(shè)置 d 參數(shù)為 true:
gbdotlive -r "test.gb" -d=true
[OP:NOP]
AF:01B0 BC:0013 DE:00D8 HL:014D SP:FFFE
PC:0100 LCDC:91 IF:E1 IE:00 IME:false
LCD:100
鍵盤指令
| Keyboard | Gameboy |
|---|---|
| Enter | Start |
| Backspace | Select |
| ↑ | Up |
| ↓ | Down |
| ← | Left |
| → | Right |
| X | B |
| Z | A |
特性 & TODOs
- CPU 指令仿真
- 定時(shí)器和中斷
- 支持 ROM-only, MBC1, MBC2, MBC3 cartridge
- 聲音仿真
- 圖形仿真
- 云游戲
- ROM 調(diào)試器
Testing
評(píng)論
圖片
表情
