diff options
author | Aaron Giles <aaron@aarongiles.com> | 2020-10-07 01:06:20 -0700 |
---|---|---|
committer | Aaron Giles <aaron@aarongiles.com> | 2020-10-07 01:06:20 -0700 |
commit | 4fb2dfeb6926f8c8a244915cfafde799e4495bc5 (patch) | |
tree | 53ab0c1264b5cf6db4757ac1e6c0b4dcc3fb4e9d /src/mame/audio/vicdual.h | |
parent | 288ca1150361d70ec0b44bf0183867530037ef9d (diff) |
vicdual: Add frogs netlist. Make sound board interface more general.
Diffstat (limited to 'src/mame/audio/vicdual.h')
-rw-r--r-- | src/mame/audio/vicdual.h | 25 |
1 files changed, 22 insertions, 3 deletions
diff --git a/src/mame/audio/vicdual.h b/src/mame/audio/vicdual.h index ab8aa45086e..e0a918899e2 100644 --- a/src/mame/audio/vicdual.h +++ b/src/mame/audio/vicdual.h @@ -9,22 +9,41 @@ #include "netlist/nl_setup.h" -class borderline_audio_device : public device_t, public device_mixer_interface +class vicdual_audio_device_base : public device_t, public device_mixer_interface { -public: - borderline_audio_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); +protected: + vicdual_audio_device_base(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, u8 inputs_mask, void (*netlist)(netlist::nlparse_t &), double output_scale); virtual void device_add_mconfig(machine_config &config) override; virtual void device_start() override; +public: void write(u8 data); private: optional_device_array<netlist_mame_logic_input_device, 8> m_input_line; u8 m_input_state = 0xff; + u8 const m_inputs_mask; + void (*const m_netlist)(netlist::nlparse_t &); + double const m_output_scale; +}; + + +class borderline_audio_device : public vicdual_audio_device_base +{ +public: + borderline_audio_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); +}; + + +class frogs_audio_device : public vicdual_audio_device_base +{ +public: + frogs_audio_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); }; DECLARE_DEVICE_TYPE(BORDERLINE_AUDIO, borderline_audio_device) +DECLARE_DEVICE_TYPE(FROGS_AUDIO, frogs_audio_device) #endif // MAME_AUDIO_VICDUAL_H |