openMSX
V9990P2Converter.hh
Go to the documentation of this file.
1 #ifndef V9990P2CONVERTER_HH
2 #define V9990P2CONVERTER_HH
3 
4 #include "openmsx.hh"
5 
6 namespace openmsx {
7 
8 class V9990;
9 class V9990VRAM;
10 
11 template <class Pixel>
13 {
14 public:
15  V9990P2Converter(V9990& vdp_, const Pixel* palette64);
16 
17  void convertLine(
18  Pixel* linePtr, unsigned displayX, unsigned displayWidth,
19  unsigned displayY, unsigned displayYA, bool drawSprites);
20 
21 private:
22  void renderPattern(Pixel* buffer, unsigned width,
23  unsigned x, unsigned y, byte pal);
24  void determineVisibleSprites(int* visibleSprites, int displayY);
25  void renderSprites(Pixel* buffer, int displayX, int displayEnd,
26  unsigned displayY, const int* visibleSprites, bool front);
27 
28  V9990& vdp;
29  V9990VRAM& vram;
30  const Pixel* const palette64;
31 };
32 
33 } // namespace openmsx
34 
35 #endif
Implementation of the Yamaha V9990 VDP as used in the GFX9000 cartridge by Sunrise.
Definition: V9990.hh:29
void convertLine(Pixel *linePtr, unsigned displayX, unsigned displayWidth, unsigned displayY, unsigned displayYA, bool drawSprites)
V9990P2Converter(V9990 &vdp_, const Pixel *palette64)
uint8_t byte
8 bit unsigned integer
Definition: openmsx.hh:26
uint32_t Pixel
Thanks to enen for testing this on a real cartridge:
Definition: Autofire.cc:5
Video RAM for the V9990.
Definition: V9990VRAM.hh:15