RetroArch Android releases (v1.0.0.2)

@Squarepusher Good shit, man! Congrats on getting it out the door.

@ryan I don’t know that this helps, exactly, but you should be able to get specific revision checkouts from github, so you could point your build system to the revision that coincides with an official release for consistency.

Re: libretro-bsnes, yeah, the one on github is out of date and should be considered deprecated. It was too much of a hassle for Maister to keep the C++98 port going, so he just let it go. I think it stopped being updated around v081 or so (it uses the old *.bin special chip images and predates Cx4 LLE). The gitorious repo is the semi-official bsnes/higan repo and Maister now makes updates to the libretro branch there. It’s currently up-to-date with bsnes v092. I believe you can request individual releases using the buttons in the right-hand margin. I assume there are CLI git commands to do the same but I don’t know them offhand.

Congrats and many thanks on this release!

I can’t imagine the work that went into the Android version. It delivers on so many levels! I’ve been enjoying it on an “antiquated” Iconia a500 (Tegra 2, CM10 JellyBean 4.1.2) with a Saturn USB gamepad and the scanlines shader. Very impressive stuff.

Even games like R-Type Delta and Wipeout 3 are smooth (except for a few CD-DA hicups). I’m probably missing out on the NEON stuff though.

I can already see Yinlips/JXD jump on it and make RetroArch their defacto “classic games emulator” in future devices… I read the disclaimer about commercial derivatives but what’s your take on that?

Commercial derivatives are bad but nothing we can do about it since it’s GPL. Only thing we can hope to do is to deliver enough ‘bang for the buck’ in the free official version so that people won’t foolishly part with their money to people who don’t deserve it.

@Squarepusher, many thanks for finally releasing RetroArch for Android!!! I can’t believe you guys give all those treasures free for us. God bless you all!
I currently own one of these Yinlips devices and what I wanted to ask is if Android 2.3 will be supported too (maybe in future releases)?? 'Cause every ICS firmware available for this bastard is sooo buggy and battery draining… Any hope?? Thanks in advance and excuse my English!

Only the Java frontend right now is 4.0-specific.

This is a real issue only because Xperia Play is a similarly outdated piece of ‘you-know-what’ (stuck on Gingerbread forever) - so we really have to try to find a way to support those devices as well.

This might be a stupid question but is there a way to configure a joystick?

I have one of the JXD consoles running ICS so i’ve got a set of buttons which seem to act as a gamepad. When I run the debug mode on input I get the following keycodes returned


up :    pad 0 19
down:   pad 0 20
left :  pad 0 21
right:  pad 0 22
...
etc

Is it possible to copy these values into the retroarch.cfg?

I need to know all the keycodes that the buttons on the pad generates and the ‘device name’ that gets reported (it should show up in RetroArch when you press the first button on the pad) so that I can include auto-detection support for it.

Great, the device im using is one of these: http://www.jxd.hk/products.asp?id=611&selectclassid=009006

the device name comes up as something quite generic…


HID [matrix_keyboard] unbo - the text goes off the screen at this point..

but after some digging i found the following in /proc/bus/input/devices


I: Bus=0017 Vendor=0001 Product=0001 Version=0001
N: Name="matrix_keyboard"
P: Phys=gpio-matrix-kbd/input0
S: Sysfs=/devices/platform/matrix_key.0/input/input3
U: Uniq=
H: Handlers=kbd mouse0 event3 
B: EV=b
B: KEY=400 db0000 0 0 0 0 0 1680 0 2000000 10000000
B: ABS=2650000 3

Button mapping is as follows:


d-pad

up :   19
down:  20
left : 21
right: 22

square:   100
x:        97
circle:   96
triangle: 99
select:   62
start:    66

left shoulder: 102
right sholder: 103

strange button with 4 squares on: 82
back button will exit the app so can't get a code 

Thanks, that info is exactly what I need. I’ll add it.

Here is what i found with testing the PS3’s Control Pad, not sure if it will be helpful, but posting anyway :slight_smile:

PS3 Control Pad Button Mapping:

D Pad up = 19 down:= 20 left = 21 right = 22

square = 96 x = 99 circle = 100 - Enters directories and selects triangle = 97 select = Exits Emulator, cant get code start = 100

L1 = 102 L2 = 104 L3 = 106

R1 = 103 R2 = 105 R3 = 107

PS Home button Exits Emulator.

I don’t bother with keeping old tar-balls around as there is limited space on my host. On PC, version numbers are just arbitrary tags when we feel like “releasing”. Version numbers are more relevant for console releases. I tag releases however on Github, so you can download a tar-ball for a given tag quite easily. If you want good ol’ tar-balls, I’m afraid that you’ll have to provide hosting space and upload them yourself.

Links here seem to be pretty stable at least if “autogenerated” tar-balls are acceptable: https://github.com/Themaister/RetroArch/tags

We never do release tar-balls for cores. They are continuously maintained, and would be arbitrary snapshots. Doable ofc, but a maintenance hazard.

bSNES C++98 was a port I was maintaining up till v85. I am not doing this anymore as it was unsustainable in the long run as bsnes was changing more and more every release (in C++11, so I had to port back 100s of lines every release). The gitorious repo is the semi-official repo for bSNES, and my work now goes into libretro branch. This means it uses C++11. Ideally, it would compile with Clang++ 3.1/3.2, but it currently only compiles on GCC 4.6 and up. Not sure what you mean with “official release”.

Bravo gents, wore a giant smile all night revisiting classics thanks to your brilliant effort.

Retroarch works nearly flawlessly on a 50 dollar MK808b android stick hooked up to an HDTV. The only weirdness I encountered was that if a mouse is plugged in, gamepad controls will not work. Unplugged the mouse, and my DualShock3 works perfectly. That and despite my tinkering, I couldn’t get the Wonderswan core to work, even with roms that work fine with Wonderdroid?

Thank you all. Which way do I send a donation? :slight_smile:

Alright, after toying around a few hours with the Android version, a few things I noticed:

  • the core-manual PDF mentions the “system directory” to put the MEGA-CD and PCE-CD BIOSes just like in the PC/console version but I can’t seem to find an option in the menu to set this directoy. Can it be created in an Android file explorer or is support just not implemented at the moment? It all works if the files are in the same directory with the ISO though, so no big deal.

  • is there a way to call the Quick Menu when overlay controls are disabled and using a pad? If not, maybe an overlay with a single Quick Menu button could do the trick? Having a “three dot context menu” in the Android task bar would be ideal but I can imagine that being a real headache to implement.

  • is there a criteria for what USB controllers you want to add support for? I’ll gladly provide device IDs and mappings for quite a few USB adapters and USB gamepads but don’t want it to be too much work for you guys. In any case, maybe a thread could be dedicated to posting configurations requests?

  • it seems the Saturn USB pad has no binding for “RetroPad Select”. This means no coins can be inserted in FBA games. Or that the original Zelda can’t be paused for example. Maybe consider Z or C?

  • speaking of auto-detection, any plan to port this feature over to the PC version? One of Mupen64Plus SDL Input plugin does it through a very easily editable ini file. (http://code.google.com/p/mupen64plus/wiki/ControllerSetup).

  • just installed RetroArch on a friend’s TF700 who’s not particularly emulation savvy and TheMaister’s definitely onto something with this issue https://github.com/Themaister/RetroArch/issues/127

Finally, we have forums to report console bugs (GBATemp etc…), PC bugs (this very board)… Anywhere to report Android bugs and comments in particular? Maybe it’s time for new categories/subforums?

Sorry for the length and as the.tall.man says: any way to send donations/gifts of appreciation?

  • the core-manual PDF mentions the “system directory” to put the MEGA-CD and PCE-CD BIOSes just like in the PC/console version but I can’t seem to find an option in the menu to set this directoy. Can it be created in an Android file explorer or is support just not implemented at the moment? It all works if the files are in the same directory with the ISO though, so no big deal.

The core manual PDF is made to be generic and to apply to all ports - unfortunately in this case, it’s a bit TOO GENERIC.

On Android we decided not to bother with a system directory because we can’t exactly ‘assume’ a default directory or make it easy for users to drag the files to it - instead, the required BIOS file(s) should be in the same directory as the game you’re trying to load.

  • is there a way to call the Quick Menu when overlay controls are disabled and using a pad? If not, maybe an overlay with a single Quick Menu button could do the trick? Having a “three dot context menu” in the Android task bar would be ideal but I can imagine that being a real headache to implement.

Can’t be done right now, but it’s definitely something I want to add - I am thinking of ‘binding’ this to the ‘Menu’ button of a gamepad - ie. the DualShock3’s ‘PS button’ or the 360 pad’s ‘360’ button.

  • is there a criteria for what USB controllers you want to add support for? I’ll gladly provide device IDs and mappings for quite a few USB adapters and USB gamepads but don’t want it to be too much work for you guys. In any case, maybe a thread could be dedicated to posting configurations requests?

Anything will go. I want as many devices reported to me as possible so we’ll throw in autodetection support for all of them. I want this to be as close to a ‘console port’ as possible in terms of ‘plug and play’ factor.

  • it seems the Saturn USB pad has no binding for “RetroPad Select”. This means no coins can be inserted in FBA games. Or that the original Zelda can’t be paused for example. Maybe consider Z or C?

This is definitely a glaring omission I made - part of it is that the Saturn lacks a ‘Select button’ so I wasn’t sure what to map it to. Z or C is fine according to you?

Would have to look if it suits our purposes.

Yeah we know. We also knew beforehand that we would get bitching about touchscreen overlays even though the big ‘plus point’ here is that it’s all user-customizable (might need a user-friendly WYSIWYG editor though before they’ll jump on it).

Finally, we have forums to report console bugs (GBATemp etc…), PC bugs (this very board)… Anywhere to report Android bugs and comments in particular? Maybe it’s time for new categories/subforums?

Unsure about this - I guess for now we’ll make a separate stickied thread for reporting new input keycodes.

Sorry for the length and as the.tall.man says: any way to send donations/gifts of appreciation?

I want to make RetroArch stretch across every architecture and every platform pretty much. However, up until now I’ve been taking money out of my own pocket to make this a reality, and now that you people can see that I delivered good on my promises, I would hope you guys could ‘support’ me getting RetroArch ported to as many new platforms as possible for free. You can help me in this by gifting me the hardware that is necessary to do this - for instance, I’m still on the lookout for an iPad 2 so that I can port RetroArch to that and put it up on Cydia for free.

Monetary donations I will never accept - and I hope the same applies for the other teammembers because as soon as money enters into the equation, it rapidly degenerates into sour grapes and envy and then the project falls apart. In a way, these ‘gifts’ could invite a whole lot of envy and greed as well - so I’m even unsure about that aspect -but one thing is for sure - it sure as hell beats going the cynical route of ‘Kickstarter projects’ - and there’s no way I’ll be able to get an Ouya or insert whatever ‘open device’ that is free that will get released down the line - something suitable for RetroArch.

So if the interest is there, we’ll be on other platforms from this point on as well that people would like to see.

I have a ZTE Blade gen2 with Froyo and the play store says my device is not compatible.

If I change my ROM to a newest, the app should work or the problem is not that?

Thanks for all the help.

Froyo is so old it can’t ever be supported because that was before native activity support was even introduced.

And yes, upgrading your ROM to a much more recent version (ICS/Honeycomb) would do the trick - but I’m not sure if the specs of your phone would be up to snuff for those newer OS versions.

EDIT:

http://forum.xda-developers.com/wiki/ZTE_Blade#Detailed_hardware_specifications

Looks like an ARMv6 CPU. That’s way too old for the RetroArch APK on the Play Store right now. Only way for it to work (that is - IF you upgrade the OS) is if somebody would compile it from source, leave the ARMv5-compatible binaries in and then distribute the APK.

I dunno - perhaps we could provide a separate APK - ARMv5 compatible - but it would turn into a big mess to maintain. Not sure if that’s worth pursuing since these phones are on their way out anyway.

Thanks for this great release! Maybe I’m not taking the right approach here, but I’m trying to set the aspect ratio to the same one as the original system, and can’t figure out how to do it… (kind of a “fit to screen while keeping the original aspect ratio” approach) As an alternative, I set the screen to 4:3 to play some SFIII3rdStrike (or should it be 5:4?) but it stays 4:3 instead of going 3:4 when I want to play a Tate/vertical shmup.

Also, is there a simple way to switch keys? I’d like to set HP and HK like they are in SFIV. (HP>R1, HK>R2)

Android version on a Samsung Galaxy note2. Thanks in advance for the help :slight_smile:

Pushed a new version - check the OP - it has a new APK as well - Google as usual takes a long time for it to update your page.

I want to know from the guys who reported the gamepad keycodes if those pads now work for them.

On Android we decided not to bother with a system directory because we can’t exactly ‘assume’ a default directory or make it easy for users to drag the files to it - instead, the required BIOS file(s) should be in the same directory as the game you’re trying to load.

Sounds good, and I don’t suppose many people will have 50+ ISOs each in their own subfolders on their Android devices anyways.

Anything will go. I want as many devices reported to me as possible so we’ll throw in autodetection support for all of them. I want this to be as close to a ‘console port’ as possible in terms of ‘plug and play’ factor.

Excellent! Will go through all my adapters today and post the keycodes.

This is definitely a glaring omission I made - pat of it is that the Saturn lacks a ‘Select button’ so I wasn’t sure what to map it to. Z or C is fine according to you?

I always set it up to Z on the PC version but it’s nothing more than a personal preference.

I want to make RetroArch stretch across every architecture and every platform pretty much. However, up until now I’ve been taking money out of my own pocket to make this a reality, and now that you people can see that I delivered good on my promises, I would hope you guys could ‘support’ me getting RetroArch ported to as many new platforms as possible for free. You can help me in this by gifting me the hardware that is necessary to do this - for instance, I’m still on the lookout for an iPad 2 so that I can port RetroArch to that and put it up on Cydia for free.

Monetary donations I will never accept - and I hope the same applies for the other teammembers because as soon as money enters into the equation, it rapidly degenerates into sour grapes and envy and then the project falls apart. In a way, these ‘gifts’ could invite a whole lot of envy and greed as well - so I’m even unsure about that aspect -but one thing is for sure - it sure as hell beats going the cynical route of ‘Kickstarter projects’ - and there’s no way I’ll be able to get an Ouya or insert whatever ‘open device’ that is free that will get released down the line - something suitable for RetroArch.

<Slow clap> Wise beyond your years.</Slow clap>

I don’t have an iPad2 at the moment but as an alternative couldn’t a “one time money pool” be created and stopped once it reaches its goal? A bit like what byuu did when he needed funds to decap the SNES DSP-x chips? Or do you think this would degenerate too?

Thank you for this excellent release. It is getting better with every version.

PS3 bug report.

I noticed after restarting a game once in the Snes core than I could no longer access the rom list menu. L3 and R3 simply did not direct me to the main screen; only R3 performed its main function. Further restarts lead to a crash and ps3 needed to be rebooted.

Feature Request(s):

Would it be possible to use the on-screen keyboard to browse the rom list? Cheats - mainly for NES