目次


PPU

0x2000 (PPU制御レジスタ1)

W1 : PPUの基本設定を行います。

位置 内容
bit7 VBlank時にNMI割込を発生 0:オフ, 1:オン
bit6 PPU選択? 0:マスター, 1:スレーブ
bit5 スプライトサイズ 0:8x8ピクセル
1:8x16ピクセル
bit4 BG用キャラクタテーブルベース 0:0x0000, 1:0x1000
bit3 スプライト用キャラクタテーブルベース 0:0x0000, 1:0x1000
bit2 VRAMアクセス時のアドレス増加値 0:1byte, 1:32byte
bit1-0 メインスクリーンアドレス 00:0x2000, 01:0x2400
10:0x2800, 11:0x2C00

0x2001 (PPU制御レジスタ2)

W1 : PPUの表示設定を行います。

位置 内容
bit7 赤色を強調 0:オフ, 1:オン
bit6 緑色を強調 0:オフ, 1:オン
bit5 青色を強調 0:オフ, 1:オン
bit4 スプライトの表示 0:オフ, 1:オン
bit3 BGの表示 0:オフ, 1:オン
bit2 画面左端8ピクセルのスプライトを表示 0:クリップ, 1:表示
bit1 画面左端8ピクセルのBGを表示 0:クリップ, 1:表示
bit0 色設定 0:カラー, 1:モノクロ

0x2002 (PPUステータスレジスタ)

R1 : PPUの状態を取得します。

位置 内容
bit7 スクリーンの描画状況 0:スキャンライン描画中
1:VBlank中
bit6 描画スキャンラインの0番スプライトヒット 0:ヒットせず, 1:ヒット
bit5 描画スキャンラインのスプライト横並び数 0:8個以下, 1:9個以上
bit4 VRAM状態 0:書き込み可能
1:書き込み不可
bit3-0 未使用

0x2003 (スプライトアドレスレジスタ)

W1 : スプライトRAMへの書き込みアドレスを設定します。

位置 内容
bit7-0 スプライトRAMアドレス データ値

0x2004 (スプライトアクセスレジスタ)

W1 : スプライトRAMへ書き込みを行います。

位置 内容
bit7-0 スプライトRAMへ書き込むデータ データ値

0x2005 (スクロールレジスタ)

W2 : スクロールの設定を行います。このレジスタには2回連続で書き込みます。

位置 内容
bit7-0 (1)水平スクロール値
(2)垂直スクロール値
データ値

0x2006 (VRAMアドレスレジスタ)

W2 : VRAMへの書き込みアドレスを設定します。このレジスタには2回連続で書き込みます。

位置 内容
bit7-0 (1)VRAMアドレス上位8bit
(2)VRAMアドレス下位8bit
データ値

0x2007 (VRAMアクセスレジスタ)

R1 / W1 : VRAMに対してデータ読み込み、データ書き込みを行います。

位置 内容
bit7-0 (R)VRAMから読み込んだデータ
(W)VRAMへ書き込むデータ
データ値

APU, その他

0x4000 (矩形波CH1制御レジスタ1)

W1 : 矩形波CH1の設定を行います。

位置 内容
bit7-6 Duty Cycle 00:87.5%, 01:75.0%
10:50.0%, 11:25.0%
bit5 再生時間カウンタ有効 0:オフ, 1:オン
bit4 音響選択 0:音響可変, 1:音響固定
bit3-0 ボリューム値 データ値

0x4001 (矩形波CH1制御レジスタ2)

W1 : 矩形波CH1の設定を行います。

位置 内容
bit7 周波数変化 0:固定, 1:可変
bit6-4 周波数変化速度 データ値
bit3 周波数の変化方法 0:増加, 1:減少
bit2-0 周波数範囲値 データ値

0x4002 (矩形波CH1周波数値レジスタ1)

W1 : 矩形波CH1の再生周波数の設定を行います。

位置 内容
bit7-0 再生周波数下位8bit データ値

0x4003 (矩形波CH1周波数値レジスタ2)

W1 : 矩形波CH1の再生周波数と再生時間の設定を行います。

位置 内容
bit7-3 再生時間 データ値
bit2-0 再生周波数上位3bit データ値

0x4004 (矩形波CH2制御レジスタ1)

W1 : 矩形波CH2の設定を行います。

位置 内容
bit7-6 Duty Cycle 00:87.5%, 01:75.0%
10:50.0%, 11:25.0%
bit5 再生時間カウンタ有効 0:オフ, 1:オン
bit4 音響選択 0:音響可変, 1:音響固定
bit3-0 ボリューム値 データ値

0x4005 (矩形波CH2制御レジスタ2)

W1 : 矩形波CH2の設定を行います。

位置 内容
bit7 周波数変化 0:固定, 1:可変
bit6-4 周波数変化速度 データ値
bit3 周波数の変化方法 0:増加, 1:減少
bit2-0 周波数範囲値 データ値

0x4006 (矩形波CH2周波数値レジスタ1)

W1 : 矩形波CH2の再生周波数の設定を行います。

位置 内容
bit7-0 再生周波数下位8bit データ値

0x4007 (矩形波CH2周波数値レジスタ2)

矩形波CH2の再生周波数と再生時間の設定を行います。

位置 内容
bit7-3 再生時間 データ値
bit2-0 再生周波数上位3bit データ値

0x4008 (三角波制御レジスタ)

W1 : 三角波の設定を行います。

位置 内容
bit7 再生時間カウンタ有効 0:オフ, 1:オン
bit6-0 再生時間 データ値

0x400A (三角波周波数値レジスタ1)

W1 : 三角波の再生周波数の設定を行います。

位置 内容
bit7-0 再生時間 データ値

0x400B (三角波周波数値レジスタ2)

W1 : 三角波の再生周波数と再生時間の設定を行います。

位置 内容
bit7-3 再生時間 0:オフ, 1:オン
bit2-0 周波数上位3bit データ値

0x400C (ノイズ制御レジスタ)

W1 : ノイズの設定を行います。

位置 内容
bit7-6 未使用
bit5 再生カウンタ有効 0:オフ, 1:オン
bit4 音響選択 0:音響可変, 1:音響固定
bit3-0 ボリューム値 データ値

0x400E (ノイズ乱数レジスタ)

W1 : ノイズの乱数の設定を行います。

位置 内容
bit7 乱数のタイプ
bit6-4 未使用
bit3-0 サンプルレート データ値

0x400F (ノイズ時間レジスタ)

W1 : ノイズの再生時間の設定を行います。

位置 内容
bit7-3 再生時間 データ値
bit2-0 未使用

0x4010 (DPCM制御レジスタ1)

W1 : DPCMのサンプルレートの設定を行います。

位置 内容
bit7-4 未使用
bit3-0 サンプルレートビット数 データ値

0x4011 (DPCM制御レジスタ2)

W1 : DPCMのボリュームを設定を行います。

位置 内容
bit7-0 ボリューム値 データ値

0x4012 (DPCM制御レジスタ3)

W1 : DPCMの音声テーブルのアドレス設定を行います。

位置 内容
bit7-0 テーブルアドレス N x 0x40 + 0xC000

0x4013 (DPCM制御レジスタ4)

W1 : DPCMの音声テーブルのサイズ設定を行います。

位置 内容
bit7-0 テーブルバイトサイズ N x 16 + 1

0x4014 (スプライトDMAレジスタ)

W1 : WRAMからSpriteRAMにデータを転送します。設定したアドレスから0x100バイト分転送します。

位置 内容
bit7-0 WRAMベースアドレス N x 0x100

0x4015 (音声チャンネル制御レジスタ)

W1 : 再生する音声チャンネルを設定します。

位置 内容
bit7-5 予約
bit4 DPCMチャンネル再生 0:オフ, 1:オン
bit3 ノイズチャンネル再生 0:オフ, 1:オン
bit2 三角波チャンネル再生 0:オフ, 1:オン
bit1 矩形波2チャンネル再生 0:オフ, 1:オン
bit0 矩形波1チャンネル再生 0:オフ, 1:オン

0x4016 (ジョイパッド1レジスタ)

R1 / W1 : 1P側のジョイパッドの状態を取得、または拡張パッドの設定を行います。

位置 内容
bit7-5 未使用
bit4 (R)Zapperスプライト
(W)未使用
0:スプライト未検出
1:スプライト検出
bit3 (R)Zapperトリガ
(W)未使用
0:入力なし, 1:入力あり
bit2-1 (R)拡張ポートから読み込んだデータ
(W)拡張ポートへ書き込むデータ
データ値
bit0 (R)ボタン入力情報
(W)入力情報のセット
(R)0:入力なし, 1:入力あり
(W)0:クリア, 1:リセット

0x4017 (ジョイパッド2レジスタ)

R1 : 2P側のジョイパッドの状態を取得します。

位置 内容
bit7-5 未使用
bit4 Zapperスプライト 0:スプライト未検出
1:スプライト検出
bit3 Zapperトリガ 0:入力なし, 1:入力あり
bit2-1 拡張ポートから読み込んだデータ データ値
bit0 ボタン入力情報 0:入力なし, 1:入力あり