Commit Graph

2038 Commits

Author SHA1 Message Date
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 d406380773 SoundUnit: fix some effect definitions 2022-08-22 14:20:47 -05:00
tildearrow 3b6fa212b8 implement macro speed/delay 2022-08-22 03:52:32 -05:00
tildearrow 2650fe609f dev111 - many macro changes
- max macro length is now 255
- loop/rel pos is now unsigned (255 = no)
- prepare for macro speed/delay
2022-08-22 02:13:33 -05:00
tildearrow 16309a8429 allow it 2022-08-22 00:20:40 -05:00
tildearrow 629cca9df1 ECxx 2022-08-22 00:01:21 -05:00
tildearrow 38afdd3378 dev110 - add cut/delay effect policy compat flag
INCOMPLETE!!!
2022-08-21 23:56:58 -05:00
tildearrow b223bc80de YM2612: #581 2022-08-21 20:06:01 -05:00
tildearrow 10aaf7f0cb YM2612: #580 2022-08-21 19:57:01 -05:00
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 f01be34b5e GUI: highlight current macro position
not for op macros (yet)
2022-08-20 01:10:30 -05:00
tildearrow 24e3dec84f another big-endian fix! 2022-08-19 22:37:54 -05:00
tildearrow 4d057d3328 dev109 - define SNES instrument params 2022-08-19 19:42:01 -05:00
tildearrow c74d7fab37 dev108 - add SN period range compat flag
there's room for possible improvement
2022-08-19 18:46:19 -05:00
tildearrow 5fe3a3c35a prepare for moving chips 2022-08-19 16:25:32 -05:00
tildearrow 27555c3c0a aaaand more fixing 2022-08-19 04:45:59 -05:00
tildearrow 3787d2ae87 one more big endian fix 2022-08-19 04:41:32 -05:00
tildearrow 7f80b5f6a3 dev107 - Merge pull request #639 from tildearrow/es5506_inst
Implement ES5506 instrument type
2022-08-19 01:28:24 -05:00
tildearrow 6527840556 Fix Initializer Again 2022-08-19 01:27:21 -05:00
tildearrow 5c7338930f fix big-endian build (i think) 2022-08-19 01:26:11 -05:00
cam900 42006e338c Fix Initializer 2022-08-19 14:49:10 +09:00
tildearrow 142c21e20b partially fix big-endian build
samples are the next thing to tackle
2022-08-19 00:23:45 -05:00
tildearrow 952a2a66e8 store ES5506 params in format 2022-08-18 23:55:29 -05:00
cam900 5190c6daab Implement ES5506 instrument type
ES5506 has these features:
- 16 bit independent volume register per left/right output (Logarithmic, 4 LSB is for envelope)
- Programmable filter per each channels, 4 pole, 4 filter mode and 2 16 bit coefficient register (4 LSB is for envelope)
- Hardware envelope

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

* fix build

* C64: fix fine cutoff regression

* fix some more crashes

Co-authored-by: tildearrow <tildearrow@protonmail.com>
2022-08-18 01:26:22 -05:00
ZeroByteOrg 941d45ad80 Merge branch 'master' into ZSMv1 2022-08-16 11:24:18 -05:00
tildearrow d1c5a4725b add option to save unused patterns
closes #106

also prepare for the pattern manager window
2022-08-16 03:42:17 -05:00
tildearrow edddff8431 prepare for pattern optimization 2022-08-16 03:19:16 -05:00
tildearrow 976e193309 SoundUnit: add 1-bit PDM rev emulation 2022-08-16 02:08:10 -05:00
tildearrow 8734005b23 SoundUnit: fix switch roles mode 2022-08-15 23:20:26 -05:00
tildearrow 77109c3832 fix instrument move/del screwing up sub-songs 2022-08-15 22:54:31 -05:00
tildearrow 5fe661e9a3 allow rates down to 1Hz 2022-08-15 22:40:04 -05:00
tildearrow 474dfa2587 Game Boy: fix bug involving hw sweep and zombie 2022-08-15 22:36:26 -05:00
tildearrow f86b66b4b7 PET: fix missing pitch macro 2022-08-15 21:46:36 -05:00
tildearrow e5e024c5f9
Merge pull request #633 from djtuBIG-MaliceX/hotfix/WOPL-OPLI-2x2op-missing-FeedConnect-fix
WOPL/OPLI Load bugfix for 2nd 2op pair
2022-08-15 05:35:15 -05:00
tildearrow 20c5e14f26 FC loader: the final fixes for this night 2022-08-15 04:22:14 -05:00
tildearrow 206b3af12a FC loader: aaaaaaand more fixes 2022-08-15 03:40:04 -05:00
tildearrow bef8cf5f5f FC loader: sample loop point and more fixes 2022-08-15 03:32:27 -05:00
tildearrow 4663534fa3 FC loader: preset waveforms, vibrato and stuff 2022-08-15 03:18:54 -05:00
tildearrow 15b4294532 FC loader: fix wave, sample and freq seq loading 2022-08-15 02:01:08 -05:00
tildearrow 779fc889c0 fix system definition for ES5506 - again 2022-08-14 23:34:57 -05:00
tildearrow a34c9806cb Game Boy: whoops 2022-08-14 23:30:36 -05:00
tildearrow 1a4a58d970 Merge branch 'master' of github.com:tildearrow/furnace 2022-08-14 23:28:28 -05:00
tildearrow a8d3803efc Game Boy: now fix wave channel volume column 2022-08-14 23:28:15 -05:00
cam900 23276211f5
Fix incorrect info on ES5506 2022-08-15 13:25:31 +09:00
tildearrow f8b3c089a4 Game Boy: fix volume column 2022-08-14 23:07:19 -05:00
tildearrow 9b6730607e OPL: finally fix the carnival night zone bug
TODO: RUN TEST SUITE!
2022-08-14 19:17:03 -05:00
tildearrow cb4417824d YMZ280B: restore panning in forceIns 2022-08-14 14:26:55 -05:00
tildearrow 1b10c547e3 SoundUnit: implement switch roles flag 2022-08-14 14:19:30 -05:00
James Alan Nguyen 6344a1d23f Reported bug - 2nd 2op pair did not read ALG and FB registers to instrument patch 2022-08-14 16:09:31 +10:00
tildearrow 02fb5abc02 add ability to save ins/wave as .dmp/.dmw
also saving wavetables as raw data
2022-08-13 15:43:13 -05:00
tildearrow 041a76ad81 raw sample import fixes 2022-08-13 06:25:11 -05:00
tildearrow 91f9352eaf implement raw sample import
untested
2022-08-13 05:50:36 -05:00
tildearrow ce2d322e47 GUI: add replace for wave/sample and prepare for
raw sample import
2022-08-13 04:17:32 -05:00
tildearrow 2743c60cf3 Game Boy: fix wave channel auto-enable on wave cha 2022-08-12 23:09:34 -05:00
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 ed98df91d2 turn on proper noise layout by default 2022-08-11 02:05:05 -05:00
tildearrow 7e7a5a8e30 Game Boy: software envelopes, part 4
fixes
2022-08-11 01:34:18 -05:00
tildearrow d30f9bc8a0 Game Boy: software envelopes, part 3
zombie mode
2022-08-11 01:24:53 -05:00
tildearrow 340052cf0a Game Boy: add chip revision flag 2022-08-11 00:46:15 -05:00
tildearrow 92f40774e4 Game Boy: I hate your artificial limitations
fixes a DefleMask demo module
2022-08-10 23:56:25 -05:00
tildearrow 51db06298b Game Boy: fix volume regression 2022-08-10 23:53:47 -05:00
tildearrow 4b18d0920b Game Boy: software envelopes, part 2 2022-08-10 17:02:45 -05:00
tildearrow bccecc4c07 Game Boy: software envelopes, part 1 2022-08-10 16:27:29 -05:00
tildearrow 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 1c92d23d27 commands view now only displays useful commands 2022-08-07 17:40:01 -05:00
tildearrow b8012344e7 fix possible crash when closing Furnace 2022-08-07 17:37:07 -05:00
tildearrow f80488d9b0 minimize allocations in nextBuf 2022-08-07 17:32:39 -05:00
tildearrow 829db187df Y8950: fix ADPCM per-chan osc I think 2022-08-07 06:24:48 -05:00
tildearrow 45196daf95 Game Boy: fix serious typo 2022-08-07 01:32:28 -05:00
tildearrow 1721e1d03e Game Boy: re-enable wave corruption bug emulation 2022-08-07 00:40:26 -05:00
tildearrow 7dad9098b6 Game Boy: fix wave channel 2022-08-07 00:37:35 -05:00
tildearrow ab013291d4 Game Boy: make channel state independent of instru 2022-08-07 00:22:03 -05:00
tildearrow 9f8c96d45b dev105 - prepare for Game Boy hardware sequences
issue #27
2022-08-07 00:03:27 -05:00
tildearrow 47ea8132b2 QSound: limit max frequency to $EFFF
it appears $F000 and beyond cause glitches (#256)
2022-08-06 23:05:54 -05:00
tildearrow 17dba66fa0 MMC5: finally fix PCM linear pitch mode issues 2022-08-06 22:52:39 -05:00
tildearrow 6934a499c1 SoundUnit: actually finish it 2022-08-06 18:23:11 -05:00
tildearrow e0c5029769 Merge branch 'master' of github.com:tildearrow/furnace 2022-08-06 16:24:11 -05:00
tildearrow f03123fd75 SoundUnit: implement missing input line emulation 2022-08-06 16:22:57 -05:00
tildearrow fa66fb1c9a
Merge pull request #622 from djtuBIG-MaliceX/hotfix/opm-loading-discrepancy
Fix OPM load bug relating to AM-ENA values above 1
2022-08-06 14:57:34 -05:00
freq-mod a841296219
Y8950: PCM -> ADPCM
also where the f is my write access
2022-08-06 17:50:15 +02:00
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 3a18e1e6fc partially implement command stream binary mode 2022-08-04 18:50:52 -05:00
tildearrow 2e41d117d7 fix some of these command hints 2022-08-04 17:47:59 -05:00
tildearrow 09e32c7050 finish command dump hints 2022-08-04 15:14:29 -05:00
James Alan Nguyen 810eabca99 derp limits 2022-08-04 17:50:33 +10:00
James Alan Nguyen edb0f51131 stdint required 2022-08-04 17:43:42 +10:00
James Alan Nguyen b030f8285d Bugfix for OPM file load - correctly handle AM-ENA where value is arbitrarily nonzero 2022-08-04 17:33:36 +10:00
tildearrow d54d853ff8 add a command stream dump option 2022-08-04 00:51:47 -05:00
tildearrow a0d10aa60b Game Boy: implement anti-click 2022-08-03 19:17:18 -05:00
tildearrow 7ec4f7cb9e VGM export: add option to insert pattern change hi
nts
2022-08-03 18:44:45 -05:00
tildearrow fce0371756 add "hint" commands 2022-08-03 17:21:47 -05:00
tildearrow 52c3b10373 add getWantPreNote()
currently only C64 system requires this
2022-08-03 16:21:30 -05:00
tildearrow 53120edd99 disable MIDI clock 2022-08-03 14:41:53 -05:00
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
tildearrow 2b4b320a74 fix noMultiSystem setting being inverted 2022-07-27 02:36:48 -05:00
tildearrow 173e9b0df9 **Namco C163** 2022-07-26 18:23:01 -05:00
tildearrow 280592cf33 fix build 2022-07-26 01:42:34 -05:00
tildearrow 8d17500315 jlhafasjkhdgkdhjasfd 2022-07-25 19:45:49 -05:00
tildearrow 3ff8f3d860 FC loader: read slides 2022-07-25 19:09:42 -05:00
tildearrow 09e457003b add option for soft-clipping 2022-07-25 18:41:47 -05:00
tildearrow 83386d082d add a proper CLI
featuring skip order (left/right) and pause (space)!
currently available on macOS and Linux only.
2022-07-25 17:23:56 -05:00
tildearrow 9a0609ae1a fix build... 2022-07-24 02:24:57 -05:00
tildearrow 1dbdf8558c Merge branch 'master' of github.com:tildearrow/furnace 2022-07-24 01:57:21 -05:00
tildearrow 588f3f737c preliminary Future Composer module loading
only loads patterns and doesn't deduplicate
conversion required to fit in the Furnace format (no transpose ins/note)
even the pattern loader itself isn't complete due to how different the
format is
2022-07-24 01:57:10 -05:00
cam900 b48b7c8bc5 Apply loop end position for generic DAC 2022-07-24 12:23:38 +09:00
Christoph Neidahl e08399156a
Haiku support (#596)
* Don't apply Wayland videodriver workaround on Haiku

* dirent.d_type-less type detecting in IGFD

The Dumb Way(tm). `stat`'s `st_mode` should be nicer?

* CMake check for dirent.d_type, stat-based fallback

* Move config dir setup to separate function

Nicer to work with than macro kerfuffle.

* Default sysFileDialog to off on Haiku

* Logging stuff

* Honour CMAKE_INSTALL_BINDIR

* Use find_directory on Haiku

Includes forgotten configPath line when home==NULL.

* Address PR review notes
2022-07-23 22:11:30 -05: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 8d88ac766c dev103 - store system name and other info in song 2022-07-23 17:02:03 -05:00
tildearrow d004629a58 dev102 - new sample storage format 2022-07-22 02:29:01 -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 f6b45d3d9b GUI: add Namco C163 chip name option 2022-07-21 15:21:29 -05:00
cam900 a5959ae7b9 Struct-ize sample map variable 2022-07-20 23:01:06 +09:00
tildearrow cd7b333b2d introduce a benchmark mode 2022-07-19 17:01:19 -05:00
tildearrow a4741861ce fix audio output being reset on cmd line export 2022-07-19 15:57:06 -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 c85b67b1da NES + chip -> Famicom + chip 2022-07-09 15:55:27 -05:00
tildearrow c2f1385703 MSM6258: fix position not being reset in furnace s
ample mode
2022-07-08 02:25:25 -05:00
cam900 fe94ea8e04
Fix typo 2022-07-07 04:10:32 +09: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
tildearrow 0ec28f168e more .dmf compatibility stuff 2022-07-03 23:31:35 -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
Natt Akuma fac415c8e8 Prepare for NGP system
Also add PCM DAC as system format 0xc0
2022-07-02 08:19:25 +07: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 a8a38dce2b 0.6pre1 - introduce the final changes
- implement E1xy/E2xy Defle bug when using same note twice
- add SNK Touchdown Fever preset
- update README.md and to-do list
- update credits

thank you for your patience!

see you in 0.6pre1.5 coming soon...
2022-06-29 04:57:05 -05:00
tildearrow 0a055ff85b OPL: fix crash 2022-06-29 02:11:25 -05:00
tildearrow b99dce5362
Merge pull request #499 from superctr/220527_blocksize
Save the size of each block in a Furnace module
2022-06-29 01:54:05 -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 9fee9fa363 GUI: run per-chan osc on instrument preview 2022-06-29 01:37:12 -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 8c8ad7f5ab fix audio saving being totally wrong 2022-06-28 22:08:24 -05:00
tildearrow 13f14b6854 SoundUnit: fix copy-paste blunder 2022-06-28 12:55:14 -05:00
tildearrow be7d7002e2 fix opening/saving audio files with non-ASCII char
s on Windows

this required making a wrapper...
2022-06-28 02:00:08 -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
tildearrow fef09fb00d fix major per-channel audio export issue in ExtCh 2022-06-27 03:55:55 -05:00
tildearrow 869fe23036 fix .y12 TL loading 2022-06-27 03:44:09 -05:00
tildearrow 7ea49d7e84 what? 2022-06-27 03:39:42 -05: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 a717c67f3d change IDs of null/dummy audio backends
for eventual alternate audio backend support
2022-06-23 22:53:21 -05:00
tildearrow b66cc81fc6 fix loading 24-bit samples 2022-06-23 22:33:25 -05:00
tildearrow 7586db9a1b fix Termux build again 2022-06-23 16:25:51 -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 142b8b2bb0 safeReader: Copy a value instead of direct casting
This fix crashes on architectures with forced alignments such as ARM
2022-06-23 09:03:20 +07:00
Natt Akuma 8dc143af7b PET: Support full 16-bit period range
Fix #500
2022-06-23 02:42:11 +07:00
Natt Akuma 4bf4be1ea2 Fix 16-bit samples in YMZ280B VGM export 2022-06-22 21:55:31 +07:00
tildearrow e3686c2e34 fix song playing from begin if stopped on last row 2022-06-20 22:14:16 -05: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
tildearrow ad5072dad6 more MIDI debugging messages 2022-06-16 23:55:17 -05:00
tildearrow b7d8f3c17a harden sample movement 2022-06-16 23:39:38 -05:00
tildearrow 4d44c577e7 support saving 8-bit samples as-is 2022-06-16 23:22:40 -05:00
tildearrow cdbcf7fcd3 fix loading 8-bit samples 2022-06-16 22:10:57 -05:00
tildearrow 327952f3f4 finally support loading floating-point samples 2022-06-16 22:07:12 -05:00
tildearrow ed6a110d44 initialize SF_INFO before loading sample 2022-06-16 21:25:21 -05: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 d48801cfde GUI: slight visualizer tweaks 2022-06-14 04:41:57 -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
ZeroByteOrg 8ed02530f6 Added WriteUC wrapper to safewrite for unsigned char. 2022-06-07 22:08:04 -05:00
ZeroByteOrg 7ad4a8f5a7 Fixed compile error in MacOS 2022-06-07 20:24:50 -05: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 64fa5f804b finish fade out on audio export option 2022-06-06 04:00:56 -05:00
tildearrow b6ea8ede86 fade out experiments - DO NOT COMPILE 2022-06-06 03:05:55 -05:00
tildearrow 5a0a9db9c3 highlight cur row instead of next one on playback 2022-06-06 01:05:06 -05:00
tildearrow 2932a7281d implement getChanMacroInt() on supported systems 2022-06-05 18:17:00 -05:00
tildearrow af0103d76e macroInt: add hasRelease variable 2022-06-05 16:24:12 -05: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 1f1d2c85bd GUI: add mono/poly note preview button 2022-06-03 18:05:07 -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