lib_init
struct LIB_WORK *lib_init(struct LIB_WORK *work) :
機能: APIライブラリを初期化する。
work==0の時はmalloc(256)してその領域を返す。その他のときはworkを返す。
ほかのコマンドを使う前にできるだけ早くこのコマンドを実行すること。
システムタイマーの時間基点にその時の時刻を設定し、シグナルハンドラ
マスク値を-1にする。
lib_close
void lib_close(int opt) :
機能: APIライブラリを終了する。
opt=0。
現在、アプリもろとも終了する。
lib_opensoundtrack
void lib_opensoundtrack(int slot) :
機能:サウンドトラックをオープンする。
slotはスロット番号を意味していて、0x200~0x3f0の値を指定する。slotは1つ消費。
ウィンドウ等で使ったslot番号は使えないので重複しないようにすること。また、slotは
16の倍数でなくてはならない。
参考になるサンプル:music2(introb)、music3(introb)、plymmlc0(intorb)
lib_controlfreq
void lib_controlfreq(int slot, int freq) :
機能:サウンドトラックに対し、どんな音を出すのか指示する。
slotはlib_opensoundtrack()でオープンしてあるslot番号を入れる。freqは以下の式で
求めた値を指定する。
freq = 0x100000000 / f (ただし、fはHzで表した周波数)
freqに0を指定すると無音(消音)を指定したことになる。
参考になるサンプル:music2(introb)、music3(introb)、plymmlc0(intorb)
lib_getrandseed
int lib_getrandseed() :
機能:乱数の種を生成する。
例:srand(lib_getrandseed());
参考になるサンプル:test029
参考になるOSASK-ML:[OSASK 3233]
lib_execcmd
void lib_execcmd(void *EBX) :
機能: コマンド列へのポインタをAPIライブラリに渡し、実行させる。
コマンド列の書き方:
void*の配列として書くと書きやすい。
参考になるサンプル: introe01/helloc8.c
lib_execcmd0
void lib_execcmd0(int cmd, ...) :
機能: 引数をAPIライブラリのコマンドとして実行する。
guigui00.hのほとんどのコマンドはこれでできている。
lib_execcmd1
const int lib_execcmd1(int ret, int cmd, ...) :
機能: 引数をAPIライブラリのコマンドとして実行し、引数の一部を返す。
cmd以下の引数をAPIのコマンドとして実行し、*(int*)&cmd+(ret-12)/4を返す。
引数が入っているメモリはAPIライブラリが返り値を返すバッファとして使うこと
がある。