1. Does the HBlank start at PPU clock cycle 256?
2. About "PPU rendering" status, is it true even during the HBlank?
If by "rendering" you mean "fetching and processing data from VRAM/VROM", then the PPU is still rendering. Here's what the PPU does on each dot of horizontal blank:
- 256-319: Grab pattern slivers for the eight frontmost sprites in range.
- 320-335: Grab map entries and pattern slivers for the first two columns of the next scanline.
- 336-340: Freeze, but this is still considered rendering.
Horizontal blanking starts on dot 256, but some registers are updated at 251 and 257.
- A few things check if the PPU is "rendering", like mapper IRQs and 2004h. I don't know if the "rendering" translates as "BG or sprites enabled AND scanline between 21 and 260 (or 0 and 239)", or only screen ON. I wonder if the HBlank period is taken into account...
HBlank is still in rendering, as tepples suggested.
- OK, thanks for clarifying it.