summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/video/ygv608.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/video/ygv608.h')
-rw-r--r--src/mame/video/ygv608.h23
1 files changed, 17 insertions, 6 deletions
diff --git a/src/mame/video/ygv608.h b/src/mame/video/ygv608.h
index 7a4cac5de22..8a207aa28a1 100644
--- a/src/mame/video/ygv608.h
+++ b/src/mame/video/ygv608.h
@@ -42,6 +42,10 @@ public:
DECLARE_WRITE8_MEMBER(system_control_w);
// register section
+ DECLARE_READ8_MEMBER(pattern_name_table_x_r);
+ DECLARE_WRITE8_MEMBER(pattern_name_table_x_w);
+ DECLARE_READ8_MEMBER(pattern_name_table_y_r);
+ DECLARE_WRITE8_MEMBER(pattern_name_table_y_w);
DECLARE_READ8_MEMBER(sprite_address_r);
DECLARE_WRITE8_MEMBER(sprite_address_w);
DECLARE_READ8_MEMBER(scroll_address_r);
@@ -247,12 +251,12 @@ private:
uint8_t m_screen_resize; // screen requires resize
uint8_t m_tilemap_resize; // tilemap requires resize
- /* These were statically allocated in the r/w routines, looks hackish? */
+ /* These were statically allocated in the r/w routines */
int p0_state_r,m_color_state_r;
int p0_state_w,m_color_state_w;
int pattern_name_base_r,pattern_name_base_w; /* pattern name table base address */
- // new variable handling starts here
+ // === new variable handling starts here ===
uint8_t m_register_address; /**< RN: Register address select */
bool m_register_autoinc_r; /**< RRAI: Register address auto-increment on read */
bool m_register_autoinc_w; /**< RWAI: Register address auto-increment on write */
@@ -268,7 +272,13 @@ private:
uint8_t m_palette_address; /**< CC: color palette access pointer */
uint8_t m_sprite_address; /**< SAA: sprite attribute table access pointer */
uint8_t m_sprite_bank; /**< SBA: sprite generator base address (MA20 to MA13) */
-
+ uint8_t m_xtile_ptr; /**< PNX: X coordinate of pattern space */
+ uint8_t m_ytile_ptr; /**< PNY: Y coordinate of pattern space */
+ bool m_xtile_autoinc; /**< PNXA: Permits auto-increment in X coordinate */
+ bool m_ytile_autoinc; /**< PNXA: Permits auto-increment in Y coordinate */
+ bool m_plane_select_access; /**< B/(A): A/B plane access select */
+
+
// screen section
devcb_write_line m_vblank_handler;
devcb_write_line m_raster_handler;
@@ -277,9 +287,10 @@ private:
emu_timer *m_raster_timer;
void screen_configure(); /**< Adjust screen parameters based off CRTC ones */
- attotime raster_sync_offset(); /**< adjust based off raster & CRTC parameters */
- void vblank_irq_check();
- void raster_irq_check();
+ attotime raster_sync_offset(); /**< Adjust timing based off raster & CRTC parameters */
+ void vblank_irq_check(); /**< mask + pend check for vblank irq */
+ void raster_irq_check(); /**< mask + pend check for raster irq */
+ void pattern_name_autoinc_check(); /**< check autoinc for tile pointers */
enum
{