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/

Reply via email to