This is the Nintendo TWL-System 2.1.1 package.
Nintendo TWL-System is a collective term for the basic tools and libraries that are used to develop game software for the Nintendo DS series. These are the release notes for Nintendo TWL-System 2.1.1.
The Nintendo TWL-System package contains the following libraries and tools.
Extract the Nintendo TWL-System package to anywhere on the local disk. The Nintendo TWL-System package is compressed in ZIP format. Use an appropriate tool to decompress it. When the package is extracted, a directory named TwlSystem is created.
Before using Nintendo TWL-System, you must set the TWLSYSTEM_ROOT environment variable. Set TWLSYSTEM_ROOT with the absolute path to the unzipped TwlSystem directory. If this environment variable is not specified, the path is treated as if C:\TwlSystem had been set.
Note 81-R03: (Library) The changes for the material skipping bug prevented materials status from being updated in certain cases, causing invalid colors to be applied to polygons. The changes have been reverted provisionally.
Applied changes made in the TWL-System library (2.1.1).
This update does not contain the plug-in for 3ds Max 8.0. Furthermore, we plan to support only 3ds Max 9.0 and above starting with the next update.
There is now support for 3ds Max 2010 (Windows 32-bit version).
Corrected a problem where it was not possible to use NITRO Replace Character or NITRO Rename Over 16 Characters to change the material name applied to nodes that have parent nodes.
Support for Softimage 7.5 (Windows 32-bit version). The add-on file is not included in this update. Use the add-on file for XSI 7, in Softimage 7.5.
fontcvtr_ManualNNS_SndArcInitOnMemoryNNS_SndWaveOutStart for IMA-ADPCMNNS_SndArcInit*TWLSDK_PLATFORM=NITRO (SRL files) when connected to the IS-TWL-DEBUGGER hardwareNNS_G3D_GET_ANM macro bugg3dcvtrversion.hIncluded the $TwlSystem/include/nnsys/version.h file from Makefile and enabled the acquisition of version information.
The IDE sample demo and IDE build guide have been deleted from the TWL-System package because they will be released in a different package.
Revised the error messages output from the fontcvtr.exe font converter tool.
fontcvtr_ManualRevised the error message descriptions.
Because no special restrictions are necessary, the default value for the maximum number of shapes in one model has been changed from 64 to 256.
Added the -we option for handling warnings as errors.
During the material update process, a material that is hidden or is the same as the previous material should be skipped and not updated. However, this skipping did not occur. That bug has now been fixed.
NNS_G3D_GET_ANM macro bugThe NNS_G3D_GET_ANM macro was using undefined variables as arguments. That has been fixed.
g3dcvtrThe g3dcvtr tool in the release package has a check feature for debugging purposes that resulted in an error for data that previously could be converted. This bug has been fixed.
When the intermediate file contained elements with more than 2 MB of content, an error would occur. That has been fixed.
When the name of a node or material was left blank, an error was not correctly output. That has been fixed.
An error would occur when sound data stored in a folder named in Japanese was converted by SoundMaker, among others. That bug has been fixed.
NNS_SndArcInitOnMemoryAdded a note about destroying Sound archives and loading different Sound archives to the same address.
NNS_SndWaveOutStart for IMA-ADPCMUpdated to include IMA-ADPCM among the waveform data formats that can be handled by the NNS_SndWaveOutStart function.
The alignment size specified by the --align option in sndarc.exe was not being applied. That has been fixed. There was also an incorrect size value being output to the Sound Map file. That has also been fixed.
NNS_SndArcInit*Added mention in the references for the NNS_SndArcInit* functions that the sound archive data in NAND archives and SD Card archives cannot be used.
An error is now output when a waveform file with invalid loop information has been converted by waveconv.exe.
Added a description to the Sound Designer Guide: Hardware volume is displayed when SoundPlayer is used with the TWL or with IS-TWL-DEBUGGER Also added an explanation of IS-TWL-MIDI-specific updates.
In the Quick Start Guide and the Sound Designer Guide, an incorrect path was give for directories containing sample data. This bug has been fixed.
Added notes about using the TWL-SDK's SND, SNDEX, and DSP functions to the Sound Programmer Guide.
TWLSDK_PLATFORM=NITRO (SRL files) when connected to the IS-TWL-DEBUGGER hardwareUp until now, when the MCS server was connected to the IS-TWL-DEBUGGER hardware, communication was not possible when the program that was running was a TWLSDK_PLATFORM=NITRO build (an SRL file).
Communication is now possible when using this release of the MCS library and version 0.76 or later of the IS-TWL-DEBUGGER software.
Support is now official for the debugger sharing feature in IS-TWL-DEBUGGER's software, version 1.01 and later.
Applied changes made to the TWL-System library (2.1.0 official version).
Updated to preview on the Nintendo DS system using IS-NITRO-UIC.
When you pressed CTRL+S when a SARC file had been loaded to NitroPlayer.exe, the size of the SARC file would become 0 bytes. That bug has been fixed.
IS-NITRO-UIC did not operate properly when NitroPlayer.srl was started on a Nintendo DS system, so we added NitroPlayerUIC.srl, which does operate correctly. For more information, see the NITRO-Player User Manual.
Real-time MIDI playback is now possible by combining IS-TWL-DEBUGGER and IS-TWL-MIDI. For more information, see the NITRO-Player User Manual.
When run on a Nintendo DSi system (or on IS-TWL-DEBUGGER), hardware volume is now displayed as a value in the lower screen.
Communication would be disconnected when an attempt was made to send a large amount of data to the application on the console. That bug has been fixed.
When NITRO-Player was already running and the Start NITRO-Player button was pressed while using a Sound project stored in a Japanese-language folder, the message XXXX contains an invalid path would appear on NITRO-Player, and an error would occur. That bug has been fixed.
When the intermediate file contained elements with more than 2 MB of content, an error would occur. That has been fixed.
Updated for the Windows 32-bit version of Adobe Photoshop CS4.
Added the Remove Namespace option to the Output plug-in.
Added the Remove Namespace option to the NITRO Rename Over 16 Characters plug-in.
Revised the Select Output Folder dialog box in the Output Options window so that it can be resized.
Updated the N3ES file format.
settings_version to 1.1.
remove_namespace.
Revised the note regarding opacity in Material Types and Attributes.
Revised so that now an error occurs when a node name or a material name is null.
When a mesh does not have polygons, a warning is now displayed, and null is output.
When an error occurred during output, sometimes the modifier would become invalid. That bug has been fixed.
When Physique was used for a model, sometimes the pose in the IMD file would not be output correctly. That bug has been fixed.
Added supplementary information about XSI 7.01 to NITRO_SoftimageXSI_Plugin.pdf and to Setup_SoftimageXSI_Plugin.pdf.
The maximum size of the texture blocks contained in NSBMD and NSBTX files is 524272 bytes. In other words, 16 bytes short of 512 KB. The reason for this is that the size portion inside the VRAM key is a 15-bit field that has been left-shifted 4 bits.
When blending multiple animations that include scale animations (particularly those with strong Scales) of models that use the Maya SSC (Segment Scale Compensate) or SOFTIMAGE|XSI's Hierarchical Scaling feature, the post-blend scale may be inappropriate. To correct this problem, use the following countermeasures.
TwlSystem/build/libraries/g3d/src/anm.c, line 31 //#define FIX_SCALEEX_BLEND_BUG
Because there is a bug in the evaluation routines that are meant to prevent retransmission of identical materials, there are unnecessary costs caused by extraneous updating of materials. See related Notes 81-R03 and 82-R01.
Stream playback with NITRO-Player is achieved by transferring from the PC the data that is actually loaded in real time from the ROM. Therefore, the sound may be interrupted during stream playback. This phenomenon is most notable when playing back ADPCM data.
Conversely, even if the sound is not interrupted on the NITRO-Player, it does not guarantee that the playback of the sound is not interrupted during the game.
For checking the stream playback, use of SoundPlayer is recommended.
Under certain conditions, when the last two regions that are loaded, they are combined into a single region. This problem happens when the following three conditions are all met.
However, there are no differences in the data, and sounds output before and after the regions have been combined.
Information regarding Nintendo TWL-System is located in the docs directory of the TWL-System source tree. Read the following documents first.
QuickStart.pdf)This document explains how to set up TWL-System and the procedures for building the TWL-System library and demo programs.
These documents provide overviews of TWL-System.
TWL-System-Overview.pdf)G2D_Overview.pdf)G3D_Overview.pdf)NITRO_Composer_Overview.pdf)These documents describe revisions up to the current version.
DevelopmentEnvironment_ChangeLog.html)Foundation_ChangeLog.html)GraphicsFoundation_ChangeLog.html)G2D_ChangeLog.html)G3D_ChangeLog.html)NITRO_Composer_ChangeLog.html)mcs_ChangeLog.html)NITRO_Viewer_ChangeLog.html)NITRO_Player_ChangeLog.html)NITRO_SoundMaker_ChangeLog.html)3DMaterialEditor_ChangeLog.html)NITRO_Photoshop_Plugin_ChangeLog.html)NITRO_Maya_Plugin_ChangeLog.html)NITRO_3dsmax_Plugin_ChangeLog.html)NITRO_XSI_Plugin_ChangeLog.html)NITRO_Intermediate_File_Format_ChangeLog.html)The TWL-System library is not designed to be fundamentally thread-safe (in a form that supports multi-threading). Consequently, calling a function from the TWL-System library from an interrupt handler or a different thread might not work properly.
However, the functions of the sound driver (SND) are thread-safe so they can be called from an interrupt handler or a different thread.
The G2D and G3D libraries of TWL-System use dividers. When using TWL-System without backing up or restoring the calculator used for internal processing, there is a chance that the calculation result of the interrupt source will be destroyed.
When using TWL-System for interrupt processing, be sure to back up or restore the status of any divider used inside an interrupt with the CP_SaveContext and CP_RestoreContext functions from the TWL-SDK.
Copyrights for the image data and music data used in the demo and sample programs included in this package are the property of Nintendo. This data may only be used in the demo and sample programs of this package, and may not be used in any other programs.
Nintendo TWL-System includes the font converter fontcvtr. By using this fontcvtr, you can convert any font installed on a PC to a form usable by Nintendo DS. However, to sell software that uses these fonts, you must get licenses for them. You need to get licenses for each game software title. fontcvtr and TWL-System do not come with licenses for the LC font or any other font.
The plug-ins for the 3D CG tools and for Photoshop that are included in TWL-System can also be used with NITRO-System.
Note that the plug-ins appear as NITRO-System in the various applications.
This package contains software developed by the Apache Software Foundation (http://www.apache.org/). Copies of the Xerces-C++ NOTICE file and license file are located in the following directories.
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
© 2005-2009 Nintendo © 2005-2009 HAL Laboratory, Inc. The content of this document cannot be duplicated, copied, reprinted, transferred, distributed, or loaned in whole or in part without the prior approval of Nintendo.
CONFIDENTIAL