Now I have a different problem.
Sega's documentation has stuff like this:
PCM_PARA_WORK(¶) = &pcm_work;
PCM_PARA_RING_ADDR(¶) = ring_buf;
PCM_PARA_RING_SIZE(¶) = RING_BUF_SIZE;
PCM_PARA_PCM_ADDR(¶) = PCM_ADDR;
PCM_PARA_PCM_SIZE(¶) = PCM_SIZE;
pcm = PCM_CreateStmHandle(¶, stm);
The issue is, PCM_PARA_WORK references a member of the PCM_PARA struct (¶) called "work".
.. No such member exists.
This is a basic fact of SBL PCM playback and I am not sure of a way around it.
There's also a plethora of other issues, such as the SBL STM documentation stating some functions have have void inputs, but in fact don't. (Stream functions aren't entirely necessary, they just decided to make a usage example with the stream functions..)
I guess this is going to take longer than "a few days" to get working.
And to get any of this to compile, it's best you just include the entire SBL library in jo engine makefile.
It's really not clear how to use SBL PCM. Not clear at all!
/e: So, they did not specify what type "para" in the example. It turns out it is the type "PcmCreatePara", not "PcmPara".
I better do a little more research before I post this stuff on the forums eh?