Hello
You need to tell the compiler it needs to save the GPAGE in the interrupt function entry code and restore it at in the exit code.
In order to make sure the GPAGE is preserved over an interrupt you can:
1- Use pragma TRAP_PROC SAVE_ALL_REGS
Drawback here is the compiler will save all page registers (PPAGE, GPAGE, RPAGE, EPAGE).
This might be too much overhead for the interrupt function
2- Build with option -CpGPAGE=0x10
An interrupt routine saves, by default, those page registers given by the line options "-Cp".
I hope this helps
CrasyCat