openMSX
|
Generic pixel based renderer for the V9990. More...
#include <V9990PixelRenderer.hh>
Public Member Functions | |
V9990PixelRenderer (V9990 &vdp) | |
~V9990PixelRenderer () override | |
PostProcessor * | getPostProcessor () 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 | |
Generic pixel based renderer for the V9990.
Uses a rasterizer to plot actual pixels for a specific video system
Definition at line 24 of file V9990PixelRenderer.hh.
|
explicit |
|
override |
Definition at line 40 of file V9990PixelRenderer.cc.
References openmsx::Subject< T >::detach(), openmsx::RenderSettings::getMaxFrameSkipSetting(), and openmsx::RenderSettings::getMinFrameSkipSetting().
|
overridevirtual |
Signal the end of the current frame.
time | The moment in emulated time the frame ends. |
Implements openmsx::V9990Renderer.
Definition at line 104 of file V9990PixelRenderer.cc.
References openmsx::EventDistributor::distributeEvent(), openmsx::RenderSettings::getDeinterlace(), openmsx::MSXDevice::getMotherBoard(), openmsx::VideoSourceSetting::getSource(), openmsx::Timer::getTime(), openmsx::MSXMotherBoard::isActive(), openmsx::V9990::isEvenOddEnabled(), openmsx::MSXMotherBoard::isFastForwarding(), and openmsx::V9990::isInterlaced().
|
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:
time | The 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().
|
overridevirtual |
Implements openmsx::V9990Renderer.
Definition at line 46 of file V9990PixelRenderer.cc.
|
overridevirtual |
Re-initialise the V9990Renderer's state.
time | The 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().
|
overridevirtual |
Set color mode.
Implements openmsx::V9990Renderer.
Definition at line 277 of file V9990PixelRenderer.cc.
Referenced by reset().
|
overridevirtual |
Set screen mode.
Implements openmsx::V9990Renderer.
Definition at line 255 of file V9990PixelRenderer.cc.
Referenced by frameStart(), and reset().
|
overridevirtual |
Set background color.
Implements openmsx::V9990Renderer.
Definition at line 283 of file V9990PixelRenderer.cc.
|
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.
enabled | The new display enabled state. |
time | The moment in emulated time this change occurs. |
Implements openmsx::V9990Renderer.
Definition at line 249 of file V9990PixelRenderer.cc.
|
overridevirtual |
Set a palette entry.
Implements openmsx::V9990Renderer.
Definition at line 261 of file V9990PixelRenderer.cc.
References g.
|
overridevirtual |
Set scroll register.
Implements openmsx::V9990Renderer.
Definition at line 288 of file V9990PixelRenderer.cc.
|
overridevirtual |
Implements openmsx::V9990Renderer.
Definition at line 297 of file V9990PixelRenderer.cc.
|
overridevirtual |
Implements openmsx::V9990Renderer.
Definition at line 292 of file V9990PixelRenderer.cc.
|
overridevirtual |
Implements openmsx::V9990Renderer.
Definition at line 306 of file V9990PixelRenderer.cc.
|
overridevirtual |
Change superimpose status.
Implements openmsx::V9990Renderer.
Definition at line 272 of file V9990PixelRenderer.cc.