mirror of
https://github.com/tildearrow/furnace.git
synced 2024-12-04 18:27:25 +00:00
6f0330f04c
Finally, proper macro images! And lots of little nitpicks and clean-up of text.
62 lines
2.6 KiB
Markdown
62 lines
2.6 KiB
Markdown
# SID2
|
|
|
|
a fictional chip created by LTVA. the idea is to fix [SID](c64.md) flaws and add more features, but not too much.
|
|
|
|
unlike SID, it has per-channel volume control, better ADSR envelope which doesn't have bugs, more waveform mixing modes and the ability to play tonal noise waves.
|
|
|
|
each channel now has its own independent filter. filter cutoff and resonance ranges were extended, as well as the frequency; finally, the chip can hit a B-7 note with default clock speed!
|
|
|
|
## effects
|
|
|
|
- `10xx`: **change wave.** lower 4 bits specify the wave:
|
|
- `bit 0`: triangle
|
|
- `bit 1`: saw
|
|
- `bit 2`: pulse
|
|
- `bit 3`: noise
|
|
- `11xx`: **set resonance.** `xx` may be a value between `00` and `FF`.
|
|
- `12xx`: **set filter mode.** the following values are accepted:
|
|
- `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
|
|
- `13xx`: **disable envelope reset for this channel.**
|
|
- `14xy`: **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.
|
|
- `15xy`: **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.
|
|
- `16xy`: **change additional parameters.**
|
|
- `x` may be one of the following:
|
|
- `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`: filter mode (`y` is `0` to `7`)
|
|
- `7`: waveform mix mode (`y` is `0` to `3`)
|
|
- `8`: noise mode (`y` is `0` to `3`)
|
|
- `9`: phase reset (`y` is a discarded parameter and does not matter)
|
|
- `A`: envelope key on/key off (`y` is `0` (trigger envelope release) or `1` (restart envelope again))
|
|
- `B`: filter on/off (`y` is `0` (disable filter) or `1` (enable filter))
|
|
- `17xx`: **pulse width slide up.**
|
|
- `xx` is speed. if it is `00`, the slide is stopped.
|
|
- `18xx`: **pulse width slide down.**
|
|
- `xx` is speed. if it is `00`, the slide is stopped.
|
|
- `19xx`: **filter cutoff slide up.**
|
|
- `xx` is speed. if it is `00`, the slide is stopped.
|
|
- `1Axx`: **filter cutoff slide down.**
|
|
- `xx` is speed. if it is `00`, the slide is stopped.
|
|
- `3xxx`: **set duty cycle.** `xxx` range is `000` to `FFF`.
|
|
- `4xxx`: **set cutoff.** `xxx` range is `000` to `FFF`.
|
|
|
|
## info
|
|
|
|
this chip uses the [SID2](../4-instrument/sid2.md) instrument editor.
|