Android port of melonDS
Go to file
BackpackXl 83007877d5
Apply suggestions from code review
Co-authored-by: Ana <agaatem@outlook.com>
2023-09-11 20:17:07 -06:00
.github Update GitHub workflows to remove warnings 2023-02-05 15:07:18 +00:00
app Apply suggestions from code review 2023-09-11 20:17:07 -06:00
buildSrc Update dependencies and Kotlin 2023-02-28 21:09:43 +00:00
gradle/wrapper Update Gradle and AGP 2023-02-28 14:14:08 +00:00
masterswitch Update dependencies and Kotlin 2023-02-28 21:09:43 +00:00
melonDS-android-lib@a247ab099c Register RetroAchievements play sessions and enable rich presence 2023-03-03 18:43:40 +00:00
rcheevos-api Register RetroAchievements play sessions and enable rich presence 2023-03-03 18:43:40 +00:00
.gitignore Exclude IDE folder from VCS 2020-06-02 18:57:34 +01:00
.gitmodules Initial commit 2018-11-25 18:14:01 +00:00
build.gradle.kts Migrate from JCenter to Maven Central 2022-01-12 21:32:43 +00:00
gradle.properties Redesign ROM configuration screen 2023-01-22 23:39:21 +00:00
gradlew Initial commit 2018-11-25 18:14:01 +00:00
gradlew.bat Initial commit 2018-11-25 18:14:01 +00:00
LICENSE Initial commit 2018-11-25 18:14:01 +00:00
README.md Allow rewind configurations to be adjusted 2021-11-08 00:11:55 +00:00
settings.gradle Add RetroAchievements API implementation 2023-01-15 23:40:24 +00:00

melonDS Android port

This is a WIP Android frontend for the melonDS Android port. For the Android port of the emulator, check out https://github.com/rafaelvcaetano/melonDS-android-lib

Get it on Google Play

Rom List Dark Theme Pocket Physics Layout Editor
Screenshot 1 Screenshot 2 Screenshot 3 Screenshot 4

What is working

  • Device scanning for ROMS
  • Games can boot and run
  • Sound
  • Input
  • Mic input
  • Game saves
  • Save states
  • Rewind
  • AR cheats
  • GBA ROM support
  • DSi support (experimental)
  • Controller support
  • Customizable layouts
  • Settings

What is missing

  • Wi-Fi
  • OpenGL renderer
  • Customizable button skins
  • More display filters

Performance

Performance is solid on 64 bit devices with thread rendering and JIT enabled, and should run at full speed on flagship devices. Performance on older devices, specially 32 bit devices, is very poor due to the lack of JIT support.

Integration with third party frontends

It's possible to launch melonDS from third part frontends. For that, you simply need to call the emulation activity with the absolute path to the ROM file. The parameters are the following:

  • Package name: me.magnum.melonds
  • Activity name: me.magnum.melonds.ui.emulator.EmulatorActivity
  • Parameters:
    • PATH - a string with the absolute path to the NDS ROM (ZIP files are supported)

Building

To build the project you will need Android SDK, NDK and CMake.

Build steps:

  1. Clone the project, including submodules with:

    git clone --recurse-submodules https://github.com/rafaelvcaetano/melonDS-android.git

  2. Install the Android SDK, NDK and CMake

  3. Build with:

    1. Unix: ./gradlew :app:assembleGitHubRelease
    2. Windows: gradlew.bat :app:assembleGitHubRelease
  4. The generated APK can be found at app/gitHub/release