Emulation Frontend for Android?

Discussion in 'Other Handhelds' started by Daeymon, May 28, 2013.

  1. Daeymon
    OP

    Daeymon Newbie

    Newcomer
    7
    0
    Nov 13, 2012
    Is there any viable frontends for launching games within emulators on Android, similar to Hyperspin?
     
  2. Pleng

    Pleng GBAtemp Advanced Maniac

    Member
    1,643
    784
    Sep 14, 2011
    Thailand
    I was looking at working on something like that as a smaller part of a big project I'm working on. The big problem I came across is that all the emulators I tried (which I'll admit isn't a lot) had no way, or at least no documented way, of passing the location of a ROM file at start up.
     
  3. SifJar

    SifJar Not a pirate

    Member
    6,022
    891
    Apr 4, 2009
    I have only tried one emulator (GBCoid), but it definitely did have some way to do it, as it allowed you to create a shortcut on the home screen to directly load one specific ROM. I'm not completely sure how it worked, but Android apps tend to work on the basis of "activities", and the actual "emulator" part would be one activity, whereas the ROM loading menu would be a separate activity. So the ROM loading menu would then load the emulator activity with the particular ROM as some sort of parameter. And so the shortcut would also launch the emulator activity directly with a particular ROM as the parameter.

    It should, theoretically, be possible to directly launch that specific activity from another app, and pass it as ROM as a parameter.

    Of course, I'm not sure if other emulators would work like this (although I'd hazard a guess that many will have separate activities for the actual emulator and the menu), and I'm not overly sure how one would go about making use of this, code-wise, but it should certainly be possible. However, I am not aware of anything like this.

    Best I can suggest is RetroArch which is a multi-system emulator.
     
  4. Pleng

    Pleng GBAtemp Advanced Maniac

    Member
    1,643
    784
    Sep 14, 2011
    Thailand
    Well I may have a look at that emulator as time goes on - it's not high on my list of priorities though.

    There's two ways it could work:

    The file browser activity calls startActivity() and passes the filename as data
    or the 'main' activity calls the file browser with startActivityForResult(), and the file browser sends the file name back to the main activity when it finishes.

    The trouble is even if some emulators support it, there's no standard way. With computer based emulators there's the standard accepted practice that you start the emulator and pass the rom name as a command line argument. In Android all kinds of things could happen. for example:
    • the activity looks at the "data" from the intent that created it, which it expets to be the location of a ROM file to load
    • as above but all kinds of additional settings parameters are lumped in, perhaps the author uses a system something approximating a query string
    • the activity looks at the "extras" bundle in the intent and looks for a pair of values who's key is "ROM" or "FILE" or whatever and the matching value would be the location of the ROM path
    The first would be the most sensible. The second might not make much sense but I could see people doing it anyway, and the third would make sense to any activity that could be started with a number of parameters. Trouble is, unless you're just going to play guess work with each and every emulator out there, you're pretty much stuck.

    What would be ideal would be if emulator authors would register ACTION P L A Y intents for their activities so that Android could associate the various file types with the emulators themselves, then you could launch the emulators directly from any file browser.
     
  5. SifJar

    SifJar Not a pirate

    Member
    6,022
    891
    Apr 4, 2009
    - "punemu" an emulator frontend made by giantpune, who was at one stage a regular on these forums. Never actually released, but proof it is possible and works etc.

    But really, I think RetroArch probably fits most people requirements; has cores available for pretty much all consoles, and all within one app/interface.
     
  6. Pleng

    Pleng GBAtemp Advanced Maniac

    Member
    1,643
    784
    Sep 14, 2011
    Thailand
    It only really proves he managed to get it working with a NES emulator. So we know it's possible with a minimum of one NES emulator and one GBA emulator.

    RetroArch does look good. I wonder if this in itself supports launching a ROM through passing data. I might take a look at the source when I get a moment. Even if it doesn't support it, shouldn't be too hard to implement, seeing as it's released under GPL. :)
     
  7. Pleng

    Pleng GBAtemp Advanced Maniac

    Member
    1,643
    784
    Sep 14, 2011
    Thailand
    It only really proves he managed to get it working with a NES emulator. So we know it's possible with a minimum of one NES emulator and one GBA emulator.

    RetroArch does look good. I wonder if this in itself supports launching a ROM through passing data. I might take a look at the source when I get a moment. Even if it doesn't support it, shouldn't be too hard to implement, seeing as it's released under GPL. :)
     
  8. Daeymon
    OP

    Daeymon Newbie

    Newcomer
    7
    0
    Nov 13, 2012
    Well its all part of the wish list trinity I have for the next emulation handheld I'll buy. I want it emulating PSP and DS, all with a pretty nice frontend to launch the games directly. Been watching nds4droid and ppsspp, and these projects are coming along very nicely, was just hoping there would be a frontend project I could watch the progress of too.