tildearrow
0e7df18ab3
NES and MMC5: heuristic oopsie
2025-03-07 05:11:18 -05:00
tildearrow
c5492f2f2c
PCE: oh man a typo
2025-03-07 04:34:27 -05:00
tildearrow
8ee01d15f7
TIA: acquireDirect()
...
# TIA Benchmark
twin.fur
acquire(): 11.324s
acquireDirect(): 1.267s
Balmeranda.fur
acquire(): 11.923s
acquireDirect(): 1.093s
# MMC5 (Goofy Asses per second)
unoptimized: 9.22/s
optimized: 108.96/s
2025-03-07 03:58:13 -05:00
tildearrow
9730988cef
MMC5: reset write queue...
2025-03-07 03:21:04 -05:00
tildearrow
47f176b0f0
MMC5: acquireDirect(), part 2
...
PCM now works
2025-03-07 03:12:18 -05:00
tildearrow
1070fb5d10
MMC5: acquireDirect(), part 1
...
no samples
also fixed chan osc
2025-03-07 03:07:52 -05:00
tildearrow
86fb92595a
NES: fix a little accuracy problem
2025-03-07 02:31:38 -05:00
tildearrow
007ef91e84
NES: puNES acquireDirect(), part 3
...
reduce CPU usage a bit
2025-03-07 02:10:08 -05:00
tildearrow
08e7112d85
NES: fix unused variable
2025-03-07 02:02:55 -05:00
tildearrow
29849972dd
NES: puNES acquireDirect(), part 2
...
per-chan osc
2025-03-07 02:02:04 -05:00
tildearrow
5df3e1f030
NES: make it C++
...
so we can submit to chan osc buffer
2025-03-07 01:57:52 -05:00
tildearrow
1d60bb03cc
NES: reduce CPU usage when no channels active
2025-03-07 01:48:10 -05:00
tildearrow
dde97171ab
NES: puNES acquireDirect(), part 1
...
no per-chan osc
2025-03-07 01:29:40 -05:00
tildearrow
ad8437e5ae
this is why I don't use tabs
...
in one editor it's 8 spaces, in another it's 2...
spaces on the other hand are the same regardless of editor
2025-03-06 23:23:46 -05:00
tildearrow
f43715775c
no to-do
2025-03-06 20:23:10 -05:00
tildearrow
645e97ef93
NES: puNES macro expansion
...
preparations for acquireDirect()
2025-03-06 20:21:26 -05:00
tildearrow
c2228cd74b
SCC: acquireDirect()
2025-03-06 19:06:45 -05:00
tildearrow
7a6f6a6745
PCE: remove core quality
2025-03-06 12:18:10 -05:00
tildearrow
4c166b9b5a
move blip_buf to extern
...
so it can be used by other cores
2025-03-06 12:07:28 -05:00
tildearrow
2078949093
Amiga: tweak the filters once again
2025-03-06 02:00:07 -05:00
tildearrow
43891b8d79
PCE: optimize 5ms
2025-03-05 19:07:10 -05:00
tildearrow
68a550a419
update the acquireDirect API
...
size_t offset is no more - it is always 0
2025-03-05 18:57:17 -05:00
tildearrow
ec451cd80e
Amiga: acquireDirect, part 3
2025-03-05 15:26:17 -05:00
tildearrow
69a43a70fc
Amiga: improve filter calc
2025-03-05 05:40:39 -05:00
tildearrow
e941dfb174
Amiga: acquireDirect, part 2
...
the filter is back!
2025-03-05 04:49:22 -05:00
tildearrow
e116f2e523
PCE: fix anti-click
2025-03-05 00:17:09 -05:00
tildearrow
655b3621f6
Merge branch 'master' into amigaOpt
2025-03-04 13:18:07 -05:00
tildearrow
6e40a6980b
PCE: fix chan osc!
...
ready to merge...
2025-03-04 12:57:59 -05:00
tildearrow
ac8df480ab
PCE: half working channel osc
...
it doesn't look right
2025-03-04 12:37:31 -05:00
tildearrow
11c99f9f96
PCE: push it even further!
...
now a bit faster
2025-03-04 12:21:56 -05:00
tildearrow
ec5aafb9ad
PCE: PCM works
...
CPU usage increases though when it's in use :<
2025-03-04 12:19:46 -05:00
tildearrow
5d3a22a502
PCE: PCM might work again
2025-03-04 11:57:41 -05:00
tildearrow
f0a3e3f590
PCE: Mednafen is wonderful
...
the PSG emulator already comes with heuristics... I stripped them off
for Furnace but now that we have acquireDirect() we can give it our
blip_buf and handle everything there
from 40-70% to 10% CPU usage on my phone, and highest quality!
TODO:
- PCM
- chan osc (should be very easy)
2025-03-03 20:29:34 -05:00
tildearrow
95b1085aed
I have no idea what's going on
2025-03-03 17:18:52 -05:00
tildearrow
acdce2c795
Amiga: acquireDirect, part 1
...
filter no longer works... I'll think of a possible approach
2025-03-03 04:11:01 -05:00
tildearrow
f5589d0084
Amiga: increase DMA off delay
2025-03-03 02:32:11 -05:00
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
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