summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/audio/vicdual.h
diff options
context:
space:
mode:
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
commit4fb2dfeb6926f8c8a244915cfafde799e4495bc5 (patch)
tree53ab0c1264b5cf6db4757ac1e6c0b4dcc3fb4e9d /src/mame/audio/vicdual.h
parent288ca1150361d70ec0b44bf0183867530037ef9d (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.h25
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