Skip to content

Struggleton/Delfinovin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Delfinovin

ko-fi

Delfinovin - An XInput solution for Gamecube Controllers (Dell-fie-no-vin)

Delfinovin is an XInput conversion for use with Gamecube Controller adapters that implement Nintendo's WUP-028 firmware. This includes Mayflash controllers, Nintendo's own gamecube adapter and probably more that exist out there.

Usage

  • Delfinovin uses ViGEmBus in order to create virtual XInput joysticks. Download the latest release of ViGEmBus and install it.

  • Delfinovin also uses the WinUSB driver to interface with the Gamecube Controller adapter. Download and run Zadig. Under "Options," enable "List all Devices" and look for WUP-028 in the main dropdown menu.

    • (If this does not appear, ensure your adapter is in Wii U mode if you're using a Mayflash adapter and try plugging the black cable into another port.)

  • Select "WinUSB" in the right columm and click "Replace Driver." Accept any system driver prompts.

  • Download the latest release of Delfinovin from the releases page and extract it to somewhere safe.

  • Check settings.txt and modify the settings to your desired values. GamepadTester can be useful for visualizing the sticks / button inputs if you're trying to figure out what settings to use in programs and other games.

If you would like to calibrate the sticks in order to use their full ranges, do so now by using the Calibrate Controllers menu.

  • Restart the program and choose "Begin controller input loop"! Delfinovin will only translate gamecube controller inputs while it is open and is in the controller loop, meaning you have to keep it open as long as you want to use your controller.

Settings

Delfinovin has a couple of settings that can be set currently:

  • TriggerDeadzone [Default - 0.15]
    • TriggerDeadzone refers to the amount that the trigger has to be pressed in order to register any input.
  • TriggerThreshold [Default - 0.65]
    • TriggerThreshold refers to the amount that the analog trigger has to be pressed before it registers as a full press. -StickDeadzone [Default - 0.00]
    • Sets the range of the stick that is registered as a neutral position.
  • EnableRawPrint [Default - True]
    • Enable/disable printing raw data that is being sent from the adapter.
  • EnableDigitalPress [Default - False]
    • If any press is past the TriggerDeadzone, it registers as a digital button, emulating digital triggers. Make sure the TriggerDeadzone setting is set properly!
  • PortsEnabled [Default - 1]
    • Enable/disable specific ports. Ports 1-4 supported. (PortsEnabled: 1 2 3 4 will enable all ports.)
  • CalibrateCenter [Default - True]
    • If enabled, when first running the programs, the stick's center will be recalibrated. Make sure to leave the stick in a neutral position on startup. Calibrating the sticks from the menu will override this option.
  • EnableRumble [Default - False] -If enabled, gamecube controllers will receive haptic feedback from the game (Rumble.)

Notes

  • Delfinovin can not take exclusive control over the controller adapter. This means you will have to close anything that does (Yuzu, Dolphin, etc.) first, run the program and then open them.

  • By default, Delfinovin will calibrate the stick centers. However, if you calibrate the sticks in the stick menu, the new calibration for the ranges will take priority.

Planned features

  • Create new/default profiles for stick calibrations - Name and create new ones for quick access.

Credits

Credits and appreciation go to:

Libraries used

  • LibUSB.NET
  • Nefarius.ViGEm.Client
  • BitStream

Contributing and Support

Thank you! I am still learning a lot about the USB architecture and Gamecube Controllers, so any help / commits are appreciated! I can be contacted on Discord at Struggleton#4071 / Twitter at @Struggleton as well. If you are interested in what I've got going on here, please consider throwing a couple coins my way!

About

An XInput solution for Gamecube Controllers

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages