It was an issue with the volume macro/filtercutoff relation, it was writing a 0 in the global volume of the C64, bug fixed, re-download DefleMask 9 and tell me if it works right now.
Yeah it's working now, but sometimes when I press enter to stop the playback, Deflemask closes for no reason, so that's probably an other bug right there.
While entering notes on the keyboard when using an instrument that uses arpeggios, it seems to reset the ADSR envelope every frame. Also, when you release a key, it fades out playing a single note , ignoring any arpeggio/pulse width/filter macros you defined.
It also fades out this way if you use ECxx to initiate the release phase.
This doesn't happen when you use a note off though. (And I hope it's supposed to work this way. :P)
I'd also like an option to initiate sustain/release in an instrument, so I don't have to put EC01 on every note. This is very useful to create arps or leads that fade out nicely while still keeping volume control using sustain.
On preview, the envelopes will stop if you unpress the key, this is intentional.
I will look at the EC command, it should work the same as a note off.
About the option to initiate sustain/release, I dont understand, start sustain is trigger a note, release is noteoff or note cut. If you want your instruments without sustain simply dont set a sustain value!!
Also, keep in mind the ADSR reset effect, it is explained in the manual.
By initiating sustain/release, I mean automatically releasing the note one frame (or a few frames) after it's triggered. It allows you to combine a long fade out with volume control.
You can't have that volume control if you use only attack and decay to fade (with no sustain) as everything will start out at full volume.
It's a very useful technique to make arps/side melodies not overpower the bass/lead. It's used in a lot of SID tunes to simulate volume control between channels, since the SID has only global volume.
I hope the following example clarifies this a bit. The first pattern is using only attack/decay and no sustain, and the second pattern is using sustain for volume control by triggering a note off one frame after the note on.
By initiating sustain/release, I mean automatically releasing the note one frame (or a few frames) after it's triggered. It allows you to combine a long fade out with volume control.
You can't have that volume control if you use only attack and decay to fade (with no sustain) as everything will start out at full volume.
It's a very useful technique to make arps/side melodies not overpower the bass/lead. It's used in a lot of SID tunes to simulate volume control between channels, since the SID has only global volume.
I hope the following example clarifies this a bit. The first pattern is using only attack/decay and no sustain, and the second pattern is using sustain for volume control by triggering a note off one frame after the note on.
Nice, I think that using EC01 for that is just fine!, I don't see the problem of doing that to cancel the sustain rapidly. Also, the ECxx bug was corrected, re-download DefleMask to see if it works as a NOTE-OFF now.
Sound: SN76489 variant, T6W28 (3 square wave tone generators with limited stereo capability + 1 monaural noise generator + direct access to the two 6 bits DAC)
If I switch between NTSC and PAL during playback, Deflemask crashes (got this with a genesis module)
With C64, it randomly closes during playback on its own.
EDIT: It closed now on Genesis during playback for no reason as well.
Also, PCM samples seem to clip or buzz whenever I try to raise their amplitude (simply importing a louder wav file doesn't though, it just simply flattens the wave if it doesn't fit in the 8-bit DAC limit). This doesn't seem to happen in VGM MM so I'm not sure which side has bad emulation.
Those crashes were not reported by anyone and never happened to me, seems to be a problem of your computer. C64 is being used by lot of people right now and I don't receive reports of crash. Maybe you have an old/corrupted DefleMask version?, please re-download it in order to be sure. I did some little updates after the initial 9.ver release.
About the PCM, the emulation core was updated with some tips provided by the programmer of in_vgm, so it should be more accurate than VGM Music Maker.
Seems to be fine now, thanks! My C64 song didn't crash this time no matter how silly things I tried to purposefully make it crash now... EDIT: It crashed when I switched from the instrument editor, to the pattern editor
A new useful feature could be an assumption on how much space the samples are going to take up, based on theiry length and sample-rate.
Also, is it possible to use the different pitches of the same sample, without having multiple copies of the same sample? (tom-toms for example)
EDIT: There seems to be a problem with a C64 effect. ADSR reset doesn't work between frames. The first note in a frame doesn't reset the envelope. In my module, you can hear Channel 0 getting louder throughout the loop despite my efforts to balance things by setting a quick release at the end of every frame. (6581 song btw!)
The ADSR reset is actually a hack in the SID, because of the widely known "ADSR bug" of the SID soundchip. If you have enough frames to avoid the bug, you will be able to reset the ADSR.
There are lot of tricks needed to use properly the SID. It has various design bugs and is not an easy soundchip to use.
Alright, I guess I'll just have to 1E3x ECxx if I want to quickly mute the channel before the next note. (actually a channel mute command would be really useful that did the same as a note off and 1E30)
Actually, for the first time, a random crash updated the error log file. It just simply says "Out of Memory" What am I supposed to do then?