1个不稳定版本
使用旧的Rust 2015
0.1.0 | 2018年10月1日 |
---|
#342 in 模拟器
560KB
12K SLoC
Euphrates CLI:Euphrates模拟器的命令行界面
Euphrates是世嘉Master System、世嘉Game Gear和世嘉SG-1000游戏机的模拟器。
它作为库形式提供,位于euphrates
包中。此包euphrates_cli
提供了一个基于SDL2的命令行界面。
要运行euphrates_cli
,您需要安装Rust和SDL2。
调用euphrates_cli
要播放大多数世嘉Master System ROM,从该目录执行
cargo run --release -- rom --rom PATH_TO_ROM
要播放Codemasters的游戏,如Fantastic Dizzy
cargo run --release -- rom --rom PATH_TO_ROM --memory_map codemasters --tv pal
要播放Game Gear游戏
cargo run --release -- rom --rom PATH_TO_ROM --kind gg
要播放SG-1000游戏
cargo run --release -- rom --rom PATH_TO_ROM --memory_map sg1000_2
编译需要几分钟。
在游戏过程中,用WASDFG键控制玩家1,用IJKL键控制玩家2;空格键用于重置;P键用于暂停(或在Game Gear上为开始)。
保存和恢复
如果您想要能够保存状态和回放,您应该使用这样的--save_directory
选项
cargo run --release -- rom --rom PATH_TO_ROM --save_directory PATH_TO_DIRECTORY
在游戏过程中,按x
键保存状态。按r
键开始录制游戏,按R
键保存已录制的游戏。
使用以下方法从保存的状态恢复
cargo run --release -- load --loadfile PATH_TO_SAVED_STATE
使用以下方法运行已录制的游戏
cargo run --release -- loadrecord --loadfile PATH_TO_RECORDED_GAMEPLAY
以最大速度回放已录制的游戏并计时结果
cargo run --release -- playback --loadfile PATH_TO_RECORDED_GAMEPLAY --frequency unlimited
其他功能
如果您有带有BMI2指令的x86-64处理器,您可以获得更好的性能(这将需要重新编译)
cargo run --release --features euphrates_x64` -- rom --rom PATH_TO_ROM
您可以通过以下方式禁用调试功能(见下文)
cargo run --release -- rom --rom PATH_TO_ROM --debug false
这将提供性能提升(但对于现代计算机上的游戏玩法可能是不必要的)。
调试
Euphrates提供了一些调试功能(只要您没有使用--debug false
调用它)。
在游戏过程中,您可以按
-
n
键打印当前程序计数器周围的汇编代码; -
N
键打印整个程序的汇编代码; -
h
键暂停执行; -
y
键执行一条Z80指令; -
H
键恢复执行; -
z
用于显示模拟的Z80 CPU当前状态。
许可证
Euphrates版权所有(C)2018,Michael Benfield。
Euphrates是免费软件:您可以重新分发它,也可以根据自由软件基金会发布的GNU通用公共许可证的条款修改它,无论是许可证的第3版,还是(根据您的选择)任何后续版本。
Euphrates的分发是希望它会有所帮助,但没有任何保证;甚至没有关于适销性或针对特定目的的适用性的暗示保证。有关更多详细信息,请参阅GNU通用公共许可证。
您应该已经收到Euphrates(请参阅文件LICENSE)的GNU通用公共许可证副本。如果没有,请参阅https://www.gnu.org/licenses/。
依赖项
~20MB
~406K SLoC