Quantcast
Channel: Active questions tagged memory - Retrocomputing Stack Exchange
Viewing all articles
Browse latest Browse all 56

Why did the NES/FC's PPU's OAM use memory that 'decays' over time?

$
0
0

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?


Viewing all articles
Browse latest Browse all 56

Latest Images

Trending Articles



Latest Images