mirror of
https://github.com/Maschell/dynamic_libs.git
synced 2024-11-22 12:29:16 +01:00
added support for firmware 3.x.x
This commit is contained in:
parent
d7afc99b56
commit
9291226f5a
@ -21,12 +21,12 @@
|
|||||||
* 3. This notice may not be removed or altered from any source
|
* 3. This notice may not be removed or altered from any source
|
||||||
* distribution.
|
* distribution.
|
||||||
***************************************************************************/
|
***************************************************************************/
|
||||||
|
#include "common/common.h"
|
||||||
#include "os_functions.h"
|
#include "os_functions.h"
|
||||||
#include "ax_functions.h"
|
#include "ax_functions.h"
|
||||||
|
|
||||||
unsigned int sound_handle __attribute__((section(".data"))) = 0;
|
|
||||||
|
|
||||||
EXPORT_DECL(void, AXInitWithParams, u32 * params);
|
EXPORT_DECL(void, AXInitWithParams, u32 * params);
|
||||||
|
EXPORT_DECL(void, AXInit, void);
|
||||||
EXPORT_DECL(void, AXQuit, void);
|
EXPORT_DECL(void, AXQuit, void);
|
||||||
EXPORT_DECL(u32, AXGetInputSamplesPerSec, void);
|
EXPORT_DECL(u32, AXGetInputSamplesPerSec, void);
|
||||||
EXPORT_DECL(u32, AXGetInputSamplesPerFrame, void);
|
EXPORT_DECL(u32, AXGetInputSamplesPerFrame, void);
|
||||||
@ -47,20 +47,29 @@ EXPORT_DECL(u32, AXGetVoiceLoopCount, void *v);
|
|||||||
EXPORT_DECL(void, AXSetVoiceEndOffset, void *v, u32 offset);
|
EXPORT_DECL(void, AXSetVoiceEndOffset, void *v, u32 offset);
|
||||||
EXPORT_DECL(void, AXSetVoiceLoopOffset, void *v, u32 offset);
|
EXPORT_DECL(void, AXSetVoiceLoopOffset, void *v, u32 offset);
|
||||||
|
|
||||||
void InitAcquireAX(void)
|
|
||||||
{
|
|
||||||
OSDynLoad_Acquire("sndcore2.rpl", &sound_handle);
|
|
||||||
}
|
|
||||||
|
|
||||||
void InitAXFunctionPointers(void)
|
void InitAXFunctionPointers(void)
|
||||||
{
|
{
|
||||||
InitAcquireAX();
|
unsigned int sound_handle = 0;
|
||||||
unsigned int *funcPointer = 0;
|
unsigned int *funcPointer = 0;
|
||||||
OSDynLoad_Acquire("sndcore2.rpl", &sound_handle);
|
|
||||||
|
|
||||||
OS_FIND_EXPORT(sound_handle, AXInitWithParams);
|
if(OS_FIRMWARE >= 400)
|
||||||
|
{
|
||||||
|
AXInit = 0;
|
||||||
|
|
||||||
|
OSDynLoad_Acquire("sndcore2.rpl", &sound_handle);
|
||||||
|
OS_FIND_EXPORT(sound_handle, AXInitWithParams);
|
||||||
|
OS_FIND_EXPORT(sound_handle, AXGetInputSamplesPerSec);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
AXInitWithParams = 0;
|
||||||
|
AXGetInputSamplesPerSec = 0;
|
||||||
|
|
||||||
|
OSDynLoad_Acquire("snd_core.rpl", &sound_handle);
|
||||||
|
OS_FIND_EXPORT(sound_handle, AXInit);
|
||||||
|
}
|
||||||
|
|
||||||
OS_FIND_EXPORT(sound_handle, AXQuit);
|
OS_FIND_EXPORT(sound_handle, AXQuit);
|
||||||
OS_FIND_EXPORT(sound_handle, AXGetInputSamplesPerSec);
|
|
||||||
OS_FIND_EXPORT(sound_handle, AXVoiceBegin);
|
OS_FIND_EXPORT(sound_handle, AXVoiceBegin);
|
||||||
OS_FIND_EXPORT(sound_handle, AXVoiceEnd);
|
OS_FIND_EXPORT(sound_handle, AXVoiceEnd);
|
||||||
OS_FIND_EXPORT(sound_handle, AXSetVoiceType);
|
OS_FIND_EXPORT(sound_handle, AXSetVoiceType);
|
||||||
@ -84,18 +93,18 @@ void ProperlyEndTransitionAudio(void)
|
|||||||
bool (* check_os_audio_transition_flag_old)(void);
|
bool (* check_os_audio_transition_flag_old)(void);
|
||||||
void (* AXInit_old)(void);
|
void (* AXInit_old)(void);
|
||||||
void (* AXQuit_old)(void);
|
void (* AXQuit_old)(void);
|
||||||
|
|
||||||
unsigned int *funcPointer = 0;
|
unsigned int *funcPointer = 0;
|
||||||
unsigned int sound_handle;
|
unsigned int sound_handle;
|
||||||
OSDynLoad_Acquire("snd_core.rpl", &sound_handle);
|
OSDynLoad_Acquire("snd_core.rpl", &sound_handle);
|
||||||
|
|
||||||
OS_FIND_EXPORT_EX(sound_handle, check_os_audio_transition_flag, check_os_audio_transition_flag_old);
|
OS_FIND_EXPORT_EX(sound_handle, check_os_audio_transition_flag, check_os_audio_transition_flag_old);
|
||||||
OS_FIND_EXPORT_EX(sound_handle, AXInit, AXInit_old);
|
OS_FIND_EXPORT_EX(sound_handle, AXInit, AXInit_old);
|
||||||
OS_FIND_EXPORT_EX(sound_handle, AXQuit, AXQuit_old);
|
OS_FIND_EXPORT_EX(sound_handle, AXQuit, AXQuit_old);
|
||||||
|
|
||||||
if (check_os_audio_transition_flag_old())
|
if (check_os_audio_transition_flag_old())
|
||||||
{
|
{
|
||||||
AXInit_old();
|
AXInit_old();
|
||||||
AXQuit_old();
|
AXQuit_old();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -30,13 +30,11 @@ extern "C" {
|
|||||||
|
|
||||||
#include <gctypes.h>
|
#include <gctypes.h>
|
||||||
|
|
||||||
extern unsigned int sound_handle;
|
|
||||||
|
|
||||||
void InitAXFunctionPointers(void);
|
void InitAXFunctionPointers(void);
|
||||||
void InitAcquireAX(void);
|
|
||||||
void ProperlyEndTransitionAudio(void);
|
void ProperlyEndTransitionAudio(void);
|
||||||
|
|
||||||
extern void (* AXInitWithParams)(u32 * params);
|
extern void (* AXInitWithParams)(u32 * params);
|
||||||
|
extern void (* AXInit)(void);
|
||||||
extern void (* AXQuit)(void);
|
extern void (* AXQuit)(void);
|
||||||
extern u32 (* AXGetInputSamplesPerSec)(void);
|
extern u32 (* AXGetInputSamplesPerSec)(void);
|
||||||
extern s32 (* AXVoiceBegin)(void *v);
|
extern s32 (* AXVoiceBegin)(void *v);
|
||||||
|
Loading…
Reference in New Issue
Block a user