mirror of
https://github.com/tildearrow/furnace.git
synced 2024-12-01 16:57:27 +00:00
3.4 KiB
3.4 KiB
Commodore 64
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.
very popular in Europe and mostly due to the demoscene, which stretched the machine's limbs to no end.
two versions of aforementioned chip exist - 6581 (original chip) and 8580 (improved version with working waveform mixing and somewhat more consistent filter curves).
effects
10xx
: change wave. the following values are accepted:00
: nothing01
: triangle02
: saw03
: triangle and saw04
: pulse05
: pulse and triangle06
: pulse and saw07
: pulse and triangle and saw08
: noise
11xx
: set coarse cutoff.xx
may be a value between00
and64
.- this effect only exists for compatibility reasons, and its use is discouraged.
- use effect
4xxx
instead.
12xx
: set coarse duty cycle.xx
may be a value between00
and64
.- this effect only exists for compatibility reasons, and its use is discouraged.
- use effect
3xxx
instead.
13xx
: set resonance.xx
may be a value between00
and0F
.14xx
: set filter mode. the following values are accepted:00
: filter off01
: low pass02
: band pass03
: low+band pass04
: high pass05
: band reject/stop/notch06
: high+band pass07
: all pass
15xx
: set envelope reset time.- 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.
1Axx
: disable envelope reset for this channel.1Bxy
: reset cutoff:- 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.
- if
1Cxy
: reset duty cycle:- 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.
- if
1Exy
: change additional parameters.- this effect only exists for compatibility reasons, and its use is discouraged.
x
may be one of the following:0
: attack (y
from0
toF
)1
: decay (y
from0
toF
)2
: sustain (y
from0
toF
)3
: release (y
from0
toF
)4
: ring modulation (y
is0
or1
)5
: oscillator sync (y
is0
or1
)6
: disable channel 3 (y
is0
or1
)
20xy
: set attack/decay.x
is the attack.y
is the decay.
21xy
: set sustain/release.x
is the sustain.y
is the release.
3xxx
: set duty cycle.xxx
range is000
toFFF
.4xxx
: set cutoff.xxx
range is000
to7FF
.
info
this chip uses the C64 instrument editor.
channel status
when enabled, channel status will show an additional icon representing whether currently playing note is audible, and if not, the reason it is muted: