Code Monkey home page Code Monkey logo

melonds-android's Introduction

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>

melonds-android's People

Contributors

6lackmag3 avatar backpackxl avatar bardock88 avatar nthgit avatar rafaelvcaetano avatar sombrabsol avatar tacothedank avatar wordmage avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

melonds-android's Issues

What is the left center button with two arrows?

When I touched the button placed in the center next to the make available screen buttons my screen only goes in blank so I have no idea what is the function of this button that has icon of an arrow with opposite directions. Could you explain please?

Request:

Will there ever be support for non openGL mobiles and Download DS?

Low pitched Sound

My issue is similar to #26 except for me the sound is lower pitched than on a real DS or DraStic Emulator

I'm using a Snapdragon Galaxy S8+ running Android 9.0.

Boot Issues

I can't seem to get any of my games to work. Also DSiWare games seem to not recognize the DSi bios.

EDIT: Mario Kart DS is working but the audio is terrible despite the game running at a solid 30fps

Curved screen devices

Hi there,

Would it be possible to add an option to move the screens down a bit? My device has curved corners which partially obscure the top screen, but since this device does not have a notch, it lacks any mode/feature in the OS to move content below the curved corners in apps.

My device is an Oppo Reno on Android 10. Thank you.

Bad Performance, some games not recognized

The performance is still bad for cheaper devices, i tested it on amazon fire 7 2017 that runs at 10fps and on samsung galaxy A20e that runs with 25 FPS, would still like a good performance while using your app that is good, by the way some nds games arent recognized

File selection still broken

File selection only allows internal storage access, external storage access is not possible on all devices I tested that are on Android 8, 9 & 10 with the Samsung Note 8, 9, and 10, Moto Z Force & Z Force 2.

Added GBA Rom issue

When you said added GBA Rom you mean to be able to play gba games? I tried to play them and not possible so far

File selection won't work on Google Pixel phone

I downloaded the latest alpha APK, but when I try to locate the BIOS or select a ROM, it opens up a file selection menu that says "SD card" at the top and I can't select or see anything, only cancel, which is likely because my phone, which is a Google Pixel 3, doesn't have an SD card, and it defaults to that. Can this be fixed?

F-Droid

Please get this app in F-Droid and have it fetch the updates

Question...

Hi are you part of the official melonDS team? I am just curious about it :)

External storage support and performance issues

Hi, When I installed melonDS for Android, I hoping that it will read my 16GB micro SD card. But it didn't work. I transferred some of my games into the internal storage and play them. The emulator is slow, like between 8-20fps. I was disappointed. Please increase the performance of your emulator for this device.

Name: Huawei Y6 Prime 2019

Landscape Screen Layout

Just tested and found out that currently melonDS only supports portrait orientation, would like to see something in landscape with one large screen and one small screen like the set up that citra for android curently has.

File Access Denied on Android 10

Android >=10 uses a different system for external storage access. File browser in app doesn't work because of this. A quick fix is to add android:requestLegacyExternalStorage="true" to manifest. I tested this in my fork and it seems to work.

Alpha 1.3.0 broke previous version, freezes in opening file location for roms and bios.

The newest alpha v1.3.0 broke previous version on all my devices. With v1.2.1 installed, installing 1.3.0 over v1.2.1 allows the app to open, but when selecting the location of the bios or roms, the application freezes then crashes. If MelonDS is uninstalled first from the device and then v1.3.0 is installed, when the emulator is run, it starts to load and immediately crashes and will not run on all my devices.

Melon DS Android two screens ?

I test it on my Android and it works great but can you add option in settings for separate two screens like a real DS ?? Keep up the good work!

bios directory bug?

The problem is that it wouldnt let me select bios directory. Please see screenshot because the storage permission already granted. Im on Samsung S9 Android 10.

5z9eYoh

DS Touchscreen not working

Edit: Replaced firmware.bin with one dumped from a my DS phat and it the touchscreen works now.

On Beta 1.0.0 I cannot get the touchscreen functionality to work on any game. I tried on various games with both the touchscreen icon enabled and disabled and the game does not respond on the botton screen. I tested games that do have touchscreen control. Running Android 10 on an Oppo Reno.

The touchscreen gamepad works however.

Video of it here: https://byte.wtf/679rxig9.mp4
The game tested is Okamiden which is tested as working with the touchscreen on the PC version of MelonDS.

On a related note, would it be possible to add an option to move the screens? My device has curved corners which partially obscure the top screen, but since this device does not have a notch, it lacks any mode to move content below the curved corners in apps. Thank you.

Question: Bios

Will you ever add DSi mode like the pc version? (Running DSi bios and nand)

Lib slirp on the port

Since they merged lib slirp in the pc master build, maybe it would be possible to port it on the android version as this allow to play online by using wifi and don't ask to install anything on pc to work(basically its a good indirect mode) unless you're waiting for the official release with that feature

Crash when attempting to go online

I've attempted this with a chromebook with android capabilities and my Galaxy s8, both crash when attempting to connect to the internet in Mario Kart DS. It should be possible on the Chromebook and even an android device with an external wifi card + Wifi PCAP Capture on the Play Store. Please fix this crash so I can do further wifi testing... a menu to select the connections-- similar to the full version of melonds would be nice as well.

Sound is higher pitched than the PC version or a real DS

The sound in this version of the emulator seems to be played somewhat higher in pitch than the PC verison of MelonDS, DraStic on the same phone or a real DS.

The device I'm using is a Samsung Galaxy S10+ with an Exynos chipset.

Thanks for Beta 1.0.0 but touchscreen issue

Thanks for your work porting melonDS, I want to report that touchscreen does not work correctly, tried play mario kart and keeping the A button pressed the car does not Avance and stops and also the left button dpad does not respond as it should.
Kindest regards dev.

Gba roms

I have a problem, when i tried to star a gba rom the emulator just dont recognise idk why

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.