Commit graph

2157 commits

Author SHA1 Message Date
tildearrow
db2ebc4930 OPNA: improvements 2022-05-13 03:18:14 -05:00
tildearrow
f2db15b2ce add OPNA chip (work in progress) 2022-05-13 02:52:43 -05:00
tildearrow
1b4256bb28 spelling change: Rom -> ROM - PLEASE READ
@Grauw: please update your MultiPCM code.
i know it's just a trivial change I made, but in my opinion "ROM"
indicates it's an acronym...
2022-05-12 22:15:03 -05:00
tildearrow
9bac00efe5
Merge pull request #448 from grauw/sample-rom-settings
Add emulation settings for YRW801, TG100 and MU5 sample ROMs.
2022-05-12 22:10:25 -05:00
Laurens Holst
c29f18dfc2 Add emulation settings for YRW801, TG100 and MU5 sample ROMs. 2022-05-12 20:18:01 +02:00
tildearrow
613b538fb9 GUI: add setting to bring old macro vSlider back 2022-05-12 03:29:34 -05:00
tildearrow
76adccc0fc GUI: even more improvements to macro editor 2022-05-12 03:01:35 -05:00
tildearrow
0e03bf6bec GUI: fix default vScroll for pitch macro 2022-05-12 02:49:09 -05:00
tildearrow
cdf4c55f0f SCC: fix forceIns (finally)
fixes #447
2022-05-12 02:39:46 -05:00
tildearrow
4e2e542c7a OPN: implement muting and remove panning 2022-05-12 02:25:59 -05:00
James Alan Nguyen
1254aec805 Fix GYBv3 load with safer offset load 2022-05-12 11:00:25 +10:00
James Alan Nguyen
63d2e12c27 Address review comments (missed these) 2022-05-12 10:55:47 +10:00
James Alan Nguyen
fbcd84d79b Address review comments 2022-05-12 10:29:45 +10:00
James Alan Nguyen
4354e4064b Merge branch 'master' into feature/Moar-patch-bank-support-part3 2022-05-12 09:57:11 +10:00
tildearrow
a58d49a831 GUI: more mobile-specific changes 2022-05-11 16:09:23 -05:00
tildearrow
c6bfc8178a
Merge pull request #444 from akumanatt/x16
VERA: halve output volume to match other PSGs
2022-05-11 16:08:16 -05:00
tildearrow
ff0319780e OPN: VGM export - good night 2022-05-11 03:41:02 -05:00
tildearrow
ab969c1da0 add OPN chip
pretty much copy-paste from YM2610B code

next up: even more blatant copy-paste in 2608
2022-05-11 03:29:03 -05:00
Natt Akuma
e48faa4114 VERA: halve output volume to match other PSGs
In terms of maximum single-channel output.
X16's mixing is kept by halving YM2151 part.
2022-05-11 15:22:17 +07:00
tildearrow
431b6b5957 fix 09xx, 0Bxx, 0Dxx and 0Fxx being ignored on ED 2022-05-11 02:42:05 -05:00
tildearrow
955cd48fcf SCC: SCC+ and dual-SCC VGM export 2022-05-11 02:32:08 -05:00
tildearrow
35ff5430d3 SCC: VGM export, forceIns bug fix and 10xx 2022-05-11 02:20:14 -05:00
tildearrow
0c0a97c21b SCC: address review comments 2022-05-11 01:13:21 -05:00
tildearrow
8eb4fe365b
Merge pull request #443 from akumanatt/scc
Add SCC and SCC+ support
2022-05-11 01:09:08 -05:00
tildearrow
14517c9cf9 full linear pitch is now the default
the future
2022-05-11 00:51:53 -05:00
tildearrow
1c6e9c2cca add a full linear pitch mode, part 7
fix full linear pitch on OPL, OPLL, SAA1099 and Sound Unit
2022-05-11 00:26:28 -05:00
tildearrow
ea118db499 X1-010: implement linear pitch (part 6) 2022-05-11 00:18:46 -05:00
tildearrow
90ac64f1d4 VERA: implement full linear pitch (part 5) 2022-05-11 00:11:24 -05:00
tildearrow
f4652e6582 YM2610(B): implement full linear pitch (part 4) 2022-05-11 00:04:36 -05:00
tildearrow
a7e6323db9 add a full linear pitch mode, part 3
round frequency/period
2022-05-10 23:42:24 -05:00
tildearrow
f5dbc37902 YM2612: implement full linear pitch (part 2) 2022-05-10 23:17:40 -05:00
tildearrow
aad5d818f2 YM2612: early full linear pitch experiment
u n t e s t e d
2022-05-10 16:22:40 -05:00
tildearrow
c79e5e8081 GUI: window movement only by clicking on title bar
on by default now
2022-05-10 16:19:49 -05:00
Natt Akuma
00414c6504 Fix GCC errors 2 2022-05-11 00:29:17 +07:00
Natt Akuma
960a8e3616 Fix GCC errors 2022-05-10 17:36:09 +07:00
tildearrow
8784fe5664 dev94 - add a full linear pitch mode, part 1 2022-05-10 03:51:18 -05:00
tildearrow
5e14177e4e YM2610(B): use f-num/block baseFreq calculation
also allow for different octave boundary f-nums depending on chip clock
2022-05-10 02:22:08 -05:00
Natt Akuma
78ce2360bf SCC has no config flags currently 2022-05-10 11:32:07 +07:00
Natt Akuma
a3fc76c984 Add SCC and SCC+ support 2022-05-10 11:25:10 +07:00
cam900
a8258d9a1a Divider related emulation core update, Fix init and period limitation 2022-05-10 13:18:02 +09:00
cam900
a9a249fd4c Merge branch 'master' of https://github.com/tildearrow/furnace into ay_divider
* 'master' of https://github.com/tildearrow/furnace: (24 commits)
  GUI: remove insLoadAlwaysReplace setting
  GUI: right click menu for open instrument
  GUI: add a threshold for macro right click
  OPZ: remove debug printf
  GUI: add macro right click menu
  GUI: prepare for macro right click menu
  update gitignore
  add something
  prepare for something
  did i fix macOS build?
  GUI: macro edit improvements
  GUI: now add ability to load VMEM
  Update sysDef.cpp
  GUI: add an option for it
  add preliminary TX81Z SysEx response
  OPL: drum volume
  OPL: implement hard reset
  GUI: add icon size setting
  GUI: macro UI refactor, part 4
  Fix WIN32 define timing in IGFD
  ...
2022-05-10 09:03:03 +09:00
tildearrow
da71a6a804 GUI: remove insLoadAlwaysReplace setting 2022-05-09 13:22:42 -05:00
tildearrow
2e9bd65b9e GUI: right click menu for open instrument 2022-05-09 13:20:44 -05:00
James Alan Nguyen
0e077432fc Compilerscheiße pedantisch uberprufen 2022-05-09 21:43:03 +10:00
James Alan Nguyen
da6a6f514c Fix 2x2op WOPL load 2022-05-09 21:22:21 +10:00
James Alan Nguyen
87ffcf2b27 Adjust seek-ends since exact data reads should be correct. 2022-05-09 21:22:21 +10:00
James Alan Nguyen
ef4a60e095 WOPL progress! 2022-05-09 21:22:21 +10:00
James Alan Nguyen
158163312b WOPN redpath 2022-05-09 21:22:21 +10:00
James Alan Nguyen
f8ffe04869 WOPN complete 2022-05-09 21:22:21 +10:00
James Alan Nguyen
25abf4c733 WOPN progress 2022-05-09 21:22:21 +10:00
James Alan Nguyen
77af4fda2a Remove unused/duplicate code, add stringNotBlank(str) checks 2022-05-09 21:22:21 +10:00
James Alan Nguyen
1c88e20fa7 OPM parser tidyup, GYBv1/2/3 foundation support done, BNK parser cleanup 2022-05-09 21:22:21 +10:00
James Alan Nguyen
e289ba652d GYBv3 sorta loading... just need to fix up some read issues 2022-05-09 21:22:21 +10:00
James Alan Nguyen
7ae72f0fe4 Rebase fix and move reused fileIns lambdas into cpp static functions (since effectively private) 2022-05-09 21:22:20 +10:00
James Alan Nguyen
7cd0d728b2 Fix GYBv1/2 instrument name read 2022-05-09 21:22:20 +10:00
James Alan Nguyen
66b0589959 GYBv1/2 working 2022-05-09 21:22:20 +10:00
James Alan Nguyen
b9e51ab97f GYB progress, need to verify read ordering 2022-05-09 21:22:20 +10:00
James Alan Nguyen
60d2f54ac0 Start GYB import, also fix uf allocation leak and other bank loader cleanup 2022-05-09 21:22:20 +10:00
James Alan Nguyen
c9f289e44a Fix GYBv1/2 instrument name read 2022-05-09 21:22:20 +10:00
James Alan Nguyen
f720e0af47 GYBv1/2 working 2022-05-09 21:22:20 +10:00
James Alan Nguyen
df1cb0e7fa HOTFIX: Better token handling and simplify clear string comparisons 2022-05-09 21:22:20 +10:00
James Alan Nguyen
744735cca8 GYB progress, need to verify read ordering 2022-05-09 21:22:20 +10:00
James Alan Nguyen
9bc9468baa Start GYB import, also fix uf allocation leak and other bank loader cleanup 2022-05-09 21:22:20 +10:00
tildearrow
6bc1ee0957 GUI: add a threshold for macro right click 2022-05-08 22:52:21 -05:00
tildearrow
0c24ee2f08 OPZ: remove debug printf 2022-05-08 22:40:14 -05:00
tildearrow
580d982f1e GUI: add macro right click menu 2022-05-08 18:32:16 -05:00
tildearrow
3963f93aa4 GUI: prepare for macro right click menu 2022-05-08 17:35:21 -05:00
tildearrow
40e992cc6f prepare for something 2022-05-08 15:59:42 -05:00
tildearrow
f8642ae8f0 did i fix macOS build? 2022-05-08 05:04:37 -05:00
tildearrow
787eda0a34 GUI: macro edit improvements
- reset zoom levels when changing instrument type
- set a default zoom level for pitch macro
2022-05-08 04:45:48 -05:00
tildearrow
16eae18fdf GUI: now add ability to load VMEM 2022-05-08 02:47:20 -05:00
Mahbod-Karamoozian
8d57e3cddf
Update sysDef.cpp 2022-05-08 12:00:16 +04:30
tildearrow
4faa65a2e9 GUI: add an option for it 2022-05-08 02:07:58 -05:00
tildearrow
2c643aca4c add preliminary TX81Z SysEx response
- load voice data
2022-05-08 02:01:32 -05:00
tildearrow
38b4d1d39e OPL: drum volume 2022-05-07 21:58:17 -05:00
tildearrow
6fe58a3965 OPL: implement hard reset
fixes #437
2022-05-07 21:48:29 -05:00
tildearrow
d582fce862 GUI: add icon size setting 2022-05-07 21:39:29 -05:00
tildearrow
3170803389 GUI: macro UI refactor, part 4 2022-05-07 18:30:16 -05:00
tildearrow
24b7dd6f54 GUI: macro UI refactor, part 3
we have a scrollbar (i think)
2022-05-07 16:25:02 -05:00
cam900
9df2500195 Merge branch 'master' of https://github.com/tildearrow/furnace into ay_divider
* 'master' of https://github.com/tildearrow/furnace:
  GUI: macro UI refactor, part 2
  Masochism Volatile Compiler
  GUI: is the macro UI back yet
  OPL: fix 4-op muting (I think)
  GUI: macro UI refactor, part 1 - PLEASE READ
  GUI: remove classic macro view
  Fix more MSVC warnings
2022-05-07 23:04:01 +09:00
cam900
0b0a6dbf28 Fix divider again, split tone and envelope clock divider 2022-05-07 23:00:22 +09:00
tildearrow
d4d3cb44b9 GUI: macro UI refactor, part 2
the macro editor is finally back
2022-05-07 02:49:56 -05:00
tildearrow
02680cb389
Merge pull request #389 from OPNA2608/msvc/more_warning_squashing
Fix more MSVC warnings
2022-05-07 02:28:28 -05:00
tildearrow
ff273cc3b9 Masochism Volatile Compiler 2022-05-07 00:08:38 -05:00
tildearrow
aea7bf2112 GUI: is the macro UI back yet 2022-05-06 23:52:26 -05:00
tildearrow
b2953e00fe OPL: fix 4-op muting (I think)
fixes #435
2022-05-06 23:52:14 -05:00
tildearrow
716ef56f03 GUI: macro UI refactor, part 1 - PLEASE READ
- DO NOT USE THIS VERSION! -

to @cam900 and @grauw: do NOT pull this commit yet! it will fail to compile!
2022-05-06 18:01:12 -05:00
tildearrow
81a77a633b GUI: remove classic macro view
after this, some changes to the macro view code will arrive
hopefully these will make the code much cleaner
(NORMAL_MACRO has too many arguments!)
2022-05-06 14:16:27 -05:00
cam900
3c7ce65db7
it isn't necesaary 2022-05-06 19:18:55 +09:00
cam900
76997fd5ba
Merge branch 'master' into ay_divider 2022-05-06 19:17:34 +09:00
tildearrow
05af3c147a .ftm loading progress (incomplete, not working) 2022-05-06 01:26:49 -05:00
tildearrow
509e46417f OPZ: fix fixed frequency effects 2022-05-06 00:09:49 -05:00
tildearrow
5974e8c045 OPZ: fix EGShift emulation
1. the TX81Z has operators in reverse order
2. don't early out if EGShift is not 0
2022-05-05 23:50:15 -05:00
tildearrow
4548cae022 Merge branch 'multipcm-ins' of https://github.com/grauw/furnace into grauw-multipcm-ins 2022-05-05 21:16:56 -05:00
tildearrow
5ba1833f74 GUI: I am so drunk 2022-05-05 18:23:28 -05:00
tildearrow
6672a886a3 GUI: fix crash when loading instrument
fixes #431
2022-05-05 17:45:18 -05:00
Laurens Holst
3784c4e1d2 MultiPCM instrument type, editor and file ops. 2022-05-05 21:56:48 +02:00
tildearrow
9a2938ff3e GUI: fix values button working as notes 2022-05-05 13:23:06 -05:00
cam900
96f303ac9f Fix configuration description 2022-05-05 15:43:59 +09:00
tildearrow
9915fc0c8f GUI: add "don't display multi-system" option 2022-05-05 00:52:15 -05:00
tildearrow
030ba9eaf1 GUI: implement this on the keybind as well 2022-05-04 23:49:33 -05:00
cam900
9109d2c64f Merge branch 'master' of https://github.com/tildearrow/furnace into ay_divider
* 'master' of https://github.com/tildearrow/furnace:
  dev92 - GUI: customizable channel collapsing!
  GUI: more improvements to instrument loading
  GUI: implement instrument load replace
  NES: fix duty effect not working at all
  GUI: part 2 of previous commit
  GUI: only use edit color when pat view is focused
  GUI: fix more issues
  here's the new OPLL default instrument
  OPL: fix channel muting - PLEASE READ!
  OPLL: fix compatible drum mode
  the final part of extra FM effects
  implement extra FM effects (OPLL and OPL)
  update to-do list
  prepare for possible .ftm import
  implement extra FM effects (OPN, OPM and OPZ)

# Conflicts:
#	src/engine/engine.h
2022-05-05 13:39:58 +09:00
cam900
7b91045bac Add documents
Important: it will break previously baked modules with 5B and AY8930
2022-05-05 13:38:10 +09:00
tildearrow
202a528477 dev92 - GUI: customizable channel collapsing! 2022-05-04 23:36:03 -05:00
tildearrow
c3e55ae117 GUI: more improvements to instrument loading
now with an "instrument load always replace" option
2022-05-04 23:11:51 -05:00
tildearrow
99a313b684 GUI: implement instrument load replace 2022-05-04 22:55:11 -05:00
tildearrow
6aefd392ff NES: fix duty effect not working at all 2022-05-04 22:04:18 -05:00
tildearrow
10e8d71745 GUI: part 2 of previous commit 2022-05-04 22:01:19 -05:00
tildearrow
71cef797c6 GUI: only use edit color when pat view is focused 2022-05-04 20:56:26 -05:00
tildearrow
44f1134875 GUI: fix more issues
- macro range is now 128 (it was 127 before)
- fix #407
2022-05-04 18:42:36 -05:00
tildearrow
99b5afd4da here's the new OPLL default instrument
piano_guitar_idk by Weeppiko
2022-05-04 18:20:15 -05:00
tildearrow
b75336bcb6 OPL: fix channel muting - PLEASE READ!
**SUBMODULES UPDATED** - Nuked-OPL3 is no longer a submodule as I
had to directly modify the core for this
if you mess up while removing Nuked-OPL3 from your repo, delete
everything and clone again

fixes #414
2022-05-04 18:06:32 -05:00
tildearrow
e50df18393 OPLL: fix compatible drum mode 2022-05-04 17:43:06 -05:00
tildearrow
6e7b4d7e7f the final part of extra FM effects 2022-05-04 17:39:22 -05:00
tildearrow
897bf323f2 implement extra FM effects (OPLL and OPL) 2022-05-04 16:56:45 -05:00
tildearrow
6bd5a9bcb6 prepare for possible .ftm import 2022-05-04 14:10:28 -05:00
tildearrow
467036df2a implement extra FM effects (OPN, OPM and OPZ)
issue #38
2022-05-04 14:09:43 -05:00
cam900
4f1ebc3b6e Some AY-3-8910, AY8930 enhancements
Fix AY PSG clock divider function when exists, Update emulation core (MAME AY PSG and compatibles - includes noise routine updates)
Fix configuration flag, Add MSX Darky sound expander to preset

Clock divider isn't affected to expanded mode's tone and noise generator?
2022-05-04 23:04:20 +09:00
tildearrow
28e7b86728 fix sample saving 2022-05-03 17:41:10 -05:00
tildearrow
30e60f643c add extra FM effects to effect post handler
see #38
the last thing left to do is to put these effects on the dispatch code
2022-05-03 17:37:17 -05:00
tildearrow
9dfa2f9cbb dev91 - it's a breaking change 2022-05-03 16:53:25 -05:00
tildearrow
391928af6e
Merge pull request #416 from grauw/ay8930-fix2
AY8930: Fix tone and noise period in expanded mode.
2022-05-03 16:51:50 -05:00
tildearrow
1a6a132a59 aaaaaa 2022-05-03 16:22:24 -05:00
Laurens Holst
49ff39abee AY8930: Fix tone and noise period in expanded mode.
By doubling the internal clock frequency.

In expanded mode, the same tone period is an octave higher than in compat mode.
In expanded mode, the noise period is twice as fast as currently implemented.

See https://github.com/tildearrow/furnace/pull/416
2022-05-03 21:28:10 +02:00
tildearrow
978b0798e5 OPL: fix possible crash 2022-05-03 14:04:38 -05:00
tildearrow
4c9b172b50 YM2610: optimize oscilloscope fetch CPU usage 2022-05-03 02:52:38 -05:00
tildearrow
b8a2c90b61 GUI: add audio load meter to statistics 2022-05-03 02:29:12 -05:00
tildearrow
3d541682e6
Merge pull request #412 from grauw/ay8930-vgm
AY8930: Fix VGM output.
2022-05-03 01:53:41 -05:00
tildearrow
7d684654fc
Merge pull request #413 from cam900/osc_debug
Debug improvements
2022-05-03 01:51:18 -05:00
tildearrow
c23ee8e7c9 GUI: put "OK" and "Cancel" buttons in the bottom 2022-05-03 01:48:57 -05:00
tildearrow
31a35e5395 better FM chip names 2022-05-03 01:29:31 -05:00
tildearrow
e40e7c0fef sysDef refactor, part 3 - PLEASE READ
to cam900 and grauw: I have moved the per-system effect processing code
to sysDef.cpp as lambdas
you may want to do the same when you pull this commit.
2022-05-03 01:23:38 -05:00
cam900
0d5962bb08 Reduce unnecessary line 2022-05-03 10:28:01 +09:00
cam900
2412f688de Merge branch 'master' of https://github.com/tildearrow/furnace into osc_debug
* 'master' of https://github.com/tildearrow/furnace:
  document (NON-WORKING) extended op param effects
  FDS: add NSFPlay core
  NES: fix Furnace-style DPCM
  SoundUnit: fix PCM pitch
  SoundUnit: PCM support

# Conflicts:
#	src/gui/debugWindow.cpp
2022-05-03 10:23:36 +09:00
cam900
3f0c83eb45 Debug improvements
Add oscilloscope debug, Hideable sample debug
2022-05-03 10:20:20 +09:00
tildearrow
62289d924e FDS: add NSFPlay core 2022-05-02 16:53:55 -05:00
tildearrow
960048cf4b NES: fix Furnace-style DPCM 2022-05-02 16:05:07 -05:00
Laurens Holst
ffa0727bf6 AY8930: Fix VGM output.
It was generating writes to register addresses > 15.
2022-05-02 22:49:55 +02:00
tildearrow
ce40085d3b SoundUnit: fix PCM pitch 2022-05-02 15:07:59 -05:00
tildearrow
a6ef36d42e SoundUnit: PCM support 2022-05-02 14:51:06 -05:00
tildearrow
66f6ab4307 prepare for #38 2022-05-02 03:52:45 -05:00
tildearrow
5a724e4949 NES: DPCM work! 2022-05-02 03:42:40 -05:00
tildearrow
dbe9bf25e7 fix bug caused by new renderSamples approach
when doing switchMaster
2022-05-02 02:54:23 -05:00
tildearrow
a7b8f81da7 NES: prepare for DPCM 2022-05-02 02:12:14 -05:00
tildearrow
b92ce84b34 OPZ: more fixed frequency mode fixes 2022-05-02 02:12:02 -05:00
tildearrow
a0db8ab49a OPZ: possibly fix fixed freq emulation 2022-05-02 01:22:49 -05:00
tildearrow
34f7750c27 OPZ: fix muting 2022-05-02 01:15:42 -05:00
tildearrow
6380876b9a OPL: fix panning 2022-05-02 00:41:58 -05:00
tildearrow
5adc29906a
Merge pull request #410 from grauw/dispatch-render-samples
Move renderSamples() to DivDispatch implementations.
2022-05-02 00:25:58 -05:00
tildearrow
7a67730c29 damn it 2022-05-02 00:23:03 -05:00