Mayflash GameCube Adapter on PC: 13 Steps, 35 Min [2026]

The Mayflash GameCube adapter turns a Windows PC into a four-player GameCube rig, but only if Windows hands the right driver to the right device. Dolphin ships a native GameCube Controller Adapter input option, and current Dolphin configuration guides name the WUP-028 adapter and the WinUSB driver as the Windows setup path. This tutorial walks through all 13 steps in about 35 minutes on a Windows 11 machine.

People get stuck at the same place every time: the adapter plugs in, Windows shows a gamepad, and Dolphin sees nothing. If Dolphin itself is not installed yet, the Dolphin Emulator setup in 12 steps covers the base install, and this guide picks up from the controller side.

One caveat before the steps. Mayflash’s own pages gave no current list price in the material reviewed for this guide, so treat any number you see as the retailer’s. One retail listing dated October 13, 2026 showed US$18.99 for the four-port model, and that is a third-party price, not an official MSRP. The same goes for firmware versions. This guide tells you where to look instead of quoting a number that may be stale by the time you read it.

Google · Preferred Sources

Don't miss new tech stories on Google

Add Tech Insider once in the Google app and our stories appear in your news suggestions.

Add Now

What You Need Before You Start

The setup needs five things: the adapter, a controller, a Windows 11 PC, the Dolphin emulator, and a small driver tool called Zadig. None of them costs money beyond the hardware. Dolphin is free and open source, and Zadig is a free Windows USB-driver utility that assigns WinUSB to a selected USB device.

ItemWhat to useHow to check it
AdapterMayflash GameCube Controller Adapter (the four-port model)Look for the mode switch and the USB plugs on the cable end
ControllerAny GameCube pad, original or a licensed-style clonePlug it into port 1 before you power the adapter
Operating systemA supported Windows 11 releasePress Win+R, type winver, press Enter
EmulatorLatest stable Dolphin build from dolphin-emu.orgOpen Dolphin, then Help, then About
Driver toolCurrent Zadig release, run as administratorRight-click the exe and confirm the UAC prompt
USB portA port on the motherboard’s rear I/O panelAvoid hubs, docks and front-panel headers for now
GameA GameCube disc image you dumped from a disc you ownThe file ends in .iso, .gcm, .rvz or .ciso

You also need administrator rights on the PC. Zadig replaces a driver, and Windows will not allow that from a standard account. If the PC belongs to an employer or a school, check the policy first. A locked-down machine may block unsigned driver changes entirely.

For wider context on the console and handheld side of this cluster, the gaming section collects the emulator and controller guides in one place.

Version Notes as of October 27, 2026

Dolphin 2609 was released on September 24, 2026, according to GenerationAmiga, and it added cross-platform NetPlay between Android and desktop. A hotfix labeled 2609a reportedly followed on about October 7, though the listing I found is for the Android build, so check the Dolphin download page to see which stable build Windows currently offers. Development builds reportedly kept coming through at least October 25, 2026. For a controller setup, stay on the stable branch unless a specific bug forces you onto a dev build.

Zadig 2.9 appeared in a third-party Windows 11 test on October 27, 2026, but that report does not prove 2.9 is the newest official release. Download Zadig from its project page and use whatever it offers. On the Windows side, BleepingComputer reported that Windows 11 24H2 Home and Pro reached end of support on October 13, 2026, and Microsoft’s own notes reportedly list 26H2 as generally available. If you run 24H2, update before you start, because driver behavior is easier to debug on a patched system.

Two Modes, Two Drivers: How the Mayflash Adapter Talks to Windows

The adapter does not behave like a normal Xbox-style pad. It has a physical mode switch, and each position makes the device announce itself to Windows differently. Understanding that split saves you from most of the support threads you will find online.

In one mode the adapter shows up as a generic game controller. Windows loads its built-in HID driver, the joy.cpl panel lists a gamepad, and any app that reads DirectInput can use it. That path works with Steam Input and with Dolphin’s standard controller mapping, but you map every button by hand and you lose some GameCube-specific behavior, like clean analog trigger values.

In the other mode the adapter imitates Nintendo’s own Wii U GameCube adapter, the WUP-028. Dolphin talks to that device directly over USB, which is why it needs a driver Windows does not install on its own. Zadig supplies that driver. WinUSB is Microsoft’s generic USB driver, and Zadig is only the tool that assigns it to one chosen device. Neither is a Mayflash product, and neither has been renamed or retired as of today.

Mayflash’s guidance, as reflected in current setup material, says to use the adapter in PC mode for Windows 11 and Dolphin. I start every setup there. Some unit revisions and older guides use the other switch position for Dolphin’s native mode, so Step 3 includes a quick test that tells you which position makes Windows report a WUP-028 device. That test is the reliable answer, and it costs you two minutes.

BehaviorGeneric gamepad pathNative Dolphin adapter path
Windows driverBuilt-in HID class driverWinUSB, assigned with Zadig
Device name in WindowsGeneric game controller entriesWUP-028
Button mappingManual, in Dolphin’s Standard Controller panelAutomatic, no mapping needed
Other apps can use itYes, including Steam InputNo, WinUSB hands the device to libusb-style apps
RumbleDepends on the appSupported through the adapter’s power plug
First-time setup effortShortLonger, because of the driver swap

The fourth row matters more than it looks. Once Zadig binds WinUSB to the adapter, Steam and other DirectInput programs stop seeing it. You trade general PC use for Dolphin accuracy. The rollback section near the end shows how to reverse that in about a minute.

Steps 1 to 3: Check Windows, Plug In, and Read the Mode Switch (6 Min)

Step 1: Confirm your Windows version. Press Win+R, type winver, and press Enter. Note the version and build. If it says 24H2 on Home or Pro, run Windows Update first. You can also read the same data from PowerShell, which is handy for the diagnostic script later.

# Show edition, display version and build in one line
$os = Get-CimInstance Win32_OperatingSystem
$cv = Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion'
'{0} | {1} | build {2}.{3}' -f $os.Caption, $cv.DisplayVersion, $cv.CurrentBuild, $cv.UBR

Step 2: Connect the hardware in the right order. Slide the mode switch to PC while the adapter is unplugged. Plug a GameCube controller into port 1. Then connect the adapter’s data cable to a rear motherboard USB port. If your unit has a second USB plug for power, connect that one too, to a second port. The data plug carries the controller signal, and the power plug feeds rumble motors and extra controllers. Do not touch the analog sticks while you plug in. A GameCube pad samples its stick center at connection time, and a nudge here becomes permanent drift in your session.

Step 3: List what Windows sees. Open PowerShell and run the two commands below. The first lists connected USB devices through the built-in package manager. The second filters present devices by name.

pnputil /enum-devices /connected /class USB

Get-PnpDevice -PresentOnly |
    Where-Object { $_.FriendlyName -match 'WUP-028|GameCube' } |
    Format-Table Status, Class, FriendlyName, InstanceId -AutoSize

If the second command prints a row named WUP-028, the switch position you chose gives Dolphin its native device and you can move on. If it prints nothing, open joy.cpl. A generic gamepad entry there means the adapter is in its HID personality. Unplug it, flip the switch to the other position, plug it back in, and repeat the command. Always unplug before flipping, because the adapter reads the switch only at power-up.

Sample output when the native device is visible looks like this. Your instance ID will differ.

Status Class FriendlyName InstanceId
------ ----- ------------ ----------
OK     USB   WUP-028      USB\VID_xxxx&PID_xxxx\5&1a2b3c4d&0&3

Steps 4 to 6: Install the WinUSB Driver With Zadig (8 Min)

This is the step that decides whether the whole setup works, and it is also the one that can hurt if you click carelessly. Zadig will replace the driver on whichever device is selected in its dropdown. Pick your keyboard by mistake and you may lose typing until you reboot or roll the driver back.

Step 4: Download and launch Zadig. Get the exe from the Zadig project page, not from a mirror site. Right-click it, choose Run as administrator, and accept the prompt. If Zadig asks about checking for updates, allow it once. The tool needs no installation.

Step 5: Make the adapter visible in the list. Open the Options menu and tick List All Devices. Then open the dropdown and pick the entry named WUP-028. If you see several entries for the same hardware, labeled Interface 0, Interface 1 and so on, take note. One user report from mid-2026 described a WaveBird receiver not registering until WinUSB was installed on more than one interface, so it can matter on some units.

Step 6: Replace the driver. The box to the right of the arrow shows the target driver. Set it to WinUSB using the small up and down arrows. Click Replace Driver (the button reads Install Driver if no driver is present). Zadig shows a progress bar and then a success message. Windows may pause for a minute while it builds the driver package, and the window can look frozen. Leave it alone.

Verify the result from PowerShell. The service name for the device should now read WinUSB.

$id = (Get-PnpDevice -PresentOnly | Where-Object FriendlyName -match 'WUP-028' |
       Select-Object -First 1).InstanceId
(Get-PnpDeviceProperty -InstanceId $id -KeyName 'DEVPKEY_Device_Service').Data
WinUSB

If the output is blank or shows a different service, the device list may have shifted after the driver swap. Unplug the adapter, wait a few seconds, plug it into the same port, and run the command again. Using the same physical port matters because Windows ties some driver records to the port path.

Steps 7 to 9: Install Dolphin and Select the Adapter Port (7 Min)

Step 7: Download the stable Dolphin build. Grab it from the official Dolphin site and extract the archive to a folder you control, such as D:\Emulators\Dolphin. Dolphin’s own guides page explains the release channels. Git builds are development versions and do not replace the stable release, so pick the stable download for this tutorial. Avoid Program Files, because Dolphin writes configuration data next to itself in portable mode.

If you want the settings to stay inside the Dolphin folder, which makes backups and clean reinstalls trivial, create an empty file named portable.txt beside Dolphin.exe before the first launch. Without it, Dolphin stores its profile under your AppData folder instead.

cd D:\Emulators\Dolphin
New-Item -ItemType File -Name portable.txt | Out-Null
Get-ChildItem portable.txt

Dolphin has several forks for specific games. The Dolphin vs PrimeHack vs MMJR2 comparison explains when a fork is worth it. For a first controller test, plain Dolphin is the right choice, because it keeps the number of moving parts low.

Step 8: Open the controller panel. Launch Dolphin.exe and click the Controllers button in the toolbar. The window has a GameCube Controllers section with four port dropdowns, and a Wii section below it that you can ignore for now. Dolphin also shows a status line for the adapter. Recent guides describe the status as detected or not detected, and you want the detected state before you continue.

Step 9: Assign the adapter to Port 1. Open the Port 1 dropdown and choose the adapter entry. Recent guides label it GameCube Adapter for Wii U, which matches the WUP-028 identity the Mayflash unit presents. Repeat for Ports 2 to 4 only if you have more than one pad plugged in. Leave unused ports on None, because an empty port set to the adapter costs a little polling time and can confuse a game that checks for a second player.

Close the panel. No mapping happens in this mode. Dolphin reads the pad’s raw state from the adapter, which is the main reason to bother with Zadig at all.

Steps 10 and 11: Calibrate Sticks, Triggers, and Rumble (6 Min)

Step 10: Check the center point. Launch any game and look at the stick behavior in the first menu. If the cursor creeps in one direction while you hold nothing, the pad sampled a bad center when it connected. The fix costs nothing. Close Dolphin, unplug the controller from the adapter, plug it back in with your hands off the sticks, and relaunch. The pad re-reads its origin at that moment.

A worn stick that still drifts after that will need a dead zone, but Dolphin’s native adapter mode offers fewer calibration controls than the Standard Controller panel. The usual workaround is a hardware fix for the stick, or a switch to the generic path where Dolphin exposes dead zone and range sliders. Keep dead zones small. A large one flattens the gentle stick motions that games like Super Mario Sunshine and Metroid Prime use for fine aim.

Step 11: Test the triggers and rumble. A GameCube trigger has an analog range and a digital click at the bottom of its travel. Open Dolphin’s Controllers panel, enable the rumble option if it is available for the adapter, and start a game that vibrates on contact. If the pad stays silent, check that the second USB plug on the adapter is connected to a powered port. Rumble motors draw more current than the data link needs.

While you are here, turn off Windows USB selective suspend, which can power down idle ports mid-session and cause the stuttering input described in the troubleshooting list. The two commands below apply to the active power plan on AC power.

powercfg /setacvalueindex SCHEME_CURRENT 2a737441-1930-4402-8d77-b2bebba308a3 48e6b7a6-50f5-4782-a5d4-53bb8f07e226 0
powercfg /setactive SCHEME_CURRENT

On a desktop this has no real downside. On a laptop that runs on battery, apply the matching DC value only if you actually see dropouts, since the setting exists to save power.

Steps 12 and 13: Test in a Real Game and Save a Profile (8 Min)

Step 12: Launch a GameCube title from the command line. A command-line launch removes the game list from the equation and tells you quickly whether the controller works. The -b flag runs Dolphin in batch mode, which closes the main window and exits when the game stops, and -e points at the image.

cd D:\Emulators\Dolphin
.\Dolphin.exe -b -e "D:\Games\GameCube\Pokemon Colosseum.rvz"

Turn-based games hide input problems, so spend the first few minutes on menus and overworld movement rather than battles. If you want a first game that also rewards a proper pad, the Pokémon Colosseum and XD Dolphin setup walks through a full session. Walk in circles, press every button, and squeeze both triggers slowly. You should see smooth analog response and a click at the bottom of each trigger.

Step 13: Save your configuration. With the adapter set, Dolphin writes the port assignments to its configuration file on exit. Close the emulator normally rather than killing the process, so the file flushes. Then copy the Config folder, or the entire portable folder, to a backup location. A zip file named with today’s date is enough. If a future Windows update resets the driver, the backup saves you from redoing the Dolphin side and you only repeat Step 6.

Per-game settings deserve a mention. Dolphin lets you right-click a game, open Properties, and keep graphics or audio changes for that title alone. Controller port assignments stay global, which suits the adapter because it is a hardware setup rather than a per-game choice.

What Success Looks Like: Expected Output at Each Stage

Checkpoints keep you from debugging Step 11 when the fault sits in Step 3. The table below lists what you should see after each block of the tutorial. If a result differs, fix that stage before moving on, because later steps depend on it.

StageWhat you should seeIf you see something else
After Step 3A WUP-028 row with Status OK, or a generic gamepad in joy.cplNothing at all means a cable, port or power problem
After Step 6Zadig success message and the service name WinUSBBlank service name, so unplug and replug in the same port
After Step 8Adapter shown as detected in Dolphin’s Controllers windowNot detected means the driver or the mode switch is wrong
After Step 10Cursor rests still with hands off the sticksDrift means replug the pad without touching the sticks
After Step 11Rumble pulses on contact, triggers click at full travelNo rumble means the power plug has no power
After Step 12The game responds to every button without any mappingDead input means another app is holding the device

A healthy Dolphin log helps too. Open View, then Show Log, and raise the log level so controller messages appear. When the adapter initializes you should see lines that mention the GameCube adapter being found and read. The exact wording changes between builds, so look for the words adapter and detected rather than matching a fixed string.

Common Pitfalls That Waste an Evening

Most failed setups trace back to the same handful of mistakes. I list them here in rough order of how often they come up in forum threads.

  • Replacing the wrong driver in Zadig. The dropdown holds every USB device when List All Devices is on. Read the name twice before you click Replace Driver, and never touch a device you cannot identify.
  • Flipping the mode switch while plugged in. The adapter reads the switch at power-up. Unplug, flip, replug.
  • Touching the sticks during connection. The pad stores its stick center at that moment, so a held stick becomes a permanent offset until you reconnect.
  • Using a USB hub or a front-panel port. Unpowered hubs starve rumble and sometimes drop the data link. Test on a rear motherboard port first.
  • Skipping the second USB plug. The controller works, but rumble and extra ports fail in confusing ways. Plug both in.
  • Running Steam in the background. Steam Input can grab controllers before Dolphin sees them. Exit Steam for the first test, then decide how you want the two to coexist.
  • Starting on a development build. Git builds are development versions and not replacements for the stable release. A bug in a nightly looks exactly like a driver problem, and you will chase the wrong cause.
  • Assuming a Windows update leaves the driver alone. Big feature updates can swap driver bindings. If the adapter vanishes from Dolphin after an update, rerun Step 6 before anything else.

Troubleshooting: 10 Symptoms and Their Fixes

Work from the top of the table down. Each row lists the most likely cause first, so you rarely need more than the first fix.

#SymptomLikely causeFix
1Zadig does not list WUP-028Wrong switch position, or List All Devices is offUnplug, flip the switch, replug, then tick List All Devices
2Dolphin says the adapter is not detectedDriver is not WinUSB, or another app holds the deviceRerun Step 6, then close Steam and any controller utility
3Stick drifts at restCenter sampled while a stick was movedUnplug the pad, replug it with hands off, relaunch Dolphin
4No rumblePower plug not connected to a powered portConnect the second USB plug to a rear port, or a powered hub
5A WaveBird receiver is not recognizedDriver bound to only one interfaceIn Zadig, install WinUSB on each listed interface of the adapter
6Input stutters or drops for a momentUSB selective suspend powers down the portApply the powercfg change from Step 11
7Adapter vanished after a Windows updateThe update replaced the driver bindingRerun Zadig and replace the driver again
8Dolphin crashes when the adapter connectsBug in a development buildSwitch to the stable release and test again
9Buttons are swapped or missingPort set to Standard Controller instead of the adapterSet the port dropdown to the adapter entry
10Keyboard or mouse stopped working after ZadigZadig replaced the wrong deviceOpen Device Manager, uninstall that device with its driver, then reboot

When Nothing Helps

Try a second computer if you have one. A fresh machine separates a bad adapter from a bad Windows install in one test. Also try a different USB port on the same machine, preferably one on a different controller chip. Many motherboards split their rear ports across two USB controllers, and an odd chip revision can break a device that works everywhere else. If the adapter fails on two machines, the unit is the problem and the seller should handle the replacement.

Firmware is the last resort. Mayflash posts firmware on its support pages for some of its adapters, and the updaters run on Windows. Read the notes on the download page before you flash, confirm the file matches your exact model, and keep the adapter connected directly to the PC with no hub in between. An interrupted flash is the one failure in this guide that can brick hardware.

Using the Adapter Beyond Dolphin: Steam Input and Switch 2

Dolphin’s native mode locks the adapter to Dolphin. If you also want GameCube pads in other PC games, you have two options. The first is to swap the driver with Zadig and Device Manager whenever you change use. That works but gets old fast. The second is to run the adapter in its generic gamepad personality for everything except Dolphin, and accept manual mapping inside the emulator.

Steam Input fits the second route. Add a non-Steam shortcut or use the controller settings page, and Steam can present each GameCube port as a remappable gamepad. Remember that the layout is awkward for modern games. The pad has a single usable shoulder button on each side, no second analog stick in the usual spot, and a C-stick that doubles as a camera control. Shooters and action games with many bindings will feel cramped, and platformers fare better.

A product listing dated within the last few weeks also names Nintendo Switch 2 among the adapter’s supported systems, alongside Windows 11, macOS, Wii U and Switch. That comes from a retail listing, so check Nintendo’s own compatibility notes before you buy a pad for that purpose, because Nintendo limits GameCube controller use to specific games and modes. The GameCube controller on Switch 2 guide covers the console side step by step, and the Switch 2 Pro vs GameCube vs Joy-Con 2 comparison helps you decide which controller to keep on the couch.

A third-party summary also reports a firmware update that adds macOS support for the four-port adapter. Treat that as a reported change until Mayflash confirms it on its own page. It does not affect any step in this Windows tutorial.

Advanced Tips for Power Users

Once the base setup works, a few changes make daily use better. Start with latency. Plug the adapter directly into the board, close overlay software that hooks input, and keep the polling load low by leaving unused ports on None. Competitive GameCube players who use the Slippi fork of Dolphin care about this more than anyone, and the Dolphin vs Slippi vs PrimeHack breakdown shows which fork suits which game.

Next, think about online play. Dolphin 2609 added Android NetPlay and cross-platform sessions between Android and desktop, which means a friend on a phone can join your lobby. NetPlay needs matching game images, matching settings and a steady connection, and the PC emulator netplay setup covers the routing side. The adapter’s native mode adds no extra work there, because Dolphin sends the controller state as input and not as a device.

Third, consider special targets. Dolphin can run Triforce arcade images, and arcade titles often want a specific controller layout, so the Dolphin Triforce arcade setup pairs well with a GameCube pad. Game Boy Advance link features need a separate setup, and the Dolphin integrated GBA guide explains it.

Finally, version your configuration. Because portable mode keeps everything in one folder, you can commit that folder to a private git repository or sync it to a cloud drive. Exclude the shader cache and save states to keep the backup small. When a build breaks, you can roll back to a known-good copy in minutes.

Full Working Project: A PowerShell Adapter Doctor

Checking every item by hand gets tedious after the third reinstall. The script below bundles the checks from this tutorial into one command. It reports your Windows build, finds the adapter by name, reads the bound driver service, counts generic game controllers, inspects the USB selective suspend setting, and looks for a Dolphin profile. It changes nothing on your system, so you can run it as often as you like. Save it as Test-MayflashAdapter.ps1.

param(
    [string]$NamePattern = 'WUP-028|GameCube',
    [string]$DolphinDir = '',
    [switch]$AsJson
)

$results = New-Object System.Collections.Generic.List[object]
function Add-Check([string]$Name, [string]$Status, [string]$Detail) {
    $results.Add([pscustomobject]@{ Check = $Name; Status = $Status; Detail = $Detail })
}

# 1. Windows build
$os = Get-CimInstance Win32_OperatingSystem
$cv = Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion'
Add-Check 'Windows' 'INFO' ('{0} | {1} | build {2}.{3}' -f $os.Caption, $cv.DisplayVersion, $cv.CurrentBuild, $cv.UBR)

# 2. Native adapter device and bound driver
$devices = @(Get-PnpDevice -PresentOnly -ErrorAction SilentlyContinue |
    Where-Object { $_.FriendlyName -match $NamePattern })
$native = $false
if ($devices.Count -eq 0) {
    Add-Check 'Adapter' 'FAIL' 'No device matches the name pattern. Check the mode switch, cable and port.'
} else {
    foreach ($d in $devices) {
        $svc = (Get-PnpDeviceProperty -InstanceId $d.InstanceId -KeyName 'DEVPKEY_Device_Service' -ErrorAction SilentlyContinue).Data
        if ($svc -eq 'WinUSB') { $st = 'PASS'; $native = $true } else { $st = 'WARN' }
        Add-Check ('Device ' + $d.FriendlyName) $st ('Service={0} Status={1}' -f $svc, $d.Status)
    }
    if (-not $native) { Add-Check 'Driver' 'WARN' 'Device found but not on WinUSB. Run Zadig and replace the driver.' }
}

# 3. Generic game controllers (HID personality)
$hid = @(Get-PnpDevice -Class HIDClass -PresentOnly -ErrorAction SilentlyContinue |
    Where-Object { $_.FriendlyName -match 'game controller|gamepad' })
Add-Check 'Generic game controllers' 'INFO' ('{0} present' -f $hid.Count)

# 4. USB selective suspend (AC)
$q = powercfg /query SCHEME_CURRENT 2a737441-1930-4402-8d77-b2bebba308a3 48e6b7a6-50f5-4782-a5d4-53bb8f07e226 2>$null
$ac = ($q | Select-String 'Current AC Power Setting Index:\s*0x([0-9a-fA-F]+)').Matches |
    ForEach-Object { [Convert]::ToInt32($_.Groups[1].Value, 16) } | Select-Object -First 1
if ($ac -eq 0) { Add-Check 'USB selective suspend' 'PASS' 'Disabled on AC power' }
elseif ($null -eq $ac) { Add-Check 'USB selective suspend' 'INFO' 'Could not read the setting' }
else { Add-Check 'USB selective suspend' 'WARN' 'Enabled on AC power. Disable it if input stutters.' }

# 5. Dolphin profile
$userDirs = @()
if ($DolphinDir -and (Test-Path (Join-Path $DolphinDir 'portable.txt'))) { $userDirs += (Join-Path $DolphinDir 'User') }
$userDirs += (Join-Path $env:APPDATA 'Dolphin Emulator')
$ini = $userDirs | ForEach-Object { Join-Path $_ 'Config\Dolphin.ini' } |
    Where-Object { Test-Path $_ } | Select-Object -First 1
if ($ini) {
    $lines = Select-String -Path $ini -Pattern '^SIDevice\d\s*=' | ForEach-Object { $_.Line.Trim() }
    Add-Check 'Dolphin.ini' 'INFO' ($ini + ' | ' + ($lines -join ', '))
} else {
    Add-Check 'Dolphin.ini' 'WARN' 'No Dolphin.ini found. Launch Dolphin once, close it, and rerun.'
}

if ($AsJson) { $results | ConvertTo-Json } else { $results | Format-Table -AutoSize -Wrap }
$fail = @($results | Where-Object Status -eq 'FAIL').Count
$warn = @($results | Where-Object Status -eq 'WARN').Count
if ($fail) { exit 2 } elseif ($warn) { exit 1 } else { exit 0 }

Run it from an ordinary PowerShell window. If script execution is blocked, allow it for this session only with the first line below, which does not change your system policy.

Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
.\Test-MayflashAdapter.ps1 -DolphinDir 'D:\Emulators\Dolphin'

A healthy run prints output shaped like this. The values on your machine will differ.

Check                    Status Detail
-----                    ------ ------
Windows                  INFO   Microsoft Windows 11 Pro | (your version) | build (your build)
Device WUP-028           PASS   Service=WinUSB Status=OK
Generic game controllers INFO   0 present
USB selective suspend    PASS   Disabled on AC power
Dolphin.ini              INFO   D:\Emulators\Dolphin\User\Config\Dolphin.ini | SIDevice0 = (value)

The exit code makes the script useful in automation. Zero means everything passed, one means warnings only, and two means a hard failure. You can call it from a login script, a scheduled task, or a launcher batch file that refuses to start Dolphin until the adapter checks out. Pass -AsJson if you want to feed the results into another tool.

How to Undo the Setup and Restore the Generic Gamepad

Reversing the Zadig change takes a minute. Open Device Manager, find the adapter (it may sit under Universal Serial Bus devices), right-click it, and choose Uninstall device. Tick the box that deletes the driver software for this device, confirm, then unplug the adapter and plug it back in. Windows reloads its stock driver for whatever personality the switch selects.

The command-line route does the same job and suits scripted cleanups. Use the instance ID that the diagnostic script or the Step 3 command printed.

pnputil /remove-device "USB\VID_xxxx&PID_xxxx\5&1a2b3c4d&0&3"
pnputil /scan-devices

If the adapter returns on WinUSB anyway, the driver package is still in the store. List the packages with pnputil /enum-drivers, find the one your Zadig run created, and delete it with pnputil /delete-driver followed by its published name and the /uninstall switch. Do that only for the package you recognize. Removing the wrong one can break a different device.

Frequently Asked Questions

Do I need Zadig to use a Mayflash GameCube adapter with Dolphin on Windows 11?
For Dolphin’s native adapter mode, yes. Recent guides route the Windows setup through the WUP-028 device and a WinUSB driver, and Zadig is the tool that assigns it. If you only need a generic gamepad that maps by hand, you can skip Zadig and use the adapter in its HID personality.

Which mode should the adapter be in for PC?
Start with PC mode, as Mayflash’s Windows guidance suggests. Then run the Step 3 check. If Windows lists a WUP-028 device, you are set. If it does not, unplug the adapter, flip the switch to the other position, and test again.

Should I run a development build of Dolphin?
Not for a first setup. Git builds are development versions and do not replace the stable release. Use the latest stable build from the Dolphin site and switch only if a specific fix you need exists in a development build.

Why does my stick drift in Dolphin when it works fine on a console?
The pad samples its stick center when it connects. If a stick was off center at that moment, the offset stays until you reconnect. Unplug the controller, plug it back in without touching the sticks, and relaunch Dolphin.

Does the Mayflash adapter work with Nintendo Switch 2?
A current product listing names Switch 2 among the supported systems, but that is a retail listing, not a Nintendo statement. Check Nintendo’s compatibility notes for GameCube controllers before relying on it, because the supported games and play modes are limited.

How much does the adapter cost?
Mayflash’s pages gave no list price in the material reviewed here. Prices vary by seller and change often, so compare a few retailers and check the model name before you order.

Will a Windows update break the setup?
It can. Large feature updates sometimes swap driver bindings. If Dolphin stops seeing the adapter after an update, rerun the diagnostic script. A WARN on the driver line means you need to repeat Step 6 in Zadig.

Can I use the adapter in other PC games after installing WinUSB?
Not directly. WinUSB hands the device to libusb-style applications such as Dolphin, so DirectInput games and Steam Input stop seeing it. Undo the driver change from the rollback section, or keep the adapter in its generic mode for non-Dolphin use.

Marcus Chen

Marcus Chen

Gaming & Consumer Tech Editor

Marcus Chen is a senior editor at Tech Insider, where he leads coverage of the US online gaming market, including sweepstakes and social casinos, alongside consumer technology. He evaluates operators on their published terms, licensing and RNG certifications, stated redemption policies, and corroborating independent reporting, and writes plainly about what the evidence supports. Tech Insider does not run first-party money tests and does not gamble with reader funds. Marcus has reported on the technology and online-gaming industries for more than a decade.

View all articles