======================================================================
DSi店頭試遊台向け店頭試遊台用ライブラリ「tis_util」- Ver1.2
                                                  [2010/09/16]
======================================================================

* 目次
 - はじめに
 - 動作確認環境
 - 組み込み方法
 - 関数の呼び出し
 - 変更履歴


======================================================================
はじめに
======================================================================
本ライブラリはDSi店頭試遊台向けの体験版作成時に使用する、店頭試遊台用
ライブラリ「tis_util」です。

DSi店頭試遊台向けの体験版タイトルを作成する場合、本ライブラリの組み込
みが必要となります。


======================================================================
動作確認環境
======================================================================
本ライブラリの動作確認を行っているSDKのバージョンは以下の通りです。

・TwlSDK-5.4

TwlSDKを使用した場合はDSi店頭試遊台と旧試遊台（欧州のDS CENTRE）を
ライブラリ内部で自動的に判別して適切な動作をします。
※本ライブラリはensataでは動作しません。


======================================================================
組み込み方法
======================================================================
◇Makefileを使用している場合

includeフォルダ内のtis_util.hをインクルードし、libTWL以下の適切な
ビルドタイプのライブラリファイルを使用するようにしてください。

例えば、Makefileに次のような記述を入れてください。
#-----------------------------------------------------
ifeq ($(TWLSDK_PLATFORM),)
TIS_LIBDIRSUFFIX = NITRO
else
TIS_LIBDIRSUFFIX = TWL
endif

TIS_UTIL_DIR    = <tis_utilフォルダを置いた場所>

LINCLUDES       += $(TIS_UTIL_DIR)/include
LLIBRARY_DIRS   += $(TIS_UTIL_DIR)/lib$(TIS_LIBDIRSUFFIX)/$(NITRO_BUILDTYPE)
LLIBRARIES      += tis_util$(NITRO_LIBSUFFIX).a
#-----------------------------------------------------


◇CodeWarriorプロジェクトを使用している場合

プロジェクトにincludeフォルダ内のtis_util.hとlibTWL以下の必要な
ライブラリファイルを登録してください。


======================================================================
関数の呼び出し
======================================================================
関数を使用するソースファイルで、以下のようにヘッダーをインクルードし
てください。

#include "tis_util.h"


◇TIS_InitTrial

この関数は、OS_Init()、OS_InitTick()、OS_InitAlarm()を実行した直後、
OS_EnableIrq()、OS_EnableInterrupts()で割り込みを有効にしてから
呼んでください。

この関数は、内部で動作している実機を判断し、それに応じた処理を行いま
す。

・OS_ResetSystemを使用してリセットを行った際は、この関数の呼び出しで
　警告を出して停止します。
・それ以外の場合は、何も行いません。

試遊台から起動された場合はTIS_MODE_FREEもしくはTIS_MODE_FIXのいずれか
が返されますので、それぞれのモードに従った動作を行ってください。
試遊台以外で起動している場合はTIS_MODE_FREEが返されます。通常のROMや
デバッガから起動された場合は、試遊台と挙動をあわせるために本関数内で
約1秒間ブロックします。


◇TIS_ResetTrial

この関数は、リセットを行いたい場所で呼び出してください。この際、以下
の点に注意してください。

・サウンドを停止しておいてください。
・カードがロックされていないことが保証されている状態でのみ使用してく
　ださい。

この関数は、内部で動作している実機を判断し、それに応じた処理を行いま
す。関数から戻ってくることはありません。

・試遊台では、試遊台本体と通信してメニュープログラムを呼び出します。
・試遊台以外の場合は、通常のリセットを行います。このとき
　OS_GetResetParameter関数で取得できるリセットパラメータは
　TIS_NORMAL_RESET_PARAMとなります。


◇TIS_StartTrial

体験版の開始を試遊台に伝えます。
試遊台ではこの関数を呼び出してから20分間試遊可能です。
TIS_MODE_FIXで起動した後、ユーザの入力があったときに呼び出してください。


◇TIS_SetTisModeDebug

起動モードを変更してテストしたい場合はTIS_InitTrial関数を呼ぶ前にこの
関数で希望する起動モードを指定してください。
ここで指定された起動モードがTIS_InitTrial関数から返されます。
試遊台から起動された場合、ここでセットされた値は無視されます。


======================================================================
変更履歴
======================================================================
2010/09/16
　　関数の呼び出し項目にOS_EnableInterrupts()が必要な旨を追記

2010/09/02
    サポート終了に伴い、NitroSDKに関する記述を削除しました。

2010/01/06
    旧試遊台と新試遊台の両方に対応しました。
    プリフィックスをNISからTISに変更しました。
    TwlSDKのみの対応としました。
    TIS_StartTrial関数を追加しました。
    TIS_SetTisModeDebug関数を追加しました。
    NIS_ResetLoop関数を削除しました。

2009/10/23
    「試遊台(L)」の記述を「試遊台」に変更
　　Multi-in-oneの記述を削除

2009/09/07
    NIS_ResetLoop関数を追加しました。
    NIS_InitTrial関数の返値をvoidからNIS_MODEに変更しました。
    NIS_InitTrial関数を呼び出す前にOS_Init()、OS_InitTick()、
　　OS_InitAlarm()の呼び出しが必要となりました。

2008/12/25
    TwlSDK5.0 patch2(NITROモード)、NitroSDK4.2 patch5に対応しました。

2008/05/23
    NIS_ResetTrial関数を使用したときのリセットパラメータについて
　　Readmeに記述しました。
    NitroSDK4.2へ対応しました。

2007/12/17
    ライブラリを組み込んだROMをDS MRCにかけたときに、ミドルウェアの欄
　　にNISが二つ表示されないようにしました。

2007/03/19:
    韓国版移植のための古いSDKユーザへの配慮としてSTD_CompareStringを
　　使わずstrcmpを使うようにしました。

2007/03/06:
    本ライブラリはensataでは動作しないことを本readmeに追記しました。

2006/12/07:
    NitroSDK4.0へ対応しました。
    OS_ResetSystemによってリセットが行われた場合、NIS_InitTrialで止め
　　るようにしました。

2006/06/23:
    新規作成しました。
