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">
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="#20080730p2">2008/07/30 SDK Version 3.2 Patch 2</a> (2008/10/01)</dt>
15<dd><a href="#note553">Note 553 (TOOL): (IMPORTANT) Updated console firmware</a></dd>
16<dd><a href="#note552">Note 552 (CX): Updated the names of <CODE>CXiInitUncompContext**Front</CODE> functions</a></dd>
17<dd><a href="#note551">Note 551 (DOC): Replaced the <I>Revolution Transition Guide</I></a></dd>
18<dd><a href="#note550">Note 550 (KBD): Revised the <I>Revolution Function Reference Manual</I></a></dd>
19<dd><a href="#note549">Note 549 (HID): Added a function reference manual</a></dd>
20<dd><a href="#note548">Note 548 (OS): Added a feature to check the firmware version</a></dd>
21<dd><a href="#note547">Note 547 (OS): Changed behavior when a nonexistent function is passed to <CODE>OSExec*</CODE> functions</a></dd>
22</dl>
23<dl>
24<dt><a href="#20080730p1">2008/07/30 SDK Version 3.2 Patch 1</a> (2008/09/10)</dt>
25<dd><a href="#note546">Note 546 (TOOL): Updated DEVKIT System Menu to version 1.18</a></dd>
26<dd><a href="#note545">Note 545 (TOOL): Corrected a problem where the firmware installer would not start under WiiMenu</a></dd>
27<dd><a href="#note544">Note 544 (GX): Corrected sample demos</a></dd>
28<dd><a href="#note543">Note 543 (GX): Revised the programming manual for compressed texture formats</a></dd>
29<dd><a href="#note542">Note 542 (GX): Updated the <I>GX Programming Manual</I></a></dd>
30<dd><a href="#note541">Note 541 (GX): Updated the <I>Revolution Function Reference Manual</I></a></dd>
31<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>
32<dd><a href="#note539">Note 539 (HIO2): Corrected mistakes in the <I>Hio2If Programming Manual</I></a></dd>
33<dd><a href="#note538">Note 538 (KBD): Corrected a problem with buffer initialization</a></dd>
34<dd><a href="#note537">Note 537 (KPAD): Added a supplement to Release Note 504</a></dd>
35<dd><a href="#note536">Note 536 (KPAD): Revised so that a circular clamp is used by default for stick clamping</a></dd>
36<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>
37<dd><a href="#note534">Note 534 (MAN): Corrected typos and formatting throughout the <I>Revolution Function Reference Manual</I></a></dd>
38<dd><a href="#note533">Note 533 (NAND): Updated the function manual</a></dd>
39<dd><a href="#note532">Note 532 (VI): Corrected a problem with initial gamma settings</a></dd>
40<dd><a href="#note531">Note 531 (OS): Corrected a fatal problem with <CODE>OSSleep</CODE>-type functions</a></dd>
41<dd><a href="#note530">Note 530 (OS): Updated the reference manual</a></dd>
42<dd><a href="#note529">Note 529 (OS): Updated the <I>OS Programming Manual</I></a></dd>
43<dd><a href="#note528">Note 528 (PAD): Revised the <I>OS Programming Manual</I></a></dd>
44<dd><a href="#note527">Note 527 (WBC): Corrected sample demos</a></dd>
45<dd><a href="#note526">Note 526 (WBC): Corrected a problem with the <CODE>WPADIsRegisteredBLC</CODE> function</a></dd>
46<dd><a href="#note525">Note 525 (WBC): Made additions to the <I>WBC Programming Manual</I></a></dd>
47<dd><a href="#note524">Note 524 (WBC): Revised the function reference</a></dd>
48<dd><a href="#note523">Note 523 (WBC): Revised the work memory confirmation processing that is part of initialization</a></dd>
49<dd><a href="#note522">Note 522 (WPAD): Corrected sample demos</a></dd>
50<dd><a href="#note521">Note 521 (WPAD): Revised warning messages</a></dd>
51<dd><a href="#note520">Note 520 (WPAD): Corrected a problem with the pointer-calibration process</a></dd>
52</dl>
53<dt><a href="#20080730">2008/07/30 SDK version 3.2</a> (2008/07/30)</dt>
54<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>
55<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>
56<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>
57<dd><a href="#note516">Note 516 (CNT): Combined <CODE>datatitledemo</CODE> with <CODE>cntdemo</CODE>.</a></dd>
58<dd><a href="#note515">Note 515 (CNT): Updated the <I>Revolution Function Reference Manual</I></a></dd>
59<dd><a href="#note514">Note 514 (FNT): Added descriptions of modifications and character sets to the <I>Revolution Function Reference Manual</I>.</a></dd>
60<dd><a href="#note513">Note 513 (GX): Updated the <I>Revolution Function Reference Manual</I>.</a></dd>
61<dd><a href="#note512">Note 512 (GX): Revised the <I>Revolution Graphics Library (GX)</I> programming manual </a></dd>
62<dd><a href="#note511">Note 511 (KPAD): Revised the <I>Revolution Function Reference Manual</I>.</a></dd>
63<dd><a href="#note510">Note 510 (OS): Added information on DOL file restrictions and boot-related terminology.</a></dd>
64<dd><a href="#note509">Note 509 (OS): Reformed the <I>OS Programming Manual</I>.</a></dd>
65<dd><a href="#note508">Note 508 (TPL): Updated the <I>Texture Palette Library Manual</I>.</a></dd>
66<dd><a href="#note507">Note 507 (WPAD): Revised descriptions of the <CODE>WPADInfo</CODE> structure's <CODE>lowBat</CODE> member variable.</a></dd>
67</dl>
68
69<dl>
70<dt><a href="#20080716">2008/07/16 SDK Version 3.2 RC2</a> (2008/07/16)</dt>
71<dd><a href="#note506">Note 506 (TOOL): Release of system firmware version 55.15.24.</a></dd>
72<dd><a href="#note505">Note 505 (TOOL): Added an Nmenu WAD file to the package.</a></dd>
73<dd><a href="#note504">Note 504 (KPAD): Added the <CODE>KPADSetConnectCallback</CODE> function and prohibited use of the <CODE>WPADSetConnectCallback</CODE> function.</a></dd>
74<dd><a href="#note503">Note 503 (CNT): Added support for <CODE>CNT_RESULT_UNKNOWN</CODE> to the manual.</a></dd>
75<dd><a href="#note502">Note 502 (FNT): Updated the Function Reference.</a></dd>
76<dd><a href="#note501">Note 501 (ENC): Updated the Function Reference.</a></dd>
77</dl>
78
79<dl>
80<dt><a href="#20080701">2008/07/01  SDK Version 3.2 RC</a> (2008/07/01)</dt>
81<dd><a href="#note500">Note 500 (TOOL): Release of system firmware versions 53.15.17 and 55.15.23</a></dd>
82<dd><a href="#note499">Note 499 (TOOL): Revised the firmware for the Online Manual Verification Tool</a></dd>
83<dd><a href="#note498">Note 498 (TOOL): Released version 1.1 of the Online Manual Verification Tool</a></dd>
84<dd><a href="#note497">Note 497 (TOOL): Added tools for setting the game code and company code used when executing disc applications</a></dd>
85<dd><a href="#note496">Note 496 (TOOL): Released Chinese and Korean versions of Wii bitmap fonts</a></dd>
86<dd><a href="#note495">Note 495 (SC): Published API for getting the wide-area region ID</a></dd>
87<dd><a href="#note494">Note 494 (SC): Published functions for getting console nickname information</a></dd>
88<dd><a href="#note493">Note 493 (FNT): Added functions for texture sheet tiling</a></dd>
89<dd><a href="#note492">Note 492 (VI): Updated the <I>Video Interface Library Programming Manual</I></a></dd>
90
91<dd><a href="#note491">Note 491 (RSO): Changed the <CODE>RSOLinkFar</CODE> and <CODE>RSOLinkJump</CODE> functions</a></dd>
92<dd><a href="#note490">Note 490 (RSO): Organized the RSO library's header file</a></dd>
93<dd><a href="#note489">Note 489 (RSO): Changed the type of an argument in the <CODE>RSOGetFixedSize</CODE> function</a></dd>
94<dd><a href="#note488">Note 488 (NAND): Updated the <CODE>NANDSimpleSafeCancel</CODE> function reference manual</a></dd>
95<dd><a href="#note487">Note 487 (MEM): Corrected an illegal ASSERT process</a></dd>
96<dd><a href="#note486">Note 486 (DVD): Updated the Function Reference</a></dd>
97<dd><a href="#note485">Note 485 (DVD): Fixed bug causing DVD fatal errors when a disc is repeatedly ejected and inserted</a></dd>
98<dd><a href="#note484">Note 484 (Audio): Revised the Function Reference</a></dd>
99</dl>
100
101<dl>
102<dt><a href="#20080611">2008/06/11  SDK Version 3.2 PR2</a> (2008/06/11)</dt>
103<dd><a href="#note483">Note 483 (TOOL): Release of system firmware versions 241.8.2 and 243.8.3 </a></dd>
104<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>
105<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>
106<dd><a href="#note480">Note 480 (TOOL): Integrated the mastering tools</a></dd>
107<dd><a href="#note479">Note 479 (TOOL): Changed the default handling of data title access restrictions</a></dd>
108<dd><a href="#note478">Note 478 (AX): Added functions for DSP-ADPCM encoding</a></dd>
109
110<dd><a href="#note477">Note 477 (AX): Added functions for customized compressor tables</a></dd>
111<dd><a href="#note476">Note 476 (GX): Revised the <CODE>perf-geo</CODE> demo</a></dd>
112<dd><a href="#note475">Note 475 (KBD): Changed the <CODE>KBDInit</CODE> function</a></dd>
113<dd><a href="#note474">Note 474 (MTX): Fixed bugs in the <CODE>PSMTXInverse</CODE> and <CODE>PSMTXInvXpose</CODE> functions</a></dd>
114<dd><a href="#note473">Note 473 (MTX): Improved the performance of the <CODE>PSMTXInverse</CODE> and <CODE>PSMTXInvXpose</CODE> functions</a></dd>
115<dd><a href="#note472">Note 472 (MTX): Corrected the <CODE>PSMTX44MultVecArray</CODE> and <CODE>PSMTXROMultVecArray</CODE> functions and removed unsupported functions</a></dd>
116<dd><a href="#note471">Note 471 (RSO): Revised demo programs in step with changes to the OS specification</a></dd>
117<dd><a href="#note470">Note 470 (SC): Added supported languages to the Function Reference manual</a></dd>
118<dd><a href="#note469">Note 469 (THP): Added support for monaural audio output to the THP demo</a></dd>
119
120<dd><a href="#note468">Note 468 (VI): Deleted mentions of MPAL</a></dd>
121<dd><a href="#note467">Note 467 (WPAD): Updated the Function Reference</a></dd>
122<dd><a href="#note466">Note 466 (KPAD): Added the <CODE>KPADReadEx</CODE> function</a></dd>
123</dl>
124
125<dl>
126<dt><a href="#20080528">2008/05/28 SDK Version 3.2 PR</a> (2008/05/28)</dt>
127<dd><a href="#note465">Note 465: Consolidated NAND application development kit (NADK) into Revolution SDK</a></dd>
128<dd><a href="#note464">Note 464 (TOOL): Changed the default value for restricted access to data titles</a></dd>
129<dd><a href="#note463">Note 463 (TOOL): Release of system firmware versions 241.8.1 and 243.8.2</a></dd>
130<dd><a href="#note462">Note 462 (TOOL): Updated the DEVKIT system menu</a></dd>
131<dd><a href="#note461">Note 461 (TOOL): Added more ways to specify the game version in makeWad</a></dd>
132<dd><a href="#note460">Note 460 (TOOL): Fixed a bug in makeWad that corrupted the banner for data titles</a></dd>
133<dd><a href="#note459">Note 459 (TOOL): Published the makeWad <CODE>-e</CODE> option</a></dd>
134<dd><a href="#note458">Note 458 (TOOL): Revised Nmenu so it can import data titles</a></dd>
135<dd><a href="#note457">Note 457 (TOOL): The DEVKIT system menu now supports settings for Korea and China </a></dd>
136<dd><a href="#note456">Note 456 (TOOL): <CODE>setcountrycode</CODE> now supports settings for Korea and China </a></dd>
137<dd><a href="#note455">Note 455 (TOOL): Fixed problem with display of titles that cannot be started in Nmenu</a></dd>
138<dd><a href="#note454">Note 454 (TOOL): Added check code to <CODE>ndrun_prechecker</CODE> for programs that use the HID library</a></dd>
139<dd><a href="#note453">Note 453 (TOOL): Updated the manual for the DEVKIT system menu</a></dd>
140<dd><a href="#note452">Note 452 (TOOL) X86 tools now can be built by Visual Studio 2005</a></dd>
141<dd><a href="#note451">Note 451 (CARD): Deleted the CARD library</a></dd>
142<dd><a href="#note450">Note 450 (CNT): Updated the Function Reference Manual</a></dd>
143<dd><a href="#note449">Note 449 (CNT): Added support for data title disc emulation</a></dd>
144<dd><a href="#note448">Note 448 (DARC): Published the archive creation API (DARCH)</a></dd>
145<dd><a href="#note447">Note 447 (DEMO): Added a character-count assert to the <CODE>DEMOPrintf</CODE> function</a></dd>
146<dd><a href="#note446">Note 446 (DEMO): Revised the <CODE>DEMOReInit</CODE> function</a></dd>
147<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>
148<dd><a href="#note444">Note 444 (DVD): Added support for DVD automatic Fatal error message when console set for Korean or Chinese</a></dd>
149<dd><a href="#note443">Note 443 (DVD): Corrected the automatic Fatal error message</a></dd>
150<dd><a href="#note442">Note 442 (ENC): Fixed bugs related to special encoding</a></dd>
151<dd><a href="#note441">Note 441 (ENC): Eliminated the error code <CODE>ENC_ERR_NOT_LOADED</CODE></a></dd>
152<dd><a href="#note440">Note 440 (ENC): Added character encoding conversion functions for Korean and Chinese languages</a></dd>
153<dd><a href="#note439">Note 439 (FNT): Added the <CODE>FNTSetAlternateChar</CODE> function for changing the alternate character</a></dd>
154<dd><a href="#note438">Note 438 (GX): Fixed omission of countermeasures for XF stalls in <CODE>GXSetCoPlanar</CODE> and <CODE>GXSetDrawDone</CODE></a></dd>
155<dd><a href="#note437">Note 437 (GX): Fixed bug in debug builds of <CODE>GXLoadNrmMtxIndx3x3</CODE></a></dd>
156<dd><a href="#note436">Note 436 (GX): Updated the Function Reference</a></dd>
157<dd><a href="#note435">Note 435 (HIO2): Revised the Hio2If programming manual</a></dd>
158<dd><a href="#note434">Note 434 (KBD): Corrected the lack of an argument for <CODE>KBD_UC_IS_CTRL_KEY</CODE></a></dd>
159<dd><a href="#note433">Note 433 (KPAD): Added the <CODE>KPADInitEx</CODE> function</a></dd>
160<dd><a href="#note432">Note 432 (KPAD): Fixed bug that causes information loss when an extension controller is detached</a></dd>
161<dd><a href="#note431">Note 431 (KPAD): Fixed problem with pointer jumping</a></dd>
162<dd><a href="#note430">Note 430 (KPAD): Added the <CODE>KPADShutdown</CODE> function</a></dd>
163<dd><a href="#note429">Note 429 (KPAD): Eliminated the <CODE>KPADSetObjInterval</CODE> function</a></dd>
164<dd><a href="#note428">Note 428 (KPAD): Added support for the Wii Balance Board</a></dd>
165<dd><a href="#note427">Note 427 (KPAD): Revised sample demos</a></dd>
166<dd><a href="#note426">Note 426 (KPAD): Updated the Function Reference</a></dd>
167<dd><a href="#note425">Note 425 (KPAD): Added error codes to the <CODE>KPADRead</CODE> function's return values</a></dd>
168<dd><a href="#note424">Note 424 (MEM): Changed handling of the memory generated by data alignment in the extended heap</a></dd>
169<dd><a href="#note423">Note 423 (MEM): Fixed a thread-safe bug in the extended heap's ASSERT processing</a></dd>
170<dd><a href="#note422">Note 422 (MIDI): The MIDI adapter library is now a library that is linked by default</a></dd>
171<dd><a href="#note421">Note 421 (NAND): Updated the Function Reference Manual</a></dd>
172<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>
173<dd><a href="#note419">Note 419 (OS): Added CRC calculation functions</a></dd>
174<dd><a href="#note418">Note 418 (OS): Fixed <CODE>OSReturnToMenu</CODE></a></dd>
175<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>
176<dd><a href="#note416">Note 416 (OS): Updated the Function Reference</a></dd>
177<dd><a href="#note415">Note 415 (PAD): Privatized the <CODE>PADIsBarrel</CODE> function</a></dd>
178<dd><a href="#note414">Note 414 (SC): Added the <CODE>SCCheckPCShoppingRestriction</CODE> function</a></dd>
179<dd><a href="#note413">Note 413 (WPAD): Changed specification for resetting origin of extension controller</a></dd>
180<dd><a href="#note412">Note 412 (WPAD): Corrected stick clamp parameters</a></dd>
181<dd><a href="#note411">Note 411 (WPAD): Revised the <CODE>WPADGetSyncType</CODE> function</a></dd>
182<dd><a href="#note410">Note 410 (WPAD): Added function to reset the Wii Remote auto-disconnect timer</a></dd>
183<dd><a href="#note409">Note 409 (WPAD): Republished the functions for setting the Wii Remote features</a></dd>
184<dd><a href="#note408">Note 408 (WPAD): Revised the <CODE>WPADDisconnect</CODE> function</a></dd>
185<dd><a href="#note407">Note 407 (WPAD): Added support for special controllers</a></dd>
186<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>
187<dd><a href="#note405">Note 405 (WPAD): Privatized the <CODE>WPADSetDpdSensitivity</CODE> function</a></dd>
188<dd><a href="#note404">Note 404 (WPAD): Deleted the sample demo <CODE>full_mode</CODE></a></dd>
189<dd><a href="#note403">Note 403 (WPAD): Updated the Function Reference</a></dd>
190</dl>
191
192<dl>
193<dt><a href="#20070828p4">2007/08/28 SDK Version 3.1 Patch 4</a> (2008/01/31)</dt>
194<dd><a href="#note402">Note 402 (TOOL): Merged <CODE>setncountrycode</CODE> to <CODE>setcountrycode</CODE></a></dd>
195<dd><a href="#note401">Note 401 (OS): Eliminated a bug that prevented the reset code from being set</a></dd>
196<dd><a href="#note400">Note 400 (OS): Added a feature for recovering from screen burn-in reduction with RESET</a></dd>
197<dd><a href="#note399">Note 399: Mod Chip Countermeasures</a></dd>
198</dl>
199
200<dl>
201<dt><a href="#20070828p3">2007/08/28 SDK Version 3.1 Patch 3</a> (2007/12/11)</dt>
202<dd><a href="#note398">Note 398 (WPAD): Removed feature setting functions for the Wii Remote from public availability</a></dd>
203<dd><a href="#note397">Note 397 (WPAD): Updated the function reference manual and sample demos</a></dd>
204<dd><a href="#note396">Note 396 (NAND): Revised the NANDSimpleSafeClose and NANDSafeClose functions</a></dd>
205<dd><a href="#note395">Note 395 (GX): Corrected a bug with the GXGetCPUFifo function</a></dd>
206<dd><a href="#note394">Note 394 (TOOL): Revisions to ndrun_prechecker</a></dd>
207<dd><a href="#note393">Note 393 (OS): Changed the type of an argument to the OSInitStopwatch function</a></dd>
208<dd><a href="#note392">Note 392 (OS): Changed the specifications of the OSSetResetCallback and OSSetPowerCallback functions</a></dd>
209<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>
210</dl>
211
212<dl>
213<dt><a href="#20070828p2">2007/08/28 SDK Version 3.1 Patch 2</a> (2007/10/12)</dt>
214<dd><a href="#note390">Note 390 (TOOL): Fixed a defect in ndrun_prechecker.</a></dd>
215</dl>
216
217<dl>
218<dt><a href="#20070828p1">2007/08/28 SDK Version 3.1 Patch 1</a> (2007/10/10)</dt>
219<dd><a href="#note389">Note 389 (TOOL): System firmware Version 35.4.16 release</a></dd>
220<dd><a href="#note388">Note 388 (TOOL): Updated the DEVKIT system menu</a></dd>
221<dd><a href="#note387">Note 387 (OS): Relaxed size restrictions on programs that are loaded by default</a></dd>
222<dd><a href="#note386">Note 386 (OS): Added information on functions that can put the current thread to sleep</a></dd>
223<dd><a href="#note385">Note 385 (OS): Fixed a bug wherein boot cache determination would fail at application completion</a></dd>
224<dd><a href="#note384">Note 384 (OS): Fixed a bug that caused OSFatal to behave incorrectly for applications created using NADK</a></dd>
225<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>
226<dd><a href="#note382">Note 382 (MIX, SEQ, SYN): Support for multiple initialization function invocations</a></dd>
227<dd><a href="#note381">Note 381 (AXART): Added the AXARTRemoveArticulator function</a></dd>
228<dd><a href="#note380">Note 380 (AXFX): Added reference pages for expansion functions (Exp-type)</a></dd>
229<dd><a href="#note379">Note 379 (DOC): Added a document related to the Dolby Pro Logic II license</a></dd>
230<dd><a href="#note378">Note 378 (SC): Added a new function for checking the Parental Controls password</a></dd>
231</dl>
232
233<dl>
234<dt><a href="#20070828">2007/08/28 SDK Version 3.1</a> (2007/08/28)</dt>
235<dd><a href="#note377">Note 377 (TOOL): System firmware Version 33.4.16 release</a></dd>
236</dl>
237
238<dl>
239<dt><a href="#20070808">2007/08/08 SDK Version 3.1 RC2</a> (2007/08/08)</dt>
240<dd><a href="#note376">Note 376 (TOOL): System firmware Version 33.4.15 release</a></dd>
241<dd><a href="#note375">Note 375 (TOOL): Added features to the DEVKIT system menu</a></dd>
242<dd><a href="#note374">Note 374 (SC): Added a new function for getting Parental Controls information</a></dd>
243<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>
244<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>
245<dd><a href="#note371">Note 371 (RSO): Included the RSO package</a></dd>
246</dl>
247
248<dl>
249<dt><a href="#20070720">2007/07/20 SDK Version 3.1 RC1</a> (2007/07/20)</dt>
250<dd><a href="#note370">Note 370 (TOOL): System firmware Version 33.4.14 release</a></dd>
251<dd><a href="#note369">Note 369 (TOOL): Updated the DEVKIT system menu</a></dd>
252<dd><a href="#note368">Note 368 (KBD/KPR): Added Japanese language function reference manual</a></dd>
253<dd><a href="#note367">Note 367 (KPAD): Added new play mode</a></dd>
254<dd><a href="#note366">Note 366 (WPAD): Added and deleted sample demos</a></dd>
255<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>
256<dd><a href="#note364">Note 364 (WPAD): Fixed a bug that caused failure at next startup if reset during registration process</a></dd>
257<dd><a href="#note363">Note 363 (MAN): Changed format of the top page of Function Reference</a></dd>
258<dd><a href="#note362">Note 362 (DVD): Updated automatic fatal error messages</a></dd>
259<dd><a href="#note361">Note 361 (VI): Added VIResetDimmingCount</a></dd>
260<dd><a href="#note360">Note 360 (MEM): Fixed a bug related to unlocking with MEMResizeForMBlockExpHeap()</a></dd>
261<dd><a href="#note359">Note 359 (AXFX): Corrected Early Reflection of AXFXReverbHi/AXFXReverbHiDpl2</a></dd>
262<dd><a href="#note358">Note 358 (AX): Corrected a bug related to execution of new DSP task during AXQuit()</a></dd>
263</dl>
264
265<dl>
266<dt><a href="#20070509p4">2007/05/09 SDK Version 3.0 Patch 4</a> (2007/06/28)</dt>
267<dd><a href="#note357">Note 357 (TOOL): System firmware Version 31.4.13 release</a></dd>
268<dd><a href="#note356">Note 356 (DVD) Corrected errors in manual</a></dd>
269<dd><a href="#note355">Note 355 (KBD/KPR): Corrected a number of problems</a></dd>
270<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>
271<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>
272</dl>
273
274<dl>
275<dt><a href="#20070509p3">2007/05/09 SDK Version 3.0 Patch 3</a> (2007/06/21)</dt>
276<dd><a href="#note352">Note 352 (TOOL): System firmware Version 31.4.12 release</a></dd>
277<dd><a href="#note351">Note 351 (KBD/KPR): Corrected a number of problems</a></dd>
278<dd><a href="#note350">Note 350 (WPAD): Fixed a bug that allowed connection of simple-paired Wii Remote even after shutdown</a></dd>
279<dd><a href="#note349">Note 349 (WPAD): Fixed a bug that caused failure of Wii Remote registration until Wii was reset</a></dd>
280<dd><a href="#note348">Note 348 (DEMO): Added a setting to allocate XFB in MEM2</a></dd>
281</dl>
282
283<dl>
284<dt><a href="#20070509p2">2007/05/09 SDK Version 3.0 Patch 2</a> (2007/06/07)</dt>
285<dd><a href="#note347">Note 347 (TOOL): System firmware Version 31.4.11 release</a></dd>
286<dd><a href="#note346">Note 346 (TOOL): Corrected operation of ntcompress tool when acting to decompress illegal data</a></dd>
287<dd><a href="#note345">Note 345 (KBD): Fixed a bug that prevented recovery from the screen burn-in reduction state</a></dd>
288<dd><a href="#note344">Note 344 (KBD/KPR): Made additions and corrections to API</a></dd>
289<dd><a href="#note343">Note 343 (WPAD): Changed the internal processing of WPADGetInfo(Async)</a></dd>
290<dd><a href="#note342">Note 342 (WPAD): Fixed a bug that stopped the transfer of controller data from the Wii Remote</a></dd>
291<dd><a href="#note341">Note 341 (KPAD): Corrected error handling of the Wii Remote's controller data</a></dd>
292<dd><a href="#note340">Note 340 (KPAD): Added functions to correct the Nunchuk motion sensor</a></dd>
293<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>
294<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>
295<dd><a href="#note337">Note 337 (CX): Added LZ77 extended compression</a></dd>
296<dd><a href="#note336">Note 336 (CX): Added uncompression size specification for streaming uncompression</a></dd>
297</dl>
298
299<dl>
300<dt><a href="#20070509p1">2007/05/09 SDK Version 3.0 Patch 1</a> (2007/05/24)</dt>
301<dd><a href="#note335">Note 335 (TOOL): System firmware Version 31.4.8 release</a></dd>
302<dd><a href="#note334">Note 334 (CX): Added functions for secure data uncompression</a></dd>
303</dl>
304
305<dl>
306<dt><a href="#20070509">2007/05/09 SDK 3.0</a> (2007/05/09)</dt>
307<dd><a href="#note333">Note 333 (TOOL): System firmware Version 31.4.7 release</a></dd>
308<dd><a href="#note332">Note 332 (TOOL): Updated the DEVKIT system menu</a></dd>
309<dd><a href="#note331">Note 331 (KPAD): Added functions for getting parameters</a></dd>
310<dd><a href="#note330">Note 330 (KPAD): Made the KPADInit function non-blocking</a></dd>
311<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>
312<dd><a href="#note328">Note 328 (WPAD): Changed specifications for simple pairing</a></dd>
313<dd><a href="#note327">Note 327 (WPAD): Changed specifications for the WPADAttach(detach)DummyExtension functions</a></dd>
314<dd><a href="#note326">Note 326 (WPAD): Corrected shifts in each coordinate axis of the DPD module</a></dd>
315<dd><a href="#note325">Note 325 (NAND): Added a function for getting the usage status of /tmp</a></dd>
316<dd><a href="#note324">Note 324 (NAND): Added a function for getting the usage status of the home directory</a></dd>
317<dd><a href="#note323">Note 323 (NAND): Added functions of type NANDSimpleSafe</a></dd>
318<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>
319<dd><a href="#note321">Note 321 (PAD): Pulled the <I>simple</I> demo</a></dd>
320<dd><a href="#note320">Note 320 (KPAD): Added  the keyboard library</a></dd>
321<dd><a href="#note319">Note 319 (MAN): Corrected broken links in the function reference manual</a></dd>
322<dd><a href="#note318">Note 318 (OS): Added the function reference for OSGetAppType</a></dd>
323<dd><a href="#note317">Note 317 (MIDI): Added the MIDI adapter library</a></dd>
324</dl>
325
326<dl>
327<dt><a href="#20061130p6">2006/11/30 SDK Version 2.4 Patch 6</a> (2007/05/18)</dt>
328<dd><a href="#note320">Note 320 (KPAD): Corrected error handling of the Wii Remote's controller data</a></dd>
329<dd><a href="#note319">Note 319 (WPAD): Changed the internal processing of WPADGetInfo(Async)</a></dd>
330<dd><a href="#note318">Note 318 (WPAD): Fixed a bug that stopped the transfer of controller data from the Wii Remote</a></dd>
331<dd><a href="#note317">Note 317 (WPAD): Changed specifications for the WPADAttach(detach)DummyExtension functions</a></dd>
332</dl>
333
334<dl>
335<dt><a href="#20061130p5">2006/11/30 SDK 2.4 patch 5</a> (2007/05/09)</dt>
336<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>
337</dl>
338
339<dl>
340<dt><a href="#20061130p4">2006/11/30 SDK Version 2.4 Patch 4</a> (2007/04/25)</dt>
341<dd><a href="#note315">Note 315 (NAND): Updated the function reference manual</a></dd>
342<dd><a href="#note314">Note 314 (KPAD): Added a sample demo for detecting the direction that the Wii Remote is swung</a></dd>
343<dd><a href="#note313">Note 313 (KPAD): Corrected errors in manuals</a></dd>
344<dd><a href="#note312">Note 312 (KPAD): For the Sensor Bar placement position, changed the corrective processing to be enabled by default</a></dd>
345<dd><a href="#note311">Note 311 (KPAD): Fixed a bug related to maximum stored data passed to KPADRead</a></dd>
346<dd><a href="#note310">Note 310 (WPAD): Updated Function Reference</a></dd>
347<dd><a href="#note309">Note 309 (WPAD): To a tool added Wii Remote memory initialization</a></dd>
348<dd><a href="#note308">Note 308 (WPAD): Fixed a bug in the system's Bluetooth wireless module</a></dd>
349<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>
350<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>
351<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>
352<dd><a href="#note304">Note 304 (WPAD): Changed the amount of time before signal interference causes a disconnect</a></dd>
353<dd><a href="#note303">Note 303 (WPAD): Added functions for debugging external extension controller processing</a></dd>
354<dd><a href="#note302">Note 302 (WPAD): Updated the sample demos</a></dd>
355<dd><a href="#note301">Note 301 (DVD): Corrected automatic fatal error messages</a></dd>
356<dd><a href="#note300">Note 300 (DOC): Added the contact information for the Roland Corporation's licensing department</a></dd>
357<dd><a href="#note299">Note 290 (OS): Added the function reference for OSGetAppGamename</a></dd>
358<dd><a href="#note298">Note 298 (OS): Made fixes for debugging of relocatable module</a></dd>
359<dd><a href="#note297">Note 297 (AX): Corrected the bug that caused noise during the streaming playback of the ADPCM data</a></dd>
360</dl>
361
362<dl>
363<dt><a href="#20061130p3">2006/11/30 SDK Version 2.4 Patch 3</a> (2007/03/01)</dt>
364<dd><a href="#note296">Note 296 (TOOL): System firmware Version 21.2.2 release</a></dd>
365<dd><a href="#note295">Note 295 (TOOL): Added features to the DEVKIT system menu</a></dd>
366<dd><a href="#note294">Note 294 (TOOL): Corrected features in the DEVKIT system menu</a></dd>
367<dd><a href="#note293">Note 293 (ENC): Corrected a problem where the returned number of converted characters was incorrect</a></dd>
368<dd><a href="#note292">Note 292 (ENC): Added a conversion table stripping feature</a></dd>
369<dd><a href="#note291">Note 291 (ENC): Added/revised manuals and demos</a></dd>
370</dl>
371
372<dl>
373<dt><a href="#20061130p2">2006/11/30 SDK Version 2.4 Patch 2</a> (2007/01/10)</dt>
374<dd><a href="#note290">Note 290 (OS): Added a description to the function reference for OSInitFastCast</a></dd>
375<dd><a href="#note289">Note 289 (FNT): Added the FNT library</a></dd>
376<dd><a href="#note288">Note 288 (HIO2): Corrected a problem that occurred when HIO2Init was called multiple times</a></dd>
377<dd><a href="#note287">Note 287 (HIO2): Revised the function reference for HIO2EnumDevices</a></dd>
378<dd><a href="#note286">Note 286 (THP): Revised THPConv(D).exe such that it would not perform sampling during execution</a></dd>
379<dd><a href="#note285">Note 285 (THP): Revised a description related to playback frequency to match that of Wii</a></dd>
380<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>
381<dd><a href="#note283">Note 283 (AX): Updated the AX Application manual</a></dd>
382<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>
383<dd><a href="#note281">Note 281 (WPAD): Corrected the range of stick values given for WPADCLStatus</a></dd>
384<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>
385</dl>
386
387<dl>
388<dt><a href="#20061130p1">2006/11/30 SDK Version 2.3 Patch 1</a> (2006/12/18)</dt>
389<dd><a href="#note279">Note 279 (AX): Revised the DSP load estimate again</a></dd>
390<dd><a href="#note278">Note 278 (AX): Corrected a problem where the mixing volume would not update correctly</a></dd>
391<dd><a href="#note277">Note 277 (NAND): Added a description of the prohibition on frequent Read access</a></dd>
392<dd><a href="#note276">Note 276 (TOOL): Added the wpad_mem_util tool</a></dd>
393<dd><a href="#note275">Note 275 (OS): Corrected a bug that occurred when the OSFatal function was run from callback</a></dd>
394<dd><a href="#note274">Note 274 (OS): Revised debug message during the reset and shutdown process</a></dd>
395<dd><a href="#note273">Note 273 (OS): Stop WiiConnect24 operations by default</a></dd>
396</dl>
397
398<dl>
399<dt><a href="#20061130">2006/11/30 SDK 2.4</a> (2006/11/30)</dt>
400<dd><a href="#note272">Note 272 (TOOL): System firmware Version 17.2.0 release</a></dd>
401<dd><a href="#note271">Note 271 (TOOL): Fixed bugs in the DEVKIT system menu save-data controls</a></dd>
402<dd><a href="#note270">Note 270 (MIX): Corrected forgotten initialization of the MIXChannel structure members</a></dd>
403<dd><a href="#note269">Note 269 (AX): Implemented mixer control for the Wii Remote speaker</a></dd>
404<dd><a href="#note268">Note 268 (AX): Implemented LPF and biquad filters for audio output from the controller speaker</a></dd>
405<dd><a href="#note267">Note 267 (AX): Deleted temporary implementation of HPF and added a biquad filter</a></dd>
406<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>
407<dd><a href="#note265">Note 265 (AX/SEQ/SP/SYN): Removed zero buffer</a></dd>
408<dd><a href="#note264">Note 264 (WPAD): Added the WPADControlExtGimmick function</a></dd>
409<dd><a href="#note263">Note 263 (WPAD): Canceled the restriction mentioned in Note 163</a></dd>
410<dd><a href="#note262">Note 262 (WPAD): Changed specifications during simple pairing when reconnecting an already paired remote</a></dd>
411<dd><a href="#note261">Note 261 (WPAD): Fixed a bug where updates of autosampling would fail</a></dd>
412<dd><a href="#note260">Note 260 (WPAD): Fixed a bug causing registration information to be erased</a></dd>
413<dd><a href="#note259">Note 259 (CARD): Revised the CARDMount[Async] function</a></dd>
414<dd><a href="#note258">Note 258 (NAND): Changed the order in which the save data banner is created</a></dd>
415<dd><a href="#note257">Note 257 (NAND): Added a guard mechanism when opening or closing files</a></dd>
416<dd><a href="#note256">Note 256 (NAND): Prohibited the creation of files and directories by an owner without read privileges</a></dd>
417<dd><a href="#note255">Note 255 (NAND): Corrected instructions on using the NANDGetAvailableArea[Async] function</a></dd>
418<dd><a href="#note254">Note 254 (NAND): Corrected a mistake in the description of the NANDSetStatus[Async] function</a></dd>
419<dd><a href="#note253">Note 253 (CX): Added a decompress option to the ntcompress tool</a></dd>
420<dd><a href="#note252">Note 252 (CX): Expanded alignment options of the ntcompress tool</a></dd>
421<dd><a href="#note251">Note 251 (ENC): Revised conversion rules</a></dd>
422</dl>
423<dl>
424<dt><a href="#20061026p9">2006/October 26, 2006 SDK Version 2.3 Patch 9</a> (2006/11/17)</dt>
425<dd><a href="#note250">Note 250 (TOOL): System firmware Version 15.1.1 release</a></dd>
426</dl>
427<dl>
428<dt><a href="#20061026p8">2006/October 26, 2006 SDK Version 2.3 Patch 8</a> (2006/11/14)</dt>
429<dd><a href="#note249">Note 249 (TOOL): System firmware Version 13.0.10 release</a></dd>
430</dl>
431<dl>
432<dt><a href="#20061026p7">2006/10/26 SDK Version 2.3 Patch 7</a> (2006/11/12)</dt>
433<dd><a href="#note248">Note 248 (TOOL): System firmware Version 13.0.9 release </a></dd>
434</dl>
435<dl>
436<dt><a href="#20061026p6">2006/10/26 SDK Version 2.3 Patch 6</a> (2006/11/11)</dt>
437<dd><a href="#note247">Note 247 (TOOL): System firmware Version 13.0.8 release</a></dd>
438</dl>
439<dl>
440<dt><a href="#20061026p5">2006/10/26 SDK Version 2.3 Patch 5</a> (2006/11/09)</dt>
441<dd><a href="#note246">Note 246 (TOOL): System firmware Version 13.0.7 release.</a></dd>
442<dd><a href="#note245">Note 245 (ENC): Fixed a character conversion problem in the private memory area.</a></dd>
443<dd><a href="#note244">Note 244 (ENC): Fixed a bug in the read/write size.</a></dd>
444<dd><a href="#note243">Note 243 (ENC): Reduced the table size.</a></dd>
445</dl>
446<dl>
447<dt><a href="#20061026p4">2006/10/26 SDK Version 2.3 Patch 4</a> (2006/11/06)</dt>
448<dd><a href="#note242">Note 242 (TOOL): NDEV firmware Version 12.06 release.</a></dd>
449<dd><a href="#note241">Note 241 (ENC): Added support for additional character encodings.</a></dd>
450<dd><a href="#note240">Note 240 (NAND): Added a result code for synchronous functions.</a></dd>
451</dl>
452<dl>
453<dt><a href="#20061026p3">2006/10/26 SDK Version 2.3 Patch 3</a> (2006/11/03)</dt>
454<dd><a href="#note239">Note 239 (TOOL): NDEV firmware Version 12.05 release.</a></dd>
455<dd><a href="#note238">Note 238 (WPAD): Fixed the inconsistent pairing format between the Wii console and the Wii Remote.</a></dd>
456<dd><a href="#note237">Note 237 (WPAD): Revised the pairing method when the maximum number of devices is already paired.</a></dd>
457<dd><a href="#note236">Note 236 (ENC): Changed the method of conversion from the internal character encoding to ISO-8859-1.</a></dd>
458</dl>
459<dl>
460<dt><a href="#20061026p2">2006/10/26 SDK Version 2.3 Patch 2</a> (2006/10/31)</dt>
461<dd><a href="#note235">Note 235 (TOOL): NDEV firmware Version 12.03 release.</a></dd>
462<dd><a href="#note234">Note 234: Changed the file for the SDK version information.</a></dd>
463<dd><a href="#note233">Note 233 (SC): Added internal configuration items for the system menu.</a></dd>
464<dd><a href="#note232">Note 232 (KPAD): Fixed a bug with the acceleration tracking process.</a></dd>
465<dd><a href="#note231">Note 231 (ENC): Added a convertible character encoding and determination function.</a></dd>
466<dd><a href="#note230">Note 230 (ENC): Added the conversion context for use in character code conversion.</a></dd>
467<dd><a href="#note229">Note 229 (ENC): Added support for additional character encodings.</a></dd>
468</dl>
469<dl>
470<dt><a href="#20061026p1">2006/10/26 SDK Version 2.3 Patch 1</a> (2006/10/27)</dt>
471<dd><a href="#note228">Note 228 (TOOL): Revised the fwupdate script name and carriage return.</a></dd>
472<dd><a href="#note227">Note 227 (TOOL): Corrected the firmware build date that is output when running the fwupdate1202 script.</a></dd>
473<dd><a href="#note226">Note 226 (VI): Reinstated the VIEnableDimming function.</a></dd>
474<dd><a href="#note225">Note 225 (VI): Added the VISetTimeToDimming function.</a></dd>
475<dd><a href="#note224">Note 224 (VI): Removed the VI[Set/Get]ScreenSaverMode function.</a></dd>
476<dd><a href="#note223">Note 223 (MAN): Corrected several broken links in the manual.</a></dd>
477</dl>
478<dl>
479<dt><a href="#20061026">2006/10/26 SDK Version 2.3</a> (2006/10/26)</dt>
480<dd><a href="#note222">Note 222 (TOOL): NDEV firmware Version 12.02 release.</a></dd>
481<dd><a href="#note221">Note 221 (TOOL): Added a configuration file for save-data controls.</a></dd>
482<dd><a href="#note220">Note 220 (TOOL): Fixed bugs in the system menu save-data controls.</a></dd>
483<dd><a href="#note219">Note 219 (TOOL): Added support for the Wii Remote in the system menu.</a></dd>
484<dd><a href="#note218">Note 218 (TOOL): Fixed a bug in cardedit[D].elf.</a></dd>
485<dd><a href="#note217">Note 217 (KPAD): Released the KPAD library Version 2.</a></dd>
486<dd><a href="#note216">Note 216 (KPADOld): Fixed a memory-corruption bug that appeared when using Classic Controllers.</a></dd>
487<dd><a href="#note215">Note 215 (SC): Ended disclosure of WPAD library&ndash;specific functions.</a></dd>
488<dd><a href="#note214">Note 214 (SC): Ended disclosure of sound/video mode&ndash;related console setting change functions.</a></dd>
489<dd><a href="#note213">Note 213 (WPAD): Added the WPADGetDpdFormat function.</a></dd>
490<dd><a href="#note212">Note 212 (WPAD): Eliminated the WPADShutdown and the WPADReconnect functions.</a></dd>
491<dd><a href="#note211">Note 211 (WPAD): Fixed a bug in the reset/shutdown operation during pairing and pairing information removal.</a></dd>
492<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>
493<dd><a href="#note209">Note 209 (WPAD): Added a speaker reset command.</a></dd>
494<dd><a href="#note208">Note 208 (WPAD): Fixed the misalignment of the origin on the Classic Controller L Stick.</a></dd>
495<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>
496<dd><a href="#note206">Note 206 (OS): Revised the OSRestart function and the OSExecl or OSExecv function.</a></dd>
497<dd><a href="#note205">Note 205 (PAD): Added support for hot-swapping in the basic and cont demos.</a></dd>
498<dd><a href="#note204">Note 204 (DOC): Updated the operating system programming manual.</a></dd>
499<dd><a href="#note203">Note 203 (NAND): Revised the banner sample demo.</a></dd>
500<dd><a href="#note202">Note 202 (NAND): Added the NANDGetAvailableArea[Async] function.</a></dd>
501<dd><a href="#note201">Note 201 (AXART): Added support for the Wii Remote speaker.</a></dd>
502<dd><a href="#note200">Note 200 (MIX): Made the memory region for voice control data user-specifiable.</a></dd>
503<dd><a href="#note199">Note 199 (SYN): Made the memory region for voice control data user-specifiable.</a></dd>
504<dd><a href="#note198">Note 198 (AX): Added master volume functions.</a></dd>
505<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>
506<dd><a href="#note196">Note 196 (AX): Added debug functions.</a></dd>
507<dd><a href="#note195">Note 195 (AX): Made the maximum voice count and the memory region for voice control data user-specifiable.</a></dd>
508<dd><a href="#note194">Note 194 (AX): Eliminated the voice update function.</a></dd>
509<dd><a href="#note193">Note 193 (AX): Changed AX_MAX_VOICE from 64 to 96.</a></dd>
510<dd><a href="#note192">Note 192 (AX): Increased the number of simultaneously playable sounds.</a></dd>
511</dl>
512<dl>
513<dt><a href="#20060907p10">2006/09/07 SDK Version 2.2 Patch 10</a> (2006/10/16)</dt>
514<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>
515<dd><a href="#note190">Note 190 (DOC): Updated the Video Interface Library programming manual.</a></dd>
516<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>
517<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>
518<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>
519<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>
520<dd><a href="#note185">Note 185 (Audio): Updated the end-user license agreement with Roland.</a></dd>
521</dl>
522<dl>
523<dt><a href="#20060907p9">2006/09/07 SDK Version 2.2 Patch 9</a> (2006/10/06)</dt>
524<dd><a href="#note184">Note 184 (TOOL): NDEV firmware Version 9.24 release.</a></dd>
525</dl>
526<dl>
527<dt><a href="#20060907p8">2006/09/07 SDK Version 2.2 Patch 8</a> (2006/10/03)</dt>
528<dd><a href="#note183">Note 183 (WPAD): Fixed a bug related to screen burn-in protection.</a></dd>
529<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>
530</dl>
531<dl>
532<dt><a href="#20060907p7">2006/09/07 SDK Version 2.2 Patch 7</a> (2006/10/01)</dt>
533<dd><a href="#note181">Note 181 (WPAD): Added Wii Remote tools.</a></dd>
534<dd><a href="#note180">Note 180 (WPAD): Fixed a bug that prevented the close callback for simple pairing from being called.</a></dd>
535<dd><a href="#note179">Note 179 (WPAD): Corrected a problem that prevented the search for devices from stopping during simple pairing.</a></dd>
536<dd><a href="#note178">Note 178 (WPAD): Fixed a bug that prevented the Wii Remote Rumble feature from stopping.</a></dd>
537<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>
538<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>
539<dd><a href="#note175">Note 175 (WPAD): Fixed bugs in the WPADStartFastSyncDevice and the WPADStartFastSimpleSync functions.</a></dd>
540<dd><a href="#note174">Note 174 (WPAD): Corrected a problem with the pairing procedure.</a></dd>
541<dd><a href="#note173">Note 173 (WPAD): Reduced the speaker sound distortion from weak signals.</a></dd>
542<dd><a href="#note172">Note 172 (WPAD): Fixed a memory leak inside the communication stack.</a></dd>
543</dl>
544<dl>
545<dt><a href="#20060907p6">2006/09/07 SDK Version 2.2 Patch 6</a> (2006/09/29)</dt>
546<dd><a href="#note171">Note 171 (WPAD): Calling the WPADShutdown() or the WPADReconnect() function inside the reset/shutdown functions.</a></dd>
547</dl>
548<dl>
549<dt><a href="#20060907p5">2006/09/07 SDK Version 2.2 Patch 5</a> (2006/09/29)</dt>
550<dd><a href="#note170">Note 170 (CARD): Fixed a bug that prevented Nintendo GameCube Memory Cards from being mounted correctly.</a></dd>
551<dd><a href="#note169">Note 169 (DVD): Fixed a bug that caused a freeze when issuing disc requests from multiple threads.</a></dd>
552<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>
553<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>
554</dl>
555<dl>
556<dt><a href="#20060907p4">2006/09/07 SDK Version 2.2 Patch 4</a> (2006/09/27)</dt>
557<dd><a href="#note166">Note 166 (TOOL): NDEV firmware Version 9.23 release.</a></dd>
558<dd><a href="#note165">Note 165 (WPAD): Fixed a bug that prevented origin reset from being performed with the Classic Controller.</a></dd>
559<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>
560<dd><a href="#note163">Note 163 (WPAD): Added restrictions on the WPADInit, the WPADReconnect, and the WPADShutdown functions.</a></dd>
561<dd><a href="#note162">Note 162 (WPAD): Changed the function of the WPADSetAcceptConnection function.</a></dd>
562<dd><a href="#note161">Note 161 (WPAD): Changed the Wii Remote memory file information configuration function.</a></dd>
563<dd><a href="#note160">Note 160 (WPAD): Fixed a bug that caused registration information to be lost.</a></dd>
564<dd><a href="#note159">Note 159 (KPAD): Fixed a bug that caused controller data of the remote to become irretrievable.</a></dd>
565<dd><a href="#note158">Note 158 (VI): Fixed a bug that caused noise to be seen when switching applications.</a></dd>
566<dd><a href="#note157">Note 157 (AX): Added Aux bus return volume set/get functions.</a></dd>
567<dd><a href="#note156">Note 156 (AX): Fixed a bug that occurs when setting the delta value of the volume envelope.</a></dd>
568</dl>
569<dl>
570<dt><a href="#20060907p3">2006/09/07 SDK Version 2.2 Patch 3</a> (2006/09/22)</dt>
571<dd><a href="#note155">Note 155 (TOOL): NDEV firmware Version 9.22 release.</a></dd>
572<dd><a href="#note154">Note 154 (VI): Fixed a bug that caused noise to be seen on the TV screen during OSShutdownSystem.</a></dd>
573<dd><a href="#note153">Note 153 (DVD): Fixed a bug that caused programs to freeze when run in the NO DISK state.</a></dd>
574</dl>
575<dl>
576<dt><a href="#20060907p2">2006/09/07 SDK Version 2.2 Patch 2</a> (2006/09/22)</dt>
577<dd><a href="#note152">Note 152 (TOOL): NDEV firmware Version 9.21 release.</a></dd>
578<dd><a href="#note151">Note 151 (WPAD): Fixed a bug that caused the Control Stick to become misaligned.</a></dd>
579<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>
580<dd><a href="#note149">Note 149 (WPAD): Added error codes</a></dd>
581<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>
582</dl>
583<dl>
584<dt><a href="#20060907p1">2006/09/07 SDK Version 2.2 Patch 1</a> (2006/09/20)</dt>
585<dd><a href="#note147">Note 147 (WPAD): Fixed bugs</a></dd>
586<dd><a href="#note146">Note 146 (WPAD): Timeout after command transfer.</a></dd>
587<dd><a href="#note145">Note 145 (WPAD): Rumble can now be turned off mid-rumble by turning off the Rumble feature.</a></dd>
588<dd><a href="#note144">Note 144 (WPAD): Changed the timing with which the WPADShutdown function is called internally.</a></dd>
589<dd><a href="#note143">Note 143 (WPAD): Changed the WPADDisconnect function specification.</a></dd>
590<dd><a href="#note142">Note 142 (WPAD): Item pertaining to the WLAN signal interference avoidance process.</a></dd>
591<dd><a href="#note141">Note 141 (WPAD): Added functions.</a></dd>
592<dd><a href="#note140">Note 140 (WPAD): Removed the WPADClearPortMapTable function.</a></dd>
593<dd><a href="#note139">Note 139 (KPAD): Fixed a bug that occurred when an attachment was quickly hot-swapped.</a></dd>
594<dd><a href="#note138">Note 138 (NAND): Fixed a bug that caused the NANDSafe series functions to return unexpected result codes.</a></dd>
595<dd><a href="#note137">Note 137 (NAND): Established banner file format, and added new functions.</a></dd>
596<dd><a href="#note136">Note 136 (OS): Added a feature for checking the firmware required by the application.</a></dd>
597<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>
598<dd><a href="#note134">Note 134 (DVD): Added official support for the automatic FATAL message.</a></dd>
599<dd><a href="#note133">Note 133 (TOOL): Added screen burn-in protection settings to the system menu.</a></dd>
600<dd><a href="#note132">Note 132 (TOOL): Temporarily stopped the automatic update feature in the firmware system menu.</a></dd>
601<dd><a href="#note131">Note 131 (TOOL): Added a Wii Sensor Bar sensitivity setting to the system menu.</a></dd>
602<dd><a href="#note130">Note 130 (VI): Removed the VIGetDVDStopMotorCount function.</a></dd>
603<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>
604<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>
605<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>
606<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>
607</dl>
608<dl>
609<dt><a href="#20060907">2006/09/07 SDK Version 2.2</a> (2006/09/07)</dt>
610<dd><a href="#note125">Note 125 (TOOL): Changed the save-data specification.</a></dd>
611<dd><a href="#note124">Note 124 (TOOL): Added a drive protection setting to the system menu.</a></dd>
612<dd><a href="#note123">Note 123 (KPAD): Added functions for improving pointing.</a></dd>
613<dd><a href="#note122">Note 122 (KPAD): Added support for the Classic Controller.</a></dd>
614<dd><a href="#note121">Note 121 (KPAD): Changed the behavior when dealing with unknown attachments.</a></dd>
615<dd><a href="#note120">Note 120 (KPAD): Added functions for enabling/disabling the Pointer.</a></dd>
616<dd><a href="#note119">Note 119 (KPAD): Expanded the sample demo program.</a></dd>
617<dd><a href="#note118">Note 118 (AX): Added an AUX callback acquisition function.</a></dd>
618<dd><a href="#note117">Note 117 (WENC): Deleted WENC_FLAG_LAST from the flag passed to WENCGetEncodeData().</a></dd>
619<dd><a href="#note116">Note 116 (NAND): Fixed a bug in the NANDReadDir[Async] Function Reference page.</a></dd>
620<dd><a href="#note115">Note 115 (NAND): Removed write size restriction.</a></dd>
621<dd><a href="#note114">Note 114 (NAND): Added the NANDCheck() sample demo program.</a></dd>
622<dd><a href="#note113">Note 113 (OS): Revised the RESET callback process.</a></dd>
623<dd><a href="#note112">Note 112 (SC): Precaution for calling SCFlush*().</a></dd>
624<dd><a href="#note111">Note 111 (SC): Fixed a bug in SCFlushAsync(), and added a callback argument value.</a></dd>
625<dd><a href="#note110">Note 110 (SC): Fixed a bug in SCFlush().</a></dd>
626<dd><a href="#note109">Note 109 (SC): Automatic call of SCInit().</a></dd>
627<dd><a href="#note108">Note 108 (TOOL): Fixed a bug in makeo.exe.</a></dd>
628<dd><a href="#note107">Note 107 (TOOL): Added a disc country code configuration tool.</a></dd>
629<dd><a href="#note106">Note 106 (TOOL): Corrected a problem that prevented termination of setsmem2size in error from being detected.</a></dd>
630<dd><a href="#note105">Note 105 (DVD): Added the drive state DVD_STATE_NO_INPUT while waiting for controller input.</a></dd>
631<dd><a href="#note104">Note 104 (DVD): Fixed the system language setting that was not reflected in the automatic fatal message.</a></dd>
632<dd><a href="#note103">Note 103 (WPAD): Added device type values.</a></dd>
633<dd><a href="#note102">Note 102 (WPAD): Changed the battery level threshold value, and added the voltage level CRITICAL.</a></dd>
634<dd><a href="#note101">Note 101 (WPAD): Changed how the SyncCallback function is called.</a></dd>
635<dd><a href="#note100">Note 100 (WPAD): Added support for origin reset.</a></dd>
636<dd><a href="#note99">Note 99 (WPAD): Changed how the controller port is allocated.</a></dd>
637<dd><a href="#note98">Note 98 (WPAD): Changed how the Wii Remote setting information is handled.</a></dd>
638<dd><a href="#note97">Note 97 (WPAD): Fixed bugs</a></dd>
639<dd><a href="#note96">Note 96 (WPAD): Added functions.</a></dd>
640<dd><a href="#note95">Note 95 (PAD): Added functions related to the clamp process.</a></dd>
641<dd><a href="#note94">Note 94 (VI): Added support functions for screen burn-in protection and stopping the drive motor.</a></dd>
642</dl>
643<dl>
644<dt><a href="#20060821p1">2006/08/21 SDK Version 2.1 Patch 1</a> (2006/08/30)</dt>
645<dd><a href="#note93">Note 93 (TOOL): Added support for firmware/system menu auto-update.</a></dd>
646<dd><a href="#note92">Note 92 (TOOL): Added features to the system menu.</a></dd>
647<dd><a href="#note91">Note 91 (WPAD): Call WPAD termination before reset/shutdown.</a></dd>
648<dd><a href="#note90">Note 90 (OS): Re-released the OSExec function.</a></dd>
649<dd><a href="#note89">Note 89 (OS): Added OSSwitchFiberEx().</a></dd>
650<dd><a href="#note88">Note 88 (OS): Added periodic access to NAND by the system.</a></dd>
651<dd><a href="#note87">Note 87 (NAND): Automatic call of NANDInit().</a></dd>
652<dd><a href="#note86">Note 86 (NAND): Fixed a bug that occurred when the full path name was exactly 32 bytes.</a></dd>
653<dd><a href="#note85">Note 85 (NAND): Added a function that determines whether the file or directory can be created.</a></dd>
654<dd><a href="#note84">Note 84 (NAND): Added result codes that were omitted.</a></dd>
655<dd><a href="#note83">Note 83 (SC): Added the return values for SCGetLanguage.</a></dd>
656<dd><a href="#note82">Note 82 (GD): Added and edited descriptions of GD demo debug output.</a></dd>
657<dd><a href="#note81">Note 81 (GX): Added and edited descriptions of GX demo debug output.</a></dd>
658<dd><a href="#note80">Note 80 (WENC): Added the WENC library.</a></dd>
659<dd><a href="#note79">Note 79 (CX): Released the compression/decompression library.</a></dd>
660<dd><a href="#note78">Note 78 (ENC): Added the ENC library.</a></dd>
661</dl>
662<dl>
663<dt><a href="#20060821">2006/08/21 SDK Version 2.1</a> (2006/08/21)</dt>
664<dd><a href="#note77">Note 77 (WPAD): Added support for status of simple pairing.</a></dd>
665<dd><a href="#note76">Note 76 (WPAD): Added functions.</a></dd>
666<dd><a href="#note75">Note 75 (WPAD): Fixed a bug related to hot plug-in or removal of external extension controllers.</a></dd>
667<dd><a href="#note74">Note 74 (WPAD): Changed the number of units that can be paired.</a></dd>
668<dd><a href="#note73">Note 73 (WPAD): Added Full mode to the Pointer.</a></dd>
669<dd><a href="#note72">Note 72 (WPAD): Changed the clamp process.</a></dd>
670<dd><a href="#note71">Note 71 (WPAD): Fixed a bug that halved the pointer sampling rate.</a></dd>
671<dd><a href="#note70">Note 70 (WPAD): Fixed a bug in the Rumble feature.</a></dd>
672<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>
673<dd><a href="#note68">Note 68 (AX): Added support for Wii Remote speaker output.</a></dd>
674<dd><a href="#note67">Note 67 (AX): Fixed a bug that prevented de-pop from operating with voices that had been panned.</a></dd>
675<dd><a href="#note66">Note 66 (OS): Expanded the alarm features.</a></dd>
676<dd><a href="#note65">Note 65 (KPAD): Various fixes and expansions.</a></dd>
677<dd><a href="#note64">Note 64 (ARC): Added const.</a></dd>
678<dd><a href="#note63">Note 63 (MEM): Fixed a bug in the MEMFindParentHeap() function.</a></dd>
679<dd><a href="#note62">Note 62 (NAND): Added and deleted error codes.</a></dd>
680<dd><a href="#note61">Note 61 (NAND): Revised NANDInit().</a></dd>
681<dd><a href="#note60">Note 60 (NAND): Added functions.</a></dd>
682<dd><a href="#note59">Note 59 (NAND): Corrected a problem that caused unknown error code to be displayed during read/write.</a></dd>
683<dd><a href="#note58">Note 58 (OS): Updated the functions related to reset and shutdown.</a></dd>
684<dd><a href="#note57">Note 57 (OS): Added OSSleep* functions.</a></dd>
685<dd><a href="#note56">Note 56 (SC): Added Wii Remote setup items.</a></dd>
686<dd><a href="#note55">Note 55 (SC): Deleted the emulation functions.</a></dd>
687<dd><a href="#note54">Note 54 (SC): Prohibited use of previous versions of the SC library.</a></dd>
688<dd><a href="#note53">Note 53 (HIO2): Corrected a problem with heavy loads on the host CPU.</a></dd>
689<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>
690<dd><a href="#note51">Note 51 (VI): Changed the default setting for the trap filter.</a></dd>
691<dd><a href="#note50">Note 50 (VI): Fixed a bug that prevented disabling the trap filter.</a></dd>
692<dd><a href="#note49">Note 49 (VI): Ended support for 50&nbsp;Hz mode for progressive display.</a></dd>
693</dl>
694<dl>
695<dt><a href="#20060620">2006/06/20 SDK Version 2.0</a> (2006/06/20)</dt>
696<dd><a href="#note48">Note 48 (ALL): Deleted the sample demo elf/map file.</a></dd>
697<dd><a href="#note47">Note 47 (ALL): Changed the NDEV that is the target of operations.</a></dd>
698<dd><a href="#note46">Note 46 (ALL): Changed the build target to RVL.</a></dd>
699<dd><a href="#note45">Note 45 (MIX): Corrected a problem with setting AuxB and AuxC controllers in DPL2 mode.</a></dd>
700<dd><a href="#note44">Note 44 (KPAD): Changed the module name, and added support for UI tool Version 4.</a></dd>
701<dd><a href="#note43">Note 43 (WPAD): Added support for using the Wii Remote (both Bluetooth wired/wireless versions).</a></dd>
702<dd><a href="#note42">Note 42 (WPAD): Changed module names.</a></dd>
703<dd><a href="#note41">Note 41 (WPAD): Enabled sharing of some member offsets of the WPADFSStatus structure by WPADStatus.</a></dd>
704<dd><a href="#note40">Note 40 (TOOL): Added a system menu to the boot program.</a></dd>
705<dd><a href="#note39">Note 39 (TOOL): Revised the Revolution shell execution file (RVL_NDEV.bat).</a></dd>
706<dd><a href="#note38">Note 38 (AI): Corrected a problem with the hardware sampling rate converter.</a></dd>
707<dd><a href="#note37">Note 37 (AX): Corrected a problem with the memory interface of the audio subsystem.</a></dd>
708<dd><a href="#note36">Note 36 (AXFX): Changed the effect library.</a></dd>
709<dd><a href="#note35">Note 35 (DVD): Changed the DVDCheckDisk function from synchronous to asynchronous.</a></dd>
710<dd><a href="#note34">Note 34 (DVD): Enabled the automatic FATAL message mode by default.</a></dd>
711<dd><a href="#note33">Note 33 (SC): Added the SC library.</a></dd>
712<dd><a href="#note32">Note 32 (VI): PAL development</a></dd>
713<dd><a href="#note31">Note 31 (VI): Added progressive scan mode for PAL, EURGB60, and MPAL.</a></dd>
714<dd><a href="#note30">Note 30 (VI): Added a support function for switching progressive mode.</a></dd>
715<dd><a href="#note29">Note 29 (OS): Temporarily deleted the OSExec function.</a></dd>
716<dd><a href="#note28">Note 28 (OS): Added a MEM2 memory size simulation feature.</a></dd>
717<dd><a href="#note27">Note 27 (OS): Changed OSInit so that it checks the Apploader target.</a></dd>
718<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>
719<dd><a href="#note25">Note 25 (GX): Corrected a problem with the TEV compare feature.</a></dd>
720<dd><a href="#note24">Note 24 (GX): Changed the ASSERT of the FIFO get function to a warning message.</a></dd>
721<dd><a href="#note23">Note 23 (NAND): Added the NAND library.</a></dd>
722<dd><a href="#note22">Note 22 (HIO2): Added a description to the HIO2 function reference page.</a></dd>
723<dd><a href="#note21">Note 21 (AR, ARQ): Deleted the ar.h and the arq.h header files.</a></dd>
724<dd><a href="#note20">Note 20 (ARC): Added the ARC library (archiver).</a></dd>
725</dl>
726<dl>
727<dt><a href="#20060322p2">2006/03/22 SDK Version 1.0 Patch 2</a> (2006/04/18)</dt>
728<dd><a href="#note19">Note 19 (AXART): Corrected the update formula for each LFO frame.</a></dd>
729<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>
730<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>
731<dd><a href="#note16">Note 16 (DOC): Added notes to section 2.4, Error Codes, in the PAD Library Programmer Guide</a></dd>
732</dl>
733<dl>
734<dt><a href="#20060322p1">2006/03/22 SDK Version 1.0 Patch 1</a> (2006/04/07)</dt></dt>
735<dd><a href="#note15">Note 15 (GX): Added an ASSERT check for attempts to place a FIFO in the MEM2 region</a>.</dd>
736<dd><a href="#note14">Note 14 (OS): Added support for an external main memory 64&nbsp;MB environment.</a></dd>
737<dd><a href="#note13">Note 13 (OS): Increased the speed of clearing the arena when using OSInit().</a></dd>
738<dd><a href="#note12">Note 12 (OS): Added a 7&nbsp;MB size restriction on programs loaded using Apploader.</a></dd>
739<dd><a href="#note11">Note 11 (MAN): Corrected links on the top page.</a></dd>
740<dd><a href="#note10">Note 10 (MAN): Changed the description of the hio2 sample demos.</a></dd>
741<dd><a href="#note9">Note 9 (EXI): Improved the transfer rate of the HIO2 library and the OSReport function.</a></dd>
742<dd><a href="#note8">Note 8 (HIO2): Corrected a problem with HIO2ReadStatus (RVL side).</a></dd>
743<dd><a href="#note7">Note 7 (DOC): Debugged pre-built sample demos.</a></dd>
744<dd><a href="#note6">Note 6 (DOC): Added NDEV DIP switch settings.</a></dd>
745<dd><a href="#note5">Note 5 (MEM): Released MEM library source code.</a></dd>
746<dd><a href="#note4">Note 4 (MEM): Eliminated the alignment restriction for memory block allocation.</a></dd>
747<dd><a href="#note3">Note 3 (MEM): Corrected a problem that prevented freeing unused memory normally from the heap.</a></dd>
748<dd><a href="#note2">Note 2 (KPAD): Corrected an error in the formula for calculating the acceleration of the Nunchuk.</a></dd>
749</dl>
750<dl>
751<dt><a href="#20060322">2006/03/22 SDK Version 1.0</a> (2006/03/22)</dt>
752<dd><a href="#note1">Note 1: SDK Version 1.0 Initial Release.</a></dd>
753</dl>
754
755<hr />
756
757<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 />
758<h3><a name="note553" id="note553">Note 553 (TOOL): (IMPORTANT) Updated console firmware</a></h3>
759<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.
760</p><p>
761Update 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>
762<hr />
763<h3><a name="note552" id="note552">Note 552 (CX): Updated the names of <CODE>CXiInitUncompContext**Front</CODE> functions</a></h3>
764<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.
765
766 There are still macros that provide aliases to the old function names, but these may be deleted in future versions.
767
768</p><p>
769 - <CODE>CXiInitUncompContextRLFront</CODE><br>
770 - <CODE>CXiInitUncompContextLZFront</CODE><br>
771 - <CODE>CXiInitUncompContextHuffmanFront</CODE><br>
772 - <CODE>CXiInitUncompContextLHFront</CODE><br>
773 - <CODE>CXiInitUncompContextLRCFront</CODE></p>
774
775<hr />
776<h3><a name="note551" id="note551">Note 551 (DOC): Replaced the <I>Revolution Transition Guide</I></a></h3>
777<p>Replaced the <I>Revolution Transition Guide</I> because an old version had been mistakenly released.</p>
778
779<hr />
780<h3><a name="note550" id="note550">Note 550 (KBD): Revised the <I>Revolution Function Reference Manual</I></a></h3>
781<p>Revised a description of the order in which KBD functions are called.</p>
782
783<hr />
784<h3><a name="note549" id="note549">Note 549 (HID): Added a function reference manual</a></h3>
785<p>Added the HID reference manual.</p>
786
787<hr />
788<h3><a name="note548" id="note548">Note 548 (OS): Added a feature to check the firmware version</a></h3>
789<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.
790</p><p>
791- 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>
792</p><p>
793- Debugging message output to the console <br> OS ERROR:This firmware is an improper version for this SDK. Please use a correct Firmware.</p>
794
795<hr />
796<h3><a name="note547" id="note547">Note 547 (OS): Changed behavior when a nonexistent function is passed to <CODE>OSExec*</CODE> functions</a></h3>
797<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>
798
799<hr />
800<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 />
801<h3><a name="note546" id="note546">Note 546 (TOOL): Updated DEVKIT System Menu to version 1.18</a></h3>
802<p>The following problems related to save data operations when working with backup save data on the Wii Menu have been corrected.
803</p><p>
804- The size of <CODE>banner.bin</CODE> was always 61,600 bytes when writing save data back to Wii system memory.
805  <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.
806
807</p>
808<hr />
809<h3><a name="note545" id="note545">Note 545 (TOOL): Corrected a problem where the firmware installer would not start under WiiMenu</a></h3>
810<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.
811</p><p>
812This problem has been corrected.</p>
813
814<hr />
815<h3><a name="note544" id="note544">Note 544 (GX): Corrected sample demos</a></h3>
816<p>Revised the displayed guide to operations for the following GX sample demos.
817</p><p>
818G2D-test<br> DL_tex<br> DL-tf-mtx<br> ind-tile-test<br> tg-shadow2</p>
819
820<hr />
821<h3><a name="note543" id="note543">Note 543 (GX): Revised the programming manual for compressed texture formats</a></h3>
822<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>
823
824<hr />
825<h3><a name="note542" id="note542">Note 542 (GX): Updated the <I>GX Programming Manual</I></a></h3>
826<p>Made the following revisions to the <I>GX Programming Manual</I>.
827</p><p>
828- 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;
829</p><p>
830For details on other corrections and edits, see the document's revision history. </p>
831
832<hr />
833<h3><a name="note541" id="note541">Note 541 (GX): Updated the <I>Revolution Function Reference Manual</I></a></h3>
834<p>
835- 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>
836</p>
837
838<hr />
839<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>
840<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.
841</p><p>
842This problem has been corrected.</p>
843
844<hr />
845<h3><a name="note539" id="note539">Note 539 (HIO2): Corrected mistakes in the <I>Hio2If Programming Manual</I></a></h3>
846<p>
847A typo in the <I>Hio2If Programming Manual</I> was corrected. For details, see the revision history.</p>
848
849<hr />
850<h3><a name="note538" id="note538">Note 538 (KBD): Corrected a problem with buffer initialization</a></h3>
851<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>
852
853<hr />
854<h3><a name="note537" id="note537">Note 537 (KPAD): Added a supplement to Release Note 504</a></h3>
855<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>
856
857<hr />
858<h3><a name="note536" id="note536">Note 536 (KPAD): Revised so that a circular clamp is used by default for stick clamping</a></h3>
859<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>
860
861<hr />
862<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>
863<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.
864</p><p>
865In 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>
866
867<hr />
868<h3><a name="note534" id="note534">Note 534 (MAN): Corrected typos and formatting throughout the <I>Revolution Function Reference Manual</I></a></h3>
869<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>
870
871<hr />
872<h3><a name="note533" id="note533">Note 533 (NAND): Updated the function manual</a></h3>
873<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>
874
875<hr />
876<h3><a name="note532" id="note532">Note 532 (VI): Corrected a problem with initial gamma settings</a></h3>
877<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>
878
879<hr />
880<h3><a name="note531" id="note531">Note 531 (OS): Corrected a fatal problem with <CODE>OSSleep</CODE>-type functions</a></h3>
881<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.
882</p><p>
883OSSleepTicks<br> OSSleepSeconds<br> OSSleepMilliseconds<br> OSSleepMicroseconds<br> OSSleepNanoseconds<br>
884</p><p>
885Upon 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>
886
887<hr />
888<h3><a name="note530" id="note530">Note 530 (OS): Updated the reference manual</a></h3>
889<p>
890- &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>
891
892<hr />
893<h3><a name="note529" id="note529">Note 529 (OS): Updated the <I>OS Programming Manual</I></a></h3>
894<p>Made the following revisions to the <I>OS Programming Manual</I>.
895</p><p>
896- 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
897</p>
898
899<hr />
900<h3><a name="note528" id="note528">Note 528 (PAD): Revised the <I>OS Programming Manual</I></a></h3>
901<p>Added information about a problem where the origin is not reset correctly under specific conditions entailed in the specifications.</p>
902<p>This problem that has existed from the beginning, but was not documented until now.</p>
903
904<hr />
905<h3><a name="note527" id="note527">Note 527 (WBC): Corrected sample demos</a></h3>
906<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>
907
908<hr />
909<h3><a name="note526" id="note526">Note 526 (WBC): Corrected a problem with the <CODE>WPADIsRegisteredBLC</CODE> function</a></h3>
910<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>
911
912<hr />
913<h3><a name="note525" id="note525">Note 525 (WBC): Made additions to the <I>WBC Programming Manual</I></a></h3>
914<p>The <I>WBC Programming Manual</I> has been added under the directory <CODE>./docs/en_US/Programmer's_Guide/</CODE>.
915</p>
916
917<hr />
918<h3><a name="note524" id="note524">Note 524 (WBC): Revised the function reference</a></h3>
919<p>Revised the description of information to be noted for Wii Balance Board-compatible applications intended for Japan.</p>
920
921<hr />
922<h3><a name="note523" id="note523">Note 523 (WBC): Revised the work memory confirmation processing that is part of initialization</a></h3>
923<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>
924
925<hr />
926<h3><a name="note522" id="note522">Note 522 (WPAD): Corrected sample demos</a></h3>
927<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>
928
929<hr />
930<h3><a name="note521" id="note521">Note 521 (WPAD): Revised warning messages</a></h3>
931<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>
932
933<hr />
934<h3><a name="note520" id="note520">Note 520 (WPAD): Corrected a problem with the pointer-calibration process</a></h3>
935<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.
936</p><p>
937This problem was included in the update from SDK 3.1 patch 4 to SDK 3.2, so it has been corrected.</p>
938
939<hr />
940<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 />
941<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>
942<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.
943</p>
944
945<hr />
946<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>
947<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>
948By 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>
949
950<hr />
951<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>
952<p>Renamed to <CODE>strapimagedemo</CODE> NADK sample demo to <CODE>strapcntdemo</CODE> and combined it with <CODE>demos/cntdemo</CODE>.
953</p><p>
954Also changed the demo's behavior to follow the guideline for displaying the Strap Usage screen to some extent.</p>
955
956<hr />
957<h3><a name="note516" id="note516">Note 516 (CNT): Combined <CODE>datatitledemo</CODE> with <CODE>cntdemo</CODE>.</a></h3>
958<p>Combined <CODE>datatitledemo</CODE> with <CODE>cntdemo</CODE>.
959</p><p>
960Also revised the description of the <CODE>datatitledemo</CODE> because it did not match the behavior of the most recent version.<p>
961
962<hr />
963<h3><a name="note515" id="note515">Note 515 (CNT): Updated the <I>Revolution Function Reference Manual</I></a></h3>
964<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>
965
966<hr />
967<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>
968<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.
969</p><p>
970For details, see the Introduction in the FNT section of the <I>Revolution Function Reference Manual</I>.</p>
971
972<hr />
973<h3><a name="note513" id="note513">Note 513 (GX): Updated the <I>Revolution Function Reference Manual</I>.</a></h3>
974<p>
975- 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>
976
977<hr />
978<h3><a name="note512" id="note512">Note 512 (GX): Revised the <I>Revolution Graphics Library (GX)</I> programming manual </a></h3>
979<p>Made the following revisions to the <I>Revolution Graphics Library (GX)</I> programming manual.</p>
980<p>
981- Removed a chapter comparing the GX library and OpenGL. <br>- Added XF stall information.
982</p><p>
983Other error corrections and revisions were made. For details, refer to each document's <B>Revision History</B>.
984</p>
985
986<hr />
987<h3><a name="note511" id="note511">Note 511 (KPAD): Revised the <I>Revolution Function Reference Manual</I>.</a></h3>
988<p>Added information on Wii Menu settings for the following functions.
989</p><p>
990KPADSetPosPlayMode<br>
991KPADSetHoriParam<br>
992KPADSetHoriPlayMode<br>
993KPADSetDistParam<br>
994KPADSetDistPlayMode<br>
995KPADSetAccParam<br>
996KPADSetAccPlayMode<br>
997KPADSetBtnRepeat
998</p><p>
999Added a supplementary description of normalized coordinates for the following functions.
1000</p><p>
1001<CODE>KPADGetProjecttionPos</CODE></p>
1002
1003<hr />
1004<h3><a name="note510" id="note510">Note 510 (OS): Added information on DOL file restrictions and boot-related terminology.</a></h3>
1005<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>
1006
1007<hr />
1008<h3><a name="note509" id="note509">Note 509 (OS): Reformed the <I>OS Programming Manual</I>.</a></h3>
1009<p>Reformed the <I>OS Programming Manual</I> to be applicable to the Wii console.</p>
1010
1011<hr />
1012<h3><a name="note508" id="note508">Note 508 (TPL): Updated the <I>Texture Palette Library Manual</I>.</a></h3>
1013<p>Updated the <I>Revolution Texture Palette Library (TPL)</I> manual (<CODE>Graphics_Programmer's_Guide/TPL.pdf</CODE>).
1014</p><p>
1015In 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>
1016
1017<hr />
1018<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>
1019<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.
1020</p><p>
1021<CODE>- WPADInfo<br> - WPADGetInfo<br> - WPADGetInfoAsync</CODE></p>
1022
1023<hr />
1024<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 />
1025<h3><a name="note506" id="note506">Note 506 (TOOL): Release of system firmware version 55.15.24.</a></h3>
1026<p>Updated the extended firmware to version 55.15.24.
1027</p><p>
1028Update 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.
1029</p><p>
1030The standard firmware has been left unchanged at version 53.15.17.</p>
1031
1032<hr />
1033<h3><a name="note505" id="note505">Note 505 (TOOL): Added an Nmenu WAD file to the package.</a></h3>
1034<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>
1035
1036<hr />
1037<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>
1038<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.
1039</p><p>
1040Give 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>
1041<p>This item was first added in version 3.2 PR of the SDK.</p>
1042
1043<hr />
1044<h3><a name="note503" id="note503">Note 503 (CNT): Added support for <CODE>CNT_RESULT_UNKNOWN</CODE> to the manual.</a></h3>
1045<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.
1046</p><p>
1047For more details, refer to the Result Code List and Processing for NAND Applications in the NADK Introduction.</p>
1048
1049<hr />
1050<h3><a name="note502" id="note502">Note 502 (FNT): Updated the Function Reference.</a></h3>
1051<p>Fixed some lists in the SDK 3.2 RC function reference; they were missing functions that had been added.</p>
1052
1053<hr />
1054<h3><a name="note501" id="note501">Note 501 (ENC): Updated the Function Reference.</a></h3>
1055<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>
1056
1057<hr />
1058<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 />
1059<h3><a name="note500" id="note500">Note 500 (TOOL): Release of system firmware versions 53.15.17 and 55.15.23</a></h3>
1060
1061<p>The standard firmware 53.15.17 and the extended firmware 55.15.23 have been released.
1062</p><p>
1063These are both identical to the intermediate versions 241.8.2 and 243.8.3 released with SDK 3.2 PR2.
1064</p><p>
1065Update 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.
1066</p>
1067
1068<hr />
1069<h3><a name="note499" id="note499">Note 499 (TOOL): Revised the firmware for the Online Manual Verification Tool</a></h3>
1070<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>
1071
1072<hr />
1073<h3><a name="note498" id="note498">Note 498 (TOOL): Released version 1.1 of the Online Manual Verification Tool</a></h3>
1074<p>The Online Manual Verification Tool is now version 1.1. It includes the following revisions:
1075
1076</p><p>
1077- 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>
1078
1079<hr />
1080<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>
1081<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.
1082</p><p>
1083Up 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.
1084</p><p>
1085<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>
1086
1087<hr />
1088<h3><a name="note496" id="note496">Note 496 (TOOL): Released Chinese and Korean versions of Wii bitmap fonts</a></h3>
1089<p>Chinese and Korean versions of applications each must use specialized Wii bitmap fonts. These fonts have now been added.
1090</p><p>
1091- For disc applications: <br><CODE>/dvddata/fonts_chn<br>/dvddata/fonts_kor</CODE>
1092</p><p>
1093- Shared content files for NAND applications: <br><CODE>/dvddata/archives/WiiBitmapFontsCHN.arc<br>/dvddata/archives/WiiBitmapFontsKOR.arc</CODE>
1094</p><p>
1095
1096The 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>
1097
1098<hr />
1099<h3><a name="note495" id="note495">Note 495 (SC): Published API for getting the wide-area region ID</a></h3>
1100<p>You can now use the <CODE>SCGetSimpleAddressRegionIdHi</CODE> function to obtain the wide-area region ID.
1101</p>
1102<p>For details, see the Function Reference manual.</p>
1103<hr />
1104<h3><a name="note494" id="note494">Note 494 (SC): Published functions for getting console nickname information</a></h3>
1105<p>You can now use the <CODE>SCGetOwnerNickName</CODE> function to get the console nickname information.
1106</p>
1107<p>For details, see the Function Reference manual.</p>
1108
1109<hr />
1110<h3><a name="note493" id="note493">Note 493 (FNT): Added functions for texture sheet tiling</a></h3>
1111<p>Added functions to tile and untile the texture sheets included in the font data.
1112</p><p>
1113<CODE>FNTGetTileBufferSize<br>FNTUntileTexture<br>FNTTileTexture</CODE>
1114</p><p>
1115For details, see the reference for each function.
1116</p>
1117
1118<hr />
1119<h3><a name="note492" id="note492">Note 492 (VI): Updated the <I>Video Interface Library Programming Manual</I></a></h3>
1120
1121<p>Revisions and additions were mainly made to the following sections:
1122</p><p>
1123- 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
1124</p><p>
1125For details, see the revision history of this document.</p>
1126
1127<hr />
1128<h3><a name="note491" id="note491">Note 491 (RSO): Changed the <CODE>RSOLinkFar</CODE> and <CODE>RSOLinkJump</CODE> functions</a></h3>
1129<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>
1130
1131<hr />
1132<h3><a name="note490" id="note490">Note 490 (RSO): Organized the RSO library's header file</a></h3>
1133<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>
1134<p>With this revision, this item is now the same as that included in the 2007/01/10 version of the RSO package.</p>
1135
1136<hr />
1137<h3><a name="note489" id="note489">Note 489 (RSO): Changed the type of an argument in the <CODE>RSOGetFixedSize</CODE> function</a></h3>
1138
1139<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>
1140<p>With this revision, this item is now the same as that included in the 2007/01/10 version of the RSO package.</p>
1141
1142<hr />
1143<h3><a name="note488" id="note488">Note 488 (NAND): Updated the <CODE>NANDSimpleSafeCancel</CODE> function reference manual</a></h3>
1144<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>
1145
1146<hr />
1147<h3><a name="note487" id="note487">Note 487 (MEM): Corrected an illegal ASSERT process</a></h3>
1148<p>When the following functions were executed in DEBUG build, a bug would cause the process to halt on an illegal ASSERT.
1149</p><p>
1150<CODE>MEMGetSizeForMBlockExpHeap<br>MEMGetGroupIDForMBlockExpHeap<br>MEMGetAllocDirForMBlockExpHeap</CODE>
1151
1152</p><p>
1153This problem has been resolved.</p>
1154
1155<hr />
1156<h3><a name="note486" id="note486">Note 486 (DVD): Updated the Function Reference</a></h3>
1157<p>Added an explanation to <CODE>DVDCheckDiskAsync</CODE> about the value returned immediately after a disc is inserted.</p>
1158
1159<hr />
1160<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>
1161<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.
1162</p><p>
1163This problem has been resolved.</p>
1164
1165<hr />
1166<h3><a name="note484" id="note484">Note 484 (Audio): Revised the Function Reference</a></h3>
1167<p>Corrected broken links and variant notation.</p>
1168
1169<hr />
1170<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 />
1171<h3><a name="note483" id="note483">Note 483 (TOOL): Release of system firmware versions 241.8.2 and 243.8.3 </a></h3>
1172<p>The system firmware has been upgraded, with the standard firmware now 241.8.2 and the extended firmware now 243.8.3.
1173</p><p>
1174Update 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.
1175
1176</p><p>
1177Note 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>
1178
1179<hr />
1180<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>
1181<p>The DEVKIT System Menu sometimes failed to set the size of simulated MEM2 memory.  That problem has been corrected.</p>
1182
1183<hr />
1184<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>
1185<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.
1186</p><p>
1187This problem has been resolved.</p>
1188
1189<hr />
1190<h3><a name="note480" id="note480">Note 480 (TOOL): Integrated the mastering tools</a></h3>
1191<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>
1192
1193<hr />
1194<h3><a name="note479" id="note479">Note 479 (TOOL): Changed the default handling of data title access restrictions</a></h3>
1195<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.
1196</p><p>
1197When you create a data title, either set some value for allowing access or specify the exact other applications that will have access.</p>
1198
1199<hr />
1200<h3><a name="note478" id="note478">Note 478 (AX): Added functions for DSP-ADPCM encoding</a></h3>
1201
1202<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>
1203
1204<hr />
1205<h3><a name="note477" id="note477">Note 477 (AX): Added functions for customized compressor tables</a></h3>
1206<p>The following functions have been added to enable customization of volume tables for the compressor:
1207</p><p>
1208<CODE>AXMakeCompressorTable<br>AXSetCompressorTable</CODE>
1209</p><p>
1210For details, see the reference for each function.</p>
1211
1212<hr />
1213<h3><a name="note476" id="note476">Note 476 (GX): Revised the <CODE>perf-geo</CODE> demo</a></h3>
1214
1215<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>
1216
1217<hr />
1218<h3><a name="note475" id="note475">Note 475 (KBD): Changed the <CODE>KBDInit</CODE> function</a></h3>
1219<p>The USBKBD library has been replaced as the KBD low-level library by the more general-purpose USB_HID library.
1220</p><p>
1221The <CODE>KBDInit</CODE> function has been altered to support this change.</p>
1222
1223<hr />
1224<h3><a name="note474" id="note474">Note 474 (MTX): Fixed bugs in the <CODE>PSMTXInverse</CODE> and <CODE>PSMTXInvXpose</CODE> functions</a></h3>
1225<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.
1226</p><p>
1227This problem has been corrected.
1228
1229</p><p>
1230However, 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>
1231
1232<hr />
1233<h3><a name="note473" id="note473">Note 473 (MTX): Improved the performance of the <CODE>PSMTXInverse</CODE> and <CODE>PSMTXInvXpose</CODE> functions</a></h3>
1234<p>By optimizing the processing of the <CODE>PSMTXInverse</CODE> and <CODE>PSMTXInvXpose</CODE> functions, their performance has been enhanced.</p>
1235
1236<hr />
1237<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>
1238<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.
1239</p><p>
1240In addition, functions that were not officially supported were deleted from the source.</p>
1241
1242<hr />
1243<h3><a name="note471" id="note471">Note 471 (RSO): Revised demo programs in step with changes to the OS specification</a></h3>
1244<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>
1245
1246<hr />
1247<h3><a name="note470" id="note470">Note 470 (SC): Added supported languages to the Function Reference manual</a></h3>
1248<p>The <CODE>SCGetLanguage</CODE> function now supports simplified Chinese, traditional Chinese, and Korean, so this has been added to the manual.</p>
1249
1250<hr />
1251<h3><a name="note469" id="note469">Note 469 (THP): Added support for monaural audio output to the THP demo</a></h3>
1252<p>The THP sample programs (THPSimple and THPPlayer) now support monaural output of audio. Changes and additions were made to the following functions:
1253
1254</p><p>
1255  THPAudioDecode<br>
1256  THPSimpleSetSoundMode<br>
1257  THPSimpleGetSoundMode<br>
1258  THPPlayerSetSoundMode<br>
1259  THPPlayerGetSoundMode
1260</p><p>
1261For details, see the reference for each function.</p>
1262
1263<hr />
1264<h3><a name="note468" id="note468">Note 468 (VI): Deleted mentions of MPAL</a></h3>
1265
1266<p>Mentions of MPAL have been deleted from the Function Reference Manual and the <I>Video Interface Programming Manual</I>.</p>
1267
1268<hr />
1269<h3><a name="note467" id="note467">Note 467 (WPAD): Updated the Function Reference</a></h3>
1270<p>Added an explanation about prohibited processes for the Wii Remote and Classic Controller's +Control Pad.</p>
1271
1272<hr />
1273<h3><a name="note466" id="note466">Note 466 (KPAD): Added the <CODE>KPADReadEx</CODE> function</a></h3>
1274<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>
1275<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>
1276<p>The information regarding <CODE>KPADReadEx</CODE> and <CODE>KPADRead</CODE> in the Function Reference Manual has been updated.</p>
1277
1278<hr />
1279<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 />
1280<h3><a name="note465" id="note465">Note 465: Consolidated NAND application development kit (NADK) into Revolution SDK</a></h3>
1281<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>
1282
1283<hr />
1284<h3><a name="note464" id="note464">Note 464 (TOOL): Changed the default value for restricted access to data titles</a></h3>
1285<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.
1286</p><p>
1287When you create a data title, either set some value for allowing access or specify the exact other applications that will have access.
1288</p>
1289
1290<hr />
1291<h3><a name="note463" id="note463">Note 463 (TOOL): Release of system firmware versions 241.8.1 and 243.8.2</a></h3>
1292<p>The system firmware has been upgraded, with the standard firmware now 241.8.1 and the extended firmware now 243.8.2.
1293</p><p>
1294Update 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>.
1295</p><p>
1296Note 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>
1297
1298<hr />
1299<h3><a name="note462" id="note462">Note 462 (TOOL): Updated the DEVKIT system menu</a></h3>
1300<p>The following features have been added:
1301</p><p>
1302- 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;.
1303</p>
1304
1305<hr />
1306<h3><a name="note461" id="note461">Note 461 (TOOL): Added more ways to specify the game version in makeWad</a></h3>
1307<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>
1308
1309<hr />
1310<h3><a name="note460" id="note460">Note 460 (TOOL): Fixed a bug in makeWad that corrupted the banner for data titles</a></h3>
1311<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.
1312</p><p>
1313This was due to a bug in <CODE>makeWad</CODE>, and it has been corrected.</p>
1314
1315<hr />
1316<h3><a name="note459" id="note459">Note 459 (TOOL): Published the makeWad <CODE>-e</CODE> option</a></h3>
1317<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
1318</p><p>
1319For details, see the <CODE>makeWad</CODE> manual.</p>
1320
1321<hr />
1322<h3><a name="note458" id="note458">Note 458 (TOOL): Revised Nmenu so it can import data titles</a></h3>
1323<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.
1324</p><p>
1325See the manual to read cautions regarding the use of ECDK for development. </p>
1326
1327<hr />
1328<h3><a name="note457" id="note457">Note 457 (TOOL): The DEVKIT system menu now supports settings for Korea and China </a></h3>
1329<p>The DEVKIT system menu now supports settings for Korea and China.</p>
1330
1331<hr />
1332<h3><a name="note456" id="note456">Note 456 (TOOL): <CODE>setcountrycode</CODE> now supports settings for Korea and China </a></h3>
1333<p>Country identifier codes can now be set for Korea and China by <CODE>setcountrycode</CODE>.</p>
1334
1335<hr />
1336<h3><a name="note455" id="note455">Note 455 (TOOL): Fixed problem with display of titles that cannot be started in Nmenu</a></h3>
1337<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.
1338</p><p>
1339This problem has been corrected.</p>
1340
1341<hr />
1342<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>
1343<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.
1344</p><p>
1345As an internal process, the check is conducted on all titles that link to the HID library.
1346</p><p>
1347Subsequent 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>
1348
1349<hr />
1350<h3><a name="note453" id="note453">Note 453 (TOOL): Updated the manual for the DEVKIT system menu</a></h3>
1351<p>The manual for the DEVKIT system menu was revised to make it easier to read.</p>
1352
1353<hr />
1354<h3><a name="note452" id="note452">Note 452 (TOOL) X86 tools now can be built by Visual Studio 2005</a></h3>
1355<p>The following tools with publicized source code now can be built by Visual Studio 2005:
1356</p><p>
1357/build/libraries/gd<br>
1358/build/demos/gddemo<br>
1359/build/demos/hio2demo<br>
1360/build/tools/darch<br>
1361/build/tools/dls1wt<br>
1362/build/tools/dspadpcm<br>
1363/build/tools/sample<br>
1364/build/tools/sndconv<br>
1365/build/tools/soundfile<br>
1366/build/tools/TexConv<br>
1367/build/tools/THPConv<br>
1368/build/tools/thputilities<br>
1369</p><p>
1370Note 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.
1371</p>
1372
1373<hr />
1374<h3><a name="note451" id="note451">Note 451 (CARD): Deleted the CARD library</a></h3>
1375<p>The CARD library, which supports access to GameCube Memory Cards, has been deleted.</p>
1376
1377<hr />
1378<h3><a name="note450" id="note450">Note 450 (CNT): Updated the Function Reference Manual</a></h3>
1379<p>Added a table to the function reference for <CODE>CNTInitHandleTitle</CODE> showing the return values for different error states.</p>
1380
1381<hr />
1382<h3><a name="note449" id="note449">Note 449 (CNT): Added support for data title disc emulation</a></h3>
1383<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>
1384
1385<hr />
1386<h3><a name="note448" id="note448">Note 448 (DARC): Published the archive creation API (DARCH)</a></h3>
1387<p>The archive creation (DARCH) API has been published.
1388</p><p>
1389The 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.
1390</p>
1391
1392<hr />
1393<h3><a name="note447" id="note447">Note 447 (DEMO): Added a character-count assert to the <CODE>DEMOPrintf</CODE> function</a></h3>
1394<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>
1395
1396<hr />
1397<h3><a name="note446" id="note446">Note 446 (DEMO): Revised the <CODE>DEMOReInit</CODE> function</a></h3>
1398<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>
1399
1400<hr />
1401<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>
1402<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>
1403
1404<hr />
1405<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>
1406<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>
1407
1408<hr />
1409<h3><a name="note443" id="note443">Note 443 (DVD): Corrected the automatic Fatal error message</a></h3>
1410<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>
1411
1412<hr />
1413<h3><a name="note442" id="note442">Note 442 (ENC): Fixed bugs related to special encoding</a></h3>
1414<p>Fixed the following bugs, which occurred when certain special encoding was specified in the ENC library.
1415</p><p>
1416(1) State operations did not work correctly
1417</p><p>
1418- Subject to bug:<br><CODE> ENCConvertToInternalEncoding()<br> ENCConvertFromInternalEncoding()</CODE>
1419</p><p>
1420- Conditions:<br> UTF-16, UTF-16LE or UTF-7 specified as the character encoding of the conversion source.
1421</p><p>
1422(2) The <CODE>BOM</CODE> determination process was skipped
1423</p><p>
1424- Subject to bug:<CODE><br>ENCConvertToInternalEncoding()<br> ENCConvertFromInternalEncoding()<br> ENCConvertString*()</CODE>
1425</p><p>
1426- 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>
1427
1428<hr />
1429<h3><a name="note441" id="note441">Note 441 (ENC): Eliminated the error code <CODE>ENC_ERR_NOT_LOADED</CODE></a></h3>
1430<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.
1431</p><p>
1432To 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.
1433</p><p>
1434Read the manual to see which values are returned by the various functions.</p>
1435
1436<hr />
1437<h3><a name="note440" id="note440">Note 440 (ENC): Added character encoding conversion functions for Korean and Chinese languages</a></h3>
1438<p>Character encoding conversion functions have been added for the Korean and Chinese languages. The following character codes can now be utilized:
1439</p><p>
1440Korean: UHC (windows-949)<br>Chinese: GB2312-80
1441</p><p>
1442This 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>
1443
1444<hr />
1445<h3><a name="note439" id="note439">Note 439 (FNT): Added the <CODE>FNTSetAlternateChar</CODE> function for changing the alternate character</a></h3>
1446<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>
1447
1448<hr />
1449<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>
1450<p>Some of the countermeasures for the XF stall bug were not included in <CODE>GXSetCoPlanar</CODE> and <CODE>GXSetDrawDone</CODE>.
1451</p><p>
1452That has been corrected.</p>
1453
1454<hr />
1455<h3><a name="note437" id="note437">Note 437 (GX): Fixed bug in debug builds of <CODE>GXLoadNrmMtxIndx3x3</CODE></a></h3>
1456<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.
1457</p><p>This problem has been corrected.</p>
1458
1459<hr />
1460<h3><a name="note436" id="note436">Note 436 (GX): Updated the Function Reference</a></h3>
1461<p>Errors were corrected in the <CODE>GXLoadNrmMtxIndx3x3</CODE> function reference.</p>
1462<p>
1463<CODE>man/en_US/gx/Cpu2Efb/GXPokeARGB.html</CODE>: <CODE>GXPokeAlphaRead</CODE> was added to the <B>See Also</B> section.</p>
1464<p><CODE>man/en_US/gx/Cpu2Efb/GXPeekARGB.html</CODE>: <CODE>GXPokeAlphaRead</CODE> was added to the <B>See Also</B> section.</p>
1465<p>
1466<CODE>gx/list.html</CODE>: Rewrote the function description so it is easier to understand.
1467</p>
1468<p>Added a note about the functions that can be placed inside the display list in <CODE>gx/GXState.html</CODE>.</p>
1469<p><CODE>GXSetTevColorS10</CODE>: Corrected the &quot;Constant Color register&quot; to &quot;Primary Color register&quot;.</p>
1470<p>In the description for the <CODE>GXSetVtxDesc</CODE> function, corrected <CODE>GX_VA_POSMTXIDX</CODE> to <CODE>GX_VA_PNMTXIDX</CODE>.</p>
1471<p>In the description for the <CODE>GXBegin</CODE> function, corrected the maximum number of vertices to 65535 (not 65536).</p>
1472<p>Added an explanation of the <CODE>max_lod</CODE> argument to the <CODE>GXGetTexBufferSize</CODE> function.</p>
1473<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>
1474<p>References using the old function name (<CODE>GXSetTevStages</CODE>) in the description were corrected to the new function name (<CODE>GXSetNumTevStages</CODE>).</p>
1475<p>In line with the specification changes to the <CODE>GXGetCPUFifo</CODE> function, the following references have been updated:</p>
1476<p>
1477- <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>
1478<p><CODE>gx/Culling/GXSetCoPlanar.html</CODE>: Rewritten for easier understanding.</p>
1479<p></p>
1480<p></p>
1481<p></p>
1482<p></p>
1483
1484<hr />
1485<h3><a name="note435" id="note435">Note 435 (HIO2): Revised the Hio2If programming manual</a></h3>
1486<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>
1487
1488<hr />
1489<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>
1490<p>No arguments were listed for <CODE>KBD_UC_IS_CTRL_KEY</CODE>, defined in <CODE>kbd.h</CODE>.</p>
1491<p>This has been corrected.</p>
1492
1493<hr />
1494<h3><a name="note433" id="note433">Note 433 (KPAD): Added the <CODE>KPADInitEx</CODE> function</a></h3>
1495<p>Added this function to enable the ring buffer used in the KPAD library's internal processing to be passed from the application.</p>
1496
1497<hr />
1498<h3><a name="note432" id="note432">Note 432 (KPAD): Fixed bug that causes information loss when an extension controller is detached</a></h3>
1499<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.
1500</p><p>
1501The KPAD library can now check for partial data corruption based on data context, so this data can be correctly processed as corrupt.</p>
1502
1503<hr />
1504<h3><a name="note431" id="note431">Note 431 (KPAD): Fixed problem with pointer jumping</a></h3>
1505<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.
1506</p><p>
1507The 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>
1508
1509<hr />
1510<h3><a name="note430" id="note430">Note 430 (KPAD): Added the <CODE>KPADShutdown</CODE> function</a></h3>
1511<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.
1512</p><p>
1513After shutting down the KPAD library this way, call the <CODE>KPADInit</CODE> function to use the library again.</p>
1514
1515<hr />
1516<h3><a name="note429" id="note429">Note 429 (KPAD): Eliminated the <CODE>KPADSetObjInterval</CODE> function</a></h3>
1517<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>
1518
1519<hr />
1520<h3><a name="note428" id="note428">Note 428 (KPAD): Added support for the Wii Balance Board</a></h3>
1521<p><CODE>KPADRead</CODE> can now obtain data from the Wii Balance Board. The function can obtain the following values:
1522</p><p>
1523 -- 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>
1524
1525<hr />
1526<h3><a name="note427" id="note427">Note 427 (KPAD): Revised sample demos</a></h3>
1527<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>
1528
1529<hr />
1530<h3><a name="note426" id="note426">Note 426 (KPAD): Updated the Function Reference</a></h3>
1531<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>
1532<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>
1533<p>Added the parameters set by the Wii Menu using the <CODE>KPADSetPosParam</CODE> function.</p>
1534
1535<hr />
1536<h3><a name="note425" id="note425">Note 425 (KPAD): Added error codes to the <CODE>KPADRead</CODE> function's return values</a></h3>
1537<p>When the <CODE>KPADRead</CODE> function does not have valid data, it now returns the following error codes that distinguish the causes:
1538</p><p>
1539- <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
1540</p>
1541
1542<hr />
1543<h3><a name="note424" id="note424">Note 424 (MEM): Changed handling of the memory generated by data alignment in the extended heap</a></h3>
1544<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.
1545</p><p>
1546This 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.
1547</p><p>
1548By using the newly added function <CODE>MEMUseMarginOfAlignmentForExpHeap</CODE>, you can revert the extended heap's behavior back to its previous default.</p>
1549
1550<hr />
1551<h3><a name="note423" id="note423">Note 423 (MEM): Fixed a thread-safe bug in the extended heap's ASSERT processing</a></h3>
1552<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.
1553</p><p>
1554This was corrected by executing the ASSERT evaluation inside a critical section.</p>
1555
1556<hr />
1557<h3><a name="note422" id="note422">Note 422 (MIDI): The MIDI adapter library is now a library that is linked by default</a></h3>
1558<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.
1559</p><p>
1560MIDI 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.
1561</p><p>
1562If the program is not using any of this library's functions, it will be removed from the group of linked libraries at compile time.
1563</p>
1564
1565<hr />
1566<h3><a name="note421" id="note421">Note 421 (NAND): Updated the Function Reference Manual</a></h3>
1567<p>
1568Added 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.
1569</p><p>
1570Deleted <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.
1571</p><p>
1572Added an explanation of the result code passed to the callback function.</p>
1573
1574<hr />
1575<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>
1576<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:
1577</p><p>
1578<CODE>OSEnableCodeExecOnMEM2Lo8MB()<br> OSEnableCodeExecOnMEM2Lo16MB()</CODE>
1579</p><p>
1580In addition, these other functions have been added to prohibit code execution in specific regions of MEM1:
1581</p><p>
1582<CODE>OSDisableCodeExecOnMEM1Hi8MB()<br> OSDisableCodeExecOnMEM1Hi16MB()</CODE>
1583</p><p>
1584For more details, see the function reference manual.</p>
1585
1586<hr />
1587<h3><a name="note419" id="note419">Note 419 (OS): Added CRC calculation functions</a></h3>
1588<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>
1589
1590<hr />
1591<h3><a name="note418" id="note418">Note 418 (OS): Fixed <CODE>OSReturnToMenu</CODE></a></h3>
1592<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>
1593
1594<hr />
1595<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>
1596<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.
1597</p><p>
1598This problem has been corrected.
1599</p>
1600
1601<hr />
1602<h3><a name="note416" id="note416">Note 416 (OS): Updated the Function Reference</a></h3>
1603<p>
1604- <CODE>OSSetSaveRegion</CODE>: Added size-restriction information and information on valid functions
1605</p><p>- <CODE>OSGetSaveRegion</CODE>: Added information on valid functions
1606</p><p>- <CODE>OSGetSavedRegion</CODE>: Added information on valid functions</p>
1607
1608<hr />
1609<h3><a name="note415" id="note415">Note 415 (PAD): Privatized the <CODE>PADIsBarrel</CODE> function</a></h3>
1610<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>
1611
1612<hr />
1613<h3><a name="note414" id="note414">Note 414 (SC): Added the <CODE>SCCheckPCShoppingRestriction</CODE> function</a></h3>
1614<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;.
1615</p><p>
1616For details, see the document <CODE>/man/en_US/sc/SCCheckPCShoppingRestriction.html</CODE>.</p>
1617
1618<hr />
1619<h3><a name="note413" id="note413">Note 413 (WPAD): Changed specification for resetting origin of extension controller</a></h3>
1620<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>
1621
1622<hr />
1623<h3><a name="note412" id="note412">Note 412 (WPAD): Corrected stick clamp parameters</a></h3>
1624<p>Corrected a mistake in the range of the stick clamp.</p>
1625
1626<hr />
1627<h3><a name="note411" id="note411">Note 411 (WPAD): Revised the <CODE>WPADGetSyncType</CODE> function</a></h3>
1628<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>
1629
1630<hr />
1631<h3><a name="note410" id="note410">Note 410 (WPAD): Added function to reset the Wii Remote auto-disconnect timer</a></h3>
1632<p>The <CODE>WPADResetAutoSleepTimeCount</CODE> function has been added for resetting the Wii Remote's automatic disconnect timer.
1633</p>
1634
1635<hr />
1636<h3><a name="note409" id="note409">Note 409 (WPAD): Republished the functions for setting the Wii Remote features</a></h3>
1637<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>
1638
1639<hr />
1640<h3><a name="note408" id="note408">Note 408 (WPAD): Revised the <CODE>WPADDisconnect</CODE> function</a></h3>
1641<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.
1642<p></p>
1643This 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>
1644
1645<hr />
1646<h3><a name="note407" id="note407">Note 407 (WPAD): Added support for special controllers</a></h3>
1647<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>
1648
1649<hr />
1650<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>
1651<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>
1652Now, 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>
1653
1654<hr />
1655<h3><a name="note405" id="note405">Note 405 (WPAD): Privatized the <CODE>WPADSetDpdSensitivity</CODE> function</a></h3>
1656<p>The <CODE>WPADSetDpdSensitivity</CODE> function, which adjusts the sensitivity of the DPD, has been privatized to adjust sensitivity inside the Wii Menu.</p>
1657
1658<hr />
1659<h3><a name="note404" id="note404">Note 404 (WPAD): Deleted the sample demo <CODE>full_mode</CODE></a></h3>
1660<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>
1661
1662<hr />
1663<h3><a name="note403" id="note403">Note 403 (WPAD): Updated the Function Reference</a></h3>
1664<p>Revised the explanation in the Introduction and <CODE>WPADDisconnect</CODE> pages of how Wii Remote Controller ports are assigned.</p>
1665<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>
1666
1667<hr />
1668<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 />
1669<h3><a name="note402" id="note402">Note 402 (TOOL): Merged <CODE>setncountrycode</CODE> to <CODE>setcountrycode</CODE></a></h3>
1670<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>
1671<hr />
1672<h3><a name="note401" id="note401">Note 401 (OS): Eliminated a bug that prevented the reset code from being set</a></h3>
1673<p>This bug prevented the specified value from being applied, and caused <CODE>0x80000001</CODE> to always be returned.
1674</p><p>
1675This problem has been corrected.
1676</p>
1677
1678<hr />
1679<h3><a name="note400" id="note400">Note 400 (OS): Added a feature for recovering from screen burn-in reduction with RESET</a></h3>
1680<p>
1681When RESET is pressed, the normal state will be restored from the screen burn-in reduction state.
1682</p>
1683<p>This revision is included in the SDK since the 2007/05/09 release of the SDK, Version 3.0.</p>
1684
1685<hr />
1686<h3><a name="note399" id="note399">Note 399: Mod Chip Countermeasures</a></h3>
1687<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:
1688</p><p>
1689Error #001<br>Unauthorized device has been detected.
1690</p><p>
1691If customers inquire about this error, direct them to remove the mod chip from the Wii console.
1692</p>
1693
1694<hr />
1695<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 />
1696<h3><a name="note398" id="note398">Note 398 (WPAD): Removed feature setting functions for the Wii Remote from public availability</a></h3>
1697<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>
1698
1699<hr />
1700<h3><a name="note397" id="note397">Note 397 (WPAD): Updated the function reference manual and sample demos</a></h3>
1701<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:
1702<ul>
1703<li>&quot;Introduction&quot;</li>
1704<li>&quot;WPADRead&quot;</li>
1705<li>&quot;WPADStatus-Related&quot;</li>
1706</ul>
1707
1708The sample demos were also updated to match the updated information.</p>
1709
1710<hr />
1711<h3><a name="note396" id="note396">Note 396 (NAND): Revised the NANDSimpleSafeClose and NANDSafeClose functions</a></h3>
1712<p>
1713Revised inappropriate error codes that were being returned.
1714</p><p>
1715If 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>
1716
1717<hr />
1718<h3><a name="note395" id="note395">Note 395 (GX): Corrected a bug with the GXGetCPUFifo function</a></h3>
1719<p>
1720When <CODE>GXGetCPUFifo </CODE>was called, programs would freeze in certain conditions, but this has been corrected.</p>
1721
1722<hr />
1723<h3><a name="note394" id="note394">Note 394 (TOOL): Revisions to ndrun_prechecker</a></h3>
1724<p>The check process has been revised.
1725</p><p>
1726All titles that use Revolution SDK Extensions and Revolution DWC must use the extended firmware (former name: &quot;firmware for titles with network support&quot;).
1727</p><p>
1728After 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>
1729
1730<hr />
1731<h3><a name="note393" id="note393">Note 393 (OS): Changed the type of an argument to the OSInitStopwatch function</a></h3>
1732<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>
1733
1734<hr />
1735<h3><a name="note392" id="note392">Note 392 (OS): Changed the specifications of the OSSetResetCallback and OSSetPowerCallback functions</a></h3>
1736<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>
1737Also, 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>
1738
1739<hr />
1740<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>
1741<p>The reset operation was disabled while running <CODE>OSExec[l/v]</CODE>.</p>
1742
1743<hr />
1744<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 />
1745<h3><a name="note390" id="note390">Note 390 (TOOL): Fixed a defect in ndrun_prechecker.</a></h3>
1746<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>
1747<p>This problem has been corrected.</p>
1748
1749<hr />
1750<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 />
1751<h3><a name="note389" id="note389">Note 389 (TOOL): System firmware Version 35.4.16 release</a></h3>
1752<p>Released firmware for network-enabled titles.</p><p>
1753Update 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.
1754</p>
1755
1756<hr />
1757<h3><a name="note388" id="note388">Note 388 (TOOL): Updated the DEVKIT system menu</a></h3>
1758<p>The DEVKIT system menu now supports the latest version of firmware.
1759</p>
1760
1761<hr />
1762<h3><a name="note387" id="note387">Note 387 (OS): Relaxed size restrictions on programs that are loaded by default</a></h3>
1763<p>Expanded the size limitation from the prior 7 MB to 9 MB on programs that are loaded by default.</p>
1764
1765<hr />
1766<h3><a name="note386" id="note386">Note 386 (OS): Added information on functions that can put the current thread to sleep</a></h3>
1767<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>
1768
1769<hr />
1770<h3><a name="note385" id="note385">Note 385 (OS): Fixed a bug wherein boot cache determination would fail at application completion</a></h3>
1771<p>For certain conditions there was a problem that caused boot cache determination to fail when exiting the application.
1772</p><p>
1773This problem has been corrected.</p>
1774
1775<hr />
1776<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>
1777<p>There was a bug that caused OSFatal to behave incorrectly for applications created using NADK.
1778</p><p>
1779This problem has been corrected.</p>
1780
1781<hr />
1782<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>
1783<p>
1784There was a bug wherein input from the DK Bongos could not make the system recover from the active screen burn-in reduction state.
1785</p><p>
1786This problem has been corrected.</p>
1787
1788<hr />
1789<h3><a name="note382" id="note382">Note 382 (MIX, SEQ, SYN): Support for multiple initialization function invocations</a></h3>
1790<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>
1791
1792<hr />
1793<h3><a name="note381" id="note381">Note 381 (AXART): Added the AXARTRemoveArticulator function</a></h3>
1794<p>Added the <CODE>AXARTRemoveArticulator</CODE> function.</p><p>This function is used when removing an arbitrary articulator from an articulator list.</p>
1795
1796<hr />
1797<h3><a name="note380" id="note380">Note 380 (AXFX): Added reference pages for expansion functions (Exp-type)</a></h3>
1798<p>Added explanations to <CODE>AX_Applications.jp.pdf</CODE> and made function reference additions for the expansion functions (<CODE>Exp</CODE>).</p>
1799
1800<hr />
1801<h3><a name="note379" id="note379">Note 379 (DOC): Added a document related to the Dolby Pro Logic II license</a></h3>
1802<p>Added the following document related to the Dolby Pro Logic II license.</p>
1803<CODE>/docs/ja_JP/License/Dolby/DPL2_for_Wii_J.pdf</CODE>
1804</p><p>
1805Please check the content.</p>
1806
1807<hr />
1808<h3><a name="note378" id="note378">Note 378 (SC): Added a new function for checking the Parental Controls password</a></h3>
1809<p>
1810Added 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>
1811For details, refer to the function reference manual.</p>
1812
1813<hr />
1814<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 />
1815<h3><a name="note377" id="note377">Note 377 (TOOL): System firmware Version 33.4.16 release</a></h3>
1816<p>Update the system firmware (formerly NDEV firmware) after applying this patch and before running applications.
1817</p><p>
1818For instructions about updating the version, see the &quot;Installation Procedure&quot; section of the SDK's readme.
1819</p>
1820
1821<hr />
1822<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 />
1823<h3><a name="note376" id="note376">Note 376 (TOOL): System firmware Version 33.4.15 release</a></h3>
1824<p>Update system firmware (formerly NDEV firmware) after applying this patch and before running applications.
1825</p><p>
1826For instructions about updating the version, see the Installation Procedure section of the SDK's readme.
1827</p>
1828
1829<hr />
1830<h3><a name="note375" id="note375">Note 375 (TOOL): Added features to the DEVKIT system menu</a></h3>
1831<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>
1832
1833<hr />
1834<h3><a name="note374" id="note374">Note 374 (SC): Added a new function for getting Parental Controls information</a></h3>
1835<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;.
1836</p><p>
1837For more details, consult the man page for each function.</p>
1838
1839<hr />
1840<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>
1841<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>
1842This may occur for data of several megabytes or more that is unbalanced in a specific pattern.</p><p>
1843This problem has been corrected.</p>
1844
1845<hr />
1846<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>
1847<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.
1848</p><p>
1849This problem has been corrected.</p>
1850
1851<hr />
1852<h3><a name="note371" id="note371">Note 371 (RSO): Included the RSO package</a></h3>
1853<p>The RSO package has been included in the SDK; previously, it had been released separately.</p>
1854<p>
1855The 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>
1856
1857<hr />
1858<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 />
1859<h3><a name="note370" id="note370">Note 370 (TOOL): System firmware Version 33.4.14 release</a></h3>
1860<p>Update system firmware (formerly NDEV firmware) after applying this patch and before running applications.
1861</p><p>
1862For instructions about updating the version, see the Installation Procedure section of the SDK's readme.
1863</p>
1864
1865<hr />
1866<h3><a name="note369" id="note369">Note 369 (TOOL): Updated the DEVKIT system menu</a></h3>
1867<p>The DEVKIT system menu now supports the latest version of firmware.</p>
1868
1869<hr />
1870<h3><a name="note368" id="note368">Note 368 (KBD/KPR): Added Japanese language function reference manual</a></h3>
1871<p>Added the Function Reference Manual in Japanese.</p>
1872
1873<hr />
1874<h3><a name="note367" id="note367">Note 367 (KPAD): Added new play mode</a></h3>
1875<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.
1876</p><p>
1877With 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.
1878</p><p>
1879With 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.
1880</p><p>
1881In 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>
1882
1883<hr />
1884<h3><a name="note366" id="note366">Note 366 (WPAD): Added and deleted sample demos</a></h3>
1885<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.
1886</p><p>
1887The demos that were added and deleted are shown below.
1888</p><p>
1889Deleted: <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>
1890
1891<hr />
1892<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>
1893<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.
1894</p><p>
1895This bug was corrected by deleting <CODE>WPAD_SYNC_EVT_BUSY</CODE>.</p>
1896
1897<hr />
1898<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>
1899<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.
1900</p><p>
1901This problem has been corrected.</p>
1902
1903<hr />
1904<h3><a name="note363" id="note363">Note 363 (MAN): Changed format of the top page of Function Reference</a></h3>
1905<p>Partially changed the format of the top-level page of the Function Reference.</p>
1906
1907<hr />
1908<h3><a name="note362" id="note362">Note 362 (DVD): Updated automatic fatal error messages</a></h3>
1909<p>Updated the contents of the automatic fatal error messages.</p>
1910
1911<hr />
1912<h3><a name="note361" id="note361">Note 361 (VI): Added VIResetDimmingCount</a></h3>
1913<p>Added a function to reset the internal counter for screen burn-in reduction.
1914</p><p>
1915Caution must be taken when using this function. For details, refer to the function reference for <CODE>VIResetDimmingCount</CODE>.</p>
1916
1917<hr />
1918<h3><a name="note360" id="note360">Note 360 (MEM): Fixed a bug related to unlocking with MEMResizeForMBlockExpHeap()</a></h3>
1919<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.
1920</p><p>
1921This problem has been corrected.</p>
1922
1923<hr />
1924<h3><a name="note359" id="note359">Note 359 (AXFX): Corrected Early Reflection of AXFXReverbHi/AXFXReverbHiDpl2</a></h3>
1925<p>There was a bug that caused &quot;Early Reflection&quot; not to work in <CODE>AXFXReverbHi</CODE> and <CODE>AXFXReverbHiDpl2</CODE>.
1926</p><p>
1927This problem has been corrected.</p>
1928
1929<hr />
1930<h3><a name="note358" id="note358">Note 358 (AX): Corrected a bug related to execution of new DSP task during AXQuit()</a></h3>
1931<p>There had been cases when the following errors would occur when <CODE>AXQuit()</CODE> was called, depending on the timing.
1932</p><p>
1933DSPAssertTask():Specified task not in active task list!in &quot;dsp.c&quot; on line 620.
1934</p><p>
1935This 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.
1936</p><p>
1937This problem has been corrected.</p>
1938
1939<hr />
1940<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 />
1941<h3><a name="note357" id="note357">Note 357 (TOOL): System firmware Version 31.4.13 release</a></h3>
1942<p>Update the system firmware (formerly NDEV firmware) after applying this patch and before running applications.</p><p>
1943For instructions about updating the <CODE>versionRefer</CODE>, see the Installation Procedure section of the SDK's readme file.
1944</p>
1945
1946<hr />
1947<h3><a name="note356" id="note356">Note 356 (DVD) Corrected errors in manual</a></h3>
1948<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>
1949
1950<hr />
1951<h3><a name="note355" id="note355">Note 355 (KBD/KPR): Corrected a number of problems</a></h3>
1952<p>Made a number of corrections. For details, see the function reference manual.</p>
1953
1954<hr />
1955<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>
1956<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>
1957This problem was corrected.</p>
1958
1959<hr />
1960<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>
1961<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>
1962This 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>
1963
1964<hr />
1965<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 />
1966<h3><a name="note352" id="note352">Note 352 (TOOL): System firmware Version 31.4.12 release</a></h3>
1967<p>Update system firmware (formerly NDEV firmware) after applying this patch and before running applications.
1968</p><p>
1969For instructions about updating the version, see the Installation Procedure section of the SDK's readme.
1970</p>
1971
1972<hr />
1973<h3><a name="note351" id="note351">Note 351 (KBD/KPR): Corrected a number of problems</a></h3>
1974<p>Made a number of corrections. For details, see the function reference manual.
1975</p>
1976
1977<hr />
1978<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>
1979<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>
1980<p>
1981As a result, Wii Remotes that were registered using One Time Mode were able to connect even after the system was shut down and restarted.
1982</p><p>
1983This problem has been corrected.
1984</p>
1985
1986<hr />
1987<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>
1988<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>
1989
1990<hr />
1991<h3><a name="note348" id="note348">Note 348 (DEMO): Added a setting to allocate XFB in MEM2</a></h3>
1992<p>A setting was added to allocate XFB in MEM2.</p>
1993<p>
1994This setting can be enabled by stating that <CODE>DemoUseMEM2XFB=TRUE</CODE> before calling the <CODE>DEMOInit()</CODE> function.</p>
1995
1996<hr />
1997<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 />
1998<h3><a name="note347" id="note347">Note 347 (TOOL): System firmware Version 31.4.11 release</a></h3>
1999<p>Update system firmware (formerly NDEV firmware) after applying this patch and before running applications.
2000</p><p>
2001For instructions about updating the version, see the Installation Procedure section of the SDK's readme.
2002</p>
2003
2004<hr />
2005<h3><a name="note346" id="note346">Note 346 (TOOL): Corrected operation of ntcompress tool when acting to decompress illegal data</a></h3>
2006<p>There were occasions when the ntcompress program had crashed when illegal data was attempted to be extracted.</p><p>
2007This has been corrected so that an error will be displayed, and the program will exit normally.</p>
2008
2009<hr />
2010<h3><a name="note345" id="note345">Note 345 (KBD): Fixed a bug that prevented recovery from the screen burn-in reduction state</a></h3>
2011<p>There was a bug that caused the system not to recover from screen burn-in reduction state even after keyboard input.</p><p>
2012This problem has been corrected.</p>
2013
2014<hr />
2015<h3><a name="note344" id="note344">Note 344 (KBD/KPR): Made additions and corrections to API</a></h3>
2016<p>Additions and revisions were made to several functions. For details, see the <I>Function Reference Manual</I>.</p>
2017
2018<hr />
2019<h3><a name="note343" id="note343">Note 343 (WPAD): Changed the internal processing of WPADGetInfo(Async)</a></h3>
2020<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>
2021<p>
2022Due 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.
2023</p>
2024<p>*This revision is the same as the revision that was reported in SDK Version 2.4 Patch 6.</p>
2025
2026<hr />
2027<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>
2028<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>
2029<p>
2030This problem has been corrected.</p>
2031<p>*This revision is the same as the revision that was reported in SDK Version 2.4 Patch 6.</p>
2032
2033<hr />
2034<h3><a name="note341" id="note341">Note 341 (KPAD): Corrected error handling of the Wii Remote's controller data</a></h3>
2035<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>
2036<p>
2037This problem has been corrected.</p>
2038<p>*This revision is the same as the revision that was reported in SDK Version 2.4 Patch 6.</p>
2039
2040<hr />
2041<h3><a name="note340" id="note340">Note 340 (KPAD): Added functions to correct the Nunchuk motion sensor</a></h3>
2042<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>
2043<p>
2044The following functions were added for correction.<br>- KPADSetReviseMode()<br> - KPADReviseAcc()<br> - KPADGetReviseAngle()</p>
2045
2046<hr />
2047<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>
2048<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>
2049
2050<hr />
2051<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>
2052<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>
2053
2054<hr />
2055<h3><a name="note337" id="note337">Note 337 (CX): Added LZ77 extended compression</a></h3>
2056<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>
2057<p>
2058Note 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>
2059
2060<hr />
2061<h3><a name="note336" id="note336">Note 336 (CX): Added uncompression size specification for streaming uncompression</a></h3>
2062<p>The CXInitUncompContextRLFront, CXInitUncompContextLZFront, and CXInitUncompContextHuffmanFront functions were added as interfaces for specifying the data size to expand during streaming decompression.</p>
2063
2064<hr />
2065<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 />
2066<h3><a name="note335" id="note335">Note 335 (TOOL): System firmware Version 31.4.8 release</a></h3>
2067<p>Update the system firmware (formerly NDEV firmware) after applying this patch and before running applications.</p>
2068<p>
2069For instructions about updating the <CODE>versionRefer</CODE>, see the Installation Procedure section of the SDK's readme file.
2070</p>
2071
2072<hr />
2073<h3><a name="note334" id="note334">Note 334 (CX): Added functions for secure data uncompression</a></h3>
2074<p>Functions were added for carrying out processing while heeding buffer overruns. They are the following five:</p><p>
2075CXSecureUncompressAny()<br> CXSecureUncompressRL()<br> CXSecureUncompressLZ()<br> CXSecureUncompressHuffman()<br> CXSecureUnfilterDiff()<br>
2076</p>
2077
2078<hr />
2079<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 />
2080<h3><a name="note333" id="note333">Note 333 (TOOL): System firmware Version 31.4.7 release</a></h3>
2081<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>
2082
2083<hr />
2084<h3><a name="note332" id="note332">Note 332 (TOOL): Updated the DEVKIT system menu</a></h3>
2085<p>Upgraded the DEVKIT system menu to version 1.13. </p><p>
2086To the DEVKIT system menu, added the support for version 31 of the firmware. </p>
2087
2088<hr />
2089<h3><a name="note331" id="note331">Note 331 (KPAD): Added functions for getting parameters</a></h3>
2090<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>
2091In addition, we added the corresponding function references. </p>
2092
2093<hr />
2094<h3><a name="note330" id="note330">Note 330 (KPAD): Made the KPADInit function non-blocking</a></h3>
2095<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>
2096As before, KPAD library functions can be called after the <CODE>KPADInit</CODE> function. </p>
2097
2098<hr />
2099<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>
2100<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>
2101
2102<hr />
2103<h3><a name="note328" id="note328">Note 328 (WPAD): Changed specifications for simple pairing</a></h3>
2104<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>
2105There 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>
2106However, 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>
2107
2108<hr />
2109<h3><a name="note327" id="note327">Note 327 (WPAD): Changed specifications for the WPADAttach(detach)DummyExtension functions</a></h3>
2110<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>
2111For 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>
2112
2113<hr />
2114<h3><a name="note326" id="note326">Note 326 (WPAD): Corrected shifts in each coordinate axis of the DPD module</a></h3>
2115<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.
2116</p><p>
2117The 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>
2118
2119<hr />
2120<h3><a name="note325" id="note325">Note 325 (NAND): Added a function for getting the usage status of /tmp</a></h3>
2121<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.
2122</p>
2123
2124<hr />
2125<h3><a name="note324" id="note324">Note 324 (NAND): Added a function for getting the usage status of the home directory</a></h3>
2126<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.
2127</p>
2128
2129<hr />
2130<h3><a name="note323" id="note323">Note 323 (NAND): Added functions of type NANDSimpleSafe</a></h3>
2131<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>
2132
2133<hr />
2134<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>
2135<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>
2136
2137<hr />
2138<h3><a name="note321" id="note321">Note 321 (PAD): Pulled the <I>simple</I> demo</a></h3>
2139<p>Among the sample demos for the PAD library, the <CODE>simple</CODE> demo's release was stopped for the following reasons: </p>
2140<p>
2141- 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>
2142
2143<hr />
2144<h3><a name="note320" id="note320">Note 320 (KPAD): Added the keyboard library</a></h3>
2145<p>Added the keyboard library.</p><p>
2146Added a library for using USB keyboards. </p>
2147
2148<hr />
2149<h3><a name="note319" id="note319">Note 319 (MAN): Corrected broken links in the function reference manual</a></h3>
2150<p>There were several broken links in the Function Reference Manual.
2151</p><p>
2152This problem has been corrected. </p>
2153
2154<hr />
2155<h3><a name="note318" id="note318">Note 318 (OS): Added the function reference for OSGetAppType</a></h3>
2156<p>Released the <CODE>OSGetAppType</CODE> function, which had only been used internally. </p>
2157<p>This function is used for getting the game type. For further details, see the OSGetAppType page of the Function Reference. </p>
2158
2159<hr />
2160<h3><a name="note317" id="note317">Note 317 (MIDI): Added the MIDI adapter library</a></h3>
2161<p>
2162Added a library for using MIDI adapters. </p>
2163<p>
2164MIDI 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>
2165
2166<hr />
2167<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 />
2168<h3><a name="note320" id="note320">Note 320 (KPAD): Corrected error handling of the Wii Remote's controller data</a></h3>
2169<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>
2170
2171<hr />
2172<h3><a name="note319" id="note319">Note 319 (WPAD): Changed the internal processing of WPADGetInfo(Async)</a></h3>
2173<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>
2174<p>
2175Due 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>
2176
2177<hr />
2178<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>
2179<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>
2180This problem has been corrected.</p>
2181
2182<hr />
2183<h3><a name="note317" id="note317">Note 317 (WPAD): Changed specifications for the WPADAttach(detach)DummyExtension functions</a></h3>
2184<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>
2185<p>
2186For 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>
2187
2188<hr />
2189<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 />
2190<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>
2191<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>
2192<p>
2193This bug was introduced with the corrections for SDK 2.4 patch 4. For this reason, it is not present in the earlier SDKs. </p>
2194<p>
2195This problem has been corrected.</p>
2196
2197<hr />
2198<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 />
2199<h3><a name="note315" id="note315">Note 315 (NAND): Updated the function reference manual</a></h3>
2200<p>Added a note about handling of BUSY-related error codes to the &quot;Processing Sequence&quot; page.</p>
2201
2202<hr />
2203<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>
2204<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>
2205
2206<hr />
2207<h3><a name="note313" id="note313">Note 313 (KPAD): Corrected errors in manuals</a></h3>
2208<p>Corrected errors in the manuals of the <CODE>KPADEnableStickCrossClamp</CODE> and <CODE>KPADDisableStickCrossClamp</CODE> functions. These functions have no arguments.
2209</p>
2210
2211<hr />
2212<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>
2213<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.
2214</p><p>
2215Revised the sample demo along with this.
2216</p>
2217
2218<hr />
2219<h3><a name="note311" id="note311">Note 311 (KPAD): Fixed a bug related to maximum stored data passed to KPADRead</a></h3>
2220<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>
2221<p>
2222This problem has been corrected.
2223</p>
2224
2225<hr />
2226<h3><a name="note310" id="note310">Note 310 (WPAD): Updated Function Reference</a></h3>
2227<p>The following content was added to the &quot;Introduction&quot; page.
2228</p><p>
2229- 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>
2230</p>
2231
2232<hr />
2233<h3><a name="note309" id="note309">Note 309 (WPAD): To a tool added Wii Remote memory initialization</a></h3>
2234<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.
2235</p>
2236
2237<hr />
2238<h3><a name="note308" id="note308">Note 308 (WPAD): Fixed a bug in the system's Bluetooth wireless module</a></h3>
2239<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.
2240</p><p>
2241This problem has been corrected.</p>
2242
2243<hr />
2244<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>
2245<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>
2246<p>
2247This problem has been corrected.</p>
2248
2249<hr />
2250<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>
2251<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>
2252<p>
2253This problem has been corrected.
2254</p>
2255
2256<hr />
2257<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>
2258<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>
2259<p>
2260This has been corrected so that the Player Indicators will go off immediately after disconnection.</p>
2261
2262<hr />
2263<h3><a name="note304" id="note304">Note 304 (WPAD): Changed the amount of time before signal interference causes a disconnect</a></h3>
2264<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.
2265</p>
2266
2267<hr />
2268<h3><a name="note303" id="note303">Note 303 (WPAD): Added functions for debugging external extension controller processing</a></h3>
2269<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>
2270<p>
2271However, 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.
2272</p>
2273
2274<hr />
2275<h3><a name="note302" id="note302">Note 302 (WPAD): Updated the sample demos</a></h3>
2276<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>
2277
2278<hr />
2279<h3><a name="note301" id="note301">Note 301 (DVD): Corrected automatic fatal error messages</a></h3>
2280<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>
2281
2282<hr />
2283<h3><a name="note300" id="note300">Note 300 (DOC): Added the contact information for the Roland Corporation's licensing department</a></h3>
2284<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>
2285<p><CODE>docs/en_US/License/Roland/Roland_contact_info.txt</CODE></p>
2286
2287<hr />
2288<h3><a name="note299" id="note299">Note 290 (OS): Added the function reference for OSGetAppGamename</a></h3>
2289<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.
2290</p>
2291
2292<hr />
2293<h3><a name="note298" id="note298">Note 298 (OS): Made fixes for debugging of relocatable module</a></h3>
2294<p>The OS library was corrected for debugging of relocatable modules (REL).
2295</p>
2296
2297<hr />
2298<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>
2299<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.
2300</p><p>
2301This problem has been corrected.</p>
2302
2303<hr />
2304<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 />
2305<h3><a name="note296" id="note296">Note 296 (TOOL): System firmware Version 21.2.2 release</a></h3>
2306<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>
2307
2308<hr />
2309<h3><a name="note295" id="note295">Note 295 (TOOL): Added features to the DEVKIT system menu</a></h3>
2310<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>
2311
2312<hr />
2313<h3><a name="note294" id="note294">Note 294 (TOOL): Corrected features in the DEVKIT system menu</a></h3>
2314<p>The following features of the DEVKIT system menu were corrected:
2315</p>
2316<p>
2317- Changed so that the log is always output to the screen<br>- Revised the content displayed on the screen</p>
2318
2319<hr />
2320<h3><a name="note293" id="note293">Note 293 (ENC): Corrected a problem where the returned number of converted characters was incorrect</a></h3>
2321<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>
2322
2323<hr />
2324<h3><a name="note292" id="note292">Note 292 (ENC): Added a conversion table stripping feature</a></h3>
2325<p>Added a feature to strip any unnecessary Japanese conversion tables.</p>
2326
2327<hr />
2328<h3><a name="note291" id="note291">Note 291 (ENC): Added/revised manuals and demos</a></h3>
2329<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>
2330
2331<hr />
2332<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 />
2333<h3><a name="note290" id="note290">Note 290 (OS): Added a description to the function reference for OSInitFastCast</a></h3>
2334<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>
2335
2336<hr />
2337<h3><a name="note289" id="note289">Note 289 (FNT): Added the FNT library</a></h3>
2338<p>A library for using Wii bitmap fonts, the FNT library has been added.</p>
2339<p>For details, see the function reference for the FNT library.</p>
2340
2341<hr />
2342<h3><a name="note288" id="note288">Note 288 (HIO2): Corrected a problem that occurred when HIO2Init was called multiple times</a></h3>
2343<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>
2344<p>This problem has been corrected.</p>
2345
2346<hr />
2347<h3><a name="note287" id="note287">Note 287 (HIO2): Revised the function reference for HIO2EnumDevices</a></h3>
2348<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>
2349<p>
2350The function reference has been revised.</p>
2351
2352<hr />
2353<h3><a name="note286" id="note286">Note 286 (THP): Revised THPConv(D).exe such that it would not perform sampling during execution</a></h3>
2354<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>
2355<p>
2356<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>
2357
2358<hr />
2359<h3><a name="note285" id="note285">Note 285 (THP): Revised a description related to playback frequency to match that of Wii</a></h3>
2360<p>Notes related to the playback frequency of audio data when creating THP data have been revised to match Wii specifications.</p>
2361<p>
2362Unlike the GameCube, with the Wii, audio data is output at a set playback frequency (of 48,000 Hz or 32,000 Hz).</p>
2363
2364<hr />
2365<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>
2366<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.
2367</p><p>
2368This problem has been fixed.</p>
2369
2370<hr />
2371<h3><a name="note283" id="note283">Note 283 (AX): Updated the AX Application manual</a></h3>
2372<p>Descriptions in the &quot;AX Application&quot; manual (<CODE>AX_Applications.jp.pdf</CODE>) have been updated to match Revolution SDK specifications.</p>
2373
2374<hr />
2375<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>
2376<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>
2377<p>
2378Since 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.
2379</p><p>
2380This problem has been corrected.</p>
2381
2382<hr />
2383<h3><a name="note281" id="note281">Note 281 (WPAD): Corrected the range of stick values given for WPADCLStatus</a></h3>
2384<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>
2385
2386<hr />
2387<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>
2388<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>
2389
2390<hr />
2391<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 />
2392<h3><a name="note279" id="note279">Note 279 (AX): Revised the DSP load estimate again</a></h3>
2393<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>
2394<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>
2395<p>
2396However, 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>
2397<p>
2398The method of estimating the DSP load was therefore revised again.</p><p>
2399- 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>
2400</p><p>
2401Even 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.
2402</p><p>Particular attention must be paid when using <CODE>OSReport()</CODE> in debugging.
2403</p><p>
2404<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.
2405</p><p>
2406The amount of interrupt delay associated with this revision is based on the information described above.</p>
2407
2408<hr />
2409<h3><a name="note278" id="note278">Note 278 (AX): Corrected a problem where the mixing volume would not update correctly</a></h3>
2410<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>
2411<p>
2412- 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>
2413</p><p>
2414This problem has been fixed.</p>
2415
2416<hr />
2417<h3><a name="note277" id="note277">Note 277 (NAND): Added a description of the prohibition on frequent Read access</a></h3>
2418<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>
2419
2420<hr />
2421<h3><a name="note276" id="note276">Note 276 (TOOL): Added the wpad_mem_util tool</a></h3>
2422<p>The function <CODE>wpad_mem_util </CODE>has been added to tools.</p>
2423<p>
2424Used 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.
2425</p><p>
2426Use this utility when debugging applications that use Wii Remote memory.</p>
2427
2428<hr />
2429<h3><a name="note275" id="note275">Note 275 (OS): Corrected a bug that occurred when the OSFatal function was run from callback</a></h3>
2430<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>
2431
2432<hr />
2433<h3><a name="note274" id="note274">Note 274 (OS): Revised debug message during the reset and shutdown process</a></h3>
2434<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>
2435CallbackAsyncIpc:ret = 0</p>
2436
2437<hr />
2438<h3><a name="note273" id="note273">Note 273 (OS): Stop WiiConnect24 operations by default</a></h3>
2439<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>
2440<p>
2441Although 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.
2442</p><p>
2443Furthermore, the function <CODE>NWC24ResumeScheduler</CODE> for starting this automatic processing and NWC24SuspendScheduler, for stopping it, have been added.</p>
2444
2445<hr />
2446<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 />
2447<h3><a name="note272" id="note272">Note 272 (TOOL): System firmware Version 17.2.0 release</a></h3>
2448<p>Update the system firmware (formerly NDEV firmware) after applying this patch and before running applications. </p>
2449<p>
2450Run the update program by starting a Bourne-again shell (bash) and entering &quot;fwupdate17_2_0&quot;.
2451</p><p>
2452If 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.
2453</p><p>
2454If any versions are already higher than this, the update will fail after displaying &quot;Import: *** ...failed&quot;, but you can continue without any problems.
2455</p>
2456
2457<hr />
2458<h3><a name="note271" id="note271">Note 271 (TOOL): Fixed bugs in the DEVKIT system menu save-data controls</a></h3>
2459<p>The following bugs were corrected in the DEVKIT System Menu save-data operations:</p>
2460<p>
2461- Could not get the application type from the settings file.<br>- With some operations, the process would hang when copying data.</p>
2462
2463<hr />
2464<h3><a name="note270" id="note270">Note 270 (MIX): Corrected forgotten initialization of the MIXChannel structure members</a></h3>
2465<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>
2466<p>
2467This problem has been resolved.</p>
2468
2469<hr />
2470<h3><a name="note269" id="note269">Note 269 (AX): Implemented mixer control for the Wii Remote speaker</a></h3>
2471<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>
2472
2473<hr />
2474<h3><a name="note268" id="note268">Note 268 (AX): Implemented LPF and biquad filters for audio output from the controller speaker</a></h3>
2475<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.
2476</p><p>
2477For details, read the AX man page.</p>
2478
2479<hr />
2480<h3><a name="note267" id="note267">Note 267 (AX): Deleted temporary implementation of HPF and added a biquad filter</a></h3>
2481<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>
2482
2483<hr />
2484<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>
2485<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>
2486<p>
2487Since the AX did not take this delay into consideration previously, there were cases where the DSP load was not correctly estimated.</p>
2488<p>
2489This problem has been resolved. However, the fix reduces the average number of AX voices by about six voices.</p>
2490
2491<hr />
2492<h3><a name="note265" id="note265">Note 265 (AX/SEQ/SP/SYN): Removed zero buffer</a></h3>
2493<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>
2494
2495<hr />
2496<h3><a name="note264" id="note264">Note 264 (WPAD): Added the WPADControlExtGimmick function</a></h3>
2497<p>This function sends general-purpose commands to an external extension controller, which is connected to the Wii Remote, for its unique processes.
2498</p><p>
2499The 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>
2500
2501<hr />
2502<h3><a name="note263" id="note263">Note 263 (WPAD): Canceled the restriction mentioned in Note 163</a></h3>
2503<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>
2504
2505<hr />
2506<h3><a name="note262" id="note262">Note 262 (WPAD): Changed specifications during simple pairing when reconnecting an already paired remote</a></h3>
2507<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>
2508<p>
2509As for Normal Pairing, the process is the same as before, allowing the reconnection of paired Wii Remotes during Normal Pairing.</p>
2510
2511<hr />
2512<h3><a name="note261" id="note261">Note 261 (WPAD): Fixed a bug where updates of autosampling would fail</a></h3>
2513<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.
2514</p><p>
2515This problem has been corrected.</p>
2516
2517<hr />
2518<h3><a name="note260" id="note260">Note 260 (WPAD): Fixed a bug causing registration information to be erased</a></h3>
2519<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>
2520<p>
2521This problem has been corrected.</p>
2522
2523<hr />
2524<h3><a name="note259" id="note259">Note 259 (CARD): Revised the CARDMount[Async] function</a></h3>
2525<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.
2526</p><p>
2527This problem has been corrected.</p>
2528
2529<hr />
2530<h3><a name="note258" id="note258">Note 258 (NAND): Changed the order in which the save data banner is created</a></h3>
2531<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>
2532
2533<hr />
2534<h3><a name="note257" id="note257">Note 257 (NAND): Added a guard mechanism when opening or closing files</a></h3>
2535<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>
2536
2537<hr />
2538<h3><a name="note256" id="note256">Note 256 (NAND): Prohibited the creation of files and directories by an owner without read privileges</a></h3>
2539<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.
2540</p><p>
2541The information will also be placed in the next release of the <I>Guidelines</I>.
2542</p>
2543
2544<hr />
2545<h3><a name="note255" id="note255">Note 255 (NAND): Corrected instructions on using the NANDGetAvailableArea[Async] function</a></h3>
2546<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>
2547
2548<hr />
2549<h3><a name="note254" id="note254">Note 254 (NAND): Corrected a mistake in the description of the NANDSetStatus[Async] function</a></h3>
2550<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>
2551
2552<hr />
2553<h3><a name="note253" id="note253">Note 253 (CX): Added a decompress option to the ntcompress tool</a></h3>
2554<p>The -x option has been added to the ntcompress tool for uncompression of a compressed file on the PC.
2555</p><p>
2556For details, read the Tools -&gt; ntcompress section in the <I>Function Reference Manual</I>.</p>
2557
2558<hr />
2559<h3><a name="note252" id="note252">Note 252 (CX): Expanded alignment options of the ntcompress tool</a></h3>
2560<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>
2561<p>
2562For details, read the Tools -&gt; ntcompress section in the <I>Function Reference Manual</I>.</p>
2563
2564<hr />
2565<h3><a name="note251" id="note251">Note 251 (ENC): Revised conversion rules</a></h3>
2566<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>
2567
2568<hr />
2569<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 />
2570<h3><a name="note250" id="note250">Note 250 (TOOL): System firmware Version 15.1.1 release</a></h3>
2571<p>Update the system firmware (formerly NDEV firmware) after applying this patch and before running applications. </p>
2572<p>
2573The update program is executed by starting a Bourne-again shell (bash) and entering &quot;fwupdate15_1_1&quot;.
2574</p><p>
2575If 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.
2576</p><p>
2577If any versions are already higher than this, the update will fail after displaying &quot;Import: *** ...failed&quot;, but you can continue without any problems.
2578</p>
2579
2580<hr />
2581<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 />
2582<h3><a name="note249" id="note249">Note 249 (TOOL): System firmware Version 13.0.10 release</a></h3>
2583<p>Update the system firmware (formerly NDEV firmware) after applying this patch and before running applications. </p>
2584<p>
2585Run the update program by starting a Bourne-again shell (bash) and entering &quot;fwupdate13010&quot;.
2586</p><p>
2587If 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.
2588</p><p>
2589If any versions are already higher than this, the update will fail after displaying &quot;Import: *** ...failed&quot;, but you can continue without any problems.
2590</p>
2591
2592<hr />
2593<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 />
2594<h3><a name="note248" id="note248">Note 248 (TOOL): System firmware Version 13.0.9 release </a></h3>
2595<p>Update the system firmware (formerly NDEV firmware) after applying this patch and before running applications. </p>
2596<p>
2597Run the update program by starting a Bourne-again shell (bash) and entering &quot;fwupdate1309&quot;.
2598</p><p>
2599If 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.
2600</p><p>
2601If any versions are already higher than this, the update will fail after displaying &quot;Import: *** ...failed&quot;, but you can continue without any problems.
2602</p>
2603
2604<hr />
2605<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 />
2606<h3><a name="note247" id="note247">Note 247 (TOOL): System firmware Version 13.0.8 release</a></h3>
2607<p>Update the system firmware (formerly NDEV firmware) after applying this patch and before running applications. </p>
2608<p>
2609Run the update program by starting a Bourne-again shell (bash) and entering &quot;fwupdate1308&quot;.
2610</p><p>
2611If 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.
2612</p><p>
2613If any versions are already higher than this, the update will fail after displaying &quot;Import: *** ...failed&quot;, but you can continue without any problems.
2614</p>
2615
2616<hr />
2617<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 />
2618<h3><a name="note246" id="note246">Note 246 (TOOL): System firmware Version 13.0.7 release.</a></h3>
2619<p>Update the system firmware (formerly NDEV firmware) after applying this patch and before running applications. </p>
2620<p>
2621The update program is run by starting a Bourne-again shell (bash) and entering &quot;fwupdate1307&quot;.
2622</p><p>
2623If 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.
2624</p><p>
2625If any versions are already higher than this, the update will fail after displaying &quot;Import: *** ...failed&quot;, but you can continue without any problems.
2626</p>
2627
2628<hr />
2629<h3><a name="note245" id="note245">Note 245 (ENC): Fixed a character conversion problem in the private memory area.</a></h3>
2630<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>
2631
2632<hr />
2633<h3><a name="note244" id="note244">Note 244 (ENC): Fixed a bug in the read/write size.</a></h3>
2634<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>
2635
2636<hr />
2637<h3><a name="note243" id="note243">Note 243 (ENC): Reduced the table size.</a></h3>
2638<p>The size of the table used by the ENC library has been reduced.</p>
2639
2640<hr />
2641<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 />
2642<h3><a name="note242" id="note242">Note 242 (TOOL): NDEV firmware Version 12.06 release.</a></h3>
2643<p>Update the NDEV firmware after applying this patch and before running applications. </p>
2644<p>
2645Run the update program by starting a Bourne-again shell (bash) and entering &quot;fwupdate1206&quot;.
2646</p><p>
2647If 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.
2648</p><p>
2649If any versions are already higher than this, the update will fail after displaying &quot;Import: *** ...failed&quot;, but you can continue without any problems.
2650</p>
2651
2652<hr />
2653<h3><a name="note241" id="note241">Note 241 (ENC): Added support for additional character encodings.</a></h3>
2654<p>Inter-conversion between Windows-1252 and UTF-16BE is now supported.</p>
2655<p>
2656For details on the supported character encodings, see the ENC Function Introduction.</p>
2657
2658<hr />
2659<h3><a name="note240" id="note240">Note 240 (NAND): Added a result code for synchronous functions.</a></h3>
2660<p>(Information left out from the SDK Version 2.3 Release Notes)</p>
2661<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>
2662<p>
2663View 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>
2664<p>
2665This information is not currently found in the function reference manual. The manual will be revised in the next release.</p>
2666
2667<hr />
2668<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 />
2669<h3><a name="note239" id="note239">Note 239 (TOOL): NDEV firmware Version 12.05 release.</a></h3>
2670<p>Update the NDEV firmware after applying this patch and before running applications. </p>
2671<p>
2672Run the update program by starting a Bourne-again shell (bash) and entering &quot;fwupdate1205&quot;.
2673</p><p>
2674If 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.
2675</p><p>
2676If any versions are already higher than this, the update will fail after displaying &quot;Import: *** ...failed&quot;, but you can continue without any problems.
2677</p>
2678
2679<hr />
2680<h3><a name="note238" id="note238">Note 238 (WPAD): Fixed the inconsistent pairing format between the Wii console and the Wii Remote.</a></h3>
2681<p>The problem with inconsistent pairing format between the Wii console and the Wii Remote has been corrected.</p>
2682<p>
2683This bug was seen when a simple pairing was performed in the following way:
2684</p><p>
26851. 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>
2686</p>
2687In 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>
2688
2689<hr />
2690<h3><a name="note237" id="note237">Note 237 (WPAD): Revised the pairing method when the maximum number of devices is already paired.</a></h3>
2691<p>The method by which a new controller is paired when the maximum number of devices are already paired has been revised.</p>
2692<p>
2693Implementing this new method has corrected the problem, so a new controller can be connected in place of the device that was connected at first.
2694</p>
2695
2696<hr />
2697<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>
2698<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.
2699</p>
2700<p>
2701When converting from ISO-8859-1 to internal encoding, the conversion is handled as Windows-1252, as before.
2702</p>
2703
2704<hr />
2705<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 />
2706<h3><a name="note235" id="note235">Note 235 (TOOL): NDEV firmware Version 12.03 release.</a></h3>
2707<p>Update the NDEV firmware after applying this patch and before running applications. </p>
2708<p>
2709Run the update program by starting a Bourne-again shell (bash) and entering &quot;fwupdate1203&quot;.
2710</p><p>
2711If 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.
2712</p><p>
2713If any versions are already higher than this, the update will fail after displaying &quot;Import: *** ...failed&quot;, but you can continue without any problems.
2714</p>
2715
2716<hr />
2717<h3><a name="note234" id="note234">Note 234: Changed the file for the SDK version information.</a></h3>
2718<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>
2719
2720<hr />
2721<h3><a name="note233" id="note233">Note 233 (SC): Added internal configuration items for the system menu.</a></h3>
2722<p>A private function used only in the system menu has been added to the SC library.
2723</p>
2724
2725<hr />
2726<h3><a name="note232" id="note232">Note 232 (KPAD): Fixed a bug with the acceleration tracking process.</a></h3>
2727<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>
2728<p>
2729This problem has been corrected.</p>
2730
2731<hr />
2732<h3><a name="note231" id="note231">Note 231 (ENC): Added a convertible character encoding and determination function.</a></h3>
2733<p>A function has been added for determining the character encoding convertible from the internal encoding, based on the selected conversion candidate.</p>
2734
2735<hr />
2736<h3><a name="note230" id="note230">Note 230 (ENC): Added the conversion context for use in character code conversion.</a></h3>
2737<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>
2738
2739<hr />
2740<h3><a name="note229" id="note229">Note 229 (ENC): Added support for additional character encodings.</a></h3>
2741<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>
2742<p>
2743Conversion 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>
2744<p>
2745For details on the supported character encodings, see the ENC Function Introduction.</p>
2746
2747<hr />
2748<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 />
2749<h3><a name="note228" id="note228">Note 228 (TOOL): Revised the fwupdate script name and carriage return.</a></h3>
2750<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>
2751
2752<hr />
2753<h3><a name="note227" id="note227">Note 227 (TOOL): Corrected the firmware build date that is output when running the fwupdate1202 script.</a></h3>
2754<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>
2755
2756<hr />
2757<h3><a name="note226" id="note226">Note 226 (VI): Reinstated the VIEnableDimming function.</a></h3>
2758<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>
2759
2760<hr />
2761<h3><a name="note225" id="note225">Note 225 (VI): Added the VISetTimeToDimming function.</a></h3>
2762<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>
2763
2764<hr />
2765<h3><a name="note224" id="note224">Note 224 (VI): Removed the VI[Set/Get]ScreenSaverMode function.</a></h3>
2766<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>
2767
2768<hr />
2769<h3><a name="note223" id="note223">Note 223 (MAN): Corrected several broken links in the manual.</a></h3>
2770<p>Fixed the broken links in the Audio, PAD, VI, and WPAD library manuals.</p>
2771
2772<hr />
2773<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 />
2774<h3><a name="note222" id="note222">Note 222 (TOOL): NDEV firmware Version 12.02 release.</a></h3>
2775<p>Update the NDEV firmware after applying this patch and before running applications. </p>
2776<p>
2777The update program is run by opening a Bourne-again shell (bash) and entering &quot;fwupdate&quot;.
2778</p><p>
2779If 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.
2780</p><p>
2781If any versions are already higher than this, the update will fail after displaying &quot;Import: *** ...failed&quot;, but you can continue without any problems.
2782</p>
2783
2784<hr />
2785<h3><a name="note221" id="note221">Note 221 (TOOL): Added a configuration file for save-data controls.</a></h3>
2786<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.
2787</p>
2788
2789<hr />
2790<h3><a name="note220" id="note220">Note 220 (TOOL): Fixed bugs in the system menu save-data controls.</a></h3>
2791<p>The following bugs have been found in the DEVKIT system menu save data:
2792</p><p>
2793- 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.
2794</p><p>
2795This problem has been corrected.
2796</p>
2797
2798<hr />
2799<h3><a name="note219" id="note219">Note 219 (TOOL): Added support for the Wii Remote in the system menu.</a></h3>
2800<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>
2801
2802<hr />
2803<h3><a name="note218" id="note218">Note 218 (TOOL): Fixed a bug in cardedit[D].elf.</a></h3>
2804<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.
2805</p><p>
2806This problem has been corrected.</p>
2807
2808<hr />
2809<h3><a name="note217" id="note217">Note 217 (KPAD): Released the KPAD library Version 2.</a></h3>
2810<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>
2811<p>
2812The new library has the following characteristics:
2813</p><p>
2814- 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>
2815</p>
2816<p>
2817See the Introduction to the <I>Function Reference Manual</I> for details.</p>
2818
2819<hr />
2820<h3><a name="note216" id="note216">Note 216 (KPADOld): Fixed a memory-corruption bug that appeared when using Classic Controllers.</a></h3>
2821<p>The buffer index was incremented before the sampling buffer data scan only when using the Classic Controller, resulting in occasional memory corruption.</p>
2822<p>
2823This problem has been corrected.
2824</p><p>
2825The KPAD library version from before Revolution SDK Version 2.3 has been renamed to <CODE>KPADOld</CODE> library.</p>
2826
2827<hr />
2828<h3><a name="note215" id="note215">Note 215 (SC): Ended disclosure of WPAD library&ndash;specific functions.</a></h3>
2829<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):
2830</p><p>
2831<CODE> SCGetWpadMotorMode()<br> SCGetWpadSensorBarPosition()<br> SCGetWpadSpeakerVolume()<br> SCSetWpadMotorMode()<br> SCSetWpadSensorBarPosition()<br> SCSetWpadSpeakerVolume()<br></CODE>
2832</p><p>
2833See &quot;No Longer Disclosed Functions&quot; in the <I>Function Reference Manual</I> for details.</p><p>
2834If you have already submitted the Master ROM for an application, resubmission is not necessary.</p>
2835
2836<hr />
2837<h3><a name="note214" id="note214">Note 214 (SC): Ended disclosure of sound/video mode&ndash;related console setting change functions.</a></h3>
2838<p>Changing the setting items for the console setting sound/video mode from the application is now prohibited.</p>
2839<p>
2840The following functions are no longer disclosed and have been removed from the header file (<CODE>/include/revolution/sc.h</CODE>):
2841</p><p>
2842<CODE> SCSetSoundMode()<br> SCSetProgressiveMode()<br> SCSetEuRgb60Mode()<br></CODE>
2843</p><p>
2844See &quot;No Longer Disclosed Functions&quot; in the <I>Function Reference Manual</I> for details.</p><p>
2845If 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>
2846
2847<hr />
2848<h3><a name="note213" id="note213">Note 213 (WPAD): Added the WPADGetDpdFormat function.</a></h3>
2849<p>This function retrieves the mode in which the pointer for the Wii Remote operates.</p>
2850
2851<hr />
2852<h3><a name="note212" id="note212">Note 212 (WPAD): Eliminated the WPADShutdown and the WPADReconnect functions.</a></h3>
2853<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.
2854</p><p>
2855Because the shutdown/reset functions call these functions internally, calling these functions before the internal call causes this problem.
2856</p><p>
2857Changes 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>
2858
2859<hr />
2860<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>
2861<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>
2862<p>
2863The reset/shutdown process has been changed to wait for pairing or removal of the pairing information to complete.</p>
2864
2865<hr />
2866<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>
2867<p>When <CODE>WPAD_SPEAKER_OFF</CODE> was sent using the <CODE>WPADControlSpeaker</CODE> function, a completion notification callback was called twice.
2868</p><p>
2869This problem has been corrected.</p>
2870
2871<hr />
2872<h3><a name="note209" id="note209">Note 209 (WPAD): Added a speaker reset command.</a></h3>
2873<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>
2874
2875<hr />
2876<h3><a name="note208" id="note208">Note 208 (WPAD): Fixed the misalignment of the origin on the Classic Controller L Stick.</a></h3>
2877<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>.
2878</p><p>
2879This problem has been corrected.
2880</p>
2881
2882<hr />
2883<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>
2884<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.
2885</p><p>
2886When using the KPAD library, the pointed location sometimes shifted when inserting/removing an extension controller.
2887</p><p>
2888This problem has been corrected.</p>
2889
2890<hr />
2891<h3><a name="note206" id="note206">Note 206 (OS): Revised the OSRestart function and the OSExecl or OSExecv function.</a></h3>
2892<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>
2893
2894<hr />
2895<h3><a name="note205" id="note205">Note 205 (PAD): Added support for hot-swapping in the basic and cont demos.</a></h3>
2896<p>Added support for hot-swapping in the basic and the cont demo.</p>
2897
2898<hr />
2899<h3><a name="note204" id="note204">Note 204 (DOC): Updated the operating system programming manual.</a></h3>
2900<p>The programming manual of the operation system library has been updated.</p>
2901
2902<hr />
2903<h3><a name="note203" id="note203">Note 203 (NAND): Revised the banner sample demo.</a></h3>
2904<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>
2905
2906<hr />
2907<h3><a name="note202" id="note202">Note 202 (NAND): Added the NANDGetAvailableArea[Async] function.</a></h3>
2908<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>
2909
2910<hr />
2911<h3><a name="note201" id="note201">Note 201 (AXART): Added support for the Wii Remote speaker.</a></h3>
2912<p>The following functions have been added to support the Wii Remote speaker:
2913</p><p>
2914<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>
2915</p><p>
2916For details, see the manual pages for each function.</p>
2917
2918<hr />
2919<h3><a name="note200" id="note200">Note 200 (MIX): Made the memory region for voice control data user-specifiable.</a></h3>
2920<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>
2921<p>
2922<CODE>#define MIXGetMemorySize(num) ((sizeof(MIXChannel) + sizeof(MIXRmtChannel)) * num)<br> void MIXInitSpecifyMem(void* mem);</CODE>
2923</p><p>
2924For details, see the manual pages for each function.</p>
2925
2926<hr />
2927<h3><a name="note199" id="note199">Note 199 (SYN): Made the memory region for voice control data user-specifiable.</a></h3>
2928<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.
2929</p><p>
2930<CODE>#define SYNGetMemorySize(num) (sizeof(SYNVOICE) * num)<br> void SYNInitSpecifyMem(void* mem);</CODE>
2931</p><p>
2932For details, see the manual pages for each function. </p>
2933
2934<hr />
2935<h3><a name="note198" id="note198">Note 198 (AX): Added master volume functions.</a></h3>
2936<p>The following functions have been added for the master volume that is multiplied at DSP to AI output:</p><p>
2937u16  AXGetMasterVolume(void);<br> void AXSetMasterVolume(u16 volume);
2938</p><p>
2939For details, see the manual pages for each function.</p>
2940
2941<hr />
2942<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>
2943<p>In certain DSP-ADPCM data that was compressed using <CODE>dsptool(D)</CODE>, the section that should have been silent was not.</p>
2944<p>
2945This problem has been corrected. A new dsptool(D).dll has been added for conversion to DSP-ADPCM.</p>
2946
2947<hr />
2948<h3><a name="note196" id="note196">Note 196 (AX): Added debug functions.</a></h3>
2949<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:
2950</p><p>
2951typedef void (*AXExceedCallback)(u32 cycles);<br> void AXRegisterExceedCallback(AXExceedCallback callback);
2952</p><p>
2953For details, see the manual pages for the function.
2954</p>
2955
2956<hr />
2957<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>
2958<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.
2959</p><p>
2960<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>
2961
2962<hr />
2963<h3><a name="note194" id="note194">Note 194 (AX): Eliminated the voice update function.</a></h3>
2964<p>To increase the number of simultaneously playable sounds, the voice update function, which was incompletely implemented, has been eliminated.
2965</p><p>
2966Therefore, 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>
2967
2968<hr />
2969<h3><a name="note193" id="note193">Note 193 (AX): Changed AX_MAX_VOICE from 64 to 96.</a></h3>
2970<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>
2971
2972<hr />
2973<h3><a name="note192" id="note192">Note 192 (AX): Increased the number of simultaneously playable sounds.</a></h3>
2974<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>
2975
2976<hr />
2977<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 />
2978<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>
2979<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>
2980<p>
2981This problem has been corrected.</p>
2982<p>This revision is the same as the revision included in the <CODE>RVL_SDK-2_2-patch_kpad-061007</CODE> package.</p>
2983
2984<hr />
2985<h3><a name="note190" id="note190">Note 190 (DOC): Updated the Video Interface Library programming manual.</a></h3>
2986<p>Revisions and additions mainly relate to the following topics:</p>
2987<p>
2988- 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>
2989
2990<hr />
2991<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>
2992<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>
2993<p>
2994This problem has been corrected so that any values greater than 127 are converted to a value of 127.</p>
2995
2996<hr />
2997<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>
2998<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>
2999<p>
3000This problem has been corrected.</p>
3001
3002<hr />
3003<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>
3004<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>
3005
3006<hr />
3007<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>
3008<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>
3009
3010<hr />
3011<h3><a name="note185" id="note185">Note 185 (Audio): Updated the end-user license agreement with Roland.</a></h3>
3012<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>
3013
3014<hr />
3015<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 />
3016<h3><a name="note184" id="note184">Note 184 (TOOL): NDEV firmware Version 9.24 release</a></h3>
3017<p>Update the NDEV firmware after applying this patch and before running applications. </p>
3018<p>
3019Run the update program by starting a Bourne-again shell (bash) and entering &quot;fwupdate924&quot;.
3020</p><p>
3021If 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.
3022</p><p>
3023If any versions are already higher than this, the update will fail after displaying &quot;Import: *** ...failed&quot;, but you can continue without any problems.
3024</p>
3025
3026<hr />
3027<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 />
3028<h3><a name="note183" id="note183">Note 183 (WPAD): Fixed a bug related to screen burn-in protection.</a></h3>
3029<p>Occasionally the screen burn-in protection feature did not run after five minutes without controller input.</p>
3030<p>This problem has been corrected.</p>
3031
3032<hr />
3033<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>
3034<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>
3035<p>
3036This problem has been corrected.<p>
3037
3038<hr />
3039<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 />
3040<h3><a name="note181" id="note181">Note 181 (WPAD): Added Wii Remote tools.</a></h3>
3041<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.
3042</p>
3043<p>The description of this tool is added to the function reference page.
3044</p>
3045
3046<hr />
3047<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>
3048<p>In simple pairing, the close callback was not being called if four Wii Remotes were connected immediately before the device search.
3049</p><p>
3050This problem has been corrected.</p>
3051
3052<hr />
3053<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>
3054<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.
3055</p><p>
3056This problem has been corrected.
3057</p>
3058
3059<hr />
3060<h3><a name="note178" id="note178">Note 178 (WPAD): Fixed a bug that prevented the Wii Remote Rumble feature from stopping.</a></h3>
3061<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.
3062</p><p>
3063This problem has been corrected.</p>
3064
3065<hr />
3066<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>
3067<p>If a Wii Remote was reconnected while an external extension controller was plugged in, the status after reconnection occasionally stayed <CODE>BUSY</CODE>.
3068</p><p>
3069This problem has been corrected.</p>
3070
3071<hr />
3072<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>
3073<p>The Wii Remote occasionally could not connect to the Wii console for approximately 40 seconds after removing and reinserting the batteries.</p>
3074<p>
3075This problem has been corrected.</p>
3076
3077<hr />
3078<h3><a name="note175" id="note175">Note 175 (WPAD): Fixed bugs in the WPADStartFastSyncDevice and the WPADStartFastSimpleSync functions.</a></h3>
3079<p>If <CODE>WPADStartFastSyncDevice</CODE> or <CODE>WPADStartFastSimpleSync</CODE> was called immediately after disconnecting a Wii Remote, that disconnected Wii Remote was reconnected.</p>
3080<p>
3081This problem has been corrected.</p>
3082
3083<hr />
3084<h3><a name="note174" id="note174">Note 174 (WPAD): Corrected a problem with the pairing procedure.</a></h3>
3085<p>Pairing was not being correctly processed under the following conditions:</p>
3086<p>
3087- 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.
3088</p><p>
3089- 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.
3090</p><p>
3091- 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.
3092</p><p>
3093- 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.
3094</p>
3095
3096<hr />
3097<h3><a name="note173" id="note173">Note 173 (WPAD): Reduced the speaker sound distortion from weak signals.</a></h3>
3098<p>Audio cutoff occurred occasionally when the signal deteriorated while playing sound through four Wii Remote speakers.
3099</p><p>
3100This fix reduces the frequency of the audio cutoff.</p>
3101
3102<hr />
3103<h3><a name="note172" id="note172">Note 172 (WPAD): Fixed a memory leak inside the communication stack.</a></h3>
3104<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.
3105</p><p>
3106This problem has been corrected.
3107</p>
3108
3109<hr />
3110<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 />
3111<h3><a name="note171" id="note171">Note 171 (WPAD): Calling the WPADShutdown() or the WPADReconnect() function inside the reset/shutdown functions.</a></h3>
3112<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.
3113</p><p>
3114In 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:
3115</p><p>
3116Function 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>
3117</p><p>
3118<CODE>WPADShutdown</CODE> or <CODE>WPADReconnect</CODE> may be called inside these functions without any problems.</p>
3119
3120<hr />
3121<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 />
3122<h3><a name="note170" id="note170">Note 170 (CARD): Fixed a bug that prevented Nintendo GameCube Memory Cards from being mounted correctly.</a></h3>
3123<p>The Nintendo&nbsp;GameCube Memory Card could not be mounted correctly.
3124</p><p>
3125This problem has been corrected.</p>
3126
3127<hr />
3128<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>
3129<p>When a DVD request was issued from multiple threads, it caused the application to freeze in certain situations.
3130</p><p>
3131This problem has been corrected.</p>
3132
3133<hr />
3134<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>
3135<p>When storing game data to the Wii Remote, the timestamp set by the library did not match the time on the calendar.
3136</p>
3137<p>This problem has been corrected.</p>
3138<p>
3139In addition, the time display of the sample demo <CODE>memory.c</CODE> has been corrected.
3140</p>
3141
3142<hr />
3143<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>
3144<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.
3145</p><p>
3146This problem has been corrected.
3147</p>
3148
3149<hr />
3150<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 />
3151<h3><a name="note166" id="note166">Note 166 (TOOL): NDEV firmware Version 9.23 release</a></h3>
3152<p>Update the NDEV firmware after applying this patch and before running applications. </p>
3153<p>
3154The update program is run by starting a Bourne-again shell (bash) and entering &quot;fwupdate923&quot;.
3155</p><p>
3156If 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.
3157</p><p>
3158If any versions are already higher than this, the update will fail after displaying &quot;Import: *** ...failed&quot;, but you can continue without any problems.
3159</p>
3160
3161<hr />
3162<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>
3163<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.
3164</p><p>
3165This problem has been corrected.
3166</p>
3167
3168<hr />
3169<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>
3170<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>
3171<p>
3172This has been fixed so that all information cannot be deleted during the registration operation.</p>
3173
3174<hr />
3175<h3><a name="note163" id="note163">Note 163 (WPAD): Added restrictions on the WPADInit, the WPADReconnect, and the WPADShutdown functions.</a></h3>
3176<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.
3177</p>
3178
3179<hr />
3180<h3><a name="note162" id="note162">Note 162 (WPAD): Changed the function of the WPADSetAcceptConnection function.</a></h3>
3181<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.
3182</p>
3183
3184<hr />
3185<h3><a name="note161" id="note161">Note 161 (WPAD): Changed the Wii Remote memory file information configuration function.</a></h3>
3186<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>
3187</p>
3188
3189<hr />
3190<h3><a name="note160" id="note160">Note 160 (WPAD): Fixed a bug that caused registration information to be lost.</a></h3>
3191<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.
3192</p><p>
3193This problem has been corrected.
3194</p>
3195
3196<hr />
3197<h3><a name="note159" id="note159">Note 159 (KPAD): Fixed a bug that caused controller data of the remote to become irretrievable.</a></h3>
3198<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>
3199<p>
3200This problem has been corrected.
3201</p>
3202
3203<hr />
3204<h3><a name="note158" id="note158">Note 158 (VI): Fixed a bug that caused noise to be seen when switching applications.</a></h3>
3205<p>Noise could temporarily be seen on the TV screen when switching applications. This problem has been corrected.</p>
3206
3207<hr />
3208<h3><a name="note157" id="note157">Note 157 (AX): Added Aux bus return volume set/get functions.</a></h3>
3209<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.
3210</p>
3211
3212<hr />
3213<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>
3214<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>
3215
3216<hr />
3217<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 />
3218<h3><a name="note155" id="note155">Note 155 (TOOL): NDEV firmware Version 9.22 release</a></h3>
3219<p>Update the NDEV firmware after applying this patch and before running applications.
3220</p>
3221<p>The update program is run by starting a Bourne-again shell (bash) and entering &quot;fwupdate922&quot;.</p>
3222<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.
3223</p><p>
3224If 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>
3225
3226<hr />
3227<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>
3228<p>When running <CODE>OSShutdownSystem</CODE>, noise was seen on the TV screen. This problem has been corrected.</p>
3229
3230<hr />
3231<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>
3232<p>Applications froze when specified conditions overlapped while running in a <CODE>NO DISK</CODE> state. This problem has been corrected.</p>
3233
3234<hr />
3235<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 />
3236<h3><a name="note152" id="note152">Note 152 (TOOL): NDEV firmware Version 9.21 release</a></h3>
3237<p>Update the NDEV firmware after applying this patch and before running applications.
3238</p>
3239<p>The update program is executed by starting the bash shell and entering &quot;fwupdate921&quot;.</p>
3240<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.
3241</p><p>
3242If 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>
3243
3244<hr />
3245<h3><a name="note151" id="note151">Note 151 (WPAD): Fixed a bug that caused the Control Stick to become misaligned.</a></h3>
3246<p>Slow insertion of the Nunchuk plug or Classic Controller plug occasionally caused an origin misalignment.
3247</p>
3248
3249<hr />
3250<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>
3251<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.
3252</p>
3253
3254<hr />
3255<h3><a name="note149" id="note149">Note 149 (WPAD): Added error codes</a></h3>
3256<p>The error codes returned by <CODE>WPADReadGameData</CODE> have been changed.
3257<p>
3258- 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>
3259</p>
3260
3261<hr />
3262<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>
3263<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.
3264</p><p>
3265This bug has been fixed in SDK Version 2.2 Patch 1.</p>
3266
3267<hr />
3268<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 />
3269<h3><a name="note147" id="note147">Note 147 (WPAD): Fixed bugs</a></h3>
3270<p>
3271The 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.
3272<p>
3273In 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.)
3274</p>
3275
3276<hr />
3277<h3><a name="note146" id="note146">Note 146 (WPAD): Timeout after command transfer.</a></h3>
3278<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>
3279
3280<hr />
3281<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>
3282<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>
3283
3284<hr />
3285<h3><a name="note144" id="note144">Note 144 (WPAD): Changed the timing with which the WPADShutdown function is called internally.</a></h3>
3286<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>
3287
3288<hr />
3289<h3><a name="note143" id="note143">Note 143 (WPAD): Changed the WPADDisconnect function specification.</a></h3>
3290<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>
3291
3292<hr />
3293<h3><a name="note142" id="note142">Note 142 (WPAD): Item pertaining to the WLAN signal interference avoidance process.</a></h3>
3294<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.
3295</p>
3296
3297<hr />
3298<h3><a name="note141" id="note141">Note 141 (WPAD): Added functions.</a></h3>
3299<p><CODE>WPADCanSendStreamData</CODE><br> Function that checks whether to call the <CODE>WPADSendStreamData</CODE> function.
3300</p><p>
3301<CODE>WPADStartFastSyncDevice</CODE><br> <CODE>WPADStartFastSimpleSync</CODE><br> Functions that change the Wii Remote transfer type to best-effort during registration speed up registration.
3302</p>
3303
3304<hr />
3305<h3><a name="note140" id="note140">Note 140 (WPAD): Removed the WPADClearPortMapTable function.</a></h3>
3306<p>Because <CODE>WPADDisconnect</CODE> can now delete the number of controllers, this function has now been eliminated.</p>
3307
3308<hr />
3309<h3><a name="note139" id="note139">Note 139 (KPAD): Fixed a bug that occurred when an attachment was quickly hot-swapped.</a></h3>
3310<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>
3311
3312<hr />
3313<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>
3314<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>
3315
3316<hr />
3317<h3><a name="note137" id="note137">Note 137 (NAND): Established banner file format, and added new functions.</a></h3>
3318<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>
3319</p>
3320
3321<hr />
3322<h3><a name="note136" id="note136">Note 136 (OS): Added a feature for checking the firmware required by the application.</a></h3>
3323<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>
3324<p>
3325Even if the check fails, the application can be forcibly started by pressing START/PAUSE on the GameCube Controller.</p>
3326
3327<hr />
3328<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>
3329<p>The drive motor stop feature will no longer be supported in the near future. (Time of support is yet to be determined.)</p>
3330<p>
3331Therefore, the DVD library drive state during the controller input standby status, <CODE>DVD_STATE_NO_INPUT</CODE>, does not appear in this SDK.</p>
3332
3333<hr />
3334<h3><a name="note134" id="note134">Note 134 (DVD): Added official support for the automatic FATAL message.</a></h3>
3335<p>The automatic <CODE>FATAL</CODE> messages displayed in earlier SDKs were provisional. This SDK now uses the official messages.</p>
3336<p>
3337This can be verified by running <CODE>dvdfatal</CODE> in the DVD sample demo.</p>
3338
3339<hr />
3340<h3><a name="note133" id="note133">Note 133 (TOOL): Added screen burn-in protection settings to the system menu.</a></h3>
3341<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>
3342
3343<hr />
3344<h3><a name="note132" id="note132">Note 132 (TOOL): Temporarily stopped the automatic update feature in the firmware system menu.</a></h3>
3345<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>
3346
3347<hr />
3348<h3><a name="note131" id="note131">Note 131 (TOOL): Added a Wii Sensor Bar sensitivity setting to the system menu.</a></h3>
3349<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>
3350
3351<hr />
3352<h3><a name="note130" id="note130">Note 130 (VI): Removed the VIGetDVDStopMotorCount function.</a></h3>
3353<p>The drive motor stop feature will no longer be supported in the near future. (Time of support is yet to be determined.)</p>
3354<p>
3355Therefore, the support function for this feature (<CODE>VIGetDVDStopMotorCount</CODE>) has been temporarily removed.</p>
3356
3357<hr />
3358<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>
3359<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>
3360
3361<hr />
3362<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>
3363<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>
3364<p>
3365This problem has been corrected. </p>
3366
3367<hr />
3368<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>
3369<p>Certain sound effects that played back without a problem on the TV speaker were not played back correctly on Wii Remote speakers.
3370</p><p>
3371This problem has been corrected. </p>
3372
3373<hr />
3374<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>
3375<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.
3376</p><p>
3377This problem has been corrected. </p>
3378
3379<hr />
3380<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 />
3381<h3><a name="note125" id="note125">Note 125 (TOOL): Changed the save-data specification.</a></h3>
3382<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>
3383
3384<hr />
3385<h3><a name="note124" id="note124">Note 124 (TOOL): Added a drive protection setting to the system menu.</a></h3>
3386<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>
3387
3388<hr />
3389<h3><a name="note123" id="note123">Note 123 (KPAD): Added functions for improving pointing.</a></h3>
3390<p>The following functions have been added  for improving the usability of pointing with the Wii Remote:</p><p>
3391<CODE>KPADEnableAimingMode()<br> KPADDisableAimingMode()<br> KPADGetProjectionPos()</CODE></p>
3392
3393<hr />
3394<h3><a name="note122" id="note122">Note 122 (KPAD): Added support for the Classic Controller.</a></h3>
3395<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>
3396
3397<hr />
3398<h3><a name="note121" id="note121">Note 121 (KPAD): Changed the behavior when dealing with unknown attachments.</a></h3>
3399<p>The library has been modified to ignore unknown attachments and operate the Wii Remote in standalone mode.
3400</p>
3401
3402<hr />
3403<h3><a name="note120" id="note120">Note 120 (KPAD): Added functions for enabling/disabling the Pointer.</a></h3>
3404<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>
3405<p>
3406void KPADEnableDPD(s32 chan);<br> void KPADDisableDPD(s32 chan);
3407</p>
3408
3409<hr />
3410<h3><a name="note119" id="note119">Note 119 (KPAD): Expanded the sample demo program.</a></h3>
3411<p>The sample demo program <CODE>kpadsample</CODE> has been expanded. Added support for the Classic Controller, Pointer control, and other features.</p>
3412
3413<hr />
3414<h3><a name="note118" id="note118">Note 118 (AX): Added an AUX callback acquisition function.</a></h3>
3415<p>The following AUX callback acquisition functions have been added to temporarily switch and return in such places as the Home Menu:</p><p>
3416<CODE>void AXGetAuxACallback(AXAuxCallback *callback, void **context);<br> void AXGetAuxBCallback(AXAuxCallback *callback, void **context);<br> void AXGetAuxCCallback(AXAuxCallback *callback, void **context);</CODE></p>
3417
3418<hr />
3419<h3><a name="note117" id="note117">Note 117 (WENC): Deleted WENC_FLAG_LAST from the flag passed to WENCGetEncodeData().</a></h3>
3420<p><CODE>WENC_FLAG_LAST</CODE> has been deleted from the available values for the <CODE>flag</CODE> argument of <CODE>WENCGetEncodeData()</CODE>.</p>
3421
3422<hr />
3423<h3><a name="note116" id="note116">Note 116 (NAND): Fixed a bug in the NANDReadDir[Async] Function Reference page.</a></h3>
3424<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>
3425
3426<hr />
3427<h3><a name="note115" id="note115">Note 115 (NAND): Removed write size restriction.</a></h3>
3428<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>
3429
3430<hr />
3431<h3><a name="note114" id="note114">Note 114 (NAND): Added the NANDCheck() sample demo program.</a></h3>
3432<p>A sample demo program showing the usage of <CODE>NANDCheck()</CODE> has been added.</p>
3433
3434<hr />
3435<h3><a name="note113" id="note113">Note 113 (OS): Revised the RESET callback process.</a></h3>
3436<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>
3437
3438<hr />
3439<h3><a name="note112" id="note112">Note 112 (SC): Precaution for calling SCFlush*().</a></h3>
3440<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>
3441<p>
3442When calling <CODE>SCFlush*()</CODE> after doing this, the changes will be applied, even if the update process was not launched by you.</p>
3443
3444<hr />
3445<h3><a name="note111" id="note111">Note 111 (SC): Fixed a bug in SCFlushAsync(), and added a callback argument value.</a></h3>
3446<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>
3447<p>
3448In 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).
3449</p>
3450
3451<hr />
3452<h3><a name="note110" id="note110">Note 110 (SC): Fixed a bug in SCFlush().</a></h3>
3453<p><CODE>SCFlush()</CODE> hung when it was called after <CODE>SCFlushAsync()</CODE> while a background process was running.</p>
3454<p>
3455<CODE>SCFlush()</CODE> has been changed to wait for the completion of the background process.</p>
3456
3457<hr />
3458<h3><a name="note109" id="note109">Note 109 (SC): Automatic call of SCInit().</a></h3>
3459<p><CODE>SCInit()</CODE> is now called automatically at system startup.
3460</p><p>
3461<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>
3462
3463<hr />
3464<h3><a name="note108" id="note108">Note 108 (TOOL): Fixed a bug in makeo.exe.</a></h3>
3465<p>When an object output by <CODE>makeo.exe</CODE> was linked to .plf, the reference to the object was not appropriately resolved.
3466</p><p>
3467This problem has been corrected.
3468</p>
3469
3470<hr />
3471<h3><a name="note107" id="note107">Note 107 (TOOL): Added a disc country code configuration tool.</a></h3>
3472<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>.
3473</p>
3474
3475<hr />
3476<h3><a name="note106" id="note106">Note 106 (TOOL): Corrected a problem that prevented termination of setsmem2size in error from being detected.</a></h3>
3477<p>Even when the setting was not correctly configured, <CODE>setsmem2size</CODE> finished normally. An error message is now displayed when the configuration fails.
3478</p>
3479
3480<hr />
3481<h3><a name="note105" id="note105">Note 105 (DVD): Added the drive state DVD_STATE_NO_INPUT while waiting for controller input.</a></h3>
3482<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>
3483<p>
3484When 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.
3485</p>
3486
3487<hr />
3488<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>
3489<p>The system language setting was not reflected in the automatic fatal message. This has been fixed.</p>
3490<p>
3491This can be verified by running <CODE>dvdfatal</CODE> in the DVD sample demo.
3492</p>
3493
3494<hr />
3495<h3><a name="note103" id="note103">Note 103 (WPAD): Added device type values.</a></h3>
3496<p><CODE>WPAD_DEV_FUTURE</CODE> and <CODE>WPAD_DEV_NOT_SUPPORTED</CODE> have been added to the device type.</p>
3497
3498<hr />
3499<h3><a name="note102" id="note102">Note 102 (WPAD): Changed the battery level threshold value, and added the voltage level CRITICAL.</a></h3>
3500<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.
3501</p>
3502
3503<hr />
3504<h3><a name="note101" id="note101">Note 101 (WPAD): Changed how the SyncCallback function is called.</a></h3>
3505<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.
3506</p>
3507
3508<hr />
3509<h3><a name="note100" id="note100">Note 100 (WPAD): Added support for origin reset.</a></h3>
3510<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>
3511
3512<hr />
3513<h3><a name="note99" id="note99">Note 99 (WPAD): Changed how the controller port is allocated.</a></h3>
3514<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>
3515
3516<hr />
3517<h3><a name="note98" id="note98">Note 98 (WPAD): Changed how the Wii Remote setting information is handled.</a></h3>
3518<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>
3519
3520<hr />
3521<h3><a name="note97" id="note97">Note 97 (WPAD): Fixed bugs</a></h3>
3522<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>
3523
3524<hr />
3525<h3><a name="note96" id="note96">Note 96 (WPAD): Added functions.</a></h3>
3526<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>
3527</p>
3528
3529<hr />
3530<h3><a name="note95" id="note95">Note 95 (PAD): Added functions related to the clamp process.</a></h3>
3531<p>The following functions have been added:</p>
3532<p>
3533<CODE>PADClamp2<br> PADClampCircle2<br> PADClampTrigger</CODE>
3534</p>
3535<p>
3536Clamps 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>
3537
3538<hr />
3539<h3><a name="note94" id="note94">Note 94 (VI): Added support functions for screen burn-in protection and stopping the drive motor.</a></h3>
3540<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>
3541
3542<hr />
3543<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 />
3544<h3><a name="note93" id="note93">Note 93 (TOOL): Added support for firmware/system menu auto-update.</a></h3>
3545<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>
3546
3547<hr />
3548<h3><a name="note92" id="note92">Note 92 (TOOL): Added features to the system menu.</a></h3>
3549<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>
3550
3551<hr />
3552<h3><a name="note91" id="note91">Note 91 (WPAD): Call WPAD termination before reset/shutdown.</a></h3>
3553<p>When using WPAD in the program, always call <CODE>WPADShutdown</CODE> before the reset/shutdown function to close the WPAD process.</p>
3554
3555<hr />
3556<h3><a name="note90" id="note90">Note 90 (OS): Re-released the OSExec function.</a></h3>
3557<p>The <CODE>OSExec</CODE> function has been re-released.</p>
3558
3559<hr />
3560<h3><a name="note89" id="note89">Note 89 (OS): Added OSSwitchFiberEx().</a></h3>
3561<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>
3562
3563<hr />
3564<h3><a name="note88" id="note88">Note 88 (OS): Added periodic access to NAND by the system.</a></h3>
3565<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>
3566
3567<hr />
3568<h3><a name="note87" id="note87">Note 87 (NAND): Automatic call of NANDInit().</a></h3>
3569<p><CODE>NANDInit()</CODE> will now be called automatically at system startup.</p>
3570
3571<hr />
3572<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>
3573<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>
3574
3575<hr />
3576<h3><a name="note85" id="note85">Note 85 (NAND): Added a function that determines whether the file or directory can be created.</a></h3>
3577<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>
3578
3579<hr />
3580<h3><a name="note84" id="note84">Note 84 (NAND): Added result codes that were omitted.</a></h3>
3581<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>
3582
3583<hr />
3584<h3><a name="note83" id="note83">Note 83 (SC): Added the return values for SCGetLanguage.</a></h3>
3585<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>
3586<p>
3587See the <I>Function Reference Manual</I> and the sample demo scdemo for details.</p>
3588
3589<hr />
3590<h3><a name="note82" id="note82">Note 82 (GD): Added and edited descriptions of GD demo debug output.</a></h3>
3591<p>Previous descriptions of the debug outputs for several GD demos have been added or corrected.</p>
3592
3593<hr />
3594<h3><a name="note81" id="note81">Note 81 (GX): Added and edited descriptions of GX demo debug output.</a></h3>
3595<p>Previous descriptions of the debug outputs for several GX demos have been added or corrected.</p>
3596
3597<hr />
3598<h3><a name="note80" id="note80">Note 80 (WENC): Added the WENC library.</a></h3>
3599<p>A WENC library has been added in SDK Version 2.1. WENC is a library used for Wii Remote speaker encoding.</p>
3600
3601<hr />
3602<h3><a name="note79" id="note79">Note 79 (CX): Released the compression/decompression library.</a></h3>
3603<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>
3604
3605<hr />
3606<h3><a name="note78" id="note78">Note 78 (ENC): Added the ENC library.</a></h3>
3607<p>The ENC library has been added to the SDK Version 2.1. ENC is a library used for character code conversion.</p>
3608
3609<hr />
3610<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 />
3611<h3><a name="note77" id="note77">Note 77 (WPAD): Added support for status of simple pairing.</a></h3>
3612<p>The WPAD library in SDK Version 2.1 supports simple pairing.</p>
3613<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>
3614
3615<hr />
3616<h3><a name="note76" id="note76">Note 76 (WPAD): Added functions.</a></h3>
3617<p>The following sample functions have been added:</p>
3618<p>
3619- <CODE>WPADGetWorkMemorySize()</CODE><br>Gets the total work memory capacity obtained when the library is initialized.
3620</p><p>
3621- <CODE>WPADGetRadioSensitivity()</CODE><br>Gets the radio sensitivity of the Wii Remote.
3622</p><p>
3623- <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.
3624</p></p>
3625- <CODE>WPADIsMotorEnabled()</CODE><br> - <CODE>WPADEnableMotor()</CODE><br>Changes the Wii Remote Rumble feature enable state.
3626</p><p>
3627- <CODE>WPADSetAutoSleepTime()</CODE><br>Sets the time until the Wii Remote is automatically disconnected when there is no input from the Wii Remote.
3628</p><p>
3629- <CODE>WPADGetSensorBarPosition()</CODE><br>Gets Sensor Bar placement information.
3630</p><p>
3631- <CODE>WPADStartSimpleSync()</CODE><br> - <CODE>WPADStopSimpleSync()</CODE><br> - <CODE>WPADSetSimpleSyncCallback()</CODE><br>Controls simple pairing.
3632</p><p>
3633- <CODE>WPADSaveConfig()</CODE><br>Saves the Rumble feature enable state and speaker volume settings to the Wii console.
3634</p><p>
3635- <CODE>WPADClampTrigger()</CODE><br> - <CODE>WPADClampAcc()</CODE><br> - <CODE>WPADGetCLTriggerThreshold()</CODE><br>Clamps the analog input.
3636</p><p>
3637- <CODE>WPADReadGameData()</CODE><br> - <CODE>WPADWriteGameData()</CODE><br>Access the Wii Remote memory.
3638</p><p>
3639- <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.
3640</p>
3641
3642<hr />
3643<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>
3644<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>
3645<p>This problem has been corrected.</p>
3646
3647<hr />
3648<h3><a name="note74" id="note74">Note 74 (WPAD): Changed the number of units that can be paired.</a></h3>
3649<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>
3650<p>
3651In 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>
3652
3653<hr />
3654<h3><a name="note73" id="note73">Note 73 (WPAD): Added Full mode to the Pointer.</a></h3>
3655<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>
3656
3657<hr />
3658<h3><a name="note72" id="note72">Note 72 (WPAD): Changed the clamp process.</a></h3>
3659<p>- Released source code<br>The clamp functions supplied with the WPAD library have been disclosed.
3660</p>
3661<p>
3662- 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.
3663</p><p>
3664In addition, added cubical clamps and spherical clamps to the motion sensor clamps.</p>
3665
3666<hr />
3667<h3><a name="note71" id="note71">Note 71 (WPAD): Fixed a bug that halved the pointer sampling rate.</a></h3>
3668<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.
3669</p>
3670
3671<hr />
3672<h3><a name="note70" id="note70">Note 70 (WPAD): Fixed a bug in the Rumble feature.</a></h3>
3673<p>An exception was generated when <CODE>WPADControlMotor()</CODE> was called from within a callback function that was called by the WPAD library.<p>
3674<p>
3675This problem has been corrected.</p>
3676
3677<hr />
3678<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>
3679<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>
3680
3681<hr />
3682<h3><a name="note68" id="note68">Note 68 (AX): Added support for Wii Remote speaker output.</a></h3>
3683<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>
3684
3685<hr />
3686<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>
3687<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>
3688<p>
3689This problem has been corrected.</p>
3690
3691<hr />
3692<h3><a name="note66" id="note66">Note 66 (OS): Expanded the alarm features.</a></h3>
3693<p>The following functions have been added. The <CODE>OSAlarm</CODE> structure can be assigned arguments.</p>
3694<p>
3695<CODE>void  OSSetAlarmUserData( OSAlarm* alarm, void* data );</CODE><br> <CODE>void *OSGetAlarmUserData( const OSAlarm* alarm );</CODE></p>
3696
3697<hr />
3698<h3><a name="note65" id="note65">Note 65 (KPAD): Various fixes and expansions.</a></h3>
3699<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>
3700
3701<hr />
3702<h3><a name="note64" id="note64">Note 64 (ARC): Added const.</a></h3>
3703<p>Applied the <CODE>const</CODE> modifier to arguments of some functions.</p>
3704
3705<hr />
3706<h3><a name="note63" id="note63">Note 63 (MEM): Fixed a bug in the MEMFindParentHeap() function.</a></h3>
3707<p>When building a layered heap with <CODE>MEMFindParentHeap()</CODE>, the parent heap was not correctly obtained. This problem has been corrected.</p>
3708
3709<hr />
3710<h3><a name="note62" id="note62">Note 62 (NAND): Added and deleted error codes.</a></h3>
3711<p>The <CODE>NAND_RESULT_INIT_FAILED</CODE> error code was removed. The <CODE>NAND_RESULT_AUTHENTICATION</CODE> error code was added.</p>
3712
3713<hr />
3714<h3><a name="note61" id="note61">Note 61 (NAND): Revised NANDInit().</a></h3>
3715<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>
3716
3717<hr />
3718<h3><a name="note60" id="note60">Note 60 (NAND): Added functions.</a></h3>
3719<p>Added <CODE>NANDGetType[Async]()</CODE>. This function distinguishes between files and folders.</p>
3720<p>
3721Added <CODE>NANDSafeOpen/Close[Async]()</CODE>. This is a function group that guarantees that file updates are atomic.</p>
3722<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.)
3723</p>
3724
3725<hr />
3726<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>
3727<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>
3728
3729<hr />
3730<h3><a name="note58" id="note58">Note 58 (OS): Updated the functions related to reset and shutdown.</a></h3>
3731<p>The reset and shutdown functions were updated or created in line with the Wii console system specifications.</p>
3732<p>
3733The following functions were added:</p>
3734<p>
3735<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>
3736<p>
3737In 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>
3738
3739<hr />
3740<h3><a name="note57" id="note57">Note 57 (OS): Added OSSleep* functions.</a></h3>
3741<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>
3742<p>
3743<CODE>OSSleepSeconds()</CODE><br> <CODE>OSSleepMilliseconds()</CODE><br> <CODE>OSSleepMicroseconds()</CODE><br> <CODE>OSSleepNanoseconds()</CODE>
3744</p>
3745
3746<hr />
3747<h3><a name="note56" id="note56">Note 56 (SC): Added Wii Remote setup items.</a></h3>
3748<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>
3749<p>
3750- <CODE>SCGetWpadMotorMode</CODE><br> - <CODE>SCGetWpadSensorBarPosition</CODE><br> - <CODE>SCGetWpadSpeakerVolume</CODE><br> - <CODE>SCSetWpadMotorMode</CODE><br> - <CODE>SCSetWpadSensorBarPosition</CODE><br> - <CODE>SCSetWpadSpeakerVolume</CODE><br>
3751</p>
3752
3753<hr />
3754<h3><a name="note55" id="note55">Note 55 (SC): Deleted the emulation functions.</a></h3>
3755<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>
3756<p>Use the NDEV system menu to modify the aspect ratio or language settings.</p>
3757
3758<hr />
3759<h3><a name="note54" id="note54">Note 54 (SC): Prohibited use of previous versions of the SC library.</a></h3>
3760<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>
3761<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>
3762
3763<hr />
3764<h3><a name="note53" id="note53">Note 53 (HIO2): Corrected a problem with heavy loads on the host CPU.</a></h3>
3765<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>
3766
3767<hr />
3768<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>
3769<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>
3770
3771<hr />
3772<h3><a name="note51" id="note51">Note 51 (VI): Changed the default setting for the trap filter.</a></h3>
3773<p>The default setting for the trap filter was enabled. The default has now been changed to disabled.</p>
3774
3775<hr />
3776<h3><a name="note50" id="note50">Note 50 (VI): Fixed a bug that prevented disabling the trap filter.</a></h3>
3777<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>
3778<p>
3779This problem has been corrected.</p>
3780
3781<hr />
3782<h3><a name="note49" id="note49">Note 49 (VI): Ended support for 50&nbsp;Hz mode for progressive display.</a></h3>
3783<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>
3784
3785<hr />
3786<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 />
3787<h3><a name="note48" id="note48">Note 48 (ALL): Deleted the sample demo elf/map file.</a></h3>
3788<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:
3789</p>
3790<p>
3791<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>
3792
3793<hr />
3794<h3><a name="note47" id="note47">Note 47 (ALL): Changed the NDEV that is the target of operations.</a></h3>
3795<p>This version of the SDK runs on NDEV Version 2.0 only. NDEV Version 1.x is not supported.</p>
3796
3797<hr />
3798<h3><a name="note46" id="note46">Note 46 (ALL): Changed the build target to RVL.</a></h3>
3799<p>The build target has been changed to RVL.</p>
3800<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>
3801
3802<hr />
3803<h3><a name="note45" id="note45">Note 45 (MIX): Corrected a problem with setting AuxB and AuxC controllers in DPL2 mode.</a></h3>
3804<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>
3805<p>This problem has been corrected.</p>
3806
3807<hr />
3808<h3><a name="note44" id="note44">Note 44 (KPAD): Changed the module name, and added support for UI tool Version 4.</a></h3>
3809<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>
3810<p>
3811<CODE>kpad[D].a</CODE> and <CODE>kpaddemo</CODE>, found in the SDK Version 2.0, are supported in UI Tool Version 4.</p>
3812
3813<hr />
3814<h3><a name="note43" id="note43">Note 43 (WPAD): Added support for using the Wii Remote (both Bluetooth wired/wireless versions).</a></h3>
3815<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>
3816<ul>
3817<li>Hardware</li>
3818<p>
3819The following are included in NDEV Version 2.0:
3820<ul>
3821<li>Bluetooth module</li>
3822<li>Two Bluetooth-version Wii Remotes</li>
3823<li>Two Nunchuks</li>
3824<li>One Sensor Bar for the Pointer</li>
3825</ul>
3826</p>
3827<li>Software</li>
3828<p>
3829The following are included in the SDK Version 2.0:
3830<ul>
3831<li>Bluetooth-compatible WPAD library</li>
3832<li>Bluetooth-compatible WPAD demo</li>
3833<li>Revised manual pages for the WPAD library</li>
3834</ul>
3835</p>
3836<li>Setup</li>
3837<p>
3838This section describes simple setup procedures.<br>For details, see RVL-ControllerHardwareOverview.pdf and RVL-ControllerSetup.pdf.
3839</p>
3840  <ol>
3841<li>Checking the Wii Remote</li>
3842<p>
3843Check 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.
3844</p>
3845<li>Placing the Sensor Bar</li>
3846<p>
3847The 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.
3848</p>
3849<li>Registration</li>
3850<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.
3851    </p>
3852<p>
3853For 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.
3854</p>
3855<table>
3856<tr><td>0 or 1</td><td>:</td><td>5 seconds</td></tr>
3857<tr><td>2</td><td>:</td><td>10 seconds</td></tr>
3858<tr><td>3</td><td>:</td><td>20 seconds</td></tr>
3859</table>
3860<p>
3861In addition, the search ends when the number of communicating Wii Remotes and the number of discovered Wii Remotes reaches 4.
3862</p>
3863<p>
3864While 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.
3865</p>
3866</ol>
3867<li>Known Issues</li>
3868  <ul>
3869<li>Pairing with Multiple Wii Remotes</li>
3870<p>
3871Normal 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.
3872</p>
3873<li>Hot Connecting Nunchuks</li>
3874<p>
3875Nunchuks 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.
3876</p>
3877<li>Reconnect Timeout</li>
3878<p>
3879A 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.
3880</p>
3881<li>Speaker</li>
3882<p>
3883The speaker feature cannot be used with the current release. Plans call for this to be included in the next release.
3884</p>
3885<li>Sampling Demo</li>
3886<p>
3887This demo works only with Wii Remotes. Do not use Nunchuks.
3888</p>
3889</ul>
3890</ul>
3891</p>
3892
3893<hr />
3894<h3><a name="note42" id="note42">Note 42 (WPAD): Changed module names.</a></h3>
3895<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>
3896
3897<hr />
3898<h3><a name="note41" id="note41">Note 41 (WPAD): Enabled sharing of some member offsets of the WPADFSStatus structure by WPADStatus.</a></h3>
3899<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>
3900
3901<hr />
3902<h3><a name="note40" id="note40">Note 40 (TOOL): Added a system menu to the boot program.</a></h3>
3903<p>A system menu was added to the boot program.</p>
3904<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>
3905
3906<hr />
3907<h3><a name="note39" id="note39">Note 39 (TOOL): Revised the Revolution shell execution file (RVL_NDEV.bat).</a></h3>
3908<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>
3909<p>This problem has been corrected. Edit these batch files in the future.</p>
3910
3911<hr />
3912<h3><a name="note38" id="note38">Note 38 (AI): Corrected a problem with the hardware sampling rate converter.</a></h3>
3913<p>A problem was corrected with the hardware sampling rate converter included in the AI library.</p>
3914<p>In addition, conversion from 32&nbsp;kHz to 48&nbsp;kHz performed by Broadway inside the AI library has been temporarily deleted.</p>
3915
3916<hr />
3917<h3><a name="note37" id="note37">Note 37 (AX): Corrected a problem with the memory interface of the audio subsystem.</a></h3>
3918<p>A problem with the memory interface of the audio subsystem was corrected.</p>
3919<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:
3920<ul style="padding-left:16px;margin-left:16px">
3921<li>Assume a loop length of 256 bytes or more for each piece of audio data.</li>
3922</ul>
3923</p>
3924
3925<hr />
3926<h3><a name="note36" id="note36">Note 36 (AXFX): Changed the effect library.</a></h3>
3927<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>
3928<p>
3929<ul style="padding-left:16px;margin-left:16px">
3930<li>High-quality reverb</li>
3931  <ul style="padding-left:16px;margin-left:16px">
3932<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>
3933<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>
3934<li>The upper limit on <CODE>preDelay</CODE> has been eliminated. (Memory is now allocated in conjunction with <CODE>preDelay</CODE>.)</li>
3935  </ul>
3936<li>High-quality reverb (Dolby ProLogic version)</li>
3937  <ul style="padding-left:16px;margin-left:16px">
3938<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>
3939<li>The parameter <CODE>crosstalk</CODE> can now be used just as with past versions.</li>
3940<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>
3941<li>The upper limit on <CODE>preDelay</CODE> has been eliminated. (Memory is now allocated in conjunction with <CODE>preDelay</CODE>.)</li>
3942  </ul>
3943<li>Standard reverb</li>
3944 <ul style="padding-left:16px;margin-left:16px">
3945<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>
3946<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>
3947<li>The upper limit on <CODE>preDelay</CODE> has been eliminated. (Memory is now allocated in conjunction with <CODE>preDelay</CODE>.)</li>
3948  </ul>
3949<li>Chorus</li>
3950 <ul style="padding-left:16px;margin-left:16px">
3951<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>
3952<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>
3953<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>
3954<li>The LFO has been changed from a line to a sine curve.</li>
3955<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>
3956  </ul>
3957</ul>
3958Check sound quality, and continue to use.
3959</p>
3960<p>The following functions were also added to the new effect library:
3961<ul style="padding-left:16px;margin-left:16px">
3962<li>Dolby ProLogic II versions of the standard reverb, chorus, and delay functions were added.</li>
3963<li>Effecters using extended features were added.</li>
3964<li>Demo programs that use effectors with extended features were added.</li>
3965</ul>
3966Plans call for manuals related to these additional features to be included in future releases.</p>
3967<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>
3968<p>Plans call for an optimized version to be included in future releases.</p>
3969
3970<hr />
3971<h3><a name="note35" id="note35">Note 35 (DVD): Changed the DVDCheckDisk function from synchronous to asynchronous.</a></h3>
3972<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>
3973
3974<hr />
3975<h3><a name="note34" id="note34">Note 34 (DVD): Enabled the automatic FATAL message mode by default.</a></h3>
3976<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>
3977<p>To use your own <CODE>FATAL</CODE> messages, call <CODE>DVDSetAutoFatalMessaging(FALSE)</CODE> at the start of your application.</p>
3978
3979<hr />
3980<h3><a name="note33" id="note33">Note 33 (SC): Added the SC library.</a></h3>
3981<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>
3982<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>
3983
3984<hr />
3985<h3><a name="note32" id="note32">Note 32 (VI): PAL development</a></h3>
3986<p>PAL development is now possible.</p>
3987<p>
3988Launch 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>
3989<p>
3990--- NDEV BOOT PROGRAM v1.0 (DEVELOPMENT MODE: PAL) ---
3991</p>
3992<p>
3993The following demo performs a simple PAL display: <br>===================================================== <br>RVL_SDK/bin/demos/videmo/viewer_PAL_INT[D].elf <br>=====================================================
3994</p>
3995<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>
3996<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.
3997</p>
3998
3999<hr />
4000<h3><a name="note31" id="note31">Note 31 (VI): Added progressive scan mode for PAL, EURGB60, and MPAL.</a></h3>
4001<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>
4002
4003<hr />
4004<h3><a name="note30" id="note30">Note 30 (VI): Added a support function for switching progressive mode.</a></h3>
4005<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>
4006<p>See the demo <CODE>/build/demos/videmo/src/smp-onetri_Progressive.c</CODE>.</p>
4007
4008<hr />
4009<h3><a name="note29" id="note29">Note 29 (OS): Temporarily deleted the OSExec function.</a></h3>
4010<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>
4011
4012<hr />
4013<h3><a name="note28" id="note28">Note 28 (OS): Added a MEM2 memory size simulation feature.</a></h3>
4014<p>A function for emulating the memory size of <CODE>MEM2</CODE> was added.</p>
4015<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>
4016
4017<hr />
4018<h3><a name="note27" id="note27">Note 27 (OS): Changed OSInit so that it checks the Apploader target.</a></h3>
4019<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>
4020<p>The Apploader can easily be changed by editing the DDF file.
4021<ul style="padding-left:16px;margin-left:16px">
4022<li>Example Setting for an RVL Target<br> <code>[Input]<br>LDRFileName=&quot;$(REVOLUTION_SDK_ROOT)\RVL\boot\apploader.img&quot;<br></code>
4023  </li>
4024<li>Example Setting for an RVL0 Target<br> <code>[Input]<br>LDRFileName=&quot;$(REVOLUTION_SDK_ROOT)\RVL0\boot\apploader.img&quot;<br></code>
4025</li>
4026</ul>
4027</p>
4028
4029<hr />
4030<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>
4031<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>
4032<p>
4033In the past, these constants used the same default values as for GameCube.
4034</p>
4035<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>
4036
4037<hr />
4038<h3><a name="note25" id="note25">Note 25 (GX): Corrected a problem with the TEV compare feature.</a></h3>
4039<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>
4040<p>
4041This problem was corrected in NDEV Version 2.0.</p>
4042
4043<hr />
4044<h3><a name="note24" id="note24">Note 24 (GX): Changed the ASSERT of the FIFO get function to a warning message.</a></h3>
4045<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>
4046<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>
4047
4048<hr />
4049<h3><a name="note23" id="note23">Note 23 (NAND): Added the NAND library.</a></h3>
4050<p>The NAND library is used to access the hierarchical file system configured in Wii NAND console memory.</p>
4051
4052<hr />
4053<h3><a name="note22" id="note22">Note 22 (HIO2): Added a description to the HIO2 function reference page.</a></h3>
4054<p>Added an &quot;Introduction&quot; page and a description of callback functions to the HIO2 function reference page.</p>
4055
4056<hr />
4057<h3><a name="note21" id="note21">Note 21 (AR, ARQ): Deleted the ar.h and the arq.h header files.</a></h3>
4058<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>
4059
4060<hr />
4061<h3><a name="note20" id="note20">Note 20 (ARC): Added the ARC library (archiver).</a></h3>
4062<p>
4063The 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.
4064</p>
4065
4066<hr />
4067<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 />
4068<h3><a name="note19" id="note19">Note 19 (AXART): Corrected the update formula for each LFO frame.</a></h3>
4069<p>
4070The LFO curve was not smooth due to an error in the update formula for each LFO frame. This problem has been corrected.
4071</p>
4072
4073<hr />
4074<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>
4075<p>
4076The 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.
4077</p>
4078
4079<hr />
4080<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>
4081<p><CODE>HIO2ReadAsync</CODE> function calls in the HIO2 library on the host side did not return on rare occasions.
4082</p>
4083<p>
4084In addition, performance has been improved when calling <CODE>HIO2ReadAsync</CODE> and <CODE>HIO2WriteAsync</CODE> in succession.
4085</p>
4086
4087<hr />
4088<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>
4089<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>
4090
4091<hr />
4092<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 />
4093<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>
4094<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.
4095</p>
4096
4097<hr />
4098<h3><a name="note14" id="note14">Note 14 (OS): Added support for an external main memory 64&nbsp;MB environment.</a></h3>
4099<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>
4100
4101<hr />
4102<h3><a name="note13" id="note13">Note 13 (OS): Increased the speed of clearing the arena when using OSInit().</a></h3>
4103<p>The speed at which the <CODE>MEM1/MEM2</CODE> arena is cleared inside the <CODE>OSInit()</CODE> function has been increased.</p>
4104
4105<hr />
4106<h3><a name="note12" id="note12">Note 12 (OS): Added a 7&nbsp;MB size restriction on programs loaded using Apploader.</a></h3>
4107<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>
4108
4109<hr />
4110<h3><a name="note11" id="note11">Note 11 (MAN): Corrected links on the top page.</a></h3>
4111<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>
4112
4113<hr />
4114<h3><a name="note10" id="note10">Note 10 (MAN): Changed the description of the hio2 sample demos.</a></h3>
4115<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>.
4116</p>
4117
4118<hr />
4119<h3><a name="note9" id="note9">Note 9 (EXI): Improved the transfer rate of the HIO2 library and the OSReport function.</a></h3>
4120<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>
4121
4122<hr />
4123<h3><a name="note8" id="note8">Note 8 (HIO2): Corrected a problem with HIO2ReadStatus (RVL side).</a></h3>
4124<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.
4125</p>
4126
4127<hr />
4128<h3><a name="note7" id="note7">Note 7 (DOC): Debugged pre-built sample demos.</a></h3>
4129<p>You must rebuild in each separate environment to debug pre-built sample demos included in the Revolution SDK.</p>
4130
4131<hr />
4132<h3><a name="note6" id="note6">Note 6 (DOC): Added NDEV DIP switch settings.</a></h3>
4133<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>
4134
4135<hr />
4136<h3><a name="note5" id="note5">Note 5 (MEM): Released MEM library source code.</a></h3>
4137<p>
4138The MEM library source code has been released.
4139</p>
4140
4141<hr />
4142<h3><a name="note4" id="note4">Note 4 (MEM): Eliminated the alignment restriction for memory block allocation.</a></h3>
4143<p>
4144Previously, 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.
4145</p>
4146
4147<hr />
4148<h3><a name="note3" id="note3">Note 3 (MEM): Corrected a problem that prevented freeing unused memory normally from the heap.</a></h3>
4149<p>
4150It was not possible to free unused memory normally from the heap using the <CODE>MEMAdjustExpHeap()</CODE> function when there was only one free region.
4151</p>
4152
4153<hr />
4154<h3><a name="note2" id="note2">Note 2 (KPAD): Corrected an error in the formula for calculating the acceleration of the Nunchuk.</a></h3>
4155<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>
4156
4157<hr />
4158<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 />
4159<h3><a name="note1" id="note1">Note 1: SDK Version 1.0 Initial Release.</a></h3>
4160<p>Revolution SDK Version 1.0 is the first SDK to support Revolution development.</p>
4161
4162<hr />
4163<hr />
4164<p style="text-align: right">Nintendo Technical Support Center</p>
4165
4166<hr><p>CONFIDENTIAL</p></body>
4167</html>
4168