SaucJedi wrote:
Right now I don't recalll any game using CHR-RAM...
Well, there are
many games using CHR-RAM. I guess just not as many as the ones using CHR-ROM. some of the Megaman games use CHR-RAM. Megaman 1 for sure, and some later one too, 4 I think. If you play while watching the pattern tables you can see the tiles beeing redrawn little by little (not in Megaman 1, I think it uses the same tiles through the whole level).
Quote:
For all the projects I have in mind, CHR-ROM will be perfect. I don't have any tiles that need to be changed nor I have any effect to do in real-time.
CHR-RAM has it's advantages, but it is so slow to update and that makes the advantages quite useless. You can change any tile in the pattern tables, but what use is that if you can only change 4 of them every frame, so that the rest of the game does not slow down? It may seem more tempting to use CHR-RAM on PAL systems, that have so much more Vblank time.
Quote:
I think I will get deeper with the CHR-RAM issue... it's applications and such. If you can mention some CHR-RAM games and explain a little any effect that they have I'll be very pleased
I think some Final Fantsy game uses CHR-RAM to animate water tiles in real time.
To me, CHR-ROM games look better, as CHR-RAM games tend to look a bit static (newer games... older ones were all kinda static). It allows for big background animations that are impossible to do with CHR-RAM. I can't think of a licenced game right now, but Somari, the pirate Sonic clone, animates (badly, but it does) the background, rings and stuff by switching CHR banks.
Combine CHR switching with palette rotation and you can get some very nice effects. You need to be able to switch smal banks, or you'll be wasting CHR space with repeated data, though.
But little of this matters for a simple demo of static images. Either will work OK, only CHR-ROM will be simpler to use.
EDIT:
Dwedit wrote:
With CHR-RAM, I heard it's possible to update up to 16 tiles per frame using some tricks used by Battletoads.
Well, possible it is. You would need to copy 256 bytes in order to draw 16 tiles. The problem is that this is not the only thing you'll be doing in Vblank. You still have to update the name tables and attribute tables as the player moves, write palettes, do sprite OAM... Many other things need VBlank time, so you can't give it all to updating tiles. You could shut the screen off early, or turn it on late, to get more time, but then it gets pretty tricky...
With CHR-ROM you could change 64 tiles, instead of 16, faster than you can blink. The problem is that 64 is the
minimum ammount of tiles you can change, in the best case.