Quote:
And also, what Tepples said about MMC3 is true. If you want to use the scanline counter, you can only use sprites from the left pattern table (this is also true with 8x8 sprites; you have to set it up so BG is on the right, and sprites are on the left). I'm not sure why this is, I just know that it's true (and lame).
Basically the PPU does all BG related fetches (nametable, attribute table and BG pattern table) and then does all sprite related fetches (sprite pattern table) each scanline, and repeat this.
So if BG uses the low pattern table and sprites the high pattern table, A12 will remain low for all BG fetches and high for all sprites fetches, effectively clocking the counter once per scanline.
If BG uses right pattern table, A12 will toggle many times during BG fetches as it altenrate between pattern tables and name table fetches so the counter will be clocked more than once per scanline.
If any sprite uses the left pattern table, A12 will also toggle during sprite fetches, and will clock the counter (more than once per scanine).
If you do $2006 writes it's possible to manually clock the counter too.
It is actually possible to use the counter under the previous conditions, but you'd have to predict the extra clocks of the counter.
Hoping this clears things up.