diff options
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 |
commit | 2b0c7929a6b83048084b26cfaa3166a99d6bccb7 (patch) | |
tree | 44643db9e26d9d17be834fb9f36c5f01a874db11 /src/devices/video/ppu2c0x.h | |
parent | c3d6be7a6013478b8c2dbe7cc6872944b655691d (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.h | 6 |
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! */ |