summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/includes/goldstar.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/includes/goldstar.h')
-rw-r--r--src/mame/includes/goldstar.h71
1 files changed, 44 insertions, 27 deletions
diff --git a/src/mame/includes/goldstar.h b/src/mame/includes/goldstar.h
index 815b95c9920..d8851fd70b8 100644
--- a/src/mame/includes/goldstar.h
+++ b/src/mame/includes/goldstar.h
@@ -1,8 +1,8 @@
class goldstar_state : public driver_device
{
public:
- goldstar_state(const machine_config &mconfig, device_type type, const char *tag)
- : driver_device(mconfig, type, tag),
+ goldstar_state(const machine_config &mconfig, device_type type, const char *tag) :
+ driver_device(mconfig, type, tag),
m_fg_vidram(*this, "fg_vidram"),
m_fg_atrram(*this, "fg_atrram"),
m_bg_vidram(*this, "bg_vidram"),
@@ -37,8 +37,6 @@ public:
optional_shared_ptr<UINT8> m_reel3_scroll;
- UINT8 m_unkch_vidreg;
-
tilemap_t *m_reel1_tilemap;
tilemap_t *m_reel2_tilemap;
tilemap_t *m_reel3_tilemap;
@@ -50,19 +48,16 @@ public:
UINT8 m_cmaster_girl_pal;
UINT8 m_cm_enable_reg;
UINT8 m_cm_girl_scroll;
- UINT8 m_lucky8_nmi_enable;
int m_tile_bank;
DECLARE_WRITE8_MEMBER(protection_w);
DECLARE_READ8_MEMBER(protection_r);
+ DECLARE_WRITE8_MEMBER(lucky8_outport_w);
DECLARE_WRITE8_MEMBER(ncb3_port81_w);
DECLARE_WRITE8_MEMBER(goldstar_lamps_w);
DECLARE_WRITE8_MEMBER(cb3_lamps_w);
DECLARE_WRITE8_MEMBER(cm_outport1_w);
DECLARE_WRITE8_MEMBER(pkrmast_lamps_w);
- DECLARE_WRITE8_MEMBER(lucky8_outport_w);
- DECLARE_WRITE8_MEMBER(magodds_outb850_w);
- DECLARE_WRITE8_MEMBER(magodds_outb860_w);
DECLARE_WRITE8_MEMBER(ladylinr_outport_w);
DECLARE_READ8_MEMBER(fixedvalb4_r);
DECLARE_READ8_MEMBER(fixedvala8_r);
@@ -92,16 +87,12 @@ public:
DECLARE_WRITE8_MEMBER(goldstar_reel3_ram_w);
DECLARE_WRITE8_MEMBER(goldstar_fa00_w);
DECLARE_WRITE8_MEMBER(cm_background_col_w);
- DECLARE_WRITE8_MEMBER(system_outputa_w);
- DECLARE_WRITE8_MEMBER(system_outputb_w);
- DECLARE_WRITE8_MEMBER(system_outputc_w);
DECLARE_WRITE8_MEMBER(ay8910_outputa_w);
DECLARE_WRITE8_MEMBER(ay8910_outputb_w);
DECLARE_DRIVER_INIT(goldstar);
DECLARE_DRIVER_INIT(cmast91);
DECLARE_DRIVER_INIT(nfb96_dk);
DECLARE_DRIVER_INIT(cm);
- DECLARE_DRIVER_INIT(lucky8a);
DECLARE_DRIVER_INIT(nfb96sea);
DECLARE_DRIVER_INIT(schery97a);
DECLARE_DRIVER_INIT(rp35);
@@ -116,7 +107,6 @@ public:
DECLARE_DRIVER_INIT(po33);
DECLARE_DRIVER_INIT(match133);
DECLARE_DRIVER_INIT(rp36c3);
- DECLARE_DRIVER_INIT(magoddsc);
DECLARE_DRIVER_INIT(nfb96_c1);
DECLARE_DRIVER_INIT(fb2010);
DECLARE_DRIVER_INIT(super9);
@@ -131,15 +121,9 @@ public:
DECLARE_VIDEO_START(cherrym);
DECLARE_PALETTE_INIT(cmast91);
DECLARE_PALETTE_INIT(lucky8);
- DECLARE_VIDEO_START(bingowng);
- DECLARE_VIDEO_START(magical);
- DECLARE_PALETTE_INIT(magodds);
UINT32 screen_update_goldstar(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
UINT32 screen_update_cmast91(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- UINT32 screen_update_bingowng(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- UINT32 screen_update_magical(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
UINT32 screen_update_amcoe1a(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- INTERRUPT_GEN_MEMBER(lucky8_irq);
void do_blockswaps(UINT8* ROM);
void dump_to_file( UINT8* ROM);
required_device<cpu_device> m_maincpu;
@@ -148,11 +132,42 @@ public:
};
+class wingco_state : public goldstar_state
+{
+public:
+ wingco_state(const machine_config &mconfig, device_type type, const char *tag) :
+ goldstar_state(mconfig, type, tag)
+ {
+ }
+
+ DECLARE_WRITE8_MEMBER(magodds_outb850_w);
+ DECLARE_WRITE8_MEMBER(magodds_outb860_w);
+ DECLARE_WRITE8_MEMBER(system_outputa_w);
+ DECLARE_WRITE8_MEMBER(system_outputb_w);
+ DECLARE_WRITE8_MEMBER(system_outputc_w);
+
+ DECLARE_DRIVER_INIT(lucky8a);
+ DECLARE_DRIVER_INIT(magoddsc);
+
+ DECLARE_VIDEO_START(bingowng);
+ DECLARE_VIDEO_START(magical);
+ DECLARE_PALETTE_INIT(magodds);
+ UINT32 screen_update_bingowng(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
+ UINT32 screen_update_magical(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
+
+ INTERRUPT_GEN_MEMBER(masked_irq);
+
+private:
+ UINT8 m_nmi_enable;
+ UINT8 m_vidreg;
+};
+
+
class cb3_state : public goldstar_state
{
public:
- cb3_state(const machine_config &mconfig, device_type type, const char *tag)
- : goldstar_state(mconfig, type, tag)
+ cb3_state(const machine_config &mconfig, device_type type, const char *tag) :
+ goldstar_state(mconfig, type, tag)
{
}
@@ -168,8 +183,8 @@ protected:
class chrygld_state : public goldstar_state
{
public:
- chrygld_state(const machine_config &mconfig, device_type type, const char *tag)
- : goldstar_state(mconfig, type, tag)
+ chrygld_state(const machine_config &mconfig, device_type type, const char *tag) :
+ goldstar_state(mconfig, type, tag)
{
}
@@ -184,8 +199,8 @@ protected:
class sangho_state : public goldstar_state
{
public:
- sangho_state(const machine_config &mconfig, device_type type, const char *tag)
- : goldstar_state(mconfig, type, tag),
+ sangho_state(const machine_config &mconfig, device_type type, const char *tag) :
+ goldstar_state(mconfig, type, tag),
m_reel1_attrram(*this, "reel1_attrram"),
m_reel2_attrram(*this, "reel2_attrram"),
m_reel3_attrram(*this, "reel3_attrram")
@@ -225,8 +240,8 @@ private:
class unkch_state : public goldstar_state
{
public:
- unkch_state(const machine_config &mconfig, device_type type, const char *tag)
- : goldstar_state(mconfig, type, tag),
+ unkch_state(const machine_config &mconfig, device_type type, const char *tag) :
+ goldstar_state(mconfig, type, tag),
m_reel1_attrram(*this, "reel1_attrram"),
m_reel2_attrram(*this, "reel2_attrram"),
m_reel3_attrram(*this, "reel3_attrram")
@@ -260,4 +275,6 @@ private:
required_shared_ptr<UINT8> m_reel1_attrram;
required_shared_ptr<UINT8> m_reel2_attrram;
required_shared_ptr<UINT8> m_reel3_attrram;
+
+ UINT8 m_vidreg;
};