summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/machine/sunplus_gcm394_video.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/machine/sunplus_gcm394_video.h')
-rw-r--r--src/devices/machine/sunplus_gcm394_video.h16
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;
};