Commit Graph

2180 Commits

Author SHA1 Message Date
Arisotura 43eec46ce1 make "reply read callback" savestate-able. clean up some shito. 2025-08-15 00:26:35 +02:00
Arisotura a3f29e25d9 add faad dependency the proper way 2025-08-14 19:17:13 +02:00
Arisotura 353e33a67b clean up some of the mic init 2025-08-14 14:39:04 +02:00
Arisotura ed65473068 add Teakra state to savestate (and fix a bug that broke it) 2025-08-13 15:17:03 +02:00
Arisotura 38c91b87ab add specialized ucode state to savestate 2025-08-13 03:25:38 +02:00
Arisotura 610e61ec2c also add mic stuff 2025-08-13 03:16:52 +02:00
Arisotura 4ebdeecfb1 add new I2S state and related shit to savestate 2025-08-13 03:10:27 +02:00
Arisotura 70fe4dd49f lay base for DSP HLE savestate... and immediately hit a problem 2025-08-13 03:02:55 +02:00
Arisotura c69cc776ce cleanup DSi_DSP.cpp (move things around to match other melonDS files) 2025-08-13 02:28:32 +02:00
Arisotura a920877972 add basic system to savestates so that you can't load a DSPHLE state if you're using LLE, and vice versa 2025-08-13 02:16:25 +02:00
Arisotura c73863ef64 remove some junk 2025-08-12 00:29:56 +02:00
Arisotura b9b5cd8e17 * add debounce to mic on/off controls (to deal with stupid code)
* fix bug with frequency divide
2025-08-11 11:58:09 +02:00
Arisotura 81052b7054 remove a bunch of cruft 2025-08-11 01:35:11 +02:00
Arisotura 831308b18f re-add external mic, and tweak things to make it work smoothly 2025-08-11 01:15:17 +02:00
Arisotura 9ba6424100 convert mic noise to the correct format, and add it back 2025-08-10 22:16:07 +02:00
Arisotura 7e144f3a83 connect NDS mic to the new system 2025-08-10 21:20:23 +02:00
Arisotura 955662fa69 actually make mic input work in Teakra 2025-08-10 20:55:38 +02:00
Arisotura f3679f85e7 this is done for both start and stop commands, actually 2025-08-10 20:12:26 +02:00
Arisotura fd0b88f9cd lay base for mic input in Teakra 2025-08-10 20:02:33 +02:00
Arisotura 5573b2cc1d add mic support to DSP HLE 2025-08-10 19:41:15 +02:00
Arisotura 8de9ed8434 er, that's backwards 2025-08-10 18:54:51 +02:00
Arisotura 14c9d39575 also, should remove logging for NDMA 0x2C, since it's supported now 2025-08-10 18:49:36 +02:00
Arisotura cf3d9493fa begin reworking mic stuff. still WIP.
also, rework mic code to be more accurate to hardware
2025-08-10 18:48:18 +02:00
Arisotura 148efbfc01 reorganize EmuInstanceAudio.cpp 2025-08-08 22:59:01 +02:00
Arisotura 852638a672 some more base work 2025-08-08 22:47:43 +02:00
Arisotura 3db0cca514 similarly, lay base for microphone control hub 2025-08-08 00:56:33 +02:00
Arisotura ecd5ab6747 lay base for new mic interface 2025-08-08 00:28:29 +02:00
Arisotura 184b619eae add support for POWCNT2 bit0 while we're at it (disables NITRO mixer output) 2025-08-07 21:43:10 +02:00
Arisotura 786e717090 add I2S enable and mute bits 2025-08-07 21:00:52 +02:00
Arisotura 911fa9db59 actually hook up DSP HLE setting 2025-08-06 23:47:39 +02:00
Arisotura fd2517f851 add DSP HLE setting in UI (not hooked up yet) 2025-08-06 22:45:47 +02:00
Arisotura 1d8a2077a2 fix Teakra slice size so the DSP doesn't miss half the samples 2025-08-06 21:21:12 +02:00
Arisotura 8e7c553743 add basic audio output support to Teakra 2025-08-06 19:56:22 +02:00
Arisotura 9c9cc8248e add support for I2S frequency toggle 2025-08-06 14:20:48 +02:00
Arisotura 74f044a022 add audio halve bit
add DSP exit command
2025-08-06 13:23:07 +02:00
Arisotura 64798c6f73 lay base for having the DSP play audio. only works with HLE, and is ugly. 2025-08-06 12:53:28 +02:00
Arisotura 38c45141d4 run output at 47KHz, include basic resampler in SPU
(groundwork for I2S shit)
2025-08-06 00:56:49 +02:00
Arisotura 5c8f33c75d make the sound real loud
(#2298)
2025-08-04 02:38:46 +02:00
Arisotura 61475e3e88 update copyright headers 2025-08-03 03:16:07 +02:00
CasualPokePlayer 6746b6757a
Partial implementation of the I2S (#2186)
* Partial implementation of the I2S

Only covers the DSi mic (with ARM7 interface)
NDMA mode 0x0C is not implemented
SPU / DSP sampling should be done here, but this is not implemented (would need some discussion since it deeply affects how the frontend handles audio, also especially since the sample rate can change here)
Some things are a complete guess (only some things have been hardware tested)

* le plus important (#2375)

blarg

* Update for newer event interface

* Fix the event fix

---------

Co-authored-by: KostaSaizo7 <39852873+KostaSaizo7@users.noreply.github.com>
Co-authored-by: Arisotura <thetotalworm@gmail.com>
2025-08-03 00:51:04 +02:00
Arisotura 5f52ad655b actually implement the G711 codec 2025-08-01 01:21:16 +02:00
Arisotura 8553cea800 ugh did it really not add the files 2025-07-31 22:45:26 +02:00
Arisotura 2d52ae9f3d lay base for G711 ucode
fix bug in DSP HLE pipe implementation
2025-07-31 22:43:54 +02:00
Arisotura 2923cfdf1b minor fix 2025-07-31 10:42:34 +02:00
Arisotura ef80177707 change the way the AAC decoder is created/configured (blarg) 2025-07-31 03:36:01 +02:00
Arisotura 66a91baea3 also fix timings for chan=1 2025-07-31 03:11:04 +02:00
Arisotura 296a2f7772 actually fix it 2025-07-31 03:07:37 +02:00
Arisotura 537d5c39e8 fix output code for chan=1 2025-07-31 02:53:21 +02:00
Arisotura 4166d6848e add Platform interface for AAC, and make the code nicer 2025-07-31 01:16:55 +02:00
Arisotura b709c89ba0 actually make an attempt at decoding AAC
this code stinks
2025-07-30 03:01:51 +02:00