Already in the 80's, only few years after the release of the Commodore C64, the legendary [http://en.wikipedia.org/wiki/GEOS_%288-bit_operating_system%29 GEOS] by Berkeley Softworks appeared and set the standard for a windows-based operating system on c64. It was a graphical user-interface (GUI) which was similar to the old desktop of the Apple Macintosh. Powerfull applications were made available for GEOS like GeoWrite (similar to MS-Word) or GeoCalc (similar to MS-Excel). It was incredible, that an 8bit-machine with only 64K was able to realize such an operating system.
On the Amstrad CPC many efforts to build a decent GUI were made as well. In most cases they were just extensions to realize a WIMP (Windows, Icons, Menus and Pointers) environment but weren't true operating systems with their own kernel, memory-management and so on. Examples of The [http://www.prodatron.net/details.htm?7 CEUS Desktop 2.0 (1990)] by Prodatron was just such an extension-systems are, Max, Mos, Geno, Stream2, Ceus-Desktop and otherssystem.
The Therefore, the CPC's own OS (in combination with AmsDOS) and [[CP/M|CP/M]] were the only two known OSes for the series, but the question remained: since most CPCs have 128K (most C64 only have 64K), a screen-resolution of 320x200 with 4 colours (C64 only has 2 colours for each 8x8 area in 320x200) and some more advantages, why not have something similar? So the SymbOS-Project was born. SymbOS stands for "SYmbiosis Multitasking Based Operating System". SymbOS is a demonstration of what has been achieved on the CPC: real preemptive multitasking, dynamic memory-management for up to 1024K and a totaly MS-Windows-like GUI are the three most important features.
<br>
=== Events ===
*''05/2006'': Development of the MSX version started
*''12/2006'': SymbOS release 1.1 is out
*''05/2007'': 1 MB RAM 1MB and rich-text richtext support together with the graphical browser [[SymZilla|SymZilla]] have been implemented
*''07/2007'': Development of the [[PCW|PCW]] version started
*''08/2007'': SymbOS release 2.0 is out
<br>
== Technical background ==
The Even the Z80 8-bit CPU is able to run a pre-emptive multitasking environment. Missing mechanisms like memory protection, which are often called as a condition for multitasking, are system stability issues only. The MP/M operating system already proved, that multitasking on Z80 computers is possible, but it was not executable on home computers.
While the MOS Technology 6502 can not move the stack, the Z80 can freely replace it to any position in the memory, which is more or less a condition for pre-emptive multitasking. The existance of an alternative register set accelerates the content switching between the tasks dramatically. The restriction of Z80 systems to a 64 kB address space can be solved with bank switching. In this way computers like the Amstrad CPC and PCW, MSX, Enterprise or SAM Coupé are able to access hundred or thousand of kilobytes of memory.
<br>
== Feature overview ==
**[[SymPlay|SymPlay]] (video player)
**[[SymSee|SymSee]] (picture viewer)
**[[SymAmp|SymAmp]] (jukebox music player)
*'''Tools'''
**[[SymSnap|SymSnap]] (emulator snapshot loader)
**[[DiskDeDumper|DiskDeDumper]] (image to disc transfer)
**[[Speech|Speech]] (voice synthesizer)
**[[Pocket Calculator|Pocket Calculator]] (calculator)
**[[SYMBiFACE II rom manager|SYMBiFACE II rom manager]] (rom management for the [[SYMBiFACE II|SYMBiFACE II]]) **[[CPC TREX starter|CPC TREX starter]] (rom and disc image configuration for the [[CPC TREX|CPC TREX]])
*'''Games'''
**[[Pac-Man for SymbOS|Pac-Man for SymbOS]] (game)
**[[MineSweeper|MineSweeper]] (game)
*'''Demos and Screensavers'''
**[[Diamonds|Diamonds]] (demo)
**[[Starfield Simulation|Starfield Simulation]] (screensavers)
*'''System programs'''
**[[Control Panel|Control Panel]] (system configuration)
**[[SymShell|SymShell]] (command line interface)
<br>
=== SymStudio ===
[[SymStudio|SymStudio]] is a Windows-based IDE (integrated development environment) by [[Trebmint|Trebmint]] for SymbOS similiar to MS Visual Studio. SymStudio makes it possible to develop SymbOS applications in Assembler or Basic ("SymBasic"). It is also possible to convert PC graphics and videos into the SymbOS format ([[Format:SGX (SymbOS graphic files)|SGX]], [[Format:VID (SymbOS video files)|VID]]). Have a look at [[SymStudio|its article]] for more information. Currently there is only a beta version available.
<br>
== Porting and cross platform ability ==