##### Ninja Library - システム関数

# njInitSystem

グラフィックシステムの初期化

### 書式

> `Sint32 njInitSystem( mode, frame, count )
> Int mode
> Int frame
> Int count
> `

### 引数

> mode | 画面モード
> frame | フレームバッファモード
> count | フレームカウント数

### 戻り値

> 1 | 成功
> -1 | 失敗(ハードウェアのケーブル設定と画面設定が異なる)

### 解説

> システムを初期化し、画面解像度を指定したモードにします。
> 画面サイズを設定します。
> スクリーンセンターを設定します。
> 2Dクリップエリアを画面サイズと同じにします。
> 画面モードを変更するときにも使用します。

> 画面モードを指定する引数 mode は以下の値を指定できます。

> NJD_RESOLUTION_VGA
> NJD_RESOLUTION_320x240_NTSCNI
> NJD_RESOLUTION_320x240_NTSCI
> NJD_RESOLUTION_640x240_NTSCNI
> NJD_RESOLUTION_640x240_NTSCI
> NJD_RESOLUTION_320x480_NTSCNI_FF
> NJD_RESOLUTION_320x480_NTSCNI
> NJD_RESOLUTION_320x480_NTSCI
> NJD_RESOLUTION_640x480_NTSCNI_FF
> NJD_RESOLUTION_640x480_NTSCNI
> NJD_RESOLUTION_640x480_NTSCI
> NJD_RESOLUTION_320x240_PALNI
> NJD_RESOLUTION_320x240_PALI
> NJD_RESOLUTION_640x240_PALNI
> NJD_RESOLUTION_640x240_PALI
> NJD_RESOLUTION_320x480_PALNI_FF
> NJD_RESOLUTION_320x480_PALNI
> NJD_RESOLUTION_320x480_PALI
> NJD_RESOLUTION_640x480_PALNI_FF
> NJD_RESOLUTION_640x480_PALNI
> NJD_RESOLUTION_640x480_PALI
> NJD_RESOLUTION_VGA_ANTI
> NJD_RESOLUTION_320x240_NTSCNI_ANTI
> NJD_RESOLUTION_320x240_NTSCI_ANTI
> NJD_RESOLUTION_640x240_NTSCNI_ANTI
> NJD_RESOLUTION_640x240_NTSCI_ANTI
> NJD_RESOLUTION_320x480_NTSCNI_FF_ANTI
> NJD_RESOLUTION_320x480_NTSCNI_ANTI
> NJD_RESOLUTION_320x480_NTSCI_ANTI
> NJD_RESOLUTION_640x480_NTSCNI_FF_ANTI
> NJD_RESOLUTION_640x480_NTSCNI_ANTI
> NJD_RESOLUTION_640x480_NTSCI_ANTI
> NJD_RESOLUTION_320x240_PALNI_ANTI
> NJD_RESOLUTION_320x240_PALI_ANTI
> NJD_RESOLUTION_640x240_PALNI_ANTI
> NJD_RESOLUTION_640x240_PALI_ANTI
> NJD_RESOLUTION_320x480_PALNI_FF_ANTI
> NJD_RESOLUTION_320x480_PALNI_ANTI
> NJD_RESOLUTION_320x480_PALI_ANTI
> NJD_RESOLUTION_640x480_PALNI_FF_ANTI
> NJD_RESOLUTION_640x480_PALNI_ANTI
> NJD_RESOLUTION_640x480_PALI_ANTI
> NJD_RESOLUTION_640x256_PALNI
> NJD_RESOLUTION_640x264_PALNI
> NJD_RESOLUTION_640x272_PALNI
> NJD_RESOLUTION_640x280_PALNI
> NJD_RESOLUTION_640x496_PALNI
> NJD_RESOLUTION_640x512_PALNI
> NJD_RESOLUTION_640x528_PALNI
> NJD_RESOLUTION_640x544_PALNI
> NJD_RESOLUTION_640x560_PALNI
> NJD_RESOLUTION_640x496_PALI
> NJD_RESOLUTION_640x512_PALI
> NJD_RESOLUTION_640x528_PALI
> NJD_RESOLUTION_640x544_PALI
> NJD_RESOLUTION_640x560_PALI
> NJD_RESOLUTION_640x248_PALNI_ANTI
> NJD_RESOLUTION_640x256_PALNI_ANTI
> NJD_RESOLUTION_640x264_PALNI_ANTI
> NJD_RESOLUTION_640x272_PALNI_ANTI
> NJD_RESOLUTION_640x280_PALNI_ANTI
> NJD_RESOLUTION_640x496_PALNI_ANTI
> NJD_RESOLUTION_640x512_PALNI_ANTI
> NJD_RESOLUTION_640x528_PALNI_ANTI
> NJD_RESOLUTION_640x544_PALNI_ANTI
> NJD_RESOLUTION_640x560_PALNI_ANTI
> NJD_RESOLUTION_640x496_PALI_ANTI
> NJD_RESOLUTION_640x512_PALI_ANTI
> NJD_RESOLUTION_640x528_PALI_ANTI
> NJD_RESOLUTION_640x544_PALI_ANTI
> NJD_RESOLUTION_640x560_PALI_ANTI

> NJD_RESOLUTION_320x240_AUTO_NI
> NJD_RESOLUTION_320x240_AUTO_I
> NJD_RESOLUTION_640x240_AUTO_NI
> NJD_RESOLUTION_640x240_AUTO_I
> NJD_RESOLUTION_320x480_AUTO_NI_FF
> NJD_RESOLUTION_320x480_AUTO_NI
> NJD_RESOLUTION_320x480_AUTO_I
> NJD_RESOLUTION_640x480_AUTO_NI_FF
> NJD_RESOLUTION_640x480_AUTO_NI
> NJD_RESOLUTION_640x480_AUTO_I
> NJD_RESOLUTION_640x248_AUTO_NI
> NJD_RESOLUTION_640x256_AUTO_NI
> NJD_RESOLUTION_640x264_AUTO_NI
> NJD_RESOLUTION_640x272_AUTO_NI
> NJD_RESOLUTION_640x280_AUTO_NI
> NJD_RESOLUTION_640x496_AUTO_NI
> NJD_RESOLUTION_640x512_AUTO_NI
> NJD_RESOLUTION_640x528_AUTO_NI
> NJD_RESOLUTION_640x544_AUTO_NI
> NJD_RESOLUTION_640x560_AUTO_NI
> NJD_RESOLUTION_640x496_AUTO_I
> NJD_RESOLUTION_640x512_AUTO_I
> NJD_RESOLUTION_640x528_AUTO_I
> NJD_RESOLUTION_640x544_AUTO_I
> NJD_RESOLUTION_640x560_AUTO_I
> NJD_RESOLUTION_320x240_AUTO_NI_ANTI
> NJD_RESOLUTION_320x240_AUTO_I_ANTI
> NJD_RESOLUTION_640x240_AUTO_NI_ANTI
> NJD_RESOLUTION_640x240_AUTO_I_ANTI
> NJD_RESOLUTION_320x480_AUTO_NI_FF_ANTI
> NJD_RESOLUTION_320x480_AUTO_NI_ANTI
> NJD_RESOLUTION_320x480_AUTO_I_ANTI
> NJD_RESOLUTION_640x480_AUTO_NI_FF_ANTI
> NJD_RESOLUTION_640x480_AUTO_NI_ANTI
> NJD_RESOLUTION_640x480_AUTO_I_ANTI
> NJD_RESOLUTION_640x248_AUTO_NI_ANTI
> NJD_RESOLUTION_640x256_AUTO_NI_ANTI
> NJD_RESOLUTION_640x264_AUTO_NI_ANTI
> NJD_RESOLUTION_640x272_AUTO_NI_ANTI
> NJD_RESOLUTION_640x280_AUTO_NI_ANTI
> NJD_RESOLUTION_640x496_AUTO_NI_ANTI
> NJD_RESOLUTION_640x512_AUTO_NI_ANTI
> NJD_RESOLUTION_640x528_AUTO_NI_ANTI
> NJD_RESOLUTION_640x544_AUTO_NI_ANTI
> NJD_RESOLUTION_640x560_AUTO_NI_ANTI
> NJD_RESOLUTION_640x496_AUTO_I_ANTI
> NJD_RESOLUTION_640x512_AUTO_I_ANTI
> NJD_RESOLUTION_640x528_AUTO_I_ANTI
> NJD_RESOLUTION_640x544_AUTO_I_ANTI
> NJD_RESOLUTION_640x560_AUTO_I_ANTI

> 表記 | 意味
> VGA | VGAモード
> 320x240 | 画面解像度320x240
> 320x480 | 画面解像度320x480
> 640x240 | 画面解像度640x240
> 640x480 | 画面解像度640x480
> 640x248 | 画面解像度640x248(縦方向の拡大比率1.033)
> 640x256 | 画面解像度640x256(縦方向の拡大比率1.066)
> 640x264 | 画面解像度640x264(縦方向の拡大比率1.100)
> 640x272 | 画面解像度640x272(縦方向の拡大比率1.133)
> 640x280 | 画面解像度640x280(縦方向の拡大比率1.166)
> 640x496 | 画面解像度640x496(縦方向の拡大比率1.033)
> 640x512 | 画面解像度640x512(縦方向の拡大比率1.066)
> 640x528 | 画面解像度640x528(縦方向の拡大比率1.100)
> 640x544 | 画面解像度640x544(縦方向の拡大比率1.133)
> 640x560 | 画面解像度640x560(縦方向の拡大比率1.166)
> NTSC/PAL | 表示方式
> I/NI | インターレース／ノンインターレース
> ANTI | アンチエイリアス
> FF | TypeBフリッカーフリー(※)
> AUTO | 接続されたケーブルに合わせて、表示方式を切りかえる

> 画面解像度で縦方向が240又は480以外のものは、240又は480から拡大されて表示されます。

> FFの指定がない場合、TypeAフリッカーフリーになります。 詳しくは、「ハードウェア概要(dreamcast_hw.doc)」を参照してください。

> フレームバッファのカラーモードを指定する引数colorには次のように定義されています。

> 定義 | 意味
> NJD_FRAMEBUFFER_MODE_RGB565 | 赤5bit／緑6bit／青5bit
> NJD_FRAMEBUFFER_MODE_RGB555 | 赤5bit／緑5bit／青5bit
> NJD_FRAMEBUFFER_MODE_ARGB1555 | アルファ1bit／赤5bit／緑5bit／青5bit
> NJD_FRAMEBUFFER_MODE_RGB888 | 赤8bit／緑8bit／青8bit
> NJD_FRAMEBUFFER_MODE_ARGB8888 | アルファ8bit／赤8bit／緑8bit／青8bit

> フレームカウント数を指定する引数 count は、画面モードにより指定が異なります。

> 画面モード | フレーム数の指定単位
> VGA、NTSCノンインターレース | 1/60秒
> NTSCインターレース | 1/30秒
> PALノンインターレース | 1/50秒
> PALインターレース | 1/25秒

### 用例

>     /* 画面解像度をVGA(640×480)に設定し
>     1フレームを1／60秒とする */

>     njInitSystem( NJD_RESOLUTION_VGA,
>     	NJD_FRAMEBUFFER_MODE_RGB565, 1 );

### 備考

> 描画系システムの初期化は、プログラムの最初に必ず行ってください。 海外向けDreamcast実機やDev.Boxなどハードウェアの種類によって設定できない画面モードがあります。

### 参照

> njInitDevice() | グラフィックシステムの初期化
> njExitSystem() | 描画システムの終了
> njSetScreen() | スクリーンの設定
> njSetAspect() | スクリーンの縦横比の設定
> njClipZ() | ニアクリップ／ファークリップの範囲指定

njInitSystem

COPYRIGHT © SEGA ENTERPRISES, LTD., 1998-2000