Display timing
In NTSC mode, the display is 320x224 pixels. In PAL mode, it is 320x256 pixels.
Upper 9 bits of register REG_LSPCMODE ($3C0006):
- $00F8-$00FF : Vertical sync (8)
- $0100-$010F : Top border (16)
- $0110-$01EF : Active display (224)
- $01F0-$01FF : Bottom border (16)
From mvstech.txt (by Charles MacDonald):
Measured in reference to main 24 MHz clock (mclk): Horizontal timing Pulse widths: 111 mclks horizontal sync 27.75 pixels 256 mclks horizontal blanking 64 pixels 1280 mclks active display 320 pixels 1536 mclks per scanline 384 pixels State to state timing: 118 mclks /HSYNC rising to /HBLANK rising 29.5 pixels (left border) 1280 mclks /HBLANK rising to /HBLANK falling 320 pixels (display) 27 mclks /HBLANK falling to /HSYNC falling 6.75 pixels (right border) 111 mclks /HSYNC falling to /HSYNC rising 27.75 pixels (horizontal sync) 384 pixels per scanline: (rounding up) 28 pixels horizontal sync pulse width 29 pixels /HSYNC low to /HBLANK high 320 pixels /HBLANK high to /HBLANK low 7 pixels /HBLANK low to /HSYNC low Vertical timing 264 scanlines per frame: 8 scanlines vertical sync pulse 16 scanlines top border 224 scanlines active display 16 scanlines bottom border Frame timing Frame rate is 6 MHz / 384 / 264 = 59.18 Hz.