RetroArch Android releases (v1.0.0.2)

Yep, I mentioned this a few days ago that I could not hit two buttons simultaneously…

Let me rejig it again then.

BTW - I hope this will silence all the complaints then for r19 or I’m going to turn mad

Let me know once you have pushed the changes and I will test it straight away.

My pad is showing up as a ps3 v1. And for the first time my circle,triangle,cross,square were mixed up in r18. Circle was reversed with Triangle and Cross was reversed with Square.

But not complaining as was easily remapped with the Sixaxis app.

Looks like it was just my phone acting up. Flashed the latest cyanogenmod (4.3 android) and everything works fine again.

Had the same issue … The default inputs make no sense…

And impossible to map Select and use the PS button to call the RAUI … So to sum up, default buttons are messed up, and impossible to map anything properly… Too bad. No problem on the X360 controller by default, except the RAUI showing up when it feels like it …

I also tried it with. PicoDrive CUE and works perfectly. The program can create SegaCueMaker Cue FILE from the ISOS and not have to go looking / ripping ROMS etc again. That if the music CD still does not sound (as in GENSPLUS). Is it a problem of mine?

I also tried it with. PicoDrive CUE and works perfectly. The program can create SegaCueMaker Cue FILE from the ISOS and not have to go looking / ripping ROMS etc again. That if the music CD still does not sound (as in GENSPLUS). Is it a problem of mine?[/quote]

I tried alot of different things with Mega CD on both PicoDrive and Genesis Plus GX… what I said was Picodrive needs to load the .cue which is not entirely accurate I found after some tests. But no issues for me as I only like a few Mega CD games. The machine was a fail by Sega back in 92/3. Adding all these pieces of shit extentions onto the Mega Drive like it was on ‘Life Support’ and getting gang banged in both holes by the CD and 32x as AVGN said. Lol

Picodrive for me at least is failing to load .cue file if the game is made up of .bin/.cue and crashing Retroarch if trying to load the .bin file. So .bin/.cue is a no go.

If the game is made up of .iso/.wav./.cue Retroarch will crash when trying to load the .iso but will work when loading the .cue.

If the game is made up of .iso/.mp3 with no .cue file Retroarch will crash on loading the .iso in Picodrive.

Genesis Plus GX tests:

If the game is made up of .iso/.mp3 Genesis Plus GX will load the .iso no problem

If the game is made up of .iso/.wav/.cue Genesis Plus GX will load either the .iso or .cue without issue.

If the game is made up of .bin/.cue Genesis Plus GX will fail to load the .cue but will load the .bin file.

This was all the tests I done. And it could/probably will be a different story for the next person.

Let me rejig it again then.

BTW - I hope this will silence all the complaints then for r19 or I’m going to turn mad[/quote]

I hope I didn’t come across as complaining, and if I did I apologize. Just trying to provide useful feedback :slight_smile:

I’ve got a crazy idea - I noticed in one of the threads that someone posted key values for a Sony Dualshock 3 controller that differed from what I see for my Sony Dualshock 3 version 2 controller. What if Sony is using different values on different versions of their controllers? That could be the root of it working perfectly for only some people either way you have it configured. As crazy as it sounds, it may not be so far fetched when you consider that the NA and JP button usage is different (NA uses cross for confirm and JP uses circle for confirm, not sure about EU). I’ll look at the 4 controllers I have to see if I have any differences in my subset and post the details over in the controller thread. I’ll also try to find any additional identifier that might be useful to differentiate the desired mappings.

Keep up the good work and thanks for it!

Squarepusher my issue with the archos gamepad controls has gone worse. With r17 all cores worket except gambatte, now with r18 no one of the cores allows me to use my custom binds. Here you hvae the content of my retroarch.cfg so you can see I have all buttons mapped.

input_player2_left_btn = "0"
input_player3_r_btn = "0"
input_autodetect_icade_profile_pad1 = "0"
input_autodetect_icade_profile_pad2 = "0"
input_autodetect_icade_profile_pad3 = "0"
input_autodetect_icade_profile_pad4 = "0"
aspect_ratio_index = "4"
overlay_opacity = "1.000000"
video_threaded = "false"
video_force_aspect = "true"
video_shader_dir = "/data/data/org.retroarch/Shaders/"
input_player2_l3_btn = "0"
sound_mode = "0"
savestate_auto_load = "true"
input_player2_right_btn = "0"
input_player2_down_btn = "0"
input_player4_y_btn = "0"
config_save_on_exit = "true"
input_player3_l3_btn = "0"
input_player2_r_btn = "0"
video_font_enable = "true"
input_player1_right_btn = "22"
current_resolution_id = "0"
input_player4_up_btn = "0"
input_player4_r2_btn = "0"
input_player2_r3_btn = "0"
rewind_granularity = "1"
input_player4_l_btn = "0"
input_player3_l2_btn = "0"
input_player3_right_btn = "0"
screen_orientation = "0"
audio_rate_control = "true"
video_scale_integer = "false"
input_player1_left_btn = "21"
input_player4_start_btn = "0"
soft_filter_index = "0"
input_player1_r3_btn = "0"
input_overlay_opacity = "1.0"
input_player2_l2_btn = "0"
triple_buffering_enable = "false"
input_autodetect_enable = "false"
libretro_path = "/data/data/org.retroarch/lib/libretro_snes9x_next.so"
soft_filter_enable = "false"
input_player3_r3_btn = "0"
audio_mute = "0"
custom_viewport_width = "0"
flicker_filter_index = "0"
input_device_p8 = "0"
input_device_p7 = "0"
input_device_p6 = "0"
input_device_p5 = "0"
input_device_p4 = "0"
input_device_p3 = "0"
custom_viewport_height = "0"
input_device_p2 = "0"
input_player4_down_btn = "0"
input_device_p1 = "0"
input_player1_a_btn = "96"
input_debug_enable = "false"
input_player1_r2_btn = "105"
input_player1_l_btn = "102"
input_player2_select_btn = "0"
input_player3_left_btn = "0"
input_player4_r3_btn = "0"
input_player1_start_btn = "108"
video_aspect_ratio = "-1.000000"
input_player1_select_btn = "109"
input_player2_y_btn = "0"
video_hard_sync_frames = "0"
video_hard_sync = "false"
input_player1_up_btn = "19"
savestate_auto_save = "false"
audio_out_rate = "44100"
input_player1_r_btn = "103"
input_player3_a_btn = "0"
input_player1_y_btn = "100"
input_player1_b_btn = "97"
video_shader_enable = "false"
input_player4_select_btn = "0"
rgui_browser_directory = "default"
input_player2_start_btn = "0"
custom_bgm_enable = "false"
custom_viewport_y = "0"
custom_viewport_x = "0"
input_player3_up_btn = "0"
input_player3_select_btn = "0"
audio_rate_control_delta = "0.005000"
input_player2_a_btn = "0"
input_player3_b_btn = "0"
input_player1_l3_btn = "0"
input_player2_x_btn = "0"
input_player2_b_btn = "0"
input_player3_start_btn = "0"
input_player4_left_btn = "0"
input_player4_a_btn = "0"
overlay_directory = "/data/data/org.retroarch/Overlays/"
savefile_directory = "/sdcard/ROMs/Saves"
video_font_size = "48.000000"
video_smooth = "true"
flicker_filter_enable = "false"
audio_enable = "true"
input_player2_r2_btn = "0"
info_msg_enable = "false"
input_player1_x_btn = "99"
input_player2_l_btn = "0"
overlay_scale = "1.000000"
input_player3_l_btn = "0"
input_player3_r2_btn = "0"
input_player4_l3_btn = "0"
video_allow_rotate = "true"
input_back_behavior = "0"
input_player4_l2_btn = "0"
input_player4_b_btn = "0"
state_slot = "0"
input_player3_x_btn = "0"
rewind_enable = "false"
input_player4_right_btn = "0"
input_dpad_emulation_p8 = "1"
video_refresh_rate = "60.021000"
input_dpad_emulation_p4 = "1"
input_dpad_emulation_p5 = "1"
input_dpad_emulation_p6 = "1"
video_vsync = "true"
input_dpad_emulation_p7 = "1"
input_player1_l2_btn = "104"
input_dpad_emulation_p1 = "1"
input_dpad_emulation_p2 = "1"
input_dpad_emulation_p3 = "1"
video_force_aspect_auto = "true"
input_player4_x_btn = "0"
input_player2_up_btn = "0"
input_player4_r_btn = "0"
input_player1_down_btn = "20"
input_player3_down_btn = "0"
input_player3_y_btn = "0"
gamma_correction = "false"
cheat_database_path = ""
video_shader = ""
audio_device = ""
system_directory = "/sdcard/ROMs/SNES/"
savestate_directory = "default"

Why do you want to use custom mapping for the Archos? We already have that one preconfigured in autodetection.

I tried autodetection and doesnt work too, also, I like the controls A-A,B-B,X-X,etc…

But that is wrong and that would mean that your game controls are improperly laid out.

Sorry to say, but it is simply stupid to ‘reverse’ your controls in a way the game developers never would have intended for you to do.

A should be RIGHT from B,

and X should be RIGHT from Y.

This is how it has been ever since the SNES pad - and it’s only Microsoft that ever diverged from the tried and proven path.

I know it sounds weird but if game tells me to touch A button I touch A button of my archos instead of the B button. I think the issue is caused by the mapping tool. Archos updated it recently and added support for retroarch but just for touchscreen buttons. Other emulators like epsxe or muphen64 plus work perfect with my custom binds.

So, if an NES emulator tells you to press the A button and you are using a playstation dualshock controller which should be the A button? Is that the issue? You just don’t like what is printed on the physical buttons not matching what the emulator is telling you to press? Emulators are supposed to be setup so the actual physical layout matches the original system as close as possible regardless of what is printed on the physical controller. I can understand why you want them to match if you don’t have any sort of physical memory of playing those systems. I think it will be hard to get anyone to really put in time to customize this kind of issue though as most people want their physical controller to match the original controller as close as possible regardless of what is printed on the face.

Let me know once you have pushed the changes and I will test it straight away.[/quote]

I pushed a fix now -

My pad was affected too.

You’ll notice that there are no more Ver. 1 and Ver.2s this time - every pad that gets sent to the “PS3 pad” codepath will get mapped the same way.

Hopefully this works out alright for everyone - crosses fingers.

Just for the heck of it I tried out a psp emulator from the play store. I figured it would run like crap but to my surprise it runs well with frameskipping off. However, it snap, crackle, pops like mad. That got me to thinking. Would the same fix you guys used to get perfect audio without using frameskipping work in a psp emulator as well? I am using a Shield.

It probably would yeah.

We are very fortunate right now to have FINALLY arrived at a solution that works well after having battled so long with this Android stuff trying to get it to perform decenly with static syncing. In the end this was a total lost cause and it would always result in hits and misses on a lot of disparate devices, but through the combination of threaded video and dynamic rate control we have found a VERY suitable alternative that unlike static syncing can scale across a variety of devices (and the adaptive jittering is close to imperceivable anyway depending on the workload your device is having to crunch through).

What they could try is -

  1. Take a look at our threaded video code with adaptive jittering
  2. Look at our dynamic rate control PDF article and implement that in their audio code.

Those two combined could do the trick.

  1. Make their emulator target libretro-GL, so it can run inside RetroArch. that would give it DRC and AJ, along with shaders, rewind, input autoconfig, etc. all for free :smiley:
  1. Make their emulator target libretro-GL, so it can run inside RetroArch. that would give it DRC and AJ, along with shaders, rewind, input autoconfig, etc. all for free :D[/quote]

Yes.

Well, if they won’t do it - I will do the port evenually myself.