README.TXT 3.85 KB
//======================================================================//
//									//
//		SoundTools Ver3.0 用 NuSystemについて			//
//				NINTENDO Co,Ltd.			//
//									//
//			1998/10/21	K.Ohki				//
//======================================================================//

【1】インストール
  まず、MUS ライブラリVer.3 の lib ディレクトリのライブラリとヘッダーが、
 所定の場所にコピーされているのを確認してください。

  その後、nualstl3ディレクトリに移り、以下のコマンドを入力し、NuSystemの
 ライブラリをインストールしてください。

    make -f makefile.dos install

  これで、makefile.dosのN64KITDIR(デフォルトではc:\nintendo\n64kit)で指定した
  位置にlibmus3.0用のNuSystemがインストールされます。


【2】コンパイル方法
 nualstl3 ライブラリを再構築する場合は、以下のようにして下さい。

  通常では、NuSystemのソースは、

  X:\nintendo\n64kit\nusys\src
  (X: NuSystemをインストールしたドライブ)

  にnusys-120.lzhとして圧縮してインストールされていますので、
  これをその場で展開し、
  展開してできたディレクトリ"nusys-1.20"のしたに
  nualstl3をディレクトリごとコピーしてください。
  そしてnualstl3のしたで

  >make -f makfile.dos

  とすればコンパイルできます。

 (参考)
  N64 Soundtools 付属のライブラリ(libgmus.a libn_gaudio_sc.a など)は、
  OS2.0I Patch5以降に対応した物です。
 OS2.0I Patch4以前のバージョンで動作させる場合、これらも再構築する必要が
 あります。
 それぞれのソースの makefile の以下の行のコメントを外してコンパイルして
  下さい。

    OLD_AUDIO_DEF = -D_OLD_AUDIO_LIBRARY


【3】NuSystemの変更点

  libmus3.0は、それ以前とはかなり関数やその動作が変更されています。
  しかし、できるだけその差をNuSystem側で吸収し、変更点が少なくなるように
  しています。
  また、audioマイクロコードとn_audioマイクロコード用は同じソースから
  ライブラリを生成できるようにしました。


  ●変更概要

  これまで、NuSystem用のmusライブラリが必要でしたが、libmus3.0から
  スケジューラの変更ができるようになりました。
  そのため、libmusをそのまま用いるように変更しています。
  ただ、これまではmusライブラリを変更してsound effects bankやbinary song等
  の領域をオーディオヒープ領域から確保できるようにしていましたが、
  そのままlibmusを用いた場合そういったことができません。
  これを解決するため、libmusの内部関数のうち__MusInitMemMalloc()を用いています。

  libmus3.0から効果音は、エフェクトバンクファイルとして扱うようになり、
  関数も変更されていますので、NuSystem側も変更しています。

  以下に変更した関数と新たに追加した関数をあげておきます。


  ●変更した関数

  nuAuStlinit()
    これまで、引数のmusConfigのメンバをほとんどを使わなかったものを、
    すべて使うようになりました。そのため、全てのメンバの初期設定を
    おこなってください。
    ただしNULLを指定した場合は、デフォルト値(auConfig)を用います。

  nuAuStlMgrInit()
    これまでDMAコールバック用の初期化部分とシンセサイザの初期化を削除し、
    スケジューラの登録とmusの初期化をおこなうように変更しました。
    また引数は、musConfig構造体のポインタに変更しています。


  ●追加した関数

  nuAuStlSeqPlayerInit()
    シーケンスと効果音の扱いが変わったので、追加しました。
    オーディオヒープ領域から、シーケンス(binary song)の領域を
    確保します。そのため、サイズには、ゲームでつかうシーケンスファイルの
    最大値をしてしてください。

  nuAuStlSndPlayerInit()
    効果音が別ファイルになったので追加しました。
    オーディオヒープ領域から、効果音(binary song effects bank)の
    領域を確保します。そのため、サイズにはゲームで使う効果音のファイルの
    最大値を指定してください。



  ●削除した関数

  nuAuStlPlayerInit()
    nuAuStlPlayerInit()は、nuAuStlSeqPlayerInit()に変更しました。
    また、この関数でMusIntialize()を呼んでいましたが、
    nuAuStlMgrInit()で呼ぶように変更しています。
    マクロでnuAuStlPlayerInit()は、nuAuStlSeqPlayerInit()に定義して
    あります。

  ●その他
    ボリュームやパン、テンポの指定はマクロで定義してありますが、
    libmus3.0に無い関数は使えません。また新規に作成していませんので
    注意してつかってください。