Commit graph

4774 commits

Author SHA1 Message Date
tildearrow
71ac185cbf FDS: lower CPU usage 2025-03-03 02:27:00 -05:00
tildearrow
b3b50bdb66 ESFM: optimize osc buf 2025-03-03 01:45:42 -05:00
tildearrow
cf4807b5d0 optimize putSample a bit
use 16-bit precision even on 64-bit....
this allows some code optimizations
2025-03-03 00:51:47 -05:00
tildearrow
2926fad77e ASHA SDGFHJKLADG F;LHKJ 2025-03-02 23:18:02 -05:00
tildearrow
6f8da93714 size_t 2025-03-02 23:04:48 -05:00
tildearrow
8dcbd0fe1c Merge branch 'ga20opt' 2025-03-02 20:53:53 -05:00
tildearrow
f39039766e possibly fix build. 2025-03-02 20:49:10 -05:00
tildearrow
6d55c8088c GA20: yaaaay I fixed chan osc 2025-03-02 20:41:34 -05:00
tildearrow
8f54445625 GA20: acquireDirect optimizations, part 1
buggy, slow and glitchy
output is good but chan osc is now broken

from 1.5 to 0.4 seconds
2025-03-02 20:29:28 -05:00
tildearrow
2c75555fae GA20: excellent... 2025-03-02 19:34:52 -05:00
tildearrow
6813c30e3a new chan osc, part 8
fix remaining bugs
2025-03-02 18:02:38 -05:00
tildearrow
49a8693dcb new chan osc, part 7
i am done
2025-03-02 16:14:49 -05:00
tildearrow
6265d2cd39 new chan osc, part 6
more adaptations

how can I get you out of my head... I want to go back to work!
2025-03-02 04:11:10 -05:00
tildearrow
fe00ee805d new chan osc, part 5
fix C64 rate
2025-03-01 19:57:16 -05:00
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