#游戏机 #游戏 #模拟器 #控制台 #z80 #视频

应用 euphrates_cli

世嘉Master System、Game Gear和SG-1000游戏机的模拟器

1个不稳定版本

使用旧的Rust 2015

0.1.0 2018年10月1日

#342 in 模拟器

GPL-3.0-or-later

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