Commit graph

241 commits

Author SHA1 Message Date
tildearrow de1ab67d4a Merge branch 'master' into hasSampleHeader 2025-09-13 04:23:19 -05:00
cam900 957b57f3d9 Add primary MultiPCM support
Partially revert previous commit
Add notifyInsAddition in dispatch for instrument addition
Refresh sample memory when instrument type changed
Fix naming for consistency
Also, this commit fixes a some possible issue in MultiPCM on openMSX core.
Chip ID: Already determined
2025-08-29 16:24:32 +09:00
cam900 bd8d9a56a0 Prepare to add hasSamplePtrHeader and hasSampleInstHeader in dispatch (WIP)
for refresh sample memory when loop/end pointer and instrument parameter changed. Also, this PR has minor code style fixes and add warning in MultiPCM sample map usage.
2025-08-27 22:52:19 +09:00
cam900 e9b6b441e3 Merge branch 'master' of https://github.com/tildearrow/furnace into getSampleMemOffset 2025-08-27 21:18:29 +09:00
cam900 4ed40d37d6 Add sample limit in OPL4 PCM, Reduce duplicate
it has 512 (if header at 0x000000) or 128 (otherwise; first 384 sample is from bottommost area (ex: YRW801 ROM) in this case) sample limits
2025-08-27 21:02:51 +09:00
tildearrow 387d9e0654 breaking the limit, part 2
all dispatches adapted to 32768 samples.
sample limit unlocked.
testing is required.
2025-07-27 20:16:59 -05:00
tildearrow 801f5c5720 OPL4: fix use of invalid samples
issue #2217
2025-06-24 03:46:08 -05:00
tildearrow d7c5fceac4 OPL4: fix PCM chan osc on ymfm
for real
issue #2566
2025-06-21 17:46:27 -05:00
tildearrow c08d42b483 OPL4: fix PCM chan osc on ymfm??????
issue #2566
PCM only has two outputs
2025-06-21 10:57:29 -05:00
tildearrow 4af0345b03 OPL3: fix channel 7 hard reset
issue #2582
2025-06-21 04:07:59 -05:00
cam900 a5148a3441 Implement getSampleMemOffset for further optimize VGM logging (specifically OPL4 PCM) 2025-06-04 21:16:27 +09:00
tildearrow 34ad285efd OPL4: fix playSub() memory corruption
Valgrind has lost!
issue #2536
2025-05-28 02:09:14 -05:00
tildearrow bfd1afa124 OPL3: fix chan osc when panned right on ymfm 2025-05-22 03:55:05 -05:00
tildearrow 2f6c2d63c3 OPL3: fix 4-op mode ignoring ins change
issue #2457
2025-05-02 14:39:34 -05:00
tildearrow 0ea4310b22 OPL: fix muting in chan osc 2025-04-30 14:37:12 -05:00
tildearrow bbfa4c7fca OPL: fix Crystal Oscillator muting 2025-04-28 17:08:54 -05:00
tildearrow 7aa735857c OPL: VGM reset after initializing OPL3 mode 2025-04-21 03:25:07 -05:00
tildearrow a2c745cb10 Y8950: fix ADPCM chan osc 2025-04-08 02:12:28 -05:00
tildearrow 05f2c99bb4 OPL4: fix 12-bit related glitches 2025-04-02 19:18:33 -05:00
tildearrow c1e99b94ef OPL4: fix corrupted non-8/12/16-bit samples 2025-03-23 13:53:08 -05:00
tildearrow fd3335f1ee OPL4: fix end of sample 2025-03-23 13:49:23 -05:00
tildearrow 8dcb2d02ad OPL4: fix a couple issues with samples
issue #2217
2025-03-21 17:38:28 -05:00
tildearrow 49a8693dcb new chan osc, part 7
i am done
2025-03-02 16:14:49 -05:00
tildearrow 845c5245c3 Time Is Fixed 2025-02-07 04:20:18 -05:00
tildearrow f09fd02971 MultiPCM: only set new params on ins change
fixes an issue regarding level direct effect
2025-02-07 04:15:20 -05:00
tildearrow 9dee51851f prepare for proper center rate
the correct rate is 8372Hz rather than 8363Hz
sadly this will require a compat flag so I am not making this change
effective until 0.7

issue #2347
2025-02-06 02:14:21 -05:00
tildearrow 00ad4e4a46 update copyright year 2025-01-28 18:49:19 -05:00
tildearrow dd9d220f33 use state instead of accessing ins for block 2025-01-28 04:24:10 -05:00
Natt Akuma cf3d08ca5a Add fixed octave for block+fnum systems
This isn't implemented in SAA1099, despite also being block+fnum system, as there are no benefits from it
2025-01-09 03:51:14 +07:00
Natt Akuma 6a58797669 Use bsr() in frequency shift calculations 2025-01-09 03:43:27 +07:00
tildearrow 192be95c14 OPL: instant drum muting
issue #1945
2024-12-06 18:28:09 -05:00
tildearrow c69f366942 OPL: ymfm 30xx 2024-11-06 18:36:51 -05:00
tildearrow 69b03172b1 get it done
OPL UNFINISHED
2024-10-19 18:28:27 -05:00
tildearrow d89a8f2c4f OPL4: fix drums mode
issue #2160
2024-09-26 15:50:06 -05:00
tildearrow 0f2fd76a90 dev223 - Y8950: fix ADPCM pitch
issue #2028
2024-09-26 14:41:14 -05:00
tildearrow 0cf6c7cd64 OPL: fix YMF289 in ymfm
ymfm offers a class called ymf289, but I am too lazy to use it
and it probably does not resample anyway
2024-09-26 14:20:14 -05:00
tildearrow 8ac3491672 OPL: and now fix the fix 2024-09-25 14:43:24 -05:00
tildearrow f7412e5234 OPL: key off after 4-op mode change
somehow fixes issue #2171
2024-09-25 14:24:39 -05:00
tildearrow d838224d94 dev222 - Merge branch 'SID3' 2024-09-21 18:04:08 -05:00
cam900 7594b2fb55 OPL4: Fix highest note frequency 2024-09-18 11:00:45 +09:00
tildearrow 47f36f99d9 Merge branch 'master' into SID3 2024-09-13 23:46:13 -05:00
tildearrow 89fb8842b0 OPL: put this variable outside 2024-09-08 18:34:32 -05:00
cam900 16ca40e0d2 Add OPL4/MultiPCM 12-bit PCM support 2024-08-16 20:45:40 +09:00
LTVA1 466adb5613 localize channel pair hints 2024-08-16 10:31:23 +03:00
LTVA1 7c324ec39d naive channel pair refactor (dumb replace one pair with vector of pairs) 2024-08-14 20:01:16 +03:00
cam900 34c3748406 Merge branch 'master' of https://github.com/tildearrow/furnace into ymf278b 2024-08-03 08:17:33 +09:00
tildearrow c02556afa7 OPL: don't use fm.rhy
issue #2061
2024-08-02 14:32:02 -05:00
cam900 db3b102e1d Correct getGain for OPL4 PCM 2024-07-23 18:04:43 +09:00
cam900 47d962f736 Merge branch 'master' of https://github.com/tildearrow/furnace into ymf278b 2024-07-23 18:02:14 +09:00
tildearrow b2223ccd0f implement getGain for a couple chips
the ones with log volume
2024-07-22 19:08:39 -05:00