About compatibility with libctru.
Hello, I am very interested in libn3ds, to make a baremetal port of an app.
I am currently using libctru.
Is it possible to use both libraries at the same time?
To some degree yes, however a lot of functionality is missing or a bit different. For normal apps/games i would recommend staying with libctru. If you need to run code close to the metal then libn3ds is an option.
The app in question is rockbox. And originally, rockbox was intended to be used as a "firmware" replacement.
I did a quick review of the features implemented in libn3ds and the ones required by rockbox and I can say the only thing missing to do a preliminary firm port would be some audio pcm functions.
Basically some way to send an audio buffer to the hardware to play it.
There is audio. Not the DSP but good enough for basic PCM playback.
https://github.com/profi200/libn3ds/blob/master/include/arm11/drivers/csnd.h
Oh. Very interesting.
Rockbox implements it's own dsp functions so it should be enough with basic pcm playback.
Could you please post an example of pcm playback?
Mmm, ia there a way to know when I should feed more audio data for pcm streaming?