IO ポート (メイン) > 0x2133

0x2133 - SETINI (スクリーンモード/ビデオ設定)

アクセスフラグ : 書バ強VH-

7 6 5 4 3 2 1 0
s e - - p o I i
  • s : 外部同期 "sfx" グラフィックスのスーパーインポーズに使用します。 通常は 0 です。このビットについて他に分かることはありません。 SPPU1 チップには "EXTSYNC" (または not-EXTSYNC) というピンがあり、 これは Vcc に繋げられています。
  • e : モード 7 拡張BG このビットがセットされている時、モード 7 の BG2 が有効になります。 BG2は、BG1と同じタイルとキャラクタデータを使用しますが、 色データの上位ビットは、ピクセルの優先順位として解釈されます。

様々なところで、このビットがビット 7 にも関連している 可能性があると報告されています。 例えば、「外部LSIからのデータ供給有効」というようなものです。 これはもちろん勘違いだと思います。

  • p : 擬似ハイレゾモード有効 サブスクリーンから(ゼロベースで)偶数番号のピクセルを、 メインスクリーンから奇数番号のピクセルを取得することで 水平方向に512ピクセルの解像度を作ります。 カラーマスはモード5/6の時と同じように動作します。 インターレスビットは影響を受けません。 モザイクは通常通り動作します(モード5/6のようにではなく)。 ウインドウによってサブスクリーンはクリッピングされ、 メインスクリーンの左側もクリッピングされます。 右側は想像通りにはクリッピングされません。 ピクセル列 0 はどうなるのか分かりません。 モード 5/6 の時にこのビットをセットしても変更はありません。
  • o : オーバースキャンモード 1の時、通常の 224 行に代わって、239 行が画面に表示されます。 これは、V-Blank の開始が遅れることと、期間が短くなることを意味します。 スクリーンに追加された行はTVに表示されますが、 8ピクセル分上に移動します。
  • I : OBJ インターレス 1の時、BGモードに関係なく、OBJがインターレスモードになり、 半分の高さで表示されます。(ビット 0 参照) これは、OBJが通常通り描画されるかそうでないかだけを設定します。 TVに対するインターレス信号の出力は下記のビット 0 で指定します。
  • i : スクリーンインターレス 1の時、モード 5 (多分6も) の BG の スクリーンが 224 (または 239) ではなく、 448 (または 478) ピクセルになります。 他のモードでこのフラグをセットすると、1 ピクセルずつ飛び飛びに表示されます。 タイルマップのそれぞれの項目は、位置を変えることで 高くなったスクリーンを表現します。 (擬似ハイレゾモードのような動作) また、ハードウェアの方は、 SNES の画面を 普通のインターレス信号で出力するようになります。

オーバースキャンフラグについての注意: 通常の NMI トリガーポイントの前に、これを 0xE0 (224) 行に変更した場合、 フレーム中ずっとこれを設定したような意味になってしまいます。 これは NMI トリガーポイントとHDMA の停止に影響します。 (訳注:NMIトリガーについて調べた後、もっかいきちんと読んで修正します。)

一番初めの方のスキャンライン "X" (0xE1 <= X <= 0xF0) でオーバースキャンを 0 にすると、 NMI が X 行で発生し、最後の HDMA 転送が X-1 行で起こります。 表示領域は普通のオーバースキャンでないモードと同じ 0xE1 ~ 0xEC の位置に残り、 0xED の1ピクセルだけ上の位置に移動します。 そして、0xEF ~ 0xF4 で 垂直同期を失います。

行 0xE1 (225) でフラグをオンにした場合、 NMI が 0xE2 (226) 行で発生し、 0xE0 行で起こった最後のHDMAがまだ発生している。 いつでもフラグをオフにした時には他に何かが起こるが、 スキャンラインの開始から十分時間が経過した後では 何も起こらない。

何も画面変化が起こらない場合でも、 オーバースキャンの設定はVRAMの書き込みに影響を及ぼす。 0xE1(225) ~ 0xF0(240) の間に、 以下のようなコードを実行すると、

LDA #'-' STA $2118 LDA r2133 STA $2133 LDA #'+' STA $2118

オーバースキャンフラグが 0 か、 1 かによって、 VRAMには + のみ、または - のみが書き込まれる。

タグ:

+ タグ編集
  • タグ:

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

最終更新:2017年02月20日 19:14