English
PROGRAMMER'S GUIDEVDP2ライブラリ
戻る|   ■
VDP2ライブラリ

2.3 関数仕様




Title

関数仕様

Function

ライブラリの初期化

Function Name

SCL_Vdp2Init

No

1

 書 式
void SCL_Vdp2Init(void)
 入 力
なし
 出 力
なし
 関数値
なし
 機 能
ライブラリを初期化します。ライブラリを使用する前に最初に1回実行する必要があります。



Title

関数仕様

Function

画面モードのセット

Function Name

SCL_SetDisplayMode

No

2

 書 式
void SCL_SetDisplayMode(Uint8 interlace,Uint8 vertical,Uint8 horizontal)
 入 力
interlace :インタレースモードの設定
意 味
SCL_NON_INTER :ノンインターレース
SCL_SINGLE_INTER:単密インターレース
SCL_DOUBLE_INTER:倍密インターレース

vertical :垂直方向解像度ビット
意 味
SCL_224LINE :224ライン
SCL_240LINE :240ライン
SCL_256LINE :256ライン

horizontal:水平方向解像度ビット
意 味
SCL_NORMAL_A :320ピクセル:ノーマルグラフィックA
SCL_NORMAL_B :352ピクセル:ノーマルグラフィックB
SCL_HIRESO_A :640ピクセル:ハイレゾグラフィックA
SCL_HIRESO_B :704ピクセル:ハイレゾグラフィックB
SCL_NORMAL_AE :320ピクセル:専用ノーマルグラフィックA
SCL_NORMAL_BE :352ピクセル:専用ノーマルグラフィックB
SCL_HIRESO_AE :640ピクセル:専用ハイレゾグラフィックA
SCL_HIRESO_BE :704ピクセル:専用ハイレゾグラフィックB

 出 力
なし
 関数値
なし
 機 能
画面モードを設定します。
 備 考
水平解像度をAからBに変更する時には、SH2のクロックが76から78に切り替わります。(例:SCL_NORMAL_A→SCL_NORMAL_B)その時、VDP1、VDP2等の設定が、リセットされますので注意してください。



Title

関数仕様

Function

VRAMコンフィグレーションテーブルの初期化

Function Name

SCL_InitVramConfigTb

No

3

 書 式
void SCL_InitVramConfigTb(SclVramConfig *tp)
 入 力
tp:VRAMコンフィグレーションテーブル
 出 力
なし
 関数値
なし
 機 能
VRAMコンフィグレーションデータテーブルにデフォルト値を書き込みます。



Title

関数仕様

Function

スクロールコンフィグレーションデータ
テーブルの初期化

Function Name

SCL_InitConfigTb

No

4

 書 式
void SCL_InitConfigTb(SclConfig *scfg)
 入 力
scfg:スクロールコンイグレーションデータ
 出 力
なし
 関数値
なし
 機 能
スクロールコンフィグレーションデータテーブルを初期化します。



Title

関数仕様

Function

VDP2のVRAMの使用方法を設定

Function Name

SCL_SetVramConfig

No

5

 書 式
void SCL_SetVramConfig(SclVramConfig *tp)
 入 力
tp:VRAMコンフィグレーションテーブル
 出 力
なし
 関数値
なし
 機 能
VDP2のVRAMの使用方法を設定します。
  例 
VRAM Bを分割して、分割したそれぞれのバンクにRBG0のキャラクタとパターンネームデータを指定します。

sample()
{
          SclVramConfig     tp;

          SCL_InitVramConfigTb(&tp);
          tp.vramModeB = ON               /*     VRAM Bを分割して使う            */
          tp.vramB0 = SCL_RBG0_CHAR;     /*     RBG0のキャラクタデータを置く    */
          tp.vramB1 = SCL_RBG0_PN;        /*     RBG0のパターンネームデータを置く */
          SCL_SetVramConfig(&tp);
}




Title

関数仕様

Function

スクロールコンフィグレーションのセット

Function Name

SCL_SetConfig

No

6

 書 式
void SCL_SetConfig(Uint16 sclnum, SclConfig *scfg)
 入 力
sclnum
:スクロール面の番号
 SCL_NBG0,SCL_NBG1,SCL_NBG2,SCL_NBG3,SCL_RBG0,SCL_RBG1の6面から選択
scfg  
:スクロールコンフィグレーションデータのポインタ
 出 力
なし
 関数値
なし
 機 能
スクロールコンフィグレーションをセットします。
 備 考
回転面のデータをセットする場合は、事前にSCL_IntRotateTable()を実行しなければなりません。



Title

関数仕様

Function

VRAMサイクルパターンテーブルのセット

Function Name

SCL_SetCycleTable

No

7

 書 式
void SCL_SetCycleTable(Uint16 *tp)
 入 力
tp:サイクルパターンテーブル
 出 力
なし
 関数値
なし
 機 能
サイクルパターンテーブルをセットします。
 備 考
サイクルパターンテーブルを正しく設定しなければノーマルスクロール画面は表示されません。 VDP2ユーザーズマニュアル第3章 RAM「3.3 表示期間中のVRAMアクセス方法」を理解する必要があります。

 例・1
画 像
:NBG0 256色(1/2縮小表示あり)
VRAM A
:NBG0のキャラクタパターンデータを配置
VRAM B
:NBG0のパターンネームテーブルを配置
Uint16 cycle[] = {      /*     サイクルパターンテーブル        */
     0x4444,0xffff,     /*     VRAM A(A0)           */
     0xffff,0xffff,     /*     VRAM A1 未使用          */
     0x00ff,0xffff,     /*     VRAM B(B0)           */
     0xffff,0xffff,     /*     VRAM B1 未使用          */
     }
     sample()
     {
          SCL_SetCycleTable(&cycle);
     }

 例・2
画 像
:NBG0 1677万色ビットマップデータ
VRAM A
:NBG0のビットマップデータを配置
VRAM B
:NBG0のビットマップデータを配置
Uint16 cycle[] = {         /*     サイクルパターンテーブル        */
        0x4444,0x4444,     /*     VRAM A(A0)           */
        0xffff,0xffff,     /*     VRAM A1 未使用          */
        0x4444,0x4444,     /*     VRAM B(B0)           */
        0xffff,0xffff,     /*     VRAM B1 未使用          */
}

sample()
{
     SCL_SetCycleTable(&cycle);
}

 例・3
画 像
:RBG0 256色ビットマップデータ
 NBG0 16色ビットマップデータ(1/4 縮小有り)
 NBG1 16色ビットマップデータ(1/2 縮小有り)
 NBG2 16色キャラクタデータ・パターンネームデータ
 NBG3 16色キャラクタデータ・パターンネームデータ
VRAM A0
:RBG0のビットマップデータを配置
VRAM A1
:回転パラメータ係数テーブルを配置
 回転パラメータテーブルを配置
VRAM B0
:NBG0のビットマップデータを配置
 NBG1のビットマップデータを配置
VRAM B1
:NBG2のキャラクタデータ・パターンネームデータを配置
 NBG3のキャラクタデータ・パターンネームデータを配置☆
Uint16 cycle[] = {         /*     サイクルパターンテーブル       */
        0xffff,0xffff,     /*     VRAM A0            */
        0xffff,0xffff,     /*     VRAM A1            */
        0x4444,0xff55,     /*     VRAM B0            */
        0x23ff,0x67ff,     /*     VRAM B1            */
}

sample() { SclVramConfig tp; SCL_InitVramConfigTb(&tp); tp.vramModeA = ON /* VRAM Aを分割して使う      */ tp.vramA0 = SCL_RBG0_CHAR; /* RBG0のビットマップデータを配置  */ tp.vramA1 = SCL_RBG0_K; /* 回転パラメータ係数テーブルを配置 */ SCL_SetVramConfig(&tp); SCL_SetCycleTable(&cycle); }




Title

関数仕様

Function

スクロールオープン処理

Function Name

SCL_Open

No

8

 書 式
void SCL_Open(Uint32 sclnum)
 入 力
sclnum:
 スクロール面の番号または回転パラメータテーブルノーマルスクロール4面(SCL_NBG0,SCL_NBG1,SCL_NBG2,SCL_NBG3)か回転パラメータテーブルA,B(SCL_RBG_TB_A,SCL_RBG_TB_B)から選択
 出 力
なし
 関数値
なし
 機 能
選択したスクロール面に対し、以下の関数を使用可能状態にします。



Title

関数仕様

Function

スクロールクローズ処理

Function Name

SCL_Close

No

9

 書 式
void SCL_Close(void)
 入 力
なし
 出 力
なし
 関数値
なし
 機 能
SclOpen()で選択された面への関数使用可能状態を解除します。



Title

関数仕様

Function

ライン&縦セルスクロールパラメータ
テーブルの初期化

Function Name

SCL_InitLineParamTb

No

10

 書 式
void SCL_InitLineParamTb(SclLineParam *lp)
 入 力
lp:ライン&縦スクロールパラメータデータ
 出 力
なし
 関数値
なし
 機 能
ライン&セルスクロールパラメータテーブルを初期化します。



Title

関数仕様

Function

ライン&縦セルスクロールパラメータの
セット

Function Name

SCL_SetLineParam

No

11

 書 式
void SCL_SetLineParam(SclLineParam *lp)
 入 力
lp:ラインパラメータテーブル
 出 力
なし
 関数値
なし
 機 能
なし
 備 考
SclOpen()を実行してからSclClose()を実行するまでの間に実行します。NBG0,NBG1のみ設定できます。



Title

関数仕様

Function

スクロール移動(移動量:絶対)

Function Name

SCL_MoveTo

No

12

 書 式
void SCL_MoveTo(Fixed32 x, Fixed32 y, Fixed32 z)
 入 力
スクロール面を貼る座標を指定する
x:X座標
y:Y座標
z:Z座標
 出 力
なし
 関数値
なし
 機 能
スクロール面を絶対移動します。
 備 考
SclOpen()を実行してからSclClose()を実行するまでの間に実行します。 Z座標を指定できるのは、回転パラメータテーブルに対してのみです。



Title

関数仕様

Function

スクロール移動(移動量:相対)

Function Name

SCL_Move

No

13

 書 式
void SCL_Move(Fixed32 x, Fixed32 y, Fixed32 z)
 入 力
x:X方向の移動距離を指定
y:Y方向の移動距離を指定
z:Z方向の移動距離を指定
 出 力
なし
 関数値
なし
 機 能
スクロール面を相対移動します。
 備 考
SclOpen()を実行してからSclClose()を実行するまでの間に実行します。Z座標を指定できるのは、回転パラメータテーブルに対してのみです。



Title

関数仕様

Function

スクロール拡大/縮小

Function Name

SCL_Scale

No

14

 書 式
void SCL_Scale(Fixed32 sx, Fixed32 sy)
 入 力
sx
:X方向のサイズ指定
sy
:Y方向のサイズ指定
NBG0,NBG1
:1/4〜256
RBG0,RBG1
:任意
 出 力
なし
 関数値
なし
 機 能
スクロール面の拡大/縮小
 備 考
SclOpen()を実行してからSclClose()を実行するまでの間に実行します。NBG2,NBG3では使用できません。



Title

関数仕様

Function

回転パラメータテーブルの初期化

Function Name

SCL_InitRotateTable

No

15

 書 式
Uint32 SCL_InitRotateTable(Uint32 address, Uint16 num,Uint32 rotateA, Uint32 rotateB)
 入 力

address:回転パラメータテーブルを置くアドレスを指定します。

num :テーブル数
意 味
1
回転パラメータAのみ使用
2
回転パラメータA、Bを使う

rotateA:回転パラメータAを使って何を表示するかを指定。
意 味
SCL_SPR 
スプライトのフレームバッファのみ表示
SCL_SPR 
スプライトのフレームバッファのみ表示
SCL_RBG0
RBG0とスプライトのフレームバッファを表示
SCL_NON 
表示しない

rotateB:回転パラメータBを使って何を表示するかを指定。
意 味
SCL_RBG0
RBG0を表示
SCL_RBG1
RBG1を表示
SCL_NON 
表示しない。

 出 力
なし
 関数値
0 :正常
1 :割り当て失敗
2 :設定に矛盾がある
 機 能
回転パラメータテーブルの初期化と回転パラメータテーブルをVRAM上のどこに置くかを設定します。
 備 考
回転パラメータA,Bを両方とも使用して表示を行う場合は、ウインドウによる表示指定を行わなければ、画面回数とXY軸回転の合成回転およびY軸回転は正しく表示できません。



Title

関数仕様

Function

回転の視点をセット

Function Name

SCL_SetRotateViewPoint

No

16

 書 式
void SCL_SetRotateViewPoint(Uint16 x, Uint16 y,Uint16 z)
 入 力
x:X座標
y:Y座標
z:Z座標
 出 力
なし
 関数値
なし
 機 能
回転の視点を設定します。
 備 考
SclOpen()を実行してからSclClose()を実行するまでの間に実行します。SCL_NBG0〜3では使用できません。



Title

関数仕様

Function

回転の中心座標をセット

Function Name

SCL_SetRotateCenter

No

17

 書 式
void SCL_SetRotateCenter(Uint16 x, Uint16 y,Uint16 z)
 入 力
x:X座標
y:Y座標
z:Z座標
 出 力
なし
 関数値
なし
 機 能
回転面の中心座標を設定
 備 考
SclOpen()を実行してからSclClose()を実行するまでの間に実行します。
SCL_NBG0〜3では使用できません。



Title

関数仕様

Function

画面回転の中心座標をセット

Function Name

SCL_SetRotateCenterDisp

No

18

 書 式
void SCL_SetRotateCenterDisp(Uint16 x, Uint16 y)
 入 力
x:X座標
y:Y座標
 出 力
なし
 関数値
なし
 機 能
画面回転の 中心点を設定
 備 考
SclOpen()を実行してからSclClose()を実行するまでの間に実行する。
SCL_NBG0〜3では使用不可



Title

関数仕様

Function

スクロール回転(角度:絶対)

Function Name

SCL_RotateTo

No

19

 書 式
void SCL_RotateTo(Fixed32 angelXy,Fixed32 angleZ,Fixed32 angleD,Uint16 mode)
 入 力
angelXy
:X軸またはY軸の角度を設定
angleZ 
:Z軸の角度を設定
angleD 
:画面回転の角度を設定
mode   
:回転モード。第一引数が、X、Yのどちらを軸に対して有効にするかを設定します。
SCL_X_AXIS :スクロールX軸回転
SCL_Y_AXIS :スクロールY軸回転(RBG1面では指定できません。)
 出 力
なし
 関数値
なし
 機 能
スクロール面の回転
 備 考
SclOpen()を実行してからSclClose()を実行するまでの間に実行します。SCL_NBG0〜3では使用できません。
XY軸回転を行うには、SCL_SetVramConfig関数を使ってVDP2のVRAMのどこかに(VRAM A0,VRAM A1,VRAM B0,VRAM B1)回転用の係数テーブルを割り当てなくてはなりません。



Title

関数仕様

Function

スクロール回転(角度:相対)

Function Name

SCL_Rotate

No

20

 書 式
void SCL_Rotate(Fixed32 angelXy, Fixed32 angleZ, Fixed32 angleD)
 入 力
angelXy
:X軸またはY軸の角度増加分を設定
angleZ 
:Z軸の角度増加分を設定
angleD 
:画面回転の角度増加分を設定
 出 力
なし
 関数値
なし
 機 能
回転スクロール面の回転
 備 考
SclOpen()を実行してからSclClose()を実行するまでの間に実行します。SCL_NBG0〜3では使用できません。



Title

関数仕様

Function

回転パラメータ係数テーブルに拡大縮小
係数データをセット

Function Name

SCL_SetCoefficientData

No

21

 書 式
voidSCL_SetCoefficientData(Uint32 surface,Uint16 *datap,Uint16 x,Uint16 y)
 入 力
surface
:どちらの回転パラメータテーブルに対してデータセットを行うかを指定。
 (SCL_RBG_TB_A,SCL_RBG_TB_B)
datap  
:データテーブルのポインタ
x      
:X方向のデータサイズ
y      
:Y方向のデータサイズ
 出 力
なし
 関数値
なし
 機 能
回転パラメータ係数テーブルに拡大縮小係数データをセットする。



Title

関数仕様

Function

モザイク処理の設定

Function Name

SCL_SetMosaic

No

22

 書 式
void SCL_SetMosaic(Uint32 surface, Uint8 x,Uint8 y)
 入 力
surface
:画面種類 SCL_NBG0|SCL_NBG1|SCL_NBG2|SCL_NBG3|SCL_RBG0|SCL_RBG1
x      
:水平方向のモザイクサイズ(0〜15, 0でモザイクのoff)
y      
:垂直方向のモザイクサイズ(0〜15)回転面(RBG0,RBG1)には設定できません。
 出 力
なし
 関数値
なし
 機 能
各画面ごとにモザイク処理を設定します。
 備 考
モザイク処理を使用すると縦セルスクロールが使用できなくなります。



Title

関数仕様

Function

ラインカラー画面データのセット

Function Name

SCL_SetLncl

No

23

 書 式
void SCL_SetLncl(Uint32 address,Unit16 tbsize, Uint16 *palNumTb)
 入 力
address 
:VRAM上のどこにラインカラーテーブルを置くかを指定します。
tbsize  
:テーブルの大きさを指定。
palNumTb
:各ラインごとのデータをパレットナンバーで指定します。
 16色    0〜15 
 256色   0〜255 
 2048色  0〜2047 
 出 力
なし
 関数値
なし
 機 能
ラインカラー画面のデータを設定します。
 備 考
SCL_AllocColRam()とSCL_SetColRam()を使用して事前にパレットデータをカラーRAMに設定してから実行してください。



Title

関数仕様

Function

バック画面データのセット

Function Name

SCL_SetBack

No

24

 書 式
void SCL_SetBack(Uint32 address, Uint16 dataSize, Uint16 *dataTb)
 入 力
address 
:VRAM上のどこにラインカラーテーブルを置くかを指定します。
dataSize
:データテーブル数を指定します。
dataTb  
:各ラインごとのデータを5bitRGBで指定します。
 出 力
なし
 関数値
なし
 機 能
バック画面のデータとアドレスを設定します。
 −例−
バック画面のアドレスをVRAMの先頭に設定し、色を黒にします。
void sample(void)
{
     Uint16     DataTB;

DataTB = 0x0000; /* 黒 */ SCL_SetBack(SCL_VDP2_VRAM,1,&DataTB); }




Title

関数仕様

Function

ノーマル矩形ウインドウの設定

Function Name

SCL_SetWindow

No

25

 書 式
void SCL_SetWindow(Uint8 win, Uint32 logic, Uint32 enable, Uint32 area, Uint16 startX,Uint16 startY,Uint16 endX,Uint16 endY)
 入 力
win   
:ウインドウの種類を指定します。
 SCL_W0 = W0ウインドウを指定
 SCL_W1 = W1ウインドウを指定
logic 
:ここで指定された画面上では、複数のウインドウ間の重ね合わせがANDで処理されます。
 デフォルトはOR処理です。
enable
:ウインドウを表示する画面を指定します。
area  
:ウィンドウの外側を有効にするウインドウを指定します。
 デフォルトは内側が有効です。
logic,enable,areaの各変数はOR演算により同時に指定できます。
  定数の指定  
logic
enable
 area 
意    味
SCL_NBG0
透明処理ウインドウのNBG0
SCL_NBG1
透明処理ウインドウのNBG1
SCL_NBG2
透明処理ウインドウのNBG2
SCL_NBG3
透明処理ウインドウのNBG3
SCL_RBG0
透明処理ウインドウのRBG0
SCL_RBG1
透明処理ウインドウのRBG1
SCL_EXBG
透明処理ウインドウのEXBG
SCL_SPR
透明処理ウインドウのスプライト
SCL_RP
回転パラメータウインドウ
SCL_CC
カラー演算ウインドウ
SCL_NON
未指定
○:指定可能
△:スプライトウィンドウでは指定不可能

startX
:矩形データの開始点X座標
startY
:矩形データの開始点Y座標
endX  
:矩形データの終了点X座標
endY  
:矩形データの終了点Y座標
 出 力
なし
 関数値
なし
 機 能
ノーマル矩形ウインドウを設定します。



Title

関数仕様

Function

ノーマルラインウインドウの設定

Function Name

SCL_SetLineWindow

No

26

 書 式
void SCL_SetLineWindow(Uint8 win,Uint32 logic,Uint32 enable,Uint32 area,
 Uint32 address, Uint32 sy, Uint32 tbSize,SclLinWindowTb *tb)
 入 力
win    
:ウインドウの種類を指定します。
 SCL_W0 = W0ウインドウを指定
 SCL_W1 = W1ウインドウを指定
logic  
:ここで指定された画面上では、複数のウインドウ間の重ね合わせがANDで処理されます。
 デフォルトはOR処理です。
enable 
:ウインドウを表示する画面を指定します。
area   
:ウィンドウの外側を有効にするウインドウを指定します。
 デフォルトは内側が有効です。
address
:ラインウインドウテーブルをVRAM上のどこに置くかを指定します。
sy     
:Y座標の先頭
tbSize 
:ラインウインドウテーブルの大きさ
tb     
:ラインウインドウテーブルのポインタ
logic,enable,areaの各変数はOR演算により同時に複数指定できます。
 出 力
なし
 関数値
なし
 機 能
ノーマルラインウインドウを設定します。



Title

関数仕様

Function

スプライトウインドウの設定

Function Name

SCL_SetSpriteWindow

No

27

 書 式
void SCL_SetSpriteWindow(Uint32 logic,Uint32 enable, Uint32 area)
 入 力
logic 
:ここで指定された画面上では、複数のウインドウ間の重ね合わせがANDで処理されます。
 デフォルトはOR処理です。
enable
:ウインドウを表示する画面を指定します。
area  
:ウィンドウの外側を有効にするウインドウを指定します。
 デフォルトは内側が有効です。
logic,enable,areaの各変数はOR演算により同時に複数指定できます。
 出 力
なし
 関数値
なし
 機 能
スプライトラインウインドウを設定します。
 備 考
VDP1側で予めウインドウ用スプライトを用意しなければなりません。



Title

関数仕様

Function

スプライトのモードのセット

Function Name

SCL_SetSpriteMode

No

28

 書 式
void SCL_SetSpriteMode(Uint8 type, Uint8 colMode, Uint8 winMode)
 入 力
type   
:スプライトのタイプ SCL_SPR_TYPE0,SCL_SPR_TYPE1...SCL_SPR_TYPEF
colMode
:カラーモード SCL_PALETTE,SCL_MIX (SCL_MIX:パレットとRGBの混在)
winMode
:ウインドウモード SCL_MSB_SHADOW,SCL_SP_WINDOW
 出 力
なし
 関数値
なし
 機 能
スプライトタイプをセットします。



Title

関数仕様

Function

カラーRAMのモードのセット

Function Name

SCL_SetColRamMode

No

29

 書 式
void SCL_SetColRamMode(Uint32 mode)
 入 力
mode:カラーRAMのモード SCL_CRM15_1024,SCL_CRM15_2048,SCL_CRM24_1024
 出 力
なし
 関数値
なし
 機 能
カラーRAMモードをセットします。



Title

関数仕様

Function

カラーRAMのモードの取得

Function Name

SCL_GetColRamMode

No

30

 書 式
Uint32 SCL_GetColRamMode(void)
 入 力
なし
 出 力
なし
 関数値
カラーRAMモード SCL_CRM15_1024,SCL_CRM15_2048,SCL_CRM24_1024
 機 能
カラーRAMモードを取得します。



Title

関数仕様

Function

カラーRAMに色データをセット

Function Name

SCL_SetColRam

No

31

 書 式
void SCL_SetColRam(Uint32 surface, Uint32 index,Uint32 num, void *color)
 入 力
surface
:画面種類 SCL_SPR,SCL_NBG0,SCL_NBG1,SCL_NBG2,SCL_NBG3,SCL_RBG0,SCL_RBG1,SCL_LNCL
index  
:書き込み開始パレット番号
num    
:色データテーブルのサイズ
color  
:色データテーブル(Unit32 or Unit 16)
 出 力
なし
 関数値
なし
 機 能
カラーRAMに色データをセットします。
 備 考
カラーRAMを共有している場合にはどれか1つの画面を設定するだけでかまいません。



Title

関数仕様

Function

カラーRAMに領域を確保

Function Name

SCL_AllocColRam

No

32

 書 式
Uint32 = SCL_AllocColRam(Uint32 surface, Uint32 numOfColors, Uint8 transparent)
 入 力
surface    
:画面種類
 SCL_SPR|SCL_NBG0|SCL_NBG1|SCL_NBG2|SCL_NBG3|SCL_RBG0|SCL_RBG1|SCL_LNCL
 OR演算により複数の画面で同一パレットを共用できます。
numOfColors
:色数
transparent
:透明表示を無効にするかどうかを設定します。
 ON  = パレット0番が透明ではない
 OFF = パレット0番が透明
 出 力
なし
 関数値
確保されたアドレスの先頭
 機 能
カラーRAMに領域を確保します。



Title

関数仕様

Function

カラーRAMに確保した領域を解放

Function Name

SCL_FreeColRam

No

33

 書 式
void SCL_FreeColRam(Uint32 surface)
 入 力
surface:画面種類
SCL_SPR|SCL_NBG0|SCL_NBG1|SCL_NBG2|SCL_NBG3|SCL_RBG0|SCL_RBG1
OR演算により複数の画面のを同時に解放できます。
 出 力
なし
 関数値
なし
 機 能
カラーRAMに領域を確保します。



Title

関数仕様

Function

自動カラーチェンジをセット

Function Name

SCL_SetAutoColChg

No

34

 書 式
void SCL_SetAutoColChg(Uint32 surface, Uint32 interval, Uint32 index, Uint32 numOfCol, Uint32 numOfTbl, Uint32 changeTbl[])
 入 力
surface 
:画面種類
 SCL_SPR,SCL_NBG0,SCL_NBG1,SCL_NBG2,SCL_NBG3,SCL_RBG0,SCL_RBG1
interval
:インターバル(1/60秒単位で指定)
index   
:変化させるパレット番号の先頭
numOfCol
:カラーの数
numOfTbl
:テーブル数
changeTbl[]
:変換テーブル
 出 力
なし
 関数値
なし
 機 能
パレットの一部を各パレットごとに指定した色に向かって徐々に変化させます。 パレット数は、256色が最大です。2048色、1024色には、対応していません。



Title

関数仕様

Function

カラーRAMのアドレスオフセットを取得

Function Name

SCL_GetColRamOffset

No

35

 書 式
Uint32 = SCL_GetColRamOffset(Uint32 surface)
 入 力
surface:画面種類
SCL_SPR,SCL_NBG0,SCL_NBG1,SCL_NBG2,SCL_NBG3,SCL_RBG0,SCL_RBG1
 出 力
なし
 関数値
VDP2のVRAMからのオフセットアドレス
 機 能
カラーRAMのアドレスオフセットを取得します。



Title

関数仕様

Function

プライオリティをセット

Function Name

SCL_SetPriority

No

36

 書 式
void SCL_SetPriorty(Uint32 surface, Uint8 priority)
 入 力
surfaces:画面種類
SCL_SP0|SCL_SP1...SCL_SP7|SCL_NBG0|SCL_NBG1|
SCL_NBG2|SCL_NBG3|SCL_RBG0|SCL_RBG1|SCL_EXBG
OR演算を使用することで複数同時指定可能
priority:プライオリティナンバー
 出 力
なし
 関数値
なし
 機 能
プライオリティをセットします。



Title

関数仕様

Function

プライオリティを取得

Function Name

SCL_GetPriority

No

37

 書 式
Uint8 Priority = SCL_GetPriority(Uint32 surface)
 入 力
surface :画面種類
SCL_SPR,SCL_NBG0,SCL_NBG1,SCL_NBG2,SCL_NBG3,
SCL_RBG0,SCL_RBG1,SCL_EXBG
priority:プライオリティナンバー
 出 力
なし
 関数値
なし
 機 能
プライオリティを取得します。



Title

関数仕様

Function

カラー演算条件をセット(SPRITE)

Function Name

SCL_SetColMixMode

No

38

 書 式
void SCL_SetColMixMode(Uint32 colMixPriority,Uint8 mode)
 入 力
colMixPriority
:スプライトのプライオリティナンバー(0〜7)
mode
:モード
 SCL_IF_FRONT,SCL_IF_EQUAL,SCL_IF_BEHIND
 出 力
なし
 関数値
なし
 機 能
カラー演算条件を設定します。



Title

関数仕様

Function

カラー演算の割合をセット

Function Name

SCL_SetColMixRate

No

39

 書 式
void SCL_SetColMixRate(Uint32 surfaces, Uint8 rate)
 入 力
surfaces:画面種類
SCL_SP0|SCL_SP1...SCL_SP7|SCL_NBG0|SCL_NBG1|
SCL_NBG2|SCL_NBG3|SCL_RBG0|SCL_RBG1|SCL_EXBG
OR演算を使用することで複数同時指定可能
rate :割合( 0〜31 )
 出 力
なし
 関数値
なし
 機 能
カラー演算の割合を設定します。



Title

関数仕様

Function

自動カラー演算をセット

Function Name

SCL_SetAutoColMix

No

40

 書 式
void SCL_SetAutoColMix(Uint32 surfaces, Uint32 interval, Uint32 time, Uint8 startRate, Uint8 endRate)
 入 力
surfaces 
:画面種類
 SCL_SP0|SCL_SP1...SCL_SP7|SCL_NBG0|SCL_NBG1|
 SCL_NBG2|SCL_NBG3|SCL_RBG0|SCL_RBG1|SCL_EXBG
 OR演算を使用することで複数同時指定可能
interval 
:インターバル(1/60秒単位で指定)
time     
:色変化終了までかかる時間を指定します。(1/60秒単位で指定)
startRate
:開始時の割合
endRate  
:終了時の割合
 出 力
なし
 関数値
なし
 機 能
カラー演算の割合を指定した時間または間隔で変化させます。



Title

関数仕様

Function

カラーオフセットをセット

Function Name

SCL_SetColOffset

No

41

 書 式
void SCL_SetColOffset(Uint32 offsetreg, Uint32 surfaces,             Sint16 red, Sint16 green, Sint16 blue)
 入 力
offsetreg
:どのカラーオフセットレジスタを使用するか指定します。
 SCL_OFFSET_A,SCL_OFFSET_B
surfaces 
:画面種類
 SCL_SP0|SCL_SP1...SCL_SP7|SCL_NBG0|SCL_NBG1|
 SCL_NBG2|SCL_NBG3|SCL_RBG0|SCL_RBG1|SCL_EXBG
 OR演算を使用することで複数同時指定可能
red      
:色指定(赤)
green    
:色指定(緑)
blue     
:色指定(青)
 出 力
なし
 関数値
なし
 機 能
カラーオフセットを設定します。



Title

関数仕様

Function

カラーオフセットの値を増減

Function Name

SCL_IncColOffset

No

42

 書 式
void SCL_IncColOffset(Uint16 offsetReg, Sint16 red, Sint16 green, Sint16 blue)
 入 力
offsetReg
:どのカラーオフセットレジスタを使用するか指定します。
 SCL_OFFSET_A,SCL_OFFSET_B
red      
:色指定(赤)  -255 〜 255
green    
:色指定(緑)  -255 〜 255
blue     
:色指定(青)  -255 〜 255
 出 力
なし
 関数値
なし
 機 能
カラーオフセットの値を増減します。



Title

関数仕様

Function

自動カラーオフセットをセット

Function Name

SCL_SetAutoColOffset

No

43

 書 式
voidSCL_SetAutoColOffset(Uint32 offsetReg, Uint32 interval, Uint32time, SclRgb *start, SclRgb *end)
 入 力
offsetReg
:どのカラーオフセットレジスタを使用するか指定します。
 SCL_OFFSET_A,SCL_OFFSET_B
interval 
:インターバル(1/60秒単位で指定)
time     
:色変化終了までかかる時間を指定します。(1/60秒単位で指定)
start    
:開始色指定(赤)-255 〜 255
         
 開始色指定(緑)-255 〜 255
         
 開始色指定(青)-255 〜 255
end      
:終了色指定(赤)-255 〜 255
         
 終了色指定(緑)-255 〜 255
         
 終了色指定(青)-255 〜 255
 出 力
なし
 関数値
なし
 機 能
カラーオフセットデータを指定した時間または間隔で徐々に変化させます。



Title

関数仕様

Function

ボカシ演算を有効にする

Function Name

SCL_EnableBlur

No

44

 書 式
void SCL_EnableBlur(Uint32 surface)
 入 力
surface:画面種類  SCL_SPR,SCL_NBG0,SCL_NBG1,SCL_NBG2,SCL_NBG3,  SCL_RBG0,SCL_RBG1,SCL_EXBG
 出 力
なし
 関数値
なし
 機 能
ボカシ演算を有効にします。



Title

関数仕様

Function

ボカシ演算を無効にする

Function Name

SCL_DisableBlur

No

45

 書 式
voidSCL_DisableBlur(void)
 入 力
なし
 出 力
なし
 関数値
なし
 機 能
ボカシ演算を無効にする



Title

関数仕様

Function

ラインカラー画面を挿入する

Function Name

SCL_EnableLineCol

No

46

 書 式
void SCL_EnableLineCol(Uint32 surface);
 入 力
surface
:画面種類
 SCL_SPR,SCL_NBG0,SCL_NBG1,SCL_NBG2,SCL_NBG3,
 SCL_RBG0,SCL_RBG1,SCL_EXBG
 出 力
なし
 関数値
なし
 機 能
ラインカラー画面を挿入します。



Title

関数仕様

Function

ラインカラー画面を解除する

Function Name

SCL_DisableLineCol

No

47

 書 式
voidSCL_DisableLineCol(Uint32 surface)
 入 力
surface
:画面種類
 SCL_SPR,SCL_NBG0,SCL_NBG1,SCL_NBG2,SCL_NBG3,
 SCL_RBG0,SCL_RBG1,SCL_EXBG
 出 力
なし
 関数値
なし
 機 能
ラインカラー画面を解除する



Title

関数仕様

Function

シャドウビットの設定

Function Name

SCL_SetShadowBit

No

48

 書 式
void SCL_SetShadowBit(Uint32 enable);
 入 力
enable
:シャドウを表示する画面を指定します。
 OR演算により同時に複数指定できます。
 SCL_NBG0|SCL_NBG1|SCL_NBG2|SCL_NBG3|
 SCL_RBG0|SCL_RBG1|SCL_BACK|SCL_EXBG|SCL_NON
 出 力
なし
 関数値
なし
 機 能
シャドウビットを設定します。
 備 考
VDP1側であらかじめシャドウ用スプライトを用意しなければなりません。



Title

関数仕様

Function

フレームチェンジインターバル数の
セット

Function Name

SCL_SetFrameInterval

No

49

 書 式
voidSCL_SetFrameInterval(Uint16 count)
 入 力
count:Vブランクインターバルカウント数
 出 力
なし
 関数値
なし
 機 能
フレームチェンジインターバル数をセットします。
インターバル数の値により以下の意味を持ちます。
0 = フレーム切り替えをオートチェンジモードにしてインターバル数を1とします。
 SCL_DisplayFrame()による同期はできません。
1 = フレーム切り替えをオートチェンジモードにしてインターバル数を1とします。
 SCL_DisplayFrame()による同期ができます。
0xffff = 不定インターバルマニュアルチェンジモードです。VDP1の描画終了を確認してフレームチェンジを行います。
0xfffe = Vブランクイレースによる不定インターバルマニュアルチェンジモードです。VDP1の描画終了を確認せずにフレームチェンジを行います。
その他 = 指定インターバル数による一定インターバルマニュアルチェンジモードです。
b15 = 0:イレースライトを行う。
  = 1:イレースライトを行わない。



Title

関数仕様

Function

フレームチェンジ要求と完了待ち

Function Name

SCL_DisplayFrame

No

50

 書 式
voidSCL_DisplayFrame(void)
 入 力
なし
 出 力
なし
 関数値
なし
 機 能
フレーム表示要求フラグをオンにして、V-BLANK割り込みルーチンによるスプライトおよびスクロールのフレーム表示完了を待ちます。



Title

関数仕様

Function

V-BLANK開始VDP割り込み処理

Function Name

SCL_VblankStart

No

51

 書 式
void SCL_VblankStart(void)
 入 力
なし
 出 力
なし
 関数値
なし
 機 能
VDP1、2表示用V-BLANKの開始処理(スクロールのパラメータセットなど)をします。



Title

関数仕様

Function

V-BLANK終了VDP割り込み処理

Function Name

SCL_VblankEnd

No

52

 書 式
void SCL_VblankEnd(void)
 入 力
なし
 出 力
なし
 関数値
なし
 機 能
VDP1、2表示用V-BLANKの終了処理(スプライトのフレームチェンジなど)をします。



Title

関数仕様

Function

自動VEの強制終了

Function Name

SCL_AbortAutoVe

No

53

 書 式
void SCL_AbortAutoVe(void)
 入 力
なし
 出 力
なし
 関数値
なし
 機 能
自動VEの強制終了

戻る|   ■
PROGRAMMER'S GUIDEVDP2ライブラリ
Copyright SEGA ENTERPRISES, LTD., 1997