1<!DOCTYPE html
2	PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
3	 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
4<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja">
5<head>
6<title>Revolution SDK Release Notes</title>
7<meta http-equiv="Content-Type" content="text/html; charset=windows-1252" />
8</head>
9<body>
10
11<h1>Revolution SDK Release Notes</h1>
12<hr />
13<dl>
14<dt><a href="#20080730p3">2008/07/30 SDK Version 3.2 Patch 3</a> (2009/02/18)</dt>
15<dd><a href="#note594">Note 594 (TOOL): Revised <CODE>SDK/build/buildtools/modulerules</CODE></a></dd>
16<dd><a href="#note593">Note 593 (WPAD): Corrected a problem where the origin of an extension controller's stick would drift</a></dd>
17<dd><a href="#note592">Note 592 (DVD): Revised the automatic fatal error message</a></dd>
18<dd><a href="#note591">Note 591 (Tool): Updated the DEVKIT system menu to version 1.19</a></dd>
19<dd><a href="#note590">Note 590 (FNT): Added a list of Chinese and Korean fonts to the <I>Revolution Function Reference Manual</I></a></dd>
20<dd><a href="#note589">Note 589 (MTX): Updated the <I>Revolution Function Reference Manual</I></a></dd>
21<dd><a href="#note588">Note 588 (ENC): Revised the <I>Revolution Function Reference Manual</I></a></dd>
22<dd><a href="#note587">Note 587 (NADK): Changed the WAD default game code</a></dd>
23<dd><a href="#note586">Note 586 (NAND): Revised the description of result codes</a></dd>
24<dd><a href="#note585">Note 585 (DARCH): Changed the executable file of the archive file creation tool to <CODE>darch.exe</CODE></a></dd>
25<dd><a href="#note584">Note 584 (WPAD): Corrected a problem where Nunchuk button information was being cleared</a></dd>
26<dd><a href="#note583">Note 583 (WPAD): Corrected a problem with the process used to pass <CODE>WPAD_ERR_INVALID</CODE> in the <SPAN class="argument">err</SPAN> member of the <CODE>WPADStatus</CODE> structure</a></dd>
27<dd><a href="#note582">Note 582 (WPAD): Corrected a problem where an exception would result if an attempt was made to connect the Wii Balance Board while a Wii Remote is connected to 4P</a></dd>
28<dd><a href="#note581">Note 581 (WPAD): Hid the display of a specific warning message during debugging</a></dd>
29<dd><a href="#note580">Note 580 (WPAD): Revised the <I>Revolution Function Reference Manual</I></a></dd>
30<dd><a href="#note579">Note 579 (WBC): Updated the <I>Wii Balance Board Accessory Programming Manual</I></a></dd>
31<dd><a href="#note578">Note 578 (SC): Added functions for checking Parental Controls</a></dd>
32<dd><a href="#note577">Note 577 (VI): Updated the <I>Video Interface Library Programming Manual</I></a></dd>
33<dd><a href="#note576">Note 576 (OS): Added a function for getting the status of the locked cache</a></dd>
34<dd><a href="#note575">Note 575 (OS): Corrected a problem with the FATAL screen display when running in EU RGB60 progressive mode</a></dd>
35<dd><a href="#note574">Note 574 (OS): Revised the <I>Revolution Function Reference Manual</I></a></dd>
36<dd><a href="#note573">Note 573 (OS): Added the OSLog Library</a></dd>
37<dd><a href="#note572">Note 572 (OS): Added information about size restrictions on applications</a></dd>
38<dd><a href="#note571">Note 571 (KPAD): Changed the weight measurement process of the Wii Balance Board</a></dd>
39<dd><a href="#note570">Note 570 (KPAD): Changed the return values of the <CODE>KPADSetSamplingCallback</CODE> and <CODE>KPADSetConnectCallback</CODE> functions</a></dd>
40<dd><a href="#note569">Note 569 (KPAD): Corrected a problem where the Wii Balance Board would recalibrate upon connection of a Wii Remote</a></dd>
41<dd><a href="#note568">Note 568 (GX): Changed the conditions that generate <CODE>GXSetVerifyLevel</CODE> Warning #90</a></dd>
42<dd><a href="#note567">Note 567 (GX): Updated the Programming Manual</a></dd>
43<dd><a href="#note566">Note 566 (GX): Revised the <I>Revolution Function Reference Manual</I></a></dd>
44<dd><a href="#note565">Note 565 (GX): Added functions for getting states</a></dd>
45<dd><a href="#note564">Note 564 (DVD): Updated the <I>Optical Disc Drive Library Programming Manual</I></a></dd>
46<dd><a href="#note563">Note 563 (DVD): Added the sample demo <CODE>checkdisk</CODE></a></dd>
47<dd><a href="#note562">Note 562 (DVD): Added the <CODE>DVDIsDiskIdentified</CODE> function</a></dd>
48<dd><a href="#note561">Note 561 (CX): Changed padding due to undetermined values when using <CODE>ntcompress.exe</CODE></a></dd>
49<dd><a href="#note560">Note 560 (CX): Added a description of the work buffer</a></dd>
50<dd><a href="#note559">Note 559 (Audio): Corrected a problem where the default output format when using <CODE>sndconv.exe</CODE> was being ignored</a></dd>
51<dd><a href="#note558">Note 558 (Audio): Standardized the behavior of the <CODE>AXGetAdpcmData</CODE> function to match <CODE>dspadpcm.exe</CODE></a></dd>
52<dd><a href="#note557">Note 557 (Audio): Corrected an error in the header file <CODE>ax.h</CODE></a></dd>
53<dd><a href="#note556">Note 556 (Audio): Added a description of the &quot;thread-safe&quot; concept</a></dd>
54<dd><a href="#note555">Note 555 (Audio): Added notes regarding AX library initialization and the set of AI DMA interrupt callbacks</a></dd>
55<dd><a href="#note554">Note 554 (Audio): Added a function for converting from DSP-ADPCM to 16-bit PCM</a></dd>
56</dl>
57<dl>
58<dt><a href="#20080730p2">2008/07/30 SDK Version 3.2 Patch 2</a> (2008/10/01)</dt>
59<dd><a href="#note553">Note 553 (TOOL): (IMPORTANT) Updated console firmware</a></dd>
60<dd><a href="#note552">Note 552 (CX): Updated the names of <CODE>CXiInitUncompContext**Front</CODE> functions</a></dd>
61<dd><a href="#note551">Note 551 (DOC): Replaced the <I>Revolution Transition Guide</I></a></dd>
62<dd><a href="#note550">Note 550 (KBD): Revised the <I>Revolution Function Reference Manual</I></a></dd>
63<dd><a href="#note549">Note 549 (HID): Added a function reference manual</a></dd>
64<dd><a href="#note548">Note 548 (OS): Added a feature to check the firmware version</a></dd>
65<dd><a href="#note547">Note 547 (OS): Changed behavior when a nonexistent function is passed to <CODE>OSExec*</CODE> functions</a></dd>
66</dl>
67<dl>
68<dt><a href="#20080730p1">2008/07/30 SDK Version 3.2 Patch 1</a> (2008/09/10)</dt>
69<dd><a href="#note546">Note 546 (TOOL): Updated DEVKIT System Menu to version 1.18</a></dd>
70<dd><a href="#note545">Note 545 (TOOL): Corrected a problem where the firmware installer would not start under WiiMenu</a></dd>
71<dd><a href="#note544">Note 544 (GX): Corrected sample demos</a></dd>
72<dd><a href="#note543">Note 543 (GX): Revised the programming manual for compressed texture formats</a></dd>
73<dd><a href="#note542">Note 542 (GX): Updated the <I>GX Programming Manual</I></a></dd>
74<dd><a href="#note541">Note 541 (GX): Updated the <I>Revolution Function Reference Manual</I></a></dd>
75<dd><a href="#note540">Note 540 (GX): Corrected a problem causing a possibility that the GP would freeze when an orthogonally projected fog was specified for <CODE>GXSetFog</CODE></a></dd>
76<dd><a href="#note539">Note 539 (HIO2): Corrected mistakes in the <I>Hio2If Programming Manual</I></a></dd>
77<dd><a href="#note538">Note 538 (KBD): Corrected a problem with buffer initialization</a></dd>
78<dd><a href="#note537">Note 537 (KPAD): Added a supplement to Release Note 504</a></dd>
79<dd><a href="#note536">Note 536 (KPAD): Revised so that a circular clamp is used by default for stick clamping</a></dd>
80<dd><a href="#note535">Note 535 (KPAD): Revised so that the callback function registered using <CODE>WPADSetConnectCallback</CODE> is not cleared internally by the <CODE>KPADInit</CODE> function</a></dd>
81<dd><a href="#note534">Note 534 (MAN): Corrected typos and formatting throughout the <I>Revolution Function Reference Manual</I></a></dd>
82<dd><a href="#note533">Note 533 (NAND): Updated the function manual</a></dd>
83<dd><a href="#note532">Note 532 (VI): Corrected a problem with initial gamma settings</a></dd>
84<dd><a href="#note531">Note 531 (OS): Corrected a fatal problem with <CODE>OSSleep</CODE>-type functions</a></dd>
85<dd><a href="#note530">Note 530 (OS): Updated the reference manual</a></dd>
86<dd><a href="#note529">Note 529 (OS): Updated the <I>OS Programming Manual</I></a></dd>
87<dd><a href="#note528">Note 528 (PAD): Revised the <I>OS Programming Manual</I></a></dd>
88<dd><a href="#note527">Note 527 (WBC): Corrected sample demos</a></dd>
89<dd><a href="#note526">Note 526 (WBC): Corrected a problem with the <CODE>WPADIsRegisteredBLC</CODE> function</a></dd>
90<dd><a href="#note525">Note 525 (WBC): Made additions to the <I>WBC Programming Manual</I></a></dd>
91<dd><a href="#note524">Note 524 (WBC): Revised the function reference</a></dd>
92<dd><a href="#note523">Note 523 (WBC): Revised the work memory confirmation processing that is part of initialization</a></dd>
93<dd><a href="#note522">Note 522 (WPAD): Corrected sample demos</a></dd>
94<dd><a href="#note521">Note 521 (WPAD): Revised warning messages</a></dd>
95<dd><a href="#note520">Note 520 (WPAD): Corrected a problem with the pointer-calibration process</a></dd>
96</dl>
97<dt><a href="#20080730">2008/07/30 SDK version 3.2</a> (2008/07/30)</dt>
98<dd><a href="#note519">Note 519 (ARC): Fixed a bug that caused the path stored in an archive file to depend on the environment in which it was created</a></dd>
99<dd><a href="#note518">Note 518 (DEMO): Added the <CODE>MEM_HEAP_OPT_THREAD_SAFE</CODE> option to the extended heap created in the <CODE>DEMOInit</CODE> function. </a></dd>
100<dd><a href="#note517">Note 517 (CNT): Renamed <CODE>strapimagedemo</CODE> to <CODE>strapcntdemo</CODE> and combined it with <CODE>demos/cntdemo</CODE>.</a></dd>
101<dd><a href="#note516">Note 516 (CNT): Combined <CODE>datatitledemo</CODE> with <CODE>cntdemo</CODE>.</a></dd>
102<dd><a href="#note515">Note 515 (CNT): Updated the <I>Revolution Function Reference Manual</I></a></dd>
103<dd><a href="#note514">Note 514 (FNT): Added descriptions of modifications and character sets to the <I>Revolution Function Reference Manual</I>.</a></dd>
104<dd><a href="#note513">Note 513 (GX): Updated the <I>Revolution Function Reference Manual</I>.</a></dd>
105<dd><a href="#note512">Note 512 (GX): Revised the <I>Revolution Graphics Library (GX)</I> programming manual </a></dd>
106<dd><a href="#note511">Note 511 (KPAD): Revised the <I>Revolution Function Reference Manual</I>.</a></dd>
107<dd><a href="#note510">Note 510 (OS): Added information on DOL file restrictions and boot-related terminology.</a></dd>
108<dd><a href="#note509">Note 509 (OS): Reformed the <I>OS Programming Manual</I>.</a></dd>
109<dd><a href="#note508">Note 508 (TPL): Updated the <I>Texture Palette Library Manual</I>.</a></dd>
110<dd><a href="#note507">Note 507 (WPAD): Revised descriptions of the <CODE>WPADInfo</CODE> structure's <CODE>lowBat</CODE> member variable.</a></dd>
111</dl>
112
113<dl>
114<dt><a href="#20080716">2008/07/16 SDK Version 3.2 RC2</a> (2008/07/16)</dt>
115<dd><a href="#note506">Note 506 (TOOL): Release of system firmware version 55.15.24.</a></dd>
116<dd><a href="#note505">Note 505 (TOOL): Added an Nmenu WAD file to the package.</a></dd>
117<dd><a href="#note504">Note 504 (KPAD): Added the <CODE>KPADSetConnectCallback</CODE> function and prohibited use of the <CODE>WPADSetConnectCallback</CODE> function.</a></dd>
118<dd><a href="#note503">Note 503 (CNT): Added support for <CODE>CNT_RESULT_UNKNOWN</CODE> to the manual.</a></dd>
119<dd><a href="#note502">Note 502 (FNT): Updated the Function Reference.</a></dd>
120<dd><a href="#note501">Note 501 (ENC): Updated the Function Reference.</a></dd>
121</dl>
122
123<dl>
124<dt><a href="#20080701">2008/07/01  SDK Version 3.2 RC</a> (2008/07/01)</dt>
125<dd><a href="#note500">Note 500 (TOOL): Release of system firmware versions 53.15.17 and 55.15.23</a></dd>
126<dd><a href="#note499">Note 499 (TOOL): Revised the firmware for the Online Manual Verification Tool</a></dd>
127<dd><a href="#note498">Note 498 (TOOL): Released version 1.1 of the Online Manual Verification Tool</a></dd>
128<dd><a href="#note497">Note 497 (TOOL): Added tools for setting the game code and company code used when executing disc applications</a></dd>
129<dd><a href="#note496">Note 496 (TOOL): Released Chinese and Korean versions of Wii bitmap fonts</a></dd>
130<dd><a href="#note495">Note 495 (SC): Published API for getting the wide-area region ID</a></dd>
131<dd><a href="#note494">Note 494 (SC): Published functions for getting console nickname information</a></dd>
132<dd><a href="#note493">Note 493 (FNT): Added functions for texture sheet tiling</a></dd>
133<dd><a href="#note492">Note 492 (VI): Updated the <I>Video Interface Library Programming Manual</I></a></dd>
134
135<dd><a href="#note491">Note 491 (RSO): Changed the <CODE>RSOLinkFar</CODE> and <CODE>RSOLinkJump</CODE> functions</a></dd>
136<dd><a href="#note490">Note 490 (RSO): Organized the RSO library's header file</a></dd>
137<dd><a href="#note489">Note 489 (RSO): Changed the type of an argument in the <CODE>RSOGetFixedSize</CODE> function</a></dd>
138<dd><a href="#note488">Note 488 (NAND): Updated the <CODE>NANDSimpleSafeCancel</CODE> function reference manual</a></dd>
139<dd><a href="#note487">Note 487 (MEM): Corrected an illegal ASSERT process</a></dd>
140<dd><a href="#note486">Note 486 (DVD): Updated the Function Reference</a></dd>
141<dd><a href="#note485">Note 485 (DVD): Fixed bug causing DVD fatal errors when a disc is repeatedly ejected and inserted</a></dd>
142<dd><a href="#note484">Note 484 (Audio): Revised the Function Reference</a></dd>
143</dl>
144
145<dl>
146<dt><a href="#20080611">2008/06/11  SDK Version 3.2 PR2</a> (2008/06/11)</dt>
147<dd><a href="#note483">Note 483 (TOOL): Release of system firmware versions 241.8.2 and 243.8.3 </a></dd>
148<dd><a href="#note482">Note 482 (TOOL): Fixed bug causing DEVKIT System Menu to fail in setting the size of simulated MEM2 memory </a></dd>
149<dd><a href="#note481">Note 481 (TOOL): Fixed bug preventing <CODE>makeWad</CODE> from creating WAD files containing large numbers of content files</a></dd>
150<dd><a href="#note480">Note 480 (TOOL): Integrated the mastering tools</a></dd>
151<dd><a href="#note479">Note 479 (TOOL): Changed the default handling of data title access restrictions</a></dd>
152<dd><a href="#note478">Note 478 (AX): Added functions for DSP-ADPCM encoding</a></dd>
153
154<dd><a href="#note477">Note 477 (AX): Added functions for customized compressor tables</a></dd>
155<dd><a href="#note476">Note 476 (GX): Revised the <CODE>perf-geo</CODE> demo</a></dd>
156<dd><a href="#note475">Note 475 (KBD): Changed the <CODE>KBDInit</CODE> function</a></dd>
157<dd><a href="#note474">Note 474 (MTX): Fixed bugs in the <CODE>PSMTXInverse</CODE> and <CODE>PSMTXInvXpose</CODE> functions</a></dd>
158<dd><a href="#note473">Note 473 (MTX): Improved the performance of the <CODE>PSMTXInverse</CODE> and <CODE>PSMTXInvXpose</CODE> functions</a></dd>
159<dd><a href="#note472">Note 472 (MTX): Corrected the <CODE>PSMTX44MultVecArray</CODE> and <CODE>PSMTXROMultVecArray</CODE> functions and removed unsupported functions</a></dd>
160<dd><a href="#note471">Note 471 (RSO): Revised demo programs in step with changes to the OS specification</a></dd>
161<dd><a href="#note470">Note 470 (SC): Added supported languages to the Function Reference manual</a></dd>
162<dd><a href="#note469">Note 469 (THP): Added support for monaural audio output to the THP demo</a></dd>
163
164<dd><a href="#note468">Note 468 (VI): Deleted mentions of MPAL</a></dd>
165<dd><a href="#note467">Note 467 (WPAD): Updated the Function Reference</a></dd>
166<dd><a href="#note466">Note 466 (KPAD): Added the <CODE>KPADReadEx</CODE> function</a></dd>
167</dl>
168
169<dl>
170<dt><a href="#20080528">2008/05/28 SDK Version 3.2 PR</a> (2008/05/28)</dt>
171<dd><a href="#note465">Note 465: Consolidated NAND application development kit (NADK) into Revolution SDK</a></dd>
172<dd><a href="#note464">Note 464 (TOOL): Changed the default value for restricted access to data titles</a></dd>
173<dd><a href="#note463">Note 463 (TOOL): Release of system firmware versions 241.8.1 and 243.8.2</a></dd>
174<dd><a href="#note462">Note 462 (TOOL): Updated the DEVKIT system menu</a></dd>
175<dd><a href="#note461">Note 461 (TOOL): Added more ways to specify the game version in makeWad</a></dd>
176<dd><a href="#note460">Note 460 (TOOL): Fixed a bug in makeWad that corrupted the banner for data titles</a></dd>
177<dd><a href="#note459">Note 459 (TOOL): Published the makeWad <CODE>-e</CODE> option</a></dd>
178<dd><a href="#note458">Note 458 (TOOL): Revised Nmenu so it can import data titles</a></dd>
179<dd><a href="#note457">Note 457 (TOOL): The DEVKIT system menu now supports settings for Korea and China </a></dd>
180<dd><a href="#note456">Note 456 (TOOL): <CODE>setcountrycode</CODE> now supports settings for Korea and China </a></dd>
181<dd><a href="#note455">Note 455 (TOOL): Fixed problem with display of titles that cannot be started in Nmenu</a></dd>
182<dd><a href="#note454">Note 454 (TOOL): Added check code to <CODE>ndrun_prechecker</CODE> for programs that use the HID library</a></dd>
183<dd><a href="#note453">Note 453 (TOOL): Updated the manual for the DEVKIT system menu</a></dd>
184<dd><a href="#note452">Note 452 (TOOL) X86 tools now can be built by Visual Studio 2005</a></dd>
185<dd><a href="#note451">Note 451 (CARD): Deleted the CARD library</a></dd>
186<dd><a href="#note450">Note 450 (CNT): Updated the Function Reference Manual</a></dd>
187<dd><a href="#note449">Note 449 (CNT): Added support for data title disc emulation</a></dd>
188<dd><a href="#note448">Note 448 (DARC): Published the archive creation API (DARCH)</a></dd>
189<dd><a href="#note447">Note 447 (DEMO): Added a character-count assert to the <CODE>DEMOPrintf</CODE> function</a></dd>
190<dd><a href="#note446">Note 446 (DEMO): Revised the <CODE>DEMOReInit</CODE> function</a></dd>
191<dd><a href="#note445">Note 445 (DVD): Fixed bug relating to failure to resume DVD reading with <CODE>DVDResume</CODE> after call to <CODE>DVDPause</CODE></a></dd>
192<dd><a href="#note444">Note 444 (DVD): Added support for DVD automatic Fatal error message when console set for Korean or Chinese</a></dd>
193<dd><a href="#note443">Note 443 (DVD): Corrected the automatic Fatal error message</a></dd>
194<dd><a href="#note442">Note 442 (ENC): Fixed bugs related to special encoding</a></dd>
195<dd><a href="#note441">Note 441 (ENC): Eliminated the error code <CODE>ENC_ERR_NOT_LOADED</CODE></a></dd>
196<dd><a href="#note440">Note 440 (ENC): Added character encoding conversion functions for Korean and Chinese languages</a></dd>
197<dd><a href="#note439">Note 439 (FNT): Added the <CODE>FNTSetAlternateChar</CODE> function for changing the alternate character</a></dd>
198<dd><a href="#note438">Note 438 (GX): Fixed omission of countermeasures for XF stalls in <CODE>GXSetCoPlanar</CODE> and <CODE>GXSetDrawDone</CODE></a></dd>
199<dd><a href="#note437">Note 437 (GX): Fixed bug in debug builds of <CODE>GXLoadNrmMtxIndx3x3</CODE></a></dd>
200<dd><a href="#note436">Note 436 (GX): Updated the Function Reference</a></dd>
201<dd><a href="#note435">Note 435 (HIO2): Revised the Hio2If programming manual</a></dd>
202<dd><a href="#note434">Note 434 (KBD): Corrected the lack of an argument for <CODE>KBD_UC_IS_CTRL_KEY</CODE></a></dd>
203<dd><a href="#note433">Note 433 (KPAD): Added the <CODE>KPADInitEx</CODE> function</a></dd>
204<dd><a href="#note432">Note 432 (KPAD): Fixed bug that causes information loss when an extension controller is detached</a></dd>
205<dd><a href="#note431">Note 431 (KPAD): Fixed problem with pointer jumping</a></dd>
206<dd><a href="#note430">Note 430 (KPAD): Added the <CODE>KPADShutdown</CODE> function</a></dd>
207<dd><a href="#note429">Note 429 (KPAD): Eliminated the <CODE>KPADSetObjInterval</CODE> function</a></dd>
208<dd><a href="#note428">Note 428 (KPAD): Added support for the Wii Balance Board</a></dd>
209<dd><a href="#note427">Note 427 (KPAD): Revised sample demos</a></dd>
210<dd><a href="#note426">Note 426 (KPAD): Updated the Function Reference</a></dd>
211<dd><a href="#note425">Note 425 (KPAD): Added error codes to the <CODE>KPADRead</CODE> function's return values</a></dd>
212<dd><a href="#note424">Note 424 (MEM): Changed handling of the memory generated by data alignment in the extended heap</a></dd>
213<dd><a href="#note423">Note 423 (MEM): Fixed a thread-safe bug in the extended heap's ASSERT processing</a></dd>
214<dd><a href="#note422">Note 422 (MIDI): The MIDI adapter library is now a library that is linked by default</a></dd>
215<dd><a href="#note421">Note 421 (NAND): Updated the Function Reference Manual</a></dd>
216<dd><a href="#note420">Note 420 (OS): Added functions to prohibit code execution in MEM2 by default and functions to enable/disable code execution</a></dd>
217<dd><a href="#note419">Note 419 (OS): Added CRC calculation functions</a></dd>
218<dd><a href="#note418">Note 418 (OS): Fixed <CODE>OSReturnToMenu</CODE></a></dd>
219<dd><a href="#note417">Note 417 (OS): Fixed bug that occurred when the <CODE>OSSleepTicks</CODE> and <CODE>OSCancelThread</CODE> functions executed simultaneously</a></dd>
220<dd><a href="#note416">Note 416 (OS): Updated the Function Reference</a></dd>
221<dd><a href="#note415">Note 415 (PAD): Privatized the <CODE>PADIsBarrel</CODE> function</a></dd>
222<dd><a href="#note414">Note 414 (SC): Added the <CODE>SCCheckPCShoppingRestriction</CODE> function</a></dd>
223<dd><a href="#note413">Note 413 (WPAD): Changed specification for resetting origin of extension controller</a></dd>
224<dd><a href="#note412">Note 412 (WPAD): Corrected stick clamp parameters</a></dd>
225<dd><a href="#note411">Note 411 (WPAD): Revised the <CODE>WPADGetSyncType</CODE> function</a></dd>
226<dd><a href="#note410">Note 410 (WPAD): Added function to reset the Wii Remote auto-disconnect timer</a></dd>
227<dd><a href="#note409">Note 409 (WPAD): Republished the functions for setting the Wii Remote features</a></dd>
228<dd><a href="#note408">Note 408 (WPAD): Revised the <CODE>WPADDisconnect</CODE> function</a></dd>
229<dd><a href="#note407">Note 407 (WPAD): Added support for special controllers</a></dd>
230<dd><a href="#note406">Note 406 (WPAD): Eliminated <CODE>WPAD_ERR_BUSY</CODE> for the <SPAN class="argument"><CODE>err</CODE></SPAN> member of the <CODE>WPADStatus</CODE> structure</a></dd>
231<dd><a href="#note405">Note 405 (WPAD): Privatized the <CODE>WPADSetDpdSensitivity</CODE> function</a></dd>
232<dd><a href="#note404">Note 404 (WPAD): Deleted the sample demo <CODE>full_mode</CODE></a></dd>
233<dd><a href="#note403">Note 403 (WPAD): Updated the Function Reference</a></dd>
234</dl>
235
236<dl>
237<dt><a href="#20070828p4">2007/08/28 SDK Version 3.1 Patch 4</a> (2008/01/31)</dt>
238<dd><a href="#note402">Note 402 (TOOL): Merged <CODE>setncountrycode</CODE> to <CODE>setcountrycode</CODE></a></dd>
239<dd><a href="#note401">Note 401 (OS): Eliminated a bug that prevented the reset code from being set</a></dd>
240<dd><a href="#note400">Note 400 (OS): Added a feature for recovering from screen burn-in reduction with RESET</a></dd>
241<dd><a href="#note399">Note 399: Mod Chip Countermeasures</a></dd>
242</dl>
243
244<dl>
245<dt><a href="#20070828p3">2007/08/28 SDK Version 3.1 Patch 3</a> (2007/12/11)</dt>
246<dd><a href="#note398">Note 398 (WPAD): Removed feature setting functions for the Wii Remote from public availability</a></dd>
247<dd><a href="#note397">Note 397 (WPAD): Updated the function reference manual and sample demos</a></dd>
248<dd><a href="#note396">Note 396 (NAND): Revised the NANDSimpleSafeClose and NANDSafeClose functions</a></dd>
249<dd><a href="#note395">Note 395 (GX): Corrected a bug with the GXGetCPUFifo function</a></dd>
250<dd><a href="#note394">Note 394 (TOOL): Revisions to ndrun_prechecker</a></dd>
251<dd><a href="#note393">Note 393 (OS): Changed the type of an argument to the OSInitStopwatch function</a></dd>
252<dd><a href="#note392">Note 392 (OS): Changed the specifications of the OSSetResetCallback and OSSetPowerCallback functions</a></dd>
253<dd><a href="#note391">Note 391 (WPAD): Fixed a bug in which a freeze would occur if repeated resets are issued when OSExec is running</a></dd>
254</dl>
255
256<dl>
257<dt><a href="#20070828p2">2007/08/28 SDK Version 3.1 Patch 2</a> (2007/10/12)</dt>
258<dd><a href="#note390">Note 390 (TOOL): Fixed a defect in ndrun_prechecker.</a></dd>
259</dl>
260
261<dl>
262<dt><a href="#20070828p1">2007/08/28 SDK Version 3.1 Patch 1</a> (2007/10/10)</dt>
263<dd><a href="#note389">Note 389 (TOOL): System firmware Version 35.4.16 release</a></dd>
264<dd><a href="#note388">Note 388 (TOOL): Updated the DEVKIT system menu</a></dd>
265<dd><a href="#note387">Note 387 (OS): Relaxed size restrictions on programs that are loaded by default</a></dd>
266<dd><a href="#note386">Note 386 (OS): Added information on functions that can put the current thread to sleep</a></dd>
267<dd><a href="#note385">Note 385 (OS): Fixed a bug wherein boot cache determination would fail at application completion</a></dd>
268<dd><a href="#note384">Note 384 (OS): Fixed a bug that caused OSFatal to behave incorrectly for applications created using NADK</a></dd>
269<dd><a href="#note383">Note 383 (PAD): Fixed a bug that prevented recovery from the active screen burn-in reduction state when using the DK Bongos</a></dd>
270<dd><a href="#note382">Note 382 (MIX, SEQ, SYN): Support for multiple initialization function invocations</a></dd>
271<dd><a href="#note381">Note 381 (AXART): Added the AXARTRemoveArticulator function</a></dd>
272<dd><a href="#note380">Note 380 (AXFX): Added reference pages for expansion functions (Exp-type)</a></dd>
273<dd><a href="#note379">Note 379 (DOC): Added a document related to the Dolby Pro Logic II license</a></dd>
274<dd><a href="#note378">Note 378 (SC): Added a new function for checking the Parental Controls password</a></dd>
275</dl>
276
277<dl>
278<dt><a href="#20070828">2007/08/28 SDK Version 3.1</a> (2007/08/28)</dt>
279<dd><a href="#note377">Note 377 (TOOL): System firmware Version 33.4.16 release</a></dd>
280</dl>
281
282<dl>
283<dt><a href="#20070808">2007/08/08 SDK Version 3.1 RC2</a> (2007/08/08)</dt>
284<dd><a href="#note376">Note 376 (TOOL): System firmware Version 33.4.15 release</a></dd>
285<dd><a href="#note375">Note 375 (TOOL): Added features to the DEVKIT system menu</a></dd>
286<dd><a href="#note374">Note 374 (SC): Added a new function for getting Parental Controls information</a></dd>
287<dd><a href="#note373">Note 373 (CX): Fixed a problem with Huffman compression when a value is encoded with 18 bits or more</a></dd>
288<dd><a href="#note372">Note 372 (THP): Fixed a bug that caused error when monaural sound file was used with THPConv(D).exe</a></dd>
289<dd><a href="#note371">Note 371 (RSO): Included the RSO package</a></dd>
290</dl>
291
292<dl>
293<dt><a href="#20070720">2007/07/20 SDK Version 3.1 RC1</a> (2007/07/20)</dt>
294<dd><a href="#note370">Note 370 (TOOL): System firmware Version 33.4.14 release</a></dd>
295<dd><a href="#note369">Note 369 (TOOL): Updated the DEVKIT system menu</a></dd>
296<dd><a href="#note368">Note 368 (KBD/KPR): Added Japanese language function reference manual</a></dd>
297<dd><a href="#note367">Note 367 (KPAD): Added new play mode</a></dd>
298<dd><a href="#note366">Note 366 (WPAD): Added and deleted sample demos</a></dd>
299<dd><a href="#note365">Note 365 (WPAD): Fixed the following bug: exception occurs if registration function is called when WPAD_SYNC_EVT_BUSY</a></dd>
300<dd><a href="#note364">Note 364 (WPAD): Fixed a bug that caused failure at next startup if reset during registration process</a></dd>
301<dd><a href="#note363">Note 363 (MAN): Changed format of the top page of Function Reference</a></dd>
302<dd><a href="#note362">Note 362 (DVD): Updated automatic fatal error messages</a></dd>
303<dd><a href="#note361">Note 361 (VI): Added VIResetDimmingCount</a></dd>
304<dd><a href="#note360">Note 360 (MEM): Fixed a bug related to unlocking with MEMResizeForMBlockExpHeap()</a></dd>
305<dd><a href="#note359">Note 359 (AXFX): Corrected Early Reflection of AXFXReverbHi/AXFXReverbHiDpl2</a></dd>
306<dd><a href="#note358">Note 358 (AX): Corrected a bug related to execution of new DSP task during AXQuit()</a></dd>
307</dl>
308
309<dl>
310<dt><a href="#20070509p4">2007/05/09 SDK Version 3.0 Patch 4</a> (2007/06/28)</dt>
311<dd><a href="#note357">Note 357 (TOOL): System firmware Version 31.4.13 release</a></dd>
312<dd><a href="#note356">Note 356 (DVD) Corrected errors in manual</a></dd>
313<dd><a href="#note355">Note 355 (KBD/KPR): Corrected a number of problems</a></dd>
314<dd><a href="#note354">Note 354 (KPAD): Made a correction such that when the device type is WPAD_DEV_FUTURE the input can be obtained in KPAD1 style</a></dd>
315<dd><a href="#note353">Note 353 (WPAD): Fixed a bug that caused an exception and halt at next startup if Wii shut down during registration process</a></dd>
316</dl>
317
318<dl>
319<dt><a href="#20070509p3">2007/05/09 SDK Version 3.0 Patch 3</a> (2007/06/21)</dt>
320<dd><a href="#note352">Note 352 (TOOL): System firmware Version 31.4.12 release</a></dd>
321<dd><a href="#note351">Note 351 (KBD/KPR): Corrected a number of problems</a></dd>
322<dd><a href="#note350">Note 350 (WPAD): Fixed a bug that allowed connection of simple-paired Wii Remote even after shutdown</a></dd>
323<dd><a href="#note349">Note 349 (WPAD): Fixed a bug that caused failure of Wii Remote registration until Wii was reset</a></dd>
324<dd><a href="#note348">Note 348 (DEMO): Added a setting to allocate XFB in MEM2</a></dd>
325</dl>
326
327<dl>
328<dt><a href="#20070509p2">2007/05/09 SDK Version 3.0 Patch 2</a> (2007/06/07)</dt>
329<dd><a href="#note347">Note 347 (TOOL): System firmware Version 31.4.11 release</a></dd>
330<dd><a href="#note346">Note 346 (TOOL): Corrected operation of ntcompress tool when acting to decompress illegal data</a></dd>
331<dd><a href="#note345">Note 345 (KBD): Fixed a bug that prevented recovery from the screen burn-in reduction state</a></dd>
332<dd><a href="#note344">Note 344 (KBD/KPR): Made additions and corrections to API</a></dd>
333<dd><a href="#note343">Note 343 (WPAD): Changed the internal processing of WPADGetInfo(Async)</a></dd>
334<dd><a href="#note342">Note 342 (WPAD): Fixed a bug that stopped the transfer of controller data from the Wii Remote</a></dd>
335<dd><a href="#note341">Note 341 (KPAD): Corrected error handling of the Wii Remote's controller data</a></dd>
336<dd><a href="#note340">Note 340 (KPAD): Added functions to correct the Nunchuk motion sensor</a></dd>
337<dd><a href="#note339">Note 339 (CX): Fixed a problem with uncompression when the source data size is not aligned to 4 bytes for Huffman compression</a></dd>
338<dd><a href="#note338">Note 338 (CX): Fixed a bug such that during streaming uncompression an error would return if the compressed data was invalid</a></dd>
339<dd><a href="#note337">Note 337 (CX): Added LZ77 extended compression</a></dd>
340<dd><a href="#note336">Note 336 (CX): Added uncompression size specification for streaming uncompression</a></dd>
341</dl>
342
343<dl>
344<dt><a href="#20070509p1">2007/05/09 SDK Version 3.0 Patch 1</a> (2007/05/24)</dt>
345<dd><a href="#note335">Note 335 (TOOL): System firmware Version 31.4.8 release</a></dd>
346<dd><a href="#note334">Note 334 (CX): Added functions for secure data uncompression</a></dd>
347</dl>
348
349<dl>
350<dt><a href="#20070509">2007/05/09 SDK 3.0</a> (2007/05/09)</dt>
351<dd><a href="#note333">Note 333 (TOOL): System firmware Version 31.4.7 release</a></dd>
352<dd><a href="#note332">Note 332 (TOOL): Updated the DEVKIT system menu</a></dd>
353<dd><a href="#note331">Note 331 (KPAD): Added functions for getting parameters</a></dd>
354<dd><a href="#note330">Note 330 (KPAD): Made the KPADInit function non-blocking</a></dd>
355<dd><a href="#note329">Note 329 (WPAD): Stopped the release of the wpad_tool[D].elf and wpad_get_ver[D].elf tools</a></dd>
356<dd><a href="#note328">Note 328 (WPAD): Changed specifications for simple pairing</a></dd>
357<dd><a href="#note327">Note 327 (WPAD): Changed specifications for the WPADAttach(detach)DummyExtension functions</a></dd>
358<dd><a href="#note326">Note 326 (WPAD): Corrected shifts in each coordinate axis of the DPD module</a></dd>
359<dd><a href="#note325">Note 325 (NAND): Added a function for getting the usage status of /tmp</a></dd>
360<dd><a href="#note324">Note 324 (NAND): Added a function for getting the usage status of the home directory</a></dd>
361<dd><a href="#note323">Note 323 (NAND): Added functions of type NANDSimpleSafe</a></dd>
362<dd><a href="#note322">Note 322 (NAND): Changed the method for dealing with the NAND_RESULT_BUSY and NAND_RESULT_ALLOC_FAILED errors</a></dd>
363<dd><a href="#note321">Note 321 (PAD): Pulled the <I>simple</I> demo</a></dd>
364<dd><a href="#note320">Note 320 (KPAD): Added  the keyboard library</a></dd>
365<dd><a href="#note319">Note 319 (MAN): Corrected broken links in the function reference manual</a></dd>
366<dd><a href="#note318">Note 318 (OS): Added the function reference for OSGetAppType</a></dd>
367<dd><a href="#note317">Note 317 (MIDI): Added the MIDI adapter library</a></dd>
368</dl>
369
370<dl>
371<dt><a href="#20061130p6">2006/11/30 SDK Version 2.4 Patch 6</a> (2007/05/18)</dt>
372<dd><a href="#note320">Note 320 (KPAD): Corrected error handling of the Wii Remote's controller data</a></dd>
373<dd><a href="#note319">Note 319 (WPAD): Changed the internal processing of WPADGetInfo(Async)</a></dd>
374<dd><a href="#note318">Note 318 (WPAD): Fixed a bug that stopped the transfer of controller data from the Wii Remote</a></dd>
375<dd><a href="#note317">Note 317 (WPAD): Changed specifications for the WPADAttach(detach)DummyExtension functions</a></dd>
376</dl>
377
378<dl>
379<dt><a href="#20061130p5">2006/11/30 SDK 2.4 patch 5</a> (2007/05/09)</dt>
380<dd><a href="#note316">Note 316 (WPAD): Fixed a bug that caused the Wii Remote to be inoperable if an extension controller was inserted and removed immediately</a></dd>
381</dl>
382
383<dl>
384<dt><a href="#20061130p4">2006/11/30 SDK Version 2.4 Patch 4</a> (2007/04/25)</dt>
385<dd><a href="#note315">Note 315 (NAND): Updated the function reference manual</a></dd>
386<dd><a href="#note314">Note 314 (KPAD): Added a sample demo for detecting the direction that the Wii Remote is swung</a></dd>
387<dd><a href="#note313">Note 313 (KPAD): Corrected errors in manuals</a></dd>
388<dd><a href="#note312">Note 312 (KPAD): For the Sensor Bar placement position, changed the corrective processing to be enabled by default</a></dd>
389<dd><a href="#note311">Note 311 (KPAD): Fixed a bug related to maximum stored data passed to KPADRead</a></dd>
390<dd><a href="#note310">Note 310 (WPAD): Updated Function Reference</a></dd>
391<dd><a href="#note309">Note 309 (WPAD): To a tool added Wii Remote memory initialization</a></dd>
392<dd><a href="#note308">Note 308 (WPAD): Fixed a bug in the system's Bluetooth wireless module</a></dd>
393<dd><a href="#note307">Note 307 (WPAD): Corrected the following bug: if a deallocator that uses a mutex is registered, the execution halts on ASSERT when a FATAL error occurs</a></dd>
394<dd><a href="#note306">Note 306 (WPAD): Fixed the following bug: if the WPADGetInfoAsync function is called frequently, the external extension controllers are not recognized</a></dd>
395<dd><a href="#note305">Note 305 (WPAD): Reduced the time before the Player LEDs go off when disconnection is performed with the WPADDisconnect function</a></dd>
396<dd><a href="#note304">Note 304 (WPAD): Changed the amount of time before signal interference causes a disconnect</a></dd>
397<dd><a href="#note303">Note 303 (WPAD): Added functions for debugging external extension controller processing</a></dd>
398<dd><a href="#note302">Note 302 (WPAD): Updated the sample demos</a></dd>
399<dd><a href="#note301">Note 301 (DVD): Corrected automatic fatal error messages</a></dd>
400<dd><a href="#note300">Note 300 (DOC): Added the contact information for the Roland Corporation's licensing department</a></dd>
401<dd><a href="#note299">Note 290 (OS): Added the function reference for OSGetAppGamename</a></dd>
402<dd><a href="#note298">Note 298 (OS): Made fixes for debugging of relocatable module</a></dd>
403<dd><a href="#note297">Note 297 (AX): Corrected the bug that caused noise during the streaming playback of the ADPCM data</a></dd>
404</dl>
405
406<dl>
407<dt><a href="#20061130p3">2006/11/30 SDK Version 2.4 Patch 3</a> (2007/03/01)</dt>
408<dd><a href="#note296">Note 296 (TOOL): System firmware Version 21.2.2 release</a></dd>
409<dd><a href="#note295">Note 295 (TOOL): Added features to the DEVKIT system menu</a></dd>
410<dd><a href="#note294">Note 294 (TOOL): Corrected features in the DEVKIT system menu</a></dd>
411<dd><a href="#note293">Note 293 (ENC): Corrected a problem where the returned number of converted characters was incorrect</a></dd>
412<dd><a href="#note292">Note 292 (ENC): Added a conversion table stripping feature</a></dd>
413<dd><a href="#note291">Note 291 (ENC): Added/revised manuals and demos</a></dd>
414</dl>
415
416<dl>
417<dt><a href="#20061130p2">2006/11/30 SDK Version 2.4 Patch 2</a> (2007/01/10)</dt>
418<dd><a href="#note290">Note 290 (OS): Added a description to the function reference for OSInitFastCast</a></dd>
419<dd><a href="#note289">Note 289 (FNT): Added the FNT library</a></dd>
420<dd><a href="#note288">Note 288 (HIO2): Corrected a problem that occurred when HIO2Init was called multiple times</a></dd>
421<dd><a href="#note287">Note 287 (HIO2): Revised the function reference for HIO2EnumDevices</a></dd>
422<dd><a href="#note286">Note 286 (THP): Revised THPConv(D).exe such that it would not perform sampling during execution</a></dd>
423<dd><a href="#note285">Note 285 (THP): Revised a description related to playback frequency to match that of Wii</a></dd>
424<dd><a href="#note284">Note 284 (AX): Corrected a problem where axstream would not support data of a size smaller than the buffer size</a></dd>
425<dd><a href="#note283">Note 283 (AX): Updated the AX Application manual</a></dd>
426<dd><a href="#note282">Note 282 (WPAD): Corrected a problem where data could not be obtained when connected with an undefined controller plugged in</a></dd>
427<dd><a href="#note281">Note 281 (WPAD): Corrected the range of stick values given for WPADCLStatus</a></dd>
428<dd><a href="#note280">Note 280 (DVD): Corrected a problem where shutdown processing was not being performed correctly when an automatic Fatal message was issued</a></dd>
429</dl>
430
431<dl>
432<dt><a href="#20061130p1">2006/11/30 SDK Version 2.3 Patch 1</a> (2006/12/18)</dt>
433<dd><a href="#note279">Note 279 (AX): Revised the DSP load estimate again</a></dd>
434<dd><a href="#note278">Note 278 (AX): Corrected a problem where the mixing volume would not update correctly</a></dd>
435<dd><a href="#note277">Note 277 (NAND): Added a description of the prohibition on frequent Read access</a></dd>
436<dd><a href="#note276">Note 276 (TOOL): Added the wpad_mem_util tool</a></dd>
437<dd><a href="#note275">Note 275 (OS): Corrected a bug that occurred when the OSFatal function was run from callback</a></dd>
438<dd><a href="#note274">Note 274 (OS): Revised debug message during the reset and shutdown process</a></dd>
439<dd><a href="#note273">Note 273 (OS): Stop WiiConnect24 operations by default</a></dd>
440</dl>
441
442<dl>
443<dt><a href="#20061130">2006/11/30 SDK 2.4</a> (2006/11/30)</dt>
444<dd><a href="#note272">Note 272 (TOOL): System firmware Version 17.2.0 release</a></dd>
445<dd><a href="#note271">Note 271 (TOOL): Fixed bugs in the DEVKIT system menu save-data controls</a></dd>
446<dd><a href="#note270">Note 270 (MIX): Corrected forgotten initialization of the MIXChannel structure members</a></dd>
447<dd><a href="#note269">Note 269 (AX): Implemented mixer control for the Wii Remote speaker</a></dd>
448<dd><a href="#note268">Note 268 (AX): Implemented LPF and biquad filters for audio output from the controller speaker</a></dd>
449<dd><a href="#note267">Note 267 (AX): Deleted temporary implementation of HPF and added a biquad filter</a></dd>
450<dd><a href="#note266">Note 266 (AX): Accounted for delay in response to AI/DSP interrupts when calculating the estimated load on the DSP</a></dd>
451<dd><a href="#note265">Note 265 (AX/SEQ/SP/SYN): Removed zero buffer</a></dd>
452<dd><a href="#note264">Note 264 (WPAD): Added the WPADControlExtGimmick function</a></dd>
453<dd><a href="#note263">Note 263 (WPAD): Canceled the restriction mentioned in Note 163</a></dd>
454<dd><a href="#note262">Note 262 (WPAD): Changed specifications during simple pairing when reconnecting an already paired remote</a></dd>
455<dd><a href="#note261">Note 261 (WPAD): Fixed a bug where updates of autosampling would fail</a></dd>
456<dd><a href="#note260">Note 260 (WPAD): Fixed a bug causing registration information to be erased</a></dd>
457<dd><a href="#note259">Note 259 (CARD): Revised the CARDMount[Async] function</a></dd>
458<dd><a href="#note258">Note 258 (NAND): Changed the order in which the save data banner is created</a></dd>
459<dd><a href="#note257">Note 257 (NAND): Added a guard mechanism when opening or closing files</a></dd>
460<dd><a href="#note256">Note 256 (NAND): Prohibited the creation of files and directories by an owner without read privileges</a></dd>
461<dd><a href="#note255">Note 255 (NAND): Corrected instructions on using the NANDGetAvailableArea[Async] function</a></dd>
462<dd><a href="#note254">Note 254 (NAND): Corrected a mistake in the description of the NANDSetStatus[Async] function</a></dd>
463<dd><a href="#note253">Note 253 (CX): Added a decompress option to the ntcompress tool</a></dd>
464<dd><a href="#note252">Note 252 (CX): Expanded alignment options of the ntcompress tool</a></dd>
465<dd><a href="#note251">Note 251 (ENC): Revised conversion rules</a></dd>
466</dl>
467<dl>
468<dt><a href="#20061026p9">2006/October 26, 2006 SDK Version 2.3 Patch 9</a> (2006/11/17)</dt>
469<dd><a href="#note250">Note 250 (TOOL): System firmware Version 15.1.1 release</a></dd>
470</dl>
471<dl>
472<dt><a href="#20061026p8">2006/October 26, 2006 SDK Version 2.3 Patch 8</a> (2006/11/14)</dt>
473<dd><a href="#note249">Note 249 (TOOL): System firmware Version 13.0.10 release</a></dd>
474</dl>
475<dl>
476<dt><a href="#20061026p7">2006/10/26 SDK Version 2.3 Patch 7</a> (2006/11/12)</dt>
477<dd><a href="#note248">Note 248 (TOOL): System firmware Version 13.0.9 release </a></dd>
478</dl>
479<dl>
480<dt><a href="#20061026p6">2006/10/26 SDK Version 2.3 Patch 6</a> (2006/11/11)</dt>
481<dd><a href="#note247">Note 247 (TOOL): System firmware Version 13.0.8 release</a></dd>
482</dl>
483<dl>
484<dt><a href="#20061026p5">2006/10/26 SDK Version 2.3 Patch 5</a> (2006/11/09)</dt>
485<dd><a href="#note246">Note 246 (TOOL): System firmware Version 13.0.7 release.</a></dd>
486<dd><a href="#note245">Note 245 (ENC): Fixed a character conversion problem in the private memory area.</a></dd>
487<dd><a href="#note244">Note 244 (ENC): Fixed a bug in the read/write size.</a></dd>
488<dd><a href="#note243">Note 243 (ENC): Reduced the table size.</a></dd>
489</dl>
490<dl>
491<dt><a href="#20061026p4">2006/10/26 SDK Version 2.3 Patch 4</a> (2006/11/06)</dt>
492<dd><a href="#note242">Note 242 (TOOL): NDEV firmware Version 12.06 release.</a></dd>
493<dd><a href="#note241">Note 241 (ENC): Added support for additional character encodings.</a></dd>
494<dd><a href="#note240">Note 240 (NAND): Added a result code for synchronous functions.</a></dd>
495</dl>
496<dl>
497<dt><a href="#20061026p3">2006/10/26 SDK Version 2.3 Patch 3</a> (2006/11/03)</dt>
498<dd><a href="#note239">Note 239 (TOOL): NDEV firmware Version 12.05 release.</a></dd>
499<dd><a href="#note238">Note 238 (WPAD): Fixed the inconsistent pairing format between the Wii console and the Wii Remote.</a></dd>
500<dd><a href="#note237">Note 237 (WPAD): Revised the pairing method when the maximum number of devices is already paired.</a></dd>
501<dd><a href="#note236">Note 236 (ENC): Changed the method of conversion from the internal character encoding to ISO-8859-1.</a></dd>
502</dl>
503<dl>
504<dt><a href="#20061026p2">2006/10/26 SDK Version 2.3 Patch 2</a> (2006/10/31)</dt>
505<dd><a href="#note235">Note 235 (TOOL): NDEV firmware Version 12.03 release.</a></dd>
506<dd><a href="#note234">Note 234: Changed the file for the SDK version information.</a></dd>
507<dd><a href="#note233">Note 233 (SC): Added internal configuration items for the system menu.</a></dd>
508<dd><a href="#note232">Note 232 (KPAD): Fixed a bug with the acceleration tracking process.</a></dd>
509<dd><a href="#note231">Note 231 (ENC): Added a convertible character encoding and determination function.</a></dd>
510<dd><a href="#note230">Note 230 (ENC): Added the conversion context for use in character code conversion.</a></dd>
511<dd><a href="#note229">Note 229 (ENC): Added support for additional character encodings.</a></dd>
512</dl>
513<dl>
514<dt><a href="#20061026p1">2006/10/26 SDK Version 2.3 Patch 1</a> (2006/10/27)</dt>
515<dd><a href="#note228">Note 228 (TOOL): Revised the fwupdate script name and carriage return.</a></dd>
516<dd><a href="#note227">Note 227 (TOOL): Corrected the firmware build date that is output when running the fwupdate1202 script.</a></dd>
517<dd><a href="#note226">Note 226 (VI): Reinstated the VIEnableDimming function.</a></dd>
518<dd><a href="#note225">Note 225 (VI): Added the VISetTimeToDimming function.</a></dd>
519<dd><a href="#note224">Note 224 (VI): Removed the VI[Set/Get]ScreenSaverMode function.</a></dd>
520<dd><a href="#note223">Note 223 (MAN): Corrected several broken links in the manual.</a></dd>
521</dl>
522<dl>
523<dt><a href="#20061026">2006/10/26 SDK Version 2.3</a> (2006/10/26)</dt>
524<dd><a href="#note222">Note 222 (TOOL): NDEV firmware Version 12.02 release.</a></dd>
525<dd><a href="#note221">Note 221 (TOOL): Added a configuration file for save-data controls.</a></dd>
526<dd><a href="#note220">Note 220 (TOOL): Fixed bugs in the system menu save-data controls.</a></dd>
527<dd><a href="#note219">Note 219 (TOOL): Added support for the Wii Remote in the system menu.</a></dd>
528<dd><a href="#note218">Note 218 (TOOL): Fixed a bug in cardedit[D].elf.</a></dd>
529<dd><a href="#note217">Note 217 (KPAD): Released the KPAD library Version 2.</a></dd>
530<dd><a href="#note216">Note 216 (KPADOld): Fixed a memory-corruption bug that appeared when using Classic Controllers.</a></dd>
531<dd><a href="#note215">Note 215 (SC): Ended disclosure of WPAD library&ndash;specific functions.</a></dd>
532<dd><a href="#note214">Note 214 (SC): Ended disclosure of sound/video mode&ndash;related console setting change functions.</a></dd>
533<dd><a href="#note213">Note 213 (WPAD): Added the WPADGetDpdFormat function.</a></dd>
534<dd><a href="#note212">Note 212 (WPAD): Eliminated the WPADShutdown and the WPADReconnect functions.</a></dd>
535<dd><a href="#note211">Note 211 (WPAD): Fixed a bug in the reset/shutdown operation during pairing and pairing information removal.</a></dd>
536<dd><a href="#note210">Note 210 (WPAD): Fixed a bug that caused the completion callback to be called twice when the speaker was turned off.</a></dd>
537<dd><a href="#note209">Note 209 (WPAD): Added a speaker reset command.</a></dd>
538<dd><a href="#note208">Note 208 (WPAD): Fixed the misalignment of the origin on the Classic Controller L Stick.</a></dd>
539<dd><a href="#note207">Note 207 (WPAD): Fixed a bug that caused the fourth object coordinate of the Pointer to be incorrect when an extension controller was inserted.</a></dd>
540<dd><a href="#note206">Note 206 (OS): Revised the OSRestart function and the OSExecl or OSExecv function.</a></dd>
541<dd><a href="#note205">Note 205 (PAD): Added support for hot-swapping in the basic and cont demos.</a></dd>
542<dd><a href="#note204">Note 204 (DOC): Updated the operating system programming manual.</a></dd>
543<dd><a href="#note203">Note 203 (NAND): Revised the banner sample demo.</a></dd>
544<dd><a href="#note202">Note 202 (NAND): Added the NANDGetAvailableArea[Async] function.</a></dd>
545<dd><a href="#note201">Note 201 (AXART): Added support for the Wii Remote speaker.</a></dd>
546<dd><a href="#note200">Note 200 (MIX): Made the memory region for voice control data user-specifiable.</a></dd>
547<dd><a href="#note199">Note 199 (SYN): Made the memory region for voice control data user-specifiable.</a></dd>
548<dd><a href="#note198">Note 198 (AX): Added master volume functions.</a></dd>
549<dd><a href="#note197">Note 197 (AX): Fixed a bug that prevented the silent section of the DSP-ADPCM data from being silent.</a></dd>
550<dd><a href="#note196">Note 196 (AX): Added debug functions.</a></dd>
551<dd><a href="#note195">Note 195 (AX): Made the maximum voice count and the memory region for voice control data user-specifiable.</a></dd>
552<dd><a href="#note194">Note 194 (AX): Eliminated the voice update function.</a></dd>
553<dd><a href="#note193">Note 193 (AX): Changed AX_MAX_VOICE from 64 to 96.</a></dd>
554<dd><a href="#note192">Note 192 (AX): Increased the number of simultaneously playable sounds.</a></dd>
555</dl>
556<dl>
557<dt><a href="#20060907p10">2006/09/07 SDK Version 2.2 Patch 10</a> (2006/10/16)</dt>
558<dd><a href="#note191">Note 191 (KPAD): Changed the specifications so that controller information accessed by read_kpad* functions is synchronized with the associated error status.</a></dd>
559<dd><a href="#note190">Note 190 (DOC): Updated the Video Interface Library programming manual.</a></dd>
560<dd><a href="#note189">Note 189 (WPAD): Corrected a problem that caused values greater than 128 to be set for the audio volume, using the WPADSetSpeakerVolume function.</a></dd>
561<dd><a href="#note188">Note 188 (WPAD): Corrected the unstable behavior seen when the calendar was set to January 1, 2000, 00:00.</a></dd>
562<dd><a href="#note187">Note 187 (DVD): Corrected a problem that prevented the DVDCheckDiskAsync callback from returning after DVDCancel[Async] or DVDCancelAll[Async] was called in the DVD_STATE_NO_DISK or the DVD_STATE_RETRY state.</a></dd>
563<dd><a href="#note186">Note 186 (DVD): Corrected a problem that prevented subsequent disc insertions from being recognized if DVDCancel[Async] or DVDCancelAll[Async] was called during the DVD_STATE_NO_DISK state</a></dd>
564<dd><a href="#note185">Note 185 (Audio): Updated the end-user license agreement with Roland.</a></dd>
565</dl>
566<dl>
567<dt><a href="#20060907p9">2006/09/07 SDK Version 2.2 Patch 9</a> (2006/10/06)</dt>
568<dd><a href="#note184">Note 184 (TOOL): NDEV firmware Version 9.24 release.</a></dd>
569</dl>
570<dl>
571<dt><a href="#20060907p8">2006/09/07 SDK Version 2.2 Patch 8</a> (2006/10/03)</dt>
572<dd><a href="#note183">Note 183 (WPAD): Fixed a bug related to screen burn-in protection.</a></dd>
573<dd><a href="#note182">Note 182 (AX): Fixed the noise that occurred when AX_PB_STATE_STOP was specified repeatedly for the same voice.</a></dd>
574</dl>
575<dl>
576<dt><a href="#20060907p7">2006/09/07 SDK Version 2.2 Patch 7</a> (2006/10/01)</dt>
577<dd><a href="#note181">Note 181 (WPAD): Added Wii Remote tools.</a></dd>
578<dd><a href="#note180">Note 180 (WPAD): Fixed a bug that prevented the close callback for simple pairing from being called.</a></dd>
579<dd><a href="#note179">Note 179 (WPAD): Corrected a problem that prevented the search for devices from stopping during simple pairing.</a></dd>
580<dd><a href="#note178">Note 178 (WPAD): Fixed a bug that prevented the Wii Remote Rumble feature from stopping.</a></dd>
581<dd><a href="#note177">Note 177 (WPAD): Fixed a bug with re-registering a Wii Remote after an external extension controller was connected.</a></dd>
582<dd><a href="#note176">Note 176 (WPAD): Corrected a problem that prevented the Wii Remote from connecting to the Wii console for a while after batteries were removed and re-inserted.</a></dd>
583<dd><a href="#note175">Note 175 (WPAD): Fixed bugs in the WPADStartFastSyncDevice and the WPADStartFastSimpleSync functions.</a></dd>
584<dd><a href="#note174">Note 174 (WPAD): Corrected a problem with the pairing procedure.</a></dd>
585<dd><a href="#note173">Note 173 (WPAD): Reduced the speaker sound distortion from weak signals.</a></dd>
586<dd><a href="#note172">Note 172 (WPAD): Fixed a memory leak inside the communication stack.</a></dd>
587</dl>
588<dl>
589<dt><a href="#20060907p6">2006/09/07 SDK Version 2.2 Patch 6</a> (2006/09/29)</dt>
590<dd><a href="#note171">Note 171 (WPAD): Calling the WPADShutdown() or the WPADReconnect() function inside the reset/shutdown functions.</a></dd>
591</dl>
592<dl>
593<dt><a href="#20060907p5">2006/09/07 SDK Version 2.2 Patch 5</a> (2006/09/29)</dt>
594<dd><a href="#note170">Note 170 (CARD): Fixed a bug that prevented Nintendo GameCube Memory Cards from being mounted correctly.</a></dd>
595<dd><a href="#note169">Note 169 (DVD): Fixed a bug that caused a freeze when issuing disc requests from multiple threads.</a></dd>
596<dd><a href="#note168">Note 168 (WPAD): Fixed a bug that caused the timestamp of the game data stored in the Wii Remote memory to be incorrect.</a></dd>
597<dd><a href="#note167">Note 167 (KPAD): Fixed a bug that caused corruption of controller data when inserting and removing an external extension controller.</a></dd>
598</dl>
599<dl>
600<dt><a href="#20060907p4">2006/09/07 SDK Version 2.2 Patch 4</a> (2006/09/27)</dt>
601<dd><a href="#note166">Note 166 (TOOL): NDEV firmware Version 9.23 release.</a></dd>
602<dd><a href="#note165">Note 165 (WPAD): Fixed a bug that prevented origin reset from being performed with the Classic Controller.</a></dd>
603<dd><a href="#note164">Note 164 (WPAD): Fixed a bug that disabled registration operations when SYNCHRO was pressed for 10 or more seconds during the registration operation.</a></dd>
604<dd><a href="#note163">Note 163 (WPAD): Added restrictions on the WPADInit, the WPADReconnect, and the WPADShutdown functions.</a></dd>
605<dd><a href="#note162">Note 162 (WPAD): Changed the function of the WPADSetAcceptConnection function.</a></dd>
606<dd><a href="#note161">Note 161 (WPAD): Changed the Wii Remote memory file information configuration function.</a></dd>
607<dd><a href="#note160">Note 160 (WPAD): Fixed a bug that caused registration information to be lost.</a></dd>
608<dd><a href="#note159">Note 159 (KPAD): Fixed a bug that caused controller data of the remote to become irretrievable.</a></dd>
609<dd><a href="#note158">Note 158 (VI): Fixed a bug that caused noise to be seen when switching applications.</a></dd>
610<dd><a href="#note157">Note 157 (AX): Added Aux bus return volume set/get functions.</a></dd>
611<dd><a href="#note156">Note 156 (AX): Fixed a bug that occurs when setting the delta value of the volume envelope.</a></dd>
612</dl>
613<dl>
614<dt><a href="#20060907p3">2006/09/07 SDK Version 2.2 Patch 3</a> (2006/09/22)</dt>
615<dd><a href="#note155">Note 155 (TOOL): NDEV firmware Version 9.22 release.</a></dd>
616<dd><a href="#note154">Note 154 (VI): Fixed a bug that caused noise to be seen on the TV screen during OSShutdownSystem.</a></dd>
617<dd><a href="#note153">Note 153 (DVD): Fixed a bug that caused programs to freeze when run in the NO DISK state.</a></dd>
618</dl>
619<dl>
620<dt><a href="#20060907p2">2006/09/07 SDK Version 2.2 Patch 2</a> (2006/09/22)</dt>
621<dd><a href="#note152">Note 152 (TOOL): NDEV firmware Version 9.21 release.</a></dd>
622<dd><a href="#note151">Note 151 (WPAD): Fixed a bug that caused the Control Stick to become misaligned.</a></dd>
623<dd><a href="#note150">Note 150 (WPAD): Fixed a bug that prevented the callback for the internal memory access function from being called.</a></dd>
624<dd><a href="#note149">Note 149 (WPAD): Added error codes</a></dd>
625<dd><a href="#note148">Note 148 (VI): Fixed a bug that caused the application to freeze while running or recovering from the screen burn-in protection feature.</a></dd>
626</dl>
627<dl>
628<dt><a href="#20060907p1">2006/09/07 SDK Version 2.2 Patch 1</a> (2006/09/20)</dt>
629<dd><a href="#note147">Note 147 (WPAD): Fixed bugs</a></dd>
630<dd><a href="#note146">Note 146 (WPAD): Timeout after command transfer.</a></dd>
631<dd><a href="#note145">Note 145 (WPAD): Rumble can now be turned off mid-rumble by turning off the Rumble feature.</a></dd>
632<dd><a href="#note144">Note 144 (WPAD): Changed the timing with which the WPADShutdown function is called internally.</a></dd>
633<dd><a href="#note143">Note 143 (WPAD): Changed the WPADDisconnect function specification.</a></dd>
634<dd><a href="#note142">Note 142 (WPAD): Item pertaining to the WLAN signal interference avoidance process.</a></dd>
635<dd><a href="#note141">Note 141 (WPAD): Added functions.</a></dd>
636<dd><a href="#note140">Note 140 (WPAD): Removed the WPADClearPortMapTable function.</a></dd>
637<dd><a href="#note139">Note 139 (KPAD): Fixed a bug that occurred when an attachment was quickly hot-swapped.</a></dd>
638<dd><a href="#note138">Note 138 (NAND): Fixed a bug that caused the NANDSafe series functions to return unexpected result codes.</a></dd>
639<dd><a href="#note137">Note 137 (NAND): Established banner file format, and added new functions.</a></dd>
640<dd><a href="#note136">Note 136 (OS): Added a feature for checking the firmware required by the application.</a></dd>
641<dd><a href="#note135">Note 135 (DVD): Stopped the use of the drive state DVD_STATE_NO_INPUT during the controller input standby status.</a></dd>
642<dd><a href="#note134">Note 134 (DVD): Added official support for the automatic FATAL message.</a></dd>
643<dd><a href="#note133">Note 133 (TOOL): Added screen burn-in protection settings to the system menu.</a></dd>
644<dd><a href="#note132">Note 132 (TOOL): Temporarily stopped the automatic update feature in the firmware system menu.</a></dd>
645<dd><a href="#note131">Note 131 (TOOL): Added a Wii Sensor Bar sensitivity setting to the system menu.</a></dd>
646<dd><a href="#note130">Note 130 (VI): Removed the VIGetDVDStopMotorCount function.</a></dd>
647<dd><a href="#note129">Note 129 (VI): Fixed a bug that prevented the screen from returning to its original state when the console was reset with screen burn-in protection running.</a></dd>
648<dd><a href="#note128">Note 128 (VI): Fixed a bug that caused the TV to display noise when the system entered IDLE mode or a hardware was reset.</a></dd>
649<dd><a href="#note127">Note 127 (WENC): Fixed a bug that prevented sound effects from playing back correctly from the Wii Remote speaker.</a></dd>
650<dd><a href="#note126">Note 126 (DSP): Fixed a bug that caused calling the AXQuit function to output an error and stop the application.</a></dd>
651</dl>
652<dl>
653<dt><a href="#20060907">2006/09/07 SDK Version 2.2</a> (2006/09/07)</dt>
654<dd><a href="#note125">Note 125 (TOOL): Changed the save-data specification.</a></dd>
655<dd><a href="#note124">Note 124 (TOOL): Added a drive protection setting to the system menu.</a></dd>
656<dd><a href="#note123">Note 123 (KPAD): Added functions for improving pointing.</a></dd>
657<dd><a href="#note122">Note 122 (KPAD): Added support for the Classic Controller.</a></dd>
658<dd><a href="#note121">Note 121 (KPAD): Changed the behavior when dealing with unknown attachments.</a></dd>
659<dd><a href="#note120">Note 120 (KPAD): Added functions for enabling/disabling the Pointer.</a></dd>
660<dd><a href="#note119">Note 119 (KPAD): Expanded the sample demo program.</a></dd>
661<dd><a href="#note118">Note 118 (AX): Added an AUX callback acquisition function.</a></dd>
662<dd><a href="#note117">Note 117 (WENC): Deleted WENC_FLAG_LAST from the flag passed to WENCGetEncodeData().</a></dd>
663<dd><a href="#note116">Note 116 (NAND): Fixed a bug in the NANDReadDir[Async] Function Reference page.</a></dd>
664<dd><a href="#note115">Note 115 (NAND): Removed write size restriction.</a></dd>
665<dd><a href="#note114">Note 114 (NAND): Added the NANDCheck() sample demo program.</a></dd>
666<dd><a href="#note113">Note 113 (OS): Revised the RESET callback process.</a></dd>
667<dd><a href="#note112">Note 112 (SC): Precaution for calling SCFlush*().</a></dd>
668<dd><a href="#note111">Note 111 (SC): Fixed a bug in SCFlushAsync(), and added a callback argument value.</a></dd>
669<dd><a href="#note110">Note 110 (SC): Fixed a bug in SCFlush().</a></dd>
670<dd><a href="#note109">Note 109 (SC): Automatic call of SCInit().</a></dd>
671<dd><a href="#note108">Note 108 (TOOL): Fixed a bug in makeo.exe.</a></dd>
672<dd><a href="#note107">Note 107 (TOOL): Added a disc country code configuration tool.</a></dd>
673<dd><a href="#note106">Note 106 (TOOL): Corrected a problem that prevented termination of setsmem2size in error from being detected.</a></dd>
674<dd><a href="#note105">Note 105 (DVD): Added the drive state DVD_STATE_NO_INPUT while waiting for controller input.</a></dd>
675<dd><a href="#note104">Note 104 (DVD): Fixed the system language setting that was not reflected in the automatic fatal message.</a></dd>
676<dd><a href="#note103">Note 103 (WPAD): Added device type values.</a></dd>
677<dd><a href="#note102">Note 102 (WPAD): Changed the battery level threshold value, and added the voltage level CRITICAL.</a></dd>
678<dd><a href="#note101">Note 101 (WPAD): Changed how the SyncCallback function is called.</a></dd>
679<dd><a href="#note100">Note 100 (WPAD): Added support for origin reset.</a></dd>
680<dd><a href="#note99">Note 99 (WPAD): Changed how the controller port is allocated.</a></dd>
681<dd><a href="#note98">Note 98 (WPAD): Changed how the Wii Remote setting information is handled.</a></dd>
682<dd><a href="#note97">Note 97 (WPAD): Fixed bugs</a></dd>
683<dd><a href="#note96">Note 96 (WPAD): Added functions.</a></dd>
684<dd><a href="#note95">Note 95 (PAD): Added functions related to the clamp process.</a></dd>
685<dd><a href="#note94">Note 94 (VI): Added support functions for screen burn-in protection and stopping the drive motor.</a></dd>
686</dl>
687<dl>
688<dt><a href="#20060821p1">2006/08/21 SDK Version 2.1 Patch 1</a> (2006/08/30)</dt>
689<dd><a href="#note93">Note 93 (TOOL): Added support for firmware/system menu auto-update.</a></dd>
690<dd><a href="#note92">Note 92 (TOOL): Added features to the system menu.</a></dd>
691<dd><a href="#note91">Note 91 (WPAD): Call WPAD termination before reset/shutdown.</a></dd>
692<dd><a href="#note90">Note 90 (OS): Re-released the OSExec function.</a></dd>
693<dd><a href="#note89">Note 89 (OS): Added OSSwitchFiberEx().</a></dd>
694<dd><a href="#note88">Note 88 (OS): Added periodic access to NAND by the system.</a></dd>
695<dd><a href="#note87">Note 87 (NAND): Automatic call of NANDInit().</a></dd>
696<dd><a href="#note86">Note 86 (NAND): Fixed a bug that occurred when the full path name was exactly 32 bytes.</a></dd>
697<dd><a href="#note85">Note 85 (NAND): Added a function that determines whether the file or directory can be created.</a></dd>
698<dd><a href="#note84">Note 84 (NAND): Added result codes that were omitted.</a></dd>
699<dd><a href="#note83">Note 83 (SC): Added the return values for SCGetLanguage.</a></dd>
700<dd><a href="#note82">Note 82 (GD): Added and edited descriptions of GD demo debug output.</a></dd>
701<dd><a href="#note81">Note 81 (GX): Added and edited descriptions of GX demo debug output.</a></dd>
702<dd><a href="#note80">Note 80 (WENC): Added the WENC library.</a></dd>
703<dd><a href="#note79">Note 79 (CX): Released the compression/decompression library.</a></dd>
704<dd><a href="#note78">Note 78 (ENC): Added the ENC library.</a></dd>
705</dl>
706<dl>
707<dt><a href="#20060821">2006/08/21 SDK Version 2.1</a> (2006/08/21)</dt>
708<dd><a href="#note77">Note 77 (WPAD): Added support for status of simple pairing.</a></dd>
709<dd><a href="#note76">Note 76 (WPAD): Added functions.</a></dd>
710<dd><a href="#note75">Note 75 (WPAD): Fixed a bug related to hot plug-in or removal of external extension controllers.</a></dd>
711<dd><a href="#note74">Note 74 (WPAD): Changed the number of units that can be paired.</a></dd>
712<dd><a href="#note73">Note 73 (WPAD): Added Full mode to the Pointer.</a></dd>
713<dd><a href="#note72">Note 72 (WPAD): Changed the clamp process.</a></dd>
714<dd><a href="#note71">Note 71 (WPAD): Fixed a bug that halved the pointer sampling rate.</a></dd>
715<dd><a href="#note70">Note 70 (WPAD): Fixed a bug in the Rumble feature.</a></dd>
716<dd><a href="#note69">Note 69 (MEM): Added measures to prevent a performance drop when securing 32-byte alignment from the extended heap.</a></dd>
717<dd><a href="#note68">Note 68 (AX): Added support for Wii Remote speaker output.</a></dd>
718<dd><a href="#note67">Note 67 (AX): Fixed a bug that prevented de-pop from operating with voices that had been panned.</a></dd>
719<dd><a href="#note66">Note 66 (OS): Expanded the alarm features.</a></dd>
720<dd><a href="#note65">Note 65 (KPAD): Various fixes and expansions.</a></dd>
721<dd><a href="#note64">Note 64 (ARC): Added const.</a></dd>
722<dd><a href="#note63">Note 63 (MEM): Fixed a bug in the MEMFindParentHeap() function.</a></dd>
723<dd><a href="#note62">Note 62 (NAND): Added and deleted error codes.</a></dd>
724<dd><a href="#note61">Note 61 (NAND): Revised NANDInit().</a></dd>
725<dd><a href="#note60">Note 60 (NAND): Added functions.</a></dd>
726<dd><a href="#note59">Note 59 (NAND): Corrected a problem that caused unknown error code to be displayed during read/write.</a></dd>
727<dd><a href="#note58">Note 58 (OS): Updated the functions related to reset and shutdown.</a></dd>
728<dd><a href="#note57">Note 57 (OS): Added OSSleep* functions.</a></dd>
729<dd><a href="#note56">Note 56 (SC): Added Wii Remote setup items.</a></dd>
730<dd><a href="#note55">Note 55 (SC): Deleted the emulation functions.</a></dd>
731<dd><a href="#note54">Note 54 (SC): Prohibited use of previous versions of the SC library.</a></dd>
732<dd><a href="#note53">Note 53 (HIO2): Corrected a problem with heavy loads on the host CPU.</a></dd>
733<dd><a href="#note52">Note 52 (DOC): Revised the third chapter &quot;Running a Simple Demo&quot; in the <I>Revolution Build System Guide</I>.</a></dd>
734<dd><a href="#note51">Note 51 (VI): Changed the default setting for the trap filter.</a></dd>
735<dd><a href="#note50">Note 50 (VI): Fixed a bug that prevented disabling the trap filter.</a></dd>
736<dd><a href="#note49">Note 49 (VI): Ended support for 50&nbsp;Hz mode for progressive display.</a></dd>
737</dl>
738<dl>
739<dt><a href="#20060620">2006/06/20 SDK Version 2.0</a> (2006/06/20)</dt>
740<dd><a href="#note48">Note 48 (ALL): Deleted the sample demo elf/map file.</a></dd>
741<dd><a href="#note47">Note 47 (ALL): Changed the NDEV that is the target of operations.</a></dd>
742<dd><a href="#note46">Note 46 (ALL): Changed the build target to RVL.</a></dd>
743<dd><a href="#note45">Note 45 (MIX): Corrected a problem with setting AuxB and AuxC controllers in DPL2 mode.</a></dd>
744<dd><a href="#note44">Note 44 (KPAD): Changed the module name, and added support for UI tool Version 4.</a></dd>
745<dd><a href="#note43">Note 43 (WPAD): Added support for using the Wii Remote (both Bluetooth wired/wireless versions).</a></dd>
746<dd><a href="#note42">Note 42 (WPAD): Changed module names.</a></dd>
747<dd><a href="#note41">Note 41 (WPAD): Enabled sharing of some member offsets of the WPADFSStatus structure by WPADStatus.</a></dd>
748<dd><a href="#note40">Note 40 (TOOL): Added a system menu to the boot program.</a></dd>
749<dd><a href="#note39">Note 39 (TOOL): Revised the Revolution shell execution file (RVL_NDEV.bat).</a></dd>
750<dd><a href="#note38">Note 38 (AI): Corrected a problem with the hardware sampling rate converter.</a></dd>
751<dd><a href="#note37">Note 37 (AX): Corrected a problem with the memory interface of the audio subsystem.</a></dd>
752<dd><a href="#note36">Note 36 (AXFX): Changed the effect library.</a></dd>
753<dd><a href="#note35">Note 35 (DVD): Changed the DVDCheckDisk function from synchronous to asynchronous.</a></dd>
754<dd><a href="#note34">Note 34 (DVD): Enabled the automatic FATAL message mode by default.</a></dd>
755<dd><a href="#note33">Note 33 (SC): Added the SC library.</a></dd>
756<dd><a href="#note32">Note 32 (VI): PAL development</a></dd>
757<dd><a href="#note31">Note 31 (VI): Added progressive scan mode for PAL, EURGB60, and MPAL.</a></dd>
758<dd><a href="#note30">Note 30 (VI): Added a support function for switching progressive mode.</a></dd>
759<dd><a href="#note29">Note 29 (OS): Temporarily deleted the OSExec function.</a></dd>
760<dd><a href="#note28">Note 28 (OS): Added a MEM2 memory size simulation feature.</a></dd>
761<dd><a href="#note27">Note 27 (OS): Changed OSInit so that it checks the Apploader target.</a></dd>
762<dd><a href="#note26">Note 26 (OS): Changed the OS_CORE_CLOCK and OS_BUS_CLOCK default values in the os.h header file.</a></dd>
763<dd><a href="#note25">Note 25 (GX): Corrected a problem with the TEV compare feature.</a></dd>
764<dd><a href="#note24">Note 24 (GX): Changed the ASSERT of the FIFO get function to a warning message.</a></dd>
765<dd><a href="#note23">Note 23 (NAND): Added the NAND library.</a></dd>
766<dd><a href="#note22">Note 22 (HIO2): Added a description to the HIO2 function reference page.</a></dd>
767<dd><a href="#note21">Note 21 (AR, ARQ): Deleted the ar.h and the arq.h header files.</a></dd>
768<dd><a href="#note20">Note 20 (ARC): Added the ARC library (archiver).</a></dd>
769</dl>
770<dl>
771<dt><a href="#20060322p2">2006/03/22 SDK Version 1.0 Patch 2</a> (2006/04/18)</dt>
772<dd><a href="#note19">Note 19 (AXART): Corrected the update formula for each LFO frame.</a></dd>
773<dd><a href="#note18">Note 18 (AXART): Corrected a problem that prevented the update amount for each LFO frame from corresponding to the frame length (3&nbsp;ms) in the new AX library.</a></dd>
774<dd><a href="#note17">Note 17 (HIO2): Corrected a problem that prevented the HIO2ReadAsync function calls on the host side from returning on rare occasions</a>.</dd>
775<dd><a href="#note16">Note 16 (DOC): Added notes to section 2.4, Error Codes, in the PAD Library Programmer Guide</a></dd>
776</dl>
777<dl>
778<dt><a href="#20060322p1">2006/03/22 SDK Version 1.0 Patch 1</a> (2006/04/07)</dt></dt>
779<dd><a href="#note15">Note 15 (GX): Added an ASSERT check for attempts to place a FIFO in the MEM2 region</a>.</dd>
780<dd><a href="#note14">Note 14 (OS): Added support for an external main memory 64&nbsp;MB environment.</a></dd>
781<dd><a href="#note13">Note 13 (OS): Increased the speed of clearing the arena when using OSInit().</a></dd>
782<dd><a href="#note12">Note 12 (OS): Added a 7&nbsp;MB size restriction on programs loaded using Apploader.</a></dd>
783<dd><a href="#note11">Note 11 (MAN): Corrected links on the top page.</a></dd>
784<dd><a href="#note10">Note 10 (MAN): Changed the description of the hio2 sample demos.</a></dd>
785<dd><a href="#note9">Note 9 (EXI): Improved the transfer rate of the HIO2 library and the OSReport function.</a></dd>
786<dd><a href="#note8">Note 8 (HIO2): Corrected a problem with HIO2ReadStatus (RVL side).</a></dd>
787<dd><a href="#note7">Note 7 (DOC): Debugged pre-built sample demos.</a></dd>
788<dd><a href="#note6">Note 6 (DOC): Added NDEV DIP switch settings.</a></dd>
789<dd><a href="#note5">Note 5 (MEM): Released MEM library source code.</a></dd>
790<dd><a href="#note4">Note 4 (MEM): Eliminated the alignment restriction for memory block allocation.</a></dd>
791<dd><a href="#note3">Note 3 (MEM): Corrected a problem that prevented freeing unused memory normally from the heap.</a></dd>
792<dd><a href="#note2">Note 2 (KPAD): Corrected an error in the formula for calculating the acceleration of the Nunchuk.</a></dd>
793</dl>
794<dl>
795<dt><a href="#20060322">2006/03/22 SDK Version 1.0</a> (2006/03/22)</dt>
796<dd><a href="#note1">Note 1: SDK Version 1.0 Initial Release.</a></dd>
797</dl>
798
799<hr />
800
801<h2 style="line-height: 0"><a name="20080730p3" id="20080730p3">* 2008/07/30 SDK Version 3.2 Patch 3 </a> <div style="text-align: right">(2009/02/18)</div></h2><hr />
802<h3><a name="note594" id="note594">Note 594 (TOOL): Revised <CODE>SDK/build/buildtools/modulerules</CODE></a></h3>
803<p>As given in Note 402, <CODE>setncountrycode</CODE> has been integrated with <CODE>setcountrycode</CODE>. However, <CODE>modulerules</CODE> specifications still required it to call <CODE>setncountrycode</CODE>. This has been changed to <CODE>setcountrycode</CODE>.</p>
804
805<hr />
806<h3><a name="note593" id="note593">Note 593 (WPAD): Corrected a problem where the origin of an extension controller's stick would drift</a></h3>
807<p>There was a problem where the origin of an extension controller's stick would drift if there was a momentary disconnection immediately after the Nunchuk or Classic Controller was recognized. This problem has been corrected.
808</p><p>
809Because the timing during which this problem could occur was quite short, the possibility of this problem occurring during normal use was quite low.</p>
810
811<hr />
812<h3><a name="note592" id="note592">Note 592 (DVD): Revised the automatic fatal error message</a></h3>
813<p>The automatic fatal error message has been replaced with the message used in Wii Message List version 1.11.</p>
814
815<hr />
816<h3><a name="note591" id="note591">Note 591 (Tool): Updated the DEVKIT system menu to version 1.19</a></h3>
817<p>A problem has been corrected where an invalid PIN was being set when Parental Controls were configured on the DEVKIT system menu.</p><p>Update the DEVKIT system menu after applying this patch and before running applications. For instructions about updating the version, see the <B>Installation Procedure</B> section of the SDK's readme.</p>
818
819<hr />
820<h3><a name="note590" id="note590">Note 590 (FNT): Added a list of Chinese and Korean fonts to the <I>Revolution Function Reference Manual</I></a></h3>
821<p>A list of Wii bitmap fonts for Chinese and Korean has been added to the <I>Revolution Function Reference Manual</I>.
822</p><p>
823For details, see the Introduction in the FNT section of the <I>Revolution Function Reference Manual</I>.</p>
824
825<hr />
826<h3><a name="note589" id="note589">Note 589 (MTX): Updated the <I>Revolution Function Reference Manual</I></a></h3>
827<p>Notes regarding calculation results when using the paired single versions of the following functions have been added.<br><CODE>- MTXConcat<br> - MTXConcatArray</CODE></p>
828
829<hr />
830<h3><a name="note588" id="note588">Note 588 (ENC): Revised the <I>Revolution Function Reference Manual</I></a></h3>
831<p>The error code <CODE>ENC_ERR_NOT_LOADED</CODE> has been eliminated, as explained in Note 441. However, some mentions of it still remained in the manual. This has been corrected.</p>
832
833<hr />
834<h3><a name="note587" id="note587">Note 587 (NADK): Changed the WAD default game code</a></h3>
835<p>When they have not been specified when creating a WAD file using <CODE>makeWad</CODE>, the default values used for the game code and company code used to be &quot;0000&quot; and the decimal number &quot;2,&quot; respectively.
836</p><p>
837This company code represented a numeric value outside the range of ASCII. Because message send/receive fails with these defaults, the default game code and company code have been changed to &quot;RABA&quot; and &quot;ZZ,&quot; respectively.</p>
838
839<hr />
840<h3><a name="note586" id="note586">Note 586 (NAND): Revised the description of result codes</a></h3>
841<p>Information on how to handle <CODE>NAND_RESULT_MAXBLOCKS</CODE>, <CODE>NAND_RESULT_MAXFILES</CODE>, <CODE>NAND_RESULT_ALLOC_FAILED</CODE>, and <CODE>NAND_RESULT_BUSY</CODE> given in the <B>Result Code Handling</B> and <B>Result Code List</B> sections of the <B>Introduction</B> has been updated. The descriptions of <CODE>NAND_RESULT_MAXBLOCKS</CODE> and <CODE>NAND_RESULT_MAXFILE</CODE> have been deleted from the <B>Processing Sequence</B> section.</p>
842
843<hr />
844<h3><a name="note585" id="note585">Note 585 (DARCH): Changed the executable file of the archive file creation tool to <CODE>darch.exe</CODE></a></h3>
845<p>The executable file for the archive creation tool <CODE>darch</CODE> used to be <CODE>***D.exe</CODE> to indicate a debug version, but it has been changed to <CODE>darch.exe</CODE> to match other tools.</p>
846
847<hr />
848<h3><a name="note584" id="note584">Note 584 (WPAD): Corrected a problem where Nunchuk button information was being cleared</a></h3>
849<p>There was a problem where Nunchuk button information was being cleared when an ACK was received for a command sent to the Wii Remote. This problem was mistakenly caused when the revision in Note 406 was carried out.
850</p><p>
851This problem has been corrected.</p>
852
853<hr />
854<h3><a name="note583" id="note583">Note 583 (WPAD): Corrected a problem with the process used to pass <CODE>WPAD_ERR_INVALID</CODE> in the <SPAN class="argument">err</SPAN> member of the <CODE>WPADStatus</CODE> structure</a></h3>
855<p>There was a problem with the process used to pass <CODE>WPAD_ERR_INVALID</CODE> in the <SPAN class="argument">err</SPAN> member when internally processing data received from the Wii Remote. This problem occurred only when the <CODE>WPADRead</CODE> function was used. It did not occur when auto sampling was used.
856</p><p>
857This problem has been corrected.</p>
858
859<hr />
860<h3><a name="note582" id="note582">Note 582 (WPAD): Corrected a problem where an exception would result if an attempt was made to connect the Wii Balance Board while a Wii Remote is connected to 4P</a></h3>
861<p>There was a problem where an exception would result if an attempt was made to connect a Wii Balance Board while a Wii Remote was connected to 4P and the WBC library was linked. This problem existed beginning from SDK 3.2.
862</p><p>
863This problem has been corrected.</p>
864
865<hr />
866<h3><a name="note581" id="note581">Note 581 (WPAD): Hid the display of a specific warning message during debugging</a></h3>
867<p>Formerly, warning messages were displayed, for debug versions only, when executing a process that takes time inside a callback registered with the WPAD Library. These messages are now hidden. (These messages were implemented when the library was first developed. Currently, they may be ignored without problem as long as there are not problems with application behavior.)</p>
868
869<hr />
870<h3><a name="note580" id="note580">Note 580 (WPAD): Revised the <I>Revolution Function Reference Manual</I></a></h3>
871<p>The manual has been revised as follows.</p><p>
872- The <CODE>WPADStatus</CODE> structure's description of its <SPAN class="argument">err</SPAN> member differed from the description given in the <B>Introduction</B> section of the WPAD and KPAD libraries. The information on the <CODE>WPADStatus</CODE> page was old, so it was revised.<br>- A description of the interval during which calling the <CODE>WPADGetGameTitleUtf16</CODE> function is prohibited has been added.
873</p>
874
875<hr />
876<h3><a name="note579" id="note579">Note 579 (WBC): Updated the <I>Wii Balance Board Accessory Programming Manual</I></a></h3>
877<p>The following items have been revised and added to.
878</p><p>
879- Changed the notation &quot;Troubleshooting Mode&quot; to &quot;Wii Balance Board Operations Check.&quot;<br>- Changed &quot;maximum load value that can be handled in a game&quot; in section 2.3 to &quot;maximum weight displayed on-screen during a game.&quot; Added a description of maximum load check points<br>- Added a supplemental description to section 3.3 regarding processing and error message display when loading calibration data fails. Added mention of handling it when the <CODE>WBCSetupCalibration</CODE> function is FALSE.<br>- Added reference information (inspection criteria used at time of shipment) regarding Wii Balance Board zero point drift to section 4.3.<br> - Added the new section 4.4 Fluctuations during Measurements.<br> - Revised function names because they included unintentional hyperlink information.<br> - Changed the year given in the copyright to 2008-2009.<br> - Added a note on the use of the <CODE>WBCRead</CODE> function to section 3.5.<br> - Changed the method of determining whether a person is on the Wii Balance Board in the procedure given in Chapter 5.<br> - Changed the heading in Table 1, section 2.3 to read &quot;Maximum Weight.&quot; Corrected the references to Guideline items.
880</p><p>
881For details, see the revision history of this document.</p>
882
883<hr />
884<h3><a name="note578" id="note578">Note 578 (SC): Added functions for checking Parental Controls</a></h3>
885<p>The <CODE>SCGetWwwRestriction</CODE> function has been added for checking whether use of the Internet Channel is restricted under Parental Controls.</p>
886
887<hr />
888<h3><a name="note577" id="note577">Note 577 (VI): Updated the <I>Video Interface Library Programming Manual</I></a></h3>
889<p>The following items have been revised and added to.
890</p><p>
891- Revised the description of adjusting the horizontal position of the System Settings menu in section 7.1.2.<br> - Deleted the description of the light gun.
892</p><p>
893For details, see the revision history of this document.</p>
894
895<hr />
896<h3><a name="note576" id="note576">Note 576 (OS): Added a function for getting the status of the locked cache</a></h3>
897<p>Added the function <CODE>LCIsEnable</CODE> for getting whether the locked cache of the Broadway processor has been enabled or disabled as set by the <CODE>LCEnable</CODE> or <CODE>LCDisable</CODE> function.</p>
898
899<hr />
900<h3><a name="note575" id="note575">Note 575 (OS): Corrected a problem with the FATAL screen display when running in EU RGB60 progressive mode</a></h3>
901<p>There was a problem where the fatal error screen (and only this screen) was displayed in interlaced mode with 4:3 aspect ratio, even if screen settings for the console had been set to EU RGB60 progressive mode for European version software.
902</p><p>
903This problem has been corrected.</p>
904
905<hr />
906<h3><a name="note574" id="note574">Note 574 (OS): Revised the <I>Revolution Function Reference Manual</I></a></h3>
907<p>
908- To the <I>Revolution Function Reference Manual</I> description of their return values, added the fact that the <CODE>OSDisableInterrupts</CODE> and <CODE>OSEnableInterrupts</CODE> function return values indicate the status before these functions are called.<br> - Added information about LCF files and the arena location to <B>Restrictions on DOL Files and Boot-Related Terminology</B> in the <I>Revolution Function Reference Manual</I>.<br> - Added information to <CODE>OSGetCurrentThread</CODE>'s function reference about precautions when the <CODE>OSGetCurrentThread</CODE> function is called inside an exception handler or callback function.
909</p>
910
911<hr />
912<h3><a name="note573" id="note573">Note 573 (OS): Added the OSLog Library</a></h3>
913<p>The <CODE>OSReportViewer</CODE> tool for viewing results output to Wii console NAND memory and copying those results to an SD has been added to libraries that allow Wii console NAND memory to be specified as the output destination for <CODE>OSReport</CODE>.</p><p>For details, see the full list in <B>OSLog Overview</B> in the <I>OS Reference Manual</I>.</p>
914
915<hr />
916<h3><a name="note572" id="note572">Note 572 (OS): Added information about size restrictions on applications</a></h3>
917<p>Information about size restrictions on DOL files and NAND applications has been added.</p><p>
918For details, see <B>Restrictions on DOL Files and Boot-Related Terminology</B> in the <I>OS Reference Manual</I> full list and the <I>NADK Manual</I>'s <B>Introduction</B>.</p>
919
920<hr />
921<h3><a name="note571" id="note571">Note 571 (KPAD): Changed the weight measurement process of the Wii Balance Board</a></h3>
922<p>Weight measurements by the Wii Balance Board are carried out based on data for the most recent 2 seconds, but it was taking about 10 seconds for accurate weights to be measured. Because the average value over the most recent 2 seconds was being constantly calculated, it took more time than required for the weight to stabilize.
923</p><p>
924Specifications have been changed so that an accurate weight can be measured in about 2 seconds by changing the calculation start function (<CODE>KPADResetWbcTgcWeight</CODE> function) when making weight measurements.
925</p><p>
926Note that the members of the <CODE>KPADInsideStatus</CODE> and <CODE>KPADEXStatus</CODE> structures were also changed when this change was made.</p>
927
928<hr />
929<h3><a name="note570" id="note570">Note 570 (KPAD): Changed the return values of the <CODE>KPADSetSamplingCallback</CODE> and <CODE>KPADSetConnectCallback</CODE> functions</a></h3>
930<p>The return values of these functions have been changed to return a pointer to the callback function set up in advance.</p>
931
932<hr />
933<h3><a name="note569" id="note569">Note 569 (KPAD): Corrected a problem where the Wii Balance Board would recalibrate upon connection of a Wii Remote</a></h3>
934<p>There was a problem where calibration of the Wii Balance Board would be reset during connection processing performed when a Wii Remote was connected while a Wii Balance Board was connected. This problem has been corrected.</p>
935
936<hr />
937<h3><a name="note568" id="note568">Note 568 (GX): Changed the conditions that generate <CODE>GXSetVerifyLevel</CODE> Warning #90</a></h3>
938<p>Specifications have been changed so that a warning is not issued when <CODE>GX_DF_NONE</CODE> is specified. This was done because there were cases where a warning related to a lighting normal vector (<CODE>GXSetVerifyLevel</CODE> Warning #90) was being generated even though <CODE>GX_DF_NONE</CODE>, which disables normal vector calculations, had been specified using <CODE>GXSetChanCtrl</CODE>.</p>
939
940<hr />
941<h3><a name="note567" id="note567">Note 567 (GX): Updated the Programming Manual</a></h3>
942<p>Made the following revisions to the <I>Revolution Graphics Library (GX) Programming Manual</I>.
943</p><p>
944- Corrected the title of Figure D-2 from &quot;Texture File Formats&quot; to &quot;Texture Tile Formats.&quot;
945</p><p>
946Changes included beginning from SDK 3.2 patch, that have not been listed in the release notes up to this point, are given below.
947</p><p>
948- Added a note about handling vertices that have a position coordinate index and array index.<br>- Added information on functions that flush the &quot;lazy state.&quot;<br>
949</p>
950For details on other corrections and edits, see the document's revision history.
951</p>
952
953<hr />
954<h3><a name="note566" id="note566">Note 566 (GX): Revised the <I>Revolution Function Reference Manual</I></a></h3>
955<p>Errors related to Scissor in the reference manuals for the following functions have been corrected.<br>- GXSetScissor<br> - GXSetScissorBoxOffset
956</p><p>
957Errors related to Viewport in the reference manuals for the following functions have been corrected.<br>- GXSetViewport<br> - GXSetViewportv<br> - GXSetViewportJitter<br> - GXGetViewport
958</p>
959
960<hr />
961<h3><a name="note565" id="note565">Note 565 (GX): Added functions for getting states</a></h3>
962<p>The following functions for getting the various states have been added.<br>- GXGetColorUpdate<br> - GXGetAlphaUpdate<br> - GXGetPixelFmt<br> - GXGetDither<br>
963</p><p>
964These functions correspond to the following functions for setting these states.<br>- GXSetColorUpdate<br> - GXSetAlphaUpdate<br> - GXSetPixelFmt<br> - GXSetDither<br></p>
965
966<hr />
967<h3><a name="note564" id="note564">Note 564 (DVD): Updated the <I>Optical Disc Drive Library Programming Manual</I></a></h3>
968<p>The <I>Optical Disc Drive Library Programming Manual</I> has been revised as follows.
969</p><p>
970- Some contents have been transferred from the <I>Optical Disc Drive Guidelines</I> and re-edited.<br> - Updated the total capacity value for optical discs to represent the total capacity that can be used by developers.<br> - Added information about checking the disc upon restart by an application.
971</p><p>
972For details on other corrections and edits, see the document's revision history.</p>
973
974<hr />
975<h3><a name="note563" id="note563">Note 563 (DVD): Added the sample demo <CODE>checkdisk</CODE></a></h3>
976<p>The demo <CODE>checkdisk</CODE> has been added to the DVD sample demos.
977</p><p>
978For details, see the <I>Revolution Function Reference Manual</I>.</p>
979
980<hr />
981<h3><a name="note562" id="note562">Note 562 (DVD): Added the <CODE>DVDIsDiskIdentified</CODE> function</a></h3>
982<p>The <CODE>DVDIsDiskIdentified</CODE> function has been added..
983</p><p>
984Use of this function allows you to get whether the disc has been identified when the DVD command is BUSY.
985</p><p>
986For details, see the <I>Revolution Function Reference Manual</I>.</p>
987
988<hr />
989<h3><a name="note561" id="note561">Note 561 (CX): Changed padding due to undetermined values when using <CODE>ntcompress.exe</CODE></a></h3>
990<p>The end of data was being padded with some undetermined value when converting data using <CODE>ntrompress.exe</CODE> with the <CODE>-A</CODE> option specified, so sometimes even when identical data was converted the resulting binaries would not match.
991</p><p>
992This problem has been corrected.</p>
993
994<hr />
995<h3><a name="note560" id="note560">Note 560 (CX): Added a description of the work buffer</a></h3>
996<p>A description of the <CODE>work</CODE> variable (work buffer) was left out of the reference for the <CODE>CXUncompressLH</CODE> and <CODE>CXUncompressLRC</CODE> functions. Also, an error in the description of the work buffer in a comment found in the source code file <CODE>CXUncompression.c</CODE> has been corrected.</p>
997
998<hr />
999<h3><a name="note559" id="note559">Note 559 (Audio): Corrected a problem where the default output format when using <CODE>sndconv.exe</CODE> was being ignored</a></h3>
1000<p>If there was no output format specified in the script file when using the <CODE>sndconv.exe</CODE> tool in the Sound Pipeline (SP) library, specifications called for the format specified by argument to be used as the default output format. However, in reality, the argument specification was being ignored, and ADPCM format was being used every time.
1001</p><p>
1002This problem has been corrected.</p>
1003
1004<hr />
1005<h3><a name="note558" id="note558">Note 558 (Audio): Standardized the behavior of the <CODE>AXGetAdpcmData</CODE> function to match <CODE>dspadpcm.exe</CODE></a></h3>
1006<p>A problem was corrected where the value of the <CODE>num_samples</CODE> and <CODE>num_adpcm_nibbles</CODE> members of the <CODE>DSPADPCM</CODE> structure output by the <CODE>AXGetAdpcmData</CODE> function differed when conversion was made to DSP-ADPCM using <CODE>dspadpcm.exe</CODE>.
1007</p><p>
1008This problem has been corrected.</p>
1009
1010<hr />
1011<h3><a name="note557" id="note557">Note 557 (Audio): Corrected an error in the header file <CODE>ax.h</CODE></a></h3>
1012<p>There was an error in the comment related to the <CODE>gain</CODE> member of the <CODE>AXPBADPCM</CODE> structure found in the AX library header file <CODE>ax.h</CODE>.
1013</p><p>
1014This problem has been corrected.</p>
1015
1016<hr />
1017<h3><a name="note556" id="note556">Note 556 (Audio): Added a description of the &quot;thread-safe&quot; concept</a></h3>
1018<p>A description of thread-safe operations of AX library functions has been added to the function references and the AX library manual.</p>
1019
1020<hr />
1021<h3><a name="note555" id="note555">Note 555 (Audio): Added notes regarding AX library initialization and the set of AI DMA interrupt callbacks</a></h3>
1022<p>The AX library calls the <CODE>AIRegisterDMACallback</CODE> function inside the initialization function (for example, <CODE>AXInit</CODE>) to set the AI DMA interrupt callback for the AX library. At this time, any callback previously set by the AX library initialization function is overwritten by the AX callback.
1023</p><p>
1024This note was added to the AX and AI function references.</p>
1025
1026<hr />
1027<h3><a name="note554" id="note554">Note 554 (Audio): Added a function for converting from DSP-ADPCM to 16-bit PCM</a></h3>
1028<p>The <CODE>AXDecodeAdpcmData</CODE> function has been added for using the Wii CPU to decompress back to 16-bit PCM the data converted on the Wii from 16-bit PCM to DSP-ADPCM using the <CODE>AXGetAdpcmData</CODE> function.</p><p>
1029For details on use, see the <I>Revolution Function Reference Manual</I>.</p>
1030
1031<hr />
1032<h2 style="line-height: 0"><a name="20080730p2" id="20080730p2">* 2008/07/30 SDK Version 3.2 Patch 2 </a> <div style="text-align: right">(2008/10/01)</div></h2><hr />
1033<h3><a name="note553" id="note553">Note 553 (TOOL): (IMPORTANT) Updated console firmware</a></h3>
1034<p>Made a minor version update to console firmware 53.16.17 and 55.18.25. These were previously 53.15.17 and 55.15.24.
1035</p><p>
1036Update system firmware after applying this patch and before running applications. Since SDK 3.1, firmware has been available in two versions, standard and extended, and you can select either to use for each title. For details, refer to the Cautions section of the SDK readme. For instructions on updating the version, refer to the Installation Procedure section of the SDK readme. </p>
1037<hr />
1038<h3><a name="note552" id="note552">Note 552 (CX): Updated the names of <CODE>CXiInitUncompContext**Front</CODE> functions</a></h3>
1039<p> Changed the prefix of the following five functions from <CODE>CXi</CODE> to <CODE>CX</CODE> because of a discrepancy with the function reference.
1040
1041 There are still macros that provide aliases to the old function names, but these may be deleted in future versions.
1042
1043</p><p>
1044 - <CODE>CXiInitUncompContextRLFront</CODE><br>
1045 - <CODE>CXiInitUncompContextLZFront</CODE><br>
1046 - <CODE>CXiInitUncompContextHuffmanFront</CODE><br>
1047 - <CODE>CXiInitUncompContextLHFront</CODE><br>
1048 - <CODE>CXiInitUncompContextLRCFront</CODE></p>
1049
1050<hr />
1051<h3><a name="note551" id="note551">Note 551 (DOC): Replaced the <I>Revolution Transition Guide</I></a></h3>
1052<p>Replaced the <I>Revolution Transition Guide</I> because an old version had been mistakenly released.</p>
1053
1054<hr />
1055<h3><a name="note550" id="note550">Note 550 (KBD): Revised the <I>Revolution Function Reference Manual</I></a></h3>
1056<p>Revised a description of the order in which KBD functions are called.</p>
1057
1058<hr />
1059<h3><a name="note549" id="note549">Note 549 (HID): Added a function reference manual</a></h3>
1060<p>Added the HID reference manual.</p>
1061
1062<hr />
1063<h3><a name="note548" id="note548">Note 548 (OS): Added a feature to check the firmware version</a></h3>
1064<p>Added a feature that will return the following error messages and quit the OS when it is started without the SDK's required firmware installed on the Wii console.
1065</p><p>
1066- Message displayed onscreen (with a blue background) <br>ERROR #002<br> An error has occurred.<br> Press the Eject Button, remove the<br> Game Disc, and turn off the power to<br> the console.<br> Please read the Wii Operations Manual<br> for further instructions.<br>
1067</p><p>
1068- Debugging message output to the console <br> OS ERROR:This firmware is an improper version for this SDK. Please use a correct Firmware.</p>
1069
1070<hr />
1071<h3><a name="note547" id="note547">Note 547 (OS): Changed behavior when a nonexistent function is passed to <CODE>OSExec*</CODE> functions</a></h3>
1072<p>Previously, <CODE>OSExec*</CODE> functions would internally output an assert message and halt execution when passed a nonexistent file. This behavior did not follow specifications, so the functions have been changed to only output a warning message, without halting execution.</p>
1073
1074<hr />
1075<h2 style="line-height: 0"><a name="20080730p1" id="20080730p1">* 2008/07/30 SDK Version 3.2 Patch 1 </a> <div style="text-align: right">(2008/09/10)</div></h2><hr />
1076<h3><a name="note546" id="note546">Note 546 (TOOL): Updated DEVKIT System Menu to version 1.18</a></h3>
1077<p>The following problems related to save data operations when working with backup save data on the Wii Menu have been corrected.
1078</p><p>
1079- The size of <CODE>banner.bin</CODE> was always 61,600 bytes when writing save data back to Wii system memory.
1080  <br>- A failure would result when attempting to write save data back to Wii console NAND memory by overwriting the save data of a non-disc application.
1081
1082</p>
1083<hr />
1084<h3><a name="note545" id="note545">Note 545 (TOOL): Corrected a problem where the firmware installer would not start under WiiMenu</a></h3>
1085<p>There was a problem where the firmware installer (the installer rvm'ed by executing the <CODE>makeUpdateDisc</CODE> command on <CODE>swupdate*.gcm</CODE>) could not be started from the Disc Channel of the Wii Menu.
1086</p><p>
1087This problem has been corrected.</p>
1088
1089<hr />
1090<h3><a name="note544" id="note544">Note 544 (GX): Corrected sample demos</a></h3>
1091<p>Revised the displayed guide to operations for the following GX sample demos.
1092</p><p>
1093G2D-test<br> DL_tex<br> DL-tf-mtx<br> ind-tile-test<br> tg-shadow2</p>
1094
1095<hr />
1096<h3><a name="note543" id="note543">Note 543 (GX): Revised the programming manual for compressed texture formats</a></h3>
1097<p>Revised Figures 4-1 and 4-2 in Chapter 4 of the <I>Compressed Texture Format Programming Manual</I> (<CODE>CMPR_Texture.pdf</CODE>).</p>
1098
1099<hr />
1100<h3><a name="note542" id="note542">Note 542 (GX): Updated the <I>GX Programming Manual</I></a></h3>
1101<p>Made the following revisions to the <I>GX Programming Manual</I>.
1102</p><p>
1103- Added a note about handling vertices that have a position coordinate index and array index<br>- Added information on functions that flush the &quot;lazy state&quot;
1104</p><p>
1105For details on other corrections and edits, see the document's revision history. </p>
1106
1107<hr />
1108<h3><a name="note541" id="note541">Note 541 (GX): Updated the <I>Revolution Function Reference Manual</I></a></h3>
1109<p>
1110- Added information to Note 1 of the <CODE>GXSetTexCopyDst</CODE> reference about reasons for using formats such as R8 and RA8<br>- Added information related to specification changes to the <CODE>GXGetCPUFifo</CODE> function beginning from SDK 3.1 patch 3 to the <CODE>GXGetCPUFifo</CODE> pages in the <I>Revolution Function Reference Manual</I><br>- Added information to the <CODE>GXSetTexCoordGen2</CODE> reference about the method of calculating 2D texture coordinates when using <CODE>GX_TG_MTX3x4</CODE> <br>- Added information to the <CODE>GXSetVtxDesc</CODE> pages of the <I>Revolution Function Reference Manual</I> about known hardware bugs of the Wii graphics processor <br>
1111</p>
1112
1113<hr />
1114<h3><a name="note540" id="note540">Note 540 (GX): Corrected a problem causing a possibility that the GP would freeze when an orthogonally projected fog was specified for <CODE>GXSetFog</CODE></a></h3>
1115<p>There was a possibility that GP registers would be unexpectedly corrupted and the GP would freeze if <CODE>GX_FOG_ORTHO_***</CODE> was specified for <CODE>GXSetFog</CODE>. There was no problem if <CODE>GX_FOG_PERSP_***</CODE> was specified.
1116</p><p>
1117This problem has been corrected.</p>
1118
1119<hr />
1120<h3><a name="note539" id="note539">Note 539 (HIO2): Corrected mistakes in the <I>Hio2If Programming Manual</I></a></h3>
1121<p>
1122A typo in the <I>Hio2If Programming Manual</I> was corrected. For details, see the revision history.</p>
1123
1124<hr />
1125<h3><a name="note538" id="note538">Note 538 (KBD): Corrected a problem with buffer initialization</a></h3>
1126<p>There was a problem where the buffer passed to the <CODE>KBDInit</CODE> function was not being initialized appropriately. Changes were made so that the buffer is correctly initialized inside <CODE>KBDInit</CODE>.</p>
1127
1128<hr />
1129<h3><a name="note537" id="note537">Note 537 (KPAD): Added a supplement to Release Note 504</a></h3>
1130<p>Use of the <CODE>WPADSetConnectCallback</CODE> function is prohibited, but only while using the KPAD library. Therefore, call the <CODE>WPADSetConnectCallback</CODE> function as usual when using only the WPAD library.</p>
1131
1132<hr />
1133<h3><a name="note536" id="note536">Note 536 (KPAD): Revised so that a circular clamp is used by default for stick clamping</a></h3>
1134<p>Although the function reference stated that circular clamp is used as default, the cross clamp was actually being used as default. Revisions have been made so that the circle clamp is now used as default as stated in the function reference.</p>
1135
1136<hr />
1137<h3><a name="note535" id="note535">Note 535 (KPAD): Revised so that the callback function registered using <CODE>WPADSetConnectCallback</CODE> is not cleared internally by the <CODE>KPADInit</CODE> function</a></h3>
1138<p>The application was clearing the registered callback function before ever calling the <CODE>KPADInit</CODE> function because the <CODE>WPADSetConnectCallback</CODE> function was being called inside the <CODE>KPADInit</CODE> function library. Revisions were made so that already-registered callback functions are not cleared inside the <CODE>KPADInit</CODE> function.
1139</p><p>
1140In addition, because the application does not clear the registered callback function even if the <CODE>KPADShutdown</CODE> function is called, the callback function is no longer cleared when the KPAD library starts or stops.</p>
1141
1142<hr />
1143<h3><a name="note534" id="note534">Note 534 (MAN): Corrected typos and formatting throughout the <I>Revolution Function Reference Manual</I></a></h3>
1144<p>Typos, incorrect tags, and inconsistent use of terminology have been corrected throughout the <I>Revolution Function Reference Manual</I>. The format of A-to-Z order on the top page has also been revised.</p>
1145
1146<hr />
1147<h3><a name="note533" id="note533">Note 533 (NAND): Updated the function manual</a></h3>
1148<p>The fact that the GameName specified by the DDF file at time of ELF file execution is not reflected in &quot;title-id (Low)&quot;, and that it is necessary to directly specify GameName using <CODE>setinitialcode</CODE>, has been added to the description of &quot;title-id (Low)&quot; given under <B>Introduction</B> - <B>Directory Structure</B>.</p>
1149
1150<hr />
1151<h3><a name="note532" id="note532">Note 532 (VI): Corrected a problem with initial gamma settings</a></h3>
1152<p>There was a rare problem where gamma correction settings were sometimes not being initialized correctly at time of reset. This problem has been corrected.</p>
1153
1154<hr />
1155<h3><a name="note531" id="note531">Note 531 (OS): Corrected a fatal problem with <CODE>OSSleep</CODE>-type functions</a></h3>
1156<p>There was a problem, occurring while a thread is stopped by thread-internal execution of one of the functions listed below, where processing would hang within the library when the stopped thread was cancelled by another thread using the <CODE>OSCancelThread</CODE> function. This problem has been corrected.
1157</p><p>
1158OSSleepTicks<br> OSSleepSeconds<br> OSSleepMilliseconds<br> OSSleepMicroseconds<br> OSSleepNanoseconds<br>
1159</p><p>
1160Upon the correction of this problem, the tag &quot;-1&quot; (<CODE>0xFFFFFFFF</CODE>) , one of the tags handled by the <CODE>OSSetAlarmTag</CODE> and <CODE>OSCancelAlarms</CODE> functions, has been newly reserved as an OS tag. Be aware of this.&nbsp;</p>
1161
1162<hr />
1163<h3><a name="note530" id="note530">Note 530 (OS): Updated the reference manual</a></h3>
1164<p>
1165- &quot;Suspended&quot; has been added to the active thread states described in the function reference manual for <CODE>OSCheckActiveThreads.html</CODE>.<br> - The state transition diagram for threads described in <CODE>RVL_SDK/man/en_us/os/Thread/intro.html</CODE> has been updated.</p>
1166
1167<hr />
1168<h3><a name="note529" id="note529">Note 529 (OS): Updated the <I>OS Programming Manual</I></a></h3>
1169<p>Made the following revisions to the <I>OS Programming Manual</I>.
1170</p><p>
1171- Section 9.3:   Revised so that the <CODE>OSInit</CODE> function is not called by Code 9-1<br>- Section 9.6:    &quot;Suspended&quot; has been added as an active thread state<br>- Section 9.7:    The precautionary message for threads and callbacks has been changed
1172</p>
1173
1174<hr />
1175<h3><a name="note528" id="note528">Note 528 (PAD): Revised the <I>OS Programming Manual</I></a></h3>
1176<p>Added information about a problem where the origin is not reset correctly under specific conditions entailed in the specifications.</p>
1177<p>This problem that has existed from the beginning, but was not documented until now.</p>
1178
1179<hr />
1180<h3><a name="note527" id="note527">Note 527 (WBC): Corrected sample demos</a></h3>
1181<p>A problem has been corrected where the work memory for processing Wii Balance Board registration data was not being configured by the initialization process of the <CODE>handling_weight</CODE> demo.</p>
1182
1183<hr />
1184<h3><a name="note526" id="note526">Note 526 (WBC): Corrected a problem with the <CODE>WPADIsRegisteredBLC</CODE> function</a></h3>
1185<p>A problem has been corrected where, when Japanese-version WiiFit save data was present on the Wii Console, the <CODE>WPADIsRegisteredBLC</CODE> function, used to confirm whether the Wii Balance Board is registered when an application is restarted, returned <CODE>TRUE</CODE> even if all registered information was deleted by holding down the SYNC button on the Wii Console for 10 seconds.</p>
1186
1187<hr />
1188<h3><a name="note525" id="note525">Note 525 (WBC): Made additions to the <I>WBC Programming Manual</I></a></h3>
1189<p>The <I>WBC Programming Manual</I> has been added under the directory <CODE>./docs/en_US/Programmer's_Guide/</CODE>.
1190</p>
1191
1192<hr />
1193<h3><a name="note524" id="note524">Note 524 (WBC): Revised the function reference</a></h3>
1194<p>Revised the description of information to be noted for Wii Balance Board-compatible applications intended for Japan.</p>
1195
1196<hr />
1197<h3><a name="note523" id="note523">Note 523 (WBC): Revised the work memory confirmation processing that is part of initialization</a></h3>
1198<p>Because a work memory is required for synchronizing Wii Balance Board registration information with the Japanese version of WiiFit during initialization when using Wii Balance Board-compatible applications intended for Japan, changes have been made to make absolutely certain whether or not work memory has been configured and, if not configured, to issue a warning and stop execution.</p>
1199
1200<hr />
1201<h3><a name="note522" id="note522">Note 522 (WPAD): Corrected sample demos</a></h3>
1202<p>Although in some demos the <CODE>WPADRead</CODE> function was called only when the return value of the <CODE>WPADProbe</CODE> function was <CODE>WPAD_ERR_NONE</CODE>, these demos were revised because the <CODE>WPADRead</CODE> function can be called at all times except when the <CODE>WPADProbe</CODE> function returns <CODE>WPAD_ERR_NO_CONTROLLER</CODE>.</p>
1203
1204<hr />
1205<h3><a name="note521" id="note521">Note 521 (WPAD): Revised warning messages</a></h3>
1206<p>The warning message displayed to debug output when the <CODE>WPADSetConnectCallback</CODE> or <CODE>WPADSetSamplingCallback</CODE> function was called while using the KPAD library has been changed.</p>
1207
1208<hr />
1209<h3><a name="note520" id="note520">Note 520 (WPAD): Corrected a problem with the pointer-calibration process</a></h3>
1210<p>The WPAD library processes pointers by internally reading out the pointer-calibration values maintained for each Wii Remote. Due to a problem with this process, with some Wii Remotes the pointer would jump when moved.
1211</p><p>
1212This problem was included in the update from SDK 3.1 patch 4 to SDK 3.2, so it has been corrected.</p>
1213
1214<hr />
1215<h2 style="line-height: 0"><a name="20080730" id="20080730">2008/07/30 SDK Version 3.2 </a> <div style="text-align: right">(2008/07/30)</div></h2><hr />
1216<h3><a name="note519" id="note519">Note 519 (ARC): Fixed a bug that caused the path stored in an archive file to depend on the environment in which it was created</a></h3>
1217<p>Changed the path stored in the archive file created by <CODE>darchD.exe</CODE>. It will no longer specify a path that depends on the environment when the archive file was created.
1218</p>
1219
1220<hr />
1221<h3><a name="note518" id="note518">Note 518 (DEMO): Added the <CODE>MEM_HEAP_OPT_THREAD_SAFE</CODE> option to the extended heap created in the <CODE>DEMOInit</CODE> function. </a></h3>
1222<p>The <CODE>MEM_HEAP_OPT_THREAD_SAFE</CODE> option can now be specified for the extended heap created in the <CODE>DEMOInit</CODE> function.</p><p>
1223By setting <CODE>DemoUseMEM_HEAP_OPT_THREAD_SAFE</CODE> equal to <CODE>TRUE</CODE> before calling the <CODE>DEMOInit</CODE> function, the <CODE>MEMCreateExpHeapEx</CODE> function is called internally with the <CODE>MEM_HEAP_OPT_THREAD_SAFE</CODE> argument. If the option is not specified, the <CODE>MEMCreateExpHeap</CODE> function is called in the same way as it was before.</p>
1224
1225<hr />
1226<h3><a name="note517" id="note517">Note 517 (CNT): Renamed <CODE>strapimagedemo</CODE> to <CODE>strapcntdemo</CODE> and combined it with <CODE>demos/cntdemo</CODE>.</a></h3>
1227<p>Renamed to <CODE>strapimagedemo</CODE> NADK sample demo to <CODE>strapcntdemo</CODE> and combined it with <CODE>demos/cntdemo</CODE>.
1228</p><p>
1229Also changed the demo's behavior to follow the guideline for displaying the Strap Usage screen to some extent.</p>
1230
1231<hr />
1232<h3><a name="note516" id="note516">Note 516 (CNT): Combined <CODE>datatitledemo</CODE> with <CODE>cntdemo</CODE>.</a></h3>
1233<p>Combined <CODE>datatitledemo</CODE> with <CODE>cntdemo</CODE>.
1234</p><p>
1235Also revised the description of the <CODE>datatitledemo</CODE> because it did not match the behavior of the most recent version.<p>
1236
1237<hr />
1238<h3><a name="note515" id="note515">Note 515 (CNT): Updated the <I>Revolution Function Reference Manual</I></a></h3>
1239<p>Added a note to <CODE>man/en_US/nadk/shared/StrapImage.html</CODE> in the <I>Revolution Function Reference Manual</I> in relation to the use of the image content file for the Strap Usage screen when the screen aspect ratio is set to 16:9.</p>
1240
1241<hr />
1242<h3><a name="note514" id="note514">Note 514 (FNT): Added descriptions of modifications and character sets to the <I>Revolution Function Reference Manual</I>.</a></h3>
1243<p>Added a description to the <I>Revolution Function Reference Manual</I> concerning the character sets included in the Wii bitmap fonts. Also added an explanation for modifying the Wii bitmap fonts.
1244</p><p>
1245For details, see the Introduction in the FNT section of the <I>Revolution Function Reference Manual</I>.</p>
1246
1247<hr />
1248<h3><a name="note513" id="note513">Note 513 (GX): Updated the <I>Revolution Function Reference Manual</I>.</a></h3>
1249<p>
1250- Fixed errors in the performance notation in <CODE>GX.pdf</CODE>, and updated old content. <br>- Revised the formula for calculating <CODE>GX_TG_SRTG</CODE> cycles in <CODE>man/en_US/gx/Performance/VertexPerformance.html</CODE>.</p>
1251
1252<hr />
1253<h3><a name="note512" id="note512">Note 512 (GX): Revised the <I>Revolution Graphics Library (GX)</I> programming manual </a></h3>
1254<p>Made the following revisions to the <I>Revolution Graphics Library (GX)</I> programming manual.</p>
1255<p>
1256- Removed a chapter comparing the GX library and OpenGL. <br>- Added XF stall information.
1257</p><p>
1258Other error corrections and revisions were made. For details, refer to each document's <B>Revision History</B>.
1259</p>
1260
1261<hr />
1262<h3><a name="note511" id="note511">Note 511 (KPAD): Revised the <I>Revolution Function Reference Manual</I>.</a></h3>
1263<p>Added information on Wii Menu settings for the following functions.
1264</p><p>
1265KPADSetPosPlayMode<br>
1266KPADSetHoriParam<br>
1267KPADSetHoriPlayMode<br>
1268KPADSetDistParam<br>
1269KPADSetDistPlayMode<br>
1270KPADSetAccParam<br>
1271KPADSetAccPlayMode<br>
1272KPADSetBtnRepeat
1273</p><p>
1274Added a supplementary description of normalized coordinates for the following functions.
1275</p><p>
1276<CODE>KPADGetProjecttionPos</CODE></p>
1277
1278<hr />
1279<h3><a name="note510" id="note510">Note 510 (OS): Added information on DOL file restrictions and boot-related terminology.</a></h3>
1280<p>Added DOL file restrictions and boot-related terminology, which are required to create a Wii disc application, to the OS section of the <I>Revolution Function Reference Manual</I>. For details, refer to <B>Restrictions on DOL Files and Boot-Related Terminology</B>, which is located in the OS section of the <I>Revolution Function Reference Manual</I> under <B>Overview</B>.</p>
1281
1282<hr />
1283<h3><a name="note509" id="note509">Note 509 (OS): Reformed the <I>OS Programming Manual</I>.</a></h3>
1284<p>Reformed the <I>OS Programming Manual</I> to be applicable to the Wii console.</p>
1285
1286<hr />
1287<h3><a name="note508" id="note508">Note 508 (TPL): Updated the <I>Texture Palette Library Manual</I>.</a></h3>
1288<p>Updated the <I>Revolution Texture Palette Library (TPL)</I> manual (<CODE>Graphics_Programmer's_Guide/TPL.pdf</CODE>).
1289</p><p>
1290In accordance with updates, changed the &quot;TPL file&quot; and &quot;TPL data&quot; notations used by TPL items in the <I>Revolution Function Reference Manual</I> to &quot;texture palette&quot;. Also added <B>Texture Conversion</B> (TexConv) to the <B>Tool and Command Function List</B> in the <I>Revolution Function Reference Manual</I>.</p>
1291
1292<hr />
1293<h3><a name="note507" id="note507">Note 507 (WPAD): Revised descriptions of the <CODE>WPADInfo</CODE> structure's <CODE>lowBat</CODE> member variable.</a></h3>
1294<p>Added information to <B>Description</B> in the following files, to the effect that the variable voltage for the brightness of the Wii Remote's Player Indicators exhibits hysteresis, although the <CODE>lowBat</CODE> member of the <CODE>WPADInfo</CODE> structure indicates if the Player Indicators have grown dim when the remaining battery charge decreases.
1295</p><p>
1296<CODE>- WPADInfo<br> - WPADGetInfo<br> - WPADGetInfoAsync</CODE></p>
1297
1298<hr />
1299<h2 style="line-height: 0"><a name="20080716" id="20080716">2008/07/16 SDK 3.2 RC2</a> <div style="text-align: right">(2008/07/16)</div></h2><hr />
1300<h3><a name="note506" id="note506">Note 506 (TOOL): Release of system firmware version 55.15.24.</a></h3>
1301<p>Updated the extended firmware to version 55.15.24.
1302</p><p>
1303Update system firmware after applying this patch and before running applications. Since SDK 3.1, the firmware has become available in two versions -- standard and extended -- and you can select either to use for each title. For details, refer to the Cautions section of the SDK readme. For instructions on updating the version, refer to the Installation Procedure section of the SDK readme.
1304</p><p>
1305The standard firmware has been left unchanged at version 53.15.17.</p>
1306
1307<hr />
1308<h3><a name="note505" id="note505">Note 505 (TOOL): Added an Nmenu WAD file to the package.</a></h3>
1309<p>Added an Nmenu WAD file to the package. By installing this as a channel on a development console, you can omit procedures for starting a disc from the Wii Menu.</p>
1310
1311<hr />
1312<h3><a name="note504" id="note504">Note 504 (KPAD): Added the <CODE>KPADSetConnectCallback</CODE> function and prohibited use of the <CODE>WPADSetConnectCallback</CODE> function.</a></h3>
1313<p>The KPAD library has been updated to process connection notification events internally. As a result, applications can no longer call the <CODE>WPADSetConnectCallback</CODE> function. Instead, the <CODE>KPADSetConnectCallback</CODE> function has been added. The callback established by this function will be called each time a connection notification event occurs, as before.
1314</p><p>
1315Give NULL as an argument to this function to delete callbacks that have been set up using the <CODE>KPADSetConnectCallback</CODE> function. When the <CODE>KPADShutdown</CODE> function is called, callbacks that have been set will be configured with the <CODE>WPADSetConnectCallback</CODE> function in the KPAD library. Consequently, callbacks will be invoked when connection notification events occur, even if the KPAD library has been shut down.</p>
1316<p>This item was first added in version 3.2 PR of the SDK.</p>
1317
1318<hr />
1319<h3><a name="note503" id="note503">Note 503 (CNT): Added support for <CODE>CNT_RESULT_UNKNOWN</CODE> to the manual.</a></h3>
1320<p>Although applications were supposed to support the CNT result code <CODE>CNT_RESULT_UNKNOWN</CODE> until now, it was not specifically explained how to do so. This has now been added to the manual.
1321</p><p>
1322For more details, refer to the Result Code List and Processing for NAND Applications in the NADK Introduction.</p>
1323
1324<hr />
1325<h3><a name="note502" id="note502">Note 502 (FNT): Updated the Function Reference.</a></h3>
1326<p>Fixed some lists in the SDK 3.2 RC function reference; they were missing functions that had been added.</p>
1327
1328<hr />
1329<h3><a name="note501" id="note501">Note 501 (ENC): Updated the Function Reference.</a></h3>
1330<p>Revised descriptions of the buffer size units handled by the library. Added an explanation for the character encoding handled by <CODE>ENCConvertString[Src]To[Dst]</CODE>.</p>
1331
1332<hr />
1333<h2 style="line-height: 0"><a name="20080701" id="20080701">2008/07/01 SDK Version 3.2 RC</a> <div style="text-align: right">(2008/07/01)</div></h2><hr />
1334<h3><a name="note500" id="note500">Note 500 (TOOL): Release of system firmware versions 53.15.17 and 55.15.23</a></h3>
1335
1336<p>The standard firmware 53.15.17 and the extended firmware 55.15.23 have been released.
1337</p><p>
1338These are both identical to the intermediate versions 241.8.2 and 243.8.3 released with SDK 3.2 PR2.
1339</p><p>
1340Update system firmware after applying this patch and before running applications. Since SDK 3.1, the firmware has become available in two versions -- standard and extended -- and you can select either to use for each title. For details, refer to the Cautions section of the SDK readme. For instructions on updating the version, refer to the Installation Procedure section of the SDK readme.
1341</p>
1342
1343<hr />
1344<h3><a name="note499" id="note499">Note 499 (TOOL): Revised the firmware for the Online Manual Verification Tool</a></h3>
1345<p>Up until now, the Online Manual Verification Tool could not be started unless the Wii Menu had been installed once. The firmware version has been revised so that now the tool can be used from the SDK alone.</p>
1346
1347<hr />
1348<h3><a name="note498" id="note498">Note 498 (TOOL): Released version 1.1 of the Online Manual Verification Tool</a></h3>
1349<p>The Online Manual Verification Tool is now version 1.1. It includes the following revisions:
1350
1351</p><p>
1352- When the Online Manual Verification Tool was started without being passed the arguments, the system would hang when the A Button was pressed to return to the application. That problem has been corrected.</p>
1353
1354<hr />
1355<h3><a name="note497" id="note497">Note 497 (TOOL): Added tools for setting the game code and company code used when executing disc applications</a></h3>
1356<p>Added the tools <CODE>setinitialcode</CODE> and <CODE>setcompanycode</CODE> for setting the game code and company code in force when executing a disc application.
1357</p><p>
1358Up until now, when <CODE>elf</CODE> and <CODE>rpf</CODE> files were executed, the default game code &quot;<CODE>0000</CODE>&quot; and company code <CODE>0x0002</CODE> would be used. With these new tools, you can freely set these codes.
1359</p><p>
1360<BR><STRONG>Note:</STRONG> When the master data (<CODE>rvm</CODE>) is created, the <CODE><EM>GameName</EM></CODE> and <CODE><EM>Company</EM></CODE> values of the disc ID are used for the game code and company code. Any values you set with these tools will be ignored.</p>
1361
1362<hr />
1363<h3><a name="note496" id="note496">Note 496 (TOOL): Released Chinese and Korean versions of Wii bitmap fonts</a></h3>
1364<p>Chinese and Korean versions of applications each must use specialized Wii bitmap fonts. These fonts have now been added.
1365</p><p>
1366- For disc applications: <br><CODE>/dvddata/fonts_chn<br>/dvddata/fonts_kor</CODE>
1367</p><p>
1368- Shared content files for NAND applications: <br><CODE>/dvddata/archives/WiiBitmapFontsCHN.arc<br>/dvddata/archives/WiiBitmapFontsKOR.arc</CODE>
1369</p><p>
1370
1371The Chinese and Korean versions of the Wii bitmap fonts contain a bug: The index of their default alternate character is not set correctly. To use alternate characters with these fonts, you will need to explicitly specify them.</p>
1372
1373<hr />
1374<h3><a name="note495" id="note495">Note 495 (SC): Published API for getting the wide-area region ID</a></h3>
1375<p>You can now use the <CODE>SCGetSimpleAddressRegionIdHi</CODE> function to obtain the wide-area region ID.
1376</p>
1377<p>For details, see the Function Reference manual.</p>
1378<hr />
1379<h3><a name="note494" id="note494">Note 494 (SC): Published functions for getting console nickname information</a></h3>
1380<p>You can now use the <CODE>SCGetOwnerNickName</CODE> function to get the console nickname information.
1381</p>
1382<p>For details, see the Function Reference manual.</p>
1383
1384<hr />
1385<h3><a name="note493" id="note493">Note 493 (FNT): Added functions for texture sheet tiling</a></h3>
1386<p>Added functions to tile and untile the texture sheets included in the font data.
1387</p><p>
1388<CODE>FNTGetTileBufferSize<br>FNTUntileTexture<br>FNTTileTexture</CODE>
1389</p><p>
1390For details, see the reference for each function.
1391</p>
1392
1393<hr />
1394<h3><a name="note492" id="note492">Note 492 (VI): Updated the <I>Video Interface Library Programming Manual</I></a></h3>
1395
1396<p>Revisions and additions were mainly made to the following sections:
1397</p><p>
1398- 5.2   Procedure for Switching Video Modes in NTSC<br>- 6.5.1 Switching Video Modes in PAL<br>- 7.5.2 Automatic Switching of the Video Mode<br>- 7.1.2 Frame Buffer Size, TV Screen Size, and Position Configuration<br>- 7.1.4 Scaling<br>- 7.8 Aspect Ratios and Configuration Values
1399</p><p>
1400For details, see the revision history of this document.</p>
1401
1402<hr />
1403<h3><a name="note491" id="note491">Note 491 (RSO): Changed the <CODE>RSOLinkFar</CODE> and <CODE>RSOLinkJump</CODE> functions</a></h3>
1404<p>Added internal check code to the <CODE>RSOLinkFar</CODE> and <CODE>RSOLinkJump</CODE> functions to enable relative jumps from the caller's address to the relay code address.</p>
1405
1406<hr />
1407<h3><a name="note490" id="note490">Note 490 (RSO): Organized the RSO library's header file</a></h3>
1408<p>Up until now, there were two kids of header files: <CODE>rso.h</CODE> and <CODE>RSOLink.h</CODE>.  These have been integrated into the single header file <CODE>rso.h</CODE>.</p>
1409<p>With this revision, this item is now the same as that included in the 2007/01/10 version of the RSO package.</p>
1410
1411<hr />
1412<h3><a name="note489" id="note489">Note 489 (RSO): Changed the type of an argument in the <CODE>RSOGetFixedSize</CODE> function</a></h3>
1413
1414<p>The second argument of the <CODE>RSOGetFixedSize</CODE> function has been changed to type <CODE>RSOFixedLevel</CODE>. (Before, it was type <CODE>int</CODE>.)</p>
1415<p>With this revision, this item is now the same as that included in the 2007/01/10 version of the RSO package.</p>
1416
1417<hr />
1418<h3><a name="note488" id="note488">Note 488 (NAND): Updated the <CODE>NANDSimpleSafeCancel</CODE> function reference manual</a></h3>
1419<p>Corrected the conditions under which <CODE>NANDSimpleSafeCancel[Async]</CODE> must be called. Added support for times when <CODE>NANDSimpleSafeCancel[Async]</CODE> has returned an error.</p>
1420
1421<hr />
1422<h3><a name="note487" id="note487">Note 487 (MEM): Corrected an illegal ASSERT process</a></h3>
1423<p>When the following functions were executed in DEBUG build, a bug would cause the process to halt on an illegal ASSERT.
1424</p><p>
1425<CODE>MEMGetSizeForMBlockExpHeap<br>MEMGetGroupIDForMBlockExpHeap<br>MEMGetAllocDirForMBlockExpHeap</CODE>
1426
1427</p><p>
1428This problem has been resolved.</p>
1429
1430<hr />
1431<h3><a name="note486" id="note486">Note 486 (DVD): Updated the Function Reference</a></h3>
1432<p>Added an explanation to <CODE>DVDCheckDiskAsync</CODE> about the value returned immediately after a disc is inserted.</p>
1433
1434<hr />
1435<h3><a name="note485" id="note485">Note 485 (DVD): Fixed bug causing DVD fatal errors when a disc is repeatedly ejected and inserted</a></h3>
1436<p>There was a bug that caused DVD fatal errors to occur when a disc was repeatedly ejected and inserted during disc reading on the RVT-R READER and the Wii console.
1437</p><p>
1438This problem has been resolved.</p>
1439
1440<hr />
1441<h3><a name="note484" id="note484">Note 484 (Audio): Revised the Function Reference</a></h3>
1442<p>Corrected broken links and variant notation.</p>
1443
1444<hr />
1445<h2 style="line-height: 0"><a name="20080611" id="20080611">2008/06/11  SDK Version 3.2 PR2</a> <div style="text-align: right">(2008/06/11)</div></h2><hr />
1446<h3><a name="note483" id="note483">Note 483 (TOOL): Release of system firmware versions 241.8.2 and 243.8.3 </a></h3>
1447<p>The system firmware has been upgraded, with the standard firmware now 241.8.2 and the extended firmware now 243.8.3.
1448</p><p>
1449Update system firmware after applying this patch and before running applications. Since SDK 3.1, the firmware has become available in two versions -- standard and extended -- and you can select either to use for each title. For details, refer to the Cautions section of the SDK readme. For instructions on updating the version, refer to the Installation Procedure section of the SDK readme.
1450
1451</p><p>
1452Note that the firmware versions 241.8.2 and 243.8.3 are intermediate versions. They are not final versions (versions included in retail products). The final versions will be appropriately versioned and released when SDK 3.2 is officially released.</p>
1453
1454<hr />
1455<h3><a name="note482" id="note482">Note 482 (TOOL): Fixed bug causing DEVKIT System Menu to fail in setting the size of simulated MEM2 memory </a></h3>
1456<p>The DEVKIT System Menu sometimes failed to set the size of simulated MEM2 memory.  That problem has been corrected.</p>
1457
1458<hr />
1459<h3><a name="note481" id="note481">Note 481 (TOOL): Fixed bug preventing <CODE>makeWad</CODE> from creating WAD files containing large numbers of content files</a></h3>
1460<p>There was a bug that caused an error to occur and prevented WAD files from being created if a large number of content files was specified with <CODE>makeWad</CODE>'s <CODE><B>-l</B></CODE> option.
1461</p><p>
1462This problem has been resolved.</p>
1463
1464<hr />
1465<h3><a name="note480" id="note480">Note 480 (TOOL): Integrated the mastering tools</a></h3>
1466<p>Up until now, the various mastering tools like <CODE>makemaster</CODE> and <CODE>rdpack</CODE> were distributed in a package separately from the Revolution SDK.  Those tools have now been integrated into the Revolution SDK.</p>
1467
1468<hr />
1469<h3><a name="note479" id="note479">Note 479 (TOOL): Changed the default handling of data title access restrictions</a></h3>
1470<p>Until now, data titles that were created without using the <CODE><STRONG>-E</STRONG></CODE> option were set by default to allow use by all other titles.  To prevent the creation of data titles with unintended access restrictions, <CODE>makeWad</CODE> has been revised so it now returns an error when a data title is created without any access restrictions.
1471</p><p>
1472When you create a data title, either set some value for allowing access or specify the exact other applications that will have access.</p>
1473
1474<hr />
1475<h3><a name="note478" id="note478">Note 478 (AX): Added functions for DSP-ADPCM encoding</a></h3>
1476
1477<p>Added functions for encoding 16bit monaural PCM data (big endian) to the DSP-ADPCM format, which the Wii's audio DSP can handle.</p>
1478
1479<hr />
1480<h3><a name="note477" id="note477">Note 477 (AX): Added functions for customized compressor tables</a></h3>
1481<p>The following functions have been added to enable customization of volume tables for the compressor:
1482</p><p>
1483<CODE>AXMakeCompressorTable<br>AXSetCompressorTable</CODE>
1484</p><p>
1485For details, see the reference for each function.</p>
1486
1487<hr />
1488<h3><a name="note476" id="note476">Note 476 (GX): Revised the <CODE>perf-geo</CODE> demo</a></h3>
1489
1490<p>In step with the specification change to the <CODE>GXGetCPUFifo</CODE> function, the <CODE>perf-geo</CODE> demo has been changed so that the <CODE>GXFlush</CODE> function is called immediately before the <CODE>GXGetCPUFifo</CODE> function.</p>
1491
1492<hr />
1493<h3><a name="note475" id="note475">Note 475 (KBD): Changed the <CODE>KBDInit</CODE> function</a></h3>
1494<p>The USBKBD library has been replaced as the KBD low-level library by the more general-purpose USB_HID library.
1495</p><p>
1496The <CODE>KBDInit</CODE> function has been altered to support this change.</p>
1497
1498<hr />
1499<h3><a name="note474" id="note474">Note 474 (MTX): Fixed bugs in the <CODE>PSMTXInverse</CODE> and <CODE>PSMTXInvXpose</CODE> functions</a></h3>
1500<p>When a matrix with extremely small elements was given as input, a bug would cause the elements in the resulting inverse matrix to include nonnumerics (NaN), even when the return value was 1.
1501</p><p>
1502This problem has been corrected.
1503
1504</p><p>
1505However, due to the internal changes, the <CODE>PSMTXInverse</CODE> and <CODE>PSMTXInvXpose</CODE> functions now sometimes have slightly different computation results compared to their past versions. Specifically, the value of the computation result will sometimes be slightly different when the result is valid to 8 digits or more.</p>
1506
1507<hr />
1508<h3><a name="note473" id="note473">Note 473 (MTX): Improved the performance of the <CODE>PSMTXInverse</CODE> and <CODE>PSMTXInvXpose</CODE> functions</a></h3>
1509<p>By optimizing the processing of the <CODE>PSMTXInverse</CODE> and <CODE>PSMTXInvXpose</CODE> functions, their performance has been enhanced.</p>
1510
1511<hr />
1512<h3><a name="note472" id="note472">Note 472 (MTX): Corrected the <CODE>PSMTX44MultVecArray</CODE> and <CODE>PSMTXROMultVecArray</CODE> functions and removed unsupported functions</a></h3>
1513<p>The implementations of the <CODE>PSMTX44MultVecArray</CODE> and <CODE>PSMTXROMultVecArray</CODE> functions both had parts that did not conform with Broadway EABI protocol. These functions were revised to be in compliance.
1514</p><p>
1515In addition, functions that were not officially supported were deleted from the source.</p>
1516
1517<hr />
1518<h3><a name="note471" id="note471">Note 471 (RSO): Revised demo programs in step with changes to the OS specification</a></h3>
1519<p>The OS has been changed so code execution in the MEM2 region is now prohibited by default. To support this change, the demo programs <CODE>LinkFar</CODE>, <CODE>LinkJump</CODE> and <CODE>LinkMem2</CODE> have been revised.</p>
1520
1521<hr />
1522<h3><a name="note470" id="note470">Note 470 (SC): Added supported languages to the Function Reference manual</a></h3>
1523<p>The <CODE>SCGetLanguage</CODE> function now supports simplified Chinese, traditional Chinese, and Korean, so this has been added to the manual.</p>
1524
1525<hr />
1526<h3><a name="note469" id="note469">Note 469 (THP): Added support for monaural audio output to the THP demo</a></h3>
1527<p>The THP sample programs (THPSimple and THPPlayer) now support monaural output of audio. Changes and additions were made to the following functions:
1528
1529</p><p>
1530  THPAudioDecode<br>
1531  THPSimpleSetSoundMode<br>
1532  THPSimpleGetSoundMode<br>
1533  THPPlayerSetSoundMode<br>
1534  THPPlayerGetSoundMode
1535</p><p>
1536For details, see the reference for each function.</p>
1537
1538<hr />
1539<h3><a name="note468" id="note468">Note 468 (VI): Deleted mentions of MPAL</a></h3>
1540
1541<p>Mentions of MPAL have been deleted from the Function Reference Manual and the <I>Video Interface Programming Manual</I>.</p>
1542
1543<hr />
1544<h3><a name="note467" id="note467">Note 467 (WPAD): Updated the Function Reference</a></h3>
1545<p>Added an explanation about prohibited processes for the Wii Remote and Classic Controller's +Control Pad.</p>
1546
1547<hr />
1548<h3><a name="note466" id="note466">Note 466 (KPAD): Added the <CODE>KPADReadEx</CODE> function</a></h3>
1549<p>With the <CODE>KPADRead</CODE> function, when the function returns zero, there is no way to know why.  The newly added <CODE>KPADReadEx</CODE> function has the ability to get the reason.</p>
1550<p>The new <CODE>KPADReadEx</CODE> function, like the <CODE>KPADRead</CODE> function, can sometimes destroy the contents of the sampling buffer passed to it as an argument, but when and only when <CODE>KPAD_READ_ERR_NO_DATA</CODE> is returned, the contents at the start of the sampling buffer have been preserved.</p>
1551<p>The information regarding <CODE>KPADReadEx</CODE> and <CODE>KPADRead</CODE> in the Function Reference Manual has been updated.</p>
1552
1553<hr />
1554<h2 style="line-height: 0"><a name="20080528" id="20080528">2008/05/28 SDK Version 3.2 PR</a> <div style="text-align: right">(2008/05/28)</div></h2><hr />
1555<h3><a name="note465" id="note465">Note 465: Consolidated NAND application development kit (NADK) into Revolution SDK</a></h3>
1556<p>The NAND application development kit (NADK) for developing VC and WiiWare channel applications used to be delivered in a different package from the Revolution SDK.  Both packages have now been consolidated into Revolution SDK.</p>
1557
1558<hr />
1559<h3><a name="note464" id="note464">Note 464 (TOOL): Changed the default value for restricted access to data titles</a></h3>
1560<p>Until now, data titles that were created without using the <CODE>-E</CODE> option were set by default to allow use by all other titles.  To prevent the creation of data titles with unintended access restrictions, <CODE>makeWad</CODE> has been revised so it now returns an error when a data title is created without any access restrictions.
1561</p><p>
1562When you create a data title, either set some value for allowing access or specify the exact other applications that will have access.
1563</p>
1564
1565<hr />
1566<h3><a name="note463" id="note463">Note 463 (TOOL): Release of system firmware versions 241.8.1 and 243.8.2</a></h3>
1567<p>The system firmware has been upgraded, with the standard firmware now 241.8.1 and the extended firmware now 243.8.2.
1568</p><p>
1569Update system firmware after applying this patch and before running applications. Since SDK 3.1 the firmware has become available in two versions -- standard and extended -- and you can select either to use for each title. For details, refer to the Cautions section of the SDK <CODE>readme</CODE>. For instructions on updating the version, refer to the Installation Procedure section of the SDK <CODE>readme</CODE>.
1570</p><p>
1571Note that the firmware versions  241.8.1 and 243.8.2 are intermediate versions. They are not final versions (versions included in retail products). The final versions will be appropriately versioned and released when SDK 3.2 is officially released.</p>
1572
1573<hr />
1574<h3><a name="note462" id="note462">Note 462 (TOOL): Updated the DEVKIT system menu</a></h3>
1575<p>The following features have been added:
1576</p><p>
1577- Country information can now be set when the region is US or EU.<br>- In the Parental Controls, you can now set &quot;Restrict online user-to-user communication and the exchange of user generated content?&quot;.
1578</p>
1579
1580<hr />
1581<h3><a name="note461" id="note461">Note 461 (TOOL): Added more ways to specify the game version in makeWad</a></h3>
1582<p>Until now, the game version could only be specified in <CODE>makeWad</CODE> as a decimal number using the <CODE>-I</CODE> option.   Additional ways have been added, including hexadecimal specification and the use of the [ x.x ] format to define major and minor versions.</p>
1583
1584<hr />
1585<h3><a name="note460" id="note460">Note 460 (TOOL): Fixed a bug in makeWad that corrupted the banner for data titles</a></h3>
1586<p>When textures up through Icon7 were configured using the data title banner creation tool <CODE>WiiSaveBanner</CODE>, the icons would be corrupt on the Data Management screen of the Wii Menu.
1587</p><p>
1588This was due to a bug in <CODE>makeWad</CODE>, and it has been corrected.</p>
1589
1590<hr />
1591<h3><a name="note459" id="note459">Note 459 (TOOL): Published the makeWad <CODE>-e</CODE> option</a></h3>
1592<p>Published the <B><CODE>-e</CODE></B> option, which specifies a bit mask to permit a data title to be accessed from multiple applications
1593</p><p>
1594For details, see the <CODE>makeWad</CODE> manual.</p>
1595
1596<hr />
1597<h3><a name="note458" id="note458">Note 458 (TOOL): Revised Nmenu so it can import data titles</a></h3>
1598<p><CODE>Nmenu</CODE> has been revised so it can now import data titles. <CODE>Nmenu</CODE> also now supports the deletion of individual titles and the deletion of individual content units. Note, however, that to delete individual content units, you must use the extended firmware.
1599</p><p>
1600See the manual to read cautions regarding the use of ECDK for development. </p>
1601
1602<hr />
1603<h3><a name="note457" id="note457">Note 457 (TOOL): The DEVKIT system menu now supports settings for Korea and China </a></h3>
1604<p>The DEVKIT system menu now supports settings for Korea and China.</p>
1605
1606<hr />
1607<h3><a name="note456" id="note456">Note 456 (TOOL): <CODE>setcountrycode</CODE> now supports settings for Korea and China </a></h3>
1608<p>Country identifier codes can now be set for Korea and China by <CODE>setcountrycode</CODE>.</p>
1609
1610<hr />
1611<h3><a name="note455" id="note455">Note 455 (TOOL): Fixed problem with display of titles that cannot be started in Nmenu</a></h3>
1612<p>NADK2.2 patch1 revised <CODE>Nmenu</CODE> so that &quot;Incomplete&quot; would be displayed for a title if some of its information was missing: for example, if the title had been deleted from Wii Menu.  However, there was a bug, and under certain conditions an application that should display as &quot;Incomplete&quot; would instead display normally.  If the user attempted to start that title, the screen would fade to black and then stall there.
1613</p><p>
1614This problem has been corrected.</p>
1615
1616<hr />
1617<h3><a name="note454" id="note454">Note 454 (TOOL): Added check code to <CODE>ndrun_prechecker</CODE> for programs that use the HID library</a></h3>
1618<p>The extended firmware must be used for all titles that might possibly be connected via the Wii USB port to a USB keyboard or other device.
1619</p><p>
1620As an internal process, the check is conducted on all titles that link to the HID library.
1621</p><p>
1622Subsequent to the application of this revision, &quot;WARNNING&quot; will display whenever an application starts up that uses the standard version of the firmware and links to the HID library.</p>
1623
1624<hr />
1625<h3><a name="note453" id="note453">Note 453 (TOOL): Updated the manual for the DEVKIT system menu</a></h3>
1626<p>The manual for the DEVKIT system menu was revised to make it easier to read.</p>
1627
1628<hr />
1629<h3><a name="note452" id="note452">Note 452 (TOOL) X86 tools now can be built by Visual Studio 2005</a></h3>
1630<p>The following tools with publicized source code now can be built by Visual Studio 2005:
1631</p><p>
1632/build/libraries/gd<br>
1633/build/demos/gddemo<br>
1634/build/demos/hio2demo<br>
1635/build/tools/darch<br>
1636/build/tools/dls1wt<br>
1637/build/tools/dspadpcm<br>
1638/build/tools/sample<br>
1639/build/tools/sndconv<br>
1640/build/tools/soundfile<br>
1641/build/tools/TexConv<br>
1642/build/tools/THPConv<br>
1643/build/tools/thputilities<br>
1644</p><p>
1645Note that the free version, Visual Studio 2005 Express Edition, cannot be used to build the <CODE>dual</CODE> demo and the <CODE>multi</CODE> demo in <CODE>/build/demos/hio2demo</CODE> because they both utilize MFC. For these demos, you should use the purchased version, which allows the use of MFC.
1646</p>
1647
1648<hr />
1649<h3><a name="note451" id="note451">Note 451 (CARD): Deleted the CARD library</a></h3>
1650<p>The CARD library, which supports access to GameCube Memory Cards, has been deleted.</p>
1651
1652<hr />
1653<h3><a name="note450" id="note450">Note 450 (CNT): Updated the Function Reference Manual</a></h3>
1654<p>Added a table to the function reference for <CODE>CNTInitHandleTitle</CODE> showing the return values for different error states.</p>
1655
1656<hr />
1657<h3><a name="note449" id="note449">Note 449 (CNT): Added support for data title disc emulation</a></h3>
1658<p>Added support for data title disc emulation. A compile switch can be used to switch operations, similar to accessing the content files of a NAND application.</p>
1659
1660<hr />
1661<h3><a name="note448" id="note448">Note 448 (DARC): Published the archive creation API (DARCH)</a></h3>
1662<p>The archive creation (DARCH) API has been published.
1663</p><p>
1664The DARCH API collects a number of files together when the application runs, putting them together in a single archive file and creating an archive file image.
1665</p>
1666
1667<hr />
1668<h3><a name="note447" id="note447">Note 447 (DEMO): Added a character-count assert to the <CODE>DEMOPrintf</CODE> function</a></h3>
1669<p>A character-count assert process has been added to the <CODE>DEMOPrintf</CODE> function. The assert process executes when more than 256 characters are entered to the function.</p>
1670
1671<hr />
1672<h3><a name="note446" id="note446">Note 446 (DEMO): Revised the <CODE>DEMOReInit</CODE> function</a></h3>
1673<p>In line with the specification change to the <CODE>GXGetCPUFifo</CODE> function, the <CODE>DEMOReInit</CODE> function has been revised to call <CODE>GXFlush</CODE> immediately before its internal call to <CODE>GXGetCPUFifo</CODE>.</p>
1674
1675<hr />
1676<h3><a name="note445" id="note445">Note 445 (DVD): Fixed bug relating to failure to resume DVD reading with <CODE>DVDResume</CODE> after call to <CODE>DVDPause</CODE></a></h3>
1677<p>If <CODE>DVDPause</CODE> was called when there were no requests in the queue, the drive would enter the <CODE>DVD_STATE_END</CODE> state, and even a call to <CODE>DVDResume</CODE> did not work to resume reading of the DVD. This problem has been corrected.</p>
1678
1679<hr />
1680<h3><a name="note444" id="note444">Note 444 (DVD): Added support for DVD automatic Fatal error message when console set for Korean or Chinese</a></h3>
1681<p>Added support for the DVD automatic Fatal error message when the language setting is Korean or Chinese. However, since the Wii ROM font does not contain the characters for Korean and Chinese, the message is output in English.</p>
1682
1683<hr />
1684<h3><a name="note443" id="note443">Note 443 (DVD): Corrected the automatic Fatal error message</a></h3>
1685<p>The automatic Fatal error message shown when the country code is USA and the language is set to English was different from the message specified in the Wii Message List. This problem has been corrected.</p>
1686
1687<hr />
1688<h3><a name="note442" id="note442">Note 442 (ENC): Fixed bugs related to special encoding</a></h3>
1689<p>Fixed the following bugs, which occurred when certain special encoding was specified in the ENC library.
1690</p><p>
1691(1) State operations did not work correctly
1692</p><p>
1693- Subject to bug:<br><CODE> ENCConvertToInternalEncoding()<br> ENCConvertFromInternalEncoding()</CODE>
1694</p><p>
1695- Conditions:<br> UTF-16, UTF-16LE or UTF-7 specified as the character encoding of the conversion source.
1696</p><p>
1697(2) The <CODE>BOM</CODE> determination process was skipped
1698</p><p>
1699- Subject to bug:<CODE><br>ENCConvertToInternalEncoding()<br> ENCConvertFromInternalEncoding()<br> ENCConvertString*()</CODE>
1700</p><p>
1701- Conditions:<br> UTF-16, UTF-16BE, UTF-16LE, UTF-8 or UTF-32 specified as the character encoding for the conversion source, length of the source character string not specified.</p>
1702
1703<hr />
1704<h3><a name="note441" id="note441">Note 441 (ENC): Eliminated the error code <CODE>ENC_ERR_NOT_LOADED</CODE></a></h3>
1705<p>It was determined that there was not sufficient support in the Revolution SDK Extension's NWC24 library for the ENC error code <CODE>ENC_ERR_NOT_LOADED</CODE> when the conversion table was stripped.
1706</p><p>
1707To prevent this same kind of problem from arising in other modules that use the ENC library, the error code <CODE>ENC_ERR_NOT_LOADED</CODE> has been abolished, and another error code is now returned when the conversion table is stripped.
1708</p><p>
1709Read the manual to see which values are returned by the various functions.</p>
1710
1711<hr />
1712<h3><a name="note440" id="note440">Note 440 (ENC): Added character encoding conversion functions for Korean and Chinese languages</a></h3>
1713<p>Character encoding conversion functions have been added for the Korean and Chinese languages. The following character codes can now be utilized:
1714</p><p>
1715Korean: UHC (windows-949)<br>Chinese: GB2312-80
1716</p><p>
1717This addition of more character codes increases the size of the conversion tables which get linked by default, so strip the conversion tables of character codes that will not be used in your program.</p>
1718
1719<hr />
1720<h3><a name="note439" id="note439">Note 439 (FNT): Added the <CODE>FNTSetAlternateChar</CODE> function for changing the alternate character</a></h3>
1721<p>When a certain character is not included in a given font set, an alternate character is used in its place.  The <CODE>FNTSetAlternateChar</CODE> function has been added as a way of specifying and changing the designated alternate character.</p>
1722
1723<hr />
1724<h3><a name="note438" id="note438">Note 438 (GX): Fixed omission of countermeasures for XF stalls in <CODE>GXSetCoPlanar</CODE> and <CODE>GXSetDrawDone</CODE></a></h3>
1725<p>Some of the countermeasures for the XF stall bug were not included in <CODE>GXSetCoPlanar</CODE> and <CODE>GXSetDrawDone</CODE>.
1726</p><p>
1727That has been corrected.</p>
1728
1729<hr />
1730<h3><a name="note437" id="note437">Note 437 (GX): Fixed bug in debug builds of <CODE>GXLoadNrmMtxIndx3x3</CODE></a></h3>
1731<p>When a debug build was made of <CODE>GXLoadNrmMtxIndx3x3</CODE>, there was a bug that caused an exception to occur if the normal matrix was in the highest location in memory.
1732</p><p>This problem has been corrected.</p>
1733
1734<hr />
1735<h3><a name="note436" id="note436">Note 436 (GX): Updated the Function Reference</a></h3>
1736<p>Errors were corrected in the <CODE>GXLoadNrmMtxIndx3x3</CODE> function reference.</p>
1737<p>
1738<CODE>man/en_US/gx/Cpu2Efb/GXPokeARGB.html</CODE>: <CODE>GXPokeAlphaRead</CODE> was added to the <B>See Also</B> section.</p>
1739<p><CODE>man/en_US/gx/Cpu2Efb/GXPeekARGB.html</CODE>: <CODE>GXPokeAlphaRead</CODE> was added to the <B>See Also</B> section.</p>
1740<p>
1741<CODE>gx/list.html</CODE>: Rewrote the function description so it is easier to understand.
1742</p>
1743<p>Added a note about the functions that can be placed inside the display list in <CODE>gx/GXState.html</CODE>.</p>
1744<p><CODE>GXSetTevColorS10</CODE>: Corrected the &quot;Constant Color register&quot; to &quot;Primary Color register&quot;.</p>
1745<p>In the description for the <CODE>GXSetVtxDesc</CODE> function, corrected <CODE>GX_VA_POSMTXIDX</CODE> to <CODE>GX_VA_PNMTXIDX</CODE>.</p>
1746<p>In the description for the <CODE>GXBegin</CODE> function, corrected the maximum number of vertices to 65535 (not 65536).</p>
1747<p>Added an explanation of the <CODE>max_lod</CODE> argument to the <CODE>GXGetTexBufferSize</CODE> function.</p>
1748<p>The mention of &quot;Generation source: <CODE>GX_TG_POS</CODE>&quot; in the description of the <CODE>tg-spheremap</CODE> sample was corrected to read &quot;Generation source: <CODE>GX_TG_NRM</CODE>&quot;.</p>
1749<p>References using the old function name (<CODE>GXSetTevStages</CODE>) in the description were corrected to the new function name (<CODE>GXSetNumTevStages</CODE>).</p>
1750<p>In line with the specification changes to the <CODE>GXGetCPUFifo</CODE> function, the following references have been updated:</p>
1751<p>
1752- <CODE>GXGetCPUFifo</CODE>: Added a link to functions that internally call <CODE>GXFlush</CODE>.<br>- <CODE>GXAbortFrame, GXSetDrawSync, GxSetDrawDone, GXDrawDone, GXBeginDisplayList, GXEndDisplayList, GXReadClksPerVtx, GXRedirectWriteGatherPipe</CODE>: Added mention of the internal call to <CODE>GXFlush</CODE>.</p>
1753<p><CODE>gx/Culling/GXSetCoPlanar.html</CODE>: Rewritten for easier understanding.</p>
1754<p></p>
1755<p></p>
1756<p></p>
1757<p></p>
1758
1759<hr />
1760<h3><a name="note435" id="note435">Note 435 (HIO2): Revised the Hio2If programming manual</a></h3>
1761<p>Revisions were made to the Hio2If programming manual (<CODE>docs/en_US/Programmer's_Guide/Hio2If.pdf</CODE>). For details, see the Revision History in the document.</p>
1762
1763<hr />
1764<h3><a name="note434" id="note434">Note 434 (KBD): Corrected the lack of an argument for <CODE>KBD_UC_IS_CTRL_KEY</CODE></a></h3>
1765<p>No arguments were listed for <CODE>KBD_UC_IS_CTRL_KEY</CODE>, defined in <CODE>kbd.h</CODE>.</p>
1766<p>This has been corrected.</p>
1767
1768<hr />
1769<h3><a name="note433" id="note433">Note 433 (KPAD): Added the <CODE>KPADInitEx</CODE> function</a></h3>
1770<p>Added this function to enable the ring buffer used in the KPAD library's internal processing to be passed from the application.</p>
1771
1772<hr />
1773<h3><a name="note432" id="note432">Note 432 (KPAD): Fixed bug that causes information loss when an extension controller is detached</a></h3>
1774<p>When an extension controller was unplugged from a Wii Remote while the Remote was getting information from it, sometimes some of the data would be corrupted. The WPAD library checks the consistency of the extension controller's data, but because of the specifications, sometimes it cannot determine that data has been corrupted when the data is only partially destroyed.
1775</p><p>
1776The KPAD library can now check for partial data corruption based on data context, so this data can be correctly processed as corrupt.</p>
1777
1778<hr />
1779<h3><a name="note431" id="note431">Note 431 (KPAD): Fixed problem with pointer jumping</a></h3>
1780<p>When the play in the pointing target coordinates is set to a large value and the pointer is moved, it will jump if <CODE>WPAD_ERR_BUSY</CODE> is passed to the <SPAN class="argument">err</SPAN> member of the <CODE>WPADStatus</CODE> structure in the data obtained from the WPAD library.
1781</p><p>
1782The WPAD library no longer passes <CODE>WPAD_ERR_BUSY</CODE> to the <SPAN class="argument">err</SPAN> member of the <CODE>WPADStatus</CODE> structure, so this problem has been resolved.</p>
1783
1784<hr />
1785<h3><a name="note430" id="note430">Note 430 (KPAD): Added the <CODE>KPADShutdown</CODE> function</a></h3>
1786<p>The <CODE>KPADShutdown</CODE> function has been added as the KPAD library shutdown function so you can switch between using the WPAD library and the KPAD library depending on the scene.
1787</p><p>
1788After shutting down the KPAD library this way, call the <CODE>KPADInit</CODE> function to use the library again.</p>
1789
1790<hr />
1791<h3><a name="note429" id="note429">Note 429 (KPAD): Eliminated the <CODE>KPADSetObjInterval</CODE> function</a></h3>
1792<p>The <CODE>KPADSetObjInterval</CODE> function sets the interval between the sensors in the sensor bar. This function was prepared for applications that were being developed while the sensor bar was still under development.  Since the sensor bar has now been developed, there is no longer any need by applications to call this function.  Accordingly, it has been eliminated.</p>
1793
1794<hr />
1795<h3><a name="note428" id="note428">Note 428 (KPAD): Added support for the Wii Balance Board</a></h3>
1796<p><CODE>KPADRead</CODE> can now obtain data from the Wii Balance Board. The function can obtain the following values:
1797</p><p>
1798 -- The value for body weight, as converted from the values of the sensors in each of the four corners of the board. <br>-- The average value for body weight during the previous 2 seconds from each of the four corners.<br>-- The average body weight on the Wii Balance Board (the summed value of the averages of the four corners) , corrected for temperature and gravity. <br>-- Error codes.</p>
1799
1800<hr />
1801<h3><a name="note427" id="note427">Note 427 (KPAD): Revised sample demos</a></h3>
1802<p>Updated the sample demos to match the API changes to the <CODE>KPADInit</CODE> function. The <CODE>kpadsample</CODE> demo now supports special extension controllers. Added the <CODE>weight</CODE> demo, which obtains data from the Wii Balance Board.</p>
1803
1804<hr />
1805<h3><a name="note426" id="note426">Note 426 (KPAD): Updated the Function Reference</a></h3>
1806<p>Added explanations to the Introduction regarding the values returned by the <CODE>WPADProbe</CODE> function and the error codes of the <SPAN class="argument">err</SPAN> member of the <CODE>WPADStatus</CODE> structure.</p>
1807<p>Mentioned that when the <CODE>KPADEnableDPD</CODE>/<CODE>KPADDisableDPD</CODE> functions are called to turn the Wii Remote pointer ON/OFF, the auto-disconnect timer is reset.</p>
1808<p>Added the parameters set by the Wii Menu using the <CODE>KPADSetPosParam</CODE> function.</p>
1809
1810<hr />
1811<h3><a name="note425" id="note425">Note 425 (KPAD): Added error codes to the <CODE>KPADRead</CODE> function's return values</a></h3>
1812<p>When the <CODE>KPADRead</CODE> function does not have valid data, it now returns the following error codes that distinguish the causes:
1813</p><p>
1814- <CODE>KPAD_READ_ERR_SETUP</CODE> for when the WPAD library is not finished initializing yet <br>- <CODE>KPAD_READ_ERR_LOCKED</CODE> for when KPADRead is being called by another thread <br>- <CODE>KPAD_READ_ERR_NO_CONTROLLER</CODE> for when no Wii Remote is connected <br>- <CODE>KPAD_READ_ERR_NO_DATA</CODE> for when there is no received data because of radio interference
1815</p>
1816
1817<hr />
1818<h3><a name="note424" id="note424">Note 424 (MEM): Changed handling of the memory generated by data alignment in the extended heap</a></h3>
1819<p>When data alignment is specified and memory has been secured in the extended heap, the default behavior has been changed so that any memory vacancies generated from alignment are no longer re-registered as free areas.
1820</p><p>
1821This change was made because the re-registration of vacancies as free regions in memory can lead to fragmentation depending on the way memory is secured and possibly severely lower performance when securing and releasing memory.
1822</p><p>
1823By using the newly added function <CODE>MEMUseMarginOfAlignmentForExpHeap</CODE>, you can revert the extended heap's behavior back to its previous default.</p>
1824
1825<hr />
1826<h3><a name="note423" id="note423">Note 423 (MEM): Fixed a thread-safe bug in the extended heap's ASSERT processing</a></h3>
1827<p>If the extended heap was configured for thread-safety and then used in a debug build, sometimes the ASSERT did not function properly because the process for evaluating the ASSERT was not thread-safe.
1828</p><p>
1829This was corrected by executing the ASSERT evaluation inside a critical section.</p>
1830
1831<hr />
1832<h3><a name="note422" id="note422">Note 422 (MIDI): The MIDI adapter library is now a library that is linked by default</a></h3>
1833<p>For the convenience of developers, the MIDI adapter library has been added to the group of libraries that are linked by default during the program build.
1834</p><p>
1835MIDI adapters and this library are primarily designed to support the developers who work with sound. This library must not be included in the final retail product.
1836</p><p>
1837If the program is not using any of this library's functions, it will be removed from the group of linked libraries at compile time.
1838</p>
1839
1840<hr />
1841<h3><a name="note421" id="note421">Note 421 (NAND): Updated the Function Reference Manual</a></h3>
1842<p>
1843Added explanations for <CODE>title-id(Hi)</CODE> and <CODE>title-id(Low)</CODE> and for the functions that update the Wii console NAND memory's FAT.
1844</p><p>
1845Deleted <CODE>NAND_RESULT_EXISTS</CODE> from among the error codes returned by <CODE>NANDMove[Async]</CODE>. Also added an explanation of the processing that occurs when the directory to which a file/directory is being moved already contains a file/directory of the same name.
1846</p><p>
1847Added an explanation of the result code passed to the callback function.</p>
1848
1849<hr />
1850<h3><a name="note420" id="note420">Note 420 (OS): Added functions to prohibit code execution in MEM2 by default and functions to enable/disable code execution</a></h3>
1851<p>The OS has been changed so code execution in the MEM2 region is now prohibited by default. The following functions have been added to permit code execution in MEM2 if the need arises:
1852</p><p>
1853<CODE>OSEnableCodeExecOnMEM2Lo8MB()<br> OSEnableCodeExecOnMEM2Lo16MB()</CODE>
1854</p><p>
1855In addition, these other functions have been added to prohibit code execution in specific regions of MEM1:
1856</p><p>
1857<CODE>OSDisableCodeExecOnMEM1Hi8MB()<br> OSDisableCodeExecOnMEM1Hi16MB()</CODE>
1858</p><p>
1859For more details, see the function reference manual.</p>
1860
1861<hr />
1862<h3><a name="note419" id="note419">Note 419 (OS): Added CRC calculation functions</a></h3>
1863<p>Added the CRC calculation functions <CODE>OSCalcCRC16</CODE> / <CODE>OSCalcCRC32</CODE>. These functions have the same features as the <CODE>NETCalcCRC16</CODE> / <CODE>NETCalcCRC32</CODE> functions provided by RevoEX.</p>
1864
1865<hr />
1866<h3><a name="note418" id="note418">Note 418 (OS): Fixed <CODE>OSReturnToMenu</CODE></a></h3>
1867<p>On some Wii consoles, when a gamma value was changed in an application, the value continued to be reflected on the console even after the system returned to the Wii Menu. This problem has been corrected.</p>
1868
1869<hr />
1870<h3><a name="note417" id="note417">Note 417 (OS): Fixed bug that occurred when the <CODE>OSSleepTicks</CODE> and <CODE>OSCancelThread</CODE> functions executed simultaneously</a></h3>
1871<p>When the <CODE>OSSleepTicks</CODE> function and the <CODE>OSCancelThread</CODE> function were executed at the same time, under some circumstances an assert would occur, and the program would stop.
1872</p><p>
1873This problem has been corrected.
1874</p>
1875
1876<hr />
1877<h3><a name="note416" id="note416">Note 416 (OS): Updated the Function Reference</a></h3>
1878<p>
1879- <CODE>OSSetSaveRegion</CODE>: Added size-restriction information and information on valid functions
1880</p><p>- <CODE>OSGetSaveRegion</CODE>: Added information on valid functions
1881</p><p>- <CODE>OSGetSavedRegion</CODE>: Added information on valid functions</p>
1882
1883<hr />
1884<h3><a name="note415" id="note415">Note 415 (PAD): Privatized the <CODE>PADIsBarrel</CODE> function</a></h3>
1885<p>The <CODE>PADIsBarrel</CODE> function has been privatized. Its declarations have been deleted from headers, and text regarding it has been deleted from the Function Manual.</p>
1886
1887<hr />
1888<h3><a name="note414" id="note414">Note 414 (SC): Added the <CODE>SCCheckPCShoppingRestriction</CODE> function</a></h3>
1889<p>This function can be used to obtain the setting configured in the Parental Controls for the item &quot;Restrict the use of Wii Points on the Wii Shop Channel?&quot;.
1890</p><p>
1891For details, see the document <CODE>/man/en_US/sc/SCCheckPCShoppingRestriction.html</CODE>.</p>
1892
1893<hr />
1894<h3><a name="note413" id="note413">Note 413 (WPAD): Changed specification for resetting origin of extension controller</a></h3>
1895<p>If the Wii Remote is waved around with an extension controller attached, sometimes the console recognizes this as momentary unplugging of the extension. If the Control Stick of the Nunchuk or the Classic Controller is not in the neutral position when this happens, the origin setting will subsequently be off-center.  The specification has been changed so that now the origin setting will not be reset if the same extension controller is recognized as detaching then reattaching within 300ms.</p>
1896
1897<hr />
1898<h3><a name="note412" id="note412">Note 412 (WPAD): Corrected stick clamp parameters</a></h3>
1899<p>Corrected a mistake in the range of the stick clamp.</p>
1900
1901<hr />
1902<h3><a name="note411" id="note411">Note 411 (WPAD): Revised the <CODE>WPADGetSyncType</CODE> function</a></h3>
1903<p>It was determined that when a Wii Remote is connected,  the <CODE>WPADGetSyncType</CODE> function returned <CODE>WPAD_ERR_NONE</CODE> slightly more quickly than the <CODE>WPADProbe</CODE> function.  That has been corrected so both functions now return <CODE>WPAD_ERR_NONE</CODE> at the same time.</p>
1904
1905<hr />
1906<h3><a name="note410" id="note410">Note 410 (WPAD): Added function to reset the Wii Remote auto-disconnect timer</a></h3>
1907<p>The <CODE>WPADResetAutoSleepTimeCount</CODE> function has been added for resetting the Wii Remote's automatic disconnect timer.
1908</p>
1909
1910<hr />
1911<h3><a name="note409" id="note409">Note 409 (WPAD): Republished the functions for setting the Wii Remote features</a></h3>
1912<p>The functions <CODE>WPADSaveConfig</CODE>, <CODE>WPADEnableMotor</CODE>, and <CODE>WPADSetSpeakerVolume</CODE> have been republished.  Previously, they were privatized and could only be called from the Home Menu, but now they have been made public again so they can be used for tool development and debugging. Headers and function references have been updated.</p>
1913
1914<hr />
1915<h3><a name="note408" id="note408">Note 408 (WPAD): Revised the <CODE>WPADDisconnect</CODE> function</a></h3>
1916<p>There was an issue with the <CODE>WPADDisconnect</CODE> function, which disconnects the specified channel's Wii Remote and clears data concerning the disconnected Wii Remote.  Calling the <CODE>WPADDisconnect</CODE> function for a channel with no Wii Remote connected would also clear the data concerning the Wii Remote last connected to that channel.
1917<p></p>
1918This problem has been fixed so that calling the <CODE>WPADDisconnect</CODE> function for a channel with no connected Wii Remote will not clear the data for the Wii Remote previously connected to that channel.</p>
1919
1920<hr />
1921<h3><a name="note407" id="note407">Note 407 (WPAD): Added support for special controllers</a></h3>
1922<p>Certain applications for the Wii have specialized controllers. The device type of these special controllers is normally <CODE>WPAD_DEV_FUTURE</CODE>, but they can now also be correctly recognized by linking separate, dedicated libraries.</p>
1923
1924<hr />
1925<h3><a name="note406" id="note406">Note 406 (WPAD): Eliminated <CODE>WPAD_ERR_BUSY</CODE> for the <SPAN class="argument"><CODE>err</CODE></SPAN> member of the <CODE>WPADStatus</CODE> structure</a></h3>
1926<p>When a command is sent for the Wii Remote, the Wii Remote sends an ACK corresponding to the command instead of sending data. This ACK contains only the Wii Remote's button information.  Previously, when <CODE>WPADRead</CODE> was called upon receipt of the ACK, <CODE>WPAD_ERR_BUSY</CODE> would be passed to the <SPAN class="argument"><CODE>err</CODE></SPAN> member of the <CODE>WPADStatus</CODE> structure.</p><p>
1927Now, when an ACK is received the non-button information retains its most recent values and <CODE>WPAD_ERR_BUSY</CODE> is not passed to the <SPAN class="argument"><CODE>err</CODE></SPAN> member.</p>
1928
1929<hr />
1930<h3><a name="note405" id="note405">Note 405 (WPAD): Privatized the <CODE>WPADSetDpdSensitivity</CODE> function</a></h3>
1931<p>The <CODE>WPADSetDpdSensitivity</CODE> function, which adjusts the sensitivity of the DPD, has been privatized to adjust sensitivity inside the Wii Menu.</p>
1932
1933<hr />
1934<h3><a name="note404" id="note404">Note 404 (WPAD): Deleted the sample demo <CODE>full_mode</CODE></a></h3>
1935<p>The <CODE>WPADSetDpdSensitivity</CODE> function has been privatized, so the sample demo <CODE>full_mode</CODE> that uses this function has been deleted.</p>
1936
1937<hr />
1938<h3><a name="note403" id="note403">Note 403 (WPAD): Updated the Function Reference</a></h3>
1939<p>Revised the explanation in the Introduction and <CODE>WPADDisconnect</CODE> pages of how Wii Remote Controller ports are assigned.</p>
1940<p>Added text to the references for the <CODE>WPADSetGameTitleUtf16</CODE> function and the <CODE>WPADWriteGameData</CODE> function. This text notes that the game title specified by the <CODE>WPADSetGameTitleUtf16</CODE> function is updated when data is written to the Wii Remote memory.</p>
1941
1942<hr />
1943<h2 style="line-height: 0"><a name="20070828p4" id="20070828p4">2007/08/28 SDK Version 3.1 Patch 4 </a> <div style="text-align: right">(2008/01/31)</div></h2><hr />
1944<h3><a name="note402" id="note402">Note 402 (TOOL): Merged <CODE>setncountrycode</CODE> to <CODE>setcountrycode</CODE></a></h3>
1945<p>Merged <CODE>setncountrycode</CODE> that was included in the NADK package to <CODE>setcountrycode</CODE>.</p><p>As a result, when the country code is configured using <CODE>setcountrycode</CODE>, the NAND application's country code will now be configured at the same time.</p>
1946<hr />
1947<h3><a name="note401" id="note401">Note 401 (OS): Eliminated a bug that prevented the reset code from being set</a></h3>
1948<p>This bug prevented the specified value from being applied, and caused <CODE>0x80000001</CODE> to always be returned.
1949</p><p>
1950This problem has been corrected.
1951</p>
1952
1953<hr />
1954<h3><a name="note400" id="note400">Note 400 (OS): Added a feature for recovering from screen burn-in reduction with RESET</a></h3>
1955<p>
1956When RESET is pressed, the normal state will be restored from the screen burn-in reduction state.
1957</p>
1958<p>This revision is included in the SDK since the 2007/05/09 release of the SDK, Version 3.0.</p>
1959
1960<hr />
1961<h3><a name="note399" id="note399">Note 399: Mod Chip Countermeasures</a></h3>
1962<p>A mod chip detection feature has been included in the library since Version 3.0 of the SDK. When a mod chip is detected, the following error message will be displayed on the screen:
1963</p><p>
1964Error #001<br>Unauthorized device has been detected.
1965</p><p>
1966If customers inquire about this error, direct them to remove the mod chip from the Wii console.
1967</p>
1968
1969<hr />
1970<h2 style="line-height: 0"><a name="20070828p3" id="20070828p3">2007/08/28 SDK Version 3.1 Patch 3 </a> <div style="text-align: right">(2007/12/11)</div></h2><hr />
1971<h3><a name="note398" id="note398">Note 398 (WPAD): Removed feature setting functions for the Wii Remote from public availability</a></h3>
1972<p>The <CODE>WPADSaveConfig</CODE>, <CODE>WPADEnableMotor</CODE>, and <CODE>WPADSetSpeakerVolume</CODE> functions were designed so that they could only be called from the HOME Menu, but the HOME Menu library has been removed from public availability, so these functions have also been retracted, and their declarations have been deleted from the header files. In addition, related descriptions have been deleted from the function reference manual.</p>
1973
1974<hr />
1975<h3><a name="note397" id="note397">Note 397 (WPAD): Updated the function reference manual and sample demos</a></h3>
1976<p>The following information was updated about the return value of the <CODE>WPADProbe</CODE> function and the <CODE>err</CODE> member of the <CODE>WPADStatus</CODE> structure:
1977<ul>
1978<li>&quot;Introduction&quot;</li>
1979<li>&quot;WPADRead&quot;</li>
1980<li>&quot;WPADStatus-Related&quot;</li>
1981</ul>
1982
1983The sample demos were also updated to match the updated information.</p>
1984
1985<hr />
1986<h3><a name="note396" id="note396">Note 396 (NAND): Revised the NANDSimpleSafeClose and NANDSafeClose functions</a></h3>
1987<p>
1988Revised inappropriate error codes that were being returned.
1989</p><p>
1990If the type of access to a file is not yet known, the value that is returned was changed from <CODE>NAND_RESULT_FATAL_ERROR</CODE> to <CODE>NAND_RESULT_INVALID</CODE>.</p>
1991
1992<hr />
1993<h3><a name="note395" id="note395">Note 395 (GX): Corrected a bug with the GXGetCPUFifo function</a></h3>
1994<p>
1995When <CODE>GXGetCPUFifo </CODE>was called, programs would freeze in certain conditions, but this has been corrected.</p>
1996
1997<hr />
1998<h3><a name="note394" id="note394">Note 394 (TOOL): Revisions to ndrun_prechecker</a></h3>
1999<p>The check process has been revised.
2000</p><p>
2001All titles that use Revolution SDK Extensions and Revolution DWC must use the extended firmware (former name: &quot;firmware for titles with network support&quot;).
2002</p><p>
2003After the application of this revision, a warning will be shown if an attempt is made to start an application that uses Revolution SDK Extensions or Revolution DWC with the standard firmware (former name: &quot;firmware for titles without network support&quot;).</p>
2004
2005<hr />
2006<h3><a name="note393" id="note393">Note 393 (OS): Changed the type of an argument to the OSInitStopwatch function</a></h3>
2007<p>In order to support literal strings, the type of the second argument to the <CODE>OSInitStopwatch</CODE> function was changed from <CODE>char*</CODE> to <CODE>const char*</CODE>.</p>
2008
2009<hr />
2010<h3><a name="note392" id="note392">Note 392 (OS): Changed the specifications of the OSSetResetCallback and OSSetPowerCallback functions</a></h3>
2011<p>The registered callback function will now be deleted by specifying NULL to the arguments of the <CODE>OSSetResetCallback</CODE> and <CODE>OSSetPowerCallback</CODE> functions.</p><p>
2012Also, if the <CODE>OSSetResetCallback</CODE> or <CODE>OSSetPowerCallback</CODE> functions are used when a callback function is not registered, these functions used to return the address of an internal function, but they have been changed so that they will return NULL in such cases.</p>
2013
2014<hr />
2015<h3><a name="note391" id="note391">Note 391 (WPAD): Fixed a bug in which a freeze would occur if repeated resets are issued when OSExec is running</a></h3>
2016<p>The reset operation was disabled while running <CODE>OSExec[l/v]</CODE>.</p>
2017
2018<hr />
2019<h2 style="line-height: 0"><a name="20070828p2" id="20070828p2">2007/08/28 SDK Version 3.1 Patch 2</a> <div style="text-align: right">(2007/10/12)</div></h2><hr />
2020<h3><a name="note390" id="note390">Note 390 (TOOL): Fixed a defect in ndrun_prechecker.</a></h3>
2021<p>If <CODE>ndrun_prechecker</CODE> was run while the target .ddf file (such as the <CODE>sample.ddf</CODE> file corresponding to <CODE>sample.elf</CODE>) did not exist, there was a bug that would display a log to the shell showing shell script syntax errors yet the precheck process itself was successful even though the error log was displayed in the shell.</p>
2022<p>This problem has been corrected.</p>
2023
2024<hr />
2025<h2 style="line-height: 0"><a name="20070828p1" id="20070828p1">2007/08/28 SDK Version 3.1 Patch 1</a> <div style="text-align: right">(2007/10/10)</div></h2><hr />
2026<h3><a name="note389" id="note389">Note 389 (TOOL): System firmware Version 35.4.16 release</a></h3>
2027<p>Released firmware for network-enabled titles.</p><p>
2028Update system firmware after applying this patch and before running applications. From now on, select from two types of firmware for each title: firmware for titles with network support, and firmware for titles without network support. For details, refer to the Cautions section of the SDK readme. For instructions on updating the version, refer to the Installation Procedure section of the SDK readme.
2029</p>
2030
2031<hr />
2032<h3><a name="note388" id="note388">Note 388 (TOOL): Updated the DEVKIT system menu</a></h3>
2033<p>The DEVKIT system menu now supports the latest version of firmware.
2034</p>
2035
2036<hr />
2037<h3><a name="note387" id="note387">Note 387 (OS): Relaxed size restrictions on programs that are loaded by default</a></h3>
2038<p>Expanded the size limitation from the prior 7 MB to 9 MB on programs that are loaded by default.</p>
2039
2040<hr />
2041<h3><a name="note386" id="note386">Note 386 (OS): Added information on functions that can put the current thread to sleep</a></h3>
2042<p>Added a note to the Function Reference Manual page for each Revolution SDK function that can put the current thread to sleep. Interaction between a thread's sleeping status and callback functions is explained in the Interrupts and Callback Functions page (OS &gt; Overview &gt; Interrupts and Callback Functions).</p>
2043
2044<hr />
2045<h3><a name="note385" id="note385">Note 385 (OS): Fixed a bug wherein boot cache determination would fail at application completion</a></h3>
2046<p>For certain conditions there was a problem that caused boot cache determination to fail when exiting the application.
2047</p><p>
2048This problem has been corrected.</p>
2049
2050<hr />
2051<h3><a name="note384" id="note384">Note 384 (OS): Fixed a bug that caused OSFatal to behave incorrectly for applications created using NADK</a></h3>
2052<p>There was a bug that caused OSFatal to behave incorrectly for applications created using NADK.
2053</p><p>
2054This problem has been corrected.</p>
2055
2056<hr />
2057<h3><a name="note383" id="note383">Note 383 (PAD): Fixed a bug that prevented recovery from the active screen burn-in reduction state when using the DK Bongos</a></h3>
2058<p>
2059There was a bug wherein input from the DK Bongos could not make the system recover from the active screen burn-in reduction state.
2060</p><p>
2061This problem has been corrected.</p>
2062
2063<hr />
2064<h3><a name="note382" id="note382">Note 382 (MIX, SEQ, SYN): Support for multiple initialization function invocations</a></h3>
2065<p>Support has been added for multiple invocations of the following library initialization functions: <CODE>MIXInit()</CODE>, <CODE>SEQInit()</CODE>, and <CODE>SYNInit()</CODE>. Starting on the second invocation, these functions will exit without any processing if called multiple times.</p>
2066
2067<hr />
2068<h3><a name="note381" id="note381">Note 381 (AXART): Added the AXARTRemoveArticulator function</a></h3>
2069<p>Added the <CODE>AXARTRemoveArticulator</CODE> function.</p><p>This function is used when removing an arbitrary articulator from an articulator list.</p>
2070
2071<hr />
2072<h3><a name="note380" id="note380">Note 380 (AXFX): Added reference pages for expansion functions (Exp-type)</a></h3>
2073<p>Added explanations to <CODE>AX_Applications.jp.pdf</CODE> and made function reference additions for the expansion functions (<CODE>Exp</CODE>).</p>
2074
2075<hr />
2076<h3><a name="note379" id="note379">Note 379 (DOC): Added a document related to the Dolby Pro Logic II license</a></h3>
2077<p>Added the following document related to the Dolby Pro Logic II license.</p>
2078<CODE>/docs/ja_JP/License/Dolby/DPL2_for_Wii_J.pdf</CODE>
2079</p><p>
2080Please check the content.</p>
2081
2082<hr />
2083<h3><a name="note378" id="note378">Note 378 (SC): Added a new function for checking the Parental Controls password</a></h3>
2084<p>
2085Added a new function, <CODE>SCCheckPCPassword</CODE>, to check if the string specified as an argument matches the password set in the Wii Menu's Parental Controls. </p><p>
2086For details, refer to the function reference manual.</p>
2087
2088<hr />
2089<h2 style="line-height: 0"><a name="20070828" id="20070828">2007/08/28 SDK Version 3.1</a> <div style="text-align: right">(2007/08/28)</div></h2><hr />
2090<h3><a name="note377" id="note377">Note 377 (TOOL): System firmware Version 33.4.16 release</a></h3>
2091<p>Update the system firmware (formerly NDEV firmware) after applying this patch and before running applications.
2092</p><p>
2093For instructions about updating the version, see the &quot;Installation Procedure&quot; section of the SDK's readme.
2094</p>
2095
2096<hr />
2097<h2 style="line-height: 0"><a name="20070808" id="20070808">2007/08/08 SDK Version 3.1 RC2</a> <div style="text-align: right">(2007/08/08)</div></h2><hr />
2098<h3><a name="note376" id="note376">Note 376 (TOOL): System firmware Version 33.4.15 release</a></h3>
2099<p>Update system firmware (formerly NDEV firmware) after applying this patch and before running applications.
2100</p><p>
2101For instructions about updating the version, see the Installation Procedure section of the SDK's readme.
2102</p>
2103
2104<hr />
2105<h3><a name="note375" id="note375">Note 375 (TOOL): Added features to the DEVKIT system menu</a></h3>
2106<p>Added development console initialization to the DEVKIT system menu.</p><p>For details, see &quot;NDEV System Menu&quot;, under &quot;Development Console Settings&quot; in the &quot;Tools&quot; section of the manual.</p>
2107
2108<hr />
2109<h3><a name="note374" id="note374">Note 374 (SC): Added a new function for getting Parental Controls information</a></h3>
2110<p>Added a new function, <CODE>SCCheckPCMessageRestriction</CODE>, for checking whether the following Parental Controls setting in the Wii Menu is allowed: &quot;Online user-to-user communication and the exchange of user generated content&quot;.
2111</p><p>
2112For more details, consult the man page for each function.</p>
2113
2114<hr />
2115<h3><a name="note373" id="note373">Note 373 (CX): Fixed a problem with Huffman compression when a value is encoded with 18 bits or more</a></h3>
2116<p>A bug was found that, when 8-bit Huffman compression was performed on data, would cause compression results to become invalid if a value was encoded to 18 bits or greater and the code started with a 1.</p><p>
2117This may occur for data of several megabytes or more that is unbalanced in a specific pattern.</p><p>
2118This problem has been corrected.</p>
2119
2120<hr />
2121<h3><a name="note372" id="note372">Note 372 (THP): Fixed a bug that caused error when monaural sound file was used with THPConv(D).exe</a></h3>
2122<p>There was a problem where <CODE>THPConv(D).exe</CODE> would output an error and stop if a monaural sound file was used when creating THP data.
2123</p><p>
2124This problem has been corrected.</p>
2125
2126<hr />
2127<h3><a name="note371" id="note371">Note 371 (RSO): Included the RSO package</a></h3>
2128<p>The RSO package has been included in the SDK; previously, it had been released separately.</p>
2129<p>
2130The RSO module included in this SDK is the same as the RSO package released on 2006/12/19 (<CODE>RVL_RSO_SDK_061219.zip</CODE>), apart from revisions in the manual to some of the demos' explanations.</p>
2131
2132<hr />
2133<h2 style="line-height: 0"><a name="20070720" id="20070720">2007/07/20 SDK Version 3.1 RC1</a> <div style="text-align: right">(2007/07/20)</div></h2><hr />
2134<h3><a name="note370" id="note370">Note 370 (TOOL): System firmware Version 33.4.14 release</a></h3>
2135<p>Update system firmware (formerly NDEV firmware) after applying this patch and before running applications.
2136</p><p>
2137For instructions about updating the version, see the Installation Procedure section of the SDK's readme.
2138</p>
2139
2140<hr />
2141<h3><a name="note369" id="note369">Note 369 (TOOL): Updated the DEVKIT system menu</a></h3>
2142<p>The DEVKIT system menu now supports the latest version of firmware.</p>
2143
2144<hr />
2145<h3><a name="note368" id="note368">Note 368 (KBD/KPR): Added Japanese language function reference manual</a></h3>
2146<p>Added the Function Reference Manual in Japanese.</p>
2147
2148<hr />
2149<h3><a name="note367" id="note367">Note 367 (KPAD): Added new play mode</a></h3>
2150<p>Added a new play mode for when the play radius has been set for the values of the pointer's coordinates, horizontal parameters, distance, and motion sensors.
2151</p><p>
2152With the previous method, even within the play range, the values would gradually start to move as they approached the boundary of the play radius, resulting in smooth changes in values. In contrast, this new method distinguishes sharply between whether or not the values are changed based on the boundary of the play radius, and does not change the values at all within the play range.
2153</p><p>
2154With the previous method, making the play radius too large would lead to behavior making it appear that the tracking had been made weaker. If you want to avoid this, you should probably consider using the new method.
2155</p><p>
2156In addition, the operation of switching between play modes has been added to the <CODE>kpadsample</CODE> sample demo, so you can check the differences in behavior between each method.</p>
2157
2158<hr />
2159<h3><a name="note366" id="note366">Note 366 (WPAD): Added and deleted sample demos</a></h3>
2160<p>Among the sample demos, there were demos that were not being used directly due to the added guidelines, so they were deleted. Also, a demo was added that combined several demos.
2161</p><p>
2162The demos that were added and deleted are shown below.
2163</p><p>
2164Deleted: <br>- accept<br> - check<br> - config<br> - distance<br> - handling<br> - pointing<br> - sampling<br> - shutdown<br> - simple<br> - sync-callback<br> <br>Added: <br>- wpadsample</p>
2165
2166<hr />
2167<h3><a name="note365" id="note365">Note 365 (WPAD): Fixed the following bug: exception occurs if registration function is called when WPAD_SYNC_EVT_BUSY</a></h3>
2168<p>There was a bug wherein if <CODE>WPAD_SYNC_EVT_BUSY</CODE> was returned to a callback that was set by a function like <CODE>WPADSetSyncDeviceCallback</CODE>, an exception would occur if the <CODE>WPADStartSyncDevice</CODE> function was called within that callback.
2169</p><p>
2170This bug was corrected by deleting <CODE>WPAD_SYNC_EVT_BUSY</CODE>.</p>
2171
2172<hr />
2173<h3><a name="note364" id="note364">Note 364 (WPAD): Fixed a bug that caused failure at next startup if reset during registration process</a></h3>
2174<p>There was a bug wherein if RESET was pressed immediately after pressing SYNCHRO at the particular timing, the reset process would complete, but the Bluetooth module would go out of control upon restarting, and the system would fail to start.
2175</p><p>
2176This problem has been corrected.</p>
2177
2178<hr />
2179<h3><a name="note363" id="note363">Note 363 (MAN): Changed format of the top page of Function Reference</a></h3>
2180<p>Partially changed the format of the top-level page of the Function Reference.</p>
2181
2182<hr />
2183<h3><a name="note362" id="note362">Note 362 (DVD): Updated automatic fatal error messages</a></h3>
2184<p>Updated the contents of the automatic fatal error messages.</p>
2185
2186<hr />
2187<h3><a name="note361" id="note361">Note 361 (VI): Added VIResetDimmingCount</a></h3>
2188<p>Added a function to reset the internal counter for screen burn-in reduction.
2189</p><p>
2190Caution must be taken when using this function. For details, refer to the function reference for <CODE>VIResetDimmingCount</CODE>.</p>
2191
2192<hr />
2193<h3><a name="note360" id="note360">Note 360 (MEM): Fixed a bug related to unlocking with MEMResizeForMBlockExpHeap()</a></h3>
2194<p>When <CODE>MEMResizeForMBlockExpHeap()</CODE> was used in thread-safe mode, there was a bug that caused it to exit without releasing the lock on the mutex if the required size could not be allocated from the available memory.
2195</p><p>
2196This problem has been corrected.</p>
2197
2198<hr />
2199<h3><a name="note359" id="note359">Note 359 (AXFX): Corrected Early Reflection of AXFXReverbHi/AXFXReverbHiDpl2</a></h3>
2200<p>There was a bug that caused &quot;Early Reflection&quot; not to work in <CODE>AXFXReverbHi</CODE> and <CODE>AXFXReverbHiDpl2</CODE>.
2201</p><p>
2202This problem has been corrected.</p>
2203
2204<hr />
2205<h3><a name="note358" id="note358">Note 358 (AX): Corrected a bug related to execution of new DSP task during AXQuit()</a></h3>
2206<p>There had been cases when the following errors would occur when <CODE>AXQuit()</CODE> was called, depending on the timing.
2207</p><p>
2208DSPAssertTask():Specified task not in active task list!in &quot;dsp.c&quot; on line 620.
2209</p><p>
2210This was occurring because while an audio DSP task being ended within <CODE>AXQuit()</CODE>, an AI interrupt occurred, and execution of the next DSP task was being requested.
2211</p><p>
2212This problem has been corrected.</p>
2213
2214<hr />
2215<h2 style="line-height: 0"><a name="20070509p4" id="20070509p4">2007/5/9 SDK Version 3.0 Patch 4</a> <div style="text-align: right">(2007/06/28)</div></h2><hr />
2216<h3><a name="note357" id="note357">Note 357 (TOOL): System firmware Version 31.4.13 release</a></h3>
2217<p>Update the system firmware (formerly NDEV firmware) after applying this patch and before running applications.</p><p>
2218For instructions about updating the <CODE>versionRefer</CODE>, see the Installation Procedure section of the SDK's readme file.
2219</p>
2220
2221<hr />
2222<h3><a name="note356" id="note356">Note 356 (DVD) Corrected errors in manual</a></h3>
2223<p>Corrected errors in the manuals of the <CODE>DVDReadAsyncPrio</CODE>, <CODE>DVDSeekAsyncPrio</CODE>, and <CODE>DVDCheckDiskAsync</CODE> functions. These functions always return TRUE.</p>
2224
2225<hr />
2226<h3><a name="note355" id="note355">Note 355 (KBD/KPR): Corrected a number of problems</a></h3>
2227<p>Made a number of corrections. For details, see the function reference manual.</p>
2228
2229<hr />
2230<h3><a name="note354" id="note354">Note 354 (KPAD): Made a correction such that when the device type is WPAD_DEV_FUTURE the input can be obtained in KPAD1 style</a></h3>
2231<p>When input data from the Wii Remote was obtained directly from the ring buffer (KPAD1 style) instead of being obtained with the <CODE>KPADRead</CODE> function, the input data could not be obtained when the device type was WPAD_DEV_FUTURE.</p><p>
2232This problem was corrected.</p>
2233
2234<hr />
2235<h3><a name="note353" id="note353">Note 353 (WPAD): Fixed a bug that caused an exception and halt at next startup if Wii shut down during registration process</a></h3>
2236<p>If the Wii console was shut down when it was registering the Wii Remote, certain timings would cause an exception to occur.</p><p>
2237This situation has been corrected by not performing the shutdown until the system enters a state in which the registration process can be stopped safely, even if the system is shut down during the registration process.</p>
2238
2239<hr />
2240<h2 style="line-height: 0"><a name="20070509p3" id="20070509p3">2007/5/9 SDK Version 3.0 Patch 3</a> <div style="text-align: right">(2007/06/21)</div></h2><hr />
2241<h3><a name="note352" id="note352">Note 352 (TOOL): System firmware Version 31.4.12 release</a></h3>
2242<p>Update system firmware (formerly NDEV firmware) after applying this patch and before running applications.
2243</p><p>
2244For instructions about updating the version, see the Installation Procedure section of the SDK's readme.
2245</p>
2246
2247<hr />
2248<h3><a name="note351" id="note351">Note 351 (KBD/KPR): Corrected a number of problems</a></h3>
2249<p>Made a number of corrections. For details, see the function reference manual.
2250</p>
2251
2252<hr />
2253<h3><a name="note350" id="note350">Note 350 (WPAD): Fixed a bug that allowed connection of simple-paired Wii Remote even after shutdown</a></h3>
2254<p>A bug existed that would cause simple registration information to be recorded at shutdown time, when WiiConnect24 was set to run while the console was in standby status.</p>
2255<p>
2256As a result, Wii Remotes that were registered using One Time Mode were able to connect even after the system was shut down and restarted.
2257</p><p>
2258This problem has been corrected.
2259</p>
2260
2261<hr />
2262<h3><a name="note349" id="note349">Note 349 (WPAD): Fixed a bug that caused failure of Wii Remote registration until Wii was reset</a></h3>
2263<p>It was found that [this issue] does occur rarely, when trying to connect an already-registered Wii Remote to multiple consoles at the same time if the registration operation is started from the Wii console side.</p><p>This bug has been corrected such that it will not occur even in this type of situation.</p>
2264
2265<hr />
2266<h3><a name="note348" id="note348">Note 348 (DEMO): Added a setting to allocate XFB in MEM2</a></h3>
2267<p>A setting was added to allocate XFB in MEM2.</p>
2268<p>
2269This setting can be enabled by stating that <CODE>DemoUseMEM2XFB=TRUE</CODE> before calling the <CODE>DEMOInit()</CODE> function.</p>
2270
2271<hr />
2272<h2 style="line-height: 0"><a name="20070509p2" id="20070509p2">2007/05/09 SDK Version 3.0 Patch 2</a> <div style="text-align: right">(2007/06/07)</div></h2><hr />
2273<h3><a name="note347" id="note347">Note 347 (TOOL): System firmware Version 31.4.11 release</a></h3>
2274<p>Update system firmware (formerly NDEV firmware) after applying this patch and before running applications.
2275</p><p>
2276For instructions about updating the version, see the Installation Procedure section of the SDK's readme.
2277</p>
2278
2279<hr />
2280<h3><a name="note346" id="note346">Note 346 (TOOL): Corrected operation of ntcompress tool when acting to decompress illegal data</a></h3>
2281<p>There were occasions when the ntcompress program had crashed when illegal data was attempted to be extracted.</p><p>
2282This has been corrected so that an error will be displayed, and the program will exit normally.</p>
2283
2284<hr />
2285<h3><a name="note345" id="note345">Note 345 (KBD): Fixed a bug that prevented recovery from the screen burn-in reduction state</a></h3>
2286<p>There was a bug that caused the system not to recover from screen burn-in reduction state even after keyboard input.</p><p>
2287This problem has been corrected.</p>
2288
2289<hr />
2290<h3><a name="note344" id="note344">Note 344 (KBD/KPR): Made additions and corrections to API</a></h3>
2291<p>Additions and revisions were made to several functions. For details, see the <I>Function Reference Manual</I>.</p>
2292
2293<hr />
2294<h3><a name="note343" id="note343">Note 343 (WPAD): Changed the internal processing of WPADGetInfo(Async)</a></h3>
2295<p>To a bug that halted the controller data transfer, made the following fix: changed the WPADGetInfo(Async) function's internal processing for the case when no external extension controllers were inserted into the Wii Remote.</p>
2296<p>
2297Due to this change, the WPADProbe function will be returning WPAD_ERR_BUSY for some time after the WPADGetInfo(Async) function is called. However, there is no risk of losing data because they will be received correctly from the controller even during this period.
2298</p>
2299<p>*This revision is the same as the revision that was reported in SDK Version 2.4 Patch 6.</p>
2300
2301<hr />
2302<h3><a name="note342" id="note342">Note 342 (WPAD): Fixed a bug that stopped the transfer of controller data from the Wii Remote</a></h3>
2303<p>There was a bug that caused the Wii Remote to stop transferring the controller data if the WPADGetInfo(Async) function was used when removing an extension controller that returns WPAD_DEV_FUTURE as the device type from the Wii Remote.</p>
2304<p>
2305This problem has been corrected.</p>
2306<p>*This revision is the same as the revision that was reported in SDK Version 2.4 Patch 6.</p>
2307
2308<hr />
2309<h3><a name="note341" id="note341">Note 341 (KPAD): Corrected error handling of the Wii Remote's controller data</a></h3>
2310<p>The WPADProbe function had been used to check the validity of data from within the sampling callback that is called when data is received. The status that is obtained by this function is irrelevant to the validity of the data, so there were cases when valid data was being wrongfully discarded.</p>
2311<p>
2312This problem has been corrected.</p>
2313<p>*This revision is the same as the revision that was reported in SDK Version 2.4 Patch 6.</p>
2314
2315<hr />
2316<h3><a name="note340" id="note340">Note 340 (KPAD): Added functions to correct the Nunchuk motion sensor</a></h3>
2317<p>When the side of Nunchuk that contains the C and Z Buttons is [facing] away from the ground and the Nunchuk's Control Stick is perpendicular with the ground, the motion sensor will recognize [the Nunchuk] as being in a horizontal state. If correction is performed, [the Nunchuk] will also be recognized as being in a horizontal state when the side that contains the C and Z Buttons is [facing] toward the ground.</p>
2318<p>
2319The following functions were added for correction.<br>- KPADSetReviseMode()<br> - KPADReviseAcc()<br> - KPADGetReviseAngle()</p>
2320
2321<hr />
2322<h3><a name="note339" id="note339">Note 339 (CX): Fixed a problem with uncompression when the source data size is not aligned to 4 bytes for Huffman compression</a></h3>
2323<p>If the source data size is not 4-byte aligned during Huffman compression, there were cases in which the final 1-3 bytes were not extracted correctly when extracted with the CXReadUncompHuffman function. This has been corrected so that will be extracted correctly.</p>
2324
2325<hr />
2326<h3><a name="note338" id="note338">Note 338 (CX): Fixed a bug such that during streaming uncompression an error would return if the compressed data was invalid</a></h3>
2327<p>Corrected the CXReadUncompRL, CXReadUncompLZ, and CXReadUncomHuffman functions so that they will return negative error codes when an attempt is made to extract data that cannot be extracted (invalid compressed data).</p>
2328
2329<hr />
2330<h3><a name="note337" id="note337">Note 337 (CX): Added LZ77 extended compression</a></h3>
2331<p>Added an a format that extends the length size of LZ77 compression during compression. LZ77 compression can be done in the extended format by either specifying <CODE>-lex</CODE> as an option to <CODE>ntcompress</CODE> or by using the <CODE>CXCompressLZEx</CODE> function.</p>
2332<p>
2333Note that while the expansion function is the same as that for normal LZ77 compression, extraction is not possible using the LZ77 expansion functions included in previous SDKs.</p>
2334
2335<hr />
2336<h3><a name="note336" id="note336">Note 336 (CX): Added uncompression size specification for streaming uncompression</a></h3>
2337<p>The CXInitUncompContextRLFront, CXInitUncompContextLZFront, and CXInitUncompContextHuffmanFront functions were added as interfaces for specifying the data size to expand during streaming decompression.</p>
2338
2339<hr />
2340<h2 style="line-height: 0"><a name="20070509p1" id="20070509p1">2007/05/09 SDK Version 3.0 Patch 1</a> <div style="text-align: right">(2007/05/24)</div></h2><hr />
2341<h3><a name="note335" id="note335">Note 335 (TOOL): System firmware Version 31.4.8 release</a></h3>
2342<p>Update the system firmware (formerly NDEV firmware) after applying this patch and before running applications.</p>
2343<p>
2344For instructions about updating the <CODE>versionRefer</CODE>, see the Installation Procedure section of the SDK's readme file.
2345</p>
2346
2347<hr />
2348<h3><a name="note334" id="note334">Note 334 (CX): Added functions for secure data uncompression</a></h3>
2349<p>Functions were added for carrying out processing while heeding buffer overruns. They are the following five:</p><p>
2350CXSecureUncompressAny()<br> CXSecureUncompressRL()<br> CXSecureUncompressLZ()<br> CXSecureUncompressHuffman()<br> CXSecureUnfilterDiff()<br>
2351</p>
2352
2353<hr />
2354<h2 style="line-height: 0"><a name="20070509" id="20070509">2007/05/09 SDK Version 3.0</a> <div style="text-align: right">(2007/05/09)</div></h2><hr />
2355<h3><a name="note333" id="note333">Note 333 (TOOL): System firmware Version 31.4.7 release</a></h3>
2356<p>Update the system firmware (formerly NDEV firmware) after applying this patch and before running applications.</p><p>For instructions about updating the versionRefer, see the Installation Procedure section of the SDK's readme. </p>
2357
2358<hr />
2359<h3><a name="note332" id="note332">Note 332 (TOOL): Updated the DEVKIT system menu</a></h3>
2360<p>Upgraded the DEVKIT system menu to version 1.13. </p><p>
2361To the DEVKIT system menu, added the support for version 31 of the firmware. </p>
2362
2363<hr />
2364<h3><a name="note331" id="note331">Note 331 (KPAD): Added functions for getting parameters</a></h3>
2365<p>Previously, for the parameters used in pointing and speed calculations performed within the library, only the functions for setting the parameter values existed. We have added the functions for getting the values. </p><p>
2366In addition, we added the corresponding function references. </p>
2367
2368<hr />
2369<h3><a name="note330" id="note330">Note 330 (KPAD): Made the KPADInit function non-blocking</a></h3>
2370<p>After the <CODE>WPADInit</CODE> function was called internally, the <CODE>KPADInit</CODE> function had to wait for the WPAD library to complete initialization. This was changed such that <CODE>KPADInit</CODE> no longer has to wait. </p><p>
2371As before, KPAD library functions can be called after the <CODE>KPADInit</CODE> function. </p>
2372
2373<hr />
2374<h3><a name="note329" id="note329">Note 329 (WPAD): Stopped the release of the wpad_tool[D].elf and wpad_get_ver[D].elf tools</a></h3>
2375<p>When the communications module of the Wii Remote was unstable, these tools got released for use in bug analysis. Because the communications module of the Wii Remote has since stabilized, it is unnecessary to release these tools any longer. </p>
2376
2377<hr />
2378<h3><a name="note328" id="note328">Note 328 (WPAD): Changed specifications for simple pairing</a></h3>
2379<p>This involves the sharing of the same registration information by the Wii console and Wii Remote. In the past, when the Wii console was reset, the pairing information for the simple-paired Wii Remotes was cleared on the Wii console side. We have changed the specifications to not clear the registration information until the Wii console is shut down. </p><p>
2380There is no compatibility with previous specifications. Thus, simple-paired Wii Remotes cannot be connected when you run applications built with pre-SDK2.4 versions of SDK. Re-running applications built with SDK 3.0 or later will allow simple-paired Wii Remotes to connect. </p><p>
2381However, if simple pairing is performed again while an application built with a pre-SDK2.4 version is running, the registration information on the Wii Remote side will be overwritten. Consequently, such Wii Remotes cannot connect even if an application built with SDK 3.0 or a later version is run. </p>
2382
2383<hr />
2384<h3><a name="note327" id="note327">Note 327 (WPAD): Changed specifications for the WPADAttach(detach)DummyExtension functions</a></h3>
2385<p>In the past, functions <CODE>WPADAttachDummyExtension</CODE> and <CODE>WPADDetachDummyExtension</CODE> were not included in the release versions of the library. To explain, these are the debug functions, and the release versions cannot be built using the same source code that is used in the debug versions. </p><p>
2386For convenience, these functions were included in the release versions of the library. This will enable you to build the release versions with the same source code. The functions were disabled in the release versions. </p>
2387
2388<hr />
2389<h3><a name="note326" id="note326">Note 326 (WPAD): Corrected shifts in each coordinate axis of the DPD module</a></h3>
2390<p>Even if the DPD captures the same object from the same location, the coordinate values returned by each module will shift. If the values are captured from the same location as the objects located at the four corners of the range that can be captured by DPD, these values will be written in the Wii Remote at the time of manufacture.
2391</p><p>
2392The WPAD library now uses these values to correct to the maximal possible extent the DPD coordinates received from the Wii Remote, and then to pass the coordinates to the application.</p>
2393
2394<hr />
2395<h3><a name="note325" id="note325">Note 325 (NAND): Added a function for getting the usage status of /tmp</a></h3>
2396<p>Added the <CODE>NANDGetTmpDirUsage[Async]</CODE> function. </p><p>This function can be used to get the number of FS blocks and inodes consumed by /tmp.
2397</p>
2398
2399<hr />
2400<h3><a name="note324" id="note324">Note 324 (NAND): Added a function for getting the usage status of the home directory</a></h3>
2401<p>Added the <CODE>NANDGetHomeDirUsage[Async]</CODE> function. </p><p>This function can be used to get the number of FS blocks and inodes consumed by the home directory.
2402</p>
2403
2404<hr />
2405<h3><a name="note323" id="note323">Note 323 (NAND): Added functions of type NANDSimpleSafe</a></h3>
2406<p>Previously, functions of type NANDSafe were prepared for updating file content atomically. However, their defect lay in having no means to recover from errors. </p><p>Functions of type NandSimpleSafe were added to take the place of the NANDSafe functions. </p>
2407
2408<hr />
2409<h3><a name="note322" id="note322">Note 322 (NAND): Changed the method for dealing with the NAND_RESULT_BUSY and NAND_RESULT_ALLOC_FAILED errors</a></h3>
2410<p>We changed the procedure for handling the NAND_RESULT_BUSY and NAND_RESULT_ALLOC_FAILED errors. </p><p>For details, refer to the Processing Sequence page of the NAND Function Reference Manual. </p>
2411
2412<hr />
2413<h3><a name="note321" id="note321">Note 321 (PAD): Pulled the <I>simple</I> demo</a></h3>
2414<p>Among the sample demos for the PAD library, the <CODE>simple</CODE> demo's release was stopped for the following reasons: </p>
2415<p>
2416- The described code does not comply with the guidelines.<br> - The content of the demo is sufficiently covered by the <CODE>basic</CODE> demo.</p>
2417
2418<hr />
2419<h3><a name="note320" id="note320">Note 320 (KPAD): Added the keyboard library</a></h3>
2420<p>Added the keyboard library.</p><p>
2421Added a library for using USB keyboards. </p>
2422
2423<hr />
2424<h3><a name="note319" id="note319">Note 319 (MAN): Corrected broken links in the function reference manual</a></h3>
2425<p>There were several broken links in the Function Reference Manual.
2426</p><p>
2427This problem has been corrected. </p>
2428
2429<hr />
2430<h3><a name="note318" id="note318">Note 318 (OS): Added the function reference for OSGetAppType</a></h3>
2431<p>Released the <CODE>OSGetAppType</CODE> function, which had only been used internally. </p>
2432<p>This function is used for getting the game type. For further details, see the OSGetAppType page of the Function Reference. </p>
2433
2434<hr />
2435<h3><a name="note317" id="note317">Note 317 (MIDI): Added the MIDI adapter library</a></h3>
2436<p>
2437Added a library for using MIDI adapters. </p>
2438<p>
2439MIDI adapters and this library are primarily designed to support the developers who work with sound. Consequently, you may not include this library in a finished product. </p>
2440
2441<hr />
2442<h2 style="line-height: 0"><a name="20061130p6" id="20061130p6">2006/11/30 SDK Version 2.4 Patch 6</a> <div style="text-align: right">(2007/05/18)</div></h2><hr />
2443<h3><a name="note320" id="note320">Note 320 (KPAD): Corrected error handling of the Wii Remote's controller data</a></h3>
2444<p>The controller data status used to be determined from the values of both the <CODE>WPADProbe</CODE> function and the <CODE>err</CODE> member of the <CODE>WPADStatus</CODE> structure. However, because only the value of <CODE>err</CODE> expresses the status of the controller data, a correction has been made such that the value of <CODE>WPADProbe</CODE> is not referenced. </p>
2445
2446<hr />
2447<h3><a name="note319" id="note319">Note 319 (WPAD): Changed the internal processing of WPADGetInfo(Async)</a></h3>
2448<p>To a bug that halted the controller data transfer, made the following fix: changed the <CODE>WPADGetInfo(Async)</CODE> function's internal processing for the case when no external extension controllers were inserted into the Wii Remote.</p>
2449<p>
2450Due to this change, the <CODE>WPADProbe</CODE> function will be returning <CODE>WPAD_ERR_BUSY</CODE> for some time after the <CODE>WPADGetInfo(Async)</CODE> function is called. However, there is no risk of losing data because they will be received correctly from the controller even during this period.</p>
2451
2452<hr />
2453<h3><a name="note318" id="note318">Note 318 (WPAD): Fixed a bug that stopped the transfer of controller data from the Wii Remote</a></h3>
2454<p>If a device that returned <CODE>WPAD_DEV_FUTURE</CODE> as the extension controller device type was removed from the Wii Remote, a bug would halt the controller data transfer from the Wii Remote when the <CODE>WPADGetInfo(Async)</CODE> function was used.</p><p>
2455This problem has been corrected.</p>
2456
2457<hr />
2458<h3><a name="note317" id="note317">Note 317 (WPAD): Changed specifications for the WPADAttach(detach)DummyExtension functions</a></h3>
2459<p>Because <CODE>WPADAttachDummyExtension</CODE> and <CODE>WPADDetachDummyExtension</CODE> are debug functions, they have not been included in the release versions of the library. Consequently, the same source code could not be used to build the release and the debug versions.</p>
2460<p>
2461For convenience, these functions have been disabled and in this form added to the release versions of the library, allowing you to build the release versions with the same source code.</p>
2462
2463<hr />
2464<h2 style="line-height: 0"><a name="20061130p5" id="20061130p5">2006/11/30 SDK Version 2.4 Patch 5</a> <div style="text-align: right">(2007/05/09)</div></h2><hr />
2465<h3><a name="note316" id="note316">Note 316 (WPAD): Fixed a bug that caused the Wii Remote to be inoperable if an extension controller was inserted and removed immediately</a></h3>
2466<p>Fixed the following bug: If a Wii Remote extension controller, such as the Nunchuk, was removed the instant it was inserted, often the input data of the Wii Remote could no longer be received.</p>
2467<p>
2468This bug was introduced with the corrections for SDK 2.4 patch 4. For this reason, it is not present in the earlier SDKs. </p>
2469<p>
2470This problem has been corrected.</p>
2471
2472<hr />
2473<h2 style="line-height: 0"><a name="20061130p4" id="20061130p4">2006/11/30 SDK Version 2.4 Patch 4</a> <div style="text-align: right">(2007/04/25)</div></h2><hr />
2474<h3><a name="note315" id="note315">Note 315 (NAND): Updated the function reference manual</a></h3>
2475<p>Added a note about handling of BUSY-related error codes to the &quot;Processing Sequence&quot; page.</p>
2476
2477<hr />
2478<h3><a name="note314" id="note314">Note 314 (KPAD): Added a sample demo for detecting the direction that the Wii Remote is swung</a></h3>
2479<p>This sample demo displays an arrow on the screen indicating the direction in which the Wii Remote was swung, and the algorithm for detecting the direction of the swing is included in the source of the sample demo.</p>
2480
2481<hr />
2482<h3><a name="note313" id="note313">Note 313 (KPAD): Corrected errors in manuals</a></h3>
2483<p>Corrected errors in the manuals of the <CODE>KPADEnableStickCrossClamp</CODE> and <CODE>KPADDisableStickCrossClamp</CODE> functions. These functions have no arguments.
2484</p>
2485
2486<hr />
2487<h3><a name="note312" id="note312">Note 312 (KPAD): For the Sensor Bar placement position, changed the corrective processing to be enabled by default</a></h3>
2488<p>The <CODE>KPADEnableAimingMode</CODE> function was changed so that it is called from within the <CODE>KPADInit</CODE> function so that correction processing for the Sensor Bar placement is enabled by default.
2489</p><p>
2490Revised the sample demo along with this.
2491</p>
2492
2493<hr />
2494<h3><a name="note311" id="note311">Note 311 (KPAD): Fixed a bug related to maximum stored data passed to KPADRead</a></h3>
2495<p>When a number lower than <CODE>KPAD_MAX_READ_BUFS</CODE>, 1 for example, is specified as the maximum number of stored data items passed to the <CODE>KPADRead</CODE> function, there were cases in which the actual repeat interval was longer than the button repeat time interval specified with the <CODE>KPADSetBtnRepeat</CODE> function.</p>
2496<p>
2497This problem has been corrected.
2498</p>
2499
2500<hr />
2501<h3><a name="note310" id="note310">Note 310 (WPAD): Updated Function Reference</a></h3>
2502<p>The following content was added to the &quot;Introduction&quot; page.
2503</p><p>
2504- Neither type of pairing can be performed while the pairing information is being deleted by holding the SYNCHRO<br>- Resetting the analog sticks on the Nunchuk and Classic Controller cannot be performed with a combination of buttons on the Wii Remote and the Classic Controller<br>- Stop the speaker during periods when it is not in use<br>
2505</p>
2506
2507<hr />
2508<h3><a name="note309" id="note309">Note 309 (WPAD): To a tool added Wii Remote memory initialization</a></h3>
2509<p>Added a feature that initializes the Wii Remote memory to the <CODE>wpad_mem_util.elf</CODE> tool for error-checking the Wii Remote memory.
2510</p>
2511
2512<hr />
2513<h3><a name="note308" id="note308">Note 308 (WPAD): Fixed a bug in the system's Bluetooth wireless module</a></h3>
2514<p>The Bluetooth wireless module that the system is equipped with checks the signal status every 10 seconds. If the console was reset while this task was being performed, there was a bug that prevented the module from sending or receiving signals. To recover from this issue, it was necessary to remove the console's AC adapter from the outlet.
2515</p><p>
2516This problem has been corrected.</p>
2517
2518<hr />
2519<h3><a name="note307" id="note307">Note 307 (WPAD): Corrected the following bug: if a deallocator that uses a mutex is registered, the execution halts on ASSERT when a FATAL error occurs</a></h3>
2520<p>When using a mutex within the deallocator function registered in the WPAD library and a FATAL error in DVD or other libraries occurred, there was a bug that halted on ASSERT when memory was released during handling of the FATAL error by the WPAD library.</p>
2521<p>
2522This problem has been corrected.</p>
2523
2524<hr />
2525<h3><a name="note306" id="note306">Note 306 (WPAD): Fixed the following bug: if the WPADGetInfoAsync function is called frequently, the external extension controllers are not recognized</a></h3>
2526<p>Within the library, there is a control queue for controlling the Wii Remote and a recognition queue for recognizing external extension controllers. Calling the WPADGetInfoAsync function will register a command in the control queue. Because there was a problem in the prioritization of the recognition queue and the control queue, there were times when commands in the recognition queue could not be processed if the control queue was constantly full with commands.</p>
2527<p>
2528This problem has been corrected.
2529</p>
2530
2531<hr />
2532<h3><a name="note305" id="note305">Note 305 (WPAD): Reduced the time before the Player LEDs go off when disconnection is performed with the WPADDisconnect function</a></h3>
2533<p>When connections were disconnected with the <CODE>WPADDisconnect</CODE> function, the Player Indicators were on for slightly less than 1 second after disconnection.</p>
2534<p>
2535This has been corrected so that the Player Indicators will go off immediately after disconnection.</p>
2536
2537<hr />
2538<h3><a name="note304" id="note304">Note 304 (WPAD): Changed the amount of time before signal interference causes a disconnect</a></h3>
2539<p>For the communication between the console and Wii Remotes, there is a disconnection feature after signals from the other side have been cut off for a fixed period of time due to signal interference. Until now, this time had been set to 2 seconds, but in preparation for the speeding up of application loads, it was changed to 1 second.
2540</p>
2541
2542<hr />
2543<h3><a name="note303" id="note303">Note 303 (WPAD): Added functions for debugging external extension controller processing</a></h3>
2544<p>For application debugging purpose, the <CODE>WPADAttachDummyExtension</CODE> debug function, which operates the library in almost the same way as if the external extension controller had been inserted (inserts a dummy device), and the <CODE>WPADDetachDummyExtension</CODE> debug function, which restores the device type to the Wii Remote, were added.</p>
2545<p>
2546However, please note that these functions can only be used with debug versions of the library, and will only operate correctly when nothing has been inserted into the Wii Remote.
2547</p>
2548
2549<hr />
2550<h3><a name="note302" id="note302">Note 302 (WPAD): Updated the sample demos</a></h3>
2551<p>In the accept, wpad_axdemo, <CODE>wpad_seqdemo</CODE>, and wpad_spdemo sample demos, the speaker was always running as long as the Wii Remote was connected. However, these demos have been revised to match the guidelines so that the speaker is stopped when not in use. In addition, in the memory sample demo, memory could not be read from or written to when the device type was set to values such as <CODE>WPAD_DEV_FUTURE</CODE>. The demo was changed so that this is now possible.</p>
2552
2553<hr />
2554<h3><a name="note301" id="note301">Note 301 (DVD): Corrected automatic fatal error messages</a></h3>
2555<p>A problem was fixed wherein the content of the automatic fatal error message was different than the content specified in the message list of the programming guidelines.</p>
2556
2557<hr />
2558<h3><a name="note300" id="note300">Note 300 (DOC): Added the contact information for the Roland Corporation's licensing department</a></h3>
2559<p>The contact information for the end-user licensing agreement with Roland Corporation was not listed. The contact information is listed in the following file.</p>
2560<p><CODE>docs/en_US/License/Roland/Roland_contact_info.txt</CODE></p>
2561
2562<hr />
2563<h3><a name="note299" id="note299">Note 290 (OS): Added the function reference for OSGetAppGamename</a></h3>
2564<p>Released <CODE>OSGetAppGamename</CODE>, which had been an internal function. This function is a function for getting game names. For details, see the <CODE>OSGetAppGamename </CODE>page of the function reference.
2565</p>
2566
2567<hr />
2568<h3><a name="note298" id="note298">Note 298 (OS): Made fixes for debugging of relocatable module</a></h3>
2569<p>The OS library was corrected for debugging of relocatable modules (REL).
2570</p>
2571
2572<hr />
2573<h3><a name="note297" id="note297">Note 297 (AX): Corrected the bug that caused noise during the streaming playback of the ADPCM data</a></h3>
2574<p>Noise was occurring because during streaming playback of ADPCM data with the sample program axstream.c, the loop context of the ADPCM data was not being updated correctly when the playback position looped from the end of the streaming buffer to the start.
2575</p><p>
2576This problem has been corrected.</p>
2577
2578<hr />
2579<h2 style="line-height: 0"><a name="20061130p3" id="20061130p3">2006/11/30 SDK Version 2.4 Patch 3</a> <div style="text-align: right">(2007/03/01)</div></h2><hr />
2580<h3><a name="note296" id="note296">Note 296 (TOOL): System firmware Version 21.2.2 release</a></h3>
2581<p>Update the system firmware (formerly NDEV firmware) after applying this patch and before running applications. Run the update program by starting a Bourne-again shell (bash) and entering &quot;fwupdate21_2_2&quot;. If the environment is customized or if things do not go smoothly using the method described above, go to the <CODE>RVL_SDK/RVL/bin/tools</CODE> directory and execute '<CODE>ODEM -r -l swupdate21_2_2_xx.gcm</CODE>'. (For xx, enter either &quot;jp&quot;, &quot;us&quot;, or &quot;eu&quot;.) The update will start automatically about 10 seconds after firmware starts. Once the update is complete, the message &quot;SWUpdate Successful&quot; appears on the screen, and the NDEV firmware is updated to Firmware 21.2.2 DEVKIT BOOT PROGRAM v1.11. If any versions are already higher than this, the update will fail after displaying &quot;Import: *** ...failed&quot;, but you can continue without any problems. </p>
2582
2583<hr />
2584<h3><a name="note295" id="note295">Note 295 (TOOL): Added features to the DEVKIT system menu</a></h3>
2585<p>Added Verify System Firmware and System Information to the DEVKIT system menu. For details, see &quot;DEVKIT System Menu&quot; in the &quot;Tools&quot; section of the manual.</p>
2586
2587<hr />
2588<h3><a name="note294" id="note294">Note 294 (TOOL): Corrected features in the DEVKIT system menu</a></h3>
2589<p>The following features of the DEVKIT system menu were corrected:
2590</p>
2591<p>
2592- Changed so that the log is always output to the screen<br>- Revised the content displayed on the screen</p>
2593
2594<hr />
2595<h3><a name="note293" id="note293">Note 293 (ENC): Corrected a problem where the returned number of converted characters was incorrect</a></h3>
2596<p>When specifying the size of the conversion destination buffer and converting from the internal character encoding to ISO-2022-JP, the post-conversion size was not being returned correctly. This problem has been corrected.</p>
2597
2598<hr />
2599<h3><a name="note292" id="note292">Note 292 (ENC): Added a conversion table stripping feature</a></h3>
2600<p>Added a feature to strip any unnecessary Japanese conversion tables.</p>
2601
2602<hr />
2603<h3><a name="note291" id="note291">Note 291 (ENC): Added/revised manuals and demos</a></h3>
2604<p>Added a description of a sample demo as well as a demo that uses alternate characters.<br>Deleted unnecessary code from the demo.</p>
2605
2606<hr />
2607<h2 style="line-height: 0"><a name="20061130p2" id="20061130p2">2006/11/30 SDK Version 2.4 Patch 2</a> <div style="text-align: right">(2007/01/10)</div></h2><hr />
2608<h3><a name="note290" id="note290">Note 290 (OS): Added a description to the function reference for OSInitFastCast</a></h3>
2609<p>Added a description to the function reference that the effect of the <CODE>OSInitFastCast</CODE> function is limited to threads that have called this function.</p>
2610
2611<hr />
2612<h3><a name="note289" id="note289">Note 289 (FNT): Added the FNT library</a></h3>
2613<p>A library for using Wii bitmap fonts, the FNT library has been added.</p>
2614<p>For details, see the function reference for the FNT library.</p>
2615
2616<hr />
2617<h3><a name="note288" id="note288">Note 288 (HIO2): Corrected a problem that occurred when HIO2Init was called multiple times</a></h3>
2618<p>There was a problem where an error would occur when <CODE>HIO2Open</CODE> would execute if <CODE>HIO2Init</CODE> is called again after already having been called.</p>
2619<p>This problem has been corrected.</p>
2620
2621<hr />
2622<h3><a name="note287" id="note287">Note 287 (HIO2): Revised the function reference for HIO2EnumDevices</a></h3>
2623<p>The type of return value for the host side (Win32) function <CODE>HIO2EnumDevices</CODE> was given as Boolean when actually it is s32.</p>
2624<p>
2625The function reference has been revised.</p>
2626
2627<hr />
2628<h3><a name="note286" id="note286">Note 286 (THP): Revised THPConv(D).exe such that it would not perform sampling during execution</a></h3>
2629<p>Unlike the GameCube, with the Wii, audio data is output at a set playback frequency (of 48,000 Hz or 32,000 Hz). It is no longer necessary when creating THP data to perform sampling for the purpose of fine tuning (48,000 Hz -&gt; 48,043 Hz/32,000 Hz -&gt; 32,028 Hz) of the playback frequency as when using the GameCube.,</p>
2630<p>
2631<CODE>THPConv(D).exe</CODE> has been revised so that sampling is not performed when conventionally executed without the -on option. In addition, the -on option has been deleted. However, to maintain compatibility, <CODE>THPConv(D).exe</CODE> will not stop on an option error even if the -on option is used with the new version of <CODE>THPConv(D).exe</CODE>. Furthermore, since there have been no changes to the THP data file format, the THP data version remains 1.1.</p>
2632
2633<hr />
2634<h3><a name="note285" id="note285">Note 285 (THP): Revised a description related to playback frequency to match that of Wii</a></h3>
2635<p>Notes related to the playback frequency of audio data when creating THP data have been revised to match Wii specifications.</p>
2636<p>
2637Unlike the GameCube, with the Wii, audio data is output at a set playback frequency (of 48,000 Hz or 32,000 Hz).</p>
2638
2639<hr />
2640<h3><a name="note284" id="note284">Note 284 (AX): Corrected a problem where axstream would not support data of a size smaller than the buffer size</a></h3>
2641<p>There was a problem when playing data having a size less than the streaming buffer size (<CODE>STREAMBUFFER_BYTES</CODE>) using <CODE>axstream.c</CODE>, the software streaming demo of the AX library, where noise would be emitted after playback of data ended and execution would stop on an assert from the DVD library.
2642</p><p>
2643This problem has been fixed.</p>
2644
2645<hr />
2646<h3><a name="note283" id="note283">Note 283 (AX): Updated the AX Application manual</a></h3>
2647<p>Descriptions in the &quot;AX Application&quot; manual (<CODE>AX_Applications.jp.pdf</CODE>) have been updated to match Revolution SDK specifications.</p>
2648
2649<hr />
2650<h3><a name="note282" id="note282">Note 282 (WPAD): Corrected a problem where data could not be obtained when connected with an undefined controller plugged in</a></h3>
2651<p>Sometimes input from the Wii Remote could not be obtained when connected to the Wii console if an undefined extension controller (a controller other than the Nunchuk or Classic Controller) had been plugged into the it while it was disconnected.</p>
2652<p>
2653Since data from the remote stops when an extension controller is plugged in, if a command requesting the transfer of data in extended controller data format was issued by the application despite the fact that specifications called for the transfer of commands that request the transfer of data in the immediately previous data format within the library, sometimes the application issued command would be sent first.
2654</p><p>
2655This problem has been corrected.</p>
2656
2657<hr />
2658<h3><a name="note281" id="note281">Note 281 (WPAD): Corrected the range of stick values given for WPADCLStatus</a></h3>
2659<p>Although the range of values that can be assumed by <CODE>clLStickX</CODE>, <CODE>clLStickY</CODE>, <CODE>clRStickX</CODE>, and <CODE>clRStickY</CODE> of <CODE>WPADCLStatus</CODE> was given in the man pages as -128 through 127, the actual allowable range of values is -512 through 511. This error has been corrected.</p>
2660
2661<hr />
2662<h3><a name="note280" id="note280">Note 280 (DVD): Corrected a problem where shutdown processing was not being performed correctly when an automatic Fatal message was issued</a></h3>
2663<p>A problem was corrected where the device and library would not close correctly when there was a Fatal error in the drive when automatic Fatal messages were enabled.</p>
2664
2665<hr />
2666<h2 style="line-height: 0"><a name="20061130p1" id="20061130p1">2006/11/30 SDK Version 2.4 Patch 1</a> <div style="text-align: right">(2006/12/18)</div></h2><hr />
2667<h3><a name="note279" id="note279">Note 279 (AX): Revised the DSP load estimate again</a></h3>
2668<p>The following measures have been taken regarding Release Note #266 &quot;(AX): Accounted for delay in response to AI/DSP interrupts when calculating the estimated load on the DSP.&quot;</p>
2669<BLOCKQUOTE><I>In the case of applications that aggressively use callbacks in response to timers and interrupts, audio frame processing may be delayed because it cannot be started immediately after an AI or DSP interrupt.<br> Because this delay was not accounted for in older versions of AX, the estimated DSP load was not calculated correctly in some cases. This problem was fixed. As a result of this revision, however, the number of AX voices has been reduced by about six voices on average.</I></BLOCKQUOTE>
2670<p>
2671However, with the above revision, we found that background music and sound effects would be cut off as a result of AX performing drop processing on all voices if an interrupt delay larger than expected occurred.</p>
2672<p>
2673The method of estimating the DSP load was therefore revised again.</p><p>
2674- The amount of interrupt delay was fixed (200 microseconds in release builds and 400 microseconds in debug builds) <br>- Even delays longer than the above set time occur, they will not cause voices to be dropped<br>- When delays longer than the above set time occur, they might cause noise.<br>
2675</p><p>
2676Even so, attention must be paid to interrupt delays that are longer than expected. As written in Chapter 7, &ldquo;Critical Sections&rdquo; of the Revolution SDK document OS.jp.pdf, applications must keep the period during which interrupts are disabled as short as possible.
2677</p><p>Particular attention must be paid when using <CODE>OSReport()</CODE> in debugging.
2678</p><p>
2679<CODE>OSReport()</CODE> takes time to complete. There is therefore a possibility that unstable application behavior may result if <CODE>OSReport()</CODE> is called while interrupts, such as those in the interrupt handler, are being disabled. <CODE>OSReport()</CODE> must be called while interrupts are enabled.
2680</p><p>
2681The amount of interrupt delay associated with this revision is based on the information described above.</p>
2682
2683<hr />
2684<h3><a name="note278" id="note278">Note 278 (AX): Corrected a problem where the mixing volume would not update correctly</a></h3>
2685<p>There were the following problems when a non-zero value was specified for the delta of the mixing parameter (<CODE>axpb.mix</CODE>).</p>
2686<p>
2687- Once the volume was set to a value of 0x8000 or more, the volume would not update to a value lower than 0x8000 even if a negative value was specified for the delta.<br>- Once the volume was set to a value of 0x7fff or less, the volume would not update to a value of 0x8000 or more even if a positive value was specified for the delta.<br>
2688</p><p>
2689This problem has been fixed.</p>
2690
2691<hr />
2692<h3><a name="note277" id="note277">Note 277 (NAND): Added a description of the prohibition on frequent Read access</a></h3>
2693<p>Frequent read access of Wii console NAND memory is prohibited because a characteristic of NAND flash devices is that persistent, repeated read access of a given memory region may result in corruption of data surrounding that region. A note warning of this matter has been added to the introduction page of the NAND function reference manual.</p>
2694
2695<hr />
2696<h3><a name="note276" id="note276">Note 276 (TOOL): Added the wpad_mem_util tool</a></h3>
2697<p>The function <CODE>wpad_mem_util </CODE>has been added to tools.</p>
2698<p>
2699Used to manipulate the system header region of Wii Remote memory, <CODE>wpad_mem_util[D].elf</CODE> is a utility tool designed to return <CODE>WPAD_ERR_NOPERM</CODE> or <CODE>WPAD_ERR_BROKEN</CODE> when the <CODE>WPADReadGameData</CODE> function is called.
2700</p><p>
2701Use this utility when debugging applications that use Wii Remote memory.</p>
2702
2703<hr />
2704<h3><a name="note275" id="note275">Note 275 (OS): Corrected a bug that occurred when the OSFatal function was run from callback</a></h3>
2705<p>When the <CODE>OSFatal</CODE> function was called from a callback function, the device and library close process did not run correctly. This problem was fixed.</p>
2706
2707<hr />
2708<h3><a name="note274" id="note274">Note 274 (OS): Revised debug message during the reset and shutdown process</a></h3>
2709<p>  Although there was a problem where the following debug message would be displayed when a reset/shutdown function was called, this has been corrected so that the message is no longer displayed.</p><p>
2710CallbackAsyncIpc:ret = 0</p>
2711
2712<hr />
2713<h3><a name="note273" id="note273">Note 273 (OS): Stop WiiConnect24 operations by default</a></h3>
2714<p>Applications developed under a Revolution SDK 2.4 environment automatically perform WiiConnect24-related communication processes if WiiConnect24 is enabled according to Wii console settings.</p>
2715<p>
2716Although this automatic process has been enabled regardless of whether the application supports WiiConnect24, the default setting for applications that do not support WiiConnect24 has been changed to stopped status.
2717</p><p>
2718Furthermore, the function <CODE>NWC24ResumeScheduler</CODE> for starting this automatic processing and NWC24SuspendScheduler, for stopping it, have been added.</p>
2719
2720<hr />
2721<h2 style="line-height: 0"><a name="20061130" id="20061130">2006/11/30 SDK 2.4</a> <div style="text-align: right">(2006/11/30)</div></h2><hr />
2722<h3><a name="note272" id="note272">Note 272 (TOOL): System firmware Version 17.2.0 release</a></h3>
2723<p>Update the system firmware (formerly NDEV firmware) after applying this patch and before running applications. </p>
2724<p>
2725Run the update program by starting a Bourne-again shell (bash) and entering &quot;fwupdate17_2_0&quot;.
2726</p><p>
2727If 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 execute '<CODE>ODEM -r -l swupdate17_2_0_xx.gcm</CODE>.'  (For xx, enter either &quot;jp&quot;, &quot;us&quot;, or &quot;eu&quot;.) The update will start automatically about 10 seconds after firmware starts. Once the update is complete, the message &quot;SWUpdate Successful&quot; appears on the screen, and the NDEV firmware is updated to Firmware 17.2.0 DEVKIT BOOT PROGRAM v1.10.
2728</p><p>
2729If any versions are already higher than this, the update will fail after displaying &quot;Import: *** ...failed&quot;, but you can continue without any problems.
2730</p>
2731
2732<hr />
2733<h3><a name="note271" id="note271">Note 271 (TOOL): Fixed bugs in the DEVKIT system menu save-data controls</a></h3>
2734<p>The following bugs were corrected in the DEVKIT System Menu save-data operations:</p>
2735<p>
2736- Could not get the application type from the settings file.<br>- With some operations, the process would hang when copying data.</p>
2737
2738<hr />
2739<h3><a name="note270" id="note270">Note 270 (MIX): Corrected forgotten initialization of the MIXChannel structure members</a></h3>
2740<p>When the mixer being used by <CODE>MIXInitSpecifyMem()</CODE> was initialized, if the memory region specified by the argument for the mixer was not initialized to zero the application would stop.</p>
2741<p>
2742This problem has been resolved.</p>
2743
2744<hr />
2745<h3><a name="note269" id="note269">Note 269 (AX): Implemented mixer control for the Wii Remote speaker</a></h3>
2746<p>Mixer control for the Wii Remote speaker has been implemented. This reduces the DSP burden when the Wii Remote speaker is being used.</p>
2747
2748<hr />
2749<h3><a name="note268" id="note268">Note 268 (AX): Implemented LPF and biquad filters for audio output from the controller speaker</a></h3>
2750<p>It is now possible to apply conventional LPF filters or the new Biquad filters to the Wii Remote speaker audio data immediately before down-sampling from 32kHz to 6kHz.
2751</p><p>
2752For details, read the AX man page.</p>
2753
2754<hr />
2755<h3><a name="note267" id="note267">Note 267 (AX): Deleted temporary implementation of HPF and added a biquad filter</a></h3>
2756<p>Eliminated HPF, which had been implemented as a tentative measure, and in its place added Biquad filters. For details, read the AX man page.</p>
2757
2758<hr />
2759<h3><a name="note266" id="note266">Note 266 (AX): Accounted for delay in response to AI/DSP interrupts when calculating the estimated load on the DSP</a></h3>
2760<p>For applications that make active use of callbacks for timers and various interrupts, this can delay the start of the audio frame process so it does not start immediately after the AI interrupt (or the DSP interrupt).</p>
2761<p>
2762Since the AX did not take this delay into consideration previously, there were cases where the DSP load was not correctly estimated.</p>
2763<p>
2764This problem has been resolved. However, the fix reduces the average number of AX voices by about six voices.</p>
2765
2766<hr />
2767<h3><a name="note265" id="note265">Note 265 (AX/SEQ/SP/SYN): Removed zero buffer</a></h3>
2768<p>It is no longer necessary to specify the zero-buffer in the AX voice parameter block when AX is playing audio data only once ('one-shot') without looping. However, to retain compatibility of the functions, <CODE>zeroBuffer</CODE> remains an argument in the <CODE>SEQ/SP/SYN</CODE> libraries. When using any of these libraries, specify NULL for the <CODE>zeroBuffer</CODE> argument.</p>
2769
2770<hr />
2771<h3><a name="note264" id="note264">Note 264 (WPAD): Added the WPADControlExtGimmick function</a></h3>
2772<p>This function sends general-purpose commands to an external extension controller, which is connected to the Wii Remote, for its unique processes.
2773</p><p>
2774The function is designed for external extension controllers that might be developed in the future. The Nunchuk and Classic Controller do nothing if they receive commands from this function.</p>
2775
2776<hr />
2777<h3><a name="note263" id="note263">Note 263 (WPAD): Canceled the restriction mentioned in Note 163</a></h3>
2778<p>Note 163 mentions a restriction that at least two seconds need to pass after stopping the WPAD library before the WPADInit function can be called. But because the boot process takes more than two seconds on the Wii console, application developers need not worry about this rule.</p>
2779
2780<hr />
2781<h3><a name="note262" id="note262">Note 262 (WPAD): Changed specifications during simple pairing when reconnecting an already paired remote</a></h3>
2782<p>For Wii Remotes that had already been paired, any button could be pressed for reconnection during the Wii console Simple Pairing process. However, on the Home Menu, the Reconnect screen instructs players to reconnect by pressing the 1 + 2 Buttons. To avoid user confusion, it is no longer possible to reconnect in any way other than instructed.</p>
2783<p>
2784As for Normal Pairing, the process is the same as before, allowing the reconnection of paired Wii Remotes during Normal Pairing.</p>
2785
2786<hr />
2787<h3><a name="note261" id="note261">Note 261 (WPAD): Fixed a bug where updates of autosampling would fail</a></h3>
2788<p>When auto-sampling was used to get data from the external extension controller and the Wii Remote, <CODE>WPAD_ERR_BUSY</CODE> would be set in the 'err' member of the sampling buffer's status structure. After getting more data and cycling around the buffer, the next time the structure was updated the data for the external extension controller would be all zeros.
2789</p><p>
2790This problem has been corrected.</p>
2791
2792<hr />
2793<h3><a name="note260" id="note260">Note 260 (WPAD): Fixed a bug causing registration information to be erased</a></h3>
2794<p>When the shutdown and reset processes were executed while <CODE>WPADGetStatus()</CODE> was returning <CODE>WPAD_STATE_ENABLED</CODE> the pairing information would be deleted.</p>
2795<p>
2796This problem has been corrected.</p>
2797
2798<hr />
2799<h3><a name="note259" id="note259">Note 259 (CARD): Revised the CARDMount[Async] function</a></h3>
2800<p>When MEM2 was allocated for the work area passed to the <CODE>CARDMount[Async]</CODE> function, sometimes even normal memory cards would not end normally and <CODE>CARD_RESULT_IOERROR</CODE> would be returned.
2801</p><p>
2802This problem has been corrected.</p>
2803
2804<hr />
2805<h3><a name="note258" id="note258">Note 258 (NAND): Changed the order in which the save data banner is created</a></h3>
2806<p>It was incorrectly stated that the save-data banner file should be created first. The opposite is correct: the save-data banner file should be created LAST. This correction has also be made to the 'banner' sample demo.</p>
2807
2808<hr />
2809<h3><a name="note257" id="note257">Note 257 (NAND): Added a guard mechanism when opening or closing files</a></h3>
2810<p>The <CODE>NAND_RESULT_INVALID</CODE> result code is now returned when NAND functions are called in an incorrect fashion for the opening and closing of files (for example, attempting to close a file twice, or attempting to use <CODE>NANDSafeClose[Async]</CODE> to close a file that has been opened with <CODE>NANDOpen[Async]</CODE>, and vice versa).</p>
2811
2812<hr />
2813<h3><a name="note256" id="note256">Note 256 (NAND): Prohibited the creation of files and directories by an owner without read privileges</a></h3>
2814<p>Files/directories that do not give Read authority to the Owner cannot be created. In the same way, permission operations that remove the owner's right to read existing files/directories have also been prohibited. These new restrictions have been written into the pertinent function reference manuals.
2815</p><p>
2816The information will also be placed in the next release of the <I>Guidelines</I>.
2817</p>
2818
2819<hr />
2820<h3><a name="note255" id="note255">Note 255 (NAND): Corrected instructions on using the NANDGetAvailableArea[Async] function</a></h3>
2821<p>The previous version of the <I>Function Reference Manual</I> said that it was permitted to use the <CODE>NANDGetAvailableArea[Async]</CODE> function as a substitute for <CODE>NANDCheck[Async]</CODE>. That permission has been retracted.</p>
2822
2823<hr />
2824<h3><a name="note254" id="note254">Note 254 (NAND): Corrected a mistake in the description of the NANDSetStatus[Async] function</a></h3>
2825<p>The previous version of the <I>Function Reference Manual</I> stated that the <CODE>NANDSetStatus[Async]()</CODE> could not execute if the file size was not zero. That statement is wrong. In actual fact, there are no restrictions on file size. The manual has been corrected.</p>
2826
2827<hr />
2828<h3><a name="note253" id="note253">Note 253 (CX): Added a decompress option to the ntcompress tool</a></h3>
2829<p>The -x option has been added to the ntcompress tool for uncompression of a compressed file on the PC.
2830</p><p>
2831For details, read the Tools -&gt; ntcompress section in the <I>Function Reference Manual</I>.</p>
2832
2833<hr />
2834<h3><a name="note252" id="note252">Note 252 (CX): Expanded alignment options of the ntcompress tool</a></h3>
2835<p>The -A option of the ntcompress tool, which specifies the alignment for the data size, has been extended so it can now be used to specify an alignment of 8, 16, or 32 bytes.</p>
2836<p>
2837For details, read the Tools -&gt; ntcompress section in the <I>Function Reference Manual</I>.</p>
2838
2839<hr />
2840<h3><a name="note251" id="note251">Note 251 (ENC): Revised conversion rules</a></h3>
2841<p>NEC kanji characters and the private area were assigned to 8-bit code when converting to ISO-2022-JP. The NEC kanji characters are now assigned to the equivalent characters as 7-bit code, and the private area has been revised to return <CODE>ENC_ERR_NO_MAP_RULE</CODE>.</p>
2842
2843<hr />
2844<h2 style="line-height: 0"><a name="20061026p9" id="20061026p9">October 26, 2006 SDK Version 2.3 Patch 9</a> <div style="text-align: right">(2006/11/17)</div></h2><hr />
2845<h3><a name="note250" id="note250">Note 250 (TOOL): System firmware Version 15.1.1 release</a></h3>
2846<p>Update the system firmware (formerly NDEV firmware) after applying this patch and before running applications. </p>
2847<p>
2848The update program is executed by starting a Bourne-again shell (bash) and entering &quot;fwupdate15_1_1&quot;.
2849</p><p>
2850If 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 <CODE>ODEM -r -l swupdate15_1_1.gcm</CODE>. The update will start automatically about 10 seconds after firmware starts. Once the update is complete, &quot;SWUpdate Successful.&quot; will appear on the screen. The NDEV firmware is updated to Firmware 15.1.1 and DEVKIT BOOT PROGRAM v1.09.
2851</p><p>
2852If any versions are already higher than this, the update will fail after displaying &quot;Import: *** ...failed&quot;, but you can continue without any problems.
2853</p>
2854
2855<hr />
2856<h2 style="line-height: 0"><a name="20061026p8" id="20061026p8">2006/10/26 SDK Version 2.3 Patch 8</a> <div style="text-align: right">(2006/11/14)</div></h2><hr />
2857<h3><a name="note249" id="note249">Note 249 (TOOL): System firmware Version 13.0.10 release</a></h3>
2858<p>Update the system firmware (formerly NDEV firmware) after applying this patch and before running applications. </p>
2859<p>
2860Run the update program by starting a Bourne-again shell (bash) and entering &quot;fwupdate13010&quot;.
2861</p><p>
2862If the environment has been customized or if the above-described procedure does not work, go to the directory RVL_SDK/RVL/bin/tools, and run <CODE>ODEM -r -l swupdate13010.gcm</CODE>. The update will start automatically about 10 seconds after firmware starts. Once the update is completed, &quot;SWUpdate Successful.&quot; will appear on the screen, indicating that the NDEV firmware has been updated to Firmware 13.0.10 and DEVKIT BOOT PROGRAM v1.09.
2863</p><p>
2864If any versions are already higher than this, the update will fail after displaying &quot;Import: *** ...failed&quot;, but you can continue without any problems.
2865</p>
2866
2867<hr />
2868<h2 style="line-height: 0"><a name="20061026p7" id="20061026p7">2006/10/26 SDK Version 2.3 Patch 7</a> <div style="text-align: right">(2006/11/12)</div></h2><hr />
2869<h3><a name="note248" id="note248">Note 248 (TOOL): System firmware Version 13.0.9 release </a></h3>
2870<p>Update the system firmware (formerly NDEV firmware) after applying this patch and before running applications. </p>
2871<p>
2872Run the update program by starting a Bourne-again shell (bash) and entering &quot;fwupdate1309&quot;.
2873</p><p>
2874If 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 <CODE>ODEM -r -l swupdate1309.gcm</CODE>. The update will start automatically about 10 seconds after firmware starts. Once the update is complete, &quot;SWUpdate Successful.&quot; will appear on the screen. The NDEV firmware is updated to Firmware 13.0.9 and DEVKIT BOOT PROGRAM v1.09.
2875</p><p>
2876If any versions are already higher than this, the update will fail after displaying &quot;Import: *** ...failed&quot;, but you can continue without any problems.
2877</p>
2878
2879<hr />
2880<h2 style="line-height: 0"><a name="20061026p6" id="20061026p6">2006/10/26 SDK Version 2.3 Patch 6</a> <div style="text-align: right">(2006/11/11)</div></h2><hr />
2881<h3><a name="note247" id="note247">Note 247 (TOOL): System firmware Version 13.0.8 release</a></h3>
2882<p>Update the system firmware (formerly NDEV firmware) after applying this patch and before running applications. </p>
2883<p>
2884Run the update program by starting a Bourne-again shell (bash) and entering &quot;fwupdate1308&quot;.
2885</p><p>
2886If the environment is customized or if things do not go smoothly using the method described above, go to the <CODE>RVL_SDK/RVL/bin/tools</CODE> directory, and run <CODE>ODEM -r -l swupdate1308.gcm</CODE>. The update will start automatically about 10 seconds after firmware starts. Once the update is complete, &quot;SWUpdate Successful.&quot; will appear on the screen. The NDEV firmware is updated to Firmware 13.0.8 and DEVKIT BOOT PROGRAM v1.09.
2887</p><p>
2888If any versions are already higher than this, the update will fail after displaying &quot;Import: *** ...failed&quot;, but you can continue without any problems.
2889</p>
2890
2891<hr />
2892<h2 style="line-height: 0"><a name="20061026p5" id="20061026p5">2006/10/26 SDK Version 2.3 Patch 5</a> <div style="text-align: right">(2006/11/09)</div></h2><hr />
2893<h3><a name="note246" id="note246">Note 246 (TOOL): System firmware Version 13.0.7 release.</a></h3>
2894<p>Update the system firmware (formerly NDEV firmware) after applying this patch and before running applications. </p>
2895<p>
2896The update program is run by starting a Bourne-again shell (bash) and entering &quot;fwupdate1307&quot;.
2897</p><p>
2898If the environment is customized or if things do not go smoothly using the method described above, go to the <CODE>RVL_SDK/RVL/bin/tools</CODE> directory, and run <CODE>ODEM -r -l swupdate1307.gcm</CODE>. The update will start automatically about 10 seconds after firmware starts. Once the update is complete, &quot;SWUpdate Successful.&quot; will appear on the screen. The NDEV firmware is updated to Firmware 13.0.7 and DEVKIT BOOT PROGRAM v1.09.
2899</p><p>
2900If any versions are already higher than this, the update will fail after displaying &quot;Import: *** ...failed&quot;, but you can continue without any problems.
2901</p>
2902
2903<hr />
2904<h3><a name="note245" id="note245">Note 245 (ENC): Fixed a character conversion problem in the private memory area.</a></h3>
2905<p>When converting from the internal character encoding to the Japanese character encoding, part of the private memory area was not properly converted. This problem has been corrected.</p>
2906
2907<hr />
2908<h3><a name="note244" id="note244">Note 244 (ENC): Fixed a bug in the read/write size.</a></h3>
2909<p>When a little-endian BOM was attached to the conversion source Unicode character string, the correct read/write size was not returned. This problem has been corrected.</p>
2910
2911<hr />
2912<h3><a name="note243" id="note243">Note 243 (ENC): Reduced the table size.</a></h3>
2913<p>The size of the table used by the ENC library has been reduced.</p>
2914
2915<hr />
2916<h2 style="line-height: 0"><a name="20061026p4" id="20061026p4">2006/10/26 SDK Version 2.3 Patch 4</a> <div style="text-align: right">(2006/11/06)</div></h2><hr />
2917<h3><a name="note242" id="note242">Note 242 (TOOL): NDEV firmware Version 12.06 release.</a></h3>
2918<p>Update the NDEV firmware after applying this patch and before running applications. </p>
2919<p>
2920Run the update program by starting a Bourne-again shell (bash) and entering &quot;fwupdate1206&quot;.
2921</p><p>
2922If the environment is customized or if things do not go smoothly using the method described above, go to the <CODE>RVL_SDK/RVL/bin/tools</CODE> directory, and run <CODE>ODEM -r -l swupdate1206.gcm</CODE>. The update will start automatically about 10 seconds after firmware starts. Once the update is complete, &quot;SWUpdate Successful.&quot; will appear on the screen. The NDEV firmware is updated to Firmware 12.0.6 and DEVKIT BOOT PROGRAM v1.09.
2923</p><p>
2924If any versions are already higher than this, the update will fail after displaying &quot;Import: *** ...failed&quot;, but you can continue without any problems.
2925</p>
2926
2927<hr />
2928<h3><a name="note241" id="note241">Note 241 (ENC): Added support for additional character encodings.</a></h3>
2929<p>Inter-conversion between Windows-1252 and UTF-16BE is now supported.</p>
2930<p>
2931For details on the supported character encodings, see the ENC Function Introduction.</p>
2932
2933<hr />
2934<h3><a name="note240" id="note240">Note 240 (NAND): Added a result code for synchronous functions.</a></h3>
2935<p>(Information left out from the SDK Version 2.3 Release Notes)</p>
2936<p>Starting with SDK Version 2.3 (firmware Version 12.0.2), most synchronous NAND functions can return <CODE>NAND_RESULT_ALLOC_FAILED</CODE>. When a synchronous NAND function is called while the request queue is full (from calling asynchronous NAND functions multiple times in a short period of time, for example), the above result code may be returned.</p>
2937<p>
2938View the <CODE>NAND_RESULT_ALLOC_FAILED</CODE> returned by NAND synchronous function as a type of busy state. If this code is returned, wait for the request queue to be free before running the function again (as when an asynchronous function returns <CODE>NAND_RESULT_BUSY</CODE>). In the near future, the <CODE>NAND_RESULT_ALLOC_FAILED</CODE> result code will be rolled into <CODE>NAND_RESULT_BUSY</CODE>.</p>
2939<p>
2940This information is not currently found in the function reference manual. The manual will be revised in the next release.</p>
2941
2942<hr />
2943<h2 style="line-height: 0"><a name="20061026p3" id="20061026p3">2006/10/26 SDK Version 2.3 Patch 3</a> <div style="text-align: right">(2006/11/03)</div></h2><hr />
2944<h3><a name="note239" id="note239">Note 239 (TOOL): NDEV firmware Version 12.05 release.</a></h3>
2945<p>Update the NDEV firmware after applying this patch and before running applications. </p>
2946<p>
2947Run the update program by starting a Bourne-again shell (bash) and entering &quot;fwupdate1205&quot;.
2948</p><p>
2949If the environment is customized or if things do not go smoothly using the method described above, go to the <CODE>RVL_SDK/RVL/bin/tools</CODE> directory, and run <CODE>ODEM -r -l swupdate1205.gcm</CODE>. The update will start automatically about 10 seconds after firmware starts. Once the update is complete, &quot;SWUpdate Successful.&quot; will appear on the screen. The NDEV firmware is updated to Firmware 12.0.5 and DEVKIT BOOT PROGRAM v1.09.
2950</p><p>
2951If any versions are already higher than this, the update will fail after displaying &quot;Import: *** ...failed&quot;, but you can continue without any problems.
2952</p>
2953
2954<hr />
2955<h3><a name="note238" id="note238">Note 238 (WPAD): Fixed the inconsistent pairing format between the Wii console and the Wii Remote.</a></h3>
2956<p>The problem with inconsistent pairing format between the Wii console and the Wii Remote has been corrected.</p>
2957<p>
2958This bug was seen when a simple pairing was performed in the following way:
2959</p><p>
29601. Perform normal pairing between a Wii Remote and a Wii console (A).<br> 2. Perform normal pairing between the Wii Remote and another Wii console (B).<br> 3. Perform simple pairing between the Wii Remote and the first Wii console (A).<br>
2961</p>
2962In this case, the Wii console recognized the Wii Remote as a normal paired remote, but the Wii Remote recognized the Wii console as a simple paired console. This bug has been fixed, and both the console and the remote now recognize each other as a simple paired device.</p>
2963
2964<hr />
2965<h3><a name="note237" id="note237">Note 237 (WPAD): Revised the pairing method when the maximum number of devices is already paired.</a></h3>
2966<p>The method by which a new controller is paired when the maximum number of devices are already paired has been revised.</p>
2967<p>
2968Implementing this new method has corrected the problem, so a new controller can be connected in place of the device that was connected at first.
2969</p>
2970
2971<hr />
2972<h3><a name="note236" id="note236">Note 236 (ENC): Changed the method of conversion from the internal character encoding to ISO-8859-1.</a></h3>
2973<p>When converting from internal character encoding to ISO-8859-1, the conversion is now handled as ISO-8859-1. It was previously handled as Windows-1252.
2974</p>
2975<p>
2976When converting from ISO-8859-1 to internal encoding, the conversion is handled as Windows-1252, as before.
2977</p>
2978
2979<hr />
2980<h2 style="line-height: 0"><a name="20061026p2" id="20061026p2">2006/10/26 SDK Version 2.3 Patch 2</a> <div style="text-align: right">(2006/10/31)</div></h2><hr />
2981<h3><a name="note235" id="note235">Note 235 (TOOL): NDEV firmware Version 12.03 release.</a></h3>
2982<p>Update the NDEV firmware after applying this patch and before running applications. </p>
2983<p>
2984Run the update program by starting a Bourne-again shell (bash) and entering &quot;fwupdate1203&quot;.
2985</p><p>
2986If the environment is customized or if things do not go smoothly using the method described above, go to the <CODE>RVL_SDK/RVL/bin/tools</CODE> directory, and run <CODE>ODEM -r -l swupdate1203.gcm</CODE>. The update will start automatically about 10 seconds after firmware starts. Once the update is complete, &quot;SWUpdate Successful.&quot; will appear on the screen. The NDEV firmware is updated to Firmware 12.0.3 and DEVKIT BOOT PROGRAM v1.09.
2987</p><p>
2988If any versions are already higher than this, the update will fail after displaying &quot;Import: *** ...failed&quot;, but you can continue without any problems.
2989</p>
2990
2991<hr />
2992<h3><a name="note234" id="note234">Note 234: Changed the file for the SDK version information.</a></h3>
2993<p>The SDK version information is now stored in the <CODE>sdkver.h</CODE> header file, instead of the <CODE>revolution.h</CODE> header file. To maintain compatibility with the previous version, <CODE>sdkver.h</CODE> is included inside <CODE>revolution.h</CODE>.</p>
2994
2995<hr />
2996<h3><a name="note233" id="note233">Note 233 (SC): Added internal configuration items for the system menu.</a></h3>
2997<p>A private function used only in the system menu has been added to the SC library.
2998</p>
2999
3000<hr />
3001<h3><a name="note232" id="note232">Note 232 (KPAD): Fixed a bug with the acceleration tracking process.</a></h3>
3002<p>When the acceleration tracking parameter was set to a value other than 1.0, the x-axis acceleration tracking process in the Nunchuk did not run correctly. This bug does not affect the <CODE>KPADOld</CODE> library.</p>
3003<p>
3004This problem has been corrected.</p>
3005
3006<hr />
3007<h3><a name="note231" id="note231">Note 231 (ENC): Added a convertible character encoding and determination function.</a></h3>
3008<p>A function has been added for determining the character encoding convertible from the internal encoding, based on the selected conversion candidate.</p>
3009
3010<hr />
3011<h3><a name="note230" id="note230">Note 230 (ENC): Added the conversion context for use in character code conversion.</a></h3>
3012<p>Functions using conversion contexts have been added. With this change, an encoding determination from encoding name string expression, a carriage return code automatic conversion, and an alternate character automatic conversion are now supported.</p>
3013
3014<hr />
3015<h3><a name="note229" id="note229">Note 229 (ENC): Added support for additional character encodings.</a></h3>
3016<p>Inter-conversion between the following character encodings and UTF-16BE are now supported: US-ASCII, ISO-8859-2, ISO-8859-3, ISO-8859-7, ISO-8859-10, ISO-8859-15</p>
3017<p>
3018Conversion from the following character encodings to UTF-16BE (single direction) is now supported: UTF-7, UTF-16, UTF-16LE, Windows-1250, Windows-1253, Macintosh, x-mac-ce, x-mac-greek, IBM850, IBM852 </p>
3019<p>
3020For details on the supported character encodings, see the ENC Function Introduction.</p>
3021
3022<hr />
3023<h2 style="line-height: 0"><a name="20061026p1" id="20061026p1">2006/10/26 SDK Version 2.3 Patch 1</a> <div style="text-align: right">(2006/10/27)</div></h2><hr />
3024<h3><a name="note228" id="note228">Note 228 (TOOL): Revised the fwupdate script name and carriage return.</a></h3>
3025<p>The name of the <CODE>fwupdate</CODE> script has been updated to <CODE>fwupdate1202</CODE>.<BR />In addition, the line feed code of the script was set to CR+LF and has been changed to LF.</p>
3026
3027<hr />
3028<h3><a name="note227" id="note227">Note 227 (TOOL): Corrected the firmware build date that is output when running the fwupdate1202 script.</a></h3>
3029<p>The firmware build date output when running the <CODE>fwupdate1202</CODE> script (when running <CODE>swupdate1202.gcm</CODE> called inside <CODE>fwupdate1202</CODE>) has been corrected to 10/25/2006.</p>
3030
3031<hr />
3032<h3><a name="note226" id="note226">Note 226 (VI): Reinstated the VIEnableDimming function.</a></h3>
3033<p>This function had been removed in the SDK Version 2.3, but has been reinstated with this patch. Caution must be taken when using this function. See the <CODE>VIEnableDimming</CODE> function reference for details.</p>
3034
3035<hr />
3036<h3><a name="note225" id="note225">Note 225 (VI): Added the VISetTimeToDimming function.</a></h3>
3037<p>With the addition of this function, the wait time until screen burn-in protection is activated can now be changed. (This function has been added for SDK Version 2.3.))</p>
3038
3039<hr />
3040<h3><a name="note224" id="note224">Note 224 (VI): Removed the VI[Set/Get]ScreenSaverMode function.</a></h3>
3041<p>This function has been eliminated. In addition, the <CODE>videmo/src/dimming.c</CODE> demo content and manual pages have been revised to reflect this change.</p>
3042
3043<hr />
3044<h3><a name="note223" id="note223">Note 223 (MAN): Corrected several broken links in the manual.</a></h3>
3045<p>Fixed the broken links in the Audio, PAD, VI, and WPAD library manuals.</p>
3046
3047<hr />
3048<h2 style="line-height: 0"><a name="20061026" id="20061026">2006/10/26 SDK Version 2.3</a> <div style="text-align: right">(2006/10/26)</div></h2><hr />
3049<h3><a name="note222" id="note222">Note 222 (TOOL): NDEV firmware Version 12.02 release.</a></h3>
3050<p>Update the NDEV firmware after applying this patch and before running applications. </p>
3051<p>
3052The update program is run by opening a Bourne-again shell (bash) and entering &quot;fwupdate&quot;.
3053</p><p>
3054If the environment is customized or if things do not go smoothly using the method described above, go to the <CODE>RVL_SDK/RVL/bin/tools</CODE> directory, and run <CODE>ODEM -r -l swupdate.gcm</CODE>. The update will start automatically about 10 seconds after firmware starts. Once the update is complete, &quot;SWUpdate Successful.&quot; will appear on the screen. The NDEV firmware is updated to Firmware 12.0.2 and DEVKIT BOOT PROGRAM v1.09.
3055</p><p>
3056If any versions are already higher than this, the update will fail after displaying &quot;Import: *** ...failed&quot;, but you can continue without any problems.
3057</p>
3058
3059<hr />
3060<h3><a name="note221" id="note221">Note 221 (TOOL): Added a configuration file for save-data controls.</a></h3>
3061<p>Changed the NDEV system menu save-data operation so that configuration files are created when copying data to the SD Card. The file/directory permission and application types are stored in this file. See &quot;Tool -&gt; NDEV System Menu -&gt; Save Data Operation&quot; in the manual for details.
3062</p>
3063
3064<hr />
3065<h3><a name="note220" id="note220">Note 220 (TOOL): Fixed bugs in the system menu save-data controls.</a></h3>
3066<p>The following bugs have been found in the DEVKIT system menu save data:
3067</p><p>
3068- The file size is rounded up to a multiple of 32, and the end bits are filled with indeterminate values. - When a file of exactly 16 KB is copied, the size is set to 0.
3069</p><p>
3070This problem has been corrected.
3071</p>
3072
3073<hr />
3074<h3><a name="note219" id="note219">Note 219 (TOOL): Added support for the Wii Remote in the system menu.</a></h3>
3075<p>DEVKIT System Menu now supports the Wii Remote. For details, see &quot;DEVKIT System Menu&quot; in the &quot;Tools&quot; section of the manual.</p>
3076
3077<hr />
3078<h3><a name="note218" id="note218">Note 218 (TOOL): Fixed a bug in cardedit[D].elf.</a></h3>
3079<p>When formatting a memory card with <CODE>cardedit[D].elf</CODE> with the console language set to Japanese, the memory card was formatted with the opposite format, that is, in SJIS when ANSI was selected, or in ANSI when SJIS was selected.
3080</p><p>
3081This problem has been corrected.</p>
3082
3083<hr />
3084<h3><a name="note217" id="note217">Note 217 (KPAD): Released the KPAD library Version 2.</a></h3>
3085<p>The internal implementation of the KPAD library has been greatly revised. The earlier version of the KPAD library has been renamed to KPADOld library and will be eliminated in the near future. Use the new KPAD library from now on.</p>
3086<p>
3087The new library has the following characteristics:
3088</p><p>
3089- It cannot be used together with the KPADOld library. <br>- It uses the sampling callback of the WPAD library. If the application does not use any sampling callbacks, almost no change in the source code is necessary in transition from the KPADOld library.<br>- Changed reset timing of the internal work by <CODE>KPADReset</CODE><br>- The DPD and Motion Sensor values are less likely to fluctuate when swapping extension controllers<br>- A cross clamp has been added to the Nunchuk and Classic Controller Control stick clamp processing methods.<br>
3090</p>
3091<p>
3092See the Introduction to the <I>Function Reference Manual</I> for details.</p>
3093
3094<hr />
3095<h3><a name="note216" id="note216">Note 216 (KPADOld): Fixed a memory-corruption bug that appeared when using Classic Controllers.</a></h3>
3096<p>The buffer index was incremented before the sampling buffer data scan only when using the Classic Controller, resulting in occasional memory corruption.</p>
3097<p>
3098This problem has been corrected.
3099</p><p>
3100The KPAD library version from before Revolution SDK Version 2.3 has been renamed to <CODE>KPADOld</CODE> library.</p>
3101
3102<hr />
3103<h3><a name="note215" id="note215">Note 215 (SC): Ended disclosure of WPAD library&ndash;specific functions.</a></h3>
3104<p>The following functions specific to the WPAD library are no longer disclosed, and have been removed from the header file (/include/revolution/sc.h):
3105</p><p>
3106<CODE> SCGetWpadMotorMode()<br> SCGetWpadSensorBarPosition()<br> SCGetWpadSpeakerVolume()<br> SCSetWpadMotorMode()<br> SCSetWpadSensorBarPosition()<br> SCSetWpadSpeakerVolume()<br></CODE>
3107</p><p>
3108See &quot;No Longer Disclosed Functions&quot; in the <I>Function Reference Manual</I> for details.</p><p>
3109If you have already submitted the Master ROM for an application, resubmission is not necessary.</p>
3110
3111<hr />
3112<h3><a name="note214" id="note214">Note 214 (SC): Ended disclosure of sound/video mode&ndash;related console setting change functions.</a></h3>
3113<p>Changing the setting items for the console setting sound/video mode from the application is now prohibited.</p>
3114<p>
3115The following functions are no longer disclosed and have been removed from the header file (<CODE>/include/revolution/sc.h</CODE>):
3116</p><p>
3117<CODE> SCSetSoundMode()<br> SCSetProgressiveMode()<br> SCSetEuRgb60Mode()<br></CODE>
3118</p><p>
3119See &quot;No Longer Disclosed Functions&quot; in the <I>Function Reference Manual</I> for details.</p><p>
3120If you have already submitted the Master ROM for an application, resubmission is not necessary. If the removal of these function calls from the application is too difficult from scheduling point of view, please contact Nintendo.</p>
3121
3122<hr />
3123<h3><a name="note213" id="note213">Note 213 (WPAD): Added the WPADGetDpdFormat function.</a></h3>
3124<p>This function retrieves the mode in which the pointer for the Wii Remote operates.</p>
3125
3126<hr />
3127<h3><a name="note212" id="note212">Note 212 (WPAD): Eliminated the WPADShutdown and the WPADReconnect functions.</a></h3>
3128<p>Calling <CODE>WPADShutdown</CODE> and <CODE>WPADReconnect</CODE> while the function is already running causes future processes to run in an interrupt-prohibited state.
3129</p><p>
3130Because the shutdown/reset functions call these functions internally, calling these functions before the internal call causes this problem.
3131</p><p>
3132Changes have already been made to call these functions internally at shutdown/reset operations, so these functions have now been eliminated. The function will be left so that no code changes are necessary, but calls to these functions will no longer do anything.</p>
3133
3134<hr />
3135<h3><a name="note211" id="note211">Note 211 (WPAD): Fixed a bug in the reset/shutdown operation during pairing and pairing information removal.</a></h3>
3136<p>When RESET or the Power Button was pressed during pairing or pairing information removal, the state of the communication module occasionally became unstable.</p>
3137<p>
3138The reset/shutdown process has been changed to wait for pairing or removal of the pairing information to complete.</p>
3139
3140<hr />
3141<h3><a name="note210" id="note210">Note 210 (WPAD): Fixed a bug that caused the completion callback to be called twice when the speaker was turned off.</a></h3>
3142<p>When <CODE>WPAD_SPEAKER_OFF</CODE> was sent using the <CODE>WPADControlSpeaker</CODE> function, a completion notification callback was called twice.
3143</p><p>
3144This problem has been corrected.</p>
3145
3146<hr />
3147<h3><a name="note209" id="note209">Note 209 (WPAD): Added a speaker reset command.</a></h3>
3148<p>A <CODE>WPAD_SPEAKER_RESET</CODE> command has been added to the <CODE>WPADControlSpeaker</CODE> function. When this command is sent, the audio data stored in the speaker buffer is cleared.</p>
3149
3150<hr />
3151<h3><a name="note208" id="note208">Note 208 (WPAD): Fixed the misalignment of the origin on the Classic Controller L Stick.</a></h3>
3152<p>The origin of the L Stick on the Classic Controller became misaligned when the Classic Controller was attached and the data format was set to <CODE>WPAD_FMT_CLASSIC</CODE>.
3153</p><p>
3154This problem has been corrected.
3155</p>
3156
3157<hr />
3158<h3><a name="note207" id="note207">Note 207 (WPAD): Fixed a bug that caused the fourth object coordinate of the Pointer to be incorrect when an extension controller was inserted.</a></h3>
3159<p>A bug was found in the library regarding how the received data was interpreted. When a Nunchuk or a Classic Controller was attached and the Pointer used, and the Pointer recognized four objects, the x-coordinate of the fourth object was being masked by a 0-256 value. In addition, the x-coordinate was set to 3327 when the fourth object was not recognized.
3160</p><p>
3161When using the KPAD library, the pointed location sometimes shifted when inserting/removing an extension controller.
3162</p><p>
3163This problem has been corrected.</p>
3164
3165<hr />
3166<h3><a name="note206" id="note206">Note 206 (OS): Revised the OSRestart function and the OSExecl or OSExecv function.</a></h3>
3167<p>When a game disc could not be read or the disc was different from the current game after the <CODE>OSRestart</CODE> function or the <CODE>OSExecl</CODE> or <CODE>OSExecv</CODE> function was called, a hot reset was performed. This behavior has been changed to return execution to the system menu (the same as <CODE>OSRetrunToMenu</CODE>).</p>
3168
3169<hr />
3170<h3><a name="note205" id="note205">Note 205 (PAD): Added support for hot-swapping in the basic and cont demos.</a></h3>
3171<p>Added support for hot-swapping in the basic and the cont demo.</p>
3172
3173<hr />
3174<h3><a name="note204" id="note204">Note 204 (DOC): Updated the operating system programming manual.</a></h3>
3175<p>The programming manual of the operation system library has been updated.</p>
3176
3177<hr />
3178<h3><a name="note203" id="note203">Note 203 (NAND): Revised the banner sample demo.</a></h3>
3179<p>The previous banner sample demo did not load any image data with meaning, but this has been updated so that *.tpl files in  /dvddata/nanddemo/ can be used. In addition, a manual page for the banner sample demo has been created.</p>
3180
3181<hr />
3182<h3><a name="note202" id="note202">Note 202 (NAND): Added the NANDGetAvailableArea[Async] function.</a></h3>
3183<p>The <CODE>NANDGetAvailableArea[Async]</CODE> function obtains the number of available file system blocks and inodes for the application. It essentially provides the same function as <CODE>NANDCheck[Async]</CODE>.</p>
3184
3185<hr />
3186<h3><a name="note201" id="note201">Note 201 (AXART): Added support for the Wii Remote speaker.</a></h3>
3187<p>The following functions have been added to support the Wii Remote speaker:
3188</p><p>
3189<CODE>void AXARTInitArtFader       (AXART_FADER           *articulator);<br> void AXARTInitArtRmt         (AXART_RMT             *articulator);<br> void AXARTInitArtRmtFader    (AXART_RMT_FADER       *articulator);<br> void AXARTInitArtRmtAuxVolume(AXART_RMT_AUX_VOLUME  *articulator);<br></CODE>
3190</p><p>
3191For details, see the manual pages for each function.</p>
3192
3193<hr />
3194<h3><a name="note200" id="note200">Note 200 (MIX): Made the memory region for voice control data user-specifiable.</a></h3>
3195<p>As a result of the change with <CODE>AX_MAX_VOICES</CODE>, the size of the voice control data, which was defined as static in the library, has increased. To mitigate this issue, a mixer initialization function has been added so that the voice control data memory area can be specified by the user.</p>
3196<p>
3197<CODE>#define MIXGetMemorySize(num) ((sizeof(MIXChannel) + sizeof(MIXRmtChannel)) * num)<br> void MIXInitSpecifyMem(void* mem);</CODE>
3198</p><p>
3199For details, see the manual pages for each function.</p>
3200
3201<hr />
3202<h3><a name="note199" id="note199">Note 199 (SYN): Made the memory region for voice control data user-specifiable.</a></h3>
3203<p>As a result of the change with <CODE>AX_MAX_VOICES</CODE>, the size of the voice control data, which was defined as static in the library, has increased. To mitigate this issue, a synthesizer initialization function has been added so that the voice control data memory area can be specified by the user.
3204</p><p>
3205<CODE>#define SYNGetMemorySize(num) (sizeof(SYNVOICE) * num)<br> void SYNInitSpecifyMem(void* mem);</CODE>
3206</p><p>
3207For details, see the manual pages for each function. </p>
3208
3209<hr />
3210<h3><a name="note198" id="note198">Note 198 (AX): Added master volume functions.</a></h3>
3211<p>The following functions have been added for the master volume that is multiplied at DSP to AI output:</p><p>
3212u16  AXGetMasterVolume(void);<br> void AXSetMasterVolume(u16 volume);
3213</p><p>
3214For details, see the manual pages for each function.</p>
3215
3216<hr />
3217<h3><a name="note197" id="note197">Note 197 (AX): Fixed a bug that prevented the silent section of the DSP-ADPCM data from being silent.</a></h3>
3218<p>In certain DSP-ADPCM data that was compressed using <CODE>dsptool(D)</CODE>, the section that should have been silent was not.</p>
3219<p>
3220This problem has been corrected. A new dsptool(D).dll has been added for conversion to DSP-ADPCM.</p>
3221
3222<hr />
3223<h3><a name="note196" id="note196">Note 196 (AX): Added debug functions.</a></h3>
3224<p>The AX voice control data can now be placed in <CODE>MEM2</CODE>, which causes problems (such as generation of noise) due to the difference in the access speed of <CODE>MEM2</CODE> and <CODE>MEM1</CODE>. The following debug function has been added to correct this problem:
3225</p><p>
3226typedef void (*AXExceedCallback)(u32 cycles);<br> void AXRegisterExceedCallback(AXExceedCallback callback);
3227</p><p>
3228For details, see the manual pages for the function.
3229</p>
3230
3231<hr />
3232<h3><a name="note195" id="note195">Note 195 (AX): Made the maximum voice count and the memory region for voice control data user-specifiable.</a></h3>
3233<p>As a result of the change with <CODE>AX_MAX_VOICES</CODE>, the size of the voice control data, which was defined as static in the library, has increased. To mitigate this issue, an AX initialization function has been added so that the maximum voice count and the voice control data memory area are user-specifiable.
3234</p><p>
3235<CODE>#define AXGetMemorySize(num) ((sizeof(AXPB) + sizeof(AXPBITDBUFFER) + sizeof(AXVPB)) * num)<br> void AXInitSpecifyMem  (u32 num, void* mem);<br> void AXInitExSpecifyMem(u32 num, void* mem, u32 outputBufferMode);<br> u32  AXGetMaxVoices (void);</CODE><br> <br> For details, see the manual pages for each function.</p>
3236
3237<hr />
3238<h3><a name="note194" id="note194">Note 194 (AX): Eliminated the voice update function.</a></h3>
3239<p>To increase the number of simultaneously playable sounds, the voice update function, which was incompletely implemented, has been eliminated.
3240</p><p>
3241Therefore, the following functions have been eliminated: <br><br><CODE>void AXSetVoiceUpdateIncrement(AXVPB *p);<br> void AXSetVoiceUpdateWrite    (AXVPB *p, u16 param, u16 data);</CODE><br><br> In addition, a voice update member has been removed from the parameter block.</p>
3242
3243<hr />
3244<h3><a name="note193" id="note193">Note 193 (AX): Changed AX_MAX_VOICE from 64 to 96.</a></h3>
3245<p>The definition of <CODE>AX_MAX_VOICES</CODE> in the <CODE>/include/revolution/ax.h</CODE> header file has been changed from 64 to 96.</p>
3246
3247<hr />
3248<h3><a name="note192" id="note192">Note 192 (AX): Increased the number of simultaneously playable sounds.</a></h3>
3249<p>As a result of reviewing the audio DSP code and the DSP cycle estimation value, the number of simultaneously playable sounds in the AX library has been doubled.</p>
3250
3251<hr />
3252<h2 style="line-height: 0"><a name="20060907p10" id="20060907p10">2006/09/07 SDK Version 2.2 Patch 10</a> <div style="text-align: right">(2006/10/16)</div></h2><hr />
3253<h3><a name="note191" id="note191">Note 191 (KPAD): Changed the specifications so that controller information accessed by read_kpad* functions is synchronized with the associated error status.</a></h3>
3254<p>Controller information obtained from the KPAD library was occasionally invalid due to an inability to synchronize the controller information referenced by <CODE>read_kpad_acc</CODE>, <CODE>read_kpad_dpd</CODE>, and <CODE>read_kpad_stick</CODE> with its error status.</p>
3255<p>
3256This problem has been corrected.</p>
3257<p>This revision is the same as the revision included in the <CODE>RVL_SDK-2_2-patch_kpad-061007</CODE> package.</p>
3258
3259<hr />
3260<h3><a name="note190" id="note190">Note 190 (DOC): Updated the Video Interface Library programming manual.</a></h3>
3261<p>Revisions and additions mainly relate to the following topics:</p>
3262<p>
3263- Made comprehensive revisions to &quot;5.2 Procedure for Switching to Progressive Display with NTSC&quot;<br>- Made comprehensive revisions to &quot;6.5.1 Switching between PAL/EU RGB60/Progressive Modes&quot;<br>- Added &quot;7.5.2 Automatic Switching of the Video Mode&quot;<br>- Comprehensively revised &quot;7.10 Reducing Screen Burn-in&quot;<br>- Comprehensively revised &quot;7.8 16:9 Screen Ratio&quot;<br>- Changed the safe frame for 16:9 ratio displays to 87%<br> <br> For details, see the revision history of this document.</p>
3264
3265<hr />
3266<h3><a name="note189" id="note189">Note 189 (WPAD): Corrected a problem that caused values greater than 128 to be set for the audio volume, using the WPADSetSpeakerVolume function.</a></h3>
3267<p>Although Wii Remote speaker volume ranges from 0 to 127, it was possible to pass a value greater than 127 to the <CODE>WPADSetSpeakerVolume</CODE> function.</p>
3268<p>
3269This problem has been corrected so that any values greater than 127 are converted to a value of 127.</p>
3270
3271<hr />
3272<h3><a name="note188" id="note188">Note 188 (WPAD): Corrected the unstable behavior seen when the calendar was set to January 1, 2000, 00:00.</a></h3>
3273<p>Processing based on a periodic alarm did not process correctly due to an illegal base-time value that wsf used for the periodic alarm in the library.</p>
3274<p>
3275This problem has been corrected.</p>
3276
3277<hr />
3278<h3><a name="note187" id="note187">Note 187 (DVD): Corrected a problem that prevented the DVDCheckDiskAsync callback from returning after DVDCancel[Async] or DVDCancelAll[Async] was called in the DVD_STATE_NO_DISK or the DVD_STATE_RETRY state.</a></h3>
3279<p>There was a problem where the callback would not return when <CODE>DVDCheckDiskAsync</CODE> was executed after <CODE>DVDCancel[Async]</CODE> or <CODE>DVDCancelAll[Async]</CODE> was called while the drive status was <CODE>DVD_STATE_NO_DISK</CODE> or <CODE>DVD_STATE_RETRY</CODE>. This problem has been corrected.</p>
3280
3281<hr />
3282<h3><a name="note186" id="note186">Note 186 (DVD): Corrected a problem that prevented subsequent disc insertions from being recognized if DVDCancel[Async] or DVDCancelAll[Async] was called during the DVD_STATE_NO_DISK state</a></h3>
3283<p>There was a problem where subsequent insertion of a disc would not be recognized and the status <CODE>DVD_STATE_NO_DISK</CODE> would result if <CODE>DVDCancel[Async]</CODE> or <CODE>DVDCancelAll[Async]</CODE> were called while the drive status was <CODE>DVD_STATE_NO_DISK</CODE>. This problem has been corrected.</p>
3284
3285<hr />
3286<h3><a name="note185" id="note185">Note 185 (Audio): Updated the end-user license agreement with Roland.</a></h3>
3287<p>The provisional version of the Roland end-user license agreement and associated Japanese translation reference included with the SDK have been updated to their official versions. Although there are no significant changes to terms or conditions that affect programs, be sure to check the agreement.</p>
3288
3289<hr />
3290<h2 style="line-height: 0"><a name="20060907p9" id="20060907p9">2006/09/07 SDK Version 2.2 Patch 9</a> <div style="text-align: right">(2006/10/06)</div></h2><hr />
3291<h3><a name="note184" id="note184">Note 184 (TOOL): NDEV firmware Version 9.24 release</a></h3>
3292<p>Update the NDEV firmware after applying this patch and before running applications. </p>
3293<p>
3294Run the update program by starting a Bourne-again shell (bash) and entering &quot;fwupdate924&quot;.
3295</p><p>
3296If the environment is customized or if things do not go smoothly using the method described above, go to the <CODE>RVL_SDK/RVL/bin/tools</CODE> directory and execute <CODE>ODEM -r -l swupdate924.gcm</CODE>. The update will start automatically about 10 seconds after firmware starts. Once the update is complete, &quot;SWUpdate Successful.&quot; will appear on the screen. The NDEV firmware is updated to Firmware 9.2.4 and DEVKIT BOOT PROGRAM v1.08.
3297</p><p>
3298If any versions are already higher than this, the update will fail after displaying &quot;Import: *** ...failed&quot;, but you can continue without any problems.
3299</p>
3300
3301<hr />
3302<h2 style="line-height: 0"><a name="20060907p8" id="20060907p8">2006/09/07 SDK Version 2.2 Patch 8</a> <div style="text-align: right">(2006/10/03)</div></h2><hr />
3303<h3><a name="note183" id="note183">Note 183 (WPAD): Fixed a bug related to screen burn-in protection.</a></h3>
3304<p>Occasionally the screen burn-in protection feature did not run after five minutes without controller input.</p>
3305<p>This problem has been corrected.</p>
3306
3307<hr />
3308<h3><a name="note182" id="note182">Note 182 (AX): Fixed the noise that occurred when AX_PB_STATE_STOP was specified repeatedly for the same voice.</a></h3>
3309<p>When <CODE>AX_PB_STATE_STOP</CODE> was specified repeatedly for the same voice in <CODE>AXSetVoiceState()</CODE>, after the second <CODE>STOP</CODE>, a noise was generated every time <CODE>STOP</CODE> was specified.</p>
3310<p>
3311This problem has been corrected.<p>
3312
3313<hr />
3314<h2 style="line-height: 0"><a name="20060907p7" id="20060907p7">2006/09/07 SDK Version 2.2 Patch 7</a> <div style="text-align: right">(2006/10/01)</div></h2><hr />
3315<h3><a name="note181" id="note181">Note 181 (WPAD): Added Wii Remote tools.</a></h3>
3316<p>Added a tool for obtaining the firmware version of the controller communications module on the Wii console. Use this tool when a bug is suspected to be associated with the Wii Remote.
3317</p>
3318<p>The description of this tool is added to the function reference page.
3319</p>
3320
3321<hr />
3322<h3><a name="note180" id="note180">Note 180 (WPAD): Fixed a bug that prevented the close callback for simple pairing from being called.</a></h3>
3323<p>In simple pairing, the close callback was not being called if four Wii Remotes were connected immediately before the device search.
3324</p><p>
3325This problem has been corrected.</p>
3326
3327<hr />
3328<h3><a name="note179" id="note179">Note 179 (WPAD): Corrected a problem that prevented the search for devices from stopping during simple pairing.</a></h3>
3329<p>If the wireless communication stack was searching for a device at the time it received a connection request from a the Wii Remote and it found that Wii Remote, the search close event was not generated. At this point, the pairing operation and the Wii Remote information could not all be cleared.
3330</p><p>
3331This problem has been corrected.
3332</p>
3333
3334<hr />
3335<h3><a name="note178" id="note178">Note 178 (WPAD): Fixed a bug that prevented the Wii Remote Rumble feature from stopping.</a></h3>
3336<p>With multiple Wii Remotes connected, if the Wii system attempted to send a Rumble Feature command to another Wii Remote, that Rumble feature command was not sent.
3337</p><p>
3338This problem has been corrected.</p>
3339
3340<hr />
3341<h3><a name="note177" id="note177">Note 177 (WPAD): Fixed a bug with re-registering a Wii Remote after an external extension controller was connected.</a></h3>
3342<p>If a Wii Remote was reconnected while an external extension controller was plugged in, the status after reconnection occasionally stayed <CODE>BUSY</CODE>.
3343</p><p>
3344This problem has been corrected.</p>
3345
3346<hr />
3347<h3><a name="note176" id="note176">Note 176 (WPAD): Corrected a problem that prevented the Wii Remote from connecting to the Wii console for a while after batteries were removed and re-inserted.</a></h3>
3348<p>The Wii Remote occasionally could not connect to the Wii console for approximately 40 seconds after removing and reinserting the batteries.</p>
3349<p>
3350This problem has been corrected.</p>
3351
3352<hr />
3353<h3><a name="note175" id="note175">Note 175 (WPAD): Fixed bugs in the WPADStartFastSyncDevice and the WPADStartFastSimpleSync functions.</a></h3>
3354<p>If <CODE>WPADStartFastSyncDevice</CODE> or <CODE>WPADStartFastSimpleSync</CODE> was called immediately after disconnecting a Wii Remote, that disconnected Wii Remote was reconnected.</p>
3355<p>
3356This problem has been corrected.</p>
3357
3358<hr />
3359<h3><a name="note174" id="note174">Note 174 (WPAD): Corrected a problem with the pairing procedure.</a></h3>
3360<p>Pairing was not being correctly processed under the following conditions:</p>
3361<p>
3362- If the Wii console recognized the Wii Remote as normal-paired, whereas the Wii Remote recognized the Wii console as simple-paired, pressing SYNCHRO on the Wii console and the Wii Remote for normal pairing caused the Wii Remote to still recognize the Wii console as simple-paired. This has been corrected so that the Wii Remote recognizes the Wii console as normal-paired.
3363</p><p>
3364- When both the Wii console and Wii Remote recognized each other as normal-paired, pressing SYNCHRO on the Wii console and both the 1 Button and the 2 Button on the Wii Remote caused each to recognize the other as normal-paired. This has been corrected so that normal pairing requires pressing SYNCHRO on the Wii Remote to succeed.
3365</p><p>
3366- When the Wii console recognized the Wii Remote as normal-paired, and the Wii Remote recognized the Wii console as simple-paired, pressing SYNCHRO on the Wii console and both the 1 Button and the 2 Button on the Wii Remote caused both to maintain the previous pairing state. This has been corrected so that normal pairing requires pressing SYNCHRO on the Wii Remote to succeed.
3367</p><p>
3368- When the Wii console recognized the Wii Remote as simple-paired, pressing SYNCHRO on the Wii Remote during the simple pairing operation of the Wii console caused the Wii console to recognize the Wii Remote as simple-paired. This has been corrected so that simple pairing requires pressing both the 1 Button and the 2 Button on the Wii Remote to succeed.
3369</p>
3370
3371<hr />
3372<h3><a name="note173" id="note173">Note 173 (WPAD): Reduced the speaker sound distortion from weak signals.</a></h3>
3373<p>Audio cutoff occurred occasionally when the signal deteriorated while playing sound through four Wii Remote speakers.
3374</p><p>
3375This fix reduces the frequency of the audio cutoff.</p>
3376
3377<hr />
3378<h3><a name="note172" id="note172">Note 172 (WPAD): Fixed a memory leak inside the communication stack.</a></h3>
3379<p>A memory leak was discovered in the wireless communication stack library of the Wii Remote. This occurred during the pairing process (both simple and normal) between the Wii console and the Wii Remote.
3380</p><p>
3381This problem has been corrected.
3382</p>
3383
3384<hr />
3385<h2 style="line-height: 0"><a name="20060907p6" id="20060907p6">2006/09/07 SDK Version 2.2 Patch 6</a> <div style="text-align: right">(2006/09/29)</div></h2><hr />
3386<h3><a name="note171" id="note171">Note 171 (WPAD): Calling the WPADShutdown() or the WPADReconnect() function inside the reset/shutdown functions.</a></h3>
3387<p>In the past, <CODE>WPADShutdown</CODE> was called inside the <CODE>OSShutdownSystem</CODE> function, and this was not running properly at times. This problem has been corrected.
3388</p><p>
3389In addition, the change has been made in certain functions, such as other reset/shutdown functions, so that the <CODE>WPADReconnect</CODE> function is now called internally. The following functions currently have the <CODE>WPADShutdown</CODE> or the <CODE>WPADReconnect</CODE> function called internally:
3390</p><p>
3391Function calling <CODE>WPADShutdown</CODE>: <br><CODE>OSShutdownSystem</CODE><br>Functions calling <CODE>WPADReconnect</CODE>: <br><CODE>OSReboot</CODE>, <CODE>OSRestart</CODE>, <CODE>OSReturnToMenu</CODE>, <CODE>OSExecl</CODE>, <CODE>OSExecv</CODE><br>
3392</p><p>
3393<CODE>WPADShutdown</CODE> or <CODE>WPADReconnect</CODE> may be called inside these functions without any problems.</p>
3394
3395<hr />
3396<h2 style="line-height: 0"><a name="20060907p5" id="20060907p5">2006/09/07 SDK Version 2.2 Patch 5</a> <div style="text-align: right">(2006/09/29)</div></h2><hr />
3397<h3><a name="note170" id="note170">Note 170 (CARD): Fixed a bug that prevented Nintendo GameCube Memory Cards from being mounted correctly.</a></h3>
3398<p>The Nintendo&nbsp;GameCube Memory Card could not be mounted correctly.
3399</p><p>
3400This problem has been corrected.</p>
3401
3402<hr />
3403<h3><a name="note169" id="note169">Note 169 (DVD): Fixed a bug that caused a freeze when issuing disc requests from multiple threads.</a></h3>
3404<p>When a DVD request was issued from multiple threads, it caused the application to freeze in certain situations.
3405</p><p>
3406This problem has been corrected.</p>
3407
3408<hr />
3409<h3><a name="note168" id="note168">Note 168 (WPAD): Fixed a bug that caused the timestamp of the game data stored in the Wii Remote memory to be incorrect.</a></h3>
3410<p>When storing game data to the Wii Remote, the timestamp set by the library did not match the time on the calendar.
3411</p>
3412<p>This problem has been corrected.</p>
3413<p>
3414In addition, the time display of the sample demo <CODE>memory.c</CODE> has been corrected.
3415</p>
3416
3417<hr />
3418<h3><a name="note167" id="note167">Note 167 (KPAD): Fixed a bug that caused corruption of controller data when inserting and removing an external extension controller.</a></h3>
3419<p>When a Wii Remote was connected, inserting and removing the external extension controller after calling the <CODE>KPADReset</CODE> function resulted in corruption of subsequent controller data.
3420</p><p>
3421This problem has been corrected.
3422</p>
3423
3424<hr />
3425<h2 style="line-height: 0"><a name="20060907p4" id="20060907p4">2006/09/07 SDK Version 2.2 Patch 4</a> <div style="text-align: right">(2006/09/27)</div></h2><hr />
3426<h3><a name="note166" id="note166">Note 166 (TOOL): NDEV firmware Version 9.23 release</a></h3>
3427<p>Update the NDEV firmware after applying this patch and before running applications. </p>
3428<p>
3429The update program is run by starting a Bourne-again shell (bash) and entering &quot;fwupdate923&quot;.
3430</p><p>
3431If the environment is customized or if things do not go smoothly using the method described above, go to the <CODE>RVL_SDK/RVL/bin/tools</CODE> directory, and run <CODE>ODEM -r -l swupdate923.gcm</CODE>. The update will start automatically about 10 seconds after firmware starts. Once the update is complete, &quot;SWUpdate Successful.&quot; will appear on the screen. The NDEV firmware is updated to Firmware 9.2.3 and DEVKIT BOOT PROGRAM v1.08.
3432</p><p>
3433If any versions are already higher than this, the update will fail after displaying &quot;Import: *** ...failed&quot;, but you can continue without any problems.
3434</p>
3435
3436<hr />
3437<h3><a name="note165" id="note165">Note 165 (WPAD): Fixed a bug that prevented origin reset from being performed with the Classic Controller.</a></h3>
3438<p>There was a bug that prevented the origin for the analog stick and analog trigger from being reset even when the A, B, +, or - Button was pressed for three seconds on the classic controller.
3439</p><p>
3440This problem has been corrected.
3441</p>
3442
3443<hr />
3444<h3><a name="note164" id="note164">Note 164 (WPAD): Fixed a bug that disabled registration operations when SYNCHRO was pressed for 10 or more seconds during the registration operation.</a></h3>
3445<p>The registration operation could not start again after all the registration information was deleted by pressing the SYNCHRO on the console for 10 or more seconds during registration or simple registration.</p>
3446<p>
3447This has been fixed so that all information cannot be deleted during the registration operation.</p>
3448
3449<hr />
3450<h3><a name="note163" id="note163">Note 163 (WPAD): Added restrictions on the WPADInit, the WPADReconnect, and the WPADShutdown functions.</a></h3>
3451<p>The WPAD library can be started with the <CODE>WPADInit</CODE> function and terminated with the <CODE>WPADReconnect</CODE> function or the <CODE>WPADShutdown</CODE> function. However, wait at least two seconds when restarting the library after terminating it to stabilize the communication stack status.
3452</p>
3453
3454<hr />
3455<h3><a name="note162" id="note162">Note 162 (WPAD): Changed the function of the WPADSetAcceptConnection function.</a></h3>
3456<p>Operation was unstable when the <CODE>WPADSetAcceptConnection</CODE> function was called while the library was being initialized or while it was being terminated. This function has been changed so that it returns either success or failure, according to the internal status when it was called.
3457</p>
3458
3459<hr />
3460<h3><a name="note161" id="note161">Note 161 (WPAD): Changed the Wii Remote memory file information configuration function.</a></h3>
3461<p>Although the game title could be set in the Wii Remote memory control file information, the character code for the game title was converted to only UTF-16. Therefore, the functions to set the game title have been changed as follows: <br><br>- Deleted:<br><CODE>WPADSetGameTitle</CODE><br><CODE>WPADSetGameTitleWChar</CODE><br><CODE>WPADGetGameTitle</CODE><br><br> - Added:<br><CODE>WPADSetGameTitleUtf16</CODE><br><CODE>WPADGetGameTitleUtf16</CODE><br>
3462</p>
3463
3464<hr />
3465<h3><a name="note160" id="note160">Note 160 (WPAD): Fixed a bug that caused registration information to be lost.</a></h3>
3466<p>Remote control registration information for console A was lost in the following situation:<br>1. Remote control information was registered in console A.<br>2. Console A was reset (including shutdown).<br>3. Remote control information was registered in console B.<br>4. Remote control information was registered again in console A.
3467</p><p>
3468This problem has been corrected.
3469</p>
3470
3471<hr />
3472<h3><a name="note159" id="note159">Note 159 (KPAD): Fixed a bug that caused controller data of the remote to become irretrievable.</a></h3>
3473<p>Controller data could no longer be obtained from a remote when that remote was connected after the <CODE>KPADInit</CODE> function was called, but before the <CODE>KPADReset</CODE> function was called.</p>
3474<p>
3475This problem has been corrected.
3476</p>
3477
3478<hr />
3479<h3><a name="note158" id="note158">Note 158 (VI): Fixed a bug that caused noise to be seen when switching applications.</a></h3>
3480<p>Noise could temporarily be seen on the TV screen when switching applications. This problem has been corrected.</p>
3481
3482<hr />
3483<h3><a name="note157" id="note157">Note 157 (AX): Added Aux bus return volume set/get functions.</a></h3>
3484<p>Added the following functions to the AX library:<br><CODE><br> u16     AXGetAuxAReturnVolume       (void);<br> u16     AXGetAuxBReturnVolume       (void);<br> u16     AXGetAuxCReturnVolume       (void);<br> <br> Obtains the current return volume for each Aux bus.<br></CODE><CODE><br> void    AXSetAuxAReturnVolume       (u16 volume);<br> void    AXSetAuxBReturnVolume       (u16 volume);<br> void    AXSetAuxCReturnVolume       (u16 volume);<br> <br> Sets the return volume for each Aux bus.<br></CODE><br> The volume value is u16, as in other AX volume values.<br> <br> <CODE>0x0000 = 0.0<br> 0x8000 = 1.0<br> 0xffff = (about) 2.0</CODE><br> <br> When the effect data processed with the CPU (using the AXFX library) is mixed in the main bus with the DSP, the return volume is multiplied by the effect data. By using the return volume appropriately, for example, when the processing transitions from the game to the Home Menu, switching the effects can occur smoothly. However, if a value is set in the return value that is much different from the current value (for example, 0x8000 -&gt; 0x0000), noise may be generated. Change the return volume gradually in appropriately timed steps within the application.
3485</p>
3486
3487<hr />
3488<h3><a name="note156" id="note156">Note 156 (AX): Fixed a bug that occurs when setting the delta value of the volume envelope.</a></h3>
3489<p>The following bugs occurred in the AX library volume envelope:<br><br> - When a negative value was set in the delta value when the current volume was in the 0x8000 state, noise was introduced when volume attenuation began.<br> - Even when a positive value was set in the delta value when the current volume was in the 0x8000 state, the volume attenuated.<br> - When the volume was 0x8000 or more, the data became the opposite phase. <br><br>These problems have been corrected.</p>
3490
3491<hr />
3492<h2 style="line-height: 0"><a name="20060907p3" id="20060907p3">2006/09/07 SDK Version 2.2 Patch 3</a> <div style="text-align: right">(2006/09/22)</div></h2><hr />
3493<h3><a name="note155" id="note155">Note 155 (TOOL): NDEV firmware Version 9.22 release</a></h3>
3494<p>Update the NDEV firmware after applying this patch and before running applications.
3495</p>
3496<p>The update program is run by starting a Bourne-again shell (bash) and entering &quot;fwupdate922&quot;.</p>
3497<p>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 <CODE>ODEM -r -l swupdate922.gcm</CODE>. The update begins automatically about 10 seconds after the firmware starts. Once the update is complete, &quot;SWUpdate Successful,&quot; appears on the screen. The NDEV firmware is updated to Firmware 9.2.2 and DEVKIT BOOT PROGRAM v1.07.
3498</p><p>
3499If any versions are already higher than this, the update will fail after displaying &quot;Import: *** ...failed&quot;, but you can continue without any problems.</p>
3500
3501<hr />
3502<h3><a name="note154" id="note154">Note 154 (VI): Fixed a bug that caused noise to be seen on the TV screen during OSShutdownSystem.</a></h3>
3503<p>When running <CODE>OSShutdownSystem</CODE>, noise was seen on the TV screen. This problem has been corrected.</p>
3504
3505<hr />
3506<h3><a name="note153" id="note153">Note 153 (DVD): Fixed a bug that caused programs to freeze when run in the NO DISK state.</a></h3>
3507<p>Applications froze when specified conditions overlapped while running in a <CODE>NO DISK</CODE> state. This problem has been corrected.</p>
3508
3509<hr />
3510<h2 style="line-height: 0"><a name="20060907p2" id="20060907p2">2006/09/07 SDK Version 2.2 Patch 2</a> <div style="text-align: right">(2006/09/22)</div></h2><hr />
3511<h3><a name="note152" id="note152">Note 152 (TOOL): NDEV firmware Version 9.21 release</a></h3>
3512<p>Update the NDEV firmware after applying this patch and before running applications.
3513</p>
3514<p>The update program is executed by starting the bash shell and entering &quot;fwupdate921&quot;.</p>
3515<p>If the environment is customized or if things do not go smoothly using the method described above, change to the <CODE>RVL_SDK/RVL/bin/tools</CODE> directory and execute <CODE>ODEM -r -l swupdate921.gcm</CODE>. The update begins automatically about 10 seconds after the firmware starts. Once the update is complete, &quot;SWUpdate Successful.&quot; appears on the screen. The NDEV firmware is updated to Firmware 9.2.1 and DEVKIT BOOT PROGRAM v1.07.
3516</p><p>
3517If any versions are already higher than this, the update will fail after displaying &quot;Import: *** ...failed&quot;, but you can continue without any problems.</p>
3518
3519<hr />
3520<h3><a name="note151" id="note151">Note 151 (WPAD): Fixed a bug that caused the Control Stick to become misaligned.</a></h3>
3521<p>Slow insertion of the Nunchuk plug or Classic Controller plug occasionally caused an origin misalignment.
3522</p>
3523
3524<hr />
3525<h3><a name="note150" id="note150">Note 150 (WPAD): Fixed a bug that prevented the callback for the internal memory access function from being called.</a></h3>
3526<p>When <CODE>WPADWriteGameData</CODE> or the <CODE>WPADReadGameData</CODE> function was called again inside the callback passed as the function argument, the callback passed to the second function was not called. This problem has been corrected.
3527</p>
3528
3529<hr />
3530<h3><a name="note149" id="note149">Note 149 (WPAD): Added error codes</a></h3>
3531<p>The error codes returned by <CODE>WPADReadGameData</CODE> have been changed.
3532<p>
3533- If the file information is broken:<br>(old) <CODE>WPAD_ERR_INVALID</CODE> -&gt; (new) <CODE>WPAD_ERR_BROKEN</CODE><br> <br>- If a data from another game is stored:<br>(old) <CODE>WPAD_ERR_TRANSFER</CODE> -&gt; (new) <CODE>WPAD_ERR_NOPERM</CODE>
3534</p>
3535
3536<hr />
3537<h3><a name="note148" id="note148">Note 148 (VI): Fixed a bug that caused the application to freeze while running or recovering from the screen burn-in protection feature.</a></h3>
3538<p>Applications froze while running or recovering from the screen burn-in protection feature when there were a large number of system requests in the background.
3539</p><p>
3540This bug has been fixed in SDK Version 2.2 Patch 1.</p>
3541
3542<hr />
3543<h2 style="line-height: 0"><a name="20060907p1" id="20060907p1">2006/09/07 SDK Version 2.2 Patch 1</a> <div style="text-align: right">(2006/09/20)</div></h2><hr />
3544<h3><a name="note147" id="note147">Note 147 (WPAD): Fixed bugs</a></h3>
3545<p>
3546The following bugs have been fixed:<br>- The Wii Remote was disconnected when the time was changed in the system settings.<br>- All connections were severed when two or more Wii Remotes were connected at the same time when three Wii Remotes were already connected.<br>- The internal memories of multiple Wii Remotes could not be accessed simultaneously.<br>- An error callback was not made when the Wii Remote was disconnected while the Wii console was accessing internal memory.<br>- Data was corrupted when the pointer full-mode was used from multiple Wii Remotes.<br>- When the <CODE>WPADGetInfo</CODE> function completed, the correct value was not applied to the <CODE>info</CODE> member until the next frame.<br>- Turning the Rumble feature on while playing back sound from the speaker broke up the sound.
3547<p>
3548In addition, the following problems in the device driver have been corrected due to changes:<br>- OS reset sometimes failed when using the WPAD library.<br>- Connection occasionally failed and prevented future communication when four Wii Remotes were connected at once.<br>- Connection or registration occasionally failed.<br>- Operational instability when the Wii Remote battery became depleted while establishing a connection.<br>- Abnormal speaker output when multiple Wii controller speakers were used simultaneously.<br>(This can now be avoided with the <CODE>WPADCanSendStreamData</CODE> function.)
3549</p>
3550
3551<hr />
3552<h3><a name="note146" id="note146">Note 146 (WPAD): Timeout after command transfer.</a></h3>
3553<p>The Wii Remote will now be disconnected as abnormal if it stays in the <CODE>WPAD_ERR_BUSY</CODE> state more than 10 seconds after a command is sent to that Wii Remote.</p>
3554
3555<hr />
3556<h3><a name="note145" id="note145">Note 145 (WPAD): Rumble can now be turned off mid-rumble by turning off the Rumble feature.</a></h3>
3557<p>Previously, setting the Rumble feature to <CODE>OFF</CODE>, using the <CODE>WPADEnableMotor</CODE> function, in mid-rumble did not stop rumble. This has been changed to stop the current rumble.</p>
3558
3559<hr />
3560<h3><a name="note144" id="note144">Note 144 (WPAD): Changed the timing with which the WPADShutdown function is called internally.</a></h3>
3561<p>If the WPAD library is not shut down when the <CODE>OSShutdownSystem</CODE> function is called or when a fatal error occurs, the <CODE>WPADShutdown</CODE> function is called internally.</p>
3562
3563<hr />
3564<h3><a name="note143" id="note143">Note 143 (WPAD): Changed the WPADDisconnect function specification.</a></h3>
3565<p>The correspondence between the Wii Remote and the controller number are now deleted when the connection is severed using the <CODE>WPADDisconnect</CODE> function. (Previously, this information was retained.)</p>
3566
3567<hr />
3568<h3><a name="note142" id="note142">Note 142 (WPAD): Item pertaining to the WLAN signal interference avoidance process.</a></h3>
3569<p>Previously, WLAN needed to be implemented in a way that avoided signal interference by using <CODE>WPADSetDisableChannel</CODE>. Now, interference is avoided automatically through the SDK. Therefore, the <CODE>WPADSetDisableChannel</CODE> function has been modified to do nothing internally.
3570</p>
3571
3572<hr />
3573<h3><a name="note141" id="note141">Note 141 (WPAD): Added functions.</a></h3>
3574<p><CODE>WPADCanSendStreamData</CODE><br> Function that checks whether to call the <CODE>WPADSendStreamData</CODE> function.
3575</p><p>
3576<CODE>WPADStartFastSyncDevice</CODE><br> <CODE>WPADStartFastSimpleSync</CODE><br> Functions that change the Wii Remote transfer type to best-effort during registration speed up registration.
3577</p>
3578
3579<hr />
3580<h3><a name="note140" id="note140">Note 140 (WPAD): Removed the WPADClearPortMapTable function.</a></h3>
3581<p>Because <CODE>WPADDisconnect</CODE> can now delete the number of controllers, this function has now been eliminated.</p>
3582
3583<hr />
3584<h3><a name="note139" id="note139">Note 139 (KPAD): Fixed a bug that occurred when an attachment was quickly hot-swapped.</a></h3>
3585<p>When an attachment was hot-swapped quickly, the KPAD transitioned to a state in which controller data was not received. This problem has been corrected.</p>
3586
3587<hr />
3588<h3><a name="note138" id="note138">Note 138 (NAND): Fixed a bug that caused the NANDSafe series functions to return unexpected result codes.</a></h3>
3589<p>A result code not defined in the header file was occasionally returned. This occurred when appropriate permissions (both read and write) were not set in the parent directory of the file where the <CODE>NANDSafe</CODE> series function was implemented. This bug is now fixed.</p>
3590
3591<hr />
3592<h3><a name="note137" id="note137">Note 137 (NAND): Established banner file format, and added new functions.</a></h3>
3593<p>The banner file format has been established, and the following <CODE>NAND</CODE> function that handles banners has been added: The banner files must always be created directly in the home directory.<br><CODE>NANDInitBanner()<br> NANDGetIconSpeed()<br> NANDSetIconSpeed()</CODE><br>
3594</p>
3595
3596<hr />
3597<h3><a name="note136" id="note136">Note 136 (OS): Added a feature for checking the firmware required by the application.</a></h3>
3598<p>To start an application,  the appropriate firmware must be installed on the development system. If this check fails, a prompt is displayed, and startup is terminated. Please install the appropriate firmware at this time. All applications prior to SDK Version 2.2 will fail this check.</p>
3599<p>
3600Even if the check fails, the application can be forcibly started by pressing START/PAUSE on the GameCube Controller.</p>
3601
3602<hr />
3603<h3><a name="note135" id="note135">Note 135 (DVD): Stopped the use of the drive state DVD_STATE_NO_INPUT during the controller input standby status.</a></h3>
3604<p>The drive motor stop feature will no longer be supported in the near future. (Time of support is yet to be determined.)</p>
3605<p>
3606Therefore, the DVD library drive state during the controller input standby status, <CODE>DVD_STATE_NO_INPUT</CODE>, does not appear in this SDK.</p>
3607
3608<hr />
3609<h3><a name="note134" id="note134">Note 134 (DVD): Added official support for the automatic FATAL message.</a></h3>
3610<p>The automatic <CODE>FATAL</CODE> messages displayed in earlier SDKs were provisional. This SDK now uses the official messages.</p>
3611<p>
3612This can be verified by running <CODE>dvdfatal</CODE> in the DVD sample demo.</p>
3613
3614<hr />
3615<h3><a name="note133" id="note133">Note 133 (TOOL): Added screen burn-in protection settings to the system menu.</a></h3>
3616<p>Screen burn-in protection settings have been added to the system menu screen settings. For details, see &quot;Screen Settings&quot; under &quot;NDEV System Menu&quot; in the &quot;Tools&quot; section of the manual.</p>
3617
3618<hr />
3619<h3><a name="note132" id="note132">Note 132 (TOOL): Temporarily stopped the automatic update feature in the firmware system menu.</a></h3>
3620<p>The firmware/system menu automatic update mentioned in Note 93 of the release notes has been temporarily removed. When this automatic update function was enabled, the .rpf and .rvm files that were created included software that functioned as an encryption device. This meant that exporting the .rpf and .rvm file outside of Japan required an export authorization from the Ministry of Economy, Trade, and Industry. This sometimes resulted in inconvenience during development, so this functionality has been temporarily removed. The .rpf and .rvm files created in conjunction with this SDK or with later SDKs are not subject to export regulation.</p>
3621
3622<hr />
3623<h3><a name="note131" id="note131">Note 131 (TOOL): Added a Wii Sensor Bar sensitivity setting to the system menu.</a></h3>
3624<p>A Wii Sensor Bar sensitivity setting has been added to the system menu wireless controller settings. For details, see &quot;Tool -&gt; NDEV System Menu -&gt; Wireless Controller Settings&quot; in the manual.</p>
3625
3626<hr />
3627<h3><a name="note130" id="note130">Note 130 (VI): Removed the VIGetDVDStopMotorCount function.</a></h3>
3628<p>The drive motor stop feature will no longer be supported in the near future. (Time of support is yet to be determined.)</p>
3629<p>
3630Therefore, the support function for this feature (<CODE>VIGetDVDStopMotorCount</CODE>) has been temporarily removed.</p>
3631
3632<hr />
3633<h3><a name="note129" id="note129">Note 129 (VI): Fixed a bug that prevented the screen from returning to its original state when the console was reset with screen burn-in protection running.</a></h3>
3634<p>The screen was not returning to its original state when the console was reset with screen burn-in protection running. This problem has been corrected.</p>
3635
3636<hr />
3637<h3><a name="note128" id="note128">Note 128 (VI): Fixed a bug that caused the TV to display noise when the system entered IDLE mode or a hardware was reset.</a></h3>
3638<p>When the system entered <CODE>IDLE</CODE> mode or performed a hardware reset while connected with an S-video, component, or D-terminal cable, noise was displayed on the TV screen.</p>
3639<p>
3640This problem has been corrected. </p>
3641
3642<hr />
3643<h3><a name="note127" id="note127">Note 127 (WENC): Fixed a bug that prevented sound effects from playing back correctly from the Wii Remote speaker.</a></h3>
3644<p>Certain sound effects that played back without a problem on the TV speaker were not played back correctly on Wii Remote speakers.
3645</p><p>
3646This problem has been corrected. </p>
3647
3648<hr />
3649<h3><a name="note126" id="note126">Note 126 (DSP): Fixed a bug that caused calling the AXQuit function to output an error and stop the application.</a></h3>
3650<p>Calling the <CODE>AXQuit</CODE> function during a debug session (on the CodeWarrior IDE with &quot;Enable Serial I/O&quot; set to on) caused the DSP library to output an error and stop the program.
3651</p><p>
3652This problem has been corrected. </p>
3653
3654<hr />
3655<h2 style="line-height: 0"><a name="20060907" id="20060907">2006/09/07 SDK Version 2.2</a> <div style="text-align: right">(2006/09/07)</div></h2><hr />
3656<h3><a name="note125" id="note125">Note 125 (TOOL): Changed the save-data specification.</a></h3>
3657<p>Changed the specification of the NDEV system menu save-data operation. For details, see &quot;Tool -&gt; NDEV System Menu -&gt; Save Data Operation&quot; in the manual.</p>
3658
3659<hr />
3660<h3><a name="note124" id="note124">Note 124 (TOOL): Added a drive protection setting to the system menu.</a></h3>
3661<p>Added a drive protection setting to the system menu NDEV settings. For details, see &quot;Tool -&gt; NDEV System Menu -&gt; NDEV Settings&quot; in the manual.</p>
3662
3663<hr />
3664<h3><a name="note123" id="note123">Note 123 (KPAD): Added functions for improving pointing.</a></h3>
3665<p>The following functions have been added  for improving the usability of pointing with the Wii Remote:</p><p>
3666<CODE>KPADEnableAimingMode()<br> KPADDisableAimingMode()<br> KPADGetProjectionPos()</CODE></p>
3667
3668<hr />
3669<h3><a name="note122" id="note122">Note 122 (KPAD): Added support for the Classic Controller.</a></h3>
3670<p>The function supporting the Classic Controller, <CODE>KPADGetWPADCLRingBuffer()</CODE>, has been added. (This was missing from the previous version of the release notes).</p>
3671
3672<hr />
3673<h3><a name="note121" id="note121">Note 121 (KPAD): Changed the behavior when dealing with unknown attachments.</a></h3>
3674<p>The library has been modified to ignore unknown attachments and operate the Wii Remote in standalone mode.
3675</p>
3676
3677<hr />
3678<h3><a name="note120" id="note120">Note 120 (KPAD): Added functions for enabling/disabling the Pointer.</a></h3>
3679<p>The following functions that enable and disable the Wii Remote Pointer have been added. Disabling the Pointer reduces the power consumption of the Wii Remote.</p>
3680<p>
3681void KPADEnableDPD(s32 chan);<br> void KPADDisableDPD(s32 chan);
3682</p>
3683
3684<hr />
3685<h3><a name="note119" id="note119">Note 119 (KPAD): Expanded the sample demo program.</a></h3>
3686<p>The sample demo program <CODE>kpadsample</CODE> has been expanded. Added support for the Classic Controller, Pointer control, and other features.</p>
3687
3688<hr />
3689<h3><a name="note118" id="note118">Note 118 (AX): Added an AUX callback acquisition function.</a></h3>
3690<p>The following AUX callback acquisition functions have been added to temporarily switch and return in such places as the Home Menu:</p><p>
3691<CODE>void AXGetAuxACallback(AXAuxCallback *callback, void **context);<br> void AXGetAuxBCallback(AXAuxCallback *callback, void **context);<br> void AXGetAuxCCallback(AXAuxCallback *callback, void **context);</CODE></p>
3692
3693<hr />
3694<h3><a name="note117" id="note117">Note 117 (WENC): Deleted WENC_FLAG_LAST from the flag passed to WENCGetEncodeData().</a></h3>
3695<p><CODE>WENC_FLAG_LAST</CODE> has been deleted from the available values for the <CODE>flag</CODE> argument of <CODE>WENCGetEncodeData()</CODE>.</p>
3696
3697<hr />
3698<h3><a name="note116" id="note116">Note 116 (NAND): Fixed a bug in the NANDReadDir[Async] Function Reference page.</a></h3>
3699<p>The content of <CODE>NANDReadDir[Async]</CODE> Function Reference Manual has been found to be insufficient. When allocating a buffer, its size should be rounded up to a multiple of 32 bytes. Due to an issue with the cache, the memory surrounding the buffer area may be destroyed.</p>
3700
3701<hr />
3702<h3><a name="note115" id="note115">Note 115 (NAND): Removed write size restriction.</a></h3>
3703<p>The write size was previously restricted to multiples of 32&nbsp;bytes in the <CODE>NANDWrite[Async]</CODE> function, but this restriction has been removed.</p>
3704
3705<hr />
3706<h3><a name="note114" id="note114">Note 114 (NAND): Added the NANDCheck() sample demo program.</a></h3>
3707<p>A sample demo program showing the usage of <CODE>NANDCheck()</CODE> has been added.</p>
3708
3709<hr />
3710<h3><a name="note113" id="note113">Note 113 (OS): Revised the RESET callback process.</a></h3>
3711<p>The RESET callback registered in <CODE>OSSetResetCallback()</CODE> was called both when RESET was being pressed and when it was released. This has been changed so that the callback is called only when RESET is pressed.</p>
3712
3713<hr />
3714<h3><a name="note112" id="note112">Note 112 (SC): Precaution for calling SCFlush*().</a></h3>
3715<p>When calling <CODE>SCFlush*()</CODE>, the update process may be executing at unexpected times, depending on the active libraries and interrupts. To ensure that your own system setting is applied, call <CODE>SCCheckStatus()</CODE> after changing settings, and verify that the return value is <CODE>SC_STATUS_OK</CODE>.</p>
3716<p>
3717When calling <CODE>SCFlush*()</CODE> after doing this, the changes will be applied, even if the update process was not launched by you.</p>
3718
3719<hr />
3720<h3><a name="note111" id="note111">Note 111 (SC): Fixed a bug in SCFlushAsync(), and added a callback argument value.</a></h3>
3721<p>The callback function passed as an argument to <CODE>SCFlushAsync()</CODE> was not called if there was an existing background process or an error had occurred before the call. This problem has been corrected.</p>
3722<p>
3723In addition, the specification has been changed so that, if a background process is running, <CODE>SC_STATUS_BUSY</CODE> is passed to the callback function argument (result).
3724</p>
3725
3726<hr />
3727<h3><a name="note110" id="note110">Note 110 (SC): Fixed a bug in SCFlush().</a></h3>
3728<p><CODE>SCFlush()</CODE> hung when it was called after <CODE>SCFlushAsync()</CODE> while a background process was running.</p>
3729<p>
3730<CODE>SCFlush()</CODE> has been changed to wait for the completion of the background process.</p>
3731
3732<hr />
3733<h3><a name="note109" id="note109">Note 109 (SC): Automatic call of SCInit().</a></h3>
3734<p><CODE>SCInit()</CODE> is now called automatically at system startup.
3735</p><p>
3736<CODE>SCCheckStatus()</CODE>, which is used to verify completion of initialization, is also called automatically. Therefore, SC library initialization is no longer necessary. The initialization process already implemented in the library may be left as it is and will not cause any problems.</p>
3737
3738<hr />
3739<h3><a name="note108" id="note108">Note 108 (TOOL): Fixed a bug in makeo.exe.</a></h3>
3740<p>When an object output by <CODE>makeo.exe</CODE> was linked to .plf, the reference to the object was not appropriately resolved.
3741</p><p>
3742This problem has been corrected.
3743</p>
3744
3745<hr />
3746<h3><a name="note107" id="note107">Note 107 (TOOL): Added a disc country code configuration tool.</a></h3>
3747<p>A tool for setting the disc country code, '<CODE>setcountrycode</CODE>', has been added. When creating master data, it was necessary to set the country code using <CODE>setcountrycode</CODE> and to execute <CODE>ndrun</CODE> once. In the GDEV software, the country code was specified by editing the DDF file. Since this is not supported in the NDEV software, use <CODE>setcountrycode</CODE>.
3748</p>
3749
3750<hr />
3751<h3><a name="note106" id="note106">Note 106 (TOOL): Corrected a problem that prevented termination of setsmem2size in error from being detected.</a></h3>
3752<p>Even when the setting was not correctly configured, <CODE>setsmem2size</CODE> finished normally. An error message is now displayed when the configuration fails.
3753</p>
3754
3755<hr />
3756<h3><a name="note105" id="note105">Note 105 (DVD): Added the drive state DVD_STATE_NO_INPUT while waiting for controller input.</a></h3>
3757<p>When the controller receives no input for a set period of time, the DVD library pauses the drive motor and waits for controller input.</p>
3758<p>
3759When this error is detected, the application should display an error message and prompt the user for controller input. See the message list for the appropriate message content.
3760</p>
3761
3762<hr />
3763<h3><a name="note104" id="note104">Note 104 (DVD): Fixed the system language setting that was not reflected in the automatic fatal message.</a></h3>
3764<p>The system language setting was not reflected in the automatic fatal message. This has been fixed.</p>
3765<p>
3766This can be verified by running <CODE>dvdfatal</CODE> in the DVD sample demo.
3767</p>
3768
3769<hr />
3770<h3><a name="note103" id="note103">Note 103 (WPAD): Added device type values.</a></h3>
3771<p><CODE>WPAD_DEV_FUTURE</CODE> and <CODE>WPAD_DEV_NOT_SUPPORTED</CODE> have been added to the device type.</p>
3772
3773<hr />
3774<h3><a name="note102" id="note102">Note 102 (WPAD): Changed the battery level threshold value, and added the voltage level CRITICAL.</a></h3>
3775<p>The battery level threshold value has been changed and <CODE>WPAD_BATTERY_LEVEL_CRITICAL</CODE>, an indicator prompting the user to change the battery, has been added.
3776</p>
3777
3778<hr />
3779<h3><a name="note101" id="note101">Note 101 (WPAD): Changed how the SyncCallback function is called.</a></h3>
3780<p>- When <CODE>WPADStartSimpleSync()</CODE> is called for the <CODE>WPADSetSimpleSyncCallback(</CODE> callback, a <CODE>BUSY</CODE> event is returned if it is in the middle of an operation.<br>- When <CODE>WPADStartSyncDevice()</CODE> is called for the <CODE>WPADSetSyncDeviceCallback(</CODE> callback, a <CODE>BUSY</CODE> event is returned if it is in the middle of an operation.
3781</p>
3782
3783<hr />
3784<h3><a name="note100" id="note100">Note 100 (WPAD): Added support for origin reset.</a></h3>
3785<p>The origin can now be reset by pressing the A Button, B Button, + Button, and - Button simultaneously for three seconds on the Wii Remote.</p>
3786
3787<hr />
3788<h3><a name="note99" id="note99">Note 99 (WPAD): Changed how the controller port is allocated.</a></h3>
3789<p>The last Wii Remote ID connection is now stored for each controller port. The Wii Remote will be reassigned to the same port at the next connection.</p>
3790
3791<hr />
3792<h3><a name="note98" id="note98">Note 98 (WPAD): Changed how the Wii Remote setting information is handled.</a></h3>
3793<p>The Rumble feature enable/disable setting and the speaker volume are no longer stored per controller. They are now stored as common values on the Wii console.</p>
3794
3795<hr />
3796<h3><a name="note97" id="note97">Note 97 (WPAD): Fixed bugs</a></h3>
3797<p>The following problems have been corrected:<br> <br> - The controller froze in a busy state after the connection had been established.<br> - During the pairing process, the indicator continuously blinked and the pairing did not complete.<br> - The pairing process occasionally did not start, even when SYNCHRO was pressed.	<br> - The work memory was not de-allocated at <CODE>WPADShutdown()</CODE>.<br> - Repeated connection/disconnection of the Wii Remote caused a crash at ASSERT.<br> - During loading of internal memory, interrupts were blocked for over 100 us.<br> - Plugging in the external extension controller slowly caused a busy state, and eventually disconnection.<br> - <CODE>WPADSetSimpleSyncCallback()</CODE> was cleared after the simple pairing process was closed.<br> - The application froze if the Power Button was pressed for more than 1 second on a Wii Remote that had been paired, but not connected.<br> - When <CODE>WPADRead()</CODE> was called after the Wii controller was disconnected, the last controller data from the disconnected controller was returned.<br> - The data in the <CODE>WPADSetAutoSamplingBuf()</CODE> registered buffer was not cleared after a controller was disconnected.<br> -  The controller was not disconnected, even if there was no input to the controller for the period specified in <CODE>WPADAutoSleepTime</CODE>.<br> - The default value of the Rumble enable/disable setting and the speaker volume could not be acquired correctly.<br> - The indicator continued to blink after a connection had been established.<br> - When pairing was performed during TV audio playback, noise was generated in the audio.</p>
3798
3799<hr />
3800<h3><a name="note96" id="note96">Note 96 (WPAD): Added functions.</a></h3>
3801<p>Pointer sensitivity setting <br> - <CODE>WPADGetDpdSensitivity()</CODE><br> - <CODE>WPADSetDpdSensitivity()</CODE><br> <br> Indicates whether the Wii console accepts the connection to the Wii Remote.<br> - <CODE>WPADGetAcceptConnection()</CODE><br> - <CODE>WPADSetAcceptConnection()</CODE><br> <br> Shutdown function with automatic reconnection of the Wii Remote.<br> - <CODE>WPADReconnect()</CODE><br> <br> Clears the controller port and the Wii Remote allocation table.<br> - <CODE>WPADClearPortMapTable()</CODE><br> <br> Acquires the number of simple-paired Wii Remotes.<br> - <CODE>WPADGetTemporaryDevNum()</CODE><br> <br> Acquires the pairing type of the Wii Remote.<br> - <CODE>WPADGetSyncType()</CODE> <br>
3802</p>
3803
3804<hr />
3805<h3><a name="note95" id="note95">Note 95 (PAD): Added functions related to the clamp process.</a></h3>
3806<p>The following functions have been added:</p>
3807<p>
3808<CODE>PADClamp2<br> PADClampCircle2<br> PADClampTrigger</CODE>
3809</p>
3810<p>
3811Clamps with play (tolerance) near the axes, clamps with no play, and circular clamps have been added. The maximum clamp values have been changed for the existing clamp functions (<CODE>PADClamp</CODE> and <CODE>PADClampCircle</CODE>). Therefore, a wider analog stick and analog trigger input value range is now accepted.</p>
3812
3813<hr />
3814<h3><a name="note94" id="note94">Note 94 (VI): Added support functions for screen burn-in protection and stopping the drive motor.</a></h3>
3815<p>Support functions for screen burn-in protection and stopping the drive motor have been added. These functions run automatically if the controller input state stays constant for more than a set period of time. These functions are enabled by default.</p>
3816
3817<hr />
3818<h2 style="line-height: 0"><a name="20060821p1" id="20060821p1">2006/08/21 SDK Version 2.1 Patch 1</a> <div style="text-align: right">(2006/08/30)</div></h2><hr />
3819<h3><a name="note93" id="note93">Note 93 (TOOL): Added support for firmware/system menu auto-update.</a></h3>
3820<p>Starting with this patch, auto-update of the firmware/system menu is supported. Applications created after the implementation of this patch will update the firmware and the system menu automatically when they run. The NDEV firmware update program version 9.0.0 (2006/08/22 version) needs to be run first.</p>
3821
3822<hr />
3823<h3><a name="note92" id="note92">Note 92 (TOOL): Added features to the system menu.</a></h3>
3824<p>Wireless controller settings and save-data operations have been added to the system menu. For details, see &quot;NDEV System Menu&quot; in the &quot;Tools&quot; section of the manual.</p>
3825
3826<hr />
3827<h3><a name="note91" id="note91">Note 91 (WPAD): Call WPAD termination before reset/shutdown.</a></h3>
3828<p>When using WPAD in the program, always call <CODE>WPADShutdown</CODE> before the reset/shutdown function to close the WPAD process.</p>
3829
3830<hr />
3831<h3><a name="note90" id="note90">Note 90 (OS): Re-released the OSExec function.</a></h3>
3832<p>The <CODE>OSExec</CODE> function has been re-released.</p>
3833
3834<hr />
3835<h3><a name="note89" id="note89">Note 89 (OS): Added OSSwitchFiberEx().</a></h3>
3836<p>The <CODE>OSSwitchFiberEx()</CODE> function, which is an expanded version of <CODE>OSSwitchFiber()</CODE>, has been added. It is capable of passing an argument to functions using the new stack.</p>
3837
3838<hr />
3839<h3><a name="note88" id="note88">Note 88 (OS): Added periodic access to NAND by the system.</a></h3>
3840<p>The system now accesses Wii NAND console memory periodically. Although details are yet to be finalized, the frequency of system access to Wii NAND console memory has been determined and is implemented starting with this patch. Verify the impact this has on your applications. There will be a single file write operation per minute, and a single file open/close operation every five minutes. The FAT will also be updated during the close operation. In addition, a single file descriptor will always be consumed. When Wii NAND console memory is accessed by the application at the time that the system accesses that memory, the close operation will take longer than usual. Detect the close process with function returns or callbacks, instead of using the elapsed time from the start of the process.</p>
3841
3842<hr />
3843<h3><a name="note87" id="note87">Note 87 (NAND): Automatic call of NANDInit().</a></h3>
3844<p><CODE>NANDInit()</CODE> will now be called automatically at system startup.</p>
3845
3846<hr />
3847<h3><a name="note86" id="note86">Note 86 (NAND): Fixed a bug that occurred when the full path name was exactly 32 bytes.</a></h3>
3848<p>The bug that occurred when the full path name was exactly 32 bytes was fixed in SDK 2.1. (This was missing from the previous version of the release notes.)</p>
3849
3850<hr />
3851<h3><a name="note85" id="note85">Note 85 (NAND): Added a function that determines whether the file or directory can be created.</a></h3>
3852<p>Added the <CODE>NANDCheck[Async]</CODE> function. When creating a new file or directory in a directory other than /tmp, call this function first. This function determines whether the file system has enough resources for the creation of the new file or directory.</p>
3853
3854<hr />
3855<h3><a name="note84" id="note84">Note 84 (NAND): Added result codes that were omitted.</a></h3>
3856<p>The following items have been added to the <I>Function Reference Manual</I>: <BR>-<CODE>NANDSafeClose[Async]</CODE> may return <CODE>NAND_RESULT_OPENFD</CODE>.<BR>-<CODE>NANDCreate[Async]</CODE> and <CODE>NANDCreateDir[Async]</CODE> may return <CODE>NAND_RESULT_NOEXISTS</CODE>.</p>
3857
3858<hr />
3859<h3><a name="note83" id="note83">Note 83 (SC): Added the return values for SCGetLanguage.</a></h3>
3860<p>Chinese (simplified), Chinese (traditional), and Korean have been added as the reserved values for the <CODE>SCGetLanguage()</CODE> function return values. However, the Revolution SDK does not support these languages at this time.</p>
3861<p>
3862See the <I>Function Reference Manual</I> and the sample demo scdemo for details.</p>
3863
3864<hr />
3865<h3><a name="note82" id="note82">Note 82 (GD): Added and edited descriptions of GD demo debug output.</a></h3>
3866<p>Previous descriptions of the debug outputs for several GD demos have been added or corrected.</p>
3867
3868<hr />
3869<h3><a name="note81" id="note81">Note 81 (GX): Added and edited descriptions of GX demo debug output.</a></h3>
3870<p>Previous descriptions of the debug outputs for several GX demos have been added or corrected.</p>
3871
3872<hr />
3873<h3><a name="note80" id="note80">Note 80 (WENC): Added the WENC library.</a></h3>
3874<p>A WENC library has been added in SDK Version 2.1. WENC is a library used for Wii Remote speaker encoding.</p>
3875
3876<hr />
3877<h3><a name="note79" id="note79">Note 79 (CX): Released the compression/decompression library.</a></h3>
3878<p>The CX library supports the compression/decompression function. It is based on the compression/decompression library used for the Nintendo DS system. The CX library source code has been released. (This was missing from the previous version of the release notes.)</p>
3879
3880<hr />
3881<h3><a name="note78" id="note78">Note 78 (ENC): Added the ENC library.</a></h3>
3882<p>The ENC library has been added to the SDK Version 2.1. ENC is a library used for character code conversion.</p>
3883
3884<hr />
3885<h2 style="line-height: 0"><a name="20060821" id="20060821">2006/08/21 SDK Version 2.1</a> <div style="text-align: right">(2006/08/21)</div></h2><hr />
3886<h3><a name="note77" id="note77">Note 77 (WPAD): Added support for status of simple pairing.</a></h3>
3887<p>The WPAD library in SDK Version 2.1 supports simple pairing.</p>
3888<p>Although the Wii Remote included with NDEV Version 2.1 (white) supports this feature, the Wii Remote included with NDEV Version 2.0 (black) does not.</p>
3889
3890<hr />
3891<h3><a name="note76" id="note76">Note 76 (WPAD): Added functions.</a></h3>
3892<p>The following sample functions have been added:</p>
3893<p>
3894- <CODE>WPADGetWorkMemorySize()</CODE><br>Gets the total work memory capacity obtained when the library is initialized.
3895</p><p>
3896- <CODE>WPADGetRadioSensitivity()</CODE><br>Gets the radio sensitivity of the Wii Remote.
3897</p><p>
3898- <CODE>WPADIsSpeakerEnabled()</CODE><br> - <CODE>WPADControlSpeaker()</CODE><br> - <CODE>WPADGetSpeakerVolume()</CODE><br> - <CODE>WPADSetSpeakerVolume()</CODE><br> - <CODE>WPADSendStreamData()</CODE><br>Control the Wii Remote speaker. The sample introduces a method to output sound from the Wii Remote encoded by the AX library.
3899</p></p>
3900- <CODE>WPADIsMotorEnabled()</CODE><br> - <CODE>WPADEnableMotor()</CODE><br>Changes the Wii Remote Rumble feature enable state.
3901</p><p>
3902- <CODE>WPADSetAutoSleepTime()</CODE><br>Sets the time until the Wii Remote is automatically disconnected when there is no input from the Wii Remote.
3903</p><p>
3904- <CODE>WPADGetSensorBarPosition()</CODE><br>Gets Sensor Bar placement information.
3905</p><p>
3906- <CODE>WPADStartSimpleSync()</CODE><br> - <CODE>WPADStopSimpleSync()</CODE><br> - <CODE>WPADSetSimpleSyncCallback()</CODE><br>Controls simple pairing.
3907</p><p>
3908- <CODE>WPADSaveConfig()</CODE><br>Saves the Rumble feature enable state and speaker volume settings to the Wii console.
3909</p><p>
3910- <CODE>WPADClampTrigger()</CODE><br> - <CODE>WPADClampAcc()</CODE><br> - <CODE>WPADGetCLTriggerThreshold()</CODE><br>Clamps the analog input.
3911</p><p>
3912- <CODE>WPADReadGameData()</CODE><br> - <CODE>WPADWriteGameData()</CODE><br>Access the Wii Remote memory.
3913</p><p>
3914- <CODE>WPADSetGameTitle()</CODE><br> - <CODE>WPADSetGameTitleWChar()</CODE><br> - <CODE>WPADGetGameTitle()</CODE><br> - <CODE>WPADGetGameDataTimeStamp()</CODE><br>Access the game data saved in the Wii Remote memory.
3915</p>
3916
3917<hr />
3918<h3><a name="note75" id="note75">Note 75 (WPAD): Fixed a bug related to hot plug-in or removal of external extension controllers.</a></h3>
3919<p>The status was stuck on <CODE>BUSY</CODE> when an external extension controller was plugged in and unplugged quickly and repeatedly during communication.</p>
3920<p>This problem has been corrected.</p>
3921
3922<hr />
3923<h3><a name="note74" id="note74">Note 74 (WPAD): Changed the number of units that can be paired.</a></h3>
3924<p>Simple pairing is now possible with SDK Version 2.1. Although the number of normal-paired units was 16, this has now been changed to 10 normal-paired units and six simple-paired units.</p>
3925<p>
3926In addition, Wii consoles that have had 11 or more paired Wii Remotes can only use up to 10 Wii Remotes when operating with the SDK Version 2.1 WPAD Library. We recommend deleting all previous pairing information, since operation in this state was not anticipated.</p>
3927
3928<hr />
3929<h3><a name="note73" id="note73">Note 73 (WPAD): Added Full mode to the Pointer.</a></h3>
3930<p>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.</p>
3931
3932<hr />
3933<h3><a name="note72" id="note72">Note 72 (WPAD): Changed the clamp process.</a></h3>
3934<p>- Released source code<br>The clamp functions supplied with the WPAD library have been disclosed.
3935</p>
3936<p>
3937- Changed the clamp algorithm:<br>Changed the maximum value that can be clamped to be in line with the analog stick hardware. Also added clamps with no play, circular clamps, and clamps with play near the axes.
3938</p><p>
3939In addition, added cubical clamps and spherical clamps to the motion sensor clamps.</p>
3940
3941<hr />
3942<h3><a name="note71" id="note71">Note 71 (WPAD): Fixed a bug that halved the pointer sampling rate.</a></h3>
3943<p>There was a discrepancy between the timing of the update cycle for the library controller status and the actual cycle for receiving the data. This problem has been corrected by adjusting the library update cycle.
3944</p>
3945
3946<hr />
3947<h3><a name="note70" id="note70">Note 70 (WPAD): Fixed a bug in the Rumble feature.</a></h3>
3948<p>An exception was generated when <CODE>WPADControlMotor()</CODE> was called from within a callback function that was called by the WPAD library.<p>
3949<p>
3950This problem has been corrected.</p>
3951
3952<hr />
3953<h3><a name="note69" id="note69">Note 69 (MEM): Added measures to prevent a performance drop when securing 32-byte alignment from the extended heap.</a></h3>
3954<p>When memory was obtained 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 obtained with 32-byte alignment. Improvements were made to reduce the drop in performance in these cases.</p>
3955
3956<hr />
3957<h3><a name="note68" id="note68">Note 68 (AX): Added support for Wii Remote speaker output.</a></h3>
3958<p>AX now supports output to the Wii Remote speaker. This allows sound to be played from the Wii Remote speaker in the same way that sound is normally played through other channels.</p>
3959
3960<hr />
3961<h3><a name="note67" id="note67">Note 67 (AX): Fixed a bug that prevented de-pop from operating with voices that had been panned.</a></h3>
3962<p>For example, when pan was to the left and the right channel processing had been cut with <CODE>mixerCtrl</CODE> while producing sound, the right channel de-pop parameter was not updated. As a result, minor noise occurred in the right channel when the voice stopped.</p>
3963<p>
3964This problem has been corrected.</p>
3965
3966<hr />
3967<h3><a name="note66" id="note66">Note 66 (OS): Expanded the alarm features.</a></h3>
3968<p>The following functions have been added. The <CODE>OSAlarm</CODE> structure can be assigned arguments.</p>
3969<p>
3970<CODE>void  OSSetAlarmUserData( OSAlarm* alarm, void* data );</CODE><br> <CODE>void *OSGetAlarmUserData( const OSAlarm* alarm );</CODE></p>
3971
3972<hr />
3973<h3><a name="note65" id="note65">Note 65 (KPAD): Various fixes and expansions.</a></h3>
3974<p>Added support for the Classic Controller.<br>Added the <CODE>acc_vertical</CODE> member variable to the <CODE>KPADStatus</CODE> structure.<br>Added the <CODE>KPADSetSensorHeight()</CODE> function.<br>Bugs in the <CODE>KPADSetFSStickClamp()</CODE> function were fixed.<br>The clamp process is now applied to the acceleration value.</p>
3975
3976<hr />
3977<h3><a name="note64" id="note64">Note 64 (ARC): Added const.</a></h3>
3978<p>Applied the <CODE>const</CODE> modifier to arguments of some functions.</p>
3979
3980<hr />
3981<h3><a name="note63" id="note63">Note 63 (MEM): Fixed a bug in the MEMFindParentHeap() function.</a></h3>
3982<p>When building a layered heap with <CODE>MEMFindParentHeap()</CODE>, the parent heap was not correctly obtained. This problem has been corrected.</p>
3983
3984<hr />
3985<h3><a name="note62" id="note62">Note 62 (NAND): Added and deleted error codes.</a></h3>
3986<p>The <CODE>NAND_RESULT_INIT_FAILED</CODE> error code was removed. The <CODE>NAND_RESULT_AUTHENTICATION</CODE> error code was added.</p>
3987
3988<hr />
3989<h3><a name="note61" id="note61">Note 61 (NAND): Revised NANDInit().</a></h3>
3990<p>The process time was reduced. The process to create the /tmp/sys directory has been moved to the new <CODE>NANDSafeOpen[Async]()</CODE> function. The number of error types that can be returned has been reduced.</p>
3991
3992<hr />
3993<h3><a name="note60" id="note60">Note 60 (NAND): Added functions.</a></h3>
3994<p>Added <CODE>NANDGetType[Async]()</CODE>. This function distinguishes between files and folders.</p>
3995<p>
3996Added <CODE>NANDSafeOpen/Close[Async]()</CODE>. This is a function group that guarantees that file updates are atomic.</p>
3997<p>Added <CODE>NANDGetHomeDir()</CODE>. This function gets the path of the home directory. (This is the directory prepared by the system to store the save data of the application.)
3998</p>
3999
4000<hr />
4001<h3><a name="note59" id="note59">Note 59 (NAND): Corrected a problem that caused unknown error code to be displayed during read/write.</a></h3>
4002<p>Due to a firmware problem, the debug message: &quot;CAUTION! Unexpected error code [-116] was found.&quot; was occasionally output. The error code <CODE>NAND_RESULT_UNKNOWN</CODE> was also returned. This problem has been corrected.</p>
4003
4004<hr />
4005<h3><a name="note58" id="note58">Note 58 (OS): Updated the functions related to reset and shutdown.</a></h3>
4006<p>The reset and shutdown functions were updated or created in line with the Wii console system specifications.</p>
4007<p>
4008The following functions were added:</p>
4009<p>
4010<CODE>OSRebootSystem()</CODE> - Reboots the entire system.<br> <CODE>OSRestart()</CODE> - Restarts the application.<br> <CODE>OSReturnToMenu()</CODE> - Returns to the system menu.<br> <CODE>OSShutdownSystem()</CODE> - Shuts down the system.<br> <CODE>OSSetPowerCallback()</CODE> - Registers the Power Button callback.<br>
4011<p>
4012In addition, the existing reset function, <CODE>OSResetSystem()</CODE>, has been deprecated. The specifications for other functions have also changed. For more details, see the <I>Function Reference Manual</I>.</p>
4013
4014<hr />
4015<h3><a name="note57" id="note57">Note 57 (OS): Added OSSleep* functions.</a></h3>
4016<p>Added <CODE>OSSleepTicks()</CODE>. This function pauses the execution of the current thread, and returns to the executable state after a specified amount of time. In addition, the following macros have also been prepared to specify different units of time:</p>
4017<p>
4018<CODE>OSSleepSeconds()</CODE><br> <CODE>OSSleepMilliseconds()</CODE><br> <CODE>OSSleepMicroseconds()</CODE><br> <CODE>OSSleepNanoseconds()</CODE>
4019</p>
4020
4021<hr />
4022<h3><a name="note56" id="note56">Note 56 (SC): Added Wii Remote setup items.</a></h3>
4023<p>The following functions have been added to reference or change the Wii Remote setup items. However, these functions are reserved for another library to be provided in the future. For the time being, do not call these functions directly from the application.</p>
4024<p>
4025- <CODE>SCGetWpadMotorMode</CODE><br> - <CODE>SCGetWpadSensorBarPosition</CODE><br> - <CODE>SCGetWpadSpeakerVolume</CODE><br> - <CODE>SCSetWpadMotorMode</CODE><br> - <CODE>SCSetWpadSensorBarPosition</CODE><br> - <CODE>SCSetWpadSpeakerVolume</CODE><br>
4026</p>
4027
4028<hr />
4029<h3><a name="note55" id="note55">Note 55 (SC): Deleted the emulation functions.</a></h3>
4030<p>Deleted the <CODE>SCEmuSetAspectRatio</CODE> and <CODE>SCEmuSetLanguage</CODE> emulation functions. The functions remain for backward compatibility. However, they now do nothing and always return FALSE.<p>
4031<p>Use the NDEV system menu to modify the aspect ratio or language settings.</p>
4032
4033<hr />
4034<h3><a name="note54" id="note54">Note 54 (SC): Prohibited use of previous versions of the SC library.</a></h3>
4035<p>The internal process for the SC library to access the Wii NAND console memory has changed. The items changed with a previous version are not inherited, and all setup items are initialized.</p>
4036<p>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. Therefore, do not use older versions of the SC library.</p>
4037
4038<hr />
4039<h3><a name="note53" id="note53">Note 53 (HIO2): Corrected a problem with heavy loads on the host CPU.</a></h3>
4040<p>When a device was opened with <CODE>HIO2Open</CODE>, the load on the host (PC) CPU became extremely heavy. This problem has been corrected. Therefore, the transfer speed during continuous transfers drops slightly (from several percent up to 10%).</p>
4041
4042<hr />
4043<h3><a name="note52" id="note52">Note 52 (DOC): Revised the third chapter &quot;Running a Simple Demo&quot; in the <I>Revolution Build System Guide</I>.</a></h3>
4044<p>The contents of the demo or debug execution method described in Chapter 3, &quot;Running a Simple Demo,&quot; in the <I>Revolution Build System Guide</I> was not compatible with the Revolution shell (<CODE>RVL_NDEV.bat</CODE>). The section was revised to cover use of the Revolution shell.</p>
4045
4046<hr />
4047<h3><a name="note51" id="note51">Note 51 (VI): Changed the default setting for the trap filter.</a></h3>
4048<p>The default setting for the trap filter was enabled. The default has now been changed to disabled.</p>
4049
4050<hr />
4051<h3><a name="note50" id="note50">Note 50 (VI): Fixed a bug that prevented disabling the trap filter.</a></h3>
4052<p>To disable the trap filter feature in SDK Version 2.0, the feature had to first be enabled before it could be disabled.</p>
4053<p>
4054This problem has been corrected.</p>
4055
4056<hr />
4057<h3><a name="note49" id="note49">Note 49 (VI): Ended support for 50&nbsp;Hz mode for progressive display.</a></h3>
4058<p>The 50&nbsp;Hz progressive display is no longer supported. To use progressive display, use 60&nbsp;Hz. For details, see the <I>VIConfigure</I> manual.</p>
4059
4060<hr />
4061<h2 style="line-height: 0"><a name="20060620" id="20060620">2006/06/20 SDK Version 2.0</a> <div style="text-align: right">(2006/06/20)</div></h2><hr />
4062<h3><a name="note48" id="note48">Note 48 (ALL): Deleted the sample demo elf/map file.</a></h3>
4063<p>The elf and map files used to build sample demos were included in SDK Version 1.0. In SDK Version 2.0, elf and map files excluding the following have been deleted:
4064</p>
4065<p>
4066<CODE>/RVL/bin/demos/gxdemo/smp-onetri.elf</CODE></br> <CODE>/RVL/bin/demos/thpdemo/THPSimple.elf</CODE></br></br>Use these elf files to check NDEV operations.</p>
4067
4068<hr />
4069<h3><a name="note47" id="note47">Note 47 (ALL): Changed the NDEV that is the target of operations.</a></h3>
4070<p>This version of the SDK runs on NDEV Version 2.0 only. NDEV Version 1.x is not supported.</p>
4071
4072<hr />
4073<h3><a name="note46" id="note46">Note 46 (ALL): Changed the build target to RVL.</a></h3>
4074<p>The build target has been changed to RVL.</p>
4075<p>Although the SDK still includes the RVL0 target inherited from SDK Version 1.0, the use of RVL0 is not recommended. Be sure to use RVL.</p>
4076
4077<hr />
4078<h3><a name="note45" id="note45">Note 45 (MIX): Corrected a problem with setting AuxB and AuxC controllers in DPL2 mode.</a></h3>
4079<p>The Revolution audio library can use Aux A through Aux C in stereo/surround mode. It can also use Aux A and Aux B in DPL2 mode. However, an error was returned for Aux B (but not for Aux C) when calling MIX library functions (such as <CODE>MIXSetAuxA()</CODE> and others) to control controllers Aux A through Aux C in DPL2 mode.</p>
4080<p>This problem has been corrected.</p>
4081
4082<hr />
4083<h3><a name="note44" id="note44">Note 44 (KPAD): Changed the module name, and added support for UI tool Version 4.</a></h3>
4084<p>The KPAD library <CODE>kpad[D].a</CODE>, supported by UI Tool Version 3, was renamed <CODE>kpadEmu[D].a</CODE>. In addition, the module name of the corresponding demo program was changed from <CODE>kpaddemo</CODE> to <CODE>kpadEmudemo</CODE>.</p>
4085<p>
4086<CODE>kpad[D].a</CODE> and <CODE>kpaddemo</CODE>, found in the SDK Version 2.0, are supported in UI Tool Version 4.</p>
4087
4088<hr />
4089<h3><a name="note43" id="note43">Note 43 (WPAD): Added support for using the Wii Remote (both Bluetooth wired/wireless versions).</a></h3>
4090<p>A Wii Remote equivalent to the product version is now available. This allows development under a more realistic environment. Changes are as follows:</p>
4091<ul>
4092<li>Hardware</li>
4093<p>
4094The following are included in NDEV Version 2.0:
4095<ul>
4096<li>Bluetooth module</li>
4097<li>Two Bluetooth-version Wii Remotes</li>
4098<li>Two Nunchuks</li>
4099<li>One Sensor Bar for the Pointer</li>
4100</ul>
4101</p>
4102<li>Software</li>
4103<p>
4104The following are included in the SDK Version 2.0:
4105<ul>
4106<li>Bluetooth-compatible WPAD library</li>
4107<li>Bluetooth-compatible WPAD demo</li>
4108<li>Revised manual pages for the WPAD library</li>
4109</ul>
4110</p>
4111<li>Setup</li>
4112<p>
4113This section describes simple setup procedures.<br>For details, see RVL-ControllerHardwareOverview.pdf and RVL-ControllerSetup.pdf.
4114</p>
4115  <ol>
4116<li>Checking the Wii Remote</li>
4117<p>
4118Check whether the included Wii Remotes are wired or wireless versions. Set the BT Mode switch on the rear panel of the NDEV accordingly. Set the switch to the right if they are wired or to the left if they are wireless. In addition, be sure to connect them to the connectors on the left side of the NDEV if they are wired. It makes no difference which of the four connectors are used. <B>Note:</B> Because a coaxial cable is used for wired remotes, Bluetooth technology is used for both types.
4119</p>
4120<li>Placing the Sensor Bar</li>
4121<p>
4122The Sensor Bar connector is located above the AV connector on the rear panel of the NDEV. Connect the Sensor Bar to this connector. We recommend that you place the Sensor Bar directly above or below the television screen.
4123</p>
4124<li>Registration</li>
4125<p>The included Wii Remotes have not been paired with the NDEV. To use the Wii Remotes, you must pair them, whether they are wired or wireless.
4126    </p>
4127<p>
4128For a Wii Remote and Wii console to use wireless communication, they must be paired first so that communication does not occur with other pieces of hardware that are within wireless range. The Wii console can start pairing in the middle of an application. To pair Wii Remotes, press SYNCHRO on the front panel of the Wii console. When SYNCHRO is pressed, the Wii console searches for a Wii Remote waiting to be paired. The duration of the search varies as given below depending on the number of Wii Remotes currently attempting communication.
4129</p>
4130<table>
4131<tr><td>0 or 1</td><td>:</td><td>5 seconds</td></tr>
4132<tr><td>2</td><td>:</td><td>10 seconds</td></tr>
4133<tr><td>3</td><td>:</td><td>20 seconds</td></tr>
4134</table>
4135<p>
4136In addition, the search ends when the number of communicating Wii Remotes and the number of discovered Wii Remotes reaches 4.
4137</p>
4138<p>
4139While the Wii console is searching, be sure to press SYNCHRO inside the battery cover of the Wii Remote. The Wii Remote enters normal pairing wait status when SYNCHRO is pressed. The Player LED of the Wii Remote flashes during pairing. After a short time, pairing will finish and only one of the four Player LEDs will be lit.
4140</p>
4141</ol>
4142<li>Known Issues</li>
4143  <ul>
4144<li>Pairing with Multiple Wii Remotes</li>
4145<p>
4146Normal pairing with the fourth Wii Remote takes a relatively long time. In addition, sometimes pairing with another Wii Remote is suddenly lost. This is due to a problem with the driver. The problem should be resolved in the next release. We recommend using three or fewer remotes until the next release.
4147</p>
4148<li>Hot Connecting Nunchuks</li>
4149<p>
4150Nunchuks support hot connections. However, in rare cases, Wii Remotes suddenly become unresponsive when a Nunchuk is hot-swapped. This problem should be resolved in the next release. We recommend connecting and disconnecting Nunchuks while the Wii Remotes are not paired.
4151</p>
4152<li>Reconnect Timeout</li>
4153<p>
4154A Wii Remote will disconnect when the battery is depleted or the Power Button is held down for one second. Pairing can be reestablished by pressing any of the buttons on the Wii Remote. However, reconnection takes about one minute if attempted immediately after disconnection. This problem will be resolved in the future. Until then, wait a few seconds after disconnecting before reconnecting.
4155</p>
4156<li>Speaker</li>
4157<p>
4158The speaker feature cannot be used with the current release. Plans call for this to be included in the next release.
4159</p>
4160<li>Sampling Demo</li>
4161<p>
4162This demo works only with Wii Remotes. Do not use Nunchuks.
4163</p>
4164</ul>
4165</ul>
4166</p>
4167
4168<hr />
4169<h3><a name="note42" id="note42">Note 42 (WPAD): Changed module names.</a></h3>
4170<p>The module name of the demo program <CODE>wpadEmu[D].a</CODE> in the UI Version 3 library has been changed from &quot;<CODE>wpaddemo</CODE>&quot; to &quot;<CODE>wpadEmudemo</CODE>.&quot;</p>
4171
4172<hr />
4173<h3><a name="note41" id="note41">Note 41 (WPAD): Enabled sharing of some member offsets of the WPADFSStatus structure by WPADStatus.</a></h3>
4174<p>The members in the <CODE>WPADFSStatus</CODE> structure that are also included in the <CODE>WPADStatus</CODE> structure now have the same offset from the start of the structure as they do in <CODE>WPADStatus</CODE>. Structures that include the same members as <CODE>WPADStatus</CODE>, including the new <CODE>WPADCLStatus</CODE>, will have the same offset, as well.</p>
4175
4176<hr />
4177<h3><a name="note40" id="note40">Note 40 (TOOL): Added a system menu to the boot program.</a></h3>
4178<p>A system menu was added to the boot program.</p>
4179<p>Holding down the Z Button on a GameCube controller while running any application opens the system menu. Various console settings can be selected from the system menu. For details, see &quot;Tool -&gt; NDEV System Menu&quot; in the manual.</p>
4180
4181<hr />
4182<h3><a name="note39" id="note39">Note 39 (TOOL): Revised the Revolution shell execution file (RVL_NDEV.bat).</a></h3>
4183<p>If <CODE>RVL_NDEV.bat</CODE> is run after updating the NDEV disk emulator, the development environment is reset. However, this processing could not be performed correctly when using the old <CODE>RVL_NDEV.bat</CODE>.</p>
4184<p>This problem has been corrected. Edit these batch files in the future.</p>
4185
4186<hr />
4187<h3><a name="note38" id="note38">Note 38 (AI): Corrected a problem with the hardware sampling rate converter.</a></h3>
4188<p>A problem was corrected with the hardware sampling rate converter included in the AI library.</p>
4189<p>In addition, conversion from 32&nbsp;kHz to 48&nbsp;kHz performed by Broadway inside the AI library has been temporarily deleted.</p>
4190
4191<hr />
4192<h3><a name="note37" id="note37">Note 37 (AX): Corrected a problem with the memory interface of the audio subsystem.</a></h3>
4193<p>A problem with the memory interface of the audio subsystem was corrected.</p>
4194<p>In addition, code for working around the problem that was provisionally implemented in the tool <CODE>dls1wt</CODE> has been deleted. The supplied wave tables have also changed. The following workaround is no longer needed:
4195<ul style="padding-left:16px;margin-left:16px">
4196<li>Assume a loop length of 256 bytes or more for each piece of audio data.</li>
4197</ul>
4198</p>
4199
4200<hr />
4201<h3><a name="note36" id="note36">Note 36 (AXFX): Changed the effect library.</a></h3>
4202<p>Significant changes have been made to the AX effect library (AXFX). Although the new effect library inherits all of the old functions, the following changes have been made:</p>
4203<p>
4204<ul style="padding-left:16px;margin-left:16px">
4205<li>High-quality reverb</li>
4206  <ul style="padding-left:16px;margin-left:16px">
4207<li>Although sound sources are mixed using the <CODE>mix</CODE> parameter, the sources themselves are omitted.<br>(This is due to the fact that, except for Aux buses, sound sources are already mixed.)<br>Mix has simply come to represent the output gain for reverb.</li>
4208<li>The <CODE>tempDisableFX</CODE> parameter has been eliminated. <B>Note:</B> Although this parameter must not be used under normal circumstances, it was used in the following demos: <CODE>axart3ddemo</CODE>, <CODE>axfilter</CODE>, <CODE>dpl2reverb</CODE>, and <CODE>seqdemo</CODE>.</li>
4209<li>The upper limit on <CODE>preDelay</CODE> has been eliminated. (Memory is now allocated in conjunction with <CODE>preDelay</CODE>.)</li>
4210  </ul>
4211<li>High-quality reverb (Dolby ProLogic version)</li>
4212  <ul style="padding-left:16px;margin-left:16px">
4213<li>Although sound sources are mixed using the <CODE>mix</CODE> parameter, the sources themselves are omitted. (This is due to the fact that, except for Aux buses, sound sources are already mixed.)<br>Mix has simply come to represent the output gain for reverb.</li>
4214<li>The parameter <CODE>crosstalk</CODE> can now be used just as with past versions.</li>
4215<li>The <CODE>tempDisableFX</CODE> parameter has been eliminated. <B>Note:</B> Although this parameter must not be used under normal circumstances, it was used in the following demos: <CODE>axart3ddemo</CODE>, <CODE>axfilter</CODE>, <CODE>dpl2reverb</CODE>, and <CODE>seqdemo</CODE>.</li>
4216<li>The upper limit on <CODE>preDelay</CODE> has been eliminated. (Memory is now allocated in conjunction with <CODE>preDelay</CODE>.)</li>
4217  </ul>
4218<li>Standard reverb</li>
4219 <ul style="padding-left:16px;margin-left:16px">
4220<li>Although sound sources are mixed using the <CODE>mix</CODE> parameter, the sources themselves are omitted. (This is due to the fact that, except for Aux buses, sound sources are already mixed.)<br>Mix has simply come to represent the output gain for reverb.</li>
4221<li>The <CODE>tempDisableFX</CODE> parameter has been eliminated. <B>Note:</B> Although this parameter must not be used under normal circumstances, it was used in the following demos: <CODE>axart3ddemo</CODE>, <CODE>axfilter</CODE>, <CODE>dpl2reverb</CODE>, and <CODE>seqdemo</CODE>.</li>
4222<li>The upper limit on <CODE>preDelay</CODE> has been eliminated. (Memory is now allocated in conjunction with <CODE>preDelay</CODE>.)</li>
4223  </ul>
4224<li>Chorus</li>
4225 <ul style="padding-left:16px;margin-left:16px">
4226<li>Operations have changed so that memory is deallocated once when changing parameters using <CODE>AXFXChorusSettings</CODE>. (This is to standardize similar specifications with other effecters.)</li>
4227<li>A larger <CODE>baseDelay</CODE> than previously possible can now be used. <br>(old : 5 - 15 ms --&gt; new : 0.1 - 50 ms)</li>
4228<li>An even larger variation value than previously possible can now be used. <br>(old : 0 - 5 ms --&gt; new : 0 - 50 ms) <br>However, an error results if variation exceeds <CODE>baseDelay</CODE>.</li>
4229<li>The LFO has been changed from a line to a sine curve.</li>
4230<li>The memory size has increased in line with the expansion of <CODE>baseDelay</CODE> and variation values. <br>(old : 5,760 bytes --&gt; new : 38,400 bytes)</li>
4231  </ul>
4232</ul>
4233Check sound quality, and continue to use.
4234</p>
4235<p>The following functions were also added to the new effect library:
4236<ul style="padding-left:16px;margin-left:16px">
4237<li>Dolby ProLogic II versions of the standard reverb, chorus, and delay functions were added.</li>
4238<li>Effecters using extended features were added.</li>
4239<li>Demo programs that use effectors with extended features were added.</li>
4240</ul>
4241Plans call for manuals related to these additional features to be included in future releases.</p>
4242<p><B>Note: </B>Optimization has not yet been applied to the new effect library. As a result, it requires about twice the CPU performance, compared to conventional effects.</p>
4243<p>Plans call for an optimized version to be included in future releases.</p>
4244
4245<hr />
4246<h3><a name="note35" id="note35">Note 35 (DVD): Changed the DVDCheckDisk function from synchronous to asynchronous.</a></h3>
4247<p>The synchronous function <CODE>DVDCheckDisk</CODE> was changed to an asynchronous function in line with changes to the device driver. The previous version of the <CODE>DVDCheckDisk</CODE> function was deleted. Be sure to use <CODE>DVDCheckDiskAsync</CODE> when getting disc ID information.</p>
4248
4249<hr />
4250<h3><a name="note34" id="note34">Note 34 (DVD): Enabled the automatic FATAL message mode by default.</a></h3>
4251<p>The DVD library now provides a feature that allows error messages to be displayed when <CODE>FATAL</CODE> errors occur. This feature is now enabled by default.</p>
4252<p>To use your own <CODE>FATAL</CODE> messages, call <CODE>DVDSetAutoFatalMessaging(FALSE)</CODE> at the start of your application.</p>
4253
4254<hr />
4255<h3><a name="note33" id="note33">Note 33 (SC): Added the SC library.</a></h3>
4256<p>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.</p>
4257<p>At the present time, specifications for console settings are not firmly established. Be aware that all settings may be initialized in a future version.</p>
4258
4259<hr />
4260<h3><a name="note32" id="note32">Note 32 (VI): PAL development</a></h3>
4261<p>PAL development is now possible.</p>
4262<p>
4263Launch the NDEV system menu, and set Video Mode to PAL. After setting Video Mode to PAL, the output below will appear on the console when an application is run. This indicates that the system has successfully switched to PAL mode.<p>
4264<p>
4265--- NDEV BOOT PROGRAM v1.0 (DEVELOPMENT MODE: PAL) ---
4266</p>
4267<p>
4268The following demo performs a simple PAL display: <br>===================================================== <br>RVL_SDK/bin/demos/videmo/viewer_PAL_INT[D].elf <br>=====================================================
4269</p>
4270<p>For details on the NDEV system menu, see &quot;NDEV System Menu&quot; in &quot;Tools&quot; in the <I>Revolution Function Reference Manual</I>.</p>
4271<p>The following video cables can be used during PAL development: <br> - Stereo AV cables (same for NTSC, PAL, and MPAL)<br>- Component cables<br>- D-Terminal cables (not sold in Europe)<br>- RGB cables<br>=========================================================== <br><CODE>Note:</CODE> D-Terminal cables or component cables are required when using progressive scan mode. The television must also support progressive scan mode. <B>Note:</B> S-Video cables cannot be used.
4272</p>
4273
4274<hr />
4275<h3><a name="note31" id="note31">Note 31 (VI): Added progressive scan mode for PAL, EURGB60, and MPAL.</a></h3>
4276<p>Progressive scan mode is now possible for PAL, EURGB60, and MPAL television systems. See the demo <CODE>/build/demos/videmo/src/moving.progressive.c</CODE>.</p>
4277
4278<hr />
4279<h3><a name="note30" id="note30">Note 30 (VI): Added a support function for switching progressive mode.</a></h3>
4280<p>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.</p>
4281<p>See the demo <CODE>/build/demos/videmo/src/smp-onetri_Progressive.c</CODE>.</p>
4282
4283<hr />
4284<h3><a name="note29" id="note29">Note 29 (OS): Temporarily deleted the OSExec function.</a></h3>
4285<p>A problem was found with <CODE>OSExec</CODE>, so it has temporarily been removed from this release. Plans call for future support in a future release.</p>
4286
4287<hr />
4288<h3><a name="note28" id="note28">Note 28 (OS): Added a MEM2 memory size simulation feature.</a></h3>
4289<p>A function for emulating the memory size of <CODE>MEM2</CODE> was added.</p>
4290<p>This can be reflected in the application's <CODE>MEM2</CODE> Arena by running <CODE>setsmem2size</CODE> before loading an application. For details, see &quot;setsmem2size&quot; under &quot;Tools&quot; in the <I>Function Reference Manual</I>.</p>
4291
4292<hr />
4293<h3><a name="note27" id="note27">Note 27 (OS): Changed OSInit so that it checks the Apploader target.</a></h3>
4294<p>Although the RVL target was added to the SDK Version 2.0, a separate Apploader must be used for the RVL and RVL0 targets. If the Apploader and application target differ, the application terminates with an error inside <CODE>OSInit</CODE>. Be sure to use the correct Apploader.</p>
4295<p>The Apploader can easily be changed by editing the DDF file.
4296<ul style="padding-left:16px;margin-left:16px">
4297<li>Example Setting for an RVL Target<br> <code>[Input]<br>LDRFileName=&quot;$(REVOLUTION_SDK_ROOT)\RVL\boot\apploader.img&quot;<br></code>
4298  </li>
4299<li>Example Setting for an RVL0 Target<br> <code>[Input]<br>LDRFileName=&quot;$(REVOLUTION_SDK_ROOT)\RVL0\boot\apploader.img&quot;<br></code>
4300</li>
4301</ul>
4302</p>
4303
4304<hr />
4305<h3><a name="note26" id="note26">Note 26 (OS): Changed the OS_CORE_CLOCK and OS_BUS_CLOCK default values in the os.h header file.</a></h3>
4306<p>The default values for the constants <CODE>OS_CORE_CLOCK</CODE> and <CODE>OS_BUS_CLOCK</CODE> located in <CODE>/include/revolution/os.h</CODE> were changed.</p>
4307<p>
4308In the past, these constants used the same default values as for GameCube.
4309</p>
4310<p><B>Note: </B>Operations may vary with Windows tools independently created by developers or when the pre-processor macro WIN32 has been defined and this header included. Therefore, be sure to re-build these applications.</p>
4311
4312<hr />
4313<h3><a name="note25" id="note25">Note 25 (GX): Corrected a problem with the TEV compare feature.</a></h3>
4314<p>A hardware bug prevented rendering from being performed properly. This occurred when, out of all the TEV operations that can be specified using <CODE>GXSetTevColorOp</CODE> and <CODE>GXSetTevAlphaOp</CODE>, <CODE>GX_TEV_COMP_GR16_GT</CODE> or <CODE>GX_TEV_COMP_BGR24_GT</CODE> are specified for the <CODE>op</CODE> argument.</p>
4315<p>
4316This problem was corrected in NDEV Version 2.0.</p>
4317
4318<hr />
4319<h3><a name="note24" id="note24">Note 24 (GX): Changed the ASSERT of the FIFO get function to a warning message.</a></h3>
4320<p>If the FIFO read pointer is not idle when <CODE>GXGetCPUFifo()</CODE> or <CODE>GXGetGPFifo()</CODE> are running in the debug version of the GX library, execution stops completely with an <CODE>ASSERT</CODE> message if the GX Warning Level is set to <CODE>GX_WARN_SEVERE</CODE> or higher. However, since there is no problem with actual operations, specifications have been changed so that only a warning message is displayed when the GX Warning Level is set to <CODE>GX_WARN_MEDIUM</CODE> or higher.</p>
4321<p>In addition, although it is possible that the same sort of <CODE>ASSERT</CODE> stop may occur when running <CODE>GXBeginDisplayList()</CODE>, this change was made because the problem was simply due to problems with the library.</p>
4322
4323<hr />
4324<h3><a name="note23" id="note23">Note 23 (NAND): Added the NAND library.</a></h3>
4325<p>The NAND library is used to access the hierarchical file system configured in Wii NAND console memory.</p>
4326
4327<hr />
4328<h3><a name="note22" id="note22">Note 22 (HIO2): Added a description to the HIO2 function reference page.</a></h3>
4329<p>Added an &quot;Introduction&quot; page and a description of callback functions to the HIO2 function reference page.</p>
4330
4331<hr />
4332<h3><a name="note21" id="note21">Note 21 (AR, ARQ): Deleted the ar.h and the arq.h header files.</a></h3>
4333<p>Unlike the GameCube, there is no ARAM built into the Revolution platform. The header files that contained code for ARAM-related functions (<CODE>/include/revolution/ar.h</CODE> and <CODE>/include/revolution/arq.h</CODE>) have therefore been deleted.</p>
4334
4335<hr />
4336<h3><a name="note20" id="note20">Note 20 (ARC): Added the ARC library (archiver).</a></h3>
4337<p>
4338The 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 (<CODE>arc.a</CODE> and <CODE>arcD.a</CODE>) on the Revolution platform. The ARC library source code has been released.
4339</p>
4340
4341<hr />
4342<h2 style="line-height: 0"><a name="20060322p2" id="20060322p2">2006/03/22 SDK Version 1.0 Patch 2</a> <div style="text-align: right">(2006/04/18)</div></h2><hr />
4343<h3><a name="note19" id="note19">Note 19 (AXART): Corrected the update formula for each LFO frame.</a></h3>
4344<p>
4345The LFO curve was not smooth due to an error in the update formula for each LFO frame. This problem has been corrected.
4346</p>
4347
4348<hr />
4349<h3><a name="note18" id="note18">Note 18 (AXART): Corrected a problem that prevented the update amount for each LFO frame from corresponding to the frame length (3&nbsp;ms) in the new AX library.</a></h3>
4350<p>
4351The update amount for each LFO frame did not support the frame length (3&nbsp;ms) of the new AX library. As a result, pitch/volume modulation was faster than set because the frame length (5&nbsp;ms) of the old AX library was still supported. This problem has been corrected.
4352</p>
4353
4354<hr />
4355<h3><a name="note17" id="note17">Note 17 (HIO2): Corrected a problem that prevented the HIO2ReadAsync function calls on the host side from returning on rare occasions</a>.</h3></h3>
4356<p><CODE>HIO2ReadAsync</CODE> function calls in the HIO2 library on the host side did not return on rare occasions.
4357</p>
4358<p>
4359In addition, performance has been improved when calling <CODE>HIO2ReadAsync</CODE> and <CODE>HIO2WriteAsync</CODE> in succession.
4360</p>
4361
4362<hr />
4363<h3><a name="note16" id="note16">Note 16 (DOC): Added notes to section 2.4, Error Codes, in the <I>PAD Library Programmer Guide</I></a></h3></h3>
4364<p>During periods where origin information is being reset for the GameCube Controller, the <CODE>err</CODE> member of <CODE>PADStatus</CODE> (which can be obtained from the <CODE>PADRead</CODE> function) is set to <CODE>PAD_ERR_NO_CONTROLLER</CODE>.</p>
4365
4366<hr />
4367<h2 style="line-height: 0"><a name="20060322p1" id="20060322p1">2006/03/22 SDK Version 1.0 Patch 1</a> <div style="text-align: right">(2006/04/07)</div></h2><hr />
4368<h3><a name="note15" id="note15">Note 15 (GX): Added an ASSERT check for attempts to place a FIFO in the MEM2 region</a>.</h3>
4369<p>Specifications have changed under the debug version of the GX library so that any attempt to place a GX FIFO in the <CODE>MEM2</CODE> region (an area where a GX FIFO normally must not be placed) using the <CODE>GXSetGPFifo()</CODE> function is stopped by an <CODE>ASSERT</CODE> check.
4370</p>
4371
4372<hr />
4373<h3><a name="note14" id="note14">Note 14 (OS): Added support for an external main memory 64&nbsp;MB environment.</a></h3>
4374<p>Previously, applications built using the SDK Version 1.0 could run only in an environment with 128&nbsp;MB of external main memory for development tools. This has been corrected so that they can run in an environment with 64&nbsp;MB of external main memory.</p>
4375
4376<hr />
4377<h3><a name="note13" id="note13">Note 13 (OS): Increased the speed of clearing the arena when using OSInit().</a></h3>
4378<p>The speed at which the <CODE>MEM1/MEM2</CODE> arena is cleared inside the <CODE>OSInit()</CODE> function has been increased.</p>
4379
4380<hr />
4381<h3><a name="note12" id="note12">Note 12 (OS): Added a 7&nbsp;MB size restriction on programs loaded using Apploader.</a></h3>
4382<p>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 run an application located in memory beyond 0x8070 0000 sets off an error in the Apploader.</p>
4383
4384<hr />
4385<h3><a name="note11" id="note11">Note 11 (MAN): Corrected links on the top page.</a></h3>
4386<p>A problem with a link on the top page of the <I>Function Reference Manual</I> has been corrected. Clicking &quot;Standard controller high-level library (KPAD)&quot; &gt; &quot;Function list&quot; in the frame on the left side caused a list of WPAD functions to be displayed.</p>
4387
4388<hr />
4389<h3><a name="note10" id="note10">Note 10 (MAN): Changed the description of the hio2 sample demos.</a></h3>
4390<p>The description of hio2 sample demos was changed so that hio2demo PC-side programs are started from bash, called from <CODE>RVL_NDEV.bat</CODE>.
4391</p>
4392
4393<hr />
4394<h3><a name="note9" id="note9">Note 9 (EXI): Improved the transfer rate of the HIO2 library and the OSReport function.</a></h3>
4395<p>The rate of communication of the HIO2 library and the <CODE>OSReport</CODE> function was slower than in the original specifications. This problem has been corrected.</p>
4396
4397<hr />
4398<h3><a name="note8" id="note8">Note 8 (HIO2): Corrected a problem with HIO2ReadStatus (RVL side).</a></h3>
4399<p><CODE>HIO2_STATUS_RX</CODE> was not set, even when sending mail was disabled by the <CODE>HIO2ReadStatus</CODE> function (RVL side). This problem has been corrected.
4400</p>
4401
4402<hr />
4403<h3><a name="note7" id="note7">Note 7 (DOC): Debugged pre-built sample demos.</a></h3>
4404<p>You must rebuild in each separate environment to debug pre-built sample demos included in the Revolution SDK.</p>
4405
4406<hr />
4407<h3><a name="note6" id="note6">Note 6 (DOC): Added NDEV DIP switch settings.</a></h3>
4408<p>Be sure that all NDEV DIP switches listed in the <I>Revolution Development Environment Quick Start Guide</I> are turned on. The description of this precaution was changed.</p>
4409
4410<hr />
4411<h3><a name="note5" id="note5">Note 5 (MEM): Released MEM library source code.</a></h3>
4412<p>
4413The MEM library source code has been released.
4414</p>
4415
4416<hr />
4417<h3><a name="note4" id="note4">Note 4 (MEM): Eliminated the alignment restriction for memory block allocation.</a></h3>
4418<p>
4419Previously, the upper limit on the alignment specification for memory blocks using <CODE>MEMAllocFromExpHeapEx()</CODE> or <CODE>MEMAllocFromFrmHeapEx()</CODE> was 128&nbsp;bytes. This restriction has been eliminated.
4420</p>
4421
4422<hr />
4423<h3><a name="note3" id="note3">Note 3 (MEM): Corrected a problem that prevented freeing unused memory normally from the heap.</a></h3>
4424<p>
4425It was not possible to free unused memory normally from the heap using the <CODE>MEMAdjustExpHeap()</CODE> function when there was only one free region.
4426</p>
4427
4428<hr />
4429<h3><a name="note2" id="note2">Note 2 (KPAD): Corrected an error in the formula for calculating the acceleration of the Nunchuk.</a></h3>
4430<p>An incorrect macro constant was used for the value of 1&nbsp;g output by the acceleration sensor on the Nunchuk. There was thus a risk that acceleration sensor values calculated by the KPAD library might be in error. This problem has been corrected.</p>
4431
4432<hr />
4433<h2 style="line-height: 0"><a name="20060322" id="20060322">2006/03/22 SDK Version 1.0</a> <div style="text-align: right">(2006/03/22)</div></h2><hr />
4434<h3><a name="note1" id="note1">Note 1: SDK Version 1.0 Initial Release.</a></h3>
4435<p>Revolution SDK Version 1.0 is the first SDK to support Revolution development.</p>
4436
4437<hr />
4438<hr />
4439<p style="text-align: right">Nintendo Technical Support Center</p>
4440
4441<hr><p>CONFIDENTIAL</p></body>
4442</html>
4443