WBT_CancelCurrentCommand function
GX_SetVCount Function
fft-2 sample demo
PM-GoSleepMode function
pdic2c.pl sample demo tool
ntrcomp.exe
ntrcomp.exe
ntrcomp.exe
ntrcomp.exe
WM_SetMPDataToPort* functions
dataSharing-model sample demo
wmPadRead-child sample demo
GX_SetVCount Function
(2007/12/10)
WBT_CancelCurrentCommand functionEliminated the following bug: If the WBT_CancelCurrentCommand function was called before the completion of a command that was issued to more than one partners, the next command that the cancelled partner issued would never complete.
MATH_FFTReal function.MATH_FFT function.(2007/11/28)
Added LZ77 extended compression format.
LZ77 extended compression is available by using the -lex option with ntrcomp.exe or by using the MI_CompressLZEx function or MI_CompressLZExFast function.
For decompression, extract data using the existing LZ77 decompression functions.
Although you can expect a higher compression ratio than when using conventional LZ77 compression, when worst case compression speed is compared, considerably more time is required compared to conventional LZ77 compression.
Decompression speed is about the same for both the extended version and conventional version.
GX_SetVCount FunctionRevised code and increased the limit because it was insufficient due to the change described in Note 46-08.
The function reference was also revised to correspond with this change.
fft-2 sample demoEliminated a bug related to the on-screen display of the math/fft-2 sample demo and Fourier transformation processing.
In addition, changed the specifications of the spectral display for mic input using a bar, and added a new display mode divided into scales.
A problem with Huffman compression when using the nrtcomp tool and the MI_CompressHuffman function was found where incorrect compression results would sometimes occur when 8-bit encoding was encoded in 17 or more bits.
This problem has been corrected.
A problem was eliminated that caused some V-count alarms to no longer be issued if execution was interrupted and restarted repeatedly by the debugger when using more than one periodic V-count alarm.
This problem was also corrected in automatic sampling of the touch panel because it uses this feature.
PM-GoSleepMode functionA problem was corrected where an inconsistency would occur in the tick value obtained by the OS_GetTick function before and after sleep. This was caused because the PM_GoSleepMode function was prohibiting timer interrupts for 7.5 frames or more.
pdic2c.pl sample demo toolA problem with the pdic2c.pl tool for the sample demo was corrected where processing was not performed correctly unless a comment was included for each line of input data.
ntrcomp.exeAlthough it used to be possible when using the ntrcomp tool to perform LZ77 compression to specify the start offset value for text string match searches as an option, beginning from NitroSDK 3.0, this parameter is no longer used.
Since this parameter has already become unnecessary, it has been officially eliminated and deleted from documentation and help.
ntrcomp.exeAlthough there was a -t[width] option with the ntrcomp tool for outputting results as C language array definition text, if 2 or 4 was specified for width, data was output in little endian format.
A -T[width] option has therefore been added as an option for outputting text data in big-endian format.
ntrcomp.exeThe ntrcomp tool had a feature for aligning compressed data to a 4-byte boundary by applying the -A4 option. The specifications have been changed so that 8-byte, 16-byte, and 32-byte can be specified for the alignment boundary by specifying -A8, -A16, or -A32, respectively.
ntrcomp.exeThe -x option has been added to the ntrcomp tool for decompressing data compressed using ntrcomp.exe on a PC.
A problem was corrected where, depending on the timing, a normal completion acknowledgment was never received for some child devices in cases where block transfer requests for the same ID were issued simultaneously by more than one child device.
WM_SetMPDataToPort* functionsAlthough the error WM_ERRCODE_INVALID_PARAM has been returned up until now if there was an attempt to use the WM_SetMPDataToPort* function to send data having a size larger than the maximum send size currently set for the local host.
However, note that the send queue will be continuously blocked if data quantities larger than the send capacity are set.
dataSharing-model sample demoThe following revisions have been made to the WM samples.
$NitroSDK/build/demos/wm/dataSharing-model sample demo.
wmPadRead-child sample demoSpecifications of the wmPadRead-child sample demo have been changed in line with changes made so that the mpdlntr2rvl sample demo supported by the Wii uses data sharing.
In addition, a problem was corrected where appropriate operations were not being performed by multi-boot child device programs.
The demo library used on the child device has therefore been changed from WC to WH.
Although it has been impossible up until now to subsequently specify a value for the child device send capacity after the child device send capacity was specified by the parent using WMParentParam.childMaxSize, this restriction has been eliminated.
However, note that transmissions will stop if a value greater than the capacity of the parent device's receive buffer is set.
The WM_EnableForListening and WM_InitializeForListening functions have been added for initializing the wireless system in receive-only mode.
Rather than prohibiting operations that require radio transmission, use of this function allows passive scanning for surrounding beacons without causing the power LED to flash at variable speed.
MATH_FFTReal function.MATH_FFT function.(2007/10/22)
Added the following data-writing functions for FLASH devices to the SDK.
Large-capacity flash devices that cannot use the CARD_WriteFlash function must instead use these functions.
Made the CARD library compatible with 64MB FLASH backup devices and added CARD_BACKUP_TYPE_FLASH_64MBITS to the CARDBackupType enumerated type.
In relation, the reference and sample demos were updated.
Fixed the following bug: Abnormal state management inside the CARD library would sometimes arise when a process was waiting for the completion of an asynchronous backup function in a thread with higher priority than the CARD library's internal thread and then a synchronous backup function was called.
Made the following revision: when building with make, an error no longer occurs even if the name in the Static section of the lsf file differs with the file specified by TARGET_BIN. As a result, when selecting the name to use for the generated file, the name generated from the TARGET_BIN specified by the makelcf command line option has priority over the name in the Static section.
This feature is currently disabled by default in order to confirm its operation.
To enable it, you need to set a value for the NITRO_TRGNAME variable.
(For example,
% make TARGET_BIN=myapp.srl clean
% make TARGET_BIN=myapp.srl NITRO_TRGNAME=TRUE
The runtime restriction checking was not catching everything; the function was revised to perform more adequate checking.
The MATH_CountLeadingZeros function had until now been used in the thumb code library to call thumb code implementations of functions, but its operation has now been switched to ARM code, and it calls a CLZ command. This change improves both code size and run speed.
In the $NitroSDK/build/demos/math/qsort sample demo, the comparison function used in sorting handled the compared values as s32 values. Because of this sometimes the comparison result would overflow.
This has been corrected so that calculations are done with s64.
Fixed the following bug: when the IDLE state was ended by a call to the MB_EndToIdle function, the settings for the WM_SetBeaconIndication function called inside the library still remained valid.
Added documentation about the Icon data used with DS Download Play, explaining the image format and creation of Icon data.
Fixed the following bug: when a memory file generated by the FS_CreateFileFromMemory function was specified as a MB_ReadSegment function argument, program delivery processing would not execute.
When a pseudo-multiboot child scans for a parent, it can get parent information from the callback argument. Until now, when the callback class was MB_FAKESCAN_PARENT_LOST, the gameInfo and bssDesc members of the MBFakeScanCallback structure would be set to NULL.
This has been revised so that even when the class is MB_FAKESCAN_PARENT_LOST, gameInfo and bssDesc are set to the parent information obtained last and those values are returned.
If the MB_End function was called while a program for which delayed loading had been specified with the MB_ReadSegment function, and was actually being transmitted, the condition test would fail within the library and a forced halt would occur. This problem has been corrected.
Fixed the following problem: an incorrect threshold value was set for the check to determine if the value entered in the OS_SetPeriodicVAlarm function's delay argument was within a valid range.
Added notes about destructor functions to the OS_SetThreadDestructor function references.
Revised the LCD control functions so that when the state is LCD OFF, microphone power is off, and when the state is LCD ON, microphone power is restored to its original state.
Indicated that the Decuma Handwriting Recognition library can be used when all that is required is hand-written character recognition.
The touch panel's auto-sampling makes use of V-count interrupts. However, when the application called the GX_SetVCount function, it would sometimes perform inappropriately. This was corrected to not use the V-count interrupts between lines 200 and 214. When settings are made that would cause auto-sampling to occur between lines 200 and 214, sampling is performed at line 215.
Made slight revisions to the specification range for extern "C" in $NitroSDK/include/nitro/wbt/context.h. This does not change the actual behavior of the program.
Fixed the following bug: when the WBT library's WBT_CMD_PREPARE_SEND_DATA callback is delayed because the application had not prepared data for transmission, subsequent responses from the parent would enter an infinite loop inside the library and the parent program would freeze.
This bug was introduced in NITRO-SDK 4.1 PR and occurs only in that and subsequent releases.
If wireless communications are ended when a child is using the WFS library to access files, the process will remain blocked unless the WFS_EndClient function is called to notify the library that communications were terminated. A note about this has been added to the Function Reference.
Fixed the following bug: the memory for threads generated internally by a call to the WFS_ExecuteRomServerThread function was not released when the WFS_EndServer function was called.
Fixed the following bug: if the parent was made to wait for card access during a file access request from a WFS child, in some cases the process would enter an infinite loop inside the WFS_CallServerPacketSendHook function called by the parent.
Corrected two problems listed below, both of which emerged as a result of changes to NITRO-SDK 4.1 PR described in Note 46-23.
WM_SetMPParameter or WM_SetMPFrequency function.
WMMPParam.minFrequency, WMMPParam.maxFrequency and WMMPParam.defaultRetryCount, set by the WM_SetMPParameter function, would not become effective until the WM_StartMP function was called again.
To synchronize V blanks during MP communications, the V-count value might roll back from a maximum of 212 lines to 202 lines. The maximum value has been changed to 210 lines.
Eliminated the $NitroSDK/build/demos/wm/ball sample because, having been designed for the original NITRO-SDK wireless specifications, it is no longer appropriate.
An example of sharing game information using data sharing has been added to the $NitroSDK/build/demos/wm/dataSharing-model sample. Refer to it now that ball has been removed.
The following revisions have been made to the WM samples.
$NitroSDK/build/demos/wireless_shared/wh/default/wh_config.h, the constant value 4 that was used without explanation inside the WH_PARENT_MAX_SIZE macro has been replaced by WM_SIZE_DS_PARENT_HEADER.
$NitroSDK/build/demos/wireless_shared/wh sample, there are functions that take a prepared void* pointer as an argument. In those functions in which the pointer content does not change, the pointer has been changed to const void*.
$NitroSDK/build/demos/wireless_shared/.WC sample now makes internal use of the WH sample, but its existing features can still be used as they were originally.WH and the WC code will be gradually eliminated.
WH sample, the WM_StartScanEx function is now used instead of WM_StartScan when scanning for parents.WM_StartScan function may require thirty seconds or more to find a parent.WM_StartScanEx function is recommended particularly when connecting to a Wii.$NitroSDK/bbuild/demos/wm/dataShare-model sample, nearly one frame's worth of data is empty while key input information is obtained and sent through data sharing; if there was a delay that ought to last two frames, it actually lasted for three frames.
Fixed the following bug: when Sequential communications were conducted with a child immediately after connection, in some cases the parent would assume the transmission was successful even if the data had not reached the child.
Fixed the following bug: undefined errors sometimes occurred for a number of constants and functions when the precompiled header feature was disabled and fx.h and gx.h were included directly instead of nitro.h.
None.
Nintendo Technical Support Center
CONFIDENTIAL