Contiki
Text copied from the official Contiki website.
Contents
What is Contiki?
The Contiki operating system is a highly portable, minimalistic operating system for a variety of constrained systems ranging from modern 8-bit microcontrollers for embedded systems to old 8-bit homecomputers. Contiki provides a simple event driven kernel with optional preemptive multithreading, interprocess communication using message passing signals, a dynamic process structure and support for loading and unloading programs, native TCP/IP support using the uIP TCP/IP stack, and a graphical subsystem with either direct graphic support for directly connected terminals or networked virtual display with VNC or Telnet.
Contiki was designed with very low hardware requirements. And can run on a unexpanded Commodore 64. The portability is ensured by the core being written entirely in ANSI C.
Efforts in porting Contiki to 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.
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 desktop routines relies on the slow firmware routines.
A key feature of Contiki is its ability to access networks.
As there currently exist no networking hardware for the CPC, this feature is missing in the CPC port.
Contiki can run on a unexpanded CPC 464.