Processor)として開発されたVLSIで、TMS9918A(MSXのVDP)およびV9938(MSX2のVDP)とソフトウェア上位互換性があります。V9958は株式会社アスキーとヤマハ株式会社によって共同開発され、V9938に加えて以下の特徴があります。YJK方式により最大19,268色を同時に表示可能ハードウェアによる水平スクロール全表示モードでコマンド機能を使用可能この章ではV9938に対して変更・追加された機能を解説します。この章で説明のない部分についてはV9938と同じ仕様です。空きビットにはかならず「0」を設定して下さい。リセット時には、全てのビットは「0」に設定され、機能的にはV9938と同等になります。1のID番号を「2」とし、V9958であることを表します。V9938では「0」が返ってきます。↓V9958ではV9938を拡張して、新たな機能を加えています。追加された機能には以下のようなものがあります。0=左側8ドットはマスクされない(初期値)1=左側8ドットをマスクし、ボーダーカラーを表示するR#27の値が「0」の場合は、マスクする必要ありません(GRAPHIC5、6では16ドットのマスクになる)。0=水平方向画面サイズを1ページとする(初期値)スクロールは1ページ内で行われ、画面上には左側の隠れた部分が右側にも表れます。1=水平方向画面サイズを2ページとするスクロールは2ページで行われ、スクロールによって裏のページが表れます。静止画の水平方向スクロール量をドット単位で設定する(GRAPHIC5、6は2ドット単位のスクロールになる)水平スクロール時のVRAMアクセスは8ドット単位で行われ、R#27の値が「0」以外のときは、表示用のデータが不定になります。この不定のデータを表示させないためにマスクが必要になります。左方向へ、8ドット単位(GRAPHIC5,6は16ドット単位)で設定値だけシフトします。注意HO8は無視されます。注意SP2=1のときは、パターンネームテーブルの先頭アドレスは、奇数ページが選択されるように設定します。各テーブルのベースアドレスは次のようになります。右方向へ、1ドット単位(GRAPHIC5,6は、2ドット単位)で設定値だけシフトします。2画面水平スクロール図4.64のように、左へ126ドットスクロールするときは、以下のようになります。0=ウエイト機能を無効にする(初期値)V9938と同様に機能します。1=ウエイト機能を有効にするCPUがVRAMをアクセスした際に、V9958のVRAMアクセスが完了するまで、全てのV9958ポートへのアクセスに対してウエイト信号を発生します。レジスタとカラーパレットへのアクセス未完了およびコマンドのデータレディによるウエイト機能はありません。注意ウエイト機能はMSXでは使っていません。このビットを「1」にするときは、その前にダミーのVRAMアクセスを行って下さい。0=GRAPHIC4〜7の表示モードのみコマンド機能を有効にする(初期値)。1=全表示モードにおいてコマンド機能を有効にするGRAPHIC4〜7モードでは、V9938と同様に機能し、それ以外の表示モードでは、GRAPHIC7モードとして動作します。したがってGRAPHIC4〜7モード以外でコマンドを使用するときには、パラメータはGRAPHIC7モードのX、Y座標系で指定します。0=VRAM上のデータをRGB方式。7の時は各3、3、2ビット)として扱う(初期値)。スプライトの表示色は従来通りです。1=VRAM上のデータをYJK方式のみと見なし、これをRGB信号(各5ビット)に変換し、アナログ出力する。スプライトの表示色にはパレットが有効になります。以下は、YJK方式のデータフォーマットです。連続した4ドットをグルーピングして表します。アトリビュートなしのYJKデータフォーマットYJK方式のデータは連続した4ドット分の情報でグループ分けされており、Y1、KL、KH、JL、JHで先頭1ドットのカラー情報Y2、KL、KH、JL、JHで2ドット目のカラー情報Y3、KL、KH、JL、JHで3ドット目のカラー情報Y4、KL、KH、JL、JHで4ドット目のカラー情報となります。KとJの値は4ドットに共通で使われます。Yの値は1ドットごとに指定します。YAE=0の場合と同じ(初期値)Y、J、Kは全てYJK方式のデータとなります。1ドット分のカラー情報です。Aのビットは無視されます。Y1〜Y4はそれぞれカラーコードとなり、カラーパレットを通してRGB出力されます。JとKはYJK方式のデータとなります。↓コンポジットビデオ出力マウス・ライトペンインターフェイスこの変更に伴い、次の内部レジスタのビット(の部分)が意味を持たなくなります。これらのレジスタに値を書き込む場合には、これらのビットに必ず「0」を書き込んで下さい。Perl5.008007。