Author Topic: Amazon Fire Controller Support?  (Read 12317 times)

Offline d3n3

  • byte
  • *
  • Posts: 15
    • View Profile
Amazon Fire Controller Support?
« on: January 12, 2015, 01:18:11 PM »
Hi All,

Sorry if this has already been discussed (searched and couldn't find anything), but I was wondering if the Amazon Fire Controller is slated for support in a future release.  I just bought two after trying the Nyko Play Pad with terrible results. I'm trying to use the Fire TV stick as my one stop shop for entertainment and a fully functional n64 emulator would put it over the top.

Thanks in advance.

Offline littleguy

  • Moderator
  • double
  • *****
  • Posts: 1945
    • View Profile
Re: Amazon Fire Controller Support?
« Reply #1 on: January 12, 2015, 01:57:35 PM »
I would expect it to work pretty much out of the box, though it hasn't been confirmed yet.  You might need to adjust the button mappings from the Mupen64Plus-AE settings.

If you are still having trouble, try using the diagnostic tool built into the app.  If you are running version 2.4.4 from the Play store, go to Settings -> Input  -> Controller to get to the mapping screen, then press menu and select "Controller diagnostics".  If you are running an alpha version 3.0, just go to Help -> Controller diagnostics from the main gallery screen.  All your button presses and stick movements should show up on the diagnostics screen.
2012 Nexus 7, rooted stock Lollipop
Samsung Galaxy Victory, rooted stock Jelly Bean
Xperia PLAY, stock Gingerbread
OUYA, retail version

Offline d3n3

  • byte
  • *
  • Posts: 15
    • View Profile
Re: Amazon Fire Controller Support?
« Reply #2 on: January 12, 2015, 02:29:43 PM »
Thanks for the quick reply.  The controller should arrive in a day or two so I'll check it out. The only reason I asked initially is someone over on reddit was having an issue getting the controller to map properly.  I'll report back my findings here for future reference.

Offline DukemNukem3D

  • bit
  • Posts: 4
    • View Profile
Re: Amazon Fire Controller Support?
« Reply #3 on: January 13, 2015, 09:40:41 PM »
Hi, I am the guy from Reddit who is having the problem.

So everything looks good from the diagnostic screen.  Here are the corresponding buttons on the controller and what comes up on the diagnostic screen:

Leftmost analog stick: AXIS_X and AXIS_Y (+ and - for each, when pressed in opposite directions, as expected; and since this works for this and all below, I won't keep mentioning it)
Rightmost analog stick: AXIS_Z and AXIS_RZ
D-pad: AXIS_HAT_X and AXIS_HAT_Y
right trigger: AXIS_GAS
left trigger: AXIS_BRAKE

AXIS_GENERIC_1 is listed, as well, not sure what it is, but it seems to fluctuate at some sort of interval.  It began at +0.87, then was +0.74 while I was writing some of the above (approx 20 minutes - lots of distractions!), now is +0.84.

Buttons appear as expected: A. B. X, Y, right and left shoulder buttons, and left and right thumb buttons.

However, when I try to map the buttons, things get strange.

I map my L and R shoulder buttons without issue, then decide to scroll down and map my analog stick to the "Analog ->" and other directions.  Instead of seeing the expected AXIS_X + and - as appeared in the diagnostic screen, it maps it to AXIS_GENERIC_1 (+).
Of course, if I map analog left to this (by pressing left on analog stick), when I try to map right on analog stick, AXIS_GENERIC_1 (+) disappears from analog left and is now the mapping for analog right. 

The following keypresses all return a value of AXIS_GENERIC_1 (+):

analog stick left, all directions
analog stick right, all directions
right trigger
left trigger

I managed to map almost everything using some other N64 emulator (which is, I think primarily rebranded Mupen64 Plus AE - it is called MegaN64) because it has a different input config utility.  So it looks like my controller works in general, at least.

Please let me know what else I can provide!  Thanks!

Offline littleguy

  • Moderator
  • double
  • *****
  • Posts: 1945
    • View Profile
Re: Amazon Fire Controller Support?
« Reply #4 on: January 13, 2015, 10:08:03 PM »
Thanks, that explains it perfectly.  AXIS_GENERIC_1 is messing up the mapping detection logic.  Please go to the mapping screen and this time select "Controller info" and post back the info regarding the Fire Controller.  Most important is the "signature" and "hash" values - be sure you don't have a typo with either of them.
2012 Nexus 7, rooted stock Lollipop
Samsung Galaxy Victory, rooted stock Jelly Bean
Xperia PLAY, stock Gingerbread
OUYA, retail version

Offline DukemNukem3D

  • bit
  • Posts: 4
    • View Profile
Re: Amazon Fire Controller Support?
« Reply #5 on: January 14, 2015, 05:34:01 AM »
OK, here is the controller info:

Device: Amazon Fire Game Controller
Id: 123
Descriptor: dda2d925a87b865b88664736d11debb5a7ba8cad:19490402
(NOTE: the 02 at the end was on the next line, but I think it was just a bit too long)
Class: BUTTON,  JOYSTICK
Axes: 9
  AXIS_X (joystick): ( -1.0, 1.0 )
  AXIS_Y (joystick): ( -1.0, 1.0 )
  AXIS_Z (joystick): ( -1.0, 1.0 )
  AXIS_RZ (joystick): ( -1.0, 1.0 )
  AXIS_GAS (joystick): ( 0.0, 1.0 )
  AXIS_BRAKE (joystick): ( 0.0, 1.0 )
  AXIS_HAT_X (joystick): ( -1.0, 1.0 )
  AXIS_HAT_Y (joystick): ( -1.0, 1.0 )
  AXIS_GENERIC_1 (joystick): ( 0.0, 1.0 )

That looks like it... hope it helps, and please let me know what else I can do!

Offline littleguy

  • Moderator
  • double
  • *****
  • Posts: 1945
    • View Profile
Re: Amazon Fire Controller Support?
« Reply #6 on: January 14, 2015, 06:52:25 AM »
I'm working on a solution.  One question though.  What happens if you press the axis on the controller *before* you touch the icon on the screen to map it.  In other words, rather than touching the icon on the screen, then pressing joystick left, you did the steps in reverse order?  If it works it might be enough to get you going until we can publish a "nicer" fix.
2012 Nexus 7, rooted stock Lollipop
Samsung Galaxy Victory, rooted stock Jelly Bean
Xperia PLAY, stock Gingerbread
OUYA, retail version

Offline littleguy

  • Moderator
  • double
  • *****
  • Posts: 1945
    • View Profile
Re: Amazon Fire Controller Support?
« Reply #7 on: January 14, 2015, 07:03:00 AM »
If that doesn't work, another workaround is to create a text file, call it something like "Amazon Fire" and place it in <sdcard>/mupen64plus/InputProfiles/     (create the directory if it doesn't already exist)

The contents of the text file should contain the following:
Code: [Select]
0:-31,1:-32,2:-33,3:-34,4:108,5:-47,6:99,7:96,8:-23,9:-24,10:-29,11:-30,12:103,13:102,16:-1,17:-2,18:-3,19:-4
0
100

Then go to the menu in the input mapping screen, select "Load..." and select "Amazon Fire" (or whatever you named the text file).  You might need to remap the shoulder buttons (not sure I got those right).
« Last Edit: January 14, 2015, 08:18:01 AM by littleguy »
2012 Nexus 7, rooted stock Lollipop
Samsung Galaxy Victory, rooted stock Jelly Bean
Xperia PLAY, stock Gingerbread
OUYA, retail version

Offline DukemNukem3D

  • bit
  • Posts: 4
    • View Profile
Re: Amazon Fire Controller Support?
« Reply #8 on: January 14, 2015, 07:44:55 AM »
The first workaround doesn't work, unfortunately.  The manual config file did, though!  The only changes I had to make were to remap the D-pad up button and map something to Start.

The Z button didn't work, though, even though the mapping appeared to be correct (it was mapped to left trigger; tried it in Mario 64, but the trigger didn't make him do the crouch-jump thing that is expected).  I remapped Z to Y and, while not perfect, it worked.

As before, if I tried mapping Z to the trigger, it used the AXIS_GENERIC, which screwed with the analog controls.

Thanks for all of your help with this!

Offline littleguy

  • Moderator
  • double
  • *****
  • Posts: 1945
    • View Profile
Re: Amazon Fire Controller Support?
« Reply #9 on: January 14, 2015, 08:09:20 AM »
Great.  Glad it works well enough for now.  The issue with the Z button unfortunately can only be addressed by modifying the source code.

If you wanted to start using the Alpha builds, you will receive fixes much faster than waiting for updates on Google Play.  Though you'll also have to put up with instability.  We're kind of putting all energy into Version 3, not sure how many more updates to version 2 will be published (if any).

http://www.paulscode.com/forum/index.php?topic=1818
2012 Nexus 7, rooted stock Lollipop
Samsung Galaxy Victory, rooted stock Jelly Bean
Xperia PLAY, stock Gingerbread
OUYA, retail version

Offline littleguy

  • Moderator
  • double
  • *****
  • Posts: 1945
    • View Profile
Re: Amazon Fire Controller Support?
« Reply #10 on: January 14, 2015, 08:19:17 AM »
Silly me.  I had a typo in the manual configuration.  I edited my previous post.  Would you mind trying again, so other users can benefit?  Thanks.
2012 Nexus 7, rooted stock Lollipop
Samsung Galaxy Victory, rooted stock Jelly Bean
Xperia PLAY, stock Gingerbread
OUYA, retail version

Offline DukemNukem3D

  • bit
  • Posts: 4
    • View Profile
Re: Amazon Fire Controller Support?
« Reply #11 on: January 14, 2015, 12:10:33 PM »
I just spent the past hour or so testing this. ;)

Everything works great!  For anybody stumbling upon this after me, my only advice is to go to the "S" button config and map it to something that is not used ("B" or "Y" buittons work well).  This is just because some games require use of the S / Start button.  I think Mario needs it in order to get past the title screen.

I tested it with Mario and Mario Kart, both are perfectly playable.  Awesome.  Thanks so much for helping me get this going.  You've earned some loyalty today!  I'm going to go get the donation version now.

Offline littleguy

  • Moderator
  • double
  • *****
  • Posts: 1945
    • View Profile
Re: Amazon Fire Controller Support?
« Reply #12 on: January 14, 2015, 12:25:15 PM »
Awesome, glad it worked out for you.  In contrast to all the copycat apps, Mupen64Plus-AE is the genuine one with real developers and support.   8)
2012 Nexus 7, rooted stock Lollipop
Samsung Galaxy Victory, rooted stock Jelly Bean
Xperia PLAY, stock Gingerbread
OUYA, retail version

Offline Hakstyle

  • bit
  • Posts: 1
    • View Profile
Re: Amazon Fire Controller Support?
« Reply #13 on: March 22, 2015, 02:50:43 PM »
Hello,

I tried using the text configuration file and everything maps except for the Analog Up button. When I try to map it through Mupen64 it maps it to AXIS_Generic_1 (+) and in all the games it continuously moves up.

I don't know how to edit the text file to map this button. I believe it just needs to map to AXIS_Y (-)

Thanks

Offline snick

  • bit
  • Posts: 1
    • View Profile
Re: Amazon Fire Controller Support?
« Reply #14 on: May 24, 2015, 10:19:08 AM »
I just tried the below with the latest version downloaded from newbielink:http://www.paulscode.com/source/Mupen64Plus-AE/19JAN2014/Mupen64Plus.apk [nonactive] and it doesn't appear to have a Load option anywhere. Any ideas?

Thanks!

Found it on a youtube video, but how do I get to the profiles option with the controller?

If that doesn't work, another workaround is to create a text file, call it something like "Amazon Fire" and place it in <sdcard>/mupen64plus/InputProfiles/     (create the directory if it doesn't already exist)

The contents of the text file should contain the following:
Code: newbielink:javascript:void(0); [nonactive]
0:-31,1:-32,2:-33,3:-34,4:108,5:-47,6:99,7:96,8:-23,9:-24,10:-29,11:-30,12:103,13:102,16:-1,17:-2,18:-3,19:-4
0
100

Then go to the menu in the input mapping screen, select "Load..." and select "Amazon Fire" (or whatever you named the text file).  You might need to remap the shoulder buttons (not sure I got those right).
« Last Edit: May 24, 2015, 11:14:28 AM by snick »