Pulsar Operation Manual

## 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.