diff options
author | couriersud <couriersud@gmx.org> | 2019-11-23 00:26:10 +0100 |
---|---|---|
committer | couriersud <couriersud@gmx.org> | 2019-11-23 00:26:10 +0100 |
commit | 069da107280ede7d0efcd5339d705eb1adbbc2c2 (patch) | |
tree | b44fdbb43a684c0e72778a9e263dd788d3e20db9 /src/mame/includes | |
parent | bd160043519bbe15ce1ac7ac4ecaadeac6756c17 (diff) |
popeye: Add interlaced rendering. [Couriersud]
- fixes MT05600
- There are now three rendering modes selectable via machine config:
- false progressive: same as before.
- Interlaced (scanline skip): only the current field is drawn with
the other field's scanlines blacked. This gives the same flickering
impression as interlaced display.
- Interlaced (bitmap): Bitmap is constructed from odd and even fields.
Result is comparable to PAL/NTSC videos played back on progressive
displays without additional processing.
- Some modernisation, all members initialized in constructor.
Diffstat (limited to 'src/mame/includes')
-rw-r--r-- | src/mame/includes/popeye.h | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/src/mame/includes/popeye.h b/src/mame/includes/popeye.h index de3d341a735..7b09497d135 100644 --- a/src/mame/includes/popeye.h +++ b/src/mame/includes/popeye.h @@ -25,7 +25,17 @@ public: m_videoram(*this, "videoram"), m_colorram(*this, "colorram"), m_color_prom(*this, "proms"), - m_color_prom_spr(*this, "sprpal") + m_color_prom_spr(*this, "sprpal"), + m_background_scroll{0,0,0}, + m_fg_tilemap(nullptr), + m_palette_bank(0), + m_palette_bank_cache(0), + m_prot0(0), + m_prot1(0), + m_prot_shift(0), + m_dswbit(0), + m_nmi_enabled(false), + m_field(0) { } DECLARE_READ_LINE_MEMBER(dsw1_read); @@ -58,12 +68,13 @@ protected: tilemap_t *m_fg_tilemap; uint8_t m_palette_bank; uint8_t m_palette_bank_cache; - int m_field; uint8_t m_prot0; uint8_t m_prot1; uint8_t m_prot_shift; uint8_t m_dswbit; bool m_nmi_enabled; + int m_field; + std::unique_ptr<bitmap_ind16> m_bitmap[2]; // bitmaps for fields virtual DECLARE_WRITE8_MEMBER(refresh_w); DECLARE_READ8_MEMBER(protection_r); |