Wii Virtual Console

From OoT Randomizer Wiki
Revision as of 20:02, 17 February 2022 by Flagrama (talk | contribs) (→‎gzinject: mention nacj)

One platform that supports OoTR is the Wii's built-in, official "Virtual Console" emulator. The advantages are fast load times, less lag and improved graphics compared to the other options available. Some also prefer the stick sensitivity and deadzone settings of the Wii VC over that of pc emulators. The downsides are random (but extremely rare) crashes, installing new seeds is a longer process than on pc emulators, and potentially additional costs if you don't already own a Wii and/or compatible controllers or if you wish to stream your gameplay. This page aims to help readers setup rando seeds on their Wii as well as offer basic tech troubleshooting and other useful advice. To avoid possible complications readers are strongly encouraged to fully read this page.

OoTR can also be played on the Wii U's Virtual Wii mode, but due to its unpopularity we don't know a lot about it and can therefore offer very limited support. However, since vWii is running on Wii hardware we expect that many things that are true about Wii VC will also be true for vWii.

Setting Up Your Wii or Wii U

Softmodding Your Wii

This is an important racing rule! If you do not follow it, you may be disqualified from a race.

Ensure the original IOS9 v1034 is installed: Modified and "Updated" versions of this IOS have significantly faster loading times. A guide on how to install the original IOS9 can be found here.

Unfortunately, this is something that we do not offer support for. We recommend following this guide. If there are any issues or questions we suggest seeking out a Wii softmodding community. If you own a PAL Wii you will need to force NTSC output for OoTR, or your game will run at 5/6 the frame rate.

Softmodding Your Wii U's Virtual Wii Mode

Unfortunately, this is something that we do not offer support for. We recommend following this guide. If there are any issues or questions we suggest seeking out a Wii U softmodding community.

Note: Do not confuse the Wii U's Virtual Wii mode with Wii U Virtual Console. They are two different things and the latter is not supported.

Generating a Seed

Using the Webpatcher

Start off by going to the Webpatcher and set up the settings you want for the seed. Then press the green button below that says GENERATE SEED!. When the seed has been generated a new webpage will load. On this page, select .wad (WiiVC) for the Output Type. This will show several new fields. The Base ROM field requires a vanilla 1.0 NTSC (= NA/JAP) OoT ROM and the WAD File field requires a vanilla 1.2 NTSC OoT WAD. You can choose to either use a Wii Common Key File, or to enter the Wii Common Key explicitly. We are unable to provide any of these things for you. Leave the WAD Channel ID and WAD Channel Title fields as they are. Optionally set your cosmetics and then hit the green button below that says PATCH ROM!. Don't forget to also download a copy of your spoiler log. ;)

Using the Offline Version

If you wish to use the offline seed generator, then you will have to create your WAD in two steps. After you have selected your seed's settings go to the ROM Options tab. The Base ROM field requires a vanilla 1.0 NTSC (= NA/JAP) OoT ROM, and the Output Directory is where the seed and logs will be placed. Select Compressed [Stable] as your Output Type and make sure Create Spoiler Log is turned on. ;) Then hit the big green button below that says Generate! to create a ROM file.

Injecting the ROM

Step two is to use this ROM file to create a WAD file that you can install on your Wii. There are two methods to do this.

gzinject-gui

Download, unzip and run gzinjectGUI in that order. Input the ROM file you just created in the Compressed ROM (32MB) field and a vanilla 1.2 NTSC OoT WAD in the Donor WAD (Vanilla OOT) field. Leave the Channel ID and Channel Title fields as they are. Tick only the DPad-Up and C-Stick Down > L boxes as shown on the image, optionally change the output directory and then hit the big button below that says Generate WAD. A new window saying "Wad Created!" should pop up after a few seconds, whilst a WAD file is created in your output directory. If not then hit the button again until it does. The created file is what you will install on your Wii or run in Dolphin.

gzinject

Download and unzip gzinject. If on Linux, the WSL build should work as there are no major library dependencies, but if you have issues just rebuild using the install instructions in the readme file.

Open a terminal window, drag gzinject.exe into the window, then type a space followed by -a inject -m followed by a space, drag your randomizer ROM into the window, type another space and -w followed by another space. Drag the WAD into the window now. Lastly, type another space then -p patches/NACE.gzi -p patches/ootr_dpad_remap.gzi and press Enter. Note that if you are using the Japanese WAD you need to use NACJ.gzi instead of NACE.gzi. An example of the full line is ./gzinject -a inject -m ROM-comp.z64 -w OoT.wad -p patches/NACE.gzi -p patches/ootr_dpad_remap.gzi as well as an image below. Your WAD should be in the same location as your donor WAD but have the word -inject in it. That is the file you install on your Wii or run in Dolphin.

Installing the Seed

Put the rando WAD created with gzinjectGUI on your SD card and put it in your Wii. Open whichever WAD manager you've downloaded, such as WiiMod Lite, and follow their instructions for installing the WAD. These steps are different for every WAD manager so we cannot give specific advice, but fortunately the steps are straightforward.

Playing the Seed

Simply select the OoTR channel that is now on your home menu and have fun. :) Don't forget to save often.

The only known compatible controllers for Wii VC are any Wii Classic Controller and the Gamecube Controller. For Virtual Wii a Wii Classic Controller is your only option. An image of the controller mappings for the Gamecube Controller on Wii VC can be seen below. Note that "L-Targeting" is typically called "Z-targeting" by the OoT community as that technique was bound to Z on the N64, whilst toggling the mini-map was bound to L.

After You Have Finished a Seed

To avoid future complications it is extremely important that old seeds are taken care of properly. The right way to dispose of old seeds is to either uninstall the old WAD through a WAD manager, or to overwrite the old WAD with a new one through the WAD manager. Boot up your WAD manager and follow whatever steps are needed for that specific WAD manager to uninstall or overwrite the WAD. When choosing to overwrite the old WAD ensure that the new WAD uses the same Channel ID as the old one did. When using the webpatcher to generate a WAD the default Channel ID is NICE (previously OOTE) and when using gzinjectGUI the default Channel ID is NRKE. It is recommended to not change these. If you're unsure about what Channel ID you used, you can copy your save file to your SD card using the Wii system menu and then on your SD card navigate to privatewiititle[Channel ID] to find your Channel ID.

Never delete OoTR channels through the Wii system menu. This does not properly remove the seed's save data, which means that it'll take up precious space in your Wii's memory. As a consequence you will not be able to install new WADs, or save data from old seeds could affect the save data of new seeds. If this happens, install and uninstall WADs onto the channel(s) where you've incorrectly removed WADs from. If you need to free up more space, you can uninstall other WADs temporarily. If this still does not fix the issue(s), then you'll have to use a homebrew app like AnyTitleDeleter which has full access to your whole Wii to remove the leftover save data. Caution: because these apps have full access to your Wii it is possible to cause severe damage or even brick your Wii if you don't know what you're doing. We are not responsible if such a thing should happen and we recommend reaching out to a Wii homebrewing community for help if needed. It is for this reason that we warn users not to delete OoTR channels through the Wii system menu. Alternatively, should you still have enough space to install new WADs, you could install them on a different channel to avoid the mixing of flags from old and current seeds. See the next section for help deciding alternative Channel IDs.

Optional: Multiple Seeds Installed Simultaneously

It is possible to have multiple seeds installed on your Wii simultaneously. All you have to do is create each WAD with a different Channel ID. A Channel ID consists of 4 characters that can be letters [A-Z] or numbers [0-9]. To avoid possible interference with other WADs it is important to select an unused Channel ID. A list of Channel IDs used by official Nintendo software can be found here. If you wish to follow the same convention, the first character of your Channel ID should be "N" and the last character should be "E". For the other two characters make sure to avoid the combinations already in use.

Warning: if you have multiple OoTR WADs with different channel IDs installed, then the game could crash on a soft reset. If this is the case, then uninstall the other wads. See this section for more info.

Troubleshooting

My Game Crashed

Unfortunately random crashes can occur. These are due to a bug with the Virtual Console and are therefore out of our reach to fix. All you can do is save often to mitigate progress lost. Read this if you crash on soft resetting.

My Control Stick Is Too Sensitive

This is due to the Virtual Console's controller mapping and is also out of our reach to fix. You will either have to learn to live with it, or get a so-called "ESS adapter". Keep in mind that these are quite expensive and typically have a waiting list.

My Game Seems To Run Slower Than Normal

PAL Wiis run NTSC games at 5/6 the normal frame rate. In order to play OoTR at normal speeds on a PAL Wii you will need to force NTSC output for OoTR. This can be done with WiiMod Lite and possibly other homebrew as well. You also need to make sure that your PAL TV can support NTSC signals. Most modern ones can do this, but it's always good to verify that first.

My SD Card Is Unusable

Older homebrew apps typically had issues with SDHC cards (4GB+), but newer apps should work fine with either SDHC or SDXC cards. Make sure you format your card with FAT32.

There Is No More Space to Install New WADs

Delete some WADs through your WAD manager to make room. If you don't have the original WADs anymore, then you can create new WADs to delete channels so long as they have the same Channel ID. If there isn't anything to uninstall left, then you'll likely have to use a homebrew app like AnyTitleDeleter to free up space. Just keep in mind these apps can cause major damage to your Wii if you don't know what you're doing, and we are not responsible for what may happen. It's best to reach out to a Wii homebrewing community to ask for help.

A Fresh Seed Already Has Some Flags Set

If you delete your old seeds through the Wii system menu then old save data will remain on your Wii and interfere with new seeds on the same channel. Create WADs with a different Channel ID from now on and uninstall old seeds through your WAD manager to prevent future issues.

Crash/Black Screen on a Soft Reset

This could be caused by having multiple seeds installed at the same time, or due to improper removal of past seeds. Make sure to always uninstall old WADs through your WAD manager and not through the Wii system menu. Read this section for info on how to remove leftover data from WADs uninstalled through the system menu.

Installing ticket...ERROR (ret=-2011)

Make sure you've followed this section of the Wii softmodding guide or this section of the Wii Mini softmodding guide or this section of the vWii softmodding guide.