There is one approach I want to try but I'm not sure if it's good or not. I'm aware that I'm not always good at explaining things so I will do my best to make it clear.
The goal is for a side scroller. I have 2x2 meta-metatile made of 2x2 metatile (which mean the meta-metatile is 4x4 tile wide).
The metatile are exported in column style. This mean the content order will be:
The meta-metatile have the same format. The map data is saved in column style too.
What I want to do is to write the map column by column. Let say we have 7 meta-metatiles per column.
The PPU is put in column mode (increment 32). Now when I read the first meta-metatile, I want to write the first "column" of the meta-metatile on the screen. This mean I will write all the A tiles first, shown in the example below:
This mean I will read tile 1-2 of metatile 1 first then repeat the same process for metatile 2. Then I will skip to the next meta-metatile, repeating the same process (writing column A) for the 6 meta-metatile left. Once the first column is over, the PPU adress will now be in column 2 (not really, this 2 tiles left but let assume it is) of the screen and I must repeat the same process 3 times (column B, C, D).
Repeat the same idea for the rest of the column in the map. Only thing left to think about is to when to write the background attributes. My guess at the end of map rendering is better because this will avoid to change the PPU address pointer many times.
Doe this approach make sense?
Thanks for any comments.
The goal is for a side scroller. I have 2x2 meta-metatile made of 2x2 metatile (which mean the meta-metatile is 4x4 tile wide).
The metatile are exported in column style. This mean the content order will be:
Code:
1 3
2 4
2 4
The meta-metatile have the same format. The map data is saved in column style too.
What I want to do is to write the map column by column. Let say we have 7 meta-metatiles per column.
The PPU is put in column mode (increment 32). Now when I read the first meta-metatile, I want to write the first "column" of the meta-metatile on the screen. This mean I will write all the A tiles first, shown in the example below:
Code:
Meta-metatile content
AB CD
1 13 3 13
24 24
2 13 4 13
24 24
AB CD
1 13 3 13
24 24
2 13 4 13
24 24
This mean I will read tile 1-2 of metatile 1 first then repeat the same process for metatile 2. Then I will skip to the next meta-metatile, repeating the same process (writing column A) for the 6 meta-metatile left. Once the first column is over, the PPU adress will now be in column 2 (not really, this 2 tiles left but let assume it is) of the screen and I must repeat the same process 3 times (column B, C, D).
Repeat the same idea for the rest of the column in the map. Only thing left to think about is to when to write the background attributes. My guess at the end of map rendering is better because this will avoid to change the PPU address pointer many times.
Doe this approach make sense?
Thanks for any comments.