mirror of
https://github.com/tildearrow/furnace.git
synced 2024-11-01 18:42:40 +00:00
d04f4da359
Change macro attribution table for C64 insturment
9.2 KiB
9.2 KiB
effect list
some of the effect numbers are taken from ProTracker / FastTracker 2.
however, effects are continuous, which means you only need to type it once and then stop it with an effect value of 00
or no effect value at all.
volume
0Axy
: Volume slide.- if
x
is 0 then this slides volume down byy
each tick. - if
y
is 0 then this slides volume up byx
each tick.
- if
FAxy
: Fast volume slide. same as0Axy
above but 4× faster.F3xx
: Fine volume slide up. same as0Ax0
but 64× slower.F4xx
: Fine volume slide down. same as0A0x
but 64× slower.F8xx
: Single tick volume slide up. addsx
to volume on first tick only.F9xx
: Single tick volume slide down. subtractsx
from volume on first tick only.
07xy
: Tremolo. changes volume to be "wavy" with a sine LFO.x
is the speed.y
is the depth.- tremolo is downward only.
- maximum tremolo depth is -60 volume steps.
pitch
E5xx
: Set pitch.00
is -1 semitone,80
is base pitch,FF
is nearly +1 semitone.01xx
: Pitch slide up.02xx
: Pitch slide down.F1xx
: Single tick pitch slide up.F2xx
: Single tick pitch slide down.
03xx
: Portamento. slides the currently playing note's pitch toward the new note.x
is the slide speed.- a note must be present with this effect for it to work.
- the effect stops automatically when it reaches the new note.
E1xy
: Note slide up.x
is the speed, whiley
is how many semitones to slide up.E2xy
: Note slide down.x
is the speed, whiley
is how many semitones to slide down.
EAxx
: Toggle legato. while on, new notes instantly change the pitch of the currently playing sound instead of starting it over.00xy
: Arpeggio. after using this effect the channel will rapidly switch between semitone values ofnote
,note + x
andnote + y
.E0xx
: Set arpeggio speed. this sets the number of ticks between arpeggio values. default is 1.
04xy
: Vibrato. changes pitch to be "wavy" with a sine LFO.x
is the speed, whiley
is the depth.- maximum vibrato depth is ±1 semitone.
E3xx
: Set vibrato direction.xx
may be one of the following:00
: up and down. default.01
: up only.02
: down only.
E4xx
: Set vibrato range in 1/16th of a semitone.
panning
not all chips support these effects.
08xy
: Set panning. changes stereo volumes independently.x
is the left channel andy
is the right one.88xy
: Set rear panning. changes rear channel volumes independently.x
is the rear left channel andy
is the rear right one.81xx
: Set volume of left channel (from00
toFF
).82xx
: Set volume of right channel (from00
toFF
).89xx
: Set volume of rear left channel (from00
toFF
).8Axx
: Set volume of rear right channel (from00
toFF
).
80xx
: Set panning (linear). this effect behaves more like other trackers:00
is left.80
is center.FF
is right.
time
09xx
: Set speed/groove. if no grooves are defined, this sets speed. if alternating speeds are active, this sets the first speed.0Fxx
: Set speed 2. during alternating speeds or a groove, this sets the second speed.
Cxxx
: Set tick rate. changes tick rate toxxx
Hz (ticks per second).xxx
may be from000
to3FF
.
F0xx
: Set BPM. changes tick rate according to beats per minute. range is01
toFF
.
0Bxx
: Jump to order.x
is the order to play after the current row.- this marks the end of a loop with order
x
as the loop start.
- this marks the end of a loop with order
0Dxx
: Jump to next pattern. skips the current row and remainder of current order.x
is the row at which to start playing the next pattern.- this can be used to shorten the current order as though it had a different pattern length.
FFxx
: Stop song. stops playback and ends the song.x
is ignored.
note
0Cxx
: Retrigger. repeats current note everyxx
ticks.- this effect is not continuous; it must be entered on every row.
ECxx
: Note cut. ends current note afterxx
ticks. for FM instruments, it's equivalent to a "key off".EDxx
: Note delay. delays note byx
ticks.
other
9xxx
: Set sample position. jumps current sample to positionxxx * 0x100
.- not all chips support this effect.
EBxx
: Set LEGACY sample mode bank. selects sample bank. used only for compatibility.- does not apply on Amiga.
EExx
: Send external command.- this effect is currently incomplete.
F5xx
: Disable macro.F6xx
: Enable macro.- see macro table at the end of this document for possible values.
additionally, each chip has its own effects.
macro table
ID | macro |
---|---|
00 |
volume |
01 |
arpeggio |
02 |
duty/noise |
03 |
waveform |
04 |
pitch |
05 |
extra 1 |
06 |
extra 2 |
07 |
extra 3 |
08 |
extra A (ALG) |
09 |
extra B (FM) |
0A |
extra C (FMS) |
0B |
extra D (AMS) |
0C |
panning left |
0D |
panning right |
0E |
phase reset |
0F |
extra 4 |
10 |
extra 5 |
11 |
extra 6 |
12 |
extra 7 |
13 |
extra 8 |
operator 1 macros | |
20 |
AM |
21 |
AR |
22 |
DR |
23 |
MULT |
24 |
RR |
25 |
SL |
26 |
TL |
27 |
DT2 |
28 |
RS |
29 |
DT |
2A |
D2R |
2B |
SSG-EG |
2C |
DAM |
2D |
DVB |
2E |
EGT |
2F |
KSL |
30 |
SUS |
31 |
VIB |
32 |
WS |
33 |
KSR |
40 |
operator 2 macros |
60 |
operator 3 macros |
80 |
operator 4 macros |
the interpretation of duty, wave and extra macros depends on chip/instrument type:
ex | FM | OPM | OPZ | OPLL | AY-3-8910 | AY8930 | Lynx | C64 |
---|---|---|---|---|---|---|---|---|
D | NoiseF | NoiseFreq | NoiseFreq | NoiseFreq | Duty/Int | Duty | ||
W | LFO Shape | LFO Shape | Patch | Waveform | Waveform | Waveform | ||
1 | AMD | AMD | Duty | FilterMode | ||||
2 | PMD | PMD | Envelope | Envelope | Resonance | |||
3 | LFOSpd | LFO Speed | LFO Speed | AutoEnvNum | AutoEnvNum | |||
A | ALG | ALG | ALG | AutoEnvDen | AutoEnvDen | Cutoff | ||
B | FB | FB | FB | Noise AND | ||||
C | FMS | FMS | FMS | Noise OR | ||||
D | AMS | AMS | AMS | |||||
4 | OpMask | OpMask | Special | |||||
5 | AMD2 | Attack | ||||||
6 | PMD2 | Decay | ||||||
7 | LFO2Speed | Sustain | ||||||
8 | LFO2Shape | Release |
ex | SAA1099 | X1-010 | Namco 163 | FDS | Sound Unit | ES5506 | MSM6258 |
---|---|---|---|---|---|---|---|
D | Wave Pos | Duty | Filt Mode | FreqDiv | |||
W | Waveform | Waveform | Waveform | Waveform | Waveform | ||
1 | Envelope | EnvMode | WaveLen | Mod Depth | Cutoff | Filter K1 | ClockDiv |
2 | Envelope | WaveUpdate | Mod Speed | Resonance | Filter K2 | ||
3 | AutoEnvNum | WaveLoad W | Control | Env Count | |||
A | AutoEnvDen | WaveLoad P | Control | ||||
B | WaveLoad L | ||||||
C | WaveLoad T | ||||||
D | |||||||
4 | PResetTime | EnvRampL | |||||
5 | EnvRampR | ||||||
6 | EnvRampK1 | ||||||
7 | EnvRampK2 | ||||||
8 | Env Mode |
ex | QSound | SNES | MSM5232 |
---|---|---|---|
D | Echo Level | NoiseFreq | GroupCtrl |
W | Waveform | ||
1 | EchoFeedback | Special | GroupAtk |
2 | Echo Length | Gain | GroupDec |
3 | Noise | ||
A | |||
B | |||
C | |||
D | |||
4 | |||
5 | |||
6 | |||
7 | |||
8 |