From 5ea520f5da7bea706d258d0f440cfbc32e2819c1 Mon Sep 17 00:00:00 2001 From: holub Date: Sun, 10 Sep 2023 14:12:13 -0400 Subject: [PATCH] sinclair/sprinter.cpp: fix audio chanels for 16b mode (#11542) --- src/mame/sinclair/sprinter.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/mame/sinclair/sprinter.cpp b/src/mame/sinclair/sprinter.cpp index b34d9a27845..ab2d97b1268 100644 --- a/src/mame/sinclair/sprinter.cpp +++ b/src/mame/sinclair/sprinter.cpp @@ -1513,9 +1513,15 @@ TIMER_CALLBACK_MEMBER(sprinter_state::irq_off) TIMER_CALLBACK_MEMBER(sprinter_state::cbl_tick) { - const u16 left = m_cbl_data[m_cbl_cnt++]; + u16 left = m_cbl_data[m_cbl_cnt++]; + u16 right = cbl_stereo() ? m_cbl_data[m_cbl_cnt++] : left; + if (cbl_mode16()) + { + using std::swap; + swap(left, right); + } m_ldac->write(left); - m_rdac->write(cbl_stereo() ? m_cbl_data[m_cbl_cnt++] : left); + m_rdac->write(right); if (cbl_int_ena() && !(m_cbl_cnt & 0x7f)) {