openMSX
Static Public Member Functions | Static Public Attributes | List of all members
openmsx::V9990DisplayTiming Class Reference

#include <V9990DisplayTiming.hh>

Static Public Member Functions

static constexpr int getUCTicksPerFrame (bool palTiming)
 Get the number of UC ticks in 1 frame.
 

Static Public Attributes

static constexpr int UC_TICKS_PER_SECOND = 3579545 * 12
 The V9990 has an internal clock (MCLK @ 14MHz) and a terminal for an external clock (XTAL1), which can be connected to a 21 or 25 MHz crystal.
 
static constexpr int UC_TICKS_PER_LINE = 2736
 The number of clock ticks per line is independent of the crystal used or the display mode (NTSC/PAL)
 
static constexpr auto lineMCLK
 Horizontal (line) timing when using MCLK: 'Normal' display modes.
 
static constexpr auto lineXTAL
 Horizontal (line) timing when using XTAL: 'Overscan' modes without border.
 
static constexpr auto displayNTSC_MCLK = V9990DisplayPeriod{262, 15, 14, 212, 14}
 NTSC display timing, when using MCLK: Normal display mode with borders.
 
static constexpr auto displayNTSC_XTAL = V9990DisplayPeriod{262, 15, 0, 240, 0}
 NTSC display timing, when using XTAL: Overscan mode without borders.
 
static constexpr auto displayPAL_MCLK = V9990DisplayPeriod{313, 15, 41, 212, 37}
 PAL display timing, when using MCLK: Normal display mode with borders.
 
static constexpr auto displayPAL_XTAL = V9990DisplayPeriod{313, 15, 0, 290, 0}
 PAL display timing, when using XTAL: Overscan mode without borders.
 

Detailed Description

Definition at line 20 of file V9990DisplayTiming.hh.

Member Function Documentation

◆ getUCTicksPerFrame()

static constexpr int openmsx::V9990DisplayTiming::getUCTicksPerFrame ( bool  palTiming)
inlinestaticconstexpr

Get the number of UC ticks in 1 frame.

Parameters
palTimingUse PAL timing? (False = NTSC timing)
Returns
The number of UC ticks in a frame

Definition at line 75 of file V9990DisplayTiming.hh.

References displayNTSC_MCLK, displayPAL_MCLK, and UC_TICKS_PER_LINE.

Member Data Documentation

◆ displayNTSC_MCLK

constexpr auto openmsx::V9990DisplayTiming::displayNTSC_MCLK = V9990DisplayPeriod{262, 15, 14, 212, 14}
staticconstexpr

NTSC display timing, when using MCLK: Normal display mode with borders.

Timing is in display lines.

Definition at line 53 of file V9990DisplayTiming.hh.

Referenced by openmsx::V9990::getCursorYOffset(), and getUCTicksPerFrame().

◆ displayNTSC_XTAL

constexpr auto openmsx::V9990DisplayTiming::displayNTSC_XTAL = V9990DisplayPeriod{262, 15, 0, 240, 0}
staticconstexpr

NTSC display timing, when using XTAL: Overscan mode without borders.

Timing is in display lines.

Definition at line 58 of file V9990DisplayTiming.hh.

◆ displayPAL_MCLK

constexpr auto openmsx::V9990DisplayTiming::displayPAL_MCLK = V9990DisplayPeriod{313, 15, 41, 212, 37}
staticconstexpr

PAL display timing, when using MCLK: Normal display mode with borders.

Timing is in display lines.

Definition at line 63 of file V9990DisplayTiming.hh.

Referenced by openmsx::V9990::getCursorYOffset(), and getUCTicksPerFrame().

◆ displayPAL_XTAL

constexpr auto openmsx::V9990DisplayTiming::displayPAL_XTAL = V9990DisplayPeriod{313, 15, 0, 290, 0}
staticconstexpr

PAL display timing, when using XTAL: Overscan mode without borders.

Timing is in display lines.

Definition at line 68 of file V9990DisplayTiming.hh.

◆ lineMCLK

constexpr auto openmsx::V9990DisplayTiming::lineMCLK
staticconstexpr
Initial value:
= V9990DisplayPeriod{
static constexpr int UC_TICKS_PER_LINE
The number of clock ticks per line is independent of the crystal used or the display mode (NTSC/PAL)

Horizontal (line) timing when using MCLK: 'Normal' display modes.

Timing is in UC ticks.

Definition at line 41 of file V9990DisplayTiming.hh.

◆ lineXTAL

constexpr auto openmsx::V9990DisplayTiming::lineXTAL
staticconstexpr
Initial value:
= V9990DisplayPeriod{

Horizontal (line) timing when using XTAL: 'Overscan' modes without border.

Timing is in UC ticks.

Definition at line 47 of file V9990DisplayTiming.hh.

◆ UC_TICKS_PER_LINE

constexpr int openmsx::V9990DisplayTiming::UC_TICKS_PER_LINE = 2736
staticconstexpr

The number of clock ticks per line is independent of the crystal used or the display mode (NTSC/PAL)

Definition at line 36 of file V9990DisplayTiming.hh.

Referenced by openmsx::V9990SDLRasterizer::drawBorder(), getUCTicksPerFrame(), openmsx::V9990::peekIO(), and openmsx::V9990::UCtoX().

◆ UC_TICKS_PER_SECOND

constexpr int openmsx::V9990DisplayTiming::UC_TICKS_PER_SECOND = 3579545 * 12
staticconstexpr

The V9990 has an internal clock (MCLK @ 14MHz) and a terminal for an external clock (XTAL1), which can be connected to a 21 or 25 MHz crystal.

The Gfx9000 provides an 21 MHz crystal.

The emulation combines these two clocks into one unified clock (UC) running at 42MHz - the smallest common multiple of 14 and 21 MHz.

Definition at line 31 of file V9990DisplayTiming.hh.


The documentation for this class was generated from the following file: