From af7768d83d1ca4d95dc04be42099363837cd01ea Mon Sep 17 00:00:00 2001 From: tildearrow Date: Sun, 10 Sep 2023 19:34:13 -0500 Subject: [PATCH] only one header per doc file --- doc/1-intro/README.md | 2 +- doc/1-intro/hex.md | 6 +++--- doc/2-interface/asset-list.md | 10 +++++++--- doc/2-interface/menu-bar.md | 18 +++++++++--------- doc/2-interface/song-info.md | 4 ++-- doc/3-pattern/README.md | 10 +++++----- doc/4-instrument/README.md | 6 +++--- doc/4-instrument/fm-opl.md | 2 +- doc/4-instrument/fm-opll.md | 2 +- doc/4-instrument/fm-opm.md | 2 +- doc/4-instrument/fm-opn.md | 2 +- doc/4-instrument/fm-opz.md | 2 +- doc/4-instrument/vrc6.md | 2 +- doc/5-wave/README.md | 2 +- doc/6-sample/README.md | 2 +- doc/7-systems/README.md | 2 +- doc/7-systems/amiga.md | 4 ++-- doc/7-systems/ay8910.md | 4 ++-- doc/7-systems/ay8930.md | 4 ++-- doc/7-systems/bubblesystem.md | 4 ++-- doc/7-systems/c140.md | 4 ++-- doc/7-systems/c219.md | 4 ++-- doc/7-systems/c64.md | 4 ++-- doc/7-systems/dac.md | 4 ++-- doc/7-systems/es5506.md | 4 ++-- doc/7-systems/fds.md | 4 ++-- doc/7-systems/ga20.md | 4 ++-- doc/7-systems/game-boy.md | 6 +++--- doc/7-systems/genesis.md | 4 ++-- doc/7-systems/k007232.md | 4 ++-- doc/7-systems/k056320.md | 4 ++-- doc/7-systems/lynx.md | 4 ++-- doc/7-systems/mmc5.md | 4 ++-- doc/7-systems/msm5232.md | 4 ++-- doc/7-systems/msm6258.md | 8 +++----- doc/7-systems/msm6295.md | 5 ++--- doc/7-systems/n163.md | 6 +++--- doc/7-systems/namco.md | 4 ++-- doc/7-systems/nes.md | 5 ++--- doc/7-systems/opl.md | 4 ++-- doc/7-systems/opll.md | 6 +++--- doc/7-systems/opz.md | 4 ++-- doc/7-systems/pce.md | 4 ++-- doc/7-systems/pcspkr.md | 6 +++--- doc/7-systems/pet.md | 4 ++-- doc/7-systems/pokemini.md | 4 ++-- doc/7-systems/pokey.md | 4 ++-- doc/7-systems/pv1000.md | 4 ++-- doc/7-systems/qsound.md | 4 ++-- doc/7-systems/ricoh.md | 4 ++-- doc/7-systems/saa1099.md | 4 ++-- doc/7-systems/scc.md | 4 ++-- doc/7-systems/segapcm.md | 6 +++--- doc/7-systems/sm8521.md | 4 ++-- doc/7-systems/sms.md | 4 ++-- doc/7-systems/snes.md | 8 +++----- doc/7-systems/soundunit.md | 4 ++-- doc/7-systems/t6w28.md | 4 ++-- doc/7-systems/ted.md | 4 ++-- doc/7-systems/tia.md | 23 +++++++++++------------ doc/7-systems/vera.md | 4 ++-- doc/7-systems/vic20.md | 2 +- doc/7-systems/virtual-boy.md | 4 ++-- doc/7-systems/vrc6.md | 4 ++-- doc/7-systems/wonderswan.md | 4 ++-- doc/7-systems/x1-010.md | 6 +++--- doc/7-systems/ym2151.md | 4 ++-- doc/7-systems/ym2203.md | 4 ++-- doc/7-systems/ym2608.md | 5 +++-- doc/7-systems/ym2610.md | 5 +++-- doc/7-systems/ym2610b.md | 4 ++-- doc/7-systems/ym2612.md | 4 ++-- doc/7-systems/ymu759.md | 4 ++-- doc/7-systems/ymz280b.md | 4 ++-- doc/7-systems/zxbeep.md | 4 ++-- doc/8-advanced/find-replace.md | 4 ++-- doc/9-guides/README.md | 2 +- 77 files changed, 178 insertions(+), 179 deletions(-) diff --git a/doc/1-intro/README.md b/doc/1-intro/README.md index dc9af5efc..cd0376e99 100644 --- a/doc/1-intro/README.md +++ b/doc/1-intro/README.md @@ -24,6 +24,6 @@ see [2-interface](../2-interface/README.md) and [3-pattern](../3-pattern/README. once familiar with the tracker, look to [9-guides](../9-guides/README.md) for useful techniques. -# tutorial? +## tutorial? [Furnace Tutorials](https://youtube.com/playlist?list=PLCELB6AsTZUnwv0PC5AAGHjvg47F44YQ1): video tutorials created by Spinning Square Waves. be noted that these may not apply to the current version. diff --git a/doc/1-intro/hex.md b/doc/1-intro/hex.md index 16a28bc24..d433a38a8 100644 --- a/doc/1-intro/hex.md +++ b/doc/1-intro/hex.md @@ -41,7 +41,7 @@ hex | decimal 40 | 64 ``` -# hex to decimal +## hex to decimal for example, take hexadecimal number `AA`: @@ -67,7 +67,7 @@ now for hexadecimal number `4C5F`: = 19551 ``` -# decimal to hex +## decimal to hex if it's less than 16, just memorize the table at the top of this document. @@ -96,7 +96,7 @@ now for decimal number `69420`: = 10F2C ``` -# hex-decimal table +## hex to decimal table hex | `0` | `1` | `2` | `3` | `4` | `5` | `6` | `7` | `8` | `9` | `A` | `B` | `C` | `D` | `E` | `F` -----:|----:|----:|----:|----:|----:|----:|----:|----:|----:|----:|----:|----:|----:|----:|----:|----: diff --git a/doc/2-interface/asset-list.md b/doc/2-interface/asset-list.md index 738983023..cc94312d4 100644 --- a/doc/2-interface/asset-list.md +++ b/doc/2-interface/asset-list.md @@ -1,4 +1,8 @@ -# instrument list +# asset list + +an "asset" refers to an instrument, wavetable or sample. + +## instrument list ![instruments window](instruments.png) @@ -29,7 +33,7 @@ assets may be dragged from folder to folder and even rearranged within folders w right-clicking on a folder allows one to rename or delete it. deleting a folder does not remove the instruments in it. -# wavetable list +## wavetable list ![wavetables window](wavetables.png) @@ -41,7 +45,7 @@ wavetables are saved as Furnace wavetable (.fuw) files. - **save wavetable as .dmw...**: saves the selected wavetable in DefleMask format. - **save raw wavetable...**: saves the selected wavetable as raw data. -# sample list +## sample list ![samples window](samples.png) diff --git a/doc/2-interface/menu-bar.md b/doc/2-interface/menu-bar.md index 1496ca21c..bb3a520cb 100644 --- a/doc/2-interface/menu-bar.md +++ b/doc/2-interface/menu-bar.md @@ -4,7 +4,7 @@ the menu bar allows you to select from five menus: file, edit, settings, window items in _italic_ don't appear in basic mode and are only available in advanced mode. -# file +## file - **new...**: creates a new song. - **open...**: opens the file picker, allowing you to select a song to open. @@ -52,7 +52,7 @@ items in _italic_ don't appear in basic mode and are only available in advanced - **exit**: closes Furnace. -## export audio +### export audio this option allows you to export your song in .wav format. I know I know, no .mp3 or .ogg export yet, but you can use a converter. @@ -70,7 +70,7 @@ and three export choices: - **multiple files (one per channel)**: exports the output of each channel to .wav files. - useful for usage with a channel visualizer such as corrscope. -## export VGM +### export VGM this option allows exporting to a VGM (Video Game Music) file. these can be played back with VGMPlay (for example). @@ -104,7 +104,7 @@ the following settings exist: click on **click to export** to begin exporting. -## export ZSM +### export ZSM ZSM (ZSound Music) is a format designed for the Commander X16 to allow hardware playback. it may contain data for either YM2151 or VERA chips. @@ -120,7 +120,7 @@ the following settings are available: click on **Begin Export** to... you know. -## export command stream +### export command stream this option exports a text or binary file which contains a dump of the internal command stream produced when playing the song. @@ -129,7 +129,7 @@ it's not really useful, unless you're a developer and want to use a command stre - **export (binary)**: exports in Furnace's own command stream format (FCS). see `export-tech.md` in `papers/` for details. - **export (text)**: exports the command stream as a text file. only useful for analysis, really. -# edit +## edit - **...**: does nothing except prevent accidental clicks on later menu items if the menu is too tall to fit on the program window. @@ -191,7 +191,7 @@ it's not really useful, unless you're a developer and want to use a command stre - **clear**: opens a window that allows you to mass-delete things like songs, unused instruments, and the like. -# settings +## settings - **full screen**: expands the Furnace window so it covers your screen. - **lock layout**: prevents you from dragging/resizing docked windows, or docking more. @@ -200,7 +200,7 @@ it's not really useful, unless you're a developer and want to use a command stre - **reset layout**: resets the workspace to its defaults. - **settings...**: shows the Settings window. these are detailed in [settings.md]. -# window +## window all these menu items show or hide their associated windows. @@ -228,7 +228,7 @@ all these menu items show or hide their associated windows. - [log viewer](../8-advanced/log-viewer.md) - [stats](../8-advanced/stats.md) -# help +## help - **effect list**: displays the effect list. - **debug menu**: this menu contains various debug utilities. diff --git a/doc/2-interface/song-info.md b/doc/2-interface/song-info.md index a8f8e6877..1ead4f879 100644 --- a/doc/2-interface/song-info.md +++ b/doc/2-interface/song-info.md @@ -9,7 +9,7 @@ all of this metadata will be included in a VGM export. this isn't the case for a - _**Tuning (A-4)**_: set tuning based on the note A-4, which should be 440 in most cases. opening an Amiga MOD will set it to 436 for hardware compatibility. available only in advanced mode. -# subsongs +## subsongs this window allows one to create **subsongs** - multiple individual songs within a single file. each song has its own order list and patterns, but all songs within a file share the same chips, samples, and so forth. @@ -19,7 +19,7 @@ this window allows one to create **subsongs** - multiple individual songs within - **Name**: title of the current subsong. - the box at the bottom can store any arbitrary text, like a separate "Comments" box for the current subsong. -# speed +## speed there are multiple ways to set the tempo of a song. diff --git a/doc/3-pattern/README.md b/doc/3-pattern/README.md index 650cbe808..f619ce287 100644 --- a/doc/3-pattern/README.md +++ b/doc/3-pattern/README.md @@ -51,9 +51,9 @@ right-clicking the `++` toggles the visualizer, which is active only during play to rename and/or hide channels, open [the Channels window](../8-advanced/channels.md) via the window menu. -# input +## input -## note input +### note input ![keyboard](keyboard.png) @@ -63,11 +63,11 @@ to rename and/or hide channels, open [the Channels window](../8-advanced/channel - **macro release** (`REL`) does the same as above, but does not trigger key off in FM/hardware envelope channels. - **toggle edit** enables and disables editing. when editing is enabled, the cursor's row will be shaded red. -## instrument/volume input +### instrument/volume input type any hexadecimal number (0-9 and A-F). the cursor will move by the Edit Step when a suitable value is entered. -## effect input +### effect input works like the instrument/volume input. @@ -80,7 +80,7 @@ here's [a list of effect types](effects.md). -# keyboard shortcuts +## keyboard shortcuts these are the default key functions. all keys are configurable in the Keyboard tab of the Settings window. diff --git a/doc/4-instrument/README.md b/doc/4-instrument/README.md index 12075e5fe..dd24c7260 100644 --- a/doc/4-instrument/README.md +++ b/doc/4-instrument/README.md @@ -68,7 +68,7 @@ the following instrument types are available: - [C140](c140.md) - for use with C140 sample chip. - [C219](c219.md) - for use with C219 sample chip. -# macros +## macros macros are incredibly versatile tools for automating instrument parameters. @@ -139,7 +139,7 @@ finally, the sequence of values can be directly edited in the text box at the bo -# wavetable +## wavetable this tab appears for PC Engine, FDS, Namco WSG, and other wavetable-based instruments. @@ -150,7 +150,7 @@ when **Enable synthesizer** is off, the wavetable used for the instrument may be to use the wavetable synthesizer, refer to [the wavetable synthesizer section](wavesynth.md). -# sample +## sample this tab appears for Generic PCM DAC, Amiga and SNES. diff --git a/doc/4-instrument/fm-opl.md b/doc/4-instrument/fm-opl.md index 59899e4d7..f3e1c6d0b 100644 --- a/doc/4-instrument/fm-opl.md +++ b/doc/4-instrument/fm-opl.md @@ -65,6 +65,6 @@ all parameters are listed above. - **Relative**: when enabled, pitch changes are relative to the current pitch. - **Phase Reset**: restarts all operators and resets the waveform to its start. -# OPL (drums) instrument editor +## OPL (drums) instrument editor this is similar to the OPL instrument editor, but sets the parameters of snare, tom, top and hi-hat directly once a drums instrument is activated. diff --git a/doc/4-instrument/fm-opll.md b/doc/4-instrument/fm-opll.md index f7cbcdd11..3c91ee348 100644 --- a/doc/4-instrument/fm-opll.md +++ b/doc/4-instrument/fm-opll.md @@ -68,6 +68,6 @@ all parameters are listed above. - **Phase Reset**: restarts all operators and resets the waveform to its start. -# links +## links [FM instrument tutorial](https://www.youtube.com/watch?v=wS8edjurjDw): A great starting point to learn how create and work with FM sounds. this was made for DefleMask, but all the same principles apply. diff --git a/doc/4-instrument/fm-opm.md b/doc/4-instrument/fm-opm.md index 5f75a4b0f..fe822b428 100644 --- a/doc/4-instrument/fm-opm.md +++ b/doc/4-instrument/fm-opm.md @@ -73,6 +73,6 @@ all parameters are listed above. - **Phase Reset**: restarts all operators and resets the waveform to its start. -# links +## links [FM instrument tutorial](https://www.youtube.com/watch?v=wS8edjurjDw): A great starting point to learn how create and work with FM sounds. this was made for DefleMask, but all the same principles apply. diff --git a/doc/4-instrument/fm-opn.md b/doc/4-instrument/fm-opn.md index 4079773fa..c78b93b19 100644 --- a/doc/4-instrument/fm-opn.md +++ b/doc/4-instrument/fm-opn.md @@ -70,6 +70,6 @@ all parameters are listed above. - **Phase Reset**: restarts all operators and resets the waveform to its start. -# links +## links [FM instrument tutorial](https://www.youtube.com/watch?v=wS8edjurjDw): A great starting point to learn how create and work with FM sounds. this was made for DefleMask, but all the same principles apply. diff --git a/doc/4-instrument/fm-opz.md b/doc/4-instrument/fm-opz.md index fe346278a..5a15d5f30 100644 --- a/doc/4-instrument/fm-opz.md +++ b/doc/4-instrument/fm-opz.md @@ -97,6 +97,6 @@ most parameters are listed above. - **Phase Reset**: restarts all operators and resets the waveform to its start. effectively the same as a `0Cxx` retrigger. -# links +## links [FM instrument tutorial](https://www.youtube.com/watch?v=wS8edjurjDw): A great starting point to learn how create and work with FM sounds. this was made for DefleMask, but all the same principles apply. diff --git a/doc/4-instrument/vrc6.md b/doc/4-instrument/vrc6.md index ac6ba7b4c..64691282d 100644 --- a/doc/4-instrument/vrc6.md +++ b/doc/4-instrument/vrc6.md @@ -17,7 +17,7 @@ note that using samples on VRC6 is CPU expensive! - **Duty**: specifies duty cycle for pulse wave channels. - **Pitch**: fine pitch. -# VRC6 (saw) instrument editor +## VRC6 (saw) instrument editor this channel has its own instrument type, a one-of-a-kind thing in Furnace that was decided as a compromise during a debate. diff --git a/doc/5-wave/README.md b/doc/5-wave/README.md index 8eb9287c5..fc0957ad5 100644 --- a/doc/5-wave/README.md +++ b/doc/5-wave/README.md @@ -22,7 +22,7 @@ Seta X1-010 | 128 | 256 | Amiga | ≤256 | 256 | -# wavetable editor +## wavetable editor ![wavetable editor](wave-editor.png) diff --git a/doc/6-sample/README.md b/doc/6-sample/README.md index f92939db6..3b975077f 100644 --- a/doc/6-sample/README.md +++ b/doc/6-sample/README.md @@ -65,7 +65,7 @@ due to limitations in some of those sound chips, some restrictions exist: furthermore, many of these chips have a limited amount of sample memory. check memory usage in window > statistics. -# the sample editor +## the sample editor you can edit your samples in Furnace's sample editor, which can be accessed by clicking on `window` (at the top of the screen) then clicking on `sample editor`, or by double-clicking a sample in the sample list. diff --git a/doc/7-systems/README.md b/doc/7-systems/README.md index ef2e89813..a8387d85e 100644 --- a/doc/7-systems/README.md +++ b/doc/7-systems/README.md @@ -59,7 +59,7 @@ some systems have alternate chips, such as the Sega Genesis having a YM2612 or Y -# chips +## chips this is the full list of chips that Furnace supports. diff --git a/doc/7-systems/amiga.md b/doc/7-systems/amiga.md index e0846879b..af6bfb67f 100644 --- a/doc/7-systems/amiga.md +++ b/doc/7-systems/amiga.md @@ -6,7 +6,7 @@ in this very computer music trackers were born... imported MOD files use this chip, and will set A-4 tuning to 436. -# effects +## effects - `10xx`: **toggle low-pass filter.** `0` turns it off and `1` turns it on. - `11xx`: **toggle amplitude modulation with the next channel.** @@ -16,7 +16,7 @@ imported MOD files use this chip, and will set A-4 tuning to 436. - `13xx`: **change wave.** - only works when "Mode" is set to "Wavetable" in the instrument. -# info +## info this chip uses the [Generic Sample](../4-instrument/sample.md) instrument editor. diff --git a/doc/7-systems/ay8910.md b/doc/7-systems/ay8910.md index 01e87e2f3..853395496 100644 --- a/doc/7-systems/ay8910.md +++ b/doc/7-systems/ay8910.md @@ -8,7 +8,7 @@ the AY-3-8914 variant was used in Intellivision, which is pretty much an AY with 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 +## effects - `20xx`: **set channel mode.** - `0`: square @@ -61,6 +61,6 @@ AY-3-810 was an absurdly popular chip that was blessed with many third-party clo - 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 +## info this chip uses the [AY-3-8910](../4-instrument/ay8910.md) instrument editor. diff --git a/doc/7-systems/ay8930.md b/doc/7-systems/ay8930.md index bd6af8631..ce94aa2b1 100644 --- a/doc/7-systems/ay8930.md +++ b/doc/7-systems/ay8930.md @@ -9,7 +9,7 @@ emulation of this chip in Furnace is now complete thanks to community efforts an 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 +## effects - `12xx`: **set channel duty cycle.** - `0`: 3.125% @@ -56,6 +56,6 @@ Furnace is able to do software PCM on AY8930, where all 3 channels can play 5-bi - `y` is the denominator. - if `x` or `y` are 0 this will disable auto-envelope mode. -# info +## info this chip uses the [AY8930](../4-instrument/ay8930.md) instrument editor. diff --git a/doc/7-systems/bubblesystem.md b/doc/7-systems/bubblesystem.md index 6b7826206..5a589407b 100644 --- a/doc/7-systems/bubblesystem.md +++ b/doc/7-systems/bubblesystem.md @@ -8,10 +8,10 @@ another AY-3-8910 IO is used for reading sound hardware status. Furnace emulates this configuration as a "chip" with 32×16 wavetables. -# effects +## effects - `10xx`: **change wave.** -# info +## info this chip uses the [Konami SCC/Bubble System WSG](../4-instrument/scc.md) instrument editor. diff --git a/doc/7-systems/c140.md b/doc/7-systems/c140.md index 13a71e8c8..97509b32f 100644 --- a/doc/7-systems/c140.md +++ b/doc/7-systems/c140.md @@ -8,10 +8,10 @@ this chip features: - accepts either raw 12-bit PCM or 8-bit µ-law compressed PCM samples - 21.4 kHz sampling rate -# effects +## effects none! -# info +## info this chip uses the [C140](../4-instrument/c140.md) instrument editor. diff --git a/doc/7-systems/c219.md b/doc/7-systems/c219.md index 2d2e2292e..44d0cafd0 100644 --- a/doc/7-systems/c219.md +++ b/doc/7-systems/c219.md @@ -7,13 +7,13 @@ this chip features: - stereo soft panning - accepts either 8-bit PCM or proprietary 8-bit µ-law compressed PCM samples -# effects +## 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 +## info this chip uses the [C219](../4-instrument/c219.md) instrument editor. diff --git a/doc/7-systems/c64.md b/doc/7-systems/c64.md index 04035df58..28a69671b 100644 --- a/doc/7-systems/c64.md +++ b/doc/7-systems/c64.md @@ -6,7 +6,7 @@ very popular in Europe and mostly due to the demoscene, which stretched the mach two versions of aforementioned chip exist - 6581 (original chip) and 8580 (improved version with working waveform mixing and somewhat more consistent filter curves). -# effects +## effects - `10xx`: **change wave.** the following values are accepted: - `00`: nothing @@ -58,6 +58,6 @@ two versions of aforementioned chip exist - 6581 (original chip) and 8580 (impro - `3xxx`: **set duty cycle.** `xxx` range is `000` to `FFF`. - `4xxx`: **set cutoff.** `xxx` range is `000` to `7FF`. -# info +## info this chip uses the [C64](../4-instrument/c64.md) instrument editor. diff --git a/doc/7-systems/dac.md b/doc/7-systems/dac.md index 279476778..7639495ea 100644 --- a/doc/7-systems/dac.md +++ b/doc/7-systems/dac.md @@ -4,10 +4,10 @@ a sample channel, with freely selectable rate, mono/stereo and bit depth setting with it, you can emulate PCM DACs found in Williams arcade boards, Sound Blasters, MSX TurboR, Atari STe, NEC PC-9801-86, among others. -# effects +## effects none yet. -# info +## info this chip uses the [Generic Sample](../4-instrument/sample.md) instrument editor. diff --git a/doc/7-systems/es5506.md b/doc/7-systems/es5506.md index 3b2c2b0a2..d6ddb9d79 100644 --- a/doc/7-systems/es5506.md +++ b/doc/7-systems/es5506.md @@ -10,7 +10,7 @@ it has a whopping 32 channels of 16-bit PCM and: - internal volume multiplication and stereo panning - hardware support for short envelopes -# effects +## effects - `10xx`: **set waveform.** - `11xx`: **set filter mode.** values are `0` through `3`. @@ -41,6 +41,6 @@ it has a whopping 32 channels of 16-bit PCM and: - resets sample position to `xxx * 0x100`. - `DFxx`: **set sample playback direction.** -# info +## info this chip uses the [ES5506](../4-instrument/es5506.md) instrument editor. diff --git a/doc/7-systems/fds.md b/doc/7-systems/fds.md index 08a870765..6df219cd3 100644 --- a/doc/7-systems/fds.md +++ b/doc/7-systems/fds.md @@ -5,7 +5,7 @@ as it name implies, it allowed people to play games on specialized floppy disks it also offers an additional 6-bit, 64-byte wavetable sound channel with (somewhat limited) FM capabilities, which is what Furnace supports. -# effects +## effects - `10xx`: **change wave.** - `11xx`: **set modulation depth.** @@ -26,6 +26,6 @@ it also offers an additional 6-bit, 64-byte wavetable sound channel with (somewh - 7: -1 - **do not use this effect.** it only exists for compatibility reasons -# info +## info this chip uses the [FDS](../4-instrument/fds.md) instrument editor. diff --git a/doc/7-systems/ga20.md b/doc/7-systems/ga20.md index 151ee19a4..dc2bac6c6 100644 --- a/doc/7-systems/ga20.md +++ b/doc/7-systems/ga20.md @@ -4,12 +4,12 @@ it is a 4 channel PCM sound source used by Irem in their arcades in late 1980s a the sound chip itself is rather unremarkable, having 8-bit volume and pitch control and no stereo panning... -# effects +## 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 +## info this chip uses the [GA20](../4-instrument/ga20.md) instrument type. diff --git a/doc/7-systems/game-boy.md b/doc/7-systems/game-boy.md index d9f252be9..5550e5fba 100644 --- a/doc/7-systems/game-boy.md +++ b/doc/7-systems/game-boy.md @@ -4,7 +4,7 @@ the Game Boy is one of the most successful portable game systems ever made. it has stereo sound, two pulse channels, a wave channel and a noise channel. -# effects +## effects - `10xx`: **change wave.** - `11xx`: **set noise length.** @@ -21,11 +21,11 @@ it has stereo sound, two pulse channels, a wave channel and a noise channel. - set to `0` to disable it. - `14xx`: **set sweep direction.** `0` is up and `1` is down. -# info +## info this chip uses the [Game Boy](../4-instrument/game-boy.md) instrument editor. -# links +## links - [Gameboy sound hardware](https://gbdev.gg8.se/wiki/articles/Gameboy_sound_hardware) - detailed technical information diff --git a/doc/7-systems/genesis.md b/doc/7-systems/genesis.md index 3a6be9225..d1775e574 100644 --- a/doc/7-systems/genesis.md +++ b/doc/7-systems/genesis.md @@ -4,7 +4,7 @@ a video game console that showed itself as the first true rival to Nintendo's vi this console is powered by two sound chips: the [Yamaha YM2612](ym2612.md) and [a derivative of the SN76489](sms.md). -# effects +## effects - `10xy`: **set LFO parameters.** - `x` toggles the LFO. @@ -38,7 +38,7 @@ this console is powered by two sound chips: the [Yamaha YM2612](ym2612.md) and [ -# system modes +## system modes ## extended channel 3 diff --git a/doc/7-systems/k007232.md b/doc/7-systems/k007232.md index c8c872f59..ca2efdbb2 100644 --- a/doc/7-systems/k007232.md +++ b/doc/7-systems/k007232.md @@ -6,12 +6,12 @@ its sample format is unique; the topmost bit is the end marker, and the low 7 bi it has 7 bit digital output per each channel and no volume register on chip, so it needs external logic to control channel volume. -# effects +## effects nothing. yeah. -# info +## info this chip uses the [K007232](../4-instrument/k007232.md) instrument editor. diff --git a/doc/7-systems/k056320.md b/doc/7-systems/k056320.md index 7d7d0f658..5c03c87f0 100644 --- a/doc/7-systems/k056320.md +++ b/doc/7-systems/k056320.md @@ -2,12 +2,12 @@ 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 +## effects - `DFxx`: **set sample playback direction.** - `0` is normal. - `1` is reverse. -# info +## info this chip uses the [K053260](../4-instrument/k053260.md) instrument editor. diff --git a/doc/7-systems/lynx.md b/doc/7-systems/lynx.md index 72efcfcee..c6b6e9ed8 100644 --- a/doc/7-systems/lynx.md +++ b/doc/7-systems/lynx.md @@ -15,11 +15,11 @@ the Atari Lynx has a 6502-based CPU with a sound part (this chip is known as MIK - four 8-bit DACs (Digital to Analog Converter), one for each voice. this allows for sample playback (at the cost of CPU time and memory). - a variety of pitches to choose from, and they go from 32Hz to "above the range of human hearing", according to Atari. -# effects +## effects - `3xxx`: **load LFSR.** this is a bitmask with values ranging from `000` to `FFF`. - for it to work, duty macro in instrument editor must be set to some value. without it LFSR will not be fed with any bits. -# info +## info this chip uses the [Atari Lynx](../4-instrument/lynx.md) instrument editor. diff --git a/doc/7-systems/mmc5.md b/doc/7-systems/mmc5.md index 5d255bdaa..0b54cc866 100644 --- a/doc/7-systems/mmc5.md +++ b/doc/7-systems/mmc5.md @@ -6,11 +6,11 @@ it has two pulse channels which are very similar to the ones found in the NES, b additionally, it offers an 8-bit DAC which can be used to play samples. only one game is known to use it, though. -# effects +## effects - `12xx`: **set duty cycle or noise mode of channel.** - may be `0` through `3` for the pulse channels. -# info +## info this chip uses the [NES](../4-instrument/nes.md) and [Generic Sample](../4-instrument/sample.md) instrument editors. diff --git a/doc/7-systems/msm5232.md b/doc/7-systems/msm5232.md index 17ee9ee03..3408e00e9 100644 --- a/doc/7-systems/msm5232.md +++ b/doc/7-systems/msm5232.md @@ -14,7 +14,7 @@ Furnace implements this chip in a way that allows the following features: - global fine tune - global vibrato (some arcade boards played with the clock input to simulate vibrato) -# effects +## effects - `10xy`: **set group control.** - `x` sets sustain mode. @@ -25,6 +25,6 @@ Furnace implements this chip in a way that allows the following features: - `13xx`: **set group decay.** range is `0` to `11`. - only in internal (capacitor-based) envelope mode. -# info +## info this chip uses the [MSM5232](../4-instrument/msm5232.md) instrument editor. diff --git a/doc/7-systems/msm6258.md b/doc/7-systems/msm6258.md index c25224abd..1b632aae2 100644 --- a/doc/7-systems/msm6258.md +++ b/doc/7-systems/msm6258.md @@ -3,7 +3,7 @@ a single-channel ADPCM sound source developed by OKI. it allows max sample rate of 15.6 KHz... with no variable pitch. most prominent use of this chip was Sharp X68000 computer, where it was paired with Yamaha YM2151. Furnace's implementation is MSM6258V, a CPU driven variant that is unlimited by amount of sample data, being able to be fed from the system's RAM. -# effects +## effects - `20xx`: **set frequency divider (0 to 2).** - `0`: /512 @@ -13,9 +13,7 @@ Furnace's implementation is MSM6258V, a CPU driven variant that is unlimited by - `0`: full - `1`: half -# chip config - -## chip clock rates +## chip config 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: @@ -26,6 +24,6 @@ MSM6258 is an extremely basic ADPCM sound codec. it has no variable frequency ra | 8 MHz | 15625 Hz | | 8.192 MHz | 16000 Hz | -# info +## info this chip uses the [MSM6258](../4-instrument/msm6258.md) and [Generic Sample](../4-instrument/sample.md) instrument editors. diff --git a/doc/7-systems/msm6295.md b/doc/7-systems/msm6295.md index 94af84abf..580a4c127 100644 --- a/doc/7-systems/msm6295.md +++ b/doc/7-systems/msm6295.md @@ -2,17 +2,16 @@ 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. -# effects +## effects - `20xx`: **set chip output rate.** - `0`: /132 - `1`: /165 -# info +## info this chip uses the [MSM6295](../4-instrument/msm6295.md) and [Generic Sample](../4-instrument/sample.md) instrument editors. - ## 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: diff --git a/doc/7-systems/n163.md b/doc/7-systems/n163.md index d55748891..ecd2611e8 100644 --- a/doc/7-systems/n163.md +++ b/doc/7-systems/n163.md @@ -8,7 +8,7 @@ wavetables are variable in size and may be allocated anywhere in RAM. at least 1 Namco 163 uses time-division multiplexing for its output. this means that only one channel is output per sample (like OPLL and OPN2). therefore, its sound quality gets worse as more channels are activated. -# waveform load position versus waveform position +## waveform load position versus waveform position in Furnace, waveform **load** position/length is different from the waveform position/length. @@ -22,7 +22,7 @@ the waveform pos/len macros only change the pos/len, and not the **load** one. if the waveform changes (e.g. ins change, wave macro or wave synth), or the **load** pos/len changes, the wave is written to memory. -# effects +## effects - `10xx`: **set waveform for playback.** - `11xx`: **set waveform position in RAM for playback.** @@ -39,6 +39,6 @@ if the waveform changes (e.g. ins change, wave macro or wave synth), or the **lo - make sure to use `21xx` first! - `21xx`: **set position for 20xx.** -# info +## info this chip uses the [Namco 163](../4-instrument/n163.md) instrument editor. diff --git a/doc/7-systems/namco.md b/doc/7-systems/namco.md index f4f977bc4..2cfc72b3a 100644 --- a/doc/7-systems/namco.md +++ b/doc/7-systems/namco.md @@ -4,11 +4,11 @@ a family of wavetable synth sound chips used by Namco in their arcade machines ( 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. -# effects +## effects - `10xx`: **change waveform.** - `11xx`: **toggle noise mode.** _warning:_ only on C30. -# info +## info this chip uses the [Namco WSG](../4-instrument/wsg.md) instrument editor. diff --git a/doc/7-systems/nes.md b/doc/7-systems/nes.md index 11a3b6b8b..b782009f3 100644 --- a/doc/7-systems/nes.md +++ b/doc/7-systems/nes.md @@ -4,7 +4,7 @@ the console from Nintendo that plays Super Mario Bros. and helped revive the ago also known as Famicom. it is a five-channel sound generator: first two channels play pulse wave with three different duty cycles, third is a fixed-volume triangle channel, fourth is a noise channel (can work in both pseudo-random and periodic modes) and fifth is a (D)PCM sample channel. -# effects +## effects - `11xx`: **write to delta modulation counter.** range is `00` to `7F`. - this may be used to attenuate the triangle and noise channels; at `7F`, they will be at about 57% volume. @@ -57,11 +57,10 @@ also known as Famicom. it is a five-channel sound generator: first two channels - see table below for possible values. -# info +## info this chip uses the [NES](../4-instrument/nes.md) and [Generic Sample](../4-instrument/sample.md) instrument editors. - ## short noise frequencies (NTSC) note | arpeggio | fundamental | MIDI note | pitch diff --git a/doc/7-systems/opl.md b/doc/7-systems/opl.md index e691ec765..31ff80b67 100644 --- a/doc/7-systems/opl.md +++ b/doc/7-systems/opl.md @@ -14,7 +14,7 @@ the OPL3 (Yamaha YMF262) added 9 more channels, 4 more waveforms, rudimentary 4- afterwards everyone moved to Windows and software mixed PCM streaming... -# effects +## effects - `10xx`: **set AM depth.** the following values are accepted: - `0`: 1dB (shallow) @@ -79,6 +79,6 @@ afterwards everyone moved to Windows and software mixed PCM streaming... - `x` is the operator from 1 to 4; the last 2 operators only work in 4-op mode. a value of `0` means "all operators". - `y` determines whether KSR is on. -# info +## info this chip uses the [FM (OPL)](../4-instrument/fm-opl.md) instrument editor. diff --git a/doc/7-systems/opll.md b/doc/7-systems/opll.md index 9af19d7a1..1ed9fb64d 100644 --- a/doc/7-systems/opll.md +++ b/doc/7-systems/opll.md @@ -7,7 +7,7 @@ OPLL also spawned a few derivative chips, the best known of these is: - Yamaha YM2423, same chip as YM2413, just a different patch set... - Yamaha YMF281, ditto..... -# technical specifications +## technical specifications the YM2413 is equipped with the following features: @@ -25,7 +25,7 @@ the YM2413 is equipped with the following features: - modulator and carrier key scaling - built-in hardware vibrato support -# effects +## effects - `11xx`: **set feedback of channel.** - `12xx`: **set operator 1 level.** @@ -64,7 +64,7 @@ the YM2413 is equipped with the following features: - `x` is the operator, either 1 or 2. a value of `0` means "all operators". - `y` determines whether KSR is on. -# info +## info this chip uses the [FM (OPLL)](../4-instrument/fm-opll.md) instrument editor. diff --git a/doc/7-systems/opz.md b/doc/7-systems/opz.md index 3b9c14fc0..6aad70c52 100644 --- a/doc/7-systems/opz.md +++ b/doc/7-systems/opz.md @@ -23,7 +23,7 @@ no plans have been made for TX81Z MIDI passthrough, because: - the TX81Z is very slow to process a note on/off or parameter change event. - the TL range has been reduced to 0-99, but the chip goes from 0-127. -# effects +## effects - `10xx`: **set noise frequency of channel 8 operator 4.** `00` disables noise while `01` to `20` enable it. - `11xx`: **set feedback of channel.** @@ -114,6 +114,6 @@ no plans have been made for TX81Z MIDI passthrough, because: - `5Exx`: **set D2R/SR of operator 3.** - `5Fxx`: **set D2R/SR of operator 4.** -# info +## info this chip uses the [FM (OPZ)](../4-instrument/fm-opz.md) instrument editor. diff --git a/doc/7-systems/pce.md b/doc/7-systems/pce.md index f9232e394..24cbfcf05 100644 --- a/doc/7-systems/pce.md +++ b/doc/7-systems/pce.md @@ -7,7 +7,7 @@ a console from NEC that, depending on a region: it has 6 wavetable channels and the last two ones also double as noise channels. furthermore, it has some PCM and LFO! -# effects +## effects - `10xx`: **change wave.** - `11xx`: **toggle noise mode.** only available in the last two channels. @@ -21,6 +21,6 @@ furthermore, it has some PCM and LFO! - `17xx`: **toggle LEGACY sample mode.** - **this effect exists only for compatibility reasons! its use is NOT recommented. use Sample type instruments instead.** -# info +## info this chip uses the [PC Engine](../4-instrument/pce.md) and [Generic Sample](../4-instrument/sample.md) instrument editors. diff --git a/doc/7-systems/pcspkr.md b/doc/7-systems/pcspkr.md index 62e0ccf58..23009f915 100644 --- a/doc/7-systems/pcspkr.md +++ b/doc/7-systems/pcspkr.md @@ -2,7 +2,7 @@ 40 years of one square beep - and still going! single channel, no volume control... -# real output +## real output so far this is the only chip in Furnace which has a real hardware output option. to enable it, select file > configure chip... > PC Speaker > Use system beeper. @@ -26,10 +26,10 @@ you may configure the output method by going in Settings > Emulation > PC Speake real hardware output only works on BIOS/UEFI (non-Mac) x86-based machines! attempting to do this under any other device **will not work**, or may even brick the device (if using `/dev/port` or `outb()`)! oh, and of course you also need the beeper to be present in your machine. some laptops connect the beeper output to the built-in speakers (or the audio output jack), and some other don't do this at all. -# effects +## effects ha! effects... -# info +## info this chip uses the [Beeper](../4-instrument/beeper.md) instrument editor. diff --git a/doc/7-systems/pet.md b/doc/7-systems/pet.md index df45a99f1..472bb2ec8 100644 --- a/doc/7-systems/pet.md +++ b/doc/7-systems/pet.md @@ -6,11 +6,11 @@ maybe no better than a computer terminal, but somebody discovered a way to updat some of these didn't even have sound... -# effects +## effects - `10xx`: **set waveform.** - `xx` is a bitmask. -# info +## info this chip uses the [PET](../4-instrument/pet.md) instrument editor. diff --git a/doc/7-systems/pokemini.md b/doc/7-systems/pokemini.md index a1156b912..49e6cfbc3 100644 --- a/doc/7-systems/pokemini.md +++ b/doc/7-systems/pokemini.md @@ -2,10 +2,10 @@ the Pokémon Mini is a ridiculously small handheld system from 2001. its single pulse channel has only three volume steps (full, half, and off)... but variable pulse width. -# effects +## effects none. -# info +## info this chip uses the [Pokémon Mini/QuadTone](../4-instrument/pokemini.md) instrument editor. diff --git a/doc/7-systems/pokey.md b/doc/7-systems/pokey.md index 31832e580..eff37cd8c 100644 --- a/doc/7-systems/pokey.md +++ b/doc/7-systems/pokey.md @@ -2,7 +2,7 @@ a sound and input chip developed by Atari for their 8-bit computers (Atari 400, 800, XL/XE and so on). 4 channels of signature Atari sounds. -# effects +## effects - `10xx`: **set waveform.** - 0: harsh noise (poly5+17) @@ -36,6 +36,6 @@ a sound and input chip developed by Atari for their 8-bit computers (Atari 400, - when enabled, channel 2 modulates channel 1. I don't know how, but it does. - only on ASAP core. -# info +## info this chip uses the [POKEY](../4-instrument/pokey.md) instrument editor. diff --git a/doc/7-systems/pv1000.md b/doc/7-systems/pv1000.md index b05a389b2..1031af815 100644 --- a/doc/7-systems/pv1000.md +++ b/doc/7-systems/pv1000.md @@ -2,12 +2,12 @@ released only in Japan, this console was pulled after only a few weeks on the market. it has only 3 square waves with 6-bit pitch resolution and no bass. -# effects +## effects - `10xx`: **set ring modulation.** - amplitude modulation by the previous channel's output. - `0` turns it off and `1` turns it on. -# info +## info this chip uses the [PV-1000](../4-instrument/pv1000.md) instrument editor. diff --git a/doc/7-systems/qsound.md b/doc/7-systems/qsound.md index 204bbb688..55b05b8dc 100644 --- a/doc/7-systems/qsound.md +++ b/doc/7-systems/qsound.md @@ -10,7 +10,7 @@ the QSound chip also has a small echo buffer, somewhat similar to the SNES, alth there are also 3 ADPCM channels. ADPCM samples are fixed to 8012Hz. -# effects +## effects - `10xx`: **set echo feedback level.** - this effect will apply to all channels. @@ -19,6 +19,6 @@ there are also 3 ADPCM channels. ADPCM samples are fixed to 8012Hz. - on by default. - `3xxx`: **set echo delay buffer length.** -# info +## info this chip uses the [QSound](../4-instrument/qsound.md) and [Generic Sample](../4-instrument/sample.md) instrument editors. diff --git a/doc/7-systems/ricoh.md b/doc/7-systems/ricoh.md index d283a3cd3..1b9fc4a53 100644 --- a/doc/7-systems/ricoh.md +++ b/doc/7-systems/ricoh.md @@ -2,10 +2,10 @@ 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 +## effects none so far. -# info +## info this chip uses the [RF5C68](../4-instrument/rf5c68.md) and [Generic Sample](../4-instrument/sample.md) instrument editors. diff --git a/doc/7-systems/saa1099.md b/doc/7-systems/saa1099.md index 8036ec71e..7284b563c 100644 --- a/doc/7-systems/saa1099.md +++ b/doc/7-systems/saa1099.md @@ -4,7 +4,7 @@ this was used by the Game Blaster and SAM Coupé. it's pretty similar to the AY- - an instrument with envelope settings is placed on channel 2 or channel 5 - an instrument that is used as an "envelope output" is placed on channel 3 or channel 6 (you may want to disable wave output on the output channel) -# effects +## effects - `10xy`: **set channel mode.** - `x` toggles noise. @@ -28,6 +28,6 @@ this was used by the Game Blaster and SAM Coupé. it's pretty similar to the AY- - bit 0 sets whether the right output will mirror the left one. - this effect affects either the first 3 or last 3 channels, depending on where it is placed. -# info +## info this chip uses the [SAA1099](../4-instrument/saa.md) instrument editor. diff --git a/doc/7-systems/scc.md b/doc/7-systems/scc.md index 8e5b01475..9ad30cf94 100644 --- a/doc/7-systems/scc.md +++ b/doc/7-systems/scc.md @@ -6,10 +6,10 @@ it was used in (of course) several Konami games, which had better audio quality the only problem? the waveform of the fourth channel is shared with the fifth one due to not enough memory in the chip! the SCC+ fixes this issue though (while being compatible with SCC games). -# effects +## effects - `10xx`: **change wave.** -# info +## info this chip uses the [Konami SCC/Bubble System WSG](../4-instrument/scc.md) instrument editor. diff --git a/doc/7-systems/segapcm.md b/doc/7-systems/segapcm.md index bdadbea59..a42e84366 100644 --- a/doc/7-systems/segapcm.md +++ b/doc/7-systems/segapcm.md @@ -6,16 +6,16 @@ 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 +## 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.** - `xx` is a 256th fraction of 31250Hz. - this effect exists mostly for DefleMask compatibility; it is otherwise recommended to use Sample type instruments. -# info +## info this chip uses the [SegaPCM](../4-instrument/segapcm.md) and [Generic Sample](../4-instrument/sample.md) instrument editors. diff --git a/doc/7-systems/sm8521.md b/doc/7-systems/sm8521.md index b71b795a0..24649afec 100644 --- a/doc/7-systems/sm8521.md +++ b/doc/7-systems/sm8521.md @@ -17,11 +17,11 @@ the sound-related features and quirks of the SM8521 are as follows: - 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. -## effect commands +## effects - `10xx`: **set waveform.** - `xx` is a value between 0 and 255 that sets the waveform of the channel you place it on. -# info +## info this chip uses the [SM8521](../4-instrument/sm8521.md) instrument editor. diff --git a/doc/7-systems/sms.md b/doc/7-systems/sms.md index 89431044b..889d82e25 100644 --- a/doc/7-systems/sms.md +++ b/doc/7-systems/sms.md @@ -20,7 +20,7 @@ SN7 was extremely popular due to low cost. therefore, it was cloned and copied t - 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 +## effects - `20xy`: **set noise mode.** - `x` controls whether to inherit frequency from channel 3. @@ -31,6 +31,6 @@ SN7 was extremely popular due to low cost. therefore, it was cloned and copied t - `1`: noise. -# info +## info this chip uses the [SN76489/Sega PSG](../4-instrument/psg.md) instrument editor. diff --git a/doc/7-systems/snes.md b/doc/7-systems/snes.md index fc5a5fd9c..cf518a0d9 100644 --- a/doc/7-systems/snes.md +++ b/doc/7-systems/snes.md @@ -20,7 +20,7 @@ some notable features of the DSP are: 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 +## effects - `10xx`: **set waveform.** - `11xx`: **toggle noise mode.** @@ -61,7 +61,7 @@ Furnace also allows the SNES to use wavetables (and the wavetable synthesizer) i - 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 +## info this chip uses the [SNES](../4-instrument/snes.md) instrument editor. @@ -167,8 +167,6 @@ value | freq. | value | freq. reference: [Super Famicom Development Wiki](https://wiki.superfamicom.org/spc700-reference#dsp-register:-flg-1318) - - -# resources +## resources - [SNES-format BRR samples](https://www.smwcentral.net/?p=stion&s=brrsamples) at SMW Central diff --git a/doc/7-systems/soundunit.md b/doc/7-systems/soundunit.md index 2e83c53de..9291ebc9d 100644 --- a/doc/7-systems/soundunit.md +++ b/doc/7-systems/soundunit.md @@ -12,7 +12,7 @@ it has the following capabilities: - volume, frequency and cutoff sweep units (per-channel) - phase reset timer (per-channel) -# effects +## effects - `10xx`: **set waveform.** - `0`: pulse wave @@ -55,6 +55,6 @@ it has the following capabilities: - bit 7: up direction - `4xxx`: **set cutoff.** range is `0` to `FFF`. -# info +## info this chip uses the [Sound Unit](../4-instrument/su.md) and [Generic Sample](../4-instrument/sample.md) instrument editors. diff --git a/doc/7-systems/t6w28.md b/doc/7-systems/t6w28.md index 26d7d977c..5d6af1871 100644 --- a/doc/7-systems/t6w28.md +++ b/doc/7-systems/t6w28.md @@ -4,12 +4,12 @@ an enhanced SN76489 derivative. same 4 channels, but with stereo (soft panning!) this chip was used in Neo Geo Pocket. -# effects +## effects - `20xx`: **set noise mode.** - `0`: thin pulse. - `1`: noise. -# info +## info this chip uses the [T6W28](../4-instrument/t6w28.md) instrument editor. diff --git a/doc/7-systems/ted.md b/doc/7-systems/ted.md index 4333fcea6..d9cbca996 100644 --- a/doc/7-systems/ted.md +++ b/doc/7-systems/ted.md @@ -5,10 +5,10 @@ also called 7360/8360, TED stands for Text Editing Device. it's both a video and its audio portion is pretty barren - only 2 channels. one can output square wave and other may be either square or noise. pitch range is limited as well, akin to that of SN76489, and volume control is global. -# effects +## effects none so far. -# info +## info this chip uses the [TED](../4-instrument/ted.md) instrument editor. diff --git a/doc/7-systems/tia.md b/doc/7-systems/tia.md index 9e6d9cfa6..6d95c8ae2 100644 --- a/doc/7-systems/tia.md +++ b/doc/7-systems/tia.md @@ -7,7 +7,7 @@ only 2 channels and 31 frequencies?! Furnace isn't complete without this one... -# effects +## effects - `10xx`: **select shape.** - `0`: nothing @@ -29,14 +29,13 @@ Furnace isn't complete without this one... -# info +## info this chip uses the [TIA](../4-instrument/tia.md) instrument editor. +the arp macro's fixed mode operates differently, writing the direct pitch to the chip. here's a list of pitches. -- pitch number can be used for absolute notes in arpeggio macros. - -## shape 1 +### shape 1 | pitch | NTSC | note | cent | PAL | note | cent |------:|--------:|:----:|-----:|--------:|:----:|-----: @@ -73,7 +72,7 @@ this chip uses the [TIA](../4-instrument/tia.md) instrument editor. | 30 | 67.6 | C#2 | -44 | 67.1 | C-2 | +44 | 31 | 65.5 | C-2 | +3 | 65.0 | C-2 | -11 -## shapes 2, 3 +### shapes 2 and 3 | pitch | NTSC | note | cent | PAL | note | cent |------:|--------:|:----:|-----:|--------:|:----:|-----: @@ -110,7 +109,7 @@ this chip uses the [TIA](../4-instrument/tia.md) instrument editor. | 30 | 2.2 | | | 2.2 | 31 | 2.1 | | | 2.1 -## shapes 4, 5 +### shapes 4 and 5 | pitch | NTSC | note | cent | PAL | note | cent |------:|--------:|:----:|-----:|--------:|:----:|-----: @@ -147,7 +146,7 @@ this chip uses the [TIA](../4-instrument/tia.md) instrument editor. | 30 | 507.1 | B-4 | +45 | 503.2 | B-4 | +32 | 31 | 491.3 | B-4 | -9 | 487.5 | B-4 | -23 -## shapes 6, 7, 9, 10 +### shapes 6, 7, 9 and 10 | pitch | NTSC | note | cent | PAL | note | cent |------:|--------:|:----:|-----:|--------:|:----:|-----: @@ -184,7 +183,7 @@ this chip uses the [TIA](../4-instrument/tia.md) instrument editor. | 30 | 32.7 | C-1 | 0.0 | 32.5 | C-1 | -11 | 31 | 31.7 | B-0 | +44 | 31.5 | B-0 | +33 -## shape 8 +### shape 8 | pitch | NTSC | note | cent | PAL | note | cent |------:|--------:|:----:|-----:|--------:|:----:|-----: @@ -221,7 +220,7 @@ this chip uses the [TIA](../4-instrument/tia.md) instrument editor. | 30 | 2.0 | | | 2.0 | 31 | 1.9 | | | 1.9 -## shapes 12, 13 +### shapes 12 and 13 | pitch | NTSC | note | cent | PAL | note | cent |------:|--------:|:----:|-----:|--------:|:----:|-----: @@ -258,7 +257,7 @@ this chip uses the [TIA](../4-instrument/tia.md) instrument editor. | 30 | 169.0 | E-3 | +43 | 167.7 | E-3 | +30 | 31 | 163.8 | E-3 | -11 | 162.5 | E-3 | -25 -## shapes 14, 15 +### shapes 14 and 15 | pitch | NTSC | note | cent | PAL | note | cent |------:|--------:|:----:|-----:|--------:|:----:|-----: @@ -295,4 +294,4 @@ this chip uses the [TIA](../4-instrument/tia.md) instrument editor. | 30 | 10.9 | | | 10.8 | 31 | 10.6 | | | 10.5 -reference: [Atari 2600 VCS Sound Frequency and Waveform Guide](http://7800.8bitdev.org/index.php/Atari_2600_VCS_Sound_Frequency_and_Waveform_Guide) \ No newline at end of file +reference: [Atari 2600 VCS Sound Frequency and Waveform Guide](http://7800.8bitdev.org/index.php/Atari_2600_VCS_Sound_Frequency_and_Waveform_Guide) diff --git a/doc/7-systems/vera.md b/doc/7-systems/vera.md index dc88a3821..98de3b440 100644 --- a/doc/7-systems/vera.md +++ b/doc/7-systems/vera.md @@ -5,7 +5,7 @@ it has 16 channels of pulse/triangle/saw/noise and one stereo PCM channel. currently Furnace does not support the PCM channel's stereo mode, though (except for panning). -# effects +## effects - `20xx`: **set waveform.** - `0`: pulse @@ -17,6 +17,6 @@ currently Furnace does not support the PCM channel's stereo mode, though (except - `EExx`: **ZSM synchronization event.** - `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 +## info this chip uses the [VERA](../4-instrument/vera.md) and [Generic Sample](../4-instrument/sample.md) instrument editors. diff --git a/doc/7-systems/vic20.md b/doc/7-systems/vic20.md index 55880ccd4..064ce233f 100644 --- a/doc/7-systems/vic20.md +++ b/doc/7-systems/vic20.md @@ -17,6 +17,6 @@ these channels are not referred as "square" wave channels since a technique to p - `10xx`: **switch waveform.** range is `00` to `0F`. -# info +## info this chip uses the [VIC](../4-instrument/vic.md) instrument editor. diff --git a/doc/7-systems/virtual-boy.md b/doc/7-systems/virtual-boy.md index 8dc11da98..6aa260188 100644 --- a/doc/7-systems/virtual-boy.md +++ b/doc/7-systems/virtual-boy.md @@ -8,7 +8,7 @@ its sound generation chip is called Virtual Sound Unit (VSU), a wavetable chip t additionally, channel 5 offers a modulation/sweep unit. the former is similar to FDS' but has much reduced speed control. -# effects +## effects - `10xx`: **set waveform.** - `11xx`: **set noise length.** range is `0` to `7`. @@ -42,6 +42,6 @@ additionally, channel 5 offers a modulation/sweep unit. the former is similar to - `xx` points to a wavetable. range is `0` to `FF`. - this is an alternative to setting the modulation wave through the instrument. -# info +## info this chip uses the [Virtual Boy](../4-instrument/virtual-boy.md) instrument editor. diff --git a/doc/7-systems/vrc6.md b/doc/7-systems/vrc6.md index ace59636d..174a4d348 100644 --- a/doc/7-systems/vrc6.md +++ b/doc/7-systems/vrc6.md @@ -10,7 +10,7 @@ for that reason, the sawtooth channel has its own instrument type. setting volum pulse wave duty cycle is 8-level. it can be ignored and it has potential for DAC at this case: volume register in this mode is DAC output and it can be PCM playback through this mode. Furnace supports this routine for PCM playback, but it consumes a lot of CPU time in real hardware (even if conjunction with VRC6's integrated IRQ timer). -# effects +## effects these effects only are effective in the pulse channels. @@ -18,6 +18,6 @@ these effects only are effective in the pulse channels. - `17xx`: **toggle LEGACY sample mode.** - **this effect exists only for compatibility reasons! its use is NOT recommented. use Sample type instruments instead.** -# info +## info this chip uses the [VRC6](../4-instrument/vrc6.md), [VRC6 (saw)](../4-instrument/vrc6.md), and [Generic Sample](../4-instrument/sample.md) instrument editors. diff --git a/doc/7-systems/wonderswan.md b/doc/7-systems/wonderswan.md index ebd833fd4..24d71ecc0 100644 --- a/doc/7-systems/wonderswan.md +++ b/doc/7-systems/wonderswan.md @@ -8,7 +8,7 @@ it has 4 wavetable channels. some of them have additional capabilities: - the third one has hardware sweep - the fourth one also does noise -# effects +## effects - `10xx`: **change wave**. - `11xx`: **setup noise mode.** channel 4 only. @@ -19,6 +19,6 @@ it has 4 wavetable channels. some of them have additional capabilities: - 1-32: enable and set period. - `13xx`: **setup sweep amount.** channel 3 only. -# info +## info this chip uses the [WonderSwan](../4-instrument/wonderswan.md) and [Generic Sample](../4-instrument/sample.md) instrument editors. diff --git a/doc/7-systems/x1-010.md b/doc/7-systems/x1-010.md index b356f82ab..ae7d55bc5 100644 --- a/doc/7-systems/x1-010.md +++ b/doc/7-systems/x1-010.md @@ -10,7 +10,7 @@ wavetable playback needs to paired with envelope, similar to AY PSG, but shapes in Furnace, this chip can be configured for original arcade mono output or stereo output - it simulates early 'incorrect' emulation on some mono hardware, but it is also based on the assumption that each channel is connected to each output. -# waveform types +## waveform types this chip supports 2 types of waveforms, needs to be paired to external 8 KB RAM to access these features: @@ -23,7 +23,7 @@ these are stored at the upper half of RAM at common case. both waveforms are 128 bytes (fixed size), freely allocated at each half of RAM except the channel register area: each half can store total 32/31 waveforms at once. in Furnace, you can enable the envelope shape split mode. when it is set, its waveform will be split to the left and right halves for each output. each max size is 128 bytes, total 256 bytes. -# effects +## effects - `10xx`: **change wave.** - `11xx`: **change envelope shape.** also wavetable. @@ -47,6 +47,6 @@ in Furnace, you can enable the envelope shape split mode. when it is set, its wa - `y` is the denominator. - if `x` or `y` are 0 this will disable auto-envelope mode. -# info +## info this chip uses the [X1-010](../4-instrument/x1_010.md) and [Generic Sample](../4-instrument/sample.md) instrument editors. diff --git a/doc/7-systems/ym2151.md b/doc/7-systems/ym2151.md index 7b3421de4..287a47d52 100644 --- a/doc/7-systems/ym2151.md +++ b/doc/7-systems/ym2151.md @@ -6,7 +6,7 @@ it also was present on several pinball machines and synthesizers of the era, and 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](msm6295.md). -# effects +## effects - `10xx`: **set noise frequency of channel 8 operator 4.** `00` disables noise while `01` to `20` enables it. - `11xx`: **set feedback of channel.** @@ -69,6 +69,6 @@ in most arcade boards the chip was used in combination with a PCM chip, like [Se - `5Exx`: **set D2R/SR of operator 3.** - `5Fxx`: **set D2R/SR of operator 4.** -# info +## info this chip uses the [FM (OPM)](../4-instrument/fm-opm.md) instrument editor. diff --git a/doc/7-systems/ym2203.md b/doc/7-systems/ym2203.md index 652a01396..a05cb84cf 100644 --- a/doc/7-systems/ym2203.md +++ b/doc/7-systems/ym2203.md @@ -9,7 +9,7 @@ this chip was used in the NEC PC-88/PC-98 series of computers, the Fujitsu FM-7A several variants of this chip were released as well, with more features. -# effects +## effects - `11xx`: **set feedback of channel.** - `12xx`: **set operator 1 level.** @@ -106,7 +106,7 @@ in ExtCh mode, channel 3 is split into one column for each of its four operators 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 +## info this chip uses the [FM (OPN)](../4-instrument/fm-opn.md) and [AY-3-8910/SSG](../4-instrument/ay8910.md) instrument editor. diff --git a/doc/7-systems/ym2608.md b/doc/7-systems/ym2608.md index 13808e620..c7306eec3 100644 --- a/doc/7-systems/ym2608.md +++ b/doc/7-systems/ym2608.md @@ -6,7 +6,7 @@ it was one of the available sound chips for the NEC PC-88VA and later models of the YM2610 (OPNB) and YM2610B chips are very similar to this one, but the built-in drums have been replaced with 6 sample channels. -# effects +## effects - `10xy`: **set LFO parameters.** - `x` toggles the LFO. @@ -101,11 +101,12 @@ the YM2610 (OPNB) and YM2610B chips are very similar to this one, but the built- - `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 +## info this chip uses the [FM (OPN)](../4-instrument/fm-opn.md), [Generic Sample](../4-instrument/sample.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. diff --git a/doc/7-systems/ym2610.md b/doc/7-systems/ym2610.md index 326494954..63b1358f5 100644 --- a/doc/7-systems/ym2610.md +++ b/doc/7-systems/ym2610.md @@ -4,7 +4,7 @@ originally an arcade board, but SNK shortly adapted it to a rather expensive vid its soundchip is a 4-in-1: 4ch 4-op FM, YM2149 (AY-3-8910 clone) and [2 different format ADPCM](https://wiki.neogeodev.org/index.php?title=ADPCM) in a single package! -# effects +## effects - `10xy`: **set LFO parameters.** - `x` toggles the LFO. @@ -99,11 +99,12 @@ its soundchip is a 4-in-1: 4ch 4-op FM, YM2149 (AY-3-8910 clone) and [2 differen - `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 +## info this chip uses the [FM (OPN)](../4-instrument/fm-opn.md), [Generic Sample](../4-instrument/sample.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. diff --git a/doc/7-systems/ym2610b.md b/doc/7-systems/ym2610b.md index 15f1760ba..a62548cad 100644 --- a/doc/7-systems/ym2610b.md +++ b/doc/7-systems/ym2610b.md @@ -3,7 +3,7 @@ YM2610B is basically YM2610 with 2 extra FM channels used at some 90s Taito arcade hardware. it is backward compatible with the original chip. -# effects +## effects - `10xy`: **set LFO parameters.** - `x` toggles the LFO. @@ -103,7 +103,7 @@ in ExtCh mode, channel 3 is split into one column for each of its four operators 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 +## info this chip uses the [FM (OPN)](../4-instrument/fm-opn.md), [Generic Sample](../4-instrument/sample.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. diff --git a/doc/7-systems/ym2612.md b/doc/7-systems/ym2612.md index 4576672f0..595c9c460 100644 --- a/doc/7-systems/ym2612.md +++ b/doc/7-systems/ym2612.md @@ -18,7 +18,7 @@ CSM is beyond the scope of this documentation. for more information, see this [b ## 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 +## effects - `10xy`: **set LFO parameters.** - `x` toggles the LFO. @@ -83,7 +83,7 @@ thanks to the Z80 sound CPU, DualPCM can play two samples at once! this mode spl - `5Exx`: **set D2R/SR of operator 3.** - `5Fxx`: **set D2R/SR of operator 4.** -# info +## info this chip uses the [FM (OPN)](../4-instrument/fm-opn.md) and [Generic Sample](../4-instrument/sample.md) instrument editors. diff --git a/doc/7-systems/ymu759.md b/doc/7-systems/ymu759.md index 7b21936c8..268e08021 100644 --- a/doc/7-systems/ymu759.md +++ b/doc/7-systems/ymu759.md @@ -7,7 +7,7 @@ sadly Yamaha didn't care about these chips too much, and the register specs were Furnace is able to load DefleMask modules written for this system; however, it doesn't support any of its effects and is simulated using the OPL core. -# effects +## effects since this chip is so abandoned, there isn't any support for it. @@ -16,6 +16,6 @@ even DefleMask dropped support for the chip in version 0.11, which just shows ho hey, at least it was the spark that ignited the idea of DefleMask. -# info +## info this chip uses the [FM (OPL)](../4-instrument/fm-opl.md) and [Generic Sample](../4-instrument/sample.md) instrument editors. diff --git a/doc/7-systems/ymz280b.md b/doc/7-systems/ymz280b.md index 6a1668742..170251a88 100644 --- a/doc/7-systems/ymz280b.md +++ b/doc/7-systems/ymz280b.md @@ -4,10 +4,10 @@ it has 16-level stereo panning, up to 16-bit PCM and up to 16MB of external PCM data. -# effects +## effects none so far. -# info +## info this chip uses the [YMZ280B](../4-instrument/ymz280b.md) and [Generic Sample](../4-instrument/sample.md) instrument editors. diff --git a/doc/7-systems/zxbeep.md b/doc/7-systems/zxbeep.md index a2694fa91..b721d8233 100644 --- a/doc/7-systems/zxbeep.md +++ b/doc/7-systems/zxbeep.md @@ -7,7 +7,7 @@ not really - very soon talented programmers found out ways to output much more t - a Follin/SFX-like engine with 6 channels of narrow pulse wave and click drums. - QuadTone: PWM-driven engine with 4ch of pulse wave with freely variable duty cycles and 1-bit PCM drums. -# effects +## effects - **`12xx`**: set pulse width. - **`17xx`**: trigger overlay drum. @@ -15,6 +15,6 @@ not really - very soon talented programmers found out ways to output much more t - overlay drums are 1-bit and always play at 55930Hz (NTSC) or 55420Hz (PAL). - the maximum length is 2048! -# info +## info 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. diff --git a/doc/8-advanced/find-replace.md b/doc/8-advanced/find-replace.md index 9760efaad..613865c3c 100644 --- a/doc/8-advanced/find-replace.md +++ b/doc/8-advanced/find-replace.md @@ -2,7 +2,7 @@ Furnace has a powerful find-and-replace function that can take the repetitive work out of mass editing. -# find +## find ![find dialog](find-find.png) @@ -44,7 +44,7 @@ the following options also are available: - the **order**, **row**, and **channel** columns are as they say. - the **go** column of buttons will take you to the location of the result. -# replace +## replace ![replace dialog](find-replace.png) diff --git a/doc/9-guides/README.md b/doc/9-guides/README.md index 4ccd69966..66748e615 100644 --- a/doc/9-guides/README.md +++ b/doc/9-guides/README.md @@ -7,6 +7,6 @@ this is collection of user-contributed Furnace guides which may be useful during - [using OPLL patch macro](opllswitching.md) - [using AY/SAA hardware envelope](envelope.md) -# other resources +## other resources - [FM Synthesis of Real Instruments](http://www.javelinart.com/FM_Synthesis_of_Real_Instruments.pdf): an in-depth tutorial on creating FM patches from scratch.