Commit Graph

1788 Commits

Author SHA1 Message Date
tildearrow 1fbf592994 fix build on Windows 2022-10-04 13:18:18 -05:00
tildearrow 263982719d MSM5232: oh come on why didn't I commit this? 2022-10-04 03:34:38 -05:00
tildearrow 8ab0d28ace MSM5232: per-chan osc 2022-10-04 02:35:32 -05:00
tildearrow c2b75d26d7 SNES: loop injection 2022-10-04 01:20:26 -05:00
tildearrow d981e59c59 (12*sampleBank+c.value%12) 2022-10-04 00:46:16 -05:00
tildearrow 4695659ae4 X1-010: fix 17xx PCM - take 2 2022-10-04 00:04:41 -05:00
tildearrow 204af47421 Revert "Fix 1701 command for X1-010"
This reverts commit ece4eb9a57.
2022-10-03 23:52:52 -05:00
cam900 ece4eb9a57 Fix 1701 command for X1-010 2022-10-04 11:17:03 +09:00
tildearrow 4eed3dbc4d SNES: gain macro 2022-10-03 18:40:07 -05:00
tildearrow 19cd491e5f MSM5232: effects 2022-10-02 02:30:22 -05:00
tildearrow 8b9b452fbd SoundUnit: fix echo resolution being ignored 2022-10-02 02:03:18 -05:00
tildearrow 92d5525692 Game Boy: fix Synchronize 2022-10-02 00:06:06 -05:00
cam900 66f7ab688b Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2022-10-02 10:52:14 +09:00
tildearrow 7b55ba4e77 MSM5232: more options 2022-10-01 19:47:40 -05:00
tildearrow 62f022eea0 MSM5232: noise macro 2022-10-01 03:40:06 -05:00
tildearrow aed738e0d5 MSM5232: channel muting 2022-10-01 03:32:13 -05:00
tildearrow 81ac2ba3b1 MSM5232: add detune option 2022-10-01 03:27:57 -05:00
tildearrow 5e18edb229 early MSM5232 work 2022-10-01 03:15:40 -05:00
cam900 c83d919fbc Sync to master 2022-09-30 20:01:31 +09:00
cam900 987cc113b4 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2022-09-30 20:01:21 +09:00
cam900 fdd53c1587 Fix crash, enum-ise reverse mode 2022-09-30 19:54:13 +09:00
tildearrow 73a9eb5ccc SNES: easier filter config 2022-09-30 04:02:11 -05: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
cam900 5248f30fb4 Add ES5506 configs at format.md
Fix code format
2022-09-29 22:40:28 +09:00
cam900 62f1ba73eb Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2022-09-29 22:05:41 +09:00
tildearrow c45816b8f2 DAC: fix wavetable mode 2022-09-29 00:38:18 -05:00
tildearrow 9f2cb1450f YM2151: fix LFO 2022-09-29 00:10:34 -05:00
tildearrow 7990dc1965 OPN: fix AY issue 2022-09-28 23:21:24 -05:00
tildearrow 7770ca8965 SNES: more fixes (especially GUI ones) 2022-09-28 19:33:16 -05:00
tildearrow 6028523eaf dev118 - SNES true sustain 2022-09-28 19:08:22 -05:00
tildearrow 6f1a41de1e SNES: implement more effects 2022-09-28 18:28:01 -05:00
tildearrow 7e07f616d5 SNES: fix samples not updating on change 2022-09-28 16:42:46 -05:00
tildearrow 43ed6c7878 SNES: advanced arp macros and volume fix 2022-09-27 03:57:35 -05:00
cam900 4f71214887 code style 2022-09-27 04:54:04 +09:00
cam900 013c7b92fb Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2022-09-27 00:01:10 +09:00
tildearrow 08e23a68cd SNES: get some of echo working 2022-09-26 04:07:51 -05:00
tildearrow e5b37db55a SNES: panning/wavetable fixes 2022-09-26 03:23:34 -05:00
tildearrow 5f91f0b09c SegaPCM: what a mess 2022-09-26 02:57:07 -05:00
tildearrow 607e3c9339 fix the crashes 2022-09-26 02:51:16 -05:00
tildearrow c23b504d79 Game Boy: fix zombie mode and macro speed 2022-09-26 01:48:09 -05:00
tildearrow a6e4345863 PLENTY OF TODO WHEN I COME BACK
CRASHES EVERYWHERE
2022-09-25 20:07:21 -05:00
cam900 b42d5b7c1b
Merge branch 'master' into es5506_alt 2022-09-26 07:31:06 +09:00
tildearrow 07822de0a2 curr -> cur 2022-09-25 17:31:01 -05:00
cam900 b8d2c51a14 Fix AY89x0 regression 2022-09-26 07:28:04 +09:00
cam900 682aa0ad23 Unused variable 2022-09-25 22:23:56 +09:00
cam900 81bebc5112 Reduce unnecessary changes, Volume macro fixes, calcArp 2022-09-25 19:21:49 +09:00
cam900 5a6cde65ed Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2022-09-25 18:34:36 +09:00
cam900 8e1ce1abb1 Sync to master 2022-09-25 18:32:34 +09:00
cam900 0a49d4bfd0 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt 2022-09-25 18:32:06 +09:00
tildearrow 32d8eec522 MSVC 2022-09-25 03:50:33 -05:00
tildearrow 3cddca857d SNES: whoops 2022-09-25 03:33:47 -05:00
tildearrow b4c020c11b SNES: invert/pitch mod/noise control
echo still work in progress
2022-09-25 03:33:39 -05:00
tildearrow b4c260dc2a SNES: forceIns work 2022-09-25 02:47:30 -05:00
tildearrow eb6708ab23 SNES: scale frequency to wavetable length 2022-09-25 02:39:25 -05:00
cam900 68b58a0d1b Fix AYPCM
Enable new sample functions to default
2022-09-25 13:16:47 +09:00
tildearrow a0dc9de262 ADSFGGGGGJKSDGHASLJKFHL 2022-09-24 19:40:03 -05:00
tildearrow 2c7abb4635 SNES: get samples working 2022-09-24 18:47:28 -05:00
tildearrow 3f6ca8f650 fix build on my machine 2022-09-24 18:40:36 -05:00
tildearrow 3bfdb35578 fix everything 2022-09-24 16:28:51 -05:00
tildearrow b536f0ba20 MSVC fix 2022-09-24 14:29:45 -05:00
tildearrow 8eaddcf070 prepare BRR encoding/decoding 2022-09-24 04:27:53 -05:00
tildearrow c0de45ff0c Merge branch 'snes' of https://github.com/akumanatt/furnace into akumanatt-snes 2022-09-24 02:53:11 -05:00
tildearrow 98cebf92f2
Merge pull request #491 from ZeroByteOrg/ZSMv1
Commander X16 Native Export Format: ZSM
2022-09-24 02:28:25 -05:00
tildearrow 3992a1c677 AY: clockSel PCM fix 2022-09-23 23:29:19 -05:00
tildearrow 70825dc45a AY: reduce PCM clicking 2022-09-23 23:12:39 -05:00
tildearrow 67fc945992 Y8950 regression fix 2022-09-23 23:03:07 -05:00
tildearrow e8ca6bd483 one more fix 2022-09-23 22:48:55 -05:00
tildearrow 95562afb16 one more compatibility fix 2022-09-23 22:45:47 -05:00
ZeroByteOrg c3654eb67c Merge branch 'master' into ZSMv1 2022-09-23 22:24:22 -05:00
cam900 599ae6cdf9 Merge branch 'sample_macro' of https://github.com/tildearrow/furnace into sample_macro 2022-09-24 10:20:22 +09:00
cam900 593aeeb243 Unnecessary space 2022-09-24 10:20:09 +09:00
tildearrow b72b5bf0e6 A Y P C M 2022-09-23 20:15:20 -05:00
tildearrow e82374fcde Merge branch 'sample_macro' of github.com:tildearrow/furnace into sample_macro 2022-09-23 19:35:00 -05:00
tildearrow bc4c8acd87 AY PCM still doesn't work so I am leaving a note 2022-09-23 19:34:44 -05:00
cam900 a5fb9b766e disableSampleMacro for MSM6258 2022-09-24 09:28:30 +09:00
cam900 4bf46f9315 Oops 2022-09-24 09:27:46 +09:00
cam900 f620782919 Fix playback issue 2022-09-24 09:27:33 +09:00
tildearrow eb8849ce63 add disableSampleMacro flag for compatibility 2022-09-23 19:18:32 -05:00
tildearrow e6fc9e09d2 latency fix 2022-09-23 19:01:01 -05:00
tildearrow b9a4b568b6 i honestly don't agree with this compat flag 2022-09-23 13:28:57 -05:00
cam900 ef9fedb0b8 Fix Lynx clamping 2022-09-24 01:04:09 +09:00
cam900 b05dafe297 Add compatible flag for Y8950 ADPCM Frequency 2022-09-24 00:24:30 +09:00
cam900 62ce5ae3ce Add compatible flag for PCE DAC volume (always enabled for now)
Fix furnacePCM detection for MSM6295
2022-09-23 23:41:55 +09:00
cam900 cf1d4e55cf Fix ADPCM-A playback
Add per-chip debug function
Add YM2203, YM2608, YM2610/B debug window
Extend YM2612 debug window
Remove unnecessary values in YM2151, Sega PCM platform
2022-09-23 23:24:02 +09:00
tildearrow 5a84a35f3d SegaPCM: fix regression 2022-09-23 03:21:18 -05:00
tildearrow dcce0e1246 Merge branch 'master' into sample_macro 2022-09-22 19:49:47 -05:00
tildearrow ed7a488844 MSM6295: reduce some CPU usage 2022-09-22 19:46:17 -05:00
tildearrow 02ef001eb8 MSM6295: fix mute issue 2022-09-22 19:41:36 -05:00
tildearrow 85465633f2 Merge branch 'master' into vgsound_emu_update 2022-09-22 19:35:51 -05:00
tildearrow 861b1cb9ca OPLL: finally fix pitch macro 2022-09-22 19:02:25 -05:00
tildearrow cbff5f190c NES: implement DPCM loop 2022-09-22 18:43:48 -05:00
cam900 e00758d67c Merge branch 'master' of https://github.com/tildearrow/furnace into sample_macro 2022-09-22 23:02:01 +09:00
cam900 b449e3812d Fix compile 2022-09-22 22:49:54 +09:00
tildearrow b053d31a6d implement KVS on the rest of FM chips 2022-09-22 01:30:51 -05:00
tildearrow ac68419b78 implement KVS on YM2612 2022-09-22 01:18:41 -05:00
tildearrow 9685a5c0d8 AY: add stereo separation slider 2022-09-22 00:18:40 -05:00
tildearrow 32cdd81919 OPL: fix chan osc in 4-op mode 2022-09-22 00:01:23 -05:00
tildearrow e1890173b2 GUI: implement channel volume bar 2022-09-20 02:32:23 -05:00
tildearrow 1a84812a1d OPNA: fix forceIns RSS/ADPCM volume 2022-09-20 01:03:44 -05:00
Natt Akuma 18d793dc20 SNES: Fix wavesynth and channel 1 2022-09-19 01:01:46 +07:00
Natt Akuma 7956d41f1b SNES: Get wavesynth and envelope working
No samples, inverted volumes and E/P/N yet
It's been 3 months...
2022-09-18 18:33:54 +07:00
Natt Akuma 73c6adb821 wip snes 3 2022-09-18 18:33:54 +07:00
Natt Akuma 0ee6d761f5 Merge branch 'master' of https://github.com/tildearrow/furnace into snes 2022-09-18 18:33:25 +07:00
cam900 0f5a400b29 Merge branch 'master' of https://github.com/tildearrow/furnace into sample_macro 2022-09-18 00:11:53 +09:00
cam900 52476ec1a6 Merge branch 'master' of https://github.com/tildearrow/furnace into vgsound_emu_update 2022-09-16 23:49:11 +09:00
cam900 b461ffe411 Update vgsound_emu library 2022-09-16 23:48:06 +09:00
tildearrow 6b0aee8cf7 OPL: "fix" stereo in OPL1/2 2022-09-16 02:00:42 -05:00
ZeroByteOrg b14bf9ea33 Merge branch 'master' into ZSMv1 2022-09-15 12:03:53 -05:00
tildearrow 480243b652 what? 2022-09-14 00:51:45 -05:00
tildearrow c99ac94838 YM2612: fix clicks when muting with CSM on 2022-09-14 00:19:24 -05:00
tildearrow 146255b08e OPZ: SysEx fixes and notes 2022-09-13 03:29:36 -05:00
tildearrow a08ae8cce7 implement OpMask for the rest of FM chips
whether supported
2022-09-12 02:26:00 -05:00
tildearrow 6e1f54b777 YM2612: implement OpMask
will be done for OPM and the rest of the OPN chips later
2022-09-12 01:50:27 -05:00
tildearrow d64e20e859 implement operator muting for ExtCh mode 2022-09-12 00:51:09 -05:00
tildearrow 7b1713758b dev114 - operator muting for OPN/OPM 2022-09-12 00:37:25 -05:00
tildearrow fd98ecee4f also on OPZ 2022-09-10 17:57:14 -05:00
tildearrow ea5b0baf0a
Merge pull request #594 from tildearrow/revert-593-revert-572-opmlfo
Fix issue #567: LFO disable/enable behavior for YM2151.
2022-09-10 17:07:01 -05:00
tildearrow 2e49f9c8a0 TIA: volume 2022-09-09 23:42:48 -05:00
tildearrow 917a03eb07 TIA: fixes fixes fixes 2022-09-09 23:40:21 -05:00
tildearrow fcefbb4909 TIA: update to latest Stella core 2022-09-09 23:21:45 -05:00
tildearrow 84b0ffbac3 VRC6: possibly bring solution to #671 2022-09-09 15:31:38 -05:00
tildearrow 7de165fd88 N163: fix channel count change glitch, part 1 2022-09-08 03:01:22 -05:00
cam900 d82d7255d1 Merge branch 'master' of https://github.com/tildearrow/furnace into sample_macro 2022-08-31 19:18:15 +09:00
tildearrow 2abcea118c WonderSwan: fix possible hang when seeking 2022-08-31 00:51:08 -05:00
tildearrow af1b684c08 NES: #655 2022-08-30 15:47:12 -05:00
tildearrow 3af287cf9d AY: fix per-chan osc in Sunsoft 5B mode 2022-08-29 04:15:53 -05:00
tildearrow 4b4a254064 C64: reSIDfp per-chan osc 2022-08-29 03:54:55 -05:00
tildearrow 69efad1df4 Merge branch 'master' of github.com:tildearrow/furnace 2022-08-29 03:27:04 -05:00
tildearrow 8d280fd9a3 C64: bind reSIDfp 2022-08-29 03:26:49 -05:00
cam900 26d3e02dd8 Merge branch 'master' of https://github.com/tildearrow/furnace into sample_macro 2022-08-29 11:47:36 +09:00
cam900 c2a7bdd194
Match this to actual channel count 2022-08-29 11:45:18 +09:00
tildearrow d485af439d fix macOS build 2022-08-28 15:36:12 -05:00
tildearrow c3ced46fa3 coming soon: reSIDfp core 2022-08-28 15:10:44 -05:00
ZeroByteOrg ca4fb5b7d4 Merge branch 'master' into ZSMv1 2022-08-28 10:54:20 -05:00
cam900 3fcccb52ee Reduce performance issue 2022-08-28 10:50:57 +09:00
cam900 a411e34a62 Performance adjusts 2022-08-28 09:59:56 +09:00
cam900 5d3cecfea6 Fix switch case 2022-08-27 18:58:49 +09:00
cam900 745837c41d Fix compile (2) 2022-08-27 18:40:16 +09:00
cam900 570036ad6f CONTRIBUTING 2022-08-27 18:22:36 +09:00
cam900 8f804f6e6b Correct pitch to sample preview 2022-08-27 18:20:33 +09: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 c58f1daeb8 QSound: disable key on log
we already debugged the issue
2022-08-26 03:00:37 -05:00
tildearrow f9a8a54601 Merge branch 'master' of github.com:tildearrow/furnace 2022-08-25 01:35:10 -05:00
tildearrow fc5b26c49a SoundUnit: fix 4xxx not working 2022-08-25 01:34:21 -05:00
cam900 9c29b7e7ca
Fix RF5C68 panning macro 2022-08-25 00:24:49 +09:00
tildearrow e158591ccb even more fixes 2022-08-23 02:31:39 -05:00
tildearrow 226f43fea3 several important bug fixes to advanced arp macro 2022-08-22 19:09:08 -05: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 b223bc80de YM2612: #581 2022-08-21 20:06:01 -05:00
tildearrow 10aaf7f0cb YM2612: #580 2022-08-21 19:57:01 -05: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 96feeced86 to-do 2022-08-21 16:34:43 -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
tildearrow c74d7fab37 dev108 - add SN period range compat flag
there's room for possible improvement
2022-08-19 18:46:19 -05: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
ZeroByteOrg 941d45ad80 Merge branch 'master' into ZSMv1 2022-08-16 11:24:18 -05:00
tildearrow 976e193309 SoundUnit: add 1-bit PDM rev emulation 2022-08-16 02:08:10 -05:00
tildearrow 8734005b23 SoundUnit: fix switch roles mode 2022-08-15 23:20:26 -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 a34c9806cb Game Boy: whoops 2022-08-14 23:30:36 -05:00
tildearrow a8d3803efc Game Boy: now fix wave channel volume column 2022-08-14 23:28:15 -05: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
tildearrow 2743c60cf3 Game Boy: fix wave channel auto-enable on wave cha 2022-08-12 23:09:34 -05:00
cam900 7d83cbb7d6 Merge branch 'master' of https://github.com/tildearrow/furnace into sample_macro 2022-08-11 22:22:05 +09:00
cam900 d44f5f0b2b Prepare for backward and bi-directional loop 2022-08-11 22:21:54 +09: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 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 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 829db187df Y8950: fix ADPCM per-chan osc I think 2022-08-07 06:24:48 -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 6934a499c1 SoundUnit: actually finish it 2022-08-06 18:23:11 -05:00
tildearrow f03123fd75 SoundUnit: implement missing input line emulation 2022-08-06 16:22:57 -05: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 049ab06544 PCE: add option to pick A/non-A revision of chip 2022-08-04 23:37:28 -05:00
tildearrow a0d10aa60b Game Boy: implement anti-click 2022-08-03 19:17:18 -05:00
tildearrow 52c3b10373 add getWantPreNote()
currently only C64 system requires this
2022-08-03 16:21:30 -05:00
tildearrow 46425655ad YM2612: fix possible ExtCh DualPCM muting issue 2022-08-03 14:41:53 -05:00
cam900 89042f61eb Fix link for vgsound_emu (moved into https://gitlab.com/cam900/vgsound_emu) 2022-08-03 21:56:22 +09:00
tildearrow 0d4f20b7a6 SoundUnit: add 64K chip revision 2022-08-03 00:05:58 -05:00
Waldemar Pawlaszek 5feba3a716 More robust popcnt 2022-07-31 22:26:59 +02:00
tildearrow a9afcf873c fix ARM build 2022-07-31 14:05:23 -05:00
Waldemar Pawlaszek 6ff51ce8f3 #511 Added dynamic popcnt dispatcher 2022-07-31 11:33:38 +02:00
tildearrow 1921fd1759 PCE: implement anti-click technology 2022-07-30 01:00:51 -05:00
cam900 b48b7c8bc5 Apply loop end position for generic DAC 2022-07-24 12:23:38 +09:00
Aleksi Knutsi 8011e7adc7
Implement Phase Reset Timer macro for Sound Unit (#573)
* Implement Phase Reset Timer Macro

* And make the macro actually work

* Delete ex4Max variable
2022-07-23 19:13:30 -05:00
tildearrow 623c0efbba
Merge pull request #578 from tildearrow/ngp
Add generic PCM DAC system
2022-07-23 19:12:51 -05:00
tildearrow 7bc3166ed5 YMZ280B: frequency precision improvement
frequency is now multiplied by 256 and then fed to the chip divided by
256 to increase freq precision
2022-07-22 00:01:29 -05:00
cam900 5127d5ef18
Implement sample loop end position, enum-ise sample depth (#557)
TODO: new sample format
2022-07-21 23:36:42 -05:00
tildearrow 60a52d3b9f
Revert "Revert "Fix issue #567: LFO disable/enable behavior for YM2151."" 2022-07-17 00:06:04 -05:00
tildearrow 707dc30f15
Revert "Fix issue #567: LFO disable/enable behavior for YM2151." 2022-07-17 00:05:56 -05:00
Natt Akuma e334fdddb8
Merge pull request #572 from ZeroByteOrg/opmlfo
Fix issue #567: LFO disable/enable behavior for YM2151.
2022-07-17 12:04:38 +07:00
tildearrow 15ab8cc49b YM2612: fix a CSM issue with key off 2022-07-12 18:45:54 -05:00
ZeroByteOrg 850508e1b8 Merge branch 'master' into ZSMv1 2022-07-11 12:59:59 -05:00
tildearrow c2f1385703 MSM6258: fix position not being reset in furnace s
ample mode
2022-07-08 02:25:25 -05:00
tildearrow b39924c9d6 AY: TODO fix wtr_envelope.dmf 2022-07-05 01:16:25 -05:00
tildearrow f4a85bebff dev101 - fix SMSFM_intro.dmf 2022-07-04 01:43:59 -05:00
tildearrow 949e293053 SMS: aaaand more .dmf compatibility 2022-07-03 23:43:13 -05:00
Natt Akuma f8425b817f Fix GCC errors 2022-07-03 20:11:04 +07:00
Natt Akuma d3cd7bbb81 Add generic PCM DAC system
For use with NGP DAC and some arcade system combos
2022-07-03 01:42:47 +07:00
cam900 f3b9c6dde6
Merge branch 'master' into es5506_alt 2022-07-02 13:28:49 +09:00
Natt Akuma 59bcd9599f OPL: Missed changes from last commit 2022-07-01 17:55:33 +07:00
Natt Akuma 02b28e6e7d OPL: Correct CHIP_FREQBASE to match clock ratio
This changes from 9440540 to 9437184
2022-07-01 17:33:33 +07:00
ZeroByteOrg 807848cfee Fix LFO disable/enable behavior for YM2151. 2022-06-29 16:59:47 -05:00
ZeroByteOrg 40d67d7bb5 Merge branch 'master' into ZSMv1 2022-06-29 13:14:15 -05:00
tildearrow 0a055ff85b OPL: fix crash 2022-06-29 02:11:25 -05:00
tildearrow 4a0bb1fa38 OPLL: one more chan osc fix 2022-06-29 01:50:20 -05:00
tildearrow 0b70902dbe OPLL: fix per-channel osc, part 2 2022-06-29 01:40:03 -05:00
tildearrow 4dfd413ead OPLL: fix per-channel osc, part 1 2022-06-29 01:32:52 -05:00
tildearrow 90481cc460 OPL: fix drums mode per-channel osc 2022-06-29 01:06:31 -05:00
tildearrow 477674400c YM2612: whoops! 2022-06-29 00:55:05 -05:00
tildearrow aaf02103f6 YM2612: implement DualPCM macros 2022-06-29 00:49:11 -05:00
tildearrow 3ea0ad1e0a OPL: fix pitch macro
fixes #535
2022-06-28 23:32:36 -05:00
tildearrow 13f14b6854 SoundUnit: fix copy-paste blunder 2022-06-28 12:55:14 -05:00
tildearrow f483292a88 OPN[A/B/2]?: implement 18xx effect 2022-06-28 01:16:46 -05:00
Natt Akuma e2449d91f1 VERA: Run noise generation in each channel update 2022-06-27 19:37:45 +07:00
tildearrow b04743d045 SMS: implement Game Gear stereo in Nuked core 2022-06-27 04:09:24 -05:00
cam900 a647a2599f Fix typecasting 2022-06-26 09:06:13 +09:00
cam900 3119ed8cc5 Merge remote-tracking branch 'upstream/master' into es5506_alt 2022-06-26 00:47:34 +09:00
cam900 2b5bb91237 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
* 'master' of https://github.com/tildearrow/furnace: (55 commits)
  GUI: get rid of these stupid icons
  update to-do list
  MSM6258: the final bits
  MSM6258: clock/rate selection
  MSM6258: prepare for rate changing
  Update n163.md
  YM2612: DualPCM per-channel osc
  YM2612: more DualPCM muting fixes
  YM2612: fix DualPCM muting
  GUI: finish the blank ins up
  GUI: add "blank new instrument" option
  GUI: add mono/poly note preview button
  PC speaker: don't use printf/perror
  YM2612: CSM arpeggio and slides
  YM2612: - C   S   M -
  YM2612: half-working CSM
  YM2612: earliest completely untested CSM work
  delay collapse/expand pattern/song feature :<
  GUI: much more stable osc view
  YM2612: fix DAC output not visible in per-chan osc
  ...

# Conflicts:
#	src/engine/platform/genesis.cpp
#	src/engine/platform/genesis.h
#	src/ta-utils.h
2022-06-26 00:36:36 +09:00
tildearrow e39a923b23 C64: fix per-channel osc for 6581 2022-06-24 03:26:00 -05:00
tildearrow 951db12e6a Namco WSG: fix C15/C30 high notes 2022-06-23 22:59:06 -05:00
tildearrow b90552dfb1 fix Termux build 2022-06-23 16:23:46 -05:00
ZeroByteOrg ae7b271e1d Merge branch 'master' into ZSMv1 2022-06-23 13:45:12 -05:00
Natt Akuma 8dc143af7b PET: Support full 16-bit period range
Fix #500
2022-06-23 02:42:11 +07:00
cam900 69ea1d0227 Fix AY8930 unmuting 2022-06-21 11:06:26 +09:00
tildearrow 5a1a583ab0 AY: finally fix unmuting 2022-06-20 18:53:39 -05:00
tildearrow fd61e0e9f8 ZX beeper: per-"channel" osc
there's only one
2022-06-20 18:48:10 -05:00
tildearrow ee709b85c2 Namco WSG: per-channel oscilloscope 2022-06-20 18:20:49 -05:00
tildearrow 6772159d5f one more GCC < 8 fix 2022-06-20 04:58:03 -05:00
cam900 9cad907773 Fix potential register related issue 2022-06-18 11:07:36 +09:00
tildearrow 39fa3d7d85 Merge branch 'master' into preset1 2022-06-17 20:40:09 -05:00
cam900 6dc81c7af1 Pitch correction (again), Fix compatibility issue 2022-06-18 10:38:48 +09:00
tildearrow 753458f898 LOL 2022-06-17 04:51:39 -05:00
cam900 25af023dc6 Various corrections and fixes
Fix SN PSG pitch corrections
Revive YM2612 from dead
Add Game Gear stereo function finally
Add OPN/A prescaler config
2022-06-17 14:30:18 +09:00
cam900 0c1a8bc001 Merge branch 'master' into preset1 2022-06-17 09:19:17 +09:00
Natt Akuma c44ca95b92 Make volume command handling consistent
For WonderSwan and VIC-20
2022-06-17 03:06:07 +07:00
tildearrow dc9f1112d1 MSM6258: fix rate being twice
#541
2022-06-14 23:00:20 -05:00
tildearrow da756bef7f OPL: fix 4-op channel muting 2022-06-12 23:22:45 -05:00
Natt Akuma 47768edd20 Merge branch 'master' of https://github.com/tildearrow/furnace into snes 2022-06-10 23:00:03 +07:00
Natt Akuma b49b596fbe WIP SNES support, part 2
Make the code build again, still no sound though
2022-06-10 22:59:44 +07:00
tildearrow dd05429c0e WaveSynth: initialize wave to 0 on SCC/Bubble Syst 2022-06-09 18:16:51 -05:00
Natt Akuma f3a90d554c WIP SNES support, part 1 2022-06-10 03:19:31 +07:00
cam900 6aa88b0770 Move on .cpp, prepare for variable rate support 2022-06-08 10:10:55 +09:00
ZeroByteOrg d3717a5710 Merge branch 'master' into ZSMv1 2022-06-07 16:10:06 -05:00
cam900 7bbfe3af7c Fix per-channel osc 2022-06-07 23:59:50 +09:00
cam900 dd93f6d18e Merge branch 'master' into preset1 2022-06-07 13:04:17 +09:00
cam900 3e953f57b3 Prepare for TI-99/4A support
only works on MAME core only for now.
2022-06-07 12:57:09 +09:00
tildearrow 6dc408d99c SAA1099: remove MAME core
closes #529

the MAME core is inaccurate.
it doesn't emulate envelope too well.
2022-06-06 15:05:08 -05:00
tildearrow d3a3473f19 commit requested changes 2022-06-06 13:32:57 -05:00
ZeroByteOrg 378f6a957b Merge branch 'master' into ZSMv1 2022-06-06 09:44:57 -05:00
cam900 74e3892fd9 Finally fixed 2022-06-06 23:26:22 +09:00
cam900 8bc545c8ab Fix compile (again) 2022-06-06 22:45:16 +09:00
cam900 5473b8722d Fix compile, Remove unused include 2022-06-06 19:52:13 +09:00
cam900 ebbd9784e6 Reduce more FM codes 2022-06-06 19:40:37 +09:00
cam900 d1aeabe464 Fix compile 2022-06-06 19:26:34 +09:00
cam900 35caab6f82 Merge branch 'master' into preset1 2022-06-06 19:09:12 +09:00
cam900 e0e6a45000 Prepare for reducing duplicates for 4op FM related codes, Add and correct bunch of presets, Add various clock, type options for chips
Prepare for reducing duplicates for 4op FM related codes

Add and correct bunch of presets
- mostly based on MAME source.
- Neo Geo AES uses slightly difference clock for NTSC, PAL colorbust frequency.
- Turbosound FM + SAA: Some Turbosound FM has additional SAA1099, for additional sound channel and Plays SAM coupe tune?
- PC-98:
 - Sound Orchestra: OPN with hardpanned stereo, some model has with OPL family FM addons.
   V variation has Y8950 and supports ADPCM.
 - Sound Blaster 16 for PC-9800: This famous PC sound card is also exists for PC-98, with optional OPN PC-9801-26(K) compatibility on some models.
- IBM PCjr: PC with SN PSG sound, but less popular than previous models, and compatible Tandy 1000.
- Tandy 1000: PCjr and previous IBM PC compatible, also has SN PSG (later embedded in their ASIC, like Sega).
- Hexion: One of konami's budget arcade hardware with SCC + MSM6295 sound system, like their amusement hardware in this era.
- DJ Boy, Atari JSA IIIs, Skimaxx: How to panning sound or plays stereo sound on MSM6295 - just use MSM6295s per each output!
- Air Buster: One of arcade hardware with OPN + MSM6295 sound system, Used this configuration is also some hardwares.
- Tecmo system: One of arcade hardware with pretty unique sound system: OPL3, YMZ280B, MSM6295; first 2 entry is mostly used in music, last entry is mostly used in sound effect.
- Sunsoft Shanghai 3: Predecessor of Sunsoft Arcade is using YM2149 rather than FM, MSM6295 is still there.
- Atari Klax: example of arcade hardware sound system with single MSM6295 only.
- Ikari warriors: This early SNK Triple-Z80 hardware uses 2 OPL1s and no ADPCM supports.
- Coreland Cyber Tank: This rare arcade machine's stereo sound is like SB Pro, but it's actually produced in 2 Y8950s.
- Data East MLC: Latest arcade hardware from Data East, with single YMZ280B for sound.
- Kaneko Jackie Chan: Predecessor of Super Kaneko Nova System hardware, also with YMZ280B.
- Super Kaneko Nova System: Latest arcade hardware from Kaneko, with single YMZ280B for sound. this announced 3D acceleration addon, but finally cancelled.
- Toaplan 1: Home of Late 80-Early 90s Good ol' stuffs, Example of arcade sound system with single OPL2
- Namco Pac-Land: and this era, Namco start to change Custom 15 WSG to their Custom 30 WSG with featured RAM based waveform, and mailbox feature.
- Namco System 1: One of latest usage of Custom 30 WSG, with OPM FM hardware and 8 bit DAC and Stereo output.

Add various clock, type options for chips
- SN7: Prepare to add 17 bit noise variation, Game gear stereo extentsion, NCR PSG variation (MAME core only for now)
- OPN, OPNA: Add placeholder for prescaler option
- OPL: Prepare for OPL3L, OPL4 downscaled output rate option
2022-06-06 19:04:52 +09:00
tildearrow 2932a7281d implement getChanMacroInt() on supported systems 2022-06-05 18:17:00 -05:00
cam900 0e1e1f33ec Fix compile 2022-06-06 00:36:52 +09:00
tildearrow 05ffc98ed1 MSM6258: the final bits 2022-06-04 17:58:19 -05:00
tildearrow 05c2fb357f MSM6258: clock/rate selection 2022-06-04 17:51:59 -05:00
tildearrow fc34474d6e MSM6258: prepare for rate changing 2022-06-04 16:52:42 -05:00
tildearrow 91621fe0f5 YM2612: DualPCM per-channel osc
fixes #516
2022-06-04 01:03:58 -05:00
tildearrow a550c4cb30 YM2612: more DualPCM muting fixes 2022-06-04 01:00:29 -05:00
tildearrow 641648ca0f YM2612: fix DualPCM muting
issue #516
2022-06-04 00:50:53 -05:00
tildearrow a6b33d0955 PC speaker: don't use printf/perror 2022-06-03 16:32:07 -05:00
tildearrow 71b4bf5fdd YM2612: CSM arpeggio and slides 2022-06-03 16:21:42 -05:00
tildearrow b4a7f0f5b7 YM2612: - C S M -
CSM only available with Nuked core
may not work on VGM export if you compress VGM (removes timer A writes)
2022-06-03 16:13:57 -05:00
tildearrow 59ba156cdf YM2612: half-working CSM 2022-06-03 15:54:49 -05:00
tildearrow 365e466611 YM2612: earliest completely untested CSM work 2022-06-03 14:10:28 -05:00
tildearrow 0895789539 YM2612: fix DAC output not visible in per-chan osc
issue #515
2022-06-03 01:47:31 -05:00
tildearrow 94dae570e0 fix Ubuntu build 2022-06-03 01:40:09 -05:00
tildearrow cc80bfbd81 PC speaker: add alternative output methods 2022-06-03 01:18:32 -05:00
tildearrow 37539157be PC Speaker: timing improvements 2022-06-02 23:27:28 -05:00
tildearrow 50bdbb784a oh no 2022-06-02 03:21:00 -05:00
tildearrow e2f3a89513 test 2022-06-02 02:59:07 -05:00
tildearrow 131bef2689 SMS: fix per-channel osc when using Nuked core 2022-06-02 02:01:48 -05:00
tildearrow 2da92b0433 newVolumeScaling, part 4 (final) 2022-06-01 18:27:06 -05:00
tildearrow ad1ed7fe35 newVolumeScaling, part 3 2022-06-01 18:10:50 -05:00
tildearrow e94d1b857f newVolumeScaling, part 2 2022-06-01 18:02:34 -05:00
tildearrow 8141574d3c newVolumeScaling, part 1 2022-06-01 17:50:26 -05:00
tildearrow 140318f8d3 SMS: prepare for an arp+porta fix 2022-06-01 15:15:32 -05:00
tildearrow 42d98f0894 SegaPCM: finally implement new behavior 2022-06-01 13:58:39 -05:00
tildearrow a298ec2177 oops 2022-05-31 19:03:31 -05:00
tildearrow 1be93d9bbb implement brokenOutVol compat flag
#341
2022-05-31 19:03:26 -05:00
tildearrow 9d10b5bf2b OPL: complete the drum instrument type
#310
2022-05-31 17:44:52 -05:00
cam900 0f414f17d7 Add Modifier and Contributor disclaimer 2022-05-31 14:18:40 +09:00
cam900 53d9ffd804 Merge remote-tracking branch 'upstream/master' into es5506_alt 2022-05-31 14:18:00 +09:00
cam900 2e97e63b26 Forgot this 2022-05-31 14:11:43 +09:00
cam900 9c4dc2b978 Fix wrong link, Add modifier and contributor disclaimer in vgsound_emu core 2022-05-31 14:06:16 +09:00
cam900 443448c65b Fix dead links 2022-05-31 13:52:36 +09:00
cam900 3b411cd14f Fix dead link, Frequency, Instrument editor related issue 2022-05-31 13:48:35 +09:00
cam900 a3bca9efa7 Merge remote-tracking branch 'upstream/master' into es5506_alt 2022-05-31 12:18:46 +09:00
tildearrow 2119675b10 OPN: fix 11xx not working on ExtCh
issue #503
2022-05-30 21:21:42 -05:00
cam900 02dbafb728 Merge remote-tracking branch 'upstream/master' into es5506_alt 2022-05-30 22:20:24 +09:00
tildearrow 394a315c4a ZX beeper: drum muting hotfix 2022-05-30 00:07:24 -05:00
cam900 0788e519d7 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
* 'master' of https://github.com/tildearrow/furnace:
  MSM6295: fallback rate
  MSM6295: add more rates
2022-05-30 08:14:00 +09:00
tildearrow 1ed5be887b MSM6295: fallback rate 2022-05-29 13:29:58 -05:00
tildearrow 1cb07eb1a2 MSM6295: add more rates 2022-05-29 13:29:18 -05:00
cam900 32152fd89b Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
* 'master' of https://github.com/tildearrow/furnace: (53 commits)
  prepare for better backward writing
  VGM export: fix oops
  GUI: drag-and-drop ins/wave/sample loading
  GUI: add "set loop" to sample editor
  MSM6295: VGM export!
  oops
  MSM6295: add rate select effect (20xx)
  update meteor shower
  MSVC is better than GCC right?
  update to-do list
  door into summer
  GUI: implement input for touch events
  GUI: update SDL hints
  fix Termux build
  add another demo song
  add demos/ecolove.fur
  update to-do list
  update demos/README.md
  add new demo songs
  dev99 - major Fractal system change
  ...

# Conflicts:
#	src/engine/dispatch.h
#	src/engine/platform/genesis.cpp
#	src/engine/playback.cpp
#	src/engine/song.h
#	src/engine/vgmOps.cpp
2022-05-29 13:47:39 +09:00
tildearrow f8796f8ec9 MSM6295: VGM export! 2022-05-28 18:15:26 -05:00
tildearrow b8671afa39 oops 2022-05-28 17:45:44 -05:00
tildearrow cc87d1502c MSM6295: add rate select effect (20xx) 2022-05-28 17:45:34 -05:00
ZeroByteOrg b034e3c5da Commander X16 file export: ZSM format 2022-05-27 09:36:24 -05:00
tildearrow a776129c3d dev98 - YM2612: add Fractal system
partially done
2022-05-27 04:02:53 -05:00
tildearrow 0b7d27dc29 YM2612: add reverse sample playback 2022-05-27 02:47:44 -05:00
tildearrow 9d6d84a87f Lynx: sample looping 2022-05-27 01:36:05 -05:00
tildearrow d6282c6949 Lynx: fix PCM mode volume 2022-05-27 01:20:57 -05:00
Waldemar Pawlaszek 65817f7589
Merge branch 'tildearrow:master' into master 2022-05-27 08:11:32 +02:00
Waldemar Pawlaszek 70aa8f7682 Lynx: using DAC output for PCM 2022-05-27 08:10:34 +02:00
tildearrow 061b312943 SMS: volume table is now non-float 2022-05-26 23:46:42 -05:00
tildearrow 905aa1b1a1 SMS: add TI PSG volume table 2022-05-26 23:19:27 -05:00
cam900 cbf20c6320 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
* 'master' of https://github.com/tildearrow/furnace: (58 commits)
  SMS: early Nuked-PSG modding
  SMS: add modified Nuked-PSG core
  build release and don't strip
  strip MinGW builds
  FDS: a bit more
  FDS: set a post-amp value
  FDS: fix NSFplay core low pass filter precision
  fix .dmf saving
  fix compilation on GCC 12
  Fix multithreading on CI
  Lynx: why did I not commit this
  Lynx: more sample improvements
  Lynx: sample improvements
  Lynx: add sample support!
  GUI: fix wavetable list oversight
  WaveSynth: fix phase modulation - again
  GUI: fix possible wave editor crash
  WaveSynth: fix phase modulation
  Lynx: add phase reset macro
  fix another fucking IGFD crash bug
  ...

# Conflicts:
#	src/gui/insEdit.cpp
#	src/gui/presets.cpp
2022-05-27 13:01:06 +09:00
tildearrow 7e938c869d
Merge pull request #484 from grauw/y8950-adpcm-fix
More Y8950 ADPCM fixes
2022-05-26 21:50:51 -05:00
tildearrow 0577aa3569 SMS: early Nuked-PSG modding 2022-05-26 19:00:14 -05:00
tildearrow e3ebe0cb92 SMS: add modified Nuked-PSG core 2022-05-26 18:46:20 -05:00
tildearrow 4874e91bb0 FDS: a bit more 2022-05-26 18:09:46 -05:00
tildearrow 6d441c2ffd FDS: set a post-amp value 2022-05-26 18:07:59 -05:00
tildearrow a52f71ba32 FDS: fix NSFplay core low pass filter precision
closes #427
2022-05-26 18:03:57 -05:00
tildearrow 9d36cf5ff0 fix compilation on GCC 12 2022-05-26 13:31:17 -05:00
tildearrow 4b91669e58 Lynx: why did I not commit this 2022-05-26 03:37:34 -05:00
tildearrow 6260bcef54 Lynx: more sample improvements 2022-05-26 00:50:11 -05:00
tildearrow b0c8cfc1f6 Lynx: sample improvements 2022-05-26 00:39:15 -05:00
tildearrow 1811a95e76 Lynx: add sample support! 2022-05-26 00:29:04 -05:00
Laurens Holst 4b4bc98417 Stop / reset Y8950 ADPCM before restarting.
The emulation core treats every write to register 7 with start bit set as
a retrigger. This is not how the real hardware behaves.
2022-05-26 03:48:49 +02:00
tildearrow 42a082b2a7 Lynx: add phase reset macro 2022-05-25 00:28:47 -05:00
cam900 17881837ab Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
* 'master' of https://github.com/tildearrow/furnace: (64 commits)
  finish wave synth!
  update contributing guidelines
  Namco WSG: make non-linear slides faster
  wave synth work
  SoundUnit: fix order of filter bits
  GUI: add Namco arcade presets
  implement some dual wave synth effects
  Y8950: fix ADPCM VGM export
  Namco WSG: finish it up
  Namco WSG: 8 channel WSG (CUS30) now works
  Namco WSG: muting
  Namco WSG: 8 channel WSG (15xx) now works
  Namco WSG: 3 channel WSG now works
  YM2612: change key on/off strategy
  GUI: fix scrollbars not working
  Please enter the commit message for your changes.
  shhhhhhhhhhhh
  update to-do list
  Whoops
  it doesn't work (yet)
  ...

# Conflicts:
#	src/engine/dispatch.h
#	src/engine/platform/su.cpp
#	src/engine/playback.cpp
#	src/engine/sample.cpp
#	src/engine/sample.h
#	src/engine/song.h
#	src/engine/vgmOps.cpp
#	src/gui/presets.cpp
2022-05-25 00:52:00 +09:00
tildearrow eb926a668d MSM6258: it works 2022-05-24 00:24:52 -05:00
tildearrow 8ea60f37c5 MSM6258: start work - DO NOT USE! 2022-05-23 19:01:10 -05:00
Laurens Holst fc7b94876d Fix Y8950 ADPCM samples.
Reverting back to before 70ead337f3, and setting register 8 to 256Kbit RAM mode.
This is what MSX has natively, and allows for the most compact sample storage with
only 4 byte alignment.

Additionally, setting register 8 before writing the start / stop addresses.

Back story:

VGMPlay MSX only supports Y8950 256K DRAM mode and ROM mode (for the latter
it makes sure address writes are shifted). 64K DRAM mode is not supported because
it’s not used by anything and the addresses are specified weirdly with some middle
bits having to be masked out.

The original code in Furnace before the change 70ead337f3 was almost correct except
it needed to set register 8 to 0 to select the 256K DRAM mode. It was set to ROM mode
so the address shift did not match up.

After 70ead337f3 (address shift change) it was also more or less correct except in
“furnacePCM” direct-sample mode the shift was not updated accordingly.

In 1a446c1cdd it selected 64K RAM mode, but for this the addresses need to be specified
differently (see Y8950 manual page 18), and it’s not really the best choice anyway.
2022-05-24 00:51:13 +02:00
tildearrow ff1263aadf ASDFGHJK 2022-05-23 03:43:33 -05:00
tildearrow ced2940336 MSM6295: per-channel osc and muting 2022-05-23 03:18:56 -05:00
tildearrow d3edc58cb1 MSM6295: add clock rate flag 2022-05-23 03:13:22 -05:00
tildearrow 59a722d04a MSM6295: a bit more polishing 2022-05-23 02:56:43 -05:00
tildearrow f25cd17590 early OKI MSM6295 work 2022-05-23 01:46:58 -05:00
tildearrow 133b213998 OPL: new forceIns strategy 2022-05-23 00:18:50 -05:00
tildearrow 519bf244b9 OPL: fix kick volume in drums mode 2022-05-23 00:07:32 -05:00
tildearrow 1a446c1cdd Y8950: let's see 2022-05-22 23:54:33 -05:00
tildearrow 2fa51e482a OPN(A/B/2/B-B): fix absolutely everything 2022-05-22 23:47:41 -05:00
tildearrow 3d4f2cfa13
Merge pull request #453 from grauw/scc-reset-period-counter
Reset period counter when writing to period registers.
2022-05-22 22:49:03 -05:00
tildearrow 82eaa45f5d increase range of relative pitch macro
-32768 to 32767 should be enough
2022-05-22 22:47:40 -05:00
tildearrow 43981eb59f bring up MSM6295 core
vgsound_emu by cam900
2022-05-22 18:06:56 -05:00
tildearrow 98e9a4b28d MSM6258 emulator de-MAMEfication 2022-05-22 17:49:41 -05:00
tildearrow 393d1c018d dev97 - add old octave boundary compat flag 2022-05-22 13:25:59 -05:00
tildearrow b40c95013a fix phase reset in FM chips after note off 2022-05-22 04:30:56 -05:00
cam900 f7ba60bfa9 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
* 'master' of https://github.com/tildearrow/furnace: (46 commits)
  PCE: fix two issues
  SegaPCM: fix samples bigger than 64KB
  SCC: implement VGM soft reset
  GUI: add option to clear orders
  GUI: implement "clear all subsongs"
  GUI: fix crash when deleting current subsong
  CI: only 1 core for MinGW
  Fix AY8910 envelope hangs
  OPL: fix fixed frequency drums
  pick nits: the sequel
  pick nits
  AY: fix possible hang
  hide .ftm format
  Add x2 icon variations as well
  Install more size variations on Linux
  OPLL: fix fixed drums freq
  GUI: make backupTimer atomic
  Have OPN* platforms set the correct YM2149 chip type.
  update to-do list
  ZX beeper: clarify effects (will be done later)
  ...

# Conflicts:
#	src/engine/platform/segapcm.cpp
2022-05-22 18:24:17 +09:00
tildearrow 5d0c89a59e Namco WSG: make non-linear slides faster
but linear is better
2022-05-22 00:10:42 -05:00
tildearrow 61916be495 SoundUnit: fix order of filter bits 2022-05-21 16:04:06 -05:00
tildearrow 70ead337f3 Y8950: fix ADPCM VGM export 2022-05-21 03:34:39 -05:00
tildearrow 315c2645d2 Namco WSG: finish it up 2022-05-21 02:56:36 -05:00
tildearrow 9162e8e241 Namco WSG: 8 channel WSG (CUS30) now works 2022-05-21 02:16:38 -05:00
tildearrow c251ea2198 Namco WSG: muting 2022-05-21 01:40:28 -05:00
tildearrow bc47d1ebcd Namco WSG: 8 channel WSG (15xx) now works 2022-05-21 01:39:00 -05:00
tildearrow b17694c6a3 Namco WSG: 3 channel WSG now works 2022-05-21 01:34:43 -05:00
tildearrow a9f9d6144a YM2612: change key on/off strategy 2022-05-20 23:54:19 -05:00
tildearrow dacbeed858 Please enter the commit message for your changes. 2022-05-20 17:35:39 -05:00
tildearrow c9833bd58e shhhhhhhhhhhh 2022-05-20 17:29:59 -05:00
tildearrow 6976e0b75f auto merge failed 2022-05-20 17:29:29 -05:00
tildearrow bd8e72e5b2 it doesn't work (yet) 2022-05-20 15:29:09 -05:00
Natt Akuma 27a412c134 Merge branch 'master' of https://github.com/tildearrow/furnace into rf5c68 2022-05-21 03:02:08 +07:00
tildearrow ddaedd7b92 YMZ280B: printf oops 2022-05-20 14:52:36 -05:00
tildearrow d35e9e9661 freaking macOS 2022-05-20 14:48:08 -05:00
Natt Akuma efd36d2982 YMZ280B: Fix full sample memory behavior 2022-05-21 02:42:23 +07:00
Natt Akuma 581f6d5d05 Merge branch 'master' of https://github.com/tildearrow/furnace into ymz280b 2022-05-21 02:34:51 +07:00
Natt Akuma b7a6bf5a0b Add RF5C68 and RF5C164 support 2022-05-21 01:45:26 +07:00
tildearrow 7b2237ffac we see it 2022-05-20 13:22:35 -05:00
OPNA2608 bccddc1a1d namco: Mark fallthrough cases
https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wimplicit-fallthrough
2022-05-20 11:07:24 +02:00
OPNA2608 602abdae74 Revert "oh my"
This reverts commit 1edf697230.
2022-05-20 11:00:46 +02:00
tildearrow 1edf697230 oh my 2022-05-20 03:23:56 -05:00
tildearrow 1742a0fbe5 AGAIN 2022-05-20 03:11:25 -05:00
tildearrow c159f197e0 fix Windows build huh 2022-05-20 02:58:07 -05:00
tildearrow 251734bd04 prepare for the last chips for 0.6pre1
YMZ280B is counted. don't worry.
2022-05-20 02:43:39 -05:00
tildearrow 0ef0296b7d fix non-linear pitch 2022-05-19 23:18:18 -05:00
tildearrow 58dc628a40 OPL: damn it 2022-05-19 23:06:11 -05:00
tildearrow 2c51234213 Y8950: ADPCM is quieter 2022-05-19 18:13:11 -05:00
tildearrow c2764591e0 ZX beeper: fix overlay drums 2022-05-19 17:02:16 -05:00
tildearrow 2ada4ee393 ZX beeper: implement overlay drums
1-bit samples up to 2048 bits in length triggered with 17xx
2022-05-19 11:10:00 -05:00
tildearrow 6ec8674072 SoundUnit: many fixes. implement effects 2022-05-19 04:36:26 -05:00
Natt Akuma b70ea9af57 Change YMZ ADPCM type back to 3
Also fix some other mistakes
2022-05-19 12:39:38 +07:00
tildearrow dad1e71a33 OPNA: ExtCh system copy-paste 2022-05-18 22:49:21 -05:00
Natt Akuma 4551c55818 Fix GCC errors 2022-05-18 21:46:14 +07:00
Natt Akuma 0ae0c6f703 Add YMZ280B support 2022-05-18 21:04:25 +07:00
tildearrow 2faf1c1d23 OPN/OPNB-B: fix ExtCh mode 2022-05-18 02:18:16 -05:00
cam900 028adf2c8e Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
* 'master' of https://github.com/tildearrow/furnace: (70 commits)
  whoops
  GUI: AY8930 credits
  GUI: fix inability to close subsongs
  BANK
  OPN: wire up ExtCh system
  fix build failure
  dev95 - multiple songs in a single file (READ)
  DO NOT USE - THIS FAILS - WORK IN PROGRESS
  enforce asset limits
  old .dmf loading improvements
  add AICA and YMZ ADPCM formats
  allocate ID for YMZ280B
  harden .fur file saver
  Fix AY VGM output, Fix presets
  preparations for UI improvements
  GUI: add more presets
  prepare for ExtCh OPN/OPNA
  GUI: clarify that lock layout doesn't work yet
  GUI: remember last state of order edit mode
  GUI: store edit/followOrders/followPattern state
  ...

# Conflicts:
#	src/engine/fileOps.cpp
#	src/engine/platform/ym2610.cpp
#	src/engine/platform/ym2610b.cpp
#	src/engine/sample.cpp
#	src/engine/sample.h
#	src/engine/sysDef.cpp
#	src/gui/doAction.cpp
#	src/gui/sysConf.cpp
2022-05-18 03:09:55 +09:00
tildearrow 68c32749ff PCE: fix two issues
- fix chip locking up on furnacePCM chans after seeking
- fix furnacePCM toggling causing volume macro to give up
2022-05-17 03:02:36 -05:00
tildearrow d961f6f498 SegaPCM: fix samples bigger than 64KB 2022-05-17 02:38:13 -05:00
cam900 b6387c8547
Fix AY8910 envelope hangs 2022-05-17 11:14:22 +09:00
tildearrow 34d0925569 OPL: fix fixed frequency drums 2022-05-16 21:06:49 -05:00
tildearrow 1675456693 AY: fix possible hang 2022-05-16 13:37:41 -05:00
tildearrow e3d2faf427 OPLL: fix fixed drums freq 2022-05-16 05:06:26 -05:00
tildearrow 409d3c26af
Merge pull request #463 from grauw/opn-ay-type
Have OPN* platforms set the correct YM2149 chip type.
2022-05-15 17:03:47 -05:00
Laurens Holst a292bc109d Have OPN* platforms set the correct YM2149 chip type.
They were setting the Sunsoft type, which doubled the frequency division since c5c612c354.
2022-05-15 20:46:38 +02:00
tildearrow cddee6331e ZX beeper: clarify effects (will be done later) 2022-05-15 12:02:00 -05:00
tildearrow 2fbc39bc90 N163: fix potential linear pitch regression
how in the world
2022-05-15 11:28:59 -05:00
tildearrow 1e6b660d2c OPN: hopefully several ExtCh fixes 2022-05-15 11:05:28 -05:00
cam900 2a19834e14 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
* 'master' of https://github.com/tildearrow/furnace:
  full linear pitch is now the default
  add a full linear pitch mode, part 7
  X1-010: implement linear pitch (part 6)
  VERA: implement full linear pitch (part 5)
  YM2610(B): implement full linear pitch (part 4)
  add a full linear pitch mode, part 3
  YM2612: implement full linear pitch (part 2)
  update readme
  re-enable warnings are errors on MSVC
  YM2612: early full linear pitch experiment
  GUI: window movement only by clicking on title bar
  Fix GCC errors 2
  Fix GCC errors
  Remove SCC from TODO.md
  SCC has no config flags currently
  Add SCC and SCC+ support

# Conflicts:
#	CMakeLists.txt
#	src/engine/dispatchContainer.cpp
#	src/gui/guiConst.cpp
2022-05-16 00:37:07 +09:00
tildearrow c5c612c354
Merge pull request #421 from cam900/ay_divider
Some AY-3-8910, AY8930 enhancements
2022-05-15 02:14:50 -05:00
tildearrow 5babb4fd1e BANK 2022-05-15 02:02:31 -05:00
tildearrow f63c072517 fix build failure 2022-05-15 01:55:25 -05:00
tildearrow 14053f70cb DO NOT USE - THIS FAILS - WORK IN PROGRESS 2022-05-14 18:19:07 -05:00
cam900 8e50ad8c90
Merge branch 'master' into ay_divider 2022-05-14 22:09:25 +09:00
tildearrow 6f8f8d21f3 preparations for UI improvements
mostly around the system add/change UI
2022-05-14 04:05:29 -05:00
tildearrow 297ab01d4c OPN: per-channel oscilloscope 2022-05-14 01:12:23 -05:00
tildearrow 6288b485fc oops 2022-05-14 01:09:24 -05:00
tildearrow 06e00ab17b OPNA: per-channel oscilloscope 2022-05-14 01:07:32 -05:00
tildearrow ae5dcd3746 OPNA: proper ADPCM muting 2022-05-14 01:05:05 -05:00
tildearrow 031a0fc133 OPNA: RSS write optimization 2022-05-14 01:02:28 -05:00
tildearrow c685b60a3c ZX beeper: "register" view 2022-05-14 00:36:45 -05:00
tildearrow cb63921747 ZX beeper: set a more audible duty 2022-05-14 00:31:14 -05:00
tildearrow 895765b68a and here's your ZX beeper
no real hardware yet
specs of this dispatch may change at any time to fit a driver
2022-05-14 00:22:23 -05:00
tildearrow 0a0ddfa661 partially bring up sample map 2022-05-13 23:04:40 -05:00
tildearrow 07871eacc3 Amiga: linear pitch oopsie 2022-05-13 22:55:17 -05:00
tildearrow d7ec3b13c5 ADPCM-B: fixes to compatible mode 2022-05-13 22:43:00 -05:00
tildearrow 14e0189993 WonderSwan: fix forceIns() messing with noise 2022-05-13 21:44:34 -05:00
tildearrow 9936c66184 OPL: remove printf 2022-05-13 17:41:13 -05:00
tildearrow 1ffbfe17d4 Y8950/YMU759: ADPCM muting 2022-05-13 17:40:05 -05:00
tildearrow 315018ff24 YMU759: ADPCM 2022-05-13 17:22:00 -05:00
tildearrow 7218710268 add Y8950 system 2022-05-13 16:52:44 -05:00
Laurens Holst e2c1233b12 Reset period counter when writing to period registers.
This is what happens on real SCC. See also e.g. openMSX core:
https://github.com/openMSX/openMSX/blob/master/src/sound/SCC.cc#L390

To reduce the noise introduced by this, we add extra checks to only
write the period when it has actually changed.
2022-05-13 22:33:01 +02:00
tildearrow 4a563a416e prepare for Y8950/YMU759 ADPCM 2022-05-13 14:59:36 -05:00
tildearrow db2ebc4930 OPNA: improvements 2022-05-13 03:18:14 -05:00
tildearrow f2db15b2ce add OPNA chip (work in progress) 2022-05-13 02:52:43 -05:00
tildearrow cdf4c55f0f SCC: fix forceIns (finally)
fixes #447
2022-05-12 02:39:46 -05:00
tildearrow 4e2e542c7a OPN: implement muting and remove panning 2022-05-12 02:25:59 -05:00
tildearrow c6bfc8178a
Merge pull request #444 from akumanatt/x16
VERA: halve output volume to match other PSGs
2022-05-11 16:08:16 -05:00
tildearrow ff0319780e OPN: VGM export - good night 2022-05-11 03:41:02 -05:00
tildearrow ab969c1da0 add OPN chip
pretty much copy-paste from YM2610B code

next up: even more blatant copy-paste in 2608
2022-05-11 03:29:03 -05:00
Natt Akuma e48faa4114 VERA: halve output volume to match other PSGs
In terms of maximum single-channel output.
X16's mixing is kept by halving YM2151 part.
2022-05-11 15:22:17 +07:00
tildearrow 35ff5430d3 SCC: VGM export, forceIns bug fix and 10xx 2022-05-11 02:20:14 -05:00
tildearrow 0c0a97c21b SCC: address review comments 2022-05-11 01:13:21 -05:00
cam900 23f086fda6 Allow 8 bit filter write, Linear pitch support 2022-05-11 15:10:21 +09:00
tildearrow 8eb4fe365b
Merge pull request #443 from akumanatt/scc
Add SCC and SCC+ support
2022-05-11 01:09:08 -05:00
tildearrow 1c6e9c2cca add a full linear pitch mode, part 7
fix full linear pitch on OPL, OPLL, SAA1099 and Sound Unit
2022-05-11 00:26:28 -05:00
tildearrow ea118db499 X1-010: implement linear pitch (part 6) 2022-05-11 00:18:46 -05:00
tildearrow 90ac64f1d4 VERA: implement full linear pitch (part 5) 2022-05-11 00:11:24 -05:00
tildearrow f4652e6582 YM2610(B): implement full linear pitch (part 4) 2022-05-11 00:04:36 -05:00
tildearrow f5dbc37902 YM2612: implement full linear pitch (part 2) 2022-05-10 23:17:40 -05:00
tildearrow aad5d818f2 YM2612: early full linear pitch experiment
u n t e s t e d
2022-05-10 16:22:40 -05:00
Natt Akuma 00414c6504 Fix GCC errors 2 2022-05-11 00:29:17 +07:00
cam900 54e78699a7 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
* 'master' of https://github.com/tildearrow/furnace:
  dev94 - add a full linear pitch mode, part 1
  YM2610(B): use f-num/block baseFreq calculation
  GUI: remove insLoadAlwaysReplace setting
  GUI: right click menu for open instrument
  GUI: add a threshold for macro right click
  OPZ: remove debug printf
  GUI: add macro right click menu
  GUI: prepare for macro right click menu
  update gitignore
  add something
  prepare for something
  did i fix macOS build?
  GUI: macro edit improvements
2022-05-11 00:55:03 +09:00
cam900 4efa711a2b Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
* 'master' of https://github.com/tildearrow/furnace: (44 commits)
  GUI: now add ability to load VMEM
  Update sysDef.cpp
  GUI: add an option for it
  add preliminary TX81Z SysEx response
  OPL: drum volume
  OPL: implement hard reset
  GUI: add icon size setting
  GUI: macro UI refactor, part 4
  Fix WIN32 define timing in IGFD
  Fix outdated calling convention in SAASound (maybe fix MinGW)
  GUI: macro UI refactor, part 3
  GUI: macro UI refactor, part 2
  Masochism Volatile Compiler
  GUI: is the macro UI back yet
  OPL: fix 4-op muting (I think)
  GUI: macro UI refactor, part 1 - PLEASE READ
  GUI: remove classic macro view
  Maybe just enforce for C++
  Forbid standard extensions
  .ftm loading progress (incomplete, not working)
  ...

# Conflicts:
#	src/engine/instrument.h
#	src/gui/insEdit.cpp

Transwave Checkpoint
2022-05-11 00:16:20 +09:00
Natt Akuma 960a8e3616 Fix GCC errors 2022-05-10 17:36:09 +07:00
tildearrow 8784fe5664 dev94 - add a full linear pitch mode, part 1 2022-05-10 03:51:18 -05:00
tildearrow 5e14177e4e YM2610(B): use f-num/block baseFreq calculation
also allow for different octave boundary f-nums depending on chip clock
2022-05-10 02:22:08 -05:00
Natt Akuma a3fc76c984 Add SCC and SCC+ support 2022-05-10 11:25:10 +07:00
cam900 a8258d9a1a Divider related emulation core update, Fix init and period limitation 2022-05-10 13:18:02 +09:00
cam900 a9a249fd4c Merge branch 'master' of https://github.com/tildearrow/furnace into ay_divider
* 'master' of https://github.com/tildearrow/furnace: (24 commits)
  GUI: remove insLoadAlwaysReplace setting
  GUI: right click menu for open instrument
  GUI: add a threshold for macro right click
  OPZ: remove debug printf
  GUI: add macro right click menu
  GUI: prepare for macro right click menu
  update gitignore
  add something
  prepare for something
  did i fix macOS build?
  GUI: macro edit improvements
  GUI: now add ability to load VMEM
  Update sysDef.cpp
  GUI: add an option for it
  add preliminary TX81Z SysEx response
  OPL: drum volume
  OPL: implement hard reset
  GUI: add icon size setting
  GUI: macro UI refactor, part 4
  Fix WIN32 define timing in IGFD
  ...
2022-05-10 09:03:03 +09:00
tildearrow 0c24ee2f08 OPZ: remove debug printf 2022-05-08 22:40:14 -05:00
cam900 ab1ac51d68 Fix build, Transwave Checkpoint 2022-05-08 17:56:52 +09:00
tildearrow 38b4d1d39e OPL: drum volume 2022-05-07 21:58:17 -05:00
tildearrow 6fe58a3965 OPL: implement hard reset
fixes #437
2022-05-07 21:48:29 -05:00
cam900 9df2500195 Merge branch 'master' of https://github.com/tildearrow/furnace into ay_divider
* 'master' of https://github.com/tildearrow/furnace:
  GUI: macro UI refactor, part 2
  Masochism Volatile Compiler
  GUI: is the macro UI back yet
  OPL: fix 4-op muting (I think)
  GUI: macro UI refactor, part 1 - PLEASE READ
  GUI: remove classic macro view
  Fix more MSVC warnings
2022-05-07 23:04:01 +09:00
cam900 0b0a6dbf28 Fix divider again, split tone and envelope clock divider 2022-05-07 23:00:22 +09:00
tildearrow b2953e00fe OPL: fix 4-op muting (I think)
fixes #435
2022-05-06 23:52:14 -05:00
cam900 76997fd5ba
Merge branch 'master' into ay_divider 2022-05-06 19:17:34 +09:00
tildearrow 509e46417f OPZ: fix fixed frequency effects 2022-05-06 00:09:49 -05:00
tildearrow 5974e8c045 OPZ: fix EGShift emulation
1. the TX81Z has operators in reverse order
2. don't early out if EGShift is not 0
2022-05-05 23:50:15 -05:00
tildearrow 9a2938ff3e GUI: fix values button working as notes 2022-05-05 13:23:06 -05:00
cam900 9109d2c64f Merge branch 'master' of https://github.com/tildearrow/furnace into ay_divider
* 'master' of https://github.com/tildearrow/furnace:
  dev92 - GUI: customizable channel collapsing!
  GUI: more improvements to instrument loading
  GUI: implement instrument load replace
  NES: fix duty effect not working at all
  GUI: part 2 of previous commit
  GUI: only use edit color when pat view is focused
  GUI: fix more issues
  here's the new OPLL default instrument
  OPL: fix channel muting - PLEASE READ!
  OPLL: fix compatible drum mode
  the final part of extra FM effects
  implement extra FM effects (OPLL and OPL)
  update to-do list
  prepare for possible .ftm import
  implement extra FM effects (OPN, OPM and OPZ)

# Conflicts:
#	src/engine/engine.h
2022-05-05 13:39:58 +09:00
tildearrow 6aefd392ff NES: fix duty effect not working at all 2022-05-04 22:04:18 -05:00
tildearrow b75336bcb6 OPL: fix channel muting - PLEASE READ!
**SUBMODULES UPDATED** - Nuked-OPL3 is no longer a submodule as I
had to directly modify the core for this
if you mess up while removing Nuked-OPL3 from your repo, delete
everything and clone again

fixes #414
2022-05-04 18:06:32 -05:00
tildearrow e50df18393 OPLL: fix compatible drum mode 2022-05-04 17:43:06 -05:00
tildearrow 6e7b4d7e7f the final part of extra FM effects 2022-05-04 17:39:22 -05:00
tildearrow 897bf323f2 implement extra FM effects (OPLL and OPL) 2022-05-04 16:56:45 -05:00
tildearrow 467036df2a implement extra FM effects (OPN, OPM and OPZ)
issue #38
2022-05-04 14:09:43 -05:00
cam900 4f1ebc3b6e Some AY-3-8910, AY8930 enhancements
Fix AY PSG clock divider function when exists, Update emulation core (MAME AY PSG and compatibles - includes noise routine updates)
Fix configuration flag, Add MSX Darky sound expander to preset

Clock divider isn't affected to expanded mode's tone and noise generator?
2022-05-04 23:04:20 +09:00
cam900 0ab1f69c7c Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
* 'master' of https://github.com/tildearrow/furnace:
  fix sample saving
  add extra FM effects to effect post handler
  dev91 - it's a breaking change
  aaaaaa
  AY8930: Fix tone and noise period in expanded mode.
  OPL: fix possible crash
2022-05-04 10:31:15 +09:00
tildearrow 391928af6e
Merge pull request #416 from grauw/ay8930-fix2
AY8930: Fix tone and noise period in expanded mode.
2022-05-03 16:51:50 -05:00
Laurens Holst 49ff39abee AY8930: Fix tone and noise period in expanded mode.
By doubling the internal clock frequency.

In expanded mode, the same tone period is an octave higher than in compat mode.
In expanded mode, the noise period is twice as fast as currently implemented.

See https://github.com/tildearrow/furnace/pull/416
2022-05-03 21:28:10 +02:00
tildearrow 978b0798e5 OPL: fix possible crash 2022-05-03 14:04:38 -05:00
cam900 4021abe495 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
* 'master' of https://github.com/tildearrow/furnace:
  YM2610: optimize oscilloscope fetch CPU usage
  GUI: add audio load meter to statistics
  GUI: put "OK" and "Cancel" buttons in the bottom
  better FM chip names
  sysDef refactor, part 3 - PLEASE READ
  NO
  Reduce unnecessary line
  Debug improvements
  AY8930: Fix VGM output.

# Conflicts:
#	.gitignore
#	src/engine/playback.cpp
#	src/gui/debugWindow.cpp
2022-05-04 03:32:26 +09:00
tildearrow 4c9b172b50 YM2610: optimize oscilloscope fetch CPU usage 2022-05-03 02:52:38 -05:00
tildearrow 3d541682e6
Merge pull request #412 from grauw/ay8930-vgm
AY8930: Fix VGM output.
2022-05-03 01:53:41 -05:00
cam900 83e58e0205 Fix GCC 2022-05-03 12:55:36 +09:00
cam900 ec5069ad21 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
* 'master' of https://github.com/tildearrow/furnace:
  document (NON-WORKING) extended op param effects
  FDS: add NSFPlay core
  NES: fix Furnace-style DPCM
  SoundUnit: fix PCM pitch
  SoundUnit: PCM support

# Conflicts:
#	src/engine/sample.h
#	src/gui/debugWindow.cpp
2022-05-03 11:11:43 +09:00
cam900 e136db6d7a Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
* 'master' of https://github.com/tildearrow/furnace: (26 commits)
  prepare for #38
  NES: DPCM work!
  fix bug caused by new renderSamples approach
  NES: prepare for DPCM
  OPZ: more fixed frequency mode fixes
  OPZ: possibly fix fixed freq emulation
  OPZ: fix muting
  OPL: fix panning
  damn it
  per-channel oscilloscope, part 10
  NES: NSFPlay per-channel osc
  NES: NSFPlay muting
  NES: now fix tri_mute
  NES: finally
  fix typo in playback engine
  NES: wire up NSFplay
  now fix it damn it
  now move these files
  add readme
  convertir de Shift-JIS a UTF-8
  ...

# Conflicts:
#	src/engine/engine.cpp
#	src/engine/engine.h
#	src/engine/platform/nes.cpp
#	src/engine/vgmOps.cpp
#	src/gui/stats.cpp
2022-05-03 11:07:50 +09:00
tildearrow 62289d924e FDS: add NSFPlay core 2022-05-02 16:53:55 -05:00
tildearrow 960048cf4b NES: fix Furnace-style DPCM 2022-05-02 16:05:07 -05:00
Laurens Holst ffa0727bf6 AY8930: Fix VGM output.
It was generating writes to register addresses > 15.
2022-05-02 22:49:55 +02:00
tildearrow ce40085d3b SoundUnit: fix PCM pitch 2022-05-02 15:07:59 -05:00
tildearrow a6ef36d42e SoundUnit: PCM support 2022-05-02 14:51:06 -05:00
cam900 8283d46e7d Disable reversed playback checkbox when using sample map
Clamp per-channel OSC output, Reduce warning
2022-05-02 21:19:10 +09:00
tildearrow 5a724e4949 NES: DPCM work! 2022-05-02 03:42:40 -05:00
tildearrow dbe9bf25e7 fix bug caused by new renderSamples approach
when doing switchMaster
2022-05-02 02:54:23 -05:00
tildearrow a7b8f81da7 NES: prepare for DPCM 2022-05-02 02:12:14 -05:00
tildearrow b92ce84b34 OPZ: more fixed frequency mode fixes 2022-05-02 02:12:02 -05:00
tildearrow a0db8ab49a OPZ: possibly fix fixed freq emulation 2022-05-02 01:22:49 -05:00
tildearrow 34f7750c27 OPZ: fix muting 2022-05-02 01:15:42 -05:00
tildearrow 6380876b9a OPL: fix panning 2022-05-02 00:41:58 -05:00
tildearrow 5adc29906a
Merge pull request #410 from grauw/dispatch-render-samples
Move renderSamples() to DivDispatch implementations.
2022-05-02 00:25:58 -05:00
tildearrow 7a67730c29 damn it 2022-05-02 00:23:03 -05:00
tildearrow 430d0329bd per-channel oscilloscope, part 10
OPZ
2022-05-02 00:22:34 -05:00
tildearrow de09073232 NES: NSFPlay per-channel osc 2022-05-02 00:05:28 -05:00
tildearrow 61b4e3745f NES: NSFPlay muting 2022-05-01 23:57:53 -05:00
tildearrow e1cec62af4 NES: now fix tri_mute 2022-05-01 23:48:35 -05:00
tildearrow 153e025cf8 NES: finally 2022-05-01 23:48:02 -05:00
tildearrow cb7aa4aa05 NES: wire up NSFplay
no muting supported for now
see #27
2022-05-01 23:20:20 -05:00
tildearrow 7b31f6a3e5 now fix it damn it 2022-05-01 22:52:22 -05:00
tildearrow e873070d84 now move these files 2022-05-01 22:22:02 -05:00
Laurens Holst 7f0074511c Move renderSamples() to DivDispatch implementations.
To prevent rendering samples for systems that are not in use.

Additionally, it gives the systems more flexibility to render the samples
according to their specific configuration.
2022-05-01 23:23:38 +02:00
cam900 e246697928 Prepare for per-channel osc view, ES550X core update 2022-05-01 21:26:10 +09:00
cam900 329048bf6c Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
* 'master' of https://github.com/tildearrow/furnace:
  Clang you are so arrogant
  ok so screw you
  let's hope this works
  attempt to fix CI
  per-channel oscilloscope, part 8
  per-channel oscilloscope, part 7
  per-channel oscilloscope, part 6
  per-channel oscilloscope, part 5
  but PCE supports samples!
  per-channel oscilloscope, part 4
  YM2612: fix Furnace DAC mode glitching slides
  per-channel oscilloscope, part 3
  GUI: add missing actions to settings
  per-channel oscilloscope, part 2
  Revert PC speaker presets
  Have host sound chip appear before expansions
2022-05-01 19:59:03 +09:00
tildearrow 58fe971a3c Clang you are so arrogant 2022-05-01 05:18:30 -05:00
tildearrow 9f19b5dfc4 ok so screw you 2022-05-01 05:10:41 -05:00
tildearrow 05ae774617 let's hope this works 2022-05-01 04:49:41 -05:00
tildearrow e1a02f64de attempt to fix CI 2022-05-01 04:30:04 -05:00
tildearrow 3a4f120120 per-channel oscilloscope, part 8
TIA is done
2022-05-01 04:01:25 -05:00
tildearrow 47f83c0472 per-channel oscilloscope, part 7
YM2610 and YM2610B
only TIA is left
2022-05-01 03:47:04 -05:00
tildearrow 415e490025 per-channel oscilloscope, part 6
YM2612 and OPM (ymfm)!
2022-05-01 03:12:32 -05:00
tildearrow c0e9b48b5b per-channel oscilloscope, part 5
SAA1099 (SAASound and MAME), Lynx, MMC5, N163, PC Engine, PC Speaker,
PET, QSound, WonderSwan, VERA, VIC-20, VRC6 and X1-010!
2022-05-01 02:40:03 -05:00
tildearrow e1fd16637c per-channel oscilloscope, part 4
OPM, OPN2, OPLL and SN
plus hide unimplemented channels
2022-04-30 22:59:26 -05:00
tildearrow ddcd486c61 YM2612: fix Furnace DAC mode glitching slides 2022-04-30 20:52:48 -05:00
tildearrow 1c3dcae05e per-channel oscilloscope, part 3
K00/C64/NES fixed
FDS, Game Boy and Sound Unit
2022-04-30 18:33:12 -05:00
tildearrow c738ece374 per-channel oscilloscope, part 2
AY8930, K00, C64 and NES
2022-04-30 14:36:12 -05:00
cam900 5414213710 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
* 'master' of https://github.com/tildearrow/furnace:
  maybe uninitialized
  GUI: prepare for a per-channel oscilloscope?
  GUI: add backdrop if system file picker is open
  GUI: add ability to customize startup system
  GUI: finally implement "don't scroll when moving c ursor" setting
  new panning effects (80/81/82)
  GUI: fix sample paste crash
  GUI: implement sample scroll with mouse wheel
  sysDef oopsie

# Conflicts:
#	src/gui/guiConst.cpp
2022-05-01 00:25:21 +09:00
cam900 53a52788e2 Add per-note map reversed playback support
Prepare for pcm changed flag, 8 bit panning command
Reduce register spamming in volume update routine

Progress report:
* Emulation core update, Dispatch update:
  * Volume is unsigned like original chip, for reduce overflow.
* Add multi-mode macro support for radio button
2022-04-30 23:45:05 +09:00
tildearrow 4197fa44fb GUI: prepare for a per-channel oscilloscope?
currently supported systems:
- Amiga
- AY-3-8910
- Dummy System
- OPLL
- SegaPCM

no trigger supported yet!
2022-04-30 03:58:30 -05:00
tildearrow 2e8634626d new panning effects (80/81/82) 2022-04-29 23:41:14 -05:00
cam900 72e8bb89a7 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
* 'master' of https://github.com/tildearrow/furnace:
  GUI: sample/macro zoom with ctrl-wheel
  GUI: prevent division by zero
  GUI: possibly fix an instrument saving issue
  GUI: add chip randomizer button
  update to-do list
  oops
  NES: add DMC write effect
  SoundUnit: implement panning
  QSound: implement panning macro - PLEASE READ
  further improve channel allocation
  update format.md for eventual ExtCh extra systems
  improvements to swap/stomp channel

# Conflicts:
#	src/gui/insEdit.cpp
2022-04-30 02:32:55 +09:00
tildearrow 8500fa4c4c NES: add DMC write effect 2022-04-29 00:18:51 -05:00
tildearrow abd42cbb03 SoundUnit: implement panning 2022-04-29 00:08:56 -05:00
tildearrow 5567746e0b QSound: implement panning macro - PLEASE READ
the panning strategy for QSound has changed!
it's now 08xy where x is left and y is right (muting is not possible though!)
this makes it consistent with other chips, plus QSound's pan range was
32 anyway

in order to toggle the QSound effect use effect 12xx
2022-04-28 23:58:11 -05:00
cam900 d0c55e4951 Fix build 2022-04-28 23:58:35 +09:00
cam900 cdb3a51766 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
* 'master' of https://github.com/tildearrow/furnace:
  implement channel swapping
  implement relative pitch macro mode
  prepare for relative pitch macro

# Conflicts:
#	src/gui/insEdit.cpp
2022-04-28 23:30:50 +09:00
cam900 3956b2cd30 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
* 'master' of https://github.com/tildearrow/furnace:
  dev90 - linear pitch macro option
  dev89 - C64: add test/gate macro
  YMU759: update system definition
  more changes to autoNoteOn
  SoundUnit: ring modulation
  GUI: improve the maximize auto-detection a bit
  GUI: possibly remember maximized state
  NES: fix audio resolution being too low
  update to-do list
  SoundUnit: more stuff
  SoundUnit: max cutoff 16383
  effectRows -> effectCols
  GUI: rename Amiga/Sample to Sample
  This is not a sample properties table
  Define the compact wave editor
  Menu option, settings file

# Conflicts:
#	src/gui/insEdit.cpp
2022-04-28 16:05:01 +09:00
tildearrow d211170e86 implement relative pitch macro mode 2022-04-28 01:31:16 -05:00
tildearrow 77b4e57c58 prepare for relative pitch macro 2022-04-28 00:50:09 -05:00
tildearrow 66f5b2117f dev90 - linear pitch macro option 2022-04-28 00:26:21 -05:00
tildearrow 4a9855f090 dev89 - C64: add test/gate macro
and "don't test/gate before new note" setting
2022-04-27 23:54:45 -05:00
tildearrow f2b974acc5 SoundUnit: ring modulation 2022-04-27 22:57:36 -05:00
tildearrow 180ff2457d NES: fix audio resolution being too low 2022-04-27 20:36:32 -05:00
tildearrow dce862fdb9 SoundUnit: more stuff 2022-04-27 18:28:46 -05:00
tildearrow 410a509d73 SoundUnit: max cutoff 16383 2022-04-27 18:03:24 -05:00
cam900 8c214d40e1 Fix build, Core update 2022-04-27 22:08:18 +09:00
cam900 37216e323f Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
* 'master' of https://github.com/tildearrow/furnace:
  fix MSVC oh my
  improvements to sysDef and UX changes

# Conflicts:
#	src/engine/dispatchContainer.cpp
#	src/gui/insEdit.cpp
2022-04-27 21:21:08 +09:00
cam900 0209ebda03 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
* 'master' of https://github.com/tildearrow/furnace:
  sysDef refactor, part 2
  sysDef refactor, part 1 - PLEASE READ NOTE
  prepare for macroInt preview in instrument editor
  GUI: fix #400
  fix metronome in low-latency mode

# Conflicts:
#	src/engine/dispatch.h
#	src/engine/dispatchContainer.cpp
#	src/engine/instrument.h
#	src/engine/song.h
#	src/engine/sysDef.cpp
#	src/gui/dataList.cpp
#	src/gui/gui.h
#	src/gui/guiConst.cpp
2022-04-27 19:52:04 +09:00
tildearrow 8db3831ab6 fix MSVC oh my 2022-04-27 05:02:18 -05:00
tildearrow 78bdd98e0b improvements to sysDef and UX changes
- "no undo" in clear option
- only display instrument types depending on current systems
2022-04-27 04:48:56 -05:00
tildearrow 24d60507e7 sysDef refactor, part 2
to @cam900 and @grauw: you may now pull this to your branch.
check out the comments in sysDef.cpp though.
2022-04-27 00:56:15 -05:00
cam900 482dbf8dd5 Checkpoint
Addressing reviews, Fix GCC/Clang builds, Core updates
2022-04-27 14:29:53 +09:00
tildearrow e8f29cf122 prepare for macroInt preview in instrument editor 2022-04-26 15:24:45 -05:00
cam900 7fbd239b85 emulation core related fix, reversed loop and volume 2022-04-27 00:47:01 +09:00
cam900 97d2bddf1f Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
# Conflicts:
#	src/gui/insEdit.cpp
#	src/gui/sampleEdit.cpp
2022-04-26 12:54:11 +09:00
cam900 49a41ff862 Merge branch 'master' of https://github.com/tildearrow/furnace into es5506_alt
* 'master' of https://github.com/tildearrow/furnace: (77 commits)
  GUI: use pattern font for input latch
  GUI: partially implement note input latch UI
  GUI: transpose value does not transpose effect ID
  GUI: prepare for note input latch UI
  GUI: min ins selector width fix
  GUI: separate operation masks
  GUI: add missing FDS preset
  GUI: prepare for separate operation mask
  GUI: "none" instrument should not remove inscolumn
  GUI: fix ins 0 being inserted on blank song
  GUI: add a "none" option to instrument list
  update to-do list
  GUI: add "absorb" instrument input mode
  use good default instrument when adding ins
  better default instrument for OPL/OPLL
  GUI: fix selection being visible in dummy row area
  Further fix looped sample preview
  GUI: fix about screen in power saving mode
  VRC6: saw volume 63
  GUI: add an effect list window
  ...

# Conflicts:
#	src/engine/platform/amiga.cpp
#	src/engine/vgmOps.cpp
#	src/gui/dataList.cpp
#	src/gui/guiConst.cpp
#	src/gui/insEdit.cpp
#	src/gui/sampleEdit.cpp
2022-04-26 12:04:23 +09:00
tildearrow e8c9b645c5 GUI: implement instrument preview in file dialog
SADLY it's just for the built-in file dialog
but i'll think of a solution for the external one
2022-04-25 18:58:17 -05:00
tildearrow 2e52a2855c WonderSwan: fix noise phase reset 2022-04-25 18:07:49 -05:00
tildearrow 3e1c2197eb OPL: fix #369 2022-04-25 18:04:13 -05:00
tildearrow 2a952b1a66 dev87 - C64 changes
issue #335
2022-04-25 17:55:48 -05:00
tildearrow 1b97d3912b YM2612: hopefully the final pitch slide fix 2022-04-25 11:59:02 -05:00
tildearrow bcade6931a YM2612: allow for DAC rate higher than 32KHz
issue #391
2022-04-25 01:42:26 -05:00
tildearrow 832df58929 YM2612: fix several sample bugs 2022-04-25 01:24:42 -05:00
tildearrow 52e35fdf04 huh? TODO: fix this 2022-04-24 18:17:05 -05:00
tildearrow bd68ef5cc3 dev86 - SN duty macro phase reset fix 2022-04-24 18:12:18 -05:00
tildearrow f99ba810fe PC speaker: fix timer issue 2022-04-24 17:48:04 -05:00
tildearrow 23be8d9336 the final piece of f-num/block work 2022-04-24 14:40:07 -05:00
tildearrow dd9bb8327a and this finally does it
the last thing to do is a compatibility flag
2022-04-23 18:02:43 -05:00
tildearrow 0e3dbdc1b2 this might fix it 2022-04-23 16:52:31 -05: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 79fa8f1d02 better default instrument for OPL/OPLL
no longer silence
2022-04-21 02:24:06 -05:00
cam900 29ea6dc360 Partially ES5506 support (not working yet!)
Add sample related enums
Add support for backward/pingpong loop, loop end position
Structize Notemap in sample instrument
2022-04-21 01:52:37 +09:00
tildearrow 1a81c6c3e7 VRC6: saw volume 63 2022-04-19 21:55:13 -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 f550bd82dd possibly fix #373 2022-04-18 16:21:00 -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 211a4b1821 C64: fix portamento not working... 2022-04-17 01:37:33 -05:00
tildearrow 164d56a21f YM2151: implement panning macro i think 2022-04-16 18:35:35 -05: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 fd3d57b1cb even more improvements to low-latency mode 2022-04-15 15:01:11 -05:00
tildearrow 96715ed88c add experimental low-latency mode
do not use (yet)!
2022-04-15 05:37:23 -05:00