openMSX
Public Member Functions | Protected Member Functions | List of all members
openmsx::V9990Renderer Class Referenceabstract

Abstract base class for V9990 renderers. More...

#include <V9990Renderer.hh>

Inheritance diagram for openmsx::V9990Renderer:
Inheritance graph
[legend]

Public Member Functions

virtual ~V9990Renderer ()=default
 
virtual PostProcessorgetPostProcessor () const =0
 See V9990::getPostProcessor. More...
 
virtual void reset (EmuTime::param time)=0
 Re-initialise the V9990Renderer's state. More...
 
virtual void frameStart (EmuTime::param time)=0
 Signal the start of a new frame. More...
 
virtual void frameEnd (EmuTime::param time)=0
 Signal the end of the current frame. More...
 
virtual void renderUntil (EmuTime::param time)=0
 Render until the given point in emulated time. More...
 
virtual void updateDisplayEnabled (bool enabled, EmuTime::param time)=0
 Informs the renderer of a VDP display enabled change. More...
 
virtual void setDisplayMode (V9990DisplayMode mode, EmuTime::param time)=0
 Set screen mode. More...
 
virtual void setColorMode (V9990ColorMode mode, EmuTime::param time)=0
 Set color mode. More...
 
virtual void updatePalette (int index, byte r, byte g, byte b, bool ys, EmuTime::param time)=0
 Set a palette entry. More...
 
virtual void updateSuperimposing (bool enabled, EmuTime::param time)=0
 Change superimpose status. More...
 
virtual void updateBackgroundColor (int index, EmuTime::param time)=0
 Set background color. More...
 
virtual void updateScrollAX (EmuTime::param time)=0
 Set scroll register. More...
 
virtual void updateScrollBX (EmuTime::param time)=0
 
virtual void updateScrollAYLow (EmuTime::param time)=0
 
virtual void updateScrollBYLow (EmuTime::param time)=0
 

Protected Member Functions

 V9990Renderer ()=default
 

Detailed Description

Abstract base class for V9990 renderers.

A V9990Renderer is a class that covnerts the V9990 state into visual information (e.g. pixels on a screen).

See also
Renderer.cc

Definition at line 18 of file V9990Renderer.hh.

Constructor & Destructor Documentation

◆ ~V9990Renderer()

virtual openmsx::V9990Renderer::~V9990Renderer ( )
virtualdefault

◆ V9990Renderer()

openmsx::V9990Renderer::V9990Renderer ( )
protecteddefault

Member Function Documentation

◆ frameEnd()

virtual void openmsx::V9990Renderer::frameEnd ( EmuTime::param  time)
pure virtual

Signal the end of the current frame.

Parameters
timeThe moment in emulated time the frame ends.

Implemented in openmsx::V9990PixelRenderer, and openmsx::V9990DummyRenderer.

◆ frameStart()

virtual void openmsx::V9990Renderer::frameStart ( EmuTime::param  time)
pure virtual

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.

Implemented in openmsx::V9990PixelRenderer, and openmsx::V9990DummyRenderer.

◆ getPostProcessor()

virtual PostProcessor* openmsx::V9990Renderer::getPostProcessor ( ) const
pure virtual

◆ renderUntil()

virtual void openmsx::V9990Renderer::renderUntil ( EmuTime::param  time)
pure virtual

Render until the given point in emulated time.

Parameters
timeThe moment in emulated time the frame ends.

Implemented in openmsx::V9990DummyRenderer.

◆ reset()

virtual void openmsx::V9990Renderer::reset ( EmuTime::param  time)
pure virtual

Re-initialise the V9990Renderer's state.

Parameters
timeThe moment in emulated time this reset occurs.

Implemented in openmsx::V9990PixelRenderer, and openmsx::V9990DummyRenderer.

◆ setColorMode()

virtual void openmsx::V9990Renderer::setColorMode ( V9990ColorMode  mode,
EmuTime::param  time 
)
pure virtual

Set color mode.

Implemented in openmsx::V9990PixelRenderer, and openmsx::V9990DummyRenderer.

◆ setDisplayMode()

virtual void openmsx::V9990Renderer::setDisplayMode ( V9990DisplayMode  mode,
EmuTime::param  time 
)
pure virtual

Set screen mode.

Implemented in openmsx::V9990PixelRenderer, and openmsx::V9990DummyRenderer.

◆ updateBackgroundColor()

virtual void openmsx::V9990Renderer::updateBackgroundColor ( int  index,
EmuTime::param  time 
)
pure virtual

Set background color.

Implemented in openmsx::V9990PixelRenderer, and openmsx::V9990DummyRenderer.

◆ updateDisplayEnabled()

virtual void openmsx::V9990Renderer::updateDisplayEnabled ( bool  enabled,
EmuTime::param  time 
)
pure virtual

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.

Implemented in openmsx::V9990PixelRenderer, and openmsx::V9990DummyRenderer.

◆ updatePalette()

virtual void openmsx::V9990Renderer::updatePalette ( int  index,
byte  r,
byte  g,
byte  b,
bool  ys,
EmuTime::param  time 
)
pure virtual

Set a palette entry.

Implemented in openmsx::V9990PixelRenderer, and openmsx::V9990DummyRenderer.

◆ updateScrollAX()

virtual void openmsx::V9990Renderer::updateScrollAX ( EmuTime::param  time)
pure virtual

Set scroll register.

Implemented in openmsx::V9990PixelRenderer, and openmsx::V9990DummyRenderer.

◆ updateScrollAYLow()

virtual void openmsx::V9990Renderer::updateScrollAYLow ( EmuTime::param  time)
pure virtual

◆ updateScrollBX()

virtual void openmsx::V9990Renderer::updateScrollBX ( EmuTime::param  time)
pure virtual

◆ updateScrollBYLow()

virtual void openmsx::V9990Renderer::updateScrollBYLow ( EmuTime::param  time)
pure virtual

◆ updateSuperimposing()

virtual void openmsx::V9990Renderer::updateSuperimposing ( bool  enabled,
EmuTime::param  time 
)
pure virtual

Change superimpose status.

Implemented in openmsx::V9990PixelRenderer, and openmsx::V9990DummyRenderer.


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