Commodore64: analog joystick input settings

Good morning!

I am trying to connect my analog joystick (Competition Pro) to my Fire TV Stick using an OTG cable, a USB joystick adapter (Sinchai), RetroArch 1.22.2, and VICE x64sc v3.10.

I managed to start a game, but for some reason, I cannot use my joystick.

The Fire TV remote is bound to “Port 1 Controls” by default. This means that in-game, I can use the remote to play, but not the joystick. The joystick is bound to “Port 2 Controls”, but port 2 seems to be inactive when I start a game.

What’s more: If I change the “Device Index” in „Port 1 Controls“ from “Fire TV Remote” to “hexagons .de Joystick”, I can use the joystick to navigate through the RetroArch menu; unfortunately, the fire button does not work. However, I can still use the Fire TV remote to select items (button 66).

Can anyone help me configure my joystick correctly so I can use it in games? Thanks in advance!

I would have suggested changing it in the device index, which you did. The other thing to try is launching RetroArch using the gamepad instead of the remote.

So, are you able to map the fire button at all in settings > input > retropad binds?

Hi hunterk,

Thanks for your reply. Okay, let’s first take a look into the “fire button not working” problem.

This morning, I tried the following: I turned on my TV plus the connected Fire TV, with the USB joystick adapter/Competition Pro and a USB keyboard attached to it using the OTG cable and a passive USB hub. The Competition Pro is connected to Port 2 (the right port).

After the Fire TV started up, I was able to navigate through the menus using my Competition Pro, but I was not able to select any items—the fire button did not work. (I tried 3 different joysticks, therefore I would rule out the possibility that the joystick itself has a defect.)

To start RetroArch, I have to use the Fire TV remote or the attached USB keyboard. If, after starting RetroArch, I use the Competition Pro to navigate through RetroArch, I get the message: “hexagon de Joystick (5824/10204) not configured, using fallback.”

But still: the fire button does not work.

The “Port 1 Controls” settings are as follows: Analog to Digital Type: None Device Index: hexagon de Joystick Device Reservation Type: No Reservation Reserved for This Player: None Mouse Index: Default … B Button (Down): Button 66, Key z (I think this should be the fire button?) … Left Analog Y- (Up): Axis -1 (etc.)

If I try to map the B Button (Down) to the joystick’s fire button, nothing happens: RetroArch/Fire TV does not recognize any input.

Another thing I have just noticed: If I connect the joystick to Port 1 and hit the fire button, the “How to Set Button” screen from the Fire TV opens:

Hmm, I’m not familiar with Fire TVs, specifically, but if the OS doesn’t respond to the button and you can’t map it in settings > input > retropad binds, I’m not sure there’s much you/we can do.

If you can find the button code it’s reporting (e.g., the button 66 code you mentioned earlier), you may be able to add it to a manually-created/edited autoconfig profile, but that only works sometimes, AFAIK.

Just to be sure and check functionality: all my joysticks work fine on a Windows XP machine + VICE using the Sinchai adapter.

I tried hardwaretester. com/gamepad:

Under Windows 10:
    Connected to Port 1 on my adapter: joystick sends signal "1".
    Connected to Port 2 on my adapter: joystick sends signal "1".

Under Ubuntu 24.04 LTS (virtual machine under Windows 10):
    Connected to Port 1 on my adapter: joystick sends signal "1".
    Connected to Port 2 on my adapter: joystick does not send any signal (at least the website does not detect anything).

To double-check (and in case someone else has the same problem):

Under Windows: Press the Windows key + R, enter joy.cpl, and hit Enter. The game controllers window will open. Click on Properties, and select the Test tab to check joystick functionality. Here you will see that the fire button sends “1” on any port.

Under Ubuntu: Open a terminal and install the joystick package by entering: sudo apt install joystick (hit Enter). Start the test with: jstest /dev/input/jsX (whereas X is the number of the controller—in my case, it was “2”).

Hit the fire button. You will notice that:
    Joystick connected to Port 1: Fire button 0 turns from off to on.
    Joystick connected to Port 2: Fire button 0 stays turned off (no signal detected).

It seems to be a problem with Fire TV OS (which is based on Android, which is based on Linux).