Skip to content

Cross-platform and high-accuracy NES/Famicom emulator built in Kotlin

License

Notifications You must be signed in to change notification settings

tiagohm/nestalgia

Repository files navigation

Nestalgia

Nestalgia

Active Development CI Version

Nestalgia is a cross-platform and high-accuracy NES/Famicom emulator built in Kotlin. It's being ported from discontinued Mesen NES/Famicom emulator built in C++ and C#.

It implements only the emulator (no debugging tools).

Features

  • High Accuracy
  • High Compatibility: Over 300 mappers supported
  • NES, Famicom, Famicom Disk System, Dendy, Vs. System, NSF and NSFe emulation are supported
  • Save States, Battery, Overclocking and Cheat Codes
  • Configurable Region and Speed
  • Fullscreen and Screenshot support
  • Audio, Video, Controller and Emulation config support
  • Over 20 controllers supported
  • Gamepad Support

Nestalgia

Library

Install

Add it to your build.gradle:

repositories {
    maven { url "https://jitpack.io" }
}

and:

dependencies {
    implementation "com.github.tiagohm:nestalgia:core:main-SNAPSHOT"
}

Desktop

Before running, check if you have Java 17 or newer installed.

Gamepad Support

  • The gamepad support for Desktop version uses Jamepad
  • The first detected gamepad will be used as Standard Controller 1, and the second will be Standard Controller 2
  • Y Button will take a screenshot
  • X Button will save the game's state
  • LB/RB restore the previous/next saved game's state
  • Left thumbstick can be used as D-Pad