アドレス |
機能 |
$2100 |
スクリーン表示
bit7: 表示ON/OFF(0:ON,1:OFF) bit3-0:
明るさ
|
$2101 |
スプライトサイズ
bit7-5: スプライトサイズ選択
000: 8x8 or 16x16 001: 8x8 or 32x32 010: 8x8 or
64x64 011: 16x16 or 32x32 100: 16x16 or 64x64 101: 32x32 or
64x64
bit4-3: スプライトパタンデータのオフセット(4KWORD単位) bit2-0:
スプライトパタンデータのアドレス(8KWORD単位)
|
$2102-$2103 |
スプライトアドレスレジスタ スプライトメモリ(OAM-RAM)のアドレスを指定します。 bit15:
優先順位変更(1:指定アドレスのスプライトを最優先に) bit8-0: OAMアドレス
|
$2104 |
スプライトデータレジスタ $2102-$2103で指定したアドレスにデータを書き込みます。 このレジスタは2度書きレジスタで、最初に書いた値が下位8bit、次に書いた値が上位8bitになります。
|
$2105 ($3Eから転記) |
BGモードレジスタ
bit7: BG4のタイルサイズ(0:8x8, 1:16x16) bit6:
BG3のタイルサイズ(0:8x8, 1:16x16) bit5: BG2のタイルサイズ(0:8x8,
1:16x16) bit4: BG1のタイルサイズ(0:8x8, 1:16x16) bit3:
BGモード1のときのBG3の優先順位 bit2-0: BGモード選択
モード |
BG数 |
色数 |
パレット数 |
備考 |
0 |
4 |
4/4/4/4 |
8/8/8/8 |
|
1 |
3 |
16/16/4 |
8/8/8 |
|
2 |
2 |
16/16 |
8/8 |
|
3 |
2 |
256/16 |
1/8 |
|
4 |
2 |
256/4 |
1/8 |
|
5 |
2 |
16/4 |
8/8 |
インタレース |
6 |
1 |
16 |
8 |
インタレース |
7 |
1 |
256 |
1 |
拡張BG(拡大縮小回転)使用可能 | |
$2106 |
モザイク
bit7-4: モザイクサイズ bit3: BG4モザイク有効(1:有効, 0:無効) bit2:
BG3モザイク有効(1:有効, 0:無効) bit1: BG2モザイク有効(1:有効, 0:無効) bit0:
BG1モザイク有効(1:有効, 0:無効)
|
$2107 |
BG1マップアドレス/サイズ
bit7-2: マップアドレス(1KWORD単位) bit1-0: マップサイズ(00:32x32,
01:64x32, 10:32x64, 11:64x64)
|
$2108 |
BG2マップアドレス/サイズ
bit7-2: マップアドレス(1KWORD単位) bit1-0: マップサイズ(00:32x32,
01:64x32, 10:32x64, 11:64x64)
|
$2109 |
BG3マップアドレス/サイズ
bit7-2: マップアドレス(1KWORD単位) bit1-0: マップサイズ(00:32x32,
01:64x32, 10:32x64, 11:64x64)
|
$210A |
BG4マップアドレス/サイズ
bit7-2: マップアドレス(1KWORD単位) bit1-0: マップサイズ(00:32x32,
01:64x32, 10:32x64, 11:64x64)
|
$210B |
BG1,BG2キャラクタアドレス
bit7-4: BG2キャラクタアドレス(4KWORD単位) bit3-0:
BG1キャラクタアドレス(4KWORD単位)
|
$210C |
BG1,BG2キャラクタアドレス
bit7-4: BG2キャラクタアドレス(4KWORD単位) bit3-0:
BG1キャラクタアドレス(4KWORD単位)
|
$210D |
BG1水平スクロール値 BG1の水平スクロール値を11bitで指定します。 このレジスタは2度書きレジスタで、最初に書いた値が下位8bit、次に書いた値が上位8bitになります。
|
$210E |
BG1垂直スクロール値 BG1の垂直スクロール値を11bitで指定します。 このレジスタは2度書きレジスタで、最初に書いた値が下位8bit、次に書いた値が上位8bitになります。
|
$210F |
BG2水平スクロール値 BG2の水平スクロール値を11bitで指定します。 このレジスタは2度書きレジスタで、最初に書いた値が下位8bit、次に書いた値が上位8bitになります。
|
$2110 |
BG2垂直スクロール値 BG2の垂直スクロール値を11bitで指定します。 このレジスタは2度書きレジスタで、最初に書いた値が下位8bit、次に書いた値が上位8bitになります。
|
$2111 |
BG3水平スクロール値 BG3の水平スクロール値を11bitで指定します。 このレジスタは2度書きレジスタで、最初に書いた値が下位8bit、次に書いた値が上位8bitになります。
|
$2112 |
BG3垂直スクロール値 BG3の垂直スクロール値を11bitで指定します。 このレジスタは2度書きレジスタで、最初に書いた値が下位8bit、次に書いた値が上位8bitになります。
|
$2113 |
BG4水平スクロール値 BG4の水平スクロール値を11bitで指定します。 このレジスタは2度書きレジスタで、最初に書いた値が下位8bit、次に書いた値が上位8bitになります。
|
$2114 |
BG4垂直スクロール値 BG4の垂直スクロール値を11bitで指定します。 このレジスタは2度書きレジスタで、最初に書いた値が下位8bit、次に書いた値が上位8bitになります。
|
$2115 |
VRAMアドレスインクリメント
bit7: インクリメントタイミング(0:BYTEアクセス毎, 1:WORDアクセス毎) bit3-0:
インクリメントサイズ
値 |
サイズ |
0100 |
アクセス毎アドレスを+8 |
1000 |
アクセス毎アドレスを+8 |
1100 |
アクセス毎アドレスを+8 |
0000 |
アクセス毎アドレスを+1 |
0001 |
アクセス毎アドレスを+32 |
0010 |
アクセス毎アドレスを+64 |
0011 |
アクセス毎アドレスを+128 | |
$2116-$2117 |
VRAMアクセスアドレス R/Wを行うVRAMのアドレスを指定します。 |
$2118-$2119 |
VRAM書き込みデータ VRAMアクセスアドレスで指定したアドレスにデータを書き込みます。 |
$211A |
モード7設定
bit7-6: スクリーン外の描画設定
00: スクリーン外をスクリーンパタンを繰り返して埋める 10:
スクリーン外をキャラクタ0で埋める 11: スクリーン外をBG色で埋める
bit1:
垂直方向反転(1: 反転) bit0: 水平方向反転(1: 反転)
|
$211B-$211E |
拡大縮小回転マトリクス モード7の拡大縮小回転変換の2x2マトリクスを設定します。 [0,0] = $211B, [0,1]
= $211C, [1,0] = $211D, [1,1] =
$211E([行,列])になります。 このレジスタは2度書きレジスタで、最初に書いた値が下位8bit、次に書いた値が上位8bitになります。 値は小数部8bitの固定小数になります。
|
$211F |
拡大縮小回転の中心X位置 拡大縮小回転の中心X位置を13bitで指定します。 このレジスタは2度書きレジスタで、最初に書いた値が下位8bit、次に書いた値が上位8bitになります。 |
$2120 |
拡大縮小回転の中心Y位置 拡大縮小回転の中心Y位置を13bitで指定します。 このレジスタは2度書きレジスタで、最初に書いた値が下位8bit、次に書いた値が上位8bitになります。 |
$2121 |
カラーRAM(CG-RAM)アドレス |
$2122 |
カラーRAM(CG-RAM)データ CG-RAMアドレスで指定したアドレスにデータを書き込みます。 カラーは1色15bitで指定し、bit14-10が青、bit9-5が緑、bit4-0が赤になります。 このレジスタは2度書きレジスタで、最初に書いた値が下位8bit、次に書いた値が上位8bitになります。 |
$2123 ($41から転記) |
BG1,BG2ウィンドウマスク設定 ウィンドウのIN/OUTはウィンドウの内側/外側のどちらを有効にするか決めます。
bit7: BG2:ウィンドウ2有効(1:有効) bit6: BG2:ウィンドウ2IN/OUT(0:IN,
1:OUT) bit5: BG2:ウィンドウ1有効(1:有効) bit4: BG2:ウィンドウ1IN/OUT(0:IN,
1:OUT) bit3: BG1:ウィンドウ2有効(1:有効) bit2: BG1:ウィンドウ2IN/OUT(0:IN,
1:OUT) bit1: BG1:ウィンドウ1有効(1:有効) bit0: BG1:ウィンドウ1IN/OUT(0:IN,
1:OUT)
|
$2124 ($42から転記) |
BG1,BG2ウィンドウマスク設定
bit7: BG4:ウィンドウ2有効(1:有効) bit6: BG4:ウィンドウ2IN/OUT(0:IN,
1:OUT) bit5: BG4:ウィンドウ1有効(1:有効) bit4: BG4:ウィンドウ1IN/OUT(0:IN,
1:OUT) bit3: BG3:ウィンドウ2有効(1:有効) bit2: BG3:ウィンドウ2IN/OUT(0:IN,
1:OUT) bit1: BG3:ウィンドウ1有効(1:有効) bit0: BG3:ウィンドウ1IN/OUT(0:IN,
1:OUT)
|
$2125 ($43から転記) |
カラーウィンドウ,スプライトウィンドウマスク設定
bit7: Color:ウィンドウ2有効(1:有効) bit6:
Color:ウィンドウ2IN/OUT(0:IN, 1:OUT) bit5: Color:ウィンドウ1有効(1:有効) bit4:
Color:ウィンドウ1IN/OUT(0:IN, 1:OUT) bit3: スプライト:ウィンドウ2有効(1:有効) bit2:
スプライト:ウィンドウ2IN/OUT(0:IN, 1:OUT) bit1: スプライト:ウィンドウ1有効(1:有効) bit0:
スプライト:ウィンドウ1IN/OUT(0:IN, 1:OUT)
|
$2126 |
ウィンドウ1左座標 |
$2127 |
ウィンドウ1右座標 |
$2128 |
ウィンドウ2左座標 |
$2129 |
ウィンドウ2右座標 |
$212A |
BGのウィンドウ演算マスク設定
bit7-6: BG4のパラメータ設定 bit5-4: BG3のパラメータ設定 bit3-2:
BG2のパラメータ設定 bit1-0: BG1のパラメータ設定
パラメータ内容 00: OR 01: AND 10: XOR 11:
XNOR
|
$212B |
カラー,スプライトウィンドウ演算マスク設定
bit3-2: カラーウィンドウのパラメータ設定 bit1-0: スプライトウィンドウのパラメータ設定
パラメータ内容 00: OR 01: AND 10: XOR 11:
XNOR
|
$212C |
メインスクリーン設定 メインスクリーンに設定するBG,スプライトを選択します。
bit4: スプライト(1:設定) bit3: BG4(1:設定) bit2:
BG3(1:設定) bit1: BG2(1:設定) bit0: BG1(1:設定)
|
$212D |
サブスクリーン設定 サブスクリーンに設定するBG,スプライトを選択します。
bit4: スプライト(1:設定) bit3: BG4(1:設定) bit2:
BG3(1:設定) bit1: BG2(1:設定) bit0: BG1(1:設定)
|
$212E |
ウィンドウマスク設定(メインスクリーン)
bit4: スプライト(1:有効) bit3: BG4(1:有効) bit2:
BG3(1:有効) bit1: BG2(1:有効) bit0: BG1(1:有効)
|
$212F |
ウィンドウマスク設定(サブスクリーン)
bit4: スプライト(1:有効) bit3: BG4(1:有効) bit2:
BG3(1:有効) bit1: BG2(1:有効) bit0: BG1(1:有効)
|
$2130 ($44から転記) |
カラー演算設定
bit7-6: メインスクリーン演算設定 bit5-4: サブスクリーン演算設定
00: すべて有効 01: ウィンドウ内のみ 10: ウィンドウ外のみ 11:
すべて有効
bit1: 演算カラー選択(0:固定色($2132で設定),
1:サブスクリーンの色) bit0: ダイレクトカラー(1:有効)(モード3,4,7のみ)
|
$2131 ($40から転記) |
カラー演算式、影響スクリーン選択
bit7: カラー加算減算選択(0:加算, 1:減算) bit6: カラー演算倍率(0:そのまま,
1:1/2の色) bit5: BGカラー(1:有効) bit4: スプライト(1:有効) bit3:
BG4(1:有効) bit2: BG3(1:有効) bit1: BG2(1:有効) bit0:
BG1(1:有効)
|
$2132 |
カラー演算固定色 カラー演算で使う色を指定します
bit7: 青 bit6: 緑 bit5: 赤 bit4-0:
色の明るさ
|
$2133 |
スクリーン設定
bit7: 外部同期有効(1: 有効) bit6:
外部スクリーン(拡大縮小回転BG)有効(1:有効(モード7のみ))) bit3: 水平解像度(1:512,
0:256) bit2: 垂直解像度(1:224, 0:239) bit1: スプライト倍率(0:1倍,
1:2倍)(インタレース時のみ) bit0: インタレースモード(1:インタレース)
|
$2137 |
水平/垂直カウンタ取得 |
$2138 |
OAM-RAMデータ読み込み このレジスタは2度読みレジスタで、最初に読んだ値が下位8bit、次に書いた値が上位8bitになります。 |
$2139-$213A |
VRAMデータ読み込み |
$213B |
CG-RAMデータ読み込み このレジスタは2度読みレジスタで、最初に読んだ値が下位8bit、次に書いた値が上位8bitになります。 |
$213C |
水平スキャン位置取得 このレジスタは2度読みレジスタで、最初に読んだ値が下位8bit、次に書いた値が上位8bitになります。 |
$213D |
垂直スキャン位置取得 このレジスタは2度読みレジスタで、最初に読んだ値が下位8bit、次に書いた値が上位8bitになります。 |
$213E |
PPUステータス
bit7: 1ラインに33個以上のスプライトを書こうとしたときに1になります。 bit6:
1ラインに8x8スプライト換算で35個以上のスプライトを書こうとしたときに1になります。 bit5:
マスター/スレーブモード(0:マスター)0にすること。 bit3-0: バージョン番号
|
$213F |
PPUステータス
bit7: 描画中のラスタ(0:偶数, 1:奇数)(インタレース時) bit6:
外部信号取得時に1 bit4: NTSC/PAL(0:NTSC, 1:PAL) bit3-0:
バージョン番号
|