Commit Graph

49 Commits

Author SHA1 Message Date
tildearrow 708c363635 FixedQueue, part 2 2023-07-13 04:09:20 -05:00
tildearrow 9cb1fbcc45 chan osc volume balancing, part 1 2023-06-18 20:00:20 -05:00
tildearrow 29dfeccfe7 change chan osc range - PLEASE READ
as of now the range is ~32768, either from -16384 to 16383, or 0 to 32767.
it previously was -32768 to 32767 (~65536).

this change was made to better suit chips that only output a positive value.
if you are working on a new chip, update your code and shift right by one if necessary.
2023-06-16 17:30:11 -05:00
tildearrow 99d2199db6 dev152 - sample map notes, part 1 2023-04-07 16:54:05 -05:00
tildearrow 6cd24a8008 implement getSamplePos() on some chips
Amiga, AY, Lynx, PCE, PCM DAC and VRC6
2023-03-19 03:56:13 -05:00
tildearrow 45faadd4c8 update copyright year 2023-01-19 19:18:40 -05:00
tildearrow 0c36c0633b VRC6: fix crash 2023-01-12 23:14:57 -05:00
tildearrow a29f36a5df new dispatch, part 1 2023-01-03 01:09:46 -05:00
tildearrow 3e0dcbb0ae aaaaaaaa 2023-01-02 04:53:37 -05:00
tildearrow 7fa5fecd38 possibly fix retrigger with sample map 2022-12-29 03:12:00 -05:00
tildearrow 2600d4c576 new arp strategy, part 2 2022-12-17 02:10:20 -05:00
tildearrow 6f22ade69a new arp strategy, part 1 2022-12-17 02:07:24 -05:00
tildearrow 3eb3d8a6f1 prepare for new arp strategy 2022-12-17 01:21:08 -05:00
tildearrow 9da46ee8ba implement macro masking 2022-12-17 00:09:56 -05:00
tildearrow c6604ff581 add ability to select custom clock rates 2022-12-04 02:04:42 -05:00
tildearrow 48db9a1d0c chip flags rewrite, part 4 - DO NOT USE
the next part is to drop systemFlagsOld completely
and then to fix the GUI
2022-09-29 20:13:40 -05:00
tildearrow dcce0e1246 Merge branch 'master' into sample_macro 2022-09-22 19:49:47 -05:00
cam900 0f5a400b29 Merge branch 'master' of https://github.com/tildearrow/furnace into sample_macro 2022-09-18 00:11:53 +09:00
cam900 b461ffe411 Update vgsound_emu library 2022-09-16 23:48:06 +09:00
tildearrow 84b0ffbac3 VRC6: possibly bring solution to #671 2022-09-09 15:31:38 -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 54dbd0690c Merge branch 'master' of https://github.com/tildearrow/furnace into sample_macro
# Conflicts:
#	src/engine/fileOps.cpp
#	src/engine/platform/lynx.cpp
#	src/engine/platform/rf5c68.cpp
#	src/engine/platform/su.cpp
#	src/engine/platform/x1_010.h
#	src/engine/platform/ym2610.cpp
#	src/engine/platform/ym2610.h
#	src/engine/platform/ym2610b.cpp
#	src/engine/platform/ym2610b.h
#	src/engine/sysDef.cpp
#	src/gui/insEdit.cpp

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

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

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

this change is big and may break things! further fixes incoming
2022-08-22 15:59:45 -05:00
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
cam900 d44f5f0b2b Prepare for backward and bi-directional loop 2022-08-11 22:21:54 +09: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 f4a85bebff dev101 - fix SMSFM_intro.dmf 2022-07-04 01:43:59 -05:00
tildearrow 2932a7281d implement getChanMacroInt() on supported systems 2022-06-05 18:17:00 -05:00
tildearrow a298ec2177 oops 2022-05-31 19:03:31 -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 0a0ddfa661 partially bring up sample map 2022-05-13 23:04:40 -05:00
tildearrow 8784fe5664 dev94 - add a full linear pitch mode, part 1 2022-05-10 03:51:18 -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 d211170e86 implement relative pitch macro mode 2022-04-28 01:31:16 -05:00
tildearrow 66f5b2117f dev90 - linear pitch macro option 2022-04-28 00:26:21 -05:00
tildearrow 79fa8f1d02 better default instrument for OPL/OPLL
no longer silence
2022-04-21 02:24:06 -05:00
tildearrow 1a81c6c3e7 VRC6: saw volume 63 2022-04-19 21:55:13 -05:00
tildearrow b4ac5c7e6a implement pitch macro 2022-04-16 01:39:40 -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
tildearrow d47a59f5f0 implement pitch macro
TODO: test!
2022-04-15 03:37:16 -05:00
cam900 d3e5efe834 Prepare for macro refactoring 2022-04-10 14:01:55 +09:00
tildearrow 2d6a3b93d8 VRC6: change default saw volume 2022-03-31 15:40:46 -05:00
tildearrow 6f3b9f2e5d VRC6: changes around volume macro 2022-03-30 22:55:55 -05:00
tildearrow 13a8873050 VRC6: period tuning fixes
now it is identical to the NES channels
2022-03-27 22:30:29 -05:00
cam900 5c5c9199c7 Channel enable bit is inverted 2022-03-28 01:22:24 +09:00
cam900 ef104ce0b0 Add VRC6 support
2 Pulse channels:
- 8 level pulse duty cycle, DAC mode(just ignores duty cycle)/pulse wave mode, 4 bit volume.
- Furnace support PCM playback in pulse channels with duty cycle ignore mode.

Sawtooth:
- nothing but 6 bit volume (8 bit accumulator in technically) and 12 bit frequency (periodic).

VRC6 instrument:
- 6 bit Volume macro for finer sawtooth volume handling, also 3 bit Duty cycle macro for pulse channels.

Duty, PCM mode command and Duty macro affects for pulse channel only.
2022-03-28 01:06:56 +09:00