1#ifndef V9990PIXELRENDERER_HH
2#define V9990PIXELRENDERER_HH
15class EventDistributor;
17class VideoSourceSetting;
33 void reset(EmuTime::param time)
override;
35 void frameEnd(EmuTime::param time)
override;
40 EmuTime::param time)
override;
49 void sync(EmuTime::param time,
bool force =
false);
50 void renderUntil(EmuTime::param time)
override;
61 void draw(
int fromX,
int fromY,
int toX,
int toY, DrawType type);
66 void subdivide(
int fromX,
int fromY,
int toX,
int toY,
67 int clipL,
int clipR, DrawType drawType);
87 const std::unique_ptr<V9990Rasterizer> rasterizer;
91 float finishFrameDuration{0.0f};
92 int frameSkipCounter{999};
128 bool drawFrame{
false};
129 bool prevDrawFrame{
false};
Generic Gang-of-Four Observer class, templatized edition.
A post processor builds the frame that is displayed from the MSX frame, while applying effects such a...
Class containing all settings for renderers.
Accuracy
Render accuracy: granularity of the rendered area.
Generic pixel based renderer for the V9990.
void updateScrollBX(EmuTime::param time) override
void updatePalette(int index, byte r, byte g, byte b, bool ys, EmuTime::param time) override
Set a palette entry.
void setDisplayMode(V9990DisplayMode mode, EmuTime::param time) override
Set screen mode.
~V9990PixelRenderer() override
void updateScrollAYLow(EmuTime::param time) override
void reset(EmuTime::param time) override
Re-initialise the V9990Renderer's state.
void updateScrollAX(EmuTime::param time) override
Set scroll register.
void updateSuperimposing(bool enabled, EmuTime::param time) override
Change superimpose status.
PostProcessor * getPostProcessor() const override
See V9990::getPostProcessor.
void updateScrollBYLow(EmuTime::param time) override
void frameEnd(EmuTime::param time) override
Signal the end of the current frame.
void updateBackgroundColor(int index, EmuTime::param time) override
Set background color.
void updateDisplayEnabled(bool enabled, EmuTime::param time) override
Informs the renderer of a VDP display enabled change.
void frameStart(EmuTime::param time) override
Signal the start of a new frame.
void setColorMode(V9990ColorMode mode, EmuTime::param time) override
Set color mode.
Abstract base class for V9990 renderers.
Implementation of the Yamaha V9990 VDP as used in the GFX9000 cartridge by Sunrise.
This file implemented 3 utility functions: