GoNES vs HalfNES
GoNES
github.comHalfNES
github.comSide by side
| Figure | GoNES | HalfNES |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Web | Yes | — |
| Windows | Yes | Yes |
| macOS | Yes | Yes |
| Linux | Yes | Yes |
| Plans published | 1 | 1 |
| Spec score · NES Emulators | 8.7 (#1) | 8.0 (#6) |
| Controls | The README lists configurable keyboard controls, including Player 1 and Player 2 bindings. | Controls are remappable through the Preferences dialog. |
| Downloads | The README says automated builds are uploaded during releases and links to release download files. | The README directs users to GitHub releases, which include a Windows executable and a JAR for other platforms. |
| License | The repository identifies its license as Apache-2.0. | The repository identifies its license as GPL-3.0. |
| Purpose | GoNES is an NES emulator written in Go. | HalfNES is an accurate NES/Famicom emulator. |
Plans
In their own words
GoNES
GoNES is a free, open-source NES emulator written in Go. It runs on Windows, macOS, Linux and web browsers; the browser version compiles to WebAssembly, and the project links to a hosted instance. At startup, the app opens a file picker for selecting a .nes ROM, and it can also be launched from a terminal with a ROM file argument. The project lists support for mappers 0, 1, 2, 3, 4, 7, 69 and 71, which it says cover 84.34% of official NES games. Keyboard controls for two players are configurable. Save-state, load-state and undo bindings are listed. GoNES creates a configuration file on first run, with its location documented for each desktop platform. Release downloads are provided, and macOS installation through Homebrew is documented. Source installation is also documented. Building requires OpenGL development libraries because rendering uses Ebitengine. The project says its GUI renders, but menu options still need to be added.
HalfNES
HalfNES is a free NES and Famicom emulator for Linux, macOS, Windows, and other Java-compatible platforms. It supports the mapper numbers listed in its README, and says nearly all US releases will start, though some can show corrupted graphics or freeze. Its audio features include a sound core and an NSF player; display options include full screen and an NTSC filter. Controls can be remapped in Preferences, and joysticks work through DirectInput and xInput. HalfNES supports battery saves, but not savestates. GitHub releases provide a Windows executable and a JAR for other platforms, and both require Java 8 or newer. Linux users need to set execute permission on the JAR. Gamepads must be connected before a game loads to be detected, and their buttons cannot be configured. PAL games are supported but may have more issues; users need to select PAL in Preferences. The README gives a 2 GHz Athlon 64 or better as the requirement for full-speed play across all games, and notes that the NTSC filter needs substantially more processing power.