Commit graph

232 commits

Author SHA1 Message Date
cam900 55c343bd39 Remove outdated note 2024-07-13 21:47:05 +09:00
cam900 00e9ca29fa Revert "Re-split OPL4 PCM instruments due to hardware differences"
This reverts commit 87ac12e143.
2024-07-13 16:28:20 +09:00
cam900 87ac12e143 Re-split OPL4 PCM instruments due to hardware differences
- MultiPCM also has level direct, so it's remained in DivInstrumentMultiPCM. everything else don't support at MultiPCM is moved into DivInstrumentOPL4PCM.
- MultiPCM can't modify ADSR envelope unless reading instrument from ROM, so I decided to remove ADSR envelope macros. these are moved into OPL4 PCM instrument.
- Save/Load of MultiPCM level direct parameter is still disabled until main version update (for disallow crash).
- Also, this PR fixes OPL4 VGM output.
2024-07-13 13:09:10 +09:00
cam900 ec5879f10b Fix pre-porta command 2024-07-13 11:41:28 +09:00
cam900 4d3bbc57b3 Fix getPan 2024-07-13 07:56:23 +09:00
cam900 b1937b9834 Revert and Re-add instrument parameter into multipcm instruemnt
Fix per-channel OSC
2024-07-13 07:34:53 +09:00
cam900 0d14789ac6 Fix Keyon/Off 2024-07-12 18:19:41 +09:00
cam900 62af456840 Fix segmentation fault 2024-07-12 18:00:36 +09:00
cam900 65f48cc574 Add instrument for OPL4 PCM, Macros and Effects
TODO: Phase reset, Keyon/off
2024-07-12 17:37:27 +09:00
cam900 221fa5aa42 Some fleshing out YMF278B
Add OpenMSX YMF278B core option, Expand RAM size option
2024-07-12 12:16:24 +09:00
cam900 876234d749 Fix warning 2024-07-11 20:26:40 +09:00
cam900 6a5a58ad13 Sample playable, but still incomplete 2024-07-11 20:16:41 +09:00
cam900 c08edb1254 Prepare to (very) partially OPL4 support 2024-07-11 15:13:02 +09:00
tildearrow 32a665f2c3 OPL: increase YMF262-LLE write delay
issue #1989
possibly issue #1900
2024-07-04 16:44:23 -05:00
tildearrow 0fd86f33c0 Y8950: fix mute when using ymfm 2024-06-16 15:46:27 -05:00
tildearrow 38e8327f0d OPL: fix OPL3-L rate when using YMF262-LLE
issue #1802
2024-04-30 13:41:33 -05:00
tildearrow 3e87c0a0df OPL: use different strategy for muting drums
issue #1777
2024-03-13 14:58:13 -05:00
tildearrow 0be5835645 memory composition, part 5
almost there
2024-03-06 03:42:21 -05:00
tildearrow 92ec6f6651 memory composition, part 3 2024-03-05 18:55:18 -05:00
tildearrow cf7b5699c1 OPL: fix YMF262-LLE chan osc issue, part 2
issue #1728
2024-02-02 16:49:53 -05:00
tildearrow 731b7a1bd6 OPL: fix YMF262-LLE chan osc, part 1
issue #1728
2024-02-02 16:21:22 -05:00
tildearrow b452641186 Merge branch 'macro-retrigger-effect-tildearow-version'
with rewritten retrigger- erm... RESTART function
2024-01-17 14:48:47 -05:00
LTVA1 7f94cdc930 port macro retrigger to orig Furnace 2024-01-17 15:28:29 +03:00
tildearrow f8187b9a5f dev191 - kind of remove DIV_ALWAYS_SET_VOLUME
it's useless crap I put during the Defle compat days
it serves nearly no purpose nowadays

also why is it a command?
2024-01-16 23:54:32 -05:00
tildearrow 88b42ddd58 update copyright year 2024-01-16 21:26:57 -05:00
tildearrow 0208883fa1 OPL and OPLL vol map 2023-12-17 14:54:38 -05:00
tildearrow e741c6a393 OPL: reduce YMF262-LLE write delay 2023-11-25 03:13:14 -05:00
tildearrow 2558da9418 OPL: YMF262-LLE, part 1 2023-11-25 02:26:59 -05:00
tildearrow 32030d6742 OPL: YM3812-LLE, part 4
Y8950
2023-11-24 15:29:00 -05:00
tildearrow 8500b1b435 OPL: YM3812-LLE, part 3
per-chan osc
2023-11-24 15:16:00 -05:00
tildearrow 817d066a57 OPL: YM3812-LLE, part 2 2023-11-24 04:19:58 -05:00
tildearrow c5f441a83a OPL: YM3812-LLE?! part 1 2023-11-23 18:28:39 -05:00
tildearrow a75a99a808 OPL: ymfm core, part 2 2023-11-23 15:12:22 -05:00
tildearrow 955682b240 OPL: ymfm core, part 1 2023-11-22 19:28:36 -05:00
tildearrow 839dc3cd91 prepare to add channel pair and mode hints 2023-10-05 04:47:14 -05:00
tildearrow 8cac04d917 OPL: fix drum muting 2023-09-13 18:03:22 -05:00
tildearrow 1a520dbf3e more multi-thread fixes
don't use static on acquire()
don't yield at all
run fillBuf() on thread
fix option tooltip as it introduces some overhead
2023-09-07 00:48:26 -05:00
tildearrow bb4de6fcb0 OPL/OPNA/OPNB: fix ADPCM-B freq not being clamped 2023-09-06 18:39:56 -05:00
tildearrow d240066df8 fix issue #1371 2023-08-24 03:25:38 -05:00
tildearrow 31335b95c9 finish it 2023-08-24 03:05:25 -05:00
tildearrow 54934dcfc9 dev167 - fix TL macro
previously, 127 mapped to TL 0
but now 127 maps to TL 127

yeah, the graph will look inverted I know...
2023-08-21 23:57:07 -05:00
cam900 3bafd4f6c0 update via PR comments 2023-07-23 17:39:38 +09:00
cam900 0889a8fe92 Merge branch 'master' of https://github.com/tildearrow/furnace into ymf289b 2023-07-22 10:39:28 +09:00
tildearrow 708c363635 FixedQueue, part 2 2023-07-13 04:09:20 -05:00
tildearrow 9cb1fbcc45 chan osc volume balancing, part 1 2023-06-18 20:00:20 -05:00
tildearrow 29dfeccfe7 change chan osc range - PLEASE READ
as of now the range is ~32768, either from -16384 to 16383, or 0 to 32767.
it previously was -32768 to 32767 (~65536).

this change was made to better suit chips that only output a positive value.
if you are working on a new chip, update your code and shift right by one if necessary.
2023-06-16 17:30:11 -05:00
cam900 0c5a6d9760 Just resample rather than reset 2023-05-13 18:54:05 +09:00
tildearrow 25eb720631 Merge branch 'master' into ymf289b 2023-05-11 16:59:38 -05:00
tildearrow af64f9c141 Y8950: fix missing ADPCM chan osc 2023-04-16 02:10:22 -05:00
tildearrow 99d2199db6 dev152 - sample map notes, part 1 2023-04-07 16:54:05 -05:00
cam900 e694687fff Merge branch 'master' of https://github.com/tildearrow/furnace into ymf289b 2023-02-23 21:15:49 +09:00
tildearrow 47293decd3 OPL: fix missing ADPCM channel in per-chan osc 2023-01-28 18:10:25 -05:00
tildearrow 7bdda990e1 OPL: partially implement new hard reset
it's so late
2023-01-20 04:52:27 -05:00
tildearrow 45faadd4c8 update copyright year 2023-01-19 19:18:40 -05:00
tildearrow 9bbc1e2c82 OPLL/OPL: Seamless Legato Ins Change 2023-01-19 02:45:02 -05:00
tildearrow c1e26ee749 fix more possible crashes when deleting ins
and added a fatal error if implementation is missing
2023-01-19 00:37:37 -05:00
cam900 9ae12241a4 Fix downsampled rate accuracy 2023-01-16 10:25:59 +09:00
cam900 371c82338f Merge branch 'master' of https://github.com/tildearrow/furnace into ymf289b 2023-01-16 10:17:19 +09:00
tildearrow 6c5f9886fb OPL: fix t/hh per-chan osc not being visib in OPL3 2023-01-15 02:10:24 -05:00
cam900 3d345af1b8 Merge branch 'master' of https://github.com/tildearrow/furnace into ymf289b 2023-01-14 12:11:26 +09:00
tildearrow e560838025 OPL/OPLL: expand relative pitch range...
poor Z80
2023-01-13 00:15:37 -05:00
tildearrow 707bbb54ea add effects for rear panning 2023-01-05 03:08:57 -05:00
tildearrow abf2461573 OPL: increase range of pan macro 2023-01-04 19:16:37 -05:00
cam900 68964e384f Spacing 2023-01-05 08:51:44 +09:00
cam900 74e429fae2 Fix pitch 2023-01-05 08:51:25 +09:00
cam900 e5d81bd694 Prepare to YMF289B OPL3-L support 2023-01-05 08:40:44 +09:00
tildearrow fd9b1dd0f5 OPL: quad output
now that we have this new dispatch output method
2023-01-04 18:30:29 -05:00
tildearrow a29f36a5df new dispatch, part 1 2023-01-03 01:09:46 -05:00
tildearrow 3e0dcbb0ae aaaaaaaa 2023-01-02 04:53:37 -05:00
tildearrow 08d2f12dbd prepare new dispatch
will allow for more than 2 outputs
2023-01-01 19:46:08 -05:00
tildearrow 7fa5fecd38 possibly fix retrigger with sample map 2022-12-29 03:12:00 -05:00
tildearrow 2600d4c576 new arp strategy, part 2 2022-12-17 02:10:20 -05:00
tildearrow 6f22ade69a new arp strategy, part 1 2022-12-17 02:07:24 -05:00
tildearrow 3eb3d8a6f1 prepare for new arp strategy 2022-12-17 01:21:08 -05:00
tildearrow 9da46ee8ba implement macro masking 2022-12-17 00:09:56 -05:00
tildearrow c6604ff581 add ability to select custom clock rates 2022-12-04 02:04:42 -05:00
tildearrow cf38680072 chip sample selection, part 4
partially works
2022-11-26 23:50:20 -05:00
tildearrow 3a9349d49a chip sample selection, part 3 2022-11-26 22:11:49 -05:00
tildearrow 85cb64b227 chip sample selection, part 2
add functions to retrieve whether a sample was loaded in chip memory
eventually I'll put warning feedback on the sample list
2022-11-26 18:44:04 -05:00
cam900 90ed617cf6 Prepare for split volume scaling macro to 'log volume only' macro and 'log volume if compatibility flag set' macro 2022-10-28 22:36:50 +09:00
tildearrow 48db9a1d0c chip flags rewrite, part 4 - DO NOT USE
the next part is to drop systemFlagsOld completely
and then to fix the GUI
2022-09-29 20:13:40 -05:00
tildearrow a6e4345863 PLENTY OF TODO WHEN I COME BACK
CRASHES EVERYWHERE
2022-09-25 20:07:21 -05:00
tildearrow 67fc945992 Y8950 regression fix 2022-09-23 23:03:07 -05:00
tildearrow b9a4b568b6 i honestly don't agree with this compat flag 2022-09-23 13:28:57 -05:00
cam900 b05dafe297 Add compatible flag for Y8950 ADPCM Frequency 2022-09-24 00:24:30 +09:00
cam900 e00758d67c Merge branch 'master' of https://github.com/tildearrow/furnace into sample_macro 2022-09-22 23:02:01 +09:00
tildearrow b053d31a6d implement KVS on the rest of FM chips 2022-09-22 01:30:51 -05:00
tildearrow 32cdd81919 OPL: fix chan osc in 4-op mode 2022-09-22 00:01:23 -05:00
cam900 0f5a400b29 Merge branch 'master' of https://github.com/tildearrow/furnace into sample_macro 2022-09-18 00:11:53 +09:00
tildearrow 6b0aee8cf7 OPL: "fix" stereo in OPL1/2 2022-09-16 02:00:42 -05:00
cam900 54dbd0690c Merge branch 'master' of https://github.com/tildearrow/furnace into sample_macro
# Conflicts:
#	src/engine/fileOps.cpp
#	src/engine/platform/lynx.cpp
#	src/engine/platform/rf5c68.cpp
#	src/engine/platform/su.cpp
#	src/engine/platform/x1_010.h
#	src/engine/platform/ym2610.cpp
#	src/engine/platform/ym2610.h
#	src/engine/platform/ym2610b.cpp
#	src/engine/platform/ym2610b.h
#	src/engine/sysDef.cpp
#	src/gui/insEdit.cpp

Add effect command for ADPCM-A global volume, X1-010 Sample bank slot
2022-08-27 17:25:48 +09:00
cam900 4cc79fb49d Prepare for split sample chip instrument
(MSM6258, MSM6295, QSound, Sega PCM, ADPCM-A, ADPCM-B, YMZ280B, RF5C68)
Instrument color and icons are placeholder.

different volume range, hard panned/soft panned and/or independent volume per output, chip-dependent features (global volume, echo, etc)
Allow use sample in instrument tab for chip with sample support
Prepare to support X1-010 Seta 2 style bankswitch behavior
Prepare to support AY89x0 PCM DAC
Support volume for PCE sample (DAC)
Fix Lynx, Y8950 sample pitch matches to sample preview
Support PCM DAC with backward and pingpong loop mode
Reduce some codes
Add Sega PCM, AY89x0, QSound, PCM DAC, Lynx per-channel debug support
2022-08-27 16:27:36 +09:00
tildearrow c009cb3536 dev112 - prepare for advanced arp macro
this new advanced arp macro offers more flexibility and reduces code duplication
it allows you to set each step of the macro to either relative or fixed mode
(instead of just one mode for the entire macro)

the UI is still a work in progress and doesn't work well

this change is big and may break things! further fixes incoming
2022-08-22 15:59:45 -05: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
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 9b6730607e OPL: finally fix the carnival night zone bug
TODO: RUN TEST SUITE!
2022-08-14 19:17:03 -05:00
tildearrow 829db187df Y8950: fix ADPCM per-chan osc I think 2022-08-07 06:24:48 -05:00