lezzo.org/gamewiki/wiiu.org

66 lines
3.1 KiB
Org Mode
Raw Permalink Normal View History

2023-05-10 18:08:15 +01:00
#+TITLE: Nintendo Wii U
2023-05-11 10:54:03 +01:00
#+FILETAGS: :guides:emulation:nintendo:
2023-05-10 10:43:27 +01:00
#+AUTHOR: bparodi
We use [[./cemu.org][CEMU]] to emulate the Wii U platform and play the games on the pc.
The biggest difference compared to other emulators is the workflow to play a
game:
- spun up a [[./nus.org][NUS]] downloader that fakes itself as a console
- download and decrypt the target game
- load it into CEMU and apply fixes if needed
** Controllers
Use SDL api whenever possible. Either use the most recent Playstation
controllers or one from the 8bitdo line. Xbox controllers don't have support for
motion control.
*** Wii U Pro controller
[[./files/img/wiiupro.jpg][Controller.jpg]]
*** Wii U Classic controller
[[./files/img/wiiuclassic.jpg][Controller.jpg]] The Classic Controller is a game controller designed for use with
the Wii console. It has a similar layout to a traditional gamepad, with two
analog sticks, a D-pad, four face buttons, and four shoulder buttons. It also
features a built-in rumble function and can be plugged into a Wii Remote for
wireless connectivity.
*** Motion control
Cemu is capable of emulating motion controls within the Wii U GamePad or a
Wiimote (MotionPlus model). In order to accomplish that in Cemu, various methods
can be attempted, including setting up a UDP-based motion server application to
send the motion data of a real motion-support controller (that Cemuhook's
GamePad Motion Source API listens to), using the emulated Wiimote Controller API
in Cemu's input menu in combination with a real Wiimote (MotionPlus model), or
using a hacky workaround that involves right clicking and dragging within the
Cemu window.
** Optimizing CEMU
For the best performance, we'll be using the Vulkan graphics API. This tends to
run faster than OpenGL and allows us to use features such as asynchronous shader
compilation.
1. open the CEMU main menu
2. click Options -> General settings on the top bar
3. navigate to the Graphics tab
4. change the "Graphics API" to Vulkan if it is not already
Windows
Set "VSync" to Match emulated display (Experimental)
If you use a display with variable refresh rate (G-SYNC), set this to Off instead
This feature is experimental and may cause issues
Enable Async shader compiler
Navigate to the Audio tab
Under General, change "API" to XAudio2
*** Asynchronous Shader Compilation
When running games in Cemu, graphical shaders need to be re-compiled to work on
a desktop GPU. This can take some time, which causes small stutters in the game
every time a new one is sent to the emulator.
Doing this asynchronously allows the emulator to run the process in the
background. This means that when the shader is first called, it skips being
rendered to the screen, and is instead stored for the next time it's used,
providing a much smoother experience.
*** VSync Matching
Vulkan also allows us to use a new experimental VSync technique which allows
Cemu to use the game's built-in frame-pacing instead. This avoids tearing and
reduces input latency compared to previous methods.
2023-05-11 10:38:12 +01:00
** Related articles
- [[../cemu.org][CEMU]]
- [[../nus.org][NUS Downloader]]