Shinobi Library - ペリフェラル・LCDデバイス関数

pdVmsLcdWrite

LCDデバイスの表示

書式

Sint32 pdVmsLcdWrite( port, data, flag )
Uint32 port
void *data
Uint32 flag

引数

port   ポート番号
data   ピクセルデータのアドレス
flag   フラグ

戻り値

PDD_LCDERR_OK   表示に成功
PDD_LCDERR_NO_LCD   LCDデバイスが接続されていない
PDD_LCDERR_BUSY   LCDデバイスはアクセス中

解説

LCDデバイスにビットマップのグラフィックを表示します。

ポート番号portには次の値を指定します。

 定義   意味 
 PDD_PORT_A1   コントロールポートAの拡張ソケット1 
 PDD_PORT_A2   コントロールポートAの拡張ソケット2 
 PDD_PORT_A3   コントロールポートAの拡張ソケット3 
 PDD_PORT_A4   コントロールポートAの拡張ソケット4 
 PDD_PORT_A5   コントロールポートAの拡張ソケット5 
 PDD_PORT_B1   コントロールポートBの拡張ソケット1 
 PDD_PORT_B2   コントロールポートBの拡張ソケット2 
 PDD_PORT_B3   コントロールポートBの拡張ソケット3 
 PDD_PORT_B4   コントロールポートBの拡張ソケット4 
 PDD_PORT_B5   コントロールポートBの拡張ソケット5 
 PDD_PORT_C1   コントロールポートCの拡張ソケット1 
 PDD_PORT_C2   コントロールポートCの拡張ソケット2 
 PDD_PORT_C3   コントロールポートCの拡張ソケット3 
 PDD_PORT_C4   コントロールポートCの拡張ソケット4 
 PDD_PORT_C5   コントロールポートCの拡張ソケット5 
 PDD_PORT_D1   コントロールポートDの拡張ソケット1 
 PDD_PORT_D2   コントロールポートDの拡張ソケット2 
 PDD_PORT_D3   コントロールポートDの拡張ソケット3 
 PDD_PORT_D4   コントロールポートDの拡張ソケット4 
 PDD_PORT_D5   コントロールポートDの拡張ソケット5 

LCDデバイスのスペックは以下の通りです。

引数 dataに指定するピクセルデータ形式は、 この関数では、取り扱いやすいように1ピクセルを8ビット(1バイト)で表現します。

下位4ビットで階調を表現しますが、このライブラリではビット3のみを参照します。

ピクセルデータは液晶画面全体では48x32=1536バイトのデータとなります。

ピクセルデータは左から右、上から下に連続して格納します。 以下は、ピクセルデータのメモリイメージの例です。

 0x8C100000   ( 0, 0 )   ( 1, 0 )   ( 2, 0 )   ...   ( 47, 0 ) 
 0x8C100030   ( 0, 1 )   ( 1, 1 )   ( 2, 1 )   ...   ( 47, 1 ) 
    :   :   :      : 
 0x8C1005D0   ( 0, 31 )   ( 1, 31 )   ( 2, 31 )   ...   ( 47, 31 ) 

ソフトウェアでの記述には以下のような方法を用いることができます。


const Uint8 cgdata[48 * 32] =
{
0x00, 0x00, 0x0f, 0x0f, ...
...
};

引数 flagには次の値を指定します。

 定義   意味 
 PDD_LCD_FLAG_NOFLIP   データをそのまま表示 
 PDD_LCD_FLAG_HFLIP   左右反転して表示 
 PDD_LCD_FLAG_VFLIP   上下反転して表示 
 PDD_LCD_FLAG_HVFLIP   上下左右反転して表示 


用例

const Uint8 cgdata[48 * 32] = {
	0x00, 0xff, ...
		:
};
ret = pdVmsLcdWrite(PDD_PORT_A1, cgdata, PDD_LCD_HVFLIP);
if (ret != PDD_LCDERR_OK) {
	/* Display not possible */
}

pdVmsLcdWrite
COPYRIGHT © SEGA ENTERPRISES, LTD., 1998-2000