=========================================================================== NINTENDO Revolution SDK 2.1 Aug 21, 2006 =========================================================================== Table of Contents - Introduction - Revision History System Requirements - Installation Procedure Differences versus the Dolphin SDK - Currently Known Bugs ======================================================================= Introduction: ======================================================================= This is the Revolution SDK 2.1 package. The Revolution SDK supports a Wii development environment. The Revolution SDK includes many libraries that reflect changes in hardware since the GameCube. Additionally, it includes many demo programs that describe how to build and execute applications. Revolution SDK 2.1 contains significant changes and additions from SDK 2.0. There is no longer full compatibility with modules built with SDK 2.0, patch 2, and prior versions. For details about what has changed, read man/en_US/ReleaseNote.html. ======================================================================= Revision History: ======================================================================= For the Revision History for this release, see man/en_US/ReleaseNote.html. ======================================================================= System Requirements: ======================================================================= For details on system requirements needed to run the Revolution SDK, see RVL-QuickStartGuide_2-1.pdf. Three USB ports are required to connect with a PC. (Although two ports are specified in some manuals, three USB ports are now required.) The only NDEV versions that the SDK operates on are NDEV Ver. 2.0 and Ver. 2.1. The SDK does not support versions NDEV Ver.1.X. Note: Only compatible with NDEV firmware 9.0.0. To update the firmware, use the NDEV Firmware Update Program. ======================================================================= Installation Procedure: ======================================================================= For information on installing the Revolution SDK environment, see RVL-QuickStartGuide-2_1.pdf. ======================================================================= Differences versus the Dolphin SDK ======================================================================= - The path to the Revolution SDK is specified with the environment variable REVOLUTION_SDK_ROOT. - The header file is placed in the following directory: $(REVOLUTION_SDK_ROOT)/include/revolution/ - Build target is RVL. (This was HW2 for the Dolphin SDK) - The run-time library is compiled using CodeWarrior 3.0 alpha5. ======================================================================= Currently Known Bugs: ======================================================================= ----------------------------------------------------------------------- [GX] Bug in the anisotropic filter feature A bug was found where textures are displayed as broken when the anisotropic filter feature is enabled for textures using the function GXInitTexObjLOD(). This bug exists only for the earlier hardware and will be corrected for NDEV Ver.2.1 and later versions of the hardware. ----------------------------------------------------------------------- [GX] Command processor hardware bug A bug caused by the difference in internal processing timing as compared with the GameCube was found in the graphics hardware command processor (CP). Since this bug will be treated within the library, no special response by applications is required as long as they perform rendering using the GX library. Note the following points, however, when creating original display lists using the GD library or other means. We have found that this bug occurs when a command that corresponds to the register type "CP" (as described in the function reference "About GX States") is sent immediately before drawing a primitive with a function such as GXBegin(). Therefore, if you need to set a CP command immediately before drawing primitives, be absolutely sure to include at least one GX_NOP (0x00) after the CP command. This bug will not be corrected in hardware that will be used in the final products. ----------------------------------------------------------------------- [DVD] dvdFatal Error messages are shown in Japanese if Japan has been set for the country code in the System menu. Otherwise, the error messages will be shown in English. Support for other language settings will be introduced in the next release. ----------------------------------------------------------------------- [HIO2] About transfer directions in the 'dual' and 'multi' demos of hio2demo Dual of hio2demo is a demo that carries out communication using separate channels: EXI00 for communication from the NDEV to the PC and EXI01 for communication from the PC to the NDEV. However, transfers using EXI00 are not supported on the current hardware, so only unidirectional communication from the PC to the NDEV work. Although the 'multi' demo is designed for multiple NDEV consoles connected to a single PC, operations are currently not verified when multiple NDEV units are connected. When one NDEV is connected, in reverse of dual mode, for the same reasons described above, only unidirectional communications from the NDEV to the PC work even though specifications state that EXI00 is to be used from the PC to the NDEV and EXI01 is to be used from the NDEV to the PC. ----------------------------------------------------------------------- [VI] Does not support MPAL display The current system does not support display of MPAL. Plans call for support in the next release. ----------------------------------------------------------------------- [WPAD] Abnormal noises are heard when speakers from multiple Controllers are used at same time At the present time, a large load is placed on the CPU when the Wii Remote establishes a connection with the console. If one Wii Remote has already established a connection with the console and sounds are being played through the speaker, playback will be interrupted when another Wii Remote attempts to establish a connection with the console. Even the playback of 'silence' is interrupted, and in some cases playback interruption can cause abnormal noise to come from the speaker. The cause of this problem is currently under investigation. As a temporary workaround, if multiple Wii Remotes are going to play sound at the same time, do not start playback until all Wii Remotes have established connections with the console. ----------------------------------------------------------------------- [WPAD] When DEMO Library rendering functions are called after calling WPADShutdown(), a freeze occurs. This bug is currently being investigated. ----------------------------------------------------------------------- [WPAD] With the WPAD library, the OS reset process sometimes fails. At the present time, the Controller's wireless communications stack cannot correctly stop the wireless module, so sometimes the OS reset process does not operate correctly. The cause of this problem is currently under investigation. ----------------------------------------------------------------------- [WPAD] Bug that causes the release of work memory to fail The WPAD Library uses work memory internally. This work memory is allocated at initialization and released at termination. However, we have confirmed a bug in the current SDK that allows the termination process to complete even though the attempt by the driver to release the memory fails even when WPADShutdown() is called. We are requesting a fix from the driver developers. ----------------------------------------------------------------------- [WPAD] Bug that causes operations to be unstable when the Wii Remote batteries die during the establishment of a connection. Because an error could not be correctly returned while the controller wireless communication stack was establishing a connection (registration operation), the WPAD Library sometimes performed an unexpected operation. The cause of this bug was identified and it is being fixed. ----------------------------------------------------------------------- [WPAD] Bug that disconnected all Wii Remotes when an attempt was made to connect five or more Wii Remotes at the same time. There are occasions when all Wii Remotes are disconnected if the wireless module on the main console receives connection requests from five or more Wii Remotes at the same time. The cause of this bug was identified and it is being fixed. ----------------------------------------------------------------------- [WPAD] Bug that prevented registration even when the NDEV Sync button was pressed When the Sync button on the console is pressed, the event reaches WPAD, which automatically initiates the registration operation when no user callback has been registered. If one is registered, the event is passed to the callback. However, there are rare occasions when the pressing of the Sync button does not reach WPAD due to a bug in the driver. When this happens, even pressing the Sync button repeatedly does not cause the event to reach WPAD. Either re-execute the program or call the registration initiation function in the application. This bug is being investigated. ----------------------------------------------------------------------- [WPAD] Bug that causes unstable operation when the Wii Remote Sync button is pressed during simple registration Because the controller wireless communication stack cannot return the registration failure error correctly when the Wii Remote Sync button is pressed during simple registration on the main console, the WPAD Library sometimes performs an unexpected operation. This bug is being investigated. ----------------------------------------------------------------------- [WPAD] Connection and registration sometimes fail On Wii consoles that are executing programs built with SDK2.1, there have been confirmed instances of registered Wii Remotes not being able to connect, Wii Remotes that appear to be connected but with the LED still blinking, and Wii Remotes that cannot be registered. This bug is being investigated. If any of these is observed, re-execute the program. -----------------------------------------------------------------------