[[Image:contikicpc.jpg|right|thumb|250px|Contiki running on the Amstrad CPC]]
Previously there have been attempts to port Contiki to the CPC. The most successful port was done by [[Kevin Thacker]]. This was accomplished by modifying the [[SDCC]] compiler, so this compiler was able to produce CPC binaries.
This was accomplished by:1. Modifying the linker so that it could generate binary files with relocation data2. 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. Also the The desktop routines in the Amstrad port relies on the slow [[firmware]] routinesbecause it was quicker to make the port this way. The Amstrad port runs in 64k. It doesn't make use of any extra RAM, this choice was taken so that a quick port could be done to proove it was possible.
A key feature of Contiki is its ability to access networks.
As there currently exist no Two reasons prevented this in the Amstrad port:1. The compiled binaries for the webserver and other network programs were large, meaning that at runtime, both the binaries and contiki OS code could not fit into the 64K ram at the same time2. The networking hardware (except the was not at a sufficiently developed stage. The original plan was to implement CPC-Booster+) support in Contiki.The CPC would be connected to the PC via a serial cable.On the PC would be Linux running Slip or PPP.The PC would be connected to the internet through a Broadband connection, with port 8080 opened for incomming connections. The linux machine would effectively become a gateway and would pass information to/from the CPCthrough the serial connection. However, because the Contiki programs could not all fit into ram, this feature plan was shelved. The Amstrad version is missing in based on Contiki v1.0. == Future == The PC8801 port of Contiki is setup for Network and this is a z80 based computer. SDCC has evolved, and at last it may be possible to port the latest contiki to the CPC portand we can have a webserver running on the CPC. But at this time no work has been done on it.
Contiki can run on a unexpanded CPC 464== Links ==http://contiki.sourceforge.net/
== Other Operating Systems for the CPC ==