Android port of melonDS
Go to file
2024-01-23 22:58:37 +00:00
.github Release Beta 1.9.3 2023-12-22 14:27:27 +00:00
app Allow DSiWare data files to be imported and exported 2024-01-23 22:58:37 +00:00
buildSrc Update AndroidX dependencies 2024-01-06 19:34:05 +00:00
common Use safer runCatching alternative 2023-08-23 01:02:18 +01:00
gradle/wrapper Update Kotlin, Gradle and Compose Compiler dependencies 2024-01-06 18:51:43 +00:00
masterswitch Reduce number of warnings in MasterSwitchPreference 2023-11-11 18:44:37 +00:00
melonDS-android-lib@3960f4699b Allow DSiWare data files to be imported and exported 2024-01-23 22:58:37 +00:00
rcheevos-api Add custom header to RetroAchievements API requests 2023-12-22 13:20:56 +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 Update dependencies 2023-07-29 15:27:59 +01:00
gradle.properties Fix load of issues in release builds 2023-08-13 11:49:03 +01: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 Make nightly builds a separate app 2023-11-03 15:45:18 +00:00
settings.gradle Use safer runCatching alternative 2023-08-23 01:02:18 +01: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

Missing Features

  • Local Multiplayer
  • OpenGL renderer
  • DSi SD card support
  • 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 will need to have the ROMs you want to launch already scanned by melonDS. Then, you can configure your third-party frontend with the following configuration:

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

Nightly Builds

To have access to the latest changes, you can install nightly builds that you can find here.

Be aware that these builds can contain more bugs than usual and you may need to clear your app data to get it to work properly.

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:assembleGitHubProdDebug
    2. Windows: gradlew.bat :app:assembleGitHubProdDebug
  4. The generated APK can be found at app/gitHubProd/debug

If you want to create a release build, you will need to modify your local.properties file to include the following fields:

  • MELONDS_KEYSTORE=<path_to_your_keystore>
  • MELONDS_KEYSTORE_PASSWORD=<keystore_password>
  • MELONDS_KEY_ALIAS=<name_of_your_key_alias>
  • MELONDS_KEY_PASSWORD=<key_alias_password>