Commit Graph

184 Commits

Author SHA1 Message Date
tildearrow d211170e86 implement relative pitch macro mode 2022-04-28 01:31:16 -05:00
tildearrow 66f5b2117f dev90 - linear pitch macro option 2022-04-28 00:26:21 -05:00
tildearrow 1b97d3912b YM2612: hopefully the final pitch slide fix 2022-04-25 11:59:02 -05:00
tildearrow bcade6931a YM2612: allow for DAC rate higher than 32KHz
issue #391
2022-04-25 01:42:26 -05:00
tildearrow 832df58929 YM2612: fix several sample bugs 2022-04-25 01:24:42 -05:00
tildearrow 52e35fdf04 huh? TODO: fix this 2022-04-24 18:17:05 -05:00
tildearrow dd9bb8327a and this finally does it
the last thing to do is a compatibility flag
2022-04-23 18:02:43 -05:00
tildearrow dd80cb8b55 what the heck 2022-04-22 17:42:42 -05:00
tildearrow 943e013cb4 YM2612: new pitch slide formula
finally nailed it (almost)
2022-04-22 16:46:24 -05:00
tildearrow 8db53faf72 new FM frequency calculation experiments 2022-04-22 04:23:52 -05:00
tildearrow 79fa8f1d02 better default instrument for OPL/OPLL
no longer silence
2022-04-21 02:24:06 -05:00
tildearrow fc8a130c71 implement panning macro
except for QSound
2022-04-17 14:15:57 -05:00
tildearrow b4ac5c7e6a implement pitch macro 2022-04-16 01:39:40 -05:00
tildearrow fd3d57b1cb even more improvements to low-latency mode 2022-04-15 15:01:11 -05:00
tildearrow 96715ed88c add experimental low-latency mode
do not use (yet)!
2022-04-15 05:37:23 -05:00
tildearrow d47a59f5f0 implement pitch macro
TODO: test!
2022-04-15 03:37:16 -05:00
tildearrow c743a9e96a implement phase reset macro on supported systems 2022-04-15 03:16:14 -05:00
tildearrow a530934671 fix retrigger issue in sample instruments 2022-04-15 01:26:44 -05:00
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 d3e5efe834 Prepare for macro refactoring 2022-04-10 14:01:55 +09:00
tildearrow a43034f559 OPN: fix portaPause not resetting on new note 2022-03-29 23:58:50 -05: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 322981b021 maybe fix possible crash regarding smp loop points 2022-03-21 21:26:36 -05:00
tildearrow 67d516fcee Genesis: prioritize DAC writes 2022-03-14 01:38:11 -05:00
tildearrow 716298c49c Genesis: now fix off not working on channel 6 2022-03-11 22:41:04 -05:00
tildearrow 2a0aa19b2b fix broken DAC mode
adds new compat flag
2022-03-11 22:11:33 -05:00
tildearrow 3b8388d90c YM2151/2610/2612/Game Boy: fix panning - UNTESTED 2022-03-06 14:39:20 -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 19c4f5559a bring crash fix from 0.5.8 2022-02-24 22:52:20 -05: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 df35b8fb45 add register view
supported chips only.
2022-02-21 22:31:27 -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
tildearrow 36eaea0fa7 OPN: apply max freq limit 2022-02-17 22:07:20 -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 7c80a88bbf GUI: fix debug menu a bit 2022-02-13 15:03:07 -05:00
tildearrow 6bcd3df691 oopsie 2022-02-12 21:19:38 -05:00
tildearrow 62f2f67b9d add two more compatibility flags
for songs that relied upon pre-0.5.5 broken behavior
2022-02-09 22:07:32 -05:00
tildearrow 788ccfb334 unscrew alg + volume 2022-02-09 12:43:27 -05:00
tildearrow bf537881ce possibly implement envelope release points
no way to set them yet tho other than the MML string
2022-02-08 13:11:04 -05:00
tildearrow d0457a2e1b VGM export: improvements
- use shorthand command for waiting at 50/60Hz
- don't write stream rate change if DAC is off
2022-02-06 16:47:12 -05:00
tildearrow cb430fc169 Genesis: fix bus overload when using ymfm core 2022-02-05 04:31:20 -05:00
tildearrow 6b040084e0 Genesis: add alternate clock speed 2022-02-04 21:35:24 -05:00
tildearrow 902febe298 actually implement pitch of C-4 2022-02-04 03:29:40 -05:00
tildearrow c682c921a1 fix compatible-style retrigger 2022-02-03 15:43:41 -05:00
tildearrow 5086bc1097 implement the linear pitch flag 2022-02-03 02:24:11 -05:00
tildearrow ccfe3bdd97 Genesis: add ability to use ymfm instead of Nuked 2022-02-02 23:08:45 -05:00
tildearrow 545f3ffdf4 Genesis: add DAC distortion flag 2022-02-02 03:06:30 -05:00
tildearrow d691ec6d76 add a chip playground
in debug menu
2022-02-01 18:08:19 -05:00
tildearrow f29d4bce1b implement 11xx effect on FM platforms
please no ch 3
2022-02-01 15:12:06 -05:00
tildearrow 4f5d37d415 VGM export: fix Genesis samples wrongly pitched 2022-02-01 03:23:29 -05:00
tildearrow bf9eb8b0a4 fix two possible pitch slide regressions
now let's fix blue crow
2022-01-30 15:55:31 -05:00
tildearrow 822d542350 limit volume macro to system maximum
fixes #71
2022-01-30 12:31:50 -05:00
tildearrow b6da7871d4 make the flags option actually work 2022-01-29 00:20:27 -05:00
tildearrow bfed0b3209 change setPAL to setFlags 2022-01-28 12:59:53 -05:00
tildearrow ec66b7a21b add song tuning
soon: system clock settings
2022-01-28 00:55:51 -05:00
tildearrow 5eb974456d Arcade: implement FM macros 2022-01-27 02:17:09 -05:00
tildearrow 0e633ea69b GUI: add a debug window 2022-01-27 00:29:16 -05:00
tildearrow 1347d16da4 Genesis: fully implement volume macro 2022-01-26 18:03:08 -05:00
tildearrow f86838df99 no longer shift arpeggio macro by 12 2022-01-26 15:53:52 -05:00
tildearrow 8bcab6e139 VGM export: write resets and GD3 tag
may be non-standard compliant (yet)
also it crashes foobar2000 for some reason but this will be fixed
2022-01-25 18:46:27 -05:00
tildearrow d945e5299a Merge commit 'bd8c06bbb786df086d478e1574c6fe11ee6651b6' 2022-01-24 15:53:02 -05:00
tildearrow bd8c06bbb7 prevent crash when playing empty sample
fixes #62
2022-01-24 15:47:39 -05:00
tildearrow 858d5343b8 earliest VGM export!
only supports single-chip Genesis for now
the other systems will be added shortly
2022-01-24 01:01:08 -05:00
tildearrow 524f8c312e Genesis: implement arp macros 2022-01-23 15:55:12 -05:00
tildearrow 45d9bef2a8 Genesis: restore LFO value when changing order 2022-01-23 15:15:46 -05:00
tildearrow cd2854d027 it works 2022-01-23 15:12:00 -05:00
tildearrow b39b1c0a25 Genesis: implement FM macros (partial, untested) 2022-01-23 13:19:19 -05:00
tildearrow d62b111c78 Genesis: separate channel state from instrument
paves way for FM macros
with this change, extended channel 3 mode breaks! do not use
until I diagnose the problem.
2022-01-22 17:43:57 -05:00
tildearrow 371c23a7ee Genesis: fix sample desync when muting DAC channel 2022-01-22 02:36:58 -05:00
tildearrow 05bbfaced2 get rid of a debug message 2022-01-20 16:41:18 -05:00
tildearrow 917c9cf2e3 Genesis: allow sample preview 2022-01-20 16:40:18 -05:00
tildearrow 0f28ae0fee implement Furnace-style PCM on Arcade/Gen/NES/PCE 2022-01-20 16:09:05 -05:00
tildearrow 4ee17d35cd implement sample loop on the rest of systems 2022-01-20 02:46:28 -05:00
tildearrow f98662d329 slide accuracy fixes 2022-01-19 01:27:32 -05:00
tildearrow e87239f8ce fix retrigger implementation
no longer broken
2022-01-19 00:01:34 -05:00
tildearrow 6d9f5db6a4 add notifyInsChange
see issue #8
2022-01-17 23:59:52 -05:00
tildearrow ce027d99f6 force insChanged on note input
partially solves issue #8
2022-01-17 18:01:40 -05:00
tildearrow 12236248dd prepare for eventual export 2022-01-16 23:21:27 -05:00
tildearrow 91e8ff01cf add notifyInsDeletion
prevent invalid memory access when deleting instruments
2022-01-13 19:36:02 -05:00
tildearrow dc5990a37e a lot of master system fixes!
fixes forest frolick, professional tracker, YZYX, Monday (kinda),
MasterTracker and Ice Fields
2021-12-29 02:08:50 -05:00
tildearrow d766c4aaf0 finally do EFxx right
took a while to figure out...
2021-12-28 00:51:38 -05:00
tildearrow 65444d4a99 el diego 2 finally plays back correctly
ALMOST
2021-12-27 16:31:16 -05:00
tildearrow 7ba8607270 changes to sample rate storage
as of now we store and use the actual sample rate as opposed to an index
fo a fixed rate table.

this allows for more flexibility in a future file format...
2021-12-23 18:04:44 -05:00
tildearrow 726b457ae7 another uninitialized variable 2021-12-21 16:02:31 -05:00
tildearrow 997c460fc1 greatly improved playback resume
no more song weirding out when changing orders
2021-12-21 01:29:07 -05:00
tildearrow 3a0e94df5e genesis: fix muting the PCM channel 2021-12-19 00:51:10 -05:00
tildearrow efd5e844ce genesis: fix massive bug when muting SN 2021-12-19 00:49:47 -05:00
tildearrow b3b66ecbdb channel mute/solo! 2021-12-18 03:25:42 -05:00
tildearrow c54df74df1 GUI: rate change and new window title 2021-12-15 17:32:08 -05:00
tildearrow 52087edceb lots of changes
- GUI: ability to load files
- GUI: arrow key navigation
- fix sample volumes
2021-12-15 00:37:27 -05:00
tildearrow 2f813c55e0 GUI: instrument selector 2021-12-11 16:44:02 -05:00
tildearrow a17e91955a add reset() for every platform 2021-12-11 13:14:38 -05:00
tildearrow 248cc6d37a properly handle note off in PCM 2021-12-09 03:25:00 -05:00
tildearrow e2a41974ff PCM sample bank support 2021-12-09 03:13:37 -05:00
tildearrow 6a02754996 add PAL flag to dispatch
now platforms run at their correct clock speed when in PAL mode

also fix clipping in Genesis
2021-12-08 01:56:40 -05:00
tildearrow 65ab3a2b5d keyOffAffectsArp is now per-channel 2021-12-08 00:33:00 -05:00