CW9.3 thumb
I have :
Err myFunction(....) { ...... }
unsigned long ARMlet_main(.....) { return myFunction; }
I expect the problem is that you're passing a pointer to Thumb code. The sound callbacks expect to be calling ARM code, not Thumb code, so they will jump into MyFunction in the wrong processor mode. It might also be an issue where the function pointer for a Thumb function has the low bit set, which could confuse the sound callback mechanism.
Try returning a struct that holds both your myFunction address and the address of __ARMlet_Startup__, then output those along with the difference between the two, and compare that to the xMAP file for the PNO to make sure it's giving the correct location.
-- Ben Combee, DTS technical lead, PalmSource, Inc. Read "Combee on Palm OS" at http://palmos.combee.net/
-- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
