jquesnelle / nds4droid

nds4droid is a free and open source Nintendo DS emulator for Android smartphones
GNU General Public License v3.0
168 stars 40 forks source link

[Wishlist] Update DeSmume Engine to 0.9.11 or SVN #1

Open fervi opened 8 years ago

fervi commented 8 years ago

Hello; it is possible to update DeSmume Engine?

If the change log doesn't lie ; NDS4Droid still uses version 0.9.8 , and a lot of good changes likely to come in future versions , and the project would be focused on project development for smartphones ( ARM Dynarec etc. ) .

For x86-based computers ( of course, I say this as a curiosity ) differences between versions 0.9.10 and 0.9.11 in terms of performance were significant.

Version 47 ( nds4droid ) works faster, but maybe it can be accelerated using the latest version of the engine DeSmuMe .

zminhquanz commented 8 years ago

update this , is too slow on when i'm compare similarly emulator Drastic

tangalbert919 commented 7 years ago

I'm working on this right now. So far, here are some problems:

jquesnelle commented 7 years ago

I'm not actively working on the project at the moment (work, school, and life in general happens as you can imagine) but I will approve any good PRs and rebuild and push to Google Play. When I was working on this DeSmuME did not have a ARM JIT, only an x86 one, so I along with other developers worked on making our own, the result being LJit and others.

tangalbert919 commented 7 years ago

I'm still working on upgrading the DeSmuME core right now. I might restore LJit, CJit, and the threaded interpreter if I need to. @WilliamLCobb has succeeded in upgrading the core in his DS emulator to 0.9.11, but that was it. After that, it was just silence. I'm also working on an OpenGL ES 3.0 Renderer, which is what @Tsunamical planned to do. The only problem is I have no idea how to work with OpenGL ES, so I'm probably going to fail.

tangalbert919 commented 7 years ago

@jquesnelle the upgrade to DeSmuME 0.9.11 is complete, but there is still an error with running that core. The error I have been receiving from debugging has something to do with EmulatorThread. You can checkout my fork and see if you can do any fixes. Error on logcat: 08-29 19:54:41.757 14458-14489/com.opendoorstudios.ds4droid A/libc: Fatal signal 11 (SIGSEGV), code 1, fault addr 0x8 in tid 14489 (EmulatorThread)

                                                                [ 08-29 19:54:41.758   270:  270 W/         ]
                                                                debuggerd: handling request: pid=14458 uid=10102 gid=10102 tid=14489

@fervi your wish has been granted.

tangalbert919 commented 7 years ago

This error is actually coming from the DeSmuME rasterizer (which is the default 3D renderer set in nds4droid). I found a workaround for this issue, and that's by using the OpenGL renderer, not the Software one. The OpenGL Renderer renders some textures incorrectly. That is being fixed for version 48.

fervi commented 7 years ago

@tangalbert919 Thanks. Is new software rasterizer faster than old? I mean on "nice phone" you can play without OpenGLES or still too slow?

tangalbert919 commented 6 years ago

The new rasterizer should be faster than the old one, but I'm not sure because it likes to crash. There's also this weird bug that makes nds4droid unable to write save files or even find them. Also, anything regarding JIT is an illegal instruction, apparently.