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 e8c5c87500f39f80250d7a824882f5b803268da7
parent bda357886a32743c9dddb4a35e4f2142d9568f3f
Author: dsp56300 <dsp56300@users.noreply.github.com>
Date:   Sat,  8 Jun 2024 02:01:31 +0200

add support for Virus A .mid OS update firmware file

Diffstat:
Mdoc/changelog.txt | 4++++
Msource/virusLib/romloader.cpp | 14++++++++++++--
2 files changed, 16 insertions(+), 2 deletions(-)

diff --git a/doc/changelog.txt b/doc/changelog.txt @@ -59,6 +59,10 @@ OsTIrus: - [Fix] Arpeggiator pattern was always displayed for part 1 regardless of part selection +Osirus: + +- [Imp] Add support for Virus A .mid OS update firmware file + Vavra: - [Fix] Excessive parameter changes were sent to host when loading a preset diff --git a/source/virusLib/romloader.cpp b/source/virusLib/romloader.cpp @@ -8,7 +8,7 @@ namespace virusLib { - static constexpr uint32_t g_midiSizeMinABC = 512 * 1024; + static constexpr uint32_t g_midiSizeMinABC = 500 * 1024; static constexpr uint32_t g_midiSizeMaxABC = 600 * 1024; static constexpr uint32_t g_binSizeTImin = 6 * 1024 * 1024; @@ -104,7 +104,17 @@ namespace virusLib data.data = midiLoader.getData(); if(data.data.size() != (ROMFile::getRomSizeModelABC()>>1)) - return {}; + { + if(data.data.size() == 0x38000) + { + // Virus A midi OS update has $2000 less than all others + data.data.resize(ROMFile::getRomSizeModelABC()>>1, 0xff); + } + else + { + return {}; + } + } if(midiLoader.getFirstSector() == 0) data.type = MidiRom;