mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2024-11-14 13:27:45 -07:00
34 lines
912 B
Plaintext
34 lines
912 B
Plaintext
|
DSP startup sequence:
|
||
|
|
||
|
DspBoot called with (JASystem::TAudioThread::syncDSP()) as a parameter.
|
||
|
DSP lib initialized
|
||
|
A Dsp task is created:
|
||
|
init callback = DspHandShake()
|
||
|
req callback = JASystem::TAudioThread::syncDSP()
|
||
|
Task is pushed as first task and executed
|
||
|
|
||
|
DSP send DSP_INIT command (0xDCD10003)
|
||
|
__DSPHandler receive the command
|
||
|
|
||
|
task's init callback (DspHandShake) is called
|
||
|
1 mail is read from dsp (and discarded)
|
||
|
DSP flag is set as running
|
||
|
|
||
|
AIRegisterDMACallback(JASystem::TAudioThread::syncAudio((void))
|
||
|
AIStartDMA() to initialize dma in AI module
|
||
|
|
||
|
-----------------------------------
|
||
|
|
||
|
DSP run sequence:
|
||
|
|
||
|
__DSPHandler receive command DSP_RESUME
|
||
|
callback JASystem::TAudioThread::syncDSP called and pull 1 mail
|
||
|
A message is send by OSSendMessage(1)
|
||
|
|
||
|
JASystem::TAudioThread::audioproc receive OSMessage:
|
||
|
0=update dac
|
||
|
1=update dsp
|
||
|
2=nop ?
|
||
|
3=exit thread
|
||
|
|
||
|
dsp is updated
|