13 个不稳定版本 (3 个破坏性更新)
0.4.0 | 2023年4月18日 |
---|---|
0.3.1 | 2023年1月22日 |
0.3.0 | 2022年9月19日 |
0.2.7 | 2022年9月19日 |
0.1.2 | 2022年7月12日 |
在 模拟器 中排名 78
每月下载量 28
285KB
4.5K SLoC
GameboyR
使用 Rust 编写的 Gameboy 模拟器。
crates.io/crates/gameboyr »
这是一个使用 Rust 编写的 Gameboy 模拟器。该模拟器支持 Gameboy 和 Gameboy Color。以下是已实现功能的清单。
使用方法
您可以使用以下命令运行模拟器,并指定您的 rom 路径
$ cargo run --release -- "./path/to/rom.gb"
以下选项可以指定
-s, --save Path to .sav file of the specified ROM (Default: location of ROM)
-x, --scale Scale the window by a factor of 1, 2, 4 (Default: 1)
--skip-checks Skip header checksum and nintendo logo checks for ROM
--no-audio Run the emulator without using audio
通过 Crates.io
您可以使用以下命令从 Crates.io 安装模拟器
$ cargo install gameboyr
然后使用以下命令运行模拟器
$ gameboyr "./path/to/rom.gb"
上述指定的选项在这里也是可用的。
控制
__________________________
| |
| .----------------------. |
| | .----------------. | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | '----------------' | |
| |______________________/ |
| |
| . GAMEBOY R |
Up | _| |_ .-. | ---> Z
Left + Right <--- |-[_ _]- .-. ( ) |
Down | |_| ( ) '-' | ---> X
| ' '-' A |
| B |
| ___ ___ |
| (___) (___) ,., | ---> Space / Enter
| select start ;:;: |
| ,;:;' /
| ,:;:'.'
'-----------------------`
已实现
- CPU
- 寄存器 & 标志
- 指令集
- 计时
- MMU
- 工作 RAM (WRAM)
- 高 RAM (HRAM)
- HDMA & GDMA
- 速度开关
- I/O
- 视频显示 (PPU)
- 声音控制器 (APU)
- 手柄输入
- 串行数据传输
- 计时器
- 卡带
- 无 (仅 32K 字节 ROM)
- MBC1 (最大 2M 字节 ROM 和/或 32K 字节 RAM)
- MBC2 (最大 256K 字节 ROM 和 512x4 位 RAM)
- MBC3 (最大 2M 字节 ROM 和/或 64K 字节 RAM 和计时器)
- MBC5 (最大 8M 字节 ROM 和/或 128K 字节 RAM)
参考
依赖项
~1–34MB
~456K SLoC