If you can, I'd love to hear you try out these songs with Huzak:
Definitely! But they're all going to need me to implement some of the "missing" effects.
Super Adventure Island 2 - Poka Poka Island: Ch2 Mtx05 vibrato $0464 by itself, this effect is used LOTS!
Detune $E588 on Octave 2 notes G
Detune $E588 on Octave 3 notes D E
Detune $E590 on Octave 3 notes F
Mtx 32 Pattern Break in Ch1 and note later in Ch5
Thunder Force IV - Fighting Back: Detune $E590 on Octave 4 notes F C G
Ch2 Mtx25 vibrato $0464 by itself.
Dragon's Curse - Sidecrawler's Dance: Detune $E588 on Octave 2 notes A B E F# G#
Detune $E588 on Octave 3 notes C# D E
Pattern Break, again.
Now, the Pattern Breaks should already be working, and I've noted them just to remind my to check on that, but the Detune and Vibrato effects are the exact ones that I've mentioned before that I need information from Delek in order to implement.
Well, I've done some digging, and some looking at .hes files, and have found the original ProTracker source code online, and that has given me a good idea of how Delek is processing those effects in DefleMask.
The most-important thing is that I can see now how he's implemented the Vibrato sine-wave, and what its "speed" parameter means.
So I have a decent chance of implementing those effects now, even without Delek's help, but it will take a little time, and it is definitely going to take up some extra memory.
I'm can't see any way around needing to have a fast-multiply available in order to get those effect running, and that means that I'm going to need to include another 2KB of tables to do that quickly-and-efficiently.
Then there's a question of the "Vibrato" effect itself.
Can you tell me how it is *supposed* to work?
From the documentation, it looks like setting Vibrato Depth of "F" should give you a one semitone range for the effect, +/- 1/2 semitone from the original note.
As it is, it looks like there is a bug in Delek's math, because what is actually spit out in the .hes file is + 0.5 semitones, but - 1.5 semitones.
Even worse, it's not a pure sinewave, but the +ve part of the cycle takes the same amount of time as the 3-times-greater -ve part of the cycle, creating a very strange-sounding result.
Is that intentional, or is it just a bug?