summaryrefslogtreecommitdiffstatshomepage
path: root/src/mess/audio/specimx_snd.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mess/audio/specimx_snd.h')
-rw-r--r--src/mess/audio/specimx_snd.h37
1 files changed, 37 insertions, 0 deletions
diff --git a/src/mess/audio/specimx_snd.h b/src/mess/audio/specimx_snd.h
new file mode 100644
index 00000000000..1a046ced050
--- /dev/null
+++ b/src/mess/audio/specimx_snd.h
@@ -0,0 +1,37 @@
+/*****************************************************************************
+ *
+ * specimx_snd.h
+ *
+ ****************************************************************************/
+
+#ifndef SPECIAL_SND_H_
+#define SPECIAL_SND_H_
+
+#include "emu.h"
+
+class specimx_sound_device : public device_t,
+ public device_sound_interface
+{
+public:
+ specimx_sound_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
+ ~specimx_sound_device() { }
+
+ DECLARE_WRITE_LINE_MEMBER(set_input_ch0);
+ DECLARE_WRITE_LINE_MEMBER(set_input_ch1);
+ DECLARE_WRITE_LINE_MEMBER(set_input_ch2);
+
+protected:
+ // device-level overrides
+ virtual void device_start();
+
+ // sound stream update overrides
+ virtual void sound_stream_update(sound_stream &stream, stream_sample_t **inputs, stream_sample_t **outputs, int samples);
+
+private:
+ sound_stream *m_mixer_channel;
+ int m_specimx_input[3];
+};
+
+extern const device_type SPECIMX_SND;
+
+#endif /* SPECIAL_SND_H_ */