openMSX
Public Member Functions | List of all members
openmsx::V9990PixelRenderer Class Referencefinal

Generic pixel based renderer for the V9990. More...

#include <V9990PixelRenderer.hh>

Inheritance diagram for openmsx::V9990PixelRenderer:
Inheritance graph
[legend]
Collaboration diagram for openmsx::V9990PixelRenderer:
Collaboration graph
[legend]

Public Member Functions

 V9990PixelRenderer (V9990 &vdp)
 
 ~V9990PixelRenderer () override
 
PostProcessorgetPostProcessor () const override
 See V9990::getPostProcessor.
 
void reset (EmuTime::param time) override
 Re-initialise the V9990Renderer's state.
 
void frameStart (EmuTime::param time) override
 Signal the start of a new frame.
 
void frameEnd (EmuTime::param time) override
 Signal the end of the current frame.
 
void updateDisplayEnabled (bool enabled, EmuTime::param time) override
 Informs the renderer of a VDP display enabled change.
 
void setDisplayMode (V9990DisplayMode mode, EmuTime::param time) override
 Set screen mode.
 
void setColorMode (V9990ColorMode mode, EmuTime::param time) override
 Set color mode.
 
void updatePalette (int index, byte r, byte g, byte b, bool ys, EmuTime::param time) override
 Set a palette entry.
 
void updateSuperimposing (bool enabled, EmuTime::param time) override
 Change superimpose status.
 
void updateBackgroundColor (int index, EmuTime::param time) override
 Set background color.
 
void updateScrollAX (EmuTime::param time) override
 Set scroll register.
 
void updateScrollBX (EmuTime::param time) override
 
void updateScrollAYLow (EmuTime::param time) override
 
void updateScrollBYLow (EmuTime::param time) override
 
- Public Member Functions inherited from openmsx::V9990Renderer
virtual ~V9990Renderer ()=default
 

Additional Inherited Members

- Protected Member Functions inherited from openmsx::V9990Renderer
 V9990Renderer ()=default
 

Detailed Description

Generic pixel based renderer for the V9990.

Uses a rasterizer to plot actual pixels for a specific video system

See also
PixelRenderer.cc

Definition at line 24 of file V9990PixelRenderer.hh.

Constructor & Destructor Documentation

◆ V9990PixelRenderer()

openmsx::V9990PixelRenderer::V9990PixelRenderer ( V9990 vdp)
explicit

◆ ~V9990PixelRenderer()

openmsx::V9990PixelRenderer::~V9990PixelRenderer ( )
override

Member Function Documentation

◆ frameEnd()

void openmsx::V9990PixelRenderer::frameEnd ( EmuTime::param  time)
overridevirtual

◆ frameStart()

void openmsx::V9990PixelRenderer::frameStart ( EmuTime::param  time)
overridevirtual

Signal the start of a new frame.

The V9990Renderer can use this to get fixed-per-frame settings from the V9990 VDP. Typical settings include:

  • PAL/NTSC timing
  • MCLK/XTAL selection
    Parameters
    timeThe moment in emulated time the frame starts.

Implements openmsx::V9990Renderer.

Definition at line 60 of file V9990PixelRenderer.cc.

References openmsx::RenderSettings::getAccuracy(), openmsx::RenderSettings::getDeinterlace(), openmsx::V9990::getDisplayMode(), openmsx::V9990::getEvenOdd(), openmsx::RenderSettings::getMaxFrameSkip(), openmsx::RenderSettings::getMinFrameSkip(), openmsx::V9990::getTopBorder(), openmsx::V9990::isEvenOddEnabled(), openmsx::V9990::isInterlaced(), setDisplayMode(), and openmsx::RealTime::timeLeft().

◆ getPostProcessor()

PostProcessor * openmsx::V9990PixelRenderer::getPostProcessor ( ) const
overridevirtual

See V9990::getPostProcessor.

Implements openmsx::V9990Renderer.

Definition at line 46 of file V9990PixelRenderer.cc.

◆ reset()

void openmsx::V9990PixelRenderer::reset ( EmuTime::param  time)
overridevirtual

Re-initialise the V9990Renderer's state.

Parameters
timeThe moment in emulated time this reset occurs.

Implements openmsx::V9990Renderer.

Definition at line 51 of file V9990PixelRenderer.cc.

References openmsx::V9990::getColorMode(), openmsx::V9990::getDisplayMode(), openmsx::V9990::isDisplayEnabled(), setColorMode(), and setDisplayMode().

Referenced by V9990PixelRenderer().

◆ setColorMode()

void openmsx::V9990PixelRenderer::setColorMode ( V9990ColorMode  mode,
EmuTime::param  time 
)
overridevirtual

Set color mode.

Implements openmsx::V9990Renderer.

Definition at line 277 of file V9990PixelRenderer.cc.

Referenced by reset().

◆ setDisplayMode()

void openmsx::V9990PixelRenderer::setDisplayMode ( V9990DisplayMode  mode,
EmuTime::param  time 
)
overridevirtual

Set screen mode.

Implements openmsx::V9990Renderer.

Definition at line 255 of file V9990PixelRenderer.cc.

Referenced by frameStart(), and reset().

◆ updateBackgroundColor()

void openmsx::V9990PixelRenderer::updateBackgroundColor ( int  index,
EmuTime::param  time 
)
overridevirtual

Set background color.

Implements openmsx::V9990Renderer.

Definition at line 283 of file V9990PixelRenderer.cc.

◆ updateDisplayEnabled()

void openmsx::V9990PixelRenderer::updateDisplayEnabled ( bool  enabled,
EmuTime::param  time 
)
overridevirtual

Informs the renderer of a VDP display enabled change.

Both the regular border start/end and forced blanking by clearing the display enable bit are considered display enabled changes.

Parameters
enabledThe new display enabled state.
timeThe moment in emulated time this change occurs.

Implements openmsx::V9990Renderer.

Definition at line 249 of file V9990PixelRenderer.cc.

◆ updatePalette()

void openmsx::V9990PixelRenderer::updatePalette ( int  index,
byte  r,
byte  g,
byte  b,
bool  ys,
EmuTime::param  time 
)
overridevirtual

Set a palette entry.

Implements openmsx::V9990Renderer.

Definition at line 261 of file V9990PixelRenderer.cc.

References g.

◆ updateScrollAX()

void openmsx::V9990PixelRenderer::updateScrollAX ( EmuTime::param  time)
overridevirtual

Set scroll register.

Implements openmsx::V9990Renderer.

Definition at line 288 of file V9990PixelRenderer.cc.

◆ updateScrollAYLow()

void openmsx::V9990PixelRenderer::updateScrollAYLow ( EmuTime::param  time)
overridevirtual

Implements openmsx::V9990Renderer.

Definition at line 297 of file V9990PixelRenderer.cc.

◆ updateScrollBX()

void openmsx::V9990PixelRenderer::updateScrollBX ( EmuTime::param  time)
overridevirtual

Implements openmsx::V9990Renderer.

Definition at line 292 of file V9990PixelRenderer.cc.

◆ updateScrollBYLow()

void openmsx::V9990PixelRenderer::updateScrollBYLow ( EmuTime::param  time)
overridevirtual

Implements openmsx::V9990Renderer.

Definition at line 306 of file V9990PixelRenderer.cc.

◆ updateSuperimposing()

void openmsx::V9990PixelRenderer::updateSuperimposing ( bool  enabled,
EmuTime::param  time 
)
overridevirtual

Change superimpose status.

Implements openmsx::V9990Renderer.

Definition at line 272 of file V9990PixelRenderer.cc.


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