diff --git a/README.md b/README.md index e5573b4b..710c2bab 100644 --- a/README.md +++ b/README.md @@ -36,13 +36,17 @@ check out the [Releases](https://github.com/tildearrow/furnace/releases) page. a - TI SN76489 used in Sega Master System and BBC Micro - PC Speaker - Philips SAA1099 used in SAM Coupé + - OKI MSM5232 used in some arcade boards - sample chips: + - SNES - Amiga - SegaPCM - all 16 channels - Capcom QSound - Yamaha YMZ280B (PCMD8) - Ricoh RF5C68 used in Sega CD and FM Towns - OKI MSM6258 and MSM6295 + - Konami K007232 + - Irem GA20 - wavetable chips: - HuC6280 used in PC Engine - Konami Bubble System WSG @@ -61,9 +65,12 @@ check out the [Releases](https://github.com/tildearrow/furnace/releases) page. a - SID (6581/8580) used in Commodore 64 - Mikey used in Atari Lynx - ZX Spectrum beeper (SFX-like engine) + - Pokémon Mini - Commodore PET - TIA used in Atari 2600 + - POKEY used in Atari 8-bit computers - Game Boy + - Virtual Boy - modern/fantasy: - Commander X16 VERA - tildearrow Sound Unit @@ -71,12 +78,12 @@ check out the [Releases](https://github.com/tildearrow/furnace/releases) page. a - over 200 ready to use presets from computers, game consoles and arcade boards... - ...or create your own - up to 32 of them or a total of 128 channels! - DefleMask compatibility - - loads .dmf modules from all versions (beta 1 to 1.1.3) + - loads .dmf modules from all versions (beta 1 to 1.1.5) - saves .dmf modules - both modern and legacy - Furnace doubles as a module downgrader - loads/saves .dmp instruments and .dmw wavetables as well - clean-room design (guesswork and ABX tests only, no decompilation involved) - - bug/quirk implementation for increased playback accuracy through compatibility flags + - some 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 chip or per channel @@ -88,11 +95,15 @@ check out the [Releases](https://github.com/tildearrow/furnace/releases) page. a - additional features: - FM macros! - negative octaves + - advanced arp macros - arbitrary pitch samples - sample loop points - SSG envelopes and ADPCM-B in Neo Geo + - pitchable OPLL drums - full duty/cutoff range in C64 + - full 16-channel SegaPCM - ability to change tempo mid-song + - decimal tempo/tick rate - multiple sub-songs in a module - per-channel oscilloscope with waveform centering - built-in sample editor @@ -251,6 +262,10 @@ xattr -d com.apple.quarantine /path/to/Furnace.app you may need to log out and/or reboot after doing this. +> .spc export? + +**not yet!** coming in 0.7 though, in a future... + > how do I use C64 absolute filter/duty? on Instrument Editor in the C64 tab there are two options to toggle these. diff --git a/TODO.md b/TODO.md deleted file mode 100644 index 137e4f7b..00000000 --- a/TODO.md +++ /dev/null @@ -1,3 +0,0 @@ -# to-do for 0.6pre2 - -- bug fixes diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index b77cf32e..082cebc3 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -1,8 +1,8 @@ diff --git a/demos/snes/segacd.fur b/demos/snes/segacd.fur new file mode 100644 index 00000000..fbf9d55d Binary files /dev/null and b/demos/snes/segacd.fur differ diff --git a/extern/vgsound_emu-modified/vgsound_emu/src/es550x/es550x.hpp b/extern/vgsound_emu-modified/vgsound_emu/src/es550x/es550x.hpp index d99fdfbf..7660bd19 100644 --- a/extern/vgsound_emu-modified/vgsound_emu/src/es550x/es550x.hpp +++ b/extern/vgsound_emu-modified/vgsound_emu/src/es550x/es550x.hpp @@ -166,9 +166,9 @@ class es550x_shared_core : public vgsound_emu_core , m_start(0) , m_end(0) , m_accum(0) - , m_sample({0}) { - } + m_sample[0]=0; + m_sample[1]=0; } // configurations const u8 m_integer = 21; diff --git a/papers/format.md b/papers/format.md index a2c962fb..a192f138 100644 --- a/papers/format.md +++ b/papers/format.md @@ -32,6 +32,7 @@ these fields are 0 in format versions prior to 100 (0.6pre1). the format versions are: +- 132: Furnace 0.6pre2 - 131: Furnace dev131 - 130: Furnace dev130 - 129: Furnace dev129 diff --git a/res/Info.plist b/res/Info.plist index 7b8d0120..d7f0f98d 100644 --- a/res/Info.plist +++ b/res/Info.plist @@ -15,17 +15,17 @@ CFBundleInfoDictionaryVersion 6.0 CFBundleLongVersionString - 0.6pre1 + 0.6pre2 CFBundleName Furnace CFBundlePackageType APPL CFBundleShortVersionString - 0.6pre1 + 0.6pre2 CFBundleSignature ???? CFBundleVersion - 0.6pre1 + 0.6pre2 NSHumanReadableCopyright NSHighResolutionCapable diff --git a/src/engine/engine.h b/src/engine/engine.h index 109a9abd..faca57d9 100644 --- a/src/engine/engine.h +++ b/src/engine/engine.h @@ -47,8 +47,8 @@ #define BUSY_BEGIN_SOFT softLocked=true; isBusy.lock(); #define BUSY_END isBusy.unlock(); softLocked=false; -#define DIV_VERSION "dev131" -#define DIV_ENGINE_VERSION 131 +#define DIV_VERSION "0.6pre2" +#define DIV_ENGINE_VERSION 132 // for imports #define DIV_VERSION_MOD 0xff01 #define DIV_VERSION_FC 0xff02 diff --git a/src/gui/about.cpp b/src/gui/about.cpp index d7346638..08daa494 100644 --- a/src/gui/about.cpp +++ b/src/gui/about.cpp @@ -141,6 +141,7 @@ const char* aboutLine[]={ "MAME MSM5232 core by Jarek Burczynski and Hiromitsu Shioya", "MAME MSM6258 core by Barry Rodewald", "MAME YMZ280B core by Aaron Giles", + "MAME GA20 core by Acho A. Tang and R. Belmont", "SAASound by Dave Hooper and Simon Owen", "SameBoy by Lior Halphon", "Mednafen PCE, WonderSwan, T6W28 and Virtual Boy audio cores", diff --git a/src/gui/insEdit.cpp b/src/gui/insEdit.cpp index 6aae392d..e359fc2e 100644 --- a/src/gui/insEdit.cpp +++ b/src/gui/insEdit.cpp @@ -4319,7 +4319,7 @@ void FurnaceGUI::drawInsEdit() { } } ImGui::BeginDisabled(ins->amiga.useWave); - P(ImGui::Checkbox("Use sample map (does not work yet!)",&ins->amiga.useNoteMap)); + P(ImGui::Checkbox("Use sample map",&ins->amiga.useNoteMap)); if (ins->amiga.useNoteMap) { // TODO: frequency map? if (ImGui::BeginTable("NoteMap",2,ImGuiTableFlags_ScrollY|ImGuiTableFlags_Borders|ImGuiTableFlags_SizingStretchSame)) { diff --git a/src/main.cpp b/src/main.cpp index 6bc7d960..a16bce1c 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -180,6 +180,7 @@ TAParamResult pVersion(String) { printf("- MAME MSM5232 core by Jarek Burczynski and Hiromitsu Shioya (GPLv2)\n"); printf("- MAME MSM6258 core by Barry Rodewald (BSD 3-clause)\n"); printf("- MAME YMZ280B core by Aaron Giles (BSD 3-clause)\n"); + printf("- MAME GA20 core by Acho A. Tang and R. Belmont (BSD 3-clause)\n"); printf("- QSound core by superctr (BSD 3-clause)\n"); printf("- VICE VIC-20 by Rami Rasanen and viznut (GPLv2)\n"); printf("- VERA core by Frank van den Hoef (BSD 2-clause)\n");