MOSテクノロジー8568

MOSテクノロジー8568ビデオディスプレイコントローラ(VDC)は、コモドール128DCRパーソナルコンピュータの80列[1]またはRGB Iディスプレイを担うグラフィックプロセッサでした。[ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ]コモドール128のサービスマニュアルでは、このコンポーネントは「80列CRTコントローラ」と呼ばれていました。8568は、旧型の6545EモノクロCRTコントローラの多くの機能に加え、RGBIカラー表示機能も備えていました。[2]
特徴
- 80 × 25文字のテキスト解像度。
- 最大ビデオ解像度720×700ピクセル。 [ 6 ]
- 最大80 × 50 のテキスト、640H × 480V のビットマップをインターレースします。
- 3 つの文字モード: 標準、セミグラフィック、グラフィック、倍幅、HiRes ビットマップ。
- 出力: 16 色または 16 グレー シェードのデジタルRGBI 、および限定されたモノクロ合成。
- その他の I/O 機能: インターレース モード、水平および垂直スクロール、ライト ペン入力、ハードウェア カーソル、下線、点滅、反転ビデオ、各 256 の 2 つの文字セット、更新対応割り込み。
- メモリ: 64 KB のメモリにアクセスでき、4164/4464 または 4416 DRAM のいずれかにインターフェースするようにプログラム可能です。
- ピン数:48ピン、+5 ボルトDC電源。[ 7 ]
8568対8563
オリジナルの(「フラット」な)コモドール128とコモドール128D(ヨーロッパ向けプラスチック筐体バージョン)は、80列ディスプレイを生成するために8563ビデオコントローラを使用していました。8568は本質的に8563のアップデート版であり、後者の機能と、以前は8563の近傍に配置された個別部品を用いて実装されていたグルーロジックを組み合わせたものです。8563とは異なり、8568には(C-128では)未使用のアクティブロー割り込み要求ライン(/INTR)が搭載されていました。これは、8568のステータスレジスタの「ready」ビットが0から1に変化したときにアサートされます。制御レジスタを読み取ると、 が自動的にデアサートされます/INTR。ピン配置と回路インターフェースの違いにより、8563と8568は電気的に互換性がありません。[3]
表示モード
コモドール128には2つのビデオ表示モードがあり、通常は単独で使用されていましたが、コンピュータに2台の互換性のあるビデオモニターを接続すると同時に使用できました。コモドール64にも搭載されていたVIC-IIチップはメインメモリに直接マッピングされていました。ビデオメモリとCPU(8502およびZ80Aプロセッサ)は共通の128kB RAMを共有し 、VIC -II制御レジスタはメモリロケーションとしてアクセスされました(つまり、メモリマップ方式でした)。
VDCへのアクセス
VIC-IIとは異なり、8568は独自のローカルビデオRAMを搭載しており、C-128DCRモデル(北米販売)では64KB、C-128Dモデル(欧州販売)では製造時期によって16KBまたは64KBでした。VDCの内部レジスタと専用ビデオメモリのアドレス指定は、間接的な手段で行わなければなりません。まず、プログラムはVDCに対し、37個の内部レジスタのうちどのレジスタにアクセスするかを指示する必要があります。次に、プログラムはVDCがアクセス可能になるまで待機し、その後、選択された内部レジスタの読み取りまたは書き込みを実行できます。以下は、レジスタ読み取りの典型的なコードです。
ldx # regnum ;アクセスする VDC レジスタstx $d600 ;制御レジスタへの書き込みloop bit $d600 ;ステータス レジスタのビット 7 をチェックbpl loop ;VDC の準備ができていませんlda $d601 ;VDC レジスタから読み取り...次のコードは、レジスタ書き込み操作の典型的な例です。
ldx # regnum ;書き込む VDC レジスタstx $d600 ;制御レジスタに書き込むloop bit $d600 ;ステータス レジスタのビット 7 をチェックbpl loop ;VDC の準備ができていませんsta $d601 ;VDC レジスタに書き込む...8568 を制御するこのやや面倒な方法のため、ビットマップモードで可能な最大フレーム レートは、ディスプレイのビット集約型操作が必要なアーケード スタイルのアクション ビデオ ゲームには一般的に遅すぎます。
8568 の最終バージョンでは、部品番号にリビジョン コード R9a または R9b が追加されており、文書化されていない改良点を示しているようです。
登録リスト
この情報はコモドール128プログラマーズリファレンスガイド[ 8 ]から引用したものです。
| 登録する | 16進数 | ビット7 | ビット6 | ビット5 | ビット4 | ビット3 | ビット2 | ビット1 | ビット0 | 説明 |
|---|---|---|---|---|---|---|---|---|---|---|
0 | 00ドル | HT7 | HT6 | HT5 | HT4 | HT3 | HT2 | HT1 | HT0 | 水平合計 |
1 | 01ドル | HD7 | HD6 | HD5 | HD4 | HD3 | HD2 | HD1 | HD0 | 水平表示 |
2 | 02ドル | HP7 | HP6 | HP5 | HP4 | HP3 | HP2 | HP1 | HP0 | 水平同期位置 |
3 | 03ドル | VW3 | VW2 | VW1 | VW0 | HW3 | HW2 | HW1 | HW0 | 垂直/水平同期幅 |
4 | 4ドル | VT7 | VT6 | VT5 | VT4 | VT3 | VT2 | VT1 | VT0 | 縦合計 |
5 | 5ドル | — | — | — | VA4 | VA3 | VA2 | VA1 | VA0 | 垂直調整 |
6 | 6ドル | VD7 | VD6 | VD5 | VD4 | VD3 | VD2 | VD1 | VD0 | 縦表示 |
7 | 7ドル | VP7 | VP6 | VP5 | VP4 | VP3 | VP2 | VP1 | VP0 | 垂直同期位置 |
8 | 8ドル | — | — | — | — | — | — | IM1 | IM0 | インターレースモード |
9 | 9ドル | — | — | — | — | CTV4 | CTV3 | CTV2 | CTV1 | 文字数合計(縦) |
10 | 0Aドル | — | CM1 | CM0 | CS4 | CS3 | CS2 | CS1 | CS0 | カーソルモード、カーソル開始スキャンライン |
11 | 00億ドル | — | — | — | CE4 | CE3 | CE2 | CE1 | CE0 | カーソル終了スキャンライン |
12 | 0セント | DS15 | DS14 | DS13 | DS12 | DS11 | DS10 | DS9 | DS8 | ディスプレイ開始アドレス上位バイト |
13 | $0D | DS7 | DS6 | DS5 | DS4 | DS3 | DS2 | DS1 | DS0 | ディスプレイ開始アドレス下位バイト |
14 | $0E | CP15 | CP14 | CP13 | CP12 | CP11 | CP10 | CP9 | CP8 | カーソル位置上位バイト |
15 | $0F | CP7 | CP6 | CP5 | CP4 | CP3 | CP2 | CP1 | CP0 | カーソル位置下位バイト |
16 | 10ドル | LPV7 | LPV6 | LPV5 | LPV4 | LPV3 | LPV2 | LPV1 | LPV0 | ライトペンの垂直位置 |
17 | 11ドル | LPH7 | LPH6 | LPH5 | LPH4 | LPH3 | LPH2 | LPH1 | LPH0 | ライトペンの水平位置 |
18 | 12ドル | UA15 | UA14 | UA13 | UA12 | UA11 | UA10 | UA9 | UA8 | アドレス上位バイトの更新 |
19 | 13ドル | UA7 | UA6 | UA5 | UA4 | UA3 | UA2 | UA1 | UA0 | アドレス下位バイトの更新 |
20 | 14ドル | AA15 | AA14 | AA13 | AA12 | AA11 | AA10 | AA9 | AA8 | 属性開始アドレス上位バイト |
21 | 15ドル | AA7 | AA6 | AA5 | AA4 | AA3 | AA2 | AA1 | AA0 | 属性開始アドレス下位バイト |
22 | 16ドル | CTH3 | CTH2 | CTH1 | CTH0 | CDH3 | CDH2 | CDH1 | CDH0 | 文字数合計(水平)、文字表示(水平) |
23 | 17ドル | — | — | — | CDV4 | CDV3 | CDV2 | CDV1 | CDV0 | 文字表示縦 |
24 | 18ドル | コピー | RVS | CBRATE | VSS4 | VSS3 | VSS2 | VSS1 | VSS0 | 垂直スムーズスクロール |
25 | 19ドル | 文章 | ATR | セミ | DBL | HSS3 | HSS2 | HSS1 | HSS0 | 水平スムーズスクロール |
26 | 1Aドル | FG3 | FG2 | FG1 | FG0 | BG3 | BG2 | BG1 | BG0 | 前景色/背景色 |
27 | 10億ドル | AI7 | AI6 | AI5 | AI4 | AI3 | AI2 | AI1 | AI0 | 行ごとのアドレス増分 |
28 | 1セント | CB15 | CB14 | CB13 | ラム | — | — | — | — | 文字ベースアドレス |
29 | 1ドル | — | — | — | UL4 | UL3 | UL2 | UL1 | UL0 | 下線スキャンライン |
30 | 1ユーロ | WC7 | WC6 | WC5 | WC4 | WC3 | WC2 | WC1 | WC0 | 単語数 |
31 | 1Fドル | DA7 | DA6 | DA5 | DA4 | DA3 | DA2 | DA1 | DA0 | データレジスタ |
32 | 20ドル | BA15 | BA14 | BA13 | BA12 | BA11 | BA10 | BA9 | BA8 | ブロック開始アドレス上位バイト |
33 | 21ドル | BA7 | BA6 | BA5 | BA4 | BA3 | BA2 | BA1 | BA0 | ブロック開始アドレス下位バイト |
34 | 22ドル | DEB7 | DEB6 | DEB5 | DEB4 | DEB3 | デブ2 | DEB1 | デブ0 | ディスプレイの有効化開始 |
35 | 23ドル | ディー7 | ディー6 | ディー5 | DEE4 | ディー3 | DEE2 | DEE1 | ディーオー | ディスプレイ有効化終了 |
36 | 24ドル | — | — | — | — | DRR3 | DRR2 | DRR1 | DRR0 | DRAMリフレッシュレート |
37 [ 9 ] | 25ドル | 同期 | VSYNC | — | — | — | — | — | — | SYNC 極性(文書化されていない) |
注記
- ^ コモドール 128 の用語では、VIC-II ディスプレイは 40 列ディスプレイ、VDC はネイティブに表示できる固定ピッチ テキストの列数から 80 列ディスプレイと呼ばれていました。
- ^ コモドール サービスマニュアル 314001-08 (1987)。
- ^ C-128がどのモードで動作しているかに関わらず、8563/8568のハードウェアは常にアドレスバスとデータバス上で参照可能です。そのため、C-64互換モードで動作させながら80列のディスプレイを生成することが可能です。もちろん、C-64オペレーティングシステムはサポートされていません。
参考文献
- ^ 「MITHのビンテージコンピューター | MOS 8568グラフィックスマイクロプロセッサ」 . archive.mith.umd.edu . 2022年11月18日閲覧。
- ^ 「Commodore 128D コンピュータシステム - Player's Choice」 . www.playerschoicevideogames.com . 2022年11月18日閲覧。
- ^ Tabke, Brett (1996). 「Commodore 8ビットIC技術リファレンス」 .
- ^ 「ビデオディスプレイコントローラ VDC 実例一覧 - 展示会」 . PANASYS . 2022年11月18日閲覧。
- ^ 「Commodore 128 (D)」 . www.storiainformatica.it . 2022年11月18日閲覧。
- ^ 「空」。グラフィックブースター128
- ^ "empty" . 2009年10月28日時点のオリジナルよりアーカイブ。090425 ジオシティーズ
- ^ Commodore Capital, Inc., (1986). Commodore 128 プログラマーズリファレンスガイド. p.294, ニューヨーク: Bantam Books, Inc.
- ^ 「Uncovered: The VDC 8568's 38th register」 2012年2月19日時点のオリジナルよりアーカイブ。2008年12月30日閲覧。