Commands K - O

Kxy Kill Note ABCDE Pattern/Table

Kills a playing note after XX ticks.

Note: if using this command on Tracks A, B or D, the note won't actually be killed immediately on the tick count expiring. The command actually forces the notes ADSR into the Release phase. If you need to kill the note immediately, use a Release value of 00 in your ADSR Envelope, in combination with this command.

Lxx Slide To Note ABC-- Pattern*

When placed on the same step as a note, Pulsar attempts to smoothly slide the note from the previous pitch to that note at a speed determined by XX. The smaller the number XX the slower the slide will be. Valid range for the speed is 00 - 7F. There is no need to worry about using positive/negative numbers, Pulsar determines the direction for you.

Note: The PSWEEP-Q setting of the current Instrument will have an effect on the pitch slide. The lower the PSWEEP-Q setting, the slower and more 'steppy' the slide will be.

Tip: If you want a really smooth slide from one note to another, make the destination note a tie note (hold SELECT and tap A).

*It is possible to use this Command inside a table but the results are a little unpredictable.

Track E: when used on Track E, this command turns Sample Looping (LP) on/off. If XX = 00 the looping is turned off. Any other value will turn it on.

Mxx Gate Time ABCD- Pattern/Table

Sets a new Gate Time by overriding the GATE setting in the current Instrument.

In the case of Tracks A, B and D, the value is the number of ticks until the note's ADSR is forced into the Release phase while for Track C it's the number of ticks until the voice is silenced.

Note: while it may seem the same as the Kill Note command (Kxx), the Kill Note command only affects the note it is placed on whereas this command affects all subsequent notes until a new Instrument is specified (or a new Mxx command!)

Nxx 'Hard Frequency' Control AB--- Pattern/Table

This command controls Pulsar's Hard Frequency effect, the rate/amount determined by XX. 00 is off, 07 is maximum.

Technical Info: A side effect of writing the upper period register of the NES's two square voices (Track A & B) is that the output phase gets reset. This manifest itself as a small click. Thus it's become accepted that it's generally a bad idea to constantly write to this register in your audio code as it sounds pretty terrible if you do. Instead, most people have their code only write the register when the value needs to change - think of this as 'soft frequency'.

Almost by accident, when experimenting with Pulsar's synthesis engine, I discovered that if you write the upper frequency registers at a much higher rate, some interesting noises are created. This effect I labelled as 'Hard Frequency' as it's pretty much the opposite of only writing the upper frequency when required - i.e. it writes the upper frequency when it doesn't need to.

The parameter for this command is a bit mask e.g.

00 (-----000 binary) turn Hard Frequency off

01 (-----001 binary) write Hard Frequency on first refresh

05 (-----101 binary) write Hard Frequency on 1st and 3rd refresh

and so on.

Oxx Output Level ABCD- Pattern/Table

Overrides the current Instruments LEVEL parameter. 0F is full volume, 00 is silent.

For Track C, 00 turns output off and any other value will turn output on.