diff --git a/ax_functions.c b/ax_functions.c index fc1c571..383d608 100644 --- a/ax_functions.c +++ b/ax_functions.c @@ -25,6 +25,8 @@ #include "os_functions.h" #include "ax_functions.h" +unsigned int sound_handle __attribute__((section(".data"))) = 0; + EXPORT_DECL(void, AXInitWithParams, u32 * params); EXPORT_DECL(void, AXInit, void); EXPORT_DECL(void, AXQuit, void); @@ -47,9 +49,8 @@ EXPORT_DECL(u32, AXGetVoiceLoopCount, void *v); EXPORT_DECL(void, AXSetVoiceEndOffset, void *v, u32 offset); EXPORT_DECL(void, AXSetVoiceLoopOffset, void *v, u32 offset); -void InitAXFunctionPointers(void) +void InitAcquireAX(void) { - unsigned int sound_handle = 0; unsigned int *funcPointer = 0; if(OS_FIRMWARE >= 400) @@ -68,7 +69,14 @@ void InitAXFunctionPointers(void) OSDynLoad_Acquire("snd_core.rpl", &sound_handle); OS_FIND_EXPORT(sound_handle, AXInit); } +} +void InitAXFunctionPointers(void) +{ + unsigned int *funcPointer = 0; + + InitAcquireAX(); + OS_FIND_EXPORT(sound_handle, AXQuit); OS_FIND_EXPORT(sound_handle, AXVoiceBegin); OS_FIND_EXPORT(sound_handle, AXVoiceEnd); diff --git a/ax_functions.h b/ax_functions.h index b7df998..086346f 100644 --- a/ax_functions.h +++ b/ax_functions.h @@ -30,7 +30,10 @@ extern "C" { #include +extern unsigned int sound_handle; + void InitAXFunctionPointers(void); +void InitAcquireAX(void); void ProperlyEndTransitionAudio(void); extern void (* AXInitWithParams)(u32 * params);