^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) Crystal SoundFusion CS4610/CS4612/CS461 joystick
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) ================================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) This is a new low-level driver to support analog joystick attached to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) Crystal SoundFusion CS4610/CS4612/CS4615. This code is based upon
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) Vortex/Solo drivers as an example of decoration style, and ALSA
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) 0.5.8a kernel drivers as an chipset documentation and samples.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) This version does not have cooked mode support; the basic code
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) is present here, but have not tested completely. The button analysis
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) is completed in this mode, but the axis movement is not.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) Raw mode works fine with analog joystick front-end driver and cs461x
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) driver as a backend. I've tested this driver with CS4610, 4-axis and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) 4-button joystick; I mean the jstest utility. Also I've tried to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) play in xracer game using joystick, and the result is better than
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) keyboard only mode.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) The sensitivity and calibrate quality have not been tested; the two
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) reasons are performed: the same hardware cannot work under Win95 (blue
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) screen in VJOYD); I have no documentation on my chip; and the existing
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) behavior in my case was not raised the requirement of joystick calibration.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) So the driver have no code to perform hardware related calibration.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) This driver have the basic support for PCI devices only; there is no
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) ISA or PnP ISA cards supported.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) The driver works with ALSA drivers simultaneously. For example, the xracer
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) uses joystick as input device and PCM device as sound output in one time.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) There are no sound or input collisions detected. The source code have
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) comments about them; but I've found the joystick can be initialized
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) separately of ALSA modules. So, you can use only one joystick driver
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) without ALSA drivers. The ALSA drivers are not needed to compile or
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) run this driver.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) There are no debug information print have been placed in source, and no
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) specific options required to work this driver. The found chipset parameters
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) are printed via printk(KERN_INFO "..."), see the /var/log/messages to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) inspect cs461x: prefixed messages to determine possible card detection
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) errors.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) Regards,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) Viktor