1<HTML>
2<HEAD>
3<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
4<META http-equiv="Content-Style-Type" content="text/css">
5<TITLE>TWL-SDK Changelog</TITLE>
6</HEAD>
7<BODY style="padding-bottom: 1600px;">
8<HR>
9<H1>TWL-SDK Revision History</H1>
10<HR>
11<DL>
12<DT>
13<A href="#sdk_5_2_%E6%AD%A3%E5%BC%8F%E7%89%88">TWL-SDK 5.2 Release Version</A> (2009/06/10)</DT>
14<DD><A href="#note74-01">Note 74-01: (DevEnv) Corrected Changelog Note 73-01</A></DD>
15<DD><A href="#note74-02">Note 74-02: (DevEnv) Updated copyright notices</A></DD>
16<DD><A href="#note74-03">Note 74-03: (DevEnv) Revised the manual for NAND application development</A></DD>
17<DD><A href="#note74-04">Note 74-04: (DevEnv) Changed the A-Z index list of function references</A></DD>
18<DD><A href="#note74-05">Note 74-05: (FS) Added information on the TWL-exclusive region</A></DD>
19<DD><A href="#note74-06">Note 74-06: (TCL) Fixed the <CODE>TCL_EncodeAndWritePicture</CODE> function</A></DD>
20<DD><A href="#note74-07">Note 74-07: (TOOL) Changed <CODE>TwlNmenu</CODE></A></DD>
21<DD><A href="#note74-08">Note 74-08: (TOOL) Fixed the check for displayable characters in <CODE>makebanner</CODE> and <CODE>makebanner.TWL</CODE></A></DD>
22<DD><A href="#note74-09">Note 74-09: (WXC) Fixed a library dead-strip problem</A></DD>
23<DD><A href="#KnownIssues_5_2_%E6%AD%A3%E5%BC%8F%E7%89%88">Known issues in TWL-SDK version 5.2 official release</A></DD>
24</DL>
25<DL>
26<DT>
27<A href="#sdk_5_2_RC">TWL-SDK 5.2 RC</A> (2009/05/29)</DT>
28<DD><A href="#note73-01">Note 73-01: (CAMERA) Fixed the <CODE>CAMERA_SwitchOffLED</CODE> and <CODE>CAMERA_SetLED</CODE> functions</A></DD>
29<DD><A href="#note73-02">Note 73-02: (CARD) Fixed a bug in detecting a card removal during ROM access</A></DD>
30<DD><A href="#note73-03">Note 73-03: (DSP) Fixed a bug in the microphone sampling feature</A></DD>
31<DD><A href="#note73-04">Note 73-04: (DevEnv) Corrected Changelog Note 72-07</A></DD>
32<DD><A href="#note73-05">Note 73-05: (DevEnv) Revised the <I>TWL-SDK Migration Guide</I></A></DD>
33<DD><A href="#note73-06">Note 73-06: (DevEnv) Removed <CODE>SDK_NITRO</CODE> from public header files</A></DD>
34<DD><A href="#note73-07">Note 73-07: (DevEnv) Revised an explanation for applications with extended language support</A></DD>
35<DD><A href="#note73-08">Note 73-08: (FS) Reduced the processing load on components while accessing NAND memory and SD Cards</A></DD>
36<DD><A href="#note73-09">Note 73-09: (FS) Fixed an issue that prevented NITRO ROM overlays from being debugged in IS-TWL-DEBUGGER</A></DD>
37<DD><A href="#note73-10">Note 73-10: (FS) Added a description related to determining the state of the SD Card slot</A></DD>
38<DD><A href="#note73-11">Note 73-11: (FS) Revised error values related to save data</A></DD>
39<DD><A href="#note73-12">Note 73-12: (FS) Fixed a bug related to conflicting use of multiple archives</A></DD>
40<DD><A href="#note73-13">Note 73-13: (GX) Revised the DEMO library</A></DD>
41<DD><A href="#note73-14">Note 73-14: (MIC) Explained auto-sampling function behavior and CODEC mode</A></DD>
42<DD><A href="#note73-15">Note 73-15: (OS) Changed specifications for the screen displayed by the <CODE>OS_InitChina</CODE> function</A></DD>
43<DD><A href="#note73-16">Note 73-16: (OS) Added the <CODE>OS_IsBootFromSystemMenu</CODE> function</A></DD>
44<DD><A href="#note73-17">Note 73-17: (OS) Added a function to set the blocking mode for debug output</A></DD>
45<DD><A href="#note73-18">Note 73-18: (PM) Changed how the <CODE>PM_SetLCDPower</CODE> function waits for a V-Blank</A></DD>
46<DD><A href="#note73-19">Note 73-19: (SND) Added a note about setting the IIR filter</A></DD>
47<DD><A href="#note73-20">Note 73-20: (SSP) Added functions that create BMP files</A></DD>
48<DD><A href="#note73-21">Note 73-21: (SSP) Revised the work buffer size for JPEG encoding functions</A></DD>
49<DD><A href="#note73-22">Note 73-22: (SSP) Fixed the JPEG decoding process</A></DD>
50<DD><A href="#note73-23">Note 73-23: (SSP) Added a reduced-memory version of the JPEG-encoding function</A></DD>
51<DD><A href="#note73-24">Note 73-24: (TCL) Reduced the memory used by JPEG encoding functions</A></DD>
52<DD><A href="#note73-25">Note 73-25: (TCL) Fixed PhotoChecker</A></DD>
53<DD><A href="#note73-26">Note 73-26: (TCL) Fixed the <CODE>TCL_EncodeAndWritePicture</CODE> function</A></DD>
54<DD><A href="#note73-27">Note 73-27: (TOOL) Changed <CODE>NandFiler</CODE></A></DD>
55<DD><A href="#note73-28">Note 73-28: (TOOL) Fixed a bug in TwlNmenu that occurred when importing from an SD Card</A></DD>
56<DD><A href="#note73-29">Note 73-29: (TOOL) Added support for Chinese and Korean to <CODE>addbanner</CODE></A></DD>
57<DD><A href="#note73-30">Note 73-30: (TOOL) Added the <CODE>-l</CODE> option to <CODE>compstatic</CODE></A></DD>
58<DD><A href="#note73-31">Note 73-31: (TOOL) Added support for Chinese and Korean to <CODE>makebanner</CODE> and <CODE>makebanner.TWL</CODE></A></DD>
59<DD><A href="#note73-32">Note 73-32: (WBT) Fixed the return value from the <CODE>WBT_RegisterBlock</CODE> function</A></DD>
60<DD><A href="#note73-33">Note 73-33: (WBT) Fixed a bug in the <CODE>wbt-1</CODE> sample demo</A></DD>
61<DD><A href="#note73-34">Note 73-34: (WFS) Increased the stack size for internal threads</A></DD>
62<DD><A href="#note73-35">Note 73-35: (WM) Revised the <CODE>dataShare-Model</CODE> and <CODE>wep-1</CODE> sample demos</A></DD>
63<DD><A href="#note73-36">Note 73-36: (WM) Revised sample demos</A></DD>
64<DD><A href="#note73-37">Note 73-37: (WM) Fixed a bug that prevented a callback from being invoked when the <CODE>WM_Reset</CODE> function was run at particular times</A></DD>
65<DD><A href="#note73-38">Note 73-38: (WXC) Added the Chance-Encounter Communications library</A></DD>
66<DD><A href="#KnownIssues_5_2_RC">Known issues in TWL-SDK version 5.2 RC</A></DD>
67</DL>
68<DL>
69<DT>
70<A href="#sdk_5_2_PR">TWL-SDK 5.2 PR</A> (2009/04/16)</DT>
71<DD><A href="#note72-01">Note 72-01: (AES) Fixed a bug that occurred during simultaneous use of AES library and wireless features</A></DD>
72<DD><A href="#note72-02">Note 72-02: (CAMERA) Added a note on the timing at which settings are applied by the <CODE>CAMERA_I2C*</CODE> functions</A></DD>
73<DD><A href="#note72-03">Note 72-03: (CAMERA) Added a precautionary note to the function reference for the <CODE>CAMERA_SwitchOffLED</CODE> function</A></DD>
74<DD><A href="#note72-04">Note 72-04: (CAMERA) Added frame rate values</A></DD>
75<DD><A href="#note72-05">Note 72-05: (DSP) Fixed bugs in the <CODE>DSP_PlaySound</CODE> function</A></DD>
76<DD><A href="#note72-06">Note 72-06: (DSP) Fixed a bug in the <CODE>DSP_Scaling*</CODE> functions</A></DD>
77<DD><A href="#note72-07">Note 72-07: (DevEnv) Revised the <I>TWL-SDK Migration Guide</I></A></DD>
78<DD><A href="#note72-08">Note 72-08: (EL) Added the <CODE>EL_Link*Ex</CODE> functions</A></DD>
79<DD><A href="#note72-09">Note 72-09: (FS) Updated <CODE>AboutFileSystem.pdf</CODE></A></DD>
80<DD><A href="#note72-10">Note 72-10: (FS) Fixed functions that involve writes to NAND memory</A></DD>
81<DD><A href="#note72-11">Note 72-11: (FS) Revised the <CODE>async</CODE> sample demos</A></DD>
82<DD><A href="#note72-12">Note 72-12: (FS) Fixed a bug that occurred during a system shutdown</A></DD>
83<DD><A href="#note72-13">Note 72-13: (FS) Added an explanation of the size consumed by Nintendo DSi enhanced ROMs</A></DD>
84<DD><A href="#note72-14">Note 72-14:(FS) Revisions specific to cache operation when accessing files</A></DD>
85<DD><A href="#note72-15">Note 72-15: (FS) Corrected unnecessary device accesses in the flush process</A></DD>
86<DD><A href="#note72-16">Note 72-16: (FS) Fixed a bug related to issuing commands in multiple threads</A></DD>
87<DD><A href="#note72-17">Note 72-17: (GX) Added explanation to the <CODE>Sub_Double3D</CODE> sample demo</A></DD>
88<DD><A href="#note72-18">Note 72-18: (MB) Re-modified the method for building the child programs for the <CODE>multiboot-model</CODE> and <CODE>multiboot-wfs</CODE> sample demos</A></DD>
89<DD><A href="#note72-19">Note 72-19: (MB) Fixed a bug related to distribution with delayed loading</A></DD>
90<DD><A href="#note72-20">Note 72-20: (NA) Added support for the Chinese and Korean shared font libraries</A></DD>
91<DD><A href="#note72-21">Note 72-21: (OS) Added heap functions related to unused regions of hybrid ROMs in NITRO mode</A></DD>
92<DD><A href="#note72-22">Note 72-22: (OS) Fixed undefined instructions in the IRQ handler</A></DD>
93<DD><A href="#note72-23">Note 72-23: (OS) Added support for 17-digit ISBN numbers</A></DD>
94<DD><A href="#note72-24">Note 72-24: (OS) Added information to the function reference for the <CODE>OS_GetCurrentThread</CODE> function</A></DD>
95<DD><A href="#note72-25">Note 72-25: (OS) Added the <CODE>OS_IsOnMainMemory</CODE> and <CODE>OS_IsOnWram</CODE> functions</A></DD>
96<DD><A href="#note72-26">Note 72-26: (OS) Added a warning screen for TWL-exclusive ROMs</A></DD>
97<DD><A href="#note72-27">Note 72-27: (PM) Fixed a mutual exclusion bug in the PM library</A></DD>
98<DD><A href="#note72-28">Note 72-28: (PM) Changed the priority rights for main memory during shutdown processing</A></DD>
99<DD><A href="#note72-29">Note 72-29: (PRC) Changed the prototype pattern database</A></DD>
100<DD><A href="#note72-30">Note 72-30: (RTC) Added a function reference for the <CODE>RTC_GetDayOfWeek</CODE> function</A></DD>
101<DD><A href="#note72-31">Note 72-31: (SND) Fixed a bug related to loading WAVE data in the <CODE>DEMOLib</CODE> and <CODE>stream</CODE> sample demos</A></DD>
102<DD><A href="#note72-32">Note 72-32: (SND) Fixed a bug in the SNDEX shutdown callback</A></DD>
103<DD><A href="#note72-33">Note 72-33: (SSP) Fixed a bug in the <CODE>SSP_StartJpegEncoder*</CODE> functions</A></DD>
104<DD><A href="#note72-34">Note 72-34: (SSP) Fixed the buffer size used for creating thumbnails</A></DD>
105<DD><A href="#note72-35">Note 72-35: (TCL) Added the TCL library</A></DD>
106<DD><A href="#note72-36">Note 72-36: (TOOL) Changed <CODE>makerom</CODE></A></DD>
107<DD><A href="#note72-37">Note 72-37: (TOOL) Changed <CODE>makerom.TWL</CODE></A></DD>
108<DD><A href="#note72-38">Note 72-38: (TOOL) Fixed a bug that resulted in an illegal TAD file contained in an SRL file created by <CODE>maketad</CODE></A></DD>
109<DD><A href="#note72-39">Note 72-39: (TOOL) Added TWL card support to <CODE>maketad</CODE> and <CODE>tad2rom</CODE></A></DD>
110<DD><A href="#note72-40">Note 72-40: (TOOL) Fixed usage information for <CODE>ntrcomp</CODE></A></DD>
111<DD><A href="#note72-41">Note 72-41: (TOOL) Added explanations related to specifying banners for applications for the Chinese market</A></DD>
112<DD><A href="#note72-42">Note 72-42: (WM) Improved decision-making in the <CODE>WM_IsValidGameInfo</CODE> and <CODE>WM_IsValidGameBeacon</CODE> functions</A></DD>
113<DD><A href="#note72-43">Note 72-43: (WM) Added restrictions on the buffer specified when initializing the wireless library</A></DD>
114<DD><A href="#note72-44">Note 72-44: (Miscellaneous) Handled a renamed Australian rating organization</A></DD>
115<DD><A href="#KnownIssues_5_2_PR">Known issues in TWL-SDK version 5.2 PR</A></DD>
116</DL>
117<DL>
118<DT>
119<A href="#sdk_5_1_%E6%AD%A3%E5%BC%8F%E7%89%88">TWL-SDK 5.1 Release Version</A> (2009/02/27)</DT>
120<DD><A href="#note71-01">Note 71-01:(DSP) Updated the audio and graphics components</A></DD>
121<DD><A href="#note71-02">Note 71-02:(DevEnv) Fixed a problem in the arena region of expanded main memory </A></DD>
122<DD><A href="#note71-03">Note 71-03:(GX) Clarified the group of functions that ignore settings when the LCD is in the OFF state</A></DD>
123<DD><A href="#note71-04">Note 71-04:(MATH) Revised the TWL-SDK Migration Guide</A></DD>
124<DD><A href="#note71-05">Note 71-05:(MB) Fixed the HYBRID Card application clone boot </A></DD>
125<DD><A href="#note71-06">Note 71-06:(MB) Fixed the multiboot-Model and fake_child sample demos</A></DD>
126<DD><A href="#note71-07">Note 71-07:(OS) Added a process to wait for the divider to end when loading context</A></DD>
127<DD><A href="#note71-08">Note 71-08:(PM) Fixed interrupt-specific problem with PM_ForceToPowerOff</A></DD>
128<DD><A href="#note71-09">Note 71-09:(SSP) Corrected the JPEG decoding process</A></DD>
129<DD><A href="#note71-10">Note 71-10:(SSP) Fixed problem with SSP_StartJpegEncoderWithEncodeData</A></DD>
130<DD><A href="#note71-11">Note 71-11: (TOOL) Fixed tad2rom</A></DD>
131<DD><A href="#note71-12">Note 71-12:(WM) Corrected sample demos</A></DD>
132<DD><A href="#KnownIssues_5_1_%E6%AD%A3%E5%BC%8F%E7%89%88">Known issues in TWL-SDK version 5.1 official release</A></DD>
133</DL>
134<DL>
135<DT>
136<A href="#sdk_5_1_RC">TWL-SDK 5.1 RC</A> (2009/02/10)</DT>
137<DD><A href="#note70-01">Note 70-01:(CTRDG)  Made CTRDG_Init a weak function</A></DD>
138<DD><A href="#note70-02">Note 70-02:(DevEnv) Revised the TWL-SDK Transition Guide</A></DD>
139<DD><A href="#note70-03">Note 70-03:(FS) Split up the FAT driver initialization functions</A></DD>
140<DD><A href="#note70-04">Note 70-04:(FS) Fixed a bug in the FS_SetSeekCache function</A></DD>
141<DD><A href="#note70-05">Note 70-05:(FS) Fixed a bug specific to system shutdown</A></DD>
142<DD><A href="#note70-06">Note 70-06:(FS) Fixed a bug specific to working with long path names</A></DD>
143<DD><A href="#note70-07">Note 70-07:(GX) Revised the GX_SetDefaultNDMA function</A></DD>
144<DD><A href="#note70-08">Note 70-08:(MB) Reduced the amount of memory consumed when using MB parent</A></DD>
145<DD><A href="#note70-09">Note 70-09:(PM) Added a note to the PM_SetLCDPower Function Reference</A></DD>
146<DD><A href="#note70-10">Note 70-10:(SND) Added API for changing sound volume</A></DD>
147<DD><A href="#note70-11">Note 70-11:(STD)  Revised the STD_SearchChar* functions</A></DD>
148<DD><A href="#note70-12">Note 70-12:(TOOL) Changed NandFiler</A></DD>
149<DD><A href="#note70-13">Note 70-13:(TOOL) Added a method for displaying the size of NAND applications in TwlNmenu</A></DD>
150<DD><A href="#note70-14">Note 70-14: (TOOL) Revised WMTestTool</A></DD>
151<DD><A href="#note70-15">Note 70-15:(TOOL) Changed makerom.TWL</A></DD>
152<DD><A href="#note70-16">Note 70-16:(TOOL) Deleted mb_child_simple.srl</A></DD>
153<DD><A href="#note70-17">Note 70-17:(TOOL) Added mb_child for separate operating environments</A></DD>
154<DD><A href="#note70-18">Note 70-18:(WFS) Fixed a bug in child end process</A></DD>
155<DD><A href="#note70-19">Note 70-19:(WM) Added the rssi member to the WMPortRecvCallback structure</A></DD>
156<DD><A href="#note70-20">Note 70-20:(MISC) Revised the sample demos</A></DD>
157<DD><A href="#KnownIssues_5_1_RC">Known issues in TWL-SDK version 5.1 RC</A></DD>
158</DL>
159<DL>
160<DT>
161<A href="#sdk_5_1_PR2">TWL-SDK 5.1 PR2</A> (2009/01/15)</DT>
162<DD><A href="#note69-01">Note 69-01:(CAMERA) Revised demo</A></DD>
163<DD><A href="#note69-02">Note 69-02:(CARD)  Strengthened card access determination</A></DD>
164<DD><A href="#note69-03">Note 69-03:(DSP) Changed the DSP_PlayShutterSound function</A></DD>
165<DD><A href="#note69-04">Note 69-04:(DevEnv) Updated the TWL-SDK Transition Guide</A></DD>
166<DD><A href="#note69-05">Note 69-05:(EL) Added the EL_CalcEnoughBufferSizeforLink* functions</A></DD>
167<DD><A href="#note69-06">Note 69-06:(EL) Added the EL_GetResultCode function</A></DD>
168<DD><A href="#note69-07">Note 69-07:(EL) Revised the EL_Unlink function</A></DD>
169<DD><A href="#note69-08">Note 69-08:(FS) Added the FS_ForceToEnableLatencyEmulation function</A></DD>
170<DD><A href="#note69-09">Note 69-09:(GX) Corrected the Sub_Double3D sample demo</A></DD>
171<DD><A href="#note69-10">Note 69-10:(MB) Added text about the pseudo-Download Play feature</A></DD>
172<DD><A href="#note69-11">Note 69-11:(NA) Updated the NAND Application Development Manual</A></DD>
173<DD><A href="#note69-12">Note 69-12:(OS) Expanded OSMutex</A></DD>
174<DD><A href="#note69-13">Note 69-13:(PM) Made revisions specific to turning off the LCD</A></DD>
175<DD><A href="#note69-14">Note 69-14:(SND) Added the SNDEX_GetCurrentVolume[Async] functions</A></DD>
176<DD><A href="#note69-15">Note 69-15:(SND) Restricted repeated execution of SNDEX_SetVolume[Async] functions</A></DD>
177<DD><A href="#note69-16">Note 69-16:(SND) Fixed method of exclusive control when continuously playing shutter sound</A></DD>
178<DD><A href="#note69-17">Note 69-17:(SSP) Added the  SSP_ExtractJpegDecoderExif function</A></DD>
179<DD><A href="#note69-18">Note 69-18:(SSP) Fixed a bug in the SSP_StartJpegDecoder function</A></DD>
180<DD><A href="#note69-19">Note 69-19:(SSP) Fixed a bug in the SSP_StartJpegDecoder function</A></DD>
181<DD><A href="#note69-20">Note 69-20:(SSP) Integrated the demos</A></DD>
182<DD><A href="#note69-21">Note 69-21:(TOOL) Added features to NandFiler for importing and exporting Save Data</A></DD>
183<DD><A href="#note69-22">Note 69-22:(TOOL) Changed makerom.TWL</A></DD>
184<DD><A href="#note69-23">Note 69-23:(TOOL) Added the tad2rom tool</A></DD>
185<DD><A href="#note69-24">Note 69-24:(WM) Fixed a problem with the execution of the WM_SetMPDataToPort function callback</A></DD>
186<DD><A href="#KnownIssues_5_1_PR2">Known issues in TWL-SDK version 5.1 PR2</A></DD>
187</DL>
188<DL>
189<DT>
190<A href="#sdk_5_1_PR">TWL-SDK 5.1 PR</A> (2008/12/10)</DT>
191<DD><A href="#note68-01">Note 68-01:(CAMERA) Fixed infinite loop bug in CAMERA_Init function</A></DD>
192<DD><A href="#note68-02">Note 68-02:(CARD) Changed the default settings of the cache disable operations</A></DD>
193<DD><A href="#note68-03">Note 68-03:(CARD) Added functions to determine operating mode</A></DD>
194<DD><A href="#note68-04">Note 68-04:(CRYPTO) Changed the padding method for RSA encryption</A></DD>
195<DD><A href="#note68-05">Note 68-05:(CRYPTO) Changed the library's section placement</A></DD>
196<DD><A href="#note68-06">Note 68-06:(DSP) Fixed a bug in the DSP_PlaySound function</A></DD>
197<DD><A href="#note68-07">Note 68-07:(DSP) Revised the timing of shutter sound playback</A></DD>
198<DD><A href="#note68-08">Note 68-08:(DSP) Fixed a problem with stereo sound playback</A></DD>
199<DD><A href="#note68-09">Note 68-09:(DSP) Restricted playable shutter sound data</A></DD>
200<DD><A href="#note68-10">Note 68-10:(DevEnv) Added documentation for ARM7 components</A></DD>
201<DD><A href="#note68-11">Note 68-11:(DevEnv) Added ARM7 component</A></DD>
202<DD><A href="#note68-12">Note 68-12:(DevEnv) Corrected the BuildFinalRom demo</A></DD>
203<DD><A href="#note68-13">Note 68-13:(DevEnv) Added build switch to disable IS-NITRO-DEBUGGER debug features</A></DD>
204<DD><A href="#note68-14">Note 68-14:(DevEnv) Made revisions relating to NITRO build Static segment</A></DD>
205<DD><A href="#note68-15">Note 68-15:(DevEnv) Added guide for transition from NITRO-SDK</A></DD>
206<DD><A href="#note68-16">Note 68-16:(ENV) Corrected API name of ENV_SetResourceSetArray function</A></DD>
207<DD><A href="#note68-17">Note 68-17:(FS) Added the FS_ATTRIBUTE_IS_OFFLINE flag</A></DD>
208<DD><A href="#note68-18">Note 68-18:(FS)  Fixed a bug in the FS_GetSeekCacheSize function</A></DD>
209<DD><A href="#note68-19">Note 68-19:(FS)  Fixed bugs in the FS_SetSeekCache and FS_SeekFile functions</A></DD>
210<DD><A href="#note68-20">Note 68-20:(FS) Revised the overlay-staticinit demo</A></DD>
211<DD><A href="#note68-21">Note 68-21:(FS) Added functions to determine archive status</A></DD>
212<DD><A href="#note68-22">Note 68-22:(FS) Made revisions specific to cache operation when accessing files</A></DD>
213<DD><A href="#note68-23">Note 68-23:(GX) Revised the Sub_Double3D sample demo</A></DD>
214<DD><A href="#note68-24">Note 68-24:(MB) Added formal support for HYBRID program clone boot feature</A></DD>
215<DD><A href="#note68-25">Note 68-25:(NA) Revised the NA_LoadSharedFontTable function</A></DD>
216<DD><A href="#note68-26">Note 68-26:(OS) Made OS_GetSerialNo a private function</A></DD>
217<DD><A href="#note68-27">Note 68-27:(OS) Changed the OS_ResetSystem function process</A></DD>
218<DD><A href="#note68-28">Note 68-28:(OS) Revised references to arena and protection region</A></DD>
219<DD><A href="#note68-29">Note 68-29:(OS) Revised functions that get Parental Control status</A></DD>
220<DD><A href="#note68-30">Note 68-30:(PM) Added the pm-2 demo</A></DD>
221<DD><A href="#note68-31">Note 68-31:(PM) Added exclusive control for hardware reset and application jumps</A></DD>
222<DD><A href="#note68-32">Note 68-32:(PM) Fixed a bug with hardware reset</A></DD>
223<DD><A href="#note68-33">Note 68-33:(SND) Prohibited changing DSPMixRate during shutter sound playback</A></DD>
224<DD><A href="#note68-34">Note 68-34:(SND) Prohibited execution of SNDEX functions during shutter sound playback</A></DD>
225<DD><A href="#note68-35">Note 68-35:(SND) Fixed a problem related to the execution of multiple SNDEX functions</A></DD>
226<DD><A href="#note68-36">Note 68-36:(SND) Corrected return value typo in asynchronous function references</A></DD>
227<DD><A href="#note68-37">Note 68-37:(SSP) Revised behavior in HYBRID build NITRO mode</A></DD>
228<DD><A href="#note68-38">Note 68-38:(SSP) Privatized the JPEG encode/decode signature feature</A></DD>
229<DD><A href="#note68-39">Note 68-39:(SSP) Added the SSP_ConvertJpegEncodeData and SSP_StartJpegEncoderWithEncodeData functions</A></DD>
230<DD><A href="#note68-40">Note 68-40:(TOOL) Fixed bugs in NandFiler</A></DD>
231<DD><A href="#note68-41">Note 68-41:(TOOL) Added a TWL version of mb_child.srl</A></DD>
232<DD><A href="#note68-42">Note 68-42:(TOOL) Added a TWL screen banner viewer to addbanner</A></DD>
233<DD><A href="#note68-43">Note 68-43: (TOOL) Revisions to buryarg.TWL</A></DD>
234<DD><A href="#note68-44">Note 68-44:(TOOL) Expanded cmptad functionality</A></DD>
235<DD><A href="#note68-45">Note 68-45:(TOOL) Enhanced error-checking functionality of compstatic tool</A></DD>
236<DD><A href="#note68-46">Note 68-46:(TOOL) Revised makebanner and makebanner.TWL</A></DD>
237<DD><A href="#note68-47">Note 68-47: (TOOL) Changed <CODE>makerom.TWL.exe</CODE></A></DD>
238<DD><A href="#note68-48">Note 68-48:(TOOL) Changed makerom.exe</A></DD>
239<DD><A href="#note68-49">Note 68-49:(TOOL) Added functionality to showversion to display build mode</A></DD>
240<DD><A href="#note68-50">Note 68-50:(TOOL) Added background graphic for banner previewing</A></DD>
241<DD><A href="#note68-51">Note 68-51:(WM) Fixed a bug in MP communication during component overload</A></DD>
242<DD><A href="#note68-52">Note 68-52:(WM) Changed behavior for Wireless OFF mode</A></DD>
243<DD><A href="#note68-53">Note 68-53:(WVR) Fixed a bug in Wireless library shutdown in switchover demo</A></DD>
244<DD><A href="#note68-54">Note 68-54: (MISC) Changed part of the banner format</A></DD>
245<DD><A href="#KnownIssues_5_1_PR">Known issues in TWL-SDK version 5.1 PR</A></DD>
246</DL>
247<DL>
248<DT>
249<A href="#sdk_5_00">TWL-SDK 5.0 Release Version</A> (2008/10/23)
250<DD><A href="#note67-01">Note 67-01: (CAMERA) Corrected error handling for <CODE>simpleShoot-1</CODE>, <CODE>simpleShoot-2</CODE></A>
251<DD><A href="#note67-02">Note 67-02: (CAMERA) Revised the <CODE>simpleShoot-2</CODE> demo</A>
252<DD><A href="#note67-03">Note 67-03: (CARD) Support for parent backup device</A>
253<DD><A href="#note67-04">Note 67-04: (DSP) Revised synchronous version of the DSP graphics component function</A>
254<DD><A href="#note67-05">Note 67-05: (DSP) Corrected inconsistency in the results of the <CODE>DSP_Scaling*</CODE> and <CODE>DSP_CalcScalingFactor*</CODE> functions</A>
255<DD><A href="#note67-06">Note 67-06: (DSP) Revised termination process for each DSP component</A>
256<DD><A href="#note67-07">Note 67-07:(DevEnv) Updated documents specific to the build switch</A>
257<DD><A href="#note67-08">Note 67-08: (FS) Improved open determination for TWL-exclusive files</A>
258<DD><A href="#note67-09">Note 67-09: (MB) Added a switch for the build mode on multiboot-wfs distributed child devices</A>
259<DD><A href="#note67-10">Note 67-10: (MI) Added the <CODE>MI_SendNDmaGXCommand*</CODE> functions</A>
260<DD><A href="#note67-11">Note 67-11:(OS) Added the <CODE>OS_IsCodecTwlMode</CODE> function</A>
261<DD><A href="#note67-12">Note 67-12: (OS) Added the demo for the <CODE>OS_JumpTo*</CODE> functions</A>
262<DD><A href="#note67-13">Note 67-13: (OS) Added a function to get the status of parental controls</A>
263<DD><A href="#note67-14">Note 67-14: (OS) Movement of the function reference's Operating Environment section</A>
264<DD><A href="#note67-15">Note 67-15: (PM) Added exclusive control for hardware resets and application jumps</A>
265<DD><A href="#note67-16">Note 67-16: (PM) Revised Power Button process</A>
266<DD><A href="#note67-17">Note 67-17: (SCFG) Adjusted SCFG functions</A>
267<DD><A href="#note67-18">Note 67-18: (SND) Abolished headphone mute when setting the IIR filter (targeting microphone input)</A>
268<DD><A href="#note67-19">Note 67-19: (SND) Fixed a <CODE>SNDEX_SetVolumeSwitchCallback</CODE> function bug</A>
269<DD><A href="#note67-20">Note 67-20: (SND) Added functionality to the <CODE>extraFunc</CODE> demo</A>
270<DD><A href="#note67-21">Note 67-21: (SSP) NITRO mode support for the JPEG library</A>
271<DD><A href="#note67-22">Note 67-22: (SSP) Added error processing for the <CODE>SSP_StartJpegEncoder</CODE> function</A>
272<DD><A href="#note67-23">Note 67-23: (STD) Handled a bug where the <CODE>STD_CompareNString</CODE> function would not return correct values</A>
273<DD><A href="#note67-24">Note 67-24: (STD) Revised the <CODE>STD_ConvertAsciiToInt</CODE> and <CODE>STD_ConvertAsciiToLong</CODE> functions</A>
274<DD><A href="#note67-25">Note 67-25: (STD) Revised the <CODE>STD_TSNPrintf</CODE>, <CODE>STD_TSPrintf</CODE>, <CODE>STD_TVSNPrintf</CODE>, and <CODE>STD_TVSPrintf</CODE> functions</A>
275<DD><A href="#note67-26">Note 67-26: (STD) Revised the <CODE>STD_TSScanf</CODE> and <CODE>STD_TVSScanf</CODE> functions</A>
276<DD><A href="#note67-27">Note 67-27: (TOOL) Added backup and restore features for saved data in <CODE>NandFiler</CODE></A>
277<DD><A href="#note67-28">Note 67-28: (TOOL) Added the ability to import from DS cards to <CODE>TwINmenu</CODE></A>
278<DD><A href="#note67-29">Note 67-29: (TOOL) Added the <CODE>cmptad</CODE> tool</A>
279<DD><A href="#note67-30">Note 67-30: (TOOL) Added <CODE>makebanner.exe</CODE> and <CODE>makebanner.TWL.exe</CODE> warnings</A>
280<DD><A href="#note67-31">Note 67-31: (TOOL) Added <CODE>makelst</CODE> and <CODE>stripdebug</CODE> references</A>
281<DD><A href="#note67-32">Note 67-32: (TOOL) Changed <CODE>makerom.TWL.exe</CODE></A>
282<DD><A href="#note67-33">Note 67-33: (TOOL) Added a feature to <CODE>maketad</CODE> to create an SRL file for writing to a DS card</A>
283<DD><A href="#note67-34">Note 67-34: (TWL Wireless) Fixed a bug where the system would hang when a reset is applied during TWL wireless communication</A>
284<DD><A href="#KnownIssues_5_00">Known issues in TWL-SDK version 5.0 official release</A>
285</DL>
286<HR>
287<H2 style="line-height: 0"><A name="sdk_5_2_%E6%AD%A3%E5%BC%8F%E7%89%88">TWL-SDK Version 5.2 Official Release</A></H2>
288<DIV style="text-align: right"><P style="line-height: 0">(2009/06/10)</P></DIV>
289<HR>
290<H3><A name="note74-01">Note 74-01: (DevEnv) Corrected Changelog Note 73-01</A></H3>
291<P><description>Fixed the explanation in the changelog for <a href="changelog.html#note73-01">Note 73-01</a> because it was insufficient.</description></P>
292<HR>
293<H3><A name="note74-02">Note 74-02: (DevEnv) Updated copyright notices</A></H3>
294<P><description>Updated copyright notices throughout the source code for the sample demos and library.</description></P>
295<HR>
296<H3><A name="note74-03">Note 74-03: (DevEnv) Revised the manual for NAND application development</A></H3>
297<P><description>Made the following revisions to <CODE>$TwlSDK/docs/TechnicalNotes/NandAppManual.pdf</CODE>.
298        <ul>
299<li>Noted that an application's size increases by 16 KB when it uses a sub-banner.</li>
300<li>Added information on the TCL (photo database) library.</li>
301        </ul>
302      </description></P>
303<HR>
304<H3><A name="note74-04">Note 74-04: (DevEnv) Changed the A-Z index list of function references</A></H3>
305<P><description>When multiple functions are described on a single page in the Function Reference Manual, they used to be grouped using *, [], and other wildcard characters on the A-Z index listing. Now, most function names are listed without wildcards.</description></P>
306<HR>
307<H3><A name="note74-05">Note 74-05: (FS) Added information on the TWL-exclusive region</A></H3>
308<P><description>Added an explanation to the FS library overview about the TWL-exclusive region prepared for Nintendo DSi enhanced Cards, and file placement in this region.</description></P>
309<HR>
310<H3><A name="note74-06">Note 74-06: (TCL) Fixed the <CODE>TCL_EncodeAndWritePicture</CODE> function</A></H3>
311<P><description>Fixed a bug in the <CODE>TCL_EncodeAndWritePicture</CODE> function that caused it to generate invalid JPEG files during retries after encoding failed.</description></P>
312<HR>
313<H3><A name="note74-07">Note 74-07: (TOOL) Changed <CODE>TwlNmenu</CODE></A></H3>
314<P><description>Made the following changes to the <CODE>TwlNmenu</CODE> tool.
315        <ul>
316<li>Added a feature to display the sub-banner size in NAND mode.</li>
317<li>Added a formula to the <CODE>TwlNmenu</CODE> function reference, showing how to calculate the size of a NAND application.</li>
318        </ul>
319      </description></P>
320<HR>
321<H3><A name="note74-08">Note 74-08: (TOOL) Fixed the check for displayable characters in <CODE>makebanner</CODE> and <CODE>makebanner.TWL</CODE></A></H3>
322<P><description>The <CODE>makebanner</CODE> and <CODE>makebanner.TWL</CODE> tools had a feature to check whether the configured game title has characters that can be displayed on Nintendo DS and Nintendo DSi systems, but this check for allowable characters did not follow the <I>DS IPL Banner Guidelines</I>. Now it does.</description></P>
323<HR>
324<H3><A name="note74-09">Note 74-09: (WXC) Fixed a library dead-strip problem</A></H3>
325<P><description>Fixed a problem that caused some internal modules to always be linked even when the WXC library was not used at all.</description></P>
326<HR>
327<H3><A name="KnownIssues_5_2_%E6%AD%A3%E5%BC%8F%E7%89%88">Known issues in TWL-SDK version 5.2 official release</A></H3>
328<knownissues><description>
329        <ul>
330<li>If a program built in HYBRID mode is run in a NITRO environment, any argument data that was embedded with the <CODE>buryarg</CODE> tool cannot be accessed properly.</li>
331        </ul>
332      </description></knownissues><HR>
333<H2 style="line-height: 0"><A name="sdk_5_2_RC">TWL-SDK Version 5.2 RC</A></H2>
334<DIV style="text-align: right"><P style="line-height: 0">(2009/05/29)</P></DIV>
335<HR>
336<H3><A name="note73-01">Note 73-01: (CAMERA) Fixed the <CODE>CAMERA_SwitchOffLED</CODE> and <CODE>CAMERA_SetLED</CODE> functions</A></H3>
337<P><description>Fixed a bug that prevented the camera indicator LED from blinking when its blink settings were called too rapidly in succession.<br><br> Because this correction also changes the behavior of the CAMERA_SwitchOffLED and CAMERA_SetLED functions, an explanation has been added to the reference for each.</description></P>
338<HR>
339<H3><A name="note73-02">Note 73-02: (CARD) Fixed a bug in detecting a card removal during ROM access</A></H3>
340<P><description>Fixed a bug that occurred if a card was removed while a card application running in TWL mode read data from ROM, causing the program to be forcibly stopped by an abnormal ROM hash before being notified by the card removal callback.</description></P>
341<HR>
342<H3><A name="note73-03">Note 73-03: (DSP) Fixed a bug in the microphone sampling feature</A></H3>
343<P><description>Fixed a bug that caused data to be written past the end of the sampling buffer specified with the <CODE>DSP_StartSampling</CODE> function if it was not an integer multiple of 4096 samples (8192 bytes).</description></P>
344<HR>
345<H3><A name="note73-04">Note 73-04: (DevEnv) Corrected Changelog Note 72-07</A></H3>
346<P><description>Fixed the third changelog item for <a href="changelog.html#note72-07">Note 72-07</a>.</description></P>
347<HR>
348<H3><A name="note73-05">Note 73-05: (DevEnv) Revised the <I>TWL-SDK Migration Guide</I></A></H3>
349<P><description>Made the following revisions to <CODE>$TwlSDK/docs/TechnicalNotes/AboutNitroToTwl.pdf</CODE>.
350        <ul>
351<li>Changed it to use TWL-SDK 5.2 for comparison.</li>
352<li>Added a description of the <CODE>OS_CreateExtraHeap</CODE> and <CODE>OS_AddExtraAreaToHeap</CODE> functions as a way to use the starting memory region with a HYBRID ROM in NITRO mode.</li>
353        </ul>
354      </description></P>
355<HR>
356<H3><A name="note73-06">Note 73-06: (DevEnv) Removed <CODE>SDK_NITRO</CODE> from public header files</A></H3>
357<P><description>When using TWL-SDK in the IDE for CodeWarrior for DS, a proper NITRO build was not possible because <CODE>SDK_NITRO</CODE> was not defined.<br> To resolve this, references to <CODE>SDK_NITRO</CODE> were changed to <CODE>SDK_TWL</CODE>.<br><br> This change does not affect program behavior itself.</description></P>
358<HR>
359<H3><A name="note73-07">Note 73-07: (DevEnv) Revised an explanation for applications with extended language support</A></H3>
360<P><description>Revised an explanation in <CODE>$TwlSDK/docs/TechnicalNotes/AboutExtendedLanguage.pdf</CODE> concerning the specification of game titles with banners for China.<br> Previously, Chinese could be used to specify titles in all languages in the banner specification file. Non-Chinese languages must now be specified in English.<br> You must also specify version 3 for banner specification files when creating TWL applications for China.</description></P>
361<HR>
362<H3><A name="note73-08">Note 73-08: (FS) Reduced the processing load on components while accessing NAND memory and SD Cards</A></H3>
363<P><description>Improved memory placement to allow as much of a reduction in the processing load as possible when reading from or writing to NAND memory or an SD Card. The load would sometimes cause delays in sound and processing for devices on other components.</description></P>
364<HR>
365<H3><A name="note73-09">Note 73-09: (FS) Fixed an issue that prevented NITRO ROM overlays from being debugged in IS-TWL-DEBUGGER</A></H3>
366<P><description>Fixed a bug that prevented the break feature from being used in overlays when a NITRO ROM that included overlays built with the TWL-SDK was run on IS-TWL-DEBUGGER.<br><br> This change was added in the 5.2 PR version but was left out of the changelog.</description></P>
367<HR>
368<H3><A name="note73-10">Note 73-10: (FS) Added a description related to determining the state of the SD Card slot</A></H3>
369<P><description>Added a description to the FS Library Overview concerning the steps for determining the state of the SD Card slot; this includes checking write protection and monitoring SD Card insertion and removal events.</description></P>
370<HR>
371<H3><A name="note73-11">Note 73-11: (FS) Revised error values related to save data</A></H3>
372<P><description>Revised the <CODE>FS_GetArchiveResource</CODE> function to return <CODE>FS_RESULT_BAD_FORMAT</CODE> instead of <CODE>FS_RESULT_ERROR</CODE> when it was called for save data with corrupted FAT management information.<br><br> Also revised the function to return <CODE>FS_RESULT_NO_ENTRY</CODE> for partial save data that would occur on rare occasions with NAND applications that failed while importing data.</description></P>
373<HR>
374<H3><A name="note73-12">Note 73-12: (FS) Fixed a bug related to conflicting use of multiple archives</A></H3>
375<P><description>Fixed a bug that would sometimes cause abnormal program termination when a command was simultaneously issued to a ROM archive and a user-provided archive using the <CODE>FS_LoadArchive</CODE> function.</description></P>
376<HR>
377<H3><A name="note73-13">Note 73-13: (GX) Revised the DEMO library</A></H3>
378<P><description>Revised <CODE>$TwlSDK/build/demos/gx/UnitTours/DEMOLib</CODE> to support the new syntax for the <CODE>ISTDFIOWrite</CODE> (debugger) function, which changed since version 1.06 of IS-TWL-DEBUGGER.</description></P>
379<HR>
380<H3><A name="note73-14">Note 73-14: (MIC) Explained auto-sampling function behavior and CODEC mode</A></H3>
381<P><description>Revised explanations in the Function Reference Manual related to the run-time environment for <CODE>MIC_StartAutoSampling</CODE> and other auto-sampling functions.<br><br> These functions only had the NTR icon but can also be used in a TWL ROM (HYBRID or LIMITED), so the TWL icon was added.<br> Also noted that for a TWL ROM, these will only run when the CODEC is in CODEC-DS mode.</description></P>
382<HR>
383<H3><A name="note73-15">Note 73-15: (OS) Changed specifications for the screen displayed by the <CODE>OS_InitChina</CODE> function</A></H3>
384<P><description>Changed the images and display time for the screen shown when an application for the Chinese market starts up.<br> Accordingly, arguments were added to the <CODE>OS_InitChina</CODE> function.</description></P>
385<HR>
386<H3><A name="note73-16">Note 73-16: (OS) Added the <CODE>OS_IsBootFromSystemMenu</CODE> function</A></H3>
387<P><description>Added the <CODE>OS_IsBootFromSystemMenu</CODE> function to check whether the System Menu was used to start the application that is currently running.</description></P>
388<HR>
389<H3><A name="note73-17">Note 73-17: (OS) Added a function to set the blocking mode for debug output</A></H3>
390<P><description>Added the <CODE>OS_SetPrintBlockingMode</CODE> function, which sets the blocking mode for IS-TWL-DEBUGGER and IS-NITRO-DEBUGGER debug output.<br> Also added the <CODE>OS_GetPrintBlockingMode</CODE> function to get the current settings.</description></P>
391<HR>
392<H3><A name="note73-18">Note 73-18: (PM) Changed how the <CODE>PM_SetLCDPower</CODE> function waits for a V-Blank</A></H3>
393<P><description>Changed the <CODE>PM_SetLCDPower</CODE> function to wait for a change in the V-Blank count rather than a V-Blank interrupt.<br> The reason for this is that interrupts sometimes cannot be detected when multiple threads use interrupts to wait for a V-Blank interrupt.</description></P>
394<HR>
395<H3><A name="note73-19">Note 73-19: (SND) Added a note about setting the IIR filter</A></H3>
396<P><description>Added a note to the Function Reference Manual about the effects of setting an IIR filter that results in unstable output.</description></P>
397<HR>
398<H3><A name="note73-20">Note 73-20: (SSP) Added functions that create BMP files</A></H3>
399<P><description>Added the <CODE>SSP_CreateBmpFile</CODE> function to create a Windows BMP file from RGB555 or YUV422 image data, and the <CODE>SSP_GetBmpFileSize</CODE> function to get the size in advance.</description></P>
400<HR>
401<H3><A name="note73-21">Note 73-21: (SSP) Revised the work buffer size for JPEG encoding functions</A></H3>
402<P><description>Moved some regions allocated by a function to a work buffer in order to reduce stack consumption during JPEG encoding.<br> This revision caused the work buffer size to increase, so the return value from the <CODE>SSP_GetJpegEncoderBufferSize</CODE> function has been increased, as well.</description></P>
403<HR>
404<H3><A name="note73-22">Note 73-22: (SSP) Fixed the JPEG decoding process</A></H3>
405<P><description>Fixed a vulnerability that was evident in the JPEG decoding process.</description></P>
406<HR>
407<H3><A name="note73-23">Note 73-23: (SSP) Added a reduced-memory version of the JPEG-encoding function</A></H3>
408<P><description>Added two functions: <CODE>SSP_StartJpegEncoderLite</CODE>, which has a much smaller work buffer than the previous JPEG-encoding function (<CODE>SSP_StartJpegEncoder</CODE>); and <CODE>SSP_GetJpegEncoderLiteBufferSize</CODE>, which gets the work buffer size.<br> Note that the encoding results may not necessarily be the same as the results from the previous encoding function.<br><br> This function does not require image data to be converted in advance, so there are no reduced-memory versions of the <CODE>SSP_ConvertJpegEncodeData</CODE> and <CODE>SSP_StartJpegEncoderWithEncodeData</CODE> functions.</description></P>
409<HR>
410<H3><A name="note73-24">Note 73-24: (TCL) Reduced the memory used by JPEG encoding functions</A></H3>
411<P><description>Changed the <CODE>TCL_EncodeAndWritePicture(Ex)</CODE> functions to internally call <CODE>SSP_StartJpegEncoderLite</CODE>, the reduced-memory version of the encoding function.<br> Accordingly, decreased the return value from the <CODE>TCL_GetJpegEncoderBufferSize</CODE> function.</description></P>
412<HR>
413<H3><A name="note73-25">Note 73-25: (TCL) Fixed PhotoChecker</A></H3>
414<P><description>Fixed an incomplete part of the process for detecting illegal files with the PhotoChecker tool.</description></P>
415<HR>
416<H3><A name="note73-26">Note 73-26: (TCL) Fixed the <CODE>TCL_EncodeAndWritePicture</CODE> function</A></H3>
417<P><description>Fixed the <CODE>TCL_EncodeAndWritePicture</CODE> function to properly reduce the quality and retry when encoding fails.<br><br> Also fixed the error processing during calls to this function without <CODE>PhotoAccessReadWrite</CODE> specified.</description></P>
418<HR>
419<H3><A name="note73-27">Note 73-27: (TOOL) Changed <CODE>NandFiler</CODE></A></H3>
420<P><description>Made the following changes to the <CODE>NandFiler</CODE> tool.
421        <ul>
422<li>Added a feature to reproduce how save data and sub-banners may be improperly saved during a download from the Nintendo DSi Shop that is interrupted by turning off the power. However, we are still studying how an application should handle errors when save data or sub-banners are deleted.</li>
423<li>Added a format feature that allows you to recover data once it has been deleted</li>
424<li>Fixed a bug in <CODE>NandFiler</CODE> that caused it to hang when displaying a list of files from an SD Card if there was a directory written using a character code that could not be converted into Shift-JIS.</li>
425        </ul>
426      </description></P>
427<HR>
428<H3><A name="note73-28">Note 73-28: (TOOL) Fixed a bug in TwlNmenu that occurred when importing from an SD Card</A></H3>
429<P><description>A bug in TwlNmenu caused it to hang when displaying a list of files from an SD Card if there was a directory written using a character code that could not be converted into Shift-JIS.<br> This problem has been fixed.</description></P>
430<HR>
431<H3><A name="note73-29">Note 73-29: (TOOL) Added support for Chinese and Korean to <CODE>addbanner</CODE></A></H3>
432<P><description>Revised the <CODE>addbanner</CODE> tool so that it can also display game titles in Chinese and Korean languages.</description></P>
433<HR>
434<H3><A name="note73-30">Note 73-30: (TOOL) Added the <CODE>-l</CODE> option to <CODE>compstatic</CODE></A></H3>
435<P><description>Added an option to the <CODE>compstatic</CODE> and <CODE>compstatic.TWL</CODE> tools allowing you to specify a compression exclusion list for overlay modules.</description></P>
436<HR>
437<H3><A name="note73-31">Note 73-31: (TOOL) Added support for Chinese and Korean to <CODE>makebanner</CODE> and <CODE>makebanner.TWL</CODE></A></H3>
438<P><description>Revised <CODE>makebanner</CODE> and <CODE>makebanner.TWL</CODE> to check character width and the existence of character codes in game titles in Chinese and Korean languages.<br><br> Additionally, with <CODE>makebanner.TWL</CODE>, it was previously required to set <CODE>CN</CODE> (for Chinese) and <CODE>HN</CODE> (for Korean) in the BSF file for a TWL title. However, taking the portability from NITRO into account, it has been revised to automatically set these fields blank when they are left unspecified.</description></P>
439<HR>
440<H3><A name="note73-32">Note 73-32: (WBT) Fixed the return value from the <CODE>WBT_RegisterBlock</CODE> function</A></H3>
441<P><description>The corresponding function in TWL-SDK 5.1 PR and earlier always returned TRUE; this behavior differed from the description in the Function Reference Manual.<br> This function was revised to check and return FALSE, as described in the Function Reference Manual.<br> The function was also revised to output a warning to the debugger when returning FALSE.</description></P>
442<HR>
443<H3><A name="note73-33">Note 73-33: (WBT) Fixed a bug in the <CODE>wbt-1</CODE> sample demo</A></H3>
444<P><description>Fixed improper data transmissions from the parent device to the child device when reconnecting.</description></P>
445<HR>
446<H3><A name="note73-34">Note 73-34: (WFS) Increased the stack size for internal threads</A></H3>
447<P><description>Increased the stack size prepared by the WFS library for internal threads from 1 KB to 4 KB.</description></P>
448<HR>
449<H3><A name="note73-35">Note 73-35: (WM) Revised the <CODE>dataShare-Model</CODE> and <CODE>wep-1</CODE> sample demos</A></H3>
450<P><description>Revised both samples so that they can return to the first parent/child selection screen after selecting a parent.</description></P>
451<HR>
452<H3><A name="note73-36">Note 73-36: (WM) Revised sample demos</A></H3>
453<P><description>Changed the type of the <CODE>tgid</CODE> argument from <CODE>u16</CODE> to <CODE>u32</CODE> so <CODE>tgid</CODE> can be set to <CODE>MB_TGID_AUTO</CODE> in the <CODE>MBP_Init</CODE> function prepared with the <CODE>$TwlSDK/build/demos/wireless_shared/mbp</CODE> samples.</description></P>
454<HR>
455<H3><A name="note73-37">Note 73-37: (WM) Fixed a bug that prevented a callback from being invoked when the <CODE>WM_Reset</CODE> function was run at particular times</A></H3>
456<P><description>Fixed a bug that prevented the registered callback from being invoked when the <CODE>WM_Reset</CODE> function was run at particular times during communication in a noisy environment.</description></P>
457<HR>
458<H3><A name="note73-38">Note 73-38: (WXC) Added the Chance-Encounter Communications library</A></H3>
459<P><description>Added the WXC library for chance-encounter communications.</description></P>
460<HR>
461<H3><A name="KnownIssues_5_2_RC">Known issues in TWL-SDK version 5.2 RC</A></H3>
462<knownissues><description>
463        <ul>
464<li>If a program built in HYBRID mode is run in a NITRO environment, any argument data that was embedded with the <CODE>buryarg</CODE> tool cannot be accessed properly.</li>
465<li>FINALROM application jumps do not work properly on TS boards.</li>
466        </ul>
467      </description></knownissues><HR>
468<H2 style="line-height: 0"><A name="sdk_5_2_PR">TWL-SDK Version 5.2 PR</A></H2>
469<DIV style="text-align: right"><P style="line-height: 0">(2009/04/16)</P></DIV>
470<HR>
471<H3><A name="note72-01">Note 72-01: (AES) Fixed a bug that occurred during simultaneous use of AES library and wireless features</A></H3>
472<P><description>Fixed a bug that caused the AES library to halt when it was used simultaneously with wireless features.</description></P>
473<HR>
474<H3><A name="note72-02">Note 72-02: (CAMERA) Added a note on the timing at which settings are applied by the <CODE>CAMERA_I2C*</CODE> functions</A></H3>
475<P><description>Added a note in the <I>Function Reference Manual</I> to the effect that there may be approximately a one-frame delay between when camera settings are changed using a <CODE>CAMERA_I2C*</CODE> function and when the values are actually applied.</description></P>
476<HR>
477<H3><A name="note72-03">Note 72-03: (CAMERA) Added a precautionary note to the function reference for the <CODE>CAMERA_SwitchOffLED</CODE> function</A></H3>
478<P><description>It has been established that on rare occasions the LED would not turn off when the <CODE>CAMERA_SwitchOffLED</CODE> function was used. A procedure that is certain to turn off the LED was therefore added to the <I>Function Reference Manual</I> for the <CODE>CAMERA_SwitchOffLED</CODE> and <CODE>CAMERA_SetLED</CODE> functions.<br><br> This bug will be fixed in the next release, TWL-SDK 5.2 RC, so a description of the post-fix specifications was also added.</description></P>
479<HR>
480<H3><A name="note72-04">Note 72-04: (CAMERA) Added frame rate values</A></H3>
481<P><description>Added the following values to the frame rates that can be set by the <CODE>CAMERA_I2CFrameRate</CODE> function.
482        <ul>
483          <li>CAMERA_FRAME_RATE_15_TO_10</li>
484          <li>CAMERA_FRAME_RATE_20_TO_10</li>
485          <li>CAMERA_FRAME_RATE_30_TO_10</li>
486        </ul>
487      </description></P>
488<HR>
489<H3><A name="note72-05">Note 72-05: (DSP) Fixed bugs in the <CODE>DSP_PlaySound</CODE> function</A></H3>
490<P><description>Fixed two bugs in the <CODE>DSP_PlaySound</CODE> function that halted program execution. The first would occur when the function was called consecutively, and the second would occur if the function was called at the moment playback ended.</description></P>
491<HR>
492<H3><A name="note72-06">Note 72-06: (DSP) Fixed a bug in the <CODE>DSP_Scaling*</CODE> functions</A></H3>
493<P><description>Fixed a bug that prevented processing from ending or caused one or two lines to be left off the end of the output image if the input image size and scale ratios satisfied particular conditions when <CODE>DSP_GRAPHICS_SCALING_MODE_BICUBIC</CODE> was specified for the scaling mode and scale ratios were specified that would shrink the image along the vertical axis.</description></P>
494<HR>
495<H3><A name="note72-07">Note 72-07: (DevEnv) Revised the <I>TWL-SDK Migration Guide</I></A></H3>
496<P><description>Made the following revisions to <CODE>$TwlSDK/docs/TechnicalNotes/AboutNitroToTwl.pdf</CODE>.
497        <ul>
498<li>Changed the compared TWL-SDK to the official release of TWL-SDK 5.1.</li>
499<li>Added a note that card applications must set the card region in RSF files.</li>
500<li>Noted that <CODE>RomSize</CODE> is ignored and <CODE>RomFootPadding</CODE> must be set to <CODE>FALSE</CODE> in the RSF file for a NAND application.</li>
501<li>Fixed typos and standardized terminology in descriptions.</li>
502        </ul>
503      </description></P>
504<HR>
505<H3><A name="note72-08">Note 72-08: (EL) Added the <CODE>EL_Link*Ex</CODE> functions</A></H3>
506<P><description>Added the <CODE>EL_Link*Ex</CODE> functions, which allow the buffer size to be specified, because a buffer overflow error occurs if the correct buffer size is not specified with the <CODE>EL_Link*</CODE> functions.<br> If you are currently using the <CODE>EL_Link*</CODE> functions, we recommend that you switch to using the <CODE>EL_Link*Ex</CODE> functions.</description></P>
507<HR>
508<H3><A name="note72-09">Note 72-09: (FS) Updated <CODE>AboutFileSystem.pdf</CODE></A></H3>
509<P><description>Added an overview of the NITRO ROM format to <CODE>$TwlSDK/docs/TechnicalNotes/AboutFileSystem.pdf</CODE>.</description></P>
510<HR>
511<H3><A name="note72-10">Note 72-10: (FS) Fixed functions that involve writes to NAND memory</A></H3>
512<P><description>Fixed a bug that would on rare occasions prevent the FS library from returning if an SD Card was inserted or removed during a write to NAND memory.</description></P>
513<HR>
514<H3><A name="note72-11">Note 72-11: (FS) Revised the <CODE>async</CODE> sample demos</A></H3>
515<P><description>When the sample demos in <CODE>$TwlSDK/build/demos/fs/async</CODE> were run in TWL mode, the entire ROM file image would fit into the CARD library's internal cache buffer. Consequently, the samples behaved incorrectly: They did not switch threads nor wait for FS functions to finish.<br><br> To adjust sample demo behavior, the size of each ROM file has been made large enough to prevent processing from ending during an FS function call.</description></P>
516<HR>
517<H3><A name="note72-12">Note 72-12: (FS) Fixed a bug that occurred during a system shutdown</A></H3>
518<P><description>When a Power Button press interrupted a NAND access, on rare occasions a bug caused the AES library to remain in an intermediate state without shutting down and prevented the FS library's shutdown sequence from ending.<br> This problem was fixed.<br><br> Note that if the Power Button is pressed while the <CODE>NA_FormatTitleArchive</CODE> function is handling a save data file of 2 MB or more, it is also possible for that function to be interrupted. This bug is unfortunately applicable to that function.</description></P>
519<HR>
520<H3><A name="note72-13">Note 72-13: (FS) Added an explanation of the size consumed by Nintendo DSi enhanced ROMs</A></H3>
521<P><description>Explained in the FS library's Overview page that a Nintendo DSi enhanced ROM (built as hybrid or limited) stores a hash table for security purposes and thus consumes enough additional space in ROM for that table.</description></P>
522<HR>
523<H3><A name="note72-14">Note 72-14:(FS) Revisions specific to cache operation when accessing files</A></H3>
524<P><description>Fixed a bug related to <a href="changelog.html#note68-22">Note 68-22</a>. This bug caused the cache to be corrupted just in the area near the end of the transfer buffer in cases where (for example) the transfer size was not 32-byte aligned while accessing a file, but the cache lines continued to be 32-byte aligned.</description></P>
525<HR>
526<H3><A name="note72-15">Note 72-15: (FS) Corrected unnecessary device accesses in the flush process</A></H3>
527<P><description>For applications that had never accessed an SD Card or NAND memory, the process of flushing the FAT file system involved an long read access that was fundamentally unnecessary.<br><br> The result was that, depending on the SD Card inserted, the sleep and reset processes could take a long time when the SD Card had never been accessed.<br> This problem was fixed.</description></P>
528<HR>
529<H3><A name="note72-16">Note 72-16: (FS) Fixed a bug related to issuing commands in multiple threads</A></H3>
530<P><description>Fixed a bug that caused two threads to enter a processing deadlock on rare occasions when a high-priority thread called an FS library function while a low-priority thread was also calling an FS library function.</description></P>
531<HR>
532<H3><A name="note72-17">Note 72-17: (GX) Added explanation to the <CODE>Sub_Double3D</CODE> sample demo</A></H3>
533<P><description>Added comments to the source code for the <CODE>Sub_Double3D</CODE> sample demo, explaining phenomena related to the flicker described in section 7.5.2 of the Programming Guidelines and how the demo deals with it.</description></P>
534<HR>
535<H3><A name="note72-18">Note 72-18: (MB) Re-modified the method for building the child programs for the <CODE>multiboot-model</CODE> and <CODE>multiboot-wfs</CODE> sample demos</A></H3>
536<P><description>The fixes for <a href="changelog.html#note67-09">Note 67-09</a> and <a href="changelog.html#note71-06">Note 71-06</a> were insufficient, so the makefile was revised again for both the <CODE>multiboot-model</CODE> and the <CODE>multiboot-wfs</CODE> sample demos.</description></P>
537<HR>
538<H3><A name="note72-19">Note 72-19: (MB) Fixed a bug related to distribution with delayed loading</A></H3>
539<P><description>Fixed a bug that resulted in a redundant file access past the end of a ROM, violating the hash check in the CARD library and causing program execution to fail. This bug occurred when DS Download Play was run with delayed loading, a small buffer was specified to the <CODE>MB_ReadSegment</CODE> function, and the file to distribute was placed near the end of the ROM.</description></P>
540<HR>
541<H3><A name="note72-20">Note 72-20: (NA) Added support for the Chinese and Korean shared font libraries</A></H3>
542<P><description>Added support for reading shared Chinese and Korean system internal fonts (these are separate from the ones in Japanese, North American, European, and Australian systems).</description></P>
543<HR>
544<H3><A name="note72-21">Note 72-21: (OS) Added heap functions related to unused regions of hybrid ROMs in NITRO mode</A></H3>
545<P><description>Until now, the first 16 KB of main memory were not used when a hybrid ROM was run in NITRO mode. This has been changed for this operation mode only (hybrid ROMs running in NITRO mode) so that the unused region can be used as a new heap or added to an existing heap as a free memory block.<br><br> The <CODE>OS_CreateExtraHeap</CODE> function uses the region as a new heap.<br> The <CODE>OS_AddExtraAreaToHeap</CODE> function adds the region to an existing heap as a memory block.<br><br> The <CODE>OS_ClearExtraHeap</CODE> function has also been added to initialize heaps created with the <CODE>OS_CreateExtraHeap</CODE> function.</description></P>
546<HR>
547<H3><A name="note72-22">Note 72-22: (OS) Fixed undefined instructions in the IRQ handler</A></H3>
548<P><description>The IRQ handler contained inline assembly code that, interpreted strictly under the ARM instruction set, resulted in undefined instructions.<br> This was fixed to be composed of code that defined the relevant items.<br><br> Even though undefined instructions were written, they were interpreted by the CodeWarrior compiler and TWL CPU as expected by the library design and did not result in any behavioral problems before being revised.</description></P>
549<HR>
550<H3><A name="note72-23">Note 72-23: (OS) Added support for 17-digit ISBN numbers</A></H3>
551<P><description>Following the extension of ISBN numbers from 13- to 17-digits, added support for 17-digit ISBN numbers in the <CODE>OS_InitChina</CODE> function.</description></P>
552<HR>
553<H3><A name="note72-24">Note 72-24: (OS) Added information to the function reference for the <CODE>OS_GetCurrentThread</CODE> function</A></H3>
554<P><description>Added a note to the <I>Function Reference Manual</I> recommending against calling the <CODE>OS_GetCurrentThread</CODE> function from an interrupt handler.</description></P>
555<HR>
556<H3><A name="note72-25">Note 72-25: (OS) Added the <CODE>OS_IsOnMainMemory</CODE> and <CODE>OS_IsOnWram</CODE> functions</A></H3>
557<P><description>Added functions to check the address referenced by a pointer and determine where it is located in memory.</description></P>
558<HR>
559<H3><A name="note72-26">Note 72-26: (OS) Added a warning screen for TWL-exclusive ROMs</A></H3>
560<P><description>Changed behavior so that now a warning screen appears when a TWL-exclusive ROM is run in NITRO mode.<br> (However, Chinese and Korean images have not yet been prepared.)</description></P>
561<HR>
562<H3><A name="note72-27">Note 72-27: (PM) Fixed a mutual exclusion bug in the PM library</A></H3>
563<P><description>Fixed a bug in the PM library that caused deadlocks when PM functions were called at particular times, even though multithread tasks were made to be mutually exclusive.</description></P>
564<HR>
565<H3><A name="note72-28">Note 72-28: (PM) Changed the priority rights for main memory during shutdown processing</A></H3>
566<P><description>Gave the ARM7 priority rights to main memory. This ensures that after the <CODE>GX_DispOff</CODE> function is run during shutdown processing for a system shutdown or hardware reset, the V-Blank count is updated before the count is read and execution waits for two frames.</description></P>
567<HR>
568<H3><A name="note72-29">Note 72-29: (PRC) Changed the prototype pattern database</A></H3>
569<P><description>Removed hiragana and added several new types of symbols to the prototype pattern database used by the PRC sample demos.<br> In line with this change, also revised <CODE>$TwlSDK/docs/TechnicalNotes/AboutPatternRecognition.pdf</CODE>.</description></P>
570<HR>
571<H3><A name="note72-30">Note 72-30: (RTC) Added a function reference for the <CODE>RTC_GetDayOfWeek</CODE> function</A></H3>
572<P><description>Added a page in the <I>Function Reference Manual</I> for the <CODE>RTC_GetDayOfWeek</CODE> function, which is used to get the day of the week for a specified date.</description></P>
573<HR>
574<H3><A name="note72-31">Note 72-31: (SND) Fixed a bug related to loading WAVE data in the <CODE>DEMOLib</CODE> and <CODE>stream</CODE> sample demos</A></H3>
575<P><description>Fixed a bug in the <CODE>DEMOLib</CODE> and <CODE>stream</CODE> sample demos. The WAVE data format input to the <CODE>ReadWaveFormat</CODE> function was illegal and caused the demos to halt with a data access exception.</description></P>
576<HR>
577<H3><A name="note72-32">Note 72-32: (SND) Fixed a bug in the SNDEX shutdown callback</A></H3>
578<P><description>When the <CODE>SNDEX_SetIgnoreHWVolume</CODE> function was run and the hardware subsequently reset, the post-processing callbacks invoked at shutdown included processing to automatically reset the volume (identical to running the <CODE>SNDEX_ResetIgnoreHWVolume</CODE> function). However, the process for changing the volume had a bug that would prevent reset processing from finishing.<br> This problem has been fixed.</description></P>
579<HR>
580<H3><A name="note72-33">Note 72-33: (SSP) Fixed a bug in the <CODE>SSP_StartJpegEncoder*</CODE> functions</A></H3>
581<P><description>Fixed a bug that prevented proper encoding with thumbnails using the <CODE>SSP_StartJpegEncoder</CODE> and <CODE>SSP_StartJpegEncoderWithEncodeData</CODE> functions when the quality was set to a value of 70 or less.</description></P>
582<HR>
583<H3><A name="note72-34">Note 72-34: (SSP) Fixed the buffer size used for creating thumbnails</A></H3>
584<P><description>An excessively large internal buffer had been allocated for creating thumbnails in the <CODE>SSP_StartJpegEncoder</CODE> function, so it was revised to be allocated with the appropriate size.<br> This change reduces the working size obtained with the <CODE>SSP_GetJpegEncoderBufferSize</CODE> function.</description></P>
585<HR>
586<H3><A name="note72-35">Note 72-35: (TCL) Added the TCL library</A></H3>
587<P><description>Added the TCL library for accessing the <CODE>photo</CODE> region. This region stores photo data taken from the Nintendo DSi Menu or Nintendo DSi Cameras.<br> Accordingly, added the PhotoChecker tool to ensure that no files unrelated to the TCL library have been written to the <CODE>photo</CODE> region. <br><br> The following changes have been made to the TCL library since version 2009/03/19, which supported the official release of TWL-SDK 5.1.
588        <ul>
589<li>Added the <CODE>TCL_GetPictureInfoFromPath</CODE> function to get <CODE>TCLPictureInfo</CODE> data from a photo path.</li>
590<li>Added the <CODE>TCL_GetLastWrittenPictureInfo</CODE> function to get photo information for the most recent image to be written.</li>
591<li>Changed the <CODE>TCL_DeletePicture</CODE> function to handle directories in the same way as the Nintendo DSi Cameras do when deleting photos.</li>
592        </ul>
593      </description></P>
594<HR>
595<H3><A name="note72-36">Note 72-36: (TOOL) Changed <CODE>makerom</CODE></A></H3>
596<P><description>Made the following changes to <CODE>makerom</CODE>.
597        <ul>
598<li>Revised explanations in the <I>Function Reference Manual</I>, which previously stated that when the <CODE>Align</CODE> and <CODE>AlignAll</CODE> properties competed with each other, the largest setting value would have priority even though in actuality <CODE>Align</CODE> always took precedence.</li>
599<li>Fixed a bug that occurred  when the <CODE>BannerFile</CODE> property was not specified. This bug caused the <CODE>Align</CODE> and <CODE>AlignAll</CODE> property settings to <I>not</I> be applied to the first file recorded in ROM.</li>
600        </ul>
601      </description></P>
602<HR>
603<H3><A name="note72-37">Note 72-37: (TOOL) Changed <CODE>makerom.TWL</CODE></A></H3>
604<P><description>Made the following changes to <CODE>makerom.TWL</CODE>.
605        <ul>
606<li>Revised explanations in the <I>Function Reference Manual</I>, which previously stated that when the <CODE>Align</CODE> and <CODE>AlignAll</CODE> properties competed with each other, the largest setting value would have priority even though in actuality <CODE>Align</CODE> always took precedence.</li>
607<li>Fixed a bug that occurred  when the <CODE>BannerFile</CODE> property was not specified. This bug caused the <CODE>Align</CODE> and <CODE>AlignAll</CODE> property settings to <I>not</I> be applied to the first file recorded in ROM.</li>
608<li>Removed a restriction that caused the <CODE>Align</CODE> and <CODE>AlignAll</CODE> properties to be internally corrected to a minimum value of only 1024 bytes for Nintendo DSi enhanced programs.</li>
609<li>Revised the default value used when the <CODE>DigestParam</CODE> property is omitted. The default value used to be &quot;2048 256&quot;, but it is now &quot;1024 32&quot; and matches the standard RSF file.</li>
610<li>Added processing to automatically set the <CODE>JpegSign</CODE> property to <CODE>TRUE</CODE> when the <CODE>PhotoAccess</CODE> property includes write access specifications. If you have configured the <CODE>JpegSign</CODE> property to accommodate the TCL library, from now on remove the <CODE>JpegSign</CODE> specification and configure only <CODE>PhotoAccess</CODE> to an appropriate value.</li>
611        </ul>
612      </description></P>
613<HR>
614<H3><A name="note72-38">Note 72-38: (TOOL) Fixed a bug that resulted in an illegal TAD file contained in an SRL file created by <CODE>maketad</CODE></A></H3>
615<P><description>A bug formerly prevented <CODE>TwlNmenu</CODE> from finding some output files created by <CODE>maketad</CODE>. This bug affected output files created in <CODE>maketad</CODE> using the <CODE>-n</CODE> option (specifically, SRL files containing TAD files), whose filenames included directories and were specified to <CODE>maketad</CODE> using the <CODE>-o</CODE> option.<br> This problem has been fixed.</description></P>
616<HR>
617<H3><A name="note72-39">Note 72-39: (TOOL) Added TWL card support to <CODE>maketad</CODE> and <CODE>tad2rom</CODE></A></H3>
618<P><description>When <CODE>maketad</CODE> or <CODE>tad2rom</CODE> created an SRL file containing a TAD file and the file was burned to a TWL card, it could sometimes not be imported to <CODE>TwlNmenu</CODE>.<br> This problem has been fixed.</description></P>
619<HR>
620<H3><A name="note72-40">Note 72-40: (TOOL) Fixed usage information for <CODE>ntrcomp</CODE></A></H3>
621<P><description>Fixed the usage for <CODE>ntrcomp</CODE>, which showed the <CODE>-d</CODE> and <CODE>-h</CODE> options taking incorrect values.</description></P>
622<HR>
623<H3><A name="note72-41">Note 72-41: (TOOL) Added explanations related to specifying banners for applications for the Chinese market</A></H3>
624<P><description>Added explanations of specifying banners for applications for the Chinese market to the following files, because the files contained less information than the guidelines.
625        <ul>
626<li><CODE>makebanner</CODE> page in the <I>Function Reference Manual</I></li>
627<li><CODE>makebanner.TWL</CODE> page in the <I>Function Reference Manual</I></li>
628<li>Section 3.2.3 in <CODE>$TwlSDK/docs/TechnicalNotes/AboutExtendedLanguage.pdf</CODE></li>
629        </ul>
630      </description></P>
631<HR>
632<H3><A name="note72-42">Note 72-42: (WM) Improved decision-making in the <CODE>WM_IsValidGameInfo</CODE> and <CODE>WM_IsValidGameBeacon</CODE> functions</A></H3>
633<P><description>Improved both the <CODE>WM_IsValidGameInfo</CODE> and <CODE>WM_IsValidGameBeacon</CODE> functions' ability to return <CODE>FALSE</CODE> for falsified beacon information. These functions had been confirmed to sometimes be unable to detect a falsified, illegal beacon during a scan.</description></P>
634<HR>
635<H3><A name="note72-43">Note 72-43: (WM) Added restrictions on the buffer specified when initializing the wireless library</A></H3>
636<P><description>When the buffer (<CODE>wmSysBuf</CODE>) specified to the <CODE>WM_Init</CODE> and <CODE>WM_Initialize</CODE> functions was allocated from the VRAM or extended main memory in IS-TWL-DEBUGGER (hardware), it was discovered that the library would not function correctly. As a result, initialization has been changed to fail when the buffer is allocated from the aforementioned locations.</description></P>
637<HR>
638<H3><A name="note72-44">Note 72-44: (Miscellaneous) Handled a renamed Australian rating organization</A></H3>
639<P><description>Made the following revisions following a change to the name of the Australian rating organization.
640        <ul>
641<li>Changed the properties used to specify Australia in the <CODE>Rating</CODE> section of <CODE>makerom.TWL</CODE>. <br>Accordingly, revised the <CODE>makerom.TWL</CODE> page in the <I>Function Reference Manual</I> as well.</li>
642<li>Renamed <CODE>enum</CODE> members related to Parental Controls in the TWL system information</li>
643<li>Revised RSF file comments for each demo</li>
644        </ul>
645      </description></P>
646<HR>
647<H3><A name="KnownIssues_5_2_PR">Known issues in TWL-SDK version 5.2 PR</A></H3>
648<knownissues><description>
649        <ul>
650<li>If a program built in HYBRID mode is run in a NITRO environment, any argument data that was embedded with the <CODE>buryarg</CODE> tool cannot be accessed properly.</li>
651<li>FINALROM application jumps do not work properly on TS boards.</li>
652        </ul>
653      </description></knownissues><HR>
654<H2 style="line-height: 0"><A name="sdk_5_1_%E6%AD%A3%E5%BC%8F%E7%89%88">� TWL-SDK Version 5.1 Official Release</A></H2>
655<DIV style="text-align: right"><P style="line-height: 0">(2009/02/27)</P></DIV>
656<HR>
657<H3><A name="note71-01">Note 71-01:(DSP) Updated the audio and graphics components</A></H3>
658<P><description>The DSP's internal data transfer process was updated, so the components have also been updated.</description></P>
659<HR>
660<H3><A name="note71-02">Note 71-02:(DevEnv) Fixed a problem in the arena region of expanded main memory </A></H3>
661<P><description>In TWL mode, even if the auto-load module was placed in expanded main memory, this would not be taken into consideration and the expanded main memory arena would be allocated from the start of expanded main memory. This problem was corrected by revising the <CODE>lcf template</CODE> file.</description></P>
662<HR>
663<H3><A name="note71-03">Note 71-03:(GX) Clarified the group of functions that ignore settings when the LCD is in the OFF state</A></H3>
664<P><description>When the LCD display is in the OFF state the GX circuitry clock is paused, so settings configured during that time are ignored in a number of functions. <br>This fact has been added to the reference information for the following functions.
665        <ul>
666<li>GX_SetMasterBrightness.html</li>
667<li>GXS_SetMasterBrightness.html</li>
668<li>GX_SetCapture.html</li>
669<li>GX_ResetCapture.html</li>
670        </ul>
671      </description></P>
672<HR>
673<H3><A name="note71-04">Note 71-04:(MATH) Revised the TWL-SDK Migration Guide</A></H3>
674<P><description>Added the section <I>2.11 MATH MD5 Function Not Recommended</I> to the document $TwlSDK/docs/TechnicalNotes/AboutNitroToTwl.pdf.</description></P>
675<HR>
676<H3><A name="note71-05">Note 71-05:(MB) Fixed the HYBRID Card application clone boot </A></H3>
677<P><description>When a HYBRID-build card application operating in the hardware environment conducted a clone boot, the process would forcibly stop on a CARD library validity check. This problem, which was caused by unnecessary ROM access, has been fixed.</description></P>
678<HR>
679<H3><A name="note71-06">Note 71-06:(MB) Fixed the multiboot-Model and fake_child sample demos</A></H3>
680<P><description>During initialization of the <CODE>multiboot-Model</CODE> and <CODE>fake_child</CODE> demos, if the call to the <CODE>GX_VBlankIntr</CODE> function was late and the child became <CODE>mb_child_***.srl</CODE>, sometimes the screen after the boot would not display. This problem has been fixed.<br><br> Also, the build modes in <CODE>multiboot-Model</CODE> were restricted to NITRO mode for no reason, so this restriction was eliminated.</description></P>
681<HR>
682<H3><A name="note71-07">Note 71-07:(OS) Added a process to wait for the divider to end when loading context</A></H3>
683<P><description>When <CODE>OS_LoadContext</CODE> was called while operating in TWL mode, sometimes the process would exit from the function without waiting for the end of the divider's calculation after the context was loaded.  To correct this, the process now waits for the calculation to end when operating in TWL mode.</description></P>
684<HR>
685<H3><A name="note71-08">Note 71-08:(PM) Fixed interrupt-specific problem with PM_ForceToPowerOff</A></H3>
686<P><description>When the <CODE>PM_ForceToPowerOff</CODE> function was called to turn the power off at a time when interrupts were prohibited and the LCD was in the OFF state, the program would halt. <br> This problem has been fixed.</description></P>
687<HR>
688<H3><A name="note71-09">Note 71-09:(SSP) Corrected the JPEG decoding process</A></H3>
689<P><description>For some images, the JPEG decoding process would not yield the intended decoding result. This has been corrected.</description></P>
690<HR>
691<H3><A name="note71-10">Note 71-10:(SSP) Fixed problem with SSP_StartJpegEncoderWithEncodeData</A></H3>
692<P><description>When JPEG encoding was performed using the <CODE>SSP_StartJpegEncoderWithEncodeData</CODE> function, the thumbnails could not be created correctly. This has been fixed.</description></P>
693<HR>
694<H3><A name="note71-11">Note 71-11: (TOOL) Fixed tad2rom</A></H3>
695<P><description>The program would crash if the argument did not contain the forward slash (  /  ). This problem has been fixed.</description></P>
696<HR>
697<H3><A name="note71-12">Note 71-12:(WM) Corrected sample demos</A></H3>
698<P>In the following sample demos, the port number used for wireless communications differed from the corresponding demos contained in Revolution SDK Extension. This prevented normal communications between Wii and DS systems, and has been fixed.
699        <ul>
700<li>mp_simple1</li>
701<li>datashare-1</li>
702        </ul>
703      </description></P>
704<HR>
705<H3><A name="KnownIssues_5_1_%E6%AD%A3%E5%BC%8F%E7%89%88">Known issues in TWL-SDK version 5.1 official release</A></H3>
706<knownissues><description>
707        <ul>
708<li>If a program built in hybrid mode is run in a NITRO environment, any argument data that was embedded with the <CODE>buryarg</CODE> tool cannot be accessed properly.</li>
709<li>FINALROM application jumps do not work properly on TS boards.</li>
710        </ul>
711      </description></knownissues><HR>
712<H2 style="line-height: 0"><A name="sdk_5_1_RC">TWL-SDK Version 5.1 RC</A></H2>
713<DIV style="text-align: right"><P style="line-height: 0">(2009/02/10)</P></DIV>
714<HR>
715<H3><A name="note70-01">Note 70-01:(CTRDG)  Made CTRDG_Init a weak function</A></H3>
716<P><description>The <CODE>CTRDG_Init</CODE> function could be called from the <CODE>OS_Init</CODE> function without using any CTRDG functions. A number of CTRDG functions would then be linked, taking up a large amount of memory.<br> The <CODE>CTRDG_Init</CODE> function has been converted to a weak function. For applications that do not access Game Paks, definitions can be altered to reduce the amount of memory taken up by the CTRDG  library.<br> For more information, see the <CODE>CTRDG_DummyInit</CODE> function.</description></P>
717<HR>
718<H3><A name="note70-02">Note 70-02:(DevEnv) Revised the TWL-SDK Transition Guide</A></H3>
719<P><description>Added information to sections 3.1 and 5.1 in the <CODE>$TwlSDK/docs/TechnicalNotes/AboutNitroToTwl.pdf</CODE> documentation, mentioning that the library uses more memory when you transition from NITRO-SDK to TWL-SDK NITRO or HYBRID ROM.</description></P>
720<HR>
721<H3><A name="note70-03">Note 70-03:(FS) Split up the FAT driver initialization functions</A></H3>
722<P><description>Because normal card-boot applications do not use NAND system memory or an SD memory card, the FAT driver initialization function has been split up so applications do not link to FAT drivers when they do not need to.<br> If  your HYBRID build card-boot application uses NAND system memory or an SD memory card, you need to call the <CODE>FS_InitFatDriver</CODE> function in addition to the <CODE>FS_Init</CODE> function.</description></P>
723<HR>
724<H3><A name="note70-04">Note 70-04:(FS) Fixed a bug in the FS_SetSeekCache function</A></H3>
725<P><description>If the address for the start or the end of the buffer specified by the <CODE>FS_SetSeekCache</CODE> function did not align with the cache boundary, subsequent seek operations were unpredictable. This bug has been fixed.<br> Accordingly, the <CODE>FS_GetSeekCacheSize</CODE> function now returns a 64-byte value to accommodate cache boundary padding.</description></P>
726<HR>
727<H3><A name="note70-05">Note 70-05:(FS) Fixed a bug specific to system shutdown</A></H3>
728<P><description>If the power button was pressed while a 2 MB or larger file was being written or read from NAND system memory, the shutdown sequence occasionally would not complete. That bug has been fixed.</description></P>
729<HR>
730<H3><A name="note70-06">Note 70-06:(FS) Fixed a bug specific to working with long path names</A></H3>
731<P><description>When dealing with path names that reached the FAT upper limit of 255 characters, operations that should succeed would occasionally return <CODE>FS_RESULT_NO_ENTRY</CODE> and fail. That bug has been corrected.</description></P>
732<HR>
733<H3><A name="note70-07">Note 70-07:(GX) Revised the GX_SetDefaultNDMA function</A></H3>
734<P><description>When a HYBRID build was operating in NITRO mode, the <CODE>GX_SetDefaultNDMA</CODE> function would be called. That has been corrected.</description></P>
735<HR>
736<H3><A name="note70-08">Note 70-08:(MB) Reduced the amount of memory consumed when using MB parent</A></H3>
737<P><description>The buffer used for scanning when using MB child functionality (DS Download Play only) was also linked when using MB parent functionality. To reduce memory consumption, this has been revised so the buffer is not linked when it is not needed.</description></P>
738<HR>
739<H3><A name="note70-09">Note 70-09:(PM) Added a note to the PM_SetLCDPower Function Reference</A></H3>
740<P><description>As a result of the revision described in <a href="changelog.html#note69-13">Note 69-13</a>, you no longer need to make a separate call to the GX_DispOn function when you use the the PM_SetLCDPower function to turn the LCD back on. This has been added to the function reference.</description></P>
741<HR>
742<H3><A name="note70-10">Note 70-10:(SND) Added API for changing sound volume</A></H3>
743<P><description>Two functions, <CODE>SNDEX_SetIgnoreHWVolume</CODE> and <CODE>SNDEX_ResetIgnoreHWVolume</CODE>, have been added. They allow you to preset a value that you want to use to change the sound volume, to temporarily change to that value, and to revert back to the original volume.<br> You need to conform to the Programming Guidelines when using these two functions.<br><br> In addition, the <CODE>$TwlSDK/build/demos.TWL/snd/ignoreHWVolumeDemo</CODE> sample demo has been added. The demo uses these two functions to play sounds at the specified volume for a specified time.</description></P>
744<HR>
745<H3><A name="note70-11">Note 70-11:(STD)  Revised the STD_SearchChar* functions</A></H3>
746<P><description>Revised the <CODE>STD_SearchChar</CODE> and <CODE>STD_SearchCharReverse</CODE> functions to enable searching for null characters.</description></P>
747<HR>
748<H3><A name="note70-12">Note 70-12:(TOOL) Changed NandFiler</A></H3>
749<P><description>Made the following changes to <CODE>NandFiler</CODE>:
750        <ul>
751<li>When a file of 0 bytes in size was opened, the system would freeze. That bug has been fixed.</li>
752<li>Directories and files are now sorted for display.</li>
753        </ul>
754      </description></P>
755<HR>
756<H3><A name="note70-13">Note 70-13:(TOOL) Added a method for displaying the size of NAND applications in TwlNmenu</A></H3>
757<P><description>Added the display of the overall size (<CODE>TitleSize</CODE>) of an imported NAND application in units of KB.</description></P>
758<HR>
759<H3><A name="note70-14">Note 70-14: (TOOL) Revised WMTestTool</A></H3>
760<P><description>Sometimes the system would freeze on <CODE>scanEx test</CODE> in the  <CODE>WMTestTool</CODE>. That bug has been corrected.</description></P>
761<HR>
762<H3><A name="note70-15">Note 70-15:(TOOL) Changed makerom.TWL</A></H3>
763<P><description>Made the following changes to <CODE>makerom.TWL</CODE>.
764        <ul>
765<li>Changed the <CODE>wramMapping</CODE> property so <CODE>MAP_TS_HYB</CODE> and  <CODE>MAP_TS_LTD</CODE> cannot be specified. (Before they could be specified, even though they could not be used.)</li>
766<li>Changed the <CODE>CardRegion</CODE> property to allow the setting of multiple regions as shown below.
767            <ul>
768<li>Europe and Australia: EuropeAndAustralia</li>
769<li>North America and Australia: AmericaAndAustralia</li>
770<li>North America, Europe and Australia: AmericaAndEuropeAndAustralia</li>
771            </ul>
772          </li>
773<li>In the <CODE>Rating</CODE> section, added the <CODE>Unnecessary</CODE>property for times when a rating does not need to be displayed.<br>Also, an error is now output if you set values that are not defined by the rating organizations.</li>
774        </ul>
775      </description></P>
776<HR>
777<H3><A name="note70-16">Note 70-16:(TOOL) Deleted mb_child_simple.srl</A></H3>
778<P><description>Deleted the <CODE>mb_child_simple.srl</CODE> independent downloader in combination with renaming the <CODE>mb_child</CODE> program. </description></P>
779<HR>
780<H3><A name="note70-17">Note 70-17:(TOOL) Added mb_child for separate operating environments</A></H3>
781<P><description>Added <CODE>mb_child_[NITRO|TWL].srl </CODE> for IS-NITRO-EMULATOR and the NITRO environment, and for IS-TWL-DEBUGGER and the TWL environment, each with the same specification as the respective DS Download Play specifications.<br> The <CODE>mb_child</CODE> included up until the previous version is the same as the newly added <CODE>mb_child_TWL.srl</CODE>.</description></P>
782<HR>
783<H3><A name="note70-18">Note 70-18:(WFS) Fixed a bug in child end process</A></H3>
784<P><description>When WFS for a child was ended by a call to the <CODE>WFS_EndClient</CODE> function, and a ROM archive was subsequently accessed, the process would stop on a data access exception.</description></P>
785<HR>
786<H3><A name="note70-19">Note 70-19:(WM) Added the rssi member to the WMPortRecvCallback structure</A></H3>
787<P><description>The <CODE>rssi</CODE> member has been added to the <CODE>WMPortRecvCallback</CODE> structure to get information about receiver sensitivity for data (frames) received during MP communication.</description></P>
788<HR>
789<H3><A name="note70-20">Note 70-20:(MISC) Revised the sample demos</A></H3>
790<P><description>Revised a number of sample demos that randomly called <CODE>OS_SetIrqMask</CODE> to control interrupts during program initialization.</description></P>
791<HR>
792<H3><A name="KnownIssues_5_1_RC">Known issues in TWL-SDK version 5.1 RC</A></H3>
793<knownissues><description>
794        <ul>
795<li>If a program built in Hybrid mode is run in a NITRO environment, any argument data that was embedded with the <CODE>buryarg</CODE> tool cannot be accessed properly.</li>
796<li>FINALROM application jumps do not work properly on TS boards.</li>
797        </ul>
798      </description></knownissues><HR>
799<H2 style="line-height: 0"><A name="sdk_5_1_PR2">TWL-SDK Version 5.1 PR2</A></H2>
800<DIV style="text-align: right"><P style="line-height: 0">(2009/01/15)</P></DIV>
801<HR>
802<H3><A name="note69-01">Note 69-01:(CAMERA) Revised demo</A></H3>
803<P><description>A portion of the CAMERA library demo did not comply with the camera specifications. That has been corrected.</description></P>
804<HR>
805<H3><A name="note69-02">Note 69-02:(CARD)  Strengthened card access determination</A></H3>
806<P><description>Strengthened the library's internal determination process so programs that start in any mode other than Card Boot do not inadvertently access DS Cards that are in an unknown state.</description></P>
807<HR>
808<H3><A name="note69-03">Note 69-03:(DSP) Changed the DSP_PlayShutterSound function</A></H3>
809<P><description>Until now, <CODE>FALSE</CODE> was returned when forced output of the sound failed inside the  <CODE>DSP_PlayShutterSound</CODE> function. That has been changed so the process is now retried inside the function until it is successful.<br><br> With this revision, the <CODE>DSP_PlayShutterSound</CODE> function now only returns <CODE>FALSE</CODE> when the specified shutter sound does not match the I2S operating frequency.</description></P>
810<HR>
811<H3><A name="note69-04">Note 69-04:(DevEnv) Updated the TWL-SDK Transition Guide</A></H3>
812<P><description>Text about the <CODE>Static</CODE> module in NITRO ROM has been deleted from <CODE>$TwlSDK/docs/TechnicalNotes/AboutNitroToTwl.pdf</CODE> because it is not needed starting with TWL-SDK 5.1 PR.<br> In addition, some of the text about ROM archives in NAND applications was edited for accuracy.</description></P>
813<HR>
814<H3><A name="note69-05">Note 69-05:(EL) Added the EL_CalcEnoughBufferSizeforLink* functions</A></H3>
815<P><description>The following functions have been added to calculate the size of buffers needed for dynamic links.
816        <ul>
817          <li>EL_CalcEnoughBufferSizeforLink</li>
818          <li>EL_CalcEnoughBufferSizeforLinkFile</li>
819          <li>EL_CalcEnoughBufferSizeforLinkImage</li>
820        </ul>
821      </description></P>
822<HR>
823<H3><A name="note69-06">Note 69-06:(EL) Added the EL_GetResultCode function</A></H3>
824<P><description>Added the <CODE>EL_GetResultCode</CODE> function, which can be used to get details about the result of the process last performed by EL.</description></P>
825<HR>
826<H3><A name="note69-07">Note 69-07:(EL) Revised the EL_Unlink function</A></H3>
827<P><description>The <CODE>EL_Unlink</CODE> function always returned 0, regardless of success or failure. That has been corrected.</description></P>
828<HR>
829<H3><A name="note69-08">Note 69-08:(FS) Added the FS_ForceToEnableLatencyEmulation function</A></H3>
830<P><description>Added the <CODE>FS_ForceToEnableLatencyEmulation</CODE> function to forcibly enable the feature to simulate waits because the feature is disabled for the FINALROM build.</description></P>
831<HR>
832<H3><A name="note69-09">Note 69-09:(GX) Corrected the Sub_Double3D sample demo</A></H3>
833<P><description>The previous correction to the Sub_Double3D demo (<a href="changelog.html#note68-23">Note 68-23</a>) was updated. The same kind of correction was made to <CODE>DEMOLib</CODE>.</description></P>
834<HR>
835<H3><A name="note69-10">Note 69-10:(MB) Added text about the pseudo-Download Play feature</A></H3>
836<P><description>Added an overview of the MB library's pseudo-Download Play functionality and an explanation of the <CODE>fake_child</CODE>sample that uses this to <CODE>$TwlSDK/docs/technicalNotes/AboutMultiBoot.pdf</CODE>.</description></P>
837<HR>
838<H3><A name="note69-11">Note 69-11:(NA) Updated the NAND Application Development Manual</A></H3>
839<P><description>Added a precaution about simple debugging in section 6.2 of <CODE>$TwlSDK/docs/TechnicalNotes/NandAppManual.pdf</CODE>.<br> Note that a NAND application executed from an SRL file on IS-TWL-DEBUGGER will behave differently than the released version.</description></P>
840<HR>
841<H3><A name="note69-12">Note 69-12:(OS) Expanded OSMutex</A></H3>
842<P><description>Added implementations of <CODE>read/write lock</CODE> to <CODE>mutex</CODE> in the OS library. <br>The following functions have been added.
843        <ul>
844<li>OS_LockMutexR</li>
845<li>OS_LockMutexW</li>
846<li>OS_UnlockMutexR</li>
847<li>OS_UnlockMutexW</li>
848<li>OS_UnlockMutexRW</li>
849<li>OS_TryLockMutexR</li>
850<li>OS_TryLockMutexW</li>
851<li>OS_LockMutexFromRToW</li>
852<li>OS_LockMutexFromWToR</li>
853<li>OS_TryLockMutexFromRToW</li>
854<li>OS_TryLockMutexFromWToR</li>
855        </ul>
856This change was actually implemented in the 5.1 PR version, but it was left out of the <CODE>changelog</CODE> file.</description></P>
857<HR>
858<H3><A name="note69-13">Note 69-13:(PM) Made revisions specific to turning off the LCD</A></H3>
859<P><description>In order to turn the LCD off with the <CODE>PM_SetLCDPower</CODE> function, a call must be made to the <CODE>GX_DispOff </CODE> function. <CODE>PM_SetLCDPower</CODE> has been revised so that it internally calls <CODE>GX_DispOff</CODE> if it is not called by the application.</description></P>
860<HR>
861<H3><A name="note69-14">Note 69-14:(SND) Added the SNDEX_GetCurrentVolume[Async] functions</A></H3>
862<P>There are now two types of sound volume values: the sound volume of the console, and the pending sound volume (see also <A href="changelog.html#note69-15">Note 69-15</a>).<br>Therefore, the <CODE>SNDEX_GetCurrentVolume[Async]</CODE> functions have been added to get the current console volume value.<br>The <CODE>SNDEX_GetVolume[Async]</CODE> functions get the pending volume value. If there is no pending value they get the current value.<br><br>The pending volume value is applied after several frames, so if <CODE>SNDEX_SetVolume[Async]</CODE> functions are being frequently used, or if you do not want to get the exact sound volume of the console at the time the function is called, there is no need to use the<CODE>SNDEX_GetCurrentVolume[Async]</CODE> functions.</P>
863<HR>
864<H3><A name="note69-15">Note 69-15:(SND) Restricted repeated execution of SNDEX_SetVolume[Async] functions</A></H3>
865<P><description>There is a limit to the number of times that the sound volume value can be stored in dedicated nonvolatile memory, so restrictions have been placed on the <CODE>SNDEX_SetVolume[Async]</CODE> functions. Sound volume values set by functions are held pending for roughly 10 frames before they are written. After the pending time has ended the value that is written is the value that was most recently set.</description></P>
866<HR>
867<H3><A name="note69-16">Note 69-16:(SND) Fixed method of exclusive control when continuously playing shutter sound</A></H3>
868<P><description>When the operation for continuous playback of shutter sound was repeated, exclusive control inside the SND library did not work well and the process would stop on a <CODE>Panic</CODE>. That bug has been fixed.</description></P>
869<HR>
870<H3><A name="note69-17">Note 69-17:(SSP) Added the  SSP_ExtractJpegDecoderExif function</A></H3>
871<P><description>Added the <CODE>SSP_ExtractJpegDecoderExif </CODE> function for extracting only EXIF information from JPEG files.</description></P>
872<HR>
873<H3><A name="note69-18">Note 69-18:(SSP) Fixed a bug in the SSP_StartJpegDecoder function</A></H3>
874<P><description>Fixed a bug that caused the <CODE>SSP_StartJpegDecoder</CODE> function to halt internally for certain files.</description></P>
875<HR>
876<H3><A name="note69-19">Note 69-19:(SSP) Fixed a bug in the SSP_StartJpegDecoder function</A></H3>
877<P><description>Fixed the problem of an internal stack overflow that occurred when the <CODE>SSP_StartJpegDecoder</CODE> function was used on certain files.</description></P>
878<HR>
879<H3><A name="note69-20">Note 69-20:(SSP) Integrated the demos</A></H3>
880<P><description>Integrated the SSP demos now that there is no need for separate TWL and NITRO versions (as per the change described in <A href="changelog.html#note68-37">Note 68-37</a>).</description></P>
881<HR>
882<H3><A name="note69-21">Note 69-21:(TOOL) Added features to NandFiler for importing and exporting Save Data</A></H3>
883<P><description>It is now possible to import and export data between SD cards and both the NAND application Save Data region and the PHOTO directory. <br>(The PHOTO directory data can only be exported.)<br>With this added functionality, you can now use Save Data that has been modified on a PC during debugging.</description></P>
884<HR>
885<H3><A name="note69-22">Note 69-22:(TOOL) Changed makerom.TWL</A></H3>
886<P><description>The <CODE>JpegSign</CODE> property in <CODE>makerom.TWL</CODE> does not always have to be set TRUE, so it has been made private.<br> This change was added in the 5.1 PR version, but it was left out of the changelog.</description></P>
887<HR>
888<H3><A name="note69-23">Note 69-23:(TOOL) Added the tad2rom tool</A></H3>
889<P><description>The <CODE>tad2rom</CODE> tool has been added for writing TAD-encapsulated SRL files.<br> This differs from the <CODE>-n</CODE> option of <CODE>maketad</CODE> because a TAD file can be used as input.<br> The resulting SRL file can only be used when <CODE>Card</CODE> mode is added to <CODE>TwINmenu</CODE>.</description></P>
890<HR>
891<H3><A name="note69-24">Note 69-24:(WM) Fixed a problem with the execution of the WM_SetMPDataToPort function callback</A></H3>
892<P><description>During MP communications, if the parent was reset and communications were cut, the callback registered by the <CODE>WM_SetMPDataToPort</CODE> function would never execute. That bug has been fixed.</description></P>
893<HR>
894<H3><A name="KnownIssues_5_1_PR2">Known Problems with SDK 5.1 PR2</A></H3>
895<knownissues><description>
896        <ul>
897<li>If a program built in HYBRID mode is run in a NITRO environment, any argument data that was embedded with the <CODE>buryarg</CODE> tool cannot be accessed properly.</li>
898<li>FINALROM application jumps do not work properly on TS boards.</li>
899<li>With some NITRO titles, <CODE>mb_child_simple.srl</CODE> does not run as a multiboot child on IS-TWL-DEBUGGER.</li>
900        </ul>
901      </description></knownissues><HR>
902<H2 style="line-height: 0"><A name="sdk_5_1_PR">TWL-SDK Version 5.1 PR</A></H2>
903<DIV style="text-align: right"><P style="line-height: 0">(2008/12/10)</P></DIV>
904<HR>
905<H3><A name="note68-01">Note 68-01:(CAMERA) Fixed infinite loop bug in CAMERA_Init function</A></H3>
906<P><description>Even when the camera cannot be used, for example when <CODE>ferret.TWL</CODE> is being used as an ARM7 component, the <CODE>CAMERA_Init</CODE> function can enter an infinite loop during its internal processing. To fix this bug, the function now fails initialization and returns an error in such cases.</description></P>
907<HR>
908<H3><A name="note68-02">Note 68-02:(CARD) Changed the default settings of the cache disable operations</A></H3>
909<P><description>In order to improve the efficiency of the ROM data loading process, the default threshold value for disabling cache has been changed to 1 KB for IC and 9 KB for DC, and the instruction cache is not disabled.<br><br> In addition, added the <CODE>CARD_SetCacheFlushFlag</CODE> function to change these settings with the program.</description></P>
910<HR>
911<H3><A name="note68-03">Note 68-03:(CARD) Added functions to determine operating mode</A></H3>
912<P><description>The following functions have been added to determine the executable operating mode from the ROM header information.
913        <ul>
914<li>CARD_IsExecutableOnNTR</li>
915<li>CARD_IsExecutableOnTWL</li>
916        </ul>
917      </description></P>
918<HR>
919<H3><A name="note68-04">Note 68-04:(CRYPTO) Changed the padding method for RSA encryption</A></H3>
920<P><description>Starting with PKCS#1 v1.5, padding is now used for RSA encryption and decryption.<br> Be aware that prior data encrypted by CRYPTO RSA can no longer be decrypted.</description></P>
921<HR>
922<H3><A name="note68-05">Note 68-05:(CRYPTO) Changed the library's section placement</A></H3>
923<P><description>The location of part of the CRYPTO library has been changed to the <CODE>ltdmain</CODE> region.<br> This affects the usable space in those memory regions.</description></P>
924<HR>
925<H3><A name="note68-06">Note 68-06:(DSP) Fixed a bug in the DSP_PlaySound function</A></H3>
926<P><description>When the <CODE>DSP_PlaySound</CODE> function played sounds, sometimes as much as 10 milliseconds was cut off and not output. That bug has been fixed.</description></P>
927<HR>
928<H3><A name="note68-07">Note 68-07:(DSP) Revised the timing of shutter sound playback</A></H3>
929<P><description>The sound quality changed when the shutter sound was played with the headphones attached.<br><br> This problem was resolved by adding a wait before the shutter sound is played back.</description></P>
930<HR>
931<H3><A name="note68-08">Note 68-08:(DSP) Fixed a problem with stereo sound playback</A></H3>
932<P><description>When the <CODE>DSP_PlaySound</CODE> or <CODE>DSP_PlayShutterSound</CODE> functions were used to play stereo sound, the left and right channels were switched. That issue has been fixed.<br> This does not affect the camera shutter sound, which is monaural.</description></P>
933<HR>
934<H3><A name="note68-09">Note 68-09:(DSP) Restricted playable shutter sound data</A></H3>
935<P><description>Guidelines regulate the playback of DSP shutter sounds. A check feature has been added to the <CODE>DSP_PlayShutterSound</CODE> function to make sure that shutter sounds are not played if the frequency is different from the I2S setting. <br>Therefore, the specification for stereo/monaural has been removed from the arguments of the <CODE>DSP_PlayShutterSound</CODE> function, and the following sound data has been deleted.
936        <ul>
937<li>$TwlSDK/data/shutter_sound/shutter_sound_16000.raw</li>
938<li>$TwlSDK/data/shutter_sound/shutter_sound_16000.wav</li>
939<li>$TwlSDK/data/shutter_sound/shutter_sound_32730.raw</li>
940<li>$TwlSDK/data/shutter_sound/shutter_sound_47610.raw</li>
941<li>$TwlSDK/data/videorec_sound/videorec_sound_begin_32730.raw</li>
942<li>$TwlSDK/data/videorec_sound/videorec_sound_begin_47610.raw</li>
943<li>$TwlSDK/data/videorec_sound/videorec_sound_end_32730.raw</li>
944<li>$TwlSDK/data/videorec_sound/videorec_sound_end_47610.raw</li>
945        </ul>
946      </description></P>
947<HR>
948<H3><A name="note68-10">Note 68-10:(DevEnv) Added documentation for ARM7 components</A></H3>
949<P><description>The following documentation about the ARM7 components has been added.<br> <CODE>$TwlSDK/docs/TechnicalNotes/AboutComponents.pdf</CODE></description></P>
950<HR>
951<H3><A name="note68-11">Note 68-11:(DevEnv) Added ARM7 component</A></H3>
952<P><description>Added <CODE>ferret.TWL</CODE> to the ARM7 components.<br> Like <CODE>racoon.TWL</CODE>, this component can only be used when creating TWL-exclusive applications.<br> This new component is more compact than <CODE>racoon.TWL</CODE> because it omits the features for wireless communications and use of the camera.</description></P>
953<HR>
954<H3><A name="note68-12">Note 68-12:(DevEnv) Corrected the BuildFinalRom demo</A></H3>
955<P><description>Because <CODE>libsyscall.twl.a</CODE> now makes use of items that belong to the TWL-SDK, it has been deleted from <CODE>$TwlSDK/build/demos/tips/BuildFinalRom</CODE>.<br> For more information, read the TWL-SDK application development guide, <CODE>$TwlSDK/docs/TechnicalNotes/AboutTwlApplication.pdf</CODE>.</description></P>
956<HR>
957<H3><A name="note68-13">Note 68-13:(DevEnv) Added build switch to disable IS-NITRO-DEBUGGER debug features</A></H3>
958<P><description>A build switch has been added so you can reduce the amount of memory used by the TWL-SDK in a development environment where debugging is carried out only by IS-TWL-DEBUGGER. The switch disables the IS-NITRO-DEBUGGER debug features and circumvents unnecessary library links.</description></P>
959<HR>
960<H3><A name="note68-14">Note 68-14:(DevEnv) Made revisions relating to NITRO build Static segment</A></H3>
961<P><description>In programs built as NITRO-only titles, the default address of the <CODE>Static </CODE> segment was defined as 0x02000400. Because this includes an unused region of 1KB, it has been revised to 0x02000000.<br><br> This revision does not affect the behavior of the application, but it increases the available arena region by 1KB.</description></P>
962<HR>
963<H3><A name="note68-15">Note 68-15:(DevEnv) Added guide for transition from NITRO-SDK</A></H3>
964<P><description>The following new document explains how to transition from NITRO-SDK to TWL-SDK,<br> <CODE>$TwlSDK/docs/TechnicalNotes/AboutNitroToTwl.pdf</CODE></description></P>
965<HR>
966<H3><A name="note68-16">Note 68-16:(ENV) Corrected API name of ENV_SetResourceSetArray function</A></H3>
967<P><description>The <CODE>ENV_SetResourceSetArray</CODE> function had the wrong API name. The reference and the API name have been corrected.<br><br> The API name that was in effect before this correction can still be used, so this change does not require you to revise existing code.</description></P>
968<HR>
969<H3><A name="note68-17">Note 68-17:(FS) Added the FS_ATTRIBUTE_IS_OFFLINE flag</A></H3>
970<P><description>Added the FS_ATTRIBUTE_IS_OFFLINE flag, which provides an easy way to determine whether a file is located in the TWL-only region in the NITRO environment.<br><br> This flag is returned as one of the entry attributes by the <CODE>FS_ReadDirectory</CODE> and <CODE>FS_GetPathInfo</CODE> functions.</description></P>
971<HR>
972<H3><A name="note68-18">Note 68-18:(FS)  Fixed a bug in the FS_GetSeekCacheSize function</A></H3>
973<P><description>When the file size was not divisible by the cluster size, the <CODE>FS_GetSeekCacheSize</CODE> function would return a value that was 1-cluster too small. That bug has been fixed.</description></P>
974<HR>
975<H3><A name="note68-19">Note 68-19:(FS)  Fixed bugs in the FS_SetSeekCache and FS_SeekFile functions</A></H3>
976<P><description>Both the <CODE>FS_SetSeekCache</CODE> and <CODE>FS_SeekFile</CODE> functions would sometimes read outside the region for the seek cache.</description></P>
977<HR>
978<H3><A name="note68-20">Note 68-20:(FS) Revised the overlay-staticinit demo</A></H3>
979<P><description>In the <CODE>$TwlSDK/build/demos/fs/overlay-staticinit sample demo</CODE>, the upper and lower screens were reversed. That  has been fixed.</description></P>
980<HR>
981<H3><A name="note68-21">Note 68-21:(FS) Added functions to determine archive status</A></H3>
982<P><description>The following group of functions has been added to determine whether archives exist and whether they are available.
983        <ul>
984<li>FS_OpenTopLevelDirectory</li>
985<li>FS_IsArchiveReady</li>
986        </ul>
987      </description></P>
988<HR>
989<H3><A name="note68-22">Note 68-22:(FS) Made revisions specific to cache operation when accessing files</A></H3>
990<P><description>When the <CODE>FS_ReadFileAsync</CODE> function was used to asynchronously read a NAND or SD card archive file, if the specified buffer address was not 32-byte aligned, the beginning of the data would be cached. That bug has been fixed.<br><br> The function reference was also edited to explain that if the buffer is referenced before the read process is completed, the consistency between the actual data and the cache will be lost.</description></P>
991<HR>
992<H3><A name="note68-23">Note 68-23:(GX) Revised the Sub_Double3D sample demo</A></H3>
993<P><description>When the <CODE>$TwlSDK/build/demos/gx/UnitTours/Sub_Double3D</CODE> sample demo alternately showed the captured image and the original image, there was no way to deal with screen flicker. This has been fixed.</description></P>
994<HR>
995<H3><A name="note68-24">Note 68-24:(MB) Added formal support for HYBRID program clone boot feature</A></H3>
996<P><description>Revised the internal operations of the MB library and the <CODE>emuchild.exe</CODE> tool so now HYBRID mode programs can also use the clone boot feature.</description></P>
997<HR>
998<H3><A name="note68-25">Note 68-25:(NA) Revised the NA_LoadSharedFontTable function</A></H3>
999<P><description>Fixed the <CODE>NA_LoadSharedFontTable</CODE> function so it can be called more than once.<br> In line with this change, <CODE>pBuffer</CODE> can now be deallocated after the function succeeds.</description></P>
1000<HR>
1001<H3><A name="note68-26">Note 68-26:(OS) Made OS_GetSerialNo a private function</A></H3>
1002<P><description>The  <CODE>OS_GetSerialNo</CODE> function, which is used to get the WL product serial number, is now private because it is not appropriate for use in applications.</description></P>
1003<HR>
1004<H3><A name="note68-27">Note 68-27:(OS) Changed the OS_ResetSystem function process</A></H3>
1005<P><description>The <CODE>OS_ResetSystem</CODE> function design prohibited interrupts <I>after</I> DMA completion. The order has been changed, so now interrupts are prohibited <I>before</I> DMA completion.</description></P>
1006<HR>
1007<H3><A name="note68-28">Note 68-28:(OS) Revised references to arena and protection region</A></H3>
1008<P><description>In the OS Reference Manual, the memory maps in the overviews for the arena and protection region were revised to reflect the fact that the start of main memory is a system-reserved region.</description></P>
1009<HR>
1010<H3><A name="note68-29">Note 68-29:(OS) Revised functions that get Parental Control status</A></H3>
1011<P><description>The following functions, which get Parental Control status, have all been changed to return FALSE when Parental Control settings have not been entirely configured in the console.
1012        <ul>
1013<li>OS_IsRestrictPictoChatBoot</li>
1014<li>OS_IsRestrictDSDownloadBoot</li>
1015<li>OS_IsRestrictBrowserBoot</li>
1016<li>OS_IsRestrictPrepaidPoint</li>
1017<li>OS_IsRestrictPhotoExchange</li>
1018<li>OS_IsRestrictUGC</li>
1019        </ul>
1020      </description></P>
1021<HR>
1022<H3><A name="note68-30">Note 68-30:(PM) Added the pm-2 demo</A></H3>
1023<P><description>Added the <CODE>$TwlSDK/build/demos.TWL/spi/pm-2</CODE> sample.<br> This sample demo uses the <CODE>PM_SetAutoExit</CODE> function to enable a choice between immediately shutting down via the POWER button or delaying shutdown until the user's process ends.</description></P>
1024<HR>
1025<H3><A name="note68-31">Note 68-31:(PM) Added exclusive control for hardware reset and application jumps</A></H3>
1026<P><description>If the power button is pressed or a battery-low interrupt is detected during a hardware reset or a application jump, the latter process is now given priority.</description></P>
1027<HR>
1028<H3><A name="note68-32">Note 68-32:(PM) Fixed a bug with hardware reset</A></H3>
1029<P><description>If a hardware reset was conducted during the execution of certain SNDEX functions (for example, <CODE>SNDEX_SetI2SFrequencyAsync</CODE> and <CODE>SNDEX_SetIirFilterAsync</CODE>), the hardware reset would not complete. That bug has been fixed.</description></P>
1030<HR>
1031<H3><A name="note68-33">Note 68-33:(SND) Prohibited changing DSPMixRate during shutter sound playback</A></H3>
1032<P><description>When the shutter sound is being played by the <CODE>DSP_PlayShutterSound</CODE> function, the <CODE>DSPMixRate</CODE> setting is temporarily altered inside the library. Depending on the timing of the call to the <CODE>SNDEX_SetDSPMixRate[Async]</CODE> functions, this setting was occasionally overwritten. The process has been revised so that now when the <CODE>SNDEX_SetDSPMixRate[Async]</CODE> functions are called during shutter sound playback, the function returns <CODE>SNDEX_RESULT_EXCLUSIVE</CODE>.</P>
1033<HR>
1034<H3><A name="note68-34">Note 68-34:(SND) Prohibited execution of SNDEX functions during shutter sound playback</A></H3>
1035<P>If a series of processes using <CODE>SNDEX </CODE> functions are conducted before and after the playback of shutter sounds, an interrupt by another <CODE>SNDEX</CODE> function during the midst of this series can, depending on the timing, leave the system in an unknown state. To fix this bug, the  <CODE>SNDEX</CODE> functions (with some exceptions) now return <CODE>SNDEX_RESULT_EXCLUSIVE</CODE> and fail if they execute while shutter sounds are being played by the <CODE>DSP_PlayShutterSound</CODE> function. Note that this revision does not guarantee success of shutter sound playback. In fact, if the <CODE>DSP_PlayShutterSound</CODE> function executes while <CODE>SNDEX</CODE> functions are processing, it will fail due to exclusive control by the SNDEX library.</description></P>
1036<HR>
1037<H3><A name="note68-35">Note 68-35:(SND) Fixed a problem related to the execution of multiple SNDEX functions</A></H3>
1038<P><description>The SNDEX library's exclusive control was incomplete. When multiple <CODE>SNDEX</CODE> functions were executed in parallel, sometimes an internal state would become invalid and an error would return, regardless of the success or failure of the process in ARM7.<br> This problem has been corrected.</description></P>
1039<HR>
1040<H3><A name="note68-36">Note 68-36:(SND) Corrected return value typo in asynchronous function references</A></H3>
1041<P><description>The references of the asynchronous functions stated that <CODE>SNDEX_PXI_RESULT_EXCLUSIVE</CODE> was returned as the processing result, but that is incorrect. The references have been revised to read that the return value is  <CODE>SNDEX_RESULT_EXCLUSIVE</CODE>.<br> Since these two constants are equivalent, the correct behavior will result even if the incorrect notation is used.</description></P>
1042<HR>
1043<H3><A name="note68-37">Note 68-37:(SSP) Revised behavior in HYBRID build NITRO mode</A></H3>
1044<P><description>With the HYBRID build, the SSP library could not be used in NITRO mode. That has been fixed.</description></P>
1045<HR>
1046<H3><A name="note68-38">Note 68-38:(SSP) Privatized the JPEG encode/decode signature feature</A></H3>
1047<P><description>The guidelines now prohibit the use of the signature feature in JPEG files in ROM archives, so the following signature-related functions have been made private.
1048        <ul>
1049<li>SSP_SetJpegEncoderSignMode</li>
1050<li>SSP_SetJpegDecoderSignMode</li>
1051<li>SSP_CheckJpegDecoderSign</li>
1052        </ul>
1053      </description></P>
1054<HR>
1055<H3><A name="note68-39">Note 68-39:(SSP) Added the SSP_ConvertJpegEncodeData and SSP_StartJpegEncoderWithEncodeData functions</A></H3>
1056<P><description>Divided the encoding function, <CODE>SSP_StartJpegEncoder</CODE>, into a pre-encoding process and a process of actual encoding. These are the <CODE>SSP_ConvertJpegEncodeData</CODE> and <CODE>SSP_StartJpegEncoderWithEncodeData</CODE> functions.</description></P>
1057<HR>
1058<H3><A name="note68-40">Note 68-40:(TOOL) Fixed bugs in NandFiler</A></H3>
1059<P><description>Restore did not work with Save Data titles that had a '9' in their game code. That bug has been fixed.</description></P>
1060<HR>
1061<H3><A name="note68-41">Note 68-41:(TOOL) Added a TWL version of mb_child.srl</A></H3>
1062<P><description>Added <CODE>mb_child.srl</CODE>, which behaves almost the same as DS Download Play in the DSi.<br> Signature-verification of downloaded child applications has been omitted so a Download Play child can be started on a development console.</description></P>
1063<HR>
1064<H3><A name="note68-42">Note 68-42:(TOOL) Added a TWL screen banner viewer to addbanner</A></H3>
1065<P><description>Added a feature to <CODE>addbanner</CODE> for checking how banners appear on the actual TWL screen.<br> For more information, see the <CODE>addbanner</CODE> manual.</description></P>
1066<HR>
1067<H3><A name="note68-43">Note 68-43: (TOOL) Revisions to buryarg.TWL</A></H3>
1068<P><description>Argument data was not embedded correctly when <CODE>buryarg.TWL </CODE> specified a destination of standard output. That has been fixed.</description></P>
1069<HR>
1070<H3><A name="note68-44">Note 68-44:(TOOL) Expanded cmptad functionality</A></H3>
1071<P><description>Added a feature to the <CODE>cmptad</CODE> tool to compare the identity of an SRL included in a TAD file and a specified SRL.</description></P>
1072<HR>
1073<H3><A name="note68-45">Note 68-45:(TOOL) Enhanced error-checking functionality of compstatic tool</A></H3>
1074<P><description>The <CODE>compstatic</CODE> tool supports the ability to embed an overlay digest value table in a binary file. If you use this feature without preparing a region for embedding, the wrong region can be destroyed and unexpected behavior may occur.<br> This bug has been fixed, and incorrect usage is now detected as an error.</description></P>
1075<HR>
1076<H3><A name="note68-46">Note 68-46:(TOOL) Revised makebanner and makebanner.TWL</A></H3>
1077<P><description>Since kanji characters cannot be used for game titles in banners, a warning is now displayed when kanji characters are included.<br> However, the check for kanji is not performed on banners for China (version 2).</description></P>
1078<HR>
1079<H3><A name="note68-47">Note 68-47:(TOOL) Made changes to makerom.TWL.exe</A></H3>
1080<P><description>The following changes have been made to <CODE>makerom.TWL.exe</CODE>.
1081        <ul>
1082<li>An error is now generated when the banner specification is not a TWL banner.</li>
1083<li>The guidelines prohibit access to <CODE>SDCard</CODE>, but it is now allowed for the specific purpose of debugging in DEBUG and RELEASE builds.<br>Use this to check for bugs on machines with which you cannot use a debugger.</li>
1084<li>When <CODE>JpegSign</CODE> cannot be used, an error is now generated if TRUE has been specified.<br><CODE>TRUE</CODE> can be specified for the <CODE>JpegSign</CODE> property only if access to SD cards or NAND has been permitted.</li>
1085        </ul>
1086      </description></P>
1087<HR>
1088<H3><A name="note68-48">Note 68-48:(TOOL) Changed makerom.exe</A></H3>
1089<P><description>An error is now generated when the banner specification is not an NTR banner.</description></P>
1090<HR>
1091<H3><A name="note68-49">Note 68-49:(TOOL) Added functionality to showversion to display build mode</A></H3>
1092<P><description>In addition to existing information, the target (ARM9, ARM7) and build mode (DEBUG, RELEASE, FINALROM) are now shown.<br> An error is displayed if different build modes are mixed.</description></P>
1093<HR>
1094<H3><A name="note68-50">Note 68-50:(TOOL) Added background graphic for banner previewing</A></H3>
1095<P><description>Added the following background graphic so the created banner can be previewed on the same screen as the DSi menu using the TWL-System NITRO-Viewer.<br> <CODE>$TwlSDK/build/demos.TWL/tips/TWLBanner_anim1/banner/SDK_demo</CODE></description></P>
1096<HR>
1097<H3><A name="note68-51">Note 68-51:(WM) Fixed a bug in MP communication during component overload</A></H3>
1098<P><description>MP communications would be cut when the component load became unusually high. That bug has been fixed.</description></P>
1099<HR>
1100<H3><A name="note68-52">Note 68-52:(WM) Changed behavior for Wireless OFF mode</A></H3>
1101<P><description>The timing of errors returned from the WM library differed for TWL systems running in Wireless OFF mode and NITRO systems running with wireless communications prohibited. The same process can now be used to determine whether the use of wireless communications is prohibited.</description></P>
1102<HR>
1103<H3><A name="note68-53">Note 68-53:(WVR) Fixed a bug in Wireless library shutdown in switchover demo</A></H3>
1104<P><description>There was a problem with the Wireless library quit process when transitioning from the WC library to the WH library. That has been fixed.</description></P>
1105<HR>
1106<H3><A name="note68-54">Note 68-54: (MISC) Changed part of the banner format</A></H3>
1107<P><description>Along with the partial changes to the banner format, the following functions and tools have been revised so they now generate an error when the configured animation data is invalid.
1108        <ul>
1109<li><CODE>NA_SaveSubBanner</CODE></li>
1110<li><CODE>bannercvtr</CODE></li>
1111<li><CODE>makebanner.TWL</CODE></li>
1112        </ul>
1113For more information, see the <CODE>$TwlSDK/man/ja_JP/tools/bannercvtr</CODE> manual.</description></P>
1114<HR>
1115<H3><A name="KnownIssues_5_1_PR">Known issues in TWL-SDK version 5.1 PR</A></H3>
1116<knownissues><description>
1117        <ul>
1118<li>If a program built in HYBRID mode is run in a NITRO environment, any argument data that was embedded with the <CODE>buryarg</CODE> tool cannot be accessed properly.</li>
1119<li>FINALROM application jumps do not work properly on TS boards.</li>
1120<li>With some NITRO titles, <CODE>mb_child_simple.srl</CODE> does not run as a multiboot child on IS-TWL-DEBUGGER.</li>
1121        </ul>
1122      </description></knownissues><HR>
1123<HR>
1124<H2 style="line-height: 0"><A name="sdk_5_00" id="sdk_5_00">TWL-SDK Version 5.0 Official Release</A></H2>
1125<DIV style="text-align: right">
1126<P style="line-height: 0">(2008/10/23)</P>
1127</DIV>
1128
1129<HR>
1130<H3><A name="note67-01" id="note67-01">Note 67-01: (CAMERA) Corrected error handling for <CODE>simpleShoot-1</CODE>, <CODE>simpleShoot-2</CODE></A></H3>
1131<P>The <CODE>DSP_PlayShutterSound</CODE> function would sometimes fail when using the camera to continuously capture images with the <CODE>simpleShoot-1</CODE> and <CODE>simpleShoot-2</CODE> demos. That failure would result in an <CODE>OS_Panic</CODE> function termination. <BR>However, actual use of the <CODE>DSP_PlayShutterSound</CODE> function assumed that the user would try until an image was successfully captured. Corrections reflect that.<BR><BR> This change was added in version 5.0 RC3, but it was left out of the changelog.
1132</P>
1133
1134<HR>
1135<H3><A name="note67-02" id="note67-02">Note 67-02: (CAMERA) Revised the <CODE>simpleShoot-2</CODE> demo</A></H3>
1136<P>There are operations in <CODE>simpleShoot-2</CODE>, the demo that performs video capture, that violated guidelines. Operations were revised accordingly.
1137</P>
1138
1139<HR>
1140<H3><A name="note67-03" id="note67-03">Note 67-03: (CARD) Support for parent backup device</A></H3>
1141<P>Made the CARD library compatible with 1Mb-EEPROM backup devices and added <CODE>CARD_BACKUP_TYPE_EEPROM_1MBITS</CODE> to the <CODE>CARDBackupType</CODE> enumerated type.<BR> In relation, the reference and sample demos were updated.
1142</P>
1143
1144<HR>
1145<H3><A name="note67-04" id="note67-04">Note 67-04: (DSP) Revised synchronous version of the DSP graphics component function</A></H3>
1146<P>The following two revisions were added.
1147<UL>
1148<LI>Within the synchronous functions, the wait for termination from DSP was changed from an interrupt to a polling of the corresponding register.
1149<LI>When the synchronous function is run frequently with a high-priority thread, other execution rights do not readily transfer to low-priority threads. This problem was fixed.
1150</UL>
1151</P>
1152
1153<HR>
1154<H3><A name="note67-05" id="note67-05">Note 67-05: (DSP) Corrected inconsistency in the results of the <CODE>DSP_Scaling*</CODE> and <CODE>DSP_CalcScalingFactor*</CODE> functions</A></H3>
1155<P>When enlarging an image using the <CODE>DSP_Scaling*</CODE> functions, output was sometimes produced that did not match that of the <CODE>DSP_CalcScalingFactor*</CODE> functions, depending on the size of the input image and the specified magnification. This bug was fixed. <BR><BR> When this problem would occur, there was a risk of a buffer overflow, depending on the size of the buffer storing results to be passed to the <CODE>DSP_Scaling*</CODE> functions.
1156</P>
1157
1158<HR>
1159<H3><A name="note67-06" id="note67-06">Note 67-06: (DSP) Revised termination process for each DSP component</A></H3>
1160<P>There were some inadequacies in the DSP component termination process. These were revised.
1161</P>
1162
1163<HR>
1164<H3><A name="note67-07" id="note67-07">Note 67-07:(DevEnv) Updated documents specific to the build switch</A></H3>
1165<P>Added an explanation to <CODE>$TwlSDK/docs/SDKRules/Rule-Defines.html</CODE> for the <CODE>*_BUILD_TYPE</CODE> build switch.<BR><BR> Portions were difficult to see in the <B>Build Switch Usage Table</B>. There were also mistakes. These have been fixed.
1166</P>
1167
1168<HR>
1169<H3><A name="note67-08" id="note67-08">Note 67-08: (FS) Improved open determination for TWL-exclusive files</A></H3>
1170<P>Internal determination of the FS library was improved to fail with <CODE>FS_RESULT_PERMISSION_DENIED</CODE> when a hybrid application is operating in the NITRO environment, and a file was opened in a TWL-exclusive region.
1171</P>
1172
1173<HR>
1174<H3><A name="note67-09" id="note67-09">Note 67-09: (MB) Added a switch for the build mode on multiboot-wfs distributed child devices</A></H3>
1175<P>Added a correction to child device applications distributed with a multiboot-wfs demo to Makefile to enable both NITRO-compatible and hybrid builds.<BR><BR> The TWL-specific features cannot be used even if the ROM built in hybrid mode was distributed to TWL system.<BR> See the function reference's MB library overview for more information.
1176</P>
1177
1178<HR>
1179<H3><A name="note67-10" id="note67-10">Note 67-10: (MI) Added the <CODE>MI_SendNDmaGXCommand*</CODE> functions</A></H3>
1180<P>Conventionally, DMA was used as the function for sending the display list (the GX command string) to the command FIFO. However, a function that uses a new DMA has been added.
1181</P>
1182
1183<HR>
1184<H3><A name="note67-11" id="note67-11">Note 67-11:(OS) Added the <CODE>OS_IsCodecTwlMode</CODE> function</A></H3>
1185<P>Added the <CODE>OS_IsCodecTwlMode</CODE> function to get the codec operation mode.
1186</P>
1187
1188<HR>
1189<H3><A name="note67-12" id="note67-12">Note 67-12: (OS) Added the demo for the <CODE>OS_JumpTo*</CODE> functions</A></H3>
1190<P>Added <CODE>$TwlSDK/build/demos.TWL/os/os_jump</CODE> as a demo to indicate how the <CODE>OS_JumpToSystemMenu</CODE>, <CODE>OS_RebootSystem</CODE>, <CODE>OS_JumpToWirelessSetting</CODE>, <CODE>OS_JumpToInternetSetting</CODE>, and <CODE>OS_JumpToEULAViewer</CODE> functions work.
1191</P>
1192
1193<HR>
1194<H3><A name="note67-13" id="note67-13">Note 67-13: (OS) Added a function to get the status of parental controls</A></H3>
1195<P>Added a function for the application to get Parental Controls information performed by the TWL system settings.
1196</P>
1197
1198<HR>
1199<H3><A name="note67-14" id="note67-14">Note 67-14: (OS) Movement of the function reference's Operating Environment section</A></H3>
1200<P>References specific to operating environments such as the TWL-SDK function reference and the <CODE>OS_GetConsoleType</CODE> function had been placed in a category called <B>OS/Debug (Operating Environment)</B>. However, these functions are expected to be used not only in debugging, but also with ordinary applications. They have therefore been removed from the debugging category to the <B>OS/Operating Environment</B> section.
1201</P>
1202
1203<HR>
1204<H3><A name="note67-15" id="note67-15">Note 67-15: (PM) Added exclusive control for hardware resets and application jumps</A></H3>
1205<P>By making application jumps and Power Button hardware resets exclusive, the possibility of unexpected operations happening when both occur simultaneously is eliminated.
1206</P>
1207
1208<HR>
1209<H3><A name="note67-16" id="note67-16">Note 67-16: (PM) Revised Power Button process</A></H3>
1210<P>Fixed a bug where the system would not shutdown but would instead perform a hardware reset when the Power Button was held down.
1211</P>
1212
1213<HR>
1214<H3><A name="note67-17" id="note67-17">Note 67-17: (SCFG) Adjusted SCFG functions</A></H3>
1215<P>The Function Reference Manual listed the <CODE>SCFG_IsWramAccessible</CODE> and <CODE>SCFG_IsVramAccessible</CODE> functions, but the definition of <CODE>scfg.h</CODE> listed them as the <CODE>SCFG_IsWRAMAccessible</CODE> and <CODE>SCFG_IsVRAMAccessible</CODE> functions.<BR>That was changed to reflect the listing in the Function Reference Manual. The <CODE>SCFG_IsWramAccessible</CODE> and <CODE>SCFG_IsVramAccessible</CODE> functions are the standard.<BR>However, as these may already be described as the <CODE>SCFG_IsWRAMAccessible</CODE> and <CODE>SCFG_IsVRAMAccessible</CODE> functions, the corresponding functions will be defined with a <CODE>#define</CODE> statement.<BR><BR> In addition, the spelling of the <CODE>SCFG_GetPsramdBoundary</CODE> function was corrected to the <CODE>SCFG_GetPsramBoundary</CODE> function.
1216</P>
1217
1218<HR>
1219<H3><A name="note67-18" id="note67-18">Note 67-18: (SND) Abolished headphone mute when setting the IIR filter (targeting microphone input)</A></H3>
1220<P>Headphone output was unnecessarily suppressed when changing the parameters for the IIR filter that targets microphone input using the <CODE>SNDEX_SetIirFilter[Async]</CODE> functions.<BR> This problem has been corrected.
1221</P>
1222
1223<HR>
1224<H3><A name="note67-19" id="note67-19">Note 67-19: (SND) Fixed a <CODE>SNDEX_SetVolumeSwitchCallback</CODE> function bug</A></H3>
1225<P>Fixed a bug where the callback registered with the <CODE>SNDEX_SetVolumeSwitchCallback</CODE> function was not normally invoked.
1226</P>
1227
1228<HR>
1229<H3><A name="note67-20" id="note67-20">Note 67-20: (SND) Added functionality to the <CODE>extraFunc</CODE> demo</A></H3>
1230<P>Added functionality to the <CODE>extraFunc</CODE> demo to check the callback that notifies the pressing of the volume switch and the connection of headphones.
1231</P>
1232
1233<HR>
1234<H3><A name="note67-21" id="note67-21">Note 67-21: (SSP) NITRO mode support for the JPEG library</A></H3>
1235<P>Excluding signature functionality, the SSP library JPEG codec can now also be used in NITRO mode.
1236</P>
1237
1238<HR>
1239<H3><A name="note67-22" id="note67-22">Note 67-22: (SSP) Added error processing for the <CODE>SSP_StartJpegEncoder</CODE> function</A></H3>
1240<P>When the specified size for an image could not be encoded by the <CODE>SSP_StartJpegEncoder</CODE> function, corrupt images ended up being encoded. This was corrected to return an error in such cases.
1241</P>
1242
1243<HR>
1244<H3><A name="note67-23" id="note67-23">Note 67-23: (STD) Handled a bug where the <CODE>STD_CompareNString</CODE> function would not return correct values</A></H3>
1245<P>Fixed a bug where the <CODE>STD_CompareNString</CODE> function did not return correct values even if there was a match, depending on the value saved in the ending address, rounded up in 4-byte units, for the comparison's first string.
1246</P>
1247
1248<HR>
1249<H3><A name="note67-24" id="note67-24">Note 67-24: (STD) Revised the <CODE>STD_ConvertAsciiToInt</CODE> and <CODE>STD_ConvertAsciiToLong</CODE> functions</A></H3>
1250<P>When an integer overflow occurs, the corresponding standard functions, <CODE>atoi</CODE> and <CODE>atol</CODE>, behaved differently. This issues has been corrected.
1251</P>
1252
1253<HR>
1254<H3><A name="note67-25" id="note67-25">Note 67-25: (STD) Revised the <CODE>STD_TSNPrintf</CODE>, <CODE>STD_TSPrintf</CODE>, <CODE>STD_TVSNPrintf</CODE>, and <CODE>STD_TVSPrintf</CODE> functions</A></H3>
1255<P>Given security issues, fixed such that the <CODE>%n</CODE> format is not supported.
1256</P>
1257
1258<HR>
1259<H3><A name="note67-26" id="note67-26">Note 67-26: (STD) Revised the <CODE>STD_TSScanf</CODE> and <CODE>STD_TVSScanf</CODE> functions</A></H3>
1260<P>When scanning <CODE>NULL</CODE> characters, the standard <CODE>sscanf</CODE> function and its behavior differed. This issue has been corrected.
1261</P>
1262
1263<HR>
1264<H3><A name="note67-27" id="note67-27">Note 67-27: (TOOL) Added backup and restore features for saved data in <CODE>NandFiler</CODE></A></H3>
1265<P>Changed so that it is possible to backup NAND application save data to an SD card.<BR>This makes it possible to restore data saved in the system to the state when the data was backed up.
1266</P>
1267
1268<HR>
1269<H3><A name="note67-28" id="note67-28">Note 67-28: (TOOL) Added the ability to import from DS cards to <CODE>TwINmenu</CODE></A></H3>
1270<P>Added a Card mode to <CODE>TwINmenu</CODE> that references and imports a TAD file written to a DS card. <BR>DC cards can be used instead of SD cards.
1271</P>
1272
1273<HR>
1274<H3><A name="note67-29" id="note67-29">Note 67-29: (TOOL) Added the <CODE>cmptad</CODE> tool</A></H3>
1275<P>Added the <CODE>cmptad</CODE> tool to determine whether the SRL files included in two TAD files are the same.
1276</P>
1277
1278<HR>
1279<H3><A name="note67-30" id="note67-30">Note 67-30: (TOOL) Added <CODE>makebanner.exe</CODE> and <CODE>makebanner.TWL.exe</CODE> warnings</A></H3>
1280<P>Added a feature to <CODE>makebanner.exe</CODE>, and <CODE>makebanner.TWL.exe</CODE> to determine whether the game title has characters that can be displayed on the DS and TWL platforms and whether the horizontal width will fit within the range of the frame. <BR>If characters or the horizontal width are illegal, a warning is displayed.
1281</P>
1282
1283<HR>
1284<H3><A name="note67-31" id="note67-31">Note 67-31: (TOOL) Added <CODE>makelst</CODE> and <CODE>stripdebug</CODE> references</A></H3>
1285<P>Added references for <CODE>makelst</CODE> and <CODE>stripdebug</CODE>, auxiliary tools for the use of the EL library.
1286</P>
1287
1288<HR>
1289<H3><A name="note67-32" id="note67-32">Note 67-32: (TOOL) Changed <CODE>makerom.TWL.exe</CODE></A></H3>
1290<P>Made the following changes to <CODE>makerom.TWL.exe</CODE>.
1291<UL>
1292<LI>Deleted <CODE>NITRO</CODE> from the <CODE>-D</CODE> option's <CODE>TARGET_PLATFORM</CODE> specification and changed the specification for hybrid application builds to <CODE>TWL-HYB</CODE> and the specification for LTD application builds to <CODE>TWL-LTD</CODE>.
1293<LI>Corrected so that the ROM archive file disposed in the TWL-exclusive region is a hashing target.
1294<LI>Changed so that the EULA's version and its required agreement flag can be configured separately.
1295<LI>Changed so that the EULA version is set to &quot;1&quot; in default.
1296</UL>
1297</P>
1298
1299<HR>
1300<H3><A name="note67-33" id="note67-33">Note 67-33: (TOOL) Added a feature to <CODE>maketad</CODE> to create an SRL file for writing to a DS card</A></H3>
1301<P>Added a feature to maketad to output an SRL file that contains a TAD file. <BR>This SRL file can only be used with the Card mode added to <CODE>TwINmenu</CODE>.
1302</P>
1303
1304<HR>
1305<H3><A name="note67-34" id="note67-34">Note 67-34: (TWL Wireless) Fixed a bug where the system would hang when a reset is applied during TWL wireless communication</A></H3>
1306<P>In extremely rare cases when a reset is applied during TWL wireless communication, the system would hang, leaving the reset incomplete. This bug has been verified and fixed.
1307</P>
1308
1309<HR>
1310<H3><A name="KnownIssues_5_00" id="KnownIssues_5_00">Known issues in TWL-SDK version 5.0 official release</A></H3>
1311<P><UL>
1312<LI>If a program built in hybrid mode is run in a NITRO environment, any argument data that was embedded with the <CODE>buryarg</CODE> tool cannot be accessed properly.
1313<LI>FINALROM application jumps do not work properly on TS boards.
1314<LI>On some NTR titles, <CODE>mb_child_simple.srl</CODE> does not operate on IS-TWL-DEBUGGER as a multi-boot child device.
1315</UL></P>
1316<HR>
1317<P style="text-align: right">Software Development Support Center</P>
1318<hr><p>CONFIDENTIAL</p></body>
1319</HTML>
1320