Commit Graph

2143 Commits

Author SHA1 Message Date
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
tildearrow 430d0329bd per-channel oscilloscope, part 10
OPZ
2022-05-02 00:22:34 -05:00
tildearrow de09073232 NES: NSFPlay per-channel osc 2022-05-02 00:05:28 -05:00
tildearrow 61b4e3745f NES: NSFPlay muting 2022-05-01 23:57:53 -05:00
tildearrow e1cec62af4 NES: now fix tri_mute 2022-05-01 23:48:35 -05:00
tildearrow 153e025cf8 NES: finally 2022-05-01 23:48:02 -05:00
tildearrow 9479a8aa0f fix typo in playback engine
possible memory leak
2022-05-01 23:29:00 -05:00
tildearrow cb7aa4aa05 NES: wire up NSFplay
no muting supported for now
see #27
2022-05-01 23:20:20 -05:00
tildearrow 7b31f6a3e5 now fix it damn it 2022-05-01 22:52:22 -05:00
tildearrow e873070d84 now move these files 2022-05-01 22:22:02 -05:00
tildearrow 2c9bad3b3d per-channel oscilloscope, part 9
work in progress!
2022-05-01 18:29:16 -05:00
tildearrow 269f07f597 these are debug messages 2022-05-01 17:26:56 -05:00
Laurens Holst 7f0074511c Move renderSamples() to DivDispatch implementations.
To prevent rendering samples for systems that are not in use.

Additionally, it gives the systems more flexibility to render the samples
according to their specific configuration.
2022-05-01 23:23:38 +02:00
tildearrow 58fe971a3c Clang you are so arrogant 2022-05-01 05:18:30 -05:00
tildearrow 9f19b5dfc4 ok so screw you 2022-05-01 05:10:41 -05:00