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. More...
 

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. More...
 
static constexpr int UC_TICKS_PER_LINE = 2736
 The number of clockticks per line is independent of the crystal used or the display mode (NTSC/PAL) More...
 
static constexpr auto lineMCLK
 Horizontal (line) timing when using MCLK: 'Normal' display modes. More...
 
static constexpr auto lineXTAL
 Horizontal (line) timing when using XTAL: 'Overscan' modes without border. More...
 
static constexpr auto displayNTSC_MCLK = V9990DisplayPeriod{262, 15, 14, 212, 14}
 NTSC display timing, when using MCLK: Normal display mode with borders. More...
 
static constexpr auto displayNTSC_XTAL = V9990DisplayPeriod{262, 15, 0, 240, 0}
 NTSC display timing, when using XTAL: Overscan mode without borders. More...
 
static constexpr auto displayPAL_MCLK = V9990DisplayPeriod{313, 15, 41, 212, 37}
 PAL display timing, when using MCLK: Normal display mode with borders. More...
 
static constexpr auto displayPAL_XTAL = V9990DisplayPeriod{313, 15, 0, 290, 0}
 PAL display timing, when using XTAL: Overscan mode without borders. More...
 

Detailed Description

Definition at line 20 of file V9990DisplayTiming.hh.

Member Function Documentation

◆ getUCTicksPerFrame()

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

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.

Referenced by openmsx::V9990PixelRenderer::frameEnd(), openmsx::V9990::getColorMode(), and openmsx::V9990::getPalette().

Member Data Documentation

◆ displayNTSC_MCLK

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

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 openmsx::V9990::getPalette().

◆ displayNTSC_XTAL

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

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

Timing is in display lines.

Definition at line 58 of file V9990DisplayTiming.hh.

Referenced by openmsx::V9990::getPalette().

◆ displayPAL_MCLK

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

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 openmsx::V9990::getPalette().

◆ displayPAL_XTAL

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

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

Timing is in display lines.

Definition at line 68 of file V9990DisplayTiming.hh.

Referenced by openmsx::V9990::getPalette().

◆ lineMCLK

constexpr auto openmsx::V9990DisplayTiming::lineMCLK
static
Initial value:
= V9990DisplayPeriod{

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

Timing is in UC ticks.

Definition at line 41 of file V9990DisplayTiming.hh.

Referenced by openmsx::V9990::getPalette().

◆ lineXTAL

constexpr auto openmsx::V9990DisplayTiming::lineXTAL
static
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.

Referenced by openmsx::V9990::getPalette().

◆ UC_TICKS_PER_LINE

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

The number of clockticks 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< Pixel >::drawBorder(), openmsx::V9990PixelRenderer::frameEnd(), openmsx::V9990::getColorMode(), openmsx::V9990::getPalette(), openmsx::V9990::peekIO(), and openmsx::V9990::UCtoX().

◆ UC_TICKS_PER_SECOND

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

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 multple of 14 and 21 MHz.

Definition at line 31 of file V9990DisplayTiming.hh.


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