[ Introduction | Facts | Architecture | Details ]


GEOS on the C64
GEOS for the C64

CEUS-Desktop 2.0
CEUS-Desktop 2.0 (CPC)





More Screenshots!
    Already in the 80's, only few years after the release of the Commodore C64, the legendary GEOS by Berkeley Softworks appeared and set the standard for a windows-based operating system on C64. It included a graphical user-interface (GUI) which was similar to the old desktop of the Apple Macintosh. Powerfull applications were available for GEOS like GeoWrite (similar to MS-Word), GeoPublish, GeoPaint or GeoCalc (similar to MS-Excel). Though most elements were very static and restricted compared to common standards it was incredible, that an 8bit-machine with only 64K was able to run such a graphical user interface!

On Amstrad CPC many tries for GUIs existed, too. In most cases they were just extensions to realize elements like mouse-pointers, windows or pull-down-menus. But they weren't true new operating systems with own kernel, memory-management and so on. My own CEUS Desktop 2.0 (1990) was such an extension-system. So the CPCs own OS (in combination with AmsDOS) and CP/M were the only two known OS for the CPC. In 1995 two german guys released Stream2, which should became a true new OS. It had quite a good GUI, an interesting driver-structure and an alternative disc format. But it didn't have an own kernel and so it also seems to be just an other extension of the old OS. The biggest disadvantage was, that it wasn't free and so no one used it. Another promising attempt back in the 90ies was DES ("Desktop Environment System") from the UK, which even brought a word processor called DesText. It was unsuccessful as well, so the result was, that the CPC never had a system like the C64-GEOS.

At the end of 2000 I watched some GEOS-pages and asked myself, why not making such a system on CPC, too. 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. So the idea of the SymbOS-Project was born. SymbOS stands for "SYmbiosis Multitasking Based Operating System". SymbOS should become a demonstration, what could be possible on the CPC since its beginning in the early 80ies. I want to give everything to SymbOS what a modern OS needs. Real preemptive Multitasking, a dynamic memory-management for up to 1024K and a totaly MS-Windows-like GUI are the three most important things.

I started to develop SymbOS in November 2000. In Januar 2001 I stopped it. But after the great "Klassentreffen"-party (June 2001) in Erlangen/Germany I continued the development of SymbOS with much new motivation. After finishing most parts of the desktop-routines I stopped, as I wasn't sure, if the memory system of the CPC really can handle such an operating system. Also it crashed sometimes without any reasons. In September 2004 I liked to continue. So I decided to work again on it. I found out, that the memory system will be manageable, and the reason for the crashes was a bug in an old emulator version, which is fixed now.

Already during 2005 Trebmint, the Author of SymStudio, convinced me to think about porting SymbOS to other Z80 based 8bit platforms. The best candidate was the MSX2. So after releasing SymbOS CPC 1.0 in May 2006 I started to work on the MSX port and was surprised about this powerful hardware and about the fact, that it can be quite easy to develop software, which runs on both machines. Later at the end of July 2007 I started the Amstrad PCW port, which has been realized much faster because of the more simple hardware and the fact, that a lot of preparation work for porting has already be done for the MSX. After a break of several years I returned to SymbOS development and end of 2014 the port for the Enterprise 64/128 machines has been finished, which means, that SymbOS is now running in four different 8bit computer platforms!

Todays operating systems do not only provide preemptive multitasking, a descent GUI and access to gigantic mass storage devices. But they also have one very important feature: The capability for full network and internet access. In 2007 Dr.Zed already developed a first version of a so-called "network daemon" for SymbOS, but it has been stopped after a while. So finally in 2015 I started a new concept for a network daemon, which was hardware independant due to its two-level driver based model. Until 2016 it was supporting two different ethernet catridges for the MSX and even one Wifi-hardware for the Amstrad CPC - beside the "local host" driver, which is providing an internal network for every machine. SymbOS is now fully network enabled and thanks to its multitasking environment multiple applications can open multiple connections at the same time.

SymbOS could even be ported to more Z80-based machines like the Amstrad NC100/200, the Amstrad PcW16, the ZX Spectrum +3 and some exotic but very cool East European machines.

To be careful with my brave old CPC-6128 and my MSX, PCW and EP machines and to work as fast as possible, in most cases I am not using my real computers. I use UltraEdit, WinApe, BlueMSX, Joyce and EP128Emu. WinApe by Richard Wilson is not only used as an emulator, but also for assembling and debugging most of the complete SymbOS core parts and apps for all supported platforms.

Facts about SymbOS



The following diagram shows the internal system-architecture of SymbOS. As you can see, SymbOS consists of three different software layers. Only the low-level-layer is communicating with the Z80 based computer platform and any hardware expansions directly. To keep the core part of SymbOS as small as possible, system expansions and additional services called "daemons" are located outside the core part and will be loaded on demand. That makes it possible to boot SymbOS still on unexpanded 128K systems.

SymbOS System-Architecture


In the following section you will find all main parts of SymbOS paired with the sub modules. Please click on one of the module name to receive more information about the regarding topic.