GitHub - rbaron/awesomenes: ? A NES emulator written in Go
source link: https://github.com/rbaron/awesomenes
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
README.md
? awesomenes
A NES emulator written in Go.
Getting and running
The easiest way to run awesomenes
is to use the go get
command:
$ go get github.com/rbaron/awesomenes
$ awesomenes MY_ROM.nes
Status
Games that use the mapper 0 (NROM) mostly work, although without audio so far. Games that use mapper 4 (mmc3) should work with some eventual glitches.
Tested games:
- Donkey Kong (NROM)
- Super Mario Bros. (NROM)
- Super Mario Bros. 2 (mmc3)
- Super Mario Bros. 3 (mmc3, with some glitches)
Controller inputs
Keyboard (controller 1)
Arrow keys -> NES arrows
A -> NES A
S -> NES B
Enter -> NES start
Right shift -> NES select
Nintendo Switch Joycon (controller 1)
Directional -> NES arrows
Down arrow -> NES A
Right arrow -> NES B
SL -> NES select
SR -> NES start
Roadmap
✅ CPU emulation
✅ Video support (picture processing unit - PPU)
✅ Keyboard input
✅ Mapper 0
✅ Joystick input (tested with Nintendo Switch Joycon)
✅ Mapper 4 (...kinda)
➖ More mappers
➖ Save state
➖ Audio support (audio processing unit - APU)
Resources
All the information used to build this emulator was found on the awesome nesdev wiki.
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK