Commit graph

1624 commits

Author SHA1 Message Date
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
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
d2a78295ce OPLL: wooooow how did this break 2022-03-25 01:42:04 -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
bd36a4ffdc dev71 - more compatibility flags for .mod 2022-03-23 23:57:10 -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
47d7722f6e add a new log level (trace) 2022-03-23 22:05:09 -05:00
tildearrow
711b60d454 improved mutex locking - less xruns when seeking
especially in JACK and macOS
2022-03-23 21:38:28 -05:00
tildearrow
11d9ce3f87 what is going on 2022-03-23 17:00:40 -05:00
tildearrow
6492eeff56 GUI: proper sample errors 2022-03-23 16:39:08 -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
e8d567d3df Merge branch 'master' of https://github.com/tildearrow/furnace into n163 2022-03-24 03:22:33 +09:00
tildearrow
ac79e7d6af add broken speed alternation flag - dev70 2022-03-23 01:35:57 -05:00
tildearrow
afc701b0b9 GUI: sample edit undo/redo!
it seems to work but if you find bugs/crashes tell me
2022-03-23 00:42:59 -05:00
tildearrow
f45273c89c OPL: better 4-op channel naming 2022-03-23 00:04:47 -05:00
tildearrow
2c05d56ab2 prepare for sample undo/redo 2022-03-22 18:36:29 -05:00
tildearrow
7ebc63a514 GUI: implement sample paste 2022-03-22 17:01:06 -05:00
cam900
73267444fc
Merge branch 'master' into n163 2022-03-23 03:26:09 +09:00
tildearrow
c24ad24a03
Merge pull request #302 from AYCEdemo/petvic
Add VIC-20 support
2022-03-22 13:25:21 -05: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
tildearrow
705ba4273b GUI: sample editor keybinds
works
2022-03-22 04:54:01 -05: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
16fe199cb2 scale loop when resampling 2022-03-21 23:54:01 -05:00
tildearrow
13eb0f96f1 double facepalm 2022-03-21 23:48:18 -05:00
tildearrow
cec5def347 what?
unacceptable.
2022-03-21 21:47:27 -05:00
tildearrow
322981b021 maybe fix possible crash regarding smp loop points 2022-03-21 21:26:36 -05:00
tildearrow
6050fc7208 one more race condition fix 2022-03-21 17:56:48 -05:00
tildearrow
948d585767
Merge pull request #300 from AYCEdemo/petvic
Add PET support
2022-03-21 16:20:55 -05:00
tildearrow
1003d9fcb8 GUI: more "modified" status situations
fixes #236
2022-03-21 16:17:51 -05:00
tildearrow
8c961f0aae add backup functionality - UNTESTED 2022-03-21 14:11:28 -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
2df7658fd0 GUI: implement sample sel operations
plenty of them
2022-03-21 02:43:52 -05:00
tildearrow
b04e1f2870 GUI: implement sample draw 2022-03-20 18:25:48 -05:00
tildearrow
1941ca3616 fix crash on sample preview at low rate 2022-03-20 13:36:48 -05:00
tildearrow
a0dbc7acaf
Merge pull request #299 from AYCEdemo/x16
VERA: Implement PCM playback (again)
2022-03-20 04:40:04 -05:00
tildearrow
34e679d642
Merge pull request #298 from djtuBIG-MaliceX/feature/OPL_SBI_Instrument_Import
OPL1/2/3 Instrument Import - SBI and S3I (Adlib only) format
2022-03-20 04:39:52 -05:00
tildearrow
03cb910e93 GUI: sample resampling 2022-03-20 03:14:00 -05:00
James Alan Nguyen
5e005262a5 SEEK_END is correct - revert accidental change there. 2022-03-20 17:18:54 +11:00
James Alan Nguyen
cbe74b26ad More #79 - Add S3I Adlib instrument support. Also fix SafeReader SEEK_CUR handling (wasn't used at all). 2022-03-20 17:12:03 +11:00
tildearrow
90a18611cd sys flags: don't play when song is stopped 2022-03-19 22:03:12 -05:00
tildearrow
607a347b7a X1-010: don't pan in mono mode 2022-03-19 21:59:19 -05:00
James Alan Nguyen
629049dea0 Redundant if-statement 2022-03-20 05:50:22 +11:00
James Alan Nguyen
5396889195 Missed feedback for 4op block 2022-03-20 01:04:38 +11:00
Natt Akuma
6df3d1e0df VERA: Implement PCM playback (again) 2022-03-19 20:59:17 +07:00
James Alan Nguyen
b1a0aa86ef Instrument File Import support for 2op SBI, 4op SBI, and Freq Monster 801 SBI format (4op portion only). 2022-03-20 00:55:34 +11:00
James Alan Nguyen
e032580639 Started SBI import work (Issue #79 SBI task). Also ensure catch by reference not value. 2022-03-20 00:55:34 +11:00
tildearrow
689ed3bf65 sample editor workkkkkkk 2022-03-19 03:42:44 -05:00
tildearrow
6c5e6c2a0f
Merge pull request #294 from cam900/bubsys
Reduce naming confusion in Bubble System Wavetable Sound
2022-03-17 22:03:24 -05:00
tildearrow
07624f6012 fix DPCM to 16-bit 2022-03-17 18:15:44 -05:00
tildearrow
d63f3d311b fix arpeggio not resetting note to base on 0000 2022-03-17 16:37:49 -05:00
tildearrow
c264678fdc dev68 2022-03-17 14:35:38 -05:00
tildearrow
90a4fefc76 Revert "change default patch"
This reverts commit 5d6bbce916.
2022-03-17 14:32:01 -05: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
5d6bbce916 change default patch
this makes the patch better on OPL
2022-03-17 02:33:41 -05:00
tildearrow
e6bc0c15e0 default to 2 ops to make OPL happy
next up: work on a default patch that is both OPL and other OP friendly
2022-03-17 02:13:45 -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
3163730fe8 prepare for drum kits/sample map 2022-03-16 17:01:44 -05: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
cbd5414eee increase playback tempo precision
thanks akumanatt
2022-03-16 02:35:33 -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
tildearrow
02e9edbad9 unlock the power of DECIMAL HZ! 2022-03-15 23:30:15 -05:00
tildearrow
02760ddcbc MOD import: fix brainless 3
duration 0:00
2022-03-15 22:16:47 -05:00
tildearrow
32da1e94ed Merge 2022-03-15 22:06:09 -05:00
tildearrow
7438dcf41c
Merge pull request #292 from cam900/patch-6
Fix X1-010 muting
2022-03-15 22:06:01 -05:00
tildearrow
f4c26dbea7 document some of the structures 2022-03-15 22:05:55 -05:00
tildearrow
4afd3b3ff1 MOD import: coding style and uninit fix 2022-03-15 21:45:31 -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
9b3e0d45bd prepare for decimal Hz? 2022-03-15 18:36:34 -05:00
tildearrow
d8be1ddc4b make addSystem error more clear 2022-03-15 18:36:24 -05:00
tildearrow
fa32cadd36 fix conflicting system flags when changing systems 2022-03-15 18:34:41 -05: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
ff2b3e77a0 MOD import: don't complain about end of file
I gotta figure out how to fix this
2022-03-15 18:02: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
219c5a0522 MOD import: add some stereo separation 2022-03-15 04:23:27 -05:00
tildearrow
f4c3f5a17f MOD import: fix klisje 2022-03-15 03:25:38 -05:00
tildearrow
1918f59f57 don't error out all the time 2022-03-15 02:52:22 -05:00
tildearrow
a65df5cdab OPL: pretend to be YMU and enable SOME emulation? 2022-03-15 00:33:57 -05:00
tildearrow
8012676993 MOD import: crash fix 2022-03-14 17:16:43 -05:00
tildearrow
d7b967c41e Revert "MOD import: don't use linear pitch"
This reverts commit 977d23bc3a.
2022-03-14 16:36:15 -05:00
tildearrow
977d23bc3a MOD import: don't use linear pitch
improves vibrato
2022-03-14 16:33:13 -05:00
tildearrow
d2458a8ae8 MOD import: use 436Hz tuning 2022-03-14 16:29:13 -05:00
Natt Akuma
54da047b5a Apply requested changes
- Use sample->init() instead
- Implement set Hz by tempo effect and move from C4xx to F0xx
- Add "SAMPLE_POS" to cmdName
2022-03-15 03:59:42 +07:00
Natt Akuma
91e856c61e Merge branch 'master' of https://github.com/tildearrow/furnace into mod-import 2022-03-15 03:08:37 +07:00
cam900
54cf22fdcd Allocate System ID 2022-03-15 03:02:31 +09:00
Natt Akuma
157e27eff5 Make it work on GCC (hopefully) 2022-03-14 23:26:54 +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
e009fc64f2 allow instrument change during slides 2022-03-14 01:23:31 -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
tildearrow
ab8bace7f4 change default SAA1099 core to SAASound 2022-03-12 12:53:53 -05:00
cam900
c778251f26 Oops!
It's already exists
2022-03-12 23:39:38 +09:00
Waldemar Pawlaszek
e775703c44 Lynx panning swap 2022-03-12 12:16:01 +01:00
tildearrow
cf07e1861e add "auto-insert one tick gap" option 2022-03-11 23:01:18 -05:00
tildearrow
716298c49c Genesis: now fix off not working on channel 6 2022-03-11 22:41:04 -05:00
tildearrow
2103f249fb C64: fix note/env release cutting note 2022-03-11 22:33:22 -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
cam900
155e602e61 Fix X1-010 VGM logging
Register/RAM offset is Big endian
2022-03-12 10:22:21 +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
8e61a0d314 better channel names 2022-03-10 23:49:44 -05: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
tildearrow
85b9f340a9 Merge branch 'x16' of https://github.com/AYCEdemo/furnace into x16 2022-03-10 14:35:33 -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
tildearrow
44004661f4
Merge pull request #274 from laoo/register_sheet
Updated Lynx register sheet
2022-03-10 14:03:53 -05:00
cam900
3b6559a5a1 Merge branch 'master' of https://github.com/tildearrow/furnace into gui_systems 2022-03-11 03:53:51 +09:00
tildearrow
28192b77bd fix big endian functions 2022-03-10 13:52:04 -05: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
cam900
8b1e557b5c
Sync with master 2022-03-08 21:34:12 +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
8a924da586 Fix narrowing conversion error 2022-03-07 18:55:25 +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
Natt Akuma
2453426d03 Turn second chip checks into variables in vgmOps 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
bc26fbaa3d
Add cmdName for X1-010 commands 2022-03-07 13:34:13 +09: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
177c409e19 add more notes when working with new systems 2022-03-06 22:36:32 -05:00
cam900
458f8c5881 Fix instrument allocation 2022-03-07 12:21:51 +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
6c897722db Compile fix Take 3 2022-03-07 04:03:45 +09: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
6ce2a6743c lynx: fix 3xxx effect not working 2022-03-05 04:59:05 -05:00
tildearrow
9611a4fcc6 OPLL: effect description oops 2022-03-05 04:24:40 -05:00
tildearrow
e07caddc92 fix samples being cut at times 2022-03-05 01:26:59 -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
d209a45b92 Change sound chip ID to 0xac 2022-03-05 03:11:11 +07: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
8e5b3abab8 add two more compatibility flags
issue #167 and #249:
- stop porta on note off
- continuous vibrato
2022-03-03 23:14:38 -05:00
tildearrow
742e813e98 E1xx and E2xx should not stop when Key OFF comes
in

indeed
2022-03-03 23:05:07 -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
tildearrow
ec796fc89c Merge branch 'master' of github.com:tildearrow/furnace 2022-03-02 15:52:14 -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
freq-mod
2519849228
OPLL systems 2022-03-02 10:14:18 +01:00
tildearrow
0114523c96 OPLL: fix volume setting 2022-03-02 03:35:30 -05:00
tildearrow
d94e0ec3e7 GUI: prepare a better new song thingy 2022-03-02 02:22:51 -05:00
tildearrow
8843315256 OPLL: 99.99%
VGM export
2022-03-02 00:58:49 -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
fa5e2bc439 TODO: revamp new song system picker 2022-03-01 17:19:52 -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
freq-mod
6dfa208a36
remove "standalone" from YM2612 and YM2151
given the way it's done, it's not needed anymore i guess
2022-03-01 12:07:38 +01:00
tildearrow
236ab5b3fe QSound: initialize memory to 0
for some reason this fixes some glitches?
2022-03-01 02:38:37 -05:00
tildearrow
4ff056c64f NES: how is this not initialized?! 2022-03-01 02:38:19 -05:00
tildearrow
ee5b24dcaf describe FM param structure 2022-03-01 02:38:10 -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
bd9289cfdd store OP macros
todo
2022-02-28 18:16:05 -05:00
tildearrow
da55305c13 prepare for OPL/YMU FM macros 2022-02-28 16:33:01 -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
68db27bdb8 VRC7 as well 2022-02-28 04:59:25 -05:00
tildearrow
98c04e4dfd OPLL: actually care about effects 2022-02-28 04:58:44 -05: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
tildearrow
cf668aa6d4 VGM export: lol 2022-02-27 00:41:27 -05:00
tildearrow
8d2129cadc VGM export: clean up compound systems 2022-02-27 00:39:16 -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
217e43dab3 fix 2022-02-26 05:04:31 -05:00
tildearrow
1a69794efe remove extension when loading ins from file 2022-02-26 04:49:40 -05: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
cam900
a132a28fcb
Fix VGM saving 2022-02-25 17:37:43 +09:00
tildearrow
9ea26da44e ADPCM-B fixes 2022-02-25 01:04:07 -05:00
tildearrow
bd96bf484b fix 8-bit samples not loading correctly 2022-02-25 00:31:09 -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
tildearrow
3542229448 better sample loading in really old .dmf files 2022-02-24 00:05:11 -05:00
tildearrow
92e1553014 yay + prepare for sample system changes 2022-02-23 22:00:20 -05:00
tildearrow
ccfed873e8 system master race 2022-02-23 21:53:07 -05:00
Ian Karlsson
a92c29bbdb qsound clipping fix from MAME 2022-02-23 23:51:34 +01:00
tildearrow
3804e45042
Merge pull request #216 from superctr/220223_smpl
Update center rate and loop information when loading and saving samples
2022-02-23 17:04:09 -05: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
6472795b01 Update center rate and loop information when loading and saving samples 2022-02-23 14:32:35 +01:00
tildearrow
29cae1a3f8
Merge pull request #212 from superctr/220223_qsound
qsound: Reduce volume scaling
2022-02-23 04:25:51 -05:00
tildearrow
a29a89224e compound system flattening, part 3
added a new strategy to determine system name
2022-02-23 03:54:06 -05:00
Ian Karlsson
ce3e8c6c6b qsound: Reduce volume scaling 2022-02-23 09:26:22 +01:00
tildearrow
319c559f47 compound system flattening, part 2
.dmf saving implemented. only available for the following setups:
- YM2612 + SMS = Genesis
- YM2612 ext3 + SMS = Genesis ext3
- YM2151 + SegaPCM compat = Arcade
- SMS + OPLL = SMS with FM expansion
2022-02-23 03:19:32 -05: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
tildearrow
f2232b6157 more lynx micro-fixes and bump version to dev57
allocated 3 versions for possible emergency fix releases after 0.5.7

0.6 dev starts here!
2022-02-22 17:48:13 -05:00
tildearrow
278536489f lynx micro-fix 2022-02-22 17:40:29 -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
721445cf07 release v0.5.7 (for real this time)
also fix oscilloscope and add layout reset option
2022-02-22 02:01:59 -05:00
tildearrow
6d6d30cbf3 set compatibility flags for 1.1 modules 2022-02-22 00:32:23 -05:00
tildearrow
7540f12596 don't warn about clipping
too much spam
2022-02-21 23:53:41 -05:00
tildearrow
4db91256b1 fix repeat pattern hanging audio/VGM export 2022-02-21 23:05:41 -05: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
5093a1ca55 Disabling LYNX VGM export 2022-02-21 20:00:08 +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
1d5813aba3
Merge branch 'tildearrow:master' into master 2022-02-21 12:53:52 +01:00
tildearrow
d7bcd18c56 wait! not yet!
make it pre4 and tag it because i forgot about keybinds!
2022-02-21 04:28:25 -05:00
tildearrow
d0df796c12 release v0.5.7 2022-02-21 03:19:42 -05:00
tildearrow
f815ee9427 don't round frequency
apparently that wasn't too good for some songs that relied on E5xx
2022-02-21 02:33:07 -05:00
tildearrow
57c4e22d70 add support for loading .vgi and .tfi instruments 2022-02-21 01:44:51 -05:00
Waldemar Pawlaszek
8a8c8406b7
Merge branch 'tildearrow:master' into master 2022-02-21 05:58:25 +01:00
tildearrow
1f6d44b29a VGM export: fix song end effect hang 2022-02-20 23:13:52 -05:00
tildearrow
8e17f20de2 fix deep clone not working at times 2022-02-20 23:07:46 -05:00
tildearrow
18c5867d9c fix playSub strategy
properly handle nested playSubs
fixes #174
2022-02-20 23:03:42 -05: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
fd00b1a815 allow loading 1.0 .dmw 2022-02-20 22:16:43 -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
freq-mod
ce112d0eff more technical technical names 2022-02-20 15:24:03 -05:00
Waldemar Pawlaszek
2e4c7ec60a Initial Atari Lynx Support 2022-02-20 18:15:15 +01:00
tildearrow
fa363384aa 1.1 .DMF saving
as of now you're given a choice between 1.1 and 1.0 module
2022-02-20 03:18:20 -05:00
tildearrow
68eecb723f fix bugged notes in .dmf 2022-02-19 23:11:20 -05:00
tildearrow
cda18d32b3 store pattern names 2022-02-19 18:18:12 -05:00
tildearrow
67ec998196 LFO LFO LFO LFO LFO LFO LFO LFO LFO LFO LFO LFO 2022-02-19 17:35:52 -05:00
tildearrow
464ad5a825 preliminary 1.1 .dmf loading 2022-02-19 02:52:53 -05:00
tildearrow
9eb6d1cfc1 logW -> logE 2022-02-19 00:00:21 -05:00
tildearrow
840be64314 split config management 2022-02-18 13:11:04 -05:00
tildearrow
1a95e18f13 split system definition code
engine.cpp is now shy of 2500 lines
2022-02-18 13:04:33 -05:00
tildearrow
650beebe99 split VGM ops code 2022-02-18 12:58:36 -05:00
tildearrow
c39d3898b4 split file ops code 2022-02-18 12:39:45 -05:00
tildearrow
339959fc23 :< 2022-02-18 02:21:01 -05:00
tildearrow
ce2af4303e yay for more compatibility flags
ignore duplicate slides on .dmf
2022-02-18 02:03:31 -05:00
tildearrow
86e5b77981 fix E000 being treated too literally 2022-02-18 01:53:46 -05:00
tildearrow
fbed03dd0c fix E1xy/E2xy behaving wrong with arps 2022-02-18 01:27:26 -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
5cbe140288 release v0.5.6 2022-02-17 03:37:47 -05:00
tildearrow
79fe54d4b6 fix some glitches 2022-02-17 03:20:08 -05:00
tildearrow
bacf57bb65 add stop song effect! finally! 2022-02-17 03:15:51 -05:00
tildearrow
810ee33d11 GUI: prepare for drawing prev/next pat content 2022-02-16 16:11:15 -05:00
tildearrow
b0996371b7 suffix with 00 instead of 0 in file export 2022-02-15 21:15:19 -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
b319614fb5 fix channel cut not being reset when changing orde
r
2022-02-14 02:43:56 -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
53482105dc add an option to select audio device 2022-02-13 21:42:57 -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
6dfd1e4d17 don't tick metronome if step playing/freelance
issue #162
2022-02-12 23:15:06 -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
49d91818bb add deep clone warnings 2022-02-12 18:02:33 -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
27497608fe add deep clone order - UNTESTED 2022-02-12 03:59:05 -05:00
tildearrow
1580e5836b GUI: wire up the code for custom keybinds
still no way to set them up, and four are missing
please be patient
2022-02-11 18:20:39 -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
d27dcfecac rename Neo Geo to Neo Geo CD
pave the way for Neo Geo with ADPCM-B
2022-02-10 03:28:20 -05:00
tildearrow
d1e166a34e add a little visual to channel names 2022-02-10 03:15:39 -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
e115d9e23b the final macro changes. this is real 0.5.5 2022-02-09 17:03:31 -05:00
tildearrow
ae44cabba8 fix release logic 2022-02-09 16:02:29 -05:00
tildearrow
788ccfb334 unscrew alg + volume 2022-02-09 12:43:27 -05:00
tildearrow
589b887928 release v0.5.5 2022-02-09 03:44:48 -05:00
tildearrow
70a993aacb treat slide up as well 2022-02-08 23:01:39 -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
4756599df0 fix timer ticking during row play 2022-02-08 17:43:26 -05:00
tildearrow
a64f8f7a29 implement target resets slides flag 2022-02-08 17:24:24 -05:00
tildearrow
e0b0da2072 implement note off resets slides flag 2022-02-08 17:17:01 -05:00
tildearrow
43c9c58034 implement legacy volume slides flag 2022-02-08 17:05:18 -05:00
tildearrow
23dc509524 implement reset macro on porta flag 2022-02-08 17:02:27 -05:00
tildearrow
6fb5ca0f78 implement compatible arpeggio flag 2022-02-08 16:48:19 -05:00
tildearrow
3d8991cdb8 save compat flags in the file 2022-02-08 16:43:40 -05:00
tildearrow
89d47da795 prepare to add more compatibility flags 2022-02-08 15:32:10 -05:00