The snes_gamepad.c source is using the PET userport registers ($E841/$E843) but is compiled into the C64 version. On C64 it should be using $DD01 & $DD03 instead.
This can be confirmed in C64 VICE by doing a break store e841 and break store e843 in the monitor.
I patched the read_gamepad() routine in the binary, changing $e841 -> $dd01 and $e843 -> $dd03 and it seems to read the gamepad. I'm not sure what other issues there might be.
I was unable to figure out which version of cc65 would build this or I would have done a pull request.
The snes_gamepad.c source is using the PET userport registers ($E841/$E843) but is compiled into the C64 version. On C64 it should be using $DD01 & $DD03 instead.
This can be confirmed in C64 VICE by doing a
break store e841andbreak store e843in the monitor.I patched the read_gamepad() routine in the binary, changing $e841 -> $dd01 and $e843 -> $dd03 and it seems to read the gamepad. I'm not sure what other issues there might be.
I was unable to figure out which version of cc65 would build this or I would have done a pull request.