diff options
Diffstat (limited to 'src/mame/includes/namcos1.h')
-rw-r--r-- | src/mame/includes/namcos1.h | 85 |
1 files changed, 48 insertions, 37 deletions
diff --git a/src/mame/includes/namcos1.h b/src/mame/includes/namcos1.h index 13be3197c3e..3b8f0604e29 100644 --- a/src/mame/includes/namcos1.h +++ b/src/mame/includes/namcos1.h @@ -33,6 +33,9 @@ public: m_rom(*this, "user1"), m_soundbank(*this, "soundbank"), m_mcubank(*this, "mcubank"), + m_io_in(*this, "IN%u", 0U), + m_io_control(*this, "CONTROL%u", 0U), + m_io_paddle(*this, "PADDLE%u", 0U), m_io_dipsw(*this, "DIPSW"), m_dsw_sel(*this, "dsw_sel") { } @@ -63,6 +66,12 @@ public: void init_dspirit(); void init_pistoldm(); +protected: + virtual void machine_start() override; + virtual void machine_reset() override; + virtual void video_start() override; + void driver_init() override; + private: required_device<mc6809e_device> m_maincpu; required_device<mc6809e_device> m_subcpu; @@ -74,13 +83,16 @@ private: required_device_array<dac_8bit_r2r_device, 2> m_dac; required_device<gfxdecode_device> m_gfxdecode; - required_shared_ptr<uint8_t> m_spriteram; - required_shared_ptr<uint8_t> m_triram; - required_region_ptr<uint8_t> m_rom; + required_shared_ptr<u8> m_spriteram; + required_shared_ptr<u8> m_triram; + required_region_ptr<u8> m_rom; required_memory_bank m_soundbank; required_memory_bank m_mcubank; + optional_ioport_array<4> m_io_in; + optional_ioport_array<2> m_io_control; + optional_ioport_array<2> m_io_paddle; required_ioport m_io_dipsw; required_device<ls157_device> m_dsw_sel; @@ -91,51 +103,50 @@ private: int m_key_swap4; int m_key_bottom4; int m_key_top4; - unsigned int m_key_quotient; - unsigned int m_key_reminder; - unsigned int m_key_numerator_high_word; - uint8_t m_key[8]; + u32 m_key_quotient; + u32 m_key_reminder; + u32 m_key_numerator_high_word; + u8 m_key[8]; int m_mcu_patch_data; int m_reset; int m_input_count; int m_strobe; int m_strobe_count; int m_stored_input[2]; - int m_copy_sprites; - uint8_t m_drawmode_table[16]; + bool m_copy_sprites; + u8 m_drawmode_table[16]; DECLARE_WRITE_LINE_MEMBER(subres_w); - DECLARE_WRITE8_MEMBER(audiocpu_irq_ack_w); - DECLARE_WRITE8_MEMBER(mcu_irq_ack_w); + void audiocpu_irq_ack_w(u8 data); + void mcu_irq_ack_w(u8 data); DECLARE_READ8_MEMBER(dsw_r); - DECLARE_WRITE8_MEMBER(coin_w); - DECLARE_WRITE8_MEMBER(dac_gain_w); - DECLARE_WRITE8_MEMBER(sound_bankswitch_w); - DECLARE_WRITE8_MEMBER(mcu_bankswitch_w); - DECLARE_WRITE8_MEMBER(mcu_patch_w); - DECLARE_READ8_MEMBER(quester_paddle_r); - DECLARE_READ8_MEMBER(berabohm_buttons_r); - DECLARE_READ8_MEMBER(faceoff_inputs_r); - DECLARE_WRITE8_MEMBER(spriteram_w); - DECLARE_WRITE8_MEMBER(_3dcs_w); - DECLARE_READ8_MEMBER(no_key_r); - DECLARE_WRITE8_MEMBER(no_key_w); - DECLARE_READ8_MEMBER(key_type1_r); - DECLARE_WRITE8_MEMBER(key_type1_w); - DECLARE_READ8_MEMBER(key_type2_r); - DECLARE_WRITE8_MEMBER(key_type2_w); - DECLARE_READ8_MEMBER(key_type3_r); - DECLARE_WRITE8_MEMBER(key_type3_w); - - virtual void machine_start() override; - virtual void machine_reset() override; - virtual void video_start() override; - void driver_init() override; - - void TilemapCB(uint16_t code, int *tile, int *mask); + void coin_w(u8 data); + void dac_gain_w(u8 data); + void sound_bankswitch_w(u8 data); + void mcu_bankswitch_w(u8 data); + void mcu_patch_w(u8 data); + u8 quester_paddle_r(offs_t offset); + u8 berabohm_buttons_r(offs_t offset); + u8 faceoff_inputs_r(offs_t offset); + void spriteram_w(offs_t offset, u8 data); + void _3dcs_w(offs_t offset, u8 data); + u8 no_key_r(offs_t offset); + void no_key_w(offs_t offset, u8 data); + u8 key_type1_r(offs_t offset); + void key_type1_w(offs_t offset, u8 data); + u8 key_type2_r(offs_t offset); + void key_type2_w(offs_t offset, u8 data); + u8 key_type3_r(offs_t offset); + void key_type3_w(offs_t offset, u8 data); + + void key_type_1_init(int key_id); + void key_type_2_init(int key_id); + void key_type_3_init(int key_id, int reg, int rng, int swap4_arg, int swap4, int bottom4, int top4); + + void TilemapCB(u16 code, int *tile, int *mask); void draw_sprites(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); - uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); + u32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); DECLARE_WRITE_LINE_MEMBER(screen_vblank); void main_map(address_map &map); |