
VIC -II (ビデオ インターフェイス チップ II ) は、具体的にはMOS テクノロジー6567/6566/8562/8564 ( NTSCバージョン)、6569/8565/8566 ( PAL ) として知られ、Commodore 64およびCommodore 128ホーム コンピュータでY/Cビデオ信号 ( RF モジュレータで複合ビデオに結合される) とDRAMリフレッシュ信号を生成するマイクロチップです。
VIC-20で使用されたオリジナルのMOS Technology VIC の後継として、VIC-II は Commodore 64 の重要なカスタム チップの 1 つになりました (もう 1 つはMOS Technology 6581サウンド チップです)。
開発の歴史
VIC-IIチップは、MOS Technology 6560 "VIC"の後継として、MOS Technology Inc.のAlbert CharpentierとCharles Winterble [1]によって主に設計されました。MOS Technologyのチームは、メモリ速度の制約により、コモドールTOIコンピュータ用のMOS Technology 6562とColor PET用のMOS Technology 6564という2つのグラフィックチップの製造に失敗していました。[2]
VIC-II を製作するために、シャルパンティエとウィンターブルは、現在の家庭用コンピュータとビデオゲームの市場調査を行い、現在の機能と、VIC-II に欲しい機能をリストアップした。スプライトを追加するというアイデアは、TI-99/4AコンピュータとそのTMS9918 グラフィックス コプロセッサから生まれた。衝突検出をサポートするというアイデアは、マテルのインテリビジョンから生まれた。また、 Atari 800からも、必要な機能、特にビットマップ モードが採掘された。これは、MOS チームの目標でもあった。なぜなら、コモドールの主な家庭用コンピュータのライバルはすべてビットマップ グラフィックスを備えていたのに対し、VIC-20 には再定義可能な文字しかなかったからである。[3] [4]チップ表面の約 3/4 がスプライト機能に使用されている。[5]
チップは、Applicon (現在はUGS Corp.の傘下)の電子設計自動化ツールを使って部分的にレイアウトされ、一部は手作業でベラム紙にレイアウトされた。設計は、設計の小さなサブセットを含むチップを製造して部分的にデバッグされ、その後個別にテストされた。MOSテクノロジーは研究開発ラボと半導体工場の両方を同じ場所に置いていたため、これは容易だった。テストチップの最初のバッチは、不良スプライトが1つあるだけで、ほぼ完全に機能する状態だった。[6]チップは5マイクロメートル技術で開発された。[3]
VIC-IIの開発は1981年11月に完了し、ロバート・ヤネスはSIDチップの開発を同時に進めていた。コモドール64と同様に、両チップとも1982年1月の最初の週末に開催されたコンシューマー・エレクトロニクス・ショーに間に合うように完成した。[7]
VIC-IIの特徴
64 のグラフィック モードのいくつかは本当に奇妙で、画面上の文字の色を変更する機能など、Atari や Apple に類似するものがありません。これにより、これまで活用されていなかった多くのカラー機能が実現しました。
— エピックスのクレイグ・ネルソン、1986年[8]
- 画面、文字、スプライトメモリ用の16 kB アドレス空間
- 320 × 200 ピクセルのビデオ解像度 (マルチカラー モードでは 160 × 200)
- 40 × 25文字のテキスト解像度
- 3つの文字表示モードと2つのビットマップモード
- 16色
- スキャンラインごとに8 つのスプライトを同時に処理します。各スプライトは 24 × 21 ピクセル (12 × 21 マルチカラー)
- ラスター割り込み(詳細は下記を参照)
- スムーズなスクロール
- 独立したダイナミックRAMリフレッシュ
- 6502 スタイルのシステム バスのバス マスタリング。CPU と VIC-II は交互に半クロック サイクルでバスにアクセスします(VIC-II は追加のサイクルが必要な場合、CPU を停止します)
技術的な詳細

以下のレジスタ アドレスは、C64 の CPU から見たものとして記載されていることに注意してください。データ シートに通常記載されているレジスタ番号 (つまり、0 から始まる番号) を取得するには、先頭の「D0」を省略する必要があります。
プログラミング

VIC-II は、47 個の制御レジスタ (VIC では 16 個) を操作することによってプログラムされ、メモリはC64 アドレス空間の$D000~$D02E の範囲にマップされます。これらのレジスタのうち、34 個はスプライト制御のみを処理します (VIC-II のドキュメントでは、スプライトは「Movable Object Blocks」の略で MOB と呼ばれています)。VIC-II は、その前身と同様にライト ペン入力を処理し、C64 の標準文字 ROM の助けを借りて、40 列のPETシリーズと同様のサイズのディスプレイで 1977 年のオリジナルのPETSCII文字セットを提供しました。
ラスター割り込みルーチン (スキャンライン割り込み)にフックされたマシン コードを介して VIC-II の制御レジスタを再ロードすることにより、チップをプログラムして 8 個よりはるかに多くのスプライトを同時に生成し (スプライト多重化と呼ばれるプロセス)、一般にプログラムで定義された画面の各スライスに異なるスクロール、解像度、および色のプロパティを与えることができます。 スキャンラインごとに 8 個のスプライトというハードウェア制限は、スプライトを高速で点滅させることによってさらに増やすことができます。 ラスター割り込みの習得は、VIC-II の機能を解き放つために不可欠です。 多くのデモといくつかの後のゲームでは、CPU と VIC-II の間に固定の「ロック ステップ」を確立し、VIC レジスタを正確なタイミングで操作できるようにしました。
キャラクターグラフィック
C64 は 4k ROM に PETSCII 文字セットを搭載して出荷されましたが、それ以前の VIC-20 と同様に、文字の実際のデータは指定された場所のメモリから読み取られました。この場所は VIC-II レジスタの 1 つで、プログラマはメモリに適切なデータを配置することで独自の文字セットを構築できました。各文字は 8x8 グリッドで、1 バイトは水平方向に 8 ビットを表します。したがって、1 文字につき 8 バイトが必要となり、完全な 256 文字セットは合計 2,048 バイトを使用します。理論的には、16k のビデオ メモリ全体がいっぱいになると、最大 8 つの文字セットを使用できます。[9] : 363
文字セットに加えて、VIC-II は 1000 バイトを使用して、1 行あたり 40 文字 (1 文字あたり 1 バイト) の 25 行を保存します。電源投入時のデフォルト構成では、これは$400 - $7E8にあります。[9] : 117–119 カラー RAM は、ビデオ マトリックスのビット 8 から 11 としてアクセスされます。[10] 64 および 128 では、 $D800 - $DBFFの I/O 空間にあり、その場所から移動することはできません。各文字の色 1 (マルチカラー モードでは色 3) の値が含まれています。
キャラクタ ROM は VIC-II の 4 つの「ウィンドウ」のうち 2 つ、$1000 - $1FFFと$9000 - $9FFFにマップされていますが、CPU からは見えません (キャラクタ ROM は$D000 - $DFFFに切り替えられ、CPU からは見えますが、VIC-II からは見えません)。したがって、グラフィックス データまたはビデオ バッファは、VIC -II がキャラクタ ROM を代わりにそこに認識するため、 $1000 - $1FFFまたは$9000 - $9FFFに配置することはできません。これらの RAM 領域は VIC-II グラフィックス チップでは使用できなかったため、音楽/サウンド効果 (SID チップ) によく使用されていました。C64 は、メモリ内の同じアドレスに RAM と ROM を配置できますが、CPU は一方を「認識」し、VIC-II チップは他方を「認識」します。
デフォルトの高解像度文字モードでは、各文字の前景はカラー RAM で個別に設定できます。マルチカラー文字モードでは、カラー 3 は最初の 8 つのカラー値に制限されます。4 番目のビットは、この文字を高解像度で表示するかマルチカラーで表示するかを示すフラグとして使用され、1 つの画面で両方のタイプを混在させることができます。[9] : 460–462 カラー 1 と 2 は、$D022と$D023 のレジスタによって設定され、すべての文字に対してグローバルです。[9] : 373
拡張背景色モードを使用する場合、文字コードの上位 2 ビットを使用して、4 つの背景色レジスタの 1 つを選択します。これにより、画面に 4 つの異なる背景色を使用できますが、使用できる文字が 256 ではなく 64 のみになります。これは制限があるため、ゲームではほとんど使用されません。
ビットマップモード
全ポイント アドレス指定可能なビットマップ モードを追加することは、VIC-I にそのような機能がなかったため、コモドール設計チームの主な目標の 1 つでした。ただし、追加回路をできるだけ少なくするために、文字モードと同じ方法、つまり 8x8 および 4x8 タイルで構成しました。ビットマップ グラフィックスは、ピクセル データ用に 8k ページを必要とし、各バイトは 8 または 4 ピクセルの 1 行に対応します。次のバイトはその下の行で、8 行目以降は次のタイルの先頭に戻ります。
高解像度ビットマップでは、スクリーン RAM は各タイルの前景色と背景色 (各バイトの上位ニブルと下位ニブル) を保持するために使用されます。これは、$D800のカラー RAM または$D021の背景色レジスタをまったく使用しない唯一の VIC-II モードです。
マルチカラー ビットマップ モードでは、タイルごとに 3 つの色を使用できます (4 番目は$D021で設定された背景色です)。色 1 と 2 はスクリーン RAM のビットによって選択され (ハイア ビットマップと同じ)、3 番目はカラー RAM から選択されます。
ビットマップ モードは、色の詳細度が高く、すべてのポイントをアドレス指定できるという特徴がありますが、大量のシステム リソース (ピクセル データに 8k に加えて、各タイルの変更にかなりの CPU サイクルが必要) を必要とするため、ゲーム内のグラフィックには実用的ではありません。また、通常はスクロールできません。そのため、ローダー画面や、場合によってはタイトル画面で最もよく見られます。
スプライト
VIC-II スプライトは、24x21 モノクロまたは 12x21 マルチカラーです。キャラクタ グラフィックスと同様に、後者は各スプライトに 1 つの個別カラーと 2 つのグローバル カラーを持ちます。VIC-II には 8 つのスプライトがあり、それぞれ 64 バイトのメモリを使用して格納されますが、一定の制限はありますが、より多くのスプライトを表示できます。スプライトの多重化は、画面に 8 つを超えるスプライトを表示する一般的な方法です (ただし、スキャン ラインあたりの最大数は 8 つ)。VIC-II スキャン ライン カウンタは、画面上の目的のポイントに到達するまでポーリングするか、ラスタ割り込みを特定のスキャン ラインでトリガーするようにプログラムできます。その後、プログラムはスプライトの座標をすばやく変更します。この方法を使用すると、一度に多くのスプライトを画面に表示できます。合計で 16 から 24 個以上になることがよくあります。ただし、デモの場合、制限はかなり柔軟です。
理論上、同時に表示できる異なるスプライトの最大数は 256 です (VIC-II の 16k ページ全体が埋まっていると仮定)。これらは、ビデオ ページ内の位置に応じて 0 から 255 ($FF) まで、メモリ内の各スプライト パターンを参照するブロック番号を使用してアドレス指定されます (2 番目のビデオ バンク (0、1、2、3 と番号が付けられている) を使用する場合、ブロック 0 は$4000に格納されているスプライトを参照し、ブロック 255 は$7FC0になります)。
各スプライトは、垂直方向、水平方向、またはその両方で 2 倍のサイズにすることができます。これによってスプライトの解像度は上がりませんが (幅 24 ピクセル、高さ 21 ピクセルのままです)、各ピクセルの幅と高さは 2 倍になります。
各スプライトの水平位置レジスタは 1 バイトで、最大値が 255 に制限されているため、それだけでは VIC-II の画面領域の 320 ピクセル全体をカバーすることはできません。そのため、最上位バイト フラグと呼ばれる追加のレジスタが、すべてのスプライトの 9 番目の位置ビットを提供します。
$D01Eと$D01Fには、背景レジスタとスプライト間衝突レジスタが含まれています。前者は、スプライトが接触している特定の背景オブジェクトに関する情報を提供できないため、ほとんど使用されません。
$D01Bには、スプライトを背景グラフィックスの後ろに移動するか前に移動するかを制御するために使用される、スプライトから背景への優先順位レジスタが含まれています。スプライトが別のスプライトと同じスペースに入ると、番号の小さいスプライトが常に番号の大きいスプライトの上を通過します。
スクロール
文字画面をスクロールするには、VIC-II を$D011および$D016のレジスタを介して 38 列および/または 24 行モードに設定します。これにより、スクロールする文字の行が配置されるオフスクリーン バッファが作成されます。上記のレジスタのスクロール ビットを調整することで、1 行を画面上で移動できます。その後、新しい行がバッファに配置されない限り、その行が繰り返されます。カラー RAM は画面 RAM と同時にスクロールされ、同じように動作します。
VIC-II スクロールは比較的複雑で、CPU を集中的に使用するタスクですが、C64 ゲーム プログラマーがグラフィックスを設計してカラー RAM を静的にしておくというごまかしをすることは珍しくありません。もう 1 つの標準的なトリックは、画面の一部 (おそらく下部または上部の 4 行または 5 行) をゲーム ステータス領域として使用してスコア、ライフなどを表示し、実行する必要があるスクロールの量を減らすことです。最後に、画面のティアリングを防ぐために「ダブル バッファリング」手法を使用する必要があることがよくあります。画面 RAM の 1k ブロックが 2 つ予約されています。1 つは表示され、もう 1 つは書き込まれます。その後、vblank 中に VIC-II レジスタの操作によってすばやくスワップされます。残念ながら、これはカラー RAM では実行できません。
C64 の商用化後期に、VSP (Variable Screen Positioning) と呼ばれるエクスプロイトが発見されました。これは、$D011の制御ビットを操作して、標準のスクロール レジスタよりもはるかに低い CPU サイクル コストで高速スクロールを実現するものでしたが、慎重でサイクル厳密なコーディングが必要であり、一部の VIC-II リビジョンでは確実に動作しませんでした。また、水平スクロールにしか使用できませんでした。これは、Mayhem in Monsterlandで特に使用されています。
ラスター割り込み
ラスター割り込みの利用は、C64 ゲーム プログラミングの重要な部分です。コンピューターの電源投入時のデフォルト状態では、最初のMOS テクノロジー CIAチップがマスク可能な割り込み(IRQ) を 1 秒あたり 60 回生成し (NTSC または PAL に関係なく、これはビデオのリフレッシュとは無関係です)、CPU を$EA31のカーネル IRQ ハンドラーに送信します。ハンドラーは CIA の IRQ を認識し、クロックを更新し、キーボードをスキャンし、BASIC でカーソルを点滅させます。
ゲームは通常、CIA の割り込みを無効にし、代わりに VIC-II を設定して、特定のスキャンラインに到達したときに割り込みを生成します。これは、分割画面のスクロールや音楽の再生に必要です。ゲームは、$0314 / $0315のIRQ ベクトルをラスター ハンドラーに再マップします。ラスター ハンドラーはこれらの機能を実行し、オプションで JMP $EA31命令を実行してカーネルに制御を戻します。
ゲームによっては 1 つの IRQ しか使用しないものもありますが、連鎖 IRQ の方が一般的で、プログラムの安定性が向上します。この設定では、IRQ は 2 番目のルーチンに再マップされ、最後のルーチンがそれを最初の IRQ のアドレスに復元するまで、各ルーチンで同様に行われます。連鎖 IRQ を使用する場合、チェーンにはJMP $EA31命令が 1 つだけ必要で、他の命令は JMP $EA81で終了できます。これは、カーネル ハンドラーの末尾に移動するだけです。また、ゲームでカーネルを切り替えて、代わりに独自の IRQ ハンドラーを使用することも珍しくありません。NMI は追加の割り込みスレッドに使用できますが、誤って Restore キーを押すと NMI がトリガーされるため、望ましくない副作用が発生する可能性があります。
VIC-II は衝突レジスタからラスター割り込みを生成することもありますが、ほとんどの場合、プログラムに十分な情報を提供しないため、この機能はほとんど使用されません。
メモリマッピング
VIC-II には 14 ビットのアドレス バスがあり、C64 のメモリ空間の 4 つの 16k セグメントのいずれもビデオ データに使用できます。これを管理するために、CIA のポート ビットによって 2 つの追加アドレス ビットが提供されます。$0000 - $3FFF は電源投入時のデフォルトです。2 番目のセグメント ( $4000 - $7FFF ) は、ROM や I/O レジスタがマップされていない完全にフリーな RAM である唯一のセグメントであるため、BASIC からのプログラミングには通常最適な選択です。4 番目のセグメント ( $C000 - $FFFF ) も、マシン言語が使用されている場合は適切な選択です。CPU による読み取りアクセスを取得するにはカーネル ROM を無効にする必要があり、 $4000 - $7FFFの使用によって生じる不連続なプログラム コードとデータを回避できるためです。グラフィック データは、BASIC ROM の$A000 - $BFFF、カーネル ROM の$E000 - $FFFF、または I/O レジスタとカラー RAM の$D000 - $DFFFの下に自由に保存できることに注意してください。これは、CPU メモリ マッピングがどのように調整されているかに関係なく、VIC-II は RAM のみを認識するためです。文字 ROM は最初のセグメントと 3 番目のセグメントでのみ認識されるため、セグメント 2 または 4 を使用する場合、プログラマは独自の文字データを提供する必要があります。画面 RAM、ビットマップ ページ、スプライト、および文字セットはすべて、同じセグメント ウィンドウを占有する必要があります (CIA ビットがスキャンライン割り込みによって変更されない場合)。システム メモリの最後の 6 バイト ( $FFFA - $FFFF ) には、IRQ、NMI、およびリセット ベクターが含まれているため、メモリの上部を使用して文字セットまたはスプライト データを保存し、カーネル ROM が切り替えられてその下の RAM が CPU に公開される場合、ベクターの上書きを避けるために 1 つの文字またはスプライトを犠牲にする必要があります。
レジスター
VIC-II には、以下に示す 47 個の読み取り/書き込みレジスタがあります。
色

マルチカラー キャラクタ モード (ほとんどのゲームが使用する 160×200 ピクセル) では、キャラクタは 4×8 ピクセル (ピクセルが 2 倍の幅であるため、キャラクタはほぼ正方形のまま) と 16 色のうち 4 色を持ちます。3 色は画面全体で同じ (背景色、マルチカラー 1、およびマルチカラー 2 レジスタ) ですが、残りの色はカラー RAM で定義されている 4×8 ピクセル領域ごとに個別に設定できます。マルチカラー モード (12×21 ピクセル) のスプライトには 3 色と透明度があります。2 色はすべてのスプライトで共有され、1 色は個別の色です。アーティストは、個別の色との組み合わせによってカラフルな印象になるように共有色を選択します。一部のゲームでは、ラスター割り込み中に共有色を再ロードします。たとえば、ゲームTurrican II の水中領域 (垂直方向に区別されていました) は異なる色になっています。EpyxのSummer GamesやCOMPUTE!のGazetteのBasketball Sam & Edなどの他のゲームでは、2つの高解像度スプライトを重ね合わせることで、水平解像度を犠牲にすることなく2つの前景色を使用できるようになっています[1]。もちろん、この手法では利用可能なスプライトの数は半分に減ります。
PAL C64では、モニターやテレビのPAL遅延ラインは連続する画面ラインの色相を平均化するが、明るさは平均化しないため、同じ明るさの2色を交互に表示する画面ラインによって7つの非標準色を作成することができる。VICチップにはこのような色のペアが7つある。[11]
C64 のチームは、16 色のパレットを数学的に計算することにあまり時間をかけませんでした。VIC-II の開発に携わったロバート・ヤネス氏は次のように述べています。
残念ながら、色の選択には皆さんが考えているほどの労力はかかっていません。色相、彩度、輝度を完全に制御できたので、好きな色を選びました。ただし、チップ上のスペースを節約するために、多くの色は、私たちが選んだ色とはカラーホイールの反対側の色になりました。これにより、色ごとに完全に独自のセットを用意するのではなく、既存の抵抗値を再利用することができました。[12]
PAL C64で使用されたVIC-IIの初期バージョンは、後のバージョンとは異なるカラーパレットを持っています。[13]
16 色の完全なパレットは、以下に示すように、 YPbPr信号のバリエーションに基づいて生成されます。
VIC-IIe は

Commodore 128の 8564/8566 VIC-IIe は、40 ピンではなく 48 ピンを使用しています。これは、そのコンピュータの追加のZilog Z80 CPU のクロックなど、より多くの信号を生成するためです。また、2 つの追加レジスタもあります。追加レジスタの 1 つは、そのコンピュータの追加された数字キーパッドやその他の追加キーにアクセスするためのものです。この機能が VIC に追加されたのは、必要な 3 つの追加出力ピンを追加するのにコンピュータ内で最も簡単な場所であることがわかったためです。もう 1 つの追加レジスタは、1 MHz と 2 MHz のシステム クロックを切り替えるためのものです。より高速の場合、VIC-II のビデオ出力は、画面上に黒のハイアラー ビット パターンとしてコードの 1 バイトごとに表示するだけなので、その速度では C128 の 80 列モード ( 8563 VDC RGB チップ経由) が使用されることになります。非公式ではあるが、この2つの追加レジスタはC128のC64モードでも利用可能で、自作C64プログラムで追加キーの使用やCPU依存コード(集中的な数値計算など)のビデオなしの2倍速実行が可能となっている。[14]また、追加レジスタはC128のC64モードと実際のC64との間の軽微な非互換性の原因の1つでもある。いくつかの古いC64プログラムが、2 MHzトグル ビット。これは実際の C64 ではまったく何もしませんが、C64 モードの C128 では表示が乱れます。
VIC-IIe には、レジスタを特定の方法で操作して、チップの他の部分が認識している色信号の位相をずらすことで、追加の色セットを作成するというあまり知られていない機能があります。[引用が必要]この機能は、「Risen from Oblivion」デモで実証されました。[15]残念ながら、すべてのモニターで機能するわけではありません。正しい色は、コモドール CRT モニターと同等のモニターで確認されています。
VIC-IIeのテストビットの特定の動作を使用すると、解像度320×400(ハイレゾモード)および160×400(マルチカラーモード)の実際のインターレース画像を生成することもできます。[16]
VIC-II バージョン一覧
コモドールはVIC-IIの生涯を通じて多くの改良を加えた。 1983年7月に発行されたCompute!のGazetteの創刊号では、1982年半ばのコモドール64の発売以来すでに8つの改良が加えられていると報じられた。[17]
- パル
- NTSC
- MOS テクノロジー 6566 – SRAM / 非多重化アドレス ライン用に設計 ( MAX マシンで使用)
- MOS テクノロジー 6567 – オリジナル NMOS バージョン
- MOS テクノロジー 8562 – HMOS-II バージョン
- MOS テクノロジー 8564 – VIC-II E C128 バージョン
VIC-II の最も初期のリビジョンは、1982年から1983年初頭にかけて製造されたマシンで使用されました。熱上の理由からセラミック製のシェルを持ち、1ラインあたり64のNTSCカラークロックを生成しました。これらのチップは、分離された彩度信号と輝度信号を出力しませんでした。後のリビジョンでは、より安価なプラスチック製のシェルと、ラインあたり65のカラークロック (NTSCの場合、63 PALの場合) を備え、彩度と輝度が分離され、初期のSビデオ形式が可能になりました。いくつかのリビジョンは、初期のユニットでは貧弱だったビデオ出力品質の向上と、画面にランダムなピクセルが表示されるバグの除去を主な目的として行われました (いくつかの初期のゲームは、グラフィック効果のためにこれを意図的に利用していましたが、その結果、後のC64では機能しませんでした)。最初のVIC-IIの64カラークロックは、Atari 8ビットコンピューターのように高解像度ビットマップモードでNTSCアーティファクトカラーを可能にすることを目的としていましたが、そのアイデアはすぐに放棄されました。
コスト上の理由からプラスチック シェルに切り替える必要があったため、VIC-II では過熱が問題になる傾向がありました。これは、使用されるプロセスに比べてダイの密度が高いことや、内部速度が速い (8 MHz) ことなど、いくつかの理由によるものです。コモドールは、アルミニウムRF シールドをヒートシンクとして使用するという即席の解決策を試みました (NTSC マシンの場合。PAL マシンは米国よりも RF 干渉基準が緩い国で販売されていたため、アルミニウム コーティングされたボール紙のみを使用)。しかし、過熱とチップの故障を完全に防ぐことはできませんでした。
C64C で使用されている 85xx VIC-II は、より現代的な 3.5 μm HMOS プロセスで製造されており、65xx VIC-II の 12V と 5V のデュアル レールではなく、5V のシングル レールのみを必要とします。これらのチップは大幅に低温で動作し、65xx VIC-II に影響する過熱の問題に悩まされることはありません。
6569 には、6569R1 (通常は金メッキ)、6569R3、6569R4、6569R5 など、いくつかのバージョンがあります。8565 の最も一般的なバージョンは 8565R2 です。
参照
参考文献
- ^ ピアスオール、キンバリー。「コモドール64エンジニアリングチームのリーダーはヨークタウンに引退したことが判明」。pilotonline.com 。2021年10月12日閲覧。
- ^ バグナル、ブライアン (2005)。「The Secret Project 1981」。On the Edge: The Spectacular Rise and Fall of Commodore (第 1 版)。マニトバ州ウィニペグ: Variant Press。224 ~ 225ページ。ISBN 0-9738649-0-7。
- ^ ab Perry, Tekla S.; Wallich, Paul (1985 年 3 月). 「設計事例史: Commodore 64」(PDF) . IEEE Spectrum . 22 (3). ニューヨーク、ニューヨーク: Institute of Electrical and Electronics Engineers : 48– 58. doi :10.1109/MSPEC.1985.6370590. ISSN 0018-9235. S2CID 11900865. 2012 年 5 月 13 日時点の オリジナル(PDF)からアーカイブ。2011 年 11 月12 日閲覧。
- ^ バグナル、ブライアン (2005)。「The Secret Project 1981」。On the Edge: The Spectacular Rise and Fall of Commodore (第 1 版)。マニトバ州ウィニペグ: Variant Press。227 ページ。ISBN 0-9738649-0-7。
- ^ バグナル、ブライアン (2005)。「The Secret Project 1981」。On the Edge: The Spectacular Rise and Fall of Commodore (第 1 版)。マニトバ州ウィニペグ: Variant Press。229 ページ。ISBN 0-9738649-0-7。
- ^ バグナル、ブライアン (2005)。「The Secret Project 1981」。On the Edge: The Spectacular Rise and Fall of Commodore (第 1 版)。マニトバ州ウィニペグ: Variant Press。230 ページ。ISBN 0-9738649-0-7。
- ^ バグナル、ブライアン (2005)。「The Secret Project 1981」。On the Edge: The Spectacular Rise and Fall of Commodore (第 1 版)。マニトバ州ウィニペグ: Variant Press。242 ページ。ISBN 0-9738649-0-7。
- ^ Yakal, Kathy (1986 年 6 月)。「The Evolution of Commodore Graphics」。Compute!'s Gazette。pp . 34– 42。2019年 6 月 18 日閲覧。
- ^ abcd Cowper, Ottis R. (1986). Mapping the Commodore 128. ノースカロライナ州グリーンズボロ: COMPUTE! Books. ISBN 0-87455-060-2。
- ^ 「6567 ビデオ インターフェイス チップ: 仕様シート」(PDF)。Commodore Semiconductor Group。シート 2 および 5。
- ^ 「C64 の Luma 駆動型グラフィックス」。
- ^ Timmermann, Philip. 「Commodore VIC-II カラー分析 (プレビュー)」。2018年2月11日閲覧。
- ^ Sjöstedt, Ilkka (2016年3月30日). 「Old VIC-II Colors and Color Blending」. ilesjのブログ. 2018年2月11日閲覧。
- ^ Cowper, Ottis R.; Florance, David; Heimarck, Todd D.; Krause, John; Miller, George W.; Mykytyn, Kevin; Nelson, Philip I.; Victor, Tim (1985 年 10 月)。「第 7 章 システム アーキテクチャ」。COMPUTE ! の 128 プログラマーズ ガイド。ノースカロライナ州グリーンズボロ: COMPUTE! 出版。pp . 348– 349。ISBN 0-87455-031-9。
- ^ 「忘却からの復活 - トリビア」。
- ^ 「VIC-IIe インターレース」.
- ^ Halfhill, Tom R. (1983 年 7 月). 「Commodore 64 ビデオ アップデート」. Compute!'s Gazette . p. 40. 2016 年2 月 6 日閲覧。
- 「付録 N: 6566/6567 (VIC-II) チップ仕様」。コモドール 64 プログラマーズ リファレンス ガイド(PDF) (第 1 版)。コモドール ビジネス マシン。1982 年 。436 ~ 456ページ。ISBN 0-672-22056-3。
外部リンク
- MOS 6567/6569 ビデオ コントローラ (VIC-II) と Commodore 64 でのその応用 - VIC-II の詳細なハードウェアの説明。
- Commodore VIC-II カラー分析 (プレビュー) - Philip Timmermann による、VIC-II カラー パレットに関する正確な情報を提供する試み。
- C64 グラフィック モードの説明 - ハッキング モードやソフトウェア支援モードなど、C64 グラフィックに使用される一般的なモードについて、サンプル画像とともに簡単に説明します。
- VIC-IIe を使用したリアルインターレースビデオモード。
- Codebase64 上の VIC プログラミング情報。
- VIC-II ダイショット
- PAL および NTSC ディスプレイに表示される Commodore C64 - VIC-II パレットのビデオ出力を正確に再現します。ピクセル アスペクト比を計算します。
