aboutsummaryrefslogtreecommitdiff
path: root/sound/mods/tfmx.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'sound/mods/tfmx.cpp')
-rw-r--r--sound/mods/tfmx.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/sound/mods/tfmx.cpp b/sound/mods/tfmx.cpp
index f813212a82..cf34a9715d 100644
--- a/sound/mods/tfmx.cpp
+++ b/sound/mods/tfmx.cpp
@@ -93,8 +93,9 @@ void Tfmx::interrupt() {
channel.sfxLocked = (channel.customMacroPrio != 0);
}
- // apply timebased effects on Parameters
- effects(channel);
+ // apply timebased effects on Parameters
+ if (channel.macroSfxRun > 0)
+ effects(channel);
// see if we have to run the macro-program
if (channel.macroRun) {
@@ -107,6 +108,8 @@ void Tfmx::interrupt() {
}
Paula::setChannelPeriod(channel.paulaChannel, channel.period);
+ if (channel.macroSfxRun >= 0)
+ channel.macroSfxRun = 1;
// TODO: handling pending DMAOff?
}
@@ -253,6 +256,9 @@ void Tfmx::macroRun(ChannelContext &channel) {
continue;
case 0x01: // DMA On
+ // TODO: Parameter macroPtr[1] - en-/disable effects
+ if (macroPtr[1])
+ debug("Tfmx: DMA On %i", (int8)macroPtr[1]);
channel.dmaIntCount = 0;
if (deferWait) {
// TODO