In this topic we were talking about scrolling.
What I had in mind (and I don't know if this is correct but the mega man series "seems" to do that) is to change the mirroring when I need to scroll up or down. This way you won't have any artifact in the over scan area. But because of the black bar... I cannot do that (I think).
Well if you want to know Mega Man 1&2 uses vertical mirroring all the way, and Mega Man 3-6 simulates 1-screen mirroring by setting it to horizontal when scrolling horizontally and vertical when scrolling vertically. Yes it does look a bit ugly on my overscan PAL TV, but not in emulators with default settings. And 99,5% of NES games are like that (the 0.5% are games that don't scroll). And I just made those numbers up, don't take them as accurate !
So what you're saying is that most game will simulate one screen mirroring? The only reason I would see that you would want to do that is because you don't have to worry about pattern table change since you technically always in the same one. Am I correct? That seems to make it simpler but at the cost of sloppiness on all side of the screen.
This is all theoretical since I didn't try it yet but what I had in mind was to use vertical mirroring while scrolling left and right. When you arrive at the end of the map, you switch to horizontal mirroring. I don't know if it's possible and I think there is catch: the final screen of the horizontal map must be in the right name table ($2000) to do it. This mean your map must be, how can I say, screen symmetric? It cannot be end in the middle of a pattern table. Then depending on how many screen you have, this will influence where you must start to write the first screen of the horizontal map.
For example, if you have 3 horizontal screen, you're fine since you will end up at $2000 at the end. On the other hand, if you have 2 screens, you must start writing your map at $2400 to be able to end at $2000.
This is what I "think" is possible and didn't try it yet. I always try to plan on how to approach the problem before coding, when possible. It impose you a few limitation on how you map are made and extra logic to decide when you finish to vertical scroll, in witch name table ($2000 or $2400) you must start to on the next horizontal scrolling based on the next map size.
Does my idea make sense? If my idea doesn't work then vertical scrolling will be my solution to limit the extra artifact.
Bregalad wrote:
Quote:
What I had in mind (and I don't know if this is correct but the mega man series "seems" to do that) is to change the mirroring when I need to scroll up or down. This way you won't have any artifact in the over scan area. But because of the black bar... I cannot do that (I think).
Well if you want to know Mega Man 1&2 uses vertical mirroring all the way, and Mega Man 3-6 simulates 1-screen mirroring by setting it to horizontal when scrolling horizontally and vertical when scrolling vertically. Yes it does look a bit ugly on my overscan PAL TV, but not in emulators with default settings. And 99,5% of NES games are like that (the 0.5% are games that don't scroll). And I just made those numbers up, don't take them as accurate !
So what you're saying is that most game will simulate one screen mirroring? The only reason I would see that you would want to do that is because you don't have to worry about pattern table change since you technically always in the same one. Am I correct? That seems to make it simpler but at the cost of sloppiness on all side of the screen.
This is all theoretical since I didn't try it yet but what I had in mind was to use vertical mirroring while scrolling left and right. When you arrive at the end of the map, you switch to horizontal mirroring. I don't know if it's possible and I think there is catch: the final screen of the horizontal map must be in the right name table ($2000) to do it. This mean your map must be, how can I say, screen symmetric? It cannot be end in the middle of a pattern table. Then depending on how many screen you have, this will influence where you must start to write the first screen of the horizontal map.
For example, if you have 3 horizontal screen, you're fine since you will end up at $2000 at the end. On the other hand, if you have 2 screens, you must start writing your map at $2400 to be able to end at $2000.
This is what I "think" is possible and didn't try it yet. I always try to plan on how to approach the problem before coding, when possible. It impose you a few limitation on how you map are made and extra logic to decide when you finish to vertical scroll, in witch name table ($2000 or $2400) you must start to on the next horizontal scrolling based on the next map size.
Does my idea make sense? If my idea doesn't work then vertical scrolling will be my solution to limit the extra artifact.