|
Post by beriadan77 on Mar 25, 2021 12:47:37 GMT
Uhmmm... so can I do this manually? Would something like this work? 1. Mapping A, B, X and Y to b1 and b2. 2. I assigned the leftx and lefty to the directions (the analog stick apparently in the SDL2 gamepad app). 3. left and right triggers to b0 and b1. 030000001008000001e5000000010600,NEXT NES Controller,platform:Linux,a:b1,b:b2,x:b1,y:b2,start:b9,leftx:a0,lefty:a1,lefttrigger:b0,righttrigger:b1, Yes you can edit the configuration manually. I'm not sure what the dual assignment of b0 and b1 is going to to do though, if you the press b0 do you want THE64 to register this both as x (= Left Triangle) and lefttrigger (=Left Fire)? That doesn't seem useful. You're correct I only should switch the left and right triggers buttons so the A button is the main one and not the B one. After playing for a while I've discovered that my controller GUID is not really being picked up!!! No matter what I change in the buttons on the definition, nothing changed on my Maxi! So I take the hardware is actually picking some other definition in the gamecontrollerdb.txt (hence the controllers working somehow). So going back to the beginning: This is my Device HID: HID\VID_0810&PID_E501&REV_0106 Per that info, I take the change in the controller HID should go from: 030000001008000001e5000000000000 to 030000001008000001e5000000010600 Would this be correct? Thank you!
|
|
|
Post by jj0 on Mar 25, 2021 16:15:49 GMT
Yes you can edit the configuration manually. I'm not sure what the dual assignment of b0 and b1 is going to to do though, if you the press b0 do you want THE64 to register this both as x (= Left Triangle) and lefttrigger (=Left Fire)? That doesn't seem useful. You're correct I only should switch the left and right triggers buttons so the A button is the main one and not the B one. After playing for a while I've discovered that my controller GUID is not really being picked up!!! No matter what I change in the buttons on the definition, nothing changed on my Maxi! So I take the hardware is actually picking some other definition in the gamecontrollerdb.txt (hence the controllers working somehow). It's best to start with an empty gamecontrollerdb.txt to avoid that sort of thingThat's not correct, the version number should be in reverse order so the 06 should go before the 01 with 4 0's following the 01, so something like: 030000001008000001e5000006010000 However there's no such ID in the gamecontrollerdb.txt in PCU v1.3.9, the closest ones are: 030000001008000001e5000010010000,NEXT SNES Controller,a:b2,b:b1,back:b8,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b4,rightshoulder:b6,start:b9,x:b3,y:b0,platform:Linux, 030000001008000001e5000010010000,Retronic Design BD9 Adapter,lefttrigger:b6,leftx:a0,lefty:a1,righttrigger:b9,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,platform:Linux, These are actually duplicate ID's, not sure whether the first or last would be used. So if either one of these is picked up that would mean the USB HID version Linux sees (as opposed to Windows) would be v1.10. You can check by running my THE64 on-screen command line shell and then (with the controller plugged in) do: dmesg | grep usb and your controller + USB HID version should be somewhere in the result. If the USB HID version you see is v1.10 you should remove both 030000001008000001e5000010010000 lines from gamecontrollerdb.txt and add your own, if it is v1.06 the you can try with the 030000001008000001e5000006010000 line. But as said it's better to start with just one line in gamecontrollerdb.txt (or with yours and the one(s) for Retro Games joysticks so those will still work).
|
|
|
Post by beriadan77 on Mar 25, 2021 19:11:38 GMT
You're correct I only should switch the left and right triggers buttons so the A button is the main one and not the B one. After playing for a while I've discovered that my controller GUID is not really being picked up!!! No matter what I change in the buttons on the definition, nothing changed on my Maxi! So I take the hardware is actually picking some other definition in the gamecontrollerdb.txt (hence the controllers working somehow). It's best to start with an empty gamecontrollerdb.txt to avoid that sort of thingThat's not correct, the version number should be in reverse order so the 06 should go before the 01 with 4 0's following the 01, so something like: 030000001008000001e5000006010000 However there's no such ID in the gamecontrollerdb.txt in PCU v1.3.9, the closest ones are: 030000001008000001e5000010010000,NEXT SNES Controller,a:b2,b:b1,back:b8,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b4,rightshoulder:b6,start:b9,x:b3,y:b0,platform:Linux, 030000001008000001e5000010010000,Retronic Design BD9 Adapter,lefttrigger:b6,leftx:a0,lefty:a1,righttrigger:b9,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,platform:Linux, These are actually duplicate ID's, not sure whether the first or last would be used. So if either one of these is picked up that would mean the USB HID version Linux sees (as opposed to Windows) would be v1.10. You can check by running my THE64 on-screen command line shell and then (with the controller plugged in) do: dmesg | grep usb and your controller + USB HID version should be somewhere in the result. If the USB HID version you see is v1.10 you should remove both 030000001008000001e5000010010000 lines from gamecontrollerdb.txt and add your own, if it is v1.06 the you can try with the 030000001008000001e5000006010000 line. But as said it's better to start with just one line in gamecontrollerdb.txt (or with yours and the one(s) for Retro Games joysticks so those will still work). FINALLY GOT IT TO WORK THANKS TO YOU!!! I simply tried NEXT SNES option you mentioned, I only left that line on the txt file and voilá! So the content of the gamecontrollerdb.txt is: # Linux 030000001008000001e5000010010000,NEXT NES Controller,start:b9,leftx:a0,lefty:a1,lefttrigger:b1,righttrigger:b0,platform:Linux, Just that, and the START and FIRE buttons work perfectly to exit the game and return to the carousel! I have two gamepads I bought together. A bit weird at first I connected the second one and tried the C64 Mario Bros. game that I had set up with all JF JF JF JF buttons. First the second controller would react a bit strangely, say the direction buttons were inversed, but I unplugged it from the USB port I had attached it, and put it into the other free one, restarted the game and finally have the two player game working properly! Do you know where which USB port is which J1 or J2 of the 3 connectors? Is it just a connecting order to define which is which? Anyway, THANKS SO MUCH! Now I only need to go test all other games I guess! Perhaps will need to set them to use JF JF JF JF for them to work. Since I'm using the MAXI, I don't need many buttons mapped as I rather use the keyboard in case I need it (for specific games that have you doing that).
|
|
|
Post by jj0 on Mar 25, 2021 21:06:14 GMT
It's best to start with an empty gamecontrollerdb.txt to avoid that sort of thingThat's not correct, the version number should be in reverse order so the 06 should go before the 01 with 4 0's following the 01, so something like: 030000001008000001e5000006010000 However there's no such ID in the gamecontrollerdb.txt in PCU v1.3.9, the closest ones are: 030000001008000001e5000010010000,NEXT SNES Controller,a:b2,b:b1,back:b8,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,leftshoulder:b4,rightshoulder:b6,start:b9,x:b3,y:b0,platform:Linux, 030000001008000001e5000010010000,Retronic Design BD9 Adapter,lefttrigger:b6,leftx:a0,lefty:a1,righttrigger:b9,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,platform:Linux, These are actually duplicate ID's, not sure whether the first or last would be used. So if either one of these is picked up that would mean the USB HID version Linux sees (as opposed to Windows) would be v1.10. You can check by running my THE64 on-screen command line shell and then (with the controller plugged in) do: dmesg | grep usb and your controller + USB HID version should be somewhere in the result. If the USB HID version you see is v1.10 you should remove both 030000001008000001e5000010010000 lines from gamecontrollerdb.txt and add your own, if it is v1.06 the you can try with the 030000001008000001e5000006010000 line. But as said it's better to start with just one line in gamecontrollerdb.txt (or with yours and the one(s) for Retro Games joysticks so those will still work). FINALLY GOT IT TO WORK THANKS TO YOU!!! GREAT!  Ok, so it was the fact that there was a duplicate entry for that ID that was the issue.The USB ports do not define J1 and J2. The .TSG (for Carousel games) or .CJM (for USB drive games) file defines a default joystick (J1 or J2). The joystick you start the game with in the Carousel/from USB is assigned as that default joystick. The other joystick is then... the other one.You're welcome, enjoy your games :-)
|
|
|
Post by jims on Mar 29, 2021 2:36:05 GMT
I guess I'm not understanding a step or something. Once I map a controller with the SDL2 Gamepad Tool and change the gamecontrollerdb.txt file how do I then get that information from my PC/laptop to the C64 Maxi? It remembers the mapping on my laptop but how do I get the gamecontrollerdb.txt file information onto the C64?
|
|
|
Post by jj0 on Mar 29, 2021 12:06:05 GMT
I guess I'm not understanding a step or something. Once I map a controller with the SDL2 Gamepad Tool and change the gamecontrollerdb.txt file how do I then get that information from my PC/laptop to the C64 Maxi? It remembers the mapping on my laptop but how do I get the gamecontrollerdb.txt file information onto the C64? The easiest way is to use PCU which itself uses the gamecontrollerdb.txt on the USB drive it's on (Carousel_Games/Options/Controllers/gamecontrollerdb.txt). However that of course requires you to run PCU, if you are only interested in using the 'standard' THE64 then you have to modify the gamecontrollerdb.txt that's on the internal storage (/usr/share/the64/ui/data/gamecontrollerdb.txt). You can do this by using for example XWM or the command-line shell and then copying the file from a USB stick to the internal storage. But easiest way is to use PCU (at least while experimenting) and not change the internal storage.
|
|
|
Post by jj0 on Jun 16, 2021 10:37:27 GMT
A lot of issues with adding joysticks start with getting the right ID string to put in the gamecontrollerdb.txt file. The attached fake update tries to help with this by getting the ID string info for connected USB devices on the Mini/Maxi itself. To use: - Extract the contents of this THE64-get-SDL-joystick-ID v3.7z (875 B) file to a USB stick you know works withe the Mini/Maxi
- Insert it in the Mini/Maxi
- Connect the joystick you want to try out to the Mini/Maxi and also connect the standard joystick so you can control the Carousel
- Switch on the Mini/Maxi and wait until the Carousel is displayed
- Run the fake update (using the standard Mini/Maxi joystick to navigate to the System information menu)
- The fake update doesn't display anything but just returns to the System information menu
- The USB stick should now have a file 'usbid.txt' that contains the ID string and joystick manufacturer/name string for each connected USB controller like
03000000790000001c18000011010000,SPEEDLINK COMPETITION PRO Game Controller for Android
- If the ID string is already in the gamecontrollerdb.txt it will also show the current mapping, for example
03000000591c00002400000010010000, THEC64 Joystick THEC64 Joystick 03000000591c00002400000010010000 already in /usr/share/the64/ui/data/gamecontrollerdb.txt: 03000000591c00002400000010010000,Retro Games LTD THEC64 MS Joystick,a:b4,b:b5,back:b6,lefttrigger:b0,leftx:a0,lefty:a1,righttrigger:b1,start:b7,x:b3,y:b2,platform:Linux,
03000000591c00002700000010010000,Retro Games LTD THEMouse 03000000591c00002700000010010000 not found in /usr/share/the64/ui/data/gamecontrollerdb.txt
03000000591c00002600000010010000,Retro Games LTD THEGamepad 03000000591c00002600000010010000 already in /usr/share/the64/ui/data/gamecontrollerdb.txt: 03000000591c00002600000010010000,Retro Games LTD THEGamepad,x:b0,y:b3,a:b4,b:b5,back:b6,start:b7,lefttrigger:b2,righttrigger:b1,leftx:a0,lefty:a1,platform:Linux,
- The file usbid.txt also lists the 'raw' data of the devices it found at the end
I haven't tested this a lot so feedback would be welcome. Also, you can of course edit the name part to your liking. The fake update script iterates over the 'generic-usb' messages from the dmesg log and then manipulates it to get the various parts of the ID string: #!/bin/sh
# Make USB drive rw mount -o remount,rw /mnt # Set separator to newline OLDIFS=$IFS IFS=$'\n' rm /mnt/usbid.txt for USBINFO in $(dmesg | grep generic-usb | sed 's/\[[ 0123456789.]*\]/\n/g') do echo $USBINFO USBID=$(echo "$USBINFO" | cut -d ' ' -f 3) echo $USBID HIDVER=$(echo "$USBINFO" | cut -d ' ' -f 7) echo $HIDVER SDLID=$(echo ${USBID:2:2}${USBID:0:2}0000${USBID:7:2}${USBID:5:2}0000${USBID:12:2}${USBID:10:2}0000${HIDVER:3:2}0${HIDVER:1:1}0000 | awk '{ print tolower($0) }') echo $SDLID JSNAME=$(echo "$USBINFO" | cut -d '[' -f 2 | cut -d ']' -f 1) echo $JSNAME echo ${SDLID},${JSNAME} >>/mnt/usbid.txt INCTRLDB=$(grep ${SDLID} /usr/share/the64/ui/data/gamecontrollerdb.txt) if [ "x${INCTRLDB}" = "x" ] then echo " ${SDLID} not found in /usr/share/the64/ui/data/gamecontrollerdb.txt" echo " ${SDLID} not found in /usr/share/the64/ui/data/gamecontrollerdb.txt" >>/mnt/usbid.txt else echo " ${SDLID} already in /usr/share/the64/ui/data/gamecontrollerdb.txt:" echo " ${INCTRLDB}" echo " ${SDLID} already in /usr/share/the64/ui/data/gamecontrollerdb.txt:" >>/mnt/usbid.txt for TXT in ${INCTRLDB};do echo " ${TXT}" >>/mnt/usbid.txt;done fi echo >>/mnt/usbid.txt done echo >>/mnt/usbid.txt echo "dmesg log for generic-usb devices:" >>/mnt/usbid.txt echo >>/mnt/usbid.txt dmesg | grep generic-usb >>/mnt/usbid.txt # Set separator to original value IFS=$OLDIFS
spannernick , if this works you could add it to PCU as well. [EDIT: Updated script to do all devices, not just the last one]
|
|
|
Post by c64stuff on Jun 16, 2021 11:38:48 GMT
Now THAT'S what I call detailed and in order instructions on doing something! Thanks dude! When I get around to trying this I'll let you know what happens. Not only do I want to get my ICode Atari joystick and paddle to USB adapter working with the maxi, but I also have a Hyperkin Trooper II usb joystick that's not working that I'd like to use. It's in the style of an Atari joystick and features 6 buttons so you can navigate a GUI.
The big question is will the mini and maxi work with paddles. The ICode supports it on things like Retropie. There's so many games I want the play on the 64 that are simply a crime not to use a paddle with.
|
|
|
Post by kugelblitz on Jun 17, 2021 6:43:20 GMT
A lot of issues with adding joysticks start with getting the right ID string to put in the gamecontrollerdb.txt file. The attached fake update tries to help with this by getting the ID string info on the Mini/Maxi itself. To use: - Extract the contents of this View Attachment file to a USB stick you know works withe the Mini/Maxi
- Insert it in the Mini/Maxi
- Do not connect the joystick you want to try out to the Mini/Maxi yet - only the standard Mini/Maxi joystick (or any other already working joystick) should be connected
- Switch on the Mini/Maxi and wait until the Carousel is displayed
- Connect the joystick you want to try out to theMini/Maxi
- Run the fake update (using the standard Mini/Maxi joystick to navigate to the System information menu)
- The fake update doesn't display anything but just returns to the System information menu
- The USB stick should now have a file 'usbid.txt' that contains the ID string and joystick manufacturer/name string like
03000000790000001c18000011010000,SPEEDLINK COMPETITION PRO Game Controller for Android
I haven't tested this a lot so feedback would be welcome. Also, you can of course edit the name part to your liking. The fake update script just gets the latest/last line containing 'USB' from the system log and then manipulates it to get the various parts of the ID string: #!/bin/sh
# Make USB drive rw mount -o remount,rw /mnt USBINFO=$(dmesg | grep USB | tail -n 1 | cut -d ']' -f 2) echo $USBINFO USBID=$(echo "$USBINFO" | cut -d ' ' -f 3) echo $USBID HIDVER=$(echo "$USBINFO" | cut -d ' ' -f 7) echo $HIDVER SDLID=$(echo ${USBID:2:2}${USBID:0:2}0000${USBID:7:2}${USBID:5:2}0000${USBID:12:2}${USBID:10:2}0000${HIDVER:3:2}0${HIDVER:1:1}0000 | awk '{ print tolower($0) }') echo $SDLID JSNAME=$(echo "$USBINFO" | cut -d '[' -f 2) echo $JSNAME echo ${SDLID},${JSNAME} >/mnt/usbid.txt
spannernick , if this works you could add it to PCU as well. jj0 defines a new level of awesome. Great idea to solve that old problem of getting the correct ID.
|
|
|
Post by spannernick on Jun 19, 2021 11:08:21 GMT
A lot of issues with adding joysticks start with getting the right ID string to put in the gamecontrollerdb.txt file. The attached fake update tries to help with this by getting the ID string info on the Mini/Maxi itself. To use: - Extract the contents of this View Attachment file to a USB stick you know works withe the Mini/Maxi
- Insert it in the Mini/Maxi
- Do not connect the joystick you want to try out to the Mini/Maxi yet - only the standard Mini/Maxi joystick (or any other already working joystick) should be connected
- Switch on the Mini/Maxi and wait until the Carousel is displayed
- Connect the joystick you want to try out to theMini/Maxi
- Run the fake update (using the standard Mini/Maxi joystick to navigate to the System information menu)
- The fake update doesn't display anything but just returns to the System information menu
- The USB stick should now have a file 'usbid.txt' that contains the ID string and joystick manufacturer/name string like
03000000790000001c18000011010000,SPEEDLINK COMPETITION PRO Game Controller for Android
I haven't tested this a lot so feedback would be welcome. Also, you can of course edit the name part to your liking. The fake update script just gets the latest/last line containing 'USB' from the system log and then manipulates it to get the various parts of the ID string: #!/bin/sh
# Make USB drive rw mount -o remount,rw /mnt USBINFO=$(dmesg | grep USB | tail -n 1 | cut -d ']' -f 2) echo $USBINFO USBID=$(echo "$USBINFO" | cut -d ' ' -f 3) echo $USBID HIDVER=$(echo "$USBINFO" | cut -d ' ' -f 7) echo $HIDVER SDLID=$(echo ${USBID:2:2}${USBID:0:2}0000${USBID:7:2}${USBID:5:2}0000${USBID:12:2}${USBID:10:2}0000${HIDVER:3:2}0${HIDVER:1:1}0000 | awk '{ print tolower($0) }') echo $SDLID JSNAME=$(echo "$USBINFO" | cut -d '[' -f 2) echo $JSNAME echo ${SDLID},${JSNAME} >/mnt/usbid.txt
spannernick , if this works you could add it to PCU as well. I can add this as a option in the PCUAE Option Menu but is it possible to get it to make the whole line, like... 030000001008000001e5000010010000,Retronic Design BD9 Adapter,lefttrigger:b6,leftx:a0,lefty:a1,righttrigger:b9,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,platform:Linux, then I might be able to get it to insert it into the gamecontrollerdb.txt file in PCUAE and it would then do it for you or find a way of editing the line in yaft as part of the option...?
|
|
|
Post by jj0 on Jun 19, 2021 12:04:06 GMT
I can add this as a option in the PCUAE Option Menu but is it possible to get it to make the whole line, like... 030000001008000001e5000010010000,Retronic Design BD9 Adapter,lefttrigger:b6,leftx:a0,lefty:a1,righttrigger:b9,dpdown:+a1,dpleft:-a0,dpright:+a0,dpup:-a1,platform:Linux, then I might be able to get it to insert it into the gamecontrollerdb.txt file in PCUAE and it would then do it for you or find a way of editing the line in yaft as part of the option...? I thought about it but couldn't think of a simple solution. It would probably involve writing a program that does it for you (and then including getting the ID probably) which I'm not too interested in doing.
|
|
|
Post by spannernick on Jun 19, 2021 16:11:46 GMT
|
|
|
Post by jj0 on Jun 20, 2021 12:39:32 GMT
You probably can (if you connect a network so you can use apt-get) but you would still need to recompile antimicro as the one provided is oft x86_64 not armv7l.
|
|
|
Post by jj0 on Jun 20, 2021 15:35:06 GMT
So I think the easiest way to map a new joystick is to use the SDL2 Gamepad Tool on a PC to map the joystick directions and buttons how one likes them, taking the way the official THE64/VIC20 joysticks are mapped into account/as a reference: THE64 Joystick | gamecontrollerdb.txt input name | Left Fire | lefttrigger | Right Fire | righttrigger | Left Triangle | x | Right Triangle | y | Menu 1 | a | Menu 2 | b | Menu 3 | back | Menu 4 | start | Left/Right | leftx | Up/Down | lefty |
Note that for Left/Right and Up/Down it uses the left analog stick mapping, but it also works fine using dpdleft/dpright and dpup/dpdown instead. So if your controller only reports dpd<xxx> and not leftx/lefty then you can still use it. Then take the entire mapping string that the SDL2 Gamepad Tool generates, change the ID (GUID) number (if different) to the one given by my fake update, put the line in the gamecontrolerdb.txt and remove any other lines with the same ID number. Updated: The GUID discovery is now also available in PCUAE.
|
|
|
Post by spannernick on Jun 20, 2021 17:20:37 GMT
Thanks J..  It points to this one on the AntiMicro Github Page now that is maintained... github.com/AntiMicroX/antimicroX I might look into it some time if I can get it to work with THEC64-XWM when I am not so busy... 
|
|
|
Post by spannernick on Jun 21, 2021 0:17:13 GMT
A lot of issues with adding joysticks start with getting the right ID string to put in the gamecontrollerdb.txt file. The attached fake update tries to help with this by getting the ID string info on the Mini/Maxi itself. To use: - Extract the contents of this View Attachment file to a USB stick you know works withe the Mini/Maxi
- Insert it in the Mini/Maxi
- Do not connect the joystick you want to try out to the Mini/Maxi yet - only the standard Mini/Maxi joystick (or any other already working joystick) should be connected
- Switch on the Mini/Maxi and wait until the Carousel is displayed
- Connect the joystick you want to try out to theMini/Maxi
- Run the fake update (using the standard Mini/Maxi joystick to navigate to the System information menu)
- The fake update doesn't display anything but just returns to the System information menu
- The USB stick should now have a file 'usbid.txt' that contains the ID string and joystick manufacturer/name string like
03000000790000001c18000011010000,SPEEDLINK COMPETITION PRO Game Controller for Android
I haven't tested this a lot so feedback would be welcome. Also, you can of course edit the name part to your liking. The fake update script just gets the latest/last line containing 'USB' from the system log and then manipulates it to get the various parts of the ID string: #!/bin/sh
# Make USB drive rw mount -o remount,rw /mnt USBINFO=$(dmesg | grep USB | tail -n 1 | cut -d ']' -f 2) echo $USBINFO USBID=$(echo "$USBINFO" | cut -d ' ' -f 3) echo $USBID HIDVER=$(echo "$USBINFO" | cut -d ' ' -f 7) echo $HIDVER SDLID=$(echo ${USBID:2:2}${USBID:0:2}0000${USBID:7:2}${USBID:5:2}0000${USBID:12:2}${USBID:10:2}0000${HIDVER:3:2}0${HIDVER:1:1}0000 | awk '{ print tolower($0) }') echo $SDLID JSNAME=$(echo "$USBINFO" | cut -d '[' -f 2) echo $JSNAME echo ${SDLID},${JSNAME} >/mnt/usbid.txt
spannernick , if this works you could add it to PCU as well. I added the code to the PCUAE Option Menu and run it and it looks like it read my USB SD card Reader not the joystick...? This is what's in the file... 0:0:0000::10000000000000, scsi 0:0:0:1: Direct-Access Generic- USB3.0 CRW -SD 1.00 PQ: 0 ANSI: 4 This is what you see in Putty from the code... scsi 0:0:0:1: Direct-Access Generic- USB3.0 CRW -SD 1.00 PQ: 0 ANSI: 4
0:0:0:1:
0:0:0000::10000000000000
scsi 0:0:0:1: Direct-Access Generic- USB3.0 CRW -SD 1.00 PQ: 0 ANSI: 4
|
|
|
Post by jj0 on Jun 21, 2021 5:29:54 GMT
It looks like the joystick wasn't the last USB device plugged in, did you plug it in just before running the fake update?
|
|
|
Post by spannernick on Jun 22, 2021 18:28:42 GMT
Yeah silly me, sorted now.. 
|
|
|
Post by c64stuff on Jul 8, 2021 15:03:30 GMT
So I think the easiest way to map a new joystick is to use the SDL2 Gamepad Tool on a PC to map the joystick directions and buttons how one likest hem, taking the way the official THE64/VIC20 joysticks are mapped into accoun/as a reference: THE64 Joystick | gamecontrollerdb.txt input name | Left Fire | lefttrigger | Right Fire | righttrigger | Left Triangle | x | Right Triangle | y | Menu 1 | a | Menu 2 | b | Menu 3 | back | Menu 4 | start | Left/Right | leftx | Up/Down | lefty |
Note that for Left/Right and Up/Down it uses the left analog stick mapping, but it also works fine using dpdleft/dpright and dpup/dpdown instead. So if your controller only reports dpd<xxx> and not leftx/lefty then you can still use it. Then take the entire mapping string that the SDL2 Gamepad Tool generates, change the ID number (if different) to the one given by my fake update, put the line in the gamecontrolerdb.txt and remove any other lines with the same ID number. Now this should be put in a sticky, along with any other relevant steps. Precise and to the point after you guys sorted everything out. It would be even better if somebody wrote a program to automatically do all this and alter the config file. Question is can you call the controller anything you want or do you need to name it what controller it's mimicking? Thanks for the hard work. I'm going to try this with not only my ICode atari to USB adapter and an Atari joystick, but also with my Hyperkin Trooper II, which is a USB atari joystick clone with 4 extra GUI navigation buttons.
|
|
|
Post by spannernick on Jul 10, 2021 12:48:55 GMT
It now all in PCUAE 1.5.1 and in all in The Help Menu, if you read it it tells you how to use GUID Discovery and SDL2 Gamepad Tool to make the right GUID Mapping String for the Controller or Joystick thats plugged in as the last device.
|
|
|
Post by beriadan77 on Oct 19, 2021 18:32:29 GMT
Hello everyone! I have a quick question, is it possible to map the SPACE and RUN/STOP keys to a gamepad/joystick for it to work in the PCUAE Carousels?
Games use a lot of those keys, especially at the crack/loaders options.
Perhaps it's been asked already a zillion times, so sorry about that.
Thanks!
|
|
|
Post by c64stuff on Oct 19, 2021 21:47:03 GMT
I think the stock firmware, and thus Project Carousel, already support this. In fact BastichB 64K on YouTube did a video on this several months back, and what common keys for crack loaders he maps to the controller so he doesn't need to use the keyboard. Check his channel out. It's one of the best for C64 game reviews and commodore software producers history out there.
|
|
|
Post by spannernick on Oct 20, 2021 17:47:51 GMT
Hello everyone! I have a quick question, is it possible to map the SPACE and RUN/STOP keys to a gamepad/joystick for it to work in the PCUAE Carousels? Games use a lot of those keys, especially at the crack/loaders options. Perhaps it's been asked already a zillion times, so sorry about that. Thanks! You can do it with PCU Game Manager and set what key you want to use on a button on the C64 Joystick. Select a game then look under Joystick configuration and change what keys you want to use then click on save button, then export the games over to PCUAE. 
|
|
|
Post by beriadan77 on Oct 21, 2021 0:33:22 GMT
Hello everyone! I have a quick question, is it possible to map the SPACE and RUN/STOP keys to a gamepad/joystick for it to work in the PCUAE Carousels? Games use a lot of those keys, especially at the crack/loaders options. Perhaps it's been asked already a zillion times, so sorry about that. Thanks! You can do it with PCU Game Manager and set what key you want to use on a button on the C64 Joystick. Select a game then look under Joystick configuration and change what keys you want to use then click on save button, then export the games over to PCUAE. View AttachmentSounds good! Is there a guide somewhere as to which code means what?
Example I just grabbed from PCUAE:
J:2*:JU,JD,JL,JR,JF,JF,SP,EN,,JF,JF,JF,,,
I understand JU, JD, KL, JR, JF is for Fire? SP is Space? EN is Return? How about RUN/STOP or the 1, 2, 3 number keys or the F keys?, etc.?
Thanks a bunch!!!
|
|
|
Post by beriadan77 on Nov 5, 2021 22:21:18 GMT
You can do it with PCU Game Manager and set what key you want to use on a button on the C64 Joystick. Select a game then look under Joystick configuration and change what keys you want to use then click on save button, then export the games over to PCUAE. <button disabled="" class="c-attachment-insert--linked o-btn--sm">Attachment Deleted</button> Sounds good! Is there a guide somewhere as to which code means what?
Example I just grabbed from PCUAE:
J:2*:JU,JD,JL,JR,JF,JF,SP,EN,,JF,JF,JF,,,
I understand JU, JD, KL, JR, JF is for Fire? SP is Space? EN is Return? How about RUN/STOP or the 1, 2, 3 number keys or the F keys?, etc.?
Thanks a bunch!!!
No one?
|
|
|
Post by jj0 on Nov 6, 2021 10:58:59 GMT
Sounds good! Is there a guide somewhere as to which code means what?
Example I just grabbed from PCUAE:
J:2*:JU,JD,JL,JR,JF,JF,SP,EN,,JF,JF,JF,,,
I understand JU, JD, KL, JR, JF is for Fire? SP is Space? EN is Return? How about RUN/STOP or the 1, 2, 3 number keys or the F keys?, etc.?
Thanks a bunch!!!
No one?
I din't know them but they should be expalined in the offiical RGL user manual
|
|
|
Post by spannernick on Nov 11, 2021 8:57:22 GMT
Sounds good! Is there a guide somewhere as to which code means what?
Example I just grabbed from PCUAE:
J:2*:JU,JD,JL,JR,JF,JF,SP,EN,,JF,JF,JF,,,
I understand JU, JD, KL, JR, JF is for Fire? SP is Space? EN is Return? How about RUN/STOP or the 1, 2, 3 number keys or the F keys?, etc.?
Thanks a bunch!!!
No one?
Download PCU Game Manager, it makes carousel games and cjm files for you, so you can configure the joystick inside it. thec64community.online/thread/603/pcu-game-manager-pcuae
|
|
|
Post by yngwie on Sept 20, 2022 12:51:05 GMT
Hello. I am trying to add an arcade style controller to thec64. The HID version is "REV_0107". I have tried to enter these two strings to the gamecontrollerdb.txt, but have not gotten it to work.
Am I doing something wrong?
|
|
|
Post by yngwie on Sept 22, 2022 18:20:12 GMT
OK, so I ran the GUID Discovery tool, and got the following GUID:I tried adding this, but it did not work.
The gamepad tool however gives me this GUID:Why are they different? I tried adding this as well, but it does not work.
And why does the REV version in windows device manager say "REV_0107"? Why is this number not reflected in the GUID from the Discovery tool?
|
|
|
Post by darkwombat on Sept 23, 2022 2:56:24 GMT
I was just curious if a joystick like this would work well with the C64mini. It is USB and has several extra buttons that I use with emulators for F1, F3 reset, etc. Is there a way in the mini to map these reset, start buttons etc to a joystick like this? Also, how is the input lag these days? I bought one of these C64Minis back in 2019 and the lag was bad. Since then Ive gotten a better LCD monitor with 1ms respnse time and game mode. Was hoping with the latest firmwware maybe the Mini is better now?  h link
|
|