知識ベース

ラスター割り込み

ラスター割り込み水平ブランク割り込みとも呼ばれます )は、表示タイミングに使用されるコンピューターシステムの割り込み信号です。常にではありませんが、通常は、フレームのスキャンラインが表示のためにモニターに送信する準備ができているときに、システムのグラフィックチップによって生成されます。

このような割り込みは、グラフィックレジスタがフレームの途中で変更されるメカニズムを提供するため、割り込みポイントの上下で異なる値を持ちます。これにより、単色オブジェクトに複数の水平カラーバンドを持たせたり、スプライトを再配置して、システムがサポートするよりも多くのスプライトがあるように見せることができます。制限は、変更が割り込みの下のディスプレイの部分にのみ影響することです。単一のスキャンラインでより多くの色やスプライトを使用することはできません。

ラスター割り込みをサポートするシステム

いくつかの一般的な家庭用コンピュータとビデオゲームコンソールには、ラスター割り込みをサポートするグラフィックチップが含まれていたり、ラスター割り込みのように機能するように組み合わせられる機能がありました。

バリーアストロケード(1977)

Atari 8ビットファミリ(ANTICチップ、1979年)

Atari 8ビットファミリで使用されるANTICチップには、ディスプレイの描画時にトリガーされるディスプレイリスト割り込み (DLI)が含まれています。 ANTICチップ自体はかなり強力であり、他のシステムが複製するためにラスター割り込みを必要とする多くの機能を本質的に備えています。 ANTICは、画面上で複数のグラフィックモードを混合し、水平および垂直のオーバースキャングラフィックを表示し、選択した水平領域を細かくスクロールできます。通常、AtariのDLIは、ディスプレイに色を追加し、Player / Missileグラフィック要素を再利用するために使用されます。

Commodore 64(MOS Technology VIC-IIチップ、1982)

C64のVIC-IIには、柔軟なラスター割り込みシステムがあります。画面上のスプライトを再利用し、グラフィックモードを混合し、画面領域を選択的にスクロールするには、ラスター割り込みとCPUの介入が必要です。

ニンテンドーエンターテイメントシステム(PPUチップ、1983)

ニンテンドーエンターテインメントシステムのPPUグラフィックチップは、真のラスター割り込みをサポートしていません-割り込みは、垂直ブランクインターバル中にトリガーするように設定できますが、任意のスキャンラインではできません-代わりに、最初のスプライトを示す「ヒットフラグ」のポーリングが必要です描かれていた。 Super Mario Bros.CastlevaniaThe Legend of Zeldaのような初期のゲームは、この方法で効果的に分割画面スクロールを生成することができましたが、CPUを集中的に使用します。後のいくつかのカートリッジには、PPUのアドレスとデータラインを追跡し、ラスター割り込みを生成するMMC回路(最も有名な任天堂のMMC3チップ)が組み込まれていました。

MSX2(ヤマハV9938、1985)

MSX2コンピューターは、NESと同様に「垂直ブランク割り込み」をサポートしますが、「水平ブランク割り込み」のポーリングを必要とする専用のYamaha V9938ビデオディスプレイプロセッサー(VDP)を備えています。一般に、分割画面の作成、1つの画面で複数のビデオモードの混合、および公式仕様を超える画面上の一意の色数の増加に使用されていました。顕著な使用例は、アレステシリーズとコナミのスペースマンボウです。

Amiga提督(銅チップ、1985年)

Amigaコンピューターには、ラスター割り込みの処理専用のCopperと呼ばれるカスタムコプロセッサーが含まれています。カッパーは、特定の垂直スキャンラインと水平ビーム位置を待機するよう指示する簡単な命令のプログラムを実行し、カスタムチップハードウェアレジスタの内容を更新します。これは通常、ディスプレイモードの混合、スプライトの再利用、カラーレジスタの変更などのディスプレイパラメータの変更に使用されますが、CPU割り込みのトリガーにも使用できます。

任天堂ゲームボーイ(PPUチップ、1989)

Game BoyのPPUは4つのラスター割り込みをサポートしています。指定されたスキャンラインの開始時、スキャンラインの終了時(水平ブランキング中)、すべてのスキャンラインの開始時、または垂直ブランキングの開始時にトリガーするように設定できます。最大の欠点は、最初の3つに同じ割り込みハンドラーが使用され、複数の条件が使用される場合は「ディスパッチ」コードを使用する必要があることです。

スーパーファミコン(1990)

参照資料

  1. ^ De Re Atari 。 Atari、Inc. 1982。
  2. ^ Watson、Alan(1982)。 「リスト割り込みの表示の概要」。 COMPUTE!のアタリのセカンドブック
  3. ^ 「ビデオ表示」。 GBDev Wiki 。 2017年10月20日取得。