Commit graph

7346 commits

Author SHA1 Message Date
tildearrow 87d1cf24a1 T6W28: chan osc which does not work right 2025-03-09 01:23:10 -05:00
tildearrow 6537125976 T6W28: acquireDirect() 2025-03-09 00:03:11 -05:00
tildearrow 001cda561a T6W28: fix
but no sound
2025-03-08 22:57:29 -05:00
tildearrow 1e8b93c92a T6W28: completely break the system 2025-03-08 19:38:16 -05:00
tildearrow eea95b1f90 2%
LD.ZRsku p jrsyju rsp jyrsp jyrsp nyeapby eal
 PT P#
2025-03-08 19:32:11 -05:00
tildearrow 3d59d68158 it gets worse 2025-03-08 18:58:31 -05:00
tildearrow 0d78e9bb10 NDS: squeeze out a bit more 2025-03-08 18:48:06 -05:00
tildearrow c9695caf35 NDS: acquireDirect()
it took a while

master volume may not work
2025-03-08 18:42:19 -05:00
tildearrow ce59a015e9 fix build failure 2025-03-08 04:59:01 -05:00
tildearrow d8f66523b6 NDS: prepare for optimization 2025-03-08 04:37:42 -05:00
tildearrow 9981ab7e43 SN: acquireDirect() 2025-03-08 03:23:49 -05:00
tildearrow b8f214020f AY: get TFX and DAC working!
sadly I don't think I can improve this any further for now...
2025-03-08 03:05:09 -05:00
tildearrow 42920b9101 AY: this sucks, part 3
improve heuristics... noise is very slow
2025-03-08 02:22:45 -05:00
tildearrow ccf9277bfe AY: this sucks, part 2 2025-03-07 20:32:23 -05:00
tildearrow 9681f25e54 AY: this sucks, part 1 2025-03-07 20:19:24 -05:00
tildearrow cb67527103 AY: prepare for optimization 2025-03-07 19:37:18 -05:00
tildearrow 33aebf29c6 PCE: improve sample performance 2025-03-07 18:46:53 -05:00
yohannd1 f2d6ae78fa sample filter ui: clamp frequency on popup 2025-03-07 18:41:17 -05:00
yohannd1 37d49ffe0f sample filter ui: add sweep option 2025-03-07 18:41:17 -05:00
tildearrow 0d7ef2e8eb WonderSwan: acquireDirect() 2025-03-07 18:37:25 -05:00
tildearrow 3d915270b1 GUI: remove Virtual Boy quality setting 2025-03-07 17:06:47 -05:00
tildearrow 6050b2c31b Virtual Boy: acquireDirect() 2025-03-07 17:05:12 -05:00
tildearrow 229003c597 VRC6: acquireDirect()
to-do: check for regressions? I need to sleep
2025-03-07 06:28:03 -05:00
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 54d1998c70 make it clear I modified some of these cores 2025-03-07 02:16:09 -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 abaea665af GUI: find/replace selection in selected channels
issue #2393
2025-03-05 19:27:15 -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 c0e4552c52 new chan osc, part 3
fix the jerkiness!
2025-03-01 18:46:11 -05:00
tildearrow 10e60ec8c1 new chan osc, part 2
why is it jerky?
2025-03-01 17:22:34 -05:00
tildearrow 6dc4f16689 GUI: add an audio load chart 2025-03-01 06:10:59 -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
tildearrow 7d0ef24574 GUI: use three hashes
it wasn't two...
2025-02-22 20:25:42 -05:00
tildearrow f674a38d8e GUI: optimize pattern view
don't render what isn't visible
from 3.5ms to 2ms in my phone

to-do: check for regressions...
2025-02-22 19:57:53 -05:00
tildearrow dd9983778b GUI: selection/scroll improvements
now you can scroll left/right by dragging selection to the side edges
2025-02-22 18:43:46 -05:00
tildearrow f4d357ff6f GUI: update credits 2025-02-22 15:55:04 -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