diff options
Diffstat (limited to 'src/mame/includes/gaelco2.h')
-rw-r--r-- | src/mame/includes/gaelco2.h | 80 |
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); }; |