Add support for Paddles and other input devices
Versatile Commodore Emulator
Brought to you by:
blackystardust,
gpz
I checked the documentation and couldn't find any support for paddles. Some games (i.e. Arkanoid) support paddles.
Several other emulators support this adapter for Atari/C64 peripherals, and it supports paddles. Ideally, Vice would support paddles and real hardware paddles through the Stelladaptor. The developers of the Stelladaptor have assisted with adding support for their device to emulators in the past.
http://www.atariage.com/store/index.php?main_page=product_info&cPath=21_28&products_id=267
I am not a C64 expert, but I will gladly assist with getting this support implemented.
Paddle support has been available in svn trunk for some time, but currently it only accepts mouse as the input device.
Assuming Stelladaptor presents a paddle as an analog joystick axis, supporting it (or any other analog joystick) for paddles means (partially) rewriting all the different VICE joystick drivers and updating the UIs for the new functionality, in addition to restructuring the current paddle code. Also, I can only develop the *nix version and I don't have a Stelladaptor to do tests with. Therefore this seemingly simple feature will take a long time to implement.
To get started with this: How does the OS see the paddle? Is it an analog axis (as I assumed)? Does one adapter support 2 paddles? Links to relevant documentation would be appreciated.
Currently there is a paddle emulation with mouse but I wish to suggest paddle emulation via anolog joystick or better via keyboard, with customizable joy move/keys of course.
This is the idea:
Add a setting page for paddles (Settings... ==> Paddles...)
The user may set the mouse/joy direction or key for paddle1/2 wheel in
clockwise or anticlockwise and paddle1/2 button.
This settings should also allows same mouse/joy direction or same key for paddle
1 and paddle 2, example:
Paddle1 clockwise (Mouse down)
Paddle1 anticlockwise (Mouse up)
Paddle1 button (mouse button left)
Paddle2 clockwise (Mouse down)
Paddle2 anticlockwise (Mouse up)
Paddle2 button (mouse button left)
This is useful for vertical paddles game, a sort of single player.
Also, it would be nice to have Koala Pad emulation. I have several programs that support it. It should not be difficult to do. All that is required is to take the existing mouse emulation of paddles and switch left/right.
Non-mouse input device support for paddles needs a significant rewrite of the current code. Unassigning myself as I won't be doing it.
If anyone decides to take this up again, here is a link to a pdf document that details the functioning of the stelladaptor
http://www.stelladaptor.com/StelladaptorManual.pdf
mapping paddles to analog axes works now in trunk, for both GTK and SDL