#10777 - goro - Mon Sep 15, 2003 12:44 pm
I'm using Mode 0 and 16-color tiles. I'm a little confused as to the best way to display a large scrollable map (for this example, I only want horizontal scroll-both ways).
I looked at this post : http://forum.gbadev.org/viewtopic.php?t=67
And I've studied various tutorials but I still have the following questions :-
Q1. Do I simply use a 256x256 map and just update the off screen tiles and then
Q2. Am I right in assuming that I only need to update the edge-row or column? and then,
Q3. Do I use the hardware scroll to bring them onto screen or some other method?
Q4. Do I have to use the backbuffer in tile modes?
Q5. When I use mapEd095 to create a map array larger than 256x256,
I get large(8x8)horizontal line-gaps on the screen. Why?
Q6. Even my 256x256 map seems to have a vertical misalignment in the
middle of it (only around one pixel off). Why?
I want smooth scrolling without 'jumpiness' or screen artifacts/relics.
my code is:-
A code example (that doesn't use dma, cos I haven't learnt that yet) or a mod of my code would be great!!
I looked at this post : http://forum.gbadev.org/viewtopic.php?t=67
And I've studied various tutorials but I still have the following questions :-
Q1. Do I simply use a 256x256 map and just update the off screen tiles and then
Q2. Am I right in assuming that I only need to update the edge-row or column? and then,
Q3. Do I use the hardware scroll to bring them onto screen or some other method?
Q4. Do I have to use the backbuffer in tile modes?
Q5. When I use mapEd095 to create a map array larger than 256x256,
I get large(8x8)horizontal line-gaps on the screen. Why?
Q6. Even my 256x256 map seems to have a vertical misalignment in the
middle of it (only around one pixel off). Why?
I want smooth scrolling without 'jumpiness' or screen artifacts/relics.
my code is:-
Code: |
for(loop = 0; loop < 4182; loop++) //load tile image data
bg1.tileData[loop] = bgTiles[loop]; //4128 //load the map image data temp = (u16*)map; for(loop = 0; loop < 32*32/1; loop++) bg1.mapData[loop] = temp[loop]; |
A code example (that doesn't use dma, cos I haven't learnt that yet) or a mod of my code would be great!!