2022-01-16 06:10:43 +00:00
# Commodore 64
2022-10-16 05:53:05 +00:00
a home computer with a synthesizer-grade sound chip of which people took decades to master. three oscillators with four selectable waveforms, ring modulation, oscillator sync, multi-mode filter and ADSR envelope.
2022-01-16 06:10:43 +00:00
very popular in Europe and mostly due to the demoscene, which stretched the machine's limbs to no end.
2022-10-16 05:53:05 +00:00
two versions of aforementioned chip exist - 6581 (original chip) and 8580 (improved version with working waveform mixing and somewhat more consistent filter curves).
2022-06-06 14:49:39 +00:00
2023-09-11 00:34:13 +00:00
## effects
2022-01-16 06:10:43 +00:00
2023-06-25 07:05:30 +00:00
- `10xx` : **change wave.** the following values are accepted:
2022-01-16 06:10:43 +00:00
- `00` : nothing
- `01` : triangle
- `02` : saw
- `03` : triangle and saw
- `04` : pulse
- `05` : pulse and triangle
- `06` : pulse and saw
- `07` : pulse and triangle and saw
- `08` : noise
2023-06-25 07:05:30 +00:00
- `11xx` : **set coarse cutoff.** `xx` may be a value between `00` and `64` .
- _this effect only exists for compatibility reasons, and its use is discouraged._
2022-01-16 06:10:43 +00:00
- use effect `4xxx` instead.
2023-06-25 07:05:30 +00:00
- `12xx` : **set coarse duty cycle.** `xx` may be a value between `00` and `64` .
- _this effect only exists for compatibility reasons, and its use is discouraged._
2022-01-16 06:10:43 +00:00
- use effect `3xxx` instead.
2023-06-25 07:05:30 +00:00
- `13xx` : **set resonance.** `xx` may be a value between `00` and `0F` .
- `14xx` : **set filter mode.** the following values are accepted:
2022-01-16 06:10:43 +00:00
- `00` : filter off
- `01` : low pass
- `02` : band pass
- `03` : low+band pass
- `04` : high pass
- `05` : band reject/stop/notch
- `06` : high+band pass
- `07` : all pass
2023-06-25 07:05:30 +00:00
- `15xx` : **set envelope reset time.**
2022-01-16 06:10:43 +00:00
- this is the amount of ticks the channel turns off before a note occurs in order to reset the envelope safely.
- if `xx` is 0 or higher than the song speed, the envelope will not reset.
2023-06-25 07:05:30 +00:00
- `1Axx` : **disable envelope reset for this channel.**
- `1Bxy` : **reset cutoff** :
2022-01-16 06:10:43 +00:00
- if `x` is not 0: on new note
- if `y` is not 0: now
- this effect is not necessary if the instrument's cutoff macro is absolute.
2023-06-25 07:05:30 +00:00
- `1Cxy` : **reset duty cycle** :
2022-01-16 06:10:43 +00:00
- if `x` is not 0: on new note
- if `y` is not 0: now
- this effect is not necessary if the instrument's duty macro is absolute.
2023-06-25 07:05:30 +00:00
- `1Exy` : **change additional parameters.**
2023-10-23 18:49:03 +00:00
- _this effect only exists for compatibility reasons, and its use is discouraged._
2022-01-16 06:10:43 +00:00
- `x` may be one of the following:
2023-06-25 07:05:30 +00:00
- `0` : attack (`y` from `0` to `F` )
- `1` : decay (`y` from `0` to `F` )
- `2` : sustain (`y` from `0` to `F` )
- `3` : release (`y` from `0` to `F` )
- `4` : ring modulation (`y` is `0` or `1` )
- `5` : oscillator sync (`y` is `0` or `1` )
- `6` : disable channel 3 (`y` is `0` or `1` )
2023-10-23 18:49:03 +00:00
- `20xy` : **set attack/decay.**
- `x` is the attack.
- `y` is the decay.
- `21xy` : **set sustain/release.**
- `x` is the sustain.
- `y` is the release.
2023-06-25 07:05:30 +00:00
- `3xxx` : **set duty cycle.** `xxx` range is `000` to `FFF` .
- `4xxx` : **set cutoff.** `xxx` range is `000` to `7FF` .
2023-08-04 16:11:53 +00:00
2023-09-11 00:34:13 +00:00
## info
2023-08-04 16:11:53 +00:00
2023-08-04 16:38:05 +00:00
this chip uses the [C64 ](../4-instrument/c64.md ) instrument editor.
2023-11-01 17:25:26 +00:00
## channel status
2023-11-01 23:37:28 +00:00
the following icons are displayed when channel status is enabled in the pattern view:
2023-11-01 17:25:26 +00:00
2023-11-01 23:37:28 +00:00
- channel is silent:
- ![not muted ](status-C64-none.png ) it's not
- ![gate bit disabled ](status-C64-gate-off.png ) gate bit disabled
- ![gate bit disabled and test bit enabled ](status-C64-gate-off-test-on.png ) gate bit disabled and test bit enabled
- ![text bit enabled ](status-C64-test-on.png ) test bit enabled
- ![ch3off enabled in filter mode ](status-C64-ch3off.png ) ch3off enabled in filter mode
2024-07-06 19:52:07 +00:00
## chip config
the following options are available in the Chip Manager window:
- **Clock rate**: sets the rate at which the chip will run.
- **Global parameter priority**: change the priority of macros which control global parameters, such as volume and filter.
- Left to right: process channels from 1 to 3. the last one to run macros will take effect.
- Last used channel: process channels from oldest to newest (since last note). the one which had the latest note on will take a effect.
- **Hard reset envelope**: configure the envelope parameters used during the short reset before a note.
- **Envelope reset time**: set how long will the pre-note reset last, in ticks.
- 0 disables reset, which prevents notes from triggering.
- 1 is short, but may exhibit SID envelope bugs.
- 2 is a good value.
the other options are for compatibility with old Furnace and DefleMask, so they won't be documented here.