#nes #utilities #lib #fs-file

nes-utils

NES 工具(反汇编,提取 CHR ROM 图形数据,解码 Game Genie 等..)

1 个不稳定版本

0.1.0 2022年8月27日

#101 in 数据格式

MIT 许可证

52KB
1.5K SLoC

nes-utils

如何构建和运行 ?

  1. 安装依赖
    • cargo

使用示例

use std::fs::File;
use std::io::Read;

use nes_utils::disassembler::disassembler::NesDisassembler;
use nes_utils::models::nesutil_model::{Util, Save};

fn main() {
    // Getting program bytes
    let path = String::from("games/pacman.nes");
    let mut mem = Vec::<u8>::new();
    let mut f = File::open(&path).unwrap();

    f.read_to_end(&mut mem);

    // Disassembling the NES file and save into a file
    let mut disas = NesDisassembler::new(&path, &mem);
    disas.run();
    disas.save(); // or disas.save_as("other_path.asm");

    // Disassembling the NES file
    // Dumping Header + PRG ROM (withouth CHR ROM)
    // let mut disas = NesDisassembler::new(&path, &mem);
    // disas.run();
    // disas.dump();
}

文档

运行 cargo doc --open 在浏览器中阅读文档。

功能状态

名称 状态
将头部信息输出到 .asm
包含 .chr 到 .asm
反汇编指令
asm代码的PPU / 2A03寄存器指示
将CHR ROM图形数据输出到图像
将图像输出到CHR ROM
NES PRNG
NES Game Genie 解码

依赖关系

~13MB
~60K SLoC