Could someone help me understand how exactly Crystalis scrolls? It uses horizintal mirroring. I was looking at it in a nametable viewer and I don't get how it never scrolls into the status stuff in the nametable #2. It seems to act like 1 screen mirroring with 2 screens or something. Does it use IRQs to switch things in and or or something? thx
Link wrote:
I don't get how it never scrolls into the status stuff in the nametable #2.
Simple - it generates IRQs midscreen to skip past the status bar. One easy way to see this is to run the game in an emulator that doesn't have correct MMC3 IRQ timing - you will see a junk scanline in the middle of the screen (at the point the 'adjustment' is being made).
Crystallis is the game with the worst scrooling code I've ever seen on the NES. It has very important gliches on the leftmost 4 and the rightmost 2 tiles, if I remember correctly.
The game probably just simulates a 1-screen mirroring by just writing the data twice; once to A, and once to B.
FF is the lowest the scrolling goes; the upper nametable is completely scrolled out of the top, and the lower nametable is showing. When you increment the scrolling once more, it'll wrap around to 00, which is back at the top.
Now, keeping this in mind, the game splits the screen to show the statusbar. If the game didn't split the screen, then the statusbar tiles would scroll in. But they'd scroll into the area where the screen would be split to the statusbar.
So, if you can imagine this, the statusbar tiles would scroll in "behind" the actual statusbar, and then the screen scroll value would wrap around, so the statusbar would never scroll in.
Drag wrote:
FF is the lowest the scrolling goes; the upper nametable is completely scrolled out of the top, and the lower nametable is showing.
Actually, this happens at EF, not FF; the range F0-FF acts like 'negative scroll' which will render the attribute table at the top of the screen and the 'base' nametable pushed down.
On the subject of:
Bregalad wrote:
Crystallis is the game with the worst scrooling code I've ever seen on the NES
am I the only one who read:
Drag wrote:
FF is the lowest the scrolling goes
as "Final Fantasy has the worst scrolling system ever"? =)
Hexadecimal is ambigous enough as it is, please pre/postfix it with something..
Heh, sorry.
And yeah, it's $EF, not $FF like I thought, I haven't really done any scrolling stuff for a while. o_O