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

#include <V9990DisplayTiming.hh>

Collaboration diagram for openmsx::V9990DisplayTiming:
Collaboration graph
[legend]

Static Public Member Functions

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

Static Public Attributes

static const 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 const 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 const V9990DisplayPeriod lineMCLK
 Horizontal (line) timing when using MCLK: 'Normal' display modes. More...
 
static const V9990DisplayPeriod lineXTAL
 Horizontal (line) timing when using XTAL: 'Overscan' modes without border. More...
 
static const V9990DisplayPeriod displayNTSC_MCLK
 NTSC display timing, when using MCLK: Normal display mode with borders. More...
 
static const V9990DisplayPeriod displayNTSC_XTAL
 NTSC display timing, when using XTAL: Overscan mode without borders. More...
 
static const V9990DisplayPeriod displayPAL_MCLK
 PAL display timing, when using MCLK: Normal display mode with borders. More...
 
static const V9990DisplayPeriod displayPAL_XTAL
 PAL display timing, when using XTAL: Overscan mode without borders. More...
 

Detailed Description

Definition at line 24 of file V9990DisplayTiming.hh.

Member Function Documentation

◆ getUCTicksPerFrame()

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

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 29 of file V9990DisplayTiming.cc.

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

Member Data Documentation

◆ displayNTSC_MCLK

const V9990DisplayPeriod openmsx::V9990DisplayTiming::displayNTSC_MCLK
static
Initial value:
=
V9990DisplayPeriod(262, 15, 14, 212, 14)

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

Timing is in display lines.

Definition at line 55 of file V9990DisplayTiming.hh.

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

◆ displayNTSC_XTAL

const V9990DisplayPeriod openmsx::V9990DisplayTiming::displayNTSC_XTAL
static
Initial value:
=
V9990DisplayPeriod(262, 15, 0, 240, 0)

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

Timing is in display lines.

Definition at line 60 of file V9990DisplayTiming.hh.

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

◆ displayPAL_MCLK

const V9990DisplayPeriod openmsx::V9990DisplayTiming::displayPAL_MCLK
static
Initial value:
=
V9990DisplayPeriod(313, 15, 41, 212, 37)

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

Timing is in display lines.

Definition at line 65 of file V9990DisplayTiming.hh.

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

◆ displayPAL_XTAL

const V9990DisplayPeriod openmsx::V9990DisplayTiming::displayPAL_XTAL
static
Initial value:
=
V9990DisplayPeriod(313, 15, 0, 290, 0)

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

Timing is in display lines.

Definition at line 70 of file V9990DisplayTiming.hh.

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

◆ lineMCLK

const V9990DisplayPeriod openmsx::V9990DisplayTiming::lineMCLK
static
Initial value:
= V9990DisplayPeriod(

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

Timing is in UC ticks.

Definition at line 45 of file V9990DisplayTiming.hh.

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

◆ lineXTAL

const V9990DisplayPeriod 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 50 of file V9990DisplayTiming.hh.

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

◆ UC_TICKS_PER_LINE

const 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 40 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

const 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 35 of file V9990DisplayTiming.hh.


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