| |
TWW
Registered: Jul 2009 Posts: 545 |
DYSP right sideborder solution
When putting sprites into the right border, you get the bugs on some sprites due to VIC updating or somesuch which isn't avoidable.
I imagine this could be handled with a z-sorter keeping the lower tier sprites away from the right border but would perhaps introduce priority to shift. What's the common practice (if any) and if you have to choose between the priority stuff or the right border bug, which one is more acceptable? |
|
| |
Golara Account closed
Registered: Jan 2018 Posts: 212 |
Sprite data for sprites 0, 1, 2 is fetched on cycles 58-63, so the right border, the rest is fetched at cycle 1-10. I think there's no way but to sort them in such a way that sprites 0,1,2 are never in the right border. Didn't do a DYSP yet so I don't know. |
| |
Firehawk
Registered: Aug 2011 Posts: 31 |
If you're not doing multiplexing, then you can just sort the sprites in x-order, making sure that sprite 0 is always the leftmost sprite.
When multiplexing this is not that much harder, but you need to update the code inline to which sprites you place first, before you do the dysp calculations (and after you do the y-sorting).
Or you can cheat using some tables :-) |
| |
Krill
Registered: Apr 2002 Posts: 2980 |
Quoting FirehawkOr you can cheat using some tables :-) Since when is using tables considered cheating? :) |
| |
TWW
Registered: Jul 2009 Posts: 545 |
Yeah, it's one out of three options:
#1: Ignore it and have the bugging of the lest significant sprites (ugly bug)
#2: Sort the sprites to avoid low order ones to go into the right border (will introduce priority switching/glitches which I assume is considered acceptable?)
#3: keep X-Max lower than the point of where shit starts to go weird ;-) (which all in all is outright lame^^)
So I guess it's option #2 unless I got this wrong. |
| |
HCL
Registered: Feb 2003 Posts: 728 |
I assume you are only planning on putting sprites in the *right* border, and not in the *left*. Otherwise you would have asked how to get rid of the similar bugs you also get in the left border :). Suggested solution(s) will solve both problems though. |
| |
TWW
Registered: Jul 2009 Posts: 545 |
Funny, I have all the sprites running into the far left border (I mean even with $d010 set and X = $e8) but didn't see any bugs there. Although i do use emulator so perhaps this only shows on real HW. Can't remember seeing this on HW either but that is a long time ago.
Here is a screenshot, notice the "S" on the left picture and similarly, the "C" on the right picture not showing any bugs.
|