summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/sound/dac.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/sound/dac.h')
-rw-r--r--src/devices/sound/dac.h40
1 files changed, 20 insertions, 20 deletions
diff --git a/src/devices/sound/dac.h b/src/devices/sound/dac.h
index 7a48ba80998..b45dc66dfad 100644
--- a/src/devices/sound/dac.h
+++ b/src/devices/sound/dac.h
@@ -87,12 +87,12 @@ protected:
virtual void sound_stream_update_tag(sound_stream &stream, std::vector<read_stream_view> const &inputs, std::vector<write_stream_view> &outputs) override
{
- for (int samp = 0; samp < outputs[0].samples(); samp++)
+ while (!outputs[0].done())
{
- double const vref_pos = inputs[DAC_VREF_POS_INPUT].get(samp) * this->m_gain;
- double const vref_neg = inputs[DAC_VREF_NEG_INPUT].get(samp) * this->m_gain;
+ double const vref_pos = inputs[DAC_VREF_POS_INPUT].get() * this->m_gain;
+ double const vref_neg = inputs[DAC_VREF_NEG_INPUT].get() * this->m_gain;
stream_buffer::sample_t const vout = vref_neg + dac_multiply<bits>(vref_pos - vref_neg, this->m_code);
- outputs[0].put(samp, vout);
+ outputs[0].put(vout);
}
}
};
@@ -107,20 +107,20 @@ protected:
{
if (this->m_code & (1 << (bits - 1)))
{
- for (int samp = 0; samp < outputs[0].samples(); samp++)
+ while (!outputs[0].done())
{
- double const vref_neg = inputs[DAC_VREF_NEG_INPUT].get(samp) * this->m_gain;
+ double const vref_neg = inputs[DAC_VREF_NEG_INPUT].get() * this->m_gain;
stream_buffer::sample_t const vout = dac_multiply<bits - 1>(vref_neg, this->m_code ^ ~(~0U << bits));
- outputs[0].put(samp, vout);
+ outputs[0].put(vout);
}
}
else
{
- for (int samp = 0; samp < outputs[0].samples(); samp++)
+ while (!outputs[0].done())
{
- double const vref_pos = inputs[DAC_VREF_POS_INPUT].get(samp) * this->m_gain;
+ double const vref_pos = inputs[DAC_VREF_POS_INPUT].get() * this->m_gain;
stream_buffer::sample_t const vout = dac_multiply<bits - 1>(vref_pos, this->m_code);
- outputs[0].put(samp, vout);
+ outputs[0].put(vout);
}
}
}
@@ -134,12 +134,12 @@ protected:
virtual void sound_stream_update_tag(sound_stream &stream, std::vector<read_stream_view> const &inputs, std::vector<write_stream_view> &outputs) override
{
- for (int samp = 0; samp < outputs[0].samples(); samp++)
+ while (!outputs[0].done())
{
- double const vref_pos = inputs[DAC_VREF_POS_INPUT].get(samp) * this->m_gain;
- double const vref_neg = inputs[DAC_VREF_NEG_INPUT].get(samp) * this->m_gain;
+ double const vref_pos = inputs[DAC_VREF_POS_INPUT].get() * this->m_gain;
+ double const vref_neg = inputs[DAC_VREF_NEG_INPUT].get() * this->m_gain;
stream_buffer::sample_t const vout = vref_neg + dac_multiply<bits>(vref_pos - vref_neg, this->m_code ^ (1 << (bits - 1)));
- outputs[0].put(samp, vout);
+ outputs[0].put(vout);
}
}
};
@@ -154,20 +154,20 @@ protected:
{
if (this->m_code & (1 << (bits - 1)))
{
- for (int samp = 0; samp < outputs[0].samples(); samp++)
+ while (!outputs[0].done())
{
- double const vref_neg = inputs[DAC_VREF_NEG_INPUT].get(samp) * this->m_gain;
+ double const vref_neg = inputs[DAC_VREF_NEG_INPUT].get() * this->m_gain;
stream_buffer::sample_t const vout = dac_multiply<bits - 1>(vref_neg, this->m_code ^ (1 << (bits - 1)));
- outputs[0].put(samp, vout);
+ outputs[0].put(vout);
}
}
else
{
- for (int samp = 0; samp < outputs[0].samples(); samp++)
+ while (!outputs[0].done())
{
- double const vref_pos = inputs[DAC_VREF_POS_INPUT].get(samp) * this->m_gain;
+ double const vref_pos = inputs[DAC_VREF_POS_INPUT].get() * this->m_gain;
stream_buffer::sample_t const vout = dac_multiply<bits - 1>(vref_pos, this->m_code);
- outputs[0].put(samp, vout);
+ outputs[0].put(vout);
}
}
}