::|CONTENTS
- Capabilities
- Quick set up
- Composing
- Using Furnace on BotB
- See also
Furnace Tracker is a cross-platform multi-system open-source music tracker. It has its own save format .fur, but is also able to load and save to
DefleMask Tracker .dmf, including the new .dmf 1.1 specs that breaks compatibility with older DefleMask versions. It is also capable of exporting to .vgm for the systems which supports it. ROM export is planned for multiple systems. Since it is currently under heavy development and updates frequently, you should check the repository for newest updates:
https://github.com/tildearrow/furnace !
With the stable release of version 0.6, Furnace was added as a BotB format on Oct 21 2023:
furnace (format)
Capabilities
As of 0.6pre5, there are a lot of supported chips to be list. We will attempt to update the list if there's a new version released. Extra features will be appended after the chip names. The chips are separated into 5 categories:
- FM
- Square
- Sample
- Wavetable
- Specialized
FM (Frequency Modulation) synthesis-based chips contains the following:
- Yamaha YM2151 (OPM): 8ch of 4-op FM
Has a Sharp X68000 clock speed setting.
- Yamaha YM2203 (OPN): 3ch of 4-op FM, special mode on FM3 (split up all operators' frequency to be individual), YM2149 implementation (3ch of square with noise and envelope generator)
Multiple clock speed settings and FM/SSG volume controls.
- Yamaha YM2608 (OPNA): 6ch of 4-op FM, special mode on FM3 (read above), YM2149 implementation (read above), RSS (Rhythm Sound Source, 6 predefined drum samples), 1ch of ADPCM playback
Same as above.
- Yamaha YM2610 (OPNB): 4ch of 4-op FM, special mode on FM3 (read above), YM2149 implementation (read above), 6ch of ADPCM-A playback (fixed sample rate at 18.5kHz), 1ch of ADPCM-B playback (variable sample rate)
2 clock speeds corresponding to the Neo Geo MVS and AES systems, the rest is same as above.
- Yamaha YM2610B (OPNB2): 6ch of 4-op FM, special mode on FM3 (read above), YM2149 implementation (read above), 6ch of ADPCM-A playback (fixed sample rate at 18.5kHz), 1ch of ADPCM-B playback
Same as above.
- Yamaha YM2612 (OPN2): 6ch of 4-op FM, special mode on FM3 (read above)
Has support for CSM on Channel 3 and DualPCM, multiple clock speeds including FM Towns and Sega System 32, 3 variants including YM3438 (OPN2C, no ladder effect) and YMF276 (higher quality output due to usage of external DAC)
- Yamaha YM2413 (OPLL): 9ch of 2-op FM, 2 waveforms, 3 channels can be sacrificed for preset drums
Multiple clock speeds including for arcade machines, multiple patch set (different presets) including Konami's VRC7.
- Yamaha YM2414 (OPZ): 8ch of 4-op FM, 8 waveforms
Used in Yamaha's TX81Z module. Presumably the developer implemented it in Furnace because he has one.
- Yamaha YM3526 (OPL): 9ch of 2-op FM, sine only, 3 channels can be sacrificed for preset drums
Multiple clock speeds, including the NEC PC-88/98.
- Yamaha Y8950: OPL with 1ch of ADPCM playback
Same as above.
- Yamaha YM3812 (OPL2): 9ch of 2-op FM, 4 waveforms, 3 channels can be sacrificed for preset drums
Same as above.
- Yamaha YMF262 (OPL3): 18ch of 2-op FM, the first 12 can be turned into 6ch of 4-op FM, 8 waveforms, 3 channels can be sacrificed for preset drums
Same as above, minus the PC-88/98 clock speed.
Square wave-based chips contains the following:
- Texas Instrument SN76489 and its clones/derivatives: 3ch of square waves, 1ch of noise
One of the most extensive chip with many properties. With multiple clock speeds (including the BBC Micro, Exed Eyes, Sega System 1, TI-99/4A, etc.) and variants (Sega VDP/Master System, SN76489A, SN76496, NCR 8496, Tandy PSSJ 3-voice sound, SN94624 and SN76494).
- Toshiba T6W28: 3ch of square waves, 1ch of noise
Used in the Neo Geo Pocket Color (NGPC)
- AY-3-8910 and its clones/derivatives: 3ch of square waves, can be swapped with noise, envelope and in-between
Another one of the most extensive chips. Multiple clock speeds (including the ZX Spectrum, MSX, Atari ST, Sharp X1, Vectrex, Amstrad CPC, Sunsoft 5B, etc.), variants (YM2149/F, Sunsoft 5B and AY-3-8914)and stereo layout support (only ABC at the moment).
- Philips SAA1099: 6ch of square waves, can be swapped with noise, envelope and in-between
Has a SAM Coupé clock speed setting.
- PC Speaker/Beeper: 1ch of square only
Multiple clock speeds (including the PC-98) and filtering settings (unfiltered, cone and piezo).
- Pokémon Mini (Epson S1C88): 1ch of 255 width pulse and 3-step volume control
Nothing special.
- MOS Technology 6560/6561 (VIC): 3ch of square, 1ch of noise, global volume
Defaults to PAL. Aside from that, nothing special.
- OKI MSM5232: 8ch of additive square synthesis (akin to electric organs), fixed pitch noise, only 2 timbres at once (1 timbre shared across each 4 channels)
Very specialized properties to configure. ADSR curve (based of capacitor settings???), drawbar-style pitch volume settings and global vibrato.
- Pong: 1ch of 2 pitch beeps.
It's Pong. Why? Because Pong.
- NEC D65010G031: 3ch of square wave only
Nothing special. (also call it the diabetes because that name is way too shitty 😂)
Sample-based chips contains the following:
- MOS Technology 8364 (Paula): 4ch of 8-bit PCM playback, panned channels in the layout of LRRL
Options for stereo separation (0 to 127), 2 models of Amiga (500/OCS or 1200/AGA), memory capacity (from 256KB to 2MB) and bypassing the pitch limit.
Some chip combinations that exist before will automatically append its name and identify as that system. And there are a lot of system presets to choose when creating a new module. Those presets are split up into game consoles, computers and arcade machines. There is also the 'I'm feeling lucky' button on the module creation popup window, which will randomly select anything from all of the available presets or chips.
Systems with multiple sound chips (i.e. the Sega Genesis) will have the chips separated in the 'configure chip...' menu, so you could either have only the YM2612 or the SN7 if desired. More soundchips are to be planned onto future releases.
It is also possible to combine those systems or multiply them in any way you like, which is an advantage it has over DefleMask, which is not capable of doing this. (The limits of the VGM specification still applies. E.g. only up to 2 of the same systems.)
There are some systems that are yet to be supported by the VGM specification so keep that in mind when you're making a track.
Development has been slowed down and now focused more on fixing bugs and improving stability. More chips, features and such are on hold for more important features.
Furnace has the ability to load and save .dmf
DefleMask modules, though this stopped being a focus of the software at some point. It can also import,
but not export, a handful of Amiga module types: .mod, .smod, .fc13, .fc14, .fc
Quick set up
Check the
releases page on GitHub to get any version you like. Newest version makes most sense obviously.
If you have a GitHub account, you can also download bleeding-edge builds from the
actions page, but there's no guarantee that these builds will be bug free (or that they'll work at all). Use at your own discretion.
The other way to get the bleeding-edge build if you don't have a GitHub account is to use the
nightly.link provided here to get the build. (For now, the MinGW builds for Windows has been disabled currently. MSVC builds have been proven to be stable enough so it is safe to use.)
Composing
The Effects List has now been implemented inside of Furnace itself. To access it, go to the top bar and select help then turn on effects list. It is a dockable window that can be placed anywhere inside the program. The list will change the commands of the chip-specific one if you have the playhead/cursor position on a different chip. Do not be worried as all the general commands will always be there and upmost on the list.
If you have used DefleMask beforehand, Furnace will have a very similar feeling in terms of the initial layout and keybinds. FamiTracker keybinds (such as 1 for note-off) also works here.
Using Furnace on BotB
Any BotB formats that allow for .vgm submission can be made with this tracker. As ROM export is yet to be implemented, this is still limited compared to the number of available chips to write for in the tracker. Furnace also has its own format, requiring the submission of its .fur module file type:
furnace (format)
Formats where Furnace
can be used:
-
Sega Genesis (.vgm)
-
Sega Master System (.vgm)
-
.VGM File Format (.vgm)
-
AY/YM (.vgm)
-
PC-Engine/TurboGrafx-16 (.vgm)
-
YM2151 (.vgm)
-
Gameboy* (.vgm)
[*software volume envelopes do not export correctly]
-
DefleMask Legacy (.dmf "1.0/legacy" export)
-
Furnace (.fur)
-
AdLib soundcard (OPL2/OPL3) (.fur)
-
POKEY (sap) (.fur) - tentatively! maybe not forever
-
2xPOKEY (sapx2) (.fur) - tentatively! maybe not forever
Formats where Furnace (and/or .vgm)
cannot be used:
- the 2A03/NES formats
nsf,
nsf_classic,
nsfplus (requires .nsf)
-
PC-x801 (requires .s98 or MML options)
-
Amiga .MOD (.mod can be imported but not exported)
-
SNES (no export)
-
Commodore 64 (no export)
-
Atari TIA (no export)
-
Commodore Plus/4 (no export)
-
Commodore VIC-20 (no export)
-
ZX Spectrum beeper (no export)
- probably others.
See also
-
List of trackers