Post by MeneerJansen on Mar 8, 2021 16:08:14 GMT
Dear The C64 users,
I have a The C64 Maxi. I'm still on firmware ver. 1.3.2 (at the time of writing the latest is ver. 1.5.2). I do not want to upgrade my firmware because I've got a custom 'gamecontrollerdb.txt' file (link to tutorial) to support my Monster Joysticks converter from DB9 to USB (so I can use vintage controllers from a real C64 or Atari) and I've got the custom SDL Vice emulator from this very forum that has the on-screen Help menu when I press Control D on the keyboard. The joystick bugs and quirks I'm going the describe below are, as far as I know, not (yet) fixed in firmware 1.5.2.
Maybe most of you already know and maybe there's already a topic about this. If so: I apologize.
I made extensive use of the program 'Joyride' to see the input of the joysticks on screen. This is an essential utility for The C64.
Bugs regarding joystick support:
Quirks regarding (single) joystick support:
Quirks regarding 2 controller support:
Other random quirks: when you remove and re-connect controllers (during game play) then it's unclear which one gets connected to port 1 and which one to port 2. It might depend on the order in which you connected them before starting a game and/or the order in the 'gamecontrollerdb.txt' file. Sometimes, when you remove and re-insert a joystick, ports get swapped. Sometimes both controllers are on the same port, etc., etc.
To make a long story short: make sure you start a 2 player game with a USB controller and check if they're not stuck w/ 'Joyride'.
I have a The C64 Maxi. I'm still on firmware ver. 1.3.2 (at the time of writing the latest is ver. 1.5.2). I do not want to upgrade my firmware because I've got a custom 'gamecontrollerdb.txt' file (link to tutorial) to support my Monster Joysticks converter from DB9 to USB (so I can use vintage controllers from a real C64 or Atari) and I've got the custom SDL Vice emulator from this very forum that has the on-screen Help menu when I press Control D on the keyboard. The joystick bugs and quirks I'm going the describe below are, as far as I know, not (yet) fixed in firmware 1.5.2.
Maybe most of you already know and maybe there's already a topic about this. If so: I apologize.
I made extensive use of the program 'Joyride' to see the input of the joysticks on screen. This is an essential utility for The C64.
Bugs regarding joystick support:
- When you start a game with the B key from the The C64 Maxi's keyboard itself in Classic Mode (i.e. NOT with a USB Joystick) then only ONE joystick is supported. That means that 2 player mode is NOT supported then. This joystick is in port 1 (see quirk 1). For 2 player support start a game with a USB joystick.
Quirks regarding (single) joystick support:
- When you start a game via The C64's keyboard by pressing "B" in Classic Mode then your only (see bug 1) joystick is in port 1. However, when you start a game via a button on a USB joystick then it's in port 2 which is also the default according to the manual. Many (newer) games expect the joystick to be in port 2.
- Sometimes the stick may be stuck in one direction (e.g. constantly stuck in the left position). Use the 'Joyride' app to see/test this. You have to remove and insert the USB cable to solve this. It might take you 10.000 times to get it right.
This might be a reason for this: when the DB9-to-USB adapter is connected to a computer then the X- and Y-axis initially return the value -32767 (the largest negative value for a 16 bit number) to the operating system. When you move the joystick once in the X- and Y-direction, and then let the stick go, then these values turn to zero (this is expected behavior). The initial value might confuse The C64. The C64 is not only stuck in the Commodore 64 emulator (Vice) but also in the menu.
Quirks regarding 2 controller support:
- For 2 player support you must start a game with a USB joystick, NOT via the keyboard (see bug 1).
- The USB joystick who's button you used to start the game is connected to port 2 (this is expected behavior).
- The L and R buttons on a USB joystick are the fire buttons, not the A and B buttons which is mega irritating. Edit the 'gamecontrollerdb.txt' file to solve this.
Other random quirks: when you remove and re-connect controllers (during game play) then it's unclear which one gets connected to port 1 and which one to port 2. It might depend on the order in which you connected them before starting a game and/or the order in the 'gamecontrollerdb.txt' file. Sometimes, when you remove and re-insert a joystick, ports get swapped. Sometimes both controllers are on the same port, etc., etc.
To make a long story short: make sure you start a 2 player game with a USB controller and check if they're not stuck w/ 'Joyride'.