TMS9918A VDP | |
| コンポーネントタイプ | ビデオディスプレイコントローラ |
|---|---|
| 初生産 | 1979 |
TMS9918は、テキサス・インスツルメンツ社が製造し、1979年に発表されたビデオ・ディスプレイ・コントローラ(VDC)です。 [ 1 ] TI社のマニュアルでは「ビデオ・ディスプレイ・プロセッサ」(VDP)と呼ばれています。TMS9918とその派生製品は、カシオPV-2000、コレコ・アダム、コレコビジョン、クレアティビジョン、ハニメックス・ペンシルII、MSX、メモテックMTX、NABUパーソナルコンピュータ、PECOS、SG-1000、SC- 3000 、SV-318、SV-328、ソードM5、TI-99/4、タトン・アインシュタイン、トミー・チューターなどで使用されています。
TMS9918 は、当時としては先進的な設計でした。幅 256、高さ 192 のピクセルレイアウトを基本とする 4 つのグラフィックモードがあり、40 x 24 文字表示、256 x 192 ピクセル表示、またはメモリ使用量の少ない 64 x 48 ピクセル表示として使用できました。15 色と透明の固定カラーパレットがありました。また、0 から 31 までの番号が付けられた 32 個の単色 8x8 または 16x16 ピクセルスプライトをサポートし、番号の小さいスプライトが大きいスプライトの上に表示されます。これにより、レイヤー化と遠近法の効果が可能になりました。また、ビデオ入力と同期ピンも備えており、チップで作成されたグラフィックの下に別のソースからのビデオを表示できました。これを使用して、複数の 9918 からの出力を重ねたり、9918 を他のビデオソースへのタイトルやオーバーレイ用のシステムとして使用したりできます。
この高度な機能セットをサポートするため、9918 はメモリへの高速アクセスを必要としました。これを実現するために、それを搭載するコンピュータのメインメモリとは別に、専用の 16 KB のRAMプールが与えられました。TI はこれをVRAMと呼んでいました。これは、CPU がビデオ ディスプレイをアップデートするには、別の 8 ビットデータ バスを使用し、VDP がバス上のデータを専用 RAM との間でやり取りする必要があることを意味していました。このため、CPU と 9918 が通信できる速度が制限されていました。また、ビデオ チップを使用してメモリをリフレッシュするという一般的なソリューションは使用できず、別のハードウェアで実装する必要があることも意味していました。これらは、単一のプールでメモリを共有するシステムと比較すると多少の複雑さはありましたが、結果として、はるかに色鮮やかなディスプレイが実現され、アーケード ゲームレベルのディスプレイと同等の機能を実現しました。
ヤマハV9938は、TMS9918 の拡張バージョンです。
説明
一般情報


TMS9918は40ピンのデュアル・インライン・パッケージ(DIP)に収められていました。電源はピン33(V CC )に+5V 、ピン12(V SS )にグランドが供給されました。NTSCカラーバースト周波数の3倍である10.7386MHzで動作する水晶振動子が、ピン40(XT1)とピン39(XT2)に接続されていました。ビデオ出力はピン36(COMVID)に、入力(使用する場合)はピン35(EXTV)に接続され、コネクタのシールド接続はグランドに接続されていました。[ 3 ]
フルカラー動作に必要なメモリ性能を実現するために、システムはVRAMと呼ばれる専用のDRAM領域を使用していました。このメモリを操作するために、システムには3番ピン(AD7)から10番ピン(AD0)までの8ビットアドレスバスと、25番ピン(RD7)から32番ピン(RD0)までの8ビットデータバスを構成する独立したピンセットが備わっていました。これらのデータバスは、11番ピンのリード/ライト制御、そして1番ピンと2番ピンのRASとCASによってサポートされていました。[ 3 ]
ホストコンピュータとの通信は、ピン17~24(D7~D0)の独立した8ビットデータバスを介して行われました。ピン13(MODE)は、このバス上のデータがアドレスかデータかを制御します。TMS9918に書き込む場合、CPUはまずモードを設定し、内部アドレスレジスタにデータを書き込みます。次に、データをバスに書き込み、モードを変更してデータをそのアドレスに格納します。データバイトが読み取られた後、TMS9918はアドレスレジスタ内のポインタをインクリメントし、一連のバイトを連続して書き込むことができます。[ 4 ]
TMS9918は、グラフィックスを複数のレイヤーに論理的に配置します。最上位には32個のスプライトレイヤー、グラフィックスまたはテキストレイヤー、画面を単色で塗りつぶす「バックドロップ」、そして最後に外部ビデオレイヤーがあります。バックドロッププレーンは他のレイヤーよりもわずかに大きく、画面全体を埋め尽くします。システムは15色のパレットと、透明色であるカラー0を使用します。画面上の任意のピクセル位置において、システムは特定のオブジェクトがその位置にあるかどうか、そしてそれが透明に設定されているかどうかを確認します。透明であれば、次のオブジェクトを参照し、これを外部ビデオレイヤー(通常は使用されません)に到達するまで繰り返します。[ 5 ]以下の説明も同様の順序で並べられています。
スプライト
9918シリーズの重要な特徴は、強力なスプライトサポートでした。VRAMの8バイトの領域に、8ピクセル×8ピクセルのスプライトパターン(8ピクセルの行ごとに1バイト)を保存していました。また、16×16ピクセルのスプライト(行ごとに2バイト、16行)を保存する第2モードもありました。[ 6 ]さらに、どちらのサイズのスプライトも2倍に拡大して、画面上でスプライトを大きく表示できました。スプライトのパターンデータは、8バイトまたは32バイトのエントリで、スプライトジェネレータテーブル(SGT)と呼ばれるメモリブロックに保存されていました。[ 7 ]
パターンを保持する8バイトまたは32バイトのエントリに加えて、データの解釈と表示方法を定義するスプライト属性テーブル(SAT)が別途存在した。これには、スプライトの水平位置と垂直位置を表す8ビット値、SGT(当時は「スプライト属性テーブル」と呼ばれていた)内のそのスプライトのデータ開始位置へのポインタ、そして下位4ビットの色コードが含まれており、スプライト1つあたり合計4バイト、SAT全体では合計128バイトであった。[ 6 ]
画面上の任意のピクセルに表示する色を決定するために、システムはその位置で表示可能なスプライトを確認し、パターンを順に検索して、その位置に1を持つ最初のスプライトを見つけ、そのピクセルにSATで見つかった色を描画しました。これにより、スプライトは順番に表示されるようになり、番号の小さいスプライトが番号の大きいスプライトの上に表示されるようになりました。つまり、例えばスプライト0は常に一番上に表示されることになります。画面上のその位置に1を持つスプライトがない場合、そのピクセルは透明になり、代わりに背景グラフィックが表示されます。[ 8 ]
スプライトは順番に描画されるため、望ましいレイヤー効果を得るためには、その順序を変更する必要がある場合があります。これがSATの「名前」フィールドエントリの目的です。例えば、スプライト10をスプライト5の前に表示したい場合、2つのスプライトの名前フィールドエントリの値を入れ替えることで、パターンデータを移動する必要がなくなります。スプライトの順序を注意深く調整することで、システムは擬似3D効果や視差スクロール効果を容易に実現できます。[ 9 ]
パフォーマンス上の問題により、1スキャンラインに表示できるスプライトは4つまでです。特定のラインに4つ以上のスプライトを指定した場合、それらは表示されません。VDPには、最初に削除する必要があったスプライトの番号を報告するステータスレジスタがあります。この制限に達しないようにシステムを設計するのはプログラマの責任です。1ラインにより多くのスプライトをエミュレートする1つの方法は、フレームごとに名前の値を入れ替えることで優先順位を変更し、1フレーム目に8つのスプライトを1セット表示し、次のフレームに別の8セットを表示することです。この方法では最大8つのスプライトを表示できますが、ちらつきが目立ちます。
スプライト衝突フラグは、2つのスプライトの非ゼロパターンビットが一致した場合にセットされます。どちらのスプライトも透明色であっても、このフラグはセットされます。VDPはどのスプライトが衝突したかを示すのではなく、少なくとも2つのスプライトが衝突したことを示すだけです。これは通常、ソフトウェア内部のより高度な衝突検出ルーチンを起動するために使用され、衝突の正確な位置を特定して対処することができます。
グラフィックモード
9918のグラフィックスは、幅256ピクセル、高さ192ピクセルのレイアウトを基盤としていました。[ 5 ]これらの数値は、プログレッシブスキャンディスプレイでアナログビデオ信号を出力する当時のシステムでは典型的なものでした。これは、 NTSC無線周波数信号の複雑さにより、当時のテレビの最大解像度である約320×240に近いものでした。[ a ]
グラフィック レイヤーの使用方法は 4 つあります。
モード0、つまりテキストモードでは、画面が40×24の「ブロック」レイアウトに分割され、各ブロックは幅6ピクセル、高さ8ピクセルでした。各ブロックは0から255までの値を保持でき、通常は拡張ASCII文字セットを表します。256文字それぞれのパターンはVRAMに格納され、CPUを使用してVRAMの値をロードすることで変更できました。文字の各行は、1行あたり1バイト、1文字あたり8バイトで格納される「オン」または「オフ」のピクセルの連続として定義されました。ブロックは画面上で6×8であったため、文字間にスペースを空けるために、5×7のグリッドに文字を配置するのは設計者の責任でした。パターンの「オン」ビットと「オフ」ビットの色は、VRAMに格納される15色のいずれかを使用できました。[ 3 ]
モード 1、またはグラフィックス Iは、基本的にはテキスト モードの修正版で、画面を 32 x 24 レイアウトに分割し、各ブロックが 6 x 8 ピクセルではなく 8 x 8 ピクセルになるようにしました。画面上の任意のピクセルのパターンは、テキスト モードで文字を保持するものと同じ 256 エントリのビット パターン テーブルから検索されました。可能な位置は 768 個で、可能なパターンは 256 個しかないため、このモードで生成できる表示の種類は限られていました。グラフィックス I では、任意のブロックのオン ピクセルとオフ ピクセルの色値を保持する、768 エントリの VRAM セクションも追加されました。つまり、8 x 8 ピクセルのすべてのブロックは独自の 2 色を持つことができますが、どのブロック内のピクセルもすべて同じでなければなりませんでした。[ 7 ]これは、当時としては珍しい解決方法ではなく、セルの端が見えないように色を選択できない場合に、 属性の衝突と呼ばれるよく知られた問題を引き起こします。
モード2、またはグラフィックスIIはグラフィックスIのさらなる改良版であり、768ブロックすべてに別々のパターンと、ブロック内の各ラインに別々の色設定を可能にした。つまり、どのブロックも15色すべてを使用できたが、ラインごとに2色しか使用できなかった。このディスプレイでは、任意の画像を描画でき、より多くの色を表示できるため、ピクセルアドレス指定が可能で、任意の画像を高解像度で描画するのに適したディスプレイを実現できる。ただし、192ラインそれぞれに32色のエントリが必要になり、768の個別エントリを持つ拡張パターンマップが必要になるため、すべてのデータを保持するために必要なVRAMが約12KBに増加するという欠点がある。[ 10 ]
モード3、すなわちマルチカラーモードでは、画面が64×48のブロックに分割され、合計3072のブロックで構成されます。このモードではパターンは存在せず、セル全体がオンまたはオフの状態になります。各ブロックにはカラーテーブルエントリが用意されており、各ブロックは独自の色を選択できます。これにより、3KB未満のVRAMで、低解像度ながらも高色域の表示が可能になりました。[ 11 ]
このシステムの制約の一つは、ハードウェアによる微細スクロールのサポートがなく、通常8行のセル境界に沿ったスクロールしかできなかったことです。スクロールは、VRAMに既に保存されているパターンを移動し、新しい行または列のデータを追加することで実現されていましたが、これにはある程度の時間がかかりました。さらに、すべてのグラフィックモードは基本的に各セルにカスタム文字が割り当てられた文字モードであったため、線や円など、セルをまたぐパターンでは、各セルの各行のピクセル値を計算し、その値を文字セットにアップロードする必要がありました。
スクリーンモード2の詳細
技術的には、モード2はカラフルな文字セットを持つ文字モードです。画面は水平方向に256×64ピクセルの3つの領域に分割され、それぞれに独自の文字セットが割り当てられます。3つの領域すべてに0から255までの文字を順番に出力することで、プログラムは各ピクセルを個別に設定できるグラフィックモードをシミュレートできます。ただし、生成されるフレームバッファは非線形です。
このプログラムは、3つの同一の文字セットを使用し、カラフルな文字セットを持つテキストモードのように画面を操作することもできます。背景パターンとスプライトは、カラフルな文字で構成されます。これはゲームでよく使われていました。画面全体を塗りつぶしてスクロールさせるのに必要なのは、32×24バイトの移動のみだったからです。
TMS9918モード2を使用する際の課題は、8×1ピクセル領域ごとに前景色と背景色の2色しか使用できないことでした。16色パレットから自由に色を選択できるにもかかわらず、8×1領域ごとに使用できる色は2色に限られていました。斜めの直線をレンダリングする場合、8×1領域あたりの最大2色を簡単に超えてしまい、「色漏れ」が発生してしまう可能性がありました。
文書化されていないモード
テキサス・インスツルメンツは当初、上記の4つのモードのみを文書化していました。しかし、モード2を有効にするビットは、実際には他のモードの修飾ビットです。これを有効にすると、以下の3つのことが起こります。[ 12 ]
- 各セルのエントリを保持できるようにカラー テーブルのサイズを拡張します。
- 画面を水平に 3 分の 1 に分割します。
- パターン テーブルとカラー テーブルの 2 つのアドレス ビットをマスク ビットに変更します。これにより、画面の各 3 分の 1 に独自のパターン テーブルとカラー テーブルがあるかどうか (モード 2)、またはないかどうか (モード 1) が制御されます。
コード内でこのビットを切り替えることで、3つの追加モードが可能になります。純正のTMS9918Aチップはこれらのモードをサポートしていますが、クローンやエミュレータではサポートされていない場合がありますのでご注意ください。
- モード0(テキスト)+ モード2(グラフィック2):ビットマップテキストモードとも呼ばれます。このモードでは、カラーテーブルを使用せずに2色のビットマップ画像を作成できます。これによりメモリを節約できますが、水平解像度がわずかに低下します(テキストモードの水平解像度は、グラフィックモードの256ピクセルではなく240ピクセルです)。
- モード1(グラフィック1)+ モード2(グラフィック2):ハーフビットマップモードとして知られています。テキサス・インスツルメンツは、この「未公開」の画面モードについて、マニュアル「ビデオディスプレイプロセッサプログラマーズガイド SPPU004」で実際に文書化しています。[ 13 ] セクション8.4.2「VRAMアドレス指定を使用したゲームのプレイ」[ 13 ]では、このモードがモード1のメモリ節約とモード2の色彩詳細をどのように組み合わせているかについて説明しています。しかし、このモードでは表示可能なスプライトの数が32ではなく8に制限されると述べられています。したがって、このモードを説明する際に使用されている「未公開」という用語は誤称です。しかし、このマニュアルが広く知られていなかったため、このモードは一般に未公開モードの1つと考えられています。一般的に、モード2ではなくこのモードを使用する唯一の理由は、メモリ消費量を削減するためです。
- モード3(マルチカラー)+ モード2(グラフィック2):ビットマップマルチカラーモードとも呼ばれます。このモードは、標準のマルチカラーモードで既に可能な機能以上のものは提供していないため、比較的新しいモードです。
外部ビデオ
9918シリーズのもう一つの重要な特徴は、外部ビデオソースを読み取り、その上にある物体がすべて透明であると仮定して、その信号を出力に渡す機能である。これにより、システムはビデオカメラやビデオテープなどのアナログソースに重ね合わせることができるグラフィックを生成することができる。2つのディスプレイが正しく表示されるようにするには、通常は水晶振動子によって生成されるクロック信号の代わりに、外部ソースからのクロックも入力する必要がある。また、一方の信号が他方の信号を圧倒しないように、入力信号の出力強度を出力に合わせる何らかのシステムも必要である。[ 14 ]
色
TMS9918ファミリーチップは複合ビデオパレットを採用していました。TMS9918Aでは輝度と彩度値の組み合わせに基づいて色が生成され、 TMS9928A/9929AではY、U(BY)、V(RY)の値に基づいて色が生成されました。 [ 15 ]
データシートの値
TMS9918 には、15 色の表示色と「透明」色である色 0 で構成される 固定の16 色パレットがあります。
- スプライトに「透明」を使用すると、グラフィック プレーンが表示されます。
- テキスト/グラフィック プレーンに「透明」を使用すると、背景が表示されます。
- 背景に「透明」を使用すると、外部ビデオ信号(有効な場合)が表示され、そうでない場合は黒になります。
データシートの「表2.3 - 色の割り当て」によると、出力レベルは次のようになります。[ 15 ]
| カラーコード | 色 | TMS9918A | TMS9928A/9929A | |||
|---|---|---|---|---|---|---|
| 輝度 | クロミナンス | はい | あなた | V | ||
| 0 | 透明 | 0% | - | 0% | 0% | 0% |
| 1 | 黒 | 0% | - | 0% | 47% | 47% |
| 2 | ミディアムグリーン | 53% | 53% | 53% | 20% | 7% |
| 3 | 薄緑 | 67% | 40% | 67% | 27% | 17% |
| 4 | ダークブルー | 40% | 60% | 40% | 100% | 40% |
| 5 | 水色 | 53% | 53% | 53% | 93% | 43% |
| 6 | 濃い赤 | 47% | 47% | 47% | 30% | 83% |
| 7 | シアン | 67% | 60% | 73% | 70% | 0% |
| 8 | ミディアムレッド | 53% | 60% | 53% | 27% | 93% |
| 9 | 薄赤 | 67% | 60% | 67% | 27% | 93% |
| 10 | 濃い黄色 | 73% | 47% | 73% | 7% | 57% |
| 11 | 淡黄色 | 80% | 33% | 80% | 17% | 57% |
| 12 | 濃い緑 | 46% | 47% | 47% | 23% | 13% |
| 13 | マゼンタ | 53% | 40% | 53% | 67% | 73% |
| 14 | グレー | 80% | - | 80% | 47% | 47% |
| 15 | 白 | 100% | - | 100% | 47% | 47% |
注:色はあくまでも参考用です。YUVからsRGBへの変換は、標準BT.601方式に基づき、UとVは0.5をニュートラルとして0~1の範囲に正規化されているものと仮定しています。SMPTE Cの測色法は考慮されていません。代替の色変換については、次のセクションを参照してください。
製品ファミリー
このファミリーのICはすべて、通常TMS9918という名称で呼ばれ、末尾に「A」が付く場合もあります。「A」は、新機能、特にビットマップモード(Graphic II)の追加が追加されたチップの2番目のバージョンであることを示します。
| チップバリアント | ビデオ出力 | ビデオ入力 | ビデオ周波数 | モード2のサポート |
|---|---|---|---|---|
| 9918 | 複合 | 複合 | 60 Hz | いいえ |
| 9918A / 9118 | 複合 | 複合 | 60 Hz | はい |
| 9928A / 9128 | YPbPr | (なし) | 60 Hz | はい |
| 9929A / 9129 | YPbPr | (なし) | 50 Hz | はい |
このチップの主な特徴は、1980年にカール・グッタッグ(設計者の一人)が行ったプレゼンテーションで強調されている通りである。[ 1 ]
- 画面あたり256 x 192のフルカラーピクセル
- 15種類の異なる色と色合い
- 非インターレースカラー複合ビデオ出力
- RAS/CAS型ダイナミックRAMへの直接配線
- ダイナミックRAMの自動リフレッシュ
- 一般的な8ビットメモリマップ型CPUインターフェース
- CPUはVDP経由でRAMにアクセスします( DMAは不要)
- 1画面あたり32のダイナミックキャラクター
- 1行あたり32個の8×8パターン、1画面あたり24行
- 1行あたり40個の6×8パターンのテキストモード
- 64 x 48 のメモリマップ可能なカラー スクエアを備えたマルチカラー モード
- 外部ビデオ入力と制御
- 単一電源+5ボルト動作
- 標準Nチャネルシリコンゲート技術
TMS9918
TMS9918はTI-99/4 でのみ使用され、TI-99/4Aおよびその他のコンピュータには A バージョンの VDC が搭載されていました。
TMS9918A、TMS9928A、およびTMS9929A

TMS9918AとTMS9928Aは60Hzのビデオ信号を出力し、TMS9929Aは50Hzを出力します。「TMS9918A」と「TMS9928A」の「1」と「2」の違いは、「1」バージョンはコンポジットNTSCビデオを出力するのに対し、「2」バージョン(TMS9929Aを含む)はアナログY輝度信号とRY/BY色差信号を出力することです。ヨーロッパを含む50Hzの世界では、ビデオ信号規格がPALとSECAMと異なるため、後者の需要が優勢でした。Y、RY、BYを出力し、 RF変調器でPALまたはSECAMにエンコードする方が、色規格ごとに異なるコンソールを用意するよりも費用対効果が高かったのです。 「1」バージョンには外部複合ビデオ入力も搭載されており、ビデオにテキストやグラフィックを重ね合わせることができるビデオ「タイトル」に使用するのに便利なチップとなっていますが、「2」バージョンにはこの機能はありません。
TMS9918 のオリジナル版はデプレッションロード NMOSで、4.5 μm プロセスで製造されました。これはテキサスインスツルメンツが製造した最初のデプレッションロード NMOS チップの 1 つであり、 3 つの電源電圧を必要とする古いエンハンスメントロード NMOS プロセスを使用したTMS9900マイクロプロセッサとは対照的でした。ダイ サイズが大きく内部速度が比較的高速だったため、TMS9918 はヒートシンクが必要なほど高温になりました。台湾の DINA コンソール (Colecovision/SG-1000 のハイブリッド) など一部のデバイスではヒートシンクの設置を怠ったため、チップの誤動作に悩まされました。1983 年までにテキサスインスツルメンツはダイ サイズを 3 μm に縮小し、動作温度が下がりヒートシンクは不要になりました。 MSX マシンとセガ SG-1000 は新しい 3 μm の TMS9918 を使用しましたが、ほとんどの Colecovisions はオリジナルの 4.5 μm バリアントを搭載していました (1985 年に製造されたコンソールの最終版には新しいモデル TMS9918 が搭載されていました)。
TMS9118、TMS9128、およびTMS9129

TMS9918シリーズチップの後継機種であるTMS9118、TMS9128、TMS9129は1980年代中盤から後半にかけて発売されましたが、あまり人気が出ませんでした。1本のピンの機能が変更され、ビデオメモリのマッピングにより、TMS99xxに必要な8個の16K×1ビットチップの代わりに2個の16K×4ビットチップを使用できるようになりました。その他の点では、これらのチップはそれぞれTMS9918A、TMS9928A、TMS9929Aと完全に同一です。
CRTディスプレイ
Y、RY、BY を RGB に変換するには、Y の起源を考慮する必要があります。
Y = R * 0.30 + G * 0.59 + B * 0.11
これにより、次の式が導かれます。
R = RY + Y B = BY + Y G = (Y - 0.30 * R - 0.11 * B) / 0.59
しかし、クロミナンスを持たないすべての色(つまり黒、グレー、白)については、RYとBYは0%ではなく、すべて47%のオフセットを持ちます。そのため、まずこのオフセットをすべてのRYとBYの値から差し引く必要があります。実際にはこのステップが単独で実行されることは決してないため、結果がマイナスになることは問題ありません。
| カラーコード | 色 | はい | RY | による |
|---|---|---|---|---|
| 1 | 黒 | 0% | 0% | 0% |
| 2 | ミディアムグリーン | 53% | -40% | -27% |
| 3 | 薄緑 | 67% | -30% | -20% |
| 4 | ダークブルー | 40% | -7% | 53% |
| 5 | 水色 | 53% | -4% | 46% |
| 6 | 濃い赤 | 47% | 36% | -17% |
| 7 | シアン | 73% | -47% | 23% |
| 8 | ミディアムレッド | 53% | 46% | -20% |
| 9 | 薄赤 | 67% | 46% | -20% |
| 10 | 濃い黄色 | 73% | 10% | -40% |
| 11 | 淡黄色 | 80% | 10% | -30% |
| 12 | 濃い緑 | 47% | -34% | -24% |
| 13 | マゼンタ | 53% | 26% | 20% |
| 14 | グレー | 80% | 0% | 0% |
| 15 | 白 | 100% | 0% | 0% |
次にRGBへの変換を行います。すべての結果は0%から100%の範囲に収まる必要があります。
| カラーコード | 色 | R | G | B |
|---|---|---|---|---|
| 1 | 黒 | 0% | 0.0000% | 0% |
| 2 | ミディアムグリーン | 13% | 78.3729% | 26% |
| 3 | 薄緑 | 37% | 85.9831% | 47% |
| 4 | ダークブルー | 33% | 33.6780% | 93% |
| 5 | 水色 | 49% | 46.4576% | 99% |
| 6 | 濃い赤 | 83% | 31.8644% | 30% |
| 7 | シアン | 26% | 92.6102% | 96% |
| 8 | ミディアムレッド | 99% | 33.3390% | 33% |
| 9 | 薄赤 | 113% | 53.9492% | 47% |
| 10 | 濃い黄色 | 83% | 75.3729% | 33% |
| 11 | 淡黄色 | 90% | 80.5085% | 50% |
| 12 | 濃い緑 | 13% | 68.7627% | 23% |
| 13 | マゼンタ | 79% | 36.0508% | 73% |
| 14 | グレー | 80% | 80.0000% | 80% |
| 15 | 白 | 100% | 100.0000% | 100% |
「ライトレッド」のR値が113%という誤った値は、データシートの誤記のように見えるかもしれません。RYは80%を超えてはいけません。しかし、オシロスコープでチップの出力信号を測定すると、表のすべての値が正しいことがわかります。つまり、誤差はチップ内部にあり、赤色信号を飽和させているのです。そのため、この値は100%に修正する必要があります。
当時、コンピュータモニターとテレビにはブラウン管しかなく、これらのCRTのガンマは1.6でした。TMS9918シリーズのチップはテレビ用に設計されており、そのCRTのガンマは1.6でした(注:MacintoshモニターのCRTは1.8、PCモニターのCRTは2.2でした)。デジタルフラットパネルにはガンマがありません。そのため、TMS9918の色は、上記の最初の表のように、ここではやや薄く見えます。以下の表は、ガンマ補正された値(16進数表記)を使用しています。
| カラーコード | 色 | R | G | B |
|---|---|---|---|---|
| 1 | 黒 | 00 | 00 | 00 |
| 2 | ミディアムグリーン | 0A | 広告 | 1E |
| 3 | 薄緑 | 34 | C8 | 4C |
| 4 | ダークブルー | 2B | 2D | E3 |
| 5 | 水色 | 51 | 4B | フェイスブック |
| 6 | 濃い赤 | BD | 29 | 25 |
| 7 | シアン | 1E | E2 | EF |
| 8 | ミディアムレッド | フェイスブック | 2C | 2B |
| 9 | 薄赤 | FF | 5階 | 4C |
| 10 | 濃い黄色 | BD | A2 | 2B |
| 11 | 淡黄色 | D7 | B4 | 54 |
| 12 | 濃い緑 | 0A | 8C | 18 |
| 13 | マゼンタ | AF | 32 | 9A |
| 14 | グレー | B2 | B2 | B2 |
| 15 | 白 | FF | FF | FF |
使用される手順は次のとおりです。すべての値を小数点以下 2 桁に丸め、ガンマ補正のために 1.6 乗し、最後に値の範囲を 0...100 から 0...255 に変換します。
仕様
- ビデオ RAM: 4、8、または 16 KB への直接配線
- テキストモード: 40 × 24 および 32 × 24
- 解像度: 256 × 192
- 色: 15色+透明
- スプライト: 32、1色、水平ラインあたり最大4
遺産
テキサス・インスツルメンツ社のTMS9918Aの後継機としてヤマハ社製のV9938が登場しました。V9938は、追加のビットマップモード、よりカラフルなスプライト、垂直フルスクリーンスクロールレジスタ、垂直および水平オフセットレジスタ、ハードウェアブリッター、そしてカスタマイズ可能なパレットなどを追加しました。V9938はMSX2規格のコンピュータ向けに設計され、後にTI-99/4Aのサードパーティ製アップグレードであるGeneve 9640「コンピュータ・オン・ア・カード」に使用されました。
V9938の後継機として、V9958が登場しました。V9958は、いくつかのハイカラーモードと水平2ページスクロールレジスタを追加しました。これらのチップはMSX2+/ turboRシステムに使用されました。
東芝はT6950というクローンを製造しましたが、これはグラフィックス2モードにおける未公開のパターン/カラーテーブルマスキング機能をサポートしていません。[ 16 ]その後、東芝はマスキング機能を備えたVDPを内蔵したT7937A MSXエンジンをリリースしました。東芝のVDPはどちらも、TIのVDPとは若干異なる(より鮮やかな色彩)パレットを備えています。
マスターシステムゲームコンソールのVDPは、TMS9918の進化形です。これはさらに進化し、ジェネシス/メガドライブゲームコンソールのVDPとなりました。マスターシステムVDPのグラフィックモードのほとんどが、より高性能なバージョンに置き換えられています。
参照
- TMS34010、専用グラフィックス命令を備えた1986年のマイクロプロセッサ
- Atariの8ビットコンピュータには、同年に導入された同等のグラフィックハードウェアが搭載されている。
- Motorola 6845、8ビットコンピュータで広く使用されているディスプレイコントローラ
- モトローラ 6847
- ヤマハ V9938
- ヤマハ V9958
- 8ビットコンピュータハードウェアグラフィックスの一覧
注記
参考文献
引用
- ^ a b「TMS9918 アリゾナ技術シンポジウム ドラフト - 開発 - SMS Power!」www.smspower.org。
- ^ http://cini.classiccmp.org/pdf/byte/Hi-Res%20Graphics%20TMS9918%20BYTE%200882.pdf.pdfおよびhttp://mainbyte.com/ti99/hardware/chips/tms9918a_pins.jpgの 65 ページ
- ^ a b c Ciarcia 1982、65ページ。
- ^ Ciarcia 1982、66ページ。
- ^ a b Ciarcia 1982、58ページ。
- ^ a b Ciarcia 1982、62ページ。
- ^ a b Ciarcia 1982、63ページ。
- ^ Ciarcia 1982、59~60頁。
- ^ Ciarcia 1982、60ページ。
- ^ Ciarcia 1982、63~64頁。
- ^ Ciarcia 1982、64ページ。
- ^ビデオ ディスプレイ プロセッサ / ハイブリッド モード。も使用されます。
- ^ a bビデオディスプレイプロセッサ - プログラマーズガイド(PDF) . Texas Instruments.
- ^ Ciarcia 1982、57ページ。
- ^ a b TMS9918A/TMS9928A/TMS9929A ビデオディスプレイプロセッサ データマニュアル(PDF) . Texas Instruments. 1982年11月. pp. 2– 17.
- ^ 「未文書化モード 1 + 2: 投票/ディスカッション | MSX リソース センター (ページ 2/4)」。
参考文献
- Ciarcia, Steve (1982年8月). 「高解像度スプライト指向カラーグラフィックス」(PDF) . Byte . pp. 57–67 , 80.