Blanking: Difference between revisions
(how long hblank lasts) |
(letterbox) |
||
(One intermediate revision by the same user not shown) | |||
Line 1: | Line 1: | ||
[[File:Street Fighter II fblank.png|thumb|''Street Fighter II'' uses fblank at the top of the screen until scanline 22 and again on the bottom starting at scanline 216 for a total of 31 blank lines (disregarding overscan).]] | [[File:Street Fighter II fblank.png|thumb|''Street Fighter II'' uses fblank for a letterbox effect at the top of the screen until scanline 22 and again on the bottom starting at scanline 216 for a total of 31 blank lines (disregarding overscan).]] | ||
'''Blanking''' is the cutting of electronic current from the cathode to the screen in a CRT television while it is switched on. | '''Blanking''' is the cutting of electronic current from the cathode to the screen in a CRT television while it is switched on. | ||
Line 25: | Line 25: | ||
=== References === | === References === | ||
# https://forums.nesdev.org/viewtopic.php?p=231467#p231467 | # https://forums.nesdev.org/viewtopic.php?p=231467#p231467 | ||
# 1.3 on [https://archive.org/details/SNESDevManual/book1/page/n59 page 2-1-2 of Book I] of the official Super Nintendo development manual | # paragraph 1.3 on [https://archive.org/details/SNESDevManual/book1/page/n59 page 2-1-2 of Book I] of the official Super Nintendo development manual |
Latest revision as of 19:51, 26 August 2024
Blanking is the cutting of electronic current from the cathode to the screen in a CRT television while it is switched on.
Vertical blanking occurs when the electron beam reaches the bottom-right of the screen and needs to be reset to the top-left again. The VBLANK signal is generated by S-PPU2 (pin 26), which is fed into the S-CPU through pin 44.
Horizontal blanking occurs when the electron beam reaches the end of a scanline and needs to be reset to the beginning of the next scanline. The HBLANK signal is also generated by S-PPU2 (pin 25), which is fed into the S-CPU through pin 43. The line buffer is filled during hblank. Hblank is 12,664 nanoseconds long, or 68 dots.
Forced blanking occurs when the PPU is nearly switched off, so it is generating black, but this is not part of the TV's sync pulse.
Enabling fblank tends to take effect immediately, but there are a couple quirks to disabling fblank:
- The PPU may produce garbage output until the next scanline because the color values in the latches are stale
- Sprites may be invisible for a scanline
In 2019, paulb_nl hacked Aladdin and took photos of these quirks. [1]
See Also
References
- https://forums.nesdev.org/viewtopic.php?p=231467#p231467
- paragraph 1.3 on page 2-1-2 of Book I of the official Super Nintendo development manual