2 个不稳定版本
使用旧的 Rust 2015
0.2.0-alpha | 2017年12月16日 |
---|---|
0.1.0-alpha | 2017年2月1日 |
#14 in #boy
230 星 & 22 关注者
39KB
931 行
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 或 https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT许可证(LICENSE-MIT 或 http://opensource.org/licenses/MIT)
任君选择。
依赖关系
约6MB
约90K SLoC