Tag Archives: windows

How to Connect and Remap Your VOYEE Wireless Switch Controller for Xbox-Style Gameplay on Windows

If you’ve ever plugged a Switch-style controller into your PC and found that the A and B buttons feel reversed, you’re not imagining things. The VOYEE Wireless Switch Controller—while designed for Nintendo Switch—also works on Windows in XInput mode, which mimics an Xbox controller. But the physical button layout still follows Nintendo’s convention, leading to confusion in games where B confirms and A cancels.

Luckily, VOYEE includes a built-in button-swap feature to fix this. Here’s how to connect your controller and remap the buttons for a true Xbox-style experience.

🔗 Step 1: Connect Your VOYEE Controller to Windows via Bluetooth

Before remapping, you’ll need to pair your controller with your PC. VOYEE makes this easy with a quick button combo.

✅ How to Pair:

  1. Enter Pairing Mode
    • Press and hold the X button and the Home button together for 3–4 seconds.
    • The LED lights will begin flashing, indicating the controller is ready to pair.
  2. Connect in Windows Settings
    • Go to Settings > Devices > Bluetooth & other devices.
    • Click Add Bluetooth or other device > Bluetooth.
    • Select the device labeled “Xbox Controller” or similar from the list.

Once connected, the controller should operate in XInput mode, which is compatible with most PC games and emulators.

🔄 Step 2: Remap A/B and X/Y Buttons to Match Xbox Layout

Now that your controller is connected, it’s time to fix the reversed button behavior. VOYEE controllers support a hardware-based button-swap combo that toggles between Nintendo and Xbox-style mappings.

🔧 Why This Matters:

  • Nintendo layout: A = Confirm, B = Cancel
  • Xbox layout: B = Confirm, A = Cancel
  • On PC, this mismatch can make menus and gameplay feel unintuitive.

🧪 How to Perform the Swap:

  1. Locate the Buttons
    • Capture/Share Button: Usually near the Home button, marked with a camera icon.
    • R3: Press the right analog stick down until it clicks.
  2. Execute the Combo
    • Press and hold Capture + R3 together for 1–2 seconds.
    • You should feel a single vibration, confirming the swap.
    • If nothing happens, try holding for up to 3 seconds, or repeat to toggle between layouts.
  3. Test the Result
    • Open Windows Game Controller Settings (search “Set up USB game controllers” in the Start menu).
    • Or launch a game and test the buttons:
      • A should now confirm
      • B should cancel

If the buttons still feel reversed, repeat the combo—it may cycle between Nintendo and Xbox modes.

🧠 Final Thoughts

The VOYEE Wireless Switch Controller is a great budget-friendly option for PC gaming, but its Nintendo-style layout can trip up players used to Xbox controls. Thankfully, with a simple Capture + R3 combo, you can remap the buttons and enjoy a seamless experience across your favorite games.

Still having trouble or using a different VOYEE model? Drop a comment—I’ll help you troubleshoot or find the right combo for your setup.

Happy gaming! 🎮

How to Fix the GC IPL Error in Dolphin When Using RetroBat

If you’ve ever tried launching a GameCube game through Dolphin and been greeted with the dreaded “GC IPL file could not be found” error, you’re not alone. This issue can be frustrating, especially when everything else seems to be set up correctly. But don’t worry—there’s a simple fix, and we’ll walk you through it.

🧩 What Causes the GC IPL Error?

The error typically stems from a missing or incorrect BIOS file (also known as the IPL file) required for the GameCube boot animation. While the game itself may be perfectly fine, Dolphin attempts to load the BIOS sequence before launching the game—and if it can’t find the right file, it throws an error.

✅ Fixing the Error in Dolphin (Standalone)

If you’re running Dolphin directly (not through RetroBat), you can bypass the BIOS boot sequence entirely by tweaking a simple setting:

  1. Locate your dolphin.ini configuration file.
  2. Open it in a text editor.
  3. Find the line that says SkipIPL.
  4. Set it to True.

ini

[Core]
SkipIPL = True

This tells Dolphin to skip the BIOS animation and jump straight into the game—no IPL file needed.

🔄 Fixing the Error in Dolphin via RetroBat

If you’re using RetroBat as your frontend, the fix is slightly different. RetroBat tends to overwrite Dolphin’s configuration files each time you launch a game, so editing dolphin.ini manually won’t stick.

Instead, you need to configure RetroBat itself to skip the BIOS:

  1. Launch RetroBat and press Start to open the Main Menu.
  2. Navigate to: Game Settings > Per System Advanced Configuration
  3. Select the console you’re working with (e.g., GameCube).
  4. Go to: Emulation > Skip Bios
  5. Set it to Yes.

This ensures that RetroBat tells Dolphin to skip the IPL sequence every time, avoiding the error altogether.

🎮 Final Thoughts

The GC IPL error might seem like a showstopper, but it’s really just a BIOS boot hiccup. Whether you’re using Dolphin standalone or through RetroBat, skipping the IPL sequence is a quick and effective workaround. Now you can get back to what matters—playing your favorite GameCube classics without interruption.

Got other emulation quirks you’re trying to solve? Drop them in the comments or reach out—I’m always up for a good retro tech fix.

A picture with garbled characters and the word password in the middle

How to generate a random password with T-SQL

The following script will generate a random 10 character password that meets the complexity requirement for Microsoft Windows. To generate a password just run the script in a new SQL Server Management Studio window. The logic can also be easily turned into a function.

The option of symbol characters is limited to what’s shown below as dealing with quotes and obscure characters in a password is often more trouble than it is worth. The password generated however should still be very secure as it will be 10 characters long with a guaranteed number, lowercase letter, uppercase letter and a symbol.

!
#
$
%
&
(
)
*
+

/*Declare Variables*/
DECLARE @i INT;
DECLARE @Pw VARCHAR(MAX);
DECLARE @Numbers TABLE (Characters CHAR(1));
DECLARE @LowerCase TABLE (Characters CHAR(1));
DECLARE @UpperCase TABLE (Characters CHAR(1));
DECLARE @Symbols TABLE (Characters CHAR(1));
DECLARE @BaseCharacters TABLE (Characters CHAR(1));
DECLARE @GuaranteedCharacters TABLE (Characters CHAR(1));
DECLARE @PwCharacters TABLE (Characters CHAR(1));

/*Generate Numbers*/
SET @i = 0;

WHILE @i <= 9
BEGIN
	INSERT INTO @Numbers
	SELECT @i

	SET @i = @i + 1
END;

/*Generate Lowercase Letters*/
SET @i = 97;

WHILE @i <= 122
BEGIN
	INSERT INTO @LowerCase
	SELECT CHAR(@i)

	SET @i = @i + 1
END;

/*Generate Uppercase Letters*/
SET @i = 65;

WHILE @i <= 90
BEGIN
	INSERT INTO @UpperCase
	SELECT CHAR(@i)

	SET @i = @i + 1
END;

/*Generate Symbols*/
SET @i = 33;

WHILE @i <= 43
BEGIN
	IF (
			@i = 34
			OR @i = 39
			)
	BEGIN
		SET @i = @i + 1
	END

	INSERT INTO @Symbols
	SELECT CHAR(@i)

	SET @i = @i + 1
END;

/*
Randomly Select A Number, Lowercase Letter,
Uppercase Letter And A Symbol So Four Character Types
Are Guaranteed To Be Present Somewhere In The Password
*/
INSERT INTO @GuaranteedCharacters (Characters)
SELECT TOP 1 Characters
FROM @Numbers
ORDER BY NEWID();

INSERT INTO @GuaranteedCharacters (Characters)
SELECT TOP 1 Characters
FROM @LowerCase
ORDER BY NEWID();

INSERT INTO @GuaranteedCharacters (Characters)
SELECT TOP 1 Characters
FROM @UpperCase
ORDER BY NEWID();

INSERT INTO @GuaranteedCharacters (Characters)
SELECT TOP 1 Characters
FROM @Symbols
ORDER BY NEWID();

/*
Randomly Select Another 6 Characters
*/
INSERT INTO @BaseCharacters
SELECT TOP 6 Characters
FROM (
	SELECT Characters
	FROM @Numbers
	
	UNION ALL
	
	SELECT Characters
	FROM @LowerCase
	
	UNION ALL
	
	SELECT Characters
	FROM @UpperCase
	
	UNION ALL
	
	SELECT Characters
	FROM @Symbols
	) AS Characters
ORDER BY NEWID()

/*Generate A 10 Character Password*/
INSERT INTO @PwCharacters (Characters)
SELECT Characters
FROM (
	SELECT Characters
	FROM @BaseCharacters
	
	UNION ALL
	
	SELECT Characters
	FROM @GuaranteedCharacters
	) AS Characters
ORDER BY NEWID()

/*Save The Password To A String*/
SELECT @Pw = COALESCE(@Pw + Characters, Characters)
FROM @PwCharacters

SELECT @Pw AS PW;

 

If you found this post helpful please like, comment and share.