Commit Graph

1164 Commits

Author SHA1 Message Date
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
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
tildearrow d47a59f5f0 implement pitch macro
TODO: test!
2022-04-15 03:37:16 -05:00
tildearrow c743a9e96a implement phase reset macro on supported systems 2022-04-15 03:16:14 -05:00
tildearrow a530934671 fix retrigger issue in sample instruments 2022-04-15 01:26:44 -05:00
tildearrow 397ab43ffd C64: better muting strategy
now directly inside reSID rather than in the DivDispatch
fixes #285
2022-04-15 01:20:09 -05:00
tildearrow 8ce8e87922 VERA: halve PCM volume
this should be good
2022-04-14 02:04:18 -05:00
tildearrow 3707a86f42 VERA: 4x the volume 2022-04-14 01:51:21 -05:00
tildearrow fbf7f9304e dev83 - yet another E1xy/E2xy fix
and 17xx fix in ExtCh
2022-04-13 00:34:00 -05:00
tildearrow 9bd8aef538 SMS: fix note slides on upper notes
hopefully this doesn't break anything
2022-04-12 21:30:35 -05:00
tildearrow 463090717b Amiga: what the hell? 2022-04-12 01:26:14 -05:00
tildearrow 24209c7853 dev82 - amiga wavetables
closes #16 (yay!)
2022-04-12 01:19:00 -05:00
tildearrow e77ecfd04b N163: implement wave synth
I hope this does not break any songs
2022-04-12 00:17:34 -05:00
tildearrow d2a8b028e8
Merge pull request #354 from cam900/n163_demultiplex
Add support of N163 demultiplexed output
2022-04-11 02:38:17 -05:00
tildearrow 39784bc7c2 YMU759 samples at 48KHz 2022-04-11 01:58:41 -05:00
tildearrow fddd05dc1a improve logging facility
we have a log viewer within the program now
2022-04-10 22:12:02 -05:00
tildearrow 51761bc6df part 3 - C64 mishap 2022-04-10 16:53:43 -05:00
tildearrow 51207e58ad part 2 - finally 2022-04-10 16:52:03 -05:00
cam900 86b523a83e Revert unnecessary changes 2022-04-10 20:24:31 +09:00
cam900 e6d74766ca Add support of N163 demultiplexed output
so, there's to way for reduce N163 noises: reduce channel limit and demultiplex
* channel limit is runtime changeable and it makes some usable effects with disable demultiplex
* demultiplex is used for "non-ear destroyable" emulators, but less hardware accurate. (when LPF and RF filter is not considered)
Furnace support both after this, You can choose output behavior via configuration flag.
2022-04-10 20:22:49 +09:00
cam900 b167034e06 Merge remote-tracking branch 'upstream/master' into macro 2022-04-10 17:29:36 +09:00
tildearrow e23dcd6e1b implement hard reset on OPM/OPZ/OPNB 2022-04-10 03:04:31 -05:00
cam900 68cf969600 Merge remote-tracking branch 'upstream/master' into macro 2022-04-10 16:34:23 +09:00
tildearrow f42855f170 add 30xx effect to hard reset envelope
currently only for 2612!
2022-04-10 02:11:36 -05:00
cam900 13bdf2d86d Prepare for FMS2, AMS2 macro for YM2414 2022-04-10 15:16:51 +09:00
cam900 ae4f005d67 Merge remote-tracking branch 'upstream/master' into macro
# Conflicts:
#	src/engine/platform/c64.cpp
#	src/gui/insEdit.cpp
2022-04-10 14:47:10 +09:00
cam900 d3e5efe834 Prepare for macro refactoring 2022-04-10 14:01:55 +09:00
tildearrow 38ca437190 DC offset improvements 2022-04-09 18:25:25 -05:00
OPNA2608 4c19a973ef Fix for C4805: '|': unsafe mix of type 'unsigned char' and type 'bool' in operation 2022-04-09 10:54:06 +02:00
OPNA2608 82d893082c Fix for C4005: '_CRT_SECURE_NO_WARNINGS': macro redefinition 2022-04-09 10:54:06 +02: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
tildearrow 26dca41b63 FDS: wave synth 2022-04-08 02:59:58 -05:00
tildearrow 3b7e9d2929 BubSys: bring on the wave synth 2022-04-08 02:42:33 -05:00
tildearrow 5bd076d13e initial bring-up of the wave synth
issue #16
2022-04-08 02:11:33 -05:00
tildearrow 0c1e2ddcb0 OPL: fix OPL2 not having waveforms 2022-04-07 20:48:34 -05:00
tildearrow dd6229a6b9 OPZ: more work 2022-04-07 01:44:27 -05:00
tildearrow ad09254cf4 dev78 - new compat flag that fixes ExtCh 2022-04-07 01:14:34 -05:00
tildearrow 96d45dafb2 OPZ: same 2022-04-07 01:04:35 -05:00
tildearrow e1b77d7e2b OPM: if the LFO rate is 0, don't clock the counter 2022-04-07 01:03:16 -05:00
tildearrow 78cd99af32 update ymfm 2022-04-07 00:57:52 -05:00
tildearrow 530327383a initial OPZ bring-up
even emulation is incomplete and one thing is making me tired...
2022-04-06 22:56:06 -05:00
tildearrow 2e327953e8 YM2610(B): AY unification
as of now the SSG part of these chips is handled by a DivPlatformAY8910
within the DivPlatformYM2610.
this means less code duplication and therefore prepares for
OPN/OPNA support.
2022-04-06 18:03:30 -05:00
Natt Akuma ba8ee96069 VIC-20: Make noise state consistent across inits 2022-04-06 19:11:45 +07:00
tildearrow 9d653b58b3 hopefully fix MSVC build 2022-04-06 04:24:20 -05:00
tildearrow 2da96a7e76 initial MMC5 bring-up 2022-04-06 00:34:12 -05:00
tildearrow 280cbb3e39 FDS: possibly final work
the last thing left to do is the filter, but everything works now
2022-04-05 18:18:14 -05:00
tildearrow eee2500b5c FDS: effect names and register sheet 2022-04-04 00:47:27 -05:00
tildearrow ac3772c024 initial FDS bring-up 2022-04-03 22:37:16 -05:00
tildearrow 5ff1c9d70d OPN ext ch: fix mute being overridden when seeking 2022-04-03 02:28:46 -05:00
tildearrow dfb4f211c1 PC speaker: volume macro (finally) 2022-04-01 13:47:58 -05:00
tildearrow a08f7507fd N163: don't auto-scale volume 2022-03-31 23:11:02 -05:00
tildearrow 6d1d91ca68 AY8930: add TEST register effect 2022-03-31 17:14:45 -05: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 12ade13580 SegaPCM: fix pitched samples on VGM export
fixes #291
2022-03-30 00:33:29 -05:00
tildearrow fb70afe50d
Merge pull request #329 from cam900/n163_macro
Minor N163 macro fix
2022-03-30 00:28:01 -05:00
tildearrow 80d67f9b23 BubSys: fix muting 2022-03-30 00:15:42 -05:00
tildearrow af6bbf9493 OPN: fix LFO effect not working in ext ch mode 2022-03-30 00:09:53 -05:00
tildearrow a43034f559 OPN: fix portaPause not resetting on new note 2022-03-29 23:58:50 -05:00
cam900 6eba483cba Minor N163 macro fix 2022-03-30 08:28:38 +09:00
tildearrow c26123e782 VIC-20: wait what? 2022-03-29 14:11:57 -05:00
tildearrow 5cea8ed3e3 QSound: change volume macro formula 2022-03-29 02:28:40 -05:00
cam900 1019faf34c Fix initial channel, Minor optimization for N163 2022-03-29 04:56:35 +09:00
tildearrow 3561d866fb
Merge pull request #317 from cam900/vrc6
Minor optimization
2022-03-28 13:23:52 -05:00
cam900 1ca63bdc09 Fix N163 2022-03-29 00:31:17 +09:00
cam900 5060c0c140
Merge branch 'tildearrow:master' into vrc6 2022-03-28 12:39:00 +09:00
cam900 7bd39603a9 Further fix 2022-03-28 12:31:42 +09:00
tildearrow 13a8873050 VRC6: period tuning fixes
now it is identical to the NES channels
2022-03-27 22:30:29 -05:00
tildearrow 4422ff7695 Merge branch 'vrc6' of https://github.com/cam900/furnace into cam900-vrc6 2022-03-27 22:16:04 -05:00
tildearrow 075f758e4d Namco 163 refinements 2022-03-27 22:04:01 -05:00
tildearrow c4fc797578
Merge #304 - DO NOT COMPILE
Add Namco 163 Support
Not final - changes needed
2022-03-27 21:35:58 -05:00
cam900 79d6433006 Merge branch 'master' of https://github.com/tildearrow/furnace into vrc6 2022-03-28 10:11:09 +09:00
tildearrow a7647a1d57 nice troll 2022-03-27 13:38:28 -05:00
cam900 5c922a090e Fix enable bit correction 2022-03-28 01:43:43 +09:00
cam900 44b4c5c5aa Spacing 2022-03-28 01:23:52 +09: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
tildearrow 5dac609d92 Genesis: better DAC write algorithm
only write DAC if there aren't too many queued writes
2022-03-27 01:47:27 -05:00
tildearrow a58c6da19d Amiga: oops 2022-03-27 00:29:37 -05:00
tildearrow 08dd693fa0 Amiga: add AM/PM effects 2022-03-27 00:02:17 -05:00
tildearrow 154ef3f9a3 Amiga: filter emulation 2022-03-26 23:39:20 -05:00
tildearrow 9b6e582f8d dev72 - two more compat flags 2022-03-26 22:15:15 -05:00
tildearrow 5c11150b87 T O D O 2022-03-26 21:43:15 -05:00
tildearrow 73536c0691 AY: add effects to write to I/O ports 2022-03-26 20:55:43 -05:00
tildearrow d869c21f52 oops I forgot to commit! 2022-03-26 13:47:13 -05:00
tildearrow ed857b20c4 potentially breaking change: better freq formula
now using a 4096-entry-long table for calculating final period/frequency
see issue #303
2022-03-25 02:52:41 -05:00
tildearrow 03da02711a OPLL: it's tested now. works
last thing to do is to restore drum pitches
2022-03-25 02:10:57 -05:00
tildearrow ea49c760c5 OPLL: part 1 of fixing drum volumes 2022-03-24 04:53:09 -05:00
tildearrow 7f39ec723a SMS: overdrive 2 fixes
nice
2022-03-24 01:27:53 -05:00
tildearrow ece34990e5 several pitch fixes and stuff
pull request #303
2022-03-23 23:19:16 -05:00
cam900 39654bfa86 Merge branch 'master' of https://github.com/tildearrow/furnace into n163 2022-03-24 13:11:22 +09:00
tildearrow b292fcc646 YM2151: implement song tuning 2022-03-23 22:16:25 -05:00
tildearrow 5a08e0d230 OPLL: add patch macro 2022-03-23 15:50:18 -05:00
cam900 df8f40486d Fix frequency, Loading waveform, Add instrument tab for waveform initialize
now for saving DivInstrumentN163 struct is... needs to compatibility breaks?
2022-03-24 03:53:07 +09:00
cam900 73267444fc
Merge branch 'master' into n163 2022-03-23 03:26:09 +09:00
cam900 4ba65d3906 Fix spacing 2022-03-23 03:17:06 +09:00
cam900 2eaa6ed0ce Merge branch 'master' of https://github.com/tildearrow/furnace into n163
# Conflicts:
#	CMakeLists.txt
#	papers/doc/7-systems/README.md
#	src/engine/dispatchContainer.cpp
#	src/gui/gui.cpp
#	src/gui/insEdit.cpp
2022-03-23 02:44:13 +09:00
cam900 5fdce33b11 Add Namco 163 Support 2022-03-23 01:48:45 +09:00
Natt Akuma feb138cefc Add VIC-20 support 2022-03-22 14:48:48 +07:00
tildearrow bfadb3b5cf OPL: oopsie. 20xx effect doesn't exist 2022-03-22 01:06:26 -05:00
tildearrow 848da5bcc5 VERA: 0 to 3F 2022-03-22 00:13:28 -05:00
tildearrow 322981b021 maybe fix possible crash regarding smp loop points 2022-03-21 21:26:36 -05:00
Natt Akuma c32ea59285 PET: Use wave bits macro instead 2022-03-22 01:37:22 +07:00
Natt Akuma 47c5c34e1c Add PET support 2022-03-21 21:02:51 +07:00
tildearrow a0dbc7acaf
Merge pull request #299 from AYCEdemo/x16
VERA: Implement PCM playback (again)
2022-03-20 04:40:04 -05:00
tildearrow 607a347b7a X1-010: don't pan in mono mode 2022-03-19 21:59:19 -05:00
Natt Akuma 6df3d1e0df VERA: Implement PCM playback (again) 2022-03-19 20:59:17 +07:00
cam900 a7c750a44e Merge branch 'master' of https://github.com/tildearrow/furnace into bubsys 2022-03-18 03:20:33 +09:00
tildearrow d6dfe2636a OPL: implement fixed frequency mode 2022-03-17 02:40:10 -05:00
tildearrow dce68749d6 GUI: work on the drum UI 2022-03-17 02:07:46 -05:00
tildearrow 5579ef2bc1 OPL: even more drums mode work 2022-03-17 01:50:42 -05:00
tildearrow e7f6290012 OPL: possibly implement drums mode
we need a good UI for it
2022-03-17 01:40:03 -05:00
cam900 234c5e9295 Reduce naming confusion in Bubble System Wavetable Sound
It means Custom wavetable sound generator logic on Bubble System.
It's wavetable select and volume is controlled by single AY-3-8910 IO for both channels, Another AY-3-8910 IO is used for reading sound status.

Schematics: http://pdf.textfiles.com/manuals/ARCADE/K-R/Nemesis%20[Schematics]%20[English].pdf (Nemesis, derivative of Bubble system)
2022-03-17 10:11:48 +09:00
tildearrow 966539bdf5 Genesis: fix sample crash
possibly
2022-03-16 13:11:02 -05:00
tildearrow 966d133bf4 OPL: FM macros 2022-03-16 03:44:22 -05:00
tildearrow 9322e9467c GUI: prepare macro editor for OPL op macros 2022-03-16 02:01:44 -05:00
tildearrow 592cbb56aa OPL: implement effects 2022-03-16 01:53:46 -05:00
cam900 c269346eda
safety check 2022-03-16 11:41:24 +09:00
cam900 53ad1c93e6
Reduce line 2022-03-16 11:40:10 +09:00
cam900 724bd5b8dc
Fix X1-010 muting 2022-03-16 11:35:22 +09:00
tildearrow 0a307fc4a6 MOD import: more improvements
- prepare for old Soundtracker MOD import
- add "bypass limits" flag - dope.mod plays correctly now
- automatic channel names
2022-03-15 18:32:15 -05:00
tildearrow 10cea9956b X1-010: fix crash 2022-03-15 18:30:29 -05:00
tildearrow 83e7d966b9 OPL: more 4-op mode fixes 2022-03-15 18:01:24 -05:00
tildearrow 4c5c4a647b OPL: some fixes 2022-03-15 15:28:45 -05:00
tildearrow a65df5cdab OPL: pretend to be YMU and enable SOME emulation? 2022-03-15 00:33:57 -05:00
Natt Akuma 91e856c61e Merge branch 'master' of https://github.com/tildearrow/furnace into mod-import 2022-03-15 03:08:37 +07:00
Natt Akuma c7fb5df206 Merge branch 'master' of https://github.com/tildearrow/furnace into mod-import 2022-03-14 21:57:54 +07:00
Natt Akuma 87f225074c .mod import 2022-03-14 21:50:52 +07:00
cam900 2c6267bd6b Merge branch 'master' of https://github.com/tildearrow/furnace into scc 2022-03-14 19:22:31 +09:00
cam900 69aeb7dd58 Add Bubble System Support
Bubble System 2 channel Wavetable sound generator logic is configuration with K005289, 4 bit PROM and DAC.
K005289 controls pitch and 5 bit address generator per channel, Waveform select and Volume control is tied to AY-3-8910 ports. (each port for per channels)
these configuration is better known as K005289, the part of logic.
furnace emulates this configurations as single system, waveform format is 15 level and 32 width.
2022-03-14 19:22:12 +09:00
tildearrow 714d189b57 OPL: more work and channel muting 2022-03-14 02:47:04 -05:00
tildearrow d2ad74206a fix 4-op mode for real 2022-03-14 02:39:10 -05:00
tildearrow 42df8255fc OPL: kind of fix 4-op mode 2022-03-14 02:30:25 -05:00
tildearrow 32581bb228 OPL: volume 2022-03-14 01:57:46 -05:00
tildearrow df5c1ae859 OPL: finally fix that order issue (kind of) 2022-03-14 01:54:31 -05:00
tildearrow 67d516fcee Genesis: prioritize DAC writes 2022-03-14 01:38:11 -05:00
tildearrow 5b2ec3ee87 NES: fix slide up
fixes #208
2022-03-14 00:26:06 -05:00
tildearrow b1b3f731f6
Merge pull request #283 from laoo/lynx_panning_swap
Lynx panning swap
2022-03-13 11:19:55 -05:00
tildearrow d607f35aa2
Merge pull request #279 from cam900/intv_alt
Add AY-3-8914 support as configurable in AY-3-8910
2022-03-13 11:17:36 -05:00
Waldemar Pawlaszek e775703c44 Lynx panning swap 2022-03-12 12:16:01 +01:00
tildearrow 716298c49c Genesis: now fix off not working on channel 6 2022-03-11 22:41:04 -05:00
tildearrow 2a0aa19b2b fix broken DAC mode
adds new compat flag
2022-03-11 22:11:33 -05:00
cam900 2643d6b0ee
Clamp X1-010 Envelope wave 2022-03-12 11:32:19 +09:00
tildearrow ab3884e5aa clamp wave data
issue #267
2022-03-11 16:58:43 -05:00
cam900 3ac1dce3fe Add AY-3-8914 support as configurable in AY-3-8910
Previous PR (https://github.com/tildearrow/furnace/pull/278) is closed due this, but archived for info.
It's AY with 4 level envelope volume per channel and different register format.
2022-03-12 03:30:54 +09:00
tildearrow 0ee16c63f1
Merge pull request #275 from cam900/ym2610_check
Make some pitch command work in ADPCM-B, still partially and 01xx command is broken
2022-03-10 18:32:36 -05:00
tildearrow bbca8b260b
Merge pull request #243 from cam900/gui_systems
Add various system, Minor corrections
2022-03-10 18:31:23 -05:00
tildearrow c6fda7a156 Merge branch 'x1_010' of https://github.com/cam900/furnace into cam900-x1_010 2022-03-10 18:24:52 -05:00
tildearrow a9f80b841c VERA: add ins color and reset 2022-03-10 17:46:40 -05:00
tildearrow cbc8721a00 Merge branch 'x16' 2022-03-10 17:31:32 -05:00
tildearrow 6d9befaf27 yay 2022-03-10 17:30:34 -05:00
tildearrow 2f02e24a2f VERA: get rid of rand() and adapt code 2022-03-10 16:52:59 -05:00
tildearrow 9bd15bd513 VERA: bring up actual emulation core 2022-03-10 15:51:27 -05:00
tildearrow 587fecd11d temporarily strip out emulation code 2022-03-10 14:40:45 -05:00
cam900 b42ceae1cb Code style 2022-03-11 04:15:04 +09:00
cam900 36b336c7f4 A && B 2022-03-11 04:11:23 +09:00
cam900 3b6559a5a1 Merge branch 'master' of https://github.com/tildearrow/furnace into gui_systems 2022-03-11 03:53:51 +09:00
cam900 f3e4810dda Make some pitch command work in ADPCM-B, still partially and 01xx command is broken
Fix sample check routine
Remove dac* variables, No way to enable DAC mode in YM2610*
2022-03-11 03:47:36 +09:00
cam900 8d447542e1 Use lamda 2022-03-11 02:42:27 +09:00
Waldemar Pawlaszek d0b76ed5a6 Updated Lynx register sheet 2022-03-10 17:36:27 +01:00
Natt Akuma 6bb9843fb9 Fix wrong noise sampling operation
This really shouldn't have an effect on anything though...
2022-03-09 18:06:07 +07:00
Natt Akuma eb3a73c38b Mute on pan registers instead 2022-03-09 00:58:21 +07: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 da73c365e4 Merge branch 'master' of https://github.com/tildearrow/furnace into x1_010 2022-03-08 23:30:57 +09:00
Natt Akuma 43cfb09acf Merge branch 'master' of https://github.com/tildearrow/furnace into x16 2022-03-08 17:53:00 +07:00
Natt Akuma 7711069a66
WonderSwan: match DM's volume command behavior (#266) 2022-03-08 10:51:37 +01:00
Natt Akuma e05052d9d7 Properly case PCM channel 2022-03-08 15:44:14 +07:00
tildearrow b21aecf285 WonderSwan: make macOS happy 2022-03-07 23:38:36 -05:00
cam900 2e6cc9fc7c Merge branch 'master' of https://github.com/tildearrow/furnace into x1_010
# Conflicts:
#	CMakeLists.txt
#	papers/doc/7-systems/README.md
#	src/engine/dispatch.h
#	src/engine/dispatchContainer.cpp
#	src/engine/playback.cpp
#	src/engine/sysDef.cpp
#	src/gui/gui.cpp
2022-03-08 13:38:24 +09:00
tildearrow 1bc8bc8746 OPL: proper frequency on OPL1/2 2022-03-07 23:23:18 -05:00
tildearrow 09655f7d57 WonderSwan: fix build 2022-03-07 23:09:42 -05:00
tildearrow 0210548291
swan let's go
Add WonderSwan support and flatten second chip checks in VGM export into variables
2022-03-07 23:05:32 -05:00
tildearrow bd00165ded OPL: it's coming together 2022-03-07 22:52:32 -05:00
tildearrow 36db137e8f OPL: absolute mess up
now it kinda works
2022-03-07 22:28:33 -05:00
tildearrow cdd45bb18c allow detune 4 2022-03-07 22:28:20 -05:00
tildearrow ec007b4443 OPL: more work - still not there yet 2022-03-07 18:19:25 -05:00
tildearrow 03d2f87804 OPL: some work - still does not work 2022-03-07 17:07:29 -05:00
Natt Akuma 7704dc0d79 Fix volume calculation sometimes not working 2022-03-07 23:49:52 +07:00
cam900 3f4966096a Fix info 2022-03-08 00:44:37 +09:00
cam900 26470d594e Actually PCM frequency limit 2022-03-08 00:43:16 +09:00
cam900 65149a466f Fix accidently auto-generated spaces 2022-03-08 00:15:21 +09:00
Natt Akuma bbaf31d0c2 Make register view work again 2022-03-07 19:08:18 +07:00
Natt Akuma b8ea64b801 Rename WS to Swan 2022-03-07 19:04:20 +07:00
Natt Akuma 3b88786ffb Merge branch 'master' of https://github.com/tildearrow/furnace into x16 2022-03-07 16:46:32 +07:00
Natt Akuma 7f3519b970 Implement VERA noise generation instead of rand() 2022-03-07 16:46:12 +07:00
Natt Akuma 56be067af6 No need to de-duplicate writes here 2022-03-07 15:45:00 +07:00
Natt Akuma 25088d6032 Fix playback and VGM export 2022-03-07 15:44:59 +07:00
Natt Akuma 840a6fa306 Add WonderSwan support 2022-03-07 15:44:59 +07:00
tildearrow 165a8a4361 PC speaker: register view
one register :p
2022-03-07 01:54:28 -05:00
tildearrow 8f957baa3e dispatch: add function to notify playback stopped
for the PC Speaker real driver
2022-03-07 01:48:48 -05:00
tildearrow 93d160da5e OPLL: but it doesn't have LFOOOOOO 2022-03-07 00:24:50 -05:00
cam900 13e586fab2 Merge branch 'master' of https://github.com/tildearrow/furnace into x1_010 2022-03-07 13:05:05 +09:00
cam900 36647ac81d Update submodule 2022-03-07 13:03:39 +09:00
tildearrow 72c1116a89 PC speaker: correct frequency in real mode
damn it
2022-03-06 22:11:01 -05:00
cam900 7a2c86e9d7 Merge branch 'master' of https://github.com/tildearrow/furnace into x1_010 2022-03-07 10:28:54 +09:00
tildearrow 2f9d1e8c0f i'll finish this later 2022-03-06 18:10:12 -05:00
tildearrow 1bfca78df1 Amiga: temporarily disable bus limit simulation 2022-03-06 17:42:51 -05:00
tildearrow e10abe0858 NO 2022-03-06 14:41:00 -05:00
tildearrow 3b8388d90c YM2151/2610/2612/Game Boy: fix panning - UNTESTED 2022-03-06 14:39:20 -05:00
tildearrow 2bfb84cd1e AY: add 1.10 and 2.10 rates 2022-03-06 14:18:18 -05:00
cam900 8da5921196 step 2 2022-03-07 03:50:15 +09:00
cam900 d0c32a56be Fix panning 2022-03-07 03:06:01 +09:00
cam900 fca4bdc1ee Merge branch 'master' of https://github.com/tildearrow/furnace into x1_010
# Conflicts:
#	.gitmodules
#	CMakeLists.txt
2022-03-07 02:35:14 +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
tildearrow e0eb0ad3f4 tilde you need to brush up on your header knowledg
e.
2022-03-06 04:52:03 -05:00
tildearrow 86a71cc6a2 PC speaker: use evdev instead of KIOCSOUND
still unsupported
2022-03-06 03:33:56 -05:00
tildearrow c34b8325c9 more OPL preparation
DOES NOT WORK YET - JUST A PLACEHOLDER
2022-03-05 18:18:08 -05:00
tildearrow 6728edbb71 UNTESTED! DO NOT USE - PC speaker passthrough 2022-03-05 15:00:19 -05:00
tildearrow 9611a4fcc6 OPLL: effect description oops 2022-03-05 04:24:40 -05:00
tildearrow 16dfc785d3 PC speaker: improvements 2022-03-05 00:36:50 -05:00
tildearrow b6717fd314 uninitialized variable 2022-03-04 23:11:34 -05:00
tildearrow ea290a5015 screw ME 2022-03-04 18:37:04 -05:00
tildearrow 84ba63db24 add PC speaker system
haha
2022-03-04 18:18:43 -05:00
Natt Akuma 9abf872ff3 Add VERA support for Commander X16 2022-03-04 18:20:38 +07:00
tildearrow 1407f14ee8 AY8930: duty oopsie
fixes #251
2022-03-04 02:26:47 -05:00
tildearrow 1f0fba4c13 OPLL: getEffectName oopsie 2022-03-04 02:25:41 -05:00
tildearrow 59d813db7c PCE: add noise macro (finally!) 2022-03-04 02:20:13 -05:00
tildearrow 8758277199 OPLL: implement fixed freq mode for drums
issue #249
2022-03-04 01:18:16 -05:00
tildearrow ee2e1a0cfb OPLL: fix sus
i thought defle had broken sus
2022-03-03 18:23:09 -05:00
tildearrow 3a6f664cf0 OPLL: don't write to out of range registers
fixes OPLLTest(1).zip
2022-03-03 18:19:51 -05:00
tildearrow e342078f9a OPLL: fix mod/car KSL being swapped 2022-03-03 18:08:21 -05:00
tildearrow 862154b0a9 OPLL: fix drum mode slides 2022-03-03 17:56:09 -05:00
tildearrow aa446d5c43 PCE: don't mute channel 2 when LFO is on
apparently this is hardware behavior
2022-03-03 17:03:44 -05:00
tildearrow e0af849a4f OPLL: TODO high byte? 2022-03-03 16:21:19 -05:00
tildearrow 64146bed5e OPLL: i think i got it 2022-03-03 04:53:40 -05:00
tildearrow 52c03f1fd6 OPLL: swap top and tom 2022-03-03 04:36:52 -05:00
tildearrow 5816f01c07 Genesis: PSG clean-up
since genesis is now split into YM2612 + SN, the "psg" inside
DivPlatformGenesis becomes useless.
2022-03-02 18:25:17 -05:00
cam900 87561bf9cf Fix spacing 2022-03-03 03:12:10 +09:00
cam900 d4d1ade513 Add various system, Minor corrections
YM2413 (drums mode)
 Standalone YM2413 with allows drum channel.

Sound Expander for Commodore 64
 OPL FM Sound expander cartridge for Commodore 64, it's placeholder until OPL is implemented.

MSX-MUSIC:
 MSX's sound standard, appeared after MSX-AUDIO. it's basically OPLL FM sound expansion for MSX.

SSI 2001:
 ISA Sound card with SID 6581. SID input clock is driven from ISA clock, so I modified flags value check routine.

Sound Blaster w/Game Blaster Compatible
 Earliest Sound Blaster models has featured with Game Blaster compatiblity, It's has 2 SAA1099s like CMS/Game Blaster. It's removed at later models, but some hardware has just empty socket; you can restore this feature when you mount SAA1099 at empty socket.

Sharp X1:
 Predecessor of X68000. it has built in AY PSG like competitors of the same period, but it has YM2151 FM sound addon in later models. FM sound is embedded in turbo Z, and that is succeeded by X68000.

X68000 hasn't AY, instead OKI MSM6258.
YM2151 in OutRun Board and X Board is 4MHz
2022-03-03 03:10:04 +09:00
tildearrow 0114523c96 OPLL: fix volume setting 2022-03-02 03:35:30 -05:00
tildearrow 56aa4b28fb tiny drums mode fix 2022-03-01 23:28:05 -05:00
tildearrow acc9b0aa57
Merge pull request #225 from cam900/ym2610b
Prepare to experimental support YM2610B and with Extended channel 3 mode, Some additions
2022-03-01 23:21:46 -05:00
tildearrow b90fb02e63 OPLL: 99.9%
all features usable, except for custom patchsets (not sure how am i
gonna implement it)
2022-03-01 23:07:29 -05:00
tildearrow 614c1a4da8 OPLL: 99%
proper drums mode muting!
2022-03-01 22:42:40 -05:00
tildearrow ceb1cd0181 OPLL: more drum fixes! 2022-03-01 22:10:03 -05:00
tildearrow 7f3460bfcd i don't get it 2022-03-01 14:20:29 -05:00
tildearrow 7dae9058d7 OPLL: 97%
proper drums mode kinda works
2022-03-01 14:16:40 -05:00
cam900 1631af8f8e Merge branch 'master' of https://github.com/tildearrow/furnace into ym2610b 2022-03-02 01:18:36 +09:00
tildearrow 4ff056c64f NES: how is this not initialized?! 2022-03-01 02:38:19 -05:00
tildearrow 2605e8670c OPLL: small order change fix 2022-03-01 01:00:33 -05:00
tildearrow d9ae033f32 OPLL: 95%
FM macros working

TODO:
- proper drums
2022-03-01 00:56:13 -05:00
tildearrow 105aed5a50 OPLL: 94%
muting works (mostly)

TODO:
- FM macros
- proper drums
2022-03-01 00:00:30 -05:00
tildearrow e80de1487e i think I got it
but there is a leak
2022-02-28 23:31:49 -05:00
tildearrow 90ad8b5268 OPLL: 91%
GUI improvements
soon I gotta allocate macros for the YMU759 params

TODO:
- FM macros
- drums mode
- muting
2022-02-28 14:13:14 -05:00
cam900 ddf341dfc0 Add support YM2610* ADPCM-B Repeat flag, Add YM2610 ADPCM notes in GUI 2022-03-01 01:11:27 +09:00
tildearrow 4218440af1 help how does this work 2022-02-28 03:50:45 -05:00
tildearrow 539182e643 OPLL: 90%
effects implemented.
TODO:
- FM macros
- muting
- proper drum mode
- proper VRC7
2022-02-28 03:17:33 -05:00
tildearrow e5c993eb14 lynx: re-apply panning on forceIns 2022-02-28 02:27:22 -05:00
tildearrow 14749e165e OPLL: VRC7 2022-02-28 02:19:27 -05:00
tildearrow 6dc01159ee OPLL: 88%
TODO:
- effects
- FM macros (ugh)
- muting
- proper drum mode
- proper VRC7
2022-02-28 01:25:10 -05:00
cam900 ac1c65fd62 Add register sheet for YM2610* 2022-02-28 04:45:55 +09:00
cam900 6d36a8fdd2 Merge branch 'master' of https://github.com/tildearrow/furnace into ym2610b 2022-02-28 03:04:28 +09:00
tildearrow 77285a65e6 OPLL: 85%
compatible drums work (kinda)
2022-02-27 02:58:30 -05:00
tildearrow 79c148849f QSound: fix echo
thanks superctr
2022-02-27 00:46:23 -05:00
cam900 ee013ad7a9 Merge branch 'master' of https://github.com/tildearrow/furnace into ym2610b 2022-02-27 06:41:11 +09:00
cam900 34405de03c Fix build actually 2022-02-27 06:40:13 +09:00
tildearrow 271b3fb0fe OPLL: 80%
accuracy fixes pending though
then macros and then drum mode
2022-02-26 03:27:37 -05:00
tildearrow c52258f943 update format to store OPLL preset number 2022-02-25 23:59:08 -05:00
tildearrow 60688d8ddb OPLL: 40% 2022-02-25 17:55:33 -05:00
tildearrow f403621d6e this is not working well
i mean, seriously... OPLL output isn't 4-bit, right?
i must be doing something really wrong
2022-02-25 13:33:58 -05:00
cam900 d64ddaadee Further fix build 2022-02-26 01:12:37 +09:00
cam900 b1a49dcdc5 Fix actually 2022-02-26 00:50:49 +09:00
cam900 ff743c92fd Fix build 2022-02-26 00:31:17 +09:00
cam900 cd4c876c5e Merge branch 'master' of https://github.com/tildearrow/furnace into ym2610b
# Conflicts:
#	src/engine/engine.cpp
#	src/engine/playback.cpp
2022-02-25 23:47:28 +09:00
tildearrow c5b30bab75 soundddddd 2022-02-25 04:46:15 -05:00
tildearrow 37f850c6c4 prepare for OPLL system - DOES NOT WORK 2022-02-25 04:26:01 -05:00
cam900 e96cd77ba7
Remove unnecessary interface 2022-02-25 17:39:33 +09:00
tildearrow 9ea26da44e ADPCM-B fixes 2022-02-25 01:04:07 -05:00
tildearrow 35e459d9e5 Neo Geo: implement ADPCM-B 2022-02-25 00:11:27 -05:00
tildearrow efd78a23c0 GB: another fix 2022-02-24 22:59:01 -05:00
tildearrow 70eb17c33c PCE: fix LFO a bit more 2022-02-24 22:52:32 -05:00
tildearrow 19c4f5559a bring crash fix from 0.5.8 2022-02-24 22:52:20 -05:00
cam900 d831a522a4 Merge branch 'master' of https://github.com/tildearrow/furnace into ym2610b
# Conflicts:
#	src/engine/engine.cpp
#	src/engine/platform/ym2610Interface.cpp
2022-02-25 12:20:00 +09:00
tildearrow 28254d4b24 SMS: add 1.79MHz option 2022-02-24 18:00:19 -05:00
tildearrow 4b6d9adcb9 volume changes
as of now the master volume is 1.0x (it was 2.0x before)
NES has also been amplified.
these changes should not affect older songs.
2022-02-24 17:56:19 -05:00
tildearrow 82c8b97d9c Neo Geo: safety checks 2022-02-24 16:53:38 -05:00
tildearrow e4ad569f8d Lynx: fix stereo 2022-02-24 16:53:20 -05:00
tildearrow f7bd06c4eb yay ADPCM-A and QSound work again! 2022-02-24 16:16:02 -05:00
cam900 1e2d5694b9 Prepare to support YM2610B and with Extended channel 3 mode
Allow 8 bit volume for YM2610 ADPCM-B
Remove sample mode macro in YM2610, it's always enabled and seperated channels.

TODO: ADPCM-B is still not implemented, FM Channel 2 is silenced in extended channel 3 configuration
2022-02-25 01:02:35 +09:00
tildearrow 1e98f0c4a1 sample system rewrite! **PLEASE READ**
this commit mostly rewrites the sample system.
as of now samples can be ADPCM, 8-bit, BRR or 16-bit
or something...

consider this VERY EXPERIMENTAL.
if you find any issues REPORT THEM immediately.

it's nearly 4am...
2022-02-24 03:57:45 -05:00
Ian Karlsson a92c29bbdb qsound clipping fix from MAME 2022-02-23 23:51:34 +01:00
Waldemar Pawlaszek 8d1da90d78
Fixing a bug that resulted with broken pitch range on non MSVC systems. (#215) 2022-02-23 22:48:06 +01:00
Ian Karlsson ce3e8c6c6b qsound: Reduce volume scaling 2022-02-23 09:26:22 +01:00
tildearrow e4b9a6d1d9 compound system flattening, part 1
as of now compound systems (Genesis and Arcade) are translated to
separate chips.

this improves audio quality and makes things easier.

it also allows you to change the volume of each chip on a Genesis.

also adds SegaPCM system with 16 channels!
2022-02-23 02:52:30 -05:00
tildearrow a7ecb4ecdb header license oops 2022-02-23 02:13:43 -05:00
tildearrow a5561f1899 tabs to spaces 2022-02-22 22:13:17 -05:00
tildearrow e6ee28ce0d Merge branch 'cps2' of https://github.com/superctr/furnace into superctr-cps2 2022-02-22 18:21:57 -05:00
Waldemar Pawlaszek b1120575e4 Proper device resetting 2022-02-22 21:35:17 +01:00
Waldemar Pawlaszek 2e45b3066a Removing unused variables 2022-02-22 21:34:56 +01:00
Ian Karlsson e32ef2d881 Add 3xxx effect to set echo delay buffer length. Add documentation 2022-02-22 21:16:46 +01:00
Waldemar Pawlaszek d07f28aec5 Compilation error fix 2022-02-22 21:12:10 +01:00
Waldemar Pawlaszek 69fb99bafd Implementing register pool. Slightly reworking emulation core. 2022-02-22 12:52:05 +01:00
Ian Karlsson b3908216f8 Implement QSound support 2022-02-22 11:36:12 +01:00
Waldemar Pawlaszek 79e53cfd10 Merge branch 'master' of git://github.com/tildearrow/furnace into tildearrow-master
# Conflicts:
#	src/gui/insEdit.cpp
2022-02-22 09:13:49 +01:00
tildearrow 6ffb332c4e PCE: fix samples being at double pitch 2022-02-21 22:59:56 -05:00
tildearrow df35b8fb45 add register view
supported chips only.
2022-02-21 22:31:27 -05:00
Waldemar Pawlaszek 37ceb1542f Further build errors correction 2022-02-21 20:43:02 +01:00
Waldemar Pawlaszek bbd8669a1a Missing license 2022-02-21 20:17:16 +01:00
Waldemar Pawlaszek de6cbba472 Fixed gcc errors 2022-02-21 19:59:09 +01:00
Waldemar Pawlaszek 6e79e84e53 Added panning and load LFSR commands. 2022-02-21 19:59:09 +01:00
Waldemar Pawlaszek 8a8c8406b7
Merge branch 'tildearrow:master' into master 2022-02-21 05:58:25 +01:00
tildearrow 5ae4d883a5 one more mishap 2022-02-20 22:48:42 -05:00
tildearrow 28e6c205ee C64: fix wave effect bypassing mute 2022-02-20 22:23:32 -05:00
tildearrow 8f03964fbb NES: fix noise being totally wrong 2022-02-20 22:08:47 -05:00
tildearrow 5ffda66f22 NES: better channel muting 2022-02-20 21:54:03 -05:00
tildearrow 1030bc13b2 C64: fix wiz lab one more time 2022-02-20 21:45:28 -05:00
tildearrow e697c055b6 replay keyOn in active channels during forceIns
fixes an issue when playing orders
2022-02-20 21:39:14 -05:00
Waldemar Pawlaszek 2e4c7ec60a Initial Atari Lynx Support 2022-02-20 18:15:15 +01:00
tildearrow 67ec998196 LFO LFO LFO LFO LFO LFO LFO LFO LFO LFO LFO LFO 2022-02-19 17:35:52 -05:00
tildearrow f376e919ff Game Boy: fix sweep in non-sweep channel 2022-02-17 22:19:01 -05:00
tildearrow 36eaea0fa7 OPN: apply max freq limit 2022-02-17 22:07:20 -05:00
tildearrow eafc3078cf NES: fix high pitch being out of tune 2022-02-17 21:59:48 -05:00
tildearrow 456db22f9d fix wrong include path 2022-02-17 04:26:23 -05:00
tildearrow 647f2f96b0 dear tildearrow are you drunk or what? 2022-02-15 17:22:09 -05:00
tildearrow b24c572632 prevent division by zero, part 1 2022-02-15 15:19:36 -05:00
tildearrow 853ade2416 improve the status bar
issue #39
2022-02-15 01:46:03 -05:00
tildearrow b9832abbeb license clarification, part 3 2022-02-14 22:12:20 -05:00
tildearrow 1c3074bb43 PCE: also fix issue here (i think) 2022-02-14 02:45:20 -05:00
tildearrow 939416791b Amiga: don't replay samples on set order 2022-02-14 02:32:37 -05:00
tildearrow bfb902f649 fix #172 2022-02-13 23:49:01 -05:00
tildearrow d2d60c4f1a what 2022-02-13 18:13:29 -05:00
tildearrow 9ea510c351 SAA1099: implement SAASound core option 2022-02-13 17:49:24 -05:00
tildearrow 2f766553e8 add SAASound as an alternate SAA1099 core
DOES NOT WORK YET
2022-02-13 17:02:49 -05:00
tildearrow 7c80a88bbf GUI: fix debug menu a bit 2022-02-13 15:03:07 -05:00
tildearrow 271c0dc08b SMS: fix channel 3 muting at the beginning of song 2022-02-12 22:50:31 -05:00
tildearrow 6bcd3df691 oopsie 2022-02-12 21:19:38 -05:00
tildearrow 423d9fa45d Amiga: early bus limits emulation
it appears that if the period is lower than 124, the positions start
to desync

this is emulated by UAE, but i am not sure whether this happens on a real machine
and this isn't emulated properly here either
2022-02-12 17:43:30 -05:00
tildearrow 91cbf9947b NOTICE: ADPCM-B DOES NOT WORK YET
it's selectable now but the channel is useless (for now)
2022-02-10 03:35:08 -05:00
tildearrow 73dd66b439 GB: fix wave orientation 2022-02-10 02:56:36 -05:00
tildearrow 569de9d81a add preliminary ymfm OPZ code 2022-02-09 23:19:02 -05:00
tildearrow 62f2f67b9d add two more compatibility flags
for songs that relied upon pre-0.5.5 broken behavior
2022-02-09 22:07:32 -05:00
tildearrow 788ccfb334 unscrew alg + volume 2022-02-09 12:43:27 -05:00
tildearrow 5b7240bb4f and fix it again 2022-02-08 22:49:52 -05:00
tildearrow f1730baefa fix artificial intelligence bomb
and a couple of songs that used 02xx after note off
2022-02-08 22:46:58 -05:00
tildearrow 23dc509524 implement reset macro on porta flag 2022-02-08 17:02:27 -05:00
tildearrow bf537881ce possibly implement envelope release points
no way to set them yet tho other than the MML string
2022-02-08 13:11:04 -05:00
tildearrow 8d45236cce SMS: add option to disable noise phase reset
issue #83
2022-02-07 23:05:50 -05:00
tildearrow e6201b8390 SMS: prepare for don't reset phase flag 2022-02-07 18:34:04 -05:00
tildearrow 1bb81394aa NES: enable duty and'ing on properNoiseLayout 2022-02-07 00:49:01 -05:00
tildearrow 76beedae0c i mean HAPPENING and the slide NOT HAPPENING 2022-02-07 00:30:37 -05:00
tildearrow e25f5b229c fix arpeggio not happening during slide on SMS 2022-02-07 00:30:15 -05:00
tildearrow d0457a2e1b VGM export: improvements
- use shorthand command for waiting at 50/60Hz
- don't write stream rate change if DAC is off
2022-02-06 16:47:12 -05:00
tildearrow 20ac87d256 C64: add ring/sync macro 2022-02-06 15:56:10 -05:00
tildearrow e2c2e8140b C64 filter mode macro i think 2022-02-06 15:44:06 -05:00
tildearrow 2ea35ef734 Arcade: add LFO wave macro 2022-02-06 02:25:32 -05:00
tildearrow e06e316e10 add two new compatibility flags
proper noise range and duty macro is wave volume
2022-02-06 01:56:50 -05:00
tildearrow 9091081b9f oh... 2022-02-05 23:53:30 -05:00
tildearrow faed39843e PCE: fix channel 2 being mute?!
another discovery towards LFO fix?
fixes #141
2022-02-05 23:51:29 -05:00
tildearrow 12d4cd6467 add LFO speed macro 2022-02-05 16:40:03 -05:00
tildearrow 026b232c02 more LFO fix code 2022-02-05 16:19:22 -05:00
tildearrow 59cbfdcad9 PCE: partial fix to LFO
issue #88
2022-02-05 15:15:27 -05:00
tildearrow cb430fc169 Genesis: fix bus overload when using ymfm core 2022-02-05 04:31:20 -05:00
tildearrow bbd174498e Arcade: fix wrong sample pitch on diff clock rate 2022-02-04 21:40:48 -05:00
tildearrow 6b040084e0 Genesis: add alternate clock speed 2022-02-04 21:35:24 -05:00
tildearrow acdf4d6503 Amiga: add stereo separation setting 2022-02-04 17:59:55 -05:00
tildearrow 4e1c6d78c2 fix Neo Geo detuning 2022-02-04 16:21:18 -05:00
tildearrow 902febe298 actually implement pitch of C-4 2022-02-04 03:29:40 -05:00
tildearrow c1864849a0 PCE: oh yes another sample fix 2022-02-04 01:53:43 -05:00
tildearrow 584b8426ff GUI: improve debug menu 2022-02-03 18:38:57 -05:00
tildearrow 4dd935bbcc Genesis/Neo Geo ext.: fix possible TL bug 2022-02-03 16:17:30 -05:00
tildearrow c682c921a1 fix compatible-style retrigger 2022-02-03 15:43:41 -05:00
tildearrow 0ceec182a0 SAA: fix negative octaves 2022-02-03 02:46:49 -05:00
tildearrow 9b83c304e5 AY8930: fix negative octaves 2022-02-03 02:46:42 -05:00
tildearrow 35e39d2c32 arcade limits 2022-02-03 02:30:21 -05:00
tildearrow 5086bc1097 implement the linear pitch flag 2022-02-03 02:24:11 -05:00
tildearrow ccfe3bdd97 Genesis: add ability to use ymfm instead of Nuked 2022-02-02 23:08:45 -05:00
tildearrow 545f3ffdf4 Genesis: add DAC distortion flag 2022-02-02 03:06:30 -05:00
tildearrow ec9cc0e254 remove some debug messages 2022-02-02 02:49:39 -05:00
tildearrow 9c33abaa19 Genesis: fix extended channel 3 muting 2022-02-02 02:46:29 -05:00
tildearrow cbf66b1e62 prepare to add register cheat sheets 2022-02-02 02:14:42 -05:00
tildearrow f03ed7c833 NES: add hardware sweep effect 2022-02-01 18:28:48 -05:00
tildearrow d691ec6d76 add a chip playground
in debug menu
2022-02-01 18:08:19 -05:00
tildearrow f29d4bce1b implement 11xx effect on FM platforms
please no ch 3
2022-02-01 15:12:06 -05:00
tildearrow 5f918a7d18 SAA: add envelope macro 2022-02-01 03:44:02 -05:00
tildearrow 4f5d37d415 VGM export: fix Genesis samples wrongly pitched 2022-02-01 03:23:29 -05:00
tildearrow f75803c3b2 C64: fix filter reset not working well 2022-02-01 03:16:03 -05:00
tildearrow 72c548394f now add noise and/or mask macro for real
upcoming is auto-PWM
2022-01-31 17:45:02 -05:00
tildearrow e95258ad91 AEGJDSKADFGIOGSHBJSFKAL;FS 2022-01-31 17:28:17 -05:00
tildearrow d4858f0d40 fqwhjdgl;f'a\?SFG 2022-01-31 17:02:44 -05:00
tildearrow afe318c402 seemingly fix it 2022-01-31 17:00:52 -05:00
tildearrow 23ff23f7e7 again 2022-01-31 16:40:47 -05:00
tildearrow 9492edcdab prepare to fix AY8930 emulation 2022-01-31 16:33:45 -05:00
tildearrow de4875676f PCE: fix samples being one octave higher 2022-01-31 02:28:51 -05:00
tildearrow 237ad1f517 SMS: possibly fix noise pitch issue
hoping this causes no regressions. fixes #56
2022-01-30 17:10:15 -05:00
tildearrow bf9eb8b0a4 fix two possible pitch slide regressions
now let's fix blue crow
2022-01-30 15:55:31 -05:00
tildearrow 822d542350 limit volume macro to system maximum
fixes #71
2022-01-30 12:31:50 -05:00
tildearrow fbb5455292 add PM/AM depth macro 2022-01-29 04:37:53 -05:00
tildearrow b6da7871d4 make the flags option actually work 2022-01-29 00:20:27 -05:00
tildearrow 44649e3ce4 update ymfm readme 2022-01-28 22:33:42 -05:00
tildearrow 3b95baa60e Neo Geo: fix an ymfm bug... 2022-01-28 22:28:08 -05:00
tildearrow bfed0b3209 change setPAL to setFlags 2022-01-28 12:59:53 -05:00
tildearrow ec66b7a21b add song tuning
soon: system clock settings
2022-01-28 00:55:51 -05:00
tildearrow b812fc4041 prepare for sample C-4 freq
issue #70
2022-01-27 16:52:06 -05:00
tildearrow c4163699b6 Arcade: add noise freq macro
issue #16
2022-01-27 15:42:31 -05:00
tildearrow 30b553e87e AY: add envelope and auto-envelope macros 2022-01-27 15:31:48 -05:00
tildearrow 3ed738dd6a Arcade: fix arpeggio macro 2022-01-27 02:35:16 -05:00
tildearrow 3cf71c4ccb Neo Geo: implement FM macros 2022-01-27 02:32:34 -05:00
tildearrow 5eb974456d Arcade: implement FM macros 2022-01-27 02:17:09 -05:00
tildearrow 0e633ea69b GUI: add a debug window 2022-01-27 00:29:16 -05:00
tildearrow 30b012cc5e Game Boy: initialize uninitialized variable 2022-01-26 18:03:25 -05:00
tildearrow 1347d16da4 Genesis: fully implement volume macro 2022-01-26 18:03:08 -05:00
tildearrow a895cb9c5e NES: fix issue for real 2022-01-26 16:07:55 -05:00
tildearrow bf19feab89 NES: actually set chip type to 2A07 if PAL
fixes #72
see also #27
2022-01-26 15:55:37 -05:00
tildearrow f86838df99 no longer shift arpeggio macro by 12 2022-01-26 15:53:52 -05:00
tildearrow d882fd33f8 GB: lower volume
somehow a fix brought in a bug
2022-01-26 03:00:49 -05:00
tildearrow 8bcab6e139 VGM export: write resets and GD3 tag
may be non-standard compliant (yet)
also it crashes foobar2000 for some reason but this will be fixed
2022-01-25 18:46:27 -05:00
tildearrow c7ee0ce642 save my register writes 2022-01-25 16:52:55 -05:00
tildearrow b6c536c907 VGM export: fix PC Engine samples 2022-01-25 02:38:46 -05:00
tildearrow 511b6ba0be VGM export: PCE samples (kinda) 2022-01-24 18:04:09 -05:00
tildearrow cda191afee VGM export: NES samples 2022-01-24 17:48:58 -05:00
tildearrow 92b5620497 VGM export: fix sample glitch if length&255==0 2022-01-24 17:19:34 -05:00
tildearrow 9d2032d627 VGM export: Arcade sample looping 2022-01-24 17:13:47 -05:00
tildearrow d945e5299a Merge commit 'bd8c06bbb786df086d478e1574c6fe11ee6651b6' 2022-01-24 15:53:02 -05:00
tildearrow bd8c06bbb7 prevent crash when playing empty sample
fixes #62
2022-01-24 15:47:39 -05:00
tildearrow 50a0f1f360 VGM export: fix up SegaPCM
turns out it is capable of arbitrary loop position!
2022-01-24 15:23:42 -05:00
tildearrow fedc045909 add SegaPCM commands
let's hope it works
2022-01-24 13:06:06 -05:00
tildearrow e221bcb023 VGM export: bake SegaPCM samples
after this, the following has to be done:
- PCM playback
- PCM playback on PCE and NES (let's hope this is possible)
2022-01-24 12:39:05 -05:00
tildearrow ea796c2d6b VGM export: fix noise in Neo Geo 2022-01-24 02:57:49 -05:00
tildearrow a3a2e3ff47 add more chips to VGM export
missing:
- Sega PCM
- Neo Geo ADPCM
2022-01-24 02:09:03 -05:00
tildearrow 858d5343b8 earliest VGM export!
only supports single-chip Genesis for now
the other systems will be added shortly
2022-01-24 01:01:08 -05:00
tildearrow 524f8c312e Genesis: implement arp macros 2022-01-23 15:55:12 -05:00
tildearrow 45d9bef2a8 Genesis: restore LFO value when changing order 2022-01-23 15:15:46 -05:00
tildearrow cd2854d027 it works 2022-01-23 15:12:00 -05:00
tildearrow b39b1c0a25 Genesis: implement FM macros (partial, untested) 2022-01-23 13:19:19 -05:00
tildearrow a45c697004 now Neo Geo 2022-01-23 00:57:47 -05:00
tildearrow f286e65dc1 fix it! 2022-01-22 18:06:18 -05:00
tildearrow d62b111c78 Genesis: separate channel state from instrument
paves way for FM macros
with this change, extended channel 3 mode breaks! do not use
until I diagnose the problem.
2022-01-22 17:43:57 -05:00
tildearrow c64c1c1c2d Amiga: tune it a bit 2022-01-22 02:54:46 -05:00
tildearrow 413fbd985a NES: same thing 2022-01-22 02:38:01 -05:00
tildearrow 371c23a7ee Genesis: fix sample desync when muting DAC channel 2022-01-22 02:36:58 -05:00
tildearrow 4cffcc01e5 ffffiiiiixxxx #47 2022-01-21 04:35:25 -05:00
tildearrow bc32809ecb fix #46 2022-01-21 04:27:00 -05:00
tildearrow e06911258e TIA: fix mute being ignored at times 2022-01-20 23:14:18 -05:00
tildearrow ff0e48679b arcade: fix PCM channels not muting when Nuked-OPM 2022-01-20 22:13:56 -05:00
tildearrow 730561d3a3 arcade: add effects to control AMD/PMD 2022-01-20 17:54:11 -05:00
tildearrow 4b43694db0 fix negative notes 2022-01-20 16:56:35 -05:00
tildearrow 05bbfaced2 get rid of a debug message 2022-01-20 16:41:18 -05:00
tildearrow 917c9cf2e3 Genesis: allow sample preview 2022-01-20 16:40:18 -05:00
tildearrow 0b7772e76c PCE: allow sample preview 2022-01-20 16:33:20 -05:00
tildearrow 0f28ae0fee implement Furnace-style PCM on Arcade/Gen/NES/PCE 2022-01-20 16:09:05 -05:00
tildearrow 751f6d025a prepare to add effect descriptions 2022-01-20 13:48:20 -05:00
tildearrow 1ee23ac198 AY8930: fix first channel envelope reset at random 2022-01-20 03:25:57 -05:00
tildearrow 75ce5f4e2a add auto-envelope mode (29xy effect)
this closes #32
2022-01-20 03:23:03 -05:00
tildearrow 4ee17d35cd implement sample loop on the rest of systems 2022-01-20 02:46:28 -05:00
tildearrow e394b5ca5a C64: solve one ADSR bug
set decay to 0 if sustain is 15
2022-01-19 22:58:37 -05:00
tildearrow f98662d329 slide accuracy fixes 2022-01-19 01:27:32 -05:00
tildearrow e87239f8ce fix retrigger implementation
no longer broken
2022-01-19 00:01:34 -05:00
tildearrow 5a7cf57aa2 AY8930: implement noise and/or mask
cannot confirm whether this behavior is accurate to hardware though...
thanks Eulous for details on this!
2022-01-18 18:21:27 -05:00
tildearrow 488bd45907 lower PCE volume a bit
see issue #16
2022-01-18 17:35:41 -05:00
tildearrow a956f37f1b Genesis/Neo Geo: fix extended channel mode volume 2022-01-18 17:18:07 -05:00
tildearrow 64745648a0 allow negative octaves 2022-01-18 16:55:32 -05:00
tildearrow 05fd372728 AY: fix wave macro and effect 2022-01-18 15:48:40 -05:00
tildearrow 0356cf2c7a TIA: add 10xx effect for selecting shape 2022-01-18 15:12:36 -05:00
tildearrow 345962092e add notifyWaveChange
fixes #8
2022-01-18 00:25:10 -05:00
tildearrow 6d9f5db6a4 add notifyInsChange
see issue #8
2022-01-17 23:59:52 -05:00
tildearrow 7165d39105 Neo Geo/AY: implement 20xx command 2022-01-17 21:14:35 -05:00
tildearrow d73c0512eb fix Microsoft C compiler build... again 2022-01-17 18:15:47 -05:00
tildearrow ce027d99f6 force insChanged on note input
partially solves issue #8
2022-01-17 18:01:40 -05:00
tildearrow f3a61f3222 fix build in old compiler 2022-01-17 17:12:24 -05:00
tildearrow 69be47b419 PCE: no abort 2022-01-17 16:59:34 -05:00
tildearrow 6884494b5c fix issue with volume macro+slide 2022-01-17 16:23:47 -05:00
tildearrow 8b89f1b516 prepare for writing register dumps 2022-01-17 13:29:35 -05:00
tildearrow 12236248dd prepare for eventual export 2022-01-16 23:21:27 -05:00
tildearrow 8c80af4a46 SAA1099: fix octave not being set in last 2 chans 2022-01-16 01:55:54 -05:00
tildearrow 85c7612194 TIA: one more mute refinement 2022-01-16 01:43:55 -05:00
tildearrow c09ce1892b Amiga: limit sample length 2022-01-15 22:49:53 -05:00
tildearrow 93f82637ad Amiga: respect max period 2022-01-15 22:49:09 -05:00
tildearrow 31f8378cef Amiga: take loop pos into account 2022-01-15 18:03:37 -05:00
tildearrow 755042a8fe Amiga: fix max volume 2022-01-15 17:54:09 -05:00
tildearrow 79b86da98b Amiga: get rid of a debug message 2022-01-15 17:32:39 -05:00
tildearrow 113a1577b6 do the Amiga 2022-01-15 17:28:33 -05:00
tildearrow a06a82ca89 prepare for amiga system 2022-01-15 15:50:53 -05:00
tildearrow 29ca2033d9 AY: remove redundant break 2022-01-14 23:38:07 -05:00
tildearrow 10c78e3fd2 now actually finish SAA1099 2022-01-14 23:37:03 -05:00
tildearrow 0e2230d036 hopefully finish the SAA1099 platform 2022-01-14 23:26:22 -05:00
tildearrow d2cef16adf WHAT?! 2022-01-14 20:34:15 -05:00
tildearrow e05db17ce2 it plays notes 2022-01-14 18:19:52 -05:00
tildearrow 740521b469 AY: don't write to bufR 2022-01-14 16:35:19 -05:00
tildearrow 307665f531 prepare for SAA1099 2022-01-14 16:29:27 -05:00
tildearrow 390eb66647 TIA: absolute arp macros are now periodic 2022-01-14 15:34:54 -05:00
tildearrow 3afb0f815d lower the volume of TIA by half 2022-01-14 14:12:49 -05:00
tildearrow ad145a13e4 fix the desync 2022-01-14 04:41:32 -05:00
tildearrow 573ce69dc7 add TIA platform
currently there is a desync bug which remains to be fixed...
2022-01-14 03:37:36 -05:00
tildearrow 6d2aa8d23e change AY frequency 2022-01-14 00:26:10 -05:00
tildearrow dce06d8ec4 add AY8930 platform 2022-01-14 00:02:10 -05:00
tildearrow 91e8ff01cf add notifyInsDeletion
prevent invalid memory access when deleting instruments
2022-01-13 19:36:02 -05:00
tildearrow 0545775de6 prepare for better ins del safety 2022-01-13 17:40:29 -05:00
tildearrow fea783eaac fix macOS build 2022-01-13 16:12:02 -05:00
tildearrow 0b352ecd9a add AY-3-8910 platform!
this paves the way for eventual AY-3-8930 platform...
2022-01-13 02:52:19 -05:00
tildearrow 9ff852d1db PCE: reduce CPU usage 2022-01-12 22:14:20 -05:00
tildearrow 651db5784e implement more effects
- C64: set fine duty and filter
- Neo Geo: slide SSG envelope
2022-01-11 18:38:26 -05:00
tildearrow 5637639950 waveform width/height controls 2022-01-11 03:16:32 -05:00
tildearrow 5bcc3d5d6d absolute C64 filter macros!
exclusive to .fur format
2022-01-10 17:04:31 -05:00
tildearrow 9f6bb570c9 absolute C64 duty macros!
exclusive to .fur format
2022-01-10 16:54:58 -05:00
tildearrow 9b6db75d4f C64: use full cutoff/duty range
this means .dmf becomes a second-class citizen since it only supports a
range of 0-100 (yeah) for arbitrary reasons...

the last bit to do is add effect that allows you to use the full range
2022-01-09 17:00:52 -05:00
tildearrow e961cf79ca NES: add NESAPU struct
to allow multi-chip support
2022-01-08 17:44:17 -05:00
tildearrow 121a9b2cb8 prepare for multiple chip support 2022-01-08 01:57:37 -05:00
tildearrow dc5990a37e a lot of master system fixes!
fixes forest frolick, professional tracker, YZYX, Monday (kinda),
MasterTracker and Ice Fields
2021-12-29 02:08:50 -05:00
tildearrow 3e34c60b32 fix volume after note off 2021-12-29 00:52:20 -05:00
tildearrow 0479650597 C64: fix volume not being set after skip 2021-12-28 01:20:48 -05:00
tildearrow d766c4aaf0 finally do EFxx right
took a while to figure out...
2021-12-28 00:51:38 -05:00
tildearrow 772aac5806 fix crash when muting in ext ch mode 2021-12-27 16:47:37 -05:00
tildearrow 65444d4a99 el diego 2 finally plays back correctly
ALMOST
2021-12-27 16:31:16 -05:00
tildearrow 1605f4f3c0 better global pitch effect
still work in progress
2021-12-27 16:15:11 -05:00
tildearrow 7ba8607270 changes to sample rate storage
as of now we store and use the actual sample rate as opposed to an index
fo a fixed rate table.

this allows for more flexibility in a future file format...
2021-12-23 18:04:44 -05:00
tildearrow 7b360b55a7 PCE: aaand fix another bug 2021-12-21 17:21:27 -05:00
tildearrow 726b457ae7 another uninitialized variable 2021-12-21 16:02:31 -05:00
tildearrow 8d8f26d4f7 PCE: fix pan reset on change order 2021-12-21 01:32:26 -05:00
tildearrow 997c460fc1 greatly improved playback resume
no more song weirding out when changing orders
2021-12-21 01:29:07 -05:00
tildearrow 8551326800 arcade: properly set AM/PM depth
fixes sixeight-v2.dmf
2021-12-19 00:57:29 -05:00
tildearrow 3a0e94df5e genesis: fix muting the PCM channel 2021-12-19 00:51:10 -05:00
tildearrow efd5e844ce genesis: fix massive bug when muting SN 2021-12-19 00:49:47 -05:00
tildearrow b3b66ecbdb channel mute/solo! 2021-12-18 03:25:42 -05:00
tildearrow 289dd3e565 arcade: fix crash on high sample 2021-12-17 03:33:26 -05:00
tildearrow c54df74df1 GUI: rate change and new window title 2021-12-15 17:32:08 -05:00
tildearrow 2879b5e4d0 arcade: add ymfm-based core
less CPU usage at the cost of some quality
2021-12-15 01:23:58 -05:00
tildearrow 52087edceb lots of changes
- GUI: ability to load files
- GUI: arrow key navigation
- fix sample volumes
2021-12-15 00:37:27 -05:00
tildearrow 29d7be032a neo geo: remove debug spam 2021-12-14 21:47:44 -05:00
tildearrow 95e3a098d0 add Neo Geo extended channel 2 support 2021-12-14 14:31:57 -05:00
tildearrow 28a9d2c4a3 now the GUI 2021-12-14 12:40:26 -05:00
tildearrow bde8a7f79d warning-free compilation 2021-12-14 12:33:26 -05:00
tildearrow 2f813c55e0 GUI: instrument selector 2021-12-11 16:44:02 -05:00
tildearrow 1bf64c4f4f NES; don't crash 2021-12-11 13:34:29 -05:00
tildearrow a17e91955a add reset() for every platform 2021-12-11 13:14:38 -05:00
tildearrow f39e2ea112 GUI: play/stop/change order 2021-12-11 03:34:43 -05:00