Awhile back I was working on CNC controller using a P1 chip, programming in C/C++. I was hitting the memory limit of 32K when compiling, so I ported the code to work on an Arduino (which can use various microprocessors that have more available memory), and it only took ~17k of memory when compiled on that platform. The port process was minimal, basically just replacing the Prop-specific function calls to mainstream C calls. I ended up running it on an Arduino Nano, which has about the same amount of memory as P1, and having lots of room in memory left over for further modifications/improvements.
The Arduino does have hardware serial (P1 has to use memory for the actual serial algorithms), but both devices use memory as the serial buffer, so it seems hard to believe that that could be the issue.
Does anyone know why the "equivalent" C code takes so much more memory space on a P1 vs Arduino (AVR ATmega family)?