diff options
Diffstat (limited to 'src/devices/machine/sunplus_gcm394_video.h')
-rw-r--r-- | src/devices/machine/sunplus_gcm394_video.h | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/src/devices/machine/sunplus_gcm394_video.h b/src/devices/machine/sunplus_gcm394_video.h index 0f8e2392a5d..e9349700e3b 100644 --- a/src/devices/machine/sunplus_gcm394_video.h +++ b/src/devices/machine/sunplus_gcm394_video.h @@ -81,6 +81,10 @@ public: DECLARE_READ16_MEMBER(video_703a_palettebank_r); DECLARE_WRITE16_MEMBER(video_703a_palettebank_w); + + void update_raster_split_position(); + DECLARE_WRITE16_MEMBER(split_irq_xpos_w); + DECLARE_WRITE16_MEMBER(split_irq_ypos_w); DECLARE_READ16_MEMBER(videoirq_source_enable_r); DECLARE_WRITE16_MEMBER(videoirq_source_enable_w); @@ -145,6 +149,8 @@ protected: TILE_Y_FLIP = 0x0008 }; + static const device_timer_id TIMER_SCREENPOS = 2; + virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override; inline void check_video_irq(); @@ -215,11 +221,13 @@ protected: uint16_t m_707f; uint16_t m_703a_palettebank; - uint16_t m_7062; - uint16_t m_7063; + uint16_t m_video_irq_enable; + uint16_t m_video_irq_status; uint16_t m_702a; uint16_t m_7030_brightness; + uint16_t m_xirqpos; + uint16_t m_yirqpos; uint16_t m_703c_tvcontrol1; uint16_t m_7042_sprite; @@ -243,7 +251,7 @@ protected: void unk_vid_regs_w(int which, int offset, uint16_t data); - uint16_t m_video_irq_status; + emu_timer *m_screenpos_timer; uint16_t m_spriteram[0x400]; uint16_t m_spriteextra[0x400]; @@ -259,8 +267,6 @@ protected: int m_maxgfxelement; void decodegfx(const char* tag); - int m_global_y_mask; - int m_pal_displaybank_high; int m_alt_tile_addressing; }; |