This was accomplished by:
1. Modifying the linker so that it could generate binary files with relocation data 2. Modifying the optimiser rules to reduce the program size. 3. Modifying the source so it produced smaller and better code for the [[SDCC]] compiler to work with.
The nature of Contiki (written almost entirely in C) and the poor Z80 optimisation by the SDCC compiler makes Contiki slow compared to other operating systems.