According to the Nesdev wiki's article on the NES/FC's PPU (https://www.nesdev.org/wiki/PPU) : "while the palette is made of static memory, OAM uses dynamic memory (which will slowly decay if the PPU is not rendering). "
As I've just started picking up 6502 assembly to develop on the NES, this struck me as odd. From what I understand, Nintendo developed the PPU using SRAM entirely, but left that out specifically for the OAM
What this essentially means is that I HAVE to spend CPU cycles sending 64 sprites to the OAM each time, even if my screen never changes, causing me to spend precious CPU cycles to 'refresh' the OAM memory
Given how performance-constrained the NES already is, why did Nintendo opt to use dynamic instead of static ram on the OAM?
And given this decay is random, could the OAM potentially decay in the middle of a frame being rendered?






