nds4droid icon indicating copy to clipboard operation
nds4droid copied to clipboard

Version 48

Open tangalbert919 opened this issue 8 years ago • 16 comments

Version 48 is finally in the works after over an entire year of complete silence. Here's what will come in the next update:

  • ~~An updated DeSmuME core. We will be upgrading it from 0.9.8 to 0.9.11.~~ Done
  • Lightning JIT will be upgraded from 1.2 to 2.1.2 to get the official ARM backend. The "ArmLJit" thing will have to be rewritten for that, provided I can actually figure out how to do that.
  • Android devices running a x86 or x64 CPU may use AsmJIT instead, while ARMv7-A and ARMv8-A (AArch64) will use the updated Lightning JIT.
  • Dropbox Sync (useful!), as seen on nds4ios and iNDS for iOS devices.
  • ~~An improved UI.~~ Just switched to the Material design to look more "modern" and less "I'm old and from Ice Cream Sandwich."
  • An OpenGL ES 3.0 Renderer (as proposed on @Tsunamical's wish list, I believe).
  • ~~The threaded interpreter may be removed, due to its sluggish performance.~~ 47.1 is much faster on the normal DeSmuME interpreter, interestingly enough. JIT and the threaded interpreter don't.
  • ~~True 64-bit ARM support will be added to increase performance for 64-bit devices.~~ Done
  • ~~We may switch to using Clang to compile the code, as GCC has been deprecated by Google.~~ Switched to Clang. GCC is going to be removed in the next major NDK release.

Not all devices can support OpenGL ES 3.0. It is recommended that you use CPU-Z or a similar app to find out if your device can handle it.

That's all for what will come for the next version of nds4droid. This is subject to change, but let's hope nothing on this list gets removed.

tangalbert919 avatar Aug 21 '17 02:08 tangalbert919

If I feel like it, I might just build a renderer that uses Vulkan, a new graphics API developed from AMD's Mantle API and maintained by The Khronos Group. Problem: Android 7.0 just recently added support, and less than 20% of Android devices have it.

tangalbert919 avatar Aug 26 '17 00:08 tangalbert919

TinyCC and ArmCJit will be removed because of inadequate performance. Even though we can get a smaller binary size, it is not worth sacrificing performance at all. Lightning JIT and the threaded interpreter do not work for both 32-bit and 64-bit devices, so it may have to be removed and we may have to use AsmJIT in its place.

tangalbert919 avatar Sep 03 '17 21:09 tangalbert919

OpenGLES3 is required (and 64-bit ARM) or recommended?

fervi avatar Sep 04 '17 19:09 fervi

Neither. Right now, it's still in construction, and it most likely will be stuck that way. 64-bit ARM is not required to use the next version of nds4droid. In fact, nds4droid didn't even have a binary compiled for it. I made one that was working a few weeks ago.

tangalbert919 avatar Sep 04 '17 19:09 tangalbert919

I also do not recommend using the v48 branch in my fork for any reason. Unless you're a developer.

tangalbert919 avatar Sep 04 '17 19:09 tangalbert919

Update:

  • DeSmuME has been successfully upgraded to 0.9.11, but there are still some issues with it that must be addressed.
  • Lightning JIT and the Threaded Interpreter have been removed, as neither of them work at all. The DeSmuME interpreter, however, has become a lot faster.
  • The OpenGL ES 2.0 Renderer has been improved, and the OpenGL ES 3.0 Renderer has been created. The v3.0 Renderer still can't enable though, so it always falls back to v2.0.
  • 64-bit support has been around since version 47.1.
  • The JIT engine for ARM CPUs from DeSmuME 0.9.12 has been backported, in hopes that we can get that to work instead.
  • The rasterizer is still not working. By default, the OpenGL ES 2.0 Renderer is used to play ROMs.
  • Saves are not working. That means your saves can't be read or written by the app.

I will bring more updates as development continues on.

tangalbert919 avatar Sep 09 '17 19:09 tangalbert919

I have moved nds4droid development from my fork to an actual repository called iDroidDS. You can check it out by clicking here.

tangalbert919 avatar Oct 15 '17 03:10 tangalbert919

@tangalbert919 Where can i download to test the build ?

zminhquanz avatar May 24 '18 07:05 zminhquanz

I haven't found a platform I can use for uploading builds yet. All of the platforms I found either costs money or requires me to keep my laptop on 24/7.

tangalbert919 avatar May 31 '18 22:05 tangalbert919

@tangalbert919 Do you have script to build NDS4Droid (I mean download code, compile etc). for Linux

fervi avatar Jun 01 '18 07:06 fervi

@tangalbert919 a tangent but what kind of platform are you looking for?

Lrs121 avatar Jun 01 '18 21:06 Lrs121

@fervi I don't have a script, but that sounds like a good idea.

@Lrs121 basically, any place that Travis-CI can upload a build to that doesn't require me to pay a penny or more.

tangalbert919 avatar Jun 01 '18 22:06 tangalbert919

If you are interested, I have quite a bit of spare space on my server that you could use. I dont know how Travis CI uploads the results but it shouldnt be too hard to set something up using sftp.

Lrs121 avatar Jun 02 '18 05:06 Lrs121

@tangalbert919 as far as I know, Travis CI is free for open source projects hosted on GitHub

fabmazz avatar Aug 24 '18 18:08 fabmazz

Currently, I use Travis CI for this, which makes me happy. I just need to figure out if I want to publish all builds to the releases tab on my repository or somewhere else.

tangalbert919 avatar Aug 27 '18 15:08 tangalbert919

Is this project abandoned? I am worried because there has been no activity since 2018 or so, and the last version is 4 years old.

ffoxD avatar Aug 18 '20 14:08 ffoxD