PCLATH on 16-bits core is handled the same way than on others core, applying PCLATH_MASK on every new value. But this mask _must_ be avoided on 16-bits. I join a patch of my solution. I'm not a C++ programmer (to be honest, I hate C++), so there may be a better or cleaner solution. It's based on the very last SVN trunk.