Okay, I was playing a battle in final fantasy 3, and I looked in the pattern table, and I noticed something that I thought was not possible. It was using BOTH pattern tables for BOTH sprites and backgrounds. Well, actually, I'm really not sure what is going on. Would someone care to explain? Disch, do you know? Please?
When you use 8x16 sprites, you get access to both pattern tables for sprites, though you only get to use one pattern table for background. Unfortunately, this tends to cause problems with the MMC3 IRQ counter, so it's usually best to avoid it in such cases.
Hmm, I looked again, and I know that FF uses background images for enemies, and I saw an enemy on one side of the pattern table, and letters on the other. And I also saw sprites on both sides as well. Weird. Is there any explanation?
From what I can see it only uses the right side for sprites (8x8 sprites)... the only sprites are the 4 party members and the cursor, everything else is BG. The enemies and battle backdrop are on the left pattern table... so for the top portion of the screen it has the normal "Bg on the left, sprites on the right" setup, and the IRQ counter is running and works normally.
Once the IRQ trips (scanline 151 it looks like -- just before the menus at the bottom), it flips the BG over to use the right pattern table (for the menu boxes and text) and probably leaves the sprites on the right side too, so that it can use the cursor. So for the bottom half it has sprites and BG on the right. This would mess the IRQ counter, but the game doesn't use it anymore in the frame, so it doesn't really matter.
*note* too lazy to log in, but this is me
Why would they want to do this? Is there any conservation of Pattern Table space using this method?
so they can put the text/menu graphics on the right pattern table, since the battle BG and enemies will use most/all of the left.
Since it's a CHR-RAM game, it doesn't have the luxury to swap CHR mid-frame, so it has to be a little more clever. (Unless there is CHR-RAM swapping on MMC3 -- though no game seems to use it?)
So they pretty much just have enemies and stuff over on the left side and the status bar on the right, and then when it comes time to render the status bar, they swap pattern tables? Oh, that sounds like a good idea! I am doing a final fantasy project, and I was just wondering how they did that. It makes perfect sense now. If what I explained up there is correct...
Ahh yes. I've successfully done the trick with sprite 0 hits. And CHR-RAM, and with mapper 1. Very useful, I must say. I just put a sprite 0 above where the status bar would render, and did this:
First it was #%10001000 in $2000
Then I made it #%10011000
I always want the sprites to be in the left table of course. But I suppose it doesn't matter. Whatever. I did it, and I'm happy.