gearmulator

Emulation of classic VA synths of the late 90s/2000s that are based on Motorola 56300 family DSPs
Log | Files | Refs | Submodules | README | LICENSE

commit ad42e3e6f72cd658e081b0618818d22b78c948a7
parent f8b859002067d73596d0d5533e68a6813030d290
Author: dsp56300 <dsp56300@users.noreply.github.com>
Date:   Wed, 28 Jul 2021 20:44:08 +0200

fix wrong checksum

Diffstat:
Msource/virusLib/microcontroller.cpp | 13+++++++++----
1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/source/virusLib/microcontroller.cpp b/source/virusLib/microcontroller.cpp @@ -267,14 +267,19 @@ bool Microcontroller::sendSysex(const std::vector<uint8_t>& _data, bool _cancelI response.push_back(_bank); response.push_back(_program); - uint8_t cs = deviceId + 11 + response[7]; - size_t idx = 9; for(const auto value : _dump) { response.push_back(value); - cs += value; } - response.push_back(cs & 0x7f); // checksum + + // checksum + uint8_t cs = 0; + + for(size_t i=5; i<response.size(); ++i) + cs += response[i]; + + response.push_back(cs & 0x7f); + response.push_back(M_ENDOFSYSEX); _responses.emplace_back(std::move(ev));