update several things - including an Amiga fix
This commit is contained in:
parent
faf3063a72
commit
489f56b913
|
@ -79,7 +79,7 @@ check out the [Releases](https://github.com/tildearrow/furnace/releases) page. a
|
||||||
- bug/quirk implementation for increased playback accuracy through compatibility flags
|
- bug/quirk implementation for increased playback accuracy through compatibility flags
|
||||||
- VGM export
|
- VGM export
|
||||||
- modular layout that you may adapt to your needs
|
- modular layout that you may adapt to your needs
|
||||||
- audio file export - entire song, per system or per channel
|
- audio file export - entire song, per chip or per channel
|
||||||
- quality emulation cores (Nuked, MAME, SameBoy, Mednafen PCE, NSFplay, puNES, reSID, Stella, SAASound, vgsound_emu and ymfm)
|
- quality emulation cores (Nuked, MAME, SameBoy, Mednafen PCE, NSFplay, puNES, reSID, Stella, SAASound, vgsound_emu and ymfm)
|
||||||
- wavetable synthesizer
|
- wavetable synthesizer
|
||||||
- available on wavetable chips
|
- available on wavetable chips
|
||||||
|
@ -237,7 +237,7 @@ yup, it's real.
|
||||||
|
|
||||||
> where's the manual?
|
> where's the manual?
|
||||||
|
|
||||||
see [papers/](papers/doc/README.md). it's kind of incomplete, but at least the systems (sound chips) section is there.
|
see [papers/](papers/doc/README.md). it's kind of incomplete, but at least the sound chips section is there.
|
||||||
|
|
||||||
> it doesn't open under macOS!
|
> it doesn't open under macOS!
|
||||||
|
|
||||||
|
@ -263,7 +263,7 @@ also provided are two effects:
|
||||||
- `4xxx`: set fine cutoff. `xxx` range is 000-7ff.
|
- `4xxx`: set fine cutoff. `xxx` range is 000-7ff.
|
||||||
additionally, you can change the cutoff and/or duty as a macro inside an instrument by clicking the `absolute cutoff macro` and/or `absolute duty macro` checkbox at the bottom of the instrument. (for the filter, you also need to click the checkbox that says `volume macro is cutoff macro`.)
|
additionally, you can change the cutoff and/or duty as a macro inside an instrument by clicking the `absolute cutoff macro` and/or `absolute duty macro` checkbox at the bottom of the instrument. (for the filter, you also need to click the checkbox that says `volume macro is cutoff macro`.)
|
||||||
|
|
||||||
> how do I use PCM on a PCM-capable system?
|
> how do I use PCM on a PCM-capable chip?
|
||||||
|
|
||||||
two possibilities:
|
two possibilities:
|
||||||
- the recommended way is by creating the "Sample" type instrument and assigning a sample to it.
|
- the recommended way is by creating the "Sample" type instrument and assigning a sample to it.
|
||||||
|
|
|
@ -1,22 +1,20 @@
|
||||||
# systems
|
# sound chips
|
||||||
|
|
||||||
this is a list of systems that Furnace supports, including each system's effects.
|
this is a list of sound chips that Furnace supports, including each system's effects.
|
||||||
|
|
||||||
- [Sega Genesis/Mega Drive](genesis.md)
|
- [Yamaha YM2612](ym2612.md)
|
||||||
- [Sega Master System](sms.md)
|
- [TI SN76489](sms.md)
|
||||||
- [Yamaha OPLL](opll.md)
|
- [Yamaha OPLL](opll.md)
|
||||||
- [Game Boy](game-boy.md)
|
- [Game Boy](game-boy.md)
|
||||||
- [PC Engine/TurboGrafx-16](pce.md)
|
- [PC Engine/TurboGrafx-16](pce.md)
|
||||||
- [NES](nes.md)
|
- [NES](nes.md)
|
||||||
- [Commodore 64](c64.md)
|
- [Commodore 64](c64.md)
|
||||||
- [Arcade (YM2151/PCM)](arcade.md)
|
- [Yamaha YM2151](ym2151.md)
|
||||||
|
- [SegaPCM](segapcm.md)
|
||||||
- [Neo Geo/YM2610](ym2610.md)
|
- [Neo Geo/YM2610](ym2610.md)
|
||||||
- [Taito Arcade/YM2610B](ym2610b.md)
|
- [Taito Arcade/YM2610B](ym2610b.md)
|
||||||
- [AY-3-8910](ay8910.md)
|
- [AY-3-8910](ay8910.md)
|
||||||
- [Amiga](amiga.md)
|
- [Amiga](amiga.md)
|
||||||
- [Yamaha YM2612 standalone](ym2612.md)
|
|
||||||
- [Yamaha YM2151 standalone](ym2151.md)
|
|
||||||
- [SegaPCM](segapcm.md)
|
|
||||||
- [Capcom QSound](qsound.md)
|
- [Capcom QSound](qsound.md)
|
||||||
- [Atari 2600](tia.md)
|
- [Atari 2600](tia.md)
|
||||||
- [Philips SAA1099](saa1099.md)
|
- [Philips SAA1099](saa1099.md)
|
||||||
|
|
|
@ -6,10 +6,10 @@ in this very computer music trackers were born...
|
||||||
|
|
||||||
# effects
|
# effects
|
||||||
|
|
||||||
- `10xx`: change wave.
|
- `10xx`: toggle low-pass filter. `0` turns it off and `1` turns it on.
|
||||||
- only works when "Mode" is set to "Wavetable" in the instrument.
|
|
||||||
- `11xx`: toggle amplitude modulation with the next channel.
|
- `11xx`: toggle amplitude modulation with the next channel.
|
||||||
- does not work on the last channel.
|
- does not work on the last channel.
|
||||||
- `12xx`: toggle period (frequency) modulation with the next channel.
|
- `12xx`: toggle period (frequency) modulation with the next channel.
|
||||||
- does not work on the last channel.
|
- does not work on the last channel.
|
||||||
- `13xx`: toggle low-pass filter. `0` turns it off and `1` turns it on.
|
- `13xx`: change wave.
|
||||||
|
- only works when "Mode" is set to "Wavetable" in the instrument.
|
||||||
|
|
|
@ -1,32 +0,0 @@
|
||||||
# Arcade (Yamaha YM2151/PCM)
|
|
||||||
|
|
||||||
this chip combination was used in the Sega OutRun, X and Y arcade boards, and perhaps a few others.
|
|
||||||
the actual PCM chip had 16 channels, but the number has been cut to 5 in DefleMask for seemingly arbitrary reasons.
|
|
||||||
|
|
||||||
# effects
|
|
||||||
|
|
||||||
- `10xx`: set noise frequency of channel 8 operator 4. 00 disables noise while 01 to 20 enables it.
|
|
||||||
- `11xx`: set feedback of channel.
|
|
||||||
- `12xx`: set operator 1 level.
|
|
||||||
- `13xx`: set operator 2 level.
|
|
||||||
- `14xx`: set operator 3 level.
|
|
||||||
- `15xx`: set operator 4 level.
|
|
||||||
- `16xy`: set multiplier of operator.
|
|
||||||
- `x` is the operator (1-4).
|
|
||||||
- `y` is the mutliplier.
|
|
||||||
- `17xx`: set LFO speed.
|
|
||||||
- `18xx`: set LFO waveform. `xx` may be one of the following:
|
|
||||||
- `00`: saw
|
|
||||||
- `01`: square
|
|
||||||
- `02`: triangle
|
|
||||||
- `03`: noise
|
|
||||||
- `19xx`: set attack of all operators.
|
|
||||||
- `1Axx`: set attack of operator 1.
|
|
||||||
- `1Bxx`: set attack of operator 2.
|
|
||||||
- `1Cxx`: set attack of operator 3.
|
|
||||||
- `1Dxx`: set attack of operator 4.
|
|
||||||
- `1Exx`: set AM depth.
|
|
||||||
- `1Fxx`: set PM depth.
|
|
||||||
- `20xx`: set PCM frequency.
|
|
||||||
- only works on the PCM channels.
|
|
||||||
- `xx` is a 256th fraction of 31250Hz.
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
a video game console that showed itself as the first true rival to Nintendo's video game market near-monopoly in the US during the '80's.
|
a video game console that showed itself as the first true rival to Nintendo's video game market near-monopoly in the US during the '80's.
|
||||||
|
|
||||||
this console is powered by two sound chips: the Yamaha YM2612 and a derivative of the SN76489.
|
this console is powered by two sound chips: the [Yamaha YM2612](ym2612.md) and [a derivative of the SN76489](sms.md).
|
||||||
|
|
||||||
# effects
|
# effects
|
||||||
|
|
||||||
|
|
|
@ -6,6 +6,10 @@ yep, that's right! 16 channels of PCM!
|
||||||
|
|
||||||
a chip used in the Sega OutRun/X/Y arcade boards. eventually the MultiPCM surpassed it with 28 channels, and later they joined the software mixing gang.
|
a chip used in the Sega OutRun/X/Y arcade boards. eventually the MultiPCM surpassed it with 28 channels, and later they joined the software mixing gang.
|
||||||
|
|
||||||
|
# 5-channel SegaPCM
|
||||||
|
|
||||||
|
Furnace also has a five channel version of this chip, but it only exists for DefleMask compatibility reasons (which doesn't expose the other channels for rather arbitrary reasons).
|
||||||
|
|
||||||
# effects
|
# effects
|
||||||
- `20xx`: set PCM frequency.
|
- `20xx`: set PCM frequency.
|
||||||
- `xx` is a 256th fraction of 31250Hz.
|
- `xx` is a 256th fraction of 31250Hz.
|
||||||
|
|
|
@ -1,13 +1,10 @@
|
||||||
# Sega Master System
|
# TI SN76489 (e.g. Sega Master System)
|
||||||
|
|
||||||
the predecessor to Genesis.
|
a relatively simple sound chip made by Texas Instruments. a derivative of it is used in Sega's Master System, the predecessor to Genesis.
|
||||||
|
|
||||||
surely had better graphics than NES, but its sound (fairly weak, 4ch PSG with A-3 is a lowest tone) is subject of several jokes.
|
the original iteration of the SN76489 used in the TI-99/4A computers was clocked at 447 KHz, being able to play as low as 13.670 Hz (A -1). consequentially, pitch accuracy for higher notes is compromised.
|
||||||
|
|
||||||
this console is powered by a derivative of the Texas Instruments SN76489.
|
|
||||||
|
|
||||||
the original iteration of the SN76489 used in the TI-99/4A computers was clocked much lower at 447 kHz, being able to play as low as 13.670 Hz (A -1). consequentially, pitch accuracy for higher notes is compromised.
|
|
||||||
|
|
||||||
|
on the other hand, the chip was clocked at a much higher speed on Master System and Genesis, which makes it rather poor in the bass range.
|
||||||
|
|
||||||
# effects
|
# effects
|
||||||
|
|
||||||
|
|
|
@ -4,6 +4,8 @@ the sound chip powering several arcade boards and the Sharp X1/X68000. Eight 4-o
|
||||||
|
|
||||||
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.
|
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](msm6258.md) [chips](msm6295.md).
|
||||||
|
|
||||||
# effects
|
# effects
|
||||||
|
|
||||||
- `10xx`: set noise frequency of channel 8 operator 4. 00 disables noise while 01 to 20 enables it.
|
- `10xx`: set noise frequency of channel 8 operator 4. 00 disables noise while 01 to 20 enables it.
|
||||||
|
@ -63,4 +65,4 @@ it also was present on several pinball machines and synthesizers of the era, and
|
||||||
- `5Cxx`: set D2R/SR of operator 1.
|
- `5Cxx`: set D2R/SR of operator 1.
|
||||||
- `5Dxx`: set D2R/SR of operator 2.
|
- `5Dxx`: set D2R/SR of operator 2.
|
||||||
- `5Exx`: set D2R/SR of operator 3.
|
- `5Exx`: set D2R/SR of operator 3.
|
||||||
- `5Fxx`: set D2R/SR of operator 4.
|
- `5Fxx`: set D2R/SR of operator 4.
|
||||||
|
|
|
@ -8,7 +8,7 @@ this documentation is a work in progress! expect several sections to be incomple
|
||||||
4. [instruments](4-instrument/README.md)
|
4. [instruments](4-instrument/README.md)
|
||||||
5. [wavetables](5-wave/README.md)
|
5. [wavetables](5-wave/README.md)
|
||||||
6. [samples](6-sample/README.md)
|
6. [samples](6-sample/README.md)
|
||||||
7. [list of systems](7-systems/README.md)
|
7. [list of sound chips](7-systems/README.md)
|
||||||
|
|
||||||
# attribution
|
# attribution
|
||||||
|
|
||||||
|
|
|
@ -788,6 +788,7 @@ void DivEngine::registerSystems() {
|
||||||
{0x10, {DIV_CMD_AMIGA_FILTER, "10xx: Toggle filter (0 disables; 1 enables)"}},
|
{0x10, {DIV_CMD_AMIGA_FILTER, "10xx: Toggle filter (0 disables; 1 enables)"}},
|
||||||
{0x11, {DIV_CMD_AMIGA_AM, "11xx: Toggle AM with next channel"}},
|
{0x11, {DIV_CMD_AMIGA_AM, "11xx: Toggle AM with next channel"}},
|
||||||
{0x12, {DIV_CMD_AMIGA_PM, "12xx: Toggle period modulation with next channel"}},
|
{0x12, {DIV_CMD_AMIGA_PM, "12xx: Toggle period modulation with next channel"}},
|
||||||
|
{0x13, {DIV_CMD_WAVE, "13xx: Set waveform"}}
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue