All Projects â†’ rbaron â†’ Awesomenes

rbaron / Awesomenes

Licence: mit
🎮 A NES emulator written in Go

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to Awesomenes

Nescala
A Nes Emulator written in Scala
Stars: ✭ 79 (-67.76%)
Mutual labels:  nes, emulator
Punes
Nintendo Entertaiment System emulator and NSF/NSFe Music Player (Linux, FreeBSD, OpenBSD and Windows)
Stars: ✭ 217 (-11.43%)
Mutual labels:  nes, emulator
Laines
Cycle-accurate NES emulator in ~1000 lines of code
Stars: ✭ 1,365 (+457.14%)
Mutual labels:  nes, emulator
Embeddednes
A portable NES simulator for embedded processors
Stars: ✭ 26 (-89.39%)
Mutual labels:  nes, emulator
Flownes
🎮 An NES emulator written in ES2015+ with flowtype
Stars: ✭ 160 (-34.69%)
Mutual labels:  nes, emulator
Nes ebook
A mini book on writing NES emulator using rust lang
Stars: ✭ 38 (-84.49%)
Mutual labels:  nes, emulator
Retrograde Android
Play retro video games on your Android TV!
Stars: ✭ 114 (-53.47%)
Mutual labels:  nes, emulator
Provenance
iOS & tvOS multi-emulator frontend, supporting various Atari, Bandai, NEC, Nintendo, Sega, SNK and Sony console systems… Get Started: https://wiki.provenance-emu.com |
Stars: ✭ 4,732 (+1831.43%)
Mutual labels:  nes, emulator
Nsfplay
Nintendo NES sound file NSF music player
Stars: ✭ 155 (-36.73%)
Mutual labels:  nes, emulator
Nes Rust
NES emulator written in Rust + WASM
Stars: ✭ 141 (-42.45%)
Mutual labels:  nes, emulator
Mesen
Mesen is a cross-platform (Windows & Linux) NES/Famicom emulator built in C++ and C#
Stars: ✭ 814 (+232.24%)
Mutual labels:  nes, emulator
Esplay Retro Emulation
Retro Emulation Collection for ESPlay Hardware, an ESP32 based game console
Stars: ✭ 183 (-25.31%)
Mutual labels:  nes, emulator
Jsnes
A JavaScript NES emulator.
Stars: ✭ 5,354 (+2085.31%)
Mutual labels:  nes, emulator
Retro Go
Retro emulation for the ODROID-GO
Stars: ✭ 73 (-70.2%)
Mutual labels:  nes, emulator
Nestur
The NES (emulator) you left outside in the rain but let dry and still kind of works
Stars: ✭ 505 (+106.12%)
Mutual labels:  nes, emulator
Nes.swift
An NES emulator written in Swift
Stars: ✭ 103 (-57.96%)
Mutual labels:  nes, emulator
Rustynes
👾 An NES emulator by Rust and WebAssembly
Stars: ✭ 399 (+62.86%)
Mutual labels:  nes, emulator
Jsnes Web
A browser UI for JSNES, a JavaScript NES emulator
Stars: ✭ 398 (+62.45%)
Mutual labels:  nes, emulator
Nes Js
JavaScript NES(Famicom) emulator
Stars: ✭ 131 (-46.53%)
Mutual labels:  nes, emulator
Nes
A Javascript NES Emulator
Stars: ✭ 168 (-31.43%)
Mutual labels:  nes, emulator

🎮 awesomenes

A NES emulator written in Go.

dk smb

dk

Getting and running

awesomenes uses sdl2 for rendering and input processing. It may be necessary to install it beforehand. On macOS, using homebrew:

$ brew install sdl2

Other systems/package managers should provide similar sdl2/libsdl2 packages. Then use the go get:

$ 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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].