Gameboy.Live 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
Gameboy.Live 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
授权协议: MIT
开发语言: Google Go
操作系统: Windows
收录时间: 2019-05-06
提 交 者: 红薯

Gameboy.Live 是一个 Gameboy 模拟器 ,Go 语言开发,主要用于学习目的。你可以在桌面电脑上玩一些简单的 Gameboy 游戏。

https://github.com/HFO4/gameboy.live/raw/master/doc/screenshot.png

也可以通过终端来玩“云游戏”:

telnet gameboy.live 1989

https://github.com/HFO4/gameboy.live/raw/master/doc/cloud-gaming.gif

安装

可直接 下载 可执行程序,或者通过源码进行构建。要求至少是 Go 1.11 版本。在 Debian 系列系统中需要先安装 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 模式先直接玩一个指定的 ROM 文件:

gbdotlive -r "Tetris.gb" 

设置云游戏服务器

你可以使用云游戏服务的方式来运行 Gameboy.Live ,玩家通过 telnet 登录到服务器指定端口,无需安装额外软件。

使用该模式运行需要一个 gamelist.json 配置文件来指定游戏的参数,配置示例:

[{
	"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 放入配置之前请先测试。

接下来启动 Gameboy.Live 服务并指定配置即可:

gbdotlive -s -c "gamelist.json"

成功运行后会有类似以下的输出:

2019/04/30 21:27:56 Listen port: 1989 

现在你可以在其他机器中玩游戏,游戏的模拟和渲染过程是在服务器端完成的。

telnet <ip of your server>:<port>

"云游戏" 只支持使用 ANSI 和 UTF-8 编码的终端方式,在 Windows 下可以使用 WSL 替代 CMD。

调试

Gameboy.Live 提供一个简单的内建调试器,要开启调试模式需要设置 d 参数为 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 指令仿真
  •  定时器和中断
  •  支持 ROM-only, MBC1, MBC2, MBC3 cartridge
  •  声音仿真
  •  图形仿真
  •  云游戏
  •  ROM 调试器

Testing

Testing result

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

Gameboy.Live 的相关资讯

还没有任何资讯

Gameboy.Live 的相关博客

YouTube Live和Facebook Live,你pick谁?

YouTube Live和Facebook Live作为海外直播的两大主流平台,究竟各自有什么特点呢? 直播行业风头正劲,早在2016年,Facebook就...

work to live, or live to work

周末,本应睡觉的,却醒得这么早。 趴在床上看看新闻,打打字。

live for today

活在当下,live for today

Live Writer

搞了好久,终于搞定通过Live Writer发送日志,离线写blog好久就听说过,今天终于自己一试了。白天在蛋疼的网络中可以先写后回...

用 Python 写出 Gameboy 模拟器,这位丹麦小哥的大学项目火了!

点击上方“杰哥的IT之旅”,选择“星标”公众号 重磅干货,第一时间送达 转自:机器之心 对于很多 80 后、90 后来说,任天堂 ...

my live health

s 盐城的社保咨询服务热线电话:12333 射阳县医疗保险基金中心地址:射阳县合德镇解放东路24号 电话:0515-82322433 社保办事...

grunt live

{ "name": "grunt-live-test", "version": "0.1.0", "author": "liujin", "devDependencies": { ...

Live each day as if it was your last

记录不仅是一种总结,也是一种展示,更是一个重新思考的过程。 辗转维护了很多技术blog,有荒废的了,有自己不满意的,有懒得折...

live writer我来了

第一次用,没想到微软还有这么强大的博客编写工具呢。不知道能否同时发布多个博客。还有收录情况如何。很期待。快快收录吧。

vscode中live server插件的Go Live不显示问题

vscode 的 live server 插件是一个很好用的插件,它会帮使用者自动开启一个服务器,保存的时候便自动刷新浏览器页面 安装完便...

Gameboy.Live 的相关问答

还没有任何问答,马上提问

评论 (10)

加载中
gb 文件在哪?
07/08 14:04
回复
举报
666
2019/06/13 15:53
回复
举报

引用来自“syymren”的评论

看看人家,学习写的东西都这么牛B,看看我,学习写的东西只会写hello world,最后还编译不成功
真实的令人心痛
2019/06/13 15:50
回复
举报
人才
2019/05/10 10:51
回复
举报
等我什么时候一家吃饱了饭也要研究这种玩意😋
2019/05/08 22:23
回复
举报
看看人家,学习写的东西都这么牛B,看看我,学习写的东西只会写hello world,最后还编译不成功
2019/05/08 21:31
回复
举报

引用来自“开源中国绿帽协会”的评论

唉呀妈呀眼睛疼
直接来ns模拟器吧!我就不用买啦
2019/05/08 18:20
回复
举报
唉呀妈呀眼睛疼
2019/05/08 11:14
回复
举报
GBA呢?
2019/05/08 10:40
回复
举报
赞一个
2019/05/08 10:23
回复
举报
更多评论
10 评论
49 收藏
分享
返回顶部
顶部