Hi all, I wanted to consult with you regarding a decision I need to make related to my hobby project (sourceforge.net/.../). I am planning to write a port for the ARM architecture (I will probably be using a MCBSTR9) while maintaining the support for the C167. I tried several approaches but I find them all tasteless! I tried to create a hardware specific layer, which allows most of the sources to remain platform independent. That works for the C167, but the RealView compiler for ARM does not like some expressions like "bit" and "far", that do appear in the application code. In addition, the platform dependant code is not correlated; ISR macros intermix with interrupt related code, and other things. Should I make a functional specific platform dependant files? I don't like the sound of that... I tried to use the pre-processor to distinguish between platforms, but that was a huge mess. There is no way I am going to do that. Or maybe I should offer a sleek implementation per platform? That would be the fastest and smallest code. Any ideas or recommendations?