summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/includes/gaelco2.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/includes/gaelco2.h')
-rw-r--r--src/mame/includes/gaelco2.h80
1 files changed, 48 insertions, 32 deletions
diff --git a/src/mame/includes/gaelco2.h b/src/mame/includes/gaelco2.h
index 571dd6a08d9..1e78703faf9 100644
--- a/src/mame/includes/gaelco2.h
+++ b/src/mame/includes/gaelco2.h
@@ -13,65 +13,76 @@ public:
gaelco2_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag),
m_maincpu(*this,"maincpu"),
+ m_mainlatch(*this, "mainlatch"),
m_spriteram(*this,"spriteram"),
m_vregs(*this, "vregs"),
m_snowboar_protection(*this, "snowboar_prot"),
m_eeprom(*this, "eeprom"),
- m_mainlatch(*this, "mainlatch"),
m_gfxdecode(*this, "gfxdecode"),
m_palette(*this, "palette"),
m_generic_paletteram_16(*this, "paletteram"),
m_shareram(*this, "shareram")
{ }
+ void maniacsq_d5002fp(machine_config &config);
+ void play2000(machine_config &config);
+ void alighunt(machine_config &config);
+ void touchgo(machine_config &config);
+ void alighunt_d5002fp(machine_config &config);
+ void snowboar(machine_config &config);
+ void maniacsq(machine_config &config);
+ void maniacsqs(machine_config &config);
+ void touchgo_d5002fp(machine_config &config);
+
+ void init_touchgo();
+ void init_snowboar();
+ void init_alighunt();
+ void init_wrally2();
+
+ DECLARE_WRITE_LINE_MEMBER(coin1_counter_w);
+ DECLARE_WRITE_LINE_MEMBER(coin2_counter_w);
+
+ DECLARE_VIDEO_START(gaelco2);
+ DECLARE_VIDEO_START(gaelco2_dual);
+
+ uint32_t screen_update_gaelco2(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
+ uint32_t screen_update_gaelco2_left(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
+ uint32_t screen_update_gaelco2_right(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
+
+protected:
+ required_device<m68000_device> m_maincpu;
+ optional_device<ls259_device> m_mainlatch;
+
+ DECLARE_WRITE16_MEMBER(gaelco2_vram_w);
+ DECLARE_WRITE16_MEMBER(gaelco2_palette_w);
+
+ DECLARE_WRITE16_MEMBER(wrally2_latch_w);
+
+ void mcu_hostmem_map(address_map &map);
+
+private:
DECLARE_WRITE8_MEMBER(shareram_w);
DECLARE_READ8_MEMBER(shareram_r);
- DECLARE_WRITE16_MEMBER(wrally2_latch_w);
DECLARE_WRITE16_MEMBER(alighunt_coin_w);
- DECLARE_WRITE_LINE_MEMBER(coin1_counter_w);
- DECLARE_WRITE_LINE_MEMBER(coin2_counter_w);
DECLARE_WRITE_LINE_MEMBER(coin3_counter_w);
DECLARE_WRITE_LINE_MEMBER(coin4_counter_w);
DECLARE_READ16_MEMBER(snowboar_protection_r);
DECLARE_WRITE16_MEMBER(snowboar_protection_w);
DECLARE_READ16_MEMBER(play2000_shareram_68k_r);
DECLARE_WRITE16_MEMBER(play2000_shareram_68k_w);
- DECLARE_WRITE16_MEMBER(gaelco2_vram_w);
- DECLARE_WRITE16_MEMBER(gaelco2_palette_w);
- void init_touchgo();
- void init_snowboar();
- void init_alighunt();
- void init_wrally2();
TILE_GET_INFO_MEMBER(get_tile_info_gaelco2_screen0);
TILE_GET_INFO_MEMBER(get_tile_info_gaelco2_screen1);
TILE_GET_INFO_MEMBER(get_tile_info_gaelco2_screen0_dual);
TILE_GET_INFO_MEMBER(get_tile_info_gaelco2_screen1_dual);
- DECLARE_VIDEO_START(gaelco2);
- DECLARE_VIDEO_START(gaelco2_dual);
- uint32_t screen_update_gaelco2(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- uint32_t screen_update_gaelco2_left(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- uint32_t screen_update_gaelco2_right(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void draw_sprites(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, int mask, int xoffs);
uint32_t dual_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, int index);
void gaelco2_ROM16_split_gfx(const char *src_reg, const char *dst_reg, int start, int length, int dest1, int dest2);
- void maniacsq_d5002fp(machine_config &config);
- void play2000(machine_config &config);
- void alighunt(machine_config &config);
- void touchgo(machine_config &config);
- void alighunt_d5002fp(machine_config &config);
- void snowboar(machine_config &config);
- void maniacsq(machine_config &config);
- void maniacsqs(machine_config &config);
- void touchgo_d5002fp(machine_config &config);
void alighunt_map(address_map &map);
void maniacsq_map(address_map &map);
- void mcu_hostmem_map(address_map &map);
void play2000_map(address_map &map);
void snowboar_map(address_map &map);
void touchgo_map(address_map &map);
-protected:
- required_device<m68000_device> m_maincpu;
uint32_t snowboard_latch;
@@ -83,7 +94,6 @@ protected:
required_shared_ptr<uint16_t> m_vregs;
optional_shared_ptr<uint16_t> m_snowboar_protection;
optional_device<eeprom_serial_93cxx_device> m_eeprom;
- optional_device<ls259_device> m_mainlatch;
required_device<gfxdecode_device> m_gfxdecode;
required_device<palette_device> m_palette;
required_shared_ptr<uint16_t> m_generic_paletteram_16;
@@ -102,6 +112,11 @@ public:
, m_light1_y(*this, "LIGHT1_Y")
{}
+ void bang(machine_config &config);
+
+ void init_bang();
+
+private:
required_ioport m_light0_x;
required_ioport m_light0_y;
required_ioport m_light1_x;
@@ -115,8 +130,6 @@ public:
DECLARE_READ16_MEMBER(p2_gun_y);
DECLARE_WRITE16_MEMBER(bang_clr_gun_int_w);
TIMER_DEVICE_CALLBACK_MEMBER(bang_irq);
- void init_bang();
- void bang(machine_config &config);
void bang_map(address_map &map);
};
@@ -130,6 +143,11 @@ public:
, m_analog1(*this, "ANALOG1")
{}
+ void wrally2(machine_config &config);
+
+ DECLARE_CUSTOM_INPUT_MEMBER(wrally2_analog_bit_r);
+
+private:
required_ioport m_analog0;
required_ioport m_analog1;
@@ -137,7 +155,5 @@ public:
DECLARE_WRITE_LINE_MEMBER(wrally2_adc_clk);
DECLARE_WRITE_LINE_MEMBER(wrally2_adc_cs);
- DECLARE_CUSTOM_INPUT_MEMBER(wrally2_analog_bit_r);
- void wrally2(machine_config &config);
void wrally2_map(address_map &map);
};