Commit graph

24 commits

Author SHA1 Message Date
tildearrow
cf38680072 chip sample selection, part 4
partially works
2022-11-26 23:50:20 -05:00
tildearrow
85cb64b227 chip sample selection, part 2
add functions to retrieve whether a sample was loaded in chip memory
eventually I'll put warning feedback on the sample list
2022-11-26 18:44:04 -05:00
tildearrow
4695659ae4 X1-010: fix 17xx PCM - take 2 2022-10-04 00:04:41 -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
a6e4345863 PLENTY OF TODO WHEN I COME BACK
CRASHES EVERYWHERE
2022-09-25 20:07:21 -05: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
dcce0e1246 Merge branch 'master' into sample_macro 2022-09-22 19:49:47 -05:00
cam900
b461ffe411 Update vgsound_emu library 2022-09-16 23:48:06 +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
Natt Akuma
7c42453422
Rewrite per-system effect handling (#548)
* Rewrite per-system effect handling

* fix build

* C64: fix fine cutoff regression

* fix some more crashes

Co-authored-by: tildearrow <tildearrow@protonmail.com>
2022-08-18 01:26:22 -05:00
tildearrow
2932a7281d implement getChanMacroInt() on supported systems 2022-06-05 18:17:00 -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
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
77b4e57c58 prepare for relative pitch macro 2022-04-28 00:50:09 -05:00
tildearrow
fd3d57b1cb even more improvements to low-latency mode 2022-04-15 15:01:11 -05:00
tildearrow
65f893822a dev79 - wave synth data storage
also wave synth works on swan and X1-010 now
however it's untested on X1 because i wrote it in bed
2022-04-08 04:34:39 -05: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
cam900
66eb40e55e Extract X1-010 core from submodule 2022-03-09 01:00:09 +09:00
cam900
6c432bc42e Allow Left waveform can be invertable,
Improvement documents
2022-03-09 00:50:10 +09:00
cam900
65149a466f Fix accidently auto-generated spaces 2022-03-08 00:15:21 +09:00
cam900
36647ac81d Update submodule 2022-03-07 13:03:39 +09:00
cam900
4a83c7c5a7 Add Seta/Allumer X1-010 Support
its 16 channel wavetable/PCM chip, with (optional) stereo support.
Its also has envelope, this feature has similar as AY PSG's one but its shape is also stored at RAM, and each nibble in envelope data is for each output: so i decided to added some feature for more stereo-ish envelope.
Split: Envelope shape will be splitted to Left and Right half for each output.
HInv, Vinv: Envelope shape will be Horizontally/Vertically mirrored the left one.

Max sample length is sample bank size of Seta 2 arcade hardware (currently not emulated yet, nor it doesn't support on VGM).

Chip id is temporary, it can be changed with to suggestions.
2022-03-07 02:31:03 +09:00