Commit Graph

1350 Commits

Author SHA1 Message Date
James Alan Nguyen b8d9fab745 Start .y12 (Gens KMod/Kaneda) patch dump import 2022-04-24 00:29:33 +10:00
James Alan Nguyen 0f47a3ed7b Fix DT range 2022-04-23 23:40:58 +10:00
James Alan Nguyen 8ad827478c #79: OPM complete for now 2022-04-23 21:48:18 +10:00
James Alan Nguyen 3550ad512a OPM import: Fix reset read procedural flow 2022-04-23 20:20:29 +10:00
James Alan Nguyen f716ac262d #79: OPM import progress and start everything else 2022-04-23 19:52:09 +10:00
tildearrow f6b34a5bb0 huh? 2022-04-23 04:25:22 -05:00
tildearrow dd80cb8b55 what the heck 2022-04-22 17:42:42 -05:00
tildearrow 943e013cb4 YM2612: new pitch slide formula
finally nailed it (almost)
2022-04-22 16:46:24 -05:00
tildearrow 8db53faf72 new FM frequency calculation experiments 2022-04-22 04:23:52 -05:00
tildearrow 4195715dc0 use good default instrument when adding ins 2022-04-21 02:29:20 -05:00
tildearrow 79fa8f1d02 better default instrument for OPL/OPLL
no longer silence
2022-04-21 02:24:06 -05:00
tildearrow 1a81c6c3e7 VRC6: saw volume 63 2022-04-19 21:55:13 -05:00
tildearrow d4380e1524 GUI: add an effect list window 2022-04-19 18:44:05 -05:00
tildearrow b6026e76c5 SMS: fix noise pitch being odd on linear pitch off
issue #379
2022-04-19 18:10:43 -05:00
tildearrow 7767881ca7 VRC6: fix saw column not yielding saw type ins
fixes #374
2022-04-19 13:59:17 -05:00
tildearrow f550bd82dd possibly fix #373 2022-04-18 16:21:00 -05:00
tildearrow cc5013f3dc possibly fix OPl3 per-channel audio export 2022-04-18 04:42:51 -05:00
tildearrow afa59a27ff fix note preview for ADPCM-A 2022-04-18 04:16:59 -05:00
tildearrow b8c790bf79 dev84 - new compat flag and store macro modes 2022-04-18 00:52:29 -05:00
tildearrow fc8a130c71 implement panning macro
except for QSound
2022-04-17 14:15:57 -05:00
tildearrow 5e7a4eae16 VERA: finally proper volume 2022-04-17 05:01:54 -05:00
tildearrow 27698892d2 do I have amnesia or what 2022-04-17 01:37:57 -05:00
tildearrow 211a4b1821 C64: fix portamento not working... 2022-04-17 01:37:33 -05:00
tildearrow 496031a41f
Merge pull request #370 from AYCEdemo/vgmfix
VGM: Support ROM data in the second chip
2022-04-17 01:19:21 -05:00
James Alan Nguyen d1fadf1076 Address review comments take 2 2022-04-17 15:54:00 +10:00
James Alan Nguyen ac656f07bb Merge branch 'master' into feature/More-OPL-Patch-Support 2022-04-17 15:41:18 +10:00
tildearrow 6450a5323a fix preview of sample instruments 2022-04-16 22:26:41 -05:00
tildearrow 164d56a21f YM2151: implement panning macro i think 2022-04-16 18:35:35 -05:00
Natt Akuma d16d1260cb VGM: Support ROM data in the second chip 2022-04-16 22:54:01 +07:00
tildearrow b4ac5c7e6a implement pitch macro 2022-04-16 01:39:40 -05:00
tildearrow af41e56acc Lynx: set freqChanged to false! 2022-04-16 00:39:03 -05:00
tildearrow d0c76e020c GUI: more note preview fixes 2022-04-16 00:10:52 -05:00
tildearrow 6b294933bc VGM export: fix it under low-latency mode 2022-04-15 22:27:44 -05:00
tildearrow b48a2368be more low-latency mode work
playSub() runs at normal tick rate
2022-04-15 22:22:47 -05:00
James Alan Nguyen a8201fa535 Address review comments 2022-04-16 09:37:26 +10:00
James Alan Nguyen 836fb57f14 Merge branch 'master' into feature/More-OPL-Patch-Support 2022-04-16 09:11:45 +10:00
tildearrow 98b9bd32b9 static_assert() on cmdName 2022-04-15 16:10:57 -05:00
tildearrow fd3d57b1cb even more improvements to low-latency mode 2022-04-15 15:01:11 -05:00
tildearrow 45460df96d improve low-latency mode strategy 2022-04-15 14:38:25 -05:00
tildearrow eb70086234 sample 8-bit blep resample fix 2022-04-15 14:38:13 -05:00
James Alan Nguyen c3ca175e46 Nitpicky cruft cleanup. 2022-04-15 22:21:03 +10:00
James Alan Nguyen c3b393004d Fix for -Werror o/ o/ o/ 2022-04-15 22:21:03 +10:00
James Alan Nguyen c431add35b BNK - Fix sustain flag 2022-04-15 22:20:46 +10:00
James Alan Nguyen 7e692eb073 Checkpoint: BNK presets now loading and also refactoring duplicated operations. 2022-04-15 22:20:46 +10:00
James Alan Nguyen 29ed73a157 Start BNK 2022-04-15 22:20:46 +10:00
James Alan Nguyen ee14f0fa8c SBI fixes:
- Support 2OP\x1A header (used in some third party implementations)
- Include 2op pair for Freq Monster 801 6op (4+2op) patches.
- Fall back to filename if no internal patch name found.
2022-04-15 22:20:46 +10:00
tildearrow 96715ed88c add experimental low-latency mode
do not use (yet)!
2022-04-15 05:37:23 -05:00
tildearrow d47a59f5f0 implement pitch macro
TODO: test!
2022-04-15 03:37:16 -05:00
tildearrow c743a9e96a implement phase reset macro on supported systems 2022-04-15 03:16:14 -05:00
tildearrow a530934671 fix retrigger issue in sample instruments 2022-04-15 01:26:44 -05:00
tildearrow 397ab43ffd C64: better muting strategy
now directly inside reSID rather than in the DivDispatch
fixes #285
2022-04-15 01:20:09 -05:00
tildearrow b77b9e61ec the ugliest way to fix klisje paa klisje 2022-04-15 00:47:25 -05:00
tildearrow 3e15a066f8 Soundtracker .mod loading support
this required a re-organization of DivEngine::load() but it works
eventually we'll be able to load other file formats this way
2022-04-15 00:45:55 -05:00
tildearrow 68445435f9 fix several misc issues 2022-04-14 18:25:59 -05:00
tildearrow 9795bca2ca fix audio export not aborting in per-channel mode 2022-04-14 02:26:47 -05:00
tildearrow cc1933dcbb export ExtCh op channels as a group
in per-channel audio export
2022-04-14 02:16:08 -05:00
tildearrow 8ce8e87922 VERA: halve PCM volume
this should be good
2022-04-14 02:04:18 -05:00
tildearrow 3707a86f42 VERA: 4x the volume 2022-04-14 01:51:21 -05:00
tildearrow 2e2fafd878 GUI: add metronome volume setting 2022-04-13 02:29:07 -05:00
tildearrow fd723763f6 fix serious issue! 2022-04-13 00:35:38 -05:00
tildearrow fbf7f9304e dev83 - yet another E1xy/E2xy fix
and 17xx fix in ExtCh
2022-04-13 00:34:00 -05:00
tildearrow 9bd8aef538 SMS: fix note slides on upper notes
hopefully this doesn't break anything
2022-04-12 21:30:35 -05:00
tildearrow 8702effbb9 prepare for storing other details 2022-04-12 15:39:01 -05:00
tildearrow a20861559b implement .dmc loading 2022-04-12 03:34:53 -05:00
tildearrow ea463e4dfd
Merge pull request #352 from OPNA2608/add/ff_import
Add FF bank import
2022-04-12 02:43:16 -05:00
tildearrow 455cccdef0 GUI: sample improvements
- resample change C-4 note
- add duplicate option
2022-04-12 02:15:12 -05:00
tildearrow 3d94aef14b WaveSynth: remove to-do 2022-04-12 01:51:45 -05:00
tildearrow 463090717b Amiga: what the hell? 2022-04-12 01:26:14 -05:00
tildearrow 24209c7853 dev82 - amiga wavetables
closes #16 (yay!)
2022-04-12 01:19:00 -05:00
tildearrow 014e86d3d1 add missing license headers 2022-04-12 00:18:29 -05:00
tildearrow e77ecfd04b N163: implement wave synth
I hope this does not break any songs
2022-04-12 00:17:34 -05:00
tildearrow ef5953cda5 don't store the upper 24 bits of FM macro values
those are unnecessary (no FM parameter ever goes above 255)
2022-04-11 22:37:34 -05:00
tildearrow 456be8a08f Merge branch 'ins_fix' of https://github.com/cam900/furnace into cam900-ins_fix 2022-04-11 22:36:13 -05:00
tildearrow 8407a7d3a4 add several TODO comments
self-note: check this one after you come back!
2022-04-11 18:12:05 -05:00
cam900 0bba063437 Fix possibly breaks instrument loading 2022-04-11 21:15:52 +09:00
cam900 a454afcd19 Fix possible instrument loading fix 2022-04-11 21:08:58 +09:00
tildearrow d2a8b028e8
Merge pull request #354 from cam900/n163_demultiplex
Add support of N163 demultiplexed output
2022-04-11 02:38:17 -05:00
tildearrow 39784bc7c2 YMU759 samples at 48KHz 2022-04-11 01:58:41 -05:00
tildearrow 8a49522e59 beta 1-3 .dmf loading
i did it
2022-04-11 01:41:45 -05:00
tildearrow 6b627ab885 TOOK 2022-04-10 22:16:42 -05:00
tildearrow fddd05dc1a improve logging facility
we have a log viewer within the program now
2022-04-10 22:12:02 -05:00
tildearrow 4ae13c15e6 get rid of <list> 2022-04-10 18:07:30 -05:00
tildearrow 09dec38407 Merge branch 'macro' (#353) 2022-04-10 17:26:15 -05:00
tildearrow 5f526f4b6e add playSub time log 2022-04-10 17:24:41 -05:00
tildearrow 51761bc6df part 3 - C64 mishap 2022-04-10 16:53:43 -05:00
tildearrow 51207e58ad part 2 - finally 2022-04-10 16:52:03 -05:00
tildearrow c13358d96f part 1 2022-04-10 15:31:32 -05:00
OPNA2608 91d8c48542 Add FF bank import 2022-04-10 14:16:33 +02:00
cam900 86b523a83e Revert unnecessary changes 2022-04-10 20:24:31 +09:00
cam900 e6d74766ca Add support of N163 demultiplexed output
so, there's to way for reduce N163 noises: reduce channel limit and demultiplex
* channel limit is runtime changeable and it makes some usable effects with disable demultiplex
* demultiplex is used for "non-ear destroyable" emulators, but less hardware accurate. (when LPF and RF filter is not considered)
Furnace support both after this, You can choose output behavior via configuration flag.
2022-04-10 20:22:49 +09:00
cam900 78b88d61ce Fix format breaking 2022-04-10 18:45:55 +09:00
cam900 075ec9b6de Read and Write this 2022-04-10 18:38:48 +09:00
cam900 518841c17e Fix FM layout in "Compact" mode, Prepare for per-operator on/off control on FM (possibly controllable with phase reset macro?) 2022-04-10 18:36:04 +09:00
cam900 b167034e06 Merge remote-tracking branch 'upstream/master' into macro 2022-04-10 17:29:36 +09:00
cam900 2e6193706a Fix value fill 2022-04-10 17:26:50 +09:00
tildearrow e23dcd6e1b implement hard reset on OPM/OPZ/OPNB 2022-04-10 03:04:31 -05:00
cam900 228822e19e Fix signed type issue 2022-04-10 16:43:32 +09:00
cam900 68cf969600 Merge remote-tracking branch 'upstream/master' into macro 2022-04-10 16:34:23 +09:00
tildearrow f42855f170 add 30xx effect to hard reset envelope
currently only for 2612!
2022-04-10 02:11:36 -05:00
cam900 4b912fd145 Code style 2022-04-10 15:50:59 +09:00
cam900 13bdf2d86d Prepare for FMS2, AMS2 macro for YM2414 2022-04-10 15:16:51 +09:00
cam900 ae4f005d67 Merge remote-tracking branch 'upstream/master' into macro
# Conflicts:
#	src/engine/platform/c64.cpp
#	src/gui/insEdit.cpp
2022-04-10 14:47:10 +09:00
cam900 d3e5efe834 Prepare for macro refactoring 2022-04-10 14:01:55 +09:00
tildearrow 38ca437190 DC offset improvements 2022-04-09 18:25:25 -05:00
tildearrow 46bf69769b
Merge pull request #331 from OPNA2608/msvc/sane_warning_level
Resolve/Mute MSVC warnings, enable WAE for MSVC
2022-04-09 15:26:58 -05:00
OPNA2608 b6fb3820da Remove unneeded includes
Some are harmless, some screw with SDL's standard includes due to preceeding `_USE_MATH_DEFINES`.
2022-04-09 21:10:15 +02:00
OPNA2608 4c19a973ef Fix for C4805: '|': unsafe mix of type 'unsigned char' and type 'bool' in operation 2022-04-09 10:54:06 +02:00
OPNA2608 82d893082c Fix for C4005: '_CRT_SECURE_NO_WARNINGS': macro redefinition 2022-04-09 10:54:06 +02:00
tildearrow 785ac8d1a7 small oscBuf fix 2022-04-09 02:45:06 -05:00
tildearrow 7bf2a3ea1a GUI: prepare for oscilloscope improvements 2022-04-09 02:42:58 -05:00
tildearrow 320250b831 MIDI out improvements 2022-04-09 01:50:44 -05:00
tildearrow 9e0e8f3345 dev80 - increase song limits
up to 256 patterns
up to 256 orders
2022-04-08 17:21:36 -05:00
tildearrow 0fcc73b6c6 WaveSynth: implement more effects 2022-04-08 16:03:54 -05:00
tildearrow 48e8e49ba8 whoops! 2022-04-08 12:21:42 -05:00
tildearrow 65f893822a dev79 - wave synth data storage
also wave synth works on swan and X1-010 now
however it's untested on X1 because i wrote it in bed
2022-04-08 04:34:39 -05:00
tildearrow 26dca41b63 FDS: wave synth 2022-04-08 02:59:58 -05:00
tildearrow 3b7e9d2929 BubSys: bring on the wave synth 2022-04-08 02:42:33 -05:00
tildearrow 5bd076d13e initial bring-up of the wave synth
issue #16
2022-04-08 02:11:33 -05:00
tildearrow 0c1e2ddcb0 OPL: fix OPL2 not having waveforms 2022-04-07 20:48:34 -05:00
tildearrow 5d52ef7f00 support .dmf with 6-bit wavetables 2022-04-07 20:13:11 -05:00
tildearrow 500ce8086d GUI: initial wave synth UI 2022-04-07 18:27:17 -05:00
tildearrow 4dfe9f97fb prepare for wavetable synth 2022-04-07 15:46:48 -05:00
tildearrow dd6229a6b9 OPZ: more work 2022-04-07 01:44:27 -05:00
tildearrow ad09254cf4 dev78 - new compat flag that fixes ExtCh 2022-04-07 01:14:34 -05:00
tildearrow 96d45dafb2 OPZ: same 2022-04-07 01:04:35 -05:00
tildearrow e1b77d7e2b OPM: if the LFO rate is 0, don't clock the counter 2022-04-07 01:03:16 -05:00
tildearrow 78cd99af32 update ymfm 2022-04-07 00:57:52 -05:00
tildearrow b162c09f7c GUI: OPZ instrument editor work - dev77 2022-04-07 00:45:53 -05:00
tildearrow 530327383a initial OPZ bring-up
even emulation is incomplete and one thing is making me tired...
2022-04-06 22:56:06 -05:00
tildearrow 9345576fc3 MMC5: fix 12xx not working 2022-04-06 22:55:24 -05:00
tildearrow 2e327953e8 YM2610(B): AY unification
as of now the SSG part of these chips is handled by a DivPlatformAY8910
within the DivPlatformYM2610.
this means less code duplication and therefore prepares for
OPN/OPNA support.
2022-04-06 18:03:30 -05:00
Natt Akuma ba8ee96069 VIC-20: Make noise state consistent across inits 2022-04-06 19:11:45 +07:00
tildearrow 9d653b58b3 hopefully fix MSVC build 2022-04-06 04:24:20 -05:00
tildearrow 2da96a7e76 initial MMC5 bring-up 2022-04-06 00:34:12 -05:00
tildearrow 280cbb3e39 FDS: possibly final work
the last thing left to do is the filter, but everything works now
2022-04-05 18:18:14 -05:00
tildearrow 4ba50b433a FDS: .dmf wavetables will be 6-bit soon 2022-04-05 15:14:48 -05:00
tildearrow 258a905aaa harden .dmf loader
issue #325
2022-04-04 14:15:26 -05:00
tildearrow 3a7a132f02 harden Furnace file loader
issue #325
2022-04-04 14:04:36 -05:00
tildearrow 81150d96fa FDS: add FDS ins type auto-detection on .dmf 2022-04-04 04:57:38 -05:00
tildearrow ccb8d3d355 dev76 - format changes
- 8 more macros
- FDS instrument data
2022-04-04 04:47:52 -05:00
tildearrow eee2500b5c FDS: effect names and register sheet 2022-04-04 00:47:27 -05:00
tildearrow 4ec91b8b42 fix .fui instruments not loading! 2022-04-04 00:12:11 -05:00
tildearrow ac3772c024 initial FDS bring-up 2022-04-03 22:37:16 -05:00
tildearrow d112cd0c68 what? 2022-04-03 17:22:44 -05:00
tildearrow 3a59e260d8 prepare for handling of FDS .dmf 2022-04-03 17:14:12 -05:00
tildearrow d63ddda402 FDS preparation work DOES NOT COMPILE 2022-04-03 16:02:25 -05:00
tildearrow 109f80d4da re-organize instrument loading code 2022-04-03 13:53:34 -05:00
tildearrow 82ae2bf877 fix version 9 .dmp -_- 2022-04-03 02:34:35 -05:00
tildearrow 5ff1c9d70d OPN ext ch: fix mute being overridden when seeking 2022-04-03 02:28:46 -05:00
tildearrow 6567d29450 separate instrument file ops 2022-04-03 02:15:04 -05:00
tildearrow e44d081adc prepare for .opm support
goodbye addInstrumentFromFile
hello instrumentFromFile + addInstrumentPtr

these changes are required to allow loading instrument banks
2022-04-03 01:56:49 -05:00
tildearrow ffb536846b fix .dmp loading 2022-04-02 17:37:43 -05:00
tildearrow 81c8bf4e59 add ability to select VGM version when exporting
by default it is 1.71 but please tell me if you want this to be changed
2022-04-01 21:40:32 -05:00
tildearrow 13d08b3cb6 maybe fix another audio export crash 2022-04-01 16:31:06 -05:00
tildearrow dfb4f211c1 PC speaker: volume macro (finally) 2022-04-01 13:47:58 -05:00
tildearrow abd5dd3a12 TODO: rewrite getSystemSongName 2022-04-01 13:02:37 -05:00
tildearrow 251da3a9d0 dev75 - MIDI input improvements (mostly) 2022-04-01 05:24:35 -05:00
tildearrow ffb01dd19c Revert "release 0.6pre0"
This reverts commit f7566455c2.
2022-04-01 05:20:00 -05:00
tildearrow f7566455c2 release 0.6pre0 2022-04-01 04:45:06 -05:00
tildearrow 4b436ef1fc and more MIDI input refinements 2022-04-01 02:21:10 -05:00
tildearrow 052dcb2576 implement more MIDI stuff 2022-04-01 01:50:01 -05:00
tildearrow a08f7507fd N163: don't auto-scale volume 2022-03-31 23:11:02 -05:00
tildearrow 6d1d91ca68 AY8930: add TEST register effect 2022-03-31 17:14:45 -05:00
tildearrow 2d6a3b93d8 VRC6: change default saw volume 2022-03-31 15:40:46 -05:00
tildearrow d321292543 separate VRC6 and VRC6 saw ins types 2022-03-31 15:25:58 -05:00
tildearrow f689409f02 kind of MIDI output 2022-03-31 03:33:05 -05:00
tildearrow 45ce940d66 better MIDI and note input handling
closes #147
2022-03-31 01:51:57 -05:00
tildearrow 6f3b9f2e5d VRC6: changes around volume macro 2022-03-30 22:55:55 -05:00
tildearrow cccf90d417 OPL: implement VGM export fake reset 2022-03-30 04:27:11 -05:00
tildearrow cc152bc3d0 OPL: partially enable VGM export
it works except for fake reset
2022-03-30 03:36:16 -05:00
tildearrow 12ade13580 SegaPCM: fix pitched samples on VGM export
fixes #291
2022-03-30 00:33:29 -05:00
tildearrow fb70afe50d
Merge pull request #329 from cam900/n163_macro
Minor N163 macro fix
2022-03-30 00:28:01 -05:00
tildearrow 80d67f9b23 BubSys: fix muting 2022-03-30 00:15:42 -05:00
tildearrow af6bbf9493 OPN: fix LFO effect not working in ext ch mode 2022-03-30 00:09:53 -05:00
tildearrow 7e34c7746e change the porta logic a bit 2022-03-30 00:08:04 -05:00
tildearrow a43034f559 OPN: fix portaPause not resetting on new note 2022-03-29 23:58:50 -05:00
cam900 6eba483cba Minor N163 macro fix 2022-03-30 08:28:38 +09:00
tildearrow c26123e782 VIC-20: wait what? 2022-03-29 14:11:57 -05:00
tildearrow 5cea8ed3e3 QSound: change volume macro formula 2022-03-29 02:28:40 -05:00
tildearrow 964039c8db fix file export crash
closes #323
2022-03-29 00:25:28 -05:00
tildearrow 4825fe7adb more work 2022-03-28 18:19:47 -05:00
tildearrow 08910d37b2 oh yes more MIDI work 2022-03-28 15:24:09 -05:00
cam900 1019faf34c Fix initial channel, Minor optimization for N163 2022-03-29 04:56:35 +09:00
tildearrow 3561d866fb
Merge pull request #317 from cam900/vrc6
Minor optimization
2022-03-28 13:23:52 -05:00
cam900 1ca63bdc09 Fix N163 2022-03-29 00:31:17 +09:00
tildearrow 5360cd73f4 earliest MIDI input! (no note input tho) 2022-03-28 03:46:50 -05:00
cam900 5060c0c140
Merge branch 'tildearrow:master' into vrc6 2022-03-28 12:39:00 +09:00
cam900 7bd39603a9 Further fix 2022-03-28 12:31:42 +09:00
tildearrow 13a8873050 VRC6: period tuning fixes
now it is identical to the NES channels
2022-03-27 22:30:29 -05:00
tildearrow 4422ff7695 Merge branch 'vrc6' of https://github.com/cam900/furnace into cam900-vrc6 2022-03-27 22:16:04 -05:00
tildearrow 075f758e4d Namco 163 refinements 2022-03-27 22:04:01 -05:00
tildearrow c4fc797578
Merge #304 - DO NOT COMPILE
Add Namco 163 Support
Not final - changes needed
2022-03-27 21:35:58 -05:00
cam900 79d6433006 Merge branch 'master' of https://github.com/tildearrow/furnace into vrc6 2022-03-28 10:11:09 +09:00
tildearrow a7647a1d57 nice troll 2022-03-27 13:38:28 -05:00
cam900 5c922a090e Fix enable bit correction 2022-03-28 01:43:43 +09:00
cam900 44b4c5c5aa Spacing 2022-03-28 01:23:52 +09:00
cam900 5c5c9199c7 Channel enable bit is inverted 2022-03-28 01:22:24 +09:00
cam900 ef104ce0b0 Add VRC6 support
2 Pulse channels:
- 8 level pulse duty cycle, DAC mode(just ignores duty cycle)/pulse wave mode, 4 bit volume.
- Furnace support PCM playback in pulse channels with duty cycle ignore mode.

Sawtooth:
- nothing but 6 bit volume (8 bit accumulator in technically) and 12 bit frequency (periodic).

VRC6 instrument:
- 6 bit Volume macro for finer sawtooth volume handling, also 3 bit Duty cycle macro for pulse channels.

Duty, PCM mode command and Duty macro affects for pulse channel only.
2022-03-28 01:06:56 +09:00
tildearrow 5dac609d92 Genesis: better DAC write algorithm
only write DAC if there aren't too many queued writes
2022-03-27 01:47:27 -05:00
tildearrow a58c6da19d Amiga: oops 2022-03-27 00:29:37 -05:00