TWL-System
Function Reference Manual
(English version)
For TWL-System 2.1.0

Confidential

This document contains confidential and proprietary information of Nintendo and is also protected under the copyright laws of the United States and foreign countries. No part of this document may be released, distributed, transmitted or reproduced in any form or by any electronic or mechanical means, including information storage and retrieval systems, without permission in writing from Nintendo.

Caution: This document contains proprietary information. Please take strict measures to keep this information secret.

©2004-2009 Nintendo All rights reserved.
TWL-06-0102-001-B

Microsoft Internet Explorer 5.0 or later recommended

# Notes

## Multi-Thread Operation

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.

## Using Dividers

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.

# Additions and Updates to Function References

## Updates

`NNS_FndFindContainHeap`
`NNS_McsOpenStreamEx`
`NNS_SndArcInitOnMemory`
`NNS_SndWaveOutStart`