diff --git a/src/engine/fileOpsIns.cpp b/src/engine/fileOpsIns.cpp index 7f9559b3a..6a181f5f2 100644 --- a/src/engine/fileOpsIns.cpp +++ b/src/engine/fileOpsIns.cpp @@ -1897,7 +1897,7 @@ std::vector DivEngine::instrumentFromFile(const char* path, bool bool isOldFurnaceIns=false; try { reader.read(magic,4); - if (memcmp("FINS",magic,4)==0) { + if (memcmp("FINS",magic,4)==0 || memcmp("FINB",magic,4)==0) { isFurnaceInstr=true; logV("found a new Furnace ins"); } else { diff --git a/src/engine/instrument.cpp b/src/engine/instrument.cpp index 6225765aa..ba99b28f4 100644 --- a/src/engine/instrument.cpp +++ b/src/engine/instrument.cpp @@ -3005,6 +3005,8 @@ DivDataErrors DivInstrument::readInsData(SafeReader& reader, short version, DivS type=1; } else if (memcmp(magic,"FINS",4)==0) { type=2; + } else if (memcmp(magic,"FINB",4)==0) { // DIV_FUR_VARIANT_B + type=2; } else { logE("invalid instrument header!"); return DIV_DATA_INVALID_HEADER;