I put this in a separate thread rather than hijack the other onewith my questions.
$2000 does not [directly] change the address at all -- it would still point tot he same place it did before the write.
$2000 does, however, change the nametable bits in the temporary address (which gets copied to the actual PPU address at frame start).
$2000 sets only bits 10 and 11... other bits in the temp address remain unchanged. Therefore if the temp address is $2416 and you write 0 to $2000, the new temp address will be $2016
OK, so the writes to $2005 mentioned by Tokumaru are required.
Based on loopy's scrolling/skinny document:
$2000 updated bits 10 & 11
first write to $2005 clears bits 0,1,2,3,4
second write to $2005 clears bits 5,6,7,8,9 and also updates 12,13,14 (what happens o those?)
and at frame start the temp address becomes the PPU address.
Edit- I guess my question is, what value ends up in bits 12-14 when you write #$00 to $2005 (twice)
Al
Disch wrote:
albailey wrote:
I wish I knew where the PPU addr pointed to after a write to $2000 (I assume its the start of that particular nametable)
$2000 does not [directly] change the address at all -- it would still point tot he same place it did before the write.
$2000 does, however, change the nametable bits in the temporary address (which gets copied to the actual PPU address at frame start).
$2000 sets only bits 10 and 11... other bits in the temp address remain unchanged. Therefore if the temp address is $2416 and you write 0 to $2000, the new temp address will be $2016
OK, so the writes to $2005 mentioned by Tokumaru are required.
Based on loopy's scrolling/skinny document:
$2000 updated bits 10 & 11
first write to $2005 clears bits 0,1,2,3,4
second write to $2005 clears bits 5,6,7,8,9 and also updates 12,13,14 (what happens o those?)
and at frame start the temp address becomes the PPU address.
Edit- I guess my question is, what value ends up in bits 12-14 when you write #$00 to $2005 (twice)
Al