#include "sgl.h"
Uint16 type;
void slSpecialPrioModeNbg0( type );
void slSpecialPrioModeNbg1( type );
void slSpecialPrioModeNbg2( type );
void slSpecialPrioModeNbg3( type );
void slSpecialPrioModeRbg0( type );
Uint16 type - プライオリティ決定モード(後述)。
void - 何も返しません。
特殊プライオリティを使用する場合のプライオリティ決定モードを設定します。
typeには、
spPRI_Scrn、spPRI_Char、spPRI_Dot
のいずれかを指定します。
NBG2の、カラーコードの下位4ビットが0と1の色に対してドット単位で特殊
プライオリティを掛ける。
slSpecialPrioModeNbg2( spPRI_Dot);
slSpecialFuncCodeA( sfCOL_01);
slSpecialFuncSelectB( 0 );
slSpecialFuncCodeA |
slSpecialFuncSelectB |
VDP2_SFPRMD |
#include "sgl.h"
Uint16 mode;
Uint16 flag;
void slSpecialPrioBitN01( mode, flag );
Uint16 mode - 特殊プライオリティビットをセットする画面(後述)。
Uint16 flag - 特殊プライオリティビットをセットするか否か。
void - 何も返しません。
面ごとに指定する特殊プライオリティビットをセットします。
セルモード、ビットマップモード用の両方のレジスタをセットします。
modeには、
scnNBG0、scnNBG1
のいずれかが入ります。
flagは
' ON 'または' OFF '
を入れます。
slSpecialPrioBitN01( scnNBG0, ON );
この関数は、該当する画面のパターンネームコントロールレジスタの特殊
プライオリティビットを操作します。
slPageNbg0 |
slPageNbg1 |
slSpecialPrioModeNbg0 |
slSpecialPrioModeNbg1 |
VDP2_BMPNA |
VDP2_PNCN0 |
VDP2_PNCN1 |
#include "sgl.h"
Uint16 mode;
Uint16 flag;
void slSpecialPrioBitScr( mode ,flag );
Uint16 mode - 特殊プライオリティビットをセットする画面(後述)
Uint16 flag - 特殊プライオリティビットをセットするか否か。
void - 何も返しません。
面ごとに指定する特殊プライオリティビットをセットします。
modeには、
scnNBG2、scnNBG3
のいずれかが入ります。
flagは
' ON 'または' OFF '
を入れます。
slSpecialPrioBitScr( scnNBG2, ON );
この関数は、該当する画面のパターンネームコントロールレジスタの特殊
プライオリティビットを操作します。
slPageNbg2 |
slPageNbg3 |
slSpecialPrioModeNbg2 |
slSpecialPrioModeNbg3 |
VDP2_BMPNA |
#include "sgl.h"
Uint16 flag;
void slSpecialPrioBitNbg0( flag );
void slSpecialPrioBitNbg1( flag );
void slSpecialPrioBitNbg2( flag );
void slSpecialPrioBitNbg3( flag );
void slSpecialPrioBitRbg0( flag );
void slSpecialPrioBitBMN0( flag );
void slSpecialPrioBitBMN1( flag );
void slSpecialPrioBitBMR0( flag );
Uint16 flag - 特殊プライオリティビットをセットするか否か。
void - 何も返しません。
面ごとに指定する特殊プライオリティビットをセットします。
セルモード、ビットマップモード用の両方のレジスタをセットします。
flagは
' ON'または' OFF'
を入れます。
slSpecialPrioBitRbg0( ON );
この関数は、該当する画面のパターンネームコントロールレジスタの特殊
プライオリティビットを操作します。
#include "sgl.h"
Uint16 type;
void slSpecialCCalcModeNbg0( type );
void slSpecialCCalcModeNbg1( type );
void slSpecialCCalcModeNbg2( type );
void slSpecialCCalcModeNbg3( type );
void slSpecialCCalcModeRbg0( type );
Uint16 type - 演算を有効にするためのモード(後述)。
void - 何も返しません。
特殊カラー演算を使用する場合の演算を有効にするためのモードを設定します。
typeには、
spCCAL_Scrn、spCCAL_Char、spCCAL_Dot、spCCAL_MSB
のいずれかを指定します。
/* カラー演算の設定。 */
slColorCalc( CC_RATE| CC_TOP| NBG1ON);
slColRateNbg1( CLRate20_12);
/* 特殊カラー演算使用宣言 */
slSpecialCCalcModeNbg1( spPRI_Dot);
/* プライオリティの設定
slPriorityNbg1( 5 );
slPriorityNbg3( 4 );
/* 特殊機能の設定 */
slSpecialFuncCodeA( sfCOL_01);
slSpecialFuncSelectB( 0 );
#include "sgl.h"
Uint16 mode;
Uint16 flag;
void slSpecialCCalcBitN01( mode, flag );
Uint16 mode - 特殊カラー演算ビットをセットする画面(後述)
Uint16 flag - 特殊カラー演算ビットをセットするか否か。
void - 何も返しません。
面ごとに指定する特殊カラー演算ビットをセットします。
セルモード、ビットマップモード用の両方のレジスタをセットします。
modeには、
scnNBG0、scnNBG1
のいずれかが入ります。
flagは
' ON'または' OFF'
を入れます。
void slSpecialCCalcBitN01( scnNBG1, ON );
これは、相当する画面のパターンネームコントロールレジスタの特殊カラー演算
ビットを立てます。
slPageNbg0 |
slPageNbg1 |
slSpecialCCalcBitNbg0 |
slSpecialCCalcBitNbg0 |
VDP2_BMPNA |
VDP2_PNCN0 |
VDP2_PNCN1 |
#include "sgl.h"
Uint16 mode;
Uint16 flag;
void slSpecialCCalcBitScr( mode, flag );
Uint16 mode - 特殊カラー演算ビットをセットする画面(後述)
Uint16 flag - 特殊カラー演算ビットをセットするか否か。
void - 何も返しません。
面ごとに指定する特殊カラー演算ビットをセットします。
modeには、
scnNBG2、scnNBG3
のいずれかが入ります。
flagは
' ON'または' OFF'
を入れます。
slSpecialCCalcBitScr( scnNBG2, ON );
これは、相当する画面のパターンネームコントロールレジスタの特殊カラー演算
ビットを立てます。
slPageNbg2 |
slPageNbg3 |
slSpecialCCalcBitNbg2 |
slSpecialCCalcBitNbg3 |
VDP2_BMPNA |
VDP2_PNCN0 |
VDP2_PNCN1 |
#include "sgl.h"
Uint16 flag;
void slSpecialCCalcBitNbg0( flag );
void slSpecialCCalcBitNbg1( flag );
void slSpecialCCalcBitNbg2( flag );
void slSpecialCCalcBitNbg3( flag );
void slSpecialCCalcBitRbg0( flag );
void slSpecialCCalcBitBMN0( flag );
void slSpecialCCalcBitBMN1( flag );
void slSpecialCCalcBitBMR0( flag );
Uint16 flag - 特殊カラー演算ビットをセットするか否か。
void - 何も返しません。
面ごとに指定する特殊カラー演算ビットをセットします。
セルモード、ビットマップモード用の両方のレジスタをセットします。
flagは
' ON'または' OFF'
を入れます。
slSpecialCCalcBitNbg3( ON );
これは、相当する画面のパターンネームコントロールレジスタの特殊カラー演算
ビットを立てます。
#include "sgl.h"
Uint16 type;
void slSpecialFuncCodeA( type );
void slSpecialFuncCodeB( type );
Uint16 type - 特殊機能を有効にするカラーコード(後述)。
void - 何も返しません。
特殊機能を有効にするカラーコード(下位4ビット)を指定します。
typeには、
sfCOL_01、sfCOL_23、sfCOL_45、sfCOL_67、sfCOL_89、sfCOL_ab、
sfCOL_cd、sfCOL_ef
を '|' でつないで指定します。
slSpecialCCalcModeNbg1( spPRI_Dot);
slPriorityNbg1( 5 );
slPriorityNbg1( 4 );
slSpecialFuncCodeA( sfCOL_cd);
カラーコードの下位4ビットの内、最後の1ビットは無視される為、(ハードウェア
の仕様です。)例えば、sfCOL_67を指定した場合には、下位4ビットが6と7の色
に対して特殊機能が働きます。
#include "sgl.h"
Uint16 mode;
void slSpecialFuncSelectB( mode );
Uint16 mode - 特殊機能コードBを使用するスクロール画面。
void - 何も返しません。
特殊機能コードBを使用するスクロール画面を指定します。
modeには、
NBG0ON、NBG1ON、NBG2ON、NBG3ON、RBG0ON
のいずれかを指定します(複数指定する場合'|'で繋いで使用して下さい)。
slSpecialPrioModeNbg1( spPRI_Dot);
slPriorityNbg1( 5 );
slPriorityNbg1( 4 );
slSpecialFuncCodeB( sfCOL_01);
slSpecialFuncSelectB( NBG1ON);
この関数で設定したBG面のみが特殊機能コードBを使用し、それ以外のBG面は、
全て、特殊機能コードAを使用します。slSpecialFuncSelectAという関数が
存在しないのはそのためです。逆にいえば、特殊機能コードAを使用しない面を
指定するとお考えください。