=========================================================================== NINTENDO Revolution SDK 3.2 October 1, 2008 =========================================================================== Table of Contents - Introduction - Precautions - License Information - Revision History - System Requirements - Installation Procedure - Differences from the Dolphin SDK - Known Bugs - File List ======================================================================= Introduction ======================================================================= This is the Revolution SDK version 3.2 patch 2. This patch is a cumulative patch. It includes the content of all patches up to the present. To use the patch, overwrite the SDK 3.2 directory. For details about what has changed, read man/en_US/ReleaseNote.html. ======================================================================= Precautions ======================================================================= ----------------------------------------------------------------------- You must choose firmware according to its usage. ----------------------------------------------------------------------- Starting with the SDK 3.1 patch, you must select either "extended firmware" or "standard firmware," as appropriate, for developed titles. Specifically, all titles that use Revolution SDK Extensions, Revolution DWC, or USB keyboards must use the extended firmware. Other titles should use the standard firmware. The versions of the firmware that correspond to each are shown below. Standard firmware: 53.16.17 Extended firmware: 55.18.25 To select the firmware, use the setfirmware script included in this package. For details, see the following Revolution Function Reference Manual entries: [Tools] - [Settings scripts] - [setfirmware] man/en_US/tools/setfirmware.html In addition, the ndrun_prechecker script is available to check that appropriate firmware is used at startup time by the .elf file passed as an argument when ndrun is executed. For details, see the following Revolution Function Reference Manual entries: [Tools] - [Settings scripts] - [ndrun_prechecker] man/en_US/tools/ndrun_prechecker.html In particular, if you are using the CodeWarrior IDE, you must configure it so that the script window is displayed. The "Precautions" section of the aforementioned ndrun_prechecker function reference page describes how to configure this. This feature is enabled by installing version 071002 or later of the NDEV software package. When each of these settings scripts is used, some items require caution. Be sure to read over the reference manual once for each settings script. ----------------------------------------------------------------------- Running in the Wii Menu ----------------------------------------------------------------------- Programs created using this SDK are expected to run in the following version (or later) of the Wii Menu. Wii Menu: 3.0 Abnormal behavior may occur in systems running earlier versions. ======================================================================= License Information ======================================================================= - The following files are found in this SDK: /dvddata/axdemo/synth/GM16.DLS : Roland DLS file /dvddata/axdemo/synth/gm16adpcm.pcm : GM16.DLS converted for use with the Wii (audio source file, ADPCM version) /dvddata/axdemo/synth/gm16adpcm.wt : GM16.DLS converted for use with the Wii (table file, ADPCM version) /dvddata/axdemo/synth/gm16pcm.pcm : GM16.DLS converted for use with the Wii (audio source file, PCM version) /dvddata/axdemo/synth/gm16pcm.wt : GM16.DLS converted for use with the Wii (table file, PCM version) To use all or part of the data from an application, you must comply with an end-user license agreement with Roland. The end-user license agreement is found in the following directory. /docs/en_US/License/Roland/Roland END-USER LICENSE AGREEMENT.pdf /docs/en_US/License/Roland/Roland END-USER LICENSE AGREEMENT.pdf Contact information may be found in the following file. /docs/en_US/License/Roland/Roland_contact_info.txt Please read this agreement before using the data. - The audio library of this SDK supports Dolby Surround and Dolby Pro Logic II. To use these features in a game, you must have a license agreement with Dolby. Please read the following file before using these features. /docs/en_US/License/Dolby/DPL2_for_Wii.pdf ======================================================================= Revision History ======================================================================= For the revision history of this release, see man/en_US/ReleaseNote.html. ======================================================================= System Requirements ======================================================================= Refer to RVL-QuickStartGuide.us.pdf, provided separately, for details on system requirements for the Revolution SDK. Three USB ports are required to connect to a PC. (Although two ports are specified in some manuals, three USB ports are now required.) This version of the SDK only supports the commercial release versions of NDEV. Whenever possible, use the NDEV software package version 071002 or later. ======================================================================= Installation Procedure ======================================================================= Install the two versions of the firmware: the extended firmware (55.18.25) and standard firmware (53.16.17). 1. Overwrite the SDK directory with this patch package. 2. Before executing any sample demos or other executable programs, be absolutely certain to update the NDEV firmware according to the procedure given below. In a typical environment, the update program is executed by starting a bash shell and entering "fwupdate_SDK-3.2_xx". (For xx, enter "jp", "us", or "eu".) If the environment is customized or if things do not go smoothly using the method described above, go to the RVL_SDK/RVL/bin/tools directory and run "ODEM -r -l swupdate_SDK-3_2_xx.gcm" (without the quotes). (For xx, enter "jp", "us", or "eu".) Once the update is complete, the message "SWUpdate Successful" will appear on screen, and the NDEV firmware will be updated to Firmware 53.15.17, Firmware 55.15.24, and DEVKIT BOOT PROGRAM v1.18. If these or later versions are already installed, you can continue without any problems even though "Import: *** ...failed" is displayed and update fails. The DEVKIT BOOT PROGRAM v1.18 uses Firmware 55.15.24 to start, but this does not affect the operation of titles that support the standard firmware. ======================================================================= Differences from the Dolphin SDK ======================================================================= - The path to 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/ - The build target is RVL. (This was HW2 for the Nintendo GameCube SDK.) - The run-time library is compiled using CodeWarrior 3.0 Alpha 5 Patch 2. ======================================================================= Currently Known Bugs ======================================================================= ----------------------------------------------------------------------- [GX] Command processor hardware bug A bug was found in the graphics hardware command processor (CP), caused by a difference in internal processing timing as compared with Nintendo GameCube. Since this bug is treated within the library, no special response is required for applications as long as they perform rendering using the GX library. However, note the following points when creating original display lists using the GD library or other means. 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 rendering 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 in the final product. ----------------------------------------------------------------------- [HIO2] Transfer directions in the dual and multi demos of hio2demo The dual demo of hio2demo carries out communication using separate channels: EXI0 for communication from NDEV to PC, and MrEXI for communication from PC to NDEV. However, transfers using EXI0 are not supported on the current hardware, so only unidirectional communication from PC to NDEV works. 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, specifications state to use EXI0 from PC to NDEV, and MrEXI from NDEV to PC, in the opposite manner from dual mode. However, for the same reasons as described above, only unidirectional communication from NDEV to PC works. ----------------------------------------------------------------------- [VI] MPAL display is not supported. Current system does not support display of MPAL. Release date is undecided. ----------------------------------------------------------------------- [VI] A bug in the screen burn-in protection during the execution of OSFatal When OSFatal runs while the screen burn-in protection feature is running, OSFatal runs without recovering from the burn-in protection state (the screen stays dark). Normally, OSFatal displays an error message and stops the system. Currently, however, that error message is displayed while the burn-in protection is still running. ----------------------------------------------------------------------- [WPAD] Problem with speaker playback simultaneous with WPADControlDpd When speaker sound is played back while starting the pointer with the WPADControlDpd function, the beginning portion of audio will not play back due to the operation of pointer startup. Before beginning sound playback, wait a short time after pointer startup. This issue has not yet been addressed. ----------------------------------------------------------------------- [OS] Broadway floating-point calculation mode REVOLUTION OS uses a non-IEEE mode for floating-point calculations. Calculation result is converted to 0 if it returns an IEEE754-format, non-normalized number. ----------------------------------------------------------------------- [CW] A link error occurs when building with CodeWarrior IDE In default projects up to CodeWarrior Alpha5 patch2, the esp library was not linked by default. Use the stationary patch released for version 3.0 Alpha 5 of CodeWarrior for GAMECUBE. This will be fixed in the next release of CW. ----------------------------------------------------------------------- [REL/RSO] A warning occurs while making the demo When making demos, the following warning is displayed with the creation of each PLF: Example warning: ### mwldeppc.exe Linker Warning: # linker command file 'b.o' is missing from project. The warning is output because an unrelated object file is specified in partial.lcf. It has not yet been decided how or when this problem will be corrected, but the warning has no effect on operation. ----------------------------------------------------------------------- [BTE] Private-use functions are made global with general-purpose names The following general-purpose function names are global within the library. Please take note of this. LogMsg LogMsg_0 LogMsg_1 LogMsg_2 LogMsg_3 LogMsg_4 LogMsg_5 LogMsg_6 Due to various circumstances, there are no plans to improve this matter in the future. ----------------------------------------------------------------------- ======================================================================= File List ======================================================================= ========================== FILE LIST Patch2 ========================== ./RVL/bin/tools/swupdate_SDK-3_2_eu.gcm ./RVL/bin/tools/swupdate_SDK-3_2_jp.gcm ./RVL/bin/tools/swupdate_SDK-3_2_us.gcm ./RVL/boot/apploader.img ./RVL/lib/os.a ./RVL/lib/osD.a ./X86/bin/dat/0000000100000035.bin ./X86/bin/dat/0000000100000037.bin ./X86/bin/fwupdate_SDK-3_2_eu ./X86/bin/fwupdate_SDK-3_2_jp ./X86/bin/fwupdate_SDK-3_2_us ./X86/bin/makeWad.exe ./X86/bin/ndrun_fwlist ./X86/bin/setfirmware ./docs/en_US/Developer/Hardware_Transition_Guide/RVL-HardwareTransitionGuide.jp.pdf ./include/revolution/cx/CXStreamingUncompression.h ./include/revolution/sdkver.h ./man/en_US/ReleaseNote.html ./man/en_US/a-z.html ./man/en_US/cx/CXInitUncompContextHuffmanFront.html ./man/en_US/gx/list.html ./man/en_US/hid/HIDCloseAsync.html ./man/en_US/hid/HIDError.html ./man/en_US/hid/HIDOpenAsync.html ./man/en_US/hid/HIDSetupHandler.html ./man/en_US/hid/index.html ./man/en_US/hid/intro.html ./man/en_US/hid/toc.html ./man/en_US/icons.html ./man/en_US/kbd/KBDExit.html ./man/en_US/kbd/KBDInit.html ./man/en_US/kbd/KBDInitRegionUS.html ./man/en_US/kbd/intro.html ./man/en_US/kbd/toc.html ./man/en_US/main.html ./man/en_US/nand/intro.html ./readme-RVL_SDK-3_2-patch2_jp.txt ========================== FILE LIST Patch ========================== ./RVL/bin/tools/swupdate_SDK-3_2_eu.gcm ./RVL/bin/tools/swupdate_SDK-3_2_jp.gcm ./RVL/bin/tools/swupdate_SDK-3_2_us.gcm ./RVL/lib/gx.a ./RVL/lib/gxD.a ./RVL/lib/kbd.a ./RVL/lib/kbdD.a ./RVL/lib/kpad.a ./RVL/lib/kpadD.a ./RVL/lib/nand.a ./RVL/lib/nandD.a ./RVL/lib/os.a ./RVL/lib/osD.a ./RVL/lib/vi.a ./RVL/lib/viD.a ./RVL/lib/wpad.a ./RVL/lib/wpadD.a ./RVL/lib/wud.a ./RVL/lib/wudD.a ./X86/bin/darchD.exe ./X86/bin/setfirmware ./build/demos/gxdemo/src/DisplayList/DL-tex.c ./build/demos/gxdemo/src/DisplayList/DL-tf-mtx.c ./build/demos/gxdemo/src/G2D/G2D-test.c ./build/demos/gxdemo/src/Indirect/ind-tile-test.c ./build/demos/gxdemo/src/TexGen/tg-shadow2.c ./build/demos/videmo/src/frb-vi-gamma.c ./build/demos/wbcdemo/src/handling_weight.c ./build/demos/wpaddemo/src/dummy_checker.c ./build/demos/wpaddemo/src/memory.c ./build/demos/wpaddemo/src/wpad_axdemo.c ./build/demos/wpaddemo/src/wpad_seqdemo.c ./build/demos/wpaddemo/src/wpad_spdemo.c ./build/libraries/kpad/src/KPAD.c ./build/tools/darch/buildscript ./build/tools/darch/include/darch.h ./build/tools/darch/makefile ./build/tools/darch/src/create.c ./build/tools/darch/src/darch.c ./build/tools/darch/src/extract.c ./build/tools/darch/src/fst.c ./build/tools/darch/src/out.c ./build/tools/darch/src/utils.c ./build/tools/darch/vc++/darch.sln ./build/tools/darch/vc++/darch.vcproj ./docs/en_US/Developer/Graphics_Programmer's_Guide/CMPR_Texture.jp.pdf ./docs/en_US/Developer/Graphics_Programmer's_Guide/GX.jp.pdf ./docs/en_US/Developer/Programmer's_Guide/Hio2If.jp.pdf ./docs/en_US/Developer/Programmer's_Guide/OS.jp.pdf ./docs/en_US/Developer/Programmer's_Guide/PAD.jp.pdf ./docs/en_US/Developer/Programmer's_Guide/WBC.jp.pdf ./include/revolution/sdkver.h ./man/en_US/ReleaseNote_jp.html ./man/en_US/a-z.html ./man/en_US/ax/Utility/AXGetAdpcmData.html ./man/en_US/ax_applications/Effect/AXFXChorusExpShutdownDpl2.html ./man/en_US/ax_applications/Effect/AXFXChorusShutdownDpl2.html ./man/en_US/ax_applications/Effect/AXFXDelayExpShutdownDpl2.html ./man/en_US/ax_applications/Effect/AXFXDelayShutdownDpl2.html ./man/en_US/ax_applications/Effect/AXFXReverbHiExpShutdownDpl2.html ./man/en_US/ax_applications/Effect/AXFXReverbHiShutdownDpl2.html ./man/en_US/ax_applications/Effect/AXFXReverbStdExpShutdownDpl2.html ./man/en_US/ax_applications/Effect/AXFXReverbStdShutdownDpl2.html ./man/en_US/ax_applications/sampledemos/axfilter.html ./man/en_US/ax_applications/sampledemos/compressor.html ./man/en_US/ax_applications/sampledemos/dpl2demo.html ./man/en_US/ax_applications/sampledemos/dpl2reverb.html ./man/en_US/ax_applications/sampledemos/expchorus.html ./man/en_US/ax_applications/sampledemos/expdelay.html ./man/en_US/ax_applications/sampledemos/expreverbHi.html ./man/en_US/ax_applications/sampledemos/expreverbStd.html ./man/en_US/ax_applications/sampledemos/fxbussend.html ./man/en_US/bootseq/intro.html ./man/en_US/contents.html ./man/en_US/enc/chineseextbl.html ./man/en_US/gx/Enumerated_Types/GXPerf0.html ./man/en_US/gx/Framebuffer/GXReadBoundingBox.html ./man/en_US/gx/Framebuffer/GXSetTexCopyDst.html ./man/en_US/gx/Geometry/GXSetVtxDesc.html ./man/en_US/gx/GfxFIFO/GXGetCPUFifo.html ./man/en_US/gx/Indirect/GXSetTevIndWarp.html ./man/en_US/gx/Lighting/GXInitLightSpot.html ./man/en_US/gx/TexCoordGen/GXSetTexCoordGen2.html ./man/en_US/gx/Texture/GXTexObjInitFlow.html ./man/en_US/gx/list.html ./man/en_US/gx/sampledemos/Framebuffer/frb-vfilter.html ./man/en_US/gx/sampledemos/PerfCounters/perf-sync.html ./man/en_US/gx/sampledemos/sampledemos.html ./man/en_US/icons.html ./man/en_US/kpad/KPADGetBtnProcMode.html ./man/en_US/kpad/KPADRead.html ./man/en_US/kpad/KPADReadEx.html ./man/en_US/kpad/KPADSetBtnProcMode.html ./man/en_US/kpad/intro.html ./man/en_US/kpad/list.html ./man/en_US/kpad/sampledemos/kpadsample.html ./man/en_US/kpad/toc.html ./man/en_US/main.html ./man/en_US/nadk/CNTChangeDir.html ./man/en_US/nadk/CNTGetCurrentDir.html ./man/en_US/nand/intro.html ./man/en_US/os/Alarm/OSCancelAlarms.html ./man/en_US/os/Alarm/OSGetAlarmUserData.html ./man/en_US/os/Alarm/OSSetAlarmTag.html ./man/en_US/os/Hash/OSCalcCRC.html ./man/en_US/os/Thread/OSCheckActiveThreads.html ./man/en_US/os/Thread/fig0.png ./man/en_US/os/Thread/intro.html ./man/en_US/rso/tools/makerso.html ./man/en_US/sc/SCGetSimpleAddressRegionIdHi.html ./man/en_US/thp/tools/THPFormat.html ./man/en_US/thp/tools/THPFormat/MovieData.html ./man/en_US/thp/tools/THPFormat/THPAudioInfo.html ./man/en_US/thp/tools/THPFormat/THPFrameCompInfo.html ./man/en_US/thp/tools/THPFormat/THPFrameOffsetData.html ./man/en_US/thp/tools/THPFormat/THPHeader.html ./man/en_US/thp/tools/THPFormat/THPVideoInfo.html ./man/en_US/wbc/demo_private.html ./man/en_US/wbc/intro_private.html ./man/en_US/wpad/WPADRegisterBLCWorkarea.html ./man/en_US/wpad/intro.html ./man/en_US/wpad/sampledemos/demos.html ./man/en_US/wpad/toc.html ./readme-RVL_SDK-3_2-patch.txt