Jump to: navigation, search


1,332 bytes added, 19:22, 1 December 2019
Small spelling/grammar fixes.
[[Image:Symboscpcsymbos21cpc.gif|thumb|320px|Screenshot of the SymbOS desktop running on the Amstrad CPC]] [[Image:Symbos-msx2symbos21msx.gif|thumb|320px|SymbOS MSX running on a MSX2 computer; all applications are platform independant]] [[Image:Symbos-pcwsymbos21pcw.gif|thumb|320px|SymbOS PCW is the third port to a different Z80 system and supports a screen resolution of 720x255]]
''Parts of this article have been copied from the [ english Wikipedia article].''
'''SymbOS''' is a free multitasking operating system for Z80 based 8-bit computer systems written by [[Prodatron|Prodatron]]. At present it is available for the computers of the Amstrad CPC as well as for all [[MSX ]] models starting from the MSX2 standard and , all Amstrad [[PCW|PCW]] (Joyce) models until the PcW10and the [[Enterprise]] 64/128. Contrary to early 8-bit operating systems it is based on a microkernel, which provides pre-emptive and priority oriented multitasking and manages RAM memory with a size of up to 1024 kBfor the executed applications. SymbOS contains a an MS-Windows like GUI, supports hard discs with a capacity of up to 128 GB 2 TB and can already be booted on an unexpanded Amstrad CPC-6128, [[a PCW|PCW]] , an MSX2 or a 128K-MSX2an Enterprise 128 with floppy disc drive.
== History ==
Already in the 80's, only few years after the release of the [[Commodore C6464]], the legendary [ 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. The [[CEUS Desktop 2.0|CEUS Desktop 2.0 (1990)]] by Prodatron was just such an extension-system.
*''07/2007'': Development of the [[PCW|PCW]] version started
*''08/2007'': SymbOS release 2.0 is out
*''11/2012'': development continues
*''08/2014'': SymbOS release 2.1 is out
*''11/2014'': Development of the [[Enterprise|Enterprise]] version started
*''03/2015'': Development of network support started
*''08/2017'': SymbOS release 3.0 is out
== Technical background ==
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.
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 existence of an alternative register set accelerates the content context 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 hundreds or thousand thousands of kilobytes of memory.
**Maximum number of windows: 32
**Maximum number of controls per window: 1000
**Maximum possible screen resolution: 16.000 x × 16.000 pixel
*'''File manager'''
**Maximum hard disc size: 128 GB 2 TB
**Maximum file size: 2 GB
**Maximum number of devices: 8
**Maximum number of open files: 7
*'''Source code'''
**Source code size (OS Release 2): ~ 4449.000 lines (1,3MB.5&nbsp;MB) **Source code size (Applications): ~ 4870.000 lines (2,0MB.2&nbsp;MB) **Total size of the Z80 source code: ~ 92119.000 lines (3.3MB7&nbsp;MB)
*'''Supported platforms'''
**Amstrad [[CPC|CPC]]-464, -664 and -6128 (unexpanded) and compatibles ([[CPC TREX|CPC TREX]], [[C-ONE|C-ONE]])
**MSX2 with 128KB Ram (unexpanded) and compatibles (MSX2+, MSX TurboR, OCM)
**Amstrad [[PCW|PCW]] (all models until PcW10)
**[[Enterprise]] 64/128
*'''Supported external hardware'''
**[[Dk'tronics|dk'tronics]] memory expansion 64K-512K and compatibles ([[Dobbertin|Dobbertin]], [[SYMBiFACE II|SYMBiFACE II]], X-MEM) **[[SYMBiFACE II|SYMBiFACE II]] (realtime clock, runs in binary mode; PS/2 mouse; IDE interface, Ram/Rom expansion) and compatibles (X-MASS) **M4Board (ESP8266-based Wifi, SD card reader, Rom expansion)**HxC direct SD card access (FAT32)**Albireo (USB mouse)**MultiPlay (Amiga mouse)**[[AMX Mouse|AMX]] and [[Kempston Mouse|Kempston mouse ]] (PCW)
**Sunrise IDE interface (MSX)
**MegaSD card interface for OCM, MegaflashRomSCC+SD (MSX)
**DenYoNet (MSX; W5100-based Ethernet)
**GR8NET (MSX; SD card reader, W5100-based Ethernet)
**SE-ONE (MSX; MP3, FM Radio)
**Rookie Drive (MSX)
== Kernel ==
== Graphical user interface ==
The [[Graphical User Interface|GUI ]] of SymbOS works completely object-oriented. Regarding the look and feel it is designed like MS windows. It contains the well-known task bar with the clock and the "start" menu and can open a big amount of windows, which can be shifted, resized and scrolled. As the complete system is written in optimized assembler, the speed of the GUI is only insignificantly under this of current systems and even faster than the original Amiga workbench.
The complete content of a window is defined with "controls". These are e.g. slider, check boxes, text lines, buttons or graphics. The background or not visible areas of a window don't need to be saved in a bit-map buffer. If an area is restored on the display, its content will just be redrawed. Because of this the SymbOS GUI works much more memory-friendlier than most other 8-bit GUIs.
**[[SymSee|SymSee]] (picture viewer)
**[[SymAmp|SymAmp]] (jukebox music player)
**Notepad (text editor)
**[[SymSnap|SymSnap]] (emulator snapshot loader)
**[[Pac-Man for SymbOS|Pac-Man for SymbOS]] (game)
**[[MineSweeper|MineSweeper]] (game)
**[[Conways' Game of Life]] (simulator)
**4-In-A-Row ([[SymStudio]] game written in SymBasic by EdoZ)
**Tetris 2014 ([[SymStudio]] game written in SymBasic by EdoZ)
*'''Demos and Screensavers'''
**[[Diamonds|Diamonds]] (demo)
[[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.
== Porting and cross platform ability ==
SymbOS has been developed originally for the Amstrad CPC. Because of the modular structure with the strict separation of general and hardware components the porting to other Z80-based systems is quite easy.
The MSX computers starting with the MSX2 standard are supported since summer 2006. The Amstrad [[PCW|PCW]] port is available since August 2007. Versions Since end of 2014 the port for the [[Enterprise ]] 64/128 has been done as well. Versions for Amstrad NC100/150/200 and the SAM Coupé PCW16, Spectrum Next and others are possible, too, as they fulfill the requirements for SymbOS.
By keeping a basic condition for an operating system, the strict separation of hardware and application software by the supply of an intermediate layer, SymbOS applications run platform-independently on each computer and do not have to be adapted for a special system. Exceptions are applications, which access directly the hardware.
== Motivation ==
== Web links ==
*[ SymbOS homepage]*[ SymbOS installation configuration manual (PDF)]
*[ SymbOS mailing list (new)]
*[ english Wikipedia article]
*[ SymbOS presentation(Video) at RetroEuskal 2006]
[[Category:SymbOS| ]] [[Category:Operating_System]] [[Category:CPC_GUI]] [[Category:Extended RAM Software]] [[Category:PCW]]