Shop
Control the whole channel
When you wish to control the console itself, you utilize wiiShop. It is an important (and necessary) object to instanciate, as it controls the flow of the channel - rebooting, errors, options - alongside handling localization.
var wiiShop = new wiiShop();

Members

Member Name
Discussion
wiiShop.returnToUpdate()
Resets the system to the Wii System Update menu available in Settings.
wiiShop.rebootSystem()
Resets the system - i.e. restarting the channel. On a Wii U, this appears to go to the Wii U Menu.
wiiShop.returnToMenu()
Exits to the Wii System Menu.
wiiShop.jumpToEULAViewer()
Resets the system to the EULA agreement channel.
wiiShop.jumpToManualChannel()
On a vWii, opens the Wii Menu Electronic Manual. As this channel is not available by default on normal Wiis, it fails to launch and goes to the Wii System Menu.
wiiShop.retry()
First, it checks the current error code, if any.
If the error is:
  • 209506
  • 209509
  • 209510
  • 209528
  • 209535
  • 209538
  • 209540
  • 209546
the channel simply goes to the previous page.
If not, the channel is reset.
wiiShop.beginWaiting()
Shows the spinner UI over the currently loaded page.
wiiShop.endWaiting()
Hides the spinner UI for the currently loaded page.
wiiShop.setWallpaper(type)
Changes the image displayed in the borders of the loaded webpage. There are four types, specified by type:
  • 0: Dotted blue lines, default
  • 1: Pure black
  • 2: Pure white
  • 3: Blue vertical lines, as used within the health and safety manual
wiiShop.disableHRP()
Disables the HOME menu.
wiiShop.enableHRP()
Enables the HOME menu.
wiiShop.error(errorCode, errorType)
Displays an error page with errorCode.
TODO: Determine what types are available for this section. 0 and 1 are known.
wiiShop.closeManual()
Apparently available to close the shop's manual, it simply returns to the Wii System Menu.
wiiShop.jumpDataMng()
Opens Data Management within the Wii System Menu.
wiiShop.setSCARank(rank)
Appears to adjust the color of Mario in the download screen? TODO: confirm
Rank 0 appears to be normal, 1 appears to be silver, 2 appears to be gold. Unclear what other values are.

Properties (Get)

Property Name
Discussion
wiiShop.errMsg
Returns a localized string for the current error message.
TODO: Determine how this is set, and why error code 209658 is handled differently.
wiiShop.errCode
Returns the current error code registered as a string.
wiiShop.title
Returns a localized string of the channel. In English, this is "Wii Shop Channel".
wiiShop.retryBtn
Returns a localized string for the retry button, such as "Try Again" in English.
wiiShop.menuBtn
If launched normally, returns a localized string for "Wii Menu".
If launched as a manual viewer, returns a localized string for "Back" .
wiiShop.wiiUMenuBtn
Returns a localized string for "Wii U Menu".
wiiShop.eulaBtn
Returns a localized string for "Proceed".
wiiShop.eulaMsg
Returns a localized paragraph pleading for the user to agree to the Wii Network Services Agreement.
wiiShop.manualBtn
Returns a localized string for "Continue".
wiiShop.connecting
Returns a localized string for "Connecting. Please wait..."
This string is extremely important and must be accessed on each page load. Please see Connecting example for more information.
wiiShop.isCompatibleMode
Appears to always return 0, as nothing accesses what it reads from at 0x803607f9.
TODO: Verify
wiiShop.launchCode
Returns some variant of a launch code, which is also referenced to check if the channel was launched to be a manual viewer.
TODO: Determine possible codes

Connecting Example

It is important that wiiShop.connecting variable is accessed once per page load, as it stops an internal timer. It is additionally important that its value is set to a variable and not cast away, as it being accessed is what cancels the timer.
If the timer is not cancelled, error 209601 is displayed after 100 seconds.
The following code block provides an example of the bare minimum required to prevent an error thrown:
var wiiShop = new wiiShop();
const unused = wiiShop.connecting;

Properties (Set)

Property Name
Discussion
wiiShop.getLogUrl = stringVariable
Sets a log URL to the given string.
TODO: where and how is this used otherwise? It seemingly cannot be queried, and nothing accesses the URL throughout runtime.
wiiShop.fadeColor = integerValue;
Sets a color to fade to when exiting from the Mario downloading animation.
TODO: Is this correct?

Test Variables (Get/Set)

It's unclear on what these are used for: the channel never utilizes set values throughout operation, nor does the Nintendo-provided Wii Shop Channel. Their values persist unmodified throughout the current channel's launch, making them the numerical equivalent to a cookie, at best. One can assume that they were most likely included for testing purposes with the C++ <-> JS runtime bindings for Opera. Nonetheless, they are included.
Property Name
Discussion
wiiShop._a_
General-purpose Number type.
wiiShop._b_
General-purpose Number type.
wiiShop._c_
General-purpose Number type.
wiiShop._d_
General-purpose Number type.
Copy link
On this page
Members
Properties (Get)
Connecting Example
Properties (Set)
Test Variables (Get/Set)