summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/video/ppu2c0x.h
diff options
context:
space:
mode:
author David Haywood <28625134+DavidHaywood@users.noreply.github.com>2020-03-17 17:14:35 +0000
committer GitHub <noreply@github.com>2020-03-17 13:14:35 -0400
commit2b0c7929a6b83048084b26cfaa3166a99d6bccb7 (patch)
tree44643db9e26d9d17be834fb9f36c5f01a874db11 /src/devices/video/ppu2c0x.h
parentc3d6be7a6013478b8c2dbe7cc6872944b655691d (diff)
Plug and Play work (#6451)
* sh6578 sprite work (nw) * sh6578 masks fewer bits, fixes jewel master and some others (nw) * sprite fixes for sh6578 * new NOT WORKING clones ----- Fun 2 Learn Smart Fit Park (UK) [Sean Riddle, David Haywood] works as well as the Spanish set (mostly playable without sound) * new NOT WORKING ---- OPlayer Mobile Game Console (MGS03-white) (Family Sport 100-in-1) [Sean Riddle, David Haywood] (all games are actually playable, just need to get rid of the low battery indicator and remove some hacks) * notes about some other units (nw) * swap oplayer uppper address lines after discussion with sean (nw) new NOT WORKING --- Denver Game Console GMP-240C 150-in-1 [TeamEurope] some kind of VT? based system, enhanced chipset we don't support tho, bank write is unhandled by the looks of things (nw) * new WORKING machine ---- Technigame Super 4-in-1 Sports (PAL) [Sean Riddle, David Haywood]
Diffstat (limited to 'src/devices/video/ppu2c0x.h')
-rw-r--r--src/devices/video/ppu2c0x.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/devices/video/ppu2c0x.h b/src/devices/video/ppu2c0x.h
index e785a605fdb..b95652791f5 100644
--- a/src/devices/video/ppu2c0x.h
+++ b/src/devices/video/ppu2c0x.h
@@ -91,8 +91,12 @@ public:
virtual void read_sprite_plane_data(int address);
virtual void make_sprite_pixel_data(uint8_t &pixel_data, int flipx);
virtual void draw_sprite_pixel(int sprite_xpos, int color, int pixel, uint8_t pixel_data, bitmap_rgb32 &bitmap);
+ virtual bool is_spritepixel_opaque(int pixel_data, int color);
+ virtual void draw_sprite_pixel_low(bitmap_rgb32& bitmap, int pixel_data, int pixel, int sprite_xpos, int color, int sprite_index, uint8_t* line_priority);
+ virtual void draw_sprite_pixel_high(bitmap_rgb32& bitmap, int pixel_data, int pixel, int sprite_xpos, int color, int sprite_index, uint8_t* line_priority);
virtual void read_extra_sprite_bits(int sprite_index);
+ virtual int apply_sprite_pattern_page(int index1, int size);
virtual void draw_sprites(uint8_t *line_priority);
void render_scanline();
virtual void scanline_increment_fine_ycounter();
@@ -189,6 +193,8 @@ protected:
int m_scanline; /* scanline count */
std::unique_ptr<uint8_t[]> m_spriteram; /* sprite ram */
+ int m_videoram_addr_mask;
+ int m_global_refresh_mask;
int m_line_write_increment_large;
bool m_paletteram_in_ppuspace; // sh6578 doesn't have the palette in PPU space, so various side-effects don't apply
std::vector<uint8_t> m_palette_ram; /* shouldn't be in main memory! */