Commit graph

2824 commits

Author SHA1 Message Date
tildearrow d406380773 SoundUnit: fix some effect definitions 2022-08-22 14:20:47 -05:00
aurora 0e847dc1aa add setting for choosing whether to save window position 2022-08-22 22:17:19 +03:00
aurora 8b3c4a84a8 implement bounds check for window spawning 2022-08-22 22:05:16 +03:00
tildearrow 3b6fa212b8 implement macro speed/delay 2022-08-22 03:52:32 -05:00
tildearrow 2650fe609f dev111 - many macro changes
- max macro length is now 255
- loop/rel pos is now unsigned (255 = no)
- prepare for macro speed/delay
2022-08-22 02:13:33 -05:00
tildearrow 16309a8429 allow it 2022-08-22 00:20:40 -05:00
tildearrow 629cca9df1 ECxx 2022-08-22 00:01:21 -05:00
tildearrow 38afdd3378 dev110 - add cut/delay effect policy compat flag
INCOMPLETE!!!
2022-08-21 23:56:58 -05:00
tildearrow b223bc80de YM2612: #581 2022-08-21 20:06:01 -05:00
tildearrow 10aaf7f0cb YM2612: #580 2022-08-21 19:57:01 -05:00
aurora 58353398ec Merge branch 'master' of https://github.com/NatsumiFox/furnace 2022-08-22 03:50:50 +03:00
aurora e88e0a4e4e GUI: Remember window x/y position and maximized state. Warning: This may cause issues when windows are re-ordered. Is there a way to fix windows spawning outside of screen boundaries? 2022-08-22 03:47:00 +03:00
tildearrow 05b5265bbb YM2612: #632 2022-08-21 19:46:48 -05:00
tildearrow e226d09807 TIA: fix 10xx not working when changing instrument 2022-08-21 17:15:05 -05:00
tildearrow 808832864c add another demo song
by Raijin
2022-08-21 16:53:45 -05:00
tildearrow e39086ab11 Merge branch 'master' of github.com:tildearrow/furnace 2022-08-21 16:35:05 -05:00
tildearrow 96feeced86 to-do 2022-08-21 16:34:43 -05:00
cam900 16d7cd3320 More docs 2022-08-21 14:08:14 +09:00
cam900 b96ad65d58 Merge branch 'master' of https://github.com/tildearrow/furnace 2022-08-21 14:07:37 +09:00
cam900 ba126b820a Add preset
MSX + Neotron
MSX sound expansion with YM2610 or YM2610B (optional), from Neo Geo and bunch of arcade boards - especially Taito's.

MSX + SIMPL
Covox speech thing-ish 8bit DAC for MSX.
2022-08-21 14:07:24 +09:00
tildearrow f2950fa1d6 Revert "More preparing, Add OPL type docs"
This reverts commit 0b2f491997.

do not add a constructor to any of the DivPlatforms.
it will break things.
2022-08-20 23:35:13 -05:00
cam900 0b2f491997 More preparing, Add OPL type docs 2022-08-21 13:10:46 +09:00
cam900 2863f1662f Fix pitch 2022-08-21 12:57:53 +09:00
cam900 dfb663d876 Fix this for preparing OPL3-L and OPL4 2022-08-21 12:46:56 +09:00
tildearrow 1b2d2fdb98 system 2022-08-20 17:04:57 -05:00
tildearrow 0f92c4e35a GUI: fix change ins applying to off and release 2022-08-20 04:46:45 -05:00
tildearrow f01be34b5e GUI: highlight current macro position
not for op macros (yet)
2022-08-20 01:10:30 -05:00
tildearrow 24e3dec84f another big-endian fix! 2022-08-19 22:37:54 -05:00
tildearrow 4d057d3328 dev109 - define SNES instrument params 2022-08-19 19:42:01 -05:00
tildearrow c74d7fab37 dev108 - add SN period range compat flag
there's room for possible improvement
2022-08-19 18:46:19 -05:00
tildearrow 5fe3a3c35a prepare for moving chips 2022-08-19 16:25:32 -05:00
tildearrow 25820ae987 one moreeee big-endian fix 2022-08-19 14:36:22 -05:00
tildearrow 27555c3c0a aaaand more fixing 2022-08-19 04:45:59 -05:00
tildearrow 94cf589e92 GUI: prepare for chip manager window 2022-08-19 04:41:45 -05:00
tildearrow 3787d2ae87 one more big endian fix 2022-08-19 04:41:32 -05:00
tildearrow 7f80b5f6a3 dev107 - Merge pull request #639 from tildearrow/es5506_inst
Implement ES5506 instrument type
2022-08-19 01:28:24 -05:00
tildearrow 6527840556 Fix Initializer Again 2022-08-19 01:27:21 -05:00
tildearrow 5c7338930f fix big-endian build (i think) 2022-08-19 01:26:11 -05:00
cam900 42006e338c Fix Initializer 2022-08-19 14:49:10 +09:00
tildearrow 142c21e20b partially fix big-endian build
samples are the next thing to tackle
2022-08-19 00:23:45 -05:00
tildearrow 9c80f91870 relative 2022-08-19 00:00:10 -05:00
tildearrow 952a2a66e8 store ES5506 params in format 2022-08-18 23:55:29 -05:00
cam900 13158b86cf Clamp height of panning macro when higher than 128
so, current filter macro behavior is:
"Fixed" option enabled: override current filter value to macro value
"Fixed" option disabled: current filter value = filter value determined from ES5506 tab or command ± filter macro value
2022-08-19 12:03:25 +09:00
tildearrow 9bd3f6c34b remove delta mode entirely
so it was used on the filter but i'm not sure why couldn't it be
done in absolute mode instead
2022-08-18 18:36:22 -05:00
tildearrow c473f94f0d remove delta mode
it's unnecessary in my opinion

unless I am missing something
2022-08-18 18:21:51 -05:00
tildearrow 3f14625361 Revert "Fix initializing"
This reverts commit 0b09408ee8.
2022-08-18 18:05:45 -05:00
tildearrow aa1e34ffd3 Revert "Fix duplication"
This reverts commit 446e62c69f.
2022-08-18 18:05:34 -05:00
tildearrow 90633b2cbc Revert "oops"
This reverts commit 1f65b104f2.
2022-08-18 18:05:31 -05:00
tildearrow fa6a61e493 Revert "Fix panning macro height"
This reverts commit 087ff27f06.
2022-08-18 18:05:13 -05:00
cam900 087ff27f06 Fix panning macro height 2022-08-19 00:18:46 +09:00
cam900 1f65b104f2 oops 2022-08-18 21:30:08 +09:00
cam900 446e62c69f Fix duplication 2022-08-18 21:29:48 +09:00
cam900 0b09408ee8 Fix initializing 2022-08-18 21:28:25 +09:00
cam900 5190c6daab Implement ES5506 instrument type
ES5506 has these features:
- 16 bit independent volume register per left/right output (Logarithmic, 4 LSB is for envelope)
- Programmable filter per each channels, 4 pole, 4 filter mode and 2 16 bit coefficient register (4 LSB is for envelope)
- Hardware envelope

Add more than 2 macro type support
"Delta" macro type: Use delta from previous value
2022-08-18 21:20:10 +09:00
Natt Akuma 7c42453422
Rewrite per-system effect handling (#548)
* Rewrite per-system effect handling

* fix build

* C64: fix fine cutoff regression

* fix some more crashes

Co-authored-by: tildearrow <tildearrow@protonmail.com>
2022-08-18 01:26:22 -05:00
tildearrow 4e7eb728db GUI: fix moving GB HW seq step down 2022-08-17 18:37:16 -05:00
tildearrow 55d12e1ada GUI: finally re-organize the GB env UI 2022-08-17 18:29:40 -05:00
tildearrow 89eace2472 GUI: prepare for channel header customization opti
ons
2022-08-16 13:53:51 -05:00
tildearrow 8a3358ba5a GUI: pattern manager, part 1 2022-08-16 04:19:00 -05:00
tildearrow d1c5a4725b add option to save unused patterns
closes #106

also prepare for the pattern manager window
2022-08-16 03:42:17 -05:00
tildearrow edddff8431 prepare for pattern optimization 2022-08-16 03:19:16 -05:00
tildearrow 976e193309 SoundUnit: add 1-bit PDM rev emulation 2022-08-16 02:08:10 -05:00
tildearrow fcb8fba77b GUI: fix particle commands 2022-08-16 02:07:57 -05:00
tildearrow 8734005b23 SoundUnit: fix switch roles mode 2022-08-15 23:20:26 -05:00
tildearrow 77109c3832 fix instrument move/del screwing up sub-songs 2022-08-15 22:54:31 -05:00
tildearrow 5fe661e9a3 allow rates down to 1Hz 2022-08-15 22:40:04 -05:00
tildearrow 474dfa2587 Game Boy: fix bug involving hw sweep and zombie 2022-08-15 22:36:26 -05:00
tildearrow f86b66b4b7 PET: fix missing pitch macro 2022-08-15 21:46:36 -05:00
tildearrow e5e024c5f9
Merge pull request #633 from djtuBIG-MaliceX/hotfix/WOPL-OPLI-2x2op-missing-FeedConnect-fix
WOPL/OPLI Load bugfix for 2nd 2op pair
2022-08-15 05:35:15 -05:00
tildearrow 20c5e14f26 FC loader: the final fixes for this night 2022-08-15 04:22:14 -05:00
tildearrow 206b3af12a FC loader: aaaaaaand more fixes 2022-08-15 03:40:04 -05:00
tildearrow bef8cf5f5f FC loader: sample loop point and more fixes 2022-08-15 03:32:27 -05:00
tildearrow 4663534fa3 FC loader: preset waveforms, vibrato and stuff 2022-08-15 03:18:54 -05:00
tildearrow 15b4294532 FC loader: fix wave, sample and freq seq loading 2022-08-15 02:01:08 -05:00
tildearrow 779fc889c0 fix system definition for ES5506 - again 2022-08-14 23:34:57 -05:00
tildearrow a34c9806cb Game Boy: whoops 2022-08-14 23:30:36 -05:00
tildearrow 1a4a58d970 Merge branch 'master' of github.com:tildearrow/furnace 2022-08-14 23:28:28 -05:00
tildearrow a8d3803efc Game Boy: now fix wave channel volume column 2022-08-14 23:28:15 -05:00
cam900 23276211f5
Fix incorrect info on ES5506 2022-08-15 13:25:31 +09:00
tildearrow f8b3c089a4 Game Boy: fix volume column 2022-08-14 23:07:19 -05:00
tildearrow 9b6730607e OPL: finally fix the carnival night zone bug
TODO: RUN TEST SUITE!
2022-08-14 19:17:03 -05:00
tildearrow cb4417824d YMZ280B: restore panning in forceIns 2022-08-14 14:26:55 -05:00
tildearrow 1b10c547e3 SoundUnit: implement switch roles flag 2022-08-14 14:19:30 -05:00
James Alan Nguyen 6344a1d23f Reported bug - 2nd 2op pair did not read ALG and FB registers to instrument patch 2022-08-14 16:09:31 +10:00
tildearrow 774a949cca GUI: fix labels being empty 2022-08-13 18:16:24 -05:00
tildearrow bb5cee4a66 GUI: add pattern label customization settings 2022-08-13 18:00:29 -05:00
tildearrow ee16d20047 add demo song
by brickblock369
2022-08-13 15:53:47 -05:00
tildearrow 02fb5abc02 add ability to save ins/wave as .dmp/.dmw
also saving wavetables as raw data
2022-08-13 15:43:13 -05:00
tildearrow 041a76ad81 raw sample import fixes 2022-08-13 06:25:11 -05:00
tildearrow 91f9352eaf implement raw sample import
untested
2022-08-13 05:50:36 -05:00
tildearrow ce2d322e47 GUI: add replace for wave/sample and prepare for
raw sample import
2022-08-13 04:17:32 -05:00
tildearrow 2743c60cf3 Game Boy: fix wave channel auto-enable on wave cha 2022-08-12 23:09:34 -05:00
tildearrow 39feda54ac OPZ: volume macro should go to 127 2022-08-12 04:11:17 -05:00
tildearrow b156336216 GUI: fix Game Boy ins edit crashes 2022-08-11 14:27:33 -05:00
tildearrow 00ae5b4142 GUI: fix volume macro always being 15
issue #629
2022-08-11 11:30:45 -05:00
tildearrow 01d1556fb4 GUI: rename "system" to "chip"
"system" made sense when Furnace was a .dmf tracker and had
compound setups like Genesis (YM2612+SN)

however, it doesn't make too much sense now when compared to "chip"
2022-08-11 05:38:31 -05:00
tildearrow 0528f4e7bd Game Boy: possibly fix wave soft env 2022-08-11 05:04:35 -05:00
tildearrow 81482c2f2b QSound: SAMPLE LOOP BUG DEBUG BEGIN 2022-08-11 04:50:16 -05:00
tildearrow 762b3b2928 PCE: per-chan osc DAC mode overflow fix 2022-08-11 02:08:24 -05:00
tildearrow ed98df91d2 turn on proper noise layout by default 2022-08-11 02:05:05 -05:00
tildearrow 7e7a5a8e30 Game Boy: software envelopes, part 4
fixes
2022-08-11 01:34:18 -05:00
tildearrow d30f9bc8a0 Game Boy: software envelopes, part 3
zombie mode
2022-08-11 01:24:53 -05:00
tildearrow 340052cf0a Game Boy: add chip revision flag 2022-08-11 00:46:15 -05:00
tildearrow 92f40774e4 Game Boy: I hate your artificial limitations
fixes a DefleMask demo module
2022-08-10 23:56:25 -05:00
tildearrow 51db06298b Game Boy: fix volume regression 2022-08-10 23:53:47 -05:00
tildearrow 4b18d0920b Game Boy: software envelopes, part 2 2022-08-10 17:02:45 -05:00
tildearrow bccecc4c07 Game Boy: software envelopes, part 1 2022-08-10 16:27:29 -05:00
tildearrow df10b6cc59 Game Boy: hardware sequences, part 3
the previous commit was part 2
2022-08-10 14:16:26 -05:00
tildearrow 28698beaf3 dev106 - Game Boy: implement hw seq
and prepare for software envelope maybe
2022-08-10 01:55:44 -05:00
tildearrow da8f7dabd5 i guess
to anybody who bothers reading the contents of this commit:
who cares? you promised me C163 would become the name
but nobody has bothered to call it C163 for an entire week.

there's no point on pushing a dead idea forward!
2022-08-09 14:53:31 -05:00
tildearrow 2af4992e9b JACK: fix crash when changing buffer size 2022-08-08 00:25:05 -05:00
tildearrow 1c92d23d27 commands view now only displays useful commands 2022-08-07 17:40:01 -05:00
tildearrow b8012344e7 fix possible crash when closing Furnace 2022-08-07 17:37:07 -05:00
tildearrow f80488d9b0 minimize allocations in nextBuf 2022-08-07 17:32:39 -05:00
tildearrow 829db187df Y8950: fix ADPCM per-chan osc I think 2022-08-07 06:24:48 -05:00
tildearrow 800f08b0fd Game Boy: hardware sequences, part 1
still not working! just the UI for it
2022-08-07 06:06:14 -05:00
tildearrow 45196daf95 Game Boy: fix serious typo 2022-08-07 01:32:28 -05:00
tildearrow 1721e1d03e Game Boy: re-enable wave corruption bug emulation 2022-08-07 00:40:26 -05:00
tildearrow 7dad9098b6 Game Boy: fix wave channel 2022-08-07 00:37:35 -05:00
tildearrow ab013291d4 Game Boy: make channel state independent of instru 2022-08-07 00:22:03 -05:00
tildearrow 9f8c96d45b dev105 - prepare for Game Boy hardware sequences
issue #27
2022-08-07 00:03:27 -05:00
tildearrow 47ea8132b2 QSound: limit max frequency to $EFFF
it appears $F000 and beyond cause glitches (#256)
2022-08-06 23:05:54 -05:00
tildearrow 17dba66fa0 MMC5: finally fix PCM linear pitch mode issues 2022-08-06 22:52:39 -05:00
tildearrow 42a0ee13b8 add two demo songs
by psdominator and LVintageNerd
2022-08-06 22:26:18 -05:00
tildearrow 6934a499c1 SoundUnit: actually finish it 2022-08-06 18:23:11 -05:00
tildearrow e0c5029769 Merge branch 'master' of github.com:tildearrow/furnace 2022-08-06 16:24:11 -05:00
tildearrow f03123fd75 SoundUnit: implement missing input line emulation 2022-08-06 16:22:57 -05:00
tildearrow fa66fb1c9a
Merge pull request #622 from djtuBIG-MaliceX/hotfix/opm-loading-discrepancy
Fix OPM load bug relating to AM-ENA values above 1
2022-08-06 14:57:34 -05:00
freq-mod a841296219
Y8950: PCM -> ADPCM
also where the f is my write access
2022-08-06 17:50:15 +02:00
freq-mod b5fa556a38
Merge branch 'tildearrow:master' into wave-edit-tooltip 2022-08-06 17:44:18 +02:00
tildearrow 5534f55f7a dev104 - add "is sample" flag to Sound Unit ins 2022-08-06 04:04:18 -05:00
tildearrow 0946d23883 Game Boy: fix phase reset macro when anti-click is 2022-08-06 00:39:09 -05:00
tildearrow 8a7d352ec6 PCE: fix phase reset macro when anti-click is on 2022-08-06 00:38:24 -05:00
tildearrow 6ec9cceb09 PCE: remove some sample playback clicking 2022-08-06 00:34:28 -05:00
tildearrow a0968aed07 GUI: fix text/binary command stream outs being swa 2022-08-05 03:27:35 -05:00
tildearrow 049ab06544 PCE: add option to pick A/non-A revision of chip 2022-08-04 23:37:28 -05:00
tildearrow 3a18e1e6fc partially implement command stream binary mode 2022-08-04 18:50:52 -05:00
tildearrow 2e41d117d7 fix some of these command hints 2022-08-04 17:47:59 -05:00
tildearrow 67e7e07048 add -cmdout option 2022-08-04 15:18:48 -05:00
tildearrow 09e32c7050 finish command dump hints 2022-08-04 15:14:29 -05:00
James Alan Nguyen 810eabca99 derp limits 2022-08-04 17:50:33 +10:00
James Alan Nguyen edb0f51131 stdint required 2022-08-04 17:43:42 +10:00
James Alan Nguyen b030f8285d Bugfix for OPM file load - correctly handle AM-ENA where value is arbitrarily nonzero 2022-08-04 17:33:36 +10:00
tildearrow d54d853ff8 add a command stream dump option 2022-08-04 00:51:47 -05:00
tildearrow a0d10aa60b Game Boy: implement anti-click 2022-08-03 19:17:18 -05:00
tildearrow 7ec4f7cb9e VGM export: add option to insert pattern change hi
nts
2022-08-03 18:44:45 -05:00
tildearrow eafbf24290 GUI: YM2423 patch names
thanks freq-mod!
2022-08-03 17:31:00 -05:00
tildearrow fce0371756 add "hint" commands 2022-08-03 17:21:47 -05:00
tildearrow 52c3b10373 add getWantPreNote()
currently only C64 system requires this
2022-08-03 16:21:30 -05:00
tildearrow 53120edd99 disable MIDI clock 2022-08-03 14:41:53 -05:00