6

一个可以在多平台运行的任天堂GameBoy的模拟器

 3 years ago
source link: http://blog.didispace.com/opensource-goboy/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

rEbMNbn.png!mobile

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。

保存

如果加载的游戏rom是支持电池存储的,则记住要用 .sav(例如塞尔达.gb.sav)文件,和加载的rom放在一起保存,其中会包含盒带中RAM的转储。程序中会默认循环在游戏运行时每秒更新一次这个保存文件。

测试

GoBoy目前通过了Blargg的“cpu指令”和“指令定时”测试ROM中的所有测试。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK