2 个不稳定发布版
使用旧的 Rust 2015
0.2.0-alpha | 2017 年 12 月 16 日 |
---|---|
0.1.0-alpha | 2017 年 2 月 1 日 |
#13 in #boy
230 星 & 22 关注者
175KB
4K SLoC
Rustual Boy
描述
Rustual Boy 是一个 Virtual Boy 模拟器。它可以用来玩现有的 Virtual Boy 游戏,同时也是该平台自制软件开发/调试的有用工具。
"Rustual Boy" 这个名字是 "Rust" 和 "Virtual Boy" 的 混成词。好吧,“Virtual Boy” 部分很明显,但为什么是 "Rust" 呢?事实上,Rustual Boy 是用 Rust 编程语言 编写的——这是一种 "运行速度快、防止段错误并保证线程安全的系统编程语言"。Rust 是一种很棒的语言,拥有蓬勃发展的社区,因此为仿真项目提供了一个极好的平台!
状态
Rustual Boy 目前能够模拟 所有商业 Virtual Boy 游戏 以及许多自制游戏。它支持基本的视频/音频输出和键盘输入,还有一个简单的 CLI 调试器。它可以在 Windows、MacOS、Linux 以及 Rust 支持的一些其他平台上运行。
尽管 Rustual Boy 的核心仿真在兼容性方面已经完成,并且在某些方面已经是可用的更准确 VB 模拟器之一,但该项目仍然很年轻,需要一些时间来成熟。特别是,它的用户界面缺乏(或者说几乎不存在),并且存在一些已知(以及可能未知)的稳定性/兼容性问题。此外,性能还不是很好,但至少这个模拟器应该可玩。
话虽如此,这些功能肯定随着时间的推移而改善,我们鼓励每个人下载构建版本或构建模拟器,试一试,并报告任何错误/功能请求!
屏幕截图
已知游戏兼容性
键
- 💖:完全兼容。游戏可以完整游玩,没有已知的错误(据我们所知)。
- 💔:可玩。游戏可以游玩,但有一些已知的小错误(在备注字段中描述)。
- 🚫:不兼容。原因在备注字段中描述。
N/A
:该地区没有这款游戏。
标记为💖和💔的游戏都包含在兼容性指标中。
游戏 | USA | JP | 备注 |
---|---|---|---|
3-D Tetris | 💖 | N/A | |
Bound High! | 💖 | N/A | ROM是USA+JP的 |
Galactic Pinball | 💔 | 💔 | 整个游戏中的语音样本播放速率不正确,可能是与CPU时钟周期不精确相关 |
Golf | 💔 | 💔 | 游戏过渡到演示模式太快,有时在过渡到/从演示模式时软锁定 |
Insmouse No Yakata | N/A | 💖 | |
Jack Bros. | 💖 | 💖 | |
Mario Clash | 💖 | 💖 | |
Mario's Tennis | 💖 | 💖 | |
Nester's Funky Bowling | 💖 | N/A | |
Panic Bomber | 💖 | 💖 | |
Red Alarm | 💖 | 💖 | |
SD Gundam Dimension War | N/A | 💖 | |
Space Invaders Virtual Collection | N/A | 💖 | |
Space Squash | N/A | 💖 | |
Teleroboxer | 💔 | 💔 | 在演示模式胜利后的屏幕转换过程中有轻微的音频错误 |
V-Tetris | N/A | 💖 | |
Vertical Force | 💖 | 💖 | |
Virtual Bowling | N/A | 💔 | 样本播放速率不正确 |
Virtual Boy Wario Land | 💔 | 💔 | 游戏可以完全游玩,但开场白的一部分太暗,因为模拟器未能准确模拟显示屏中使用的物理LED周期 |
Virtual Fishing | N/A | 💖 | |
Virtual Lab | N/A | 💖 | |
Virtual League Baseball | 💖 | 💖 | |
Waterworld | 💖 | N/A |
构建和运行
目前,构建的依赖项只有Rust本身,可以从这里下载。安装后,您可以克隆仓库,并通过cargo build
/cargo run
来获胜!建议使用--release
标志,因为仿真可能需要大量的CPU功率,因此我们将需要所有编译器的帮助。
注意:如果您是Cargo(Rust的构建系统)的新手,建议快速浏览Cargo指南。
Rustual Boy具有非常简单的命令行界面
$ rustual-boy-cli --help
Rustual Boy 0.2.0
ferris <[email protected]>, The Rustual Boy contributors
A CLI frontend to the Rustual Boy emulator
USAGE:
rustual-boy-cli.exe [FLAGS] <ROM>
FLAGS:
-s, --sram Path to an SRAM
-h, --help Prints help information
-V, --version Prints version information
ARGS:
<ROM> The name of the ROM to load
运行游戏的最简单方法是提供一个单个文件参数
rustual-boy-cli bound-high.vb
输入键映射
Virtual Boy游戏手柄由两个十字键、4个按钮和两个肩部按钮组成。这些映射到以下键盘键
按钮 | 键 |
---|---|
左十字键上 | W |
左十字键下 | S |
左十字键左 | A |
左十字键右 | D |
右十字键上 | I |
右十字键下 | K |
右十字键左 | J |
右十字键右 | L |
选择 | 空格 |
开始 | enter/return |
A | F |
B | H |
左防滑 | E |
右防滑 | U |
有关游戏手柄布局参考,请参阅此图像。此键映射目前不可配置。
贡献
Rustual Boy 致力于成为一个开放项目,任何人都可以贡献。如果您感兴趣,请查看 CONTRIBUTING.md!
许可证
许可协议为以下之一:
- Apache 许可证 2.0 版(LICENSE-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0)
- MIT 许可证(LICENSE-MIT 或 http://opensource.org/licenses/MIT)
任选其一。
依赖
~2MB
~30K SLoC