HalfNES
github.com
What it is
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.
Spec sheet
- Purpose
- HalfNES is an accurate NES/Famicom emulator.Read 4 Oct 2026 · github.com
- License
- The repository identifies its license as GPL-3.0.Read 4 Oct 2026 · github.com
- Audio
- The listed features include an accurate sound core and an NSF player.Read 4 Oct 2026 · github.com
- Controller support
- It supports joysticks through DirectInput and xInput.Read 4 Oct 2026 · github.com
- Controls
- Controls are remappable through the Preferences dialog.Read 4 Oct 2026 · github.com
- Display
- The README lists full screen mode and an NTSC filter.Read 4 Oct 2026 · github.com
- Downloads
- The README directs users to GitHub releases, which include a Windows executable and a JAR for other platforms.Read 4 Oct 2026 · github.com
- Game compatibility
- It supports the mapper numbers listed in the README and says almost all US released games will start, though some still have graphics corruption or freezing.Read 4 Oct 2026 · github.com
- Gamepad limitation
- Gamepad buttons are currently not configurable, and the controller must be plugged in before a game is loaded to be detected.Read 4 Oct 2026 · github.com
- Linux setup
- Linux users need to set execute permissions on the JAR.Read 4 Oct 2026 · github.com
- PAL support
- PAL games are supported but may have more issues, and users should select PAL in Preferences to run them.Read 4 Oct 2026 · github.com
- Performance
- The README says a 2 GHz Athlon 64 or better is required to run all games at full speed, and the NTSC filter requires much more processing power.Read 4 Oct 2026 · github.com
- Runtime requirement
- Java 8 or newer is required to run either package.Read 4 Oct 2026 · github.com
- Save support
- It supports battery saves but explicitly says it has no savestates.Read 4 Oct 2026 · github.com
Plans and prices
Strong points and limits
Strong points
- Free plan
- Remappable controls and joystick support
- Includes an NSF player and NTSC filter
- Supports battery saves
- Available for Linux, macOS, and Windows
Limits
- No savestates
- Requires Java 8 or newer
- Gamepad buttons are not configurable
- PAL games may have more issues
Who it suits
HalfNES suits players seeking a free NES or Famicom emulator on desktop or Java-compatible systems. Check the Java requirement and lack of savestates before choosing it.
Verdict
HalfNES covers core NES and Famicom play, with remappable controls, audio features, and battery saves. Its Java requirement and lack of savestates are important limitations to weigh first.
Where Specifiction places it
- NES Emulators#6 of 268.0