summaryrefslogtreecommitdiffstatshomepage
path: root/src/mess/includes/gamate.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mess/includes/gamate.h')
-rw-r--r--src/mess/includes/gamate.h62
1 files changed, 62 insertions, 0 deletions
diff --git a/src/mess/includes/gamate.h b/src/mess/includes/gamate.h
new file mode 100644
index 00000000000..51d7fc7037b
--- /dev/null
+++ b/src/mess/includes/gamate.h
@@ -0,0 +1,62 @@
+/*****************************************************************************
+ *
+ * includes/gamate.h
+ *
+ ****************************************************************************/
+
+#ifndef GAMATE_H_
+#define GAMATE_H_
+
+#include "cpu/m6502/m6502.h"
+#include "bus/generic/slot.h"
+#include "bus/generic/carts.h"
+
+struct GAMATE_CHANNEL
+{
+ GAMATE_CHANNEL() :
+// on(0),
+// waveform(0),
+ volume(0),
+ pos(0),
+ size(0)
+// count(0)
+ {
+ }
+
+ int on;
+ int /*waveform,*/ volume;
+ int pos;
+ int size;
+// int count;
+};
+
+
+// ======================> gamate_sound_device
+
+class gamate_sound_device : public device_t,
+ public device_sound_interface
+{
+public:
+ gamate_sound_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
+ ~gamate_sound_device() { }
+
+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);
+
+public:
+ DECLARE_WRITE8_MEMBER( device_w );
+
+private:
+
+ sound_stream *m_mixer_channel;
+ GAMATE_CHANNEL m_channels[3];
+ UINT8 reg[14];
+};
+
+extern const device_type GAMATE_SND;
+
+#endif /* GAMATE_H_ */