Commit graph

4510 commits

Author SHA1 Message Date
tildearrow a16d20e190 new chan osc, part 4
adapt dispatch code to it
2025-03-01 19:49:56 -05:00
tildearrow 10e60ec8c1 new chan osc, part 2
why is it jerky?
2025-03-01 17:22:34 -05:00
tildearrow dd7e1def3d new chan osc work in progress 2025-03-01 05:05:50 -05:00
tildearrow 0eea0ec139 a new method for setting chan osc rate... 2025-03-01 00:33:15 -05:00
tildearrow c83ecfe993 prepare new chan osc code
chan osc output will be 65536Hz - always
new functions for initializing the osc buffer and all
2025-02-26 20:29:13 -05:00
tildearrow e94d99d79e PC Speaker: fix it 2025-02-26 15:45:26 -05:00
tildearrow d935d3c6d1 acquireDirect proof of concept
extremely low CPU usage in PC Speaker

WARNING! no per-chan osc yet!
2025-02-25 19:58:25 -05:00
tildearrow 4502fa6912 FIX BUILD FAILURE 2025-02-25 18:56:04 -05:00
tildearrow 4b1e883d1b PC speaker: prepare for acquireDirect 2025-02-25 18:53:02 -05:00
tildearrow 231819da2e Revert "Revert "prepare acquireDirect API" - stupid crap"
thought of an idea for optimization. let's try again.

This reverts commit 4ca7033dec.
2025-02-25 18:45:28 -05:00
tildearrow 8d8e51d36a disable 32-bit float audio export in per-chip mode
issue #2389
2025-02-25 15:34:36 -05:00
techmetx11 18c5d80a09 Use more .getPattern() 2025-02-22 15:18:23 -05:00
techmetx11 27a1914924 Use .getPattern() 2025-02-22 15:18:23 -05:00
techmetx11 56937d8f05 Fix naming 2025-02-22 15:18:23 -05:00
techmetx11 308aacc1e6 Implement looping in TFM import 2025-02-22 15:18:23 -05:00
LTVA1 c58a7cba20 Update sid3.c 2025-02-22 14:45:09 -05:00
tildearrow a80cdbb1dd ES5506: increase precision in Amiga pitch mode
issue #2120
2025-02-22 01:32:31 -05:00
tildearrow c5576ebcd2 PCE: fix sample linger in VGM export
issue #2322
2025-02-21 19:41:48 -05:00
tildearrow 9af53cac73 PCE: fix sample volume in VGM export
issue #2319
2025-02-21 19:35:29 -05:00
tildearrow 41d3dcde66 Virtual Boy: handle phase reset first 2025-02-21 18:58:58 -05:00
tildearrow 0b1e90b908 Virtual Boy: disable channel 5 when changing mod t
able
2025-02-21 18:50:00 -05:00
tildearrow cfb962236a WaveSynth: add change detection
don't update wave if it is intact
issue #2298
2025-02-21 17:25:05 -05:00
tildearrow 040ceb788d .ftm import: improvements
- cut/delay policy is now lax (why was it set to strict?)
- macro release mode is now Active (issue #2376)
2025-02-21 16:23:21 -05:00
tildearrow 4ca7033dec Revert "prepare acquireDirect API" - stupid crap
the most POINTLESS plan of all time... acquireDirect.
why? because you gotta fill in the oscBufs anyway, which will take
precious CPU time, so you can't just pass the blip_bufs to dispatch
and hope it'll help by not processing when nothing's happening.

"so disable it when the per-chan osc is up!" NO! we need this for
volume calculation....

"how about rewrite per-chan osc logic?" you know what? I don't have
either the time or the will for that.
now back to Something Else......

This reverts commit 08177d839a.
2025-02-21 01:27:04 -05:00
tildearrow cf89a4ff44 GA20: yet another optimization 2025-02-20 04:44:19 -05:00
Natt Akuma c6bb7acfad Merge branch 'master' of https://github.com/tildearrow/furnace 2025-02-20 05:33:31 +07:00
Natt Akuma b084b5f977 Add a missing chrono include
This fixes MSVC v143 build failure
2025-02-20 05:33:06 +07:00
tildearrow 08177d839a prepare acquireDirect API
provide direct access to blip_buf to dispatch code, which may allow for some serious optimizations
2025-02-19 15:46:10 -05:00
tildearrow a2bd669792 Virtual Boy: where did the noise channel go? 2025-02-19 04:29:54 -05:00
tildearrow 0e0aab88de GA20: another optimization 2025-02-18 05:53:54 -05:00
tildearrow f55f92975a GA20: tiny optimization 2025-02-18 05:32:09 -05:00
tildearrow 556b268d80 Virtual Boy: we cannot take a fast path... 2025-02-18 03:11:52 -05:00
tildearrow e1b7618348 Virtual Boy: make it work on hardware
issue #2373
2025-02-18 02:30:14 -05:00
tildearrow 63ee7cf5d8 Virtual Boy: write waveforms before init channels 2025-02-18 00:36:20 -05:00
tildearrow 91ca79587b SNES: oh I can't believe I did not commit this yet 2025-02-15 22:21:39 -05:00
ExecThTs 63c98baf8e fix playback head when partially previewing a sample 2025-02-11 04:59:48 -05:00
tildearrow d073d17318 Low Quality tildearrow Code: Part III 2025-02-09 04:10:16 -05:00
tildearrow 845c5245c3 Time Is Fixed 2025-02-07 04:20:18 -05:00
tildearrow f09fd02971 MultiPCM: only set new params on ins change
fixes an issue regarding level direct effect
2025-02-07 04:15:20 -05:00
tildearrow cb616ae594 MultiPCM: I present to you a fix 2025-02-07 04:05:53 -05:00
tildearrow 9dee51851f prepare for proper center rate
the correct rate is 8372Hz rather than 8363Hz
sadly this will require a compat flag so I am not making this change
effective until 0.7

issue #2347
2025-02-06 02:14:21 -05:00
tildearrow 659a16a489 C64: PCM chan osc, part 2
issue #2349
2025-02-05 04:10:16 -05:00
tildearrow dbe30c0d43 C64: PCM chan osc, part 1
it leaks into other channels
2025-02-05 04:01:22 -05:00
tildearrow 8c59d4bf8b remove two unused defines 2025-02-01 21:27:28 -05:00
tildearrow b64c06dd4d GUI: add more options for selection drag
ability to copy by dragging selection
2025-01-31 17:29:51 -05:00
tildearrow e22d46e619 C64: implement 6581 bias on dSID
for PCM
2025-01-31 14:59:38 -05:00
tildearrow 1ceffc659c I will do this later 2025-01-30 16:24:33 -05:00
tildearrow b17b0e3f40 fix build... 2025-01-30 15:27:55 -05:00
tildearrow 6e63669501 add a bunch more TODOs 2025-01-29 04:38:12 -05:00
tildearrow 1e891e5e5f aaaaaaaaaaa 2025-01-29 04:12:01 -05:00
tildearrow 8776e1c442 µPD1771C: implement tone/noise mode 2025-01-29 04:10:54 -05:00
tildearrow 9e726eba83 LOW QUALITY TILDEARROW CODE... 2025-01-29 02:04:49 -05:00
tildearrow 97402e6d41 replace AArt µPD1771C core with MAME 2025-01-29 01:58:31 -05:00
tildearrow 00ad4e4a46 update copyright year 2025-01-28 18:49:19 -05:00
tildearrow 0d8b97b1a3 C64: add a sample channel
but don't get too excited! it's just $D418 PCM for now...
2025-01-28 17:33:08 -05:00
tildearrow f16b23772e prepare for something 2025-01-28 04:59:12 -05:00
tildearrow fd176dee84 dev224 - Merge branch 'fixedblock2' 2025-01-28 04:25:24 -05:00
tildearrow dd9d220f33 use state instead of accessing ins for block 2025-01-28 04:24:10 -05:00
tildearrow 24cffc562a Merge branch 'master' into fixedblock2 2025-01-27 16:33:45 -05:00
cam900 bd298e7ece Fix ES5506 filter slide 2025-01-27 13:49:38 +09:00
tildearrow 644b2cd699 so that's why panning was broken in command stream 2025-01-26 18:10:53 -05:00
tildearrow 497ce44cd0 command stream was utterly broken 2025-01-26 04:28:03 -05:00
tildearrow 8965c60b0a MOD import: fix possible bug notes 2025-01-25 18:54:57 -05:00
tildearrow a750157ab4 fix another out of bounds situation
this time if the pitch is invalid
2025-01-10 02:10:14 -05:00
tildearrow 732383c036 limit max sample size when loading .dmf 2025-01-10 02:06:25 -05:00
tildearrow 2b064f85bb SafeReader: fix exploit when using negative length
issue #2316
2025-01-10 02:06:14 -05:00
Natt Akuma cf3d08ca5a Add fixed octave for block+fnum systems
This isn't implemented in SAA1099, despite also being block+fnum system, as there are no benefits from it
2025-01-09 03:51:14 +07:00
Natt Akuma 6a58797669 Use bsr() in frequency shift calculations 2025-01-09 03:43:27 +07:00
tildearrow 68eeef28e4 YMZ280B: fix sample offset moving loop
issue #2213
2024-12-29 17:55:58 -05:00
tildearrow 5ffd47ed7b SegaPCM: fix sample offset moving loop
issue #2306
2024-12-29 16:53:19 -05:00
yohannd1 32ea140a61 wave+sample drag&drop, and supporting swap via ctrl-drag 2024-12-19 15:51:21 -03:00
yohannd1 6ffc495c81 instrument swap implemented (thanks to @Eknous-P) 2024-12-19 15:04:10 -03:00
bbbradsmith 55a189444f -romout command line export
consolidate DivEngine::isROMExportViable function from FurnaceGUI::updateROMExportAvail to avoid copy-paste
2024-12-19 04:40:49 -05:00
tildearrow 1d3318c214 VGM export: fix DAC data being offset 2024-12-15 15:56:18 -05:00
tildearrow 1d8c2e11bd change padding for ADPCM-A/B samples
issue #1910
may or may not fix the issue. testing needed.
2024-12-11 18:30:10 -05:00
tildearrow 79167c382f possibly fix timer issues
issue #2189
2024-12-09 13:56:20 -05:00
tildearrow 52a4588ad9 OPN: fix out of bounds when using some FM effects
on non-FM channels
issue #2286
2024-12-09 01:57:30 -05:00
tildearrow 3289f6628d fix AY being one octave down on .dmf import 2024-12-07 03:55:24 -05:00
tildearrow 54620b04e0 MSX2 is not FM system 2024-12-06 18:55:02 -05:00
tildearrow 8215371d31 saving 2024-12-06 18:51:44 -05:00
tildearrow 8263a320c3 improve ins type detection 2024-12-06 18:47:09 -05:00
tildearrow 192be95c14 OPL: instant drum muting
issue #1945
2024-12-06 18:28:09 -05:00
tildearrow 5ceccb5988 add support for MSX2 .dmf
your songs may sound different. I am not going to bother supporting effects
and quirks
2024-12-06 03:00:15 -05:00
Natt Akuma ddb29874d7 SNES: Change base capacity to 0xf800 bytes instead of 0x10000
This is to reflect both source address calculations in the engine code, which assume an echo buffer to end at 0xf800
2024-11-27 18:37:39 +07:00
tildearrow 5d47b50032 MSM6258: fix panning
issue #2249
2024-11-24 16:05:52 -05:00
tildearrow c140c94c5f OPL4: fix drums ins type not appearing 2024-11-24 15:53:51 -05:00
tildearrow c531f777af fix file not closing when loading .dmc or .brr 2024-11-24 15:31:52 -05:00
tildearrow 6f61f6661f C64: fix global param again...
issue #2181
2024-11-11 04:17:02 -05:00
tildearrow 44e842530b VGM export: fix bugs in issue #2226
- wrong byte in PCM RAM write
- MSM6258 reset being MSM6295
2024-11-11 04:04:04 -05:00
Dalia 78af94b5e9 don't play metronome unless song is playing 2024-11-11 01:36:52 -05:00
tildearrow 99e3c3fa33 AY: fix chan osc
issue #2235
2024-11-10 05:38:19 -05:00
tildearrow b701f06a98 Lynx: whoopsie 2024-11-10 04:18:22 -05:00
tildearrow 826d1730e0 fix possible ins create type error
when cursor is outside
2024-11-08 03:19:49 -05:00
tildearrow 3d7079226f OPN: implement phase reset macro on ExtCh 2024-11-08 02:47:51 -05:00
tildearrow 82d5139197 SegaPCM: its still there 2024-11-08 02:04:06 -05:00
tildearrow 7c1d8ef4bb Lynx: fix load LFSR 2024-11-08 02:00:58 -05:00
tildearrow 28bbe56a44 .ftm import: fix virtual tempo going outside range
issue #2230
2024-11-07 03:55:48 -05:00
tildearrow 0d18b4828d OPN: fix 30xx 2024-11-07 03:23:45 -05:00
tildearrow 75ad701986 YM2151: Nuked 30xx 2024-11-06 18:42:21 -05:00
tildearrow c69f366942 OPL: ymfm 30xx 2024-11-06 18:36:51 -05:00
tildearrow 1e68098cd3 AY: fix several problems with AtomicSSG 2024-11-06 18:09:26 -05:00
tildearrow 5917831992 OPLL: fix 13xx typo 2024-11-04 04:12:05 -05:00
tildearrow b6820fd5d5 the final part of this branch 2024-11-04 04:00:50 -05:00
tildearrow a54fb85288 FINALLY FIX THE CRASH
YES

issue #2215
2024-11-04 03:08:32 -05:00
tildearrow 92a615eefc Merge branch 'master' into theUltimateFix 2024-10-30 14:57:09 -05:00
freq-mod 5ff6adc34d
fix pzi import even more 2024-10-27 10:58:26 +01:00
freq-mod 7578ce6015
fix pzi import
previously it didnt import most of the samples
2024-10-26 18:20:01 +02:00
tildearrow 0e70439d68 initialize selCore...
maybe issue #2180
2024-10-24 03:22:18 -05:00
tildearrow 48aa3b438f YM2608: fix possible crash 2024-10-20 18:10:57 -05:00
tildearrow 8c2b3ba438 OPN: fix possible crash when CSM is off 2024-10-20 18:04:08 -05:00
tildearrow 69b03172b1 get it done
OPL UNFINISHED
2024-10-19 18:28:27 -05:00
tildearrow dd9d8dccd1 proof of concept 2024-10-19 17:52:24 -05:00
tildearrow 4281acc9dc VGM export: prepare to implement 30xx
issue #1798
2024-10-19 14:25:12 -05:00
Natt Akuma 665b722f31 VIC-20: add an option to disable filters 2024-10-17 20:16:04 -05:00
tildearrow 5eae36f092 Lynx: direct stream mode 2024-10-17 15:51:04 -05:00
tildearrow 3c892ada2a this does not work 2024-10-17 15:06:13 -05:00
tildearrow d5154a103e VGM export: prepare for Lynx samples 2024-10-17 04:04:00 -05:00
tildearrow a0f0c863c9 OPN/A/B: fix CSM when using ymfm
and now there's a crash
2024-10-17 02:53:08 -05:00
LTVA1 721c3b55b6 fix OPNB emu core setting, fix chan osc for OPN ymfm 2024-10-14 00:01:04 -05:00
LTVA1 2e2796c245 fix OPN CSM osc view, fix OPNA ADPCM channel not playing 2024-10-13 02:11:36 -05:00
Eknous-P 5f47166012 redo opnx csm 2024-10-13 02:11:36 -05:00
tildearrow dfb12271da SID3: now implement getPan
whatever
2024-10-03 12:34:02 -05:00
tildearrow ca7fe252a3 SID3: fix the other saving problems 2024-10-03 12:27:39 -05:00
tildearrow eb4ecd6827 SID3: fix filter macro saving 2024-10-03 12:20:41 -05:00
tildearrow 14e38ab450 SAP-R export: fix crash 2024-09-30 23:14:31 -05:00
tildearrow ff0297bcba SAP-R export: fix length in low-latency mode 2024-09-30 03:54:33 -05:00
tildearrow 54745bec3b here we go!
pull request #1706
2024-09-30 03:37:22 -05:00
tildearrow 5a587a6af6 prepare port SAP-R export from pull request #1706 2024-09-29 19:39:10 -05:00
tildearrow df959399cd DivConfig: fx pssib issue whn line's lngr thn 4095
maybe issue #2025
2024-09-29 16:46:06 -05:00
tildearrow fa1bdbe3a1 OPM/OPZ: fix DT2 effect 2024-09-28 14:50:01 -05:00
tildearrow d89a8f2c4f OPL4: fix drums mode
issue #2160
2024-09-26 15:50:06 -05:00
tildearrow 0f2fd76a90 dev223 - Y8950: fix ADPCM pitch
issue #2028
2024-09-26 14:41:14 -05:00
tildearrow 0cf6c7cd64 OPL: fix YMF289 in ymfm
ymfm offers a class called ymf289, but I am too lazy to use it
and it probably does not resample anyway
2024-09-26 14:20:14 -05:00
tildearrow 8ac3491672 OPL: and now fix the fix 2024-09-25 14:43:24 -05:00
tildearrow f7412e5234 OPL: key off after 4-op mode change
somehow fixes issue #2171
2024-09-25 14:24:39 -05:00
tildearrow 60d01de6fc VGM export: QSound ADPCM fix, for real this time 2024-09-25 13:12:34 -05:00
LTVA1 95b7f1f3ac
FamiTracker import improvements (#2172)
* create instrument copies to accurately represent what FamiTracker does e.g. on VRC6 channels when using 2A03 instruments

* fix Hxy effect for S5B (AY), part 1

* fix Hxy effect for S5B (AY), part 2

* fix Hxy effect for S5B (AY), part 3
2024-09-25 13:33:09 +02:00
tildearrow 1f1b9fcc87 I don't trust you
where did you get these numbers from? did you make them up?
first you go "bruh bruh bruh" on me and then you drop this. couldn't
you at least look around a bit?!

since when has OPZ been clocked at 4MHz? who said that it does?
the chip's been designed to run at NTSC colorburst frequency, damn it!

on top of that, you didn't have to make up anything. AT ALL.
fixed frequency is simpler than eating with a fork. you just write the
frequency IN HERTZ (!!), the block and that's it.
really? were these numbers necessary?

oh man....
2024-09-22 16:56:54 -05:00
tildearrow 838646800a OPZ: code style fixes 2024-09-22 03:58:17 -05:00
tildearrow dc47194e3d Merge branch 'master' into opz-improvements 2024-09-22 00:35:46 -05:00
tildearrow be883ed387 SID2: fix chan osc overflow 2024-09-21 18:23:43 -05:00
tildearrow d838224d94 dev222 - Merge branch 'SID3' 2024-09-21 18:04:08 -05:00
tildearrow cf46a035e1 SID3: fix non-linear pitch 2024-09-21 18:01:45 -05:00
tildearrow 987bff8b75 a couple code style changes 2024-09-21 04:36:22 -05:00
cam900 7594b2fb55 OPL4: Fix highest note frequency 2024-09-18 11:00:45 +09:00
tildearrow 3ade67a889 SID3:change reset duty strategy 2024-09-17 00:44:13 -05:00
tildearrow 05ddfec301 SID3: change default duty 2024-09-16 23:57:14 -05:00
tildearrow f0cf3628c6 SID3: change default decay 2024-09-16 03:23:34 -05:00
tildearrow ac95c05878 SID3: store ins data 2024-09-16 03:09:56 -05:00
tildearrow b2d6f8e7ee update c64.cpp 2024-09-14 04:35:02 -05:00