update several things - including an Amiga fix

This commit is contained in:
tildearrow 2022-10-15 22:41:50 -05:00
parent faf3063a72
commit 489f56b913
10 changed files with 26 additions and 56 deletions

View File

@ -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
- VGM export
- 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)
- wavetable synthesizer
- available on wavetable chips
@ -237,7 +237,7 @@ yup, it's real.
> 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!
@ -263,7 +263,7 @@ also provided are two effects:
- `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`.)
> how do I use PCM on a PCM-capable system?
> how do I use PCM on a PCM-capable chip?
two possibilities:
- the recommended way is by creating the "Sample" type instrument and assigning a sample to it.

View File

@ -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)
- [Sega Master System](sms.md)
- [Yamaha YM2612](ym2612.md)
- [TI SN76489](sms.md)
- [Yamaha OPLL](opll.md)
- [Game Boy](game-boy.md)
- [PC Engine/TurboGrafx-16](pce.md)
- [NES](nes.md)
- [Commodore 64](c64.md)
- [Arcade (YM2151/PCM)](arcade.md)
- [Yamaha YM2151](ym2151.md)
- [SegaPCM](segapcm.md)
- [Neo Geo/YM2610](ym2610.md)
- [Taito Arcade/YM2610B](ym2610b.md)
- [AY-3-8910](ay8910.md)
- [Amiga](amiga.md)
- [Yamaha YM2612 standalone](ym2612.md)
- [Yamaha YM2151 standalone](ym2151.md)
- [SegaPCM](segapcm.md)
- [Capcom QSound](qsound.md)
- [Atari 2600](tia.md)
- [Philips SAA1099](saa1099.md)

View File

@ -6,10 +6,10 @@ in this very computer music trackers were born...
# effects
- `10xx`: change wave.
- only works when "Mode" is set to "Wavetable" in the instrument.
- `10xx`: toggle low-pass filter. `0` turns it off and `1` turns it on.
- `11xx`: toggle amplitude modulation with the next channel.
- does not work on the last channel.
- `12xx`: toggle period (frequency) modulation with the next 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.

View File

@ -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.

View File

@ -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.
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

View File

@ -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.
# 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
- `20xx`: set PCM frequency.
- `xx` is a 256th fraction of 31250Hz.

View File

@ -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.
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.
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.
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

View File

@ -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.
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
- `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.
- `5Dxx`: set D2R/SR of operator 2.
- `5Exx`: set D2R/SR of operator 3.
- `5Fxx`: set D2R/SR of operator 4.
- `5Fxx`: set D2R/SR of operator 4.

View File

@ -8,7 +8,7 @@ this documentation is a work in progress! expect several sections to be incomple
4. [instruments](4-instrument/README.md)
5. [wavetables](5-wave/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

View File

@ -788,6 +788,7 @@ void DivEngine::registerSystems() {
{0x10, {DIV_CMD_AMIGA_FILTER, "10xx: Toggle filter (0 disables; 1 enables)"}},
{0x11, {DIV_CMD_AMIGA_AM, "11xx: Toggle AM with next channel"}},
{0x12, {DIV_CMD_AMIGA_PM, "12xx: Toggle period modulation with next channel"}},
{0x13, {DIV_CMD_WAVE, "13xx: Set waveform"}}
}
);