Changes

Contiki

1,947 bytes added, 18:53, 8 May 2023
/* Other Operating Systems for the CPC */
Text copied from the official Contiki website.
 
== What is Contiki? ==
 
(Text copied from the official Contiki website.)
[[Image:contikic64.jpg|right|thumb|250px|Contiki running on the Commodore 64]]
[[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 first successful port was done by [[Kevin Thacker]].  This was accomplished by modifying :# Modifying the linker so that it could generate binary files with relocation data# Modifying the optimiser rules to reduce the program size.# Modifying the source so it produced smaller and better code for the [[SDCC]] compilerto 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. The desktop routines in the Amstrad port relies on the slow [[firmware]] routines because it was quicker to make the port this way.  The Amstrad port runs in 64k. It doesn't make use of any extra RAM, so this compiler choice was able taken so that a quick port could be done to produce CPC proove it was possible. A key feature of Contiki is its ability to access networks. Two reasons prevented this in the Amstrad port:# The compiled binariesfor 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 time# The networking hardware was not at a sufficiently developed stage.
The nature of Contiki(written almost entirely original plan was to implement [[CPC Booster]] support in C) and the poor Z80 optimisation by the SDCC compiler makes Contiki slow compared .The CPC would be connected to other operating systemsthe PC via a serial cable. Also On the desktop routines relies on PC would be Linux running Slip or PPP.The PC would be connected to the slow [[firmware]] routinesinternet through a Broadband connection, with port 8080 opened for incomming connections.
A key feature of Contac is its ability access networksThe linux machine would effectively become a gateway and would pass information to/from the CPC through the serial connection.
As there currently exist no networking hardware for However, because the CPCContiki programs could not all fit into ram, this feature is missing in the CPC portplan was shelved.
Contiki can run The Amstrad version is based on a unexpanded CPC 464Contiki v1.0.
== Other Operating Systems for the CPC = Later updates ===
[[Symbos]]In 2014, and later in 2023, PulkoMandy updated the port to use a newer version of SDCC. The code generation has improved a lot, and some issues with the drawing code were solved to make it a lot less slow, and almost usable.
[[FutureOS]]To free more RAM, the kernel code was moved to an expansion ROM, leaving a lot more RAM for applications to be loaded. This should allow resuming the effort on porting the network applications. But there is still no driver for any CPC hardware to use with it for now.
[[CP/M]]This version is based on the latest version of Contiki 1.2, with several updates that never made it into an official release of Contiki. The version 1 of Contiki is no longer developped, and version 2 has no desktop and windowing system.
== Weblinks ==
* [http://www.sics.se/~adam/contiki/about-contiki.html Official site of Contiki]* [https://pulkomandy.tk/_/_/_Keeping%20Contiki%201.x%20alive New version 1.3 and 1.4]* [http://www.cpctech.org.uk/download/contiki12.zip Contiki source code for Kevin Thacker's CPC version]
[http[Category://andercheran.upv.es/~amstrad/download/contiki12.zip Contiki source code for CPC versionGUI]][[Category:Operating System]]
1,145
edits