2个版本
0.1.1 | 2022年7月2日 |
---|---|
0.1.0 | 2019年10月20日 |
#119 in 模拟器
6MB
5K SLoC
包含 (ZIP文件, 6KB) tvpassfail.zip
Lochnes
这是一个Rust编写的玩具级NES模拟器,它使用生成器进行控制流。我在这篇博客文章中介绍了一些实现细节:[https://kyle.space/posts/i-made-a-nes-emulator/](https://kyle.space/posts/i-made-a-nes-emulator/)
注意:Lochnes使用nightly特性!项目被固定在Rust的一个特定nightly版本上,在rust-toolchain.toml
中。Rustup应确保在从仓库根目录构建或运行项目时安装适当的Rust版本。
兼容性
兼容性非常差!它不支持音频输出、滚动或大多数NES ROM映射器。使用NROM或UXROM映射器的游戏应该可以加载,而且不使用滚动的游戏应该可以大部分正常运行。
用法
在使用Lochnes之前,您需要安装SDL2(请参阅README以获取针对您的平台的rust-sdl2
的不同安装选项)
可以使用以下方式启动Lochnes:
$ cargo run --release -- rom.nes
或者,如果您想使用捆绑的SDL2版本:
$ cargo run --features sdl2/bundled --release -- rom.nes
如果256×240对您来说太小,请使用--scale
来放大窗口
$ cargo run --release -- rom.nes --scale=3
如果您想查看调试输出,请多次传递-v
(警告:5个v会使一切变得非常慢,甚至不要尝试6个)
$ cargo run --release -- rom.nes -vvvvv
控制
输入绑定目前不可自定义,因此以下是当前的输入绑定:
- 退出:[Esc]
- A:[Z],(Xbox:A)
- B:[X],(Xbox:B或X)
- 开始:[Return],(Xbox:开始)
- 选择:[\\](反斜杠键),(Xbox:Back)
- 上/下/左/右:[Shift]/[Ctrl]/[Alt]/[Del](箭头键),(Xbox:D-pad)
许可证
MIT许可证
依赖项
~20MB
~416K SLoC