Many doc updates.

Settings changes, interface niceties, and a ton of info about sample limits.
This commit is contained in:
Electric Keet 2025-09-27 17:17:07 -07:00 committed by tildearrow
parent a4b9442cc8
commit d4364a1b74
23 changed files with 81 additions and 32 deletions

View file

@ -404,8 +404,6 @@ below all the binds, select a key from the dropdown list to add it. it will appe
- for pixel or bitmap fonts, set this to **1x**.
- **Load fallback font**: load an extra font that contains nearly all characters that can be used, in case the selected fonts lack them. uses much video memory
- **Load fallback font (pattern)**: as "Load fallback font" above but for the pattern font.
- **Display Japanese characters**, **Display Chinese (Simplified) characters**, **Display Chinese (Traditional) characters** and **Display Korean characters**: only toggle these options if you have enough graphics memory.
- these are a temporary solution until dynamic font atlas is implemented in Dear ImGui.
### Program
@ -532,6 +530,7 @@ below all the binds, select a key from the dropdown list to add it. it will appe
- **Use standard OPL waveform names**
- **FM parameter editor layout:**
- **Modern**
- **Modern with more labels**
- **Compact (2x2, classic)**
- **Compact (1x4)**
- **Compact (4x1)**

View file

@ -27,6 +27,8 @@ after enabling this option, a table appears with the contents of the sample map.
- you may press Delete to clear it. if no value is specified, the delta counter isn't altered.
- the fifth and last column provides a combo box for selecting a sample.
you may click and drag in the sample number, pitch, and delta columns to select a range. typing a value will change the entire range.
you may right-click anywhere in the number, pitch and delta columns for additional options:
- **set entire map to this pitch**: sets the DPCM pitch of all notes to the selected cell's.
- **set entire map to this delta counter value**: sets the initial delta counter value of all notes to the selected cell's.

View file

@ -20,6 +20,8 @@ after enabling this option, a table appears with the contents of the sample map.
- the third one is used to set the note at which the specified sample will play.
- the fourth and last column provides a combo box for selecting a sample.
you may click and drag in the sample number and note columns to select a range. typing a sample number or note will change the entire range.
you may right-click anywhere in the number and note columns for additional options:
- **set entire map to this note**: sets the note number of all notes to the selected cell's.
- **set entire map to this sample**: sets the sample number of all notes to the selected cell's.

View file

@ -14,7 +14,7 @@ input waveforms should match the size of the wavetable or unexpected results may
- synthesizer type: selects the synthesis algorithm.
- waveform displays.
- **Wave 1**: selects input waveform.
- this will turn yellow to indicate that a Waveform macro is set.
- this will turn yellow and display a warning sign to indicate that a Waveform macro is set, which will override the wavesynth.
- **Wave 2**: selects second input waveform. only appears when a dual-waveform synthesizer is selected.
- **Pause preview**: toggles live waveform preview.
- **Restart preview**: restarts preview from initial state.

View file

@ -21,6 +21,7 @@ Konami SCC | 32 | 256 |
Seta X1-010 | 128 | 256 |
Amiga | ≤256 | 256 |
you may use up to 32768 wavetables in a module.
## wavetable editor

View file

@ -2,7 +2,7 @@
in the context of Furnace, a sound sample (usually just referred to as a sample) stores a sound.
in Furnace, these samples can be generated by importing a .wav file.
in Furnace, these samples can be generated by importing a sample file in any of a number of formats. you may use up to 32768 samples in a module.
## supported chips
@ -38,6 +38,9 @@ the following sound chips have sample support:
- AY8930 (software!)
- Namco C140
- Namco C219
- Game Boy Advance
- Watara Supervision
- MultiPCM
## using samples

View file

@ -16,6 +16,8 @@ none!
this chip uses the [C140](../4-instrument/c140.md) instrument editor.
maximum sample length is 65535.
## chip config
the following options are available in the Chip Manager window:

View file

@ -24,3 +24,5 @@ if a sample that is on a different bank plays in a group, the group is switched
## info
this chip uses the [C219](../4-instrument/c219.md) instrument editor.
maximum sample length is 131072, and loop start and end points must be even numbers.

View file

@ -44,6 +44,8 @@ it has a whopping 32 channels of 16-bit PCM and:
this chip uses the [ES5506](../4-instrument/es5506.md) instrument editor.
sample memory is split into 2MB banks, making the maximum sample length 2097024 bytes.
## chip config
the following options are available in the Chip Manager window:

View file

@ -28,6 +28,8 @@ it features echo and up to 16 voices.
this chip uses the [GBA DMA](../4-instrument/gbadma.md) and [GBA MinMod](../4-instrument/gbaminmod.md) instrument editors.
when played via DMA, a sample's loop start point must be a multiple of 4, and the loop's length must be a multiple of 16. sample length is padded to a multiple of 16.
## chip config
the following options are available in the Chip Manager window:

View file

@ -16,6 +16,8 @@ yeah.
this chip uses the [K007232](../4-instrument/k007232.md) instrument editor.
maximum sample length is 131071 samples.
## chip config
the following options are available in the Chip Manager window:

View file

@ -12,6 +12,8 @@ this chip is a sample-based chip that featured in a number of Konami arcade game
this chip uses the [K053260](../4-instrument/k053260.md) instrument editor.
maximum sample length is 65535, and loop points are ignored; samples may only loop over the entire sample.
## chip config
the following options are available in the Chip Manager window:

View file

@ -1,6 +1,8 @@
# OKI MSM6295
an upgrade from 6258 - it provides 4 ADPCM channels, at max 32 KHz (still no variable pitch though). between late '80s and late '90s, it was one of the most common, if not _the_ most common soundchip used in arcade machines (Capcom, Toaplan, Kaneko, Atari, Tecmo, the list can go on and on...). without bankswitching, the chip supports 256kB of sample RAM and can hold up to 127 samples at once.
this chip is an upgrade from the MSM6258 in that it provides 4 ADPCM channels at a fixed output rate up to 32 KHz depending on clock rate. between the late '80s and late '90s, it was one of the most common, if not _the_ most common soundchip used in arcade machines: Capcom, Toaplan, Kaneko, Atari, Tecmo, the list can go on and on...
without bankswitching, the chip supports 256kB of sample RAM and can hold up to 127 samples at once. Each sample can be up to 63KB.
## effects
@ -14,31 +16,25 @@ this chip uses the [MSM6295](../4-instrument/msm6295.md) instrument editor.
## chip clock rates
like MSM6258, MSM6295 is an extremely basic ADPCM sound codec. it has no variable frequency rate, it depends on clock rate of a chip itself. Furnace supports following rates:
like MSM6258, MSM6295 is an extremely basic ADPCM sound codec. it has no variable sample rate; it depends on clock rate of the chip itself. the clock can be divided by either 132 or by 165 to get the sample rates listed below:
| clock rate | sampling rate |
|--------------------|---------------|
| 1 MHz | 7576 Hz |
| 1.02 MHz | 7727 Hz |
| 1.056 MHz | 8000 Hz |
| 1.193 MHz | 9038 Hz |
| 0.89 MHz | 6742 Hz |
| 0.875 MHz | 6629 Hz |
| 0.9375 MHz | 7102 Hz |
| 1.5 MHz | 11364 Hz |
| 1.79 MHz | 13561 Hz |
| 2 MHz | 15152Hz |
| 2.112 MHz | 16000 Hz |
| 3 MHz | 22728 Hz |
| 3.58 MHz | 27122 Hz |
| 4 MHz | 30304 Hz |
| 4.224 MHz | 32000 Hz |
## chip clock divisor
MSM6295 clock rate could be divided by 132 (resulting sample rates above), or by 165.
to get a clock rate using divisor of 165, formula is clock rate (in Hz) / 165.
example: 1 MHz MSM6295 in 165 divisor mode results in output rate of 6060 Hz.
| clock rate | /132 | /165 |
|--------------------|---------:|---------:|
| 0.875 MHz | 6629 Hz | 5303 Hz |
| 0.89 MHz | 6742 Hz | 5394 Hz |
| 0.9375 MHz | 7102 Hz | 5682 Hz |
| 1 MHz | 7576 Hz | 6061 Hz |
| 1.02 MHz | 7727 Hz | 6182 Hz |
| 1.056 MHz | 8000 Hz | 6400 Hz |
| 1.193 MHz (Atari) | 9038 Hz | 7230 Hz |
| 1.5 MHz | 11364 Hz | 9091 Hz |
| 1.79 MHz | 13561 Hz | 10848 Hz |
| 2 MHz | 15152 Hz | 12121 Hz |
| 2.112 MHz | 16000 Hz | 12800 Hz |
| 3 MHz | 22728 Hz | 18182 Hz |
| 3.58 MHz | 27122 Hz | 21697 Hz |
| 4 MHz | 30304 Hz | 24242 Hz |
| 4.224 MHz | 32000 Hz | 25600 Hz |
## chip config
@ -46,4 +42,4 @@ the following options are available in the Chip Manager window:
- **Clock rate**: sets the rate at which the chip will run.
- **Output rate**: sets the chip clock divider.
- **Bankswitched**: add an NMK112 chip to increase sample memory.
- **Bankswitched**: add an NMK112 chip to increase sample memory to 16MB and the maximum number of samples to 8192. Each bank is up to 63KB with sample headers, and the maximum sample length is 129024 samples.

View file

@ -21,3 +21,5 @@ it has a whopping 28 channels of stereo 16-bit PCM and:
## info
this chip uses the [MultiPCM](../4-instrument/multipcm.md) instrument editor.
maximum sample length is 65535 samples.

View file

@ -16,6 +16,14 @@ additionally, the last 8 channels may be put in "PSG mode", featuring 6 channels
this chip uses the [Nintendo DS](../4-instrument/nds.md) instrument editor.
sample length, loop start, and loop end are 32-bit word aligned, meaning they must be divisible evenly by the alignments shown in the table below:
| sample type | sample length max | loop start max | alignment |
|:-----------:|------------------:|---------------:|----------:|
| 16-bit PCM | 8388606 | 131070 | 2 samples |
| 8-bit PCM | 16777212 | 262140 | 4 samples |
| IMA ADPCM | 33554424 | 524280 | 8 samples |
## chip config
the following options are available in the Chip Manager window:

View file

@ -91,6 +91,10 @@ OPL4 PCM uses the [MultiPCM](../4-instrument/multipcm.md) instrument editor.
when two channels are joined for 4-op mode, the channel bar will show `4OP` on a bracket tying them together.
sample lengths on the Y8950 are padded to multiples of 512 samples. ADPCM samples ignore loop points; they may only be loop over the entire sample.
OPL4 maximum sample length is 65535.
## chip config
the following options are available in the Chip Manager window:

View file

@ -23,6 +23,10 @@ there are also 3 ADPCM channels. ADPCM samples are fixed to 8012Hz.
this chip uses the [QSound](../4-instrument/qsound.md) instrument editor.
PCM sample loops must be no longer than 32767 samples and have a length limit of 65535 samples.
ADPCM samples cannot loop and have a length limit of 131070 samples.
## chip config
the following options are available in the Chip Manager window:

View file

@ -19,3 +19,5 @@ Furnace also has a five channel version of this chip, but it only exists for Def
## info
this chip uses the [SegaPCM](../4-instrument/segapcm.md) instrument editor.
maximum sample length is 65280 samples.

View file

@ -15,7 +15,7 @@ this chip uses the [Watara Supervision](../4-instrument/watarasv.md) and [Generi
### sample info
sample channel is a 4-bit DMA channel with 4 frequencies assigned to sample octaves (C2, C3, C4, C5; C, C#, D, D# in Furnace respectively). max sample size is 4 kilobytes (8192 samples).
the sample channel is a 4-bit DMA channel with 4 frequencies assigned to sample octaves (C2, C3, C4, C5; C, C#, D, D# in Furnace respectively). max sample size is 4 kilobytes (8192 samples), samples are padded to multiples of 32 samples, and loop points are ignored.
## chip config

View file

@ -41,6 +41,8 @@ this chip was the inspiration for Organya/PxTone (the former being used in a wel
this chip uses the [X1-010](../4-instrument/x1_010.md) instrument editor.
if bankswitched, the sample length limit is 131072 samples.
## chip config
the following options are available in the Chip Manager window:

View file

@ -114,6 +114,8 @@ the [YM2610 (OPNB)](ym2610.md) and [YM2610B](ym2610b.md) chips are very similar
this chip uses the [FM (OPN)](../4-instrument/fm-opn.md), [AY-3-8910/SSG](../4-instrument/ay8910.md), [ADPCM-A](../4-instrument/adpcm-a.md) and [ADPCM-B](../4-instrument/adpcm-b.md) instrument editors.
sample lengths are padded to multiples of 512 samples. loop points are ignored for ADPCM samples; they may only loop over the entire sample.
## extended channel 3
in ExtCh mode, channel 3 is split into one column for each of its four operators. feedback and LFO levels are shared. the frequency of each operator may be controlled independently with notes and effects. this can be used for more polyphony or more complex sounds.

View file

@ -112,6 +112,12 @@ its soundchip is a 4-in-1: 4ch 4-op FM, YM2149 (an AY-3-8910 clone) and [2 diffe
this chip uses the [FM (OPN)](../4-instrument/fm-opn.md), [AY-3-8910/SSG](../4-instrument/ay8910.md), [ADPCM-A](../4-instrument/adpcm-a.md) and [ADPCM-B](../4-instrument/adpcm-b.md) instrument editors.
sample lengths are padded to multiples of 512 samples.
ADPCM-A samples cannot loop, and have a fixed sample rate of the chip's clock divided by 432.
ADPCM-B samples have a maximum length of 2097152 samples, and loop points are ignored; they may only loop over the entire sample. these have a maximum sample rate of the chip's clock speed divided by 144.
## extended channel 2
in ExtCh mode, channel 2 is split into one column for each of its four operators. feedback and LFO levels are shared. the frequency of each operator may be controlled independently with notes and effects. this can be used for more polyphony or more complex sounds.

View file

@ -2,7 +2,7 @@
8-channel PCM/ADPCM sample-based sound chip designed for use with arcade machines. it lived throughout mid to late 90s.
it has 16-level stereo panning, up to 16-bit PCM and up to 16MB of external PCM data.
it has 16-level stereo panning, up to 16-bit PCM and up to 16MB of external PCM data. 4-bit ADPCM has a sample playback rate limit of 44.1 kHz with a tunning resolution of 256 Hz, while 8-bit and 16-bit PCM can go up to 88.2kHz with a tuning resolution of 512 Hz.
## effects
@ -12,6 +12,10 @@ none so far.
this chip uses the [YMZ280B](../4-instrument/ymz280b.md) instrument editor.
4-bit ADPCM format can be selected in the sample editor as "YMZ/YMU ADPCM". for this format, loop start and end points must align to multiples of 2 samples, and samples will be padded to a multiple of 2 samples.
PCM samples have a maximum playback rate of the chip's clock divided by 192.
## chip config
the following options are available in the Chip Manager window: