Skip to content

Furnace v0.6pre8 (beta) - TED and lots of bug fixes

Compare
Choose a tag to compare
@tildearrow tildearrow released this 19 Aug 10:15
· 3008 commits to master since this release

this is the final pre-release before a series of much smaller pre-releases prior to 0.6.

summary

this release fixes a serious glitch when muting channel 6 on YM2612, and a possible crash when using Intel graphics.
additionally, it improves Namco 163. beware - your old songs may or may not break.

the documentation has been updated as well. it's much better.

there are three new chips. TED is one of them.

it also fixes this, and fixes that. yeah, mostly bug fixes.

full list of changes

  • YM2612 fixes
    • fix a bug in where muting channel 6 while playing a sample would break playback
    • implement 9xxx
    • improve write scheduling
  • OPLL improvements
    • fix FB/DC/DM preview for preset patches
    • display correct preset patch if chip type is different
    • fix some glitches when using 18xx to switch between normal and drums mode
      • no support whatsoever will be provided regarding Defle "compatible" drums mode!
    • fix some other glitches in drums mode
    • add option to apply fixed frequency to all drums
  • VGM export: fix RF5C68 memory being written incorrectly
  • per-chan osc improvements
    • add an amplitude setting
    • add automatic columns setting
    • add "chip part number" and "note" options to label text
    • fix note trigger gradient source when channel is not visible in pattern
  • handle SIGTERM correctly
  • PV-1000: fix chan osc
  • fix a crash when fonts load to fail on first start-up
  • fix a memory leak in the backup task
  • fix fonts failing to load on Intel cards
  • dialog nitpicks: more close-with-esc
  • fix dSID breaking with more than one chip
  • C64: per-chan osc filters and volume
  • fix clicks not being recognized at all in trackpads and other special devices
  • C64: fix reSIDfp muting
  • add setting to center pop-ups
  • replace std::queue in dispatch code with FixedQueue
    • avoids allocations
  • fix MSM6258 not working at all on macOS
  • fix scrolling when stepping rows
  • fix engine starting randomly when it shouldn't
  • add a tooltip showing chips in new song preset list
  • add percent sign in replace dialog
  • new chips:
    • Konami K053260
    • MOS Technology TED (used in Commodore Plus/4 and Commodore 16)
    • Namco C140 (including µ-law PCM support)
  • fix "replace raw..." adding new sample insteaf of replacing
  • fix undo in "select and type" order change mode
  • fix glitch in new song
  • Namco 163 changes
    • this was the messiest chip in Furnace, with an implementation full of glitches and counterintuitiveness.
    • the effects have been changed and the instrument settings have been improved as well. now it is usable.
    • read the manual for more information.
    • note: your old songs may break!
    • removed the setting to change the chip name since we found out that Namco used to (apparently) call this chip "ナムコ163" (literally "Namco 163")
  • add a "cursor follows wheel" option
  • Amiga: fix custom clock
  • orders now respect "push nibble" setting
  • MSM5232: fix chan osc
  • fix crash when exporting .wav in per chip mode if a chip had more than two outputs (e.g. OPL3 and ES5506)
  • ES5506: fix uninitialized variable
  • Sound Unit: fix wrong de-allocation of sample memory
  • PET: fix square waves not working at all
  • Game Boy: fix hardware sequence in low-latency mode
  • fix unrecognized chips always displaying as "ID 00"
  • fix instruments losing their samples when moving or deleting samples
  • ES5506: fix sample map
  • finally fix sorting crash in the built-in file picker under certain circumstances
    • it appears that a symbolic link which points to a non-existent file/dir will make it crash
  • NES: optimize NSFplay core
  • remove ability to save legacy .fui instruments
  • TIA: fix custom clock
    • be noted that it will also change pitch
  • ZSM export improvements
    • handle Virtual Tempo quantization
    • include song tuning
    • add option to optimize resulting file
    • change delay flush logic
  • Namco WSG: fix custom clock
  • fix compilation with system-provided fmt library
  • add a setting to disable all compatibility flags when opening a .dmf
    • I no longer aim to be 100% Defle-compatible
  • re-organize the Settings window
  • improvements to the effect list
    • now it won't display panning effects on chips that are mono
    • add a button to hide certain effect types from the list
  • OPN/2/A/B ExtCh improvements:
    • implement hard reset (30xx)
    • fix ALG/FB/FMS/AMS/LFO macros
    • fix muting
  • SNES: fix possible sample corruption when toggling echo
  • fix song not being marked as "modified" when swapping channels
  • PC speaker: fix cutoff frequency changing when setting clock rate
  • NES: fix DPCM samples being loaded with the wrong size
  • SN76489/Sega PSG: fix note off sometimes not working
  • fix song time being reset on loop
  • fix SNES echo settings going out of bounds in chip manager
  • oscilloscope improvements
    • higher quality
    • stereo/multi-channel mode
  • add setting to remove ins/volume value when inserting note off, note release or macro release
  • discourage use of legacy sample mode (17xx)
  • add setting to play song when opening
  • implement set latch/clear latch keybinds
  • fix automatic patchbay setting not being loaded
  • read KVS from Yamaha SysEx (MIDI) input
  • vertically center some labels
  • fix system file picker instrument preview
  • add option to show instrument type menu when adding instrument (on by default)
    • thanks WimpyKidFan2007
  • new "letter icons" option for the instrument list
  • sample editor changes
    • improve the icons
    • fix invert not working properly in 8-bit samples
    • fix range of 16-bit samples
    • sample rate warnings
  • add option to capitalize menu bar
  • fix possible crash when the window is huge and the font is small
  • fix pattern re-use indicators not updating in Orders window if the pattern view is hidden
  • fix waves/samples not appearing in folder mode after loading an instrument which has built-in waves/samples
  • OPL: add OPL3-L chip option
  • bring the combo box back to sample map editor
  • VGM export: change the ripper name to "Furnace (chiptune tracker)"
  • prevent you from using invalid file names in the built-in file picker
  • fix pitch going crazy after changing chip clock rate while playing a note
    • sadly I had to remove an option but I hope you are fine with that
  • new line after "no instrument selected"
  • fix 0.5-pixel error in unified assets
  • improve "single (with list)" macro view
  • fix macro position indicator not appearing when hitting notes
  • Game Boy: fix volume change turning channel on after note off in zombie mode

0.6 when

I am going to tell you that we are very close to the release of Furnace 0.6.

once the issue tracker is cleared out, Furnace will enter a one-week "freeze". if any issues are reported during this period, these will be diagnosed/fixed and I will wait another week.
this cycle repeats until Furnace is issue-free for a week.

there's a possibility you'll see a flurry of pre-releases during the "freeze", up to one per day. these will be marked as "pre-release" and not ping-announced in Furnace Discord/Revolt.
Furnace 0.6pre9 will be announced normally due to several major issues in pre8 regarding audio export.

last call for issue reports

since Furnace 0.6 is nearing its release, I encourage you to report any bugs you find in the program and to remind me of any issues I may have forgotten about.
I want 0.6 to be the best release of Furnace ever, because 0.7 onwards will be mostly about ROM export.

just call it Furnace 1.0

no.

when it has ROM export for all major systems, I will.

note for Windows users

  • yeah, sorry. I've tried everything to fix that GetTickCount64() problem. nothing works.

  • therefore I am going to force GetTickCount() into the release binary so you can run Furnace on your trusty Windows XP machine.

  • otherwise, pretend the 32-bit release doesn't exist, and get the 64-bit one.

note for macOS users

I'll repeat this over and over until Apple brings back that setting to install apps from any source without workarounds.

sorry... it's not my fault.

"Furnace" is damaged (Monterey and later)

if you get this error, open Terminal, and type this:

xattr -d com.apple.quarantine /path/to/Furnace.app

(replace /path/to/Furnace.app with the path where Furnace.app is located, e.g. /Applications/Furnace.app)

you may need to reboot after doing this before launching Furnace again.

thanks

  • Electric Keet and freq-mod for helping me with the manual
  • MooingLemur for ZSM work
  • cam900 for C140 and that other K01420983429 chip
  • notakin for reporting memory leak issue
  • Music Boi JBoy for reporting Intel graphics crash issue
  • Electric Keet and Raijin for new icons (instrument list and sample editor)
  • everyone else who has reported bugs, brought code and/or simply used Furnace!