summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/sound/k051649.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/sound/k051649.h')
-rw-r--r--src/devices/sound/k051649.h28
1 files changed, 10 insertions, 18 deletions
diff --git a/src/devices/sound/k051649.h b/src/devices/sound/k051649.h
index 368ef6c58a9..10be0f28bb5 100644
--- a/src/devices/sound/k051649.h
+++ b/src/devices/sound/k051649.h
@@ -19,17 +19,18 @@ public:
k051649_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
void k051649_waveform_w(offs_t offset, u8 data);
- u8 k051649_waveform_r(offs_t offset);
+ u8 k051649_waveform_r(offs_t offset);
void k051649_volume_w(offs_t offset, u8 data);
void k051649_frequency_w(offs_t offset, u8 data);
void k051649_keyonoff_w(u8 data);
void k051649_test_w(u8 data);
- u8 k051649_test_r();
+ u8 k051649_test_r(address_space &space);
void k052539_waveform_w(offs_t offset, u8 data);
- u8 k052539_waveform_r(offs_t offset);
+ u8 k052539_waveform_r(offs_t offset);
void scc_map(address_map &map);
+
protected:
// device-level overrides
virtual void device_start() override;
@@ -41,7 +42,7 @@ protected:
virtual void sound_stream_update(sound_stream &stream, std::vector<read_stream_view> const &inputs, std::vector<write_stream_view> &outputs) override;
private:
- // Parameters for a channel
+ // parameters for a channel
struct sound_channel
{
sound_channel() :
@@ -49,34 +50,25 @@ private:
clock(0),
frequency(0),
volume(0),
+ sample(0),
key(false)
{
std::fill(std::begin(waveram), std::end(waveram), 0);
}
u8 counter; // address counter for wavetable
- u32 clock; // internal clock
+ u16 clock; // internal clock
u16 frequency; // frequency; result: (input clock / (32 * (frequency + 1)))
- int volume; // volume
+ u8 volume; // volume
+ s16 sample; // latched sample data
bool key; // keyon/off
s8 waveram[32]; // 32 byte wavetable
};
- void make_mixer_table(int voices);
-
sound_channel m_channel_list[5];
- /* global sound parameters */
sound_stream *m_stream;
- int m_rate;
-
- /* mixer tables and internal buffers */
- std::vector<stream_buffer::sample_t> m_mixer_table;
- stream_buffer::sample_t *m_mixer_lookup;
- std::vector<s16> m_mixer_buffer;
-
- /* chip registers */
- u8 m_test;
+ u8 m_test; // test register
};
DECLARE_DEVICE_TYPE(K051649, k051649_device)