Nintendo Wii Programming Manuallines
Hide thumbs Also See for Wii:
Table of Contents

Advertisement

Wii Programming Guidelines
Version: 1.01a
The contents in this document are highly
confidential and should be handled accordingly.
© 2006 Nintendo
RVL-06-0132-001-I
CONFIDENTIAL
Released: October 11, 2006

Advertisement

Table of Contents
loading

Summary of Contents for Nintendo Wii

  • Page 1 Wii Programming Guidelines Version: 1.01a The contents in this document are highly confidential and should be handled accordingly. © 2006 Nintendo RVL-06-0132-001-I CONFIDENTIAL Released: October 11, 2006...
  • Page 2 These coded instructions, statements, and computer programs contain proprietary information of Nintendo of America Inc. and/or Nintendo Company Ltd. and are protected by Federal copyright law. They may not be disclosed to third parties or copied or duplicated in any form, in whole or in part, without the prior written consent of Nintendo.
  • Page 3: Table Of Contents

    Demo Screen Loop Processing [Required] ..................14 2.11 Integrating Banners, Comments, and Icons [Required]..............14 2.12 Referencing and Changing Wii System Settings [Information]............14 2.13 Prohibition of Warning Screen Display by Application [Required] ............14 2.14 [N. American Version Only] Onscreen Warning Display for Applications Using Online Features [Required] ...............................15...
  • Page 4 Wii Programming Guidelines Sound ................................. 19 Sound Setting [Information] ........................ 19 Applying Wii Console System Sound Settings [Required] ..............19 Sound Output for Applications Supporting Multiple Sound Settings [Required]......... 19 Do Not Modify the Audio Playback Frequency Within an Application [Required]....... 19 Photosensitivity............................
  • Page 5 7.1.15 Do Not Use Origin Reset Command for Analog Input to Extension Controller [Required] ..35 Wii Remote ............................35 7.2.1 Using the Relative Distance between the Wii Remote and the Sensor Bar [Recommended]..35 7.2.2 Handling HOME [Required]......................35 7.2.3 Disabling Pointer for Applications Without Pointer Function [Required] ........35 7.2.4...
  • Page 6 Error Handling [Required]........................41 Write Operation Display [Required]....................41 Data Compatibility Within the Same Program [Required] ..............42 Applications Dependent on Wii System Memory Access Speed Prohibited [Required] ....42 Reset Handling [Required] ......................... 42 Data Unit for Users [Required] ......................42 Checking the Number of Free i-nodes and Amount of Free Memory Using NANDCheck[Async] [Required]...............................
  • Page 7 10.1 Wii Console RESET [Required] ......................47 10.2 Wii Power Button [Required].......................47 10.3 Reset the Nintendo GameCube Controller Origin during Reset Operations [Required] ....48 10.4 Use of Hot Resets [Recommended] ....................48 10.5 Required Preparations Before Using the Reset/Shutdown Functions [Required] ......48 10.6...
  • Page 8 • Updated “Explanatory Message for Strap Use.” • Updated “Using Wireless LAN” as “Frequency Band Usage when Using a Wireless LAN.” • Updated “Support for Changes in the Wii Remote and Sensor Bar Distance” to “Using the Relative Distance between the Wii 1.01 10/6/2006 Remote and the Sensor Bar.”...
  • Page 9 • Updated “Note for Using CARDFastOpen Function” and changed the title to “Limit on Accessible Memory Card Files.” • Updated “Wii Console RESET” and “Wii Power Button.” • Updated "Boot Caching". • Added description of Wii console setting values when using a 16:9 0.97 09/07/2006 aspect ratio.
  • Page 10 • Added indication that the pointer halt functionality is not currently 0.96 08/24/2006 available in the KPAD library. • Added sections on Wii Remote memory (7.2.5 to 7.2.9) and on the speaker (7.2.10 and 7.2.11). • Added section on “Boot Caching (tentative).” • Reorganized the entire section.
  • Page 11: Overview

    Also, some of the documents referenced in the Wii Programming Guidelines are currently being created or updated, so they may not include the referenced information at this time. Please be patient as the contents will be added as they become available.
  • Page 12: All

    2 All 2.1 Prohibition of Dependency on Device Specifications [Information] Avoid designing a program with a dependency on the device specifications of the Wii console or its peripherals, since this may result in a program malfunction or crash. There will be some specification variance between devices. Performance will also decrease as the device ages or a disc becomes damaged.
  • Page 13: Compliance With Legal Rights Display [Required]

    2.5 Compliance with Legal Rights Display [Required] A separate indication of legal rights is required for some of the library tools provided by Nintendo. Use the specified display method when using a library tool or other item requiring a legal rights display.
  • Page 14: Demo Screen Loop Processing [Required]

    2.11 Integrating Banners, Comments, and Icons [Required] Prepare a banner and comment for your Wii Game Disc. For applications to be run on the Wii system memory, make an icon available in addition to a banner and a comment. The comments should not exceed the system menu display area.
  • Page 15: American Version Only] Onscreen Warning Display For Applications Using Online Features [Required]

    Do not read in programs or perform an external transfer of programs from the application using an SD Card, a Nintendo GameCube Memory Card, a network, USB, Bluetooth, or other kind of interface. Also, even if data is simply being read using these interfaces, always perform buffer overflow checks or data encryption so that programs will not be executed as a result of buffer overflow.
  • Page 16: Parental Controls [Information]

    The parent or guardian will set a PIN for temporarily releasing the Parental Controls. Games for the Wii system must be rated by the rating agency for each market in which the game is released before submitting a master. When creating master data for submission, be sure to enter the rating using the Master Editor program.
  • Page 17: Wii Game Disc And Drive

    3.2 Wii Game Disc Error Handling [Required] For Wii Game Disc error handling, adhere to the contents to be added to the “Revolution Optical Disc Drive Library (DVD),” including the messages, unless there is a special reason not to do so.
  • Page 18: Only For Multiple Disc Games] Independent Startup Of All Discs [Required]

    “This is <game title> Game Disc 2. Please insert <game title> Game Disc 1 and restart power.” Not doing so may cause the user to think that there is malfunction in either the Wii console or the Wii Game Disc when a Wii Game Disc is not designed for independent startup.
  • Page 19: Sound

    4.4 Do Not Modify the Audio Playback Frequency Within an Application [Required] Although the Wii audio system supports playback at a frequency of either 32 kHz or 48 kHz, once one of these frequencies has been set for an application at startup, be sure not to change the frequency setting again.
  • Page 20: Photosensitivity

    5.1 About Photosensitivity and These Guidelines [Information] These guidelines are intended to be used in the development of video games for the Wii platform. Unlike films and television programs, which produce only one sequence of images each time they are played, one video game can produce an infinite sequence of images.
  • Page 21: Restrictions On Flashing Images And Lights [Recommended]

    Wii Programming Guidelines • Nits is a shorthand name for candelas per square meter, the metric system’s measurement unit for luminance. (A candela is a measure of the candle power or angular density of light from a source). • A photometer is a device that measures the luminance of an object. A photometer with CIE characteristics is calibrated to match the response to various color spectra of the average human eye.
  • Page 22: Restrictions On Image Reversals [Recommended]

    Wii Programming Guidelines one of the images contains saturated red, and the saturated red occupies more than one eighth of the screen, and more than three flashes occur in any one second period. The sample video contains examples of red flashing in sections 2(1), 2 (2), and 2 (3).
  • Page 23: Screen Brightness Calculations [Information]

    Wii Programming Guidelines Avoid especially stripes that oscillate or flash and moving stripes that change direction. Do not switch the luminance of the lighter and darker stripes (so that the dark become light and vice versa). Striped patterns that flow smoothly across, into, or out of the screen in one direction may be used.
  • Page 24 In this formula, L is luminance in nits or candelas per square meter and mV is luminance voltage in millivolts. 3. Third, luma (Y), which the Wii console converts and outputs, can be calculated from the RGB values (from 0 to 255 each) of the Wii software side, by using the following formula: Y is a value between 16 and 235.
  • Page 25 Wii Programming Guidelines ∗ ∗ ∗ ⎡ ⎤ ⎢ ⎥ ⎣ ⎦ Therefore, the luma, analog voltage, and luminance of each color is as follows, when a standard color bar is displayed: Display Color (R/G/B) Y (Digital Value) Analog Voltage (mV)
  • Page 26: Video

    Decide on the display position based on the importance of the information to be displayed. The size of the safe frame in Wii will depend on the specific TV set. However, in general, the safe frame width will be approximately 84.4% of the maximum valid display width in the horizontal direction and 80.8% of the maximum valid display height in the vertical direction.
  • Page 27: Switching Between Interlaced And Progressive Display Output [Recommended]

    Wii Programming Guidelines 6.5 Switching Between Interlaced and Progressive Display Output [Recommended] Perform display switching in the order: “black screen” → “switch display format” → “black screen” → “wait time of approximately 100 frames” → “screen with scenes or messages where progressive display is not very important”.
  • Page 28: Settings And Display For Eu Rgb 60 Supported Application [Required]

    If the application supports EU RGB 60, display in the appropriate format based on the mode configured on the Wii console. Applications that do not support EU RGB 60 may ignore the Wii console setting. 6.11 Switching between PAL and EU RGB 60 [Recommended] Perform display switching in the order: “black screen”...
  • Page 29: Display Method For 16:9 Screen Ratio [Recommended]

    4:3 ratio display. When an aspect ratio of 16:9 has been set for the Wii console, the user is advised to switch the television to a wide-screen display by means of an on-screen message and a cautionary note in the Wii console user’s manual.
  • Page 30: Check Before Switching To Progressive Display [Required]

    6.20 Check Before Switching to Progressive Display [Required] Check the following points before switching to progressive display. • Check whether Wii D-Terminal cable or Wii Component Video cable is plugged into the AV Multi Out. • Check whether the Wii console progressive setting is on.
  • Page 31: Controllers

    Wii Programming Guidelines 7 Controllers 7.1 All Controllers 7.1.1 Display When Extension Controller is Necessary [Required] Display that a necessary extension controller is needed before its use in the application. The purpose of this requirement is to inform the user of the need for the particular extension controller during gameplay.
  • Page 32: Explanatory Message For Wii Remote Strap Use (Required)

    There may be games where this requirement is not necessary, such as where the controller use is limited to horizontal use of the Wii Remote where you are holding it with both hands. Please contact Nintendo if you believe your game design does not require the wrist strap reminder screen.
  • Page 33: Lower Limit Value Of The Controller Stick And Button Analog Input Value [Recommended]

    Do not create an operation that requires a value that is impossible to input. Please keep the controller stick and button analog input value within the range set by Nintendo. The resolution of individual controller sticks and buttons will show some variations between controllers.
  • Page 34: Regarding Applications That Support The Rumble Feature [Required]

    Motor after turning on or resetting the console until there is some form of controller input. In particular, make sure not to use the Rumble Feature with the demo screen. A Wii controller that is vibrating because the Rumble Motor is running while not in the user’s hand may fall from a table or a desk.
  • Page 35: Do Not Use Origin Reset Command For Analog Input To Extension Controller [Required]

    KPADDisableDPD function and enabled using the KPADEnableDPD function. 7.2.5 Do Not Use of Wii Remote Memory and Wii Remote Speaker Simultaneously [Required] The Wii Remote speaker cannot be used while accessing Wii Remote memory. Stop using one before using the other. © 2006 Nintendo RVL-06-0132-001-I CONFIDENTIAL...
  • Page 36: Restriction On Contents Of Data Written To Wii Remote Memory [Required]

    7.2.6 Restriction on Contents of Data Written to Wii Remote Memory [Required] Store data in Wii Remote memory in such a way that it will not interfere with game progress if data is lost. This requirement is due to the fact that there is a possibility that data in Wii Remote memory may be overwritten when another game is played.
  • Page 37: Data Compatibility For The Same Application Using Wii Remote Memory [Required]

    7.2.17 Halting Data Transfers When No Output Occurs on the Wii Remote Speaker [Recommended] When there is no sound being played on the Wii Remote speaker (when the playing of such sound isn’t needed), do not send data to the Wii Remote speaker.
  • Page 38: Displaying A Message Notifying The User That Battery Charge Is Low [Recommended]

    “The battery charge is running low.” While it is true that the user can confirm the battery charge for the Wii Remote at any time using the Home Menu, the application might encounter problems if the battery for the Wii Remote were to suddenly become depleted.
  • Page 39: Hot Swapping Support For Nintendo Gamecube Controller Socket Devices [Required]

    [Required] Support hot swapping of the Nintendo GameCube Controller Socket being used. The user may insert or remove the Nintendo GameCube Controller in the middle of running the application. Execution of the Nintendo GameCube Controller origin reset command and Nintendo GameCube WaveBird Wireless Controller channel switching will also result in a state similar to that of Controller hot swapping.
  • Page 40: Wii System Memory

    These restrictions are necessary because the Wii system memory is shared with other applications. 8.2 Limits on Frequent Rewrites [Required] Please avoid unnecessary writing to the Wii system memory (such as writing to the Wii system memory by saving each second or every time a character moves) to prevent deterioration of that memory.
  • Page 41: Error Handling [Required]

    8.4 Write Operation Display [Required] When writing save data larger than 1 MB to the Wii system memory, please display a message or an icon indicating the data write operation is under way. This is to prevent the user from unintentionally destroying data by turning off power or resetting in the middle of a write operation to the Wii system memory.
  • Page 42: Data Compatibility Within The Same Program [Required]

    Be sure to note that there is a difference between the block unit used for users and the “file system block” (equal to 16 kB) used by the Wii system memory file system. 8.9 Checking the Number of Free i-nodes and Amount of Free Memory...
  • Page 43: Timing For Checking The Number Of Free I-Nodes And The Amount Of Free Memory [Required]

    For example, display a message such as the following: “There is not enough Wii system memory available. Free <X> block(s) of memory either by moving files to the SD card on the Data Management Screen or by deleting files.
  • Page 44: Do Not Change Created File Size [Required]

    Wii system memory. If this type of processing is not embedded in software, display the following type of message on the screen.
  • Page 45: Nintendo Gamecube Memory Card

    9.1 Nintendo GameCube Memory Card Compatible Application [Information] A Wii application does not need to be compatible with the Nintendo GameCube Memory Card. Applications that do support Nintendo GameCube Memory Card need to conform to paragraphs 9.2 through 9.7, below.
  • Page 46: Errors Displayed When Memory Cards Cannot Be Used [Required]

    • The data was corrupted while reading save data. 9.6 Compatible Slots [Recommended] The Wii console comes with two Nintendo GameCube Memory Card Slots: Slot A and Slot B. Allow operation from both Memory Card slots, if possible. If only one slot will be supported, make sure to display a message indicating which slot should be used.
  • Page 47: 10 Reset

    10.2 Wii Power Button [Required] If the Power Button on the Wii console or Wii Remote is pressed while an application is executing, always be sure to perform a shutdown immediately once the Power Button is pressed. Also, do not perform any operation other than a shutdown when the Power Button is pressed.
  • Page 48: Reset The Nintendo Gamecube Controller Origin During Reset Operations [Required]

    Nintendo GameCube Controllers, they must not accept the above command for the purpose of resetting an executing application. Be sure to perform a reset only when RESET on the Wii console is pressed or when the reset option is selected using the Home Menu.
  • Page 49 Wii Programming Guidelines © 2006 Nintendo RVL-06-0132-001-I CONFIDENTIAL Released: October 11, 2006...
  • Page 50 Wii Programming Guidelines © 2006 Nintendo The contents of this document cannot be duplicated, copied, reprinted, transferred, distributed or loaned in whole or in part without the prior approval of Nintendo. © 2006 Nintendo RVL-06-0132-001-I Released: October 11, 2006 CONFIDENTIAL...

Table of Contents