English
HARDWARE ManualVDP2ユーザーズマニュアル第6章 回転スクロール画面
戻る進む
VDP2ユーザーズマニュアル/第6章 回転スクロール画面

■6.3 回転パラメータ制御

 回転スクロール画面を表示する場合には、その制御を行う回転パラメータをテーブルとして必ずVRAMに格納してください。回転スクロール画面は、VRAMに格納された回転パラメータテーブルをラインごとに読み込み、その値にしたがって画面を表示します。回転パラメータ

表6.2 回転パラメータ
回転パラメータ定 義
スクリーン画面スタート座標Xstスクリーン画面左上隅(または左端*)のX座標
Ystスクリーン画面左上隅(または左端*)のY座標
Zstスクリーン画面のZ座標
スクリーン画面垂直方向座標増分△Xstスクリーン画面座標のラインごとのX座標増分
△Ystスクリーン画面座標のラインごとのY座標増分
スクリーン画面水平方向座標増分△Xスクリーン画面座標のドットごとのX座標増分
△Yスクリーン画面座標のドットごとのY座標増分
回転マトリクスパラメータA3×3の回転マトリクス
 ABC
 DEF
 GHI
のうちのA〜Fの6つのマトリクスパラメータ
B
C
D
E
F
視点座標Px視点のX座標
Py視点のY座標
Pz視点のZ座標
中心座標Cx中心点のX座標
Cy中心点のY座標
Cz中心点のZ座標
平行移動量Mxスクリーン画面と視点と中心点のX方向の平行移動量
Myスクリーン画面と視点と中心点のY方向の平行移動量
拡大縮小係数kx表示画面のX方向の拡大縮小係数
ky表示画面のY方向の拡大縮小係数
係数テーブルスタートアドレスKAst係数テーブルを使用する場合のテーブルのスタート
アドレス
係数テーブル垂直方向
アドレス増分
△KAst係数テーブルを使用する場合のラインごとのアドレス
増分
係数テーブル水平方向
アドレス増分
△KAx係数テーブルを使用する場合のドットごとのアドレス
増分
[注]*は、ラインごとに読み込んだ場合です。

 回転パラメータのうち、Xst、Yst、KAstだけは、通常、表示画面の最初のラインでのみ読み込まれます。DXst、DYst、DX、DY、DKAst、DKAxが1画面中で変わらない場合のXst、Yst、KAstの値は、以下の式で表されます。


(スクリーン画面X座標)
          = Xst + △Xst × (Vカウンタ値) + △X × (Hカウンタ値)

(スクリーン画面Y座標)
          = Yst + △Yst × (Vカウンタ値) + △Y × (Hカウンタ値)

(係数テーブルアドレス)
          = KAst + △KAst × (Vカウンタ値) + △KAx × (Hカウンタ値)

 また、回転パラメータリードコントロールレジスタを設定することによって、Xst、Yst、KAstを最初のライン以外でも読み込ませることができます。DXst、DYst、DX、DY、DKAst、DKAxが1画面中で変わらない場合のXst、Yst、KAstの2ライン目以降の値は、以下の式で表されます。


(スクリーン画面X座標)
          = Xst 
          + △Xst × {(Vカウンタ値)−(Xstを読み込んだときのVカウンタ値)}
          + △X × (Hカウンタ値)

(スクリーン画面Y座標)
         = Yst
         + △Yst × {(Vカウンタ値)−(Ystを読み込んだときのVカウンタ値)}
          + △Y × (Hカウンタ値)

(係数テーブルアドレス)
          = KAst
          + △KAst × {(Vカウンタ値)−(KAstを読み込んだときのVカウンタ値)}
          + △KAx × (Hカウンタ値)

 回転スクロール画面は、「回転パラメータA」、「回転パラメータB」と呼ばれる2組のパラメータテーブルを持っています。RBG1の画面表示は回転パラメータBによって行われます。RBG0は2組のパラメータテーブルのどちらを使用するか指定したり、表示画面中で切り替えたりすることができます。これによってRBG0は、1画面中に異なる2つの回転スクロール画面を同時に表示することもできます。
 また、回転パラメータテーブルは、常に2組の回転パラメータテーブルを格納しなければならないのではなく、RBG0およびRBG1が使用する回転パラメータテーブルだけを格納するだけで動作します。

 ●回転パラメータテーブルのデータ構成

 回転パラメータのそれぞれのビット構成を以下に示します。負の数は2の補数で指定します。空欄部のビットは無視されます。

図6.2 回転パラメータのデータ構成
●スクリーン画面スタート座標(Xst,Yst,Zst)
+0
 15 
 14 
 13 
 12 
 11 
 10 
符号整数部12ビット

+2
 15 
 14 
 13 
 12 
 11 
 10 
小数部10ビット


●スクリーン画面垂直方向座標増分(ΔXst,ΔYst)
+0
 15 
 14 
 13 
 12 
 11 
 10 
符号整数部

+2
 15 
 14 
 13 
 12 
 11 
 10 
小数部10ビット

●スクリーン画面水平方向座標増分(ΔX,ΔY)
+0
 15 
 14 
 13 
 12 
 11 
 10 
符号整数部

+2
 15 
 14 
 13 
 12 
 11 
 10 
小数部10ビット

●回転マトリクスパラメータ(A,B,C,D,E,F)
+0
 15 
 14 
 13 
 12 
 11 
 10 
符号整数部

+2
 15 
 14 
 13 
 12 
 11 
 10 
小数部10ビット

●視点座標(Px,Py,Pz)
+0
 15 
 14 
 13 
 12 
 11 
 10 
符号整数部 13ビット

●中心座標(Cx,Cy,Cz)
+0
 15 
 14 
 13 
 12 
 11 
 10 
符号整数部 13ビット

●平行移動量(Mx,My)
+0
 15 
 14 
 13 
 12 
 11 
 10 
符号整数部 13ビット

+2
 15 
 14 
 13 
 12 
 11 
 10 
小数部10ビット

●拡大縮小係数(kx,ky)
+0
 15 
 14 
 13 
 12 
 11 
 10 
符号整数部 7ビット

+2
 15 
 14 
 13 
 12 
 11 
 10 
小数部16ビット

●係数テーブルスタートアドレス(kAst)
+0
 15 
 14 
 13 
 12 
 11 
 10 
整数部 16ビット

+2
 15 
 14 
 13 
 12 
 11 
 10 
小数部10ビット

●係数テーブル垂直方向アドレス増分(ΔKAst)
+0
 15 
 14 
 13 
 12 
 11 
 10 
符号整数部 9ビット

+2
 15 
 14 
 13 
 12 
 11 
 10 
小数部10ビット

●係数テーブル水平方向アドレス増分(ΔKAx)
+0
 15 
 14 
 13 
 12 
 11 
 10 
符号整数部 9ビット
+2
 15 
 14 
 13 
 12 
 11 
 10 
小数部10ビット

 ●回転パラメータテーブル

 回転パラメータテーブルは、1組が60Hの大きさのテーブルでVRAMに格納します。1組のテーブルの構成を、図6.3に示します。

図6.3 回転パラメータテーブル
+00H
+02H
スクリーン画面スタート座標 Xst (整数部)
                  (小数部)
+04H
+06H
スクリーン画面スタート座標 Yst (整数部)
                  (小数部)
+08H
+0AH
スクリーン画面スタート座標 Zst (整数部)
                  (小数部)
+0CH
+0EH
スクリーン画面垂直方向増分 ΔXst(整数部)
                  (小数部)
+10H
+12H
スクリーン画面垂直方向増分 ΔYst(整数部)
                  (小数部)
+14H
+16H
スクリーン画面水平方向増分 ΔX  (整数部)
                  (小数部)
+18H
+1AH
スクリーン画面水平方向増分 ΔY  (整数部)
                  (小数部)
+1CH
+1EH
回転マトリクスパラメータ A    (整数部)
                  (小数部)
+20H
+22H
回転マトリクスパラメータ B    (整数部)
                  (小数部)
+24H
+26H
回転マトリクスパラメータ C    (整数部)
                  (小数部)
+28H
+2AH
回転マトリクスパラメータ D    (整数部)
                  (小数部)
+2CH
+2EH
回転マトリクスパラメータ E    (整数部)
                  (小数部)
+30H
+22H
回転マトリクスパラメータ F    (整数部)
                  (小数部)
+34H視点座標 Px           (整数部)
+36H視点座標 Py           (整数部)
+38H視点座標 Pz           (整数部)
+3AHこのデータは無視されます
+3CH中心座標 Cx           (整数部)
+3EH中心座標 Cy           (整数部)
+40H中心座標 Cz           (整数部)
+42Hこのデータは無視されます
+44H
+46H
平行移動量 Mx          (整数部)
                  (小数部)
+48H
+4AH
平行移動量 My          (整数部)
                  (小数部)
+4CH
+4EH
拡大縮小係数 kx         (整数部)
                  (小数部)
+50H
+52H
拡大縮小係数 ky         (整数部)
                  (小数部)
+54H
+56H
係数テーブルスタートアドレス KAst   (整数部)
                      (小数部)
+58H
+5AH
係数テーブル垂直方向アドレス増分 ΔKAst(整数部)
                      (小数部)
+5CH
+5EH
係数テーブル水平方向アドレス増分 ΔKAx (整数部)
                      (小数部)

 回転パラメータAと回転パラメータBの2組のテーブルを格納する場合には、回転パラメータテーブルの先頭アドレスから回転パラメータAのテーブルを格納し、その後に20H分の無効データを挿入して回転パラメータBのテーブルを格納します。回転パラメータテーブルは、常に2組格納しなければならないのではなく、必要なテーブルを格納するだけでかまいません。回転パラメータA、回転パラメータBの2組のテーブルの格納方法を図6.4に示します。

図6.4 回転パラメータテーブルのVRAMへの格納方法
回転パラメータテーブルの先頭アドレス              
     │                          
     └──→ +00H┏━━━━━━━━━━━━━━━━┓
              ┃                ┃
              ┃                ┃
              ┃                ┃
              ┃ 回転パラメータAのテーブル  ┃
              ┃                ┃
              ┃                ┃
          +5EH┃                ┃
          +60H┣━━━━━━━━━━━━━━━━┫
              │この領域のデータは回転パラメータ│
          +7EH│として使用されません      │
          +80H┣━━━━━━━━━━━━━━━━┫
              ┃                ┃
              ┃                ┃
              ┃                ┃
              ┃ 回転パラメータBのテーブル  ┃
              ┃                ┃
              ┃                ┃
          +DEH┃                ┃
          +E0H┣━━━━━━━━━━━━━━━━┫
              ┃                ┃

戻る進む
HARDWARE Manual VDP2ユーザーズマニュアル第6章 回転スクロール画面
Copyright SEGA ENTERPRISES, LTD., 1997