Quote:
"shadow OAM" = ram page 0200?
Yes. We call it that way because it's a shadow of what is in the actual OAM in PPU.
Quote:
if you mean something like this (updating sprites)?
Yes exactly
Quote:
How best to do that?
Well there's a lot of approach. For example, by using $200,X adressing mode, before calling the sprite update routine it's possible to select which of the 64 sprites you're going to use. By selecting this in a different way each frame you get sprite cycling (you don't need it in your example, but should you risk to have more than 8 per line, then this would be needed).
Quote:
In my program i compare SPR0 horizontal data with two another SPR1/2 ($0203,$0203 and $0207)as simple collision detection (It's badly done, but I got nothing else). How would you do it correctly?
What you are looking for is collision detection.
First don't use shadow OAM for collision detection, this is not good practice. Have dedicated variables for your objects that gets copied to shadow OAM every frame when they are displayed.
You are doing point-to-point collision detection, you should do rectangle-to-rectangle (but it's also possible to "fake" it using rectangle-to-point, but that might not be the best to do it when learning).
Google search for "collision detection" and you'll likely find dozen of tutorials with good graphics, that are better than anything I can write up for a quick post.