Wiimote Plus Games

Classic Game Room reviews the Wii REMOTE PLUS controller for Nintendo Wii, the 'new' Wiimote which condenses the Wii Motion Plus by just adding Wii Motion Pl. Tutorial how to connect and configure Wii Remote and Nunchak to play Virtual Reality (VR) games in SteamVR. With or without Kinect. Download at: https://www. It was also released as part of a bundle containing Wii Sports, New Super Mario Bros. Wii, a red Wii, red Wii Remote Plus and red Nunchuk. It has been announced that the European version of Wii Play: Motion will be bundled with the red Wii Remote Plus, while the Black Wii Remote Plus is also included with other versions of the game.

Progress Continues
We've already had 13191 updates since Dolphin 5.0. Keep up with Dolphin's continuing progress through the Dolphin Blog: July, August, and September 2020 Progress Report.
The Dolphin Emulator Wiki needs your help!
Dolphin can play thousands of games, and changes are happening all the time. Help us keep up! Join in and help us make this the best resource for Dolphin.

Released only a year after the Wii MotionPlus accessory, the Wii Remote Plus is a Wii Remote with the MotionPlus addon built into the Wii Remote. Unfortunately, shortly after the Wii Remote Pluses came out, a new Wii Remote Plus type appeared. Whereas the standard Wii Remotes and the very first Wii Remote Pluses register as RVL-CNT-01, the new Wii Remotes register as RVL-CNT-01-TR. What exactly changed is unknown, but all -TR Wii Remotes may need additional hardware/software to work with Dolphin. Since all Wii Remotes for sale in stores since 2011 are -TR Wii Remotes, this has become a growing problem. Fortunately, they can work with Dolphin -- with some special requirements. This guide tells you how to connect and use a RVL-CNT-01-TR Wii Remote Plus in Dolphin.

Note that the very first Wii Remote Pluses, such as those included in FlingSmash and The Legend of Zelda: Skyward Sword, are not RVL-CNT-01-TR Wii Remotes. For this reason, this guide will not use the blanket 'Wii Remote Plus' term, but will use '-TR Wii Remote' to refer to the RVL-CNT-01-TR Wii Remotes specifically. While the addition of the sync button on the battery cover is the common way to tell non-TR Wii Remote Pluses from -TR Wii Remote Pluses, even that is not 100% reliable. The only way to know for sure to is connect it to a computer and see if it is registered as RVL-CNT-01-TR.

  • 3macOS
    • 3.1El Capitan
  • 4Windows
    • 4.2Toshiba Stack
      • 4.2.4Forcing the Toshiba Drivers Onto the Adapter

In the Bluetooth Passthrough mode, -TR Wii Remotes are not an issue at all. Refer to Bluetooth Passthrough for details.


Linux (> 3.11) does not require any special treatment. Use the normal connecting methods shown in Configuring Controllers.

Since 5.0-876, the DolphinBar can also be used on Linux.


macOS does not require any special hardware or software. It only requires a device be paired beforehand.

  1. Open Bluetooth Settings and click the plus (+) sign to set up a new device.
  2. While it is scanning, press the red sync button on the back of the controller. All four lights on the front of the controller should be flashing.
  3. Back in the Bluetooth Settings, hit 'Continue' and wait for it to fail.
  4. Select 'Passcode Options' and choose 'Do not use a passcode with this device'. Click 'OK' and then click 'Quit'.
  5. Double check in the Bluetooth menu to be certain that the controller is registered.

Once the pairing process is completed, the controller will be usable on Dolphin, as further instruction is available in the Configuring Controllers guide. However the red Sync button must be pressed instead of 1 + 2 every time to connect.

Wiimote Plus Games

El Capitan

Since the El Capitan update, Bluetooth pairing requires a passcode. To get the Bluetooth passcode you must find the Bluetooth address of the Wii remote.

  1. Open System Preferences --> Bluetooth.
  2. Press the red sync button on the back of the Wii remote.
  3. After pairing fails, right-click on the device and look for the field 'address'.
  4. Record the address backwards (e.g. 00-1B-7A-D9-72-0E would be 'e0279da7b10').
  5. Use a Hexadecimal-to-ASCII table or convertor (such as this one) to get ASCII text.
  6. Go back to Bluetooth settings, find the Wii remote device and click on options.
  7. Under 'Passcode' paste/write the ASCII text into the field (ignore non-character such as 'NULL' or 'STX').
  8. Press the red sync button on the back of the Wii remote and click pair.
  9. If pairing fail, restart the computer and try pairing again.
  10. If pairing continues to fail, see below.

If Pairing Fails

For some people, pairing using the method above does not work. If this is the case open Dolphin, click on 'Controller', select 'Real WiiMote' from the Wiimote settings, press the red sync button on the back of the Wii remote and hit 'refresh' under 'Real Wiimote'.


Windows includes the MS Bluetooth Stack and most Bluetooth adapters use it by default. Starting with Dolphin 4.0-8325, if you're using Windows 8 or newer, all you need to do to connect -TR Wii Remotes is the typical Wii Remote connectivity as described in Configuring Controllers. If you're running Windows 7 or earlier you'll have a previous version of MS Bluetooth Stack that lacks some Bluetooth functions which the -TR Wii Remote uses. In that case you have two solutions for this problem, the DolphinBar or the Toshiba Bluetooth Stack. Both have superior Bluetooth functionality and not only allow -TR Wii Remotes to work, but also fix minor Wii Remote bugs that are present in the MS Bluetooth Stack used on Windows 7 and earlier.

DolphinBar

The Mayflash DolphinBar is a combination Bluetooth adapter and Sensor Bar. It doesn't reveal any of the Bluetooth information to the operating system, instead sending HID packets directly to Dolphin without a Bluetooth Stack, thus allowing -TR support, syncing of Wii Remotes, and other features superior to what the Toshiba Stack can offer. However, since it does this, it is only useful for supported Wii controllers, and cannot be used as a full Bluetooth adapter. Full details are available in the DolphinBar Hardware Review, and links to purchase one are available on our Recommended Accessories page.

Wiimote Plus Games

Toshiba Stack

The Toshiba Stack provides full Bluetooth on Windows 7, for everything, not just Wii Remotes, and it has full -TR support. However, it requires the additional step of connecting Wii Remotes through the Toshiba Stack instead of just through Dolphin.

The link provided below is the official download page for Toshiba Stack. Use the newest version; it has the highest known compatibility. If the newest version doesn't work feel free to try older ones. Please be aware that Toshiba Stack will start in trial mode when using on a unsupported dongle subjected with forced driver installation, and will eventually require a supported adapter to continue use of the software.

Toshiba Stack and the Bluetooth Adapter

The Toshiba Stack only supports a limited number of Bluetooth adapters. For absolute maximum compatibility, buy a Bluetooth adapter that is specifically designed to use the Toshiba Bluetooth Stack; look for 'Toshiba Bluetooth Software' somewhere on the package or for 'Toshiba' in the comments on the online store. There is a small possibility that the adapter not in the list can be used with Toshiba Stack, through the installation with an edited driver file, as instructed in the later section. But please acknowledge that it is preferably for experienced users only. The instruction will be divided at some point for the users and their specific adapters throughout this guide, starting from the first step in the next section below.

Installing the Toshiba Bluetooth Stack

  1. If the Bluetooth adapter is USB based, insert it before the installation.
  2. Run the extractor. Make note of where it extracts to (For future reference, %userprofile%AppDataLocalTemptc00590500a.temp). When the installer does not start, run Setup.exe from the temp folder to start the installer. There are no settings to worry about, so just click through.
    • If there is a message pop up that says 'Please plug in the Bluetooth device and click OK button', make sure the Bluetooth adapter is properly inserted, and if it still happens, the Bluetooth adapter is not supported. In that case, click on the Cancel button and try to finish the Toshiba Stack setup, then continue to #Forcing the Toshiba Drivers Onto the Adapter.
    • Restart the computer when prompted.
  3. When the installer setup is completed, and for the interests of this guide, try to close any pop ups before continue.
  4. The Bluetooth Settings window can be accessed through the Start Menu or double clicking the Bluetooth icon in the notification tray. This is where the users will be interacting with the Toshiba Stack on a regular basis, and it is necessary for the next section.
    The Bluetooth Settings window

Connecting the Wii Remote Plus

  1. In the Bluetooth Settings window, press the 'New Connection' button.
  2. In the 'Add New Connection Wizard' window, select the 'Express Mode', and hit 'Next'.
  3. A searching window will appear. Press the Sync button on the bottom of the -TR Wii Remote.
  4. Now click through the windows. The windows will go away and it will show the Bluetooth settings screen with 'Nintendo RVL-CNT-01-TR'. Note the green and yellow lines clasping each others: this means the Bluetooth is presently connected. The Wii Remote will continue to flash, it is normal.
    Clasped lines indicate a connected Wii Remote

The connection setup with the -TR Wii Remote is completed and will be usable with Dolphin, as further instruction is available in the Configuring Controllers guide.

  • For a quick note, because of the Toshiba Stack, it is recommended that Continuous Scanning is enabled. Dolphin will immediately detect the Wii Remote and it will be used upon starting a game.
  • Another thing to note, when turning the Wii Remote off, its device ID will remain in the Bluetooth settings window, but the yellow and green clasped lines will be gone. To reconnect the Wii Remote, just double click it. A window will pop up asking to prepare the Wii Remote once again. Click 'OK' and then press the red Sync button on the bottom of the Wii Remote. It will be reconnected in a matter of seconds.


Forcing the Toshiba Drivers Onto the Adapter

If Toshiba Stack does not seem to detect the adapter and shows endless 'Please plug in the Bluetooth device and click OK button' prompts, it is because the Toshiba Stack will only install its drivers onto the adapter with a matching USBVID number from the list. Naturally, the adapters not in the list are not supported and will be skipped. It is possible to make a workaround by adding the excluded adapter's USBVID into the list.

Identifying Bluetooth Adapter's Hardware ID

  1. Open the Device Manager (or simply run 'devmgmt.msc') and find the Bluetooth adapter in the list. It will either show up as a Bluetooth radio or as an unknown device.
    • For convenience in finding it in the Device Manager, expand the categories the Bluetooth device might be in, then if the adapter is unplugged, it will disappear from the list. Plug it back in, and it will reappear into the list. In other words, the Device Manager updates live.
  2. Open its Properties (right-click → Properties), then select 'Hardware Ids' in the dropdown menu from the 'Details' tab. Note the second (shorter) value. This is the USBVID of the Bluetooth adapter. Copy it into the Notepad.

Editing Driver File

  1. Go to %programfiles(x86)%ToshibaBluetooth Toshiba StackDriverstosrfusb
  2. If desired, make a copy of tosrfusb.inf, and consider it as a backup.
  3. Edit tosrfusb.inf with administrator privileges. Notice that there are three long lists. The first and second lists should look something like this: %TosrfUsb.DeviceDesc###%=TosrfUsb_Device.
  4. In the bottom of the first list, copy the very last entry and make a duplicate below it. Take the number of the entry (the number immediately after 'DeviceDesc') and increase it by one. Then erase the USBVID of this new entry and replace it with the one for the Bluetooth adapter that was collected from last subsection.
    An example of device file in its original unedited state
    New line is highlighted in blue

  5. Copy the newly created entry from the first list, and paste into the bottom of the second list.
  6. On the bottom of the third list, copy the last entry of the third list and make a duplicate below it. Just like before, there is a number following 'DeviceDesc' and increase it by one. After this, there is a name in parentheses. Change it to the way you want to recognize it for yourself. Toshiba won't rely on it in any way.
  7. Save the file and close it.

Disable Driver Signature Enforcement

By default, 64-bit versions of Windows does not let the users install drivers which are not signed. So, after modifying tosrfusb.inf its signature won't be valid anymore and Windows will block the installation unless Driver Signature Enforcement is disabled. Follow these steps on Windows 7:

  1. During boot-up, continuously press F8 to get to 'Advanced Boot Options'.
  2. When the boot manager menu appears, use the arrow keys to select 'Disable driver signature enforcement'.
  3. Press 'Enter' and the computer will restart Windows with the driver signature enforcement disabled.

Installing the Modified Driver Onto the Bluetooth Adapter

The first step may run into the possibility of BSOD (Blue Screen of Death). Save everything and be prepared beforehand.

Wii Remote Plus Games Pacman

  1. Type 'Bluetooth Settings' in the Start Menu or Start Screen and hit Enter. A Windows Security window will pop up asking to confirm installation of the unsigned drivers. Install the driver. The process may take some time, and errors may appear during it. Ignore them.
  2. When the installer setup is completed, and for the interests of this guide, try to close any pop ups before continue.
  3. Double click the Bluetooth icon that appeared in the notification tray. Click the 'New Connection' button.
    • If the wizard screen appears, then the Toshiba Stack has successfully installed the Toshiba drivers to the Bluetooth adapter. Continue to #Connecting the Wii Remote Plus.
    • If a prompt appears saying 'Bluetooth is not ready' ...then it failed. Once that point is reached, there is no way known to deal with this.

Pretending to Be a Toshiba Bluetooth Adapter

While there is no option to buy the Toshiba Bluetooth Stack without the bundled hardware, there is a way to make the Bluetooth device recognized as one. Paste the following into Notepad and save it as a .reg file, then run it.

Retrieved from 'https://wiki.dolphin-emu.org/index.php?title=Wii_Remote_Plus_(RVL-CNT-01-TR)_Connection_Guide&oldid=143314'
< Wiimote‎ Extension Controllers
  • 1Data Format

The Wii Motion Plus starts off at register 0xA60000 instead of register 0xA40000, because it has its own extension port on the back allowing a Nunchuk for example to be plugged in along with the Wii Motion Plus. BUT it changes to 0xA40000 once it is activated by writing 04 to 0xa600fe.

The Wii Motion Plus is first identified by the 6 bytes: 00 00 A6 20 00 05 at register address 0x(4)a600fa (instead of 0x(4)a400fa like a regular extension). Games attempt to detect the Wii Motion Plus by trying to read the two-byte expansion identifier at 0xA600FE (they try up to 3 times, then wait 8 seconds, then check again). If a Wii Motion Plus is not present, or it has already been activated, then the attempt to read those bytes will fail with error 7.

The extension is initialised by writing 0x55 to 0x(4)a600f0. But there is no need to write 00 to 0x(4)a500fb, since Wii games don't do that. While the Motion Plus is initialising, the value at 0x(4)a600f7 changes from 0x02 to 0x04 to 0x08 to 0x0C to 0x0E then stays at 0x0E. There is no need to read this byte, since games don't. While initialising, the 128 bytes from 0x(4)a60050 - 0x(4)a600cf also change briefly, but randomly, after the extension is initialized. More examples of this data block changing over time can be found here: Three Data Samples from Wii Motion Plus (Google Doc)

The 32 bytes from 0x(4)a60020 are, as usual, calibration information, described as follows.

Writing 0x04 to 0x(4)A600FE activates the MotionPlus as the 'active' extension. This does 3 things (with no additional initialization):

  • A status report (0x20) will automatically be sent indicating that a normal extension has been plugged in, if and only if there was no extension plugged into the MotionPlus pass-through extension port.
  • The standard extension identifier at 0x(4)A400FA now reads 00 00 A4 20 04 05
  • Extension reports now contain MotionPlus data.

Writing 0x55 to 0x(4)A400F0 deactivates the MotionPlus, and activates the Nunchuk or other extension plugged into the back of the Motion Plus. It does these things (with no additional initialization):

  • A status report (0x20) will always be sent indicating that a normal extension has been unplugged.
  • The Motion Plus extension identifier at 0x(4)A600FA now reads 00 00 A6 20 04 05
  • Another status report (0x20) will always be sent indicating that a normal extension has been plugged in.
  • The standard extension block at 0x(4)A40000 now reads from the Nunchuk (or other extension)
  • Extension reports no longer contain MotionPlus data


It is possible to read from both Motion Plus and an extension controller at the same time by activating the MotionPlus in one of the pass-through modes suggested by DogP. When activated, this interleaves extension controller data with MotionPlus data on every other read. Data passing through are modified to make room for 3 bookkeeping bits. Two pass-through modes are currently known, one with modifications adapted to the NunChuck, and one with modifications adapted to the Classic Controller (but suitable for Guitar, Drums, or Turntable).

Nunchuck pass-through mode :

  • Activated by writing 0x05 instead of 0x04 to 0x(4)A600FE
  • Data passing through drops the least significant bit of the three accelerometer values
  • Bit 7 of byte 5 is moved to bit 6 of byte 5, overwriting it
  • Bit 0 of byte 4 is moved to bit 7 of byte 5
  • Bit 3 of byte 5 is moved to bit 4 of byte 5, overwriting it
  • Bit 1 of byte 5 is moved to bit 3 of byte 5
  • Bit 0 of byte 5 is moved to bit 2 of byte 5, overwriting it

Classic Controller or Musical Instrument pass-through mode:

  • Activated by writing 0x07 instead of 0x04 to 0x(4)A600FE
  • Data passing through drops the least significant bit of the axes of the left (or only) joystick
  • Bit 0 of Byte 4 is overwritten
  • Bits 0 and 1 of Byte 5 are moved to bit 0 of Bytes 0 and 1, overwriting what was there before

There is no requirement to use the correct mode for the extension, but otherwise the bitshift/move wouldn't make sense. Using the Nunchuk in classic controller mode would clobber a significant bit in the middle of the Z acceleration. Using the Classic controller in Nunchuk mode would clobber some of the buttons.


Data Format

The Wii Motion Plus reports its information as 6 bytes of data, readable at 0x(4)a40008 (or 0x(4)a40000 in some cases) and streamable using Data Reporting Modes that include Extension bytes (unused bytes are filled with 0x00). The data is packed into the six bytes as follows:

Bit
Byte76543210
0Yaw Down Speed<7:0>
1Roll Left Speed<7:0>
2Pitch Left Speed<7:0>
3Yaw Down Speed<13:8>Yaw slow modePitch slow mode
4Roll Left Speed<13:8>Roll slow modeExtension connected
5Pitch Left Speed<13:8>10

While the Wiimote is still, the values will be about 0x1F7F (8,063), although it is best to calibrate for a few seconds every time you start, to get the actual zero values.

Voltage reference is 1.35V that you can assume it as 8192 unit (half of the ADC range), using 2.27 mV/deg/s, 8192 is 595 deg/s (1.35V/2.27mV), you must divide by ~13.768 unit/deg/s (8192/595) to know the correct deg/s.

At high speed (slow bit = 0) raw values read are small with the same deg/s to reach higher values on top, so you must multiply it by 2000/440 (they are the max reference in the two modes in deg/s [1]). Example: reading 8083 raw value and assuming 8063 as zero, 20 unit in slow/normal mode are 1,45 deg/s and in fast mode are 1.45*2000/440=6.59 deg/s.

Yaw/Roll/Pitch fast/slow bits are 1 when the Wii Remote is rotating slowly (or not rotating at all), 0 when the Wii Remote is rotating fast.

Extension connected is 1 when an extension is connected to the MotionPlus extension port.

Note: The definition of yaw, pitch, and roll, are slightly different for the gyros and accelerometers. Accelerometers measure angles relative to gravity. Gyros measure angles relative to the Wii Remote. If the Wii Remote is up the right way, then they are the same. But if the Wii Remote is on its side, then what the gyros call 'pitch' is actually what the accelerometers would call 'yaw'.

The correct way to measure orientation is to maintain a rotation matrix (or alternatively a quaternion) of the current orientation (relative to gravity), and update it each time you get a gyro reading. It will drift a little, so you should reset the matrix's pitch and roll (but not yaw) with the values from the accelerometers whenever the accelerometers and gyros indicate no movement. After significant rotation, you should reset the matrix's yaw to zero when the Wii Remote is pointing near the middle (horizontally) of the sensor bar.


Nunchuck pass-through mode

In this mode, MotionPlus data and modified Nunchuck data are interleaved, you can retrieve one set of data every 3ms (one wm+, one nunchuck, one wm+ and so on).First 6 byte are the motion plus, send a byte 0, wait some time that WM+ retrieve and overwrite its buffer, and now read other 6 byte that are the nunchuck data.If you don't wait some time (3ms between every request), WM+ give incorrect data, mixing byte with nunchuck.The data format for the Motion Plus does not change, but the data format of the nunchuck is different than the normal way:


Bit
Byte76543210
0SX<7:0>
1SY<7:0>
2AX<9:2>
3AY<9:2>
4AZ<9:3>Extension connected
5AZ<2:1>AY<1>AX<1>BCBZ00


Note that AZ, BC and BZ and the least significant bits of AX, AY and AZ are moved. Also, the least significant bit of each accelerometer axis are lost, consider them 0 to keep 10 bit values. Extension connected is usually 1.

Bit 1 of Byte 5 is used to determine which type of report is received : it is 1 when it contains MotionPlus Data and 0 when it contains extension data.

Classic Controller pass-through mode

In this mode, MotionPlus data and modified Classic Controller data are interleaved. The data format for the Motion Plus does not change. Here is the data format for the Classic Controller in this mode:


Bit
Byte76543210
0RX<4:3>LX<5:1>BDU
1RX<2:1>LY<5:1>BDL
2RX<0>LT<4:3>RY<4:0>
3LT<2:0>RT<4:0>
4BDRBDDBLTB-BHB+BRTExtension connected
5BZLBBBYBABXBZR00


Note that BDL and BDU are moved, and each axis of the left joystick loses its least significant bit. Extension connected is usually 1.

Bit 1 of Byte 5 is used to determine which type of report is received : it is 1 when it contains MotionPlus Data and 0 when it contains extension data.

Wii Remote Plus Games Free

Hardware

Wii Motion Plus, circuit board, top
Wii Motion Plus, circuit board, bottom

The Wii Motion Plus contains two gyro sensors: A dual-axis gyro by InvenSense, the IDG-600(pitch and roll), and a single-axis gyro by EPSON TOYOCOM labelled X3500W (yaw).

Until its release it was speculated that only a dual-axis gyro was included in the Wii Motion Plus. The combined use of a dual-axis gyro and a single-axis gyro is what enables the Wii Motion Plus to report the angular rate in all three axis, thus allowing full orientation tracking.

Specifications of the X3500W are currently unknown, but may be similar to the specifications of the similarly named XV-3500CB (same manufacturer.)

Wii MotionPlus contains RVL-GU chip and EEPROM. RVL-GU chip is a microprocessor NEC 78K0/KC2. It has two firmware modes. I2C bus repeater mode and 'Activated' Gyro mode.Wii_motion_plus_kaiseki (japanese)

T1-T4 on side A are test points for the gyros. W1-W7 on side B are test points for the RVL-GU. In some versions the ground plane has four large solderless pads on side A.

LabelRVL-GU Pin
W1Vss
W2RESET
W3P13/TxD6 (TOOLD)
W4Vdd (tied to P15/TOH0)
W5P14/RxD6
W6P122/X2/EXCLK/OCD0B
W7FLMD0 (TOOLC)

Wii Remote Plus Vs Wii Motion Plus

Information

When not activated, the MotionPlus is detected by regular polling (every 8 seconds or so) of 0x(4)a600fe. Writing 0x55 to 0x4A400F0, then 0x00 to 0x4A400FB (standard extension init, works fine even with no extension) re-activates the standard extension, if any, plugged into the MotionPlus pass-through port. The development version of the CWiid driver currently implements this method (without automatic 8 second checks) on the motionplus branch: http://abstrakraft.org/cwiid/browser/branches/motionplus/. Additional information on MotionPlus workings and implementation requirements are at http://abstrakraft.org/cwiid/wiki/MotionPlus.

The combination of 3 linear accelerations with 3 angular rates allows what Nintendo refers to as 1:1 motion tracking, which is another way of saying 6DOF (degrees of freedom) over a short time. It's only valid over short times because of the integration involved to convert accelerations and rates into positions (input errors, when integrated, blow up over time).

In addition to providing yaw, the gyros also allow the software to tell the difference between orientation and acceleration, which are difficult to tell apart from the accelerometers which measure a mixture of both.


Reading 0x100 bytes from 0x(4)a60000 produces the following:

A different (Carl Kenner's) Wiimote and Motion Plus:

Two more:

and

Retrieved from 'https://wiibrew.org/w/index.php?title=Wiimote/Extension_Controllers/Wii_Motion_Plus&oldid=107588'