Skip to content

chalharu/nerust

Repository files navigation

Nerust

An NES emulator written in Rust

Usage

Glutin Frontend

Glutin dependencies

  • Cargo
  • Rust

Build Glutin

cargo build -p nerust_glutin --release

Run Glutin

target/release/nerust [Rom File Path]

GTK4 Frontend

GTK4 dependencies

  • Cargo
  • Rust
  • GTK 4.0 or greater

Build GTK4

cargo build -p nerust_gtk --release

Run GTK4

target/release/nerust_gtk

WGPU Frontend

WGPU dependencies

  • Cargo
  • Rust
  • Linux では GTK3 開発パッケージ (libgtk-3-dev など)

Build WGPU

cargo build -p nerust_wgpu --release

Run WGPU

target/release/nerust_wgpu [Rom File Path]

ROM test tooling

ROM regression cases are defined in core/rom_tests.yaml, with NESdev-style categories and short descriptions for each case.

# Validate configured ROM cases, print per-case progress,
# and write an HTML report to target/rom-tests/validate/
cargo run -p nerust_core --features rom-tooling --bin rom_tool -- validate

# Capture actual hashes/screenshots with the same progress output
cargo run -p nerust_core --features rom-tooling --bin rom_tool \
  -- capture --case cpu.nestest

# Benchmark perf-enabled ROM cases from the shared manifest
cargo run -p nerust_core --features rom-tooling --bin perf --release -- \
  --case cpu.nestest

Supported Mappers

  • NRom (Mapper 0)
  • MMC1 SxRom (Mapper 1)
  • UxRom (Mapper 2)
  • CnRom (Mapper 3, Mapper 185)
  • AxRom (Mapper 7)
  • BnRom (Mapper 34)
  • NINA-001 (Mapper 34)

To-Do

  • Load & Save
  • Android support
  • Other Mappers
  • Network multiplay

License

MPL-2.0

Author

chalharu

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors