fami-rust is a Family Computer (NES) emulator written in Rust.
Notice: Currently, only the CPU (6502) is functional. The PPU (Picture Processing Unit) and APU (Audio Processing Unit) are still under development.
Windows / macOS / Linux
MIT License
cargo build
- Prepare a ROM image. If you own a NES cartridge, you can dump it using a dumper (e.g., FC DUMPER).
- Alternatively, use Homebrew/Public Domain ROMs. You can use copyright-free ROM images for testing(*).
- Run the emulator.
Pass the ROM file path as an argument.
Example:
cargo run nestest.nesorfami-rust nestest.nes - Current Behavior: An empty window will appear (since graphics are not yet implemented), but the emulator logic runs in the background.
- Logging: All CPU states are output to the console on every clock cycle.
(*) nestest.nes is recommended for comprehensive testing of all 6502 instructions.