Phrase rows have one FX slot: a command letter plus a two-hex-digit value, written here as Xyy or Xxy. Table rows have two FX slots, but only the table-safe subset is available there.

Hex nibbles are named x and y: for Q31, x = 3 and y = 1.

For the MMC5 aux pulse feature on PU1 and PU2, see AUX Pulse Channels.

Phrase FX

Table FX

Tables currently allow:

A, C, E, F, H, K, L, M, P, R, V, W

On pulse and triangle tracks, a left-column table Lxx uses the row's transpose cell as a target offset from the base note and slides there over xx fixed 4×/frame sub-frame steps without retriggering phase. L00 snaps there immediately, also without retriggering. The target offset is separate from the ordinary table transpose, so later non-L rows can change the ordinary transpose while keeping the slide offset. A second left-column Lxx replaces the target. For example, an ordinary +12 transpose plus an Lxx target of -12 cancel to the base pitch.

A pitched Lxx in the right FX column is ignored; its row transpose remains an ordinary transpose. Noise and ZSAW keep their existing transpose behavior and do not slide. On DMC, Lxx in either FX column retains its separate sample window meaning: it forces looping and sets the length from the current start, with L00 selecting the one-byte window.

Table Mxy uses the same volume tremolo behavior as phrase Mxy.

Notable omissions: D, G, Q, S, T and Z are phrase-only for now.

DMC Sample Window Commands

The DMC Fxx and Lxx commands can move and resize the active sample window. They are mainly useful with kit-based DMC sample playback, where phrase notes select raw sample slots. They are available from DMC phrase rows and from tables running on the DMC track, but phrase rows and table rows use slightly different reference points.

Phrase Fxx and Lxx

On the DMC phrase track, Fxx starts a sample later in 64-byte steps. With a DMC note on the same row, it offsets that sample. Without a note, it retargets the active DMC loop window: the loop flag and length stay as they are, the start address moves to the last DMC note slot's kit start plus xx * 64 bytes, and the sample retriggers. F00 is the normal sample start, F01 skips the first 64 bytes, and so on. If the offset would run past the selected sample or wrap the DMC address, Risa skips that trigger instead of spilling into another sample.

On the DMC phrase track, Lxx forces looping and sets the DMC length to xx. If the row has the same DMC note slot that is already current, or has no note, it keeps the current start point. If the row has a different DMC note slot, it starts from that sample's kit start. This lets Fxx choose a frame and later Lxx resize the loop window around that frame.

Table Fxx and Lxx

When a table is running on the DMC track, Fxx retriggers the current DMC sample and advances from the current DMC start point in 64-byte steps: F00 retriggers without moving, F01 moves 64 bytes later, F02 moves 128 bytes later, and so on.

Table Lxx forces looping and sets the DMC length from the current start to xx. Later table Fxx rows keep that loop length while moving the start forward. Without a shorter Lxx loop window, table Fxx shortens the DMC length as it moves so the window still ends at the selected sample's end.

If the relative move or loop length would run past the selected sample or wrap the DMC address, Risa skips that trigger and leaves the current DMC window unchanged. DMC sample-window Fxx and Lxx behavior only applies on the DMC track; on pitched tracks, table Fxx remains fine detune and left-column Lxx uses the pitched slide behavior described above.

Other useful kit-DMC table commands include Wxx for rate changes, Rxx for retrigger setup, and table flow commands such as Axx, Hxx, and Kxx.

Instrument FX Defaults

Pulse and noise instruments have one ENV. row with three envelope control values shown as AA/DD/RR. In each value, the first digit sets a volume level and the second digit sets how quickly the sound moves toward the next volume level. Speed 1 is fastest, F is slowest, and 0 holds at the current level.

For example, ENV. 32/AD/10 starts at volume 3, rises quickly to A, decays slowly to 1, then sustains there. If A's speed digit is 0, the envelope holds at A's volume; D and R are ignored and shown as --. Retriggering a note restarts the instrument envelope. The live Exy command still uses its own simple envelope encoding and overrides the current instrument envelope while active.

xy/00/rr with x > 0 and y > 0 is a fade-out shortcut: start at volume x, fade to zero at speed y, and ignore R. xy/0z/rr with z > 0 then fades back in from zero to R's volume at speed z, then uses R's speed digit for the final release. If R's speed is 0, it sustains at R's volume instead.

Pulse instruments have a SWEEP parameter that uses the same value encoding as phrase Sxy:

This is the instrument's default hardware sweep state. A phrase Sxy command overrides the live state until another instrument is applied.

Pulse instruments have a contextual PITCH parameter. Triangle instruments have a FINE parameter. For triangle, and for pulse modes where PITCH is used as parent fine pitch, the value is a signed byte:

The phrase Fxx command overrides the running fine value for that track until another Fxx is hit or a new instrument is applied.

For pulse AUX=INT and AUX=ECHO, the instrument field is repurposed for aux interval or echo delay instead of parent fine pitch. See AUX Pulse Channels for those mode-specific meanings.

Pulse, Triangle, and Noise instruments have a CMD RATE parameter (0..F). This is a per-instrument tick divider for tick-based FX:

Affected FX: arpeggio (C) and envelope (E) are slowed by the divider.

Unaffected FX: commands that explicitly specify a count or run from a fixed-rate path are not slowed:

Triangle LENGTH

Triangle instruments use LENGTH as the 7-bit linear counter reload value written to $4008. Its value also selects the triangle control mode:

Channel Notes