Hi,
I'm currently trying to wrap my brain around the PPU sprite evaluation behaviour reading the details here: http://wiki.nesdev.com/w/index.php/PPU_ ... evaluation
However, I don't understand how cycles 65-256 are performed. The evaluation is done on all 64 OAMs meaning it would take (256-64)/64 = 3 cycles per sprite evaluation. (If it should cover all cycles)
The wiki states that odd cycles are read operations from the OAM, and even are writes to secondary OAM. However, there are two loops happening within this time.
First is the evaluation to find out what gets copied to the secondary OAM, and then there's the other loop for the (broken) overflow flag update.
How is this done? Are the loops done in parallel or sequentially? Does anyone have a more detailed description on how this is done per cycle?
-Eicar
I'm currently trying to wrap my brain around the PPU sprite evaluation behaviour reading the details here: http://wiki.nesdev.com/w/index.php/PPU_ ... evaluation
However, I don't understand how cycles 65-256 are performed. The evaluation is done on all 64 OAMs meaning it would take (256-64)/64 = 3 cycles per sprite evaluation. (If it should cover all cycles)
The wiki states that odd cycles are read operations from the OAM, and even are writes to secondary OAM. However, there are two loops happening within this time.
First is the evaluation to find out what gets copied to the secondary OAM, and then there's the other loop for the (broken) overflow flag update.
How is this done? Are the loops done in parallel or sequentially? Does anyone have a more detailed description on how this is done per cycle?
-Eicar