https://github.com/nukeop/mr-cool-nes
🕹️ NES emulator
https://github.com/nukeop/mr-cool-nes
emulator nes rust
Last synced: 3 months ago
JSON representation
🕹️ NES emulator
- Host: GitHub
- URL: https://github.com/nukeop/mr-cool-nes
- Owner: nukeop
- License: agpl-3.0
- Created: 2018-07-12T22:25:20.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2023-03-20T05:59:15.000Z (about 2 years ago)
- Last Synced: 2025-03-19T06:32:27.882Z (3 months ago)
- Topics: emulator, nes, rust
- Language: Rust
- Homepage:
- Size: 160 KB
- Stars: 10
- Watchers: 2
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# mr-cool-nes  [](https://codecov.io/gh/nukeop/mr-cool-nes)
NES emulator (in development)## Getting started
### Prerequisites
You need Rust and libsdl2-dev. To install it on a Debian-derivative:```bash
$ sudo apt update
$ #Optional dependency that you might or might not have to install
$ sudo apt install libegl1-mesa-dev libgles2-mesa-dev
$ sudo apt install libsdl2-dev
```### Installing
To build the dev version:```bash
$ cargo build
```To run:
```bash
$ RUST_LOG=nes=info,mr_cool_nes=info cargo run
```To build the release version:
```bash
$ cargo build --release --target-x86_64-unknown-linux-gnu
```Replace the target with your platform if you're not on Linux.
## Running the tests
Rust makes this very easy.
```bash
$ cargo test
```## Running roms
You can either use a headless renderer (for tests) or an SDL renderer.
The headless renderer doesn't create a window and emulates the NES without a visible output.To run with the SDL renderer:
```bash
$ RUST_LOG=nes=info,mr_cool_nes=info cargo run -- --rom tests/roms/cpu_exec_space/test_cpu_exec_space_ppuio.nes
```To run with the headless renderer, use the `--headless` flag.
## Contributing
All contributions are welcome. I'm not very good at Rust so if there's something I should be doing better, let me know.
## About
### License
Copyright © 2018, [nukeop](https://github.com/nukeop).
Released under [Affero GPL License](LICENSE).