Dumb question. Can you do a rough X/Y scroll split with 2 writes to $2006.
(If I remember correctly, affecting all but the fine Y bits)
I've never tried it.
Rough x/y split ?
Moderator: Moderators
Rough x/y split ?
nesdoug.com -- blog/tutorial on programming for the NES
- rainwarrior
- Posts: 8731
- Joined: Sun Jan 22, 2012 12:03 pm
- Location: Canada
- Contact:
Re: Rough x/y split ?
Reference:
https://wiki.nesdev.com/w/index.php?tit ... ng#Summary
It doesn't set any of the fine X bits, and it sets the top bit of fine Y to 0.
https://wiki.nesdev.com/w/index.php?tit ... ng#Summary
It doesn't set any of the fine X bits, and it sets the top bit of fine Y to 0.
Re: Rough x/y split ?
Ok, I see. So if your fine X is wrong, 2 writes to $2006 might not be enough for...say...a HUD at the bottom of the screen?
What about...
LDA #0
STA $2005
STA $2005
LDA #something
STA $2006
LDA #something
STA $2006
(ie, during rendering, perhaps after a sprite zero hit)
What about...
LDA #0
STA $2005
STA $2005
LDA #something
STA $2006
LDA #something
STA $2006
(ie, during rendering, perhaps after a sprite zero hit)
nesdoug.com -- blog/tutorial on programming for the NES
Re: Rough x/y split ?
That makes the math easier, but makes the raster timing much worse. The first write to $2005 will immediately cause glitches for the remainder of the drawn scanline.
In contrast, the 6-5-5-6 method requires more calculation, but only the last two writes need to be during horizontal blanking.
In contrast, the 6-5-5-6 method requires more calculation, but only the last two writes need to be during horizontal blanking.
Re: Rough x/y split ?
Of course you can. Most games do it that way. My game does it that way too. Fine X scroll stays the same.dougeff wrote:Dumb question. Can you do a rough X/Y scroll split with 2 writes to $2006.
This is the "standard" way to do it. All games does it that way. The 6-5-5-6 method was only decovered by the reverse-engineering retroscene in the 2000s.What about...
LDA #0
STA $2005
STA $2005
LDA #something
STA $2006
LDA #something
STA $2006
(ie, during rendering, perhaps after a sprite zero hit)