0
0

All the irx’s are loaded and are the same versions as the libs.
sceSifInitRpc(0);
sceSifInitIopHeap();
Are called…

In release
FMOD_Memory_Initialize returns – FMOD_ERR_ALREADYLOCKED

In debug
FMOD_Memory_Initialize returns – FMOD_ERR_INITIALIZED

Any ideas would be appreciated.

Thanks. :)

  • You must to post comments
0
0

I compiled with the following assertion implemented and everything worked fine,

u32 uFmodHeaderVer = FMOD_VERSION;
TSE_ASSERT(uFmodHeaderVer == 0x00040301);

Unless the IRX or the LIB are out of sync…

Only problem is I can’t test the LIB version in runtime without a memory pool to create the FMOD_System… :)

BTW: This is all in C.

I’ll keep working at it… But it has me completetly stumped!!!

  • You must to post comments
0
0

Got me stumped:

I am only calling the following code on a PS2 test kit:

sceSifInitRpc(0);
sceSifInitIopHeap();

if defined(TSE_TARGET_PS2)

#if SHREK_CD_BUILD_ENABLED
TSEIrx_Initialise(TSEDISCMEDIUM_CD, “modules”, 0);
#else //SHREK_CD_BUILD_ENABLED
TSEIrx_Initialise(TSEDISCMEDIUM_HOST, “modules”, 0);
#endif //SHREK_CD_BUILD_ENABLED

endif

while (sceSifLoadModule(“host0:./modules/libsd.irx”, 0, 0) < 0) {}
while (sceSifLoadModule(“host0:./modules/fmodex.irx”, 0, 0) < 0) {}

eResult = FMOD_Memory_Initialize((void)malloc(410241024), 41024*1024, 0, 0, 0);
TSE_ASSERT(eResult == FMOD_OK);

It still fails in the same way… I am wondering if it has anything to do with the library, but I double checked all of the IRX and .A directories and files. I have tried it with both fmodex.a and fmodex_reduced.a…

One question I have is,
What relevance might this issue have with the notes in fmodps2.h?

Thanks,

  • You must to post comments
0
0

The following code is even further reduced:

FMOD_RESULT eResult;

define _MOD_ROOT “host0:./modules/”

define _MOD_SIO2MAN “sio2man.irx”

define _MOD_PADMAN “padman.irx”

define _MOD_LIBSD “libsd.irx”

sceSifInitRpc (0);
sceSifInitIopHeap();

while (sceSifLoadModule (_MOD_ROOT _MOD_SIO2MAN, 0, NULL) < 0) {}
while (sceSifLoadModule (_MOD_ROOT _MOD_PADMAN, 0, NULL) < 0) {}
while (sceSifLoadModule (_MOD_ROOT _MOD_LIBSD, 0, NULL) < 0) {}
while (sceSifLoadModule(“host0:./modules/fmodex.irx”, 0, NULL) < 0) {}

printf (“loading modules … done.\n”);

scePadInit (0);
scePadPortOpen (0, 0, pad_dma_buf);

eResult = FMOD_Memory_Initialize((void)malloc(110241024), 11024*1024, 0, 0, 0);
TSE_ASSERT(eResult == FMOD_OK);

It still does not work. Regarding the comment above that “it was fine” was regarding the actual header version not the FMOD_Memory_Initialise.

I will try the samples now.

How do I check the Lib version in runtime without initialising memory?

Thanks.

  • You must to post comments
0
0

Just wanted to add that we are in fact not using GCC but the Metrowerks Codewarrior compiler, so it may take a bit of fiddling around to get the examples to work…

  • You must to post comments
0
0

8)

Attempting to create FMOD using:
FMOD_System_Create(&s_pFModSystem);

Causes a halt in the following assembly code:
0048EB20: 50400001 beql v0,$0,alloc__Q24FMOD7MemPooliPCci (0x48eb28); 0x0048eb28

STACK:
ENTRYPOINT
main
TSEApplication_OnEnter
GameSound_Test
FMOD_System_Create
calloc__Q24FMOD7MemPooliPCci
alloc__Q24FMOD7MemPooliPCci

Any ideas?

  • You must to post comments
Showing 5 results
Your Answer

Please first to submit.