neso-rs
NES Oxidized (NESO) is a Nintendo Entertainment System emulator written in Rust that can compile to WebAssembly.
JavaScript Usage
Install neso
from npm:
$ npm install neso
Example JavaScript usage: neso-web
.
Rust Usage
Add this to your Cargo.toml
:
[dependencies]
neso = "*"
and this to your crate root if you are using Rust 2015:
extern crate neso;
Example Rust usage: neso-gui
.
Features
- Instruction-cycle accurate MOS 6502 CPU with unofficial instructions.
- Mostly cycle accurate PPU.
- Mostly accurate APU.
Compatibility
The following mappers are implemented:
-
000
: NROM -
001
: MMC1 -
002
: UNROM -
003
: CNROM -
004
: MMC3 -
007
: AxROM -
011
: ColorDreams -
094
: UN1ROM -
180
: Crazy Climber
These mappers provide support for approximately 89% (1417/1591) games listed in this comprehensive mapper list.
Test Rom Coverage
See TEST_ROM_COVERAGE for more details.
Changelog
See CHANGELOG for more details.
References
License
neso-rs
is distributed under the terms of both the MIT License and the Apache License (Version
2.0).
See LICENSE-APACHE and LICENSE-MIT for more details.