V9938:MSXを彩ったビデオチップの進化
V9938は、アスキー、
マイクロソフト、そして
ヤマハという3社の技術協力によって誕生したビデオディスプレイプロセッサ(
VDP)です。
MSX規格のキャプテンシステムアダプタ向けに開発され、後に
MSX2規格に統合されるなど、1980年代後半のパソコンゲーム史において重要な役割を果たしました。
MSX-VIDEOという別名でも知られています。
開発の背景と経緯
V9938開発の背景には、アスキーの
西和彦氏や
マイクロソフトの
ビル・ゲイツ氏といったキーパーソンからの強い要望がありました。
ビル・ゲイツ氏はコスト削減と80桁表示を、アスキー側はビットマップ表示、豊富な色数、多様な表示モード、そして
VDPコマンドの搭載などを求めていました。興味深いことに、スプライト機能の強化などは開発要請には含まれていなかったようです。
ヤマハにとって、V9938は初の画像LSIでした。ベースとなったTMS9918は
テキサス・インスツルメンツ社製ですが、V9938は同社の協力を得ることなく、公開情報をもとに独自に開発されました。そのため、
VRAM容量の判定方法やアクセスタイミング、表示色などにTMS9918との差異が見られます。開発を担当した
ヤマハ自身も、後年になって初めてその色の違いに気づいたとのことです。
高度な画像処理機能
V9938は、TMS9918の機能を拡張した上位互換チップとして設計されました。主な仕様は以下のとおりです。
VRAM容量: 16KB~192KB。ただし、表示に使用できるのは最大128KBまでで、それ以上の容量はバックバッファなどに利用されます。MSX2規格では64KBまたは128KBが標準でした。
解像度と色数: TMS9918のすべての表示モードに加え、
RGBビットマップ表示、最大512色中16色のパレット表示、2画面または4画面表示をサポート。
インターレース走査モードと2画面分の
VRAMを併用することで、最大512×424ドットの表示も可能でした。
スプライト機能: 8×8ドットまたは16×16ドットのスプライトを最大32個表示可能。同時表示数は最大8個に拡張され、複数枚を重ね合わせることでより複雑な色表現も実現できました。
ハードウェアスクロール: 縦方向の
ハードウェアスクロール機能を搭載。上下左右の画面位置調整も可能です。ただし、横方向の
ハードウェアスクロールは備わっていません。
VDPコマンド: CPUと並列にVRAMにアクセス可能なコマンドセットを搭載。矩形領域の転送、塗りつぶし、直線やドットの描画、メインメモリとVRAM間のデータ転送などを高速に行うことができました。AND、OR、XOR、NOTなどの論理演算もサポート。
走査線検出割り込み: 走査線位置を指定して割り込み信号を発生させる機能。ラスタ分割表示や画面モードの切り替えなどに使用されました。
スーパーインポーズ機能: 外部ビデオ信号と合成表示する機能。
多様な出力: NTSC、PAL、アナログ
RGB出力に対応。
*
カラーバス: CPUを介さずに
VDPが直接デジタルデータを
VRAMに取り込める8ビット幅の入出力インターフェース。マウスや
ライトペンインターフェース、外部カラーパレットにも利用されました。
V9938の応用とその後
V9938は
MSXマシン以外にも、キャプテンシステム端末、アーケードゲーム機、家庭用ビデオ編集機、囲碁通信ネットワーク端末など、幅広い機器に採用されました。1986年にはセガAIコンピュータにも搭載されました。また、『Oh!FM』誌上では
FM-7シリーズ用のV9938ビデオボードの製作記事が掲載されるなど、自作パソコンの世界でも人気がありました。
V9938の後継チップとして、V9958(E-
VDP-II)が開発されました。V9938は、その優れた機能と汎用性から、8ビットパソコン黄金期を支えた重要なデバイスの一つと言えるでしょう。