Display timing: Difference between revisions

From NeoGeo Development Wiki
Jump to navigation Jump to search
m (1 revision: Import from wikkii)
m (PAL correction)
 
(10 intermediate revisions by the same user not shown)
Line 1: Line 1:
[[File:disp.png|right|frame]]
=Pixel dimensions=
(Need trad)


Upper 9 bits of register '''REG_HBLANKCNT''' ($3C0006):
* NTSC: 384 * 264 pixels.
*$00F8-$00FF : Vertical sync
* PAL: 384 * 312 pixels.
*$0100-$010F : Top border
*$0110-$01EF : Active display
*$01F0-$01FF : Bottom border


From mvstech.txt (by Charles MacDonald):
See [[frame size]] for the '''active''' display size.
<pre>
Measured in reference to main 24 MHz clock (mclk):


Horizontal timing
=Sync=


Pulse widths:                                 
'''mclk''' refers to the 24MHz master [[clock]]. A pixel lasts 4 mclk.
  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:
Notes: After /RESET goes high, SYNC goes high after 1399 mclk.
  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)
[[File:Sync_timing.png|1024px]]


  28 pixels horizontal sync pulse width
{{Sig|CHBL|CHBL}} is the horizontal blanking signal, it tells {{Chipname|NEO-B1}} to output color 0 of [[palettes|palette]] 0, which is the [[palettes|reference color]].
  29 pixels /HSYNC low to /HBLANK high
320 pixels /HBLANK high to /HBLANK low
  7 pixels /HBLANK low to /HSYNC low


Vertical timing
{{Sig|BNKB|BNKB}} is the vertical blanking signal, it forces the [[video DAC]] inputs to 0.


264 scanlines per frame:
==Horizontal==


  8 scanlines vertical sync pulse
[[File:Timing_video_lines.png]]
  16 scanlines top border
[[File:Timing_video_hblank.png]]
224 scanlines active display
  16 scanlines bottom border


Frame timing
* 112 mclks (28px) horizontal sync pulse
* 112 mclks (28px) back porch
* 1280 mclks (320px) active display
* 32 mclks (8px) front porch


Frame rate is 6 MHz / 384 / 264 = 59.18 Hz.
* 32 + 112 + 112 = 256 mclks (64px) horizontal blanking
</pre>
* 32 + 112 + 112 + 1280 = 1536 mclks (384px) total per scanline
 
[[File:Timing_video_vblank.png]]
 
BNKB (blanking to 0V) changes state 14px after H-sync (middle of the back porch)
 
==Vertical==
 
Corrected from and added on from mvstech.txt (by Charles MacDonald).
 
There are 264 scanlines per frame:
* 8 scanlines vertical sync pulse
* 16 scanlines top border (active in PAL, blanked in NTSC)
* 224 scanlines active display
* 16 scanlines bottom border (active in PAL, blanked in NTSC)
 
Upper 9 bits of register {{Reg|REG_LSPCMODE}}:
* $0F8~$0FF : Vertical sync (8px)
* $100~$10F : Top border (16px)
* $110~$1EF : Active display (224px)
* $1F0~$1FF : Bottom border (16px)
 
=Frame timing=
 
See [[framerate]].


[[Category:Video system]]
[[Category:Video system]]

Latest revision as of 12:59, 6 February 2018

Pixel dimensions

  • NTSC: 384 * 264 pixels.
  • PAL: 384 * 312 pixels.

See frame size for the active display size.

Sync

mclk refers to the 24MHz master clock. A pixel lasts 4 mclk.

Notes: After /RESET goes high, SYNC goes high after 1399 mclk.

CHBL is the horizontal blanking signal, it tells NEO-B1 to output color 0 of palette 0, which is the reference color.

BNKB is the vertical blanking signal, it forces the video DAC inputs to 0.

Horizontal

  • 112 mclks (28px) horizontal sync pulse
  • 112 mclks (28px) back porch
  • 1280 mclks (320px) active display
  • 32 mclks (8px) front porch
  • 32 + 112 + 112 = 256 mclks (64px) horizontal blanking
  • 32 + 112 + 112 + 1280 = 1536 mclks (384px) total per scanline

BNKB (blanking to 0V) changes state 14px after H-sync (middle of the back porch)

Vertical

Corrected from and added on from mvstech.txt (by Charles MacDonald).

There are 264 scanlines per frame:

  • 8 scanlines vertical sync pulse
  • 16 scanlines top border (active in PAL, blanked in NTSC)
  • 224 scanlines active display
  • 16 scanlines bottom border (active in PAL, blanked in NTSC)

Upper 9 bits of register REG_LSPCMODE:

  • $0F8~$0FF : Vertical sync (8px)
  • $100~$10F : Top border (16px)
  • $110~$1EF : Active display (224px)
  • $1F0~$1FF : Bottom border (16px)

Frame timing

See framerate.