[ 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.

Can an old dream come true?

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 (the C64 can't have more than 64K for direct CPU usage), 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 aims to prove what is possible with the CPC since the 80s. I want to give everything to SymbOS what a modern OS needs. Real preemptive Multitasking, a dynamic memory-management for up to 1024K, a totaly MS-Windows-like GUI and a powerful 32bit file system which supports many Gigabytes of data are the four 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.

Indeed, it just works! Even on a lot of platforms

Already during 2005 Trebmint, a legendary CPC game developer and 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. The Amstrad NC100/200 port followed later in mid-2023, and the SymbOS virtual machine and ZX Spectum Next ports are currently in development. It means, that SymbOS is running or will run on seven different platforms!

Trebmint continued developing SymStudio, later renamed into Unify, today rewritten and renamed into Quigs, a very comfortable IDE for developing SymbOS applications with an ultrafast compiler. Thanks to this EdoZ joined the SymbOS crew end of 2012 and started to develop countless amounts of applications and games for SymbOS.

From a crazy idea to an unlimited system

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-layer 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.

Where do you want to go tomorrow?

SymbOS could even be ported to more Z80-based machines, and maybe we will see more supported platforms in the future.

To be careful with my brave old CPC-6128 and my MSX, PCW, EP, NC200 and ZX Next machines and to work as fast as possible, in most cases I am not using my real computers. I use UltraEdit, WinApe, BlueMSX / OpenMSX, Joyce, EP128Emu and ZEsarUX.
WinApe by Richard Wilson is used as the main development environment. It is not only used as still the best emulator I know, 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.