| 
									
										
										
										
											2022-01-16 01:10:43 -05:00
										 |  |  |  | # effect list
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-09-09 05:27:48 -04:00
										 |  |  |  | some of the effect numbers are taken from ProTracker / FastTracker 2. | 
					
						
							| 
									
										
										
										
											2023-06-24 17:19:46 -04:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-06-25 12:43:24 -04:00
										 |  |  |  | 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. | 
					
						
							| 
									
										
										
										
											2023-06-24 17:19:46 -04:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  | ## volume
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | - `0Axy`: **Volume slide.** | 
					
						
							| 
									
										
										
										
											2023-09-10 13:16:55 -04:00
										 |  |  |  |   - if `x` is 0 then this slides volume down by `y` each tick. | 
					
						
							|  |  |  |  |   - if `y` is 0 then this slides volume up by `x` each tick. | 
					
						
							| 
									
										
										
										
											2023-07-04 13:25:21 -04:00
										 |  |  |  | - `FAxy`: **Fast volume slide.** same as `0Axy` above but 4× faster. | 
					
						
							|  |  |  |  | - `F3xx`: **Fine volume slide up.** same as `0Ax0` but 64× slower. | 
					
						
							|  |  |  |  | - `F4xx`: **Fine volume slide down.** same as `0A0x` but 64× slower. | 
					
						
							|  |  |  |  | - `F8xx`: **Single tick volume slide up.** adds `x` to volume on first tick only. | 
					
						
							| 
									
										
										
										
											2023-07-05 12:50:03 -04:00
										 |  |  |  | - `F9xx`: **Single tick volume slide down.** subtracts `x` from volume on first tick only. | 
					
						
							| 
									
										
										
										
											2023-08-10 19:47:03 -04:00
										 |  |  |  |   - --- | 
					
						
							| 
									
										
										
										
											2023-07-04 13:25:21 -04:00
										 |  |  |  | - `07xy`: **Tremolo.** changes volume to be "wavy" with a sine LFO. `x` is the speed. `y` is the depth. | 
					
						
							| 
									
										
										
										
											2023-09-10 13:16:55 -04:00
										 |  |  |  |   - tremolo is downward only. | 
					
						
							|  |  |  |  |   - maximum tremolo depth is -60 volume steps. | 
					
						
							| 
									
										
										
										
											2023-06-24 17:19:46 -04:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  | ## pitch
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-06-25 12:43:24 -04:00
										 |  |  |  | - `E5xx`: **Set pitch.** `00` is -1 semitone, `80` is base pitch, `FF` is nearly +1 semitone. | 
					
						
							| 
									
										
										
										
											2023-06-24 17:19:46 -04:00
										 |  |  |  | - `01xx`: **Pitch slide up.** | 
					
						
							|  |  |  |  | - `02xx`: **Pitch slide down.** | 
					
						
							|  |  |  |  | - `F1xx`: **Single tick pitch slide up.** | 
					
						
							| 
									
										
										
										
											2023-07-05 12:50:03 -04:00
										 |  |  |  | - `F2xx`: **Single tick pitch slide down.** | 
					
						
							| 
									
										
										
										
											2023-08-10 19:47:03 -04:00
										 |  |  |  |   - --- | 
					
						
							| 
									
										
										
										
											2023-08-10 19:37:09 -04:00
										 |  |  |  | - `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. | 
					
						
							| 
									
										
										
										
											2023-06-24 17:19:46 -04:00
										 |  |  |  | - `E1xy`: **Note slide up.** `x` is the speed, while `y` is how many semitones to slide up. | 
					
						
							| 
									
										
										
										
											2023-07-05 12:50:03 -04:00
										 |  |  |  | - `E2xy`: **Note slide down.** `x` is the speed, while `y` is how many semitones to slide down. | 
					
						
							| 
									
										
										
										
											2023-08-10 19:47:03 -04:00
										 |  |  |  |   - --- | 
					
						
							| 
									
										
										
										
											2023-08-10 19:37:09 -04:00
										 |  |  |  | - `EAxx`: **Toggle legato.** while on, new notes instantly change the pitch of the currently playing sound instead of starting it over. | 
					
						
							| 
									
										
										
										
											2024-01-24 15:04:51 -05:00
										 |  |  |  | - `00xy`: **Arpeggio.** this effect produces a rapid cycle between the current note, the note plus `x` semitones and the note plus `y` semitones. | 
					
						
							| 
									
										
										
										
											2023-07-05 12:50:03 -04:00
										 |  |  |  | - `E0xx`: **Set arpeggio speed.** this sets the number of ticks between arpeggio values. default is 1. | 
					
						
							| 
									
										
										
										
											2023-08-10 19:47:03 -04:00
										 |  |  |  |   - --- | 
					
						
							| 
									
										
										
										
											2023-06-25 03:05:30 -04:00
										 |  |  |  | - `04xy`: **Vibrato.** changes pitch to be "wavy" with a sine LFO. `x` is the speed, while `y` is the depth. | 
					
						
							| 
									
										
										
										
											2023-09-10 13:16:55 -04:00
										 |  |  |  |   - maximum vibrato depth is ±1 semitone. | 
					
						
							| 
									
										
										
										
											2023-06-24 17:19:46 -04:00
										 |  |  |  | - `E3xx`: **Set vibrato direction.** `xx` may be one of the following: | 
					
						
							| 
									
										
										
										
											2023-09-10 13:16:55 -04:00
										 |  |  |  |   - `00`: up and down. default. | 
					
						
							|  |  |  |  |   - `01`: up only. | 
					
						
							|  |  |  |  |   - `02`: down only. | 
					
						
							| 
									
										
										
										
											2023-07-04 13:25:21 -04:00
										 |  |  |  | - `E4xx`: **Set vibrato range** in 1/16th of a semitone.  | 
					
						
							| 
									
										
										
										
											2023-06-24 17:19:46 -04:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  | ## panning
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-06-25 12:43:24 -04:00
										 |  |  |  | not all chips support these effects. | 
					
						
							| 
									
										
										
										
											2023-06-24 17:19:46 -04:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-06-25 03:05:30 -04:00
										 |  |  |  | - `08xy`: **Set panning.** changes stereo volumes independently. `x` is the left channel and `y` is the right one. | 
					
						
							|  |  |  |  | - `88xy`: **Set rear panning.** changes rear channel volumes independently. `x` is the rear left channel and `y` is the rear right one. | 
					
						
							| 
									
										
										
										
											2023-07-04 13:25:21 -04:00
										 |  |  |  | - `81xx`: **Set volume of left channel** (from `00` to `FF`). | 
					
						
							|  |  |  |  | - `82xx`: **Set volume of right channel** (from `00` to `FF`). | 
					
						
							|  |  |  |  | - `89xx`: **Set volume of rear left channel** (from `00` to `FF`). | 
					
						
							| 
									
										
										
										
											2023-07-05 12:50:03 -04:00
										 |  |  |  | - `8Axx`: **Set volume of rear right channel** (from `00` to `FF`). | 
					
						
							| 
									
										
										
										
											2023-08-10 19:47:03 -04:00
										 |  |  |  |   - --- | 
					
						
							| 
									
										
										
										
											2023-06-25 03:05:30 -04:00
										 |  |  |  | - `80xx`: **Set panning (linear).** this effect behaves more like other trackers: | 
					
						
							| 
									
										
										
										
											2022-04-30 00:41:14 -04:00
										 |  |  |  |   - `00` is left. | 
					
						
							|  |  |  |  |   - `80` is center. | 
					
						
							|  |  |  |  |   - `FF` is right. | 
					
						
							| 
									
										
										
										
											2023-06-24 17:19:46 -04:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  | ## time
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-09-10 13:16:55 -04:00
										 |  |  |  | - `09xx`: **Set speed/groove.** if no grooves are defined, this sets speed. if alternating speeds are active, this sets the first speed. | 
					
						
							| 
									
										
										
										
											2023-07-05 12:50:03 -04:00
										 |  |  |  | - `0Fxx`: **Set speed 2.** during alternating speeds or a groove, this sets the second speed. | 
					
						
							| 
									
										
										
										
											2023-08-10 19:47:03 -04:00
										 |  |  |  |   - --- | 
					
						
							| 
									
										
										
										
											2023-06-25 03:05:30 -04:00
										 |  |  |  | - `Cxxx`: **Set tick rate.** changes tick rate to `xxx` Hz (ticks per second). | 
					
						
							| 
									
										
										
										
											2023-07-04 13:25:21 -04:00
										 |  |  |  |   - `xxx` may be from `000` to `3FF`. | 
					
						
							| 
									
										
										
										
											2023-07-05 12:50:03 -04:00
										 |  |  |  | - `F0xx`: **Set BPM.** changes tick rate according to beats per minute. range is `01` to `FF`. | 
					
						
							| 
									
										
										
										
											2023-08-10 19:47:03 -04:00
										 |  |  |  |   - --- | 
					
						
							| 
									
										
										
										
											2023-07-04 13:25:21 -04:00
										 |  |  |  | - `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. | 
					
						
							| 
									
										
										
										
											2023-08-04 12:11:53 -04:00
										 |  |  |  | - `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. | 
					
						
							| 
									
										
										
										
											2023-07-04 13:25:21 -04:00
										 |  |  |  | - `FFxx`: **Stop song.** stops playback and ends the song. `x` is ignored. | 
					
						
							| 
									
										
										
										
											2023-06-24 17:19:46 -04:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  | ## note
 | 
					
						
							| 
									
										
										
										
											2022-01-16 01:10:43 -05:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-06-25 03:05:30 -04:00
										 |  |  |  | - `0Cxx`: **Retrigger.** repeats current note every `xx` ticks. | 
					
						
							| 
									
										
										
										
											2023-09-10 13:16:55 -04:00
										 |  |  |  |   - this effect is not continuous; it must be entered on every row. | 
					
						
							|  |  |  |  | - `ECxx`: **Note cut.** ends current note after `xx` ticks. for FM instruments, it's equivalent to a "key off". | 
					
						
							| 
									
										
										
										
											2023-06-25 03:05:30 -04:00
										 |  |  |  | - `EDxx`: **Note delay.** delays note by `x` ticks. | 
					
						
							| 
									
										
										
										
											2023-06-24 17:19:46 -04:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  | ## other
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-07-19 23:34:48 -04:00
										 |  |  |  | - `9xxx`: **Set sample position.** jumps current sample to position `xxx * 0x100`. | 
					
						
							| 
									
										
										
										
											2023-09-10 13:16:55 -04:00
										 |  |  |  |   - not all chips support this effect. | 
					
						
							| 
									
										
										
										
											2023-08-10 19:37:09 -04:00
										 |  |  |  | - `EBxx`: **Set LEGACY sample mode bank.** selects sample bank. used only for compatibility. | 
					
						
							|  |  |  |  |   - does not apply on Amiga. | 
					
						
							| 
									
										
										
										
											2023-06-24 17:19:46 -04:00
										 |  |  |  | - `EExx`: **Send external command.** | 
					
						
							| 
									
										
										
										
											2023-08-10 19:37:09 -04:00
										 |  |  |  |   - this effect is currently incomplete. | 
					
						
							| 
									
										
										
										
											2023-09-10 20:12:56 -04:00
										 |  |  |  | - `F5xx`: **Disable macro.** | 
					
						
							|  |  |  |  | - `F6xx`: **Enable macro.** | 
					
						
							| 
									
										
										
										
											2024-01-17 14:51:09 -05:00
										 |  |  |  | - `F7xx`: **Restart macro.** | 
					
						
							| 
									
										
										
										
											2023-09-10 20:12:56 -04:00
										 |  |  |  |   - see macro table at the end of this document for possible values. | 
					
						
							| 
									
										
										
										
											2023-06-24 17:19:46 -04:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-06-25 12:43:24 -04:00
										 |  |  |  | additionally, [each chip has its own effects](../7-systems/README.md). | 
					
						
							| 
									
										
										
										
											2022-12-17 00:09:56 -05:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  | ## macro table
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-07-19 23:34:48 -04:00
										 |  |  |  |  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** | 
					
						
							| 
									
										
										
										
											2022-12-17 00:09:56 -05:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  | the interpretation of duty, wave and extra macros depends on chip/instrument type: | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-09-11 00:57:46 -04:00
										 |  |  |  | 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  | | 
					
						
							| 
									
										
										
										
											2023-11-01 14:19:46 -04:00
										 |  |  |  |  3 | LFOSpd | LFO Speed | LFO Speed |       | AutoEnvNum | AutoEnvNum |          |            | | 
					
						
							|  |  |  |  |  A | ALG    | ALG       | ALG       |       | AutoEnvDen | AutoEnvDen |          | Cutoff     | | 
					
						
							| 
									
										
										
										
											2023-09-11 00:57:46 -04:00
										 |  |  |  |  B | FB     | FB        | FB        |       |            | Noise AND  |          |            | | 
					
						
							|  |  |  |  |  C | FMS    | FMS       | FMS       |       |            | Noise OR   |          |            | | 
					
						
							|  |  |  |  |  D | AMS    | AMS       | AMS       |       |            |            |          |            | | 
					
						
							| 
									
										
										
										
											2023-11-01 14:19:46 -04:00
										 |  |  |  |  4 | OpMask | OpMask    |           |       |            |            |          | Special    | | 
					
						
							|  |  |  |  |  5 |        |           | AMD2      |       |            |            |          | Attack     | | 
					
						
							|  |  |  |  |  6 |        |           | PMD2      |       |            |            |          | Decay      | | 
					
						
							|  |  |  |  |  7 |        |           | LFO2Speed |       |            |            |          | Sustain    | | 
					
						
							|  |  |  |  |  8 |        |           | LFO2Shape |       |            |            |          | Release    | | 
					
						
							| 
									
										
										
										
											2023-09-11 00:57:46 -04:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  | 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 |              |           |           | |