Pattern editor

The pattern is where you place notes and effects to be played. A pattern is played line by line from top to bottom. The current step is highlighted, the row number is the column on the far left.

A pattern has four editable sections. From left to right, the “special” column, then each track of the three PSG channels: A, B and C. In stereo listening, channel A is played on the left, B in the middle and C on the right.

"Special" column

The first character indicates the option and the next two are the parameter value. The tempo in particular is defined here. The options are described here.

A/B/C channels

The three sound channels have the same columns which are:

  • Note: several possibilities:
    • for example D-3 or F#4. The first two characters give the musical note, the third gives the octave. To enter a note, use the keyboard keys whose layout mimics that of a piano.
    • Smp to play a sample.
    • Res to mute the sound on the channel (Reset).
  • Instrument/Sample number on two characters. This is the number as it is in the instrument/sample list.
  • Volume: gives the maximum volume from 0 to &F (by default it is &F, i.e. no volume attenuation).
    • This maximum volume has no effect on hardware sounds.
    • For instruments, this maximum volume is memorized until the next change.
    • For samples, the volume behaves differently, details here.
  • Effect: the first character indicates the effect, the next two are the parameter value. See the list of effects.

Valid combinations

Note / Ins / Vol / FX / Param
C#4    7F    F      A   35
C#4    7F    -      A   35 => volume maximum is unchanged
D#4    --    F      A   35 => change note but continue instrument
---    --    F      A   35 => volume & effect but no note
C#4    7F    F      -   -- => note & volume at maximum
C#4    7F    -      -   -- => note alone (at current volume)
---    --    D      -   -- => only change maximum volume for current note or sample
---    --    -      A   35 => effect only
Res    --    -      -   -- => stop sound (note or sample), no volume or effect change
Res    --    C      -   -- => stop sound (note or sample), change maximum volume, no option change
Res    --    -      X   00 => stop sound & effects
Smp    03    -      -   -- => sample (at full volume)
Smp    03    4      -   -- => sample at specified volume (full or dimmed)

Invalid combinations

Voici une liste non-exhaustive des combinaisons invalides. List is not exhaustive:

Note / Ins / Vol / FX / Param
Smp    --    -      -   -- => ignored
---    7F    -      -   -- => ignored

Volume of samples

No calculation is made on the samples to avoid consuming CPU time. However, two volume levels are possible for a sample: full or dimmed. The behavior is described below:

Volume column for samples works a bit differently than for instrument notes:
 Smp nn -  => full volume (when no volume is specified)
 Smp nn v  => full volume if v>=8; dimmed volume if v<8 (0 included)
 --- -- v  => full volume if v>=8; dimmed volume if v<8 (0 included)
 --- -- -  => no volume change

Priorities

In case of simultaneous use of the following resources on several channels, the rightmost channel has priority (C>B>A):

  • noise: the PSG has only one noise generator. Noise can be sent on multiple channels, but its frequency will be that of the rightmost channel
  • hardware volume envelope: there is only one hardware volume envelope generator in the PSG. The envelope can be used by multiple channels, but its frequency and curve will be that of the rightmost channel
  • SID: only one SID is generated. The SID will only be played on the rightmost channel that requests it, at the frequency requested by that channel
  • sample: only one sample is played at a time. If several samples are started on the same pattern line, the one of the rightmost channel will be played. On the other hand, regardless of the channel, if a sample is played while another sample is in progress, it will stop it to be played instead.

Input shorcuts

Several functions are available to save time when writing your patterns. See the keyboard key table for how to use them.

Skip

The “skip” counter displayed above the pattern indicates how many lines the pattern advances for each entry. You can for example set it to 0 if you have a lot of modifications to make on the same line.

Clipboard

A clipboard is available to copy or cut then paste a complete pattern channel or line by line. You can cut or copy an entire channel and then paste its content line by line. The “clipboard” counter indicates the current index in the clipboard.

To copy or delete a complete pattern, you must use “Copy” or “Clear” from the main menu. You will need to know his number.

Insert and remove

It is possible to insert or remove a step in only one channel or in a whole pattern line, all the data of the following lines are shifted. The lines pushed outside the pattern from the bottom are not lost, within the limit of 4 lines, a kind of pseudo-undo useful in the event of false manipulation!

Keyboard functions

When entering editor from menu:

Key Function
Space Edit the last edited pattern
Shift + Space Edit the pattern of the selected song list step
Control + Space Edit the last pattern played at the last step played (by 'play song' or 'play pattern')

In pattern editor:

Key Function
Esc Leave pattern editor
Copy Play current pattern position
Return Stop all sounds
f4 pattern+1
f7 pattern-1
up Move one line up
down Move one line down
left Move one column to the left
right Move one column to the right
Control + 1 Move to the first line of the pattern
Control + up Move 8 lines up
Control + down Move 8 lines down
Tab Increase “skip” value (the number of steps the pattern moves after an entry)
Control + Tab Decrease “skip” value
Del Clear field or note
Clr
or
Control + r
Write a “Res” to pattern
Control + s Write a “Smp” to pattern
f0 Insert one line to current channel
f. Remove one line from current channel
Shift + f0 Insert one pattern line
Shift + f. Remove one pattern line
Shift + 1 Copy track to clipboard
Shift + 2 Cut track to clipboard
Shift + 3 Paste track from clipboard
Shift + 7 Copy note to clipboard
Shift + 8 Paste note from clipboard
Shift + 0 Reset clipboard index position
Piano keys Enter musical notes