Revolution SDK Release Notes


* 08/21/2006 SDK 2.1 (08/21/2006)
Note 77 (WPAD): Support status for simple pairing
Note 76 (WPAD): Newly established API
Note 75 (WPAD): Fixed bug related to hot plug-in/removal of External Extension Controllers
Note 74 (WPAD): Caution and change of number of units that can be paired
Note 73 (WPAD): Added Full mode to pointer
Note 72 (WPAD): Changes with clamp process
Note 71 (WPAD): Fixed bug that halved the pointer sampling rate
Note 70 (WPAD): Fixed bug with rumble feature
Note 69 (MEM): Measures to prevent performance drop when securing 32-byte alignment from the extended heap
Note 68 (AX): Support for controller speaker output
Note 67 (AX): Fixed bug that prevent de-pop from operating with voices that have been panned
Note 66 (OS): Expanded the alarm features
Note 65 (KPAD): Various fixes and expansions
Note 64 (ARC): Added const
Note 63 (MEM): Fixed the MEMFindParentHeap() function bug
Note 62 (NAND): Added and deleted error codes
Note 61 (NAND): Revised NANDInit()
Note 60 (NAND): Newly established API
Note 59 (NAND): Problem with unknown error code being displayed during Read/Write
Note 58 (OS): Updated API related to reset and shutdown
Note 57 (OS): Added OSSleep* functions
Note 56 (SC): Added Wii Remote setup items
Note 55 (SC): Deleted the emulate functions
Note 54 (SC): Prohibit the use of previous versions
Note 53 (HIO2): Fixed problem with heavy loads on the host CPU
Note 52 (DOC): Revised the third chapter "Running a Simple Demo" in Revolution Build System Guide
Note 51 (VI): Changed the default settings for the trap filter
Note 50 (VI): Fixed the problem that prevented disabling the trap filter
Note 49 (VI): Non-support for 50 Hz mode for progressive display
* 06/20/2006 SDK 2.0 (06/20/2006)
Note 48 (ALL): Deleted the sample demo elf/map file.
Note 47 (ALL): Changed the NDEV that is the target of operations.
Note 46 (ALL): The build target has been changed to RVL.
Note 45 (MIX): Corrected a problem when setting both Aux B and Aux C controllers in DPL2 mode.
Note 44 (KPAD): Changed the module name and added support for UI tool version 4.
Note 43 (WPAD): Made it possible to use the Wii Remote (both Bluetooth wired/wireless versions).
Note 42 (WPAD): Changed module names.
Note 41 (WPAD): Made it so that some member offsets of the WPADFSStatus structure are shared by WPADStatus.
Note 40 (TOOL): Added a system menu to the boot program.
Note 39 (TOOL): Revised the Revolution shell execution file (RVL_NDEV.bat.)
Note 38 (AI): Corrected a problem with the hardware sampling rate converter.
Note 37 (AX): Corrected a problem with the memory interface of the audio sub-system.
Note 36 (AXFX): Changed the effect library.
Note 35 (DVD): Changed the DVDCheckDisk function from synchronous to asynchronous.
Note 34 (DVD): Revised so that automatic FATAL message mode is enabled by default.
Note 33 (SC): Added the SC library
Note 32 (VI): PAL development
Note 31 (VI): Added progressive scan mode for PAL, EURGB60, and MPAL.
Note 30 (VI): Added a support function for switching progressive mode.
Note 29 (OS): Temporarily deleted the function OSExec.
Note 28 (OS): Added an MEM2 memory size simulation feature.
Note 27 (OS): Revised so that the Apploader target is checked by OSInit.
Note 26 (OS): Revised the OS_CORE_CLOCK and OS_BUS_CLOCK default values in os.h.
Note 25 (GX): Corrected a problem with the TEV compare feature.
Note 24 (GX): Changed the ASSERT of the FIFO get function to a warning message.
Note 23 (NAND): Added the NAND library
Note 22 (HIO2): Added a description to the HIO2 function reference
Note 21 (AR, ARQ): Deleted ar.h and arq.h
Note 20 (ARC): Added the ARC library (archiver)
March 22, 2006 SDK 1.0 patch 2 (04/18/2006)
Note 19 (AXART): Corrected the update formula for each LFO frame.
Note 18 (AXART): Corrected a problem where the update amount for each LFO frame did not correspond to the frame length (3ms) of the new AX library.
Note 17 (HIO2): Corrected a problem where the HIO2ReadAsync function calls on the host side do not return on rare occasions.
Note 16 (DOC): Added notes to Section 2.4, Error Codes, in the PAD Library Programmer Guide.
March 22, 2006 SDK 1.0 patch 1 (04/07/2006)
Note 15 (GX): Added an ASSERT check for attempts to place a FIFO in the MEM2 region.
Note 14 (OS): Added support for an external main memory 64MB environment
Note 13 (OS): Increased speed of clearing the arena when using OSInit().
Note 12 (OS): Added a 7MB size restriction on programs loaded using Apploader
Note 11 (MAN): Corrected links in the top page
Note 10 (MAN): Revised the description of the hio2 sample demo
Note 9 (EXI): Improved the transfer rate of the HIO2 library and OSReport function
Note 8 (HIO2): Corrected a problem with HIO2ReadStatus (RVL side)
Note 7 (DOC): Debugged pre-build sample demos
Note 6 (DOC): NDEV dip switch settings
Note 5 (MEM): Released MEM library source code
Note 4 (MEM): Eliminated alignment restriction for memory block allocation
Note 3 (MEM): Corrected a problem where it was impossible to free unused memory normally from the heap
Note 2 (KPAD): Corrected an error in the formula for calculating the acceleration of the Nunchuk Unit.
* 03/22/2006 SDK 1.0 (03/22/2006)
Note 1: SDK 1.0 Initial Release

* 08/21/2006 SDK2.1
(08/21/2006)


Note 77 (WPAD): Support status for simple pairing

The WPAD Library in SDK2.1 supports simple pairing.

Be aware that the Wii Remote included with NDEV2.1 (white) supports this feature, but the Wii Remote included with NDEV2.0 (black) does not support this feature.


Note 76 (WPAD): Newly established API

The following sample APIs were added.

- WPADGetWorkMemorySize()
Gets the total work memory capacity secured when the library is initialized.

- WPADGetRadioSensitivity()
Gets the radio sensitivity of the Wii Remote.

- WPADIsSpeakerEnabled()
- WPADControlSpeaker()
- WPADGetSpeakerVolume()
- WPADSetSpeakerVolume()
- WPADSendStreamData()
Allows use of the Wii Remote speaker features. The sample introduces a method to output sound encoded with the AX Library from the Wii Remote.

- WPADIsMotorEnabled()
- WPADEnableMotor()
Allows the Wii Remote rumble feature to be enabled/disabled.

- WPADSetAutoSleepTime()
Sets the time until the Wii Remote is automatically disconnected when there is no input from the Wii Remote.

- WPADGetSensorBarPosition()
Gets the sensor bar setup position.

- WPADStartSimpleSync()
- WPADStopSimpleSync()
- WPADSetSimpleSyncCallback()
Allows the simple registration feature to be used.

- WPADSaveConfig()
Saves the disabled/enabled status of the rumble feature and speaker volume on the Wii console.

- WPADClampTrigger()
- WPADClampAcc()
- WPADGetCLTriggerThreshold()
Clamps analog input.

- WPADReadGameData()
- WPADWriteGameData()
Functions to access the Wii Remote internal memory.

- WPADSetGameTitle()
- WPADSetGameTitleWChar()
- WPADGetGameTitle()
- WPADGetGameDataTimeStamp()
Functions to access the game data saved on the Wii Remote internal memory.


Note 75 (WPAD): Fixed bug related to hot plug-in/removal of External Extension Controllers

A bug caused the status to be locked on BUSY when hot plug in/removal of the External Extension Controller was done quickly and repeatedly during communication.

This problem has been corrected.


Note 74 (WPAD): Caution and change of number of units that can be paired

Simple pairing is now possible from SDK2.1. Accordingly, the number of normal paired units was 16, but this has changed to 10 normal paired units and 6 simple paired units.

In addition, be aware that Wii consoles that have had 11 or more paired Wii Remotes can only use up to 10 Wii Remotes when operating on the SDK 2.1 WPAD Library. We recommend deleting all pairing information once because operation in this state was not anticipated.


Note 73 (WPAD): Added Full mode to pointer

Added Full mode to the Wii Remote pointer. In Full mode, you can get not only the object coordinates and size, but also the object range, pixel count, and radius.


Note 72 (WPAD): Changes with clamp process

- Disclosing of source code
The clamp functions supplied with the WPAD library have been disclosed.

- Changed clamp algorithm
Changed the maximum value that can be clamped to be in line with the analog stick hardware. In addition, added clamps with no play and circular clamps along with clamps with play near the axes.

Furthermore, added cubical clamps and spherical clamps to the motion sensor clamps.


Note 71 (WPAD): Fixed bug that halved the pointer sampling rate

A problem existed with a discrepancy between the timing of the update cycle for the library controller status and the cycle for receiving the actual data. This problem was fixed by adjusting the library update cycle.


Note 70 (WPAD): Fixed bug with rumble feature

A problem caused an exception to be generated when WPADControlMotor() was called from within a callback function that was called by the WPAD library.

This problem has been corrected.


Note 69 (MEM): Measures to prevent performance drop when securing 32-byte alignment from the extended heap

When memory was secured with 32-byte alignment from the extended heap, excess free blocks were registered. Therefore, the performance was significantly affected when many small memory areas were secured in 32-byte alignment. Made improvements to reduce the drop in performance in these cases.


Note 68 (AX): Support for controller speaker output

Made AX support output of the Wii Remote (Wii standard controller) speaker, referred to as the controller speaker. This allows sound to be played from the controller speaker in the same way that sound is normally played.


Note 67 (AX): Fixed bug that prevent de-pop from operating with voices that have been panned

For example, when pan is to the left and the right channel processing has been cut with mixerCtrl when producing sound, the right channel de-pop parameter would not be updated, and as a result, minor noise would occur in the right channel when the voice stopped.

This problem has been corrected.


Note 66 (OS): Expanded the alarm features

The following APIs have been added; the OSAlarm structure can be assigned arguments.

void OSSetAlarmUserData( OSAlarm* alarm, void* data );
void *OSGetAlarmUserData( const OSAlarm* alarm );


Note 65 (KPAD): Various fixes and expansions

Made to support the Classic Controller.
Added the acc_vertical member variable to the KPADStatus structure.
The KPADSetSensorHeight() function was newly constructed.
Bugs were fixed for the KPADSetFSStickClamp() function.
The clamp process is now applied to the acceleration value.


Note 64 (ARC): Added const

Applied the const modifier to arguments of some APIs.


Note 63 (MEM): Fixed the MEMFindParentHeap() function bug

There was a problem with the MEMFindParentHeap() function. When building a layered heap, the parent heap could not be correctly obtained. This problem was corrected.


Note 62 (NAND): Added and deleted error codes

The NAND_RESULT_INIT_FAILED error code was discarded. The NAND_RESULT_AUTHENTICATION error code was added.


Note 61 (NAND): Revised NANDInit()

The process time was reduced. The process to create the /tmp/sys directory has been migrated to the newly created NANDSafeOpen[Async](). The error types that can be returned have been reduced.


Note 60 (NAND): Newly established API

Added NANDGetType[Async](). This function can discriminate between files and folders.

Added NANDSafeOpen/Close[Async](). API group to guarantee the atomicity of file updates.

Added NANDGetHomeDir(). API to get the path of the home directory (directory prepared by the system to store the save data of the application program).


Note 59 (NAND): Problem with unknown error code being displayed during Read/Write

Due to an error in the firmware, during Read/Write, there were cases when the debug message "CAUTION! Unexpected error code [-116] was found." was output to the console and NAND_RESULT_UNKNOWN was returned as the result code. This problem has been corrected.


Note 58 (OS): Updated API related to reset and shutdown

The reset/shutdown APIs were updated and newly created in line with the Wii console system specifications.

The following functions were added.

OSRebootSystem() - Reboot the entire system
OSRestart() - Restart the application
OSReturnToMenu() - Return to the system menu
OSShutdownSystem() - Shut down the system
OSSetPowerCallback() - Register the power button callback

Along with these changes, the existing reset function, OSResetSystem(), is no longer functioning. In addition, some specifications for some other functions have also changed. For more details, refer to the function reference.


Note 57 (OS): Added OSSleep* functions

Added OSSleepTicks() to pause execution of the current thread and then return to an executable state after a specified amount of time passes. In addition, the following macros have also been prepared to specify different units of time.

OSSleepSeconds()
OSSleepMilliseconds()
OSSleepMicroseconds()
OSSleepNanoseconds()


Note 56 (SC): Added Wii Remote setup items

The following functions have been added to reference or change the Wii Remote setup items. However, these function are reserved for another library to be provided in future. Do not call this directly from the application at present.

- SCGetWpadMotorMode
- SCGetWpadSensorBarPosition
- SCGetWpadSpeakerVolume
- SCSetWpadMotorMode
- SCSetWpadSensorBarPosition
- SCSetWpadSpeakerVolume


Note 55 (SC): Deleted the emulate functions

Deleted the SCEmuSetAspectRatio and SCEmuSetLanguage functions that were provided as emulate functions. The functions remain for backward-compatibility purposes, but they do nothing and return FALSE.

Use the NDEV System Menu to modify the aspect ratio or language settings.


Note 54 (SC): Prohibit the use of previous versions

The internal process for the SC library to access the console internal flash memory has changed. The items changed with a previous version are not inherited, and all setup items are initialized.

The commercial version of the Wii console and future development environments will not be able to reference or change setup items even if an older version of the SC library is used. Do not use older versions of the SC library.


Note 53 (HIO2): Fixed problem with heavy loads on the host CPU

When a device was opened with HIO2Open, there was a problem with the load on the Host (PC) CPU becoming extremely large. This problem was fixed. Because of this revision, the transfer speed during continuous transfers drops slightly (several to 10%).


Note 52 (DOC): Revised the third chapter "Running a Simple Demo" in Revolution Build System Guide

The contents of the demo or debug execution method described in "3. Running a Simple Demo"in Revolution Build System Guide was not compatible for the case when the Revolution shell (RVL_NDEV.bat) was used. Revised to be in line with using the Revolution shell.


Note 51 (VI): Changed the default settings for the trap filter

Until now, the default setting for the trap filter was enabled. The setting has been changed, and now the default is disabled.


Note 50 (VI): Fixed the problem that prevented disabling the trap filter

To disable the trap file feature with SDK 2.0, the feature had to first be enabled then it could be disabled.

This problem has been corrected this time.


Note 49 (VI): Non-support for 50 Hz mode for progressive display

The 50 Hz progressive display is no longer supported. To use progressive display, use 60 Hz. For details, see the VIConfigure manual.


* 06/20/2006 SDK2.0
(06/20/2006)


Note 48 (ALL): Deleted the sample demo elf/map file.

elf and map files used to build sample demos were included in SDK 1.0. Under SDK 2.0, elf and map files excluding the following have been deleted.

/RVL/bin/demos/gxdemo/smp-onetri.elf
/RVL/bin/demos/thpdemo/THPSimple.elf

Use these elf files to check NDEV operations.


Note 47 (ALL): Changed the NDEV that is the target of operations.

This version of the SDK is for execution on NDEV Ver. 2.0 only. NDEV Ver. 1.X is not supported.


Note 46 (ALL): The build target has been changed to RVL.

The build target has been changed to RVL.

Although the SDK includes RVL0 targets inherited due to the transition from SDK 1.0, the use of RVL0 is not recommended. Please be sure to use RVL.


Note 45 (MIX): Corrected a problem when setting both Aux B and Aux C controllers in DPL2 mode.

The Revolution audio library can use Aux A through Aux C in stereo/surround mode, and Aux A and Aux B in DPL2 mode. However, there was a problem where an error was returned for Aux B, but no error was returned for Aux C, when calling MIX library functions (such as MIXSetAuxA() and others) for controlling each controller Aux A through Aux C in DPL2 mode.

This problem has been corrected.


Note 44 (KPAD): Changed the module name and added support for UI tool version 4.

The KPAD library kpad[D].a, supported by UI Tool Version 3, was renamed kpadEmu[D].a. In addition, the module name of the corresponding demo program was changed from kpaddemo to kpadEmudemo.

kpad[D].a and kpaddemo found in SDK 2.0 are supported by UI Tool Version 4.


Note 43 (WPAD): Made it possible to use the Wii Remote (both Bluetooth wired/wireless versions).

A Wii Remote equivalent to the product version is now available. This should allow development under a more realistic environment. Changes are as follows:


Note 42 (WPAD): Changed module names.

The module name of the demo program wpadEmu[D].a in the UI Version 3 library has been changed from "wpaddemo" to "wpadEmudemo."


Note 41 (WPAD): Made it so that some member offsets of the WPADFSStatus structure are shared by WPADStatus.

The members in the WPADFSStatus structure which are also included in the WPADStatus structure have been arranged to have the same offset from the start of the structure as they do inside WPADStatus. Structures that include the same members as WPADStatus, including the newly added WPADCLStatus, will be made to have the same offset in the future as well.


Note 40 (TOOL): Added a system menu to the boot program.

A system menu was added to the boot program.

Holding down the Z trigger on a GameCube controller during the execution of any program opens the System Menu. Various console settings can be made from the System Menu. For details, see the manual "Tool -> NDEV System Menu."


Note 39 (TOOL): Revised the Revolution shell execution file (RVL_NDEV.bat.)

If RVL_NDEV.bat is executed after updating the NDEV disk emulator, the development environment will be reset. However, this processing cannot be performed correctly when using the old RVL_NDEV.bat.

This problem has been corrected by current changes. Edit these batch files in the future.


Note 38 (AI): Corrected a problem with the hardware sampling rate converter.

A problem was corrected with the hardware sampling rate converter included in the AI library.

Along with this change, conversion from 32KHz to 48KHz performed by Broadway inside the AI library has been provisionally deleted.


Note 37 (AX): Corrected a problem with the memory interface of the audio sub-system.

A problem was corrected with the memory interface of the audio sub-system.

Along with this change, code for working around the problem that was provisionally implemented in the tool dls1wt has been deleted. Supplied wave tables have also changed. The following workaround is also no longer needed.


Note 36 (AXFX): Changed the effect library.

Significant changes have been made to the AX effect library (AXFX). Although the new effect library inherits all of the old APIs, the following changes have been applied.

Check sound quality and continue to use.

The following functions were also added to the new effect library.

Plans call for manuals related to these additional features to be included in future releases.

Note: Optimization is not yet been applied to the new effect library. As a result, it requires about twice the CPU performance as compared to conventional effects.

As with the manuals, plans call for an optimized version to be included in future releases.


Note 35 (DVD): Changed the DVDCheckDisk function from synchronous to asynchronous.

The synchronous function DVDCheckDisk was changed to an asynchronous function in line with changes to the device driver. The previous version of the DVDCheckDisk function was deleted; be sure to use DVDCheckDisk Async when getting disc ID information.


Note 34 (DVD): Revised so that automatic FATAL message mode is enabled by default.

The DVD library now provides a feature that allows error messages to be displayed when FATAL errors occur. Revised so that this feature (which was disabled by default under the Dolphin SDK) is enabled by default.

To use your own FATAL messages, be sure to call DVDSetAutoFatalMessaging(FALSE) at the start of your application.


Note 33 (SC): Added the SC library

The SC library references and changes console settings such as the language and progressive scan mode settings. Only referencing is possible for the following settings.

At the present time, specifications for console settings are not firmly established. Be aware that all settings may be initialized in an upcoming version upgrade.


Note 32 (VI): PAL development

PAL development is now possible.

Launch the NDEV system menu and set the "Video Mode" setting to "PAL." After setting PAL, the following display will be made to console output when a program is executed. This indicates the system has successfully switched to PAL mode.

--- NDEV BOOT PROGRAM v1.0 (DEVELOPMENT MODE: PAL) ---

The following demo performs a simple PAL display.
=====================================================
RVL_SDK/bin/demos/videmo/viewer_PAL_INT[D].elf
=====================================================

For details on the NDEV system menu, see "NDEV System Menu" included under "Tools" in the Revolution Function Reference Manual.

The following video cables can be used during PAL development.
- Stereo AV cables (same for NTSC, PAL, and MPAL)
- Component cables
- D terminal cables (not sold in Europe)
- RGB cables
===========================================================
* D terminal cables or component cables are required when using progressive scan mode. The television must also support progressive scan mode. * S terminal cables cannot be used.


Note 31 (VI): Added progressive scan mode for PAL, EURGB60, and MPAL.

Progressive scan mode is now possible for PAL, EURGB60, and MPAL television systems. For method of use, see /build/demos/videmo/src/moving.progressive.c.


Note 30 (VI): Added a support function for switching progressive mode.

A function for checking the timing of the vertical sync interrupt has been added. This function can be used for testing when switching from interlaced to progressive scan.

For method of use, see /build/demos/videmo/src/moving.progressive.c.


Note 29 (OS): Temporarily deleted the function OSExec.

A problem was found with OSExec, so it has temporarily been removed from this release. Plans call for future support in the next patch or release.


Note 28 (OS): Added an MEM2 memory size simulation feature.

A function for emulating the memory size of MEM2 was added.

This can be reflected in the application's MEM2 Arena by running setsmem2size before loading an application. For details, see "setsmem2size" under "Tools" in the Function Reference Manual.


Note 27 (OS): Revised so that the Apploader target is checked by OSInit.

Although the RVL target was added under SDK 2.0, a separate Apploader must be used for RVL and RVL0 targets. If the Apploader and application target differ, the application will terminate on an error inside OSInit. Be sure to use the correct Apploader.

The Apploader can easily be changed by editing the ddf file.


Note 26 (OS): Revised the OS_CORE_CLOCK and OS_BUS_CLOCK default values in os.h.

The default values for the constants OS_CORE_CLOCK and OS_BUS_CLOCK located in /include/revolution/os.h were revised.

In the past, these constants used the same default values as for the GameCube.

Note: Operations may vary with Windows tools independently created by developers or when the pre-processor macro WIN32 has been defined and this header included. As such, be sure to re-build these applications just in case.


Note 25 (GX): Corrected a problem with the TEV compare feature.

A hardware bug was found where rendering was not performed properly when, out of all the TEV operations that can be specified using GXSetTevColorOp and GXSetTevAlphaOp, GX_TEV_COMP_GR16_GT or GX_TEV_COMP_BGR24_GT are specified for the argument op.

This problem was corrected under NDEV Ver. 2.0.


Note 24 (GX): Changed the ASSERT of the FIFO get function to a warning message.

If the FIFO read pointer is idle when GXGetCPUFifo() or GXGetGPFifo() are executing in the debug version of the GX library, execution stops completely with an ASSERT message if the GX Warning Level is set to GX_WARN_SEVERE or higher. However, since there is no problem with actual operations, specifications were changed so that only a warning message is displayed when the GX Warning Level is set to GX_WARN_MEDIUM or higher.

In addition, although there is a possibility that the same sort of ASSERT stop may occur when executing GXBeginDisplayList(), this revision was made because the problem was simply due to problems with the library.


Note 23 (NAND): Added the NAND library

The NAND library is used to access the hierarchical file system configured in NAND flash memory built into the Revolution.


Note 22 (HIO2): Added a description to the HIO2 function reference

Added an "Introduction" page and a description of callback functions to the HIO2 function reference .


Note 21 (AR, ARQ): Deleted ar.h and arq.h

Unlike the GameCube, there is no ARAM built into the Revolution. The header files that contained code for ARAM-related APIs (/include/revolution/ar.h and /include/revolution/arq.h) have therefore been deleted.


Note 20 (ARC): Added the ARC library (archiver)

The ARC library is a utility for accessing multiple files located on disk as a unit. This library is made up of the archive file creation tool (darch) used on the PC and libraries for accessing archive files (arc.a and arcD.a) on the Revolution. The ARC library source code has been released.


3/22/2006 SDK2.0 patch2
(04/18/2006)


Note 19 (AXART): Corrected the update formula for each LFO frame.

There was a problem where the LFO curve was not smooth due to an error in the update formula for each LFO frame. This problem has been corrected.


Note 18 (AXART): Corrected a problem where the update amount for each LFO frame did not correspond to the frame length (3ms) of the new AX library.

The update amount for each LFO frame did not support the frame length (3ms) of the new AX library, so there was a problem where pitch/volume modulation was faster than set due to the fact the frame length (5ms) of the old AX library was still supported. This problem has been corrected.


Note 17 (HIO2): Corrected a problem where the HIO2ReadAsync function calls on the host side do not return on rare occasions.

A problem was corrected where the HIO2ReadAsync function calls in the HIO2 library on the host side would not return on rare occasions.

Also, performance has been improved when calling HIO2ReadAsync and HIO2WriteAsync in succession.


Note 16 (DOC): Added notes to Section 2.4, Error Codes, in the PAD Library Programmer Guide.

During periods where origin information is being reset for the Nintendo GameCube Controller, the err member of PADStatus (which can be obtained from the PADRead function) holds the value PAD_ERR_NO_CONTROLLER.


3/22/2006 SDK 1.0 patch1
(04/07/2006)


Note 15 (GX): Added an ASSERT check for attempts to place a FIFO in the MEM2 region.

Specifications have changed under the debug version GX library so that any attempt to place a GX FIFO in the MEM2 region (an area where a GX Fifo usually must not be placed) using the GXSetGPFifo() function is stopped by an ASSERT check.


Note 14 (OS): Added support for an external main memory 64MB environment

Previously, programs built using SDK 1.0 were only able to run in an environment with 128MB of external main memory for development tools. This has been corrected so that they can run in an environment with 64MB of external main memory.


Note 13 (OS): Increased speed of clearing the arena when using OSInit().

The speed at which the MEM1/MEM2 arena is cleared inside the OSInit() function has been increased.


Note 12 (OS): Added a 7MB size restriction on programs loaded using Apploader

Memory beyond address 0x8070 0000 is now reserved for use by the system when an application is launched. Although this restriction may be eased in the future, for the time being, any attempt to execute a program located in memory beyond 0x8070 0000 will terminate in an error inside the Apploader.


Note 11 (MAN): Corrected links in the top page

A problem with a link on the top page of the function reference has been corrected. Clicking "Standard controller high-level library (KPAD)" > "Function list" on the frame on the left side was causing a list of WPAD functions to be displayed.


Note 10 (MAN): Revised the description of the hio2 sample demo

The description of hio2 sample demos was revised so that hio2demo PC-side programs are started from bash, called from RVL_NDEV.bat.


Note 9 (EXI): Improved the transfer rate of the HIO2 library and OSReport function

A problem was corrected where the rate of communication of the HIO2 library and the OSReport function was slower than in the original specifications.


Note 8 (HIO2): Corrected a problem with HIO2ReadStatus (RVL side)

There was a problem where HIO2_STATUS_RX was not set even when sending mail was disabled by the HIO2ReadStatus function (RVL side). This problem was corrected.


Note 7 (DOC): Debugged pre-build sample demos

A note was added that it is necessary to rebuild under each separate environment in order to debug prebuilt sample demos included in the Revolution SDK.


Note 6 (DOC): NDEV dip switch settings

Be sure that all NDEV dip switches listed in the Revolution Development Environment Quick Start Guide are set to ON. The description of this precaution was revised.


Note 5 (MEM): Released MEM library source code

The MEM library source code has been released.


Note 4 (MEM): Eliminated alignment restriction for memory block allocation

Previously, the upper limit on the alignment specification for memory blocks using MEMAllocFromExpHeapEx() or MEMAllocFromFrmHeapEx() was 128 bytes. This restriction has been eliminated.


Note 3 (MEM): Corrected a problem where it was impossible to free unused memory normally from the heap

A problem was corrected where it was impossible to free unused memory normally from the heap using the MEMAdjustExpHeap() function when there was only one free region.


Note 2 (KPAD): Corrected an error in the formula for calculating the acceleration of the Nunchuk Unit.

An incorrect macro constant was used for the value of 1G output by the acceleration sensor on the nunchaku controller. This meant there was a risk that acceleration sensor values calculated by the KPAD library were in error. This problem has been corrected.


* 3/22/2006 SDK1.0
(03/22/2006)


Note 1: SDK 1.0 Initial Release

Revolution SDK 1.0 is the first SDK to support Revolution development.



Nintendo Technical Support Center
RVL-06-0018-001-C
CONFIDENTIAL