aboutsummaryrefslogtreecommitdiff
path: root/src/adlmidi_opl3.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/adlmidi_opl3.cpp')
-rw-r--r--src/adlmidi_opl3.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/adlmidi_opl3.cpp b/src/adlmidi_opl3.cpp
index 4638c5a..7809725 100644
--- a/src/adlmidi_opl3.cpp
+++ b/src/adlmidi_opl3.cpp
@@ -1846,7 +1846,12 @@ void OPL3::initChip(size_t chip)
/* Clean-up channels from any playing junk sounds */
for(size_t a = 0; a < OPL3_CHANNELS_RHYTHM_BASE; ++a)
+ {
+ writeRegI(chip, 0x20 + g_channelsMap[a * 2], 0x00);
+ writeRegI(chip, 0x20 + g_channelsMap[(a * 2) + 1], 0x00);
+ writeRegI(chip, 0xA0 + g_channelsMap[a], 0x00);
writeRegI(chip, 0xB0 + g_channelsMap[a], 0x00);
+ }
for(size_t a = 0; a < sizeof(data) / sizeof(*data); a += 2)
writeRegI(chip, data[a], (data[a + 1]));