summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/sbus/cgsix.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/sbus/cgsix.h')
-rw-r--r--src/devices/bus/sbus/cgsix.h35
1 files changed, 31 insertions, 4 deletions
diff --git a/src/devices/bus/sbus/cgsix.h b/src/devices/bus/sbus/cgsix.h
index abd1a33ec58..47423f1e724 100644
--- a/src/devices/bus/sbus/cgsix.h
+++ b/src/devices/bus/sbus/cgsix.h
@@ -44,10 +44,13 @@ protected:
DECLARE_WRITE32_MEMBER(vram_w);
DECLARE_READ32_MEMBER(fbc_r);
DECLARE_WRITE32_MEMBER(fbc_w);
+ DECLARE_READ32_MEMBER(thc_misc_r);
+ DECLARE_WRITE32_MEMBER(thc_misc_w);
DECLARE_READ32_MEMBER(cursor_address_r);
DECLARE_WRITE32_MEMBER(cursor_address_w);
DECLARE_READ32_MEMBER(cursor_ram_r);
DECLARE_WRITE32_MEMBER(cursor_ram_w);
+ DECLARE_WRITE_LINE_MEMBER(vblank_w);
uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
uint8_t perform_rasterop(uint8_t src, uint8_t dst, uint8_t mask = 0xff);
@@ -79,6 +82,27 @@ protected:
enum
{
+ THC_MISC_IRQ_BIT = 4,
+ THC_MISC_IRQEN_BIT = 5,
+ THC_MISC_CURRES_BIT = 6,
+ THC_MISC_SYNCEN_BIT = 7,
+ THC_MISC_VSYNC_BIT = 8,
+ THC_MISC_SYNC_BIT = 9,
+ THC_MISC_ENVID_BIT = 10,
+ THC_MISC_RESET_BIT = 12,
+ THC_MISC_REV = 0x00010000,
+ THC_MISC_WRITE_MASK = 0x000014ff
+ };
+
+ enum
+ {
+ FBC_CONFIG_FBID = 0x60000000,
+ FBC_CONFIG_VERSION = 0x00100000,
+ FBC_CONFIG_MASK = 0x000f3fff
+ };
+
+ enum
+ {
FBC_MISC_INDEX_SHIFT = 4,
FBC_MISC_INDEX_MOD_SHIFT = 6,
FBC_MISC_BDISP_SHIFT = 7,
@@ -233,6 +257,7 @@ protected:
enum
{
+ FBC_CONFIG = 0x000/4,
FBC_MISC = 0x004/4,
FBC_CLIP_CHECK = 0x008/4,
@@ -339,7 +364,7 @@ protected:
FBC_IRECT_A = 0x93c/4,
};
- struct vertex_t
+ struct vertex
{
uint32_t m_absx;
uint32_t m_absy;
@@ -364,8 +389,9 @@ protected:
PRIM_COUNT
};
- struct fbc_t
+ struct fbc
{
+ uint32_t m_config;
uint32_t m_misc;
uint32_t m_clip_check;
uint32_t m_status;
@@ -471,11 +497,12 @@ protected:
uint32_t m_irect_b;
uint32_t m_irect_a;
- vertex_t m_prim_buf[0x1000]; // unknown size
+ std::unique_ptr<vertex[]> m_prim_buf;
uint32_t m_vertex_count;
uint32_t m_curr_prim_type;
};
+ uint32_t m_thc_misc;
int16_t m_cursor_x;
int16_t m_cursor_y;
@@ -485,7 +512,7 @@ protected:
required_device<screen_device> m_screen;
required_device<bt458_device> m_ramdac;
- fbc_t m_fbc;
+ fbc m_fbc;
uint32_t m_vram_size;
};