MorphOS Full Features List

   
 

v1.1 11/12/02 by the MorphOS team.


Summary

Core OS
OS Components
3D Graphics Support
Applications / Utilities
Miscellaneous
Pegasos specific software
Appendix


Core OS

Quark - State of the Art micro-kernel designed for:

High Super/Usermode switch speed
Low interrupt latency
IntThread and Int PCode abstraction
Memory protection
Symmetrical multi processing (SMP)
Task/Thread and Clan/Chief model
Resource tracking
Asynchronous message system
Virtual memory (optional)
Recursive Memory Management
Distributed computing
No access to Kernel structures
Clean design with an elegant API

HAL - The Hardware Abstraction Layer

Makes MorphOS hardware independent, through the following points:

Determines the CPU types, the number of CPUs and clock speed.
Scans the ABox Zorro I/O ports for Zorro-II and Zorro-III cards and configures them. Finds local hardware (CVisionPPC, SymbiosPPC, PCI bus) Creates a resource map for the Quark microkernel.
Starts the kernel resource.

Q-Box

Exception Server
Master-Clan Server
Address Server
Config Server, using the resource map built by the HAL
CPUTime Server

A-Box

ABox is a multithreaded application running as a Quark process with its own memory space. It contains a PowerPC native heavily extended reimplementation of the OS known from your Commodore A500, A1000, A1500, A2000, A3000, A3500, A3500T, A4000 and A4000T systems.


 

A-BOX Components

Static 680x0 emulator

It emulates 680x0 instructions. All 68881 and 68882 opcodes are supported too.
The most used FPU instructions are replaced with emulation opcodes easier to decode. Some unused features are not emulated.
All in all, the emulator is twice as fast as one without these special methods.

Trance - Just In Time 68k compiler (JIT)

Trance translates 68k program code to native PPC code. Translated code is kept in memory, so when running same code again, translated code can be run directly.

Several optimizations are performed during the translation. This allows to get incredible performances never achieved with other current JIT technology implementations. Multiple 68k instructions are combined to single PPC instruction, non needed parts of code are removed Etc.

Typically, 68k applications running with JIT get least 50% of native PPC speed and up to 75%. For example the native PPC rc5 decoder "dnetc_ppc -bench rc5" does 755kkeys/sec, and emulated 68k version "dnetc_68k -bench rc5" does 542kkeys/sec. (csppc 604e/233)

Even the slowest BlizzardPPC/603e is able to run 68k applications faster than any existing 68060.

Condition code flow analysis which allows us to remove expensive CCR calculations when not needed.

"Transport-bound" and "compute-bound" tasks are handled differently:

* Compute-bound tasks run in fully translated mode. Trance is called from the task context to translate next sequence of code, then execution jumps to that translated code.

* Transport-bound tasks spend most of their time waiting for user input or some other signal. It's important that when signal a arrives, code execution starts immediately, without having to wait for code to get translated first. So, if translated code is not available, the code is run using normal "static" emulation. These emulated functions are profiled to see which are used most often, then those functions are translated later when the system is idle.

* The main point of this arrangement is not to add any delays or latency to the system.


PowerPC Compatibility Libraries

ppc.library - PowerUP compatibility layer
WOSEmu - WarpUP compatibility layer


Exec

Mixed mode allowing 68k and PPC code running in the same task. No exception and no task-switch to go from one mode to the other one.

Task memory pool
Better multithreading support
SystemV ABI support, using fpu registers for system functions is possible
New functions to get and set tasks states (stack, priority...).
New functions for better memory handling

graphics.library

RTG
New functions for alpha blending,
Special visual effects (used by Ambient...)
True colour
Extended draw primitives.

diskfont.library

Anti-aliased fonts in development.

FreeType2 - Vector fonts library

Supports Type0, Type1, Type42, TrueType, and OpenType fonts.
Anti-aliasing support.

Datatypes

Datatypes are a means of allowing programs to handle different data formats without having to directly support them themselves.

Currently supported:

JFIF-JPEG
PNG
IFF-ILBM
BMP
GIF
PCX
PBM
Icons
Text
Binary

More in development.

Shell and Console

Improved resident commands
* If: New switch NOREQ/S, hides possible requesters (IF EXISTS foobar: NOREQ)
* Path: Support for multi assign ADD/REMOVE.
* Resident: DEFER/S, program is made resident when first used
* SetEnv: SAVE/S option to permanently save variable in ENVARC:
Support for #! un*x style script execution
Unlimited buffer lengths (command line, variable expansion, quote expansion), no fixed limits
Configurable WShell compatibility features
Fully configurable menus, toolbar, and key shortcuts
On the fly MorphOS->un*x path transformation, if needed
Configurable tab-completion for commands/files/dirs
Review buffer with scrollbar (like KingCON)
Powerful Multi pages mode:
* Several shells can run in the same window console.
* Graphical button to switch between them or create new ones.
* Shell can be detached and reattached to another console.
New hook and query functions to internal exec lists

Filesystems

FastFileSystemII, fully compatible to FastFileSystem
SmartFilesystem
Other filesystems (like PFS3) run emulated
Lowlevel Graphical tools for FFS and SFS (Salvage, Fix in place for damaged volumes, etc...)
See Appendix for details.

CDDrive - CDROM filesystem

ISO9660
Multisession
Rockridge
Joliet

CyberGraphX RTG compatibility

Ability to use old CyberGraphX v4 drivers (on PowerUP hardware).

Intuition user interface

Fully skin able GUI, using different bitmap for each element
Shipped with several skins
Opaque Window moving
Window Iconification
Off-screen Windows
screennotify.library
etc...


Ambient - Powerful MorphOS Desktop

MUI based
Fully asynchronous, multi-threaded design, you are never blocked
Does not require icon.library
Built-in original icons support
Built-in newicon support
Built-in OS 3.5 Glowicon support
New true-colour PNG 32bits icon format, with alpha channel support for transparency
Fast icon caching system
File notification
True-colour rendering (no pen allocations)
Support for deficons
64-bit arithmetic to handle big storage devices
Localized
ARexx port (optional)
Built-in disk formatting
Visual effects: transparency, blurring, colour imposing, alpha channels.
Built-in wbstart.library

New Preferences System

Highly flexible shared class system.
Possible to embed in MUI applications.
All system preferences can be edited in a single MUI tool.
Or run as a standalone component.

AHI v6 - The Standard Audio Library

AmiTCP v5 - TCP/IP protocol stack

Friendlier logging system with global filter etc.
Cache for name server replies
Sana-II 2.0 support (with DMA buffers extension)
Full PPPoE support for Cable and ADSL
Full BOOTP support
Packet filtering
Access control for server programs
Automatic BOOTP configuration utility
Standard network tools (ping, traceroute, resolve, finger, netstat, etc...)
Telnet client
RSH client
Fully controllable through ARexx
User Manual

InstallerNG

A lot of new useful functions and tooltypes
Plug-in system to use other GUI toolkits (MUI, etc...)

MUI - Object Oriented GUI Toolkit

Adjustable bubble help sizes and look and floating bubble mode
Separate preferences for MUI settings and external MCCs. Speeds up start-up time
"Jump Screen" menu function to quickly move your application to another screen
Improved mouse movements in virtual groups
New menu system. Configurable and can be embedded in windows
Support for wheel mice
Now uses video memory whenever possible to improve performance
Large speedups and optimizations everywhere

MagicASL - Nice MUI Requesters


 

3D Graphics Support

Rave3D - Low level 3D Graphic Drivers (v1.6 implementation)

Rave is a low level 3D driver API. Its design has been discussed and defined by major key graphic companies like ATI.
The MorphOS version is implementing most of it and is adding some extensions like automatic and transparent double buffering,
ZBuffer access... It is completely integrated with the 2D drivers system.

Features of the Driver API:
* Vertex array
* Global states
* Multi-Texturing
* Fogging
* OpenGL blending modes
* Antialiasing
* Compressed textures
* Trilinear texture filtering
* Mipmapping
* Texture memory access
* Textures can be bound on a screen bitmap
* Deep Z buffering (greater or equal to 24bits per pixel)
* Scaled draw context
* Fully extensible via tags, including the addition of functions.
* Complete blackbox design.

Hardware Drivers:
* 3dfx Voodoo3 (Avenger)
* SIS 6326
* 3DLabs/TI Permedia2 and 2v
* CVisionPPC (Permedia2)
* BVisionPPC (Permedia2)

Jungl
Highlevel 3D Graphics Library, (compatible with the OpenGL 1.4 API)

Goa - Full Warp3D emulation

Working games include:

Wipeout
Heretic2
Payback
GLQuake
ADescent
Etc.


 

Applications / Utilities

Frogger - Media Player

Audio and Video Player
DVD and VideoCD playback
Intelligent frame skipping
AREXX interface
Configurable keyboard shortcuts
Overlay support

MysticView - Modern picture viewer

Smooth automatic scaling
Very user friendly with a nice toolbar and some intelligent choices
Integrated in the desktop, it's possible to drag'n drop pictures and directories
Elegant list management
Asynchronous, modular and completely multithreaded
Picture caching for maximum performances
Highly configurable

Voyager - Fastest Web Broswer

HTTP/1.1 connection keepalive, content negotiation and resume support
FTP connects keepalive and resume support
SSLv2, SSLv3 and TLSv1 encryption support, with up to 168 bit keys
'Javascript' (ECMA-Script) scripting support
LowLevel Plugin API supporting embedded objects (PDF, Flash, etc...)
Fully user-controllable GUI with custom control panel placement, configurable navigation and fastlink buttons.
Macromedia Shockwave Flash compatible Player
Versatile Bookmarking system utilizing ContactManager
Internal web page editing with HTML tag highlighting
Internal GIF, JPG, PNG, XBM decoding

APDF v3

Displays PDF 1.4 files.
Type0, Type1, Type1C, Type3, Type42, TrueType, OpenType fonts support.
True anti-aliasing of all graphics.
Asynchronous graphics rendering.
Asynchronous file I/O, with linearization support.
Asian languages support.
Supports transparent and rotated pictures.
Progressive display mode.
View as many pages and documents as you want at once.
Partial PDF forms support.
Supports password protected files.
Full-screen mode.

TurboPrint v7

16 million colours output (24bits printer.device)
TrueMatch colour management: Vibrant colours & finest dithering
Very intelligent, no need for complex setup.
It's still possible to fine tune brightness, sharpness, contrast, saturation, etc...
Intuitive preferences editor.
Transparent Printer Spooler. Print jobs are processed in the background.
Powerful Graphics Publisher Compose any pictures and texts, like with a DTP package.
Hard copy function, to print MorphOS screens.
Integrated Ghostscript interface for compatibility with every Postscript printer.

See Appendix for full list of supported Printers.

Graphical MorphOS Boot Menu

Boot volume selection
Volume Disabling
Full control over SCSI settings
- Synchronous / Asynchronous
- Reselection
- Timings

Software Development Kit

GNU GCC, also free VBCC exists
Complete set of includes

Birdie Shoot - Fun Action Game

Unique BI (bird intelligence) routines - birds try to escape your crosshair.
Kill-O-Meter for additional bonus points.
Highly detailed graphics.
Many funny animations and sound effects.
Over half a dozen types of birds (ducks, chicken, doves, storks etc.).
4 levels in different settings (Jungle, Sea, Forrest, Arctic).
Hidden extras.
Shoot birds and extras multiple times for bigger scores.
Tournament mode for up to 4 players.
Multi-language support.
Optional window mode.

Contributions - Many thanks to their authors

* Dynamite
* Soliton
* LZX
* MAME
* ATC
* OrangeFTPd
* MorphVNC
* Microdot2
* AmTelnet
* AmIRC
* NetInfo
* Quake 2 (Executable only)


 

Miscellaneous

In Development:

Full built in Prometheus (by Matay) support

Hardware driver for Jungl

Overlay support for Radeon

Moving CybergraphX code into graphics.library.
When finished, CybergraphX will just be a wrapper on the top of graphics.library.

ARexx reimplementation

Planned / Starting Development:

Firewire stack

Openfirmware
USB UHCI driver

Jungl
A GLUT implementation.

2D driver
A builtin generic VESA driver

3D driver
ATI Radeon (various)
3dfx Voodoo5 (VSA-100)
3dfx Voodoo4 (VSA-100)
SIS 305

CDDrive
UDF support for DVD

AmiTCP
DHCP support

Wireless network card drivers

Bluetooth support

IRDA support

New Input API
PS/2 Mouse
USB Mouse
USB Joystick
USB Joypad
USB Wheel
PC joystick
Etc.

QT Toolkit port

Java Virtual Machine

Etc...


 

Pegasos specific software

SmartFirmware - Industrial OpenFirmware IEEE 1275-1994 implementation

Forth engine interpreter.
Support for PCI/AGP cards using Forth BootRom
Support for PCI/AGP cards using x86 BIOS, through a x86 emulator
Support for standard RDB and MBR partition table styles
Support for FFS, SFS, AFS, PFS, PFS2, PFS3 filesystems. The Operating System can boot from anywhere.
Complete control over:
- Boot device (hard drive, cdrom, network, etc...)
- Autoboot functionality
- Input device (keyboard, serial terminal, etc...)
- Display resolution
- etc.

Operating Systems supported on Pegasos

MorphOS
Linux (Debian, SUSE)
MacOS9 and MacOS X, (via Linux/MacOnLinux)

In Development
NetBSD
Gentoo Linux

Under discussion
OpenBSD
Mandrake Linux
BeOS-PPC (via Linux/MacOnLinux)
OpenBeOS (not in immediate future)


 

Appendix

* Supported Hardware
* TurboPrint Supported printers
* Frogger Supported Media Types
* Filesystems
* Poseidon - Complete USB protocol stack


Hardware we currently support

Pegasos (G3 and G4)
DCE/Phase5 CyberstormPPC (PowerPC 604e)
DCE/Phase5 BlizzardPPC (PowerPC 603e)

PCI Bus boards

DCE GRex4000
DCE GRex1200
Matay Prometheus (Matay is currently working on it with us)

Graphic boards (2D)

ATI Radeon 9000Pre (RV250)
ATI Radeon 8500LE (R200)
ATI Radeon 7500 (RV200)
ATI Radeon 7200 (R100)
ATI Radeon 7000VE (RV100)
3dfx Voodoo5 5500 (VSA-100)
3dfx Voodoo4 4500 (VSA-100)
3dfx Voodoo3 3500 (Avenger)
3dfx Voodoo3 3000 (Avenger)
3dfx Voodoo3 2000 (Avenger)
SiS 305
SiS 300
SiS 6326
3DLabs/TI Permedia2
3DLabs/TI Permedia2v
DCE/Phase5 CVisionPPC
DCE/Phase5 BVisionPPC


Visionary, modern support for TV/Video cards

Visionary is a "remote control" program with a skinable GUI.
His modular internal design allows the support for a wide variety of chipsets.

Brooktree BT848
Brooktree BT878
Brooktree BT879
Conexant Fusion 878a
Conexant Fusion 879
Microtune Tuner
Philips Tuner
Temic Tuner (Only the newer ones)
more...

Sound drivers

Pegasos onboard AC97 sound chip (Sigmatel STAC 9766)
Terratec 128iPCI (ESS Solo-1)
Terratec 512i digital (FM801)
Vivanco (FM801)

Network drivers

Realtek RTL8201 10/100MBit, (Phyceiver, like found on the Pegasos)
Realtek RTL8139C 10/100MBit
Realtek RTL8029AS 10MBit
VillageTronic Ariadne2 10MBit
IndividualComputing XSurf 10MBit
PCMCIA CNet NICs (A1200 PCMCIA slot only)

SCSI

Symbios 89x (+ current models)
Symbios 810, 815, 825, 875
Symbios 710, 770
Symbios 770 SCSI, like found on CyberstormPPC and BlizzardPPC
DKB A4091
Commodore A4000T on board SCSI

IDE

Pegasos onboard IDE ATA100 controler (VIA8231)
Commodore A1200/A4000 internal controler
generic PCI cards

Poseidon - Complete USB protocol stack
See below for details

TurboPrint Supported printers:

Brother
Brother_24-Pin, Brother_9-Pin

Canon
Canon_BJ, Canon_BJC70, Canon_BJC210, Canon_BJC240, Canon_BJC250, Canon_BJC600, Canon_BJC600e, Canon_BJC610, Canon_BJC620, Canon_BJC800, Canon_BJC1000, Canon_BJC2000, (Canon_BJC2100 via Canon_BJC2000 driver), Canon_BJC3000, Canon_BJC4000, Canon_BJC4100, Canon_BJC4200, Canon_BJC4300, Canon_BJC4400, Canon_BJC6000, Canon_BJC6100, Canon_BJC6200, Canon_BJC6500, Canon_BJC7000, Canon_BJC7100, Canon_BJC8200, Canon_LBP, Canon_PJ1080A, Canon_S400, Canon_S450, Canon_S4500, Canon_S500, Canon_S600, Canon_S630, Canon_S800, Canon_S6300

Citizen
Citizen_120D+, Citizen_120D, Citizen_PRINTiva600C, Citizen_PRINTiva700C, Citizen_Swift24,240, Citizen_Swift9

Epson
Epson_EX,FX,LX, Epson_LQ,SQ, Epson_Stylus, Epson_Stylus820, Epson_StylusIIs, Epson_StylusPro(XL), Epson_StylusC60, Epson_StylusC70, Epson_StylusC80, Epson_StylusColour, Epson_StylusColour200, Epson_StylusColour300, Epson_StylusColour400, Epson_StylusColour440, Epson_StylusColour460, Epson_StylusColour500, Epson_StylusColour600, Epson_StylusColour640, Epson_StylusColour660, Epson_StylusColour670, Epson_StylusColour680, Epson_StylusColour740, Epson_StylusColour760, Epson_StylusColour800, Epson_StylusColour850, Epson_StylusColour860, Epson_StylusColour880, Epson_StylusColour900, Epson_StylusColour980, Epson_StylusColour1520, Epson_StylusColour3000, Epson_StylusColourII, Epson_StylusColourIIs, Epson_StylusPhoto, Epson_StylusPhoto700, Epson_StylusPhoto750, Epson_StylusPhoto790, Epson_StylusPhoto810, Epson_StylusPhoto870, Epson_StylusPhotoEX, Epson_StylusPhoto1200, Epson_StylusPhoto1270, Epson_StylusPhoto1290.

HP
HP_ColourLaserJet5, HP_DeskJet, HP_Deskjet1100C, HP_Deskjet1120C, HP_DeskJet1200, HP_DeskJet400C, HP_DeskJet500, HP_DeskJet500C, HP_DeskJet520, HP_DeskJet540C, HP_DeskJet550C, HP_DeskJet560C, HP_DeskJet600C, (HP_DeskJet610, 640: via HP_DeskJet694 driver), HP_DeskJet660C HP_DeskJet670-674C, HP_DeskJet690-694C, HP_DeskJet810C, HP_DeskJet812C, HP_DeskJet815C, HP_DeskJet830C, HP_DeskJet832C, HP_DeskJet840C, HP_DeskJet850C, HP_DeskJet870C, HP_DeskJet880C, HP_DeskJet882C, HP_DeskJet890C, HP_DeskJet895C, HP_Deskjet920C, HP_Deskjet930C, HP_Deskjet940C, HP_Deskjet950C, (HP_DeskJet959C via HP_DeskJet950C driver), HP_Deskjet960C, HP_Deskjet970C, HP_DeskJet98xC, HP_DeskJet99xC, HP_LaserJet2, HP_LaserJet3, HP_LaserJet4, HP_LaserJet4L, HP_LaserJet5series, HP_LaserJet6series, HP_PaintJet,PaintJetXL, HP_PaintJet300XL.

Facit_B3450, Fujitsu_DL-1100
Lexmark_ExecJetIIc, Nec_Pinwriter, Oki_ML-38x, Oki_ML-39x, Panasonic_KX-P1124, Panasonic_KX-P1540, Seikosha_24-Pin, Seikosha_9-Pin, Seikosha_SL-80AI, Seikosha_SL-80IP,

Star
Star_9-Pin, Star_LC,XB-24, Star_LC-10, Star_SJ144

Other printers are supported through emulation modes.

Frogger Supported Media Types:

* Standalone MPEG Audio Layer I/II/II
* XA (PSX Audio)
* STR (PSX Video)
* Windows Media (AVI)
* RealMedia/RealAudio (.rm/.ra)
* MPEG Video (Including VideoCD/CDI playback)
* RoQ (ID Games movie format)
* Advanced Streaming Format (ASF/WMV)
* QuickTime movies (MOV/QT)
* mp4 movies (extended QuickTime)
* OGG
* FLI/FLC movies
* WAV (windows audio)

Supported Video codecs:
AVI/QT/ASF/OGG
* DIVX (M$ Mpeg-4) v1, v2, v3
* Angel Potion MPEG-4
* Radius Cinepak
* OpenDivx/Divx4.x/Divx5.x
* Windows Media Video 7
* ISO MPEG-4
* XVID MPEG-4
* CCITT H.263
* Intel I.263
* Several MPEG 'I Frame only' video codecs.
* Sorenson Video (SVQ1)
* Motion JPEG (MPJA, MJPB, Photo JPEG, Rainbow Runner, and other jpeg based codecs)
* 3ivx Mpeg-4
* Intel Indeo 3/4/5 (Requires xanim codecs)
* Intel RAW YUV (Requires xanim codecs)

* RM
* RV10
* RV20 (RealVideo G2)
* RV30 (RealVideo 8)

* STR
* PSX Video v2 & v3

* MPEG
* MPEG-1 and MPEG-2

* RoQ
* RoQ Video

Supported audio codecs:
AVI/QT/ASF/OGG/WAV
* MPEG Audio Layer I/II/III
* DVIADPCM
* MSADPCM
* IMA4
* GSM 6.10
* PCM
* TWOS/SOWT
* a-Law
* u-Law
* MSN Audio
* MACE 3:1/6:1
* Vorbis
* WMA 1/2

* RM/RA
* RealAudio 1.0
* RealAudio 2.0

* STR
* XA Audio

* MPEG
* MPEG Audio Layer I/II/III

* RoQ
* RoQ Audio

Filesystems

FFS2 FastFileSystem2, fully compatible to FastFileSystem

Data integrity is a priority. All structures are tested for compliance and errors.

Completely reentrant.

Multithreaded design; attempts are made to schedule all file system operations fairly and evenly. This means that reads, writes, directory scanning and all other file system operations can take place seemingly in parallel with no client tying up the file system for extended periods of time.

Hard links and soft links supported.

'Smart' block allocation system which tries to distribute the contents of directories evenly across the media and which attempts to allocate large numbers of data blocks consecutively.

Integrated block caching with LRU cache management. Only file system data structures are cached -- no caching is performed on data blocks (the exception are OFS data blocks, which are in fact cached).

Support for removable media; this includes the option to remove a medium from one drive, insert it into another and to keep working with it.

Support for media larger than 4GBytes, provided that the underlying device driver supports the NSD or TD64 command extensions.

Support for variable block sizes, i.e. a block can be a multiple of the basic sector size (512 bytes, 1024 bytes, 2048 bytes per block, etc.).

Support for sector sizes beyond the traditional 512 bytes.

Block memory alignment ('mask') requirements permitted beyond the traditional 2, 4 and 8 bytes.

Drive motor stays enabled as long as the file system is busy; when the motor is switched off, it is always safe to remove the disk.

Changes to directory contents are propagated up the entire file system hierarchy; the original file system would only update the parent directory.

All file system types and variants implemented up to and including DCFS (1993) are supported: original file system (OFS), fast file system (FFS), international OFS, international FFS, directory caching OFS and directory caching FFS.

Directory scanning code should not be vulnerable to directory entries getting removed while the same directory is still being scanned.

Support for owner/group IDs attached to files and directories.

Complex and sophisticated error reporting code; unfortunately, to be compatible with the original file system implementation, only a lowly subset of the error indications can be displayed.

Support for multiple readers and writers which access the same file. Concurrent readers and writers are supported as well, with special treatment to avoid collisions.

File read and write accesses are clustered if they refer to blocks placed consecutively on the medium.

Support for record locking.

Support for file notification that even extends to linked objects (change the 'original' object, and notification requests attached to links to it will be satisfied).

Support for ExAll() style directory scanning.

Setting the size of a file to an arbitrary size (truncation or 'growing') supported.

Formatting the media, setting up the file system's data structures supported. This includes support for serializing the file system.

Built-in file system validator.

Long file name support (names can be up to 107 characters in size) in the DOS\6 and DOS\7 variants.


SFS SmartFilesystem

Fast reading of directories.

Fast seeking, even in extremely large files.

Blocksizes of 512 bytes up to 32768 bytes (32 kB) are supported.

Supports large partitions.
The limit is about 2000 GB, but it can be more depending on the blocksize.

Support for partitions larger than 4 GB or partitions located (partially) beyond the 4 GB barrier on your drive.
There is support for New Style Devices (NSD) which support 64 bit access, the 64-bit trackdisk commands and SCSI direct.

The length of file and directory names is internally limited only by blocksize.Limitations in the original dos.library however will reduce the effective length of file and directory names to about 100 characters.

The size of a file in bytes is limited to slightly less than 4 GB. Because of limitations in original dos.library we will however probably not allow files larger than 2 GB, to avoid potential problems.

Modifying data on your disk is very safe. Even if your system is resetted, has crashed or experienced a powerloss than your disk will not be corrupted and will not require long validation procedures before you will be able to use it again. In the worst case you will only lose the last few modifications made to the disk. See Safe writing for detailed information on how this works.

To be able to ensure that your disk never gets corrupted we use an internal caching system which keeps track of modifications before writing them to disk. This cache has the additional benefit that creating and copying files can be a lot faster, especially if the drive used isn't very fast (ZIP & floppy drives for example).

There is a built-in low-level read-ahead cache system which tries to speed up small disk accesses. This cache has as a primary purpose to speed up directory reading but also works very well to speed up files read by applications which use small buffers.

Disk space is used very efficiently

Supports notification and Examine All.

Supports Soft links (hard links are not supported for now).

Using the SFSformat command you can format your SFS partition with case sensitive or case insensitive file and directory names. Default is case insensitive (like FFS).

There is a special directory which contains the last few files which were deleted. See deldir.

Other file systems (like PFS3) run emulated

Tools
Low level Graphical tools for FFS and SFS (Salvage, Fix in place for damaged volumes, etc...)
Poseidon - Complete USB protocol stack

Features:
Hardware layer abstraction through a standard MorphOS device.
Automatic binding without requiring user interaction:
Real Plug'n'Play.
Class driver architecture supporting both interface or device bindings.
Support for application bindings for third party non-class applications (webcams, scanners, etc.).
USB devices can be plugged off or in at any time.
Class drivers can have a configuration GUI.

Class Drivers:
Hubs: external hubs with extra downstream hubs are supported.
BootMouse: three button mouse support.
BootKeyboard: standard USB keyboard. Configuration GUI available.
Printer: support for all unidirectional and bidirectional printers, aswell as USB to centronics adapters.
MassStorage: supporting harddisks, flash card or multislot memory readers, some digital cameras and other devices conforming to the mass storage USB standard.
AutoMounting of FAT and RDB partitions provided.
Booting off media is possible.
CDCACM: Driver for standard USB modems complying to the CDC ACM standard.
SerialPL2303: support for the USB->serial converter manufactured by Prolific.
HID: Driver for all kinds of input devices as mice (with scroll wheel), tablets, keyboards (with extra key support), etc. with very flexible GUI allowing to configure everything.
RawWrap: Simple device wrapper to allow third party programs operate with standard CMD_READ/CMD_WRITE commands on an USB interface. Allows the operation of BetaScan via the usbraw.device.

Hardware Drivers:
Highway Zorro II USB board driver
Subway Clockport driver
Pegasos onboard chipset driver
GRex UHCI driver
generic OHCI PCI board driver in preparation
Spider USB driver available, done by a third party
Thylacine Zorro II USB driver available as alpha version, done by a third party

Package:
Comes with a complete MUI-based graphical user interface for configuration called Trident.
Shell tools for stack setup included.
Program for reading out images from STV680 based webcams included, as well as a driver for VHI Studio for these cameras.
Both English and German installation script and manuals available.

Technical:
Stack can be started and removed at any time.
Multithreaded design - each USB hardware and class instance is started asynchronously.
No internal structures are exposed - the stack is a black box that heavily uses TagLists. This allows to change or extend internals without breaking compatibility.
All structures are dynamic, no fixed size arrays.
Supports both synchronous and asynchronous IO.

Third party software support for Poseidon so far:
* IOSpirit (Felix Schwarz): fxScan (USB Scanners), VHI-Studio (DigiCams)
* Vesalia/Andreas Günther: ScanQuix (USB Scanners)
* Svend Daugaard Pedersen: BetaScan (USB Scanners)
* IrseeSoft: TurboPrint

While we have taken great care to ensure the accuracy of this document it may still contain errors.
Please report any errors to Nicholas Blachford - nblachford@uk.genesi.lu

v1.1 © Thendic-France SARL December 2002

All terms and names used in this white paper are trademarks and property of their respective owners.


www.pegasos-suisse.com

© 2003-2007 RELEC hardware & software, payerne / design tcherno.com
les marques présentées sont la propriété de leur sociétés respectives.
sous réserve de modifications, photos non contractuelles.