As a fast solution for this, just changing the order of things in port.c timer 1 interuption can solve the problem:
Change from this:
interrupt VectorNumber_Vtpm1ch0 vTimerISR( void )
{
asm( MOVEM.L (A7),D0-D2/A0-A1); // dummy restore
asm( LEA 20(A7),A7 );
asm( UNLK A6);
TPM1C0V += cThisTimerInc;
TPM1C0SC &= (~0x80); /* Reset interrupt request flag */
...
To this:
interrupt VectorNumber_Vtpm1ch0 vTimerISR( void )
{
TPM1C0V += cThisTimerInc;
TPM1C0SC &= (~0x80); /* Reset interrupt request flag */
asm( MOVEM.L (A7),D0-D2/A0-A1); // dummy restore
asm( LEA 20(A7),A7 );
asm( UNLK A6);
...
}
That will do it.
Don't forget to take a look at your memcpy (in queue.c) if you are going to use Codewarrior 6.2 and be careful with those hardware.c functions.
Eduardo