summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/sound/l7a1045_l6028_dsp_a.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/sound/l7a1045_l6028_dsp_a.cpp')
-rw-r--r--src/devices/sound/l7a1045_l6028_dsp_a.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/devices/sound/l7a1045_l6028_dsp_a.cpp b/src/devices/sound/l7a1045_l6028_dsp_a.cpp
index 85221289df1..d5c0d348384 100644
--- a/src/devices/sound/l7a1045_l6028_dsp_a.cpp
+++ b/src/devices/sound/l7a1045_l6028_dsp_a.cpp
@@ -175,7 +175,7 @@ void l7a1045_sound_device::sound_stream_update(sound_stream &stream)
}
const uint32_t address = (start + pos) & (m_rom.length() - 1);
data = m_rom[address];
- sample = int8_t(data);
+ sample = int8_t(data) << 8;
frac += step;
// volume envelope processing
@@ -224,8 +224,8 @@ void l7a1045_sound_device::sound_stream_update(sound_stream &stream)
vptr->y1 = output;
const int32_t fout = (output * 32768.0f);
- const int64_t left = (fout * (uint64_t(vptr->l_volume) * uint64_t(vptr->env_volume))) >> 17;
- const int64_t right = (fout * (uint64_t(vptr->r_volume) * uint64_t(vptr->env_volume))) >> 17;
+ const int64_t left = (fout * (uint64_t(vptr->l_volume) * uint64_t(vptr->env_volume))) >> 20;
+ const int64_t right = (fout * (uint64_t(vptr->r_volume) * uint64_t(vptr->env_volume))) >> 20;
stream.add_int(0, j, left, 32768);
stream.add_int(1, j, right, 32768);