ファミコンのプログラム4 (567レス)
上下前次1-新
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん
180(2): 2014/04/22(火)20:21 ID:SP0raU7v(1/4)調 AAS
>>175
ソース読ませてもらったけど、
ldy #0
sty $2001
で、PPUのレンダリング止めると、PPUのバスが空くので
その間は自由にVRAMアクセスできたと理解していたんだが
違っていたかな?
そうであれば、HBlank待つ必要ないので、パレット書き換えで
非表示になるライン数を減らせると思う。
あと、割り込み時にはiフラグが立った状態でルーチンが
呼ばれるので sei は要らないと思う。
http://wiki.nesdev.com/w/index.php/CPU_interrupts#IRQ_and_NMI_tick-by-tick_execution
181(3): 2014/04/22(火)20:38 ID:SP0raU7v(2/4)調 AAS
>>173
PPUのデータのバス(信号線)が1組で、PPUのレンダリング中はVRAMからデータを読み出している。
CPUがVRAMアクセスのためにPPUアドレスを設定するレジスタ($2006)とPPUがネームテーブルにアクセスするアドレスのレジスタが兼用のため、CPUがパレットのアドレスを書き込むとPPUはパレットデータを読み出してレンダリングすることになる。
と理解しているのですが、間違っていたら指摘お願いします。>他の人
185: 2014/04/22(火)23:02 ID:SP0raU7v(3/4)調 AAS
>>182
なるほど、了解です。
自分も実験してみよう。
186(1): 2014/04/22(火)23:13 ID:SP0raU7v(4/4)調 AAS
>>184
The PPUDATA read buffer (post-fetch)
http://wiki.nesdev.com/w/index.php/PPU_registers#The_PPUDATA_read_buffer_.28post-fetch.29
ここに $0000-$3effは内部リードバッファから返すが、$3f00-$3fffは(PPU内部の)データバスに直接配置されている
と書かれているので、この辺りの差で挙動が変わるっぽいですね。
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.015s