Author Topic: Alpha Testing Underway!  (Read 310139 times)

Offline Paul

  • Administrator
  • double
  • *****
  • Posts: 3495
  • Developer
    • View Profile
    • PaulsCode.Com
Re: Alpha Testing Underway!
« Reply #555 on: December 16, 2011, 11:50:01 AM »
.zip files supported in this latest version?

No, that's the other thing I need to hook up (I knew there was something!)

--EDIT-- I hooked it back up (will be in the next version).  I'm leaving out the zip-browsing capability for now, because it just screws everything up when I try to add it (this feature is pretty low priority, so not worth the effort at the moment).
« Last Edit: December 16, 2011, 02:44:30 PM by Paul »
Device: Samsung Galaxy Nexus i515
CPU: TI OMAP4460, 1.2 GHz (dual core, ARM Cortex-A9)
GPU: PowerVR SGX540, 307 MHz
RAM: 1 GB
Resolution: 720 x 1280
Rom: omni-4.4.4-20141014-toro-FML KitKat 4.4.4, rooted

Device: Eee PC 1015PEM
CPU: Intel Atom N550, 1.5 GHz (dual core, x86)
GPU: Intel GMA 3150, 200 MHz (dual core)
RAM: 2GB
Resolution: 1024 x 600
Rom: android-x86-4.3-20130725 Jelly Bean 4.3, rooted

Offline bart2465

  • bit
  • Posts: 2
    • View Profile
Re: Alpha Testing Underway!
« Reply #556 on: December 16, 2011, 04:51:15 PM »
worms armageddon doesn't work. does anyone how to fix it?

sorry for my bad english

Offline Paul

  • Administrator
  • double
  • *****
  • Posts: 3495
  • Developer
    • View Profile
    • PaulsCode.Com
Re: Alpha Testing Underway!
« Reply #557 on: December 16, 2011, 04:56:55 PM »
Whew, finished with the GUI.  Obviously there is still plenty of room for improvement.  In particular, it is really easy to crash the app if you do stupid things in the setting menu (like disabling RSP, disabling input then pressing buttons, etc.) but I don't think that will bother most users too much.  The in-game menu is a bit sluggish when you chose "Menu" or "Close".  I can improve this by moving the state-save stuff out of the main UI thread (I want to make sure it works on other devices in its simplest form first before I start playing with threads and ANR again).

Anyway, I'm calling this the "final Alpha test".  All that's left to do is to comment a few parts of the code better, and clean up a couple quick hacks I added.  Once that's done and several people run the test and we work out any bugs, I plan to move on to the Beta testing phase (hopefully this weekend).

Final Alpha Test   (source code)

IMPORTANT: Please delete the folder [sdcard]/app-data/paulscode.android.mupen64plus  The app data is no longer stored there, so no reason to waste space on your SD Card.  App data has been moved to the standard folder [sdcard]/Android/data/paulscode.android.mupen64plus.  If you don't have any of Pelya's apps installed on your phone, [sdcard]/app-data will probably be empty and you can just remove it as well.

Next I'm moving on to setting up the Xperia Play mirror project so it shares the native sources with the main project.  I'll hopefully have that done tomorrow.
Device: Samsung Galaxy Nexus i515
CPU: TI OMAP4460, 1.2 GHz (dual core, ARM Cortex-A9)
GPU: PowerVR SGX540, 307 MHz
RAM: 1 GB
Resolution: 720 x 1280
Rom: omni-4.4.4-20141014-toro-FML KitKat 4.4.4, rooted

Device: Eee PC 1015PEM
CPU: Intel Atom N550, 1.5 GHz (dual core, x86)
GPU: Intel GMA 3150, 200 MHz (dual core)
RAM: 2GB
Resolution: 1024 x 600
Rom: android-x86-4.3-20130725 Jelly Bean 4.3, rooted

Offline xperia64

  • Moderator
  • double
  • *****
  • Posts: 591
    • View Profile
    • My Apps
Re: Alpha Testing Underway!
« Reply #558 on: December 16, 2011, 06:51:48 PM »
Nice! i find my settings of disabling the virtual gamepad aren't being saved though. Frameskip seems to be saved at least so thats good
The auto frameskip setting helps with banjo tooie alot. It works better in this version than previously :D

Offline Paul

  • Administrator
  • double
  • *****
  • Posts: 3495
  • Developer
    • View Profile
    • PaulsCode.Com
Re: Alpha Testing Underway!
« Reply #559 on: December 16, 2011, 06:55:01 PM »
Thanks, I'll look into the virtual gamepad settings.  It was saving before, but I might have broken it.  Let me know if you find anything else not being remembered.

Yep, looks like I disconnected it (must have been when I was unplugging everything to try and fix that menu crash bug).  Nice catch!
« Last Edit: December 16, 2011, 06:57:46 PM by Paul »
Device: Samsung Galaxy Nexus i515
CPU: TI OMAP4460, 1.2 GHz (dual core, ARM Cortex-A9)
GPU: PowerVR SGX540, 307 MHz
RAM: 1 GB
Resolution: 720 x 1280
Rom: omni-4.4.4-20141014-toro-FML KitKat 4.4.4, rooted

Device: Eee PC 1015PEM
CPU: Intel Atom N550, 1.5 GHz (dual core, x86)
GPU: Intel GMA 3150, 200 MHz (dual core)
RAM: 2GB
Resolution: 1024 x 600
Rom: android-x86-4.3-20130725 Jelly Bean 4.3, rooted

Offline xperia64

  • Moderator
  • double
  • *****
  • Posts: 591
    • View Profile
    • My Apps
Re: Alpha Testing Underway!
« Reply #560 on: December 16, 2011, 06:57:23 PM »
Thanks, I'll look into the virtual gamepad settings.  It was saving before, but I might have broken it.  Let me know if you find anything else not being remembered.
i also noticed the analog stick mapping seemed to be reversed for up/down
and when the virtual gamepad IS enabled, banjo tooie wont load
« Last Edit: December 16, 2011, 07:00:48 PM by xperia64 »

Offline Paul

  • Administrator
  • double
  • *****
  • Posts: 3495
  • Developer
    • View Profile
    • PaulsCode.Com
Re: Alpha Testing Underway!
« Reply #561 on: December 16, 2011, 07:01:36 PM »
Wow, you're right.. how'd I miss that?
Device: Samsung Galaxy Nexus i515
CPU: TI OMAP4460, 1.2 GHz (dual core, ARM Cortex-A9)
GPU: PowerVR SGX540, 307 MHz
RAM: 1 GB
Resolution: 720 x 1280
Rom: omni-4.4.4-20141014-toro-FML KitKat 4.4.4, rooted

Device: Eee PC 1015PEM
CPU: Intel Atom N550, 1.5 GHz (dual core, x86)
GPU: Intel GMA 3150, 200 MHz (dual core)
RAM: 2GB
Resolution: 1024 x 600
Rom: android-x86-4.3-20130725 Jelly Bean 4.3, rooted

Offline Paul

  • Administrator
  • double
  • *****
  • Posts: 3495
  • Developer
    • View Profile
    • PaulsCode.Com
Re: Alpha Testing Underway!
« Reply #562 on: December 16, 2011, 07:06:33 PM »
when the virtual gamepad IS enabled, banjo tooie wont load
That definitely sounds like it accessing the wrong area of memory.  Sounds like the more stuff thats loaded in memory, the worse it behaves.
Device: Samsung Galaxy Nexus i515
CPU: TI OMAP4460, 1.2 GHz (dual core, ARM Cortex-A9)
GPU: PowerVR SGX540, 307 MHz
RAM: 1 GB
Resolution: 720 x 1280
Rom: omni-4.4.4-20141014-toro-FML KitKat 4.4.4, rooted

Device: Eee PC 1015PEM
CPU: Intel Atom N550, 1.5 GHz (dual core, x86)
GPU: Intel GMA 3150, 200 MHz (dual core)
RAM: 2GB
Resolution: 1024 x 600
Rom: android-x86-4.3-20130725 Jelly Bean 4.3, rooted

Offline Paul

  • Administrator
  • double
  • *****
  • Posts: 3495
  • Developer
    • View Profile
    • PaulsCode.Com
Re: Alpha Testing Underway!
« Reply #563 on: December 16, 2011, 07:22:23 PM »
Ok, those bugs are fixed.

Final Alpha, RC2
Device: Samsung Galaxy Nexus i515
CPU: TI OMAP4460, 1.2 GHz (dual core, ARM Cortex-A9)
GPU: PowerVR SGX540, 307 MHz
RAM: 1 GB
Resolution: 720 x 1280
Rom: omni-4.4.4-20141014-toro-FML KitKat 4.4.4, rooted

Device: Eee PC 1015PEM
CPU: Intel Atom N550, 1.5 GHz (dual core, x86)
GPU: Intel GMA 3150, 200 MHz (dual core)
RAM: 2GB
Resolution: 1024 x 600
Rom: android-x86-4.3-20130725 Jelly Bean 4.3, rooted

Offline SpawnHyuuga

  • bit
  • Posts: 6
    • View Profile
Re: Alpha Testing Underway!
« Reply #564 on: December 16, 2011, 07:45:45 PM »
Thanks for the latest download Paul. I'll give it a test run, and we'll see how it runs on my Admire. Many thanks for even trying to make a '64 emulator for ARMv6 devices.

Offline tgwaste

  • byte
  • *
  • Posts: 12
    • View Profile
Re: Alpha Testing Underway!
« Reply #565 on: December 17, 2011, 12:15:48 AM »
Latest build working great on my ICS Galaxy Nexus.  Except Zelda seems even slower on it. :(
Dev: Samsung Galaxy Nexus
ROM: AOKP running ICS 4.0.3
Res: 720 x 1280
CPU: Dual-core 1.2 GHz Cortex-A9 (TI OMAP 4460)
GPU: PowerVR SGX540
RAM: 1 GB

Offline scorpio16v

  • long
  • ***
  • Posts: 203
    • View Profile
Re: Alpha Testing Underway!
« Reply #566 on: December 17, 2011, 01:01:40 AM »
The auto frameskip setting helps with banjo tooie alot. It works better in this version than previously :D

Does ist run at reasonable speed for you ?
With auto fs, I have only under 10 fps ingame.( libgles2n64 )
Manual fs higher than 2 caused black screen or resume on my tegra tablet.
On the other site, even with the more resource hungry rice plugin, the SGS2 performs best.
I've the feeling, the gui eats a lot of power. It semmds many games, that run good on nongui have problems now on tegras.

Hopefully Paul can sort out these problems.  :(
« Last Edit: December 17, 2011, 04:43:33 AM by scorpio16v »

Offline Paul

  • Administrator
  • double
  • *****
  • Posts: 3495
  • Developer
    • View Profile
    • PaulsCode.Com
Re: Alpha Testing Underway!
« Reply #567 on: December 17, 2011, 01:16:31 AM »
I don't see how the GUI would make games any less compatible unless they are trying to access areas of memory they shouldn't be (which is what Banjo Tooie appears to be doing).  The GUI is turned off and gone when you are in-game (other than it using more memory for the static Java components, which shouldn't even affect performance).  I made a couple minor changes to the core, I am calling the frame-skip method on each run, and I'm loading the .so libraries dynamically rather than statically from Java.. personally I'd be more likely to point the blame at one or more of those changes instead.

--EDIT-- I should also point out that with FPS, Accurate N64 Stick, and the "Analog" virtual gamepad layouts which are now enabled by default could also slow you down on lower-end devices or higher-end games.  Do you get more reasonable speed (on Zelda for example) by selecting a "Touch" layout and turning off those two features?

--EDIT2-- Just to show that the GUI is completely turned off in-game, and not even running behind the SDL Surface, here is the code that launches the game (you can see that everything is shut down with "finish()":
Code: [Select]
        else
        {
            Globals.chosenROM = menuOption.info;
            MenuActivity.mupen64plus_cfg.save();
            MenuActivity.InputAutoCfg_ini.save();
            MenuActivity.gui_cfg.put( "LAST_SESSION", "rom", Globals.chosenROM );
            MenuActivity.gui_cfg.save();
            SDLActivity.resumeLastSession = false;
            Intent intent = new Intent( this, SDLActivity.class );
            intent.setFlags( Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP );
            startActivity( intent );
            if( MenuActivity.mInstance != null )
            {
                MenuActivity.mInstance.finish();
                MenuActivity.mInstance = null;
            }
        }
        finish();
And here is the code that runs when you leave the game (you can see that the game is shut down with System.exit and an intent to start a new instance of the menu is sent):
Code: [Select]
            case MAIN_MENU_ITEM:
                saveSession();
                notificationManager.cancel( Globals.NOTIFICATION_ID );
                Intent intent = new Intent( mSingleton, MenuActivity.class );
                intent.setFlags( Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP );
                startActivity( intent );
                System.exit( 0 );

The only part of the GUI that's running in-game is the virtual gamepad.  That's the most likely culprit for speed reduction, IMO.
« Last Edit: December 17, 2011, 01:32:32 AM by Paul »
Device: Samsung Galaxy Nexus i515
CPU: TI OMAP4460, 1.2 GHz (dual core, ARM Cortex-A9)
GPU: PowerVR SGX540, 307 MHz
RAM: 1 GB
Resolution: 720 x 1280
Rom: omni-4.4.4-20141014-toro-FML KitKat 4.4.4, rooted

Device: Eee PC 1015PEM
CPU: Intel Atom N550, 1.5 GHz (dual core, x86)
GPU: Intel GMA 3150, 200 MHz (dual core)
RAM: 2GB
Resolution: 1024 x 600
Rom: android-x86-4.3-20130725 Jelly Bean 4.3, rooted

Offline scorpio16v

  • long
  • ***
  • Posts: 203
    • View Profile
Re: Alpha Testing Underway!
« Reply #568 on: December 17, 2011, 04:12:31 AM »
I realy trust in your knowledge and maybe I shouldn't compare the actual state of your emulator with " the other emulator ".
But on this, it is not such a big difference in performance and compatibility between my Tegra 2 devices (phone and tablet) and my SGS2.

But hey, I like your project and it's "only" an alpha release.  ;)

To answer your question. To set/disable your recomended options, it makes not a big difference in performance.
Maybe the slow downs are related in bad Tegra performance and higher resolution of the tablet at this state ?
« Last Edit: December 17, 2011, 04:44:56 AM by scorpio16v »

Offline Paul

  • Administrator
  • double
  • *****
  • Posts: 3495
  • Developer
    • View Profile
    • PaulsCode.Com
Re: Alpha Testing Underway!
« Reply #569 on: December 17, 2011, 06:19:21 AM »
Do you mean it is slower compared to N64oid, or compared to the version prior to adding the GUI (or both)?  As far as N64oid, there are several reasons AE is slower.  The main one is that Yongzh has removed the SDL layer, which adds some overhead.  I fully expect someone will put together a version of this project without SDL (I might even do it myself at some point).  However, the "official" version of this project will keep SDL, because that is too major of a change from the original Mupen64Plus project, and will make contributing back to it a lot more difficult.  I'm even a little concerned that I had to upgrade to SDL 1.3, but I feel like adding in a compiler option to use 1.2 or 1.3 is one way I can contribute back to the original project (since 1.3 is the only version supported on most of the new ports of SDL which will eventually phase out 1.2 over time).

Besides SDL, there are a few other things that make AE slower than N64oid.  The next big one is the virtual gamepad.  From what I've been told (although I can't say for sure since it's closed source), Yongzh is implementing his through GLES calls, while I am using the Android API (which is painfully slow at drawing graphics).  If you are curious about how much this affects performance, compare the performance between different gamepad layouts and with having it disabled.  I do plan to do the same with my virtual gamepad at some point (I've put it off in hopes that this project will pick up a good GLES developer who is willing to tackle it, since I'm not the greatest when it comes to anything GL related)

Another performance difference with N64oid is the video plug-in.  Even if comparing with older versions of N64oid that had gles2n64, it is still very likely Yongzh had a few optimizations in there that he didn't post in the version he put on SourceForge (I've already demonstrated beyond any doubt that he made at lease SOME changes to it without posting the source code, but we can only speculate how extensive those changes were).  It is clear from looking at the source code he did post, however, that he is skilled with assembly language, and has almost certainly added a considerable number of optimizations throughout his closed-source video plug-in as well.  A developer with some assembly skills would be a good addition to the project (hopefully one or two decide to contribute).  Sadly, I completely suck at assembly all together.

Another difference with N64oid is that it is released as a production build, which has some optimizations for speed, such as zip-alignment.  I have been posting AE in debug builds, because it makes problems considerably easier to debug (logcat output is much more useful).  I don't know how much this affects performance, but I'm sure it has at least a small affect (the market release will not be a debug build, and I'll have both versions posted here starting with the first Beta tests).

Ultimately, the performance differences between N64oid and AE are due to a lot of little things which add up to a big thing weighted in favor of N64oid.  I fully expect the scales to become more balanced as time goes on, but N64oid will most likely always be faster, because this project is open-source and his is not (so he can take advantage of optimizations that developers make over here, but not vice-versa).  So moral of the story:  you get what you pay for.  Fork out the 5 bucks (or whatever he's charging these days) to get an emulator that performs better, or use the free and open-source one and help make it perform better yourself.  :D
Device: Samsung Galaxy Nexus i515
CPU: TI OMAP4460, 1.2 GHz (dual core, ARM Cortex-A9)
GPU: PowerVR SGX540, 307 MHz
RAM: 1 GB
Resolution: 720 x 1280
Rom: omni-4.4.4-20141014-toro-FML KitKat 4.4.4, rooted

Device: Eee PC 1015PEM
CPU: Intel Atom N550, 1.5 GHz (dual core, x86)
GPU: Intel GMA 3150, 200 MHz (dual core)
RAM: 2GB
Resolution: 1024 x 600
Rom: android-x86-4.3-20130725 Jelly Bean 4.3, rooted