doc finalization: systems

This commit is contained in:
tildearrow 2023-09-10 01:44:29 -05:00
parent d7a5b9a74a
commit 599bf96dc4
50 changed files with 194 additions and 148 deletions

View file

@ -1,8 +1,8 @@
# systems
this is a list of some of the systems that Furnace supports, as shown in the new file dialog. each chip links to a page with information and a list of supported effects.
this is a list that contains some of the systems that Furnace supports, as shown in the New File dialog. each chip links to a page with information and a list of supported effects.
some systems have alternate chips, such as the Sega Genesis having a YM2612, a YM3438, or YMF276 depending on the model. this list shows the default configuration.
some systems have alternate chips, such as the Sega Genesis having a YM2612 or YM3438 depending on the model. this list shows the default configuration.
- **Sega Genesis**: [YM3438](ym2612.md), [SN76489](sms.md)
- **Sega Genesis (with Sega CD)**: [YM3438](ym2612.md), [SN76489](sms.md), [RF5C164](ricoh.md)

View file

@ -18,8 +18,8 @@ imported MOD files use this chip, and will set A-4 tuning to 436.
# info
this chip uses the [Generic Sample](../4-instrument/amiga.md) instrument editor.
this chip uses the [Generic Sample](../4-instrument/sample.md) instrument editor.
- the maximum rate for sample playback is technically 31469Hz but anything higher than 28867Hz will sound glitchy on hardware.
- sample lengths and loop will be set to an even number.
- samples can't be longer than 131070.
- samples can't be longer than 131070.

View file

@ -6,7 +6,7 @@ it is a 3-channel square/noise/envelope sound generator. the chip's powerful sou
the AY-3-8914 variant was used in Intellivision, which is pretty much an AY with 4 level envelope volume per channel and different register format.
as of Furnace 0.6pre7, AY-3-8910 supports software sample playback, where all 3 channels can play 4-bit PCM samples (at the cost of a very high CPU usage)
Furnace is capable of doing software sample playback on AY-3-8910, where all 3 channels can play 4-bit PCM samples (at the cost of a very high CPU usage).
# effects
@ -47,10 +47,11 @@ as of Furnace 0.6pre7, AY-3-8910 supports software sample playback, where all 3
- `2Fxx`: **write to I/O port B.**
- this changes the port's mode to "write". make sure you have connected something to it.
# info
## what is obelisco
this chip uses the [AY-3-8910](../4-instrument/ay8910.md) instrument editor.
it's a name I use for a spiky waveform that starts low.
its origin is a wavetable that comes in DefleMask that happens to be called Obelisco.
## AY derivative modes
@ -59,3 +60,7 @@ AY-3-810 was an absurdly popular chip that was blessed with many third-party clo
- the AY-3-8914 variant was used in Intellivision, which is pretty much an 8910 with 4 level envelope volume per channel and different register format.
- Yamaha YM2149 was an AY-3-8910 clone released in 1983. it's almost identical to AY with minor differences being: higher hardware envelope step resolution (16 vs 32), half-clock mode when voltage level is low, much stronger DC offset and cleaner, but softer output.
- Sunsoft 5B is YM2149 clone with half-clock mode forced on.
# info
this chip uses the [AY-3-8910](../4-instrument/ay8910.md) instrument editor.

View file

@ -7,7 +7,7 @@ it is best known for being used in the Covox Sound Master, which didn't sell wel
emulation of this chip in Furnace is now complete thanks to community efforts and hardware testing, which an MSX board called Darky has permitted.
as of Furnace 0.6pre7, AY8930 supports software PCM, where all 3 channels can play 5-bit PCM samples (at the cost of a very high CPU usage)
Furnace is able to do software PCM on AY8930, where all 3 channels can play 5-bit PCM samples (at the cost of a very high CPU usage).
# effects
@ -58,4 +58,4 @@ as of Furnace 0.6pre7, AY8930 supports software PCM, where all 3 channels can pl
# info
this chip uses the [AY8930](../4-instrument/8930.md) instrument editor.
this chip uses the [AY8930](../4-instrument/ay8930.md) instrument editor.

View file

@ -14,4 +14,4 @@ Furnace emulates this configuration as a "chip" with 32×16 wavetables.
# info
this chip uses the [Konami SCC/ Bubble System WSG](../4-instrument/scc.md) instrument editor.
this chip uses the [Konami SCC/Bubble System WSG](../4-instrument/scc.md) instrument editor.

View file

@ -1,18 +1,16 @@
# Namco C140
Namco C140 is a 24-channel custom PCM sound chip manufactured jointly by Fujitsu and Namco. It was first used in Namco Sytem 2 arcade family starting in 1987.
Namco C140 is a 24-channel custom PCM sound chip manufactured jointly by Fujitsu and Namco. It was first used in Namco System 2 arcade family starting in 1987.
This chip features:
this chip features:
- stereo soft panning
- accepts either raw 12-bit PCM or proprietary 8-bit u-law compressed PCM samples
- accepts either raw 12-bit PCM or 8-bit µ-law compressed PCM samples
- 21.4 kHz sampling rate
# effects
- `80xx`: set panning (`00: left, `80`: center, `FF`: right)
- `81xx`: set left channel panning
- `82xx`: set right channel panning
none!
# info

19
doc/7-systems/c219.md Normal file
View file

@ -0,0 +1,19 @@
# Namco C219
Namco C219 is a 16-channel PCM sound chip that's a lot like C140, but has a noise generator, surround effect and a different µ-law curve.
this chip features:
- stereo soft panning
- accepts either 8-bit PCM or proprietary 8-bit µ-law compressed PCM samples
# effects
- `11xx`: **set noise mode.**
- `12xy`: **set invert mode.**
- if `x` is 1 or higher, surround is enabled.
- if `y` is 1 or higher, invert is enabled.
# info
this chip uses the [C219](../4-instrument/c219.md) instrument editor.

View file

@ -10,4 +10,4 @@ none yet.
# info
this chip uses the [Generic Sample](../4-instrument/amiga.md) instrument editor.
this chip uses the [Generic Sample](../4-instrument/sample.md) instrument editor.

View file

@ -2,13 +2,13 @@
sample-based synthesis chip used in a bunch of Taito arcade machines and PC sound cards like Soundscape Elite. a variant of it was the heart of the well-known Gravis Ultrasound.
it supports a whopping 32 channels of 16-bit PCM and:
it has a whopping 32 channels of 16-bit PCM and:
- real time digital filters
- frequency interpolation
- linear interpolation
- loop start and stop positions for each voice (bidirectional and reverse looping)
- internal volume multiplication and stereo panning
- hardware support for envelopes
- hardware support for short envelopes
# effects
@ -37,7 +37,8 @@ it supports a whopping 32 channels of 16-bit PCM and:
- `88xx`: **set panning (rear channels).**
- `89xx`: **set panning (rear left channel).**
- `8Axx`: **set panning (rear right channel).**
- `9xxx`: **set sample offset.** resets sample position to `xxx * 0x100`.
- `9xxx`: **set sample offset.**
- resets sample position to `xxx * 0x100`.
- `DFxx`: **set sample playback direction.**
# info

View file

@ -24,7 +24,7 @@ it also offers an additional 6-bit, 64-byte wavetable sound channel with (somewh
- 5: -3
- 6: -2
- 7: -1
- why is this mapping so unnatural? because that's how DefleMask does it (yeah, as you may have guessed this effect is mostly for compatibility reasons)...
- **do not use this effect.** it only exists for compatibility reasons
# info

View file

@ -1,8 +1,15 @@
# Irem GA20
ga20 is a 4 channel PCM sound source used by Irem in their arcades in late 1980s and eraly 1990s, often paired with [Yamaha YM2151](ym2151.md). Soundchip itself is rather unremarkable, having 8-bit volume and pitch control, no stereo panning
it is a 4 channel PCM sound source used by Irem in their arcades in late 1980s and early 1990s, often paired with [Yamaha YM2151](ym2151.md).
the sound chip itself is rather unremarkable, having 8-bit volume and pitch control and no stereo panning...
# effects
none
let's be honest. Furnace has too many chips and a great portion of them are sample chips that do the same task: playing back samples.
# info
this chip uses the [GA20](../4-instrument/ga20.md) instrument type.

View file

@ -1,8 +1,8 @@
# Game Boy
the Nintendo Game Boy is one of the most successful portable game systems ever made.
the Game Boy is one of the most successful portable game systems ever made.
with stereo sound, two pulse channels, a wave channel and a noise channel, it packed some serious punch.
it has stereo sound, two pulse channels, a wave channel and a noise channel.
# effects
@ -25,9 +25,8 @@ with stereo sound, two pulse channels, a wave channel and a noise channel, it pa
this chip uses the [Game Boy](../4-instrument/game-boy.md) instrument editor.
# links
- [Gameboy sound hardware](https://gbdev.gg8.se/wiki/articles/Gameboy_sound_hardware) - detailed technical information
- [GameBoy Sound Table](http://www.devrs.com/gb/files/sndtab.html) - note frequency table
- [GameBoy Sound Table](http://www.devrs.com/gb/files/sndtab.html) - note frequency table

View file

@ -44,7 +44,7 @@ this console is powered by two sound chips: the [Yamaha YM2612](ym2612.md) and [
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.
all four operators are still combined according to the algorithm in use. for example, algorithm 7 acts as four independent sine waves. algorithm 4 acts as two independent 2op sounds. even with algorithm 0, placing a note in any operator triggers that operator alone.
all four operators are still combined according to the algorithm in use. for example, algorithm 7 acts as four independent sine waves. algorithm 4 acts as two independent 2-op sounds. even with algorithm 0, placing a note in any operator triggers that operator alone.
## CSM

View file

@ -8,7 +8,9 @@ it has 7 bit digital output per each channel and no volume register on chip, so
# effects
- nothing for now.
nothing.
yeah.
# info

View file

@ -1,13 +1,13 @@
# Konami 056320
the 056320 is a sample-based chip that featured in a number of Konami arcade games, notably _Sunset Riders_ and _Teenage Mutant Ninja Turtles: Turtles in Time_. it has four channels of audio, 12-bit pitch resolution and stereo output, and can access up to 2MB of samples in 8-bit PCM or 4-bit ADPCM formats.
# Konami K053260
this chip is a sample-based chip that featured in a number of Konami arcade games, notably _Sunset Riders_ and _Teenage Mutant Ninja Turtles: Turtles in Time_. it has four channels of audio, 12-bit pitch resolution and stereo output, and can access up to 2MB of samples in 8-bit PCM or 4-bit ADPCM formats.
# effects
- `DFxx`: Set sample playback direction. `0` is normal; `1` is reverse.
- `DFxx`: **set sample playback direction.**
- `0` is normal.
- `1` is reverse.
# info
this chip uses the [C140](../4-instrument/c140.md) instrument editor.
this chip uses the [K053260](../4-instrument/k053260.md) instrument editor.

View file

@ -1,11 +1,13 @@
# Atari Lynx/MIKEY
the Atari Lynx is a 16 bit handheld console developed by (obviously) Atari Corporation, and initially released in September of 1989, with the worldwide release being in 1990.
the Atari Lynx is a 16 bit handheld console developed by Atari Corporation, and initially released in September of 1989, with the worldwide release being in 1990.
while it was an incredible handheld for the time (and a lot more powerful than a Game Boy), it unfortunately meant nothing in the end due to the Lynx being a market failure, and ending up as one of the things that contributed to the downfall of Atari.
while it was an incredible handheld for the time (and a lot more powerful than Game Boy), it unfortunately meant nothing in the end due to Lynx being a market failure, and ending up as one of the things that contributed to the downfall of Atari.
although the Lynx is still getting (rather impressive) homebrew developed for it, that does not mean the Lynx is a popular system at all.
but hey, Furnace supports it, so...
the Atari Lynx has a 6502-based CPU with a sound part (this chip is known as MIKEY). it has the following sound capabilities:
- 4 channels of LFSR-based sound, which can be modulated with different frequencies (×0, ×1, ×2, ×3, ×4, ×5, ×7, ×10, and ×11) to create square waves and wavetable-like results.
- likewise, when a lot of the modulators are activated, this can provide a "pseudo-white noise"-like effect, which can be useful for drums and sound effects.

View file

@ -13,4 +13,4 @@ additionally, it offers an 8-bit DAC which can be used to play samples. only one
# info
this chip uses the [NES](../4-instrument/nes.md) and [Generic Sample](../4-instrument/amiga.md) instrument editors.
this chip uses the [NES](../4-instrument/nes.md) and [Generic Sample](../4-instrument/sample.md) instrument editors.

View file

@ -5,12 +5,19 @@ Furnace's implementation is MSM6258V, a CPU driven variant that is unlimited by
# effects
...
- `20xx`: **set frequency divider (0 to 2).**
- `0`: /512
- `1`: /768
- `2`: /1024
- `21xx`: **select clock rate.**
- `0`: full
- `1`: half
# chip config
## chip clock rates
MSM6258 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:
MSM6258 is an extremely basic ADPCM sound codec. it has no variable frequency rate; it depends on clock rate of a chip itself. Furnace supports the following rates:
| clock rate | sampling rate |
|--------------------|---------------|
@ -21,4 +28,4 @@ MSM6258 is an extremely basic ADPCM sound codec. it has no variable frequency ra
# info
this chip uses the [MSM6258](../4-instrument/msm6258.md) and [Generic Sample](../4-instrument/amiga.md) instrument editors.
this chip uses the [MSM6258](../4-instrument/msm6258.md) and [Generic Sample](../4-instrument/sample.md) instrument editors.

View file

@ -5,11 +5,12 @@ an upgrade from 6258 - it provides 4 ADPCM channels, at max 32 KHz (still no var
# effects
- `20xx`: **set chip output rate.**
- `0`: /132
- `1`: /165
# info
this chip uses the [MSM6295](../4-instrument/msm6295.md) and [Generic Sample](../4-instrument/amiga.md) instrument editors.
this chip uses the [MSM6295](../4-instrument/msm6295.md) and [Generic Sample](../4-instrument/sample.md) instrument editors.
## chip clock rates
@ -36,4 +37,6 @@ like MSM6258, MSM6295 is an extremely basic ADPCM sound codec. it has no variabl
## 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.
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.

View file

@ -1,6 +1,6 @@
# Namco WSG | Namco C15 | Namco C30
# Namco WSG / Namco C15 / Namco C30
a family of wavetable synth sound chips used by Namco in their arcade machines (Pacman and later). waveforms are 4-bit, with 32-byte sample length.
a family of wavetable synth sound chips used by Namco in their arcade machines (Pac-Man and later). waveforms are 4-bit, with 32-byte sample length.
everything starts with Namco WSG, which is a simple 3-channel wavetable with no extra frills. C15 is a much more advanced sound source with 8 channels, and C30 adds stereo output and noise mode.
@ -11,4 +11,4 @@ everything starts with Namco WSG, which is a simple 3-channel wavetable with no
# info
this chip uses the [Namco WSG](../4-instrument/namco.md) instrument editor.
this chip uses the [Namco WSG](../4-instrument/wsg.md) instrument editor.

View file

@ -59,7 +59,7 @@ also known as Famicom. it is a five-channel sound generator: first two channels
# info
this chip uses the [NES](../4-instrument/nes.md) and [Generic Sample](../4-instrument/amiga.md) instrument editors.
this chip uses the [NES](../4-instrument/nes.md) and [Generic Sample](../4-instrument/sample.md) instrument editors.
## short noise frequencies (NTSC)
@ -126,8 +126,6 @@ reference: [NESdev](https://www.nesdev.org/wiki/APU_Length_Counter)
## DPCM frequency table
"value" is for DefleMask compatability.
value | tracker | NTSC freq | NTSC pitch | PAL freq | PAL pitch
-----:|:-------:|----------:|:----------:|----------:|:----------:
`00` | `C-3` | 4181.7Hz | C-8 - 2¢ | 4177.4Hz | C-8 - 4¢
@ -147,4 +145,4 @@ value | tracker | NTSC freq | NTSC pitch | PAL freq | PAL pitch
`0E` | `G-5` | 24858.0Hz | G-10 - 16¢ | 25191.0Hz | G-10 + 7¢
`0F` | `C-6` | 33143.9Hz | C-11 - 18¢ | 33252.1Hz | C-11 - 12¢
reference: [NESdev](https://www.nesdev.org/wiki/APU_DMC#Pitch_table)
reference: [NESdev](https://www.nesdev.org/wiki/APU_DMC#Pitch_table)

View file

@ -10,7 +10,7 @@ the original OPL (Yamaha YM3526) was present as an expansion for the Commodore 6
its successor, the OPL2 (Yamaha YM3812), added 3 more waveforms and was one of the more popular chips because it was present on the AdLib card for PC.
later Creative would borrow the chip to make the Sound Blaster, and totally destroyed AdLib's dominance.
the OPL3 (Yamaha YMF262) added 9 more channels, 4 more waveforms, rudimentary 4-operator mode (pairing up to 12 channels to make up to six 4-operator channels), quadraphonic output (sadly Furnace only supports stereo) and some other things.
the OPL3 (Yamaha YMF262) added 9 more channels, 4 more waveforms, rudimentary 4-operator mode (pairing up to 12 channels to make up to six 4-operator channels), quadraphonic output and some other things.
afterwards everyone moved to Windows and software mixed PCM streaming...
@ -81,4 +81,4 @@ afterwards everyone moved to Windows and software mixed PCM streaming...
# info
this chip uses the [FM (OPL)](../4-instrument/fmopl.md) instrument editor.
this chip uses the [FM (OPL)](../4-instrument/fm-opl.md) instrument editor.

View file

@ -1,11 +1,11 @@
# Yamaha YM2413/OPLL
the YM2413, otherwise known as OPLL, is a cost-reduced FM synthesis sound chip, based on the Yamaha YM3812 (OPL2). thought OPL was downgraded enough? :p
the YM2413, otherwise known as OPLL, is a cost-reduced FM synthesis sound chip, based on the Yamaha YM3812 (OPL2).
OPLL also spawned a few derivative chips, the best known of these is:
- the famous Konami VRC7. used in the Japan-only video game Lagrange Point, it was **another** cost reduction on top of the OPLL! this time just 6 channels...
- Yamaha YM2423, same chip as YM2413, just a different patch set
- Yamaha YMF281, ditto
- Yamaha YM2423, same chip as YM2413, just a different patch set...
- Yamaha YMF281, ditto.....
# technical specifications
@ -13,7 +13,7 @@ the YM2413 is equipped with the following features:
- 9 channels of 2 operator FM synthesis
- a drum/percussion mode, replacing the last 3 voices with 5 rhythm channels, with drum mode tones hard-defined in the chip itself, like FM instruments. only pitch might be altered.
- drum mode works like following: FM channel 7 is for Kick Drum, which is a normal FM channel but routed through mixer twice for 2× volume, like all drum sounds. FM channel 8 splits to Snare, Drum, and Hi-Hat. Snare Drum is the carrier and it works with a special 1 bit noise generator combined with a square wave, all possible by overriding phase-generator with some different synthesis method. Hi-Hat is the modulator and it works with the noise generator and also the special synthesis. CH9 splits to Top-Cymbal and Tom-Tom, Top-Cymbal is the carrier and only has the special synthesis, while Tom-Tom is basically a 1op wave.
- drum mode works like following: FM channel 7 is for Kick Drum, which is a normal FM channel but routed through mixer twice for 2× volume, like all drum sounds. FM channel 8 splits to Snare, Drum, and Hi-Hat. Snare Drum is the carrier and it works with a special 1 bit noise generator combined with a square wave, all possible by overriding phase-generator with some different synthesis method. Hi-Hat is the modulator and it works with the noise generator and also the special synthesis. channel 9 splits to Top-Cymbal and Tom-Tom, Top-Cymbal is the carrier and only has the special synthesis, while Tom-Tom is basically a 1op wave.
- special synthesis mentioned already is: 5 square waves are gathered from 4×, 64× and 128× the pitch of channel 8 and 16× and 64× the pitch of channel 9 and they go through a process where 2 HH bits OR'd together, then 1 HH and 1 TC bit OR'd, then the two TC bits OR'd together, and those 3 results get XOR'd.
- 1 user-definable patch (this patch can be changed throughout the course of the song)
- 15 pre-defined patches which can all be used at the same time
@ -66,9 +66,9 @@ the YM2413 is equipped with the following features:
# info
this chip uses the [FM (OPLL)](../4-instrument/fmopll.md) instrument editor.
this chip uses the [FM (OPLL)](../4-instrument/fm-opll.md) instrument editor.
## chip options
- **Ignore top/hi-hat frequency changes**: in drums mode, makes the top/hi-hat channels not write frequency since they share it with snare and tom
- **Apply fixed frequency to all drums at once**: sets the frequency of all drums to that of a fixed frequency OPLL drums instrument when one note with it is reached
- **Ignore top/hi-hat frequency changes**: in drums mode, makes the top/hi-hat channels not write frequency since they share it with snare and tom.
- **Apply fixed frequency to all drums at once**: sets the frequency of all drums to that of a fixed frequency OPLL drums instrument when one note with it is reached.

View file

@ -116,4 +116,4 @@ no plans have been made for TX81Z MIDI passthrough, because:
# info
this chip uses the [FM (OPZ)](../4-instrument/fm.md) instrument editor.
this chip uses the [FM (OPZ)](../4-instrument/fm-opz.md) instrument editor.

View file

@ -1,8 +1,8 @@
# PC Engine/TurboGrafx-16
a console from NEC that, depending on a region:
- attempted to enter the fierce battle between Nintendo and Sega, but because its capabilities are a mix of third and fourth generation, it failed to last long. (US and Europe)
- was Nintendo's most fearsome rival, completely defeating Sega Mega Drive and defending itself against Super Famicom (Japan)
- attempted to enter the fierce battle between Nintendo and Sega, but because its capabilities are a mix of third and fourth generation, it failed to last long (US and Europe), or
- was Nintendo's most fearsome rival, completely defeating Sega Mega Drive and defending itself against Super Famicom (Japan).
it has 6 wavetable channels and the last two ones also double as noise channels.
furthermore, it has some PCM and LFO!
@ -23,4 +23,4 @@ furthermore, it has some PCM and LFO!
# info
this chip uses the [PC Engine](../4-instrument/pce.md) and [Generic Sample](../4-instrument/amiga.md) instrument editors.
this chip uses the [PC Engine](../4-instrument/pce.md) and [Generic Sample](../4-instrument/sample.md) instrument editors.

View file

@ -1,6 +1,6 @@
# PC Speaker
40 years of one square beep - and still going! Single channel, no volume control...
40 years of one square beep - and still going! single channel, no volume control...
# real output

View file

@ -8,7 +8,8 @@ some of these didn't even have sound...
# effects
- `10xx`: **set waveform.** `xx` is a bitmask.
- `10xx`: **set waveform.**
- `xx` is a bitmask.
# info

View file

@ -8,4 +8,4 @@ none.
# info
this chip uses the [Pokémon Mini/QuadTone](../4-instrument/quadtone.md) instrument editor.
this chip uses the [Pokémon Mini/QuadTone](../4-instrument/pokemini.md) instrument editor.

View file

@ -4,7 +4,9 @@ released only in Japan, this console was pulled after only a few weeks on the ma
# effects
- `10xx`: **set ring modulation.** amplitude modulation by the previous channel's output. `0` turns it off and `1` turns it on.
- `10xx`: **set ring modulation.**
- amplitude modulation by the previous channel's output.
- `0` turns it off and `1` turns it on.
# info

View file

@ -4,20 +4,21 @@ this chip was used in Capcom's CP System Dash, CP System II and ZN arcade PCBs.
it supports 16 PCM channels and uses the patented (now expired) QSound stereo expansion algorithm, as the name implies.
because the chip lacks sample interpolation, it is recommended that you try to play samples at around 24038 Hz to avoid aliasing. this is especially important for e.g. cymbals.
because the chip lacks sample interpolation, it is recommended that you try to play samples at around 24038Hz to avoid aliasing. this is especially important for e.g. cymbals.
the QSound chip also has a small echo buffer, somewhat similar to the SNES, although with a very basic (and non-adjustable) filter. it is however possible to adjust the feedback and length of the echo buffer (the initial values can be set in the "configure chip" option in the file menu or the chip manager).
there are also 3 ADPCM channels. ADPCM samples are fixed to 8012 Hz.
there are also 3 ADPCM channels. ADPCM samples are fixed to 8012Hz.
# effects
- `10xx`: **set echo feedback level.**
- this effect will apply to all channels.
- `11xx`: **set echo level.**
- `12xx`: **toggle QSound algorithm.** on by default.
- `12xx`: **toggle QSound algorithm.**
- on by default.
- `3xxx`: **set echo delay buffer length.**
# info
this chip uses the [QSound](../4-instrument/qsound.md) and [Generic Sample](../4-instrument/amiga.md) instrument editors.
this chip uses the [QSound](../4-instrument/qsound.md) and [Generic Sample](../4-instrument/sample.md) instrument editors.

View file

@ -1,6 +1,6 @@
# Ricoh RF5C68
YM2612's sidekick - poor man's SNES DSP. 8-channel PCM sample-based synthesizer used in Sega CD, Fujitsu FM Towns and some of Sega's arcade machines. supports up to 64KB of external PCM data.
YM2612's sidekick - poor man's SNES DSP. 8-channel PCM sample-based synthesizer used in Sega CD, Fujitsu FM Towns and some of Sega's arcade machines. supports up to 64KB of sample data.
# effects
@ -8,4 +8,4 @@ none so far.
# info
this chip uses the [RF5C68](../4-instrument/ricoh.md) and [Generic Sample](../4-instrument/amiga.md) instrument editors.
this chip uses the [RF5C68](../4-instrument/rf5c68.md) and [Generic Sample](../4-instrument/sample.md) instrument editors.

View file

@ -18,4 +18,4 @@ 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) and [Generic Sample](../4-instrument/amiga.md) instrument editors.
this chip uses the [SegaPCM](../4-instrument/segapcm.md) and [Generic Sample](../4-instrument/sample.md) instrument editors.

View file

@ -4,9 +4,9 @@ the SM8521 is the CPU and sound chip of the Game.com, a handheld console release
ultimately, most of the games for the Game.com ended up being failures in the eyes of reviewers, thus giving the Game.com a pretty bad reputation. this was one of the reasons that the Game.com only ended up selling at least 300,000 units. for these reasons and more, the Game.com ended up being discontinued in 2000.
however, for its time, it was a pretty competitively priced system. the Gameboy Color was to be released in a year for $79.95, while the Game.com was released for $69.99, and its later model, the Pocket Pro, was released in mid-1999 for $29.99 due to the Game.com's apparent significant decrease in value.
however, for its time, it was a pretty competitively priced system. the Game Boy Color was to be released in a year for $79.95, while the Game.com was released for $69.99; and its later model, the Pocket Pro, was released in mid-1999 for $29.99 due to the Game.com's apparent significant decrease in value.
in fact, most games never used the wavetable/noise mode of the chip. sonic Jam, for example, uses a sine wave with a software-controlled volume envelope on the DAC channel (see below for more information on the DAC channel).
in fact, most games never used the wavetable/noise mode of the chip. Sonic Jam, for example, uses a sine wave with a software-controlled volume envelope on the DAC channel (see below for more information on the DAC channel).
the sound-related features and quirks of the SM8521 are as follows:
- 2 4-bit wavetable channels
@ -15,7 +15,7 @@ the sound-related features and quirks of the SM8521 are as follows:
- a low bit-depth output (which means it distorts a lot).
- it phase resets when you switch waves
- 12-bit pitch with a wide frequency range
- a software-controlled D/A register that (potentially) requires all other registers to be stopped to play. due to this, it is currently not implemented in Furnace as of version 0.6pre4.
- a software-controlled D/A register that (potentially) requires all other registers to be stopped to play. due to this, it is currently not implemented in Furnace.
## effect commands

View file

@ -1,10 +1,24 @@
# TI SN76489 (e.g. Sega Master System)
a relatively simple sound chip made by Texas Instruments. a derivative of it is used in Sega's Master System, the predecessor to Genesis. It has three square wave channels and one noise channel... not really.
a relatively simple sound chip made by Texas Instruments. a derivative of it is used in Sega's Master System, the predecessor to Genesis. it has three square wave channels and one noise channel... not really.
Nominal mode of SN76489 has 3 quare wave channels, with noise channel having only 3 preset frequencies to use (absurdly low, very low, low). To use more pitches, one can enable mode, which "steals" pitch data from square wave channel 3. By doing that, SN76489 becomes effectively a 3 channel sound chip. In addition, periodic noise mode can be enabled, with same caveats.
nominal mode of SN76489 has 3 square wave channels, with noise channel having only 3 preset frequencies to use (absurdly low, very low, low). to use more pitches, one can enable a mode which "steals" the frequency from square wave channel 3. by doing that, SN76489 becomes effectively a 3 channel sound chip. In addition, periodic noise mode can be enabled, with same caveats.
the original iteration of the SN76489 used in the TI-99/4A computer, the SN94624, could only produce tones as low as 100Hz, and was clocked at 447 KHz. all later versions (such as the one in the Master System and Genesis) had a clock divider but ran on a faster clock... except for the SN76494, which can play notes as low as 13.670 Hz (A -1). consequently, its pitch accuracy for higher notes is compromised.
the original iteration of the SN76489 used in the TI-99/4A computer, the SN94624, could only produce tones as low as 100Hz, and was clocked at 447 KHz. all later versions (such as the one in the Master System and Genesis) had a clock divider but ran on a faster clock... except for the SN76494, which can play notes as low as 13670 Hz (A -1). consequently, its pitch accuracy for higher notes is compromised.
## SN7 versions
SN7 was extremely popular due to low cost. therefore, it was cloned and copied to no end, often with minor differences between each other. Furnace supports several of these:
- SN94624, can only produce tones as low as 100Hz, and is clocked at 447 KHz.
- SN76494, which can play notes as low as 13.670 Hz (A -1). it has a different noise feedback and invert masks.
- SN76489, identical to SN94624, just without a clock divider.
- SN76489A, identical to 76494, just with a /8 clock divider.
- SN76496, literally identical to former. why is it even here?
- SN76496 with a Atari-like short noise. the chip of many legend and rumours which may be a result of inaccurate emulation.
- Sega Master System VDP version has a different, characteristic noise LFSR.
- Game Gear SN7, identical to the above, but with stereo.
- NCR8496, different noise invert mask.
- PSSJ3, literally identical to the former. it just swaps "high" and "low" signals in the output, which results in no audible difference.
# effects
@ -20,19 +34,3 @@ the original iteration of the SN76489 used in the TI-99/4A computer, the SN94624
# info
this chip uses the [SN76489/Sega PSG](../4-instrument/psg.md) instrument editor.
## SN7 versions
SN7 was extremely popular due to low cost. Therefore, it was cloned and copied to no end, often with minor differences between each other. Furnace supports several of these:
- SN94624, can only produce tones as low as 100Hz, and is clocked at 447 KHz.
- SN76494, which can play notes as low as 13.670 Hz (A -1). It has a different noise feedback and invert masks.
- SN76489, identical to SN94624, just without a clock divider
- SN76489A, identical to 76494, just with a /8 clock divider
- SN76496, literally identical to former. Why is it even here?
- SN76496 with a Atari-like short noise. The chip of many legend and rumours, might be a result of inaccurate emulation.
- Sega Master System VDP version has a different, characteristic noise LFSR.
- Game Gear SN7, identical to the above, but with stereo
- NCR8496, different noise invert masks
- PSSJ3, literally identical to the former, it just swaps "high" and "low" signals in the output, which results in no audible difference
TODO: all these checkboxes

View file

@ -8,7 +8,7 @@ this whole system itself is pretty much a separate computer that the main CPU ne
Furnace communicates with the DSP directly and provides a full 64KB of memory. this memory might be reduced excessively on ROM export to make up for playback engine and pattern data. you can go to window > statistics to see how much memory your samples are using.
some notable features of the DSP are:
- pitch modulation, meaning that you can use 2 channels to make a basic FM synth without eating up too much memory.
- pitch modulation.
- a built in noise generator, useful for hi-hats, cymbals, rides, effects, among other things.
- per-channel echo, which unfortunately eats up a lot of memory but can be used to save channels in songs.
- an 8-tap FIR filter for the echo, which is basically a procedural low-pass filter that you can edit however you want.
@ -18,7 +18,7 @@ some notable features of the DSP are:
- 7-bit volume per channel.
- sample interpolation, which is basically a low-pass filter that gets affected by the pitch of the channel.
Furnace also allows the SNES to use wavetables (and the wavetable synthesizer) in order to create more 'animated' sounds, using less memory than regular samples. this however is not a hardware feature, and might be difficult to implement on real hardware.
Furnace also allows the SNES to use wavetables (and the wavetable synthesizer) in order to create more 'animated' sounds, using less memory than regular samples.
# effects
@ -64,7 +64,7 @@ Furnace also allows the SNES to use wavetables (and the wavetable synthesizer) i
- all of these are signed numbers.
- `00` to `7F` for 0 to 127.
- `80` to `FF` for -128 to -1.
- _Note:_ Be sure the sum of all coefficients is between -128 and 127. sums outside that may result in overflow and therefore clicking.
- _Note:_ be sure the sum of all coefficients is between -128 and 127. sums outside that may result in overflow and therefore clicking.
- see [SnesLab](https://sneslab.net/wiki/FIR_Filter) for a full explanation and examples.
# info

View file

@ -57,4 +57,4 @@ it has the following capabilities:
# info
this chip uses the [Sound Unit](../4-instrument/soundunit.md) and [Generic Sample](../4-instrument/amiga.md) instrument editors.
this chip uses the [Sound Unit](../4-instrument/su.md) and [Generic Sample](../4-instrument/sample.md) instrument editors.

View file

@ -12,10 +12,11 @@ currently Furnace does not support the PCM channel's stereo mode, though (except
- `1`: saw
- `2`: triangle
- `3`: noise
- `22xx`: **set duty cycle.** range is `0` to `3F`.
- `22xx`: **set duty cycle.**
- range is `0` to `3F`.
- `EExx`: **ZSM synchronization event.**
- Where `xx` is the event payload. This has no effect in how the music is played in Furnace, but the ZSMKit library for the Commander X16 interprets these events inside ZSM files and optionally triggers a callback routine. This can be used, for instance, to cause game code to respond to beats or at certain points in the music.
- `xx` is the event payload. this has no effect in how the music is played in Furnace, but the ZSMKit library for the Commander X16 interprets these events inside ZSM files and optionally triggers a callback routine. this can be used, for instance, to cause game code to respond to beats or at certain points in the music.
# info
this chip uses the [VERA](../4-instrument/vera.md) and [Generic Sample](../4-instrument/amiga.md) instrument editors.
this chip uses the [VERA](../4-instrument/vera.md) and [Generic Sample](../4-instrument/sample.md) instrument editors.

View file

@ -1,6 +1,6 @@
# Commodore VIC-20
the Commodore VIC-20 was Commodore's major attempt at making a personal home computer, and is the percursor to the Commodore 64.
the Commodore VIC-20 was Commodore's major attempt at making a personal home computer, and is the precursor to the Commodore 64.
it was also known as the VC-20 in Germany, and the VIC-1001 in Japan.

View file

@ -20,4 +20,4 @@ these effects only are effective in the pulse channels.
# info
this chip uses the [VRC](../4-instrument/vrc6.md), [VRC (saw)](../4-instrument/vrc6.md), and [Generic Sample](../4-instrument/amiga.md) instrument editors.
this chip uses the [VRC6](../4-instrument/vrc6.md), [VRC6 (saw)](../4-instrument/vrc6.md), and [Generic Sample](../4-instrument/sample.md) instrument editors.

View file

@ -13,13 +13,12 @@ it has 4 wavetable channels. some of them have additional capabilities:
- `10xx`: **change wave**.
- `11xx`: **setup noise mode.** channel 4 only.
- 0: disable.
- 1-8: enable and set tap preset.
- 1-8: enable and set length.
- `12xx`: **setup sweep period.** channel 3 only.
- 0: disable.
- 1-32: enable and set period.
- `13xx`: **setup sweep amount.** channel 3 only.
- `17xx`: **toggle PCM mode.** channel 2 only.
# info
this chip uses the [WonderSwan](../4-instrument/wonderswan.md) and [Generic Sample](../4-instrument/amiga.md) instrument editors.
this chip uses the [WonderSwan](../4-instrument/wonderswan.md) and [Generic Sample](../4-instrument/sample.md) instrument editors.

View file

@ -49,4 +49,4 @@ in Furnace, you can enable the envelope shape split mode. when it is set, its wa
# info
this chip uses the [X1-010](../4-instrument/x1_010.md) and [Generic Sample](../4-instrument/amiga.md) instrument editors.
this chip uses the [X1-010](../4-instrument/x1_010.md) and [Generic Sample](../4-instrument/sample.md) instrument editors.

View file

@ -1,10 +1,10 @@
# Yamaha YM2151
the sound chip powering several arcade boards, the Sharp X1/X68000 and the Commander X16. eight 4-op FM channels, with overpowered LFO and almost unused noise generator.
the sound chip powering several arcade boards, synthesizers and the Sharp X1/X68000. eight 4-op FM channels, with overpowered LFO and almost unused noise generator.
it also was present on several pinball machines and synthesizers of the era, and later surpassed by the YM2414 (OPZ) present in the world-famous TX81Z.
in most arcade boards the chip was used in combination with a PCM chip, like [SegaPCM](segapcm.md) or [OKI's line of ADPCM chips](oki.md).
in most arcade boards the chip was used in combination with a PCM chip, like [SegaPCM](segapcm.md) or [OKI's line of ADPCM chips](oki6295.md).
# effects

View file

@ -100,13 +100,14 @@ several variants of this chip were released as well, with more features.
- `5Exx`: **set D2R/SR of operator 3.**
- `5Fxx`: **set D2R/SR of operator 4.**
## extended channel 3
in ExtCh mode, channel 3 is split into one column for each of its four operators and feedback 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.
all four operators are still combined according to the algorithm in use. for example, algorithm 7 acts as four independent sine waves. algorithm 4 acts as two independent 2op sounds. even with algorithm 0, placing a note in any operator triggers that operator alone.
# info
this chip uses the [FM (OPN)](../4-instrument/fm-opn.md) and [AY-3-8910/SSG](../4-instrument/ay8910.md) instrument editor.
## extended channel 3
in ExtCh mode, channel 3 is split into one column for each of its four operators and feedback 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.
all four operators are still combined according to the algorithm in use. for example, algorithm 7 acts as four independent sine waves. algorithm 4 acts as two independent 2op sounds. even with algorithm 0, placing a note in any operator triggers that operator alone.

View file

@ -100,13 +100,13 @@ the YM2610 (OPNB) and YM2610B chips are very similar to this one, but the built-
- `5Exx`: **set D2R/SR of operator 3.**
- `5Fxx`: **set D2R/SR of operator 4.**
## 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.
all four operators are still combined according to the algorithm in use. for example, algorithm 7 acts as four independent sine waves. algorithm 4 acts as two independent 2op sounds. even with algorithm 0, placing a note in any operator triggers that operator alone.
# info
this chip uses the [FM (OPN)](../4-instrument/fm-opn.md), [Generic Sample](../4-instrument/amiga.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.
## 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.
all four operators are still combined according to the algorithm in use. for example, algorithm 7 acts as four independent sine waves. algorithm 4 acts as two independent 2op sounds. even with algorithm 0, placing a note in any operator triggers that operator alone.

View file

@ -98,12 +98,13 @@ its soundchip is a 4-in-1: 4ch 4-op FM, YM2149 (AY-3-8910 clone) and [2 differen
- `5Exx`: **set D2R/SR of operator 3.**
- `5Fxx`: **set D2R/SR of operator 4.**
## 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.
all four operators are still combined according to the algorithm in use. for example, algorithm 7 acts as four independent sine waves. algorithm 4 acts as two independent 2op sounds. even with algorithm 0, placing a note in any operator triggers that operator alone.
# info
this chip uses the [FM (OPN)](../4-instrument/fm-opn.md), [Generic Sample](../4-instrument/amiga.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.
## 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.
all four operators are still combined according to the algorithm in use. for example, algorithm 7 acts as four independent sine waves. algorithm 4 acts as two independent 2op sounds. even with algorithm 0, placing a note in any operator triggers that operator alone.

View file

@ -97,13 +97,14 @@ it is backward compatible with the original chip.
- `5Exx`: **set D2R/SR of operator 3.**
- `5Fxx`: **set D2R/SR of operator 4.**
# info
this chip uses the [FM (OPN)](../4-instrument/fm-opn.md), [Generic Sample](../4-instrument/amiga.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.
## 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.
all four operators are still combined according to the algorithm in use. for example, algorithm 7 acts as four independent sine waves. algorithm 4 acts as two independent 2op sounds. even with algorithm 0, placing a note in any operator triggers that operator alone.
# info
this chip uses the [FM (OPN)](../4-instrument/fm-opn.md), [Generic Sample](../4-instrument/amiga.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.

View file

@ -1,8 +1,23 @@
# Yamaha YM2612
one of two chips that powered the Sega Genesis. it is a six-channel, four-operator FM synthesizer. channel #6 can be turned into 8-bit PCM player, that via software mixing, thanks to Z80 sound CPU, can play more than one channel of straight-shot samples at once.
as of Furnace 0.6pre5, Furnace offers DualPCM, a Z80 driver that splits channel 6 into two individual PCM channels with variable pitch. using the console's Z80 processor, these are mixed together in software and streamed to channel 6 in PCM mode with a mix rate of 13750 Hz. VGM export requires the "direct stream mode" option to be enabled, and resulting files will be very large.
Furnace also offers DualPCM, a Z80 driver that splits channel 6 into two individual PCM channels with variable pitch. using the console's Z80 processor, these are mixed together in software and streamed to channel 6 in PCM mode with a mix rate of 13750 Hz. VGM export requires the "direct stream mode" option to be enabled, and resulting files will be very large.
## 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.
all four operators are still combined according to the algorithm in use. for example, algorithm 7 acts as four independent sine waves. algorithm 4 acts as two independent 2op sounds. even with algorithm 0, placing a note in any operator triggers that operator alone.
## CSM
CSM is short for "Composite Sinusoidal Modeling". CSM works by sending key-on and key-off commands to channel 3 at a specific frequency, controlled by the added "CSM Timer" channel. this can be used to create vocal formants (speech synthesis!) or other complex effects.
CSM is beyond the scope of this documentation. for more information, see this [brief SSG-EG and CSM video tutorial](https://www.youtube.com/watch?v=IKOR0TUlnWU).
## DualPCM
thanks to the Z80 sound CPU, DualPCM can play two samples at once! this mode splits channel 6 into two individual PCM channels with variable pitch. these are mixed together in software and streamed to channel 6 with a mix rate of 13750 Hz. VGM export requires the "direct stream mode" option to be enabled, and resulting files will be very large.
# effects
- `10xy`: **set LFO parameters.**
@ -73,18 +88,3 @@ as of Furnace 0.6pre5, Furnace offers DualPCM, a Z80 driver that splits channel
this chip uses the [FM (OPN)](../4-instrument/fm-opn.md) and [Generic Sample](../4-instrument/amiga.md) instrument editors.
## 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.
all four operators are still combined according to the algorithm in use. for example, algorithm 7 acts as four independent sine waves. algorithm 4 acts as two independent 2op sounds. even with algorithm 0, placing a note in any operator triggers that operator alone.
## CSM
CSM is short for "Composite Sinusoidal Modeling". CSM works by sending key-on and key-off commands to channel 3 at a specific frequency, controlled by the added "CSM Timer" channel. this can be used to create vocal formants (speech synthesis!) or other complex effects.
CSM is beyond the scope of this documentation. for more information, see this [brief SSG-EG and CSM video tutorial](https://www.youtube.com/watch?v=IKOR0TUlnWU).
## DualPCM
thanks to the Z80 sound CPU, DualPCM can play two samples at once! this mode splits channel 6 into two individual PCM channels with variable pitch. these are mixed together in software and streamed to channel 6 with a mix rate of 13750 Hz. VGM export requires the "direct stream mode" option to be enabled, and resulting files will be very large.

View file

@ -18,4 +18,4 @@ hey, at least it was the spark that ignited the idea of DefleMask.
# info
this chip uses the [FM (OPL)](../4-instrument/fm-opl.md) and [Generic Sample](../4-instrument/amiga.md) instrument editors.
this chip uses the [FM (OPL)](../4-instrument/fm-opl.md) and [Generic Sample](../4-instrument/sample.md) instrument editors.

View file

@ -10,4 +10,4 @@ none so far.
# info
this chip uses the [YMZ280B](../4-instrument/ymz280b.md) and [Generic Sample](../4-instrument/amiga.md) instrument editors.
this chip uses the [YMZ280B](../4-instrument/ymz280b.md) and [Generic Sample](../4-instrument/sample.md) instrument editors.

View file

@ -17,4 +17,4 @@ not really - very soon talented programmers found out ways to output much more t
# info
this chip uses the [Beeper](../4-instrument/beeper.md), [Generic Sample](../4-instrument/amiga.md), and [Pokémon Mini/QuadTone](../4-instrument/quadtone.md) instrument editors.
this chip uses the [Beeper](../4-instrument/beeper.md), [Generic Sample](../4-instrument/sample.md), and [Pokémon Mini/QuadTone](../4-instrument/pokemini.md) instrument editors.