1个不稳定版本
0.1.0 | 2020年5月29日 |
---|
#322 in 模拟器
每月25次下载
用于 2 crates
145KB
2.5K SLoC
gc_nes_core
gc_nes_core正如其名所示,是我任天堂娱乐系统模拟器的核心。它为依赖的crate提供了加载和运行NES ROM、提供输入和提取渲染图像数据的接口。目前不支持音频。
使用模拟器
在Cargo.toml中将gc_nes_core作为依赖项添加
[dependencies]
gc_nes_core = "0.1.0"
依赖的crate可以按以下方式使用模拟器功能
use gc_nes_core::cartridge::Cartridge;
use gc_nes_core::nes::Nes;
// Load a .nes file as a cartridge
let cartridge = Cartridge::load_from_file("/some/nes/rom.nes".as_ref()).expect("File read error");
// Create the NES with the cartridge loaded
let mut nes = Nes::new(cartridge);
// Run the NES until the next frame completes
let frame_buffer:&[u32; 61440] = nes.frame();
// Or run it cycle by cycle for a finer approach
nes.cycle();
// Provide input state:
nes.update_controller_one(Some(0b0001_0100));
nes.update_controller_two(None); // Disconnected controller
当前版本:0.1.0
依赖项
~455KB
~11K SLoC