Attempting to write a NES emulator in Rust
I have never written an emulator before, and Rust is a fairly new language to me. So I am very much a beginner. This isn't a project where finishing is the goal, the main point is to learn. If this project helps you write your own emulator or learn Rust, then even better.
- CPU and all instructions
- Memory into its own module
- ROM loading
- PPU (Basic)
- Input (Basic)
- APU
- PPU (Advanced)
- Build for multiple platforms
- GUI
- Input remapping / gamepad detection
- Save files and save states
227/256 opcodes implemented
- 151 Official opcodes
- 105 Illegal opcodes
- Stack implemented
- Detecting if a page is crossed
- Branching instructions
- Extra cycle on crossed page for certain instructions
- Logging (Needed at this stage for test ROMs)
- Cycle accuracy tests
- Passes test ROMs (Instruction set)
- CLI arg parsing
- Inline docs and tests for
cargo doc
- Disassembler
- Actions also run linting and formatting (Once the emulator is actually usable)
- Semver
- Add usage docs