A whole mess of small doc updates and fixes.
Finally, proper macro images! And lots of little nitpicks and clean-up of text.
|
@ -29,9 +29,9 @@
|
|||
- changing this may change aspects of how some chips work, most notably pitch.
|
||||
- some chips cannot operate at anything other than their designed clock rate.
|
||||
|
||||
**cursor (1)**: the marker of input focus. anything typed will happen at the cursor's location.
|
||||
**cursor** (1): the marker of input focus. anything typed will happen at the cursor's location.
|
||||
|
||||
**cursor (2)**: the pointer controlled by a mouse or similar input. clicking when the cursor(2) is in a valid area will place the cursor(1) there.
|
||||
**cursor** (2): the pointer controlled by a mouse or similar input. clicking when the cursor(2) is in a valid area will place the cursor(1) there.
|
||||
|
||||
**DAC**: digital analog converter. this converts a digital representation of sound into actual output.
|
||||
|
||||
|
@ -61,7 +61,7 @@
|
|||
|
||||
**.fuw**: a Furnace wavetable file.
|
||||
|
||||
**hard-pan**: sounds can only be panned all the way to one side or the other, not in-between.
|
||||
**hard-pan**: sounds can only be panned to the center, 100% left, or 100% right. this often appears as on/off toggles for the left and right channels.
|
||||
|
||||
**Hz**: hertz. a unit representing divisions of one second. 1 Hz means once per second; 100 Hz means one hundred times per second. also, _kHz_ (kilohertz, one thousand per second) and _MHz_ (megahertz, one million per second).
|
||||
|
||||
|
|
|
@ -2,44 +2,40 @@
|
|||
|
||||
the hexadecimal numeral system differs from the decimal system by having 16 digits rather than 10:
|
||||
|
||||
```
|
||||
hex| decimal
|
||||
---|---------
|
||||
0 | 0
|
||||
1 | 1
|
||||
2 | 2
|
||||
3 | 3
|
||||
4 | 4
|
||||
5 | 5
|
||||
6 | 6
|
||||
7 | 7
|
||||
8 | 8
|
||||
9 | 9
|
||||
A | 10
|
||||
B | 11
|
||||
C | 12
|
||||
D | 13
|
||||
E | 14
|
||||
F | 15
|
||||
```
|
||||
hex | dec
|
||||
:--:|---:
|
||||
`0` | 0
|
||||
`1` | 1
|
||||
`2` | 2
|
||||
`3` | 3
|
||||
`4` | 4
|
||||
`5` | 5
|
||||
`6` | 6
|
||||
`7` | 7
|
||||
`8` | 8
|
||||
`9` | 9
|
||||
`A` | 10
|
||||
`B` | 11
|
||||
`C` | 12
|
||||
`D` | 13
|
||||
`E` | 14
|
||||
`F` | 15
|
||||
|
||||
when there is more than one digit, these are multiplied by 16, 256, 4096 and so on rather than 10, 100, 1000:
|
||||
|
||||
```
|
||||
hex | decimal
|
||||
----|---------
|
||||
00 | 0
|
||||
04 | 4
|
||||
08 | 8
|
||||
0F | 15
|
||||
10 | 16
|
||||
11 | 17
|
||||
12 | 18
|
||||
13 | 19
|
||||
20 | 32
|
||||
30 | 48
|
||||
40 | 64
|
||||
```
|
||||
hex | dec
|
||||
:---:|---:
|
||||
`00` | 0
|
||||
`04` | 4
|
||||
`08` | 8
|
||||
`0F` | 15
|
||||
`10` | 16
|
||||
`11` | 17
|
||||
`12` | 18
|
||||
`13` | 19
|
||||
`20` | 32
|
||||
`30` | 48
|
||||
`40` | 64
|
||||
|
||||
## hex to decimal
|
||||
|
||||
|
@ -101,7 +97,7 @@ now for decimal number `69420`:
|
|||
a bitmask is a value that actually represents a set of individual binary bits to be toggled, some of which may be grouped to form small binary numbers. these are used by adding up the value of each bit and converting the result to hex. in macros, these are shown in decimal.
|
||||
|
||||
bit | binary | decimal
|
||||
:-----|:-----------:|--------:
|
||||
:----:|:-----------:|--------:
|
||||
bit 7 | `1000 0000` | 128
|
||||
bit 6 | `0100 0000` | 64
|
||||
bit 5 | `0010 0000` | 32
|
||||
|
@ -113,16 +109,16 @@ bit 0 | `0000 0001` | 1
|
|||
|
||||
for example, to turn bits 7 and 5 on, and put `110` (decimal 6) in bits 1 to 3:
|
||||
|
||||
```
|
||||
bit 7 = `1... ....` = 128
|
||||
bit 6 = `.0.. ....` = 0
|
||||
bit 5 = `..1. ....` = 32
|
||||
bit 4 = `...0 ....` = 0
|
||||
bit 3 = `.... 1...` = 8
|
||||
bit 2 = `.... .1..` = 4
|
||||
bit 1 = `.... ..0.` = 0
|
||||
bit 0 = `.... ...0` = 0
|
||||
``````
|
||||
bit | binary | decimal
|
||||
:----:|:-----------:|--------:
|
||||
bit 7 | `1... ....` | 128
|
||||
bit 6 | `.0.. ....` | 0
|
||||
bit 5 | `..1. ....` | 32
|
||||
bit 4 | `...0 ....` | 0
|
||||
bit 3 | `.... 1...` | 8
|
||||
bit 2 | `.... .1..` | 4
|
||||
bit 1 | `.... ..0.` | 0
|
||||
bit 0 | `.... ...0` | 0
|
||||
|
||||
added together, the resulting binary is `1010 1100`, which converts to hex as `AC` and to decimal as 172.
|
||||
|
||||
|
|
|
@ -81,8 +81,6 @@ settings are saved when clicking the **OK** or **Apply** buttons at the bottom o
|
|||
- **Full (short when loading song)**: shows animated musical intro unless started with a song (command line, double-clicking a .fur file, etc.)
|
||||
- **Full (always)**: always shows animated musical intro.
|
||||
- **Disable fade-in during start-up**
|
||||
- **About screen party time**
|
||||
- _warning:_ may cause epileptic seizures.
|
||||
|
||||
### Behavior
|
||||
|
||||
|
@ -296,9 +294,14 @@ below all the binds, select a key from the dropdown list to add it. it will appe
|
|||
- **Yes**: allow drag-and-drop.
|
||||
- **Yes (while holding Ctrl only)**: allow drag-and-drop but only when holding Control (Command on macOS).
|
||||
- **Toggle channel solo on:** selects which interactions with a channel header will toggle solo for that channel.
|
||||
- Right-click or double click
|
||||
- Right-click
|
||||
- Double-click
|
||||
- **Right-click or double click**
|
||||
- **Right-click**
|
||||
- **Double-click**
|
||||
- **Modifier for alternate wheel-scrolling (vertical/zoom/slider-input)**: selects which key to hold for alternate scrolling of interface elements that support it.
|
||||
- **Ctrl or Meta/Cmd**
|
||||
- **Ctrl**
|
||||
- **Meta/Cmd**
|
||||
- **Alt**
|
||||
- **Double click selects entire column**: when enabled, double clicking on a cell of the pattern will select the entire column.
|
||||
|
||||
### Cursor behavior
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
# Konami K007232 instrument editor
|
||||
|
||||
the K007232 instrument editor contains three tabs: Sample and Macros.
|
||||
the K007232 instrument editor contains two tabs: Sample and Macros.
|
||||
|
||||
## Sample
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
# K053260 instrument editor
|
||||
|
||||
the K053260 instrument editor contains three tabs: Sample and Macros.
|
||||
the K053260 instrument editor contains two tabs: Sample and Macros.
|
||||
|
||||
## Sample
|
||||
|
||||
|
|
Before Width: | Height: | Size: 38 KiB After Width: | Height: | Size: 53 KiB |
Before Width: | Height: | Size: 50 KiB After Width: | Height: | Size: 70 KiB |
Before Width: | Height: | Size: 78 KiB After Width: | Height: | Size: 106 KiB |
Before Width: | Height: | Size: 78 KiB After Width: | Height: | Size: 94 KiB |
|
@ -1,6 +1,6 @@
|
|||
# Sega PSG instrument editor
|
||||
|
||||
the instrument editor for Sega PSG (SMS, and other TI SN76489 derivatives) consists of these macros:
|
||||
the instrument editor for Sega PSG, SMS, and other TI SN76489 derivatives consists of these macros:
|
||||
|
||||
- **Volume**: volume sequence.
|
||||
- **Arpeggio**: pitch sequence.
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
# Ricoh RF5C68 instrument editor
|
||||
|
||||
the RF5C68 instrument editor contains three tabs: Sample and Macros.
|
||||
the RF5C68 instrument editor contains two tabs: Sample and Macros.
|
||||
|
||||
## Sample
|
||||
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
# Watara Supervision instrument editor
|
||||
|
||||
the atara Supervision instrument editor consists of two tabs: one controlling sample channel assignments and macro tab containing several macros.
|
||||
the Watara Supervision instrument editor consists of two tabs: one controlling sample channel assignments and macro tab containing several macros.
|
||||
|
||||
## Sample
|
||||
|
||||
for sample settings, see the the Sample instrument editor](sample.md).
|
||||
for sample settings, see the the [Sample instrument editor](sample.md).
|
||||
|
||||
the only differences are the lack of an "Use wavetable" option, and the presence of a "Use sample" one.
|
||||
the only differences are the lack of a "Use wavetable" option, and the presence of a "Use sample" one.
|
||||
|
||||
## Macros
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@ a fictional chip created by LTVA. the idea is to fix [SID](c64.md) flaws and add
|
|||
|
||||
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 B-7 note with default clock speed!
|
||||
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
|
||||
|
||||
|
|
|
@ -1,26 +1,26 @@
|
|||
# SID3
|
||||
|
||||
a fictional chip created by LTVA. the idea is to stay vaguely in [SID](c64.md)-like category of chips, but add a lot of features and more channels.
|
||||
a fictional chip created by LTVA. the idea is to stay vaguely in the [SID](c64.md)-like category of chips, but add a lot of features and more channels.
|
||||
|
||||
chip has 6 synth channels and one channel capable of playing wavetable or streamed samples.
|
||||
the chip has 6 synth channels and one channel capable of playing wavetable or streamed samples.
|
||||
|
||||
each of synth channels has the following:
|
||||
|
||||
- two phase accumulator based oscillators, one for tone and one for noise LFSR clocking; frequency range is from 0.001Hz to around 15kHz at default clock speed.
|
||||
- 5 waveform types which can be enabled in any combination: pulse (with 16-bit pulse width control), triangle, sawtooth, noise and so called special wave.
|
||||
- there are 58 different special waves, including all [OPL3](opl.md) and [OPZ](opz.md) waveforms, their clipped versions, cubed sawtooth and triangle variations, and more...
|
||||
- noise is generated from 30-bit LFSR. like in C64, eight of the bits are used to form 8-bit noise signal. user can adjust feedback freely, any bit can be feedback bit. some feedback bits configurations produce very short looped noise which is perceived as tone. see SID3 instrument description for notable feedback bits configurations which are automatically detected by Furnace: upon detection noise frequency is adjusted in such a way that fundamental frequency of such tonal noise becomes the note frequency the channel is currently playing (noise stays in tune).
|
||||
- noise is generated from 30-bit LFSR. like in C64, eight of the bits are used to form 8-bit noise signal. user can adjust feedback freely, any bit can be a feedback bit. some feedback bits' configurations produce very short looped noise which is perceived as tone. see the [SID3 instrument description](../4-instrument/sid3.md) for notable feedback bit configurations which are automatically detected by Furnace: upon detection noise frequency is adjusted in such a way that fundamental frequency of such tonal noise becomes the note frequency the channel is currently playing (noise stays in tune).
|
||||
- 1-bit noise mode is available for [AY](ay8910.md) fans. it this mode the highest LFSR bit is read as output. by rapidly switching between usual and 1-bit noise modes one can produce interesting rattling-like percussive sound.
|
||||
- 5 waveform mixing modes: 8580 SID (C64's combined waves; mode does bitwise AND with noise and special wave), bitwise AND, bitwise OR, bitwise XOR and sum of oscillators' signals.
|
||||
- hard sync between channels. each channel can have any other channel as sync source, even itself.
|
||||
- ring modulation between channels. each channel can have any other channel as modulation source, even itself. when you self-modulate, you effectively square the signal, but the behavior is a bit different.
|
||||
- phase modulation between channels. each channel can have any other channel as modulation source, even itself. when you self-modulate, you have an effect similar to enabling strong feedback. channel output after filters is used as modulation source.
|
||||
- ADSR envelope with sustain rate setting (how fast sound decays when envelope is in sustain phase).
|
||||
- 4 independent filters. each filter has its own cutoff, resonance, output volume, mode, on/off and distortion setting. each filter can be connected to channel's ADSR output. each filter's output can be routed to the final channel output. each filter output can be connected to each filter's input (full connection matrix).
|
||||
- 4 independent filters. each filter has its own cutoff, resonance, output volume, mode, on/off, and distortion setting. each filter can be connected to channel's ADSR output. each filter's output can be routed to the final channel output. each filter output can be connected to each filter's input (full connection matrix).
|
||||
- distortion is a simple asymmetrical distortion with hyperbolic tangent function for positive half of the wave and exponential function for negative half.
|
||||
- several filters can be chained for flexible subtractive synth or to increase filter's slope (which is 12 dB/octave for a single filter).
|
||||
- multiple filter modes can be selected simultaneously. for example, selecting both "low" and "high" results in a bandstop (notch) filter.
|
||||
- adjustable feedback. feedback saves two previous channel's outputs and adds them to accumulator on the next step before computing waveform signal.
|
||||
- adjustable feedback. feedback saves two previous channel's outputs and adds them to an accumulator on the next step before computing the waveform signal.
|
||||
- fine control over left and right channel panning.
|
||||
- left and right channels' signals can be inverted to create simple "surround" sound.
|
||||
|
||||
|
@ -66,7 +66,9 @@ wave channel has all these features, except, obviously, waveform generation stag
|
|||
- `72xx`: **set filter 2 resonance.** `xx` range is `00` to `FF`.
|
||||
- `73xx`: **set filter 3 resonance.** `xx` range is `00` to `FF`.
|
||||
- `74xx`: **set filter 4 resonance.** `xx` range is `00` to `FF`.
|
||||
- `75xx`: **set noise/wave channel mode.** `xx` range is `00` to `01`. on synth channels `00` sets usual noise mode and `01` sets 1-bit noise mode. on wave channel `00` sets wavetable mode and `01` sets streamed PCM sample playback mode.
|
||||
- `75xx`: **set noise/wave channel mode.** `xx` range is `00` to `01`.
|
||||
- on synth channels `00` sets usual noise mode and `01` sets 1-bit noise mode.
|
||||
- on wave channel `00` sets wavetable mode and `01` sets streamed PCM sample playback mode.
|
||||
- `76xx`: **set filter 1 output volume.** `xx` range is `00` to `FF`.
|
||||
- `77xx`: **set filter 2 output volume.** `xx` range is `00` to `FF`.
|
||||
- `78xx`: **set filter 3 output volume.** `xx` range is `00` to `FF`.
|
||||
|
@ -120,4 +122,4 @@ this chip uses the [SID3](../4-instrument/sid3.md) instrument editor.
|
|||
|
||||
the following options are available in the Chip Manager window:
|
||||
|
||||
- **Quarter clock speed**: make chip run on quarter the default clock rate (1MHz is default). this lowers CPU load almost 4 times at the cost of filters becoming unstable or having different timbre at high cutoff and resonance settings. option affects the chip only in playback mode. when you render module into audio file, option is not applied.
|
||||
- **Quarter clock speed**: make chip run at quarter the default clock rate (1MHz is default). this lowers CPU load almost 4 times at the cost of filters becoming unstable or having different timbre at high cutoff and resonance settings. this option affects the chip only in playback mode. when rendering a module into an audio file, this option is not applied.
|
||||
|
|