--------------------------------------------------------

Shinobi Library ver 0.50 JR2,JR3    1998/7/1

               Copyright 1998 SEGA Enterprises, LTD.
--------------------------------------------------------

★目次と注意事項

・サンプルについて
・SET_KT.BAT、MAKEFILEについて
・GD Workshop
・サウンドについて
・テクスチャバッファ及び頂点バッファについて
・ハードウェアについて
・ファイルシステムについて

  今回のSDKでサポートされる関数一覧

  ○システム関連 (shinobi\system.txt)
    ・sbInitSystem           Shinobiライブラリの初期化
    ・sbHwInit               Ninjaを初期化する前に行う初期化処理
    ・sbHwInit2              Ninjaを初期化した後に行う初期化処理
    ・sbHwFinish             ハードウェアの終了処理
    ・sbExitSystem           Shinobiシステムの終了

  ○ファイルアクセス関連 (shinobi\filesys.txt)
    ☆定型処理
      ・gdFsInit             ファイルシステムの初期化
      ・gdFsCreateDirhn      ディレクトリハンドルの取得
      ・gdFsLoadDir          ディレクトリ情報の取得
      ・gdFsChangeDir        カレントディレクトリの移動
      ・gdFsOpen             ファイルのオープン
      ・gdFsClose            ファイルのクローズ
      ・gdFsGetFileSize      ファイルサイズの取得
      ・gdFsGetFad           ファイルのフレームアドレスを取得(new)
      ・gdFsSeek             ファイルのシーク
      ・gdFsTell             ファイルポインタの取得
      ・gdFsIsEof            ファイルの終了判定
    ☆完了復帰型要求
      ・gdFsRead             ファイルのリード
    ☆即時復帰型要求
      ・gdFsReqRd32          ファイルの先読みリクエスト
      ・gdFsGetStat          先読み要求したリクエストの状態を取得
      ・gdFsGetNumRd         現在までに読み込んだサイズを取得

  ○メモリ管理 (shinobi\memory.txt)
    ・syMallocInit           Malloc用のヒープ領域の確保と宣言
    ・syMalloc               メモリの確保
    ・syFree                 メモリの開放

  ○ペリフェラル関連 (shinobi\per.txt)
    ・pdGetPeripheral        ペリフェラルデータの取得
    ・pdGetPeripheralError   ペリフェラルステータスの取得

  ○タイマ関連 (shinobi\timer.txt)
    ・syTmrGetCount          内蔵タイマの値を取得する
    ・syTmrDiffCount         二つのタイマ値の差を取る
    ・syTmrCountToMicro      タイマカウント値をμsに直す
    ・syTmrMicroToCount      μsをタイマカウントに直す

  ○ミドルウェア関連（middleware￥mwply050.doc）
    ☆ライブラリの初期化と終了
      ・mwPlyInit            ライブラリの初期化
      ・mwPlyFinish          ライブラリの終了処理
    ☆再生制御
      ・mwPlyCreateSofdec    ハンドルの生成
      ・mwPlyDestroy         ハンドルの消去
      ・mwPlyStartFname      再生開始
      ・mwPlyStop            再生停止
      ・mwPlyGetStat         ハンドルの状態の取得
      ・mwPlyGetTime         再生サンプル数の取得
      ・mwPlyExecServer      サーバ関数
      ・mwPlyEntryErrFn      エラー発生時に呼ばれる関数の登録

  ○グラフィック(Ninja)
    HTMLマニュアルをご覧ください。

  ○サウンド
    HTMLマニュアルをご覧ください。

-------------------------------------------------------------------

◎このSET5 SDKについて
★サンプルについて
本SET5 SDKから、サウンドおよびMPEGの再生が可能となります。
また、サンプルプログラムを約10倍(当社比)に増やしました。
sg_gdサンプルおよび、printサンプルはSET4SDKと比べて
内容が変更されています。ご注意ください。

★SET_KT.BAT、MAKEFILEについて
環境変数設定バッチファイルSET_KT.BATおよび、MAKEFILEは本リリースより
変更になりました。
このバッチファイルで設定する環境変数は、これまでのものと比べ、
大幅に変わったのに加え、この設定された環境変数でMAKEFILEが動きます。
SDKの更新の際には、必ずSET_KT.BATおよびMAKEFILEを更新してください。
又、MAKEFILEはこれまでUSRFILESというファイルを必要としていましたが
今回のリリースより、USRFILESの代わりにMAKEUSER、さらに
SHINOBI\LIBディレクトリに、MAKEPOST、MAKEPREファイルを必要とします。

★GD Workshopを利用する場合
  GD Workshopを利用する場合、SET5本体にあるリセットボタンを押してから、
  プログラムのダウンロード、およびトレイのクローズ作業を行ってください。
  CodescapeのHard Resetでは不完全な場合があります。

  本リリースのライブラリは同梱のGDWorkshop(及びファームウェア)以上の
  バージョンでしか正常動作しません。
  理由は、GDWorkshop側にあったバグを回避するコードが埋め込まれていたものを、
  取り除いたためで、今回提供するGDWorkshopではそのバグは直っているため、
  問題ありませんが、それ以前のGDWorkshopではそのバグのために動作しません。
  必ず、今回提供したGD Workshop(及びファームウェア)を使用するように
  してください。

  また、本バージョンよりGDROMエミュレーション時に
    トラック1：CDROM MODE1
    トラック2：CDDA
  にデータがないとエミュレーションが出来なくなります。
  これは、製品版のディスクにおいても適用されます。
  とりあえず開発中においては、これらのトラックにダミーデータを
  置いておくことをお勧めします。
  又、各トラック共通して4秒(600KB)以上のデータが存在しないと、
  GDのエミュレーションを行う事が出来ません。ダミーデータは、600KB以上の
  ものを利用するようにしてください。

★サウンドについて
  本バージョンよりサウンド関連の関数が追加されますが、
  いくつか制限事項があります。
  １）PCMストリームでのADPCMの禁止
      ADPCMはその性格上転送にもたりが発生した場合、大音量のノイズが
      発生する可能性があります。
      本ハード(SET5.05)では、もたりを誘因する可能性のある、ハードの
      制限が多く、完全な動作が期待出来ません。
      したがって、本リリースではPCMストリームでADPCMを使用することを
      禁止します。
      また、ADPCMをPCMストリームとして使用した場合、今後にわたっても、
      曲の途中ループ、ポーズなどを正確に演奏できない可能性があります。
      これは、ADPCMというアルゴリズムそのものに起因するものと、
      ADPCMをハードウェアがデコードしたデータをプログラム上で再利用
      出来ないことによるものです。
  ２）データ転送時の画面のノイズ
      サウンドデータをサウンドRAMに転送するときに、画面に横縞状の
      ノイズが多数入ることがあります。
      このノイズはSET5.05のハードウェアの不具合によるもので、
      回避する方法はありません。
      次に提供する開発ターゲットでは、修正されます。

★頂点バッファについて
  頂点バッファの確保が足りない場合、画面に何も表示されません。
  頂点バッファが足りないと、画面はブラックアウトし、頂点バッファが
  足りないことを示す赤い枠が現れます。
  その場合、njInitVertexBuffer関数で頂点バッファを余分に確保するように
  してください。特にnjPrint関数で用いられる文字フォントは半透明ポリゴンを
  使用していますので、半透明ポリゴン用頂点バッファが足りなくなることが
  多くあります。

★sbinit.c
  sbinit.c中のgdFsInit関数でプログラムが動作しなくなる場合、
  gdFsInit関数の前に、set_imask(0)を追加してください。

★ハードウェアについて
  SET5.05では、動作が非常に不安定です。
  以下にあげる症状は、ハードウェアによる障害であることがわかっており、
  開発ハードウェアのバージョンアップによって症状は修正されます。
  ・レンダリングが時々止まったようになることがあります。
  ・サウンドRAMへデータを転送した際に、固体差はあるものの、
    画面上に細かい横縞状のノイズが発生します。
    特にPCMストリーム再生など頻繁にサウンドRAMへアクセスするようなものの
    場合、常に画面上にノイズが走ったようになります。
  ・Controller BoxのDポートにペリフェラルを挿すと描画が止まってしまう、
    ペリフェラルデータの取得が出来ないなどの症状が発生する。
    ※今回のリリースでは、Controller BoxのポートDは使用しないでください。

★ファイルシステムについて
  これまでファイルシステムで用いられていた定数マクロ
    GDFS_SEEK_*
    GDFS_STAT_*
    GDFS_ERR_*
  は、今後
    GDD_SEEK_*
    GDD_STAT_*
    GDD_ERR_*
  となります。
  また、同様にマクロ関数
    GDFS_WORK_SIZE
    GDFS_DIRREC_SIZE
  も、マクロ名を変更し、それぞれ
    gdFsGetWorkSize
    gdFsGetDirecSize
  となります。
  「GDFS_*」は互換性のために残してありますが、将来的に削除される可能性が
  あります。
  今後は、極力新しい名称をお使いいただくようお願いいたします。

△▼▽▲次回予告▲▽▼△
・DMAコピー関数
・オーバレイライブラリ
・Ninja新フォーマット、バイナリフォーマット対応、新機能
・サンプル追加
・ユーザタイマ関数
・Codescape/GD Workshopアップグレード

-- 以上 --
