PaulsCode Forum

Mupen64Plus AE => General Discussion => Topic started by: Paul on December 01, 2012, 07:59:48 PM

Title: Latest Build! [CLOSED]
Post by: Paul on December 01, 2012, 07:59:48 PM
This thread is now closed
Version 2.0 Release Candidates are being stress-tested in this thread (http://www.paulscode.com/forum/index.php?topic=833.msg7726#msg7726).  Please help with the testing!

Latest builds:
(commit #4e556084fe) (https://github.com/paulscode/mupen64plus-ae/commit/4e556084fe723c9f78d5fde7e812d3cef6b3fef5)

- Release Optimized (http://www.paulscode.com/source/Mupen64Plus-AE/03JAN2013/Mupen64Plus.apk) (3 Jan 2013)

- Debug Build (http://www.paulscode.com/source/Mupen64Plus-AE/03JAN2013/Mupen64Plus-debug.apk) (3 Jan 2013) **Use this build for crash reports**


Older builds:

- Release Optimized (http://www.paulscode.com/source/Mupen64Plus-AE/22DEC2012/Mupen64Plus.apk) (22 Dec 2012)
- Debug Build (http://www.paulscode.com/source/Mupen64Plus-AE/22DEC2012/Mupen64Plus-debug.apk) (22 Dec 2012)

- Release Optimized (http://www.paulscode.com/source/Mupen64Plus-AE/21DEC2012/Mupen64Plus.apk) (21 Dec 2012)
- Debug Build (http://www.paulscode.com/source/Mupen64Plus-AE/21DEC2012/Mupen64Plus-debug.apk) (21 Dec 2012)

- Release Optimized (http://www.paulscode.com/source/Mupen64Plus-AE/15DEC2012/Mupen64Plus.apk) (15 Dec 2012)
- Debug Build (http://www.paulscode.com/source/Mupen64Plus-AE/15DEC2012/Mupen64Plus-debug.apk) (15 Dec 2012)

- Release Optimized (http://www.paulscode.com/source/Mupen64Plus-AE/12DEC2012/Mupen64Plus.apk) (12 Dec 2012)
- Debug Build (http://www.paulscode.com/source/Mupen64Plus-AE/12DEC2012/Mupen64Plus-debug.apk) (12 Dec 2012)

- Release Optimized (http://www.paulscode.com/source/Mupen64Plus-AE/09DEC2012/Mupen64Plus.apk) (09 Dec 2012)
- Debug Build (http://www.paulscode.com/source/Mupen64Plus-AE/09DEC2012/Mupen64Plus-debug.apk) (09 Dec 2012)

- Release Optimized (http://www.paulscode.com/source/Mupen64Plus-AE/01DEC2012/Mupen64Plus.apk) (01 Dec 2012)

- Debug Build (http://www.paulscode.com/source/Mupen64Plus-AE/03DEC2012/Mupen64Plus-debug.apk) (03 Dec 2012)

- Debug Build (http://www.paulscode.com/source/Mupen64Plus-AE/04DEC2012/Mupen64Plus-debug.apk) (04 Dec 2012)

Use the release-optimized builds for performance tests.  If you do happen to find new crashes that you didn't used to experience, or if you are submitting a logcat for review, please use the slower debug builds for that.

If everyone could spread the word about Mupen64Plus AE on your social networks, it would be very helpful, to help breath life back into the forum here and get more testers to help out as we approach the Beta 2.0 release!

List of bugs reported and being looked into
- App crashes immediately on Froyo.
- Rice stretch screen is opposite to preference
- Rice unstretched is not centered
- Rice unstretched has junk graphics on side of screen for some devices
- GLES2N64 auto frameskip doesn't appear to be working
- GLES2N64 is slower for Mario64 than previous build
- GLES2N64 frameskip preference dialog doesn't scroll (can't select some options on smaller screens)
- Virtual gamepad analog stick immobile
- On/ off button for gamepads switches back off when leaving or toggling volume key controls
- Selecting "Main Menu" from in-game menu either quits or crashes the app
- No "reset" function in-game
- Reset function is crashing the game again
- Cheats option does nothing
- Orientation change erases cheat menu options
- Import texture pack option does nothing
- Xperia Play touchpad options missing from Settings->Touch on some Xperia Plays (or possibly difficult to find)
- When loading each game for the first time it crashes but runs fine after the second try
- Emulator crashes if you open and close the xperia play gamepad controls.
- Emulator crashes if you have landscape mode selected but are holding the phone in portrait at startup
- 'Gamepad/keyboard' option refuses to stay enabled
- When entering settings, nothing gives touch responses.  Have to go back then press settings again
- Input from IMEs not interpreted properly
- Core functions not functioning

If you find a bug that's not on the list, or if one is fixed and I forgot to strike it off, let me know!
Title: Re: Latest Build!
Post by: littleguy on December 01, 2012, 08:36:29 PM
You should make a fb page for the project.  I just liked ouya's page yesterday
 8)
Title: Re: Latest Build!
Post by: xperia64 on December 01, 2012, 08:56:38 PM
REALLY fast but found a couple of issues so far:
Mapping buttons is confusing (and what are the light grey buttons in the bottom center?)
gles2rice stretch enabled shows the game in the left 3/4 of the screen, then in the other 1/4 of the screen, 2 smaller "screens" show the bottom right corner of the real screen repeated.
Pressing Main Menu autosaves and quits the app
Portrait doesn't work
Edit: with stretch disabled, it stretches normally.
Title: Re: Latest Build!
Post by: Evil King Stan on December 01, 2012, 08:59:35 PM
How do you enable Xperia Play gamepad on this version? I can't seem to find that option anywhere in the settings. Also, it seems just a tad slower on gles2n64 video plugin now, (first time I've seen frame skipping on Mario 64 in a long time.) I like the new menu layout though.
Title: Re: Latest Build!
Post by: xperia64 on December 01, 2012, 09:01:09 PM
How do you enable Xperia Play gamepad on this version? I can't seem to find that option anywhere in the settings. Also, it seems just a tad slower on gles2n64 video plugin now, (first time I've seen frame skipping on Mario 64 in a long time.) I like the new menu layout though.
xperia play touchpad is in settings->Touch
Title: Re: Latest Build!
Post by: littleguy on December 01, 2012, 09:05:29 PM
Yeh very likely the button mapping will back to something like before . Top of my todo list atm
Title: Re: Latest Build!
Post by: Paul on December 01, 2012, 09:10:31 PM
How do you enable Xperia Play gamepad on this version? I can't seem to find that option anywhere in the settings. Also, it seems just a tad slower on gles2n64 video plugin now, (first time I've seen frame skipping on Mario 64 in a long time.) I like the new menu layout though.

Are you using an Xperia Play, I assume?  If so, and the touchpad settings aren't there, could you look up what says in Settings->Advanced->Device Info in the "Hardware" section near the bottom?

Also, check if disabling the virtual gamepad helps any with the speed.  -- EDIT-- sorry, it is called "Touchscreen" now, in Settings->Touch.  Just uncheck it.
Title: Re: Latest Build!
Post by: xperia64 on December 01, 2012, 09:15:36 PM
YES! DK64 WORKS!
and even though you've seen it before, here is the banjo-tooie crash logcat yet again: http://pastebin.com/SNDrv8k9
Title: Re: Latest Build!
Post by: Paul on December 01, 2012, 09:25:09 PM
I'll have to post a debug build so I can use addr2line.  I'll take a look at that crash again once we get the update complete.
Title: Re: Latest Build!
Post by: littleguy on December 01, 2012, 09:43:21 PM
Figures, the weekend I'm out of town everything hits the fan  :P

Actually having problems with the XPlay touchpad in the release build all of the sudden... strange.
Title: Re: Latest Build!
Post by: Paul on December 01, 2012, 09:45:40 PM
Sorry about that!  This is the first weekend I've had off in a while, so that's why I've been getting a little crazy with the project today.  You definitely deserve a ton of credit for all the awesome work you've done with this front-end!!
Title: Re: Latest Build!
Post by: littleguy on December 01, 2012, 09:55:51 PM
No apologies! Glad you're getting a little free time...I'm just feeling all cooped up in this hotel while everyone else is having fun ;D
Title: Re: Latest Build!
Post by: xperia64 on December 01, 2012, 11:02:30 PM
Touchpad works fine for me, but I'm om 2.3.3 if that makes any difference. And I also noticed gles2n64 auto frameskip doesn't seem to work and its a bit slower. Still working on compatibility chart. Animal Forest runs pretty well :)
Title: Re: Latest Build!
Post by: Paul on December 01, 2012, 11:34:29 PM
Yes, seems like something is missing on that screen.  Should be able to set the max frames skipped when Auto is selected.  Seems to be just auto default (2 probably?) and a list of manual frame skip choices.

Might be able to fix it by making "Auto" a checkbox, and the rest radio buttons on that dialog if it's editable like that (I'll have to look at the code where it gets generated).  I'll also check to make sure selected settings make it through to the native side where it's used, to rule out any problems there.
Title: Re: Latest Build!
Post by: arrtoodeetoo on December 02, 2012, 12:45:58 AM
I found a major bug (possibly).

I'm using a Motorola XOOM on Android 4.1.

I'm trying to set up PS3 controllers with the Sixaxis app. I've previously been able to do this on the older version of Mupen, but you've changed the scheme for setting buttons on this version. I like the new setup but it doesn't work!

When I open the input settings, I am greeted with a nice clean screen to turn on the gamepads I want to use. Ok, cool. So I turn one on. I hit configure, pull up the controller graphic thingy, touch a button and NOTHING HAPPENS! No matter how many times I press it, I get nothing but a quick flash of blue over the button. I see nothing that says "Press a button on gamepad" or the like, and pressing a button on the PS3 Controller doesn't do anything, either.

Also a huge annoyance I foresee: The on/off button for the gamepads should stay on or off all the time. When I leave the screen or even toggle "Volume Key Controls", they all switch back off. It would be very annoying to have to switch the controllers on every time you start the app.

I've had a ton of fun with Mupen in the past and am looking forward to testing this update once I can get my controllers mapped out (and actually keep them turned on when I leave the screen!). I hope this problem can get fixed soon. Thanks for the great app!
Title: Re: Latest Build!
Post by: scorpio16v on December 02, 2012, 03:54:26 AM
Pressing Main Menu autosaves and quits the app

Same here on SGS 3.

Here is the logcat, if you need it:
https://dl.dropbox.com/u/17774073/latest%20build%20resume%20bug.txt

The "language" dialogue is linked to the device settings atm ?

Maybe I can make deeper tests on this and other devices in the next time, but can't promise.
Title: Re: Latest Build!
Post by: littleguy on December 02, 2012, 03:08:52 PM
Yes, seems like something is missing on that screen.  Should be able to set the max frames skipped when Auto is selected.  Seems to be just auto default (2 probably?) and a list of manual frame skip choices.

Might be able to fix it by making "Auto" a checkbox, and the rest radio buttons on that dialog if it's editable like that (I'll have to look at the code where it gets generated).  I'll also check to make sure selected settings make it through to the native side where it's used, to rule out any problems there.

Back home again and using a keyboard again, whew.

This might all be about me misunderstanding the original menu.  I was just trying to consolidate the checkbox and manual settings into a single list preference, thinking each entry in the list was mutually exclusive.

Come to think about it, I might have forgotten to rewire a couple preferences back into the config files.  I'll take a look right now...

Edit: Version 1.9.2 has these two preferences and help text:

[checkbox] Auto Frameskip (auto-adjusts based on speed)
[listbox] Max Frameskip (disable auto frameskip to set manually)

So I took that to mean that the max frameskip setting was ignored if auto frameskip was checked, i.e. you were either choosing 'auto' or a number... hence why I combined them into a single list preference.  If I misunderstood, just let me know.
Title: Re: Latest Build!
Post by: Paul on December 02, 2012, 03:19:28 PM
I *THINK* max frameskip is used in auto frameskip to indicate the maximum number of frames to skip when emulation is lagging, and in manual frameskip it indicates the exact number of frames to skip.  It's been a while since I looked at the code, so I'll look at it again to make sure I'm not off track.  I kind of remember this confusing me at first and I came to the conclusion that max frameskip was used in both auto and manual after looking at the code.  But then, it is pretty confusing (more to it than just discarding frames), so I could have gotten a false impression anyway.
Title: Re: Latest Build!
Post by: littleguy on December 02, 2012, 03:30:16 PM
I'm trying to set up PS3 controllers with the Sixaxis app. I've previously been able to do this on the older version of Mupen, but you've changed the scheme for setting buttons on this version. I like the new setup but it doesn't work!

When I open the input settings, I am greeted with a nice clean screen to turn on the gamepads I want to use. Ok, cool. So I turn one on. I hit configure, pull up the controller graphic thingy, touch a button and NOTHING HAPPENS! No matter how many times I press it, I get nothing but a quick flash of blue over the button. I see nothing that says "Press a button on gamepad" or the like, and pressing a button on the PS3 Controller doesn't do anything, either.

Also a huge annoyance I foresee: The on/off button for the gamepads should stay on or off all the time. When I leave the screen or even toggle "Volume Key Controls", they all switch back off. It would be very annoying to have to switch the controllers on every time you start the app.

Thanks for the very clear feedback.  The problem you describe with the on/off buttons is definitely not the intended behavior, glad you caught it and I'm on the spot fixing it now.

The button mapping screen is still somewhat conceptual and I apologize that a buggy version got released, I had a miscommunication with Paul about its readiness.  Just last week it had instructions in it that would probably have helped make more sense of it.  In any event, we'll probably go back to a more conventional mapping screen, like used in the last release of the app.  Thanks for the patience.

Oh, and since the instructions are missing: here's how you map (and I can understand the confusion): Press the button/joystick on your gamepad first, then touch the icon on the screen you want it to map to.  (backwards I know, don't ask why, long story).  To unmap, long-touch an icon on the screen.
Title: Re: Latest Build!
Post by: littleguy on December 02, 2012, 03:34:46 PM
I *THINK* max frameskip is used in auto frameskip to indicate the maximum number of frames to skip when emulation is lagging, and in manual frameskip it indicates the exact number of frames to skip.  It's been a while since I looked at the code, so I'll look at it again to make sure I'm not off track.  I kind of remember this confusing me at first and I came to the conclusion that max frameskip was used in both auto and manual after looking at the code.  But then, it is pretty confusing (more to it than just discarding frames), so I could have gotten a false impression anyway.
Ok, I'll look into this some more.  If it really is used both ways, then yes the new interface needs to be changed.  And if it confuses us, it will surely confuse users :P so some re-thinking of that menu would be in order.
Title: Re: Latest Build!
Post by: Paul on December 02, 2012, 03:41:47 PM
The button mapping screen is still somewhat conceptual and I apologize that a buggy version got released, I had a miscommunication with Paul about its readiness.

Sorry about that.  I probably should have mentioned this is a snap-shot of work-in-progress, not a Release Candidate.
Title: Re: Latest Build!
Post by: Tom.K on December 02, 2012, 04:20:49 PM
Pretty much all works in here for now, though there are some annoyances...
Instead of going back to main menu, it quits back to homescreen after auto-save, with messages that emulator is not responding sometimes. Though, game itself is saved and save itself loads perfectly normal.   Already mentioned.
GLES2N64 Frameskip option won't scroll for some reason, not able to choose specific amount.

Super Mario 64 seems to go better than before, same for Re-Volt 64 (about 8 FPS, it's almost playable with very difficult analog control)
Title: Re: Latest Build!
Post by: littleguy on December 02, 2012, 04:22:21 PM
Pressing Main Menu autosaves and quits the app

Thanks, this is a known issue, so no need to do extensive testing.

Paul - might be a good idea to update the first post with an ongoing list of bugs, so people don't waste too much time on known bugs.

The "language" dialogue is linked to the device settings atm ?
That is correct.  It's just a shortcut to the OS language settings as a convenience to the user.
Title: Re: Latest Build!
Post by: littleguy on December 02, 2012, 04:28:16 PM
Sorry about that.  I probably should have mentioned this is a snap-shot of work-in-progress, not a Release Candidate.
Yeah so I would also suggest updating the first post to that effect.  I would hate to turn off all our loyal testers with so many bugs :-[ (many of which we are already working on).
Title: Re: Latest Build!
Post by: littleguy on December 02, 2012, 04:36:40 PM
Also a huge annoyance I foresee: The on/off button for the gamepads should stay on or off all the time. When I leave the screen or even toggle "Volume Key Controls", they all switch back off. It would be very annoying to have to switch the controllers on every time you start the app.
Strange, I can't seem to replicate this problem... looking into it more...
Title: Re: Latest Build!
Post by: Paul on December 02, 2012, 04:48:43 PM
OP updated with reported bug list, and disclaimer.
Title: Re: Latest Build!
Post by: arrtoodeetoo on December 02, 2012, 10:36:49 PM
Thanks for the quick feedback.

I think the keypad setup screen is totally fine, it just needs to make more sense. First off, reversing your input button select so that you press a key on the screen first, along with a "press a key on gamepad" toast notification, and a confirmation that it is set once the button is pressed, would help. Second, you should be notified if a key is already assigned to a button so that you don't have two controllers accidentally using the same button.

Also, could someone tell me where the "reset" function is for the actual emulator? I can't seem to find it and the game autosaves and I can't get back to the intro screen once I exit the emulator and re-open it.
Title: Re: Latest Build!
Post by: Paul on December 02, 2012, 10:52:55 PM
Yes, reset is one of the top priority items to add.  Not in there yet.
Title: Re: Latest Build!
Post by: littleguy on December 02, 2012, 10:56:04 PM
Heh, the reset button is a todo item, should be easy but I needed to coordinate with Paul first.  If you'really desperate you can delete the autosavefile, found in the same directory you specified for savegames.

Yep,.reversing the button press would be better.  There are other problems.with that screen beyond that though.  I.hope to have something better to show soon.
Title: Re: Latest Build!
Post by: Paul on December 02, 2012, 11:21:10 PM
Heh, the reset button is a todo item, should be easy but I needed to coordinate with Paul first.

I haven't checked if NativeMethods.resetEmulator() is working (may not be hooked up - just need it to fire a core reset command).  I recall a problem where the core reset command froze the emulator, but that was quite a while ago when a lot of things were broken, so it may be fine.  If not, then we can always fire a stop and start to accomplish the same thing.  I can hook this up after I finish the cheats menu if you prefer.
Title: Re: Latest Build!
Post by: littleguy on December 02, 2012, 11:40:28 PM
Whatever works for you.  If you want to make the backend for it, it will only take me ten minutes to do the front.
Title: Re: Latest Build!
Post by: SilentHunter382 on December 03, 2012, 04:52:48 AM
I am just gonna say my experience with this small release. I know some of these problems may have be repeated but its better to see that.

-Device: Xperia Play

Problems
- I can't find the option to toggle to have xperia play controls like in the last build
- When loading the game for the first time loading the emulator it crashes but runs fine after the second game. (It does this for every game I tried)
- Emulator crashes if you open and close the xperia play controls.

These are a few but I my encounter more.
Title: Re: Latest Build!
Post by: Paul on December 03, 2012, 05:18:44 AM
Awesome, I'll add them to the list.

For the Xperia Play controls, if you are using an Xperia Play (I assume so), and you can't find them under Settings->Touch, could you look up what says in Settings->Advanced->Device Info in the "Hardware" section near the bottom?  There is new code that should make these settings only available to Play users, but it makes an assumption about what's in the device info, that we might need to test.  Let me know.

@littleguy, I remember having problems with the Xperia Play when the controlls are slid in or out while in-game.  Problem in that case was that this was considered an "orientation change", which resulted in the rendering context being lost.  The fix was to indicate in the manifest that we are handling the slide keyboard orientation (or something along those lines).  I'd have to look at the manifest closer to see if that is related to what's happening in this case.
Title: Re: Latest Build!
Post by: SilentHunter382 on December 03, 2012, 05:33:46 AM
For the Xperia Play controls, if you are using an Xperia Play (I assume so), and you can't find them under Settings->Touch, could you look up what says in Settings->Advanced->Device Info in the "Hardware" section near the bottom?  There is new code that should make these settings only available to Play users, but it makes an assumption about what's in the device info, that we might need to test.  Let me know.

Yes I am using the Xperia Play, this is the device info.

Processor: ARMv7 Processor rev 1 (v7|)
BogoMIPS: 163.57
Features: swp half thumb fastmult vfp edsp neon vfpv3
CPU implementer: 0x51
CPU architecture: 7
CPU variant: 0x1
CPU part: 0x00f
CPU reversion: 1

Hardware: zeus
Revision: 000b
Serial: 0000000000000000
Title: Re: Latest Build!
Post by: Paul on December 03, 2012, 05:43:17 AM
Hardware: zeus

Hmm.. this is what the code should be checking on to see if you have a Play (so far seems to be unique).  I'm at a loss why the settings aren't showing up for you in the touch menu :(
Title: Re: Latest Build!
Post by: SilentHunter382 on December 03, 2012, 05:59:07 AM
Hardware: zeus

Hmm.. this is what the code should be checking on to see if you have a Play (so far seems to be unique).  I'm at a loss why the settings aren't showing up for you in the touch menu :(

That's ok. I can edit the controls for me to customize them myself in the input menu but editing the anolog and the C controls to the 2 anolog touch pads are the hardest part.

EDIT: Another bug. It won't let me display the onscreen controls if I decide to use them ingame. This must have something to do with the emulator knowing that you have an xperia play and refuses to display them. Though this may not be a bug and I could be doing something wrong.
Title: Re: Latest Build!
Post by: littleguy on December 03, 2012, 06:19:57 AM
I can see why this is confusing now.  The touchpad itself is mapped in the Touch settings.  The buttons are mapped in the Input settings.  In the Input settings, don't bother trying to map the analog stick or c-pad; they're already mapped for you when you enable the touchpad.

The input mapping settings clearly need a major update, and that's on the top of my plate right now.

Paul - I'll look into the manifest and get a fix for that since I have an XPlay and can test directly.  I noticed the crash with the slider opern/close, but I assumed that was related to the Activity Stack Double Pop bug (ASDP, that's what I'm calling it) so I didn't look into it too much.
Title: Re: Latest Build!
Post by: quho on December 03, 2012, 07:00:42 AM
This version is the fastest so far.  Very good!  :)

There's just one very annoying bug which wasnt on the list in op. When playing ocarina of time (havent tested other games yet, but i will soon) after ~15 minutes, the touch controls get bugged badly. For example, can't aim with boomerang, can't play ocarina (wont register c/A button presses when playing it), and sometimes buttons get jammed (shield being up even if im not pressing r).

Also is it possible to do importable gles2n64 graphics plugin which would have tribuffer opt disabled? thanks.
Title: Re: Latest Build!
Post by: Vincentmrl on December 03, 2012, 09:31:06 AM
Hey Paul, nice work  on the new version, but there's a problem, the key mapping interface is confusing and I can't map the back button, that's important for me because I use it as B button, also Mario is laggy but it goes at 20-25fps, better than nothing. I'm offering to do the italian translation when this is done. I suggest putting a lower resolution graphical plugin or something to lower video resoultion, so that older phones can play better with worse graphics, it's an option in a mac n64 emu called sixtyforce, it's using gles2n64 0.5.2 (wonder why the emu is slow :3) and the option's called High resolution rendering, I can enable or disable it, disabled shows the games at lower quality but they go better.
I just tried Mario 64 on the emu again and it froze to sound select after mario's head.
Title: Re: Latest Build!
Post by: Tom.K on December 03, 2012, 02:31:36 PM
Just to note:
Quote
- Emulator crashes if you open and close the xperia play gamepad controls.
This happens even on my hardware keyboard if I try to open or close it.

Another bug:
If I disable audio by disabling plugin in settings, after loading game it will crash.
If I choose no-sound-hle, game plays with very strange sound stuttering (it loops same pattern for whole time) and it's very slow.
Title: Re: Latest Build!
Post by: littleguy on December 03, 2012, 02:34:12 PM
Just to note:
Quote
- Emulator crashes if you open and close the xperia play gamepad controls.
This happens even on my hardware keyboard if I try to open or close it.
Great, that's helpful.  I think we just fixed this one today, and I think the solution applies to all types of slider phones.
Title: Re: Latest Build!
Post by: Godshinnok on December 03, 2012, 04:48:13 PM
whenever i start a game it instantly crashes the app. i tried to change around the settings to fix this, what can i do?

im sorry if this is a known bug
Title: Re: Latest Build!
Post by: Paul on December 03, 2012, 05:38:16 PM
Any particular game, or does Mario 64 crash too?  What is your phone model?  You should also verify your ROMs are OK by testing on an emulator for your PC if you have one.
Title: Re: Latest Build!
Post by: Godshinnok on December 03, 2012, 06:24:51 PM
Any particular game, or does Mario 64 crash too?  What is your phone model?  You should also verify your ROMs are OK by testing on an emulator for your PC if you have one.

 a Samsung Galaxy Q (or gravity smart in america). the roms i have like super mario 64 and ocarina of time  work perfectly fine with PJ64, Mupen64, and 1964 on my PC but when i try to play them on the app it freezes and force closes the app
Title: Re: Latest Build!
Post by: Paul on December 03, 2012, 06:27:39 PM
Ok, thanks I'll post a debug build for you to run, so we can figure out where it's crashing.  Probably won't have time until tomorrow though (trying to finish a feature tonight before bed)
Title: Re: Latest Build!
Post by: Paul on December 03, 2012, 06:34:16 PM
a Samsung Galaxy Q (or gravity smart in america).

BTW does that one have Froyo on it (Android version 2.2)?  Could be an API-level issue going on.
Title: Re: Latest Build!
Post by: Godshinnok on December 03, 2012, 09:33:58 PM
a Samsung Galaxy Q (or gravity smart in america).

BTW does that one have Froyo on it (Android version 2.2)?  Could be an API-level issue going on.

Yes its froyo
Title: Re: Latest Build!
Post by: Paul on December 03, 2012, 10:38:13 PM
Yes its froyo
Oh, good, we need some folks with Froyo to do tests.  Here is that debug build:

Debug Build (http://www.paulscode.com/source/Mupen64Plus-AE/03DEC2012/Mupen64Plus-debug.apk)
(lots of stuff still not hooked up yet, just interested in crash reports)

You'll have to uninstall the previous "Latest Build" since it has a debug signature that will conflict.  Please post the logcat output after experiencing the crash.  If you aren't familiar with accessing the logs, I posted instructions in this thread (http://www.paulscode.com/forum/index.php?topic=93.msg2221#msg2221).


Anyone else experiencing crashes, you can also post logcat output and I'll take a look through them to see what I can see.  If aLogcat doesn't work for you, let me know (there are other methods you can use to get to the logs).
Title: Re: Latest Build!
Post by: Godshinnok on December 03, 2012, 11:02:44 PM
Thanks paul!  I will post the output tomorrow
Title: Re: Latest Build!
Post by: Godshinnok on December 04, 2012, 03:54:48 PM
Yes its froyo
Oh, good, we need some folks with Froyo to do tests.  Here is that debug build:

Debug Build (http://www.paulscode.com/source/Mupen64Plus-AE/03DEC2012/Mupen64Plus-debug.apk)
(lots of stuff still not hooked up yet, just interested in crash reports)

You'll have to uninstall the previous "Latest Build" since it has a debug signature that will conflict.  Please post the logcat output after experiencing the crash.  If you aren't familiar with accessing the logs, I posted instructions in this thread (http://www.paulscode.com/forum/index.php?topic=93.msg2221#msg2221).


Anyone else experiencing crashes, you can also post logcat output and I'll take a look through them to see what I can see.  If aLogcat doesn't work for you, let me know (there are other methods you can use to get to the logs).

how do i post the results? the txt file i got
Title: Re: Latest Build!
Post by: Paul on December 04, 2012, 05:17:23 PM
You can either attach it, or email it to me (paul AT paulscode DOT com)
Title: Re: Latest Build!
Post by: Paul on December 04, 2012, 06:14:43 PM
That's interesting.  It seems to be complaining that GameActivityXperiaPlay is missing.  I have a feeling this is API related, but I'll have to look at it closer on my netbook when I get home in a few minutes (hard to analyze from my small phone screen)
Title: Re: Latest Build!
Post by: littleguy on December 04, 2012, 06:43:15 PM
Does sound API related.  GameActivityXperiaPlay requires Gingerbread, but it should never be instantiated unless the xperia play touchpad is enabled.  Paul - are you sure that's what's crashing it?  If API-dependent methods are missing, logcat will throw warnings, but this shouldn't produce a crash AFAIK.
Title: Re: Latest Build!
Post by: Paul on December 04, 2012, 06:58:57 PM
No not sure - that was a quick analysis from my phone while waiting in gridlock rush-hour traffic :)  I just got home, so I'll look at it now.
Title: Re: Latest Build!
Post by: Paul on December 04, 2012, 07:02:16 PM
Yes, seems to be what's causing the crash:

Code: [Select]
E/AndroidRuntime( 8439): java.lang.NoClassDefFoundError: paulscode.android.mupen64plusae.GameActivityXperiaPlay
E/AndroidRuntime( 8439): at paulscode.android.mupen64plusae.GameLifecycleHandler.<init>(GameLifecycleHandler.java:101)
E/AndroidRuntime( 8439): at paulscode.android.mupen64plusae.GameActivity.<init>(GameActivity.java:34)
W/ActivityManager(26418):   Force finishing activity paulscode.android.mupen64plusae/.GameActivity
W/ActivityManager(26418):   Force finishing activity paulscode.android.mupen64plusae/.MenuActivity

He sent me three logs, I'll take a look at them more closely and then look up that line in the code if that seems to be the culprit.

--EDIT--
Yeh, all three have the same thing.  Here is a full one:
Code: [Select]
I/ActivityManager(26418): Starting activity: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10100000 cmp=paulscode.android.mupen64plusae/.MainActivity }
V/ActivityThread( 8652): Reporting idle of ActivityRecord{4a04f040 token=android.os.BinderProxy@4a04ea18 {paulscode.android.mupen64plusae/paulscode.android.mupen64plusae.MenuActivity}} finished=false
I/WindowManager(26418): Delivering pointer 0 > Window{4a019c90 paulscode.android.mupen64plusae/paulscode.android.mupen64plusae.MenuActivity paused=false}
I/WindowManager(26418): Delivering pointer 1 > Window{4a019c90 paulscode.android.mupen64plusae/paulscode.android.mupen64plusae.MenuActivity paused=false}
I/ActivityManager(26418): Starting activity: Intent { cmp=paulscode.android.mupen64plusae/.GameActivity }
W/ActivityManager(26418): Trying to launch paulscode.android.mupen64plusae/.GameActivity
W/dalvikvm( 8652): Unable to resolve superclass of Lpaulscode/android/mupen64plusae/GameActivityXperiaPlay; (14)
W/dalvikvm( 8652): Link of class 'Lpaulscode/android/mupen64plusae/GameActivityXperiaPlay;' failed
E/dalvikvm( 8652): Could not find class 'paulscode.android.mupen64plusae.GameActivityXperiaPlay', referenced from method paulscode.android.mupen64plusae.GameLifecycleHandler.<init>
W/dalvikvm( 8652): VFY: unable to resolve instanceof 588 (Lpaulscode/android/mupen64plusae/GameActivityXperiaPlay;) in Lpaulscode/android/mupen64plusae/GameLifecycleHandler;
E/AndroidRuntime( 8652): java.lang.NoClassDefFoundError: paulscode.android.mupen64plusae.GameActivityXperiaPlay
E/AndroidRuntime( 8652): at paulscode.android.mupen64plusae.GameLifecycleHandler.<init>(GameLifecycleHandler.java:101)
E/AndroidRuntime( 8652): at paulscode.android.mupen64plusae.GameActivity.<init>(GameActivity.java:34)
W/ActivityManager(26418):   Force finishing activity paulscode.android.mupen64plusae/.GameActivity
W/ActivityManager(26418):   Force finishing activity paulscode.android.mupen64plusae/.MenuActivity
D/VoldCmdListener(   92): CommandListener::AsecCmd::runCommand -> paulscode.android.mupen64plusae-1
W/ActivityManager(26418): Activity pause timeout for HistoryRecord{4a362708 paulscode.android.mupen64plusae/.GameActivity}
I/ActivityManager(26418): Process paulscode.android.mupen64plusae (pid 8652) has died.
I/WindowManager(26418): WIN DEATH: Window{4a019c90 paulscode.android.mupen64plusae/paulscode.android.mupen64plusae.MenuActivity paused=true}
Title: Re: Latest Build!
Post by: Paul on December 04, 2012, 07:13:11 PM
I think I can fix this one simply enough, if you don't mind me editing your life-cycle handler, littleguy.
Title: Re: Latest Build!
Post by: littleguy on December 04, 2012, 07:30:50 PM
Edit away, it's not mine :).  I think you just need to change the conditional from
Code: [Select]
mIsXperiaPlay = activity instanceof GameActivityXperiaPlay;to
Code: [Select]
mIsXperiaPlay = !( activity instanceof GameActivity );
Title: Re: Latest Build!
Post by: Paul on December 04, 2012, 07:46:31 PM
Haha, I just meant I figured you might be eager to jump on this fix since you wrote the class.  Yes, that was my first though for the solution as well.  If this one crashes too, please email me the logcat again.  Thanks for helping out with the testing!

Froyo Test (http://www.paulscode.com/source/Mupen64Plus-AE/04DEC2012/Mupen64Plus-debug.apk)
Title: Re: Latest Build!
Post by: Godshinnok on December 04, 2012, 08:17:42 PM
Haha, I just meant I figured you might be eager to jump on this fix since you wrote the class.  Yes, that was my first though for the solution as well.  If this one crashes too, please email me the logcat again.  Thanks for helping out with the testing!

Froyo Test (http://www.paulscode.com/source/Mupen64Plus-AE/04DEC2012/Mupen64Plus-debug.apk)

no problem  ;D this one works perfectly, thanks paul
Title: Re: Latest Build!
Post by: Paul on December 04, 2012, 08:22:06 PM
Great!  If you notice anything else, let me know.
Title: Re: Latest Build!
Post by: Sarkie on December 07, 2012, 06:07:11 AM
WOOP! It now works on my Nexus One (never used to but n64oid does)

Testing Mario.
FPS counter isn't right, I'm sure.
Seems to crash in portrait mode.
Audio is very stuttery.
Main Menu crash (you know)
gles2n64 is slow, gles2rice makes it playable on the crappy phone.

Testing Waverace.
Slow on any setting.

Ran RSP-nosound, doesn't seem to be much difference if I disable audio. Should there be?

I will test with my gamepad this weekend or monday.

My friend has an Xperia Play running a stock phone rom I can test with if needs be.

cheers!
Title: Re: Latest Build!
Post by: littleguy on December 09, 2012, 01:00:01 PM
Paul - When you get a chance (I know you're swamped) might be good to post the latest build on the OP.  A lot of changes have been implemented in the last week:
 - ASDP workaround implemented
 - Fix crash on Froyo
 - More intuitive button mapping screen
 - New button mapping screens for small devices (phones) and XPlay
 - Simplification of a few menus
 - Crash reporting system
Title: Re: Latest Build!
Post by: Paul on December 09, 2012, 01:53:01 PM
Sure, we are back at the hotel now.  I FTP'd up the debug build, and building the release-optimized version now.  I'll update the OP if it ever gets finished (45 minutes or so on this slow netbook, haha!)
Title: Re: Latest Build!
Post by: littleguy on December 09, 2012, 02:13:30 PM
Why do you have to recompile the JNI?  On my computer it builds incrementally.

Edit: Oh wait maybe it has to do with switching between debug and release.  BTW is there really a difference in speed between the two versions?
Title: Re: Latest Build!
Post by: Paul on December 09, 2012, 02:18:50 PM
Yes it is because of release vs debug.  There is a noticeable speed difference, depending on the phone and the game.
Title: Re: Latest Build!
Post by: Paul on December 09, 2012, 02:46:36 PM
Updated the first post with the latest builds.  If you find a bug that's not on the list, or if one is fixed and I forgot to strike it off, let me know!
Title: Re: Latest Build!
Post by: littleguy on December 09, 2012, 03:39:08 PM
- Virtual gamepad analog stick immobile

This is by design, for slower devices.  Maybe the default shouldn't be off though.  To make it mobile, see the Touch settings for "Redraw joystick".
Title: Re: Latest Build!
Post by: Paul on December 09, 2012, 04:01:34 PM
No, let's leave the default as it is, since Android is so slow at drawing.  I had resorted to defaulting to the touch layout because of this, but that's essentially what the default of redraw joystick off does.  I'm not sure "Redraw Joystick" is the best title for this though (not obvious that is what controls the joystick animation).  I'll see if I can think of a better term there (not a huge deal anyway).
Title: Re: Latest Build!
Post by: littleguy on December 09, 2012, 04:04:18 PM
Yeah, any suggestions on language are always good... I've struggled with some...
Title: Re: Latest Build!
Post by: crazyxelite on December 09, 2012, 05:48:30 PM
hi paul thanks again for your attention!
the log:
Title: Re: Latest Build!
Post by: Paul on December 09, 2012, 06:15:11 PM
The problem seems to be related to the audio context.  If your phone is muted could you see if it works if you unmute?  If not, try disabling the audio plug-in and using rsp-hle-nosound for the RSP plug-in.  Let me know if that changes anything.
Title: Re: Latest Build!
Post by: crazyxelite on December 09, 2012, 06:23:29 PM
Hi paul yes only work if i disable the sound... its hard to fix? But now i can play bettet than close thanks :-)
Title: Re: Latest Build!
Post by: Paul on December 09, 2012, 06:53:27 PM
That is strange.  Nothing unusual about the audio system on your phone?  (blue-tooth headset, media volume muted, phone on vibrate, etc).  Any other games or apps having audio issues?  See if rebooting your phone has any effect.  I haven't seen this before, so not sure what it will take to fix it just yet.
Title: Re: Latest Build!
Post by: arrtoodeetoo on December 10, 2012, 01:05:42 AM
Things are looking much better, however I still can't test it with the sixaxis app.

For some reason, it's not detecting the PS3 input. I can tap a button to bring up the dialog to set the input, but pressing buttoned on the PS3 controller does nothing at all. Can someone else see if they're able to get it to work? Might be device specific. Also, the on/off button is still toggling off by itself.
Title: Re: Latest Build!
Post by: maalox on December 10, 2012, 02:18:54 AM
(Using the Dec 9 release build on a Galaxy Note II)

I am able to use my sixaxis wireless controller (via the sixaxis control app). All the buttons map fine and the analog stick works great. My issue is that I have 2 sixaxis controllers, but they both appear to be recognized as the same controller. For example:

1- Run sixaxis control app and connect the 2 controllers
2- Start Mupen64Plus, AE
3- From the Mupen64 settings, turn on controller 1 and map all the buttons using the FIRST sixaxis controller.
4- From the Mupen64 settings, turn on controller 2 and map all the buttons using the SECOND sixaxis controller.
5- Run the Mario Kart 64 rom
6- Start a 2 player game

Result: Whether I use sixaxis controller 1 or sixaxis controller 2, both characters respond to the same input. For example, hitting the gas on one controller causes both players to move forward, moving left causes both to move left, etc... Another manifestation of this problem is in the menu of the game: on the first screen where you select the type of game (1 player/2 players/3...), pressing "right" on one of the control sticks a single time will cause your selection to move right twice ("3 player game"), because the "right" input is getting read once for each  controller.

Note that the SNES 9x EX emulator is able to differentiate between the 2 controllers using the same setup.

P.S. Thanks a lot for your work on this awesome app!
Title: Re: Latest Build!
Post by: Paul on December 10, 2012, 06:59:09 AM
- Virtual gamepad analog stick immobile

This is by design, for slower devices.  Maybe the default shouldn't be off though.  To make it mobile, see the Touch settings for "Redraw joystick".

I was thinking.. since this fulfills the original purpose of the "Touch" layouts, why don't we remove those and replace them with "All Buttons" layouts.. what do you think?
Title: Re: Latest Build!
Post by: littleguy on December 10, 2012, 07:42:51 AM
Paul - I'm not sure I understand what you're suggesting.
Title: Re: Latest Build!
Post by: littleguy on December 10, 2012, 07:53:48 AM
For some reason, it's not detecting the PS3 input. I can tap a button to bring up the dialog to set the input, but pressing buttoned on the PS3 controller does nothing at all. Can someone else see if they're able to get it to work? Might be device specific. Also, the on/off button is still toggling off by itself.

Just to be sure we're on the same page... The mapping process has changed to a more typical style.  Go to the mapping screen, touch an icon on the screen, a dialog should pop up that listens to your next key/stick press.  (Sorry if you already understood all this).  Also, try using the "Calibrate" button on the mapping screen if you haven't already.

I am clueless about the toggling issues, I can't even see how that's happening.  My only thought is to go into Android's app settings, delete the data files for Mupen64Plus (not Mupen64Plus-AE), then uninstall.  Then reinstall the latest version shown on the first post of this thread.

If that still doesn't work, you can send us your device specs by going into Advanced->Crash reports.... Then enable crash reporting, type in your username for contact, then press Test (this will intentionally crash the app and send some basic hardware config info).  You can see the report yourself at the website listed in the app.
Title: Re: Latest Build!
Post by: littleguy on December 10, 2012, 08:11:03 AM
My issue is that I have 2 sixaxis controllers, but they both appear to be recognized as the same controller.
[snip]
Whether I use sixaxis controller 1 or sixaxis controller 2, both characters respond to the same input. For example, hitting the gas on one controller causes both players to move forward, moving left causes both to move left, etc...
[snip]
Note that the SNES 9x EX emulator is able to differentiate between the 2 controllers using the same setup.

Just the user I was looking for!  Someone with two identical controllers.  I'm really glad to hear your PS3 controllers work.

I should have mentioned at the top of the thread that multi-controller is not fully implemented yet.  The behavior you describe is exactly what I would expect with the latest snapshot.  I still need to add a user interface that allows you to tell the app which controller corresponds to which player.  (Right now the mapping screen just maps key codes but doesn't record the controller that sent them.)

This is trivial for JellyBean and would be in there already... problem is supporting earlier Android versions, which strangely don't have a way to remember controller IDs between reboots.  It's not a fundamental technical challenge, but a user interface design challenge, since pre-JB users would need to re-map controller to player after every reboot.  Thanks for the heads up on snes9x EX - I'll see how Robert did it in his app.  Anyhow, this was next on my plate after I verified the new mapping screen improvements.

Thanks for the thorough feedback!
Title: Re: Latest Build!
Post by: arrtoodeetoo on December 10, 2012, 08:38:03 AM
Cleared app data/cache. Uninstalled. Reinstalled. Still have the same two problems. Crash report sent.

Also, for multiple controllers, if I'm not mistaken, that should be something that Sixaxis handles no matter the android version. What I'm saying is that you map IME keys into the Sixaxis app for controller 1, 2, 3 and 4. Each time you turn the app on and synch up the controlllers, it assigns those keys to each controller in the order you pair them.

For example, if I tell the sixaxis app that player 1's directional pad uses w,s,a and d in the system IME , while player 2's dpad uses u,j,h and k in the system IME, then i pair up two PS3 controllers, say, a black one and then a red one. For that session the black controller will be player 1, using wsad for the dpad, while the red controller will be player 2 using ujhk for the dpad. Now, say I turn off the app and the controllers and then start it up again. This time I pair the red controller first. Now, its dpad will be assigned to the IME keys for player 1s profile, wsad.

So, if I got to mupen and set player 1's analog stick to wsad, and player 2 to ujhk, it shouldn't matter which controller is paired first. wsad should always control player 1 while ujhk should always control player 2. This is how the original Mupen obviously handled it because I still use that app daily with 3 controllers and everything works great. That's been since ICS, and now on JB 2.1.
Title: Re: Latest Build!
Post by: littleguy on December 10, 2012, 08:52:04 AM
@artoodeetoo - Excellent analysis, thanks for the clear description.

I didn't realize that Sixaxis maps buttons, I just thought it fixed the BT connectivity issues and presented the controller as an HID device to the OS.  If what you say is accurate, then I would indeed expect Sixaxis' own mapping to take care of most multiplayer issues.  The deconfliction approach where controller buttons are mapped to distinct keys should in theory permit multiplayer with the current snapshot.  But last I checked Sixaxis didn't provide a way to send the analog strength of the analog sticks - it could only convert to the sticks to an on-off d-pad style.

I'll need to find a friend with a couple authentic PS3 controllers so I can get down to the nuts and bolts of this.  Thanks for your patience.
Title: Re: Latest Build!
Post by: littleguy on December 10, 2012, 09:10:32 AM
This is how the original Mupen obviously handled it because I still use that app daily with 3 controllers and everything works great.
Do you have analog working with Mupen 1.9.2?  Are you using USB/BT Joystick Center by any chance?  Last I heard sir_earl hadn't included the custom analog-to-key mapping in SixAxis.
Title: Re: Latest Build!
Post by: arrtoodeetoo on December 10, 2012, 09:26:57 AM
As in analog, do you mean the analog thumbsticks? I just mapped the left one to the same IME keys as the dpad. It's all or nothing (no incremental movement values depending on how far your press the stick) but it's better than nothing. I remember seeing somewhere in the settings something about the analog sticks not working correctly, but I can't remember where it was.

[edit]

I also think I've found my problem. Or part of it (the on/off auto toggle bug is still preventing me from really doing anything). When I set Sixaxis to detect the PS3 controllers as native gamepads, I'm able to set the input keys in Mupen. However, if I'm using custom IME keys, Mupen won't detect a thing. There needs to be a setting for the user to tell Mupen if you're using Android's native gamepad support, or custom input based on the system's input (keyboard).
Title: Re: Latest Build!
Post by: littleguy on December 10, 2012, 09:44:34 AM
As in analog, do you mean the analog thumbsticks? I just mapped the left one to the same IME keys as the dpad. It's all or nothing (no incremental movement values depending on how far your press the stick) but it's better than nothing. I remember seeing somewhere in the settings something about the analog sticks not working correctly, but I can't remember where it was.
Ok that clears everything up.  Yes I mean the thumbsticks.  If you're satisfied with on-off control with the thumbstick, then you should in theory be able to use Sixaxis with multiplayer with the current snapshot if you map each controller's inputs to a distinct key.  The thumbsticks in that case will be on-off (digital) rather than gradual (analog).  So if you cannot get multiplayer to work despite all this, there must be a bug for me to sort out, because the current snapshot is designed to allow that.

Providing true native support for analog inputs adds a layer of complexity to multiplayer because key-mapping in sixaxis won't send analog signals to Mupen.  This complexity isn't encountered in Mupen 1.9.2 or SNES 9x EX because those apps do not listen to native analog signals.  If you were using wired controllers, you could use USB/BT Joystick Center, which would provide the intermediate mapping for deconfliction and support analog signals to Mupen.  With the current snapshot USB/BT JC is the only way to get analog multiplayer controls.  Obviously we want a built-in solution and that's the top of my todo list.
Title: Re: Latest Build!
Post by: littleguy on December 10, 2012, 09:49:23 AM
I also think I've found my problem. Or part of it (the on/off auto toggle bug is still preventing me from really doing anything). When I set Sixaxis to detect the PS3 controllers as native gamepads, I'm able to set the input keys in Mupen. However, if I'm using custom IME keys, Mupen won't detect a thing. There needs to be a setting for the user to tell Mupen if you're using Android's native gamepad support, or custom input based on the system's input (keyboard).

Cross post.  Ok, this explains the no-response-at-all bug.  Mupen does in fact listen to key presses as well as analog sticks... but somehow isn't hearing the virtual keypresses coming from the sixaxis IME.  This may have something to do with soft keyboards not always sending a certain signal that Mupen listens to.  I'm surprised though that it worked in 1.9.2 but not in the snapshot, since both are listening to key presses the same way.

Probably the best thing to do is to hang tight until I can debug with some real PS3 controllers and sixaxis.

Edit: I'm also not seeing your device in the crash report.  Be sure you have a data connection when you perform the test crash, and fill in your username so I can be sure I'm looking at the right report.  Thanks :)
Title: Re: Latest Build!
Post by: arrtoodeetoo on December 10, 2012, 10:02:10 AM
Yeah. My internet is a bit dodgy this morning. Will try again.
Title: Re: Latest Build!
Post by: Paul on December 10, 2012, 01:05:08 PM
Paul - I'm not sure I understand what you're suggesting.

No worries.. I'll post an example.  I mean how there's three options for Settings->Touch->Touchscreen layout (Analog, Digital, and Touch).  That third option Touch is essentially the same thing as Analog with Redraw joystick set at Never (except it doesn't draw the jowstick image at all).  I'll replace "Touch" with one called something like "Both", which has all the controller buttons visible (both analog and digital).  Probably wait until the data downloader is removed though so we're not updating the zip file in the repository again.
Title: Re: Latest Build!
Post by: maalox on December 10, 2012, 01:07:28 PM
Just the user I was looking for!  Someone with two identical controllers.  I'm really glad to hear your PS3 controllers work.

Happy to be of service :)

I should have mentioned at the top of the thread that multi-controller is not fully implemented yet.  The behavior you describe is exactly what I would expect with the latest snapshot.  I still need to add a user interface that allows you to tell the app which controller corresponds to which player.  (Right now the mapping screen just maps key codes but doesn't record the controller that sent them.)

This is trivial for JellyBean and would be in there already... problem is supporting earlier Android versions, which strangely don't have a way to remember controller IDs between reboots.  It's not a fundamental technical challenge, but a user interface design challenge, since pre-JB users would need to re-map controller to player after every reboot.  Thanks for the heads up on snes9x EX - I'll see how Robert did it in his app.  Anyhow, this was next on my plate after I verified the new mapping screen improvements.

Great, looking forward to trying out the true multiplayer support! arrtoodeetoo is correct that you can differentiate between different controllers if you use the Sixaxis Control app's keyboard mapping feature, but you don't get analog support. My goal is to use the controllers without the keyboard mapping, but rather with the "native" (?) IME support.
Title: Re: Latest Build!
Post by: arrtoodeetoo on December 10, 2012, 01:21:26 PM
I wonder if part of the problem is that PS3 controllers are not supported native Android gamepads (whereas the Xbox 360 controller is.)
Title: Re: Latest Build!
Post by: littleguy on December 10, 2012, 02:47:56 PM
Paul - I'm not sure I understand what you're suggesting.

No worries.. I'll post an example.  I mean how there's three options for Settings->Touch->Touchscreen layout (Analog, Digital, and Touch).  That third option Touch is essentially the same thing as Analog with Redraw joystick set at Never (except it doesn't draw the jowstick image at all).  I'll replace "Touch" with one called something like "Both", which has all the controller buttons visible (both analog and digital).  Probably wait until the data downloader is removed though so we're not updating the zip file in the repository again.
Ah, I was wondering what that was for. Yes, in that case we can remove it.  Another option is to leave it as a resource, but not present it as an option to the user, then behind the scenes substitute it for the other one under the right conditions.  Like how I substitute the FPSonly skin when the user disables touch but enables FPS.  I'll put that in the code shortly, will only take a few lines of code.

A "Both" map would be great for completeness.  I can also easily add an option to hide the skin but keep touchpad enabled (would be good for someone whose only option is to map keys to touches).  That wouldn't require any new skins, I just wouldn't draw it.  Again only a few lines of code.
Title: Re: Latest Build!
Post by: littleguy on December 10, 2012, 02:59:15 PM
I wonder if part of the problem is that PS3 controllers are not supported native Android gamepads (whereas the Xbox 360 controller is.)
The question is, can you use a PS3 controller with SixAxis, with keyboard mapping turned off (i.e. native mode), and get full analog and digital functionality using Mupen's mapping screen?  PS3 controllers are also supported natively (i.e. no need for SixAxis) if they are wired to the device, correct?

My understanding was that the PS3 is fundamentally supported by Android HC+, it's just the bluetooth connection that's not since PS3 uses an unorthodox pairing system.  Which is what I thought the main purpose of SixAxis is..
Title: Re: Latest Build!
Post by: littleguy on December 10, 2012, 03:00:33 PM
My goal is to use the controllers without the keyboard mapping, but rather with the "native" (?) IME support.
Me too  ;)
Title: Re: Latest Build!
Post by: maalox on December 10, 2012, 03:23:52 PM
The question is, can you use a PS3 controller with SixAxis, with keyboard mapping turned off (i.e. native mode), and get full analog and digital functionality using Mupen's mapping screen?
Yes, this is what was working for me just fine yesterday (other than the multiplayer issue of distinguishing between different controllers).

PS3 controllers are also supported natively (i.e. no need for SixAxis) if they are wired to the device, correct?
I haven't tried this since I don't have a mini-USB (sixaxis) to micro-USB (phone) cable, but I believe this is correct as of android 3.something.

My understanding was that the PS3 is fundamentally supported by Android HC+, it's just the bluetooth connection that's not since PS3 uses an unorthodox pairing system.  Which is what I thought the main purpose of SixAxis is..
That is my understanding as well! Sixaxis Control also lets you do keyboard mapping, mouse mapping, and touch mapping, but I think these modes don't handle analog input (touch mapping does) and are meant for apps that don't have support for gamepads.

While I'm at it, can I make a very minor suggestion to support binding more than 1 physical key to the same function? For example, the PS3 controller doesn't have the c-pad of the n64, but I can use the right analog stick (as digital input) for that. I'd also like to use some of the extra buttons on the sixaxis controller to duplicate some of the c-pad functions, since those extra buttons are easier to reach than the right analog stick.
Title: Re: Latest Build!
Post by: littleguy on December 10, 2012, 03:40:38 PM
Thanks for confirming Maalox!  My heartburn has gone away ;D

Mapping multiple keys to one command is certainly possible, although it will take me more than a few lines of code to implement.  I'll add it to my "nice to have" list and keep my eye out for ways I could make it a one-line-of-code kind of fix.  Thanks for the suggestions.
Title: Re: Latest Build!
Post by: arrtoodeetoo on December 10, 2012, 03:56:22 PM
Ok, I see what you're talking about with the native support now. I was under the impression that PS3 controllers weren't supported at all and that was the purpose of Sixaxis, but if they're like any other native gamepad, then everything should be gravy.

As I stated earlier, I was able to map the Mupen buttons to the PS3 controller when I turned off the IME in the Sixaxis app, but I was unable to test it since the on/off switch keeps turning itself off.  :(
Title: Re: Latest Build!
Post by: littleguy on December 10, 2012, 04:27:08 PM
Yes, the intention is that you should never need a special IME to get full controller support on Android 3.1 and up.  SixAxis just fixes PS3's weird bluetooth pairing.  The requirements will go like this:

Code: [Select]
if Android >= 3.1
    if wireless PS3 controller
        use SixAxis for bluetooth pairing (don't use its mapping functions)
    else
        nothing required
else // Android < 3.1
    if wireless PS3 controller
        use SixAxis for bluetooth pairing, and use its touch-mapping feature for analog support (I think)
    else
        use USB/BT Joystick Center app for analog mapping


As I stated earlier, I was able to map the Mupen buttons to the PS3 controller when I turned off the IME in the Sixaxis app, but I was unable to test it since the on/off switch keeps turning itself off.  :(

This one's a real head scratcher.  I'll have to take a fine-tooth comb to the code.  Especially strange since you're using Android 4.x.
Title: Re: Latest Build!
Post by: maalox on December 10, 2012, 04:40:25 PM
Code: [Select]
if Android >= 3.1
    if wireless PS3 controller
        use SixAxis for bluetooth pairing (don't use its mapping functions)
    else
        nothing required
else // Android < 3.1
    if wireless PS3 controller
        use SixAxis for bluetooth pairing, and use its touch-mapping feature for analog support (I think)
    else
        use USB/BT Joystick Center app for analog mapping

This looks correct to me, though I'm far from an expert on android IME :) The one issue with the < 3.1 touch-mapping branch is that I think touch-mapping will only work for 1 controller, so you can't play multiplayer games with 2+ controllers.  Essentially, touch mapping will translate a physical button press or analog stick movement into a press on the screen. To get this to work, within Sixaxis Control you need to "draw" on the screen where the virtual on-screen gamepad controls are, and then it will make believe you're pressing those locations on the screen while in fact you're using the physical controller. You can have different drawings (profiles) for different apps.

I suppose one way around this is to show 2 virtual gamepads on the screen in Mupen 64 AE, one for player 1 and one for player 2. However, for this to even work I think the Sixaxis Control app will also need to add support for simultaneous touch mappings from multiple controllers. Another assumption is that the physical screen has enough multitouch support so that players 1 and 2 can use all the controls at the same time without reaching the physical hardware limit.

Sorry for the rambling, hope that makes sense!
Title: Re: Latest Build!
Post by: littleguy on December 10, 2012, 06:11:35 PM
Heh yes that makes sense.  I'll put that in the category of theoretically possible but don't expect to see it any time soon  :P.  Not sure how many GB phones could even run multiplayer, and how many of those owners would be using multiple wireless PS3 controllers.  But yes, that is how it would have to be done.
Title: Re: Latest Build!
Post by: Sarkie on December 11, 2012, 05:14:00 AM
Hey, it now force-closes on start of a game.

Log attached.
Title: Re: Latest Build!
Post by: Brendan McCoy on December 11, 2012, 06:27:15 PM
I'm a Nexus 7 user who also uses the Sixaxis app.  I'm very grateful for the hard work you guys volunteer into Mupen64 AE, and I'll be reporting any bugs and such I stumble upon. Already I'm very pleased with the ability to use incremental analog and both sticks as separate input at once! What I'm mostly waiting for is the ability to do so with two sixaxis controllers, but I'll just have to keep enjoyment of the emulator to myself for now.

I'm not certain if this is a video plug-in error, but when i started up Ocarina of Time, the texture in links room didn't load, and I just saw green/blue models. As soon as I walked outside, everything was nearly flawless, though! There is, of course, the equip screen thing that most emulators render in a glitchy way, but other than that it's great.

I'll be testing various games and I'll let you know of anything that comes up. Keep up the great work!
Title: Re: Latest Build!
Post by: littleguy on December 11, 2012, 06:50:39 PM
Thanks, it's a labor of love :)  True multi-player support is at the top of my the list for the beta release.

Have you found a magical way to connect your Nexus 7 to a TV?  I was looking into it on XDA for awhile.  I'm not sure I could play two players on the 7" screen though :-\.  Maybe in the car or something.  It's definitely powerful enough to play a lot of good multiplayer games though.
Title: Re: Latest Build!
Post by: Brendan McCoy on December 12, 2012, 12:49:52 AM
I'm not too concerned with tv output. It's more of a "I'm hanging out with friends, we're bored... Hey guys, *whips out nexus and sixaxis controllers from backpack* Wanna kill some time?" sorta thing. I will be keeping an eye out for such things, though I'm not holding my breath. I'm the sort that likes to do something with my device just because I can :).
Title: Re: Latest Build!
Post by: littleguy on December 12, 2012, 07:27:31 AM
"I'm hanging out with friends, we're bored... Hey guys, *whips out nexus and sixaxis controllers from backpack* Wanna kill some time?"
LOL sounds like a commercial  ;D

On another note, I have been able to replicate some of the mapping bugs mentioned here... seems like I let something slip through the cracks in one of my previous commits.  Doing a git-bisect now so should have it fixed in the next day or so.
Title: Re: Latest Build!
Post by: jonnyapps on December 12, 2012, 09:43:19 AM
RE TV-Out - I would keep your eyes open as it may turn out to be possible through Miracast, something which Jellybean theoretically supports (as does the Tegra3 SoC).

My understanding is that the bandwidth requirements mean you need a wireless n device (which the Nexus 7 is not) but I can't see it taking long for someone to hack a lower bandwidth version.

There aren't any fully certified Miracast HDMI dongles out there yet so it's hard to tell.
For those that don't know, Miracast in this sense would work as a wireless dongle in the HDMI port of your TV which creates a WiFi Direct (WiDi) connection with your device, circumventing the router in your house, and delivering the image to the screen.

You can rest assured that the day I get a miracast dongle working with either my Gamepad or Nexus I'll be posting a Tasker script that activates Miracast mode if the following parameters are met: 1. It's after 6pm. 2. I'm in my own wifi zone 3. I'm playing Mupen.

The dream of playing Mario on the bus and it appearing on my TV as I put the keys in the door is nearly realised.
Title: Re: Latest Build!
Post by: littleguy on December 12, 2012, 11:34:59 AM
Yeh, miracast promises a lot... I hope it can deliver, and without a heavy price tag.
Title: Re: Latest Build!
Post by: Quietlyawesome94 on December 12, 2012, 11:47:04 PM
Hi, I have a questions..

Why are y'all having such issues supporting analog on the PS3 Controller? Sixaxis controller has a gamepad mode whichbasically presents itself as a USB gamepad. Couldn't you just build basic gamepad support and the PS3 controller would fall under that?

EDIT: I think I misunderstood the discussion. It appears that analog works fine, but getting multiple controllers to have analog input isn't.

BTW, Video output on the Nexus 7 is possible with the help of a Rasberry Pi.

http://esrlabs.com/android-transporter-for-the-nexus-7-and-the-raspberry-pi/
Title: Re: Latest Build!
Post by: Mofade103 on December 13, 2012, 12:06:26 AM
I don't know if this problem been address or not but sometime 9*/10 the emulator just wont open the game im using the latest build on Samsung galaxy s3 4.1 android version those  screenshot is as far as I can get to playing a game sometimes then the app just close
Title: Re: Latest Build!
Post by: Paul on December 13, 2012, 12:41:45 AM
I updated the OP with the latest build from today.

@Mofade103, does the problem still happen if you hold the phone in landscape (make sure it has finished rotating) before launching the game? (unless you have portrait mode selected in the settings, in which case hold the phone in portrait or whatever setting you picked).
Title: Re: Latest Build!
Post by: Mofade103 on December 13, 2012, 01:11:29 AM
Yes it work perfectly in landscape no issue there. In my phone setting screen rotation was off so that probably cause the problem
Title: Re: Latest Build!
Post by: littleguy on December 13, 2012, 09:15:17 AM
@Mofade - thanks, bug fixed this morning.
Title: Re: Latest Build!
Post by: littleguy on December 13, 2012, 03:12:00 PM
Paul - In the current snapshot, the back button can't be mapped.  I can't remember if it was possible in 1.9.2...  I can fix it so that it can be mapped on pre-GingerbreadHoneycomb devices.  I.e. devices without the action bar (like the stock Xperia PLAY, which needs the back button to be mappable).

Got me thinking though, what if we used a touch to the center of the screen to open the action bar instead of the back key?  Obviously not where the touchscreen controls are.  Touching the top center would be even more natural I think, but would require a little bit of redesign of a few skins.  Or maybe a down-swipe from the top... who knows.

On the other hand, it would probably throw a lot of existing users off... muscle memory for the back button.  Maybe we just wait to see how many Gingerbread Honeycomb+ users need to map the back button...  In any case it would be nice to have a universal solution that's easy to maintain and provides consistency between devices.
Title: Re: Latest Build!
Post by: littleguy on December 14, 2012, 10:19:45 AM
Back button mapping is again supported for Gingerbread and below... which takes care of the Xperia PLAY circle-button mapping problems in the latest snapshots.

If we need back-button mapping for HC and above, we'll need to rethink the action bar (maybe open it with a down-swipe instead).  But we can address that issue some other time, if at all.
Title: Re: Latest Build!
Post by: ofm05 on December 14, 2012, 04:10:05 PM
Button mapping on Samsung GS3 are not working with PS3 via Bluetooth on the latest build. I did follow the instructions on how to map. Or am I doing something wrong?

Hold the button down and then tap the screen all I get is cancel and unmap.
Title: Re: Latest Build!
Post by: littleguy on December 14, 2012, 04:26:39 PM
No, it uses a more traditional process now:
 - Go to the mapping screen
 - Touch an icon on the screen that you want to map
 - A listener dialog will pop up
 - Press the button or stick on your PS3 controller that you want to map
 - Repeat for all the controls you want to map.
 - Pressing PS3 buttons/sticks should highlight the corresponding icon on the screen when mapped.
 - If the icon is faded out, that means that it's not currently mapped.
 - Be sure to touch OK when you're done mapping to save all the values.

Also, be sure you're using the SixAxis app in "native HID" mode or something... do not map anything to keys in SixAxis.
Title: Re: Latest Build!
Post by: ofm05 on December 14, 2012, 05:04:39 PM
Never mind it was an error on my part. Thanks!
Title: Re: Latest Build!
Post by: littleguy on December 14, 2012, 05:13:57 PM
press a button to map with cancel and unmap option
That is the listener dialog.  When you move a stick or button, that screen should disappear and take you back to the main mapping screen.  If you push the same stick or button, the icon you previously touched should be highlighted blue.

If you're not getting this behavior, open your SixAxis settings and be sure to turn it OFF keyboard mode and put it in native mode or something (sorry I don't have a PS3 controller so I'm just going on what people have told me.)
Title: Re: Latest Build!
Post by: ofm05 on December 14, 2012, 06:04:54 PM
Emulator is running great. It does how ever struggle with sound. I tested it on WWF No Mercy but the that game was one of the most  demanding games on 64. Is their anyway to force fps?

Title: Re: Latest Build!
Post by: Paul on December 14, 2012, 06:32:47 PM
Your best bet is to use a higher frame-skip in the video plug-in settings, and overclock your phone if it is rooted.  Not really any "magic bullets", but a few things throughout the settings you can tweak (some have side effects).  It the audio skipping isn't too serious, sometimes just turning the volume down is an acceptable compromise.  Many games just need to have the audio plug-in disabled and RSP set to rsp-hle-nosound to be playable.
Title: Re: Latest Build!
Post by: ofm05 on December 14, 2012, 06:48:42 PM
That did the trick sound and game if playing flawlessly. Thank you Paul and please keep up with the great work!
Title: Re: Latest Build!
Post by: Skidrash on December 14, 2012, 07:22:13 PM
I'm sorry if this has already been addressed, or if this post is in the wrong place... But I recently bought a Nyko Playpad and I mapped it for Mupen64, but the left analog stick maps as if it were a digital d-pad.  When I look at the controller information it shows up as AXIS_HAT_(X or Y) and it's entries seem to only have digital options (-1.0, 1.0).  If I map the joystick on the right, it shows up as AXIS_(X or Y) and maps correctly, as an analog stick. Unfortunately I can't really play 64 games with the analog stick on the right hand side along with all the other buttons. Am I just not mapping the left stick correctly? I tried to use the calibration option, but I don't know that it really did anything for me... Any suggestions?

Also, did I read that you have a Kickstarter project? Where is it?
Title: Re: Latest Build!
Post by: littleguy on December 14, 2012, 07:34:32 PM
First, make sure you're not using Nyko Playground to remap the keys.  You want the gamepad to look like a regular "HID" gamepad.  Also make sure it's in gamepad mode and not mouse or keyboard (if those are even options, I don't know).  If that's all fine, then I wonder - some gamepads have buttons that put the left analog stick in d-pad mode.  Make sure you're not in that.  The fact that the left stick activates AXIS_HAT_Y and AXIS_HAT_Y rather than AXIS_X and AXIS_Y is very unusual and leads me to suspect that's what's going on.

If that still doesn't work, then could you post a link to the Nyko manual?  That controller is supposed to be a very vanilla controller from everything I've read, so it should work very easily out of the box.
Title: Re: Latest Build!
Post by: Skidrash on December 14, 2012, 09:07:23 PM
I am definately not using Nyko Playground to map (when I did try, nothing at all worked).  I have the controller set to HID mode (none of the other mode worked even close to right).  If this gamepad has the mode you mentioned (putting the left stick in d-pad mode), I haven't read anything about it...  Both Mupen and the Nyko Playground register the left stick distinctly different from the d-pad...

I rechecked the button call-outs in Mupen, and I was mistaken earlier...  The left stick does infact read out as AXIS_HAT_(X and Y), but the right stick actually reads as AXIS_(Z and RZ).  I don't know if that makes any difference.

I could not find the manual online anywhere.  I have the paper insert that came with it (it isn't very enlightening), but if you think it would be useful I can scan it in tomorrow and post it...  The onlything online I found was the product webpage:
http://www.nykoplayground.com/product/playpad/
It discusses the modes, but not too much detail.  It does claim that the Playground app can switch the analog sticks, so I tried to do that.  Very unsuccessful.  I can't really figure out how there Playground app calls out the sticks (how you map an analog direction to a stick...)  It doesn't really seem to have that capability, even though the app claims it.  Regardless, like I said, if Playground is running it just confuses the Mupen mapping.

Do you have any other suggestions?  Should I scan that paper insert?
Title: Re: Latest Build!
Post by: Skidrash on December 14, 2012, 10:17:58 PM
I've tried and tried, but I just can't get the scans to be small enough that the forum will allow the upload, while keeping the text legible...
Title: Re: Latest Build!
Post by: littleguy on December 14, 2012, 10:24:07 PM
I rechecked the button call-outs in Mupen, and I was mistaken earlier...  The left stick does infact read out as AXIS_HAT_(X and Y), but the right stick actually reads as AXIS_(Z and RZ).  I don't know if that makes any difference.

Thanks very much for checking into all that.

Every HID gamepad I've used in the past five or ten years encodes the normal d-pad to AXIS_HAT_(X/Y) and the left analog stick to AXIS_(X/Y).  This includes several official and third-party Xbox 360 controllers, a third-party PS3 controller, and two ancient PC gamepads that I've tested.

Don't worry about the scan if the info doesn't look useful.  What I'm most interested in at this point is what you see when you go to Advanced->Controller info.  Ideally you'd see something like in the attachment below.  (D-pads are typically encoded as axes even though they're not analog.)  In the case of the Nyko controller, I would expect to see
Code: [Select]
  Axes: 6
    AXIS_X: ( -1.0, 1.0 )      <== left stick L/R
    AXIS_Y: ( -1.0, 1.0 )      <== left stick U/D
    AXIS_Z: ( -1.0, 1.0 )      <== right stick L/R
    AXIS_RZ: ( -1.0, 1.0 )     <== right stick U/D
    AXIS_HAT_X: ( -1.0, 1.0 )  <== d-pad L/R
    AXIS_HAT_Y: ( -1.0, 1.0 )  <== d-pad U/D

I would suggest tinkering with every setting you can find, every secret switch on the controller (like a pin hole or switch inside the battery compartment), putting it in all the modes (gamepad, keyboard, mouse, touch), each time going into Mupen and checking Controller info menu until you see something like this.  If you succeed, then you should be able to map everything as intended.  But if you're still stuck let me know and we'll keep digging.
Title: Re: Latest Build!
Post by: Skidrash on December 15, 2012, 09:34:56 AM
Here are some screenshot of what I am seeing.  The shot on the left is the Controller Information.  The d-pad is registered as KEYCODE_DPAD_(UP DOWN LEFT RIGHT).  But notice that the Controller Information screen doesn't show the KEYCODE entries...  The screenshots on the right show key mappings.  The shot on top is while pressing the d-pad up, the shot in the middle is pressing the left analog stick up, and the bottom shot is pressing the right analog stick up.

I checked all over for any hidden buttons or modes, but didn't find any.  The battery is rechargable and sealed inside the controller, so no battery compartment.  There is a tiny hole on the back, so I jammed a pin in it, just to find that there is no button under it...  Only circuit board....  Woops.  Must be a heat vent for the battery.

The controller does have a  mode switch, which supports 4 modes: HID, iCade, Mouse, and App.  App is supposed to work with Playground, and really doesn't do anything without it.  Mouse mode literally brings up a mouse pointer on screen and moves it around.  iCade just dumps a ton of keyboard presses when you hit a key (I'm assuming that is the iCade protocol...?).  And HID is really the only mode that Mupen responds too.  And that is the mode I've been speaking too.  I've tried all the others, but like I said, they didn't really interface with Mupen.

Do you know if there is some type of controller test app that I can run that will tell me if the Playpad is sending an analog signal on the left stick?

Title: Re: Latest Build!
Post by: littleguy on December 15, 2012, 10:36:27 AM
That's really helpful, thanks.  No clue why Nyko would encode the analog stick as a hat switch (dpad).

For independent testing, try "Joystick Tests (https://play.google.com/store/apps/details?id=org.bostwickenator.joystick)" on google play.

Edit: Ooh I think I might have it.  Nyko might be sending the analog stick as both an AXIS_(X/Y) and and AXIS_HAT_(X/Y) at the same time.  I.e. a single input on the controller sends multiple identical signals on independent channels, to cover all its bases.  If that's the case then you may see that happening in the Joystick Tests app.  If that's the case I can fix it very easily.

Edit2: What phone/tablet model are you running?  For small screens, the mapping screen should be laid out a little differently... looks like another bug for me to fix.
Title: Re: Latest Build!
Post by: littleguy on December 15, 2012, 10:50:04 AM
I have a test request for anyone with two identical gamepads (e.g. artoodeetoo and maalox).  Would you mind connecting both controllers (in HID mode), then running the latest build of Mupen posted on the OP, then going to Advanced--> Controller info.  I just need to know three things:

- What' the ID of each controller?
- What version of Android are you running?  (I'm looking for info from both JB and non-JB users)
- What are the brand/model of the controllers?

This will help me progress on the multi-player user interface. Thanks!
Title: Re: Latest Build!
Post by: Skidrash on December 15, 2012, 12:01:25 PM
littleguy, you are a genius.  I downloaded Joystick tests, and it was exactly as you described. The left analog stick sends both an AXIS_(X/Y) and an AXIS_HAT_(X/Y) at the same time.  You can see the AXIS_ value increase the farther you push, and the AXIS_HAT goes right to 1 when you hit the end of the stick.  Ironically none of the regulare digital buttons do anything in Joystick test, but those aren't giving me any trouble.  :)   

I can send you screenshots if you would like.  FYI, I am running Cyanogen Mod 10 (Android 4.1) on a Xoom wingray.  I appologize if my screenshots caused some confusion.  I cropped and moved sections of the screenshot so that you could see the button presses right next to the button readouts.  It is actually displayed on a full 10" screen.  If you still think there is a bug in the layout, I can send an unmodified screenshot for inspection.
Title: Re: Latest Build!
Post by: maalox on December 15, 2012, 12:07:33 PM
Hi little guy, here is the info:

Android version: 4.1.1
Controllers: two (genuine) Sony sixaxis dualshock 3, one black and one white :)
IDs: -1713573719. They are identical, see attached screenshot

Thanks!
Title: Re: Latest Build!
Post by: littleguy on December 15, 2012, 01:56:22 PM
Thanks Skidrash and maalox!  Now I know the way forward for both the Nyko and the multiplayer issues.
Title: Re: Latest Build!
Post by: Paul on December 16, 2012, 12:36:23 AM
I posted another snapshot in the OP for everyone who was waiting on it.  The app is really coming along nicely!
Title: Re: Latest Build!
Post by: Mat317 on December 16, 2012, 09:01:58 AM
hi New here just installed latest apk and can't import hires textures nothing happens when pressed and enabled any way we could just copy them to a folder like n64oid?
Title: Re: Latest Build!
Post by: littleguy on December 16, 2012, 09:07:36 AM
No worries, that's one of the things still left on the todo list.
Title: Re: Latest Build!
Post by: Paul on December 16, 2012, 09:08:39 AM
Yes, you could copy them in manually.  I'll hook ires textures back up next.
Title: Re: Latest Build!
Post by: Mat317 on December 16, 2012, 03:56:09 PM
sounds great guys. do you mean we can just copy the textures folder into the apps hi res folder already? also any way to access the settings without closing the app yet? thanks for all your hard work so we can enjoy all these classics I missed out on
Title: Re: Latest Build!
Post by: ofm05 on December 16, 2012, 04:24:47 PM
Hey Paul is there any reason that the buttons stay held down when using the touch screen?
I MUST SAY YOUR EMULATOR, IS THE REASON I JUMP SHIPED FROM IOS! Great work!
Title: Re: Latest Build!
Post by: Paul on December 16, 2012, 04:38:23 PM
Haven't seen that before.  Does it happen just for a particular game, or all of them?  What is your phone model?

Anyone else having problems with sticking buttons?
Title: Re: Latest Build!
Post by: Godshinnok on December 16, 2012, 04:56:21 PM
Haven't seen that before.  Does it happen just for a particular game, or all of them?  What is your phone model?

Anyone else having problems with sticking buttons?

i am to, but its only the Z button that sticks.
Title: Re: Latest Build!
Post by: ofm05 on December 16, 2012, 05:14:34 PM
I have only played two games so far. WWF NO MERCY and MARIO 64. WWF No Mercy the button seem to get held down. It happens on the dpa , and the L, R buttons also.

I'm using a Samsung Galaxy S3 ATT model.

I'll try some more game get back.

It happens on Mario with z button also.
Title: Re: Latest Build!
Post by: littleguy on December 16, 2012, 05:49:06 PM
Paul - way back when I started the concepts branch I remember consolidating the touch input handling to a single thread...  Probably is the cause of the stuck buttons.  I'll try to track down the particular commit where I changed it.
Title: Re: Latest Build!
Post by: Paul on December 16, 2012, 06:35:16 PM
Sure, I recall a similar problem when I first implemented the virtual gamepad.  As I recall it was related to mixed up pointer IDs.  We should make sure the same thing isn't happening to the XPeria Play virtual c-pad, since it uses similar logic.
Title: Re: Latest Build!
Post by: Paul on December 16, 2012, 06:40:10 PM
Problem seems to be reproducable by pressing a button, sliding your finger off it, then releasing.  I suspect it's due to not clearing then updating the joystick state every touch up/ down event based on pointers down and their position.
Title: Re: Latest Build!
Post by: littleguy on December 16, 2012, 06:49:59 PM
Yes, the bug you describe I flagged in a todo at the top of GameOverlay.java.

The commit where I "simplified" threading mechanics was a02d1cc4bf9631caba6f82eca563415b9057ff36 (https://github.com/paulscode/mupen64plus-ae/commit/a02d1cc4bf9631caba6f82eca563415b9057ff36).

The Xperia touchpad and the touchscreen are both implemented in TouchController.java.  Both use TouchMap.java, where touchscreen uses VisibleTouchMap which just extends TouchMap.  I haven't noticed any issues on the touchpad, and have played it a fair bit.

Edit: it's probably most obvious in Z, L, and R buttons because they're relatively thin (thus easy to drag off of).

Edit2: Oh wait, that todo related to something else, nevermind.

Edit3: On further inspection, the extra thread stuff had to do with drawing, not handling touches... so maybe the threads aren't to blame after all.  I'll bet you're right that it has something to do with the pointer ids in TouchController.java
Title: Re: Latest Build!
Post by: Vincentmrl on December 16, 2012, 06:55:23 PM
I got the bug with Z button on mario64 too.
Unrelated question: is pal sm64 supposed to go faster than ntsc one since refresh rate changes or it goes the same?
Title: Re: Latest Build!
Post by: Paul on December 16, 2012, 07:09:10 PM
The problem is a logic error in TouchController.processButtonTouch.  A button will only be released if the pointer up event occurs on the button.

A fun test-case to demonstrate:

In Mario64, press the Z button, and drag your finger away, then release.  Mario will stay crouched.  Then press the A button, and drag your finger up to the Z button and release.  Mario will stop crouching :)
Title: Re: Latest Build!
Post by: Paul on December 16, 2012, 07:28:35 PM
A way you can test to see if it also affects the Xperia Play touchpad (probably does, considering the location):

In Mario64, press the C-right button until the camera is all the way to the right.  Then press and hold C-left, drag left -- away toward the center of the touchpad, and release.  Then press C-left again.  If it doesn't move the camera, then the problem affects the Xperia Play touchpad too.
Title: Re: Latest Build!
Post by: Vincentmrl on December 16, 2012, 07:35:43 PM
Paul, can you put the old alpha version plugins in next update? With these I could run m64 almost perfectly with audio. Thanks
Title: Re: Latest Build!
Post by: littleguy on December 16, 2012, 07:52:28 PM
In Mario64, press the C-right button until the camera is all the way to the right.  Then press and hold C-left, drag left -- away toward the center of the touchpad, and release.  Then press C-left again.  If it doesn't move the camera, then the problem affects the Xperia Play touchpad too.

Strangely I can't seem to reproduce the bug on my xperia play... however if the problem exists in the touchscreen, it almost certainly exists in the xperia play.  The only difference between the devices is that the latter receives touch events from jni code and the former from a view.  But both are processing the raw touch events using the same code.  If we fix the problem in TouchController.java, it will fix it in both places.

(Don't know how much you looked at the Xperia Play jni code - but I changed it so that it impersonates a View (NativeSource.java) and dispatches SDK touch events just like any other View.)

Edit: I can reproduce the bug on the touchpad... sorry I misread the positive symptoms.
Title: Re: Latest Build!
Post by: Paul on December 16, 2012, 07:57:14 PM
Paul, can you put the old alpha version plugins in next update? With these I could run m64 almost perfectly with audio. Thanks

Not easily, unfortunately.  The problem is that the gles2n64 and front-end have evolved together in their communication with each other.  From a certain perspective, I think the speed problems are less to do with gles2n64 itself (very little has changed with it to be honest, other than the tribuffer opt issue), and have more to do with the extra overhead of the front-end itself (if you recall the alpha tests had no front-end, and were hard-wired to play only Mario64).  To get the speeds of the Alpha Tests on older devices, you would pretty much have to just install the Alpha Tests.  When I get some time, I'll pull up the code from the last Alpha Test and get it running again (the only thing breaking it is the DataDownloader looking for the old app-data which doesn't exist any more).
Title: Re: Latest Build!
Post by: jonjon on December 16, 2012, 08:40:07 PM
hi just came over from using the f-droid 1.82 version and really impressed with this latest build(15dec 2012).

Just wanted to report that the analogue part of my wired xbox360 controller is working perfectly (able to walk or run) on my nexus7 with jellybean, unrooted... I was not expecting that as I could not find any mention to this in the changelogs, but since there was a calibration tool I thought I'd test it.

Is there any way to make it 100% full screen? atm I am losing half an inch to the blacked out back, menu and recent buttons on the bottom.

I had a little trouble making the on/off switch for controller1 to stay activated. First time I had to switch off the touchscreen option. Second time it wouldn't stay on even with touchscreen disabled. I don't know how I fixed it in the end as I just kept trying to configure my controller and emptying cache etc until it stuck.

Great work though Paul, really great contribution!
Title: Re: Latest Build!
Post by: littleguy on December 16, 2012, 08:53:42 PM
Is there any way to make it 100% full screen? atm I am losing half an inch to the blacked out back, menu and recent buttons on the bottom.

Yes, this is driving me nuts and I haven't found an easy way to fix it... really surprised at how difficult it has been to modify certain things in android.  All my google-fu skills are tapped out.  Anyhow, yes, if I can ever find a way to make it full screen I definitely will.  It's especially a problem with the small phone screens (I actually had to make a separate layout for small devices.)

Is it actually cutting off the contents for you?

I had a little trouble making the on/off switch for controller1 to stay activated. First time I had to switch off the touchscreen option. Second time it wouldn't stay on even with touchscreen disabled. I don't know how I fixed it in the end as I just kept trying to configure my controller and emptying cache etc until it stuck.

Another user has this issue and I'm totally baffled.  Now doubly baffled since we're both using Nexus 7's.  If anyone can find a reliable way to reproduce the bug, please share because I'd like to get this fixed asap.
Title: Re: Latest Build!
Post by: xperia64 on December 16, 2012, 09:17:37 PM
An option to map a gameshark button and actual rumble support are still needed. Btw, perfect dark boots again with the latest builds
Title: Re: Latest Build!
Post by: Quietlyawesome94 on December 16, 2012, 09:52:51 PM
Is there any way to make it 100% full screen? atm I am losing half an inch to the blacked out back, menu and recent buttons on the bottom.

Yes, this is driving me nuts and I haven't found an easy way to fix it... really surprised at how difficult it has been to modify certain things in android.  All my google-fu skills are tapped out.  Anyhow, yes, if I can ever find a way to make it full screen I definitely will.  It's especially a problem with the small phone screens (I actually had to make a separate layout for small devices.)

Is it actually cutting off the contents for you?

I had a little trouble making the on/off switch for controller1 to stay activated. First time I had to switch off the touchscreen option. Second time it wouldn't stay on even with touchscreen disabled. I don't know how I fixed it in the end as I just kept trying to configure my controller and emptying cache etc until it stuck.

Another user has this issue and I'm totally baffled.  Now doubly baffled since we're both using Nexus 7's.  If anyone can find a reliable way to reproduce the bug, please share because I'd like to get this fixed asap.

Cyanogenmod10 recently added an option to the power menu to completely disable the status bar... That works great for devices with the tablet layout since it basically makes it full screen everywhere, but I don't know if it also turns the soft buttons off on the N7. (I guess it wouldn't since the N& doesn't have any buttons, so navigation would be impossible)

Maybe it's something you could look into for tablets?
Title: Re: Latest Build!
Post by: jonjon on December 16, 2012, 10:14:36 PM
the status bar is not visible, it's just the soft buttons. Everything is rendered correctly and scaled well. Without the soft buttons the whole image would appear quite a bit bigger as most of the screen would be filled.

vlc player manages to hide these buttons.
Title: Re: Latest Build!
Post by: jonjon on December 16, 2012, 10:23:08 PM
Another user has this issue and I'm totally baffled.  Now doubly baffled since we're both using Nexus 7's.  If anyone can find a reliable way to reproduce the bug, please share because I'd like to get this fixed asap.

I've installed the latest build three times and each time I've had trouble making the the controller setting persist. What would I have to do to provide more information?.. I'm not rooted so I don't think I can access logs between apps (sorry if this is nonsense, I've only had N7 for a few days so not quite up to speed).

Perhaps localization settings may cause the error if we both have same hardware, firmware and software yet only one has the issue?
Title: Re: Latest Build!
Post by: littleguy on December 16, 2012, 10:25:35 PM
Is there any way to make it 100% full screen? atm I am losing half an inch to the blacked out back, menu and recent buttons on the bottom.

Oops! For some reason I thought you were referring to the button mapping screens.  As for the bottom bar within the game, that's another subject altogether.  Google seems pretty adamant about always having them there, since a lot of devices no longer have hardware buttons.  Not to say it can't be done... but from what I gather it would be an uphill battle to implement.
Title: Re: Latest Build!
Post by: littleguy on December 16, 2012, 10:29:24 PM
jonjon - go into the Advanced menu, scroll to the bottom, go into Crash reports, enable, add your username (so I can correlate the report to this thread), then press the Submit report button, that should give me a lot of configuration info.
Title: Re: Latest Build!
Post by: jonjon on December 16, 2012, 10:40:08 PM
ok
Title: Re: Latest Build!
Post by: Mat317 on December 17, 2012, 03:24:42 AM
hope a fast forward button is added in next version.. can only watch Zelda intro so many times
Title: Re: Latest Build!
Post by: Vincentmrl on December 17, 2012, 06:26:49 AM
I found a new bug, for no reason the menu button doesn't work anymore while ingame, i checked the binds but it wasn't binded.
Also, I found out that mario goes better with stretched screen and alpha enabled than with everything disabled. Maybe because it's running at phone's native resolution? I wonder if by putting audio to mono game goes faster since the game sends audio inputs even if I have it disabled. Anyway most lowcost phones have a single speaker.
Title: Re: Latest Build!
Post by: littleguy on December 17, 2012, 09:12:33 AM
Vincent - what happens when you press the back button?  Does the action bar show/hide?
Title: Re: Latest Build!
Post by: Vincentmrl on December 17, 2012, 10:25:23 AM
yes it shows but menu  button doesn't want to work even with input config disabled, it worked fine in the last version tho.
Title: Re: Latest Build!
Post by: littleguy on December 17, 2012, 10:51:00 AM
So is the GUI fundamentally broken, or is it still usable?  In the latest snapshot I tried to make every button mappable if it's not strictly needed to operate the GUI.  What drove me to implement this is that one of the Xperia PLAY's game buttons is also the back button... so the back button needed to be mappable.  While I was at it, I went ahead and freed up all the non-essential buttons to be mappable:
 - For GB and below, the menu button is not mappable because it's needed to open the menu in game.
 - For HC and above, the back button is not mappable because it's needed to open the action bar in game.

I was under the impression (incorrectly perhaps) that HC and above devices don't generally have menu buttons.  If this assumption is faulty, I'd like to hear your thoughts.  In any event, it's an easy fix to make the menu button unmappable again for all devices.  If we really have to, we can make the mappability a user preference like we do with the volume keys.  But all else equal I'd rather avoid that complexity.
Title: Re: Latest Build!
Post by: ofm05 on December 17, 2012, 10:58:59 AM
I also ran into that last night. The menu button didn't want to appear and the only why out was to close the via home button.
Title: Re: Latest Build!
Post by: littleguy on December 17, 2012, 11:08:00 AM
ofm05 - what Android version are you running?  What happens when you press the back button?  Please see my last post above and tell me if your experience differs from what I describe.
Title: Re: Latest Build!
Post by: ofm05 on December 17, 2012, 11:20:27 AM
I'm running Jelly Bean 4.1.2 on the GS3.

When i pressed the back button I see the Slot load, Slot save, Slot 0 appear at the top like normal. But the regular menu never shows up anymore.
Title: Re: Latest Build!
Post by: littleguy on December 17, 2012, 11:24:00 AM
Press the back button, then press the three vertical squares at the far right of the action bar.  If you don't have them, let me know.
Title: Re: Latest Build!
Post by: ofm05 on December 17, 2012, 11:30:44 AM
I don't have it. Only thing showing is the slots menu stuff, nothing else.
Title: Re: Latest Build!
Post by: littleguy on December 17, 2012, 11:36:05 AM
Ok, I'll  revert it in the next snapshot to ensure the menu key is always unmapped and handled by the O/S.
Title: Re: Latest Build!
Post by: ofm05 on December 17, 2012, 03:23:24 PM
Hey by any chance were you guys able to fix the button getting held on the touch screen problem?
Title: Re: Latest Build!
Post by: xperia64 on December 17, 2012, 04:48:49 PM
On my xperia play I still have the icon with the metallic border. Not sure if that needs to be fixed or not
Title: Re: Latest Build!
Post by: Paul on December 17, 2012, 04:50:49 PM
That is the default icon.  The other one was for ICS, which has a different style, at the request of Gleasonator.
Title: Re: Latest Build!
Post by: Paul on December 17, 2012, 04:52:04 PM
We may have a vote on whether to switch to one or the other, or keep it split between Android versions like it is.
Title: Re: Latest Build!
Post by: Tom.K on December 17, 2012, 05:41:12 PM
We may have a vote on whether to switch to one or the other, or keep it split between Android versions like it is.
We should stay only on one of them to keep at least identical look for every version. Though, I would rather give decision to shuy3n and Gleasonator.
Title: Re: Latest Build!
Post by: jonjon on December 17, 2012, 10:38:36 PM
I'm on jelly bean and with v1.82 from f-droid repo I had a bordered icon. With the latest build I have an "m" shaped 3d logo similar to the n64's original one. I like both but I think that the M64 logo goes much better with jelly bean. hope you don't think I'm rude for showing up yesterday and giving my opinion today!
Title: Re: Latest Build!
Post by: Sarkie on December 18, 2012, 06:34:31 AM
The new control system works fine with my generic USB gamepad, the only thing was on my Transformer prime the config screen was a bit tiny.

Mario Tennis had graphical issues (black grass) and slowdowns. (Rice Plugin)
Title: Re: Latest Build!
Post by: arrtoodeetoo on December 18, 2012, 07:38:44 PM
Hey, Paul. I just now saw your message a few pages back about testing the multiple controller IDs. Just did it and all three had the same ID. I noticed someone else came up with the same issue. Is this info useful for you? Is it something that can be fixed in the Mupen app, or is it something that the Sixaxis dev will have to work out first?
Title: Re: Latest Build!
Post by: littleguy on December 18, 2012, 07:54:07 PM
Thanks, that info is useful.  I'm just looking for identifiers to use to differentiate controllers... the info you provided allows me to rule out one possible solution, so I now know which approach to take.  It's not a problem and doesn't have anything to do with the SixAxis software.
Title: Re: Latest Build!
Post by: ofm05 on December 18, 2012, 09:07:29 PM
Where custom touch screen skins disable on the new build? Because when I try to find in setting it won't detect my zip file.
Title: Re: Latest Build!
Post by: littleguy on December 18, 2012, 09:22:35 PM
Unzip your skin to wherever you like (just NOT in sdcard/Android/data/paulscode....).  Then in Mupen, go to Touchscreen layout -> Custom.   Then go to Custom layout folder, and select the directory that contains your pad.ini file (i.e. the archive you just unzipped).  Let me know if it's still not clear.
Title: Re: Latest Build!
Post by: ofm05 on December 18, 2012, 09:42:35 PM
It doesn't show up. I have tested out on gs3 and nexus 7. However the build from Google play detects it right away.
Title: Re: Latest Build!
Post by: littleguy on December 18, 2012, 10:08:00 PM
The latest build doesn't extract or detect you custom skins.  You specify 'custom' in the layout list.  Then go to the menu farther down and navigate to your custom skins folder.
Title: Re: Latest Build!
Post by: ofm05 on December 18, 2012, 10:12:16 PM
Yeah I did. It does not show up in the folder even though it is in there.
I select custom and then I navigate to the folder where the skin is at and nothing shows up.

The funny thing is it shows up when I go to the menu where you select your game to play.
Title: Re: Latest Build!
Post by: littleguy on December 18, 2012, 10:22:12 PM
You specify the folder that contains pad.ini . You don't see any files because you must select a folder.  Confusing,.i know.  Will try to improve it when I get the chance.
Title: Re: Latest Build!
Post by: Paul on December 18, 2012, 10:27:03 PM
I can make an interactive zip extractor that asks where you want to extract a skin, and when its complete have it ask if you want to set the new folder as the custom gamepad folder.  That might solidify the concept of you are selecting a folder and not a file.
Title: Re: Latest Build!
Post by: ofm05 on December 18, 2012, 10:31:44 PM
Gotcha you yes it work that way-
Title: Re: Latest Build!
Post by: littleguy on December 18, 2012, 10:34:40 PM
Ooh, I like the idea of just specifying a zip file rather than folder.  It could just silently unzip to a temp folder like we do with zipped roms , no further input required.
Title: Re: Latest Build!
Post by: Paul on December 18, 2012, 10:36:12 PM
True that would be simpler
Title: Re: Latest Build!
Post by: Mat317 on December 19, 2012, 03:01:18 AM
is it possible to turn off the auto save when closing? using a s3 and can't access settings in game as well
Title: Re: Latest Build!
Post by: littleguy on December 19, 2012, 05:51:50 AM
Why would you want to turn off auto-save?  Auto-save is necessary for retaining progress when you receive a phone call, your battery dies, etc.
Title: Re: Latest Build!
Post by: Mat317 on December 19, 2012, 07:44:45 PM
trying perfect dark game froze exited and saved at frozen point restarting just restored the frozen point
Title: Re: Latest Build!
Post by: littleguy on December 19, 2012, 08:25:03 PM
But the solution either way is still the same, right?  Load from a slot, or a manual save, or reset.  Disabling auto-save doesn't really change anything in the end, or am I missing something?
Title: Re: Latest Build!
Post by: Paul on December 19, 2012, 09:14:43 PM
Perfect Dark always freezes, so that is an unrelated problem.  If this happens on a working game (save in a bad spot) just hit reset.
Title: Re: Latest Build!
Post by: Mat317 on December 19, 2012, 11:13:58 PM
ah ok must be a reset options in settings menu during game.. have to wait for a fix for the s3 to access the settings. only have save and load options visible in game. thanks again for all the work you guys are doing
Title: Re: Latest Build!
Post by: Paul on December 19, 2012, 11:38:33 PM
Do the other options show up in the spill-over menu? (should show up as three dots in the action bar)

-- EDIT -- Actually, forgot reset is not working right anyway (it's just going back to the main menu).  I'll try and fix that next.
Title: Re: Latest Build!
Post by: Mat317 on December 20, 2012, 05:17:01 AM
no unfortunately no three dots  ends with slot load on the right
Title: Re: Latest Build!
Post by: littleguy on December 20, 2012, 11:28:22 AM
I'm running Jelly Bean 4.1.2 on the GS3.

When i pressed the back button I see the Slot load, Slot save, Slot 0 appear at the top like normal. But the regular menu never shows up anymore.

This should be fixed in the next snapshot.  Apparently Samsung's modified Android UI hides the standard overflow menu, and instead insists that you press the menu button to access it.  The menu button will be functional again for all Android versions in the next snapshot (and not mappable to game controls).
Title: Re: Latest Build!
Post by: Paul on December 20, 2012, 12:23:11 PM
Thanks, I thought it might be related to that.  I'll post another snapshot build this evening.
Title: Re: Latest Build!
Post by: arrtoodeetoo on December 20, 2012, 04:08:08 PM
Will this snapshot include any updates to the separate controller ID bugs?
Title: Re: Latest Build!
Post by: littleguy on December 20, 2012, 04:13:59 PM
Depends on how much I can get done tonight :)  Most likely not though.
Title: Re: Latest Build!
Post by: arrtoodeetoo on December 20, 2012, 04:47:15 PM
I'm anxious to test it, but I guess it doesn't really matter at the moment considering the two friends I play Mario Kart with have gone for the holidays.  :P
Title: Re: Latest Build!
Post by: jack111 on December 20, 2012, 10:25:54 PM
Does the updated version increase the game compatibility for Mupen64Plus AE or does it fix only the bugs listed at the start of this tread?
Title: Re: Latest Build!
Post by: littleguy on December 20, 2012, 10:50:34 PM
Will this snapshot include any updates to the separate controller ID bugs?
Ok, multiplayer support should be in the next snapshot.  When playing multiplayer games, you will need to go to the in-game menu, go to Multiplayer settings, and define which player owns which controller.  For now you'll have to do this every time you restart Mupen or re-plug a controller.  Just a limitation of Android, but I'm looking into workarounds to make it less annoying.  At any rate, I'll be curious to hear if it works with identical controllers.
Title: Re: Latest Build!
Post by: littleguy on December 20, 2012, 10:58:36 PM
Does the updated version increase the game compatibility for Mupen64Plus AE or does it fix only the bugs listed at the start of this tread?
The builds listed at the start represent work-in-progress snapshots of Mupen64PlusAE version 2.0 alpha.  This version is a significant update to the version available on Google Play (1.9.2).  It's an overhaul of the front-end menu system, and now includes true analog and multiplayer support for many common controllers.  It also includes many optimizations to the core which may provide a noticeable improvement to some games, though other devs can tell you better than I can what they all are.  The bugs you see listed on the first post are bugs that were discovered so far in these Version 2 alpha builds.
Title: Re: Latest Build!
Post by: Paul on December 21, 2012, 04:26:08 AM
Posted the latest snapshot.

 
Does the updated version increase the game compatibility for Mupen64Plus AE or does it fix only the bugs listed at the start of this tread?
The bugs listed at the start of this thread are bugs fixed since the first snapshot build of the new version.  They are not applicable to 1.9.2, which had a completely different GUI.  Once this update is complete, I will post an actual list of fixes between 1.9.2 and the update.  That list will not include the bugs listed in the start of this thread.
Title: Re: Latest Build!
Post by: Mat317 on December 21, 2012, 09:29:14 AM
thanks menu is now accessible on s3 and fast forward is amazing. majors mask has a lot of square textures and black walls etc though but runs fast
Title: Re: Latest Build!
Post by: Paul on December 21, 2012, 09:42:34 AM
Is that on gles2n64?  I know there is an issue in gles2n64 with some of the new GPU's (including my wife's Razr) that messes up the alpha on pretty much every game (blank parts of textures show up black or other color instead of transparent).  Haven't got around to looking at it.  Most games look much better with gles2rice, although I think there were other unrelated graphics issues with Majora's Mask (haven't test in a few weeks so can't remember for sure).
Title: Re: Latest Build!
Post by: Quietlyawesome94 on December 21, 2012, 03:08:07 PM
Is it a known issue that the 'Gamepad/keyboard' option refuses to stay enabled? I'll turn it on, press the back button, and come back into the Input menu and it shows as off. Also switches to off if I turn it on, set up the controls, and press OK. Am I missing something?
Title: Re: Latest Build!
Post by: littleguy on December 21, 2012, 03:13:16 PM
Some others have noted that problem as well and I have no idea what's causing it because I can't replicate it.  If you can deduce any patterns to when it works and when it doesn't, please let us know.  I'll try to add some more debug logging to isolate it.
Title: Re: Latest Build!
Post by: Quietlyawesome94 on December 21, 2012, 03:19:21 PM
Some others have noted that problem as well and I have no idea what's causing it because I can't replicate it.  If you can deduce any patterns to when it works and when it doesn't, please let us know.  I'll try to add some more debug logging to isolate it.

I haven't gotten it to stay enabled as of yet. I'm running a 4.2.1 stock rooted Nexus 7...

Playing around with it at the moment, and even touching 'Octagonal joystick limits' or 'Mappable volume keys' changes it to off right before my eyes. Is there anything useful in logcat I could give you?
Title: Re: Latest Build!
Post by: Quietlyawesome94 on December 21, 2012, 03:23:11 PM
Some others have noted that problem as well and I have no idea what's causing it because I can't replicate it.  If you can deduce any patterns to when it works and when it doesn't, please let us know.  I'll try to add some more debug logging to isolate it.

I haven't gotten it to stay enabled as of yet. I'm running a 4.2.1 stock rooted Nexus 7...

Playing around with it at the moment, and even touching 'Octagonal joystick limits' or 'Mappable volume keys' changes it to off right before my eyes. Is there anything useful in logcat I could give you?

Bingo! Finally got it to 'stick' by first enabling 'Player 2' under multiplayer and then enabling 'Gamepad/keyboard'. Leaving the input menu and coming back, Gamepad was still enabled and player 2 was disabled. Works great now. Kinda odd, ya think?
Title: Re: Latest Build!
Post by: littleguy on December 21, 2012, 03:24:43 PM
That's crazy because I am also running Nexus 7 rooted stock 4.2.1  :o

You could try looking at the logcat but it probably won't help much at the moment since I don't think I put many debug statements in that part of the code.  You could, however go into Advanced->Crash reports menu and enable it, add your username, then click the test button.  That will upload your settings and stuff so I can see it.

Edit: very odd indeed.  If you can do that repeatedly and get the same result every time, I would like to know... or was it just a fluke that the setting happened to stick at that point....
Title: Re: Latest Build!
Post by: Quietlyawesome94 on December 21, 2012, 03:28:43 PM
That's crazy because I am also running Nexus 7 rooted stock 4.2.1  :o

You could try looking at the logcat but it probably won't help much at the moment since I don't think I put many debug statements in that part of the code.  You could, however go into Advanced->Crash reports menu and enable it, add your username, then click the test button.  That will upload your settings and stuff so I can see it.

Edit: very odd indeed.  If you can do that repeatedly and get the same result every time, I would like to know... or was it just a fluke that the setting happened to stick at that point....

Ok, I'll go do that.

Wow, this is just getting weird. I can't keep it disabled now! I'll disable it, leave the input menu, and come back with it enabled! Trying to fiddle around with it again to get it to stick.
Title: Re: Latest Build!
Post by: archangeles on December 21, 2012, 04:21:22 PM
I know this was to be expected, but out of curiosity, why douse it crash when I try to play oot v1.2? I have the latest test build, I'm using sgs3 stock rooted
Title: Re: Latest Build!
Post by: Paul on December 21, 2012, 04:29:18 PM
Zelda OOT v1.2 should work.  Where is it crashing?  Upon launch, or somewhere in-game?  Could you install the debug build, and enable crash reporting?

- Settings->Advanced->Crash Reports (enable)
- Settings->Advanced->Contact info (enter your paulscode.com username, "archangeles")
- Start the game, and let it crash (report should get sent)
Title: Re: Latest Build!
Post by: Paul on December 21, 2012, 05:01:50 PM
I took a look at the crash log (which is getting huge already - and we haven't even published -- I really need to get that storing into a database instead).  One I keep seeing in there over and over is this:

Code: [Select]
12-21 19:51:01.365 V/FileUtil(14363): Loading native library 'SDL'
12-21 19:51:01.365 E/FileUtil(14363): Unable to load native library 'SDL'
12-21 19:51:01.365 V/FileUtil(14363): Loading native library 'core'
12-21 19:51:01.365 E/FileUtil(14363): Unable to load native library 'core'
12-21 19:51:01.365 V/FileUtil(14363): Loading native library 'front-end'
12-21 19:51:01.365 E/FileUtil(14363): Unable to load native library 'front-end'

Which results in:

Code: [Select]
java.lang.UnsatisfiedLinkError: Native method not found: paulscode.android.mupen64plusae.NativeMethods.onResize:(III)V
at paulscode.android.mupen64plusae.NativeMethods.onResize(Native Method)

I'll have to do a little more snooping, but thought I would ask if anyone already knows what could be causing this?
Title: Re: Latest Build!
Post by: littleguy on December 21, 2012, 05:06:03 PM
Re: crash reports, I've been trying to get Bugsense working in a local branch.  It should connect easily to ACRA to provide a nice front end.  There are other front-ends as well... we won't need to reinvent the wheel.
Title: Re: Latest Build!
Post by: littleguy on December 21, 2012, 05:09:49 PM
I guess the libraries (.so files) aren't getting installed from the apk?  Wonder if all the crashes are from unrooted devices.
Title: Re: Latest Build!
Post by: Paul on December 21, 2012, 05:11:53 PM
Sounds like a good idea.  If there's a database or something to host, let me know because I currently have a ton of storage and bandwidth on my host that I'll probably never use.
Title: Re: Latest Build!
Post by: Paul on December 21, 2012, 05:29:22 PM
Could we add to the crash report a paths check, to check for example if the .so libraries exist?  I honestly haven't really looked at the crash reporting system that closely yet.
Title: Re: Latest Build!
Post by: archangeles on December 21, 2012, 06:56:55 PM
Done and done, it crashes after I tap play, just closes out of the app
Title: Re: Latest Build!
Post by: arrtoodeetoo on December 21, 2012, 07:11:03 PM
So, I see the keyboard mapping is set up in the new build. Sweet. But I can't get it to work.

Here's what I'm doing.

1. Start Sixaxis.
2. turn on each controller to get them synced.
3. Change the IME to Sixaxis.
4. Open Mupen and go to settings>Input
5. Turn on the keyboard input (I've found that toggling the switch on and off several times makes it stick.)
6. Open the mapping. Press a key to map. Get the window that says to press a button.
7. Press a button.
8. Nothing...

This was with the keyboard/gamepad switched to the ON position. I even tried it with it off, and got nothing.

So, is this still incomplete?
Title: Re: Latest Build!
Post by: littleguy on December 21, 2012, 07:40:55 PM
Don't use SixAxis's IME.  Just use SixAxis to pair the PS3 controllers and put them in native HID mode.  Then you should be able to map them.

But you actually don't even need to do that.  If you use the Reset menuitem in the settings menu, it will revert everything to the defaults... and the default inputs are Player 1 enabled, with keybindings already mapped for the PS3 controller.  So you should be able to just Reset then Play a game, after your controller is paired.  If that works, then just go back to the settings and tweak from there.
Title: Re: Latest Build!
Post by: Paul on December 21, 2012, 07:51:56 PM
Done and done, it crashes after I tap play, just closes out of the app

The only crash report I see in there is a test report.  Were you able to get the app to crash on launch while "Crash reports" is enabled?  If so it must not be sending the report for that particular crash ???
Title: Re: Latest Build!
Post by: archangeles on December 21, 2012, 07:54:11 PM
Yes, I think it crashes to the point where not even the report is sent   :o
Title: Re: Latest Build!
Post by: littleguy on December 21, 2012, 07:55:38 PM
archangeles make sure you have a data connection when the actual crash occurs...
Title: Re: Latest Build!
Post by: archangeles on December 21, 2012, 08:00:00 PM
It is, I don't know what to tell you, I installed the debug apk, I enabled crash reports, it plays mm but oot just makes it force close
Title: Re: Latest Build!
Post by: Paul on December 21, 2012, 08:00:25 PM
If that doesn't work, you can also try the aLogcat method of getting the log.  I posted instructions in this thread (http://www.paulscode.com/forum/index.php?topic=93.msg2221#msg2221)

Also, check your ROM on your PC or laptop if you have one, just to make sure it isn't corrupt or something, and unzip it if it is in a ZIP file.
Title: Re: Latest Build!
Post by: littleguy on December 21, 2012, 10:34:42 PM
AHA!!!  I may have figured out why people can't get their controllers to enable/disable properly.  It all clicked when someone mentioned "swiping" the toggle switch.  I never realized you could do that with those widgets... and the code only listens for touches.

I'll get it fixed, but in the meantime just TOUCH the on/off widget.  DON'T SWIPE. If that still doesn't fix it for you, let me know.  This would explain why the issue only shows up on ICS+ devices, since previous versions use a toggle button widget instead of a slider.

Edit: Bug is fixed in the source code, so will be fixed in the next snapshot.

Edit2: Not even Android's own documentation (http://developer.android.com/guide/topics/ui/controls/togglebutton.html) gets it right.  Sheesh.
Title: Re: Latest Build!
Post by: Quietlyawesome94 on December 22, 2012, 12:15:02 AM
AHA!!!  I may have figured out why people can't get their controllers to enable/disable properly.  It all clicked when someone mentioned "swiping" the toggle switch.  I never realized you could do that with those widgets... and the code only listens for touches.

I'll get it fixed, but in the meantime just TOUCH the on/off widget.  DON'T SWIPE. If that still doesn't fix it for you, let me know.  This would explain why the issue only shows up on ICS+ devices, since previous versions use a toggle button widget instead of a slider.

Edit: Bug is fixed in the source code, so will be fixed in the next snapshot.

Edit2: Not even Android's own documentation (http://developer.android.com/guide/topics/ui/controls/togglebutton.html) gets it right.  Sheesh.

That does, indeed, work very well! I just tried it and the option stuck every time. Heh, some time the simplest things are the hardest. Glad you fixed it.
Title: Re: Latest Build!
Post by: Paul on December 22, 2012, 12:49:56 AM
Seemed pretty important, so I posted another snap-shot

If I asked anyone for a crash report, please use the latest build in the first post of this thread.  I'm only holding onto the top debug build, so to track down problems I need output from that one.  Also, don't forget to remind me when you send a report, so I can go look it up in the spreadsheet and remember what I'm looking for  ;)

--EDIT--  I forgot to mention, please test and report any problems with the cheats and hi-res textures pieces, since I just recently finished hooking those up in the new front-end.
Title: Re: Latest Build!
Post by: Mat317 on December 22, 2012, 01:08:33 AM
majors mask using hi res textures get black walls and disappearing textures fairies etc with gles2rice. with glesn64 black textures on walls show but flash rapidly and objects disappear a lot more
Title: Re: Latest Build!
Post by: Mat317 on December 22, 2012, 01:13:02 AM
same issues with or without texture pack most problems noticeable in clock town where the jugglers are
Title: Re: Latest Build!
Post by: Mat317 on December 22, 2012, 01:22:50 AM
sorry forgot to say search for texture pack zip works again, but I like just copying it into data folder now
Title: Re: Latest Build!
Post by: Paul on December 22, 2012, 01:28:23 AM
Done and done, it crashes after I tap play, just closes out of the app

Just to rule one thing out, when it crashes it goes back to your home screen, not the game menu, right?  I am thinking maybe only Java Exceptions are being picked up by the crash report system, and maybe not segfaults (I'll have to test that theory to see).  Either way, you'll probably have to get the logcat output a different way (aLogcat is the next easiest method).  Don't forget to verify the ROM is not corrupt too.  You might also try checking if changing the video plug-in to gles2rice has any effect, and even try it with the video plug-in disabled to see if the game at least boots up with audio.
Title: Re: Latest Build!
Post by: maalox on December 22, 2012, 03:46:13 AM
Ok, multiplayer support should be in the next snapshot.  When playing multiplayer games, you will need to go to the in-game menu, go to Multiplayer settings, and define which player owns which controller.  For now you'll have to do this every time you restart Mupen or re-plug a controller.  Just a limitation of Android, but I'm looking into workarounds to make it less annoying.  At any rate, I'll be curious to hear if it works with identical controllers.

Ok, I got a chance to test this out. It does indeed work, I tried with 2 identical sixaxis controllers and I was able to play a 2 player game following your instructions!

I did have to go to the in-game multiplayer settings menu to assign controllers every time I started a game (not just when I restarted Mupen or plugged a controller in), and that did get quite tedious, but I understand that you're looking for a solution :)

One issue is that the controller lag (the time between pressing a button and seeing a response on the screen) seemed noticeably higher than before. Is there anything in your changes that could have caused this? Of course, the issue could be on my end since I am now at my family's place for the holidays and my test environment (i.e. television) is different. When I get a chance, I will try an older build (DEC 15) to see if the controls feel laggy or the same.

On an unrelated note, 2-player Mario Kart 64 was unplayable due to graphics issues: With the gles2n64 plugin, the bottom half of the screen (player 2) is blank. With the gles2rice plugin, the bottom half isn't blank but it is substantially zoomed in such that you can't really see the track. I'm using a Galaxy Note II on Android 4.1.1, happy to take a screenshot or video if this is not already a known issue.

Thanks again for your work!
Title: Re: Latest Build!
Post by: littleguy on December 22, 2012, 07:09:02 AM
Ok, I got a chance to test this out. It does indeed work, I tried with 2 identical sixaxis controllers and I was able to play a 2 player game following your instructions!

I did have to go to the in-game multiplayer settings menu to assign controllers every time I started a game (not just when I restarted Mupen or plugged a controller in), and that did get quite tedious, but I understand that you're looking for a solution :)

One issue is that the controller lag (the time between pressing a button and seeing a response on the screen) seemed noticeably higher than before. Is there anything in your changes that could have caused this? Of course, the issue could be on my end since I am now at my family's place for the holidays and my test environment (i.e. television) is different. When I get a chance, I will try an older build (DEC 15) to see if the controls feel laggy or the same.
Fantastic!  Thanks very much for verifying, that was one of the most critical things on my todo list.  I will indeed be looking to reduce the tedium as much as possible, thanks for your patience.  Also, do you notice the same lag when Players 2-4 are disabled in the Input menu?

@maalox - I have a huge favor to ask - could you start a thread and post step-by-step instructions for using SixAxis with the new builds?  Specifically focusing on SixAxis settings, since I have no way to test that myself (I don't own an official PS3 controller).  I can fill in details on the Mupen side if necessary.

Paul, I think you can scratch off the Xperia Play touchpad missing bug, I think that was just a menu organization/caption issue, not a technical one.

Next on my plate is to fix the IME broken listening bug, since that affects all pre-HC users who want to use analog controls.  I know the problem, just have to come up with a clean solution.
Title: Re: Latest Build!
Post by: ofm05 on December 22, 2012, 10:22:14 AM
Really liking the game speed option in the menu. WWF No Mercy is running amazing on my GS3 when set to 100. Sound no longer cracks.
Title: Re: Latest Build!
Post by: Vincentmrl on December 22, 2012, 11:02:36 AM
latest build doesn't download files, it just says finished, I tried reinstalling too but it still has this problem
EDIT: fixed by uninstalling and installng mupen. Still it's a bug to fix because deleting the folder and overwriting the older app always worked
Title: Re: Latest Build!
Post by: Paul on December 22, 2012, 11:18:40 AM
Strange!  I just did a clean install of both and it seemed to work on my phone.  Could you uninstall the app again, and check to make sure the folder is completely deleted, then reinstall?  I might need to do a special verbose build for you to track this one down.

Anyone else on here have this problem?
Title: Re: Latest Build!
Post by: Paul on December 22, 2012, 11:20:16 AM
Ninja'd me with the edit!  OK, that should help narrow down possible causes.
Title: Re: Latest Build!
Post by: littleguy on December 22, 2012, 12:34:19 PM
Another option to try is the reload option under the advanced menu.  If it ever happens again...
Title: Re: Latest Build!
Post by: Vincentmrl on December 22, 2012, 12:49:08 PM
I think the bug happened because I deleted the folder then installed new version and replaced older, usually I install then delete
Title: Re: Latest Build!
Post by: Skidrash on December 22, 2012, 02:42:39 PM
I don't know if you've had time to look at it yet or not but the Nyko Playpad still has the same issues in the latest nightly. If it's not on the todo list yet that's cool,I just wanted to let you know in case you had already affected a change for it.

Thanks again for all of your hard work!
Title: Re: Latest Build!
Post by: littleguy on December 22, 2012, 02:51:02 PM
Skidrash - Thanks for the reminder.  The problem is with the mapping screen, not the listening to the controller.

So in the meantime if you reset to the default preferences, it should have your left nub mapped correctly by default.  (It might not appear to be working in mapping screen, but in game it will probably work as desired.)  On the mapping screen feel free to map the other buttons and the right nub... just don't mess with the left nub or the analog mapping.  Let me know if that fixes it, that will confirm the solution I have in mind.  Thanks much!
Title: Re: Latest Build!
Post by: arrtoodeetoo on December 22, 2012, 03:26:36 PM
Alright. I got multiplayer working.

Now, my NEXT issue is the video settings. What are the best settings for Mario Kart Multiplayer?? It used to work just fine on Rice, but now the split screens don't scale right within eachother. Switching it to the other video engine makes the bottom screen black, as it always has.

I'll post a screenshot from my tablet in a few.
Title: Re: Latest Build!
Post by: arrtoodeetoo on December 22, 2012, 03:44:55 PM
Attachment
Title: Re: Latest Build!
Post by: archangeles on December 22, 2012, 04:28:44 PM
Texture packs, where do I put them, where is the option to enable them?
Title: Re: Latest Build!
Post by: Paul on December 22, 2012, 05:00:31 PM
Switch to gles2rice (Plugins section) then it will show up in the video settings menu
Title: Re: Latest Build!
Post by: littleguy on December 22, 2012, 06:57:36 PM
latest build doesn't download files, it just says finished, I tried reinstalling too but it still has this problem
EDIT: fixed by uninstalling and installng mupen. Still it's a bug to fix because deleting the folder and overwriting the older app always worked
The problem is that we just changed to a new system to determine when the app resources need to be re-loaded.  The old system just looked for a particular file, so deleting the folder effectively flagged the app to reload.  The new system works a little differently, maybe the old way is better now that you point this out....
Title: Re: Latest Build!
Post by: Vincentmrl on December 22, 2012, 07:41:09 PM
Is it already know that ssb has missing textures in gles2n64? Pikachu has no face
Title: Re: Latest Build!
Post by: Skidrash on December 22, 2012, 08:06:44 PM
Alright I did a reset to defaults and left the left stick alone. When I start Mario64 and try to use the stick, Mario takes off at full speed. He runs foward and to the left. I can take back control by using the on screen stick, but as soon as I touch anything on the Playpad he takes off running north-northwest again. I tried calibrating the stick using the controller mapping screen but it didn't seem to change anything.
Title: Re: Latest Build!
Post by: littleguy on December 22, 2012, 08:15:14 PM
OK that's not what I was expecting...  I'll have to add some debugging stuff and post for you to try.
Title: Re: Latest Build!
Post by: Skidrash on December 22, 2012, 09:34:42 PM
Roger that.
Title: Re: Latest Build!
Post by: jonjon on December 23, 2012, 05:00:41 PM
I've been noticing more frequent graphical glitches in the last two releases. The only that comes to mind now is star wars pod racer, anakins's pod doesn't render correctly any more. Going back to the 15 Dec release fixes the issue.

Unfortunately I can't remember other specific examples to test yet but will report back if I can find any. Other games I've been playing and testing include: goldeneye, Mario, Mario kart, Zelda oot and mm, lylat wars and castlevania. Its not very helpful but generally the graphics seem to be a littlge more glitchy now - will have to find some concrete examples!

Thanks,

PS the settings layout is much better and well done for cracking the persistent slider bug!
Title: Re: Latest Build!
Post by: Vincentmrl on December 23, 2012, 06:11:35 PM
I found a lot graphical bugs in a lot games. They're all missing texture or hidden for some reason. SSB has characters having no faces (except dk), Kirby 64 has no face kirby until you jump or do some move, International superstar soccer 64 has square shadows and PK is unplayable. Also the menu is flashy. This happens with both the video plugins.
Title: Re: Latest Build!
Post by: littleguy on December 23, 2012, 09:05:27 PM
I've been noticing more frequent graphical glitches in the last two releases. The only that comes to mind now is star wars pod racer, anakins's pod doesn't render correctly any more. Going back to the 15 Dec release fixes the issue.

If you're using gles2n64, try changing the "Depth test" setting in the Video settings.  If that fixes the problem, let me know which setting looks better (checked or unchecked).  That's the only thing I can think of that changed.

Other devs - Please take a look at my commit  (https://github.com/paulscode/mupen64plus-ae/commit/4fa83d116f842e2f07935c604ba4f4c89096c896)to be sure I didn't do something stupid.  I made this change based on my understanding of the original code as well as my own observations in Diddy Kong racing.  The default value is checked.
Title: Re: Latest Build!
Post by: Paul on December 24, 2012, 06:35:07 AM
SSB has characters having no faces (except dk), Kirby 64 has no face kirby until you jump or do some move

These two problems at least are not new (been around since the beginning of the project, and only happen in gles2n64.  It seems to be related to polygon offset and probably a relatively easy fix.. just haven't had time to work on specific graphics glitches, especially since using gles2rice is an easy workaround)  I am much more interested in any new problems that appeared between the latest build and the December 15 build if anyone can find some specific examples and check if the hack z setting is related at all.  I'll check out Star Wars Racer.


Other devs - Please take a look at my commit  (https://github.com/paulscode/mupen64plus-ae/commit/4fa83d116f842e2f07935c604ba4f4c89096c896)to be sure I didn't do something stupid.  I made this change based on my understanding of the original code as well as my own observations in Diddy Kong racing.  The default value is checked.

I think you're right on your analysis of this setting.  However it is game-specific whether hack z helps or hurts things graphicaly (which I know seems counterintuitive considering what it does, but I guess the function of depth order is taken care of in multiple points in the system).  So it maybe best to do some testing to see which way works best for the most (and/or most popular) games and use that as the default.
Title: Re: Latest Build!
Post by: scorpio16v on December 24, 2012, 07:32:21 AM
On the latest build, I recognized some bugs, that aren't in the official version.
On SGS 3, I can't prevent the flickering background.
These days, I sold my SGS 3, so I can't test anymore.

On my Tegra 3 Tablet, I have for example no background graphics in Diddykong Racing with rice plugin. There where some other things on other games with different settings, but since I'm only test the development progress from time to time, I believe I can't be very helpful for bug fixing anymore. Sorry.  :(
Title: Re: Latest Build!
Post by: arrtoodeetoo on December 24, 2012, 12:42:57 PM
Any word on true Mario Kart glitch posted on the last page?
Title: Re: Latest Build!
Post by: Paul on December 24, 2012, 04:57:23 PM
No.  Anyone know when the glitch first appeared?  Would help in tracking down the cause.  I'm more focused on the "big picture" of getting everything hooked up, and much less so on game-specific graphics problems.  That type of version-comparison testing from my end probably won't happen until after the update.
Title: Re: Latest Build!
Post by: arrtoodeetoo on December 24, 2012, 06:48:13 PM
Since it worked on the last Play Store version, I should be able to work my way up from there with the releases in this thread and see.  I was only able to get multiplayer working on this most recent version, so I'll have to make a save state in this build and import it after each download to see what a two player game looks like in each build.

Or would it be easier to load up the plugins from previous builds into this version one by one?
Title: Re: Latest Build!
Post by: Paul on December 24, 2012, 06:55:45 PM
Probably easier to use a save state, since we don't know if it is a video plug-in problem or a core problem that manifests itself in the video.
Title: Re: Latest Build!
Post by: Brendan McCoy on December 26, 2012, 08:23:06 AM
If Maalox doesn't start the SixAxis thread, I will. I'm currently testing out all sorts of custom ROMs at the moment, but when I'm done I'll set up SixAxis from a clean installation and post step-by-step instructions.
Title: Re: Latest Build!
Post by: Brendan McCoy on December 26, 2012, 11:58:22 AM
I made the thread.

Found a bug, whenever I hit "Reset game" it seems to reset, but then kicks back to the menu, and forces me to load the game from the last auto-save whenever I try start it!
Title: Re: Latest Build!
Post by: Paul on December 26, 2012, 12:04:02 PM
This is next on my todo list.  I had reset fixed, but it broke in one of the recent updates again.
Title: Re: Latest Build!
Post by: maalox on December 26, 2012, 12:15:20 PM
If Maalox doesn't start the SixAxis thread, I will.

Thank you Brendan, I've been meaning to do it but I'm at my parents' for the holidays and haven't had time. Still have time to read this thread though :)
Title: Re: Latest Build!
Post by: Sowden on December 26, 2012, 05:20:12 PM
Hey guys.  I made a video to show you all a bug I found in the latest build thats posted on the first thread.  Post back if you have any more questions or suggestions on how to solve this.  Thanks guys, later.

http://www.youtube.com/watch?v=z6fIwmK__5U
Title: Re: Latest Build!
Post by: littleguy on December 27, 2012, 10:18:42 AM
Thanks for the detailed report Sowden!  This is actually a known issue at the moment, and it affects all IMEs like USB/BT Joystick Center, and SixAxis when in keyboard mode.  I have isolated the problem and I just need a bit of free time to implement the solution.  Paul - let's put this on the OP if it's not there already.

Also, ideally your usb converter for the n64 controller should work without needing USB/BT JC at all.  So I'll have to track that down too.  With the controller plugged in, can you go into Settings -> Advanced -> Controller info and post back the info you see?  A screenshot or just manually copying the text is fine.  Thanks!
Title: Re: Latest Build!
Post by: Paul on December 27, 2012, 10:29:54 AM
I am also very interested in getting that particular adapter to work, since I am actually pulling the microcontroller from that same model and soldering it into the modified N64 controllers I'm building.  I can also help run tests next week when the converters I ordered arrive in the mail, if the problem is still there by then.
Title: Re: Latest Build!
Post by: Sowden on December 27, 2012, 11:27:51 AM
Thanks guys, glad that helps.  I wouldn't hold my breath about the adapter by itself.  I have had problems with every emulator I have tried that on.  Try to follow me here, because there is some confusion about this adapter.  The plug to the far left is input 1 and the one to the right is input 2 (which is contrary to the belief if you've ever owned an N64).  If you plug it into input 1 (far right), all of the buttons are mappable.  But the problem is that for some reason its on a rapid fire.  So every button hold down is like a thousand button presses a second.  Plug it into the second controller (left) and the buttons are fine.  It just has the problem with the left-D and the C-buttons I showed in the video.  Thats why I need a program like Joycenter to interpret and map them accordingly.  Plus it allows me to map which ever controller port is input 1 so it is back to normal.  Now I haven't tried Sixaxis, but to my knowledge that program is more for wireless PS3 and XBox controllers rather than wired, is that correct?  But heres the screen pic you asked for:

http://troyh.us/FTPshare/pieproductions/Screenshot_2012-12-27-10-27-57.png

If you want to get one, follow the amazon link in my video description.  Its the one that USB/BT Joycenter has posted on their google play page.  Thanks for working on this guys.  I would love to have two players suppot for MarioKart 64 or Goldeneye.  And by the way, are you guys planning on working on Perfect Dark?  *fingers crossed*  Later guys.
Title: Re: Latest Build!
Post by: Paul on December 27, 2012, 11:52:52 AM
I wouldn't hold my breath about the adapter by itself.  I have had problems with every emulator I have tried that on.  Try to follow me here, because there is some confusion about this adapter.  The plug to the far left is input 1 and the one to the right is input 2 (which is contrary to the belief if you've ever owned an N64).  If you plug it into input 1 (far right), all of the buttons are mappable.  But the problem is that for some reason its on a rapid fire.  So every button hold down is like a thousand button presses a second.  Plug it into the second controller (left) and the buttons are fine.

I have had a couple adapters in the past that were this model, and each has had weird button behavior with one of the slots.  It is the cheapest and most common N64 adapter available, though.  In my particular case, I just need to solder the microcontroller chip up to a single controller board, so I can use just one side or even hybridize the connections between sides to work around any problems.  Generally speaking, though, it would be nice to be able to support both sides since I suspect a lot of players are using this adapter with the emulator, and with multiplayer working folks are going to start bringing up this issue a lot more.  Support for both sides may not be in the realm of possibility if there are hardware issues going on here.  I have eleven of these adapters on order though, so I should be able to do some more detailed comparisons and possibly come up with workarounds for any problems that happen consistently.
Title: Re: Latest Build!
Post by: Paul on December 27, 2012, 12:03:15 PM
And by the way, are you guys planning on working on Perfect Dark?  *fingers crossed*  Later guys.

Game-specific bugs are currently a bit lower on the priority list until we get the update finished.  This particular one does represent a problem that seems to affect a handful of games (video and input frozen with audio continuing to play, and no reported errors in the log).  That makes it more important than some other problems.  It is likely a core problem, which means it will be a lot more difficult for me personally to solve.  I'll probably have to get some help from someone more experienced with the core and dynarec, like Ari64.
Title: Re: Latest Build!
Post by: maalox on December 27, 2012, 03:54:12 PM
Probably easier to use a save state, since we don't know if it is a video plug-in problem or a core problem that manifests itself in the video.

(this is in regards to the Mario Kart 64 problem where player 2's screen is "zoomed in", as shown in artoodeetoo's screenshot a couple of pages ago).

I tried all the builds and here are the results:

First, this only applies to the rice video plugin, since the other plugin shows a black lower half for player 2 on all builds. For the rice plugin, the market release works fine, as does the Dec 1 build from this thread. The Dec 9 build has the issue, so I went back and tried the Dec 4 debug build, and that one looked fine. So, it appears that the bug got introduced somewhere between the Dec 4 debug build and the Dec 9 release build. Hope that helps, I know this isn't the highest priority but it would be cool if it were fixed since multiplayer Mario kart 64 would be awesome and is currently broken because of this :)

Speaking of multiplayer controls, I think I mentioned this before but the nes.emu and snes9x ex emulators by Robert broglia work great with 2 sixaxis controllers, and you don't need to assign each control to a specific player when reloading the app. I know those emulators don't need to worry about analog sticks, but perhaps the rest of the implementation could provide a good starting point on how to resolve the multiplayer assignment issue in Mupen 64 AE.

Thanks!
Title: Re: Latest Build!
Post by: Paul on December 27, 2012, 04:19:03 PM
So, it appears that the bug got introduced somewhere between the Dec 4 debug build and the Dec 9 release build. Hope that helps, I know this isn't the highest priority but it would be cool if it were fixed since multiplayer Mario kart 64 would be awesome and is currently broken because of this :)

I'll take a look at the git commits between Dec 4 and Dec 9 to see exactly where it broke.  I'd be just about willing to bet it was commit f628b8f54b (https://github.com/paulscode/mupen64plus-ae/commit/f628b8f54bc88678aa963a2ee37a5772693dbc5c) though.
Title: Re: Latest Build!
Post by: Gillou68310 on December 28, 2012, 05:01:44 AM
So, it appears that the bug got introduced somewhere between the Dec 4 debug build and the Dec 9 release build. Hope that helps, I know this isn't the highest priority but it would be cool if it were fixed since multiplayer Mario kart 64 would be awesome and is currently broken because of this :)

I'll take a look at the git commits between Dec 4 and Dec 9 to see exactly where it broke.  I'd be just about willing to bet it was commit f628b8f54b (https://github.com/paulscode/mupen64plus-ae/commit/f628b8f54bc88678aa963a2ee37a5772693dbc5c) though.

Sorry for the late reply on this but I'm actually pretty sure this is due to my commit "Fix unstreched frame position"
https://github.com/paulscode/mupen64plus-ae/commit/cd6281fc4c20591d7849921b6d12e42d98560335 (https://github.com/paulscode/mupen64plus-ae/commit/cd6281fc4c20591d7849921b6d12e42d98560335)

I already noticed some graphical issues after this commit, the blue action icon in zelda OOT for example!

I'm still working on this here:
https://github.com/Gillou68310/mupen64plus-ae/commit/acc14954c08331a69c100f70adaa646d690beb6a (https://github.com/Gillou68310/mupen64plus-ae/commit/acc14954c08331a69c100f70adaa646d690beb6a)

Stretched mode should be working fine with this commit but unstretched mode is still buggy right know.

Maybe we should remove the commit "Fix unstreched frame position" until I (or someone else) find a non buggy solution for this.
Title: Re: Latest Build!
Post by: maalox on December 28, 2012, 01:20:25 PM
I just noticed a bug that I don't think was mentioned before. This is happening to me in the latest build, not sure if affects other builds as well.

Steps to reproduce:
1- I use a "pattern unlock" on my android lock screen (a stock feature where you swipe a pattern to unlock the phone)
2- Use the rice video plugin.
3- Uncheck the "stretch" video option
4- Launch a game
5- Stop the game and quit Mupen
6- Lock your phone
7- Try to unlock your phone

What happens is that the lock screen is off-center/stretched. Part of the unlock pattern is actually off the screen and I cannot reach it. I need to reboot the phone for the screen to go back to normal and be able to unlock my phone.

This does not happen if I select the stretched option when using the rice plugin, or if use the other video plugin (stretched or unstretched).
Title: Re: Latest Build!
Post by: arrtoodeetoo on December 28, 2012, 10:01:38 PM
I just got home this afternoon, and saw that maalox had already done a little testing. Good finds there. I'm going to try a few things and see if I can make it work. Will report back.
Title: Re: Latest Build!
Post by: littleguy on December 28, 2012, 10:50:30 PM
Speaking of multiplayer controls, I think I mentioned this before but the nes.emu and snes9x ex emulators by Robert broglia work great with 2 sixaxis controllers, and you don't need to assign each control to a specific player when reloading the app. I know those emulators don't need to worry about analog sticks, but perhaps the rest of the implementation could provide a good starting point on how to resolve the multiplayer assignment issue in Mupen 64 AE.

Thanks, that's a good idea.  I did take a glance at Broglia's code, but nothing jumped out at me.  I got the sense that a lot more of the input handling was happening in the native C/C++ side, and the Android front-end was extremely thin.  He may be working at a lower-level usb API to get inputs.  If anyone can point me to the code that handles multiple input sources, I could study it in greater detail... but there's quite a bit of code there to sift through.
Title: Re: Latest Build!
Post by: jonjon on December 30, 2012, 07:02:58 AM

If you're using gles2n64, try changing the "Depth test" setting in the Video settings.  If that fixes the problem, let me know which setting looks better (checked or unchecked).  That's the only thing I can think ...

Sorry for the delayed response but yes that fixes the issue in star wars pod racer. In all versions the default is checked but in the latest build unchecked is the preferred setting.

... In other news:

I have been playing through zelda oot since my last post and have noticed some issues. Firstly on default glide plugin I have noticed a video freeze 3 times in around 6 hours of play where screen goes black, sound continues but input doesn't seem to work. Unfortunately leaving the game auto saves that state. I had to delete the auto save to load the ROM and be able to access the in game save (apparently this is inaccessible with an auto save file - annoying when some game options are also only available from the title screen).

On rice, the texture packs seem to work great, and have not noticed any random crashing. The hearts are glitchy though so it is impossible to tell how many you have left.

With both plugins I sometimes have trouble loading Zelda even when auto save file is not corrupt. I get a black screen and then get pushed back to mupen64. I can force it to work by quickly pressing back button to load from slot. Also, changing ROMs or plugins  and going back to Zelda works sometimes. Finally, if I just persist sometimes it will just work. Also pressing the back button to see the menu options is sometimes enough to force the auto save to load.

As such it would be nice to be able to disable auto save loading automatically or to have a manual load possibility. It is majorly annoying because resetting the game dumps you back to m64 and not the Rom's title screen. Also, when testing a build or ROM I don't necessarily want any progress saved.

Finally, I have noticed several occasions where auto save was not at the last save point. Also some of my slot saves didn't seem to work and progress was lost. Currently I save using in game option and then I slot save and slot load to check then I auto save, quit the ROM and check reload to see if it worked ok. I will report back if the problem persists even when ive loaded the save to check before quitting the app.

I have read all the relevant posts the search could bring up. I have never skip frames selected which I think might be the problem for loading the auto save(I will test the next time it happens). I know that some of these issues are being worked on but I thought it might be helpful to share the mixed experiences I've been having with the latest build/Zelda oot.

Thanks

PS. An easy way to avoid auto saving/loading would make the problems much more bearable as currently the auto save function is not reliable(even if I avoid saving at the wrong times).
Title: Re: Latest Build!
Post by: littleguy on December 30, 2012, 09:08:47 AM
Thanks for all the detailed feedback, I can see how this is frustrating.  There seem to be a few issues at work here:
 - No preference to disable auto-save/resume
 - In-game reset bugs
 - Zelda-specific issues

I can't speak to the last issue since I just work on the front-end (menu and inputs) but I can the others.  The in-game reset button is currently broken, and the problem is part of a larger issue we're working on between the front-end and the core emulator.  Auto-save itself is currently the critical piece that ensures game state is saved if the app is interrupted (phone call, dead battery, etc.).  Unfortunately auto-save doesn't have the "smarts" to know not to save a black screen at the moment.  I hesitate to add a "disable auto-save" preference, as I can imagine a flood of angry posts from people who accidentally disable it and then lose all their progress when they get a phone call.  So for the time being auto-save is the lesser of several evils.  That's just my opinion, and others may prioritize things differently.  In the long term hopefully we can have our cake and eat it too.

For the current snapshots and beta testing phase, it might make sense to add a few conveniences for the sanity of the testers.  Some ideas, and my thoughts

Any other thoughts or ideas?
Title: Re: Latest Build!
Post by: Vincentmrl on December 30, 2012, 03:17:24 PM
Add a top-level item in the main menu, so instead of "Play" (resume) we have "Resume" and "Restart"
(This has been debated among the devs.  My personal feeling is that in the final published version (i.e. perfectly bug-free ;)) people will not generally use "restart", so it's better to avoid the clutter and tuck that feature away in the in-game menu.  But given the current realities (bugs) it may be best to revisit the decision.

What about making the play button show a popup with "Restart" and "Resume" on it? It would be less confusing
Title: Re: Latest Build!
Post by: littleguy on December 30, 2012, 03:27:08 PM
Hadn't thought of that idea.  It would allow us to remove the reset function from the in-game menu, which is starting to get a bit full.  The warning dialog would be even more important in this case because it may be less intuitive that they can never go back once they reset.  On the other hand it does add one more click which some users may find annoying.  Still, I kind of like it.

Thoughts?
Title: Re: Latest Build!
Post by: Paul on December 30, 2012, 05:51:20 PM
Sounds like the best idea to me.  I'm still going to debug the reset function, so it can potentially be mapped to a key.
Title: Re: Latest Build!
Post by: Vincentmrl on December 30, 2012, 06:05:01 PM
the way I told looks the more professional and the best idea for me, people press play and text shows IN THE SAME CONTEXT, making the generic android user not get confused
Title: Re: Latest Build!
Post by: littleguy on December 30, 2012, 08:11:49 PM
By "in the same context" do you mean a popup over the main menu?  Or would it be sufficient to go to a new screen with the two options?
Title: Re: Latest Build!
Post by: Paul on December 30, 2012, 08:15:42 PM
I initially was thinking a popup dialog preference, but a sub screen could potentially be used to list the Cheat menu along with Resume (if available) and Restart/ Start.  What do you think?
Title: Re: Latest Build!
Post by: littleguy on December 30, 2012, 08:21:11 PM
Oooh I love that idea!! Sounds perfect!

Paul - do you want to take a swing at this, it probably makes most sense just to move your cheats preference in the preferences.xml hierarchy, and just add a second button at the top of the cheats menu.
Title: Re: Latest Build!
Post by: Paul on December 30, 2012, 08:25:20 PM
Sure, I've got it.
Title: Re: Latest Build!
Post by: Vincentmrl on December 31, 2012, 03:58:20 AM
ok I got a final idea:a pop-up menu when you press play that shows "play", "restart"and "cheats", when you press cheats it goes in the cheats menu and after you select the cheats when you press play with cheats it shows "resume with cheats" and " restart with cheats". If you want I canmake a mockup
Title: Re: Latest Build!
Post by: jonjon on December 31, 2012, 04:58:31 AM
All sounds good to me and I may be getting ahead of myself and a little carried away but I have a possible suggestion for the future:

This context menu could be further enhanced with ROM specific settings presented as a 'debug mode' option that persists within some user accessible XML file. The point of which would be to make debugging different games easier and to remember the optimum settings for each rom. As such the current available settings would serve as a best fit for your device and this new option would allow you to deviate from those settings on a per-rom basis without any hassle. The settings file for this option should be accessible in the sense that it can be easily backed up, restored and shared over the internet.

In my experience using the x86 mupen, remembering the correct settings and changing them on the fly was the biggest problem. Some games work fine but not every user is willing to tweak all possible combinations of options to make it happen. My idea would reward those who do look for the best configs and help those who don't by providing a one click downloadable solution to a buggy ROM... A ROM is not working? - Try the debug mode file for that ROM... Just found the perfect combination of settings for a ROM? - share it over the internet!

I would imagine that it would be presented within the new context menu as 'debug mode' with a check box and settings option for it. The check box activates/ deactivates the rom specific configs and the settings option would open a checklist of modifiable hacks for that ROM. If the 'debug mode' is checked then all ROM specific settings will override the default ones when choosing resume/reset etc. If left unchecked then the current settings are selected. There could also be a 'download from internet' button in the rom specific settings which tries to pull the best settings for the ROM for you.

I see this as important enough to mention because n64 emulation is not flawless enough for users to avoid having to change this stuff frequently on the fly and it is likely to stay that way for some time. On the other hand, the average user will want to be exposed to that fact to understand why a ROM is working or not without actually having to get their hands dirty making it work. Essentially it would present the complex issue to the user whilst providing a simple generic solution to troublesome ROMs making the user grateful for the work put in by the mupen developers rather than dismissing and blaming the app for their own shortcomings.

I'm probably dreaming, but it's just an idea!

To summarise: the popup might show

Resume
Reset N64 core
Cheat mode
 - cheat settings
Debug mode (x)
 - ROM-specific settings

Also, '-ROM specific settings' might only appear when debug mode is checked (cheat mode setting too if you like)
Title: Re: Latest Build!
Post by: Paul on December 31, 2012, 09:46:01 AM
ok I got a final idea:a pop-up menu when you press play that shows "play", "restart"and "cheats", when you press cheats it goes in the cheats menu and after you select the cheats when you press play with cheats it shows "resume with cheats" and " restart with cheats". If you want I canmake a mockup

I think to reduce complexity there isn't really a need for a pop-up.  Also, "resume with cheats" I don't think is possible (I'll test to verify, but I know for sure that "resume without cheats" doesn't work because the RAM was modified when the save state occurred - I assume the reverse is also true)
Title: Re: Latest Build!
Post by: littleguy on December 31, 2012, 10:21:06 AM
For those wondering about the distinction - adding a sub-screen to the menu is very easy, mostly just requires shuffling the lines in an xml file.  Popups often require bloated java code to implement.  So if a subscreen will do the job, that's by far the easiest solution.

Before implementing anything too complex, I'd love to just see the cheats menuitem moved to the top level and renamed "Play", and the old play menuitem moved into the new play subscreen and renamed "Resume"... or something to that effect.  I think that's what you had in mind Paul.  A lot of bang for the buck, and I can imagine it looking pretty slick.  Many birds with one stone.
Title: Re: Latest Build!
Post by: Paul on December 31, 2012, 12:59:48 PM
Also, "resume with cheats" I don't think is possible (I'll test to verify, but I know for sure that "resume without cheats" doesn't work because the RAM was modified when the save state occurred - I assume the reverse is also true)

It's actually even weirder than that.  Save-state behavior depends on the cheat.  Some cheats (such as "Mario's hat in hand") save to the save-state, so load-state comes up with those cheats applied.  Other cheats (such as "Press L to levitate") do not save to the save-state, so a load-state comes up with those cheats not applied.  I'm actually not sure how to handle this, since I am quite certain this inconsistency is going to annoy a lot of players.  I guess ultimately you can always clear out all cheats by simply resetting the game.  Would be nice to be able to do things like resume with/ without cheats though.  I'll take a look at the API to see if there is any way to do this.
Title: Re: Latest Build!
Post by: Paul on December 31, 2012, 01:16:49 PM
committed the initial implementation.  Still needs some work with cheats and resume, for it to behave predictably and consistent with what users are likely to expect.
Title: Re: Latest Build!
Post by: harrbri on December 31, 2012, 07:37:07 PM
can you please add the ability to change cheats in-game as some cheats need to turned off after use.
thanks. ;D
Title: Re: Latest Build!
Post by: ofm05 on December 31, 2012, 07:48:37 PM
So far everything is running great on my Nexus 4. However the problem with the buttons staying held if you slide your finger off is still there :'(
Title: Re: Latest Build!
Post by: Paul on December 31, 2012, 08:11:46 PM
Sorry, I haven't gotten to those yet.
Title: Re: Latest Build!
Post by: ofm05 on December 31, 2012, 09:39:04 PM
No rush

I can still play fine! Plus I have a controller but it was nice to play on the touch screen when your not home.
Title: Re: Latest Build!
Post by: jack111 on January 01, 2013, 06:55:14 PM
Just my opinion, does anyone else think that the default skin for the buttons look a bit shoddy, the coloured buttons look awesome (No offence to those who think otherwise, just wondering if the majority has the same opinion).
Title: Re: Latest Build!
Post by: Paul on January 01, 2013, 07:47:31 PM
Just my opinion, does anyone else think that the default skin for the buttons look a bit shoddy, the coloured buttons look awesome (No offence to those who think otherwise, just wondering if the majority has the same opinion).

The idea is to cover up as little of the frame as possible, thus the outlines instead of solid buttons.
Title: Re: Latest Build!
Post by: Vincentmrl on January 01, 2013, 08:00:55 PM
paul can you add the custom skins and layouts to mupen that you think are fitting for 2.0 in the next release?I'm still thinking a downloader would be awesome
Title: Re: Latest Build!
Post by: jack111 on January 01, 2013, 08:01:41 PM
That I understand however if they were more transparent with a coloured outline similar to the way they are now this would have a similar effect and bring a fresh look to the emulator. My fingers usually are the big culprit not so much the buttons. Just thought

What about pre-installed skins and button layouts such as one designed for FPS games for when the Z button needs to be in the correct place to avoid me needing to reach over the other side of the screen to press it without needing to change the layout myself and change it back when I play other games
Title: Re: Latest Build!
Post by: littleguy on January 01, 2013, 08:40:12 PM
These are all great ideas... we just need more developers if they are to happen any time soon.
Title: Re: Latest Build!
Post by: tuskore on January 01, 2013, 09:34:20 PM
Performance is very bad on the odroid-x2
Any reason why?
http://www.hardkernel.com/renewal_2011/products/prdt_info.php?g_code=G135235611947
Title: Re: Latest Build!
Post by: littleguy on January 01, 2013, 10:38:25 PM
Is that the same chipset/cpu used in the Galaxy S3?  Some versions of that phone are having a lot of unexplained performance issues as well.
Title: Re: Latest Build!
Post by: SilentHunter382 on January 02, 2013, 07:07:57 PM
Ok Paul, I havn't had a chance to do some more testing with my Xperia Play yet but I can tell you is that the map button settings for the Play pad does nothing. The on screen mapping does highlight that a button is mapped to it but the buttons never registered.
Title: Re: Latest Build!
Post by: Paul on January 02, 2013, 10:40:04 PM
The touchpad is not mapped the same way as the other buttons.  It is hard-coded to have the analog stick on the left, and c-pad on the right, with a reverse layout you can choose (c-pad left and analog right), and customizable by defining your own control layouts (similar to the touch-screen gamepad).
Title: Re: Latest Build!
Post by: littleguy on January 03, 2013, 07:29:45 AM
Paul posted a new snapshot last night.  What's new:

 - Bugfix: IMEs like USB/BT Joystick Center work properly again
 - Bugfix: Touchscreen controls no longer stick if you slide finger off buttons
 - Feature: Multiple keys/sticks can be mapped to the same N64/Mupen command
 - Game can be reset from main menu
 - Cheats and Play menus consolidated
 - Special function mapping now located inside regular mapping screen
 - Mapping popups now show more information
 - 'Calibrate' button in mapping screen no longer needed
 - Updated default key mappings for wider applicability
 - Various tweaks to screen layouts

To owners of the Nyko PlayPad, Archos Gamepad, and MOGA controller -- please let me know if the latest snapshot fixes any of your issues.  I didn't specifically address those bugs yet but they might have fixed themselves as a side-effect of the changes listed above.  Thanks!
Title: Re: Latest Build!
Post by: littleguy on January 03, 2013, 07:44:42 AM
Ok Paul, I havn't had a chance to do some more testing with my Xperia Play yet but I can tell you is that the map button settings for the Play pad does nothing. The on screen mapping does highlight that a button is mapped to it but the buttons never registered.

In the latest snapshot, the Settings-->Input menu should look like this:
 - Touchscreen
 - Touchpad      <---- shows up ONLY for Xperia PLAY users
 - Controller
 - Octagonal joystick limits
 - Mappable volume keys
 - Player 2
 - Player 3
 - Player 4

If you don't see the Touchpad menu on the Xperia PLAY, please let me know.
Title: Re: Latest Build!
Post by: maalox on January 03, 2013, 01:48:33 PM
Possible issue in the latest snapshot: I wanted to try Mario Kart's 2 player mode (to see if that stretching issue is still there), but I don't have any of my PS3 controllers with me right now. So, I left the touchscreen enabled, but player 1's controller was disabled. With these settings, I could (obviously) control player 1 via the touchscreen controls. Then, I enabled player 2's controls and only mapped the A button to Volume DOWN, so that I could use my volume key to just select a character for player 2 to actually start a race and look for the split-screen stretch bug. However, the onscreen controls for player 1 no longer worked, and in fact the game itself told me to plug in a controller for player 1 and restart the system.

Is it normal that player 1's touchscreen controls stop working if you enable player 2's controller but not player 1's? It seems like it should be possible for player 1 to play using touchscreen only, and the other players to play using physical controllers (e.g. you only have 1 PS3 controller and want to play a 2 player game).

To get around this, I enabled player 1's control. I had to map at least 1 button to get this setting to "stick" in the On position, so I mapped the Volume UP key to 'A'. Then, the game didn't complain that I need to plugin controller 1 since it detected 2 controllers. However, the volume DOWN key that I previously mapped was not working as player 2's 'A' button, so I could not actually select a character and start a race.
Title: Re: Latest Build!
Post by: littleguy on January 03, 2013, 02:42:36 PM
Thanks for the step-by-step.  I'll see if I can reproduce the bug.
Title: Re: Latest Build!
Post by: RogerSmith on January 03, 2013, 02:43:56 PM
HI all. I have a possible issue to report with the build Paul just released. And to make mention of, this problem is the same I had with the last build release.

Whenever I load a ROM and launch the game, the program instantly crashes. Now, this didn't happen to me with the previous build at first. It was all of a sudden it just started crashing whenever I tried loading ROMS that were all working properly earlier. I didn't report anything because I figured a new release was coming out so I'd wait and test the new build. With the current build, I made no changes to default start ups, I simply loaded SM64 and it crashed instantly after starting it.

I have a non-rooted Photon Q with Ice Cream Sandwich. If any more info is needed ask away.
Title: Re: Latest Build!
Post by: littleguy on January 03, 2013, 02:56:06 PM
Are you running low on storage card space?  What happens when you reset the game?
Title: Re: Latest Build!
Post by: littleguy on January 03, 2013, 03:11:43 PM
However, the onscreen controls for player 1 no longer worked, and in fact the game itself told me to plug in a controller for player 1 and restart the system.

Ok, I can reproduce this bug.  I also know why you got the in-game message, easy fix.

To get around this, I enabled player 1's control. I had to map at least 1 button to get this setting to "stick" in the On position, so I mapped the Volume UP key to 'A'.

Strange that it didn't stick.

2 controllers. However, the volume DOWN key that I previously mapped was not working as player 2's 'A' button, so I could not actually select a character and start a race.

Once there is more than 1 player enabled, you need to map devices to players.  Go to the in-game menu, select Player 2, and press the volume keys (either one is fine).  The volume keys are bound to the same input device, and a single device can only map to one player.  So you won't be able to control Player 1 with VolUp and Player2 with VolDown.  One or the other.

BTW I have a new player mapping screen that should be much easier to use.  Will be in the next snapshot.
Title: Re: Latest Build!
Post by: RogerSmith on January 03, 2013, 03:13:43 PM
Are you running low on storage card space?  What happens when you reset the game?

Not at all. The emulator itself is on the phone's internal storage, whereas the roms are on the SD card. Resetting does nothing, nor reloading app resources. The program still crashes almost instantly after starting a loaded ROM.
Title: Re: Latest Build!
Post by: littleguy on January 03, 2013, 03:22:49 PM
Hmm, ok.  Thanks for the info.  Looks like your crash reporting is turned on (I see the benign crash tests in the log) but I don't see any actual crashes in the log.  Could you either post the logcat output (see here (http://www.paulscode.com/forum/index.php?topic=93.0)), or determine the first snapshot that exhibits the crashing?
Title: Re: Latest Build!
Post by: RogerSmith on January 03, 2013, 03:31:10 PM
Sure give me a few.
Title: Re: Latest Build!
Post by: littleguy on January 03, 2013, 03:39:30 PM
Is it normal that player 1's touchscreen controls stop working if you enable player 2's controller but not player 1's? It seems like it should be possible for player 1 to play using touchscreen only, and the other players to play using physical controllers (e.g. you only have 1 PS3 controller and want to play a 2 player game).

Bug fixed.  Will be in the next snapshot.  Thanks for the find!
Title: Re: Latest Build!
Post by: RogerSmith on January 03, 2013, 05:27:19 PM
Finally, after wrestling with my phone's management of file here's the logcat. Hopefully it has what you need.
Title: Re: Latest Build!
Post by: Paul on January 03, 2013, 07:34:58 PM
Relevant lines from the log:

Code: [Select]
E/ConfigFile( 2879): IOException creating file /mnt/sdcard/Android/data/paulscode.android.mupen64plusae/mupen64plus.cfg, error message: /mnt/sdcard/Android/data/paulscode.android.mupen64plusae/mupen64plus.cfg: open failed: EBUSY (Device or resource busy)
E/ConfigFile( 2879): IOException creating file /mnt/sdcard/Android/data/paulscode.android.mupen64plusae/data/gles2n64.conf, error message: /mnt/sdcard/Android/data/paulscode.android.mupen64plusae/data/gles2n64.conf: open failed: EBUSY (Device or resource busy)
...
E/front-end( 2879): Unable to enter Android data folder '/mnt/sdcard/Android/data/paulscode.android.mupen64plusae' (required for config read/write functions)

It says it is unable to access the SD card.  Is your device plugged into a computer in Mass Storage Device mode?
Title: Re: Latest Build!
Post by: Paul on January 03, 2013, 07:46:58 PM
I wouldn't hold my breath about the adapter by itself.  I have had problems with every emulator I have tried that on.  Try to follow me here, because there is some confusion about this adapter.  The plug to the far left is input 1 and the one to the right is input 2 (which is contrary to the belief if you've ever owned an N64).  If you plug it into input 1 (far right), all of the buttons are mappable.  But the problem is that for some reason its on a rapid fire.  So every button hold down is like a thousand button presses a second.  Plug it into the second controller (left) and the buttons are fine.

I have had a couple adapters in the past that were this model, and each has had weird button behavior with one of the slots.  It is the cheapest and most common N64 adapter available, though.  In my particular case, I just need to solder the microcontroller chip up to a single controller board, so I can use just one side or even hybridize the connections between sides to work around any problems.  Generally speaking, though, it would be nice to be able to support both sides since I suspect a lot of players are using this adapter with the emulator, and with multiplayer working folks are going to start bringing up this issue a lot more.  Support for both sides may not be in the realm of possibility if there are hardware issues going on here.  I have eleven of these adapters on order though, so I should be able to do some more detailed comparisons and possibly come up with workarounds for any problems that happen consistently.

I've started modifying the controllers, and have a large batch of these adapters and controllers to play around with.  I've discovered that certain sockets in certain adapters have trouble interpreting input from certain controllers.  For example, controller A might have a problem on the left socket of adapter X, but work fine in the left socket of adapter Y.  Controller B might run perfectly fine in that same left socket of adapter X.  Some controllers don't work properly in either socket of some adapters.  Also the problems range from certain directions on the analog stick not firing, buttons rapid-firing, button and axis cross-over, and buttons simply not working.  Out of a dozen adapters, only one worked on both sockets for every controller I tried on it.  I don't really see a software solution for this -- it is just a shotty piece of hardware.
Title: Re: Latest Build!
Post by: littleguy on January 03, 2013, 08:12:13 PM
Dang that really sucks.  Are you testing them on a pc?  You could also try testing them on the test app I stickied in the Developers Corner section of the forum.

Amazing that QC would be that bad.  Are the controllers knock-offs or the genuine article?  In an ideal setting you could put them on an oscilloscope, see whether they're totally fried or if the comms are just outside of spec.  Still don't know how that would help though...
Title: Re: Latest Build!
Post by: littleguy on January 03, 2013, 08:16:50 PM
Relevant lines from the log:

Code: [Select]
E/ConfigFile( 2879): IOException creating file /mnt/sdcard/Android/data/paulscode.android.mupen64plusae/mupen64plus.cfg, error message: /mnt/sdcard/Android/data/paulscode.android.mupen64plusae/mupen64plus.cfg: open failed: EBUSY (Device or resource busy)
E/ConfigFile( 2879): IOException creating file /mnt/sdcard/Android/data/paulscode.android.mupen64plusae/data/gles2n64.conf, error message: /mnt/sdcard/Android/data/paulscode.android.mupen64plusae/data/gles2n64.conf: open failed: EBUSY (Device or resource busy)
...
E/front-end( 2879): Unable to enter Android data folder '/mnt/sdcard/Android/data/paulscode.android.mupen64plusae' (required for config read/write functions)

It says it is unable to access the SD card.  Is your device plugged into a computer in Mass Storage Device mode?

If it's not plugged into a PC, next thing I might try is removing and re-inserting the SD card (if it's removable of course).  Might be in some indeterminate mount state (?).  Fishing...

You could also try to manually delete those files if they already exist on your card.  Maybe an overwrite issue.
Title: Re: Latest Build!
Post by: Paul on January 03, 2013, 08:28:16 PM
Are you testing them on a pc?  You could also try testing them on the test app I stickied in the Developers Corner section of the forum.
Unfortunately my OTG USB adapter is in storage, and I couldn't find one at the local cellphone stores or at Radio Shack.  I could order another one, but since we are likely to be moving into a new house in the next few days, I figure I'll just wait.  If I don't burn out any of the boards, I should still have a couple unmodified controllers and adapters to test with on my phone (and of course I'll be testing the modified ones as well, although they appear to be working - I only need to use one side for them).


Amazing that QC would be that bad.  Are the controllers knock-offs or the genuine article?
Both the controllers and the adapters are cheap Chinese models -- I suspect if I had used vintage N64 controllers they would be more consistent per-adapter (but wouldn't help with the differences between adapters).  It would have cost a lot more though (or I would have had to used scratched-up used controllers).  Since the point of the controllers was to raise money for the Kickstarter campaign, I went with the least expensive route.
Title: Re: Latest Build!
Post by: RogerSmith on January 03, 2013, 10:16:10 PM
For some reason, Mupen isn't detecting the ROMs folder on my SD card, despite reading them in the internal storage. It sees my SNES folder though, but not N64 folder. I've been having an issue with this phone regarding storage. If something is on the SD card it won't read it, but if I move it over to internal storage it sees it.

I'll keep trying and see what I can do to get Mupen to read the roms.

EDIT

Yeah this is maddening. Mupen won't properly run  because the location of the roms. I've moved them internal storage to SD to mnt external to mnt/SD. I don't really know what to do,  I don't know if its mupen's fault or the way the photon handles storage. If anyone has any ideas please post em.
--------------
New new edit.

OK well mupen and roms are both back in internal storage, but mupen still shuts down when I attempt to start a rom. Back to square one i suppose.
Title: Re: Latest Build!
Post by: Paul on January 04, 2013, 06:44:32 AM
It could be an issue with folder/ file permissions or ownership.  Just to make sure the problem is the same one as before, could you post another logcat (if your ROMs are in a different location that they were in the last logcat)

You might have to get a terminal emulator to do some troubleshooting.  Unfortunately I don't know if there are any free ones that have enough features (I use Better Terminal Emulator Pro with additional content in shell mode, but it runs about 4 bucks.)  You could try out some of the other free ones to see it any of them give you the full output when you run:

Code: [Select]
ls -la
Full output should show you permissions, ownership, file sizes, and timestamps.  Not sure how familiar you are with Linux command prompts, but I can give you some commands to run if you aren't familiar enough to navigate and check permissions.
Title: Re: Latest Build!
Post by: littleguy on January 04, 2013, 07:31:59 AM
I use Android Terminal Emulator and it's free, should be good enough for this purpose.
https://play.google.com/store/apps/details?id=jackpal.androidterm&feature=nav_result#?t=W251bGwsMSwxLDMsImphY2twYWwuYW5kcm9pZHRlcm0iXQ..

Iif you need a more complete keyboard, try Hacker's Keyboard:
https://play.google.com/store/apps/details?id=org.pocketworkstation.pckeyboard&feature=search_result#?t=W251bGwsMSwxLDEsIm9yZy5wb2NrZXR3b3Jrc3RhdGlvbi5wY2tleWJvYXJkIl0.
Title: Re: Latest Build!
Post by: RogerSmith on January 04, 2013, 07:34:53 AM
I'm at work atm Paul, but here's a quick logcat i just did, hope it has some helpful info.
Title: Re: Latest Build!
Post by: Paul on January 04, 2013, 10:53:39 AM
Yeh, same deal  says the device or resource is busy again  ???

Code: [Select]
E/ConfigFile(26753): IOException creating file /mnt/sdcard/Android/data/paulscode.android.mupen64plusae/mupen64plus.cfg, error message: /mnt/sdcard/Android/data/paulscode.android.mupen64plusae/mupen64plus.cfg: open failed: EBUSY (Device or resource busy)
D/memalloc(  720): ion: Mapped buffer base:0x52777000 size:1781760 offset:0 fd:97
I/Adreno200-EGLSUB(  265): <CreateImage:897>: Android Image
I/Adreno200-EGLSUB(  265): <GetImageAttributes:1106>: RGBA_8888
D/memalloc(  265): ion: Freeing buffer base:0x44dd2000 size:1810432 fd:52
D/memalloc(  265): ion: Unmapping buffer  base:0x44dd2000 size:1810432
E/ConfigFile(26753): IOException creating file /mnt/sdcard/Android/data/paulscode.android.mupen64plusae/data/gles2n64.conf, error message: /mnt/sdcard/Android/data/paulscode.android.mupen64plusae/data/gles2n64.conf: open failed: EBUSY (Device or resource busy)
D/memalloc(  265): ion: Allocated buffer base:0x41d36000 size:237568 fd:37
D/memalloc(  265): ion: Freeing buffer base:0x41a2b000 size:139264 fd:55
D/memalloc(  265): ion: Unmapping buffer  base:0x41a2b000 size:139264
D/memalloc(  720): ion: Unmapping buffer  base:0x50b6c000 size:139264
D/memalloc(  720): ion: Mapped buffer base:0x513dc000 size:237568 offset:0 fd:74
D/memalloc(  265): ion: Allocated buffer base:0x41a2b000 size:110592 fd:46
D/memalloc(26753): ion: Mapped buffer base:0x54a93000 size:110592 offset:0 fd:89
D/memalloc(  265): ion: Freeing buffer base:0x41ce3000 size:208896 fd:59
D/memalloc(  265): ion: Unmapping buffer  base:0x41ce3000 size:208896
D/memalloc(  265): ion: Freeing buffer base:0x41d70000 size:208896 fd:41
D/memalloc(  265): ion: Unmapping buffer  base:0x41d70000 size:208896
I/Adreno200-EGLSUB(  265): <CreateImage:897>: Android Image
I/Adreno200-EGLSUB(  265): <GetImageAttributes:1106>: RGBA_8888
I/Adreno200-EGLSUB(  265): <CreateImage:897>: Android Image
I/Adreno200-EGLSUB(  265): <GetImageAttributes:1106>: RGBA_8888
D/memalloc(  720): ion: Unmapping buffer  base:0x50cb7000 size:208896
D/memalloc(  720): ion: Unmapping buffer  base:0x50d9a000 size:208896
D/memalloc(  720): ion: Unmapping buffer  base:0x518ce000 size:208896
D/OpenGLRenderer(26753): Flushing caches (mode 0)
D/memalloc(  265): ion: Allocated buffer base:0x41ce3000 size:139264 fd:41
D/memalloc(  720): ion: Mapped buffer base:0x50b6c000 size:139264 offset:0 fd:88
D/memalloc(  265): ion: Freeing buffer base:0x41a4d000 size:208896 fd:91
D/memalloc(  265): ion: Unmapping buffer  base:0x41a4d000 size:208896
I/Adreno200-EGLSUB(  265): <CreateImage:897>: Android Image
I/Adreno200-EGLSUB(  265): <GetImageAttributes:1162>: RGBX_8888
I/Adreno200-EGLSUB(26753): <ConfigWindowMatch:2087>: Format RGBA_8888.
D/memalloc(  265): ion: Allocated buffer base:0x43ff8000 size:2019328 fd:49
D/memalloc(26753): ion: Mapped buffer base:0x55ead000 size:2019328 offset:0 fd:99
I/GameSurface(26753): surfaceCreated:
I/GameSurface(26753): surfaceChanged:
I/SDL     (26753): SDL_Android_Init()
E/front-end(26753): Unable to enter Android data folder '/mnt/sdcard/Android/data/paulscode.android.mupen64plusae' (required for config read/write functions)

Well need to figure out if /mnt/sdcard/Android/data/paulscode.android.mupen64plusae exists and has the correct ownership and permissions.  If it doesn't exist, we'll need to figure out what the correct path to paulscode.android.mupen64plusae is.
Title: Re: Latest Build!
Post by: littleguy on January 04, 2013, 11:12:51 AM
The problem may be here, in AppData.java:

Code: [Select]
        if( DOWNLOAD_TO_SDCARD )
        {
            storageDir = Environment.getExternalStorageDirectory().getAbsolutePath();
            dataDir = storageDir + "/Android/data/" + packageName;
            // for me, dataDir = /storage/emulated/0/Android/data/paulscode.android.mupen64plusae
        }
        else
        {
            storageDir = context.getFilesDir().getAbsolutePath();
            dataDir = storageDir;
            // for me, dataDir = /data/data/paulscode.android.mupen64plusae/files
        }

Right now DOWNLOAD_TO_SDCARD is hard-coded to true.  I'm wondering if we should be using

Code: [Select]
storageDir = Environment.getExternalStorageDirectory().getAbsolutePath();
dataDir = context.getFilesDir().getAbsolutePath();

And possibly storing the values internally using File objects rather than Strings.
Title: Re: Latest Build!
Post by: RogerSmith on January 04, 2013, 11:38:21 AM
Well last night I stayed up transferring the ROM folder to internal, mnt/SD and mnt/SD/external1 and mupen did the same thing in all 3 locations. But I won't get home till after 3pm, so I'll try to help figure this out and help you guys best i can.

Title: Re: Latest Build!
Post by: jonjon on January 04, 2013, 08:46:16 PM
Has any one noticed that if you choose a custom save directory that mupen creates a /sdcard/GameSaves directory upon application launch regardless of your choice? Not sure if it counts as a bug but it coaxed me into using the default gamesaves folder...

Latest build is working great for me apart from some occasional lag waiting for the cheats list to load after pressing start (being able to disable seeing the cheats list might be nice idea).

The ROM 'restart' option is really helpful. The in-game 'reset game' option seems a little redundant now though - is there a difference between choosing 'reset game' over 'main menu' seeing that you're going to press 'restart' in the main menu either way?

Ocarina of time often freezes on the gles plugin after 30-60 mins of playing. If I slot load at that point the game works but it's too choppy to be playable - at least it means that the auto save need not be corrupted since it autosaves at the slot load point ok(obviously progress is still lost though).

Not being able to see the meters and hearts with rice plugin makes me put up with the occasional crash on gles.. Is there anyway to debug this crashing issue? Do others have the same problem with oot?

Cheers

Jon

/nexus 7
Title: Re: Latest Build!
Post by: Paul on January 04, 2013, 11:34:26 PM
For the freezing, does it make any difference if you turn off frame skipping?
Title: Re: Latest Build!
Post by: jonjon on January 05, 2013, 12:00:00 AM
Frame skipping is usually off... Could that be the problem?
Title: Re: Latest Build!
Post by: Paul on January 05, 2013, 01:03:07 AM
Not off no... usually freezing problems happen when it's on.  Note that gles2n64 and gles2rice have separate frame skipping settings, incase you didn't notice that already.
Title: Re: Latest Build!
Post by: jonjon on January 05, 2013, 03:43:19 PM
Yes, I have frame skip off on both plugins... I even went back to double check.

Is there anything I can do to further debug the problem? The last time it happened I could feel it coming as there was some slow down just before - next time I will try to save just before and see whether reloading the game fresh at afterwards leads to a freeze or not.

But beyond that, is there anything more I can do?
Title: Re: Latest Build!
Post by: Paul on January 05, 2013, 05:05:48 PM
It's a unique problem, doesn't really affect other devices as far as I know.  Is the problem new in one of the latest builds, or has it always had the problem on your device?  Short of tinkering with all the settings, I don't really have any good suggestions off hand.
Title: Re: Latest Build!
Post by: SilentHunter382 on January 06, 2013, 05:56:51 AM

In the latest snapshot, the Settings-->Input menu should look like this:
 - Touchscreen
 - Touchpad      <---- shows up ONLY for Xperia PLAY users
 - Controller
 - Octagonal joystick limits
 - Mappable volume keys
 - Player 2
 - Player 3
 - Player 4

If you don't see the Touchpad menu on the Xperia PLAY, please let me know.

Sorry for a late update.

Perfect I can see the menu and the control work now. Fantastic job.  :D
Title: Re: Latest Build!
Post by: Sowden on January 06, 2013, 09:18:50 PM
Hey guys.  I wanted to post another video with more problems I'm having with the IME.

http://youtu.be/wcJa4BExfNI
Title: Re: Latest Build!
Post by: littleguy on January 06, 2013, 09:39:48 PM
Love your videos 8)  Laughed a few times.

Anyhow, thanks for going to such lengths, it looks like we're headed in the right direction.  I tested with USB/BT Joystick Center IME and a logitech controller and didn't experience the same problems, so I'm scratching my head.  Fortunately Paul has the same N64 controller adapter and that should speed up the debug.

The next snapshot will include a diagnostics utility in the Advanced menu that will display raw gamepad signals, and that may also help with debugging.
Title: Re: Latest Build!
Post by: Paul on January 06, 2013, 09:51:44 PM
I should be able to help test the adapters soon.  Melinda and I spent most of today filling out paperwork for the mortgage on the new house, and once we are signed and move in, I'll be able to get my stuff out of storage (including my USB OTG adapter, so I can connect some controllers to my phone).  I may be able to test sooner if my OUYA devkit arrives before then  ;D
Title: Re: Latest Build!
Post by: Brock on January 06, 2013, 11:41:37 PM
Hey Paul, glad to see that the project is up and going again. :-)
I've been playing around with everything and testing Paper Mario (My Favorite Game) and I would like to report to you what I've found so far.
gles2n64 :
Depth Test decreases the frequency of the flashing background by about 30-40%. It's still pretty bad in most areas.
Graphics are more consistant compaired to rice.

gles2rice:
Very playable with auto frameskip. Very slow in 1.9.2.
Fast Texture Loading solves solid background issues.
Framelimiter helps keep frame rate around 30, without it framerate is 20-60.

All above applies to both of my devices.

I will do more testing and report back, will test as builds are released.

Title: Re: Latest Build!
Post by: archangeles on January 07, 2013, 12:26:15 AM
This new build doesn't load hi res textures, the game goes back to the menu to restart or resume
Title: Re: Latest Build! [CLOSED]
Post by: Paul on January 07, 2013, 09:54:16 PM
This thread is now closed
Version 2.0 Release Candidates are being stress-tested in this thread (http://www.paulscode.com/forum/index.php?topic=833.msg7726#msg7726).  Please help with the testing!