##### Shinobiライブラリ - LCD関数

# pdVmsLcdWrite

データの液晶表示

### 書式

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

### 引数

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

### 戻り値

  エラーコード

### 解説

  ビジュアルメモリの液晶ディスプレイにビットマップのグラフィックを表示します。

  解像度 | 横48x縦32ピクセル
  階調数 | 2階調（モノクロ）

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

  PDD_PORT_A1 | ポートAの拡張ソケット1
  PDD_PORT_A2 | ポートAの拡張ソケット2
  PDD_PORT_B1 | ポートBの拡張ソケット1
  PDD_PORT_B2 | ポートBの拡張ソケット2
  PDD_PORT_C1 | ポートCの拡張ソケット1
  PDD_PORT_C2 | ポートCの拡張ソケット2
  PDD_PORT_D1 | ポートDの拡張ソケット1
  PDD_PORT_D2 | ポートDの拡張ソケット2

  引数 dataに指定するピクセルデータ形式は、ソフトウェアで取り扱いやすいように1ピクセルを8ビット(1バイト)で 表現します。下位4ビットで階調を表現しますが、このライブラリではビット3のみを参照します。

  白（液晶のベース色）にするピクセルにはビット3を0にしたデータ( 0x00、0x07等) 、
  黒にするピクセルにはビット3を1にしたデータ( 0x0f、0x08等)を格納してください。

  ピクセルデータは液晶画面全体では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 | 上下左右反転して表示

  戻り値エラーコードは以下の値が戻ります。

  PDD_LCDERR_OK | 成功
  PDD_LCDERR_NO_LCD | ビジュアルメモリが接続されていない
  PDD_LCDERR_BUSY | ビジュアルメモリはアクセス中

### 用例

        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,1999