It is currently Thu Dec 14, 2017 12:16 pm

All times are UTC - 7 hours





Post new topic Reply to topic  [ 6 posts ] 
Author Message
PostPosted: Sun Jul 30, 2017 1:42 pm 
Offline
User avatar

Joined: Sun Nov 09, 2008 9:18 pm
Posts: 1013
Location: Pennsylvania, USA
I've been studying this wiki article:

Split X Y Scroll

In order to get a split screen sufficient for scrolling a large boss on the screen. That was fairly easy to get working.

I decided to proceed to trying to create a generic system where I could specify as many split points as I wanted, so I could use this system both for scrolling a large boss around or for, say, parallax scrolling.

Once I got that working, I couldn't seem to get fine horizontal scrolling to work. I noticed the Split X Scroll section of the wiki is probably aimed towards this particular use case. I also noticed Doug's tutorial on splits use this latter technique.

So my question is, why can't I use the Split X Y Scroll to successfully arbitrarily set the fine X and Y scroll at the split point? I.e., as I increment X, the ppu seems to "pop" over a few pixels further rather than smoothly scrolling.

I'm fine with using the two techniques separately, just curious why Split X/Y can't be used in both cases (apparently).

*edit* I did find a couple of threads on this issue, and the only hint I could find towards my question was that I probably have the timing off; and that it's a bit trickier to get the fine timing right for clean X/Y scroll. I did try fiddling with the timing (the empty loop that pushes the code into the next hblank) but never got the "pop" to go away.


Top
 Profile  
 
PostPosted: Sun Jul 30, 2017 1:53 pm 
Offline
User avatar

Joined: Sat Aug 15, 2015 3:42 pm
Posts: 109
Location: France
I don't know if it'll help, but here's a good talk about the 2005/2006 split : viewtopic.php?p=78593#p78593


Top
 Profile  
 
PostPosted: Sun Jul 30, 2017 1:59 pm 
Offline
User avatar

Joined: Sun Nov 09, 2008 9:18 pm
Posts: 1013
Location: Pennsylvania, USA
glutock wrote:
I don't know if it'll help, but here's a good talk about the 2005/2006 split : viewtopic.php?p=78593#p78593

Yeah that's one of the ones I was looking at. I actually just figured it out, I missed an lsr when computing the formula listed in the wiki for the last write. Sweet, generic system working now.


Last edited by GradualGames on Thu Aug 03, 2017 7:42 am, edited 1 time in total.

Top
 Profile  
 
PostPosted: Sun Jul 30, 2017 4:16 pm 
Offline
User avatar

Joined: Fri May 08, 2015 7:17 pm
Posts: 1868
Location: DIGDUG
I'm not clear on exactly what you are trying. Can you post code of every $2000,$2005,$2006 write?

When I am confused, I try to find a game that does what I want, and set breakpoints for scroll changes.

_________________
nesdoug.com -- blog/tutorial on programming for the NES


Top
 Profile  
 
PostPosted: Sun Jul 30, 2017 4:34 pm 
Offline
User avatar

Joined: Sun Jan 22, 2012 12:03 pm
Posts: 5898
Location: Canada
I think the result was just that the full X/Y scroll does work, but GradualGames had a bug that made it seem like it didn't.


Top
 Profile  
 
PostPosted: Sun Jul 30, 2017 4:41 pm 
Offline
User avatar

Joined: Sat Feb 12, 2005 9:43 pm
Posts: 10164
Location: Rio de Janeiro - Brazil
Good luck finding a game from back in the day that uses the $2006/5/5/6 trick. AFAIK, that was discovered by reverse engineering the hardware, not by looking at existing software. Old games did mess with $2005/6 mid-frame in various ways, but I don't think any of them managed to set arbitrary X/Y positions anywhere on the screen like we can now.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 6 posts ] 

All times are UTC - 7 hours


Who is online

Users browsing this forum: No registered users and 6 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group