Shinobi Library

1998/10/4


システム関数

0. 概要

Dreamcastのハードウェアの初期化とSEGAライブラリを利用可能な状態にします。
SEGAライブラリにはいくつかの初期化関数が存在しますが、 それらの初期化関数を適切な順序で呼び出し、もっとも一般的な設定にします。

1. データ型

2. 関数仕様


sbInitSystem

[関数]
void sbInitSystem( Int mode, Int frame, Int Count );
[入力]
mode
画面モード(解像度)
画面の解像度を指定します
frame
フレームバッファモード
フレームバッファのカラーモードを設定します
count
フレームカウント数
フレーム数を1/60秒を単位とした値で指定します
[出力]
なし
[戻値]
なし
[機能]
ハードウェアを初期化し、ライブラリを使用可能な状態にします。
また、内部で、njInitSystemを呼び、画面解像度を指定したモードにします。
2Dクリップエリアを画面サイズと同じにします。
Zクリップを、-1.0〜-60000.0にします。
3Dのスクリーン投影面の距離を500にします。
アスペクトをXY共、1.0にします。
カラーモードを、NJD_COLOR_MODE_NORMAL にします。

フレームカウント数は1/60を単位とした値で設定します。
例えば2を設定すると、1/30秒毎にフレームチェンジします。
フレームチェンジは、njWaitVSync関数で行います。

設定できる画面モードは以下の通りです。
変数名 画面モード
NJD_RESOLUTION_VGAVGA 60Hz
NJD_RESOLUTION_320x240_NTSCNI NTSC ノンインターレース 60Hz
NJD_RESOLUTION_320x240_NTSCINTSC インターレース 30Hz
NJD_RESOLUTION_640x240_NTSCNI NTSC ノンインターレース 60Hz
NJD_RESOLUTION_640x240_NTSCI NTSC インターレース 30Hz
NJD_RESOLUTION_320x480_NTSCNI NTSC ノンインターレース 60Hz
NJD_RESOLUTION_320x480_NTSCI NTSC インターレース 30Hz
NJD_RESOLUTION_640x480_NTSCNI_FF NTSC フリッカーフリー 60Hz
NJD_RESOLUTION_640x480_NTSCNI NTSC ノンインターレース 60Hz
NJD_RESOLUTION_640x480_NTSCINTSC インターレース 30Hz
NJD_RESOLUTION_320x240_PALNIPAL ノンインターレース 50Hz
NJD_RESOLUTION_320x240_PALI PAL インターレース 25Hz
NJD_RESOLUTION_640x240_PALNI PAL ノンインターレース 50Hz
NJD_RESOLUTION_640x240_PALI PAL インターレース 25Hz
NJD_RESOLUTION_320x480_PALNIPAL ノンインターレース 50Hz
NJD_RESOLUTION_320x480_PALI PAL インターレース 25Hz
NJD_RESOLUTION_640x480_PALNI_FF PAL フリッカーフリー 50Hz
NJD_RESOLUTION_640x480_PALNI PAL ノンインターレース 50Hz
NJD_RESOLUTION_640x480_PALI PAL インターレース 25Hz
NJD_RESOLUTION_VGA_ANTI VGA アンチエリアス 60Hz
NJD_RESOLUTION_320x240_NTSCNI_ANTI NTSC アンチエリアスノンインターレース 60Hz
NJD_RESOLUTION_320x240_NTSCI_ANTI NTSC アンチエリアスインターレース 30Hz
NJD_RESOLUTION_640x240_NTSCNI_ANTI NTSC アンチエリアスノンインターレース 60Hz
NJD_RESOLUTION_640x240_NTSCI_ANTI NTSC アンチエリアスインターレース 30Hz
NJD_RESOLUTION_320x480_NTSCNI_ANTI NTSC アンチエリアスノンインターレース 60Hz
NJD_RESOLUTION_320x480_NTSCI_ANTI NTSC アンチエリアスインターレース 30Hz
NJD_RESOLUTION_640x480_NTSCNI_FF_ANTI NTSC アンチエリアスフリッカーフリー 60Hz
NJD_RESOLUTION_640x480_NTSCNI_ANTI NTSC アンチエリアスノンインターレース 60Hz
NJD_RESOLUTION_640x480_NTSCI_ANTI NTSC アンチエリアスインターレース 30Hz
NJD_RESOLUTION_320x240_PALNI_ANTI PAL アンチエリアスノンインターレース 50Hz
NJD_RESOLUTION_320x240_PALI_ANTI PAL アンチエリアスインターレース 25Hz
NJD_RESOLUTION_640x240_PALNI_ANTI PAL アンチエリアスノンインターレース 50Hz
NJD_RESOLUTION_640x240_PALI_ANTI PAL アンチエリアスインターレース 25Hz
NJD_RESOLUTION_320x480_PALNI_ANTI PAL アンチエリアスノンインターレース 50Hz
NJD_RESOLUTION_320x480_PALI_ANTI PAL アンチエリアスインターレース 25Hz
NJD_RESOLUTION_640x480_PALNI_FF_ANTI PAL アンチエリアスフリッカーフリー 50Hz
NJD_RESOLUTION_640x480_PALNI_ANTI PAL アンチエリアスノンインターレース 50Hz
NJD_RESOLUTION_640x480_PALI_ANTI PAL アンチエリアスインターレース 25Hz

フレームバッファモードは以下の通りです。
NJD_FRAMEBUFFER_MODE_RGB565
NJD_FRAMEBUFFER_MODE_RGB555
NJD_FRAMEBUFFER_MODE_ARGB1555
NJD_FRAMEBUFFER_MODE_RGB888
NJD_FRAMEBUFFER_MODE_ARGB8888

[使用例]
sbInitSystem( NJD_RESOLUTION_VGA, NJD_FRAMEBUFFER_MODE_RGB565, 1 );
Shinobiライブラリを初期化し、
画面解像度をVGA(640x480)、1フレーム、1/60秒とする。
[備考]
プログラムの最初に必ず行ってください。
ハードウェアの構成により、設定できない画面モードがあります。
これまで、njInitSystemで行っていたものは、本関数に差し替えてください。
引数はnjInitSystemとまったく同じですので、関数リテラルのみを変更すれば
同様に動作させる事が出来ます。


sbExitSystem

[関数]
void sbExitSystem( void )
[入力]
なし
[出力]
なし
[戻値]
なし
[機能]
システムを終了します。
njExitSystemに代えて実行してください。

sbHwInit

[関数]
void sbHwInit(void);
[入力]
なし
[出力]
なし
[戻値]
なし
[機能]
Ninjaの初期化に先立ち、実行しておかなければならない、主にハードウェアの初期化を行います。
[注意]
本関数はsbInitSystemの中で実行されます。

sbHwInit2

[関数]
void sbHwInit2(void);
[入力]
なし
[出力]
なし
[戻値]
なし
[機能]
Ninja/Kamuiの初期化後に行わなければならないライブラリの初期化を行います。
本関数で行われる初期化としては、割り込み管理部の初期化です。

sbHwFinish

[関数]
void sbHwFinish(void)
[入力]
なし
[出力]
なし
[戻値]
なし
[機能]
SH CPUのリソース開放をし、ハードウェアの終了処理を行います。

オーバービューに戻る

TOPに戻る
Copyright 1998 SEGA Enterprises, LTD.