just ran that code runs fine your computation is f*cked. good luck. ---- Best Regards, Dmitry Grinberg (847) 226 9295
On Sun, Aug 16, 2009 at 5:17 PM, Harry<[email protected]> wrote: > I finally started armlet-pogramming ;-) and run into what probably is a > beginners problem. The following small armlet randomly produces a Fat/Ex when > called with PceNativeCall: > > /*** ARMLET CODE ************************************/ > #include <PalmOS.h> > #include <PceNativeCall.h> > #include <ByteOrderUtils.h> > > // parameters for the armlet > typedef struct { > UInt8* buff; > UInt32 buffSize; > UInt8 a; > UInt8 b; > } myParmType; > > UInt32 ARMlet_Main( const void *emulStateP, myParmType*, Call68KFuncType* ); > > UInt32 ARMlet_Main( const void *emulStateP, myParmType *parm, Call68KFuncType > *call68KFuncP ) { > UInt8 *p, *pEnd, a, b; > > p = (UInt8*) Read68KUnaligned32( &(parm->buff) ); > pEnd = p + Read68KUnaligned32( &(parm->buffSize) ); > a = parm->a; > b = parm->b; > > <do some computation on the buffer> > } > > return 0; > } > > ****************************************************** > > I am pretty sure the computation on the buffer data is ok because I use the > identical code in 68K on the simulator without any problem. > > Anlignment of the parameter 'parm' doesn't matter: the docs say the parameter > for the armlet needn't be aligned. I also checked that putting 'parm' on a > 1,2 or 3 byte boundary does not cause a crash. > > Thanks in advance > Harry > > -- > For information on using the ACCESS Developer Forums, or to unsubscribe, > please see http://www.access-company.com/developers/forums/ > -- For information on using the ACCESS Developer Forums, or to unsubscribe, please see http://www.access-company.com/developers/forums/
