主要观点:Retro Boy 是用 Rust 编写的简单 Game Boy 模拟器,可在网页上运行,通过 wasm-pack 转为 WebAssembly 并利用 Web Audio API 和 HTML Canvas 实现音频和图形,还具备多种功能和特性。
关键信息:
- 能通过多种测试套件,如 Blargg 的测试 ROM 集合等。
- 有丰富的测试套件,采用 TDD 方法设计逻辑,可运行
cargo test
运行。 - 网页前端是用 React/TypeScript 编写的带有 Material UI 的应用,位于 frontends/web 文件夹。
重要细节: - 使用
wasm-pack
将 Rust 代码转为 WebAssembly 后可在网页播放,利用浏览器本地存储保存电池备份 MBC 卡的 cartridge RAM 数据。 - 具备准确的 CPU、音频和图形模拟,支持多种 MBC 类型和 RTC,有全屏幕模式、暂停/恢复等功能,可自定义按键映射和管理游戏作弊码。
- 编译为 WebAssembly 需安装 wasm-pack 并运行
sh./build-wasm.sh
,运行前端需先编译 Rust 代码并安装依赖后运行yarn start
。 - 提供了多个游戏的截图,列举了使用的资源包括 Gameboy CPU Manual 等。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。