Article History
 
 
 

1595 views
101% HertzDevil

0CC-FamiTracker Effects Commands
 

::|CONTENTS

  1. Existing Effects
  2. Global Effects
  3. General Effects
  4. 2A03 / MMC5 Effects
  5. FDS Effects
  6. N163 Effects
  7. 5B Effects
  8. See Also
The pattern effects in 0CC-FamiTracker expand upon those found in FamiTracker.

This article is written based on version 0.3.14.5.

Existing Effects



The following effects are directly carried over from the latest stable release of vanilla FamiTracker: 0, 1, 2, 3, 4, 7, A, B, C, D, F, G, H (2A03 / FDS), I (2A03 / FDS), J (FDS), P, Q, R, S, V (2A03 / MMC5 / VRC6 / VRC7 / N163), W (DPCM), X, Y, Z (DPCM).

The following effects have been ported from vanilla 0.5.0 beta: H (VRC7 / 5B), I (VRC7 / 5B), J (5B), V (5B), W (5B).

The following effects have extra meanings in 0CC-FamiTracker:

- 0xy: The x and y parameters can be used in scheme arpeggio sequences. (This is how everything started)
- Fxx: Cancels the current groove.
- Hxx (VRC7): The address port is local to each channel, even in exported NSFs. Multiple writes could occur on the same tick.
- Hxy (5B): y can be zero, and this effect does not control the envelope output flag.
- I0x (FDS): Disables automatic FM.
- Jxx (FDS): Ineffective if automatic FM is active.
- Sxx: On the triangle channel, controls also the length counter and the linear counter.
- Vxx (5B): The usual parameters disable the envelope output.
- Wxx (5B): Behaves like a global Vxx effect but for the noise pitch.


Global Effects



Oxx: Groove setting.
xx = Groove index
Valid range = 00 - 1F

Note: The tracker ignores indices corresponding to blank grooves; it is undefined behaviour to use blank grooves in exported NSFs.


General Effects



Lxx: Delayed note release.
xx = Delay amount in ticks

Note: L00 is equivalent to the usual note release (===).


Mxy: Delayed channel volume. Restores existing channel volume on next note.
x = Delay amount in ticks
y = New channel volume
Valid range for x and y = 1 - F


Txy: Delayed transpose.
If x = 0 - 7: Delay x ticks, transpose upwards
If x = 8 - F: Delay (x - 8) ticks, transpose downwards
y = Semitones to transpose
Valid range for y = 0 - F

Note: Affects the echo buffer.


2A03 / MMC5 Effects



Exx: Length counter setting; enables length counter.
xx: Length counter index: (default 01)

xx
+00
+01
+02
+03
+04
+05
+06
+07
+08
+09
+0A
+0B
+0C
+0D
+0E
+0F

+00
10
254
20
2
40
4
80
6
160
8
60
10
14
12
26
14

+10
12
16
24
18
48
20
96
22
192
24
72
26
16
28
32
30


Note: Length counter is retriggered on new notes or when updating the high period register. Speed is twice as fast on the triangle channel.

Applies to: 2A03 Pulse, 2A03 Triangle, 2A03 Noise, MMC5 Pulse


EEx: Configure hardware envelope.
If x = 0: Disable hardware envelopes (default)
If x = 1: Enable hardware decay, looping
If x = 2: Enable length counter
If x = 3: Enable hardware decay, once

Note: When hardware decay is enabled, the channel volume will control the decay rate; 0 is the fastest.

Applies to: 2A03 Pulse, 2A03 Noise, MMC5 Pulse


EEx: Configure hardware envelope.
If x = 0: Disable hardware envelopes (default)
If x = 1 - 3: Enable length counter and linear counter

Applies to: 2A03 Triangle


Sxx: Triangle linear counter setting.
If xx = 80 - FF: Cut notes after (xx - 80) ÷ 240 seconds for all new notes

Applies to: 2A03 Triangle


FDS Effects



Exx: FDS hardware volume envelope setting.
If xx = 00 - 3F: Attack envelope, 00 is the fastest
If xx = 40 - 7F: Decay envelope, 40 is the fastest
If xx = E0: Disable hardware volume envelope


Hxx: Automatic FM multiplier setting.
xx - 80 = Frequency multiplier
Valid range for xx = 80 - FF


Ixy: Automatic FM; binds modulation rate to output frequency.
x = Frequency multiplier
y + 1 = Frequency divider
Valid range for x = 1 - F
Valid range for y = 0 - F


Zxx: Automatic FM rate bias.
If xx < 80: Decrease FM rate after multiplication
If xx = 80: Zero bias
If xx > 80: Increase FM rate after multiplication


N163 Effects



Zxx: Wave buffer position setting.
If xx = 00 - 7E: Override channel's wave position to xx × 2
If xx = 7F: Return control to N163 instruments

Note: It is undefined behaviour to use a wave position that conflicts with the channel registers. The tracker automatically ignores invalid parameters.


5B Effects



Vxx: Output setting.
If xx = 00: Disable everything
xx + 1: Enable square tone output
xx + 2: Enable noise output
xx + 4: Enable envelope output

Note: This effect is now the only pattern effect that may toggle the envelope output.


See Also



- 0CC-FamiTracker
- List of Effects Commands