nesfuzz/README.md

42 lines
1.3 KiB
Markdown
Raw Normal View History

2019-11-12 00:04:07 +00:00
# nestur
This is an NES emulator and a work in progress. The CPU and PPU work, though there are still at least a couple bugs. I've mostly tested on Donkey Kong and Super Mario Bros. so far. There are plenty of full-featured emulators out there; this is primarily an educational project but I do want it to run well.
- One dependency (SDL)
- One line of `unsafe` (`std::mem::transmute::<u8>() -> i8`)
- NTSC timing
2020-01-03 00:00:18 +00:00
<img src="pics/smb.png" width=600>
2020-01-03 00:08:36 +00:00
<sup>(Warning: this pipe currently takes you to an empty room, it's not the only one, and I don't know why.)</sup>
2019-11-12 00:04:07 +00:00
## Controls:
```
Button | Key
___________________
| A | D |
| B | F |
| Start | Enter |
2019-11-12 00:05:27 +00:00
| Select | R-Shift|
2019-11-12 00:04:07 +00:00
| Up | Up |
| Down | Down |
| Left | Left |
| Right | Right |
-------------------
```
The code aims to follow the explanations from https://wiki.nesdev.com/w/index.php/NES_reference_guide where possible, especially in the PPU, and the comments quote from it often.
Thanks to Michael Fogleman's https://github.com/fogleman/nes for getting me unstuck at several points.
## To do:
- More mappers (only NROM/mapper 0 implemented so far)
2020-01-02 23:50:46 +00:00
- DMC audio channel, high- and low-pass filters, APU cleanup/timing fix
- Save/load functionality and battery-backed RAM solution
2019-11-12 00:04:07 +00:00
- Player 2 controller?