Commit graph

1240 commits

Author SHA1 Message Date
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
8702effbb9 prepare for storing other details 2022-04-12 15:39:01 -05:00
tildearrow
a20861559b implement .dmc loading 2022-04-12 03:34:53 -05:00
tildearrow
ea463e4dfd
Merge pull request #352 from OPNA2608/add/ff_import
Add FF bank import
2022-04-12 02:43:16 -05:00
tildearrow
455cccdef0 GUI: sample improvements
- resample change C-4 note
- add duplicate option
2022-04-12 02:15:12 -05:00
tildearrow
3d94aef14b WaveSynth: remove to-do 2022-04-12 01:51:45 -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
014e86d3d1 add missing license headers 2022-04-12 00:18:29 -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
ef5953cda5 don't store the upper 24 bits of FM macro values
those are unnecessary (no FM parameter ever goes above 255)
2022-04-11 22:37:34 -05:00
tildearrow
456be8a08f Merge branch 'ins_fix' of https://github.com/cam900/furnace into cam900-ins_fix 2022-04-11 22:36:13 -05:00
tildearrow
8407a7d3a4 add several TODO comments
self-note: check this one after you come back!
2022-04-11 18:12:05 -05:00
cam900
0bba063437 Fix possibly breaks instrument loading 2022-04-11 21:15:52 +09:00
cam900
a454afcd19 Fix possible instrument loading fix 2022-04-11 21:08:58 +09: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
8a49522e59 beta 1-3 .dmf loading
i did it
2022-04-11 01:41:45 -05:00
tildearrow
6b627ab885 TOOK 2022-04-10 22:16:42 -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
4ae13c15e6 get rid of <list> 2022-04-10 18:07:30 -05:00
tildearrow
09dec38407 Merge branch 'macro' (#353) 2022-04-10 17:26:15 -05:00
tildearrow
5f526f4b6e add playSub time log 2022-04-10 17:24:41 -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
tildearrow
c13358d96f part 1 2022-04-10 15:31:32 -05:00
OPNA2608
91d8c48542 Add FF bank import 2022-04-10 14:16:33 +02: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
78b88d61ce Fix format breaking 2022-04-10 18:45:55 +09:00
cam900
075ec9b6de Read and Write this 2022-04-10 18:38:48 +09:00
cam900
518841c17e Fix FM layout in "Compact" mode, Prepare for per-operator on/off control on FM (possibly controllable with phase reset macro?) 2022-04-10 18:36:04 +09:00
cam900
b167034e06 Merge remote-tracking branch 'upstream/master' into macro 2022-04-10 17:29:36 +09:00
cam900
2e6193706a Fix value fill 2022-04-10 17:26:50 +09:00
tildearrow
e23dcd6e1b implement hard reset on OPM/OPZ/OPNB 2022-04-10 03:04:31 -05:00
cam900
228822e19e Fix signed type issue 2022-04-10 16:43:32 +09: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
4b912fd145 Code style 2022-04-10 15:50:59 +09: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
tildearrow
46bf69769b
Merge pull request #331 from OPNA2608/msvc/sane_warning_level
Resolve/Mute MSVC warnings, enable WAE for MSVC
2022-04-09 15:26:58 -05:00
OPNA2608
b6fb3820da Remove unneeded includes
Some are harmless, some screw with SDL's standard includes due to preceeding `_USE_MATH_DEFINES`.
2022-04-09 21:10:15 +02: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
785ac8d1a7 small oscBuf fix 2022-04-09 02:45:06 -05:00
tildearrow
7bf2a3ea1a GUI: prepare for oscilloscope improvements 2022-04-09 02:42:58 -05:00
tildearrow
320250b831 MIDI out improvements 2022-04-09 01:50:44 -05:00
tildearrow
9e0e8f3345 dev80 - increase song limits
up to 256 patterns
up to 256 orders
2022-04-08 17:21:36 -05:00
tildearrow
0fcc73b6c6 WaveSynth: implement more effects 2022-04-08 16:03:54 -05:00
tildearrow
48e8e49ba8 whoops! 2022-04-08 12:21:42 -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
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
5d52ef7f00 support .dmf with 6-bit wavetables 2022-04-07 20:13:11 -05:00
tildearrow
500ce8086d GUI: initial wave synth UI 2022-04-07 18:27:17 -05:00
tildearrow
4dfe9f97fb prepare for wavetable synth 2022-04-07 15:46:48 -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
b162c09f7c GUI: OPZ instrument editor work - dev77 2022-04-07 00:45:53 -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
9345576fc3 MMC5: fix 12xx not working 2022-04-06 22:55:24 -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
4ba50b433a FDS: .dmf wavetables will be 6-bit soon 2022-04-05 15:14:48 -05:00
tildearrow
258a905aaa harden .dmf loader
issue #325
2022-04-04 14:15:26 -05:00
tildearrow
3a7a132f02 harden Furnace file loader
issue #325
2022-04-04 14:04:36 -05:00
tildearrow
81150d96fa FDS: add FDS ins type auto-detection on .dmf 2022-04-04 04:57:38 -05:00
tildearrow
ccb8d3d355 dev76 - format changes
- 8 more macros
- FDS instrument data
2022-04-04 04:47:52 -05:00
tildearrow
eee2500b5c FDS: effect names and register sheet 2022-04-04 00:47:27 -05:00
tildearrow
4ec91b8b42 fix .fui instruments not loading! 2022-04-04 00:12:11 -05:00
tildearrow
ac3772c024 initial FDS bring-up 2022-04-03 22:37:16 -05:00
tildearrow
d112cd0c68 what? 2022-04-03 17:22:44 -05:00
tildearrow
3a59e260d8 prepare for handling of FDS .dmf 2022-04-03 17:14:12 -05:00
tildearrow
d63ddda402 FDS preparation work DOES NOT COMPILE 2022-04-03 16:02:25 -05:00
tildearrow
109f80d4da re-organize instrument loading code 2022-04-03 13:53:34 -05:00
tildearrow
82ae2bf877 fix version 9 .dmp -_- 2022-04-03 02:34:35 -05:00
tildearrow
5ff1c9d70d OPN ext ch: fix mute being overridden when seeking 2022-04-03 02:28:46 -05:00
tildearrow
6567d29450 separate instrument file ops 2022-04-03 02:15:04 -05:00
tildearrow
e44d081adc prepare for .opm support
goodbye addInstrumentFromFile
hello instrumentFromFile + addInstrumentPtr

these changes are required to allow loading instrument banks
2022-04-03 01:56:49 -05:00
tildearrow
ffb536846b fix .dmp loading 2022-04-02 17:37:43 -05:00
tildearrow
81c8bf4e59 add ability to select VGM version when exporting
by default it is 1.71 but please tell me if you want this to be changed
2022-04-01 21:40:32 -05:00
tildearrow
13d08b3cb6 maybe fix another audio export crash 2022-04-01 16:31:06 -05:00
tildearrow
dfb4f211c1 PC speaker: volume macro (finally) 2022-04-01 13:47:58 -05:00
tildearrow
abd5dd3a12 TODO: rewrite getSystemSongName 2022-04-01 13:02:37 -05:00
tildearrow
251da3a9d0 dev75 - MIDI input improvements (mostly) 2022-04-01 05:24:35 -05:00
tildearrow
ffb01dd19c Revert "release 0.6pre0"
This reverts commit f7566455c2.
2022-04-01 05:20:00 -05:00
tildearrow
f7566455c2 release 0.6pre0 2022-04-01 04:45:06 -05:00
tildearrow
4b436ef1fc and more MIDI input refinements 2022-04-01 02:21:10 -05:00
tildearrow
052dcb2576 implement more MIDI stuff 2022-04-01 01:50:01 -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
d321292543 separate VRC6 and VRC6 saw ins types 2022-03-31 15:25:58 -05:00
tildearrow
f689409f02 kind of MIDI output 2022-03-31 03:33:05 -05:00
tildearrow
45ce940d66 better MIDI and note input handling
closes #147
2022-03-31 01:51:57 -05:00
tildearrow
6f3b9f2e5d VRC6: changes around volume macro 2022-03-30 22:55:55 -05:00
tildearrow
cccf90d417 OPL: implement VGM export fake reset 2022-03-30 04:27:11 -05:00
tildearrow
cc152bc3d0 OPL: partially enable VGM export
it works except for fake reset
2022-03-30 03:36:16 -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
7e34c7746e change the porta logic a bit 2022-03-30 00:08:04 -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
tildearrow
964039c8db fix file export crash
closes #323
2022-03-29 00:25:28 -05:00
tildearrow
4825fe7adb more work 2022-03-28 18:19:47 -05:00
tildearrow
08910d37b2 oh yes more MIDI work 2022-03-28 15:24:09 -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
tildearrow
5360cd73f4 earliest MIDI input! (no note input tho) 2022-03-28 03:46:50 -05: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
b514ee30da MOD import: non-linear pitch 2022-03-26 22:34:11 -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
3ea9c0360f implement F3xx and F4xx for fine vol slides 2022-03-26 20:58:33 -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
5f7078db42 bang bang bang 2022-03-25 03:41:43 -05:00
tildearrow
0687a6f217 this stupid effect 2022-03-25 03:18:44 -05:00