diff options
Diffstat (limited to 'src/mame/includes/vicdual.h')
-rw-r--r-- | src/mame/includes/vicdual.h | 80 |
1 files changed, 48 insertions, 32 deletions
diff --git a/src/mame/includes/vicdual.h b/src/mame/includes/vicdual.h index 11aa50e8945..cd461c54e6f 100644 --- a/src/mame/includes/vicdual.h +++ b/src/mame/includes/vicdual.h @@ -18,11 +18,9 @@ class vicdual_state : public driver_device { public: - vicdual_state(const machine_config &mconfig, device_type type, const char *tag) - : driver_device(mconfig, type, tag), + vicdual_state(const machine_config &mconfig, device_type type, const char *tag) : + driver_device(mconfig, type, tag), m_maincpu(*this,"maincpu"), - m_audiocpu(*this, "audiocpu"), - m_psg(*this, "psg"), m_samples(*this, "samples"), m_discrete(*this, "discrete"), m_coinstate_timer(*this, "coinstate"), @@ -54,8 +52,6 @@ public: void invinco_audio(machine_config &config); void invds(machine_config &config); void headon2(machine_config &config); - void carnival(machine_config &config); - void carnival_audio(machine_config &config); void pulsar(machine_config &config); void pulsar_audio(machine_config &config); void spacetrk(machine_config &config); @@ -63,7 +59,6 @@ public: void safari(machine_config &config); void brdrline(machine_config &config); void brdrline_audio(machine_config &config); - void carnivalh(machine_config &config); void samurai(machine_config &config); void sspaceat(machine_config &config); void digger(machine_config &config); @@ -85,8 +80,6 @@ public: protected: required_device<cpu_device> m_maincpu; - optional_device<i8039_device> m_audiocpu; - optional_device<ay8910_device> m_psg; optional_device<samples_device> m_samples; optional_device<discrete_sound_device> m_discrete; required_device<timer_device> m_coinstate_timer; @@ -109,8 +102,6 @@ protected: uint8_t m_samurai_protection_data; int m_port1State; int m_port2State; - int m_psgData; - int m_psgBus; emu_timer *m_frogs_croak_timer; void coin_in(); @@ -142,7 +133,6 @@ protected: DECLARE_WRITE8_MEMBER(headonn_io_w); DECLARE_WRITE8_MEMBER(tranqgun_io_w); DECLARE_WRITE8_MEMBER(spacetrk_io_w); - DECLARE_WRITE8_MEMBER(carnival_io_w); DECLARE_WRITE8_MEMBER(brdrline_io_w); DECLARE_WRITE8_MEMBER(pulsar_io_w); DECLARE_WRITE8_MEMBER(heiankyo_io_w); @@ -152,7 +142,7 @@ protected: DECLARE_READ8_MEMBER(invinco_io_r); DECLARE_WRITE8_MEMBER(invinco_io_w); - /*----------- defined in audio/vicdual.c -----------*/ + /*----------- defined in audio/vicdual.cpp -----------*/ DECLARE_WRITE8_MEMBER( frogs_audio_w ); DECLARE_WRITE8_MEMBER( headon_audio_w ); DECLARE_WRITE8_MEMBER( invho2_audio_w ); @@ -160,25 +150,17 @@ protected: DECLARE_WRITE8_MEMBER( brdrline_audio_aux_w ); TIMER_CALLBACK_MEMBER( frogs_croak_callback ); - /*----------- defined in audio/carnival.c -----------*/ - DECLARE_WRITE8_MEMBER( carnival_audio_1_w ); - DECLARE_WRITE8_MEMBER( carnival_audio_2_w ); - DECLARE_READ_LINE_MEMBER( carnival_music_port_t1_r ); - DECLARE_WRITE8_MEMBER( carnival_music_port_1_w ); - DECLARE_WRITE8_MEMBER( carnival_music_port_2_w ); - void carnival_psg_latch(address_space &space); - - /*----------- defined in audio/depthch.c -----------*/ + /*----------- defined in audio/depthch.cpp -----------*/ DECLARE_WRITE8_MEMBER( depthch_audio_w ); - /*----------- defined in audio/invinco.c -----------*/ + /*----------- defined in audio/invinco.cpp -----------*/ DECLARE_WRITE8_MEMBER( invinco_audio_w ); - /*----------- defined in audio/pulsar.c -----------*/ + /*----------- defined in audio/pulsar.cpp -----------*/ DECLARE_WRITE8_MEMBER( pulsar_audio_1_w ); DECLARE_WRITE8_MEMBER( pulsar_audio_2_w ); - /*----------- defined in audio/tranqgun.c -----------*/ + /*----------- defined in audio/tranqgun.cpp -----------*/ DECLARE_WRITE8_MEMBER( tranqgun_audio_w ); TIMER_DEVICE_CALLBACK_MEMBER(clear_coin_status); @@ -199,7 +181,6 @@ protected: void brdrline_io_map(address_map &map); void carhntds_dualgame_map(address_map &map); void carhntds_io_map(address_map &map); - void carnival_io_map(address_map &map); void depthch_io_map(address_map &map); void depthch_map(address_map &map); void digger_io_map(address_map &map); @@ -215,7 +196,6 @@ protected: void invho2_io_map(address_map &map); void invinco_io_map(address_map &map); void invinco_map(address_map &map); - void mboard_map(address_map &map); void pulsar_io_map(address_map &map); void safari_io_map(address_map &map); void safari_map(address_map &map); @@ -231,8 +211,8 @@ protected: class nsub_state : public vicdual_state { public: - nsub_state(const machine_config &mconfig, device_type type, const char *tag) - : vicdual_state(mconfig, type, tag), + nsub_state(const machine_config &mconfig, device_type type, const char *tag) : + vicdual_state(mconfig, type, tag), m_s97269pb(*this,"s97269pb"), m_s97271p(*this,"s97271p") { } @@ -261,12 +241,48 @@ private: void nsub_map(address_map &map); }; +class carnival_state : public vicdual_state +{ +public: + carnival_state(const machine_config &mconfig, device_type type, const char *tag) : + vicdual_state(mconfig, type, tag), + m_audiocpu(*this, "audiocpu"), + m_psg(*this, "psg") + { } + + void carnival(machine_config &config); + void carnival_audio(machine_config &config); + void carnivalh(machine_config &config); + +protected: + virtual void machine_start() override; + + optional_device<i8039_device> m_audiocpu; + optional_device<ay8910_device> m_psg; + + void carnival_io_map(address_map &map); + void mboard_map(address_map &map); + + int m_psgData; + int m_psgBus; + + DECLARE_WRITE8_MEMBER(carnival_io_w); + + /*----------- defined in audio/carnival.cpp -----------*/ + DECLARE_WRITE8_MEMBER( carnival_audio_1_w ); + DECLARE_WRITE8_MEMBER( carnival_audio_2_w ); + DECLARE_READ_LINE_MEMBER( carnival_music_port_t1_r ); + DECLARE_WRITE8_MEMBER( carnival_music_port_1_w ); + DECLARE_WRITE8_MEMBER( carnival_music_port_2_w ); + void carnival_psg_latch(address_space &space); +}; + class headonsa_state : public vicdual_state { public: - headonsa_state(const machine_config &mconfig, device_type type, const char *tag) - : vicdual_state(mconfig, type, tag) - {} + headonsa_state(const machine_config &mconfig, device_type type, const char *tag) : + vicdual_state(mconfig, type, tag) + { } DECLARE_INPUT_CHANGED_MEMBER(headonsa_coin_inserted); }; |