Article History

101% HertzDevil

0CC-FamiTracker Effects Commands


  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

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 additional usages in 0CC-FamiTracker:

0xy: The x and y parameters can be used in scheme arpeggio sequences.
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; this effect does not control the envelope output flag.
I0x (FDS): Disables automatic FM.
Jxx (FDS): Ineffective if automatic FM is active.
Sxx: Also controls also the length counter and the linear counter on the triangle channel.
Vxx (5B): The usual parameters disable the envelope output.
Wxx (5B): Behaves like a global Vxx effect but for noise pitch.

Global Effects

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

Note: The tracker ignores indexes corresponding to blank grooves; it is undefined behavior 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)




Note: Length counter is retriggered on new notes or when updating the high period register. The 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 behavior 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