I recently started programming a RPG game with some friends of mine and I successfully animated sprites and created all command+tasking engine.
Next step is programming a smooth scrolling for walking inside towns, so I compared some methods used in popular games (all of them use mode 1):
* Treasure Hunter G: it sets SC size 0 and 16x16 tile size, thus making SC0 512x512 pixel. Because display area is 256x224, it's pretty obvious how the game updates tilemap data off-screen to make a smooth scrolling.
* Secret of Mana, Secret of Evermore, Seiken Densetsu 3: all of them sets SC size 1 and 8x8 tile size, thus making SC0+SC1 512x256 pixel. I have some doubts about how the game updates tilemap data off-screen when moving vertically.
* Tales of Phantasia: it sets SC size 0 and 8x8 tile size, thus making SC0 256x256 pixel. BG0, BG1 and BG2 are consecutive in VRAM ($5000, $5400, $5800) and display area matches screen size, so... how the game updates off-screen tilemap? Where is located "off-screen" tilemap in VRAM?
My design is using 8x8 tiles and would like to use SC size = 0, so tilemap data is $800 byte length in VRAM, from $4000 to $43FF. If I would move the screen 1 pixel to the right, I should keep tilemap data on VRAM for the left column (because I'm showing 7 pixels of all 8x8 tiles in that column), but I also had to write to VRAM tilemap data for the new right column (because I'm showing 1 pixel of all 8x8 tiles on that column). Which VRAM address would have to write to?
Regards!
Next step is programming a smooth scrolling for walking inside towns, so I compared some methods used in popular games (all of them use mode 1):
* Treasure Hunter G: it sets SC size 0 and 16x16 tile size, thus making SC0 512x512 pixel. Because display area is 256x224, it's pretty obvious how the game updates tilemap data off-screen to make a smooth scrolling.
* Secret of Mana, Secret of Evermore, Seiken Densetsu 3: all of them sets SC size 1 and 8x8 tile size, thus making SC0+SC1 512x256 pixel. I have some doubts about how the game updates tilemap data off-screen when moving vertically.
* Tales of Phantasia: it sets SC size 0 and 8x8 tile size, thus making SC0 256x256 pixel. BG0, BG1 and BG2 are consecutive in VRAM ($5000, $5400, $5800) and display area matches screen size, so... how the game updates off-screen tilemap? Where is located "off-screen" tilemap in VRAM?
My design is using 8x8 tiles and would like to use SC size = 0, so tilemap data is $800 byte length in VRAM, from $4000 to $43FF. If I would move the screen 1 pixel to the right, I should keep tilemap data on VRAM for the left column (because I'm showing 7 pixels of all 8x8 tiles in that column), but I also had to write to VRAM tilemap data for the new right column (because I'm showing 1 pixel of all 8x8 tiles on that column). Which VRAM address would have to write to?
Regards!