aboutsummaryrefslogtreecommitdiff
path: root/utils/gen_adldata/file_formats/load_wopl.h
diff options
context:
space:
mode:
Diffstat (limited to 'utils/gen_adldata/file_formats/load_wopl.h')
-rw-r--r--utils/gen_adldata/file_formats/load_wopl.h10
1 files changed, 3 insertions, 7 deletions
diff --git a/utils/gen_adldata/file_formats/load_wopl.h b/utils/gen_adldata/file_formats/load_wopl.h
index cd8765e..d10d58f 100644
--- a/utils/gen_adldata/file_formats/load_wopl.h
+++ b/utils/gen_adldata/file_formats/load_wopl.h
@@ -176,15 +176,11 @@ static bool LoadWopl(const char *fn, unsigned bank, const char *prefix)
tmp[0].diff = false;
tmp[1].diff = real4op && !tmp2.pseudo4op;
- int8_t fine_tune = (int8_t)data[offset + 37];
+ int fine_tune = (int)data[offset + 37];
if(fine_tune != 0)
{
- if(fine_tune == 1)
- tmp2.voice2_fine_tune = 0.000025;
- else if(fine_tune == -1)
- tmp2.voice2_fine_tune = -0.000025;
- else
- tmp2.voice2_fine_tune = ((fine_tune * 15.625) / 1000.0);
+ // Simulate behavior of DMX second voice detune
+ tmp2.voice2_fine_tune = (double)((fine_tune >> 1) - 64) / 32.0;
}
uint32_t gmno = is_percussion ? i + 128 : i;