# C64 SID instrument editor

The C64 instrument editor consists of two tabs: "C64" to control various parameters of sound channels, and "Macros" containing several macros.

## C64

- **Waveform**: allows selecting a waveform. NOTE: more than one waveform can be selected at once, logical AND mix of waves will be produced, with an exception of a noise waveform, it can't be mixed.
- **Attack**: determines the rising time for the sound. The bigger the value, the slower the attack. (0-15 range)
- **Decay**: Determines the diminishing time for the sound. The higher the value, the longer the decay. It's the initial amplitude decay rate. (0-15 range)
- **Sustain**: Sets the volume level at which the sound stops decaying and holds steady. (0-15 range)
- **Release**: Determines the rate at which the sound disappears after KEY-OFF. The higher the value, the longer the release. (0-15 range)
- **Ring Modulation**: enables the ring modulation affecting the instrument.
- **Duty**: specifies the width of a pulse wave. (0-4095 range)
- **Oscillator Sync**: enables the oscillator hard sync. As one oscillator finishes a cycle, it resets the period of another oscillator, forcing the latter to have the same base frequency. This can produce a harmonically rich sound, the timbre of which can be altered by varying the synced oscillator's frequency.
- **Enable filter**: enables analogue filter affecting the instrument
- **Initialize filter**: initializes the filter with the specified parameters:
- **Cutoff**: defines the "intensity" of a filter, to put in in layman terms (0-2047 range)
- **Resonance**: defines an additional controlled amplification of that cutoff frequency, creating a secondary peak forms and colors the original pitch. (0-15 range)
- **Filter mode**: determined the filter mode NOTE: SID's filter is multi-mode, you can mix different modes together (like low and high-pass filters at once) CH3-OFF disables the channel 3, for no reason whatsoever lmao
- **Volume Macro is Cutoff Macro**: turns a volume macro in a macros tab into a filter cutoff macro.
- **Absolute Cutoff Macro**: changes the behaviour of a cutoff macro from the old-style, compatible to much more define-able.
- **Absolute Duty Macro**: changes the behaviour of a duty cycle macro from the old-style, compatible to much more definable.
- **Don't test/gate before new note**: Don't reset the envelope to zero when a new note starts. (Read "Test/Gate" below for more info.)

## Macros

- **Volume**: volume sequence (WARNING: Volume sequence is global for ALL three channels!!)
- **Arpeggio**: pitch sequence
- **Duty**: pulse duty cycle sequence
- **Waveform**: select the waveform used by instrument
- **Pitch**: fine pitch
- **Filter mode**: select the filter mode/sequence
- **Resonance**: filter resonance sequence
- **Special**: ring and oscillator sync selector
- **Test/Gate**: When on, the TEST bit resets and locks Oscillator 1 at zero until cleared. The GATE bit controls Oscillator 1's envelope: Gate on runs through the envelope's attack, delay, and sustain; Gate off is envelope release.