Changes

SymbOS

10 bytes removed, 23:40, 10 December 2008
Reverted edits by [[Special:Contributions/TFM|TFM]] ([[User talk:TFM|Talk]]) to last version by [[User:Prodatron|Prodatron]]
'''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 PcW10. 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 kB. SymbOS contains a MS-Windows like GUI, supports hard discs with a capacity of up to 128 GB and can already be booted on an unexpanded Amstrad CPC-6128, [[PCW|PCW]] or a 128K-MSX2.
<br>
== History ==
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 [http://www.prodatron.net/details.htm?7 CEUS Desktop 2.0 (1990)] by Prodatron was just such an extension-system.
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 GUI that resembles&nbsp;totaly MS-Windows superficial&nbsp;-like GUI are the three most important features.
=== Events ===
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 ==
**Number of different process priorities: 9
**Maximum number of timers: 32
**Maximum number of open messages: 64
*'''System manager'''
**Maximum number of applications: 24
**Maximum application core size: 63 KB
*'''Desktop manager'''
**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
**Maximum file size: 2 GB
**Maximum number of devices: 8
**Maximum number of open files: 7
*'''Source code'''
**Source code size (OS Release 2): ~ 44.000 lines (1,3MB)
**Source code size (Applications): ~ 48.000 lines (2,0MB)
**Total size of the Z80 source code: ~ 92.000 lines (3.3MB)
*'''Supported platforms'''
**Amstrad [[CPC|CPC]]-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)
*'''Supported external hardware'''
**[[Dk'tronics|dk'tronics]] memory expansion 64K-512K and compatibles ([[Dobbertin|Dobbertin]], [[SYMBiFACE II|SYMBiFACE II]])
The communication between different tasks and the operating system usually does not take place via "Calls", but is done via "Messages". This is necessarily inside a multitasking environment to avoid organisation problems with the stack, global variables and shared system resources.
<br>
== Graphical user interface ==
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.
<br>
== File system management ==
SymbOS supports the file systems CP/M, AMSDOS, FAT12, FAT16 and FAT32 on all platforms. With the last one SymbOS is able to address mass storage devices with a capacity of up to 128 GB. Also the ability to administer files with a size of up to 2 GB is uncommon for an 8-bit system. Because of the FAT support data exchange with other computers is quite easy, as most 32 and 64 bit operating systems do support the three FAT file systems.
<br>
== Applications ==
**[[SymPlay|SymPlay]] (video player)
**[[SymSee|SymSee]] (picture viewer)
**[[SymAmp|SymAmp]] (jukebox music player)
*'''Tools'''
**[[SymSnap|SymSnap]] (emulator snapshot loader)
**[[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)