nes-utils

How to build and run ?

  1. Install the dependencies

Usage example

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

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

fn main() { // Getting program bytes let path = String::from("games/pacman.nes"); let mut mem = Vec::::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();

} ```

Documentation

Run cargo doc --open to read the documentation in the browser.

Features status

Name | Status ------------- |:-------------: Dump header into .asm | ✅ Include .chr into .asm | ✅ Disassemble instructions | ✅ PPU / 2A03 registers indication for asm code | ✅ Dump CHR ROM graphics data into images | ✅ Dump image into CHR ROM | ⌛ NES PRNG | ✅ NES Game Genie decode | ✅