RetroArch Android releases (v1.0.0.2)

Well I found my issue of not being able to use the L1 and L2 buttons a PS3 controller bound via the Sixaxis Pair app: I had mouse emulation enabled which takes over the trigger buttons.

So I guess the only thing left I would like to see is a way to actually change the custom mappings in the in-game GUI popup. Every input shows as ‘Unknown’ and I can’t figure out how to change them. I understand this is possible on the PC builds via config files but not on Android. Are we supposed to be using the in-game GUI to remap buttons? How can I set the mappings? The only option I see is perhaps using the custom mapping in the Retroarch main menu but I’m afraid a single “custom mapping” won’t jive well with each game.

From my understanding of the code, is there a single config file with the button mappings contained within it that is passed to all cores? Perhaps as a temporary workaround we could look for a config filename prefixed with the rom name and provide that one to the core and use the general settings file as a fallback? Thoughts?

Squarepusher, with some help from hunterk I managed to download and compile retroarch with the threaded input patch from themaister It seems its a little more difficult to trigger the ANR now, but it’s still there.

I coudn’t find the exact group of events that end up in the ANR, but seems to be related to when both controllers press/release some key at the same time.

the log outputs this 07-26 12:49:15.061: I/InputDispatcher(2961): Application is not responding: AppWindowToken{42e90940 token=Token{425ded20 ActivityRecord{4288d5f8 org.retroarch/.browser.RetroActivity}}} - Window{4292c8f0 org.retroarch/org.retroarch.browser.RetroActivity paused=false}. It has been 5005.3ms since event, 5003.5ms since wait started. Reason: Waiting because the focused window has not finished processing the input events that were previously delivered to it.

and then it continues with a shitload of this: 07-26 12:52:29.381: I/InputDispatcher(2961): Dropped event because it is stale.

Tried to mess up with the code myself, but C is a little less understandable than japanese to me. but by seeing the log it seems that’s not exactly the input that’s lagging, it’s the input handling. I’m going to do some trial and error in the next days and post here if I find something.

Umm, if C is less understandable to you than Japanese, then I really doubt you can fix this. No offense but it’s just very, very unlikely.

Tried to mess up with the code myself, but C is a little less understandable than japanese to me. but by seeing the log it seems that’s not exactly the input that’s lagging, it’s the input handling.

It’s an Android bug either way as maister also said.

You’re starting to get a little peek behind the scenes as to why we take time out of our daily schedule to blast this OS every chance we get. And this is not even scratching the surface.

got it, thanks

Square, do you think this will be of any use? http://code.google.com/p/javacpp/

No it doesnt help. We dont even stay any amount of time in Java land.

RetroArch / Genplus does not run well on Xperia Play with the stock ROM (Gingerbread). However, it runs flawlessly (and I mean FLAWLESSLY) on the same device under Cyanogenmod 9. I’m assuming this is due to differences in the GB and ICS video drivers for the Play.

I disagree with your statement about MD.emu running “smoothly”. On the stock ROM it is mostly smooth, but there is noticeable tearing / jittering with auto frame-skip set to auto. With auto frame-skip set to 0, the video is perfect but then there are audio underruns (or overruns). You get good video OR audio with MD.emu on the Play, but never both. This is most probably because it doesn’t detect the true refresh rate the way RetroArch does.

The next RetroArch Android version will have the latest version of Picodrive. That should have absolutely no problem running fullspeed on even the weakest ARMv7/ARMv6 Android tablet/phone you can find - plus it can do fullspeed 32X emulation so that is nice as well.

I’m pretty confident this will be the killer stroke to finally kill off that MD.emu thing and any illusions of it actually being ‘better’ than what is being offered in RetroArch - it was a bad hodgepodge of old ancient Genesis Plus GX (prior to the Sega CD emulation) and some bits and pieces of ancient Picodrive (before notaz closed the source for years because he got angry at Zodttd rebadging his emu on Cydia). There’s something to be said for the fact that notaz finally wanted to open source it again now with libretro being as open as it is and óbsoleting’ these payware/donationware emus one by one.

markezine - can you compile from source?

I would like you to retry your input use case where you can trigger an ANR by playing with two gamepads simultaneously.

Apparently Nvidia found out about this problem themselves - the official Android NDK samples were apparently wrong wrt the way they did their input polling loops - and they proposed a way to fix this -

Pushed this -

Let me know if this fixes these ANR issues.

sure squarepusher, will try later tonight when I get home.

Maybe I’m just talking crap, and I know it’s a lot of work, but won’t it be better/saner to handle inputs in java land and then just send input codes already handled to the native side ?

Might be worth it to have an official picodrive core compiled for other platforms (even PC) for 32x since GenPlusGX doesn’t support it. Assuming the emulation is good enough.

That is already how a native activity works.

Might be worth it to have an official picodrive core compiled for other platforms (even PC) for 32x since GenPlusGX doesn’t support it. Assuming the emulation is good enough.[/quote]

Picodrive runs just fine on PC. All it needs is for people to compile it for Win32/Linux/OSX whatnot and then bundle it in.

And yes you can play 32X games just fine with it. Most of the 32X synchronization issues have been fixed and games like Knuckles Chaotix, Virtua Fighter, Doom and Mortal Kombat II should be fully playable.

I’ll try to get a new point release out for Android and iOS by Friday hopefully (0.9.9.4). It will have this core plus Stella (Atari 2600) for Android.

On a side note if anyone gets the new Nexus 7 I’d love to hear some benchmarks on it, particularly if it handles shaders decently, coupled with hdmi out it might be a formidable little emulation machine.

Squarepusher, as long as i could test, it seems to fix the bug. I will try to play with someone else (I was just juggling both controllers).

EDIT: Square, played for over a hour, works perfectly. Thanks for all the effort and the awesome job you guys did/are doing with this software.

Nice, seems that the fix worked.

Thank Nvidia in this case - I only implemented the change to the input handling that they suggested in that blog post.

right, but nvidia didn’t code retroarch, so I can’t thank them for this lol

Just dropping by thanks the devs for this great piece of software. Sega cd emulation is really nice and cannot wait for 32x. Using a sgs4.

Can’t wait for the new version, looking forward to dropping Gensoid. It’s a nice emulator but having the common interface of Retroarch is great and if it runs better then I’ll happily kiss Gensoid goodbye.

Sorry to add more Xperia Play clutter, but after rooting and and backing up/removing all the extraneous bloatware with Titanium, I was still having big issues with internal memory. To those who don’t know, Sony Ericsson were so thick and stupid as to give the Play only 380 MB internal memory, with less than half of that available by default. Between Dosbox, Retroarch and a few other apps that have to run from the internal, low remaining memory errors were a constant. After reading a little I found out about Gemini App Manager, which has allowed me to load Retroarch (successfully!) onto the SD card, as well as Dosbox. Other apps like App2SD refused to move these programs. I’m back up to 110 MB internal remaining and Retroarch and Dosbox seem to be running normally despite being on the SD card. So our crippled Emulator-Phone has become a little easier to live with, for me at least.

Hi there Square and markezine, if you can send me an apk with the input thing solved i could test it on the devices that i have problems with, in a few days im gonna get holidays and that would be a special gift haha.

Best application ever, right now i had some time with the Raspberry Pi version and its great.

Best regards,